Sunday, July 7, 2013

DBMS Practical 3 for Third Years

အခန္းထဲမွာ ဆရာမေရးေပးသြားတဲ့ ေမးခြန္းပါ... ေမးခြန္းကို ebook (pdf) လုပ္ျပီးတင္ေပးထားပါတယ္။ ဘာလို ့လဲဆိုေတာ့ print ထုတ္ျပီးပဲႀကည့္ႀကည့္... ဖုန္းထဲထည့္ျပီးပဲႀကည့္ႀကည့္ အဆင္ေျပလို့္ပါ... ေဒါင္းလို့လဲ အဆင္ေျပမွာပါ... size ေသးေသးေလးပါ... ၁ မိနစ္ေတာင္မႀကာပါဘူး။
Download

ေမးခြန္းကိုေတာ့ ဖတ္ႀကည့္ႀကပါဦးေနာ္... ဘာေမးလို ့ေမးထားမွန္းမသိ... ထည့္ရမယ့္ 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";

အဲလိုဆို အျဖက


Mya Mya
Su Su

အဲလိုေလးရလိမ့္မယ္...  အတတ္နိုင္ဆံုးေတာ့ ရွင္းျပထားပါတယ္... အေျဖသိရဖို ့ႀကည့္တာထက္...နားလည္သြားေအာင္ ႀကည့္ေစခ်င္ပါတယ္... မ်ားမ်ားေလ့က်င့္ေပါ့ဗ်ာ..။
ေနာက္ဆိုရင္ DBMS ကို အစအဆံုးေရးမျပေတာ့ဘူး... နားလည္သင့္ေနျပီလို ့ထင္ရတာေတြကို ခ်န္ခဲ့ျပီး တကယ္အေရးႀကီးတဲ့ အပိုင္းေတြကို ပဲ ရွင္းျပသြားေတာ့မွာ...  :D


No comments:

Post a Comment