Quản lý khách sạn
PHẦN I: CƠ SỞ LÝ THUYẾT
QUẢN LÝ VÀ XỬ LÝ DỮ LIỆU CĂN BẢN
I.TỔNG QUAN VÈ LÝ THUYẾT CƠ SỞ DỮ LIỆU
!"#$"%&
%%'()*
+,&("
+-!./"
+)%)*
0(12345 !*
,6 73(89&:&((/1;&( 9<7
<=>#?. 5&@ABCD&(!B*
E2BF
149C4
.CGHI
1.Cơ sở dữ liệu quan hệ
JABKCD1GLM9<&( *
1G1CNO1G(&@*PQ&R
B*
S#M1G7<./R/87#M(&@*
2.Hệ quản trị cơ sở dữ liệu
PJ#+PJ,%?MKG$3%
;BTA$C&@%(<B&@U6*
Chức năng:
,&"(#T3)%)"
SQ(:C"
SQ(:(#M "
VG1GC2CW
Phân loại: SX-J,9&:YC4F
+ZH3%&[PJ5[P*
+P4&[PJ5JC\](*
Trang 1
Quản lý khách sạn
+-)%9GC&^^^J5JC\](^_*
+X&`a^,b5`("L5[P"JX,J(("^5P(CC\*
+V6&:R#cO9A*
S4"KG(;KaCPJ#
9&:AB(3%'1/*
Là một hệ thống bao gồm:
+Z?"
+Z?MKG(;"
+0&@AB"
+*
SCSDL9&:C4F
+-)%("
+ZH*
Hệ CSDL tập trung
9&:9;;4(49d&@AB4(4eT7<(#
)%J, K B(#M *
Hệ CSDL phân tán
CMU6&(G((M9<(4#
2*
3.Đối tượng sử dụng
0&@U. KKG(;7<%H
1C4F
+0&@KG(;FKG$1GC(!*
+0&@%(<BF/./"4C1GC(!6 C&@
U6*
+0&@U6F. KSX-J,"&(!
B# B(#35KG(;*
4.Ưu điểm, nhược điểm
Ưu điểm
+XG$9&:.6&:R*
+7.Gfd *
+-f29)%&(!*
+S4/(3%
Trang 2
Quản lý khách sạn
+7/C&%BN.76*
+g2:%*
+VG1GC23KCW*
Nhược điểm
+Z4%CRAB% &@*
+h2&RR!KG$)%(*
+%2CKG(;%?*
+7<CBC49)*
+06. 943&:iH#()KGR*
II. TỔNG QUAN VỀ HỆ QUẢ TRỊ CƠ SỞ DỮ LIỆU MICROSOFT ACCESS
1 Giới thiệu
PJ^KG(;K3% B%(<.
49.j8%%(<%?M9G(CTH#(k7
%?MKG$*
PJ^C%l%144C(mC()%gAB4C1CC
g*
PJ^(3%U:%C1CKG$e=*
III.XÂY DỰNG CƠ SỠ DỮ LIỆU
Xây dựng cơ sở dữ liệu là công việc quan trọng đầu tiên trong toàn bộ quy trình phát
triển một ứng dụng trên Access. Một cơ sở dữ liệu được thiết kế và xây dựng tốt sẽ rất
thuận lợi trong quy trình phát triển ứng dụng.
Trước khi tiến hành xây dựng cơ sở dữ liệu, chúng ta cần phải tìm hiểu một số khái
niệm về cơ sở dữ liệu.
1 Cơ sở dữ liệu Access
^)%:%1G"./61G9&:
/./%U:%9<&(*
2 Bảng dữ liệu
G-1%?K(k35J,*07&(
%CB*
1G%G9&:/./CC7<&(9&:9?#95?/%G
9G1GCG69!(4H#&e*
P1G(^1CN%?F
-1G*
(&@"25(&@*
Trang 3
Quản lý khách sạn
-(&@.Ch72".7C4*
G*
G7<9&: G/9CD]*
Mô tả một bảng dữ liệu trong chế độ Datasheet:
n/9#"87<)%"T"A
Mô tả một bảng dữ liệu trong chế độ Design View
n/9#"87</./"C4GC3(851G*
3. Tên bảng
PQ1G7k*
-1G&@9&:9D.4CTC3(851G"#o7<9'
41G(A'1&9'%(A'pC]bT%C((*
4.Trường dữ liệu
PQ51G&R(&@*
PQ(&@7k)%:%2G(&@97*
*Chú ý:h AB3%".$9D1CD/E7
3(C(&@*
5. Trường khoá
-(&@.C7B%H11G(CU1GCD./
1GR*
Trang 4
Quản lý khách sạn
-(&@.C7<qr(&@"o7<)%:%M(&@k1
(&@.C*
7C4.797F
h72Z((#h#*
h7C4mC(.#*
Khóa chính (Primary key):(&@T9;1G(C1G*
-(C1G". <7(;(U(C(&@.72*
Khóa ngoại (Foreign key):(&@. %G.7251G#&
.7251G.*
h7C47B4C(6./K1G(C*
6. Bản ghi
PQO51G9&:k1G*
PQ1G7C(=1G*C(=1Gs1GC!&@U
7<A9&:51G97*
VD11G(t6U5Q1G9&:k1G./8\b`mF
b`\m*
7.Liên kết
6./1G7KR9<9G1GC9&:B92&(
*
-(C^N41.<./F
- Liên kết 1-1(một- một):Q1G51G^./R#3R1G
51G&:4*
- Liên kết 1-n(một- nhiều):Q1G51G^./RM1G5
1G*0&:4"Q1G51Gq./9/#3r1G51G
^*
- Liên kết n-n(nhiều-nhiều):Q1G51G^./RM1G5
1G&:4*
8. Các nguyên tắc xây dựng CSDL
- S>#%H2/./(&R.TH#FT9;1G"(&@
o&f.*
- u9;9;146&((8(e"o&
T/%*
- u9;(&@.72".7C45Q1G*P6(&@:%. ?
.72"#4C.729<(#)%*
Trang 5
Quản lý khách sạn
9.Mối quan hệ giữa các bảng
h4C(1GCB"%GHt6K8*
71C4K1GF
K+"
K+M"
KM+M*
IV. TRUY VẤN DỮ LIỆU
+-(#37kJX(#
+-(#3':%-CX(#
+-(#376Z((X(#
+-(#3lC(C1X(#
+-(#39^CX(#
1 Truy vấn có lựa chọn (Select Query)
JX(#(C.<(#3 B3*07(#T3e
CDM1G<;./KG(#3(C1G./KG*
47<ABJX(#9<71G4R"7<2C
'"2(1!***
2 Truy vấn tổng hợp (Total Query)
-CX(#%l%':%.%'1/*
-(#3#8%%l%':%"7(3KG*
Trang 6
Quản lý khách sạn
-&&JK(#"(&R.4C(#38?%H2#?5
(#3*
Một số hàm thường được sử dụng để tổng hợp dữ liệu:
GROUP BY:_%7*
SUM: -2'
AVG:-2(1!*
COUNT: V/6(;7(C*
MIN: -!(;=3(C*
MAX: -!(;R3(C*
Last/First:-(GM1G9?v6(C1G*
- thiết lập doanh thu hàng tháng của khách sạn:
Kết quả truy vấn như sau:
Trang 7
Quản lý khách sạn
3 Truy vấn có chứa tham số (Parameter Query)
Z((X(#(#3Cq;#9M.&@AB)%
C*
-(CK(!7<;%C49<&@AB)%6C
9<k(#35!"w4&69<(#T31GCD
(;146jC(C1G*
Z((X(#(3:(C/)%(#3%U:%R#
?&@U*
4 Truy vấn chéo (Crosstab Query)
(C1e/t5Bex(C1Cy"7i9&:t%T/%
1G5*
EMD.z)"./KG5H(#3(C1()MR
%l%2C9&:Q%?C*
(C1X(#(#3U9<2Ct%T/%49<g
(C%H2*
5 Truy vấn hành động (Action Query)
^CX(#(#3#9'CD#<M1GqR
9*
^CK(#7{C4&F
-Delete Query.
X(#iT7(C.7*07U9<TC7
1GeCDM1G*
-Update Query.
Update Query dùng để cập nhật dữ liệu một số trường nào đó trong cơ sở dữ liệu.
+Append Query.
^%%X(#U9<3#e1GCD./KG5H(#3
N68C(C1G92*
h4C^%%X(#14%GT9;9&: &F
+0(&@C?3#e(C1GN*
+0(&@C?6C(C1G92*
+0C(C1GN9&:AB*
-Make-table Query*
P.+1K(#4C1GRe3GCD%?(C
CDM1G*
Trang 8
Quản lý khách sạn
Mục đích của Make- table query:
-4CmC("a%C(CD((#)%9<<;C@
9<T9;*
-/)%1GC%O91sABP(CCD/
C*
-4C(1G9<&(3G1Go*
P.+1K(#G/<5mC("1CC((#)%
*
V.THIẾT KẾ GIAO DIỆN (FORM)
mC(C&&@URB*- KmC("&@
U7<"C41=CD)%)41G(C1G*
7/94CmC((C^F
Form Wizard*
Form Design View*
1.Form Wizard B8%&@U4C(mC()%C1G
7g*
mC(p|(Q(:&@AB(C4C\C( Kqc(Ce
1&R*
Trang 9
Quản lý khách sạn
J././TC87<)%e\C(*
-4Q@9<"mC()%)%q<; 51G*47
<)%"A(/%(&@51G4(mC(#*-9;&R
0C1(8%TA$6C(mC(*
2.Thiết kế bằng Design View
Trang 10
Quản lý khách sạn
V<4C9&:mC(2#%9%9&:9?#95#?5
&@U!14%GAB9/mC(E]*
-(CM(&@:%7<./:%GmC(p|(mC(E]9<C
#?/./.
hlCe(&@6/./;(2%U:%(mC(*
3. Tinh chỉnh cấu trúc Form
J././TC\C("87<#9'62o&C
57*
JA9'2
JA9'8CCp|(
P6A9'2mC("8%GmC(/9/./E]*
- Sửa nhãn (Label)
,196&:4C(O82(mC(*_(;<;(>2
(;52%C5>*
P6A(;5>".2C 2%C9<ACD7<3%
(/%>9<A(;*
+Di chuyển đối tượng
PQ96&:s(mC(9M9&:T9;1k9"k9#9&:<
KL2-C%,\*
-C%.CGe9MmC(9/96&:",\.CGel%mC(
1(9/96&:*
-7<#<96&:1sABRC.lCGCD}
(/%(;k9596&:C -C%",\*
+Thay đổi kích thước đối tượng.
h2&R596&:9&: G1L2Sp*
SMC596&:pM(596&:*
Trang 11
Quản lý khách sạn
-7<#9'.2&R96&:1sABRC.lC
("=CD}(/%(;CL Sp*
P(C9</5B.97ABCCp|(*
h^4C8CC1sp|("7i4C(5B
.9&:92.jC(C8*
47<5B.#9<T7<A9'
9<%U:%R#?5!*
08&@9&:U9<)%(!TA$ C97*E2B.3
897mC("mC(9i9&:974*
CCp|(i8%4C(68. ?%G)%(!*
-(&R.AB2#"%GmC(CD((#)%(C
/9E]9G1GC(s8C(Cp|(( B-CC1CT9>
9&:3!T6*
-~k-TF<;8}6<;C T*E2BxThêm
bản ghi”.-~kZ(F<;!G8*-7<k!
GU#$*
038Next9<)%C8*
-8i8%8g.GC9C4>M#*2B9D
8cmdthemmoi*
+Menu96&:9&:/./73(8sB92t./f5
%?M9<&@U)(C.2f5%?M
o&*
P<;*P6#9&:92.jC
6!G"!)#147<7./HR!G9
.j*S?/P9MP*
-(C^7(3M4CPR*JABfCustomize5
B4CP9G"KG3*
Trang 12
Quản lý khách sạn
4.Thiết kế Mainform
-(C^7LC4mC(FmC(WP\C(mC(CJ1\C(*
ERQ%?M?/9M%G4CP\C("!e9H#7<3G
f7(C%?M*
5.Giới thiệu về SubForm
J1mC(mC(NCmC(.*
mC(3%9&:kPmC(mC(2mC(s1(CmC(979&:
kJ1mC(mC(C*
J1mC(C%l%149&eM1G.mC(*
J1mC(9D128146ke1GCD(#3
RK+M*
7M4CJ1mC(&F
JABmC(p|(*
JABJ1mC(p|((CmC(9>7*
JAB8J1mC(( B29M.<1'*
hlCmC(eA'9/mC(.*
Trang 13
Menu của hệ thống
Menu người dùng tạo ra
Quản lý khách sạn
J1mC(7<9&:AB(CC4mC()%"CDAB9<<
;*
VI.GIỚI THIỆU BÁO CÁO (REPORT)
a%C( B(329<3*
ER(%C(147<9M.<e.2&RC9/<5
(97"7<<; C146*
PQ.(%C(<;./KG%(]87<9&:1CC(3#*
C4a%C(F
* - Single column (Report kiểu một cột): 1<g(&@(C1G(
e(T6*
- Groups/totals a%C(./7v'F U1<1C/?3#./
6Cq#6Ce796&:41G*
- Summary a%C(7&:F&_(C%v-C
- Mailing a%C(&2F3>"1!&*
- Tabular a%C(41GF&1G2bT.
- MS Word mailing MergeF./:%&2RpC(.
- Auto Report 1CC9F &CC-1*
1.Cấu trúc một report thông thường gồm có 5 phần:
- Report Header: %?9M(9?5a%C("&@9M#
4*PQa%C(7M3ra%C(S(*
+Report Footer: %?65a%C("&@76o#./C(&@9/*a%C(7
M3ra%C(mCC(*
- Page Header: %?9M5(1CC"&@(&@*
PQ(1CCiq7M3rZS(*
- Page FooterF%?6U5(1CC"&@6(C
a%C(*PQ(1CCiq7M3rZmCC(*
- DetailF%?H5a%C("<;(;1Gi(*Z?#7<
1;#9'"7%BCN4@9<(5(%C(*
2.Môi trường làm việc
P (&@5a%C(?6&mC(*
J.a%C(mC(FmC(7<<;"(")%)9M
.<e"Oa%C(q7<)%1CC(*
0C("a%C(. #9'(;1(C*
- &@Qa%C(i51GCD(#3C97*0C
(o7C4a%C(. 7N*
Trang 14
Quản lý khách sạn
3.Thiết kế Report bằng wizard
_6&mC(p|("a%C(p|( B9G"gAB9<4C
a%C(*
6U3Finish9<./8*
4. Thiết kế Report bằng design view
a%C(p|( qR4(C6c>^9>•"4C(a%C(
9G. <(9&:1<1CC%4%C&#?9
45&@U*
-(C(&@:%#?3(8a%C(%4%"CD%G.
%GCCqe1G(#3CD1CCC2"6
9C97!a%C(p|(. <9%9&:*-(C(&@:%#"%GU
9/a%C(]*
5.Giới thiệu về Report có chứa tham số
a%C(76 a%C(7.Gfk.*
EM.z)"(%C(76&&K(#76&{*
7M9<TH#a%C(76&F
-/)%6(aC(JC(5a%C(*
-/)%UP(C*
-/)%6(CHE^C*
n%?#(!1#/)%6(2aC(JC(5a%C( Ví
BTl1CM.%G(G.?9&:
keC1CCT5mC(&!F
Trang 15
Quản lý khách sạn
VII.TRANG TRUY CẬP DỮ LIỆU
-((#)%^Z€^Z BU9</./
((#)%(C^*^Z9&:R?9?(C%1G
^L•••*#7<9&:&((CP(CC\^
‚*1CD(CP(CC\JX,J((9&:(#)% K
^Z(Cƒ€‚*%*&#i3%.M((#
)%"4C((#)%F
_RM((#)%*
4C#9'2((#)%*
-((#)%(p1"9&:./6(/%9/*
-(#C%l%<;C4GC1G*
47<T 7tCDH)%HC9<3#9&:
1G/7KR 7t*
Trang 16
Quản lý khách sạn
-((#)%7<9&:(/%(^CD(!#
[(*
V<<;((#)%"9O=%G7(!#[(%1GY*u
(%1G`\\uZ%GQ(:%?p1*
1.Thiết kế trang truy cập bằng Wizard
9G39</./((#)%AB^Z
p|(*
Bước 1: h9^Zp|(F
ndPages".298%C8Creat data Access page by using wizard*
SCDdPages"k8New"%C4New data Access pageT3"k
Page Wizard, 038OK*
Bước 2: k?9&((#)%*
k1GCD(#3"(&@?<;((%C4
Tables/Queries*
JAB8„"„„"…"……9<k(&@?<;*
Bước 3: -/)%7?/*
P6<;C7(;5(&@C">##<(&@97e
1(%C41%G%C41s8„*03Next9</%
B*
Bước 4F-/)%t%T/%((F
Zp|(C%l%69{&t%T/%"9&:96er9/{
&%C4(*_(;(&@7<t%T/%CMf^CD
G*
Bước 5FSC 6UF
What title do you want for your page?: 9M(*
Open the page:<;./KG#../8*
Modify the page’s design:<;#!/./9<A43(85(
.k.
2.Thay đổi thuộc tính trang
h/./((#)%"9O=&@)%(!. %G4C(
9&:(9%9?#95#?M<;O%G9%2
†z*PQ96&:(((#)%9M772(57*
-7<#9'2596&:#C%U:%R?AB
9G1GCMD†z*V<#9'2((#)%"(
/9]*-~eB92"96&:B<7
.*
Trang 17
Quản lý khách sạn
+Thay đổi kích thước đối tượng:
h2&R596&:9&: G1L2HeightWidth*
-7<#9'.2&R96&:1s(KABRC
.lC("=CD}(/%(;CL Sp*
- Thay đổi Font chữ:
P6#9'mC<;((CD(96&:5(14#
9'(;2Font Name*0C(7<AB%C4Font(
BmC(9</)%*
+Thay đổi một số thuộc tính của điều khiển Navigation:
+ Loại bỏ các nút trên thanh Navigation:
P((#)%/9]*
h2k86C41=*
0389<C41=8146C41=*
,&4#9'9>*
Thay đổi một số thuộc tính của điều khiển Navigation:
+ Thay đổi thuộc tính các nút trên thanh Navigation:
P((#)%/9]*
h2k86#9'*
JA425897(A'PropertiesC%U:%R#?.
VIII.TÌM HIỂU VỀ MACRO
P(C^8%9CM972D%9D%4. ?%G
/&(!%4%CD5BC9<&@Ug.TA
$ 5!*
^L••‡3%97<9&:k<(CP(C5
14*
E2BP(C9F
VD9NN!*
-9mC(*
S<; 1C(sP(C9>C*
1.Phân loại
P(C9&:%H1671GCAB57F
mC(*
a%C(*
Trang 18
Quản lý khách sạn
[%C(vbT%C(*
^(C(.#*
P(C B3P(C9&:AB(CmC(a%C(*
P(C7<B&F
4#U8(#31CC*
PU8MmC(M1CC*
h<(22T(mC(*
#<1G*
-<9.14.2C8*
E2BP(C!k1G(C1CC"7C%l%148
CmC((khi kích vào Macro)9<#?!./5&@U*
2.Môi trường làm việc
0&96&:^."P(C9&:4C((CA'/./9NC4*
PA'P(CRF
-(CA'J,"k96&:Macros*kNew
+PFS65^*
+- B-CC1(*
+A'9^C%FCD9;"(A'9^q<
;^CC*P6<;(CP(C09M.
CC".2kView/Macro NamesView/Conditions*PQ96&:P(C
7<MP(C"QP(C7<M9*
+A'6^(%F/)%69<T9;2
Ck9*PQ(C7M6.*
3.Macro chứa một hành động
Bước 1Fu9;9CP(CF
+0)%(/%9C^C*
+SCDk9^CeC1C1CT'T6
Bước 2Fu9;6C(CF
+-(CA'^C^("BForm Name"k96&:(C
/R
+nBView"k<C96&:eC1C1CT'T6*
Bước 3F,&P(CF
+h2C8Save( BCDmvJ"}(C6&C%
C4
Trang 19
Quản lý khách sạn
+038`h9<C3K(!/./(C*
4.Thêm nhiều hành động vào macro
P(C. q799d7<7M9(C7*
E2B"1467(C9&FmC("<;
9NN(C.mC(96U#2i%(/1%9<
1CC&@U.9>C(C*
5.Thực thi các macro
J.P(C9&:4C("77<9&:e13;(2C(C^F
+-eA'P(CFeA'/./.2C8Run( BCDk
RuneDesign*
+-eA'F.298%CP(C6CDkRune*
+-ekTools/Macro/Run Macro"k5P(C6(C
%C4P(C".2OK*
Sau khi thực hiện xong macro trên thì khi truycập vào phần mềm quản lý khách sạn
hệ thống sẽ tự động hiện lên form quanlykhachhang1 như sau:
Trang 20
Quản lý khách sạn
6.Xác định điều kiện cho hành động
-(C(&@:%"14q669(C(C.
TG#(9M.C97*
079G"9M.1<C7C./KG98CD
*
- Kích hoạt cột điều kiện trong một macro:
P(C?.2C4*
kE]vCCCD.2C8CC( B*
CCi9&:jC1(^C*0/7P(C0"!
CCi9&:jCP(C0^C*
- Thiết lập một điều kiện cho một hành động đơn:
E2B/)%9M.C999<.9mC(
JSSCq1G7P^€0S`PS^0_ˆ‰_^S‰*
k96T9;9M.*
0)%9M.6T)%C9CBWhere Condition ở.A
'Action Arguments hCD/)%9M.91sk8I
S%C4Expression BuilderT3"k1G"k(&@?/)%
6*
7.Liên kết Macro đến Form
47<4C(C9<%GN4.5mC(*0.#9&:
4C(195&@U"w4&mC(".28
(mC(I
Bước 1F-/)%.C8(mC(F
Trang 21
Quản lý khách sạn
+h2k82B8Xem ds hàng hoá)*
+PA'Z(C%(58#"kdb*
h2C.On Click(db*
S%C4Choose BuilderT3*
kMacro Builder*h2OK.
u3%C4&(C*
_}C(C?&*
-/)%9C(C
PHẦN 2 : BÀI TẬP
I. PHÂN TÍCH BÀI TOÁN
- giải quyết về vấn đề quản lý khách hàng:
ŠKG$.
ŠT9;R25.
ŠKG$6v/5.
ŠKG$9;q.
ŠKG$#)%Ov(G%O5.
- quản lý nhân viên của khách sạn:
ŠKG$ MH97Fk"R2"9;q"6
HHI
+KG$k%O5.4F
ŠKG$C4%O"6&:%O".<%O5.4"KG$6
.(C%OI
- quản lý các dịch vụ của khách sạn:
ŠKG$;B.5.4"H%BB"6?A
B;B5.I*
- quản lý các tài sản trong phòngF
ŠKG$G(C%O5.4(&R..)%O
..(G%OI9<.;%@%.#
?
Trang 22
Quản lý khách sạn
II. THIẾT KẾ CHƯƠNG TRÌNH
uH#&(!KG$.4N71GF
+1G.
+1GH
+1G&(8
+1GC4%O
+1G;B.
+1GG(C%O
III: KẾT QUẢ DEMO
+1G9&:4C(R(&@".729&:./R&
F
Trang 23
Quản lý khách sạn
h/KG(#3
mC(2'M
mC(KG$.
Trang 24
Quản lý khách sạn
Z'M
Macro quản lý khách hàng
Trang 25