en en en de my en en my sl en sl en my my my my my en ru en es ceb en kn en en en ceb en kn es fr my my my my my my my my my en en ru en fr ceb en kn en ceb en kn en en en ceb en kn fr my my my en ru en en en de nn en kn tr en kn es fr my my en ru en en en en de en fr my en en en en en en ru en en en ceb en en en fr en fr en en en kk kn en ceb en en en fa en en fa en de en en ar ceb en kn en ceb en kn es en en kn en fr en en my my my my en en en en en my en my my my ca en el en en en en en en en en en en en eu en en en en en en en en en en en en en en en en zh en en en my en en en en en my my my my my my en my en my en my en ru my en my en my my my it my my en my my my my my my en ru en my en my my my de my en my en my my en my it my en en my my en my my en en en en fr hbs_lat my ru it en es es en es en fr my en en en en en en en ru en pms hbs_lat ko is en is en es en en en en fr en en en my en en en en en en en ru en ceb en en la ceb en jv en pms en es en en ceb en kn en en en en en ceb en kn en en en en en en en ceb en kn en fr en en my my en en en en my es zh en en en en en en en en en en en my en en en en en en en en fr en en en en en my en en en en en en en my en my my en my en my en en en my my my my en my my en my en my en my en my my en en en en my en it my my en en en en en fr en en en en en en de cs en en cs cs da en
Chapter 12 က Database ပုဒ္စာတစ္ပုဒ္ပါ။ Lab Test ေမးမယ့္ ေမးခြန္းပံုစံထဲမွာ Database လဲပါပါတယ္။
Database ပိုင္းမွာ ပါတဲ့အဆင့္ေတြကို ေအာက္ကအတိုင္း အလြယ္နည္းနဲ့ မွတ္ထားလိုက္ေပါ့...
4.  Functions (Insert, Select, Specific Select, Update, Delete)
စာေမးပြဲမွာ ေမးခဲ့ရင္ေတာ့ Functions ေတြထဲက ၂ မ်ိဳး (အမ်ားဆံုး ၃ မ်ိဳးေလာက္) ပဲေမးမွာပါ။
DBMS ကိုလဲေတာ္ေတာ္ေလး ရထားတယ္ဆိုရင္ေတာ့  ဒီအပိုင္းမွာ ေတာ္ေတာ္ေလးလြယ္ေနမွာပါ။
DBMS(04) မွာလိုဆိုရင္ေတာ့   Create Database dbname; အဲလိုမ်ိဳးေပါ့။
PHP မွာကေတာ့ ေအာက္ကပံုစံပါ။ အလြတ္မွတ္မိေနေအာင္ ႀကည့္ထားရပါမယ္။
die('Could not connect: ' . mysql_error());
{   echo "Database created";   }
echo "Error creating database: " . mysql_error();
$con ဆိုတာက mysql connection တစ္ခုအေနနဲ့ variable သတ္မွတ္ေပးတာ..။ သူ ့မွာထည့္ရမွာက
mysql_connect( " ", " " , " ")  ကြင္းစ ကြင္းပိတ္ထဲမွာ db host (localhost), username(root), password( ) အဲဒီ Format နဲ့ထည့္ရမွာပါ။ password ထဲမွာေတာ့ ေမးခြန္းကိုႀကည့္ျပီး ထည့္ရလိမ့္မယ္။ ေမးခြန္းမွာ password ေပးခိုင္းရင္ေတာ့ထည့္ေပးလိုက္ေပါ့။
if(!$con) ဆိုျပီး စစ္တာက error ကိုစစ္တာပါ။ $con ရဲ ့ေရွ ့မွာ not sign(!) ေလးပါတဲ့အတြက္.. connection မျဖစ္ဖူးဆိုရင္ mysql_error() ဆိုတဲ့ method ကိုေခၚလိုက္တာပါ။
mysql_query ဆိုတဲ့ method ကေတာ့ SQL query ေတြထည့္ရင္ သံုးတာပါ။ ဥပမာ.... Create Database တို ့
Create Table တို ့ ဘာတို ့ေပါ့။ ေနာက္က်ရင္ေတြ ့ရဦးမွာပါ။ အဲဒီ Query ထဲကို $con ကိုထည့္ေပးရတယ္။ Query ကိုလဲ error တက္ရင္ error message ျပဖို ့condition စစ္တယ္ေပါ့။
Sql Connection ကို ေခၚသံုးျပီးရင္ အျမဲတမ္း ျပန္ပိတ္ေပးရတယ္။
mysql_close($con) ဆိုတ့ဲ့ method နဲ့ ျပန္ပိတ္ေပးရတယ္။ (ျပန္ပိတ္တာအျမဲတမ္းေမ့ က်န္တတ္တယ္)
ေနာက္တစ္ခု DBLink ပါ။ သူကေတာ့ DBMS(04) မွာတူတာက  DB use လုပ္တာနဲ့တူပါတယ္။
die('Could not connect: ' . mysql_error());
$db_selected     = mysql_select_db($databasename, $con) ;
သူကလဲ အေပၚကအတိုင္း Database Connection လုပ္တယ္။ error စစ္တယ္။ ျပီးေတာ့ databasename သတ္မွတ္တယ္။ database ကို select (use) လုပ္တယ္။  Select လုပ္တာမွာ mysql_select_db( ) ဆိုတဲ့ method ကိုေခၚျပီး သံုးတယ္။ method ထဲမွာ dbname နဲ့ connection ထည့္ေပးရပါတယ္။
$sql = "CREATE TABLE Persons
(FirstName varchar(15),LastName varchar(15), Age int)";
echo " Table Persons is created! ";
echo " Something went wrong: ", mysql_error() + " ";
Tablecreate.php ဆိုျပီး Save လုပ္လိုက္ပါ။ Table Create ထဲမွာေတာ့ include(dblink.php) ဆိုျပီး dblink ကို ေခၚထားပါမယ္။ ဘာလို ့လဲဆိုေတာ့ သံုးဖို ့select လုပ္ထားတဲ့ Database ရွိမွ အဲဒီ Database ထဲမွာ Table ကို Create လုပ္ရမွာမို့ပါ။ sql ဆိုျပီး Variable တစ္ခုယူျပီးေတာ့ အဲထဲမွာ query ကိုထည့္ထားပါတယ္။
အဲဒီ $sql နဲ့ connection ကို mysql_query method ထဲ variable တစ္လုံုးယူျပီး ထည့္လိုက္မယ္။ က်န္တာကေတာ့ Table Create လုပ္တာကို error စစ္တာပါပဲ...။
Menu က သိပ္ေတာ့ ရွင္းစရာ မရွိပါဘူး။ သူ ့ကို run လိုက္ရင္ ေအာက္က ပံုအတိုင္းရမွာပါ။
$age=$_POST['age'];
$mysql_query="INSERT INTO Persons(FirstName,LastName, Age)
VALUES('$firstName','$lastName', '$age')";
$results=mysql_query($mysql_query,$con);
if($results>0)
echo ("Insert one record successful!");
echo ("Insert  fail!");
mysql_close($con);
echo " Back ";
ဒါက insert လုပ္တဲ့ code ပါ။ အဲဒီမွာက အရင္ဆံုး Insert Form ကိုအရင္လုပ္တယ္။ အဲမွာက ပထမဆံုး Insert Form ကိုအရင္လုပ္တယ္။ ေအာက္က ပံုအတိုင္းေပါ့။ (Form ေတြတည္ေဆာက္တာက ရျပီးသားထင္လို ့မရွင္းျပေတာ့ပါ)
Form ကိုတည္ေဆာက္ျပီးမွ insert လုပ္တဲ့ command နဲ့ Sql connection ကို Query ထဲထည့္လိုက္ရံုပါပဲ...။
Query ေတြကလဲ သိပ္မခက္ပါဘူး။
က်န္တဲ့ Selection, Update နဲ့ Delete တို ့ကလဲ သေဘာတရားခ်င္း တူတူပဲ ျဖစ္လို ့.. ကိုယ့္ဘာသာကိုယ္ ျပန္ႀကည့္လို္ ့ရေလာက္ပါျပီ  :D
Posted by Toe Khaing at 11:35 AM No comments:
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
Labels: Third year
Friday, August 9, 2013
VB.NET Practical: Sample Question 1
Question ကို ေဒါင္းလုပ္ လုပ္ပါ။
Question ထဲမွာ Form ကိုမေပးထားပါဘူး။ ကိုယ့္ဘာကို ဖတ္ႀကည့္ျပီး Form design ကိုေဆာက္ရမွာ။
ေအာက္က ပံုအတိုင္းပါပဲ။
ပထမဆံုး SQL Database တစ္ခုေဆာက္ရမယ္။ Database ေဆာက္ပံုေဆာက္နည္းကို အရင္ကေျပာျပီးသားမို ့ ဒီမွာမေျပာေတာ့ဘူး။ Database ေဆာက္ပီးသားလို ့မွတ္ထားလိုက္။ Form ကေနပဲစမယ္။ Display Button ကို ႏွစ္ခ်က္ႏွိပ္လိုက္ရင္ coding ေရးရမယ့္ေနရာ ေရာက္မယ္။
coding ေတြကေတာ့....
Imports System
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim mdept, mname As String
mdept = InputBox("Enter desired Department name: ")
Dim connString As String = ("Data Source=.\sqlexpress; Integrated Security=True; database= staff")
Dim cn As SqlConnection = New SqlConnection(connString)
Dim sql As String = "select * from staff_info;"
Dim ds As New DataSet()
Dim da As SqlDataAdapter = New SqlDataAdapter(sql, cn)
da.Fill(ds)
Dim dv As DataView = New DataView(ds.Tables(0))
dv.RowFilter = "Dept='" & mdept & "'"
dv.Sort = "Salary"
Dim drv As DataRowView
Dim data As String = " "
For Each drv In dv
Dim i As Integer
For i = 0 To dv.Table.Columns.Count - 1
data = data & drv(i) & vbTab
data = data & vbLf
MessageBox.Show(data, "All Staff Info", MessageBoxButtons.OK)
Catch ex As Exception
MessageBox.Show("Error Occured :" & ex.ToString)
အေရးႀကီးတ့ဲ အပိုင္းေလးေတြကို အနီေရာင္နဲ့ျပထားတယ္။ ေမးခြန္းမွာ ပါတဲ့အတိုင္း Filter နဲ့စစ္တာရယ္။ Descending order စီတာရယ္ကို လုပ္ထားတာပါ။ သိပ္ေတာ့အခက္ႀကီး မဟုတ္ပါဘူး။ လက္ေတြ ့လုပ္ႀကည့္ဖို ့ပဲလိုတာပါ။
Posted by Toe Khaing at 7:41 AM No comments:
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
Labels: Third year
Tuesday, August 6, 2013
DBMS Practical (Transaction)
DBMS မွာ Transaction  ပိုင္းကို Lab လုပ္တာ ဒီႏွစ္မွ စလုပ္တာပါ။ အဲဒါေႀကာင့္ Lab test မွာေမးမယ္ဆို ေမးလို ့ရတာေပါ့ေနာ္..သိပ္ေတာ့မေသခ်ာဘူး။ ဘာပဲျဖစ္ျဖစ္ ေမးလာရင္ ေျဖလို ့ရေအာင္ ႀကိဳတင္ျပင္ဆင္ထားသင့္တာေပါ့။ :D
Transaction ပိုင္းက နဲနဲ ရွုပ္တာကလြဲရင္ လြယ္လြယ္ေလးပါ။ Transaction မွာ Commit နဲ့ RollBack ဆိုျပီး ႏွစ္မ်ိဳးရွိတယ္... (ေအာက္မွာ ဥပမာေတြနဲ့ နားလည္ေအာင္ ရွင္းျပထားပါတယ္)
သေဘာေျပာရရင္... Database တစ္ခုကို User ႏွစ္ေယာက္သံုးတယ္...။ User 1 က table တစ္ခုကို Create လုပ္ထားမယ္။ User 2 ကလဲ အဲဒီ Database ကို သံုးေနတယ္။ အဲဒီအခ်ိန္မွာ Transaction စတယ္။ User 1 က table ထဲက Data တစ္ခုကို Update လုပ္လိုက္တယ္။
တစ္ခ်ိန္ထဲမွာပဲ User 2 က အဲဒီ Table ကို Select * လုပ္ျပီး ႀကည့္မယ္။ User 1 က Commit/ Roll back တစ္ခုခု မလုပ္ေသးတဲ့အတြက္ User 2 ကႀကည့္ရင္ နဂို Table အတိုင္းပဲ ျမင္ရမွာပါ။ Update လုပ္လိုက္တာကိုေတာ့ User 2 က ျမင္ရမွာမဟုတ္ပါဘူး။ Commit/Roll Back တစ္ခုခု လုပ္လိုက္ရင္ေတာ့  User 2 ဘက္မွာပါ Update လုပ္ျပီး Data ေတြကို ေတြ ့ရမွာပါ။
ဥပမာေလးတစ္ခုနဲ့ ႀကည့္တာေပါ့... (ဒီ Sample program က အခန္းထဲမွာ ဆရာမေပးသြားတာပါ)
ပထမဆံုး Database တစ္ခုေဆာက္လိုက္မယ္။
mysql> Create Database TRANSACTION;
ျပီးရင္ေတာ့ Database ကိုသံုးမယ္လို ့ command တစ္ခုေပးမယ္
mysql> use TRANSACTION;
Table တစ္ခုေဆာက္မယ္...
mysql> Create Table account(id integer primary key, balance integer);
Table ထဲကို Data ထည့္မယ္။
mysql> insert into account values (1001,1000),(1002,2000);
Data ေတြျပန္ႀကည့္ ႀကည့္မယ္..။
ဒါေတြကို User 1 မွာ လုပ္တယ္လို ့ထားလိုက္.. ေနာက္ထပ္ Mysql Command Prompt တစ္ခုဖြင့္မယ္။ ထံုးစံအတိုင္း root နဲ့ ၀င္လိုက္ :D ... အဲဒီ ေနာက္ထပ္ဖြင့္လိုက္တာက User 2 ေပါ့ေနာ္။ အဲဒီ User 2 ကေန TRANSACTION Database ကို use လုပ္လိုက္။
mysql> Use TRANSACTION;
အဲဒီကေနပဲ... Select * လုပ္ျပီး Table ထဲက Data ေတြကို ႀကည့္ႀကည့္။
mysql> select * from account;
ျမင္ရတယ္ေနာ္... အရင္အတိုင္းပဲ... Data ေတြဘာမွမေျပာင္းဘူးေနာ္.... ပံုနဲ့မျပေတာ့ဘူး တူတူပဲမလို့။
အခု User 1 ကို ျပန္သြားမယ္ (ပထမ Mysql Command Prompt)
Transaction method ကိုသံုးဖို ့အတြက္ အရင္ဆံုး begin နဲ့ ေခၚလိုက္မယ္။
mysql> begin;
ဘာမွေထြေထြထူးထူးမရွိဘူးေနာ္... ပံုမွန္အတိုင္း  Query Ok ..... ပဲေပၚမွာ။
အခု Update လုပ္ေတာ့မယ္... User 1 ကေနေနာ္... မရွုပ္သြားနဲ့ဦး။ ;)
mysql> update account set balance = balance - 200 where id = 1001;
balance ထဲကေန 200 ကို ႏွုတ္လိုက္တာ... အဲေတာ့ balance ထဲမွာ 200 ေလ်ာ့သြားျပီေနာ္...
ဟုတ္မဟုတ္ျပန္ႀကည့္မယ္။။
Ok ေနာ္... 1001 ထဲက balance မွာ 800 ပဲရွိေတာ့တယ္....
User 2 (ဒုတိယ Mysql Command Prompt) ကို သြားလိုက္...
User 2 ကေနလဲ select * လုပ္ျပီး Data ေတြႀကည့္ႀကည့္လိုက္ ေလ်ာ့သြားလားလို ့
မေလ်ာ့ဘူးေနာ္... User 2 ဘက္မွာက Data ေတြကို Update မလုပ္ခင္က အတိုင္းပဲ ျမင္ရမယ္။ ဘာလို့လဲ ဆိုေတာ့ Commit (or) Roll Back မလုပ္ရေသးလို ့။  User 1 ဘက္ကေန Commit လုပ္ႀကည့္လိုက္မယ္။
mysql> commit;
ျပီးရင္ Select * နဲ့ ျပန္ႀကည့္ႀကည့္မယ္ (User 1 ဘက္ကေနအရင္ႀကည့္ေနာ္)
mysql> select * from account;
Date ေတြ Update ျဖစ္သြားတယ္ေနာ္... ေကာင္းျပီ.. User 2 ကေနလဲ အဲလို ႀကည့္ႀကည့္ပါဦး။
mysql> select * from account;
ေတြ ့ျပီေနာ္... User 2 ဘက္က Data ေတြပါ ခ်ိန္းသြားတယ္...။ User 2 ဘက္က Data ဆိုေပမယ့္ တကယ္က Database တစ္ခုထဲကုိ User ႏွစ္ေယာက္ ျပိဳင္သံုးတာပါ။
အခုလုပ္သြားတာက Transaction က Commit နဲ့ လုပ္ျပသြားတာပါ။
ေနာက္တစ္မ်ိဳး roll back နဲ့လုပ္ႀကည့္တာေပါ့။ Roll back ကိုေတာ့ User 2 ဘက္ကေန လုပ္ႀကည့္မယ္။ ပထမဆံုး User 2 ကေန begin ဆိုျပီး စလုပ္မယ္။
mysql>begin;
Table ထဲက id= 1002  ရဲ ့balance ကို update လုပ္မယ္။
mysql> update account set balance= balance+500 where id=1002;
table ကိုျပန္ႀကည့္ ႀကည့္မယ္။
mysql> select * from account;
ေတြ ့တယ္ေနာ္... id 1002 ရဲ ့ balance တန္ဖိုးက 2500 ျဖစ္သြားပီ။ user2 ကိုခဏထား။
user 1 ကေနျပန္ႀကည့္ႀကည့္မယ္။
mysql> select * from account;
သူ ့မွာေတာ့ balance တန္ဖိုးမေျပာင္းဘူး။ ဘာလို့လဲ ဆိုေတာ့ Transaction method အတိုင္း commit/ roll back မလုပ္ေသးလို ့ တစ္ဘက္ user မွာ update မလုပ္ေသးဘူး။ အခု Roll back လုပ္ႀကည့္မယ္။ ဘယ္မွာလုပ္ရမလဲဆိုေတာ့  user 2 မွာလုပ္ရမွာေပါ့။
mysql>rollback;
roll back လုပ္ျပီးလို ့ မွန္သြားျပီဆိုတဲ့ Query Ok ဆိုတာေပၚလာျပီဆိုရင္ ကြ်န္ေတာ္တို့ Table ကို ျပန္ႀကည့္မယ္။ user 2 ကေန အရင္ႀကည့္မယ္။
mysql> select * from account;
ေတြ ့ပါတယ္ေနာ္... Table ထဲက id 1002 ရဲ ့တန္ဖိုးက နဂိုတန္ဖိုးအတိုင္းပဲ ျပန္ျဖစ္သြားျပီ။ Update လုပ္တာကို Cancel လုပ္လိုက္တဲ့ သေဘာေပါ့။ (commit ဆိုတာကေတာ့ Update လုပ္တာကို Save လုပ္လိုက္တဲ့ သေဘာပါပဲ)
user 1 ကေန ျပန္ႀကည့္ႀကည့္ပါဦး။
mysql> select * from account;
သူလဲ ဒီတိုင္းပါပဲ... တန္ဖိုးေတြ မေျပာင္းလဲဘဲ ထြက္လာတယ္။
ဒါပါပဲ Transaction ရဲ ့သေဘာကို နားလည္မယ္ထင္ပါတယ္။
Posted by Toe Khaing at 11:34 AM No comments:
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
Labels: Third year
Sunday, July 28, 2013
PHP Lesson 4 : Array
$a = array ("A", "B", "C");
Array ကို ေႀကျငာနည္းပါ။ simple program ေလးတစ္ပုဒ္ေလာက္ ေရးႀကည့္ရေအာင္။
$a = array("A","B","C");
var_dump($a);
print_r($a);
var_dump($a);
ဒီ code ေတြကို စက္ထဲမွာ စမ္းႀကည့္ပါ .... Array ကို output ထုတ္သြားတဲ့ ပံုစံအမ်ိဳးမ်ိဳး ေတြ ့ရလိမ့္မယ္။
Array Exercise 1
Simple Array - Weather
How's the weather?
$weather=array(
"sunshine",
echo " We've seen all kinds of weather this month. At the beginning of the month, ";
echo "we had $weather[5] and $weather[6]. Then came $weather[1] with a few   weather[2] ";
echo "and some $weather[0]. At least we didn't get any $weather[3] or $weather[4]. ";
ဒီ program မွာ ကြ်န္ေတာ္တို ့weather ဆုိတဲ့ array တစ္ခုေဆာက္လိုက္တယ္။ ျပီးေတာ့မွ Array ထဲက value ေတြကို echo ဆိုျပီး ျပန္ထုတ္တယ္။ $weather[5] ဆိုတာမွာ snow.. $weather[6] မွာ wind ..။ အဲလိုေလးပါပဲ... လြယ္ပါတယ္။ တစ္ခုရွိတာက array ထဲက value ေတြကို count လုပ္တဲ့အခါမွာ $weather[0] ဆိုတာက စ count လုပ္ရတယ္။ $weather[0] က rain ဆိုတဲ့ value ကို ေခၚလိုက္တာပါ။ ခက္ခက္ခဲခဲေတာ့မရွိပါဘူး။
Array Exercise 2
Simple Array Loop - Cities
Large Cities
$cities=array(
"Mexico City",
"New York City",
"Shanghai",
"Buenos Aires",
foreach($cities as $c)
echo "$c, ";
//Sort array.
sort($cities);
//Print array as bulleted list.
echo "\n \n" ;
foreach($cities as $c)
echo " $c \n";
//Add four cities to array.
array_push($cities, "Los Angeles", "Calcutta", "Osaka", "Beijing") ;
//Sort again, and print bulleted list.
sort($cities);
echo "\n \n";
foreach($cities as $c)
echo " $c \n";
ပထမဆံုးအေနနဲ့ cities ဆိုတဲ့ array တစ္ခုေဆာက္ထားတယ္.. အဲဒီ ေအာက္က foreach ဆိုျပီး looping ပတ္ထားတာက Array ထဲမွာ ရွိတဲ့ value ေတြကို print လုပ္တာပါ... foreach($cities as $c)  အဲဒီမွာ $c ဆိုတာက Array ထဲက value ေတြကို print out လုပ္တဲ့အခါက်ရင္ comma ခံျပီး print လုပ္တာပါ။
ျပီးေတာ့ sort ဆိုတဲ့ method သံုးျပီး array ကို sorting စီတယ္။
Posted by Toe Khaing at 4:36 AM No comments:
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
Labels: Third year
Wednesday, July 17, 2013
လိုက္စုထား သေလာက္ Tutorial ေမးခြန္းေလးေတြ တင္ေပးမယ္ေနာ္.............  အေျဖေတာ ့မေသခ်ာမွာ စိုးလို ့မတင္ေပးေသးဘူး.................  ဆရာ မဆီက ရမွ တင္ေပးမယ္ေနာ္ 203 ကပို အေရးၾကီးပါတယ္ ေမးခြန္းေဟာင္းလဲ မရွိဘူး tutorial  ေမးခြန္းေလးေတြ ၾကည့္ၿပီး ေမးခြန္းပံုစံနဲ ့ၾကည့္ရမွာပါ  အေျဖကို ဆက္ဆက္တင္ေပးပါမယ္ေနာ္ အခု ့မေသခ်ာမွ စိုးလုိ ့ပါ ပထမႏွစ္ဝက္တုန္းက OS အေျခ အေန မေကာင္းတဲ ့သူေတြ ဆို ပိုၾကိဳးစားသင့္တယ္
1:Two sorted arrays A={7,23,39,81} and B={14,47,55,62,74,95} will be merged into an array C.Decribe the comparisons necessary to determine which element will be copied in merging operation.
2:Write the status of the list a =22,55,44,66 at the end pass at insertion sort
3:Write True or False
(a)In the selection sort,the largest keys accumulate on the left
(b)In the selection sort,items with indices less than or equal to outer are sorted
(c)In Priority queue,the front of the queue is always at the top of the array at items.
Posted by Hera Juno at 10:00 AM No comments:
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
Labels: Second Year
Tuesday, July 9, 2013
1st year အတြက္ ေလ့လာစ၇ာ C++ Data Structure ebook
C ++ ေလ့လာခ်င္သူမ်ားအတြက္ ေလ့လာစရာ Data Structures Using C++ 2nd Edition DS Malik ေနာက္ဆံုးထြက္စာအုပ္ ေတြ႕လာလို႔တင္ေပးလိုက္ပါတယ္.. Programming သမားေတြအတြက္ အသံုးတည့္လိမ့္မယ္လို႔ ယံုၾကည္ပါတယ္.. ျမန္မာလိုေတာ့ မဟုတ္ပါဘူး.. ေအာက္မွာ ေဖၚျပထားတဲ့ Chapter ေတြကို ၾကည့္လိုက္တာနဲ႔ Programming သမားေတြအတြက္ ဘယ္လို အသံုးတည့္မယ္ဆိုတာ သိႏိုင္မွာပါ-
This book includes following chapters...
1. Software Engineering Principles and C++ Classes
2. Object-Oriented Design (OOD) and C++
3. Pointers and Array-Based Lists
4. Standard Template Library (STL) I
5. Linked Lists
6. Recursion
9. Searching and Hashing Algorithms
10. Sorting Algorithms
11. Binary Trees and B-Trees
13. Standard Template Library (STL) II
အဆင္ေျပပါေစ..
credit to - ေမာင္ေပါက္
Posted by Toe Khaing at 3:41 AM No comments:
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
Labels: First Year
Sunday, July 7, 2013
DBMS Practical 3 for Third Years
အခန္းထဲမွာ ဆရာမေရးေပးသြားတဲ့ ေမးခြန္းပါ... ေမးခြန္းကို ebook (pdf) လုပ္ျပီးတင္ေပးထားပါတယ္။ ဘာလို ့လဲဆိုေတာ့ print ထုတ္ျပီးပဲႀကည့္ႀကည့္... ဖုန္းထဲထည့္ျပီးပဲႀကည့္ႀကည့္ အဆင္ေျပလို့္ပါ... ေဒါင္းလို့လဲ အဆင္ေျပမွာပါ... size ေသးေသးေလးပါ... ၁ မိနစ္ေတာင္မႀကာပါဘူး။
ေမးခြန္းကိုေတာ့ ဖတ္ႀကည့္ႀကပါဦးေနာ္... ဘာေမးလို ့ေမးထားမွန္းမသိ... ထည့္ရမယ့္ Data ေတြဘာမွန္းမသိျဖစ္ေနဦးမယ္..။ :D
ပထမဆံုး database တစ္ခုေဆာက္ရမယ္...
mysql> create database NYOBOOKSHOP;
username နဲ့ password ေပးခိုင္းေသးတယ္... (username က ကိုယ့္ရဲ ့ခံုနံပါတ္၊ password ကေတာ့ 'CUSTUDENT')
mysql> create user 3cs000 identified by 'CUSTUDENT';
Table 3 ခု ေဆာက္ရမယ္... ေဆာက္ရမယ့္ table ေတြကို ေမးခြန္းမွာေပးထားတယ္...
mysql> create table CUSTOMER (CNO CHAR(5) PRIMARY KEY, CNAME CHAR(20), ADDRESS CHAR(10));
mysql> create table BOOK(BNO char(5) primary key, BTITLE char(10), AUTHOR char(20), PRICE numeric(10));
mysql> create table SALE(CNO CHAR(5), BNO CHAR(5), DATE date,QTY CHAR(5), primary key(CNO,BNO), foreign key(CNO) references CUSTOMER(CNO) on delete cascade, foreign key(BNO) references BOOK(BNO) on delete cascade);
အေပၚက table 3 ခု ေဆာက္တဲ့ေနရာမွာ က်ေနာ္ Uppercase ေတြနဲ့ lowercase ေတြကို ေရာေရးျပထားတယ္... table နာမည္ေတြ column နာမည္ေတြက လြဲရင္ က်န္တဲ့ keyword ေတြက case sensitive မျဖစ္ဘူးဆိုတာ သိေစခ်င္လို ့ပါ... အႀကီးပဲ ျဖစ္ျဖစ္ အေသးပဲ ျဖစ္ျဖစ္ မွန္ပါတယ္... (စာလံုးေပါင္းေတာ့မွန္ေအာင္ေရးေပါ့).. :D
ကိုယ္ေဆာက္ခဲ့ table ေတြမွန္ မမွန္ကို ျပန္ႀကည့္ခ်င္ေသးတယ္ဆို describe table tablename; နဲ့ ျပန္ႀကည့္လို့ရတယ္..
table ထဲကို Data ေတြထည့္မယ္... ထည့္ရမယ့္ data ေတြကလဲ ေမးခြန္းမွာ ပါျပီးသား... လြယ္လြယ္ေလးေတြမို ့ က်ေနာ္ေတာ့ Skip လိုက္ျပီ... (အဲလိုမွ မလုပ္ရင္ ေမးခြန္းကို ဘယ္သူမွ ဖတ္ေတာ့မွာ မဟုတ္ဖူးးး )   :D
SALE table ထဲကို Data ထည့္တဲ့အခါက်ရင္ နဲနဲ ခက္လိမ့္မယ္.. ဘယ္ေနရာခက္လဲဆိုေတာ့ Date ကိုထည့္တဲ့အခါ ခက္မယ္... ေအာက္မွာထည့္ထားတာႀကည့္ႀကည့္ပါ..
mysql> insert into SALE values("1","2","2012-6-5","1");
Mysql ရဲ ့ format က yyyy-mm-dd အဲလိုသြားတာမို့လို့ပါ... Table ေဆာက္တုန္းက က်ေနာ္တို ့Date နဲ့ ေႀကျငာခဲ့တယ္ေလ... အဲလိုမွမဟုတ္ဘဲ ဒီတိုင္း June 5,2012 အဲလိုေရးခ်င္တယ္ဆိုရင္ေတာ့ CHAR နဲ့ေႀကျငာခဲ့ေပါ့... ဒါေလးပါပဲ... က်န္တာကိုယ့္ဘာကို ဆက္လုပ္လို့ရျပီ။  :D
အကုန္ထည့္ျပီးရင္ နံပါတ္ ၁ ေမးခြန္းကိုေျဖႀကည့္မယ္... လူတိုင္းေျဖတတ္ပါတယ္.. လြယ္လြယ္ေလးးးး
mysql> select * from CUSTOMER;
နံပါတ္ ၂ ေမးခြန္းက SALE table ထဲကို record တစ္ခုထည့္ခိုင္းတာ... insert နဲ့ထည့္ေပါ့.. ;)
mysql> insert into SALE values("3","5","2012-6-12","1");
နံပါတ္ ၃ က BOOK Table ထဲက data တစ္ခုကို Update လုပ္မွာ... ေမးခြန္းကို ႀကည့္လိုက္ .. ဘယ္ row ကို ျပင္ရမွာလဲဆိုတာ...
mysql> Update BOOK set AUTHOR="ChitSanWin" where BNO=2;
နံပါတ္ ၄ ေမးခြန္းက CUSTOMER table ထဲက
mysql> delete from CUSTOMER where CUSTOMER.CNO =3;
ဒီ နံပါတ္ ၄ မွာ SALE table ကိုေဆာက္တုန္းက foreign key ေတြေႀကျငာတဲ့ေနရာမွာ on delete cascade ဆိုတာကို မထည့္ေပးခဲ့ရင္ error တက္ေနမွာပါ... အဲလိုဆိုရင္ေတာ့ table ကို drop လုပ္ျပီး အသစ္ျပန္လုပ္ေတာ့...
ေနာက္ဆံုးေမးခြန္းကလဲ နဲနဲေလးပဲ ခက္တာပါ (ခက္တယ္လို့ေတာင္ေျပာလို ့မရပါဘူး)  :D
mysql> select CNAME from CUSTOMER,BOOK,SALE where
-> SALE.CNO=CUSTOMER.CNO and
-> SALE.BNO=BOOK.BNO and
-> BOOK.AUTHOR="MaMaLay";
အဲလိုဆို အျဖက
အဲလိုေလးရလိမ့္မယ္...  အတတ္နိုင္ဆံုးေတာ့ ရွင္းျပထားပါတယ္... အေျဖသိရဖို ့ႀကည့္တာထက္...နားလည္သြားေအာင္ ႀကည့္ေစခ်င္ပါတယ္... မ်ားမ်ားေလ့က်င့္ေပါ့ဗ်ာ..။
ေနာက္ဆိုရင္ DBMS ကို အစအဆံုးေရးမျပေတာ့ဘူး... နားလည္သင့္ေနျပီလို ့ထင္ရတာေတြကို ခ်န္ခဲ့ျပီး တကယ္အေရးႀကီးတဲ့ အပိုင္းေတြကို ပဲ ရွင္းျပသြားေတာ့မွာ...  :D
Posted by Toe Khaing at 6:21 AM No comments:
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
Labels: Third year
Older Posts Home
Subscribe to: Posts (Atom)
First Year (4)
Second Year (6)
Third year (20)
Blog Archive
▼  2013 (26)
▼  September (1)
PHP : Database Tutorial
►  August (2)
►  July (9)
►  June (13)
►  April (1)
►  2012 (2)
►  September (2)
Awesome Inc. template. Powered by Blogger.