Giáo trình gồm 12 bài với các nội dung được trình bày từ nội dung cơ bản đến nâng cao. Trang bị đầy đủ kiến thức để người học có thể xây dựng, tổ chức dữ liệu cấu trúc cho phần mềm. Đây có thể coi là nền tảng lý thuyết để xây dựng hệ quản trị cơ sở dữ liệu phù hợp, tối ưu. Mời các bạn cùng tham khảo.
Trang 1UBND T NH BÀ R A – VŨNG TÀUỈ Ị
TRƯỜNG CAO Đ NG K THU T CÔNG NGHẲ Ỹ Ậ Ệ
GIÁO TRÌNHMÔN H C : C S D LI UỌ Ơ Ở Ữ Ệ
Trang 2BÀ R AVŨNG TÀU, NĂM 2020Ị
Trang 3TUYÊN B B N QUY NỐ Ả Ề
Nh m đáp ng nhu c u h c t p và nghiên c u cho gi ng viên và sinh viênằ ứ ầ ọ ậ ứ ả ngh Công ngh thông tin trong trề ệ ường Cao đ ng K thu t Công ngh Bà R aẳ ỹ ậ ệ ị – Vũng Tàu. Chúng tôi đã th c hi n biên so n tài li u C s d li u này. ự ệ ạ ệ ơ ở ữ ệTài li u đệ ược biên so n thu c lo i giáo trình ph c v gi ng d y và h c t p,ạ ộ ạ ụ ụ ả ạ ọ ậ
l u hành n i b trong nhà trư ộ ộ ường nên các ngu n thông tin có th đồ ể ược phép dùng nguyên b n ho c trích dùng cho các m c đích v đào t o và tham kh o.ả ặ ụ ề ạ ả
M i m c đích khác mang tính l ch l c ho c s d ng v i m c đích kinh doanhọ ụ ệ ạ ặ ử ụ ớ ụ thi u lành m nh s b nghiêm c m.ế ạ ẽ ị ấ
3
Trang 4L I GI I THI UỜ Ớ Ệ
C s d li u là môn h c c s c a ngành Công ngh thông tin. Là n n t ngơ ở ữ ệ ọ ơ ở ủ ệ ề ả
đ xây d ng, t ch c d li u trong th c t ể ự ổ ứ ữ ệ ự ế
Giáo trình C s d li u đơ ở ữ ệ ược biên so n cho sinh viên ngành Công nghạ ệ thông tin, d a trên chự ương trình đào t o c a môn h c này ạ ủ ọ Cung c p choấ
ngườ ọi h c ki n th c và k năng v đ phân tích và thi t k c s d li u.ế ứ ỹ ề ể ế ế ơ ở ữ ệGiáo trình g m 12 bài v i các n i dung đồ ớ ộ ược trình bày t n i dung c b n đ nừ ộ ơ ả ế nâng cao. Trang b đ y đ ki n th c đ ngị ầ ủ ế ứ ể ườ ọi h c có th xây d ng, t ch cể ự ổ ứ
d li u c u trúc cho ph n m m. Đây có th coi là n n t ng lý thuy t đ xâyữ ệ ấ ầ ề ể ề ả ế ể
d ng h qu n tr c s d li u phù h p, t i u. N i dung các bài nh sau:ự ệ ả ị ơ ở ữ ệ ợ ố ư ộ ưBài m đ u: ở ầ Gi i thi u c s d li uớ ệ ơ ở ữ ệ
Bài 1: Khái ni m c b n trong mô hình c s d li u quan hệ ơ ả ơ ở ữ ệ ệ
Bài 2: Phép h i, phép giao, phép tr trên đ i s quan hộ ừ ạ ố ệ
Bài 3: Phép tích đ các và phép chia trên đ i s quan hề ạ ố ệ
Bài 4: Phép chi u và phép ch n trong đ i s quan hế ọ ạ ố ệ
Bài 5: Phép k t n i trong đ i s quan hế ố ạ ố ệ
Bài 6: Xác đ nh RBTV trên b i c nh 1 quan hị ố ả ệ
Bài 7: Xác đ nh RBTV trên b i c nh nhi u quan hị ố ả ề ệ
Bài 8: Ph thuôc hàm và h tiên đ Amstrong cho các ph thu c hàmụ ệ ề ụ ộ
Bài 9: Xác đ nh Bao đóng c a t p thu c tínhị ủ ậ ộ
Bài 10: Xác đ nh Khóa c a lị ủ ược đ CSDLồ
Bài 11: Xác đ nh Ph t i thi u c a lị ủ ố ể ủ ược đ CSDLồ
Bài 12: Xác đ nh D ng chu n c a lị ạ ẩ ủ ược đ CSDLồ
Xin được g i l i c m n t i các th y cô, đ c bi t là các th y cô khoa Côngử ờ ả ơ ớ ầ ặ ệ ầ ngh thông tin trệ ường Cao đ ng k thu t công ngh t nh BRVT đã nhi t tìnhẳ ỹ ậ ệ ỉ ệ góp ý đ tác gi có th hoàn thi n giáo trình v m t n i dung và hình th cể ả ể ệ ề ặ ộ ứ trình bày
BRVT, ngày … tháng… năm 2020
Tham gia biên so nạ
Tr n Th Thu Dungầ ị ỳ
Trang 5M C L CỤ Ụ
5
Trang 6Tính ch t:ấ
Là môn h c n n t ng v thi t k và l u tr d li u, ki n th c c b n đọ ề ả ề ế ế ư ữ ữ ệ ế ứ ơ ả ể
h c đọ ược các môn h qu n tr c s d li u sau này: MS SQL, Oracle, Myệ ả ị ơ ở ữ ệ SQL …
Trình bày được khái ni m phép chi u, ch n, k t trong đ i s quan h ệ ế ọ ế ạ ố ệ
Trình bày được khái ni m bao đóng và thu t toán tìm bao đóng c a t p thu cệ ậ ủ ậ ộ tính
Trình bày được h tiên đ Amstrong đ i v i các ph thu c hàm.ệ ề ố ớ ụ ộ
Trình bày được khái ni m khóa và các thu t toán tìm khóa c a lệ ậ ủ ược đồ CSDL
Trình bày được khái ni m t p ph thu c hàm tệ ậ ụ ộ ương đương và ph t i thi u.ủ ố ể
Trình bày được thu t toán tìm ph t i thi u.ậ ủ ố ể
Trình bày được khái ni m các d ng chu n 1,2,3,BC.ệ ạ ẩ
Trình bày được phương pháp chu n hóa CSDL v d ng chu n 3.ẩ ề ạ ẩ
Trình bày được phương pháp t i u hóa câu h i b ng đ i s quan h ố ư ỏ ằ ạ ố ệ
Th c hi n đự ệ ược các phép toán h i, giao,tr , tích đ các, chia trên đ i s t pộ ừ ề ạ ố ậ
h p.ợ
Trang 7 Th c hi n đự ệ ược các phép chi u, ch n, k t trên đ i s quan h ế ọ ế ạ ố ệ
Phân bi t đệ ược các lo i ràng bu c toàn v n.ạ ộ ẹ
Xác đ nh đị ược các ràng bu c toàn v n trong 1 CSDL.ộ ẹ
Xác đ nh đị ược các ph thu c hàm trong CSDL.ụ ộ
Xác đ nh đị ược bao đóng c a các t p thu c tính trong 1 CSDL.ủ ậ ộ
Tìm được khóa c a lủ ược đ CSDL b ng thu t toán tìm 1 khóa và thu t toánồ ằ ậ ậ tìm t t c các khóa.ấ ả
Tìm được ph t i thi u c a lủ ố ệ ủ ược đ quan h b ng thu t toán tìm ph t iồ ệ ằ ậ ủ ố thi u.ể
Xác đ nh đị ược d ng chu n c a các lạ ẩ ủ ược đ CSDL.ồ
Chu n hóa đẩ ượ ược l c đ CSDL v d ng chu n 3.ồ ề ạ ẩ
T i u hóa đố ư ược câu h i b ng đ i s quan h ỏ ằ ạ ố ệ
N i dung c a mô đun:ộ ủ
7
Trang 8BÀI M Đ U: GI I THI U V C S D LI UỞ Ầ Ớ Ệ Ề Ơ Ở Ữ Ệ
Mã bài: 11.00
Gi i thi u:ớ ệ
C s d li u là gì và t i sao c n ph i có C s d li u? ơ ở ữ ệ ạ ầ ả ơ ở ữ ệ C s d li uơ ở ữ ệ (CSDL) là m t h th ng các thông tin có c u trúc,ộ ệ ố ấ các dữ li uệ có liên quan v iớ nhau đượ ưc l u tr trên các thi t b l u tr nh m th a mãn yêu c u khai thácữ ế ị ư ữ ằ ỏ ầ thông tin đ ng th i c a nhi u ngồ ờ ủ ề ườ ử ụi s d ng hay nhi u chề ương trình ngứ
d ng v i m c đích khác nhau. M t c s d li u bi u th m t khía c nh nàoụ ớ ụ ộ ơ ở ữ ệ ể ị ộ ạ
đó c a th gi i th c nh ho t đ ng c a m t công ty, m t nhà trủ ế ớ ự ư ạ ộ ủ ộ ộ ường, m tộ ngân hàng… Vì v y C s d li u r t c n thi t trong cu c s ng hi n nay.ậ ơ ở ữ ệ ấ ầ ế ộ ố ệ
C s d li u và k thu t c s d li u đã có nh hơ ở ữ ệ ỹ ậ ơ ở ữ ệ ả ưởng r t l n đ n vi c sấ ớ ế ệ ử
d ng máy tính. Có th nói r ng c s d li u đóng vai trò quan tr ng trongụ ể ằ ơ ở ữ ệ ọ
m iọ
lĩnh v c có s d ng máy tính nh giáo d c, thự ử ụ ư ụ ương m i, k ngh , khoa h c,ạ ỹ ệ ọ thư
vi n,…. Thu t ng c s d li u tr thành m t thu t ng ph d ng.ệ ậ ữ ơ ở ữ ệ ở ộ ậ ữ ổ ụ
Bài này sẽ giới thiệu một cách tổng quan v cề ác khái niệm: cơ sở dữ liệu,
hệ qu nả trị cơ sở d lữ iệu, hệ th ngố cơ sở dữ liệu và mô hình cơ sở dữ liệu;
M c tiêu:ụ
Phân bi t đệ ược h c s d li u v i h th ng t p tin c đi n.ệ ơ ở ữ ệ ớ ệ ố ậ ổ ể
Phân bi t đệ ược các mô hình d li u m ng, phân c p, quan h , th c th liênữ ệ ạ ấ ệ ự ể
k t và mô hình hế ướng đ i tố ượng
L u tr thông tin là nhu c u r t thông d ng trong cu c s ng c a con ngư ữ ầ ấ ụ ộ ố ủ ườ i
T th i xa x a con ngừ ờ ư ười đã bi t s d ng nh ng v t d ng có s n đ l u trế ử ụ ữ ậ ụ ẵ ể ư ữ thông tin nh in hình lên đá, in lên các g c cây, thanh g Nh ng hi n nay thìư ố ỗ ư ệ
vi c l u tr đó đã tr nên quá l i th i. Thay vào đó công ngh thông tin phátệ ư ữ ở ỗ ờ ệ tri n, m i ngể ọ ườ ềi đ u có kh năng mua máy tính và l u tr thông tin trên máyả ư ữ tính.
L u tr d li u dư ữ ữ ệ ướ ại d ng h th ngệ ố t p tinậ
Trang 9Hình 1. H th ng t p tin d li u Microsoft Office ệ ố ậ ữ ệ
Khi s d ng máy tính thông thử ụ ường ta s l u tr thông tin dẽ ư ữ ướ ại d ng file, và
m i file ta s đ t nó trong nh ng folder có tên khác nhau nh m m c đích dỗ ẽ ặ ữ ằ ụ ễ dàng tìm đ n. V i cách này ta s có nh ng u đi m và nhế ớ ẽ ữ ư ể ược đi m nh sau:ể ư
Tính chia s d li u không cao (kém)ẻ ữ ệ
Hi n nay các cá nhân s d ng máy tính đa s s d ng cách l u tr này đ l uệ ử ụ ố ử ụ ư ữ ể ư
tr thông tin cho riêng mình, nên nói v s ph bi n thì cách này ph bi nữ ề ự ổ ế ổ ế
nh t, tuy nhiên v i nh ng h th ng d li u l n thì s có r t nhi u h n chấ ớ ữ ệ ố ữ ệ ớ ẽ ấ ề ạ ế
nh vi c truy xu t tìm ki m d li u s ch m, khó b o qu n, V i nh ngư ệ ấ ế ữ ệ ẽ ậ ả ả ớ ữ
h n ch trên thì khái ni m c s d li u và h qu n tr c s d li u đạ ế ệ ơ ở ữ ệ ệ ả ị ơ ở ữ ệ ược ra
đ i.ờ
1.1.2. Khái ni m C s d li uệ ơ ở ữ ệ
C s d li u (CSDL) là m t h th ng các thông tin có c u trúc,ơ ở ữ ệ ộ ệ ố ấ các dữ li uệ
có liên quan v iớ nhau đượ ưc l u tr trên các thi t b l u tr nh m th a mãnữ ế ị ư ữ ằ ỏ yêu c u khai thác thông tin đ ng th i c a nhi u ngầ ồ ờ ủ ề ườ ử ụi s d ng hay nhi uề
chương trình ng d ng v i m c đích khác nhau ứ ụ ớ ụ
Ví d : Đ qu n lý vi c h c t p trong m t trụ ể ả ệ ọ ậ ộ ường h c, các d li u là cácọ ữ ệ thông tin v sinh viên, v các môn h c, đi m thi….Chúng ta t ch c các dề ề ọ ể ổ ứ ữ
li u đó thành các b ng và l u gi chúng vào s sách ho c s d ng m t ph nệ ả ư ữ ổ ặ ử ụ ộ ầ
m m máy tính đ l u gi chúng trên máy tính. Ta có m t t p các d li u cóề ể ư ữ ộ ậ ữ ệ liên quan đ n nhau và mang nhi u ý nghĩa, đó là m t c s d li u.ế ề ộ ơ ở ữ ệ
9
Trang 101.1.3. Tính ch tấ
M t c s d li u bi u th m t khía c nh nào đó c a th gi i th c nh ho tộ ơ ở ữ ệ ể ị ộ ạ ủ ế ớ ự ư ạ
đ ng c a m t công ty, m t nhà trộ ủ ộ ộ ường, m t ngân hàng… Nh ng thay đ i c aộ ữ ổ ủ
th gi i th c ph i đế ớ ự ả ược ph n ánh m t cách trung th c vào trong c s dả ộ ự ơ ở ữ
li u. Nh ng thông tin đệ ữ ược đ a vào trong c s d li u t o thành m t khôngư ơ ở ữ ệ ạ ộ gian c s d li u ho c là m t “th gi i nh ” (miniworld) .ơ ở ữ ệ ặ ộ ế ớ ỏ
M t c s d li u là m t t p h p d li u liên k t v i nhau m t cách logicộ ơ ở ữ ệ ộ ậ ợ ữ ệ ế ớ ộ
và mang m t ý nghĩa c h u nào đó. M t c s d li u không ph i là m t t pộ ố ữ ộ ơ ở ữ ệ ả ộ ậ
h p tu ti n.ợ ỳ ệ
M t c s d li u độ ơ ở ữ ệ ược thi t k và đế ế ược ph bi n cho m t m c đích riêng.ổ ế ộ ụ
Nó có m t nhóm ngộ ườ ử ụi s d ng có ch đ nh và có m t s ng d ng đủ ị ộ ố ứ ụ ược xác
đ nh phù h p v i m i quan tâm c a ngị ợ ớ ố ủ ườ ử ụi s d ng. Nói cách khác, m t c sộ ơ ở
d li u có m t ngu n cung c p d li u, m t m c đ tữ ệ ộ ồ ấ ữ ệ ộ ứ ộ ương tác v i các sớ ự
ki n trong th gi i th c và m t nhóm ngệ ế ớ ự ộ ười quan tâm tích c c đ n các n iự ế ộ dung c a nó.ủ
M t c s d li u có th có c tu ý và có đ ph c t p thay đ i. Có nh ngộ ơ ở ữ ệ ể ỡ ỳ ộ ứ ạ ổ ữ
c s d li u ch g m vài trăm b n ghi (nh c s d li u ph c v vi cơ ở ữ ệ ỉ ồ ả ư ơ ở ữ ệ ụ ụ ệ
qu n lý lả ương m t c quan nh ), và có nh ng c s d li u có dung lở ộ ơ ỏ ữ ơ ở ữ ệ ượ ng
r t l n (nh các c s d li u ph c v cho vi c tính cấ ớ ư ơ ở ữ ệ ụ ụ ệ ước đi n tho i, qu nệ ạ ả
lý nhân s trên m t ph m vi l n). Các c s d li u ph i đự ộ ạ ớ ơ ở ữ ệ ả ượ ổc t ch c qu nứ ả
lý sao cho nh ng ngữ ườ ử ụi s d ng có th tìm ki m d li u, c p nh t d li u vàể ế ữ ệ ậ ậ ữ ệ
l y d li u ra khi c n thi t. M t c s d li u có th đấ ữ ệ ầ ế ộ ơ ở ữ ệ ể ượ ạc t o ra và duy trì
m t cách th công và cũng có th độ ủ ể ược tin h c hoá.ọ
1.1.4. u đi m c a c s d li uƯ ể ủ ơ ở ữ ệ
Gi m s trùng l p thông tin xu ng m c th p nh t và do đó b o đ m đả ự ắ ố ứ ấ ấ ả ả ượ ctính nh t quán và toàn v n d li u. ấ ẹ ữ ệ
Đ m b o d li u có th truy xu t theo nhi u cách khác nhau. ả ả ữ ệ ể ấ ề
Kh năng chia s thông tin cho nhi u ngả ẻ ề ườ ử ụi s d ng
1.1.5. Nh ng v n đ C s d li u c n gi i quy tữ ấ ề ơ ở ữ ệ ầ ả ế
Tính ch quy n d li u ủ ề ữ ệ : được th hi n phể ệ ở ương di n an toàn d li u, khệ ữ ệ ả năng bi u di n các m i liên h ng nghĩa c a d li u và tính chính xác c aể ễ ố ệ ữ ủ ữ ệ ủ
d li u. Đi u này có nghĩa là ngữ ệ ề ười khai thác CSDL ph i có nhi m v c pả ệ ụ ậ
nh t các thông tin m i nh t c a CSDL.ậ ớ ấ ủ
Tính b o m t và quy n khai thác thông tin c a ng ả ậ ề ủ ườ ử ụ : Do có nhi u i s d ng ề
ngườ ượi đ c phép khai thác d li u m t cách đ ng th i, nên c n thi t ph i cóữ ệ ộ ồ ờ ầ ế ả
m t c ch b o m t và phân quy n h n khai thác CSDL. Các h đi u hànhộ ơ ế ả ậ ề ạ ệ ề nhi u ngề ườ ử ụi s d ng hay h đi u hành m ng c c b đ u có cung c p c chệ ề ạ ụ ộ ề ấ ơ ế này
Trang 11 Tranh ch p d li u ấ ữ ệ : Nhi u ngề ườ ượi đ c phép truy nh p cùng m t lúc vào tàiậ ộ nguyên d li u c a CSDL v i nh ng m c đích khác nhau, do đó c n thi tữ ệ ủ ớ ữ ụ ầ ế
ph i có m t c ch u tiên khi truy nh p d li u. C ch u tiên có th đả ộ ơ ế ư ậ ữ ệ ơ ế ư ể ượ c
th c hi n b ng vi c c p quy n u tiên cho t ng ngự ệ ằ ệ ấ ề ư ừ ười khai thác
Đ m b o d li u khi có s c ả ả ữ ệ ự ố: Vi c qu n lý d li u t p trung có th làmệ ả ữ ệ ậ ể tăng kh năng m t mát ho c sai l ch thông tin khi có s c nh m t đi n đ tả ấ ặ ệ ự ố ư ấ ệ ộ
xu t, hay m t ph n đĩa l u tr CSDL b h ,… m t s h đi u hành m ng cóấ ộ ầ ư ữ ị ư ộ ố ệ ề ạ cung c p d ch v sao l u nh đĩa c ng, t đ ng ki m tra và kh c ph c l i khiấ ị ụ ư ả ứ ự ộ ể ắ ụ ỗ
có s c Tuy nhiên, bên c nh d ch v c a h đi u hành, đ đ m b o CSDLự ố ạ ị ụ ủ ệ ề ể ả ả luôn n đ nh, m t CSDL nh t thi t ph i có m t c ch khôi ph c d li u khiổ ị ộ ấ ế ả ộ ơ ế ụ ữ ệ
có các s c b t ng x y ra.ự ố ấ ờ ả
1.1.6. Đ i tố ượng s d ng C s d li uử ụ ơ ở ữ ệ
* Ng ườ i qu n tr CSDL ả ị : th c hi n các công vi c qu n lý và b o trì CSDL nhự ệ ệ ả ả ư sau:
S chính xác và toàn v n d li u, và b o m t d li u.ự ẹ ữ ệ ả ậ ữ ệ
Th c hi n các công vi c sao l u và ph c h i d li u.ự ệ ệ ư ụ ồ ữ ệ
Gi liên l c thữ ạ ường xuyên v i ngớ ườ ậi l p trình, người dùng, người phát tri nể
ng d ng đ k p th i c p nh t CSDL
B o đ m s ho t đ ng c a CSDL và HQTCSDL.ả ả ự ạ ộ ủ
* Ng ườ i phát tri n và l p trình ng d ng ể ậ ứ ụ là nh ng ngữ ười rành v máy tính cóề trách nhi m thi t k và t o các chệ ế ế ạ ương trình ng d ng dành cho ngứ ụ ười dùng
cu i cùng.ố
* Ng ườ i dùng cu i ố : là nh ng ngữ ười có th không rành v máy tính nh ngể ề ư
n m rõ v các nghi p v mà ng d ng tri n khai.ắ ề ệ ụ ứ ụ ể
1.2. H qu n tr c s d li uệ ả ị ơ ở ữ ệ
M t h qu n tr c s d li u (HQTCSDL) là: ộ ệ ả ị ơ ở ữ ệ
M t t p các ph n m m qu n lý c s d li u và cung c p các d ch v x lýộ ậ ầ ề ả ơ ở ữ ệ ấ ị ụ ử
c s d li u cho các nh ng ngơ ở ữ ệ ữ ười phát tri n ng d ng và ngể ứ ụ ười dùng cu i. ố
HQTCSDL cung c p m t giao di n gi a ngấ ộ ệ ữ ườ ử ụi s d ng và d li u. ữ ệ
HQTCSDL bi n đ i c s d li u v t lý thành c s d li u logic.ế ổ ơ ở ữ ệ ậ ơ ở ữ ệ
Hi n nay trên th trệ ị ường ph n m m đã có nh ng h qu n tr c s d li u hầ ề ữ ệ ả ị ơ ở ữ ệ ỗ
tr đợ ược nhi u ti n ích nh : MS Access, SQL Server, Oracle, …ề ệ ư
M i h qu n tr c s d li u đ u đỗ ệ ả ị ơ ở ữ ệ ề ược cài đ t d a trên m t mô hình d li uặ ự ộ ữ ệ
c th Dù là d a trên mô hình d li u nào, m t h qu n tr c s d li uụ ể ự ữ ệ ộ ệ ả ị ơ ở ữ ệ cũng ph i h i đ các y u t sau:ả ộ ủ ế ố
Y u t 1: Ngôn ng giao ti p gi a ngế ố ữ ế ữ ườ ử ụi s d ng và CSDL, bao g m :ồ
11
Trang 12 Ngôn ng mô t d li u (DDL – Data Definition Language): Đ cho phépữ ả ữ ệ ể khai báo c u trúc c a c s d li u, khai báo các m i liên h c a d li u vàấ ủ ơ ở ữ ệ ố ệ ủ ữ ệ các quy t c qu n lý áp đ t lên các d li u đó.ắ ả ặ ữ ệ
Ngôn ng thao tác d li u (DML – Data Manupulation Language): Cho phépữ ữ ệ
ngườ ử ụi s d ng có th c p nh t d li u (thêm/s a/xoá)ể ậ ậ ữ ệ ử
Ngôn ng truy v n d li u ( Structure Querry Language): Cho phép ngữ ấ ữ ệ ườ ikhai thác s d ng đ truy v n các thông tin c n thi t trong c s d li u.ử ụ ể ấ ầ ế ơ ở ữ ệ
Ngôn ng qu n lý d li u (DCL – Data Control Language): Cho phép nh ngữ ả ữ ệ ữ
người qu n tr h th ng thay đ i c u trúc c a các b ng d li u, khai báo b oả ị ệ ố ổ ấ ủ ả ữ ệ ả
m t thông tin và c p quy n h n khai thác c s d li u cho ngậ ấ ề ạ ơ ở ữ ệ ườ ử ụi s d ng.,
…
Y u t 2: T đi n d li uế ố ừ ể ữ ệ :
Dùng đ mô t các ánh x liên k t, ghi nh n các thành ph n c u trúc c a cể ả ạ ế ậ ầ ấ ủ ơ
s d li u, các chở ữ ệ ương trình ng d ng, m t mã, quy n h n s d ng,…ứ ụ ậ ề ạ ử ụ
Y u t 3: C ch gi i quy t v n đ tranh ch p d li u:ế ố ơ ế ả ế ấ ề ấ ữ ệ
M i h qu n tr c s d li u cũng có th cài đ t m t c ch riêng đ gi iỗ ệ ả ị ơ ở ữ ệ ể ặ ộ ơ ế ể ả quy t các v n đ này. M t s bi n pháp sau đây thế ấ ề ộ ố ệ ường đượ ử ục s d ng: thứ
nh t: c p quy n u tiên cho t ng ngấ ấ ề ư ừ ườ ử ụi s d ng; th hai: Đánh d u yêu c uứ ấ ầ truy xu t d li u, phân chia th i gian, ngấ ữ ệ ờ ười nào có yêu c u trầ ước thì có quy n truy xu t d li u trề ấ ữ ệ ước,…
Y u t 4: H qu n tr c s d li u cũng ph i có c ch sao l uế ố ệ ả ị ơ ở ữ ệ ả ơ ế ư (backup) và ph c h i (restore) d li u khi có s c x y ra.ụ ồ ữ ệ ự ố ả
Đi u này có th th c hi n sau m t th i gian nh t đ nh h qu n tr c s dề ể ự ệ ộ ờ ấ ị ệ ả ị ơ ở ữ
li u s t đ ng t o ra m t b n sao c s d li u, cách này h i t n kém, nh tệ ẽ ự ộ ạ ộ ả ơ ở ữ ệ ơ ố ấ
là đ i v i c s d li u l n.ố ớ ơ ở ữ ệ ớ
Y u t 5: H qu n tr CSDL ph i cung c p m t giao di n thân thi n,ế ố ệ ả ị ả ấ ộ ệ ệ
d s d ng.ễ ử ụ
Y u t 6: Tính đ c l p gi a d li u và chế ố ộ ậ ữ ữ ệ ương trình:
Khi có s thay đ i d li u (nh s a đ i c u trúc l u tr các b ng d li u,ự ổ ữ ệ ư ử ổ ấ ư ữ ả ữ ệ thêm các ch m c (Index) ) thì các chỉ ụ ương trình ng d ng (Application) đangứ ụ
ch y trên C s d li u đó v n không c n ph i đạ ơ ở ữ ệ ẫ ầ ả ược vi t l i, hay cũngế ạ không làm nh hả ưởng đ n nh ng ngế ữ ườ ử ụi s d ng khác
* Các m c bi u di n m t ứ ể ễ ộ c s d li uơ ở ữ ệ :
M c trongứ : (m c v t lý – Physical) là m c l u tr ứ ậ ứ ư ữ c s d li u. Th hi nơ ở ữ ệ ể ệ
v n đ ấ ể c n gi i quy t, d li u gì, l u tr nh th nào, đâu, c n các chầ ả ế ữ ệ ư ữ ư ế ở ầ ỉ
m c gì, Truy xu t tu n t hay ng u nhiên. M c này dành cho ngụ ấ ầ ự ẫ ứ ười qu n trả ị
và ngườ ử ụi s d ng chuyên môn
Trang 13 M c quan ni mứ ệ : (Conception hay Logical) c n ph i l u tr bao nhiêu lo iầ ả ư ữ ạ
d li u, là d li u gì, m i quan hữ ệ ữ ệ ố ệ
M c ngoàiứ : c a ngủ ườ ử ụi s d ng và các chương trình ng d ng.ứ ụ
2. Các mô hình d li uữ ệ
Mô hình d li u là s tr u tữ ệ ự ừ ượng hoá môi trường th c. M i lo i mô hình dự ỗ ạ ữ
li u đ c tr ng cho m t cách ti p c n d li u khác nhau c a nh ng nhà phânệ ặ ư ộ ế ậ ữ ệ ủ ữ tích thi t k ế ế c s d li uơ ở ữ ệ M i lo i mô hình d li u đ u có nh ng u đi mỗ ạ ữ ệ ề ữ ư ể
và nh ng m t h n ch c a nó, nh ng v n có nh ng mô hình d li u n i tr iữ ặ ạ ế ủ ư ẫ ữ ữ ệ ổ ộ
và được nhi u ngề ười quan tâm nghiên c u.ứ
2.1. Mô hình d li u m ngữ ệ ạ
Mô hình d li u m ng (Network Data Model) còn đữ ệ ạ ược g i t t là mô hìnhọ ắ
m ng ho c mô hình lạ ặ ưới (Network Model) là mô hình được bi u di n b i m tể ễ ở ộ
đ th có hồ ị ướng. Trong mô hình này người ta đ a vào các khái ni m: m u tinư ệ ẫ hay b n ghi (Record), lo i m u tin (Record Type) và lo i liên h (Set Type). ả ạ ẫ ạ ệ
* M u tinẫ : mô t 1 đ i tả ố ượng trong th gi i th c.ế ớ ự
Ví dụ: (‘NV001’,’Nguyen Lam’,’Nam’,’10/10/1970’,’Dong Nai’)
* Lo i m u tinạ ẫ : Là 1 t p các m u tin có cùng tính ch t. ậ ẫ ấ
Ví dụ: T p h p các m u tin v nhân viên trong công ty t o thành NHANVIENậ ợ ẫ ề ạ
Ký hi u: ệ
* Lo i liên hạ ệ: Mô t s liên k t gi a 1 lo i m u tin ch và 1 lo i m u tinả ự ế ữ ạ ẫ ủ ạ ẫ thành viên
Ví d : Nhân viên ụ (tham gia) công vi cệ
Ký hi u: Hình elip bên trong đệ ược ghi tên
* B n s :ả ố ch ra s lỉ ố ượng các m u tin tham gia trong m i liên h ẫ ố ệ
(1:1) (onetoone): m i m u tin c a lo i m u tin ch k t h p v i đúng 1ỗ ẫ ủ ạ ẫ ủ ế ợ ớ
m u tin c a lo i m u tin thành viên.ẫ ủ ạ ẫ
(1:n) (onetomany): m i m u tin c a lo i m u tin ch k t h p v i 1 hayỗ ẫ ủ ạ ẫ ủ ế ợ ớ nhi u m u tin thành viên.ề ẫ
(n:1) (manytoone): nhi u m u tin c a lo i m u tin ch k t h p v i đúng 1ề ẫ ủ ạ ẫ ủ ế ợ ớ
m u tin c a lo i m u tin thành viên.ẫ ủ ạ ẫ
Recursive: m t lo i m u tin ch cũng có th đ ng th i là lo i m u tin thànhộ ạ ẫ ủ ể ồ ờ ạ ẫ viên v i chính nó. Lo i liên h này là Đ quy ớ ạ ệ ệ
13
Trang 14 Ví d :ụ
Hình 2: Mô hình d li u m ng ữ ệ ạ
Đ c đi m mô hình d li u m ng:ặ ể ữ ệ ạ
Tương đ i đ n gi n ố ơ ả
* Lo i m u tin:ạ ẫ
(Recorde Type) là m u đ c tr ng cho 1 lo i đ i tẫ ặ ư ạ ố ượng riêng bi t. Ch ng h nệ ẳ ạ
nh trong vi c qu n lý nhân s t i m t đ n v , đ i tư ệ ả ự ạ ộ ơ ị ố ượng c n ph n nh c aầ ả ả ủ
th gi i th c có th là Phòng, Nhân viên, Công vi c, lý l ch do đó có cácế ớ ự ể ệ ị
lo i m u tin đ c tr ng cho t ng đ i tạ ẫ ặ ư ừ ố ượng này. Trong đ th bi u di n môồ ị ể ễ hình m ng m i lo i m u tin đạ ỗ ạ ẫ ược bi u di n b i m t hình ch nh t, m t thể ễ ở ộ ữ ậ ộ ể
hi n (Instance) c a m t lo i m u tin đệ ủ ộ ạ ẫ ược g i là b n ghi. Trong ví d trênọ ả ụ
lo i m u tin Phòng có các m u tin là các phòng, ban trong đ n v ; lo i m u tinạ ẫ ẫ ơ ị ạ ẫ nhân viên có các m u tin là các nhân viên đang làm vi c t i các phòng ban c aẫ ệ ạ ủ
c quan ơ
* Lo i m i liên h : ạ ố ệ
Ki u liên h là phân c p, theo cách: ể ệ ấ
M u tin thành viên ch đóng vai trò thành viên c a m t m i liên h duy nh t,ẫ ỉ ủ ộ ố ệ ấ
t c là nó thu c m t ch duy nh t. Nh v y, m i liên h t m u tin ch t iứ ộ ộ ủ ấ ư ậ ố ệ ừ ẫ ủ ớ
Trang 15các m u tin thành viên là 1¸n, và t m u tin (hay b n ghi record) thành viênẫ ừ ẫ ả
v i m u tin ch là 1¸1. ớ ẫ ủ
Gi a 2 lo i m u tin ch t n t i 1 m i liên h duy nh t.ữ ạ ẫ ỉ ồ ạ ố ệ ấ
* Ví dụ
Dưới đây là m t ví d v mô hình phân c p qu n lý nhân s c a m t công tyộ ụ ề ấ ả ự ủ ộ
2.3. Mô hình quan hệ
Mô hình này đượcc E.F Codd đ a vào đ u nh ng năm 70, mô hình này d aư ầ ữ ự trên lý thuy t t p h p và đ i s quan h Vì tính ch t ch t ch c a toán h cế ậ ợ ạ ố ệ ấ ặ ẽ ủ ọ
v lí thuy t t p h p nên mô hình này đã mô t d li u m t cách rõ ràng, m mề ế ậ ợ ả ữ ệ ộ ề
d o và là mô hình thông d ng nh t hi n nay. H u h t các h QT ẻ ụ ấ ệ ầ ế ệ c s dơ ở ữ
li uệ đ u t ch c d li u theo mô hình d li u quan h Trong đó d li uề ổ ứ ữ ệ ữ ệ ệ ữ ệ
đượ ổc t ch c dứ ướ ại d ng b ng các phép toán thao tác trên d li u d a trên lýả ữ ệ ự thuy t t p h p c a toán h c. T p d li u đế ậ ợ ủ ọ ậ ữ ệ ượ ổc t ch c theo c u trúc c a môứ ấ ủ hình d li u quan h g i là ữ ệ ệ ọ c s d li uơ ở ữ ệ quan h ệ
D li u b ng đữ ệ ả ược th hi n nh sau:ể ệ ư
Hình 4: Th hi n d li u trong b ng ể ệ ữ ệ ả
Ví d : Mô hình c s d li u quan hụ ơ ở ữ ệ ệ
SINHVIEN (MASV, HOTENSV, NU, NGAYSINH, NOISINH, TINH, MALOP)
LOP (MALOP,TENLOP, MAKHOA)
15
Trang 162.4. Mô hình th c th m i k t hự ể ố ế ợp (Entity Relationship Diagram ERD)
M i liên h gi a các t p th c th là m t danh sách có th t c a các t p th cố ệ ữ ậ ự ể ộ ứ ự ủ ậ ự
th M t t p th c th đ c bi t có th xu t hi n nhi u l n trong danh sách.ể ộ ậ ự ể ặ ệ ể ấ ệ ề ầ Danh sách các t p th c th này là khái ni m m c lậ ự ể ệ ở ứ ược đ c a m t m i liênồ ủ ộ ố
h ệ
Mô hình th c th quan h đự ể ệ ược CHEN gi i thi u năm 1976 và đớ ệ ược ANSI công nh n mô hình chu n năm 1988. Mô hình này đậ ẩ ượ ử ục s d ng nhi u trongề thi t k d li u m c khái ni m, dùng đ mô hình hoá d li uế ế ữ ệ ứ ệ ể ữ ệ
Các khái ni m trong ERD g m: Lo i th c th , th c th , thu c tính, m i k tệ ồ ạ ự ể ự ể ộ ố ế
h p, vai trò, b n sợ ả ố
a. Lo i th c thạ ự ể (Entity Type) là nh ng lo i đ i tữ ạ ố ượng, s v t c a th gi iự ậ ủ ế ớ
th c t n t i c th c n đự ồ ạ ụ ể ầ ược qu n lý. B t bu c ph i đả ắ ộ ả ược đ t tên b ng Danhặ ằ
t ho c c m danh t Đừ ặ ụ ừ ược bi u di n b ng hình ch nh t ho c hình chể ễ ằ ữ ậ ặ ữ
nh t đậ ược bo góc
b. Th c thự ể (Entity) là m t th hi n c a lo i th c th ộ ể ệ ủ ạ ự ể
Ví d : Trong lo i th c th HOCSINH có th c th :ụ ạ ự ể ự ể
(HS001, ‘Nguy n Văn A’, ’20/11/1993’, ‘Nam’).ễ
(HS002, ‘Tr n Th C’, ’02/10/1992’, ‘N ’).ầ ị ữ
* L u ý: Khái ni m Lo i th c th đư ệ ạ ự ể ược s d ng nhi u h n h n khái ni mử ụ ề ơ ẳ ệ
Th c th trong mô hình này. Vì v y, m t s tài li u s d ng tên Th c thự ể ậ ộ ố ệ ử ụ ự ể thay cho Lo i th c th đ rút g n.ạ ự ể ể ọ
c. Lo i k t h p (M i quan h ):ạ ế ợ ố ệ là m i k t h p, s liên k t gi a hai hayố ế ợ ự ế ữ nhi u lo i th c th Đề ạ ự ể ược bi u di n b ng hình thoi. Tên m i quan h làể ễ ằ ố ệ
Đ ng t ho c C m đ ng tộ ừ ặ ụ ộ ừ
Ví d : ụ
Hình 5: Minh ho m i k t h p gi a th c th Khachhang và nuocgiaikhat ạ ố ế ợ ữ ự ể
Khách hàng và nước gi i khát là Lo i th c th (Th c th )ả ạ ự ể ự ể
Đ t: Là m i quan h gi a 2 th c th nàyặ ố ệ ữ ự ể
Có các lo i m i quan h nh sau: MQH đa ạ ố ệ ư phân, MDQ ph n thânả
Ph n thânả Đa phân
Hình 6: Minh ho m i k t h p đa phân và ph n thân ạ ố ế ợ ả
Trang 17d. B n s ả ố c a nhánh là s lủ ố ượng t i thi u và s lố ể ố ượng t i đa mà th c thố ự ể tham gia vào m i k t h p. Ký hi u (min,max) – (1,n).ố ế ợ ệ
Hình 8: Minh ho thu c tính c a th c th ạ ộ ủ ự ể
Thu c tính nh n di n:ộ ậ ệ là thu c tính đ phân bi t th c th này v i th c thộ ể ệ ự ể ớ ự ể kia trong t p th c th ậ ự ể
Thu c tính mô t :ộ ả là thu c tính cung c p thông tin chi ti t h n v th c thộ ấ ế ơ ề ự ể trong t p th c th ậ ự ể
Đ n tr (Simple)ơ ị : m i th c th ch có m t giá tr ng v i thu c tính. Ví d :ỗ ự ể ỉ ộ ị ứ ớ ộ ụ MAHV, HOTEN
Đa tr (Multi Value)ị : thu c tính có th có nhi u giá tr đ i v i m t th c th ộ ể ề ị ố ớ ộ ự ể
V i nh ng thu c tính này c n s d ng b n sớ ữ ộ ầ ử ụ ả ố
Ví d : ụ
Hình 9: Minh ho thu c tính đa tr ạ ộ ị
H c v là thu c tính đa tr , m t ngọ ị ộ ị ộ ười có th có nhi u h c v nh ti n sĩ, giáoể ề ọ ị ư ế
Trang 18Vi cệ thành lập mô hình th cự thể k tế h pợ cho m tộ ứng d ngụ tin học có thể
ti n ế hành theo các bướ sau:c
Bài toán quản lý đi mể của sinh viên đượ phát biểu sơ bộ như sau:c
Mỗi sinh viên cần quản lý các thông tin nh :ư họ và tên (HOTENSV),ngày tháng năm sinh (NGAYSINH), gi i tính (NU), nớ ơi sinh(N ISIƠ NH), h ộ khẩu thường trú (TINH). Mỗi sinh viên đượ cấp m tc ộ mã số sinh viên duy
nh t ấ (MASV) để phân bi tệ v iớ mọi sinh viên khác c aủ trường, mỗi sinh viên chỉ thuộc về m tộ l pớ nào đó
Mỗi lớp h cọ có m tộ mã số l pớ (MALOP) duy nh tấ để phân biệt v iớ tất cả các lớp học khác trong trường: có m tộ tên gọi (TENLOP) của l p,ớ mỗi l pớ
ch ỉthu cộ về một khoa
Mỗi khoa có m tộ tên g iọ (TENKHOA) và m tộ mã số duy nh tấ (MAKHOA)
để phân bi tệ v iớ các khoa khác
Mỗi môn h cọ có một tên gọi (TENMH) cụ th ,ể đư cợ học trong m tộ số
đ n ơ vị h cọ trình (DONVIHT) ) và ng ứ với môn học là m tộ mã số duy
nh t (ấ MAMH) để phân bi tệ v iớ các môn học khác
Mỗi gi ngả viên cần quản lý các thông tin: họ và tên (HOTENGV), c pấ học
vị (HOCVI), thu cộ m tộ chuyên ngành (CHUYENNGANH) và được gán cho
m t ộ mã số duy nh tấ g iọ là mã gi ngả viên(MAGV) để phân bi tệ với các giảng viên khác
Mỗi giảng viên có thể d yạ nhi uề môn ở nhi uề khoa, nh ngư chỉ thu cộ về
Trang 19Bài h ướ ng d n gi i ẫ ả
2.5. Cách chuy n đ i t mô hình th c th k t h p sang mô hình quan hể ổ ừ ự ể ế ợ ệ
M i th c th chuy n thành m t quan h cùng tên và danh sách thu cỗ ự ể ể ộ ệ ộ tính. Thu c tính khoá tr thành khoá chính c a quan h ộ ở ủ ệ
Hình 11: Minh ho chuy n đ i t p th c th ạ ể ổ ậ ự ể
M i k t h p 1 – 1ố ế ợ
Thu c tính khoá bên này làm khoá ngo i bên kia ho c ngộ ạ ặ ượ ạc l i. Bên dưới
là ví d chuy n m i k t h p 1 – 1ụ ể ố ế ợ
19
Trang 20Hình 12: Minh ho m i quan h 1 – 1 ạ ố ệ
M i k t h p 1 – nố ế ợ
Hình 13: Minh ho m i quan h 1 – n ạ ố ệ
M i k t h p n – nố ế ợ
Chuy n thànhể quan h m i có khoá chính g m 2 thu c tính khoá c a 2 quanệ ớ ồ ộ ủ
h ; thu c tính m i k t h p (n u có) tr thành thu c tính c a quan h m i.ệ ộ ố ế ợ ế ở ộ ủ ệ ớ Ví dụ
Hình 14: Minh ho m i quan h n – n ạ ố ệ
M i k t h p 3 ngôi (Ba th c th tham gia vào m i k t h p)ố ế ợ ự ể ố ế ợ
Trang 21Chuy n thành quan h m i, có khoá chính g m 3 thu c tính khoá c a 3 th cể ệ ớ ồ ộ ủ ự
th tham gia m i k t h p. Thu c tính m i k t h p (n u có) tr thành thu cể ố ế ợ ộ ố ế ợ ế ở ộ tính c a quan h m i.ủ ệ ớ Ví dụ
Hình 15: Minh ho m i quan h 3 ngôi ạ ố ệ
Thu c tính đa tr (Thu c tính có nhi u giá tr cho m t th hi n)ộ ị ộ ề ị ộ ể ệ
Chuy n thành quan h m i có khoá chính g m thu c tính đa tr và thu c tính ể ệ ớ ồ ộ ị ộkhoá c a th c th ủ ự ể Sau khi chuy n thành quan h m i, thu c tính đa tr s ể ệ ớ ộ ị ẽ
bi n m t kh i th c th cũ ế ấ ỏ ự ể Ví dụ
Hình 16: Minh ho thu c tính đa tr ạ ộ ị
2.6. Mô hình hướng đ i tố ượng
Mô hình d li u hữ ệ ướng đ i tố ượng (Object Oriented Data Model) ra đ i t cu iờ ừ ố
nh ng năm 80 và đ u nh ng năm 90. Đây là lo i mô hình tiên ti n nh t hi nữ ầ ữ ạ ế ấ ệ nay d a trên cách ti p c n hự ế ậ ướng đ i tố ượng đã quen thu c trong các phộ ươ ngpháp l p trình hậ ướng đ i tố ượng, nó s d ng các khái ni m nh l p (class), sử ụ ệ ư ớ ự
k th a (inheritance), k th a b i (t c là k t th a t nhi u l p c s multiế ừ ế ừ ộ ứ ế ừ ừ ề ớ ơ ởinheritance) Đ c tr ng c b n c a cách ti p c n này là tính đóng góiặ ư ơ ả ủ ế ậ (encapsulation), tính đa hình (polymorphism) và tính tái s d ng (Reusability).ử ụ
21
Trang 22L p (class) là m t ki u d li u có c u trúc bao g m các thành ph n d li uớ ộ ể ữ ệ ấ ồ ầ ữ ệ
và các phương th c x lý thao tác trên c u trúc d li u đó. Nó là m t ki uứ ử ấ ữ ệ ộ ể (hay c u trúc) d li u đấ ữ ệ ược tr u từ ượng hóa, b i vì các tác đ ng (còn g i làở ộ ọ các phương th c method) là đ ph c v ho c thao tác trên ki u d li u này.ứ ể ụ ụ ặ ể ữ ệ
D li u và phữ ệ ương th c hòa quy n vào nhau thành m t th th ng nh t: dứ ệ ộ ể ố ấ ữ
li u c n có nh ng cách th c x lý th a đáng, và phệ ầ ữ ứ ử ỏ ương th c x lý đứ ử ược đ aư vào trong ki u d li u đó là đ ph c v cho các đ i tể ữ ệ ể ụ ụ ố ượng có c u trúc nhấ ư
th Ngế ười ta g i s th ng nh t đó là s đóng gói. ọ ự ố ấ ự
Phương pháp ti p c n hế ậ ướng đ i tố ượng trong mô hình d li u m c dù cònữ ệ ặ
m i m nh ng hi n nay đang đớ ẻ ư ệ ược nhi u ngề ười quan tâm nghiên c u phátứ tri n và áp d ng. Các h qu n tr ể ụ ệ ả ị c s d li uơ ở ữ ệ hướng đ i tố ượng hi n nayệ
v n ch a nhi u, m t s còn ch a thu n nh t (nghĩa là vi c l p trình là hẫ ư ề ộ ố ư ầ ấ ệ ậ ướ ng
đ i tố ượng nh ng ư c s d li uơ ở ữ ệ v n ch y u d a trên mô hình quan h ).ẫ ủ ế ự ệ
CÂU H I BÀI T P:Ỏ Ậ
Câu h i:ỏ
1.1. Đ nh nghĩa các thu t ng : c s d li u, h qu n tr c s d li u, h cị ậ ữ ơ ở ữ ệ ệ ả ị ơ ở ữ ệ ệ ơ
s d li u, t đi n c s d li u, mô hình c s d li u.ở ữ ệ ừ ể ơ ở ữ ệ ơ ở ữ ệ
1.2. Nêu các tính ch t c a m t c s d li uấ ủ ộ ơ ở ữ ệ
1.3. Nêu các ch c năng c a m t h qu n tr c s d li uứ ủ ộ ệ ả ị ơ ở ữ ệ
1.4. Nêu các mô hình d li u.ữ ệ
1.5. Li t kê nh ng ngệ ữ ười có liên quan đ n h c s d li uế ệ ơ ở ữ ệ
1.6. Xây d ng mô hình ER cho c s d li u:ự ơ ở ữ ệ
1.7. Nêu quy t c chuy n t mô hình ER sang mô hình quan h ắ ể ừ ệ
Bài t p:ậ
Bài s 1:ố QU N LÝ H C VIÊN M T TRUNG TÂM TIN H CẢ Ọ Ở Ộ Ọ
Trung tâm tin h c KTCT thọ ường xuyên m các l p tin h c ng n h n và dàiở ớ ọ ắ ạ
h n. M i l p ng n h n có m t ho c nhi u môn h c (ch ng h n nh l p Tinạ ỗ ớ ắ ạ ộ ặ ề ọ ẳ ạ ư ớ
h c văn phòng thì có các môn : Word, Power Point, Excel, còn l p l p trìnhọ ớ ậ Pascal thì ch h c m t môn Pascal). Các l p dài h n (ch ng h n nh l p kỉ ọ ộ ớ ạ ẳ ạ ư ớ ỹ thu t viên đ ho đa truy n thông, l p k thu t viên l p trình, l p k thu tậ ồ ạ ề ớ ỹ ậ ậ ớ ỹ ậ viên ph n c ng và m ng,… ) thì có th h c nhi u h c ph n và m i h c ph nầ ứ ạ ể ọ ề ọ ầ ỗ ọ ầ
S …Ư
Trung tâm KTCT có nhi u l p, m i l p có m t mã l p duy nh t (MALOP),ề ớ ỗ ớ ộ ớ ấ
m i l p xác đ nh các thông tin: tên l p (TENLOP), th i khoá bi u, ngày khaiỗ ớ ị ớ ờ ể
Trang 23gi ng (NGAYKG), h c phí (HOCPHI).Chú ý r ng t i m t th i đi m, trungả ọ ằ ạ ộ ờ ể tâm có th m nhi u l p cho cùng m t chể ở ề ớ ộ ương trình h c. V i các l p dài h nọ ớ ớ ạ thì ngày khai gi ng đả ược xem là ngày b t đ u c a m i h c ph n và H C PHÍắ ầ ủ ỗ ọ ầ Ọ
là h c phí c a m i h c ph n, v i l p ng n h n thì H C PHÍ là h c phí c aọ ủ ỗ ọ ầ ớ ớ ắ ạ Ọ ọ ủ toàn khoá h c đó.ọ
Trung tâm có nhi u môn h c, m i môn h c có mã môn h c (MAMH) duyề ọ ỗ ọ ọ
nh t, m i môn h c xác đ nh tên môn h c(TENMH), s ti t lý thuy tấ ỗ ọ ị ọ ố ế ế (SOTIETLT), s ti t th c hành (SOTIETTH).ố ế ự
M i h c viên ng v i m i môn h c có m t đi m thi(DIEMTHI) duy nh t.ỗ ọ ứ ớ ỗ ọ ộ ể ấ
M i l n đóng h c phí, h c viên s đỗ ầ ọ ọ ẽ ược trung tâm giao cho m t phi u biên laiộ ế thu ti n, m i biên lai có m t s biên lai duy nh t đ qu n lý.ề ỗ ộ ố ấ ể ả
Bài s 2:ố QU N LÝ VI C MẢ Ệ ƯỢN/TR SÁCH M T TH VI NẢ Ở Ộ Ư Ệ
M t th vi n t ch c vi c cho mộ ư ệ ổ ứ ệ ượn sách nh sau:ư
M i quy n sách đỗ ể ược đánh m t mã sách (MASH) dùng đ phân bi t v i cácộ ể ệ ớ quy n sách khác (gi s n u m t tác ph m có nhi u b n gi ng nhau ho c cóể ả ử ế ộ ẩ ề ả ố ặ nhi u t p thì cũng xem là có mã sách khác nhau), m i mã sách xác đ nh cácề ậ ỗ ị thông tin khác nh : tên sách (TENSACH), tên tác gi (TACGIA), nhà xu tư ả ấ
b n (NHAXB), năm xu t b n (NAMXB).ả ấ ả
M i đ c gi đỗ ộ ả ược th vi n c p cho m t th th vi n, trong đó có ghi rõ mãư ệ ấ ộ ẻ ư ệ
đ c gi (MAĐG), cùng v i các thông tin khác nh : h tên (HOTEN), ngàyộ ả ớ ư ọ sinh (NGAYSINH), đ a ch (ĐIACHI), ngh nghi p(NGHENGHIEP).ị ỉ ề ệ
C m i lứ ỗ ượt mượn sách, đ c gi ph i đăng ký các quy n sách c n mộ ả ả ể ầ ượn vào
m t phi u mộ ế ượn, m i phi u mỗ ế ượn có m t s phi u mộ ố ế ượn (SOPM) khác nhau, m i phi u mỗ ế ượn xác đ nh các thông tin nh : ngày mị ư ượn sách (NGAYMUON), mã đ c gi Các các quy n sách trong cùng m t phi u mộ ả ể ộ ế ượ nkhông nh t thi t ph i tr trong m t l n. M i quy n sách có th thu c nhi uấ ế ả ả ộ ầ ỗ ể ể ộ ề phi u mế ượn khác nhau (t t nhiên là t i các th i đi m khác nhau).ấ ạ ờ ể
Bài s 3:ố QU N LÝ T CH C THI T T NGHI PẢ Ổ Ứ Ố Ệ
Vi c t ch c k thi t t nghi p c a m t khoa nh sau:ệ ổ ứ ỳ ố ệ ủ ộ ư
M i thí sinh có m t Mã s sinh viên duy nh t (MASV), m i MASV xác đ nhỗ ộ ố ấ ỗ ị
được các thông tin: h và tên (HOTEN), ngày sinh (NGAYSINH), n i sinh,ọ ơ
n ,phái, dân t c. M i l p có m t mã l p (MALOP) duy nh t , m i mã l p xácữ ộ ỗ ớ ộ ớ ấ ỗ ớ
đ nh các thông tin: tên l p (TENLOP), m i l p ch thu c s qu n lý c a m tị ớ ỗ ớ ỉ ộ ự ả ủ ộ khoa nào đó. M i khoa có m t mã khoa duy nh t (MAKHOA), m i mã khoaỗ ộ ấ ỗ xác đ nh tên khoa (TENKHOA). M i thí sinh đ u ph i d thi t t nghi p baị ỗ ề ả ự ố ệ môn. M i môn thi có m t mã môn thi (MAMT) duy nh t, m i mã môn thi xácỗ ộ ấ ỗ
đ nh các thông tin: tên môn thi (TENMT), th i gian làm bài – đị ờ ược tính b ngằ phút (PHUT), ngày thi (NGAYTHI), bu i thi (BUOITHI), môn thi này là mônổ
lý thuy t hay th c hành (LYTHUYET). Chú ý r ng, n u m t môn h c đế ự ằ ế ộ ọ ượ c
23
Trang 24cho thi nhi u h thì đở ề ệ ược đ t MAMT khác nhau (ch ng h n c trung c p vàặ ẳ ạ ả ấ cao đ ng ngành công ngh thông tin đ u thi môn C S D Li u), đ di n tẳ ệ ề ơ ở ữ ệ ể ễ ả
đi u này, m i mã môn h c c n ph i đề ỗ ọ ầ ả ược ghi chú (GHICHU) đ cho bi tể ế môn thi đó dành cho kh i nào trung c p, hay cao đ ng). M i thí sinh ng v iố ấ ẳ ỗ ứ ớ
m t môn thi có m t đi m thi (DIEMTHI) duy nh t.ộ ộ ể ấ
Trong m t phòng thi có th có thí sinh c a nhi u l p. Trong m t k thi, m iộ ể ủ ề ớ ộ ỳ ỗ thí sinh có th thi t i nh ng phòng thi (PHONGTHI) khác nhau, ch ng h nể ạ ữ ẳ ạ
m t thí sinh thi t t nghi p ba môn là C s d li u, L p trình C và Visualộ ố ệ ơ ở ữ ệ ậ Basic thì môn C S D Li u và L p Trình C thi t i phòng A3.4, còn mônơ ở ữ ệ ậ ạ
th c hành Visual Basic thi t i phòng máy H6.1.ự ạ
Bài s 4: ố Cho mô hình th c th k t h p sau. ự ể ế ợ Yêu c u:ầ Chuy n ERD sang mô hình ể
d li u quan h ữ ệ ệ
Trang 25BÀI 1: CÁC KHÁI NI M C B N TRONG MÔ HÌNH Ệ Ơ Ả
C S D LI U QUAN HƠ Ở Ữ Ệ Ệ
Mã bài: 11.01
Gi i thi u:ớ ệ
Mô hình d li u quan h (Ralational Data Model) g i t t là mô hình quan h ,ữ ệ ệ ọ ắ ệ
do EF.Codd đ xu t năm 1970. N n t ng lý thuy t c a nó là khái ni m lýề ấ ề ả ế ủ ệ thuy t t p h p trên các quan h , t c là t p c a các b giá tr ế ậ ợ ệ ứ ậ ủ ộ ị
Mô hình d li u quan h là mô hình đữ ệ ệ ược nghiên c u nhi u nh t, và th c ti nứ ề ấ ự ễ
đã cho th y r ng nó có c s lý thuy t v ng ch c nh t. Mô hình d li u nàyấ ằ ơ ở ế ữ ắ ấ ữ ệ cùng v i mô hình th c th k t h p đang đớ ự ể ế ợ ược s d ng r ng rãi trong vi cử ụ ộ ệ phân tích và thi t k c s d li u hi n nay.ế ế ơ ở ữ ệ ệ
Bài này s gi i thi u m t cách t ng quan v các khái ni m c b n trong môẽ ớ ệ ộ ổ ề ệ ơ ả hình c s d li u quan h nh : Thu c tính, khóa, quan h , b giá tr , phơ ở ữ ệ ệ ư ộ ệ ộ ị ụ thu c hàm.ộ
Thu c tính là các đ c đi m riêng c a m t đ i tộ ặ ể ủ ộ ố ượng (đ i tố ượng được hi uể
nh là m t lo i th c th mô hình th c th k t h p), m i thu c tính có m tư ộ ạ ự ể ở ự ể ế ợ ỗ ộ ộ tên g i và ph i thu c v m t ki u d li u nh t đ nh.ọ ả ộ ề ộ ể ữ ệ ấ ị
Ki u d li u (data type)ể ữ ệ
Các thu c tính độ ược phân bi t qua tên g i và ph i thu c m t ki u d li uệ ọ ả ộ ộ ể ữ ệ
nh t đ nh (s , chu i, ngày tháng, logic, hình nh,…). Ki u d li u đây cóấ ị ố ỗ ả ể ữ ệ ở
th là ki u vô hể ể ướng ho c là ki u có c u trúc. N u thu c tính có ki u d li uặ ể ấ ế ộ ể ữ ệ
là vô hướng thì nó được g i là thu c tính đ n hay thu c tính nguyên t , n uọ ộ ơ ộ ố ế thu c tính có ki u d li u có c u trúc thì ta nói r ng nó không ph i là thu cộ ể ữ ệ ấ ằ ả ộ tính nguyên tố
Ch ng h n v i sinh viên Nguy n Văn Thành thì các thu c tính h và tên, mãẳ ạ ớ ễ ộ ọ
s sinh viên thu c ki u chu i, thu c tính ngày sinh thu c ki u ngày tháng, hố ộ ể ỗ ộ ộ ể ộ
kh u thẩ ường trú ki u chu i, thu c tính hình nh ki u hình nh,…ể ỗ ộ ả ể ả
Mi n giá tr (domain of values)ề ị
Thông thường m i thu c tính ch ch n l y giá tr trong m t t p con c a ki uỗ ộ ỉ ọ ấ ị ộ ậ ủ ể
d li u và t p h p con đó g i là mi n giá tr c a thu c tính đó. Ch ng h nữ ệ ậ ợ ọ ề ị ủ ộ ẳ ạ
25
Trang 26thu c tính N có mi n giá tr là {nam, n }, thu c tính màu da có mi n giá trộ Ữ ề ị ữ ộ ề ị
là {da tr ng, da vàng, da đen, da đ }, thu c tính đi m thi là các s thu c t pắ ỏ ộ ể ố ộ ậ {0; 1; 2;…,10]
L u ý r ng n u không l u ý đ n ng nghĩa thì tên c a các thu c tính thư ằ ế ư ế ữ ủ ộ ườ ng
được ký hi u b ng các ch cái in hoa đ u tiên trong b ng ch cái la tinh:ệ ằ ữ ầ ả ữ A,B,C,D,… Nh ng ch cái in hoa X,Y,Z,W,… thữ ữ ường dùng thay cho m tộ nhóm nhi u thu c tính. Đôi khi còn dùng các ký hi u ch cái v i các ch sề ộ ệ ữ ớ ỉ ố A1,A2,…,An đ ch các thu c tính trong trể ỉ ộ ường h p t ng quát hay mu n đợ ổ ố ề
c p đ n s lậ ế ố ượng các thu c tính. Tên thu c tính ph i độ ộ ả ược đ t m t cách g iặ ộ ợ
nh , không nên đ t tên thu c tính quá dài (vì nh th s làm cho vi c vi t cácớ ặ ộ ư ế ẽ ệ ế câu l nh truy v n tr nên v t v h n), nh ng cũng không nên đ t tên thu cệ ấ ở ấ ả ơ ư ặ ộ tính quá ng n (vì nó s không cho th y ng nghĩa c a thu c tính), đ c bi tắ ẽ ấ ữ ủ ộ ặ ệ không đ t trùng tên hai thu c tính mang ng nghĩa khác nhau thu c hai đ iặ ộ ữ ộ ố
tượng khác nhau
Trong nhi u h qu n tr c s d li u, ngề ệ ả ị ơ ở ữ ệ ười ta thường đ a thêm vào mi nư ề giá tr c a các thu c tính m t giá tr đ c bi t g i là giá tr r ng (NULL). Tuị ủ ộ ộ ị ặ ệ ọ ị ỗ ỳ theo ng c nh mà giá tr này có th đ c tr ng cho m t giá tr không th xácữ ả ị ể ặ ư ộ ị ể
đ nh đị ược ho c m t giá tr ch a đặ ộ ị ư ược xác đ nh vào th i đi m nh p tinị ở ờ ể ậ
nh ng có th đư ể ược xác đ nh vào m t th i đi m khác.ị ộ ờ ể
Ví d :ụ
Hình 1.1. Thu c tính c a m t quan h ộ ủ ộ ệ
+ T t c các d li u trong cùng 1 m t c t đ u có dùng ki u d li u ấ ả ữ ệ ộ ộ ề ể ữ ệ
2. Lược đ quan hồ ệ
T p t t c các thu c tính c n qu n lý c a m t đ i tậ ấ ả ộ ầ ả ủ ộ ố ượng cùng v i các m iớ ố liên h gi a chúng đệ ữ ược g i là lọ ược đ quan h Lồ ệ ược đ quan h Q v i t pồ ệ ớ ậ thu c tính {A1,A2, ,An} độ ược vi t là Q(A1,A2, ,An).ế
Ví d : Sinhvien (MASV, HOTENSV, NGAYSINH, NOISINH,TINH,ụ MALOP)
Khái ni m lệ ược đ quan h ng v i khái ni m lo i th c th mô hình th cồ ệ ứ ớ ệ ạ ự ể ở ự
th k t h p.ể ế ợ
Nhi u lề ược đ quan h cùng n m trong m t h th ng thông tin đồ ệ ằ ộ ệ ố ược g i làọ
m t lộ ược đ c s d li u.ồ ơ ở ữ ệ
Trang 27S th hi n c a lự ể ệ ủ ược đ quan h m t th i đi m nào đó đồ ệ ở ộ ờ ể ược g i là quanọ
h , rõ ràng là trên m t lệ ộ ược đ quan h có th xác đ nh nhi u quan h ồ ệ ể ị ề ệ
Thường ta dùng các ký hi u nh R,S,Q đ ch các lệ ư ể ỉ ược đ quan h , còn quanồ ệ
h thệ ường được dùng b i các ký hi u là r, s,q,…ở ệ
V tr c quan thì quan h (hay b ng quan h ) nh là m t b ng hai chi u g mề ự ệ ả ệ ư ộ ả ề ồ các dòng và các c t.ộ
M t quan h có n thu c tính độ ệ ộ ược g i là quan h n ngôi.ọ ệ
Đ ch quan h r xác đ nh trên lể ỉ ệ ị ược đ quan h Q ta có th vi t r(Q).ồ ệ ể ế
4. B giá trộ ị
M i b là nh ng thông tin v m t đ i tỗ ộ ữ ề ộ ố ượng thu c m t quan h , b cũng cònộ ộ ệ ộ
được g i là m u tin.ọ ẫ
Quan h là m t b ng (table) v i các c t là các thu c tính và m i dòng đệ ộ ả ớ ộ ộ ỗ ượ c
g i là b ọ ộ
Ví d : HOCVIEN(Mahv, Hoten, Ngsinh, Noisinh) có q=(1003,Nguyen Vanụ Lam, 1/1/1987,Dong Nai) nghĩa là h c viên có mã s là 1003, h tên là Nguyenọ ố ọ Van Lam, sinh ngày 1/1/1987 Dong Nai.ở
5. Tân từ
Di n t ý nghĩa c a quan h , m i liên h gi a các thu c tính v i nhau. D aễ ả ủ ệ ố ệ ữ ộ ớ ự vào tân t này, ngừ ười ta xác đ nh đị ượ ậc t p khoá, siêu khoá c a lủ ược đ quanồ hệ
Ký hi u Qệ ║ ║
Ví d : Tân t c a lụ ừ ủ ược đ quan h Sinhvien (MASV, HOTENSV,ồ ệ NGAYSINH, NOISINH,TINH, MALOP) là: ”M i sinh viên có m i MASVỗ ỗ duy nh t. M i MASV xác đ nh các thu c tính còn l i c a sinh viên đó nhấ ỗ ị ộ ạ ủ ư HOTENSV,NGAYSINH, NOISINH,TINH,MALOP
6. Khóa, siêu khóa, khóa ch đ nh, khóa chính, khóa ngo iỉ ị ạ
Siêu khóa: Là m t t p con các thu c tính c a Q mà giá tr c a chúng có thộ ậ ộ ủ ị ủ ể phân bi t 2 b khác nhau trong cùng m t th hi n TQ b t k ệ ộ ộ ể ệ ấ ỳ
M t quan h có th có ít nh t m t siêu khóa hay nhi u siêu khóa.ộ ệ ể ấ ộ ề
Ví d : Các siêu khóa c a lụ ủ ược đ quan h HOCVIEN là:{Mahv};ồ ệ {Mahv,Hoten}; {Mahv, Noisinh, Hoten}
27
Trang 28Hình 1.2. L ượ c đ ồ quan h HOCVIEN và siêu khoá ệ
thì khóa c a quan h HOCVIEN có th là {Mahv}; {Hoten}ủ ệ ể
Ví d 2: khóa c a quan h GIANGDAY (Malop, Mamh, Magv, HocKy, Nam)ụ ủ ệ
là K={Malop,Mamh}. Thu c tính khóa s là: Mamh, Malop. Thu c tính khôngộ ẽ ộ khóa s là Magv, HocKy, Nam.ẽ
Khóa chính (primary key)
Là m t h c nhi u trộ ọ ề ường trong lược đ mà d li u t i c t này ph i khôngồ ữ ệ ạ ộ ả
r ng và duy nh t. T giá tr c a khóa chính xác đ nh đỗ ấ ừ ị ủ ị ược duy nh t m t bấ ộ ộ giá tr trong lị ược đ ồ
Ký hi u: các thu c tính n m trong khóa chính khi li t kê trong quan h ph iệ ộ ằ ệ ệ ả
được g ch dạ ưới
VD: HOCVIEN (Mahv,Hoten,Gioitinh,Noisinh,Malop)
GIANGDAY(Mamh,Malop,Magv,Hocky,Nam)
Khóa tương đươ :ng
Các khóa còn l i (không đạ ược ch n làm khóa chính) g i là khóa tọ ọ ươ ng
Trang 29Thu c tính ộ Malop trong quan h LOP là khóa chính c a quan h LOP. Thu cệ ủ ệ ộ tính Malop trong quan h HOCVIEN là khóa ngo i, tham chi u đ n Malopệ ạ ế ế trong quan h LOPệ
7. Ph thu c hàm ụ ộ
Cho R={a1,a2,… ,an} là t p các thu c tính ,r ={h1,h2,…,hn}là 1 quan h trênậ ộ ệ
R, và A,B là t p con c a R. Khi đó ta nói :A xác đ nh hàm cho B hay B phậ ủ ị ụ thu c hàm vào A trong r.ộ
Ký hi u: A B ệ →
8. Ràng bu c toàn v nộ ẹ
D li u trong h th ng có liên quan v i nhau và th a m t s ràng bu c, làữ ệ ệ ố ớ ỏ ộ ố ộ
nh ng quy t c b t bi n đ i v i các quan h trong c s d li u. Chúng đữ ắ ấ ế ố ớ ệ ơ ở ữ ệ ượ c
g i là các ràng bu c toàn v n. Hay nói cách khác Ràng bu c toàn v n là cácọ ộ ẹ ộ ẹ quy đ nh đi u ki n t ng d ng th c t , các đi u ki n này là b t bi n. Vì thị ề ệ ừ ứ ụ ự ế ề ệ ấ ế ế
ph i luôn đ m b o c s d li u th a ràng bu c toàn v n sau m i thao tácả ả ả ơ ở ữ ệ ỏ ộ ẹ ỗ làm thay đ i tình tr ng c a c s d li u. Nh ng lổ ạ ủ ơ ở ữ ệ ữ ược đ quan h tham giaồ ệ
mô t ràng bu c toàn v n đả ộ ẹ ược g i là b i c nh c a ràng bu c toàn v n. Cácọ ố ả ủ ộ ẹ thao tác thêm, xoá, s a có nh hử ả ưởng đ n ràng bu c toàn v n đ u đế ộ ẹ ề ược mô tả trong m t b ng g i là b ng t m nh hộ ả ọ ả ầ ả ưởng; nh b ng này chúng ta d dàngờ ả ễ
đ c t các phặ ả ương th c x lý khi thao tác trên d li u.ứ ử ữ ệ
Khi đ nh nghĩa khoá cho m t lị ộ ược đ quan h , chúng ta đã đ a ra m t quy t cồ ệ ư ộ ắ
và g i là ràng bu c khoá. V i ràng bu c khoá, b i c nh c a ràng bu c là lọ ộ ớ ộ ố ả ủ ộ ượ c
đ quan h trên đó khoá đồ ệ ược đ nh nghĩa và các thao tác thêm s a có th nhị ử ể ả
hưởng đ n ràng bu c này.ế ộ
9. Các phép tính trên c s d li u quan hơ ở ữ ệ ệ
N i dung c a c s d li u có th độ ủ ơ ở ữ ệ ể ượ ậc c p nh t b ng các thao tácậ ằ
Trang 30Phép chèn thêm m t b v o quan h r{A1,…,An}.ộ ộ ả ệ
Insert(r; A1=d1, A2=d2,…,An=dn)
Trong đó Ai(i=1, , n) là tên các thu c tính và diộ dom(Ai)
9.2.Phép lo i bạ ỏ
Phép lo i b (DEL) là phép xóa, m t b ra kh i m t quan h cho trạ ỏ ộ ộ ỏ ộ ệ ướ c
Gi ng nh phép chèn, phép lo i b có d ng bi u di n hình th c toán h c:ố ư ạ ỏ ạ ể ễ ứ ọ r=rt
G i t p {C1,…, Cp}ọ ậ {A1,…, An} là t p các thu c tính mà t i đó các giá trậ ộ ạ ị
c a b c n thay đ i; CH(r; A1=d1, A2=d2,…, An=dn; C1=e1, C2=e2,…,ủ ộ ầ ổ Cp=ep)
N u K={B1,…, Bm} là khóa c a quan h , khi đó ta ch c n vi t:ế ủ ệ ỉ ầ ế
Trang 31 Xác đ nh tên quan h , thu c tính, khóa chính, khóa ngo i c a các quan hị ệ ộ ạ ủ ệBài s 2: ố D a vào m u hoá đ n bán hàng hãy thi t k mô hình d li u quan ự ẫ ơ ế ế ữ ệhệ
Trong đó: S hoá đ nố ơ xác đ nh đị ượ ngày t o l p;c ạ ậ Mã khách hàng xác
đ nh đị ượ tên khách hàng, đ a ch ;c ị ỉ Mã hàng xác đ nh đ cị ượ tên hàng hoá,
đ n v tính, đ n giáơ ị ơ và s lố ượng
Bài s 3:ố Thi t k mô hình d li u quan h d a vào m u phi u mế ế ữ ệ ệ ự ẫ ế ượn sách trong th vi n.ư ệ
31
Trang 32Trong đó: S phi uố ế xác đ nh đị ược ngày mượn; Mã sinh viên xác đ nh ị
đượ tên sinh viên, mã l p;c ớ Mã sách xác đ nh đ cị ượ tên sách, nhà xu t b n, ấ ả
ghi chú
Trang 33BÀI 2: PHÉP H I, PHÉP GIAO, PHÉP TR TRÊN Đ I S QUAN HỘ Ừ Ạ Ố Ệ
Mã bài: 11.02
Gi i thi u:ớ ệ
Đ i s quan h (ĐSQH) có n n t ng toán h c (c th là lý thuy t t p h p)ạ ố ệ ề ả ọ ụ ể ế ậ ợ
đ mô hình hóa CSDL quan h Đ i tể ệ ố ượng x lý là các quan h trong c sử ệ ơ ở
d li u quan h Bài này cung c p các ki n th c c b n v các phép toán h i,ữ ệ ệ ấ ế ứ ơ ả ề ộ giao, tr trên đ i s quan h ừ ạ ố ệ Các phép toán th c hi n trên 2 quan h xu tự ệ ệ ấ phát t lý thuy t t p h p c a toán h c: phép h i (Rừ ế ậ ợ ủ ọ ộ S), phép giao (R S), phép tr (RS), phép tích (Rừ S). Qua đó, giúp ngườ ọi h c th c hi n đự ệ ược các phép toán trên đ cho k t qu là m t quan h m i theo yêu c u.ể ế ả ộ ệ ớ ầ
M c tiêu:ụ
Nêu được các khái ni m v phép h i, phép giao, phép tr trên đ i s t pệ ề ộ ừ ạ ố ậ
h p.ợ
L y đấ ược ví d trong th c t đ minh h a.ụ ự ế ể ọ
Th c hi n đự ệ ược các phép toán trên trong bài t p c th ậ ụ ể
Đ i s quan h (ĐSQH) có n n t ng toán h c (c th là lý thuy t t p h p)ạ ố ệ ề ả ọ ụ ể ế ậ ợ
đ mô hình hóa CSDL quan h Đ i tể ệ ố ượng x lý là các quan h trong c sử ệ ơ ở
1.3. Bi u th c đ i s quan hể ứ ạ ố ệ
Bi u th c ĐSQH là m t bi u th c g m các phép toán ĐSQHể ứ ộ ể ứ ồ
Bi u th c ĐSQH để ứ ược xem nh m t quan h (không có tên)ư ộ ệ
Có th đ t tên cho quan h để ặ ệ ượ ạ ừ ộc t o t m t bi u th c quan h ể ứ ệ
Có th đ i tên các thu c tính c a quan h để ổ ộ ủ ệ ược t o t m t bi u th cạ ừ ộ ể ứ ĐSQH
1.4. Phép toán trên Đ i s quan h ạ ố ệ
Đ i s quan h g m m t t p các phép toán tác đ ng trên các quan h và choạ ố ệ ồ ộ ậ ộ ệ
k t qu là m t quan h Các phép toán th c hi n trên 2 quan h xu t phát tế ả ộ ệ ự ệ ệ ấ ừ
lý thuy t t p h p c a toán h c: phép h i (Rế ậ ợ ủ ọ ộ S), phép giao (R S), phép trừ (RS), phép tích (R S)
33
Trang 34 Đ i v i các phép h i, giao, tr , các quan h R và S ph i tố ớ ộ ừ ệ ả ương thích hay khả
h p n u chúng đợ ế ượ đ nh nghĩa trên cùng m t lc ị ộ ược đ quan h hay trên cùngồ ệ
m t t p các mi n giá tr (Độ ậ ề ị ược xác đ nh trên cùng m t t p các thu c tính),ị ộ ậ ộ
nghĩa là:
S lố ượng thu c tính c a R và S ph i b ng nhau: R(Aộ ủ ả ằ 1,A2,…An) và S(B1,B2,
…Bn)
Mi n giá tr c a thu c tính ph i tề ị ủ ộ ả ương thích dom(Ai)=dom(Bi)
Quan h k t qu c a phép h i, giao, tr có cùng tên thu c tính v i quan h ệ ế ả ủ ộ ừ ộ ớ ệ
đ u tiên.ầ
VD: Hai quan h tệ ương thích kh h pả ợ
2. Phép h i (h p) 2 quan h (Union)ộ ợ ệ
Cho hai quan h R và S kh h p. H i (h p) c a hai quan h R và S ký hi u làệ ả ợ ộ ợ ủ ệ ệ
R S là m t quan h trên lộ ệ ược đ quan h Q g m các ph n t thu c R ho cồ ệ ồ ầ ử ộ ặ thu c S, ho c thu c c hai (các b trùng l p s b lo i b ), t c là:ộ ặ ộ ả ộ ắ ẽ ị ạ ỏ ứ
Trang 35R S = S R
+ K t hế ợ :p
R (S T) = (R S) T
Cho hai quan h tệ ương thích R và S. Giao c a hai quan h R và S ký hi u làủ ệ ệ
R S là m t quan h trên lộ ệ ược đ quan h Q g m các ph n t v a thu c Rồ ệ ồ ầ ử ừ ộ
Trang 36L u ý: Phép tr không có tính ch t giao hoán. (ư ừ ấ R S S R)
Khái ni m v phép h i, phép giao, phép tr trên đ i s t p h p.ệ ề ộ ừ ạ ố ậ ợ
Th c hi n đự ệ ược các phép toán trên
Trang 3737
Trang 38BÀI 3: PHÉP TÍCH Đ CÁC VÀ PHÉP CHIA TRÊN Đ I S QUAN HỀ Ạ Ố Ệ
Mã bài: 11.03
Gi i thi u:ớ ệ
Bài này s gi i thi u m t cách t ng quan v : các phép toán tích Đ các, phépẽ ớ ệ ộ ổ ề ề chia, phép gán trên đ i s t p h p. Qua đó, giúp ngạ ố ậ ợ ườ ọi h c th c hi n đự ệ ượ ccác phép toán trên đ cho k t qu là m t quan h m i theo yêu c u.ể ế ả ộ ệ ớ ầ
M c tiêu:ụ
Nêu được các khái ni m v phép tích đ các, phép chia trên đ i s t p h p.ệ ề ề ạ ố ậ ợ
L y đấ ược ví d trong th c t đ minh h a.ụ ự ế ể ọ
Th c hi n đự ệ ược các phép toán trên trong bài t p c th ậ ụ ể
Nghiêm túc, t giác trong h c t pự ọ ậ
Đ m b o an toàn cho ngu i và thi t bả ả ờ ế ị
N i dung chínhộ :
1. Tích Decac c a 2 quan h (Cartesian Product) ủ ệ
Cho quan h r(R), R={Aệ 1,A2, ,An} và quan h s(U), U={Bệ 1,B2, ,Bm}. Tích Descartes (decac) c a r và s ký hi u là r x s.ủ ệ
r x s ={t=(a1,a2, ,an, b1,b2, ,bm) /a1,a2, ,an r và b1,b2, ,bm s }
K t qu tr v là m t quan h Q.ế ả ả ề ộ ệ
M i b c a Q là t h p gi a 1 b trong r và 1 b trong s.ỗ ộ ủ ổ ợ ữ ộ ộ
N u r có u b và s có v b thì Q s có u ế ộ ộ ẽ v b ộ
N u r có n thu c tính và s có m thu c tính thì Q s có n + m thu c tính (Rế ộ ộ ẽ ộ +
Q+ ) (R+: T p thu c tính c a R, Qậ ộ ủ +: T p thu c tính c a Q).ậ ộ ủ
Ví d 1.1: Cho quan h r và s, k t qu r x sụ ệ ế ả
Trang 39Đ gi i quy t v n đ này trong th c t , phép tích Decas thể ả ế ấ ề ự ế ường được k tế
h p v i đi u ki n ch n. T c là ch th c hi n phép tích khi tho mãn đi uợ ớ ề ệ ọ ứ ỉ ự ệ ả ề
ki n (thệ ường là ràng bu c khoá ngo i)ộ ạ
Trong ví d này, đi u ki n ch n s là: giá tr t i thu c tính phong trong b ngụ ề ệ ọ ẽ ị ạ ộ ả Nhanvien trùng v i giá tr t i thu c tính mapb trong b ng Phongban. Đi u nàyớ ị ạ ộ ả ề
tương đương v i vi c: ch th c hi n phép tích decas n u phong trùng mapb vàớ ệ ỉ ự ệ ế
được bi u di n: phong = mapbể ễ
39
Trang 40Lúc này k t qu s là:ế ả ẽ
2. Phép chia 2 quan h : ệ
Cho 2 lược đ quan h Q1(A1,A2, ,An), Q2(B1,B2, ,Bm), r là quan h xácồ ệ ệ
đ nh trên Q1; s là quan h xác đ nh trên Q2 (n>m và s khác r ng), có m thu cị ệ ị ỗ ộ tính chung (gi ng nhau v m t ng nghĩa, ho c các thu c tính có th so sánhố ề ặ ữ ặ ộ ể
được) gi a r và s. Phép chia 2 quan h r và s ký hi u r ÷ s , là m t quan h qữ ệ ệ ộ ệ
có n m thu c tính độ ược đ nh nghĩa nh sau:ị ư
q= r ÷ s={t/ u s, (t,u) r}
Phép chia được dùng đ l y ra m t s b trong quan h r sao choể ấ ộ ố ộ ệ
th a v i t t c các b trong quan h s.ỏ ớ ấ ả ộ ệ