Upload
hoang-nguyen
View
238
Download
0
Embed Size (px)
Citation preview
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
1/24
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
2/24
I .Tổng quan chung
1.Mục đích, yêu cầu bài toán:
* Bài toán:
Viết chương trình quản lí một nhà hàng .
*Yêu cầu:
- Quản lý nhân viên nhà hàng, ba g!m" tên, quê qu#n, gi$i tính, %& 'i(nth)i, làm vi(c * bộ +hn nà.
- Quản lý h#ch hàng, ba g!m" tên, gi$i tính, ha 'ơn %/ 01ng, ngà2 3n *nhà hàng.
- Quản lý ha 'ơn, ba g!m" ngà2, t4ng chi +hí, m5 tả63n mn gì, %& lư7ng ba nhiêu8, nhân viên nà +h1c v1, ch h#ch hàng nà.
- Quản lý th9c 'ơn, ba g!m" tên mn, tr)ng th#i6c:n ha2 hết8, ngà2 nh+,gi#, thuộc bộ +hn nà.
*Mục đích:
- Quản lý nhân viên nh;m biết th5ng tin c# nhân c liên l)c, thêm, b$t nhân viên, %?+ @ế+ và c#c bộ +hn +hA h7+ v$i chBc n3ngnhà hàng.
- Quản lý h#ch hàng nh;m th&ng ê h#ch hàng nà %/ 01ng 0Cch v1 nhiDuha2 ít, tE ' c c#c chế 'ộ ưu 'Fi '> giG h#ch. H!ng thIi n?m %& lư7ng h#chhàng trng th#ng, quí @Jm làm 3n c tiến tri>n ha2 th1t lAi, tE ' 'iDu chKnh c#cmLt h#c c
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
3/24
II.Hướng giải quyết bài toán chung:
1. Lập hệ quản t! c" #$ %& 'iệu(#) %ụn Mico#o+t cc-## //0:
a. Giới thiệu Microsoft cc!ss "##$:
R SccJ%% là một h( quản trC cơ %* 0G li(u hFng icr%Tt ch)2 trên m5i trưIng
Uin0%, trên ' c c#c c5ng c1 hGu hi(u và ti(n l7i '> t9 'ộng %ản %inh chương
trình ch h=u hết c#c bài t#n thưIng gL+ trng th9c tế như quản lý, th&ng ê, ế
t#n ... V$i R SccJ%% ngưIi %/ 01ng h5ng +hải viết tEng câu l(nh c1 th> mà vWn
c 'ư7c một chương trình hàn chKnh, nếu c=n l+ trình R SccJ%% c %Xn ng5n
ngG SccJ%% Ya%ic '> ta c th> l+ trình thJ ý mu&n c 0u2 nhNt. Ogài ra, c#c 0G li(u
c gh_+ l)i thành một ch< th> 0u2 nhNt 09a trên c#c gi#
trC 0G li(u quan h(. `rng một h( quản trC [R\] quan h(, tNt cả c#c 0G li(u 'ư7c
quản lý thJ bảng, bảng lưu trG th5ng tin vD một ch< th>. `hm trí hi %/ 01ng một
trng c#c +hương ti(n c một tru2 vNn 09a trên ết quả c th9c thi chB h5ng chKnh %/a 'ư7c cNu trc8. [ t(+ thành +h=n chính trng một t(+ "
- Tab(!s " Oơi chBa tàn bộ c#c bảng 0G li(u.- )u!ri!s " Oơi chBa tàn bộ c#c tru2 vNn 0G li(u 'F 'ư7c thiết ế.
- *or& " Oơi chBa mWu gia 0i(n +h=n mDm.
- +!,orts " Oơi chBa c#c mWu b# c# 'F 'ư7c thiết ế.
- Macro " Oơi chBa c#c acr l(nh +h1c v1 09 #n..
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
4/24
- Mo-u(!s " Oơi chBa c#c hai b# c#c thư vi(n chương trình cn +h1c v1 09 #n.
2 đ3y ch4n t5 ch6 qu5n t37 t8i 9ác thành phần #5u:
- ảng /Tab(!0 :
- ]à thành +h=n cơ bản quan trng c mà ta c=n lưu trG. jhi thiết ế c#c cột ch `ablJ ta c
th> ràng buộc 'iDu i(n '> SccJ%% i>m tra c#c rJcr0 nh+ và h5ng bC %ai.
- [hính nhI nhGng `ablJ nà2 mà @â2 09ng nên 'ư7c nhGng m&i quan h( trng h(
th&ng 6rJlatin%hi+8.
12u tr3c (ogic c4a Tab(! "
- `ablJ 'ư7c t4 chBc thành c#c cột ha2 c:n gi là trưIng 6TilJ ha2 clum8 và c#c
0:ng gi là mku tin 6Jcr08.
- ^i cột tương Bng v$i một m1c 0G li(u mà ta c=n lưu trG. ^i cột c một tên vàthuộc vD một i>u 0G li(u.
- ^i 0:ng chBa 0G li(u vD một ngưIi ha2 vt c1 th> mà ta c=n lưu trG.
Ta có thể tạo mới một bảng theo 3 cách sau :
`) v$i %9 hư$ng 0Wn cm @Jm bảng 0G li(u6\ata%hJJt ViJ8.
`) trên một mWu thiết ế 6\ata%hJJt ViJ8.
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
5/24
)u!ry 5 Truy '2n :
- QuJr2 là c5ng c1 0Ang '> tính t#n và @/ lý 0G li(u tE c#c tablJ và c#cQuJr2 h#c c %Xn trng cơ %* 0G li(u.
- \)ng QuJr2 thưIng 'ư7c %/ 01ng nhiDu nhNt là RJlJct QuJr2. Y;ng l)i
QuJr2 nà2 ta c th> lc ra nhGng th5ng tin c=n quan tâm tE nhiDu b;ng 0Gli(u h#c nhau cua cơ %* 0G li(u, c th> +hân tích và hi(u chKnh 0G li(unga2 trên bản thân QuJr2 ha2 %/ 01ng làm cơ %* ch c5ng vi(c h#c.
- Ogài ra c:n c c#c l)i QuJr2 h#c như o+0atJ QuJr2 '> c+ nht,chKnh %/a 0G li(u ch `ablJ, cr%%tab QuJr2 t4ng h7+ 0G li(u, aJ`ablJ QuJr2, [r%%tab QuJr2 t4ng h7+ 0G li(u, aJ `ablJ QuJr2 nh;m
+h1c h!i 0G li(u c %ơ %t @ả2 ra ch `ablJ. #+ n&i 0G li(u và tablJ cS++Jn0 QuJr2 @a 0G li(u \JlJtJ QuJr2. QuJr2 như một nDn tảng '> t)ra c#c b# bi>u c 'Lc tính 'Cnh 0)ng ca hơn `ablJ.
6 7hái niệ& "- QuJr2 là c5ng c1 hai th#c và %/ lý 0G li(u c '#+ Bng c#c nhu c=u tra cBu vD 0G li(u và cn tE icr%Tt. Hâ2 là một %ản
+hkm +h=n mDm m#2 tính c c5ng 01ng gi+ ' c#c l+ trình viên trng vi(c +h#t
tri>n +h=n mDm.
[#c m5i trưIng +h#t tri>n h7+ nhNt thưIng ba g!m"
- ột trình %)n thả mF 6%urcJ c0J J0itr8" 0Ang '> viết mF.- `rình biên 0Cch 6cm+ilJr8 vàshLc trình th5ng 0Cch 6intJr+rJtJr8.
- [5ng c1 @â2 09ng t9 'ộng" hi %/ 01ng % biên 0Cch 6hLc th5ng 0Cch8 mF ngu!n,
th9c hi(n liên ết và c th> ch)2 chương trình một c#ch t9 'ộng.
-`rình g l^i 60JbuggJr8" h^ tr7 0: tìm l^i.
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
6/24
- Ogài ra, c:n c th> ba g!m h( th&ng quản lí +hiên bản và c#c c5ng c1 nh;m
'ơn giản ha c5ng vi(c @â2 09ng gia 0i(n ngưIi 0Ang '! ha 6o8.
- OhiDu m5i trưIng +h#t tri>n h7+ nhNt hi(n ')i c:n tích h7+ trình 0u2(t l$+ 6cla%%
br%Jr8, trình quản lí '&i tư7ng 6bJct in%+Jctr8, lư7c '! +hân cN+ l$+ 6cla%%
hiJrarch2 0iagram8,... '> %/ 01ng trng vi(c +h#t tri>n +h=n mDm thJ hư$ng '&i
tư7ng.
Ohư v2, Microsoft 8isua( 9tu-io 'ư7c 0Ang '> +h#t tri>n cn%lJ 6thiết bC '=u
cu&i w bàn gia tiế+ ngưIi m#28 và o 6gia 0i(n ngưIi 0Ang '! ha8 cAng v$i
c#c trình Bng 01ng như Uin0% prm%, c#c Jb %itJ%, cPng như Bng 01ng, 0Cch
v1 J0 6Jb a++licatin%, an0 Jb %JrvicJ%8. [hng 'ư7c +h#t tri>n 09a trên một
mF ng5n ngG g&c 6nativJ c0J 8 cPng như mF 'ư7c quản lý 6managJ0 c0J8 ch
c#c nDn tảng 'ư7c 'ư7c h^ tr7 icr%Tt Uin0%, Uin0% bilJ, .O`pramJr, .O` [m+act pramJr và icr%Tt RilvJrlight.
Vi%ual Rtu0i h^ tr7 rNt nhiDu ng5n ngG l+ trình, c th> > tên như %au" [s[
6 Vi%ual [8, VY.O` 6Vi%ual Ya%ic .O`8, va [x 6Vi%ual [x8M cPng như h^ tr7
c#c ng5n ngG h#c như px, y2thn, và ub2z ngài ra vWn 'ảm bả h^
tr7 {]s{R]`, Z`]s{Z`], |avaRcri+t và [RRM
b. Là7 Diệc D8i i#u5' tu%io //C:
[#c chBc n3ng chính cm'Lc bi(t * 'â2 là gia 0i(n v$i ngưIi 0Ang %inh 'ộng, 0 n?m b?t. O ba g!m c#c
+hím bNm, thanh t#c v1, ha2 c#c b@ 'a 0)ng 6tJ@tb@, li%t b@, gri0 viJM8. Y)n
c th> 0i chu2>n, _ ra, nhng thả chng một c#ch 0 0àng.
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
7/24
- [la%% 0J%ignJr" Hâ2 là c5ng c1 0Ang '> th9c thi và chKnh %/a l$+. O c th> 0Ang
mF [x và VY.O` M
- Og5n ngG 'ư7c %/ 01ng trng bài t+ l$n là [x ha2 c:n gi là [-%har+
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
8/24
III. h;n tế chư?ng tr@nh cA thB:
1. E3y %Fn hệ quản t! c" #$ %& 'iệu tên Mico#o+t cc-## //0:
5.E3y %Fn bản:
nhanviJn 6manv, htJn, quJquan, giitinh, mab+han, %0iJnthai8
hachhang 6mahachhang, tJnhachhang, giitinh, nga2 an, maha0n8
ha0n 6maha0n, nga2, chi+hi, mta, manv, mahachhang8
thuc0n 6ma0an, tJn0an, trangthai, nga2nha+, gia, mab+han8
b+han 6mab+han, tJnb+han, trungb+han, 0iachi8
`rng ' c#c tE g)ch chân là ha chính
[#c trưIng trng c#c bảng 'ư7c @â2 09ng th‚a mFn 2êu c=u và m1c 'ích 'Lt ra c
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
9/24
Ch;n 'iDn:
TDn trưEng 7iBu -F (iệu 7
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
10/24
TDn trưEng 7iBu -F (iệu 7
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
11/24
TDn trưEng 7iBu -F (iệu 7
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
12/24
TDn
ma0antJn0an
trangth
nga2nh
gia
mab+h
K ,hLn:
TDn trưEng 7iBu -F (iệu 7
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
13/24
0iachi `J@t }} HCa chK
b. MG h=nh qu5n hệ c" #$ %& 'iệu:
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
14/24
.E3y %Fn i5o %iện ni %?n Dào tuy DHn (qu-y tên i#u5' tu%io //C:
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
15/24
5.Ihi;t J;, các b
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
16/24
`iến hành 'Lt tên ch c#c thành +h=n '> ti(n ch vi(c l+ trình %au nà2, ví 01 "
`J@tb@ c labJl ƒ mF h#ch hành „ 'Lt là ƒ t@tmahachhang „ hLc
\atagri0viJ 'Lt là ƒ 0atahachhang „M
]àm tương t9 v$i c#c bảng c:n l)i.
H> thêm Trm hLc cla%%, ta làm như %au"
H> thêm Trm, ta chn
Uin0%prm
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
17/24
H> thêm cla%% ta chn
]ưu tên Trm và cla%% tương Bngb. i;t ch
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
18/24
public !oid suahachhang"string mahachhang2 string hoten2 string ngayan2 string mahoadon2 string gioitinh# { try { csdl.etnoi"#; string sql $ %7&D)T* hachhang S*T tenhachhang$8% 9 hoten 9%82ngayan$8% 9 ngayan 9 %82mahoadon$8% 9 mahoadon 9 %82gioitinh$8% 9 gioitinh9 %8 >here mahachhang$ 8% 9 mahachhang 9 %8%; // string sql $ %7&D)T* nhan!ien S*Thoten$8huhu82quequan$8sd(82gioitinh$8nam82mabophan$8&682sodienthoai$?@?@A@A>here man!$-B%; OleDbCommand cmd $ ne0 OleDbCommand"sql2 Ole#; cmd.*xecute4on:uery"#; 1 catch { thro0 ne0 *xception"%+u thay i hhere mahachhang$ 8% 9mahachhang 9 %8%; OleDbCommand cmd $ ne0 OleDbCommand"sql2 Ole#;
cmd.*xecute4on:uery"#; 1 catch { thro0 ne0 *xception"%h tiến hành l+ trình ch Trm"
[1 th> là thêm, %/a, @a"public hachLhang"# {
3nitialiMeComponent"#; stringN gioitinh $ { %nam%2 %nu% 1; cbgioitinh.3tems.)dd5ange"gioitinh#; 1 csdl obP $ ne0 csdl"#;
pri!ate !oid themhachhang-"# { try
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
19/24
{ //csdl.etnoi"#; obP.themhachhang"txtmahachhang.Text.ToString"#2txthoten.Text.ToString"#2 datetimengayan.Text.ToString"#2txtmahoadon.Text.ToString"#2 cbgioitinh.Text.ToString"##; string sql $ %S*+*CT E F5O' hachhang%; OleDbCommand hien $ ne0 OleDbCommand"sql2 csdl.Ole#; OleDbData)dapter adap $ ne0 OleDbData)dapter"hien#; DataSet ds $ ne0 DataSet"#; adap.Fill"ds#; datahachhang.DataSource $ ds.TablesN;
'essage,ox.Sho0"%+u dQ liRu th=nh c
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
20/24
[lic '+ và buttn và gi chương trình cn tương Bng ta % c c#c nt chBc
n3ng, ví 01"
Ot `hêmpri!ate !oid button-LClic"obPect sender2 *!ent)rgs e#
{ themhachhang-"#;
1
H> hi(n thC 0G li(u bảng SccJ%% jh#ch hàng lên \atagri0viJ c làm trên icr%Tt SccJ%% }~~‡ nhưng * 'â2 ta làm tr9c tiế+ trên Vi%ualRtu0i '> ti(n ch vi(c %/a c0J cPng như 0Jbug"
6%iệt >D các qu!ry c trong chư?ng tr@nh:
- € bảng hachˆhang c e quJr2 n;m * } buttn%" …%& lư7ng h#ch hàng†,…chi +hí h#ch trng th#ng†, …tìm iếm†
- € bảng nhanˆviJn c quJr2 n;m * buttn …tìm nhân viên†
- € bảng haˆ0n c } quJr2 n;m * } buttn%" …@Jm chi +hí c
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
21/24
string sql $ %S*+*CT Count"hachhang.Ntenhachhang# )SCountO(tenhachhang F5O' hachhang%; OleDbCommand hien $ ne0 OleDbCommand"sql2 csdl.Ole#; OleDbData)dapter adap $ ne0 OleDbData)dapter"hien#; DataSet ds $ ne0 DataSet"#; adap.Fill"ds#; //datahachhang.DataSource $ ds.TablesN; 'essage,ox.Sho0"%tng sU hJch h=ng% 9 ds.TablesN.5o0sNN.ToString"#2%th
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
22/24
DataSet ds $ ne0 DataSet"#; adap.Fill"ds#; datahachhang.DataSource $ ds.TablesN; //'essage,ox.Sho0"%tng sU hJch h=ng% 9 ds.TablesN.5o0sNN.ToString"#2 %th
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
23/24
OleDbCommand hien $ ne0 OleDbCommand"sql2 csdl.Ole#; OleDbData)dapter adap $ ne0 OleDbData)dapter"hien#; DataSet ds $ ne0 DataSet"#; adap.Fill"ds#; //datahoadon.DataSource $ ds.TablesN; 'essage,ox.Sho0"%chi ph[ ht% 9 ds.TablesN.5o0sNN.ToString"##; 1 1
-…t4ng 0anh thu† c
8/16/2019 Báo cáo môn học - Cơ sở dữ liệu
24/24
I8. 7ết (uLn:
. jết quả thu 'ư7c"}. Z)n chế c