PH N 1. THI T K C
S
D
LI U
1. M t s khái ni m c b n v CSDL
1.1. D li u hay thông tin?
D li u là gì ?
D li u là t p các giá tr c b n nh t mô t các đ i t
ng qu n lý, đ
c l u tr l i.
Thông tin là gì ?
Thông tin là k t qu tr v c a vi c x lý các d li u đã l u tr , đáp ng yêu c u qu n
lý.
D li u hay thông tin?
VD: có b ng d li u khách hàng nh sau:
H và tên
Gi i tính
Ngày sinh
a ch
Nguy n V n An Nam
02/09/1985 157 Gi ng Võ, Ba ình, HN
Bùi Th Hoa
20/10/1980 89 Thái Hà,
N
ng a, HN
…
V i b ng d li u trên có th bi t đ
-
c m t s thông tin sau:
T ng s l ng khách hàng
T l khách hàng là Nam, T l khách hàng là N
Tu i c a khách hàng
S l ng khách hàng trong đ tu i cho tr c
…
Chú ý: Tr
ng h p c n l u l i Tu i c a khách hàng thì s l u Ngày sinh. B i vì t Ngày
sinh có th dùng hàm đ tính ra Tu i nên Ngày sinh là d li u c b n đ
Tu i là thông tin.
c l u l i, còn
1
1.2. C s d li u là gì?
C s d li u là t p h p các b ng ch a d li u v các đ i t
m c tiêu qu n lý.
ng liên quan nh m ph c v
VD: CSDL qu n lý bán hàng cho siêu th , CSDL qu n lý nhân s , CSDL qu n lý sinh
viên và đi m, …
1.3. Thi t k CSDL là gì?
Thi t k CSDL là vi c:
- phân tích các y u t đ u vào nh các hóa đ n, ch ng t , … các qui trình nghi p
v c ng nh các báo cáo đ u ra
- đ xác đ nh các d li u c n l u tr l i
- t ch c các d li u đó sao cho tránh l u tr trùng l p, tránh l u tr thi u d li u
- đ m b o cung c p thông tin đ u ra chính xác.
GIAO DI N
Hóa đ n
Ch ng t
Qui trình
nghi p v
U VÀO
Báo cáo
CSDL
H TH NG
NG D NG
U RA
Chú ý:
+ Trên đây là thi t k CSDL v m t logic.
+ N u cài đ t ng d ng trên các h qu n tr CSDL chuyên bi t nh Oracle thì c n có thi t
k CSDL v m t v t lý. Thi t k này có tính k thu t sâu, ph c t p h n dành cho sinh
viên chuyên Tin.
+ Khi đã có thi t k CSDL v m t logic, b n có th cài đ t trên MS Access ho c t o b ng
trên MS Excel r t d dàng và hi u qu .
2
1.4. Các b
c thi t k CSDL
1
u vào, u ra
Qui trình nghi p
v th c t
1.5. B ng d
Thi t k mô
hình ER
2
3
Thi t k mô hình
d li u quan h
Thi t k b ng
d li u chi ti t
li u là gì?
B ng d li u là b ng ch a các d li u mô t các đ i t ng qu n lý, v i các c t là các
thu c tính (hay tr ng - Field) mô t đ i t ng, m i dòng (hay b n ghi - Record) là
t p giá tr d li u c a m t đ i t ng c th .
VD: b ng d li u Khách hàng:
H và tên
Gi i tính
Ngày sinh
Tr
a ch
Nguy n V n An Nam
02/09/1985 157 Gi ng Võ, Ba ình, HN
Bùi Th Hoa
N
20/10/1980 89 Thái Hà,
Tr n Anh
Nam
01/05/1980 7 Tràng Thi, Hoàn ki m, HN
ng
a ch
Giá tr c a
tr ng a ch
ng a, HN
B n ghi
B ng d li u có gì khác v i b ng 2 chi u ?
- Các d li u trong b ng d li u có quan h v i nhau, t o nên m t ý ngh a nào đó.
+ Xét theo c t: m i c t là m t thu c tính nh ng cùng mô t m t đ i t
ng qu n lý. M i
c t là t p h p các giá tr thu c cùng m t ki u/ lo i.
+ Xét theo dòng: m i dòng là m t t p các giá tr mô t m t đ i t
- B ng d li u có s c t ít nh t có th và t
l
ng
ng c th .
ng đ i n đ nh, s dòng vô h n tùy vào dung
c ng c a máy tính.
- Không có 2 dòng d li u gi ng h t nhau t n t i trong b ng d li u.
3
2. Mô hình th c th liên h (Entity Relationship - ER)
Mô hình hóa th gi i th c là di n đ t th gi i th c ph c t p b ng ngôn ng mô hình
th c th liên h (ER) đ n gi n, đ có th nhìn rõ h n m i quan h gi a các đ i t ng,
b n ch t c a v n đ . ây là b c đ u tiên chu n b cho vi c thi t k CSDL.
ng th i
đây c ng là m t công c tr giúp cho vi c phân tích d li u, phân tích v n đ r t t t.
2.1. Các khái ni m và qui
c mô hình hóa c
b n
Ngoài các qui c mô hình hóa c b n đây còn m t s qui c mô hình hóa m r ng
đ có th bi u di n đ c th gi i th c ph c t p. Tuy nhiên trong môn h c này ch d ng
l i các bài toán c b n. N u quan tâm đ n ph n m r ng, hãy liên h v i giáo viên
d y.
Tên khái
ni m
T p th c th
hay còn g i là
Th c th
Khái ni m
Qui
c mô hình hóa
Là t p các đ i t ng c n qu n lý.
Tên c a t p th c th là m t danh
t chung. VD : t p các đ i t ng
Khách hàng – Th c th KHÁCH
HÀNG
Có th hình dung th c th
KHÁCH HÀNG là 1 b ng d
li u. Trong đó m i khách hàng là
m t dòng.
Là các đ c tính mô t đúng th c
th đó, không liên quan đ n th c
Thu c tính c a th khác.
th c th
Tên c a thu c tính là danh t
chung.
Thu c tính khóa đ
KHÁCH HÀNG
Mã KH
Tên KH
i n tho i
c g ch chân.
Là thu c tính xác đ nh duy nh t 1
Thu c tính
khóa chính c a th c th .
th c th
Th ng là thu c tính mã.
4
Tên khái
ni m
Khái ni m
Qui
c mô hình hóa
Trong mô hình ER thu c tính
khóa chính đ c g ch chân.
T p các quan
h hay còn g i
là Quan h
Là t p các m i liên h gi a m t
hay nhi u t p th c th .
B cc am i
quan h
Là s các th c th tham gia vào
m i quan h
Quan h 2
ngôi đ quy
Tên c a quan h là m t đ ng t .
Ng i qu n lý c ng là m t nhân
viên nên s đ c th hi n b ng
m t dòng trong b ng NHÂN
VIÊN.
Tuy nhiên đây t n t i m i quan
h qu n lý gi a dòng d li u c a
nhân viên làm qu n lý và các
dòng d li u c a các nhân viên
đ c qu n lý.
n
PHÒNG
VD: quan h có gi a th c th
PHÒNG BAN và th c th
NHÂN VIÊN.
ây là lo i th
gi i th c.
Có
VD quan h s d ng gi a các
th c th NHÂN VIÊN, D ÁN
và K N NG.
n
NHÂN
VIÊN
NHÂN
Quan h 3
ngôi
1
BAN
ng g p trong th
Là quan h gi a 3 th c th .
Qu n lý
VIÊN
Là quan h gi a 2 th c th .
Quan h 2
ngôi
1
NHÂN
VIÊN
n
Có
n
D
ÁN
1
K
N NG
5
Tên khái
ni m
Khái ni m
Qui
M t phòng ban ch có m t
tr ng phòng.
Quan h 1-1
M t tr ng phòng ch là tr
phòng c a m t phòng ban.
c mô hình hóa
PHÒNG
BAN
ng
Các quan h 1-1 th ng đ c
x lý nên không xu t hi n
trong ER.
có
TR
NG
1
PHÒNG
PHÒNG
Quan h 1-n
1
M t phòng ban có nhi u nhân
viên.
1
BAN
có
M t nhân viên ch thu c v m t
phòng ban.
NHÂN
n
VIÊN
M t nhân viên có th làm vi c
cho nhi u d án.
Quan h n-n
M t d án có th có nhi u nhân
viên.
V i m t nhân viên cho tr c và
m t d án cho tr c, ch có duy
nh t m t ngày tham gia d án
và m t vai trò đ c phân công.
Là thu c tính ph thu c vào các
th c th tham gia vào m i quan
h , không ch ph thu c vào riêng
th c th nào nên không th là
Thu c tính c a thu c tính c a th c th đó.
m i quan h
Trong VD v m i quan h n-n
trên, ngày tham gia d án và vai
trò là các thu c tính c a m i
quan h .
NHÂN
VIÊN
n
Ngày tham
gia d án
Làm
vi c cho
n
D
ÁN
Vai trò
6
Chú ý:
+ Nguyên t c đ c thông th
ng là t trên xu ng d
+ Khi v mô hình ER c n l u ý sao cho ng
i, t trái sang ph i.
i đ c theo nguyên t c thông th
ng có th
đ c đúng ý ngh a c a mô hình.
+ VD: các v mô hình ER đúng và sai c a đo n mô t th c t sau:
M t phòng ban có nhi u nhân viên.
M t nhân viên ch thu c v m t phòng ban.
Cách v đúng
PHÒNG
BAN
1
NHÂN
VIÊN
n
PHÒNG
BAN
Có
Thu c
v
Cách v sai
n
NHÂN
VIÊN
1
PHÒNG
BAN
PHÒNG 1
BAN
NHÂN
VIÊN
Thu c
v
n
PHÒNG 1
BAN
1
Có
NHÂN
VIÊN
n
NHÂN
VIÊN
n
PHÒNG
BAN
NHÂN
VIÊN
NHÂN
VIÊN
Thu c
v
PHÒNG
BAN
1
n
NHÂN
VIÊN
PHÒNG
BAN
1
Có
Thu c
v
n
n
Có
1
2.2. Mô hình hóa b ng mô hình ER
2.2.1. Các b
c c n th c hi n
- Xác đ nh m c tiêu qu n lý, đ i t
ng qu n lý.
- V i m i đ i t ng qu n lý, xác đ nh các thu c tính mô t đúng b n thân đ i t
M i đ i t ng qu n lý là m t Th c th . Xác đ nh thu c tính khóa chính.
ng đó.
7
- M i khi thêm 1 th c th c n xác đ nh xem li u có t n t i m i quan h gi a th c th m i
thêm v i m i th c th đang t n t i ?
- So sánh mô hình ER v i các yêu c u thông tin, yêu c u l u tr đ xem có b sót d li u
quan tr ng nào không ? T t c các d li u c n l u tr đ u đ c th hi n trên mô hình ER.
2.2.2. Xác đ nh m c tiêu và các đ i t
Xác đ nh m c tiêu qu n lý: th
đó c a doanh nghi p/ t ch c.
Xác đ nh các đ i t
hình ER):
ng qu n lý – Th c th
ng là m t ho t đ ng ho c m t qui trình nghi p v nào
ng qu n lý (m i đ i t
ng qu n lý s là m t th c th trong mô
- Là các đ i t ng tham gia vào quá trình qu n lý. Tr l i câu h i : đ đ t đ c m c tiêu
qu n lý c n qu n lý ai, cái gì ? ho c t p trung vào các danh t và tr l i câu h i : Li u có
c n qu n lý không ?
+
iv im iđ it
ng qu n lý xác đ nh đ
c. C n tr l i câu h i: đ i t
ng đó đ
c
qu n lý nh th nào trong doanh nghi p/ t ch c ? Câu tr l i s làm phát sinh thêm
thu c tính c a th c th ho c th c th m i c n qu n lý. Xem VD m c e, ph n 2.2.2 Các
l u ý khi xác đ nh thu c tính c a th c th .
+ VD: cùng là đ i t ng khách hàng, nh ng khách hàng siêu th thì ch c n qu n lý các
thông tin cá nhân còn khách hàng ngân hàng thì c n qu n lý theo lo i khách hàng.
Sách bán trong c a hàng và sách trong th vi n s đ c phân lo i khác nhau vì m c
tiêu qu n lý khác nhau.
- Là các ho t đ ng đ c th hi n b ng v n b n, ch ng t . VD : Hóa đ n bán hàng, H p
đ ng, Phi u m n sách, …
VD: Bài t p 2 ph n Thi t k CSDL.
Cách phân tích
K t qu
M c tiêu qu n lý:
QU N LÝ BÁN HÀNG
(Cho siêu th Hoa Xuân)
Tr
c khi bán hàng thì c n qu n lý gì? – Hàng hóa.
Hàng hóa đ
c qu n lý nh th nào
Hàng hóa
siêu th Hoa Xuân? – Lo i hàng
8
Theo lo i hàng.
Khi bán hàng, có c n qu n lý Khách hàng không? – Có đ
th c hi n các chính sách khuy n mãi đ i v i khách.
Khách hàng
Có c n phân lo i khách hàng không? – Không.
Vi c bán hàng có đ c th hi n b ng v n b n hay ch ng t
gì không? – Hóa đ n bán hàng.
Hóa đ n
Có c n qu n lý nhân viên không? – Có, đ tính doanh thu Nhân viên
bán hàng và l ng cho nhân viên.
Có c n phân lo i nhân viên không? – Không.
2.2.3. Xác đ nh thu c tính c a th c th
a. Làm th nào xác đ nh thu c tính c a th c th ?
M t th c th (đ i t ng) có th có r t nhi u thu c tính mô t . Nh ng thu c tính đ c
ch n làm thu c tính c a th c th ch là nh ng thu c tính chung nh t cho th c th
đó và ph c v m c tiêu qu n lý. Thu c tính chung nh t đây hi u là thu c tính mà t t
c các đ i t ng c th đ u có giá tr mô t thu c tính đó.
VD: Th c th KHÁCH HÀNG qu n lý các khách hàng, m i khách hàng là m t dòng
trong b ng KHÁCH HÀNG.
C n qu n lý nh ng thu c tính nào c a khách hàng?
Các thu c tính
mô t có th có
H và tên
Phân tích
ây là thu c tính c n thi t.
Các thu c tính c a th c
th KHÁCH HÀNG
H và tên
ây là thu c tính c n thi t cho:
Ngày sinh
- Vi c th c hi n các chính sách
khuy n mãi, t ng quà khách hàng
trong ngày sinh nh t
- Vi c đi u tra tình hình mua hàng
9
theo đ tu i khách hàng …
Tuy nhiên đ u bài không đ c p đ n vi c
c n thi t l u thông tin này.
ây là thu c tính c n thi t cho:
a ch
- Vi c g i các thông tin khuy n mãi
- Vi c đi u tra tình hình mua hàng
theo khu v c n i c a khách hàng
…
a ch
ây là thu c tính đ liên l c khi c n
thi t.
i n tho i
Email
u bài không đ c p đ n vi c c n thi t
l u thông tin này. Tuy nhiên b n v n
có th thêm n u mu n. Không b tr
đi m c ng không đ c c ng đi m.
i n tho i
ây là cách đ liên l c mi n phí, không
s b t ch i (nh g i đi n tho i) và
thông tin bao gi c ng đ n n i.
Tuy nhiên đ u bài không đ c p đ n
vi c c n thi t l u thông tin này.
Chi u cao
Thu c tính này s c n thi t đ i v i bài
toán qu n lý khách hàng c a c a hàng
may đo.
Cân n ng
Thu c tính này s c n thi t đ i v i bài
toán qu n lý khách hàng c a c a hàng
may đo.
C gi y
Thu c tính này s c n thi t đ i v i bài
toán qu n lý khách hàng c a c a hàng
th i trang.
Thích n cay
Thu c tính này c n thi t đ b n ti p th
các s n ph m ch bi n s n đúng kh u
v c a khách. Tuy nhiên ch 1 thu c
tính này thì không đ .
i v i khách hàng
c a hàng t p
10
ph m thì không c n quan tâm sâu s c
đ n m c đ này.
…
Chú ý: có s khác nhau gi a vi c thi t k CSDL đ đánh giá l y đi m và vi c thi t k
CSDL cho bài toán ng d ng th c t .
+
đánh giá l y đi m: B n ch li t kê các thu c tính mà đ u bài yêu c u ho c có liên
quan đ n gi thi t trong đ u bài. ôi khi k t qu thi t k không phù h p th c t nh ng
đúng lý thuy t và bám sát đ u bài.
+
s d ng th c t : B n không ch c n li t kê các thu c tính đ đ đáp ng nhu c u
qu n lý hi n t i mà còn ph i đáp ng c nhu c u qu n lý trong t ng lai (5 - 10
n m). Ng i thi t k gi i là ng i bi t nhìn tr c t ng lai. Tuy nhiên đôi khi c ng
ph i ch p nh n nh ng h n ch do t c đ phát tri n quá nhanh c a Khoa h c k thu t.
Ch ng h n, cách đây h n 10 n m, khi mà ch a nhi u ng i bi t đ n khái ni m email,
bi t g i và nh n th đi n t thì ng i thi t k CSDL s không đ a thu c tính Email
vào đ mô t Khách hàng. Nh ng trong th i đ i s hóa ngày nay thì không th thi t k
thi u thu c tính Email cho dù hi n t i đ i t ng khách hàng c a b n ít dùng email.
b. Thu c tính khóa chính c a th c th
Thu c tính khóa chính c a th c th : là thu c tính xác đ nh duy nh t m t dòng (m t
th c th c th ) trong b ng.
Thông th ng đ i v i m i đ i t ng qu n lý xác đ nh đ c thì khóa chính là thu c tính
Mã. Thu c tính này có th đã có t tr c, ph c v cho vi c qu n lý. Ch ng h n nh s
hóa đ n, s h p đ ng, mã hàng hóa, … ho c có th t thêm vào khi thi t k .
c. Thu c tính s đ ng và ph c h p
Thu c tính s đ ng là thu c tính có các giá tr không th tách ra thành nh ng ph n t
nh h n mà v n có ý ngh a và có th đ t tên thành m t tr ng m i.
Thu c tính ph c h p là thu c tính có các giá tr có th tách ra thành nh ng ph n t
nh h n mà v n có ý ngh a và có th đ t tên thành m t tr ng m i.
VD: trong b ng d li u Khách hàng sau:
H và tên
Gi i tính
Ngày sinh
a ch
11
Nguy n V n An
Nam
02/09/1985
157 Gi ng Võ, Ba ình, HN
Bùi Th Hoa
N
20/10/1980
89 Thái Hà,
S đ ng
Ph c h p
Ph c h p
ng a, HN
…
Ph c h p
- H và tên : là thu c tính ph c h p vì có th tách thành các thu c tính :
+ H đ m, Tên ho c
+ H ,
m và Tên ho c
+ H , Tên đ m, Tên.
- Gi i tính : là thu c tính s đ ng vì không th tách nh h n đ
c mà v n có ý ngh a.
- Ngày sinh : là thu c tính ph c h p vì có th tách thành 3 thu c tính : Ngày sinh, Tháng
sinh, N m sinh.
-
a ch : là thu c tính ph c h p vì có th tách thành : S nhà ph , Qu n, Thành Ph .
Khi nào thi t k thu c tính là ph c h p, khi nào c n tách ra thành s đ ng?
Câu tr l i ph thu c vào m c tiêu qu n lý và các yêu c u thông tin.
VD:
- N u th
ng xuyên c n đ a ra danh sách khách hàng s p x p theo Tên thì :
+ Thu c tính H và tên c n đ
c tách thành: H đ m, Tên.
+ Không nên ch n ph ng án tách thành: H ,
m, Tên. B i vì không bao gi c n s p
x p theo tên đ m và khi đ a ra báo cáo th ng c n tên đ y đ , khi đó l i ph i thêm
thao tác n i xâu.
- N u c n đ a ra danh sách các khách hàng theo t ng qu n ho c t ng thành ph thì :
+ Thu c tính
a ch c n tách thành S nhà ph , Qu n, Thành Ph .
Thu c tính Ngày sinh không c n tách nh h n, ch c n l u tr theo ki u Date thì Access
s cung c p các hàm đ có th x lý d li u này m t cách nhanh chóng. Ch ng h n: l y ra
n m c a m t giá tr Date, cho bi t giá tr Date đó thu c quý m y, tháng nào, tu n th bao
nhiêu trong n m, …
12
d. Thu c tính đ n tr và đa tr
Thu c tính đ n tr : là thu c tính mà m i ph n t (ô giao gi a dòng và c t) ch là m t
giá tr .
Thu c tính đa tr : là thu c tính mà m i ph n t (ô giao gi a dòng và c t) ch là m t
dãy hay m t t p các giá tr .
VD: trong b ng d li u NHÂN VIÊN sau:
Mã NV
H và tên
Ngo i ng
A01
Nguy n V n An
A02
Bùi Th Hoa
A03
Thái S n Kim
n tr
Anh, Pháp, Nh t
c, Pháp, Tây Ban Nha, Hàn, Trung qu c, Anh
n tr
a tr
- Mã NV :
là thu c tính đ n tr vì trong m i ô c a c t Mã NV ch ch a m t mã NV.
- H và tên :
là thu c tính đ n tr vì trong m i ô c a c t H và tên ch ch a duy nh t
giá tr H và tên c a 1 nhân viên.
- Ngo i ng :
là thu c tính đa tr vì trong m i ô c a c t Ngo i ng ch a m t dãy các giá
tr .
Tho t nhìn, thu c tính đa tr có v gi ng thu c tính ph c h p. V y thu c tính Ngo i ng
trên có ph i là thu c tính ph c h p không?
Theo đúng khái ni m thu c tính ph c h p, ta s tách thu c tính Ngo i ng thành các
ph n nh h n:
Mã NV
H và tên
A01
Nguy n V n An
A02
Bùi Th Hoa
A03
Thái S n Kim
?
?
?
Anh
Pháp
Nh t
Anh
Pháp
?
?
c
Hàn
?
Trung
- Các giá tr thu c m i c t thành ph n ch có th g i tên b ng chính giá tr ho c là tên thu c
tính ban đ u Ngo i ng m i thành ph n này không th đ ng riêng làm thu c tính nên
Ngo i ng không ph i là thu c tính ph c h p.
13
- H n n a n u l y giá tr làm tên thu c tính thì ta s có các thu c tính : Anh, Pháp, Nh t, …
S c t s thay đ i tùy theo nhân viên vi ph m đ c đi m c a b ng d li u c n thi t k .
G p thu c tính đa tr thì x lý th nào?
- N u b n không bao gi c n :
+ th ng kê s l
ng nhân viên bi t m t ngo i ng nào đó
+ hay đ a ra danh sách các nhân viên bi t m t ngo i ng nào đó
+ mà ch c n l u tr thông tin v thông tin v các ngo i ng mà m t nhân viên bi t, đ
khi c n thì tra c u nh m t thông tin tham kh o thêm
hãy thi t k ngo i ng nh là m t thu c tính đa tr .
- N ub nc n:
+ th ng kê s l
ng nhân viên bi t m t ngo i ng nào đó
+ hay đ a ra danh sách các nhân viên bi t m t ngo i ng nào đó
hãy thi t k m i ngo i ng là m t thu c tính.
+ Khi đó giá tr c a thu c tính có th là trình đ ngo i ng ho c yes/no.
+ Tuy nhiên c n h n ch s ngo i ng mà b n quan tâm. Ch ng h n, công ty b n hay làm
n v i các khách hàng Nh t b n, b n có th thi t k nh sau :
Mã NV
H và tên
Anh
Nh t
A01
Nguy n V n An
Yes
No
A02
Bùi Th Hoa
No
No
A03
Thái S n Kim
Yes
Yes
Th c th là m t danh t .
Thu c tính là m t danh t .
Giá tr có th là m t danh t ho c m t s ho c m t giá tr ngày tháng n m, …
e. V y m t danh t khi nào s là th c th , khi nào s là thu c tính, khi nào s là giá tr ?
M t danh t s là th c th khi:
- Là m t danh t chung ch m t nhóm các đ i t
- Có th li t kê m t s thu c tính mô t đ i t
ng c n qu n lý
ng đó.
M t danh t s là thu c tính khi:
14
- Danh t đó mô t thu c tính c a đ i t
ng qu n lý
- Là m t danh t chung c a m t t p các giá tr c th , cùng lo i.
- Không th li t kê các thu c tính mô t danh t đó.
M t danh t s là giá tr khi:
- Danh t đó xu t hi n trong m t dãy các danh t cùng lo i và có th g i tên b ng m t danh
t chung. Danh t chung đó chính là tên thu c tính.
VD sau phân tích các danh t xu t hi n trong đo n đ u c a bài t p 2:
Siêu th HOA XUÂN c n xây d ng m t ng d ng đ QU N LÝ VI C BÁN HÀNG.
Hàng hóa trong c a hàng đ c phân theo lo i nh :
u ng, Th c ph m đông l nh,
Hóa m ph m,
h p,... M t m t hàng ch thu c v m t lo i hàng và m t lo i hàng
có th có nhi u hàng hóa.
Danh t
Siêu th
Phân tích
Th c th /
thu c tính/
giá tr
Có c n qu n lý các siêu th không?
Không. Theo m c tiêu qu n lý, ch qu n lý vi c bán hàng
trong m t siêu th , c th đây là siêu th Hoa Xuân.
Hàng hóa
Có c n qu n lý các hàng hóa không?
Th c th
Có.
Có th mô t m t s thu c tính mô t hàng hóa không?
Tên hàng hóa,
n giá,
n v tính
u ng, Có c n qu n lý đ u ng, th c ph m đông l nh, hóa m Giá tr c a
ph m, đ h p, … không?
thu c
tính
Th c
Lo i hàng
ph m
Có.
đông l nh,
Có th mô t m t s thu c tính mô t
u ng không?
Hóa
m
Không. N u có ch có th là: Tên đ u ng, đ n giá, đ n v
ph m,
tính. ây là các thu c tính mô t hàng hóa r i.
h p
u ng, th c ph m đông l nh, hóa m ph m, đ h p, …
15
Danh t
Th c th /
thu c tính/
giá tr
Phân tích
có th g i b ng m t danh t chung là Lo i hàng.
m t hàng
Là t đ ng ngh a v i Hàng hóa.
lo i hàng
Nh trên, Lo i hàng là m t thu c tính có các giá tr :
u ng, th c ph m đông l nh, hóa m ph m, …
Th c th
Lo i hàng có ph i là m t thu c tính mô t Hàng hóa
không?
Có. B i vì giá tr c a Lo i hàng ph thu c vào Hàng hóa
và Lo i hàng đ ng trong b d li u hàng hóa c a m t m t
hàng c th có ý ngh a.
Tên lo i
VT
Pepsi
u ng
Lon
5.000
Cá h p
h p
H p
16.000
Tên hàng
n giá
Tuy nhiên, siêu th có hàng tr m m t hàng. M i lo i hàng
có th có vài ch c m t hàng và đ c nh p vào theo th t
khác nhau.
Li u b n có th đ m b o chu i ký t “
u ng” đ c gõ
đ ng nh t nh nhau trong c t Tên lo i c a hàng ch c dòng
m t hàng thu c lo i này ?
Li u có kh n ng lúc nào đó b n gõ thành:
“
u ng”
hay “
u ng”
hay “
u ng ” ?
N u b n là ng i c c k c n th n và t p trung cao đ khi
nh p d li u thì kh n ng x y ra đi u trên v n là có, cho
dù xác su t th p.
Nh v y khi b n c n đ a ra danh sách các m t hàng “
u ng” thì k t qu s không chính xác, thi u các dòng m t
hàng có lo i hàng gõ sai nh trên.
đ m b o d li u nh p luôn đ ng nh t, Access cho phép
16
Danh t
Th c th /
thu c tính/
giá tr
Phân tích
b n t o LOOKUP cho tr ng Tên lo i đ khi nh p d li u
cho tr ng này b n ch c n ch n m t trong nh ng giá tr
có s n mà không ph i gõ l i.
Có 2 gi i pháp cho vi c t o LOOKUP cho tr
hàng:
ng Lo i
- Danh sách giá tr l a ch n là danh sách do b n nh p vào
s d ng khi giá tr trong danh sách ít và không có nhu
c u qu n lý đ i t ng đó.
- Danh sách giá tr l a ch n tham chi u t i m t b ng s
d ng khi giá tr trong danh sách nhi u, hay bi n đ ng và
có nhu c u qu n lý đ i t ng đó.
đây Lo i hàng là m t đ i t ng c n qu n lý nên Lo i
hàng s là m t th c th v i các thu c tính: Mã lo i, Tên
lo i.
f. Thu c tính tính toán t các thu c tính khác th
Thành ti n = S l
ng không đ
ng *
cl ul i
n giá
- S l ng và
n giá là các thu c tính c s . Có giá tr c a 2 thu c tính này ta có th tính
đ c Thành ti n.
- Thành ti n: là thu c tính có th tính toán đ
c t các thu c tính c s .
Ch c n l u tr thu c tính S l
n giá.
ng và
17
Không c n l u thu c tính Thành ti n. Th c t , trong m t s tr ng h p v n thi t k
l u l i thu c tính này. Tuy nhiên, khi đó c n l p trình đ đ m b o đ ng b d li u, tính
chính xác c a d li u. Tr
ng h p này dành cho sinh viên chuyên Tin.
2.2.4. Xác đ nh m i quan h gi a 2 th c th
a. Làm th nào đ bi t có t n t i m i quan h gi a 2 th c th ?
- N u 2 th c th đó là 2 đ i t
ng tham gia tr c ti p vào quá trình qu n lý thì ch c ch n t n
t i m i quan h gi a 2 th c th này.
- N u 1 trong 2 th c th là th c th phát sinh đ ph c v vi c qu n lý thì ít khi t n t i m i
quan h gi a 2 th c th này tr khi có yêu c u nghi p v rõ ràng.
- N u 2 th c th đ u là th c th phát sinh đ ph c v vi c qu n lý thì ho c là không có
quan h ho c là ch có th có quan h phân c p cha con.
VD: có 3 th c th : LO I HÀNG – th c th phát sinh đ qu n lý Hàng hóa, HÀNG HÓA
– th c th tham gia tr c ti p vi c bán hàng, KHÁCH HÀNG – th c th tham gia tr c
ti p vi c bán hàng.
- Gi a LO I HÀNG và HÀNG HÓA có m i quan h Có
- Gi a HÀNG HÓA và KHÁCH HÀNG có m i quan h Mua
- Gi a KHÁCH HÀNG và LO I HÀNG không có quan h nào. Khách hàng mua hàng
hóa ch không mua lo i hàng.
b. Làm th nào đ xác đ nh đ liên k t (1-n, n-n)
C n xác đ nh đ liên k t c a quan h Có
gi a 2 th c th LO I HÀNG và HÀNG
HÓA.
M t LO I HÀNG có th Có bao nhiêu
HÀNG HÓA ?
Có th có nhi u nhân viên (n)
M t HÀNG HÓA có th Thu c v bao
nhiêu LO I HÀNG?
Ch thu c v 1 phòng ban (1)
LO I
HÀNG
Có
HÀNG
HÓA
LO I
HÀNG
Có
n
HÀNG
HÓA
n
HÀNG
HÓA
LO I
HÀNG
1
Có
18
c. N u m i quan h c a 2 th c th đ
nh th nào?
c th hi n b ng hóa đ n ho c ch ng t thì thi t k
VD: Gi a HÀNG HÓA và KHÁCH HÀNG có m i quan h Mua.
Tuy nhiên m i l n khách hàng mua hàng hóa đ
c th hi n, xác nh n b ng m t hóa đ n.
V y nên khi v mô hình ER thì không đ quan h Mua tr c ti p gi a HÀNG HÓA và
KHÁCH HÀNG
KHÁCH n
HÀNG
Mua
n
HÀNG
HÓA
Mà đ a thêm Hóa đ n vào nh m t đ i t ng qu n lý. Và bây gi ch còn m i quan h
gián ti p gi a HÀNG HÓA và KHÁCH HÀNG thông qua HÓA
N
HÀNG
HÓA
KHÁCH
HÀNG
1
n
S
h u
n
HÓA
N
G m
n
N u v n gi m i quan h tr c ti p Mua gi a HÀNG HÓA và KHÁCH HÀNG thì s
sai
KHÁCH
HÀNG
n
n
Mua
1
S
h u
HÀNG
HÓA
n
n
HÓA
N
n
G m
d. Khi nào m t thu c tính là thu c tính c a m i quan h ?
VD: Bài t p 2 ph n Thi t k CSDL.
19
S H : HD001
Siêu th HOA XUÂN
HÓA
N MUA HÀNG
Ngày mua: 1/1/2003
Tên khách hàng: Nguy n V n A
Qu n/Huy n: Q Ba ình
T nh/Thành Ph : Hà N i
SL
V tính
Thành ti n
STT
Tên hàng
Giá bán
1
M H oH o
5
Thùng
30000
150000
2
Trà đào IceTea
10
H p
10000
100000
T ng c ng
Ng
S l
250000
il pH
ng là thu c tính c n l u tr l i. S l
N uS l
ng là thu c tính c a th c th nào?
ng là thu c tính c a th c th HÀNG HÓA, ta có th có b ng d li u sau:
Tên lo i
Tên hàng
M H oH o
M gói
Trà đào IceTea
M H oH o
VT
S l
ng
Thùng
30.000
5
H p
10.000
10
Thùng
30.000
20
u ng
M gói
n giá
T n t i 2 dòng này
b i vì M H o h o
có th bán cho
nhi u ng i, trong
nhi u hóa đ n.
N u l u tr nh trên thì:
- Vi ph m qui t c thi t k b ng d li u: M i hàng hóa ch đ
HÀNG HÓA.
- S l
ng 5
+ S l
+ S l
S l
dòng th nh t là :
ng t n kho hay s l
+ N u là s l
ng
c l u trong 1 dòng c a b ng
ng bán? - Không bi t.
ng bán thì bán cho ai, trong hóa đ n nào? - Không bi t.
đây không có ý ngh a, không ph i là thu c tính mô t Hàng hóa.
ng không th là thu c tính c a th c th HÀNG HÓA.
Nh v y, đ đ m b o m i hàng hóa ch đ
s có b ng d li u nh sau:
Tên hàng
Tên lo i
VT
c l u trong 1 dòng c a b ng HÀNG HÓA, ta
n giá
S l
ng
Ph i l u tr th
này b i vì M H o
h o có th bán cho
20
nhi u ng i, trong
nhi u hóa đ n.
M H oH o
Trà đào IceTea
M gói
u ng
Thùng
30.000
5, 20, …
H p
10.000
10
N u l u tr nh trên thì:
- S l
ng s là thu c tính đa tr .
- S l
ng là 5, 20, … là s l
S l
ng gì ? – Không rõ ràng.
ng không th là thu c tính c a th c th HÀNG HÓA.
N uS l
ng là thu c tính c a th c th HÓA
S HD
Ngày
S l
N, ta có th có b ng d li u sau:
ng
HD001
01/01/2003
5
HD001
01/01/2003
10
T n t i 2 dòng này
b i vì hóa đ n
HD001 mua 2 m t
hàng.
N u l u tr nh trên thì:
- Vi ph m qui t c thi t k b ng d li u: M i hàng hóa ch đ
HÀNG HÓA.
- S l
ng 5
- S l
ng
S l
dòng th nh t là s l
ng mua c a m t hàng nào ? - Không xác đ nh đ
c.
đây không có ý ngh a, không ph i là thu c tính mô t Hóa đ n.
ng không th là thu c tính c a th c th HÓA
Nh v y, đ đ m b o m i hàng hóa ch đ
s có b ng d li u nh sau:
S HD
c l u trong 1 dòng c a b ng
Ngày
S l
ng
HD001
01/01/2003
5, 10
HD002
01/01/2003
20
N.
c l u trong 1 dòng c a b ng HÓA
N, ta
Ph i l u tr th
này b i vì hóa đ n
HD001 mua 2 m t
hàng.
N u l u tr nh trên thì:
- S l
ng s là thu c tính đa tr .
21
- S l
ng là 5, 20, … là s l
S l
ng gì ? – Không rõ ràng.
ng không th là thu c tính c a th c th HÓA
N.
Nh v y:
- S l
ng không th là thu c tính c a th c th HÀNG HÓA
- S l
ng không th là thu c tính c a th c th HÓA
- S l
ng ph thu c vào c Hàng hóa và Hóa đ n. S l
N
ng đ t bên c nh hàng hóa và
hóa đ n th hi n : Hàng hóa nào bán cho hóa đ n nào v i s l
S l
e.
ng bao nhiêu.
ng là thu c tính c a m i quan h G m gi a HÓA
N và HÀNG HÓA.
a quan h gi a 2 t p th c th
VD Bài t p 3: Qu n lý xu t nh p kho, ph n Thi t k CSDLQL.
PHI U NH P KHO
Ngày nh p
S phi u…………
Tên nhân viên nh p hàng
Tên nhà cung c p
a ch nhà cung c p
STT Tên hàng
VT
SL
n giá
1
M H oH o
Thùng 3
2400
5%
756000
2
Trà đào IceTea
Thùng 1
240000
5%
252000
T ng c ng
Th kho
Trong phi u nh p kho
- Ng
VAT Thành ti n
1008000
K toán tr
ng
Ng
i giao
trên, ta th y:
i giao : là nhân viên c a nhà cung c p không c n qu n lý nh ng có th l u l i đ
thêm không tin tham kh o, khi x y ra s c liên quan.
22
- Nhân viên nh p hàng, Th kho, K toán tr ng : đ u là nhân viên c a công ty c n
qu n lý m i nhân viên s đ c th hi n b ng 1 dòng trong b ng NHÂN VIÊN.
23
Có th v mô hình ER theo 2 cách sau:
Cách 1
Cách 2
P_NH P
NHÂN VIÊN
S phi u
Ngày nh p
Mã NV
Tên NV
i n tho i
1
1
n
1
n
n
P_NH P
NHÂN VIÊN
S phi u
Ngày nh p
Mã NV
Tên NV
i n tho i
n
n
L p
Tham
gia
Là Th
kho
Vai trò
ER
Mô hình d li u quan h
Mô hình d li u quan h
P_NH P
NHÂN VIÊN
# Mã NV
Tên NV
i n tho i
ER
Là k toán
tr ng
1
1
1
# S phi u
Ngày nh p
n @Mã nv nh p
n @Mã Th kho
n
@Mã KT tr ng
P_NH P
NHÂN VIÊN
1
# Mã NV
Tên NV
i n tho i
1
# S phi u
Ngày nh p
CT_P.NH P
#@ S phi u
#@ Mã NV
n
Vai trò
- Cách này áp d ng đ i v i các tr ng h p
s quan h gi a 2 th c th c đ nh đ i v i
m i quan h c th .
- M i phi u nh p kho, đ u có đúng 3 nhân
viên tham gia v i 3 vai trò xác đ nh
n
- Cách này áp d ng đ i v i các tr ng
h p s quan h gi a 2 th c th không
xác đ nh, thay đ i đ i v i m i quan h
c th . ây c ng chính là u đi m c a
cách này.
- Cách này phù h p v i m i quan h gi a
24
NHÂN VIÊN và D ÁN. M i d án có
nhi u nhân viên tham gia v i các vai trò
khác nhau. M i d án có s l ng nhân
nên ch n cách này.
-
u đi m c a cách này là mô hình d li u
quan h đ n gi n, không sinh thêm b ng
viên tham gia khác nhau và các vai trò
c ng khác nhau.
trung gian.
2.2.5. Mô hình ER – Qu n lý bán hàng t i siêu th Hoa Xuân
LO I HÀNG
HÀNG HÓA
1
Mã lo i
Tên lo i
Có
n
n
Mã hàng
Tên hàng
n giá
VT
Thu c
v
KHÁCH HÀNG
1
Mã KH
S
h u
n
HÓA
S HD
Ngày bán
Tên KH
a ch
SL
N
n
NHÂN VIÊN
1
Mã NV
L p
n
Tên NV
i n tho i
25