1. Microsoft Access 2000 Ch-¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu
Ch ng I:
T NG QUAN V C S D LI U
1.1. Khái ni m v c s d li u
1.1.1. M u
s d li u là t p h p d li u c s p x p theo m t vài c tính logic nào
ó, c t ch c có c u trúc, c l u tr trên nh ng d li u l u tr thông tin m t
cách ng th i và có ch n l c cho nhi u ng i dùng khác nhau và cho nhi u m c
ích s d ng khác nhau. Các lo i c s d li u n hình là m t danh b n tho i,
n bách khoa, các t p h s , danh sách chuy n th qua b u n.
Các c s d li u v th ng m i th ng mang các thông tin v nhân viên,
ng b ng c a nhân viên, danh sách khách hàng, a ch , s th tín d ng, s tài
kho n và các thông tin v s n ph m. M t c s d li u c s d ng trong tr ng
ih c ghi danh sách a ch c a nhân viên, công tác các l p h c và các thông
tin v gi ng d y. M t c quan b t ng s n l u gi các n i dung thông tin v b t
ng s n nh quy ho ch nhà c a, giá bán và các chi ti t khác v nhà.
tv n quan tr ng trong công tác tin h c hóa khâu qu n lý là chúng ta ph i
bi t cách thi t k và t ch c c s d li u (CSDL). V y c s d li u là gì ? Cách
ho t ng c a chúng ra sao? Ta ph i dùng công c gì khai thác thông tin trên c
d li u ? ... Nh ng ví d sau ây s giúp b n ph n nào hi u v v n ó.
a. Ví d 1:
t Công Ty mu n th c hi n vi c qu n lý hóa n khách hàng. Công ty ã
phân tích và thi t k c s d li u cho khâu qu n lý này, k t qu g m các thông tin
sau:
- Danh m c khách hàng bao g m các thông tin: Mã khách hàng (MAKH), H
và tên khách hàng (TENKH), a ch khách hàng (DIACHIKH), n v khách
hàng (DONVIKH).
- Danh m c kho bao g m các thông tin: Mã kho (MAKHO), tên kho (Tenkho),
a ch kho (DIACHIKHO).
- Danh m c hóa n bao g m các thông tin: S hóa n khách hàng
(SOHD), Ngày nh p xu t hóa n (NGAYHD), lo i hóa n là nh p hay xu t
(LOAIHD), mã khách hàng (MAKH), mã kho (MAKHO), tr giá hóa n
(TRIGIA)
Công ty c n qu n lý trên m i s hóa n nh ng thông tin v khách
hàng, kho hàng, lo i hóa n, tr giá hóa n.
b. Ví d 2:
Xét ho t ng qu n lý h s và tính l ng cho nhân viên trong m t
công ty, ng i ta c n các thông tin sau:
- s Nhân Viên ta c n bao g m các thông tin: H tên nhân viên, phái,
ngày tháng n m sinh, mã n v ,mã ch c v , mã b c.
- Danh m c ch c v bao g m các thông tin: Mã ch c v , tên ch c v .
- Danh m c n v bao g m các thông tin: Mã n v , tên n v.
- Danh m c h s bao g m các thông tin: Mã ng ch, mã b c, h s l ng,
di n gi i v h s l ng.
DÞch vô Tin häc TÊn Ph-íc Trang 1
2. Microsoft Access 2000 Ch-¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu
c. Ví d 3:
Xét các ho t ng mua bán c a m t công ty th ng nghi p. Các thông tin c n
ch a g m có:
- Danh sách các m t hàng.
- Danh sách các c a hàng.
- Danh sách các nhân viên t ng c a hàng.
- Danh sách các i lý.
- Danh sách các nhà cung c p.
- V.v....
Nhân viên c a hàng ch theo dõi các thông tin v các m t hàng (mã hàng, tên
hàng, n v tính,...) mà không c n ph i bi t ai là nhà cung c p các m t hàng cho
công ty c a h .
d. Ví d 4:
Xét các các ho t ng ào t o trong m t tr ng i h c. Các thông tin c n
ch a g m có:
- Danh sách các b môn trong tr ng.
- H s lý l ch c a t ng sinh viên.
- H s lý l ch c a cán b gi ng d y (CBGD) và công vi c c a h (bao g m các
môn liên quan và các môn h có gi ng d y).
- Danh sách các môn h c ng v i t ng môn
- Quá trình h c t p và k t qu t c c a t ng sinh viên.
- V.v...
Trong công tác qu n lý ng i ta th ng chia ra nhi u phòng ban ch ng h n
nh phòng tài v , phòng t ch c, phòng ào t o... M i m t phòng ban có nhi m v
riêng và không c n ph i quan tâm gì n các phòng ban khác. Ví d : phòng t ch c
qu n lý h s lý l ch c a CBGD mà không quan tâm n h s lý l ch c a sinh viên;
còn phòng ào t o l i theo dõi quá trình h c t p c a sinh viên mà không c n bi t chi
ti t công vi c c a CBGD.
1.1.2. Thu t ng :
u dùng t “xí nghi p” (enterprise) nh là m t thu t ng chung ch
i x y ra nh ng ho t ng th ng m i, ho c khoa h c, k thu t, ho c các ho t
ng khác có qui mô l n, và gi s xí nghi p này c tin h c hóa, ta có nh n
xét nh sau:
Các thông tin c ch a trên các b nh ngoài nh m t kho d li u.
Kho này không quan tâm n d li u vào và d li u ra mà ch g m các d li u liên
quan ho t ng c a xí nghi p.
Chúng ta c m t b ch ng trình ng d ng truy xu t.
m i l nh v c c a xí nghi p có m t nhóm ng i dùng m t ph n nh
a kho d li u nói trên mà không quan tâm n c u trúc bên trong. H c ng không
chú ý n các d li u khác có trong kho không liên quan n ho t ng c a mình.
Ngh a là m i ng i s d ng ch c nhìn vào kho d li u nh qua m t cái khung
và h c m t ng nh kho d li u ch dành cho h mà thôi.
1.1.3. nh ngh a c s d li u:
s d li u (Database) là m t t p h p các d li u có c u trúc c ghi trên
nh ngoài c a máy tính v các i t ng và các ho t ng trong th gi i th c
DÞch vô Tin häc TÊn Ph-íc Trang 2
3. Microsoft Access 2000 Ch-¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu
a m t xí nghi p (nói chung) và c các h ng d ng c a xí nghi p này s d ng
t cách có ch n l c và úng lúc.
1.2. H qu n tr CSDL (Database Management System – DBMS):
Trong m t h th ng t ch c, CSDL c thi t k ch t ch thì làm th nào ta
có th khai thác c d li u trong h th ng CSDL ó? làm c u ó ta ph i
thông qua m t h qu n tr CSDL (DBMS). Hi n nay có r t nhi u DBMS c s
ng nh FOXPRO FOR DOS, ORACLE, MICROSOFT VISUAL FOXPRO,
Microsoft Access,... Vi c ch n h c s d li u nào trong công tác qu n lý là tùy
thu c vào nhi u y u t khác nhau. Tài li u này s d ng DBMS Microsoft Access
2000 trong vi c t ch c, l u tr , qu n lý và khai thác c s d li u.
1.3. n ch c a cách qu n lý d li u c i n (t p tin d li u không
u trúc)
- D x y ra tình tr ng d li u b trùng l p, phân tán, thi u nh t quán:
+ D th a và lãng phí: Trong ph n l n các h th ng không t ch c d li u
thành CSDL, m i l nh v c ng d ng trong cùng m t xí nghi p l i có nh ng t p tin
d li u riêng v cùng m t thông tin. u ó d n n s d th a áng k v d li u
u tr và k t qu c a nó là s lãng phí b nh .
Ví d : trong tr ng i h c, k t qu h c t p c a sinh viên c l u phòng
ào t o, ng th i c ng c l u phòng tài v c n c vào ó mà xét i m rèn
luy n và phát h c b ng cho sinh viên.
+ D li u không ng b : Th ng x y ra tr ng h p nhi u ng i cùng thao
tác trên cùng m t thông tin v m t i t ng c a th gi i th c. N u i t ng này l i
c miêu t thành hai m c riêng bi t thì khi có s thay i, 2 m c này th ng b
p nh t không ng th i ho c m t m c b quên không c p nh t. Khi ó s x y ra s
không nh t quán trong miêu t thông tin c a xí nghi p.
Ví d :
1. K t qu h c t p c a m t sinh viên ã b gi m sút, do ó em này áng
lý không còn c nh n h c b ng n a. Nh ng phòng tài v không
p nh t k p th i thông tin trên, nên v n ti p t c phát h c b ng cho
em.
2. Cùng ti t h c l i có hai giáo viên có l ch gi ng d y
- Ch ng trình ng d ng làm ch nh ng cách t ch c s li u nên b ph thu c d
li u. H n n a, phí t n vi t và b o trì ch ng trình cao.
- S l ng d li u t ng nhanh.
- S chia s d li u b h n ch .
- Các m i liên h gi a nh ng thông tin không c chú tr ng.
1.4. u m c a CSDL:
a. Có th gi m b t s d th a d li u l u tr :
Khi có 2 h ng d ng khác nhau th c ch t cùng òi h i nh ng t p d li u
nh nhau, ng i qu n tr (database manager) s h p nh t 2 t p này l i, ch l u tr
t l n và dùng chung cho c hai h nói trên.
b. Có th tránh c s không nh t quán trong d li u l u tr .
qu n tr c s d li u s cho cách b o v ch ng l i tính không nh t quán
nh v a nói.
c. D li u l u tr có th c dùng chung.
Trong CSDL, các t p tin d li u cl ul i có th c dùng chung cho
t c ng d ng, cho c ch ng trình ng d ng m i.
DÞch vô Tin häc TÊn Ph-íc Trang 3
4. Microsoft Access 2000 Ch-¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu
d. Có th mb o c s tuân th các tiêu chu n th ng nh t.
CSDL giúp m b o các nguyên t c v m b o d li u c a h th ng ban
ngành c a xí nghi p (Ví d : các báo bi u trong ngành tài chính hay ngân hàng) hay
a trung tâm tính toán. Nh v y, vi c b o trì và trao i d li u gi a các n i liên
quan s d dàng.
e. Có th áp d ng c các bi n pháp an toàn d li u.
Không ph i ng i s d ng nào c ng c truy xu t n toàn b d li u.
Ng i qu n tr có th :
- Ch cho phép m t s ng i nào ó c quy n truy xu t t i m t s t p tin
nào ó thôi b ng m t m t mã ã c ng i qu n tr nh tr c.
- Ki m tra các ý truy xu t n d li u m t.
f. Có th gi c s toàn v n d li u.
CSDL ch c ch a các d li u úng. Nh s qu n lý t p trung, nó cho
phép ng i qu n tr nh ra các th t c ki m tra c n thi t khi th c hi n các thao tác
p nh t.
ki m tra nh t là các tính ch t v giá tr (ví d : s l ng hàng bán không
th v t quá s l ng hàng ang t n). Khó ki m tra h n khi c p n các yêu c u
mang tính c u trúc, ch ng h n không th gán hai chi c máy bay cho cùng m t
chuy n bay.
g. Có th cân b ng c các yêu c u i l p nhau:
Nh bi t c t t c các yêu c u c a toàn b xí nghi p, ng i qu n tr có th
thi t k CSDL theo cách th c làm cho m i ng i u c m th y th a mãn.
h. Ý ngh a c a t ng liên h gi a các lo i d li u c n i b t.
i. Có th mb o c tính c l p cao.
1.5. Khái ni m v CSDL quan h (Relational Database)
Ngu n g c c a mô hình c s d li u quan h u tiên là do ti n s E.F. Codd
thi t k ã c công b r ng rãi trên các t p chí tháng 07/1970 v i bài “Mô hình d
li u quan h cho các ngân hàng d li u l n”. Theo mô hình này, các d li u s c
u vào máy tính d i d ng các b ng 2 chi u g i là các quan h và gi a các b ng
có m i liên h c nh ngh a nh m ph n ánh m i liên k t th t s c a các i
ng d li u bên ngoài th gi i th c. Trong mô hình này có m t s các khái ni m
b n sau:
1.5.1. Các thành ph n c a C s d li u quan h :
A. Ngôn ng mô t d li u ( Data definition Language – DDL) g m:
Mô t c u trúc c a c s d li u
Mô t các liên h c a d li u, các lo i ràng bu c.
B. Ngôn ng s d ng d li u (Data Manipulation Language – DML) có c tính
nh ngôn ng l p trình dùng :
Truy xu t d li u.
C p nh t d li u.
Khai thác d li u.
C.T n d li u ( Data dictionary – DD): là n i t p trung l u tr v :
Thành ph n c u trúc c a c s d li u (th c th , thu c tính, m i liên h …)
Ch ng trình.
Mã b o m t, th m quy n s d ng.
DÞch vô Tin häc TÊn Ph-íc Trang 4
5. Microsoft Access 2000 Ch-¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu
1.5.2. Khái ni m th c th :
1. Th c th (entity) hay i t ng (object): là khái ni m ch m t v t c th
hay tr u t ng trong th gi i th c. Ta có th phân bi t th c th này hay th c
th khác.
Ví d :
- Anh Nguy n V n A là th c th .
- Nhân viên là m t th c th
2. Thu c tính ( attribute): là các tính ch t c a th c th .
Ví d : Nhân viên (Mã s , H tên, Phòng, N m sinh, a ch , M c l ng) trong ó
Mã s , H tên, Phòng, N m sinh, a ch , M c l ng là thu c tính (tính ch t) c a
th c th nhân viên
3. Th c th có thu c tính chung:Thành l p t p các th c th ho c t p các i
ng mà các thu c tính luôn ph i có.
Ví d : T p th c th ng i có các thu c tính chung h tên, n m sinh.
T p th c th xe máy có các thu c tính chung: s s n, s máy, hi u.
i th c th c xác nh b ng m t b ng, m i thu c tính c a th c th c
xác nh b ng m t c t c a b ng.
- B ng (Table) hay quan h : G m có nhi u dòng và nhi u c t. Trong m t
ng ph i có ít nh t là m t c t.
- C t (Column) hay tr ng (Field): N m trong b ng. Trong m t b ng thì
không có hai c t trùng tên nhau. Trên m t c t ch l u m t lo i d li u. Th t tr c
sau gi a các c t trong b ng là không quan tr ng. Các thu c tính c s c a m t
tr ng là: Tên tr ng (Field name), ki u d li u (Data Type), r ng (Field Size):
Thí d : Ta có m t b ng l u tr thông tin v các môn h c:
Mã môn h c Tên môn h c tín ch
HH001 Hóa h c i c ng A1 3
VL002 t lý i c ng A2 4
TH001 s d li u 5
Trong b ng này có 3 c t: Mã môn h c, Tên môn h c và c t S tín ch (1 tín ch
ng ng v i 15 ti t chu n)
DÞch vô Tin häc TÊn Ph-íc Trang 5
6. Microsoft Access 2000 Ch-¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu
Các thu c tính c s c a các c t này:
t Tên c t Ki u d li u r ng
Mã môn h c MA_MON_HOC Chu i 4
Tên môn h c TEN_MON_HOC Chu i 40
tín ch SO_TIN_CHI Number Integer
- Dòng (Row): m ngang trong b ng. Trong m t b ng thì không có 2 dòng
trùng l p nhau v thông tin l u tr . Th t tr c sau gi a các dòng trong b ng là
không quan tr ng.
- Khóa chính (Primary Key): Là m t ho c nhi u tr ng trong b ng mà d li u
a các c t này b t bu c ph i có (không c tr ng) và ng th i ph i duy nh t
không c phép trùng l p (tính duy nh t c a d li u). H n n a giá tr c a khóa
chính xác nh duy nh t c a các tr ng khác trong cùng m t dòng.
- Khóa ngo i (Foreign Key): Là m t ho c nhi u tr ng trong cùng m t b ng
mà các tr ng này là khóa chính c a m t b ng khác. Do ó d li u t i các c t này
t bu c ph i t n t i trong m t b ng khác (Tính t n t i c a d li u)
Thí d : l u tr và qu n lý thông tin c a các sinh viên, ta t ch c các b ng
n gi n sau:
+ B ng môn h c: L u tr các thông tin v môn h c.
+ B ng sinh viên: L u tr thông tin c a các sinh viên (Mã s sinh viên, h tên,
ngày sinh,...).
+ B ng k t qu thi: L u tr m thi c a t ng môn h c cho các sinh viên:
Trong ó:
- B ng Môn h c có c t Mã môn h c là khóa chính. Thông th ng trong mô hình
quan h vi t g n chúng ta có th vi t b ng theo cú pháp sau:
Mônh c(Mã môn h c,Tên môn h c,S tín ch )
Các c t g ch d i trong b ng chính là khóa chính c a b ng. th hi n ph
thu c hàm trong b ng Môn h c chúng ta có th vi t:
Mã môn h c (Tên môn h c)
Mã môn h c (S tín ch )
ng sinh viên có c t mã s là khóa chính khi ó s th hi n:
DÞch vô Tin häc TÊn Ph-íc Trang 6
7. Microsoft Access 2000 Ch-¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu
Sinh viên (Mã s , H tên, Phái, Ngày sinh,....)
Mã s ( H tên, ngày sinh, Phái,... )
ng k t qu thi có c t Mã s , Mã môn h c (hai c t) là khóa chính
t qu (Mã s , Mã môn h c, m)
Trong b ng k t qu thi có c t Mã s là khóa ngo i và c t mã môn h c c ng là
khóa ngo i. Chúng ta có th th y r ng trong b ng k t qu thi t i c t Mã sinh viên ch
cho phép ch a các mã sinh viên có trong b ng sinh viên và c t Mã môn h c ch cho
phép ch a các Mã môn h c có trong b ng Môn h c, u này hi n nhiên vì chúng ta
ch l u tr m c a các sinh viên có th t s t n t i trong b ng sinh viên hay không
và môn h c ph i có trong b ng môn h c.
Trong thí d trên, ta th y mã sinh viên trong b ng k t qu thi là (1000001) ph i
thu c trong t p h p các sinh viên trong b ng sinh viên (1000001, 1000002,
100003,...). Thông th ng s d ng ký hi u ( mô t m t ph thu c hàm t n t i.
Thí d : b ng k t qu thi t n t i hai ph thu c hàm:
t qu thi[Mã s ] (Sinh viên [Mã s ]
t qu thi[Mã môn h c] (Môn h c [Mã môn h c]
1.5.3. Bài t p v C s d li u:
t c a hàng bán s mu n xây d ng m t h th ng qu n lý vi c bán hàng
ng nh vi c cung ng hàng t các hãng cung ng. Qua tìm hi u c a hàng c
ch c nh sau:
a hàng chia làm nhi u khu v c, m i khu v c bán m t lo i hàng nh t nh.
i khu v c có m t ng i qu n lý và nhi u nhân viên làm vi c qu n lý cho khu v c
ó. M i ng i qu n lý ch qu n lý m t khu v c, m t nhân viên ch làm vi c cho khu
c duy nh t. Các thông tin c n l u tr v khu v c và nhân viên g m:M i khu v c
có Mã khu v c và tên.
i nhân viên có Mã NV, h tên, m c l ng và ngày vào làm vi c
i m t hàng c bán c a hàng thì do nhi u nhà cung c p, m i nhà cung
p có th cung ng nhi u m t hàng. C a hàng ch c n theo dõi nhà cung ng nào
cung ng m t hàng gì v i giá bao nhiêu. Thông tin l u tr v nhà cung ng và m t
hàng bao g m:M t hàng có Mã s MH, tên m t hàng, n v tính. Cung ng: Mã s ,
tên nhà cung ng, tên qu n lý (giám c), a ch , n tho i, fax.
i khách hàng mu n mua hàng thì ph i l p m t n t hàng. M i n t hàng
có s c nh c in s n trên m u n. M t n t hàng có th mua nhi u m t
hàng. Thông tin v khách hàng và n t hàng bao g m:Khách hàng (KH): Mã s ,
tên KH, a ch , n tho i, fax. n t hàng ( H): Ngày t, các m t hàng, t
mua, s l ng và n giá.
Yêu c u:
1. Tìm các th hi n (th c th ) c a bài toán trên.
2. Xây d ng mô hình k t h p cho bài toán.
3. Chuy n mô hình k t h p sang mô hình quan h :
DÞch vô Tin häc TÊn Ph-íc Trang 7
8. Microsoft Access 2000 Ch-¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu
1. Các th c th trong quan h :
2. Xây d ng mô hình m i k t h p cho bài toán:
3. Chuy n mô hình k t h p sang mô hình quan h :
DÞch vô Tin häc TÊn Ph-íc Trang 8
9. Microsoft Access 2000 Ch-¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu
DÞch vô Tin häc TÊn Ph-íc Trang 9