You are on page 1of 95

Giao trnh C S D LIEU

Trang

MC LC
Chng 1 ..............................................................................................................................................3 MO HNH QUAN HE ..........................................................................................................................3 I NGUYEN NHAN RA I CUA MO HNH QUAN HE .........................................................3 II C S D LIEU VA HE QUAN TR C S D LIEU.........................................................3 1 CSDL la g? ...........................................................................................................................4 2 He quan tr CSDL .................................................................................................................4 3 Ngi dung (User).................................................................................................................4 4 CSDLQH va He tap tin theo loi cu .......................................................................................5 III MO HNH QUAN HE ...........................................................................................................5 1 Mo hnh quan he la g ?.........................................................................................................5 2 Cac khai niem c ban cua mo hnh quan he .........................................................................6 3 Cac phep toan tap hp ........................................................................................................10 4 Cac phep toan quan he........................................................................................................11 5 Cac tnh chat cua ai so quan he ........................................................................................12 IV MO HNH THC THE KET HP......................................................................................15 1 Gii thieu mo hnh thc the ket hp ...................................................................................15 2 Chuyen t mo hnh thc the ket hp sang lc o CSDL...................................................17 V BAI TAP .................................................................................................................................19 1 Phep toan tap hp va phep toan quan he............................................................................19 2 Mo hnh thc the ket hp ....................................................................................................20 Chng 2 ............................................................................................................................................22 NGON NG TRUY VAN SQL..........................................................................................................22 I CACH TAO QUAN HE BANG ACCESS ..............................................................................22 II CAU LENH TRUY VAN ........................................................................................................22 1 BIEU THC (EXPRESSION) ............................................................................................22 2 CAU LENH SQL................................................................................................................25 III BAI TAP .............................................................................................................................28 Chng 3 ............................................................................................................................................32 RANG BUOC TOAN VEN QUAN HE..............................................................................................32 I RANG BUOC TOAN VEN - CAC YEU TO CUA RANG BUOC TOAN VEN ...................32 1 Rang Buoc Toan Ven..........................................................................................................32 2 Cac Yeu To Cua Rang Buoc Toan Ven .............................................................................32 II PHAN LOAI RANG BUOC TOAN VEN ..............................................................................33 1 Rang buoc toan ven lien bo ................................................................................................34 2 Rang buoc toan ven ve phu thuoc ton tai: ..........................................................................34 3 Rang buoc toan ven ve mien gia tr....................................................................................34 4 Rang buoc toan ven lien thuoc tnh ....................................................................................35 5 Rang buoc toan ven lien thuoc tnh lien quan he ...............................................................35 6 Rang buoc toan ven ve thuoc tnh tong hp .......................................................................35 III BAI TAP .............................................................................................................................35 Chng 4 ............................................................................................................................................37 PHU THUOC HAM ...........................................................................................................................37 I KHAI NIEM PHU THUOC HAM ..........................................................................................37

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU 1 2 3 4

Trang

nh ngha phu thuoc ham ..................................................................................................38 Phu thuoc ham hien nhien...................................................................................................38 Thuat toan Satifies ..............................................................................................................38 Cac phu thuoc ham co the co..............................................................................................39 II HE LUAT DAN ARMSTRONG.............................................................................................42 1 Phu thuoc ham c suy dien logic t F .............................................................................42 2 He luat dan Amstrong .........................................................................................................43 3 He luat dan Armstrong la ay u........................................................................................47 III THUAT TOAN TM F+ .......................................................................................................48 1 Thuat toan c ban ................................................................................................................48 2 Thuat toan cai tien ..............................................................................................................48 IV BAI TAP .............................................................................................................................49 Chng 5 ............................................................................................................................................50 PHU CUA TAP PHU THUOC HAM .................................................................................................50 I NH NGHA .........................................................................................................................50 II PHU TOI THIEU CUA MOT TAP PHU THUOC HAM .......................................................50 1 Phu thuoc ham co ve trai d tha .......................................................................................50 2 Tap phu thuoc ham co ve phai mot thuoc tnh....................................................................51 3 Tap phu thuoc ham khong d tha ......................................................................................51 4 Tap phu thuoc ham toi thieu ...............................................................................................51 III KHOA CUA LC O QUAN HE ...................................................................................52 1 nh Ngha ..........................................................................................................................52 2 Thuat toan tm tat ca khoa ..................................................................................................53 IV BAI TAP .............................................................................................................................55 Chng 6 ............................................................................................................................................57 CHUAN HOA C S D LIEU .......................................................................................................57 I DANG CHUAN CUA LC O QUAN HE ........................................................................57 1 nh ngha cac dang chuan .................................................................................................57 II PHEP TACH KET NOI BAO TOAN .....................................................................................62 1 Phep tach ket noi bao toan thong tin ..................................................................................62 2 Phep tach bao toan phu thuoc ham .....................................................................................67 III THIET KE CSDL BANG CACH PHAN RA......................................................................70 1 Phan ra thanh dang chuan BC (hay chuan 3) bao toan thong tin ........................................70 2 Phan ra thanh dang chuan 3 va bao toan thong tin va bao toan phu thuoc ham ............76 IV BAI TAP .............................................................................................................................79

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang

Chng 1 . MO HNH QUAN HE


I NGUYEN NHAN RA I CUA MO HNH QUAN HE (RELATIONAL MODEL) Trong nhieu nam, cong nghe tnh toan va thong tin phat trien t nhng he thong ln, at tien, oc quyen en cac he thong m manh va khong at tien. S phat trien nay mang lai li ch to ln cho ngi dung cuoi bi s phat trien cua cac goi ng dung so nh x ly van ban, bang tnh ien t, van phong xuat ban, he quan ly c s d lieu, may tnh tr giup cong nghe phan mem.... Trc khi may tnh hoa c s d lieu c gii thieu, d lieu c lu tr theo kieu ien t thanh nhieu tap tin rieng biet s dung he tap tin (t ay ve sau ta goi he tap tin theo loi cu). Nhng tap tin nay c x ly bang cac ngon ng the he th ba nh COBOL, FORTRAN, PASCAL va ngay ca BASIC e tao ra cac giai phap cho cac van e cua doanh nghiep. Moi ng dung, chang han nh he tnh lng, he kho hay he thong ke toan se co mot tap cac tap tin rieng cha d lieu rieng. Cac ng dung nh vay tao ra ba van e sau: - Co s lien ket chat che gia cau truc luan ly va cau truc vat ly cua cac tap tin va chng trnh ng dung khai thac chung. ieu nay khien viec tao nen cac ng dung nay rat kho khan, ton nhieu thi gian va do vay ma ton kem trong bao tr he thong. - Co s d tha d lieu rat ln qua viec trung lap cac tap tin trong cac ng dung khac nhau. ieu nay tao ra nhng van e nh: d lieu thieu nhat quan, khong gian a b lang ph, thi gian bao tr va lu phong h cac tap tin gia tang, van e ve quan tr nh khong chu trong bao mat va to chc d lieu thieu thong nhat. Mot v du ien hnh ve s trung lap d lieu la: He quan ly nguon nhan lc bao gom ba he chnh: 1. He lng, he nay duy tr ngay cong va lng cho tat ca nhan vien. 2. He nhan s, he nay duy tr ly lch ca nhan, d lieu ve to chc, cong viec ao tao va v tr thang tien. 3. He hu, he nay quan tr cac qui tac lien quan en ngh hu, loai ngh hu. Chi tiet ve hu cua tng nhan vien. Van e phc tap la He lng thong thng c quan ly bi phong tai chanh, trong khi He nhan s va He hu c quan ly bi phong to chc. Ro rang, co nhieu d lieu ve nhan vien la chung cho ca ba he. Thng nhng he nay thc hien va gi gn rieng biet va chung tao s trung d lieu nhan vien ma chung dung. - Ngi s dung co t kha nang khai thac trc tiep d lieu. II C S D LIEU VA HE QUAN TR C S D LIEU (DATABASE AND DATABASE MANAGEMENT SYSTEM) Khi au, s gii thieu CSDL va HQTCSDL nham giai quyet cac van e cua he thong tin da tren cac tap tin theo loi cu (C1.I). ieu nay tao ra viec phat trien tren hai mi lam nam qua mot he CSDL quan he thng mai xuat hien cuoi nhng nam thap nien 70 va cac nam au cua thap nien 80. Trc khi xem xet CSDL va he QTCSDLQH giai quyet mot vai van e cua he thong tin theo loi cu nh the nao chung ta can lam ro vai khai niem.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU 1 CSDL la g?

Trang

Mot c s d lieu co the nh ngha tam nh sau: mot cho cha co to chc tap hp cac tap tin d lieu co tng quan, cac mau tin va cac cot. Ngay nay CSDL ton tai trong moi ng dung thong dung, v du: - He kho va kiem ke. - He at cho may bay - He nguon nhan lc. - he dch vu cong cong nh cap nc, ien, kh ot - ieu khien qua trnh che tao va san xuat 2 He quan tr CSDL Mot he quan tr CSDL (HQTCSDL) la: - mot tap cac phan mem quan ly CSDL va cung cap cac dch vu x ly CSDL cho cac nhng ngi phat trien ng dung va ngi dung cuoi. - HQTCSDL cung cap mot giao dien gia ngi s dung va d lieu. - HQTCSDL bien oi CSDL vat ly thanh CSDL logic.

Da vao cach to chc d lieu, HQTCSDL c chia thanh nam loai: - loai phan cap nh he IMS cua IBM - loai mang nh IDMS cua Cullinet Software - Loai tap tin ao nh ADABAS cua Software AG - Loai quan he nh nh ORACLE cua Oracle, DB2 cua IBM, ACCESS cua Microsoft Access - Loai oi tng la mot tiep can kha mi trong thiet ke HQTCSDL va viec s dung loai nay sm tr nen pho bien Hien tai, loai HQTCSDL chnh c s dung trong cong nghe la loai HQTCSDL quan he (RDBMS). Loai nay a chiem lnh trong cong nghe tren 10-15 nam cuoi cung khi anh bat loai HQTCSDL phan cap va gan ay la HQTCSDL mang. 3 Ngi dung (User) Ngi dung khai thac CSDL thong qua HQTCSDL co the phan thanh ba loai: ngi quan tr CSDL, ngi phat trien ng dung va lap trnh, ngi dung cuoi. - Ngi quan tr CSDL, hang ngay, chu trach nhiem quan ly va bao tr CSDL nh: + s chnh xac va toan ven cua d lieu va ng dung trong CSDL, s bao mat cua CSDL + lu phong h va phuc hoi CSDL + gi lien lac vi ngi phat trien ng dung, ngi lap trnh va ngi dung cuoi. + bao am s hoat ong troi chay va hieu qua cua CSDL va HQTCSDL

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU -

Trang

Ngi phat trien va lap trnh ng dung la nhng ngi chuyen nghiep ve may tnh co trach nhiem thiet ke, tao dng va bao tr he thong tin cho ngi dung cuoi. Ngi dung cuoi la nhng ngi khong chuyen ve may tnh nhng ho la cac chuyen gia trong cac lanh vc khac co trach nhiem cu the trong to chc. Ho khai thac CSDL thong qua he c phat trien bi ngi phat trien ng dung hay cac cong cu truy van cua HQTCSDL. CSDLQH va He tap tin theo loi cu i Van e 1: cau truc logic va cau truc vat ly

Tiep can CSDL a giai quyet 3 van e cua he tap tin theo loi cu:

Kien truc ben trong HQTCSDL quan he tach biet ro rang gia: - cau truc luan ly cua tat ca tap tin va chng trnh ng dung khai thac tap tin nay va - cau truc vat ly cua csdl va phan lu tr cac tap tin. Tiep can nay tao cho ngi quan tr CSDL co the thay oi cau truc vat ly hay ni lu tr cua tap tin ma khong anh hng en chng trnh ng dung. ii Van e 2: d tha d lieu Khi HQTCSDLQH c gii thieu, nhieu to chc mong tch hp cac tap tin a phan tan khap trong to chc vao mot CSDL tap trung. D lieu co the chia se cho nhieu ng dung khac nhau va ngi s dung co the khai thac ong thi cac tap con d lieu lien quan en ho. ieu nay lam han che s d tha d lieu. iii Van e 3: S khai thac d lieu cua ngi s dung Trong he QTCSDLQH ngi dung co the trc tiep khai thac d lieu thong qua viec s dung cac cau truy van hay cac cong cu bao cao c cung cap bi he QTCSDL. III MO HNH QUAN HE (RELATIONAL MODEL) 1 Mo hnh quan he la g ? Mo hnh C s d lieu Quan he (goi tat la Mo hnh Quan he) do E.F Codd e xuat nam 1971. Mo hnh nay bao gom: - Mot he thong cac ky hieu e mo ta d lieu di dang dong va cot nh quan he, bo, thuoc tnh, khoa chnh, khoa ngoai, ... - Mot tap hp cac phep toan thao tac tren d lieu nh phep toan tap hp, phep toan quan he. - rang buoc toan ven quan he.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang

Cac he HQTCSDLQH ngay nay c xay dng da vao ly thuyet cua mo hnh quan he. Muc ch cua mon hoc nay giup cho sinh vien nam c kien truc tong quat ve mo hnh quan he va ap dung no e lap mo hnh d lieu quan he co hieu qua trong lu tr va khai thac. MASV HOTENH
99001 99002 99001 99005 TRAN DAN THU NGUYEN HA DA THAO TRAN DAN THU LE THANH TRUNG

MONHOC
CO SO DU LIEU CO SO DU LIEU TIN HOC VAN PHONG TIN HOC VAN PHONG

TENKHOA
CONG NGHE THONG TIN CONG NGHE THONG TIN CONG NGHE THONG TIN ANH VAN

DIEMTHI
3.0 8.0 6.0 5.0

Chang han vi bai toan quan ly iem thi cua sinh vien; neu lu tr d lieu theo dang bang vi cac cot MASV, HOTEN, MONHOC,TENKHOA, DIEMTHI th cac ga tr cua cac cot HOTEN, MONHOC, TENKHOA se b trung lap. S trung lap nay gay nen mot so van e: - Ta khong the lu tr mot sinh vien mi khi sinh vien nay cha co iem thi - Khi can sa oi ho ten sinh vien th ta phai sa tat ca cac dong co lien quan en sinh vien nay. ieu nay de gay ra tnh trang d lieu thieu nhat quan. - Khi co nhu cau xoa iem thi cua mot sinh vien keo theo kha nang xoa luon ho ten sinh vien o. Viec lu tr d lieu nh tren khong ung vi mo hnh quan he. e lu tr ung vi mo hnh quan he ta phai thay MONHOC bang MAMH, thay TENKHOA bang MAKHOA, tach mot bang d lieu ln o ra thanh nhieu bang con, nh mo hnh di. MASV MAMH MAKHOA DIEMTHI MASV HOTEN 99001 CSDL CNTT 3.0 99001 TRAN DAN THU 99002 CSDL CNTT 8.0 99002 NGUYEN HA DA THAO 99001 THVP CNTT 6.0 99005 LE THANH TRUNG 99005 THVP AV 5.0 MAMH TENMH SOTIET CSDL CO SO DU LIEU 90 THVP TIN HOC VAN PHONG 90 2 i Cac khai niem c ban cua mo hnh quan he Thuoc tnh (Attribute, Arity) MAKHOA TENKHOA CNTT CONG NGHE THONG TIN AV ANH VAN

Chang han vi bai toan quan ly iem thi cua sinh vien; vi oi tng sinh vien ta can phai chu y en cac ac trng rieng nh ho ten, ngay sinh, n (gii tnh), tnh thng tru, hoc bong, lp ma sinh vien theo hoc,. . . cac ac trng nay goi la thuoc tnh. Cac thuoc tnh c phan biet qua ten goi va phai thuoc vao mot kieu d lieu nhat nh (so, chuoi, ngay thang, logic, hnh anh,). Kieu d lieu ay la kieu n. Trong cung mot oi tng khong c co hai thuoc tnh cung ten. Thong thng moi thuoc tnh ch chon lay gia tr trong mot tap con cua kieu d lieu va tap hp con o goi la mien gia tr cua thuoc tnh o. Thuoc tnh ngay trong thang th co kieu d lieu la so nguyen, mien gia tr cua no la 1 en (toi a la) 31. Hoac iem thi cua sinh vien ch la cac so nguyen t 0 en 10. Thng ngi ta dung cac ch cai hoa A,B,C, e bieu dien cac thuoc tnh, hoac A1,A2,., An e bieu dien mot so lng ln cac thuoc tnh.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU ii Lc o Quan He (Relation Schema)

Trang

Tap tat ca cac thuoc tnh can quan ly cua mot oi tng cung vi moi lien he gia chung c goi la lc o quan he. Lc o quan he Q vi tap thuoc tnh {A1,A2,...,An} c viet la Q(A1,A2,...,An). Tap cac thuoc tnh cua Q c ky hieu la Q+. Chang han lc o quan he sinh vien (at ten la Sv) vi cac thuoc tnh nh tren la: Sv(MASV, HOSV,TENSV,NU, NGAYSINH, MALOP, HOCBONG, TINH) Thng khi thanh lap mot lc o, ngi thiet ke luon gan cho no mot y ngha nhat nh, y ngha o goi la tan t cua lc o quan he o. Da vao tan t ngi ta xac nh c tap thuoc tnh khoa cua lc o quan he (khai niem khoa se c trnh bay phan sau). Khi phat bieu tan t cho mot lc o quan he, ngi thiet ke can phai mo ta ay u y ngha e ngi khac tranh hieu nham. Chang han tan t cua lc o quan he tren la:moi sinh vien co mot ma sinh vien (MASV) duy nhat, moi ma sinh vien xac nh tat ca cac thuoc tnh cua sinh vien o nh ho ten (HOTEN), n (NU) ,ngay sinh (NGAYSINH), lp theo hoc (MALOP), hoc bong (HOCBONG), tnh c tru (TINH). Nhieu lc o quan he cung nam trong mot he thong quan ly c goi la mot lc o c s d lieu. V du lc o c s d lieu e quan ly iem sinh vien co the gom cac lc o quan he sau: Sv(MASV, HOSV,TENSV, NU, NGAYSINH, MALOP, TINH, HOCBONG) Lop(MALOP,TENLOP,SISO,MAKHOA) Kh(MAKHOA,TENKHOA, SOCBGD) Mh(MAMH, TENMH, SOTIET) Kq(MASV, MAMH, DIEMTHI) Phan giai thch cac thuoc tnh: MASV Ma sinh vien HOTEN Ten sinh vien NU N NGAYSINH ngay sinh LOP lp TENLOP ten lp SISO s so lp MAKHOA ma khoa HOCBONG hoc bong TINH tnh TENKHOA ten khoa SOCBGD so can bo giang day MAMH ma mon hoc TENMH ten mon hoc SOTIET so tiet DIEMTHI iem thi iii Quan He (Relation) S the hien cua lc o quan he Q mot thi iem nao o c goi la quan he, ro rang la tren mot lc o quan he co the nh ngha rat nhieu quan he. Thng ta dung cac ky hieu nh R, S, Q e ch cac lc o quan he, con quan he c nh ngha tren no tng ng c ky hieu la la r, s, q.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU iv Bo (Tuple)

Trang

Bo la tap moi gia tr lien quan cua tat ca cac thuoc tnh cua mot lc o quan he. Chang han quan he sau co 2 bo. MASV HOTEN NU NGAYSINH MALOP TINH HOCBONG 99001 TRAN DAN THU TRUE 15-03-1977 CTH2B TIEN GIANG 120000 99002 NGUYEN HA DA THAO TRUE 25-04-1986 TCTH29C TPHCM 120000 Thng ngi ta dung cac ch cai thng (nh t,p,q,) e bieu dien cac bo. Chang han e noi bo t thuoc quan he r ta viet: t r. Ve trc quan th moi quan he xem nh mot bang, trong o moi cot la thong tin ve mot thuoc tnh, moi dong la thong tin ve mot bo. Chang han sau ay la cac the hien cua cac quan he nh ngha tren lc o c s d lieu quan ly sinh vien tren:
rSv MASV 99001 99002 99003 99004 99005 99006 99007 99008 99009 99010 99011 99012 99013 99014 99015 99016 99017 99018 99019 99020 99021 99022 99023 HOTEN TRAN DAN NGUYEN HA DA PHAM ANH NGUYEN NGOC LE THANH NGUYEN HONG VU THI TRUONG KIM TON THAT HA VAN BUI VAN LE HUU VU THANH TRAN QUANG PHAM VAN HUYNH THANH TRAN MINH PHAN VAN PHAM THI NGUYEN THI PHAM TAN TRAN PHUOC LE THI THANH NU NGAYSINH TRUE 15-03-1977 TRUE 25-04-1986 FALSE 16-08-1977 FALSE 24-12-1980 FALSE 20-11-1978 FALSE 19-09-1979 TRUE 15-03-1975 FALSE 15-05-1975 FALSE 26-06-1976 FALSE 14-04-1973 FALSE 22-12-1972 FALSE 28-08-1977 FALSE 29-03-1979 FALSE 30-05-1981 FALSE 30-06-1976 FALSE 29-07-1982 FALSE 21-08-1977 FALSE 19-05-1979 FALSE 16-06-1982 TRUE 11-11-1981 FALSE 01-01-1980 FALSE 12-12-1979 TRUE 11-11-1980 MALOP CTH2B CTH2B CTH2B CTH2B CAV1 CAV1 CAV1 CTH2B CTH2B CAV1 CAV1 CT2 CTH2B CT2 CT2 CT2 CTH2B CDL1 CDL1 CTH2B CDL1 CTH2B CDL1 TINH HOCBONG TIEN GIANG 120000 TPHCM 120000 BAC LIEU CA MAU CA MAU 120000 SOC TRANG CA MAU HA NOI VUNG TAU 60000 BAC LIEU AN GIANG CAN THO 60000 KIEN GIANG 60000 DONG THAP 120000 CA MAU TPHCM 80000 TRA VINH DONG THAP 120000 CAN THO 120000 CA MAU 120000 CA MAU BAC LIEU 60000 TPHCM 120000

THU THAO HUY THUAN TRUNG VAN LOAN QUANG QUYEN LONG ANH CHI CONG CUONG HAI HOANG LAM SANG HUYEN NGAN QUANG QUYEN VAN

rKh MAKHOA CNTT AV HOA MAY TNH XD DL

SOCBGD 60 CONG NGHE THONG TIN 60 ANH VAN 20 HOA CHAT 10 MOI TRUONG 10 XAY DUNG 5 DU LICH

TENKHOA

rMh MAMHTENMH CSDL CO SO DU LIEU FOX FOXPRO THVP TIN HOC VAN PHONG AVTH ANH VAN TIN HOC KTS KY THUAT SO CTDL CAU TRUC DU LIEU

SOTIET 90 120 90 60 60 60

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU TTIN SINH VL T


TOAN -TIN HOC CONG NGHE SINH HOC VAT LY IEN T

Trang 30 30 20 20 TTNT MANG VB AC LR INTER HDH KTLT VIFOX


TRI TUE NHAN TAO MANG MAY TINH CB VI SUAL BASIC ACCESS LAP RAP MAY TINH CAC DICH VU INTERNET HE DIEU HANH KY THUAT LAP TRINH VISUAL FOXPRO

45 45 90 180 60 45 60 45 60

rKq MASV 99001 99002 99003 99004 99005 99001 99002 99003 99004 99005 99020 99021 99022 99023 99023

MAMH CSDL CSDL CSDL CSDL CSDL THVP THVP THVP THVP THVP THVP MANG MANG CSDL MANG

DIEMTHI 3.0 8.0 8.0 3.0 2.0 6.0 3.0 8.0 9.0 5.0 7.0 7.0 6.0 8.0 6.0

99006 99007 99008 99009 99010 99011 99012 99013 99014 99015 99023 99023 99023 99023 99023

MANG MANG MANG MANG TTNT FOX FOX FOX VB VB TTNT THVP FOX VB KTS

6.0 2.0 7.0 3.0 5.0 4.0 5.0 7.0 7.0 3.0 3.0 6.0 8.0 9.0 6.0

99016 99017 99017 99017 99017 99017 99002 99004 99018 99019 99021 99021 99022 99022

KTS KTS FOX MANG CSDL TTNT MANG MANG TTNT CSDL CSDL THVP FOX TTNT

7.0 7.0 4.0 8.0 8.0 6.0 8.0 4.0 7.0 8.0 8.0 9.0 5.0 6.0

rLop MALOP CTH2B TCTH29C CAV1 CT2 CDL1 v

TENLOP CAO ANG TIN HOC KHOA 2000B TRUNG CAP TIN HOC KHOA 29 C CAO ANG ANH VAN 1 CAO ANG IEN T 2 CAO ANG DU LCH 1

SISO 60 121 120 80 42

MAKHOA cntt cntt av t dl

Khoa (Key, Candidate Key):

Cho lc o quan he R, SR+. S c goi la mot sieu khoa (superkey) cua lc o quan he R neu vi hai bo tuy y trong quan he R th gia tr cua cac thuoc tnh trong S la khac nhau. Mot lc o quan he co the co nhieu sieu khoa. Sieu khoa cha t thuoc tnh nhat c goi la khoa ch nh, trong trng hp lc o quan he co nhieu khoa ch nh, th khoa c chon e cai at goi la khoa chnh (Primary key) (trong cac phan sau khoa chnh c goi tat la khoa)

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 10

Cac thuoc tnh tham gia vao mot khoa c goi la thuoc tnh khoa (prime key), ngc lai c goi la thuoc tnh khong khoa (non prime key). Mot thuoc tnh c goi la khoa ngoai neu no la thuoc tnh cua mot lc o quan he nay nhng lai la khoa chnh cua lc o quan he khac. V du: Ta hay xem lc o quan he sau: Xe(SODANGBO,QUICACH, INHDANG,MAUSAC,SOSUON,SOMAY,MAXE,QUOCGIA) Sieu khoa: (SOSUON,QUICACH),... Khoa ch nh: (SODANGBO,QUOCGIA), (SOSUON), (SOMAY), (MAXE) Khoa chnh: MAXE Thuoc tnh khoa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXE Thuoc tnh khong khoa: QUICACH, HINHDANG, MAUSAC Khoa cua Sv la (MASV), Khoa cua Mh la (MAMH), khoa cua Kh la (MAKHOA), khoa cua Kq la (MASV,MAMH) khoa cua Lop la MALOP, trong Lop thuoc tnh MAKHOA la khoa ngoai 3 i Cac phep toan tap hp (set operation) Phep hp (Union operation)

Cho hai lc o quan he Q1 va Q2 co cung tap thuoc tnh {A1,A2,..,An}. r1 va r2 lan lt la hai quan he tren Q1 va Q2. Phep hp cua hai lc o quan he Q1 va Q2 se tao thanh mot lc o quan he Q3. Q3 c xac nh nh sau: Q3+= {A1,A2,..,An} r3= r1+r2 = {t | t r1 hoac t r2} V du: r1 r3 = r 1 + r 2 r2
MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI

99001 99002 99003

CSDL CTDL MANG

5.0 2.0 8.0

99002 99001 99003

CTDL TTNT CSDL

2.0 5.0 6.0

99001 99002 99003 99001 99003

CSDL CTDL MANG TTNT CSDL

5.0 2.0 8.0 5.0 6.0

ii

Phep Giao (Intersection):

Cho hai lc o quan he Q1 va Q2 co cung tap thuoc tnh {A1,A2,..,An}. r1 va r2 lan lt la hai quan he tren Q1 va Q2. Phep giao cua hai lc o quan he Q1 va Q2 se tao thanh mot lc o quan he Q3 nh sau: Q3+={A1,A2,..,An} r3 = r1*r2= {t | t r1 va t r2} V du: r1 r2 r3 = r1* r2 MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI 99001 CSDL 5.0 99002 CTDL 2.0 99002 CTDL 2.0 99002 CTDL 2.0 99001 TTNT 5.0 99003 MANG 8.0 99003 CSDL 6.0

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU iii Phep Tr (Minus, difference)

Trang 11

Cho hai lc o quan he Q1 va Q2 co cung tap thuoc tnh {A1,A2,..,An}. r1 va r2 lan lt la hai quan he tren Q1 va Q2. Phep tr lc o quan he Q1 cho Q2 se tao thanh mot lc o quan he Q3 nh sau: Q3+={A1,A2,..,An} r3 = r1 - r2= {t | t r1 va t r2} V du: r1 r2 r3 = r1 - r2
MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI

99001 CSDL 99002 CTDL 99003 MANG iv

5.0 2.0 8.0

99002 CTDL 99001 TTNT 99003 CSDL

2.0 5.0 6.0

99001 CSDL 99003 MANG

5.0 8.0

Tch Descartes (Cartesian Product, product)

Cho hai lc o quan he Q1(A1,A2,..,An), Q2(B1,B2,..,Bm). r1 va r2 lan lt la hai quan he tren Q1 va Q2. Tch Descartes cua hai lc o quan he Q1 va Q2 se tao thanh mot lc o quan he Q3 nh sau: Q3+ = Q1+ Q2+= {A1,..., B1,...} r3 = r1 x r2 = {(t1,t2)| t1 r1 va t2 r2} V du: r1 r3 = r1 x r2
MASV 99001 99002 99003 MAMH DIEMTHI CSDL 5.0 CTDL 2.0 MANG 8.0 r2 TENMH CO SO DU LIEU FOXPRO MASV 99001 99001 99002 99002 99003 99003 MAMH CSDL CSDL CTDL CTDL MANG MANG DIEMTHI 5.0 5.0 2.0 2.0 8.0 8.0 MAMH CSDL FOX CSDL FOX CSDL FOX TENMH CO SO DU LIEU FOXPRO CO SO DU LIEU FOXPRO CO SO DU LIEU FOXPRO

MAMH CSDL FOX

4 i

Cac phep toan quan he Phep Chieu (Projection)

Cho mot lc o quan he Q(A1,A2,..,An). r la quan he tren Q. X Q+. Phep chieu cua Q len tap thuoc tnh X se tao thanh lc o quan he Q= Q[X], trong o Q+ chnh la X va r chnh la r nhng ch lay cac thuoc tnh cua X. Q+ = X r = r[X] = r.X = {t| tr va t.X = t[X] = t} phep chieu chnh la phep rut trch d lieu theo cot (chieu doc) V du: r r = r.{MAMH} MASV MAMH DIEMTHI MAMH 99001 CSDL 5.0 CSDL 99002 CTDL 2.0 CTDL 99003 MANG 8.0 MANG ii Phep Chon (Selection) Cho lc o quan he Q(A1,A2,..,An), r la mot quan he tren Q. X Q+ va E la mot menh e logic c phat bieu tren tap X. Phan t tr thoa man ieu kien E ky hieu la t(E).

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU Phep chon t r theo ieu kien E se tao thanh mot lc o quan he Q nh sau: Q+ = Q+ r= r(E)= r:E ={t | t r va t(E)} phep chon chnh la phep rut trch d lieu theo dong (chieu ngang) V du: r= r:DIEMTHI >= 5 r MASV MAMH DIEMTHI MASV MAMH DIEMTHI 99001 CSDL 5.0 99001 CSDL 5.0 99002 CTDL 2.0 99003 MANG 8.0 99003 MANG 8.0 iii Phep ket, Phep Ket T Nhien (join, natural join):

Trang 12

Cho hai lc o quan he Q1(A1,A2,..,An), Q2(B1,B2,..,Bm). r1 va r2 lan lt la hai quan he tren Q1 va Q2. Ai va Bj lan lt la cac thuoc tnh cua Q1 va Q2 sao cho MGT(AI) = MGT(BJ) (MGT: mien gia tr). la mot phep so sanh tren MGT(AI). Phep ket gia Q1 va Q2 se tao thanh mot lc o quan he Q3 nh sau: Q3+ = Q1+ Q2+ r3=r1 |><| r2 = {t12|t1r1,t2r2 sao cho t12.Q1+ = t1 t12.Q2+ = t2 t1.Ai t2.Bj} Ta rut ra cac bc cu the e thc hien phep ket nh sau: - Tao tch descartes - Thc hien phep chon theo ieu kien E=Ai Bj V du: Ai la thuoc tnh B, Bj la thuoc tnh F va la phep so sanh >=. Ta c ket qua la quan he sau: A B C E F H 1 5 9 6 5 4 7 5 3 6 5 4 1 5 9 7 5 5 7 5 3 7 5 5 Neu c s dung trong phep ket la phep so sanh bang (=) th ta goi la phep ket bang. Hn na neu AI Bj th phep ket bang nay c goi la phep ket t nhien. Phep ket t nhien la mot phep ket thng dung nhat trong thc te. V du: Vi Ai Bj = MAMH r1
MASV MAMH DIEMTHI MAMH
AiBj

r1 A B 6 5 7 5 4 2

C 4 5 6

E 1 4 7

r2 F 5 6 5

r3 = r1 |><| r2 H 9 8 3

B F

r2
TENMH
CO SO DU LIEU CAU TRUC DU LIEU

r3 = r1 |><| r2
MASV MAMH DIEMTHI

MAMH

99001 99002 99003

CSDL CTDL MANG

5.0 2.0 8.0

CSDL CTDL

99001 99002

CSDL CTDL

5.0 2.0

TENMH CO SO DU LIEU CAU TRUC DU LIEU

iv

Phep chia (division):

Cho hai lc o quan he Q1(A1,A2,..,An), Q2(B1,B2,..,Bm).

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU r1 va r2 lan lt la hai quan he tren Q1 va Q2. Ai va Bj lan lt la cac thuoc tnh cua Q1 va Q2 sao cho n>m. Phep chia Q1 va Q2 se tao thanh mot lc o quan he Q3 nh sau: Q3+ = {A1,...,An-m} r3 = r1r2 = {t3|t2r2, t1r1 t3=t1.{A1,...,An-m} t2=t1.{An-m+1,...,An}} V du: r1 A3 A4 A5 d c g d e f e e f c c g c e f e g e r2 r3 = r1 r2 A1 A2 A3 a b d e g c

Trang 13

A1 A2 a b a b b c e g e g a b 5

B1 B2 c g e f

Cac tnh chat cua ai so quan he

Q la lc o quan he q,r,s la quan he tren Q, E,E1,E2 la menh e logic tren Q+ X1 X2 Q+ Hay chng minh cac tnh chat sau: (r:E1):E2 = (r:E2):E1 Chng minh: (r:E1):E2 = = = = = = Chng minh: (r+s):E = = = = = = = {t|t(r:E1) va t(E2)} {t|t{t|tr va t(E1)} va t(E2)} {tr|t(E1) va t(E2)} {t|t{t|tr va t(E2)} va t(E1)} {t|t(r:E2) va t(E1)} (r:E2):E1 (r+s):E = (r:E)+(s:E) {t|t(r+s) va t(E)} {t|t{t|tr hoac ts} va t(E)} {t|(tr hoac ts) va t(E)} {t|(tr va t(E)) hoac (ts va t(E))} {t|t{t|tr va t(E)} hoac t{t|ts va t(E)}} {t|t(r:E) hoac t(s:E)} (r:E)+(s:E) (r*s):E = (r:E)*(s:E)

Chng minh: (r*s):E = {t|t(r*s) va t(E)}

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU = = = = = = Chng minh: (r-s):E = = = = = = = Chng minh: (r.X2).X1 = = = = = Chng minh: (r:E).X = = = = = = {t|t{t|tr va ts} va t(E)} {t|tr va ts va t(E)} {t|(tr va t(E)) va (ts va t(E))} {t|t{t|tr va t(E)} va t{t|ts va t(E)}} {t|t(r:E) va t(s:E)} (r:E)*(s:E) (r-s):E = (r:E)-(s:E) {t|t(r-s) va t(E)} {t|t{t|tr va ts} va t(E)} {t|tr va ts va t(E)} {t|(tr va t(E)) va (ts va t(E))} {t|t{t|tr va t(E)} va t{t|ts va t(E)}} {t|t(r:E) va t(s:E)} (r:E)*(s:E) Vi X2 X1 (r.X2).X1 = r.X1 {t.X1|t(r.X2)} {t.X1|t{t.X2|tr}} {(t.X2).X1|tr} {t.X1|tr} v X1 X2 r.X1 E phat bieu tren X (r:E).X = (r.X):E {t.X|t(r:E)} {t.X|t{t|tr va t(E)}} {t.X|tr va t(E)} {t|t{t.X|tr} va t(E)} {t|t(r.X) va t(E)} (r.X):E q|><|r = r|><|q

Trang 14

Chng minh: (q|><|r) ={t12|t1q,t2r t12.Q+ = t1, t12.R+ = t2 t12.Ait12.Bj} = r|><|q AiQ,BjS,CkQ,DlR (q|><|r)|><|s = q|><|(r|><|s) Chng minh: (q|><|r)|><|s ={t12|t1(q|><|r),t2s t12.Q+R+ = t1 t12.S+ = t2 t12.Ai1t12.Bj} ={t12|t1{u12|u1q,u2r u12.Q+=u1 u12.R+=u2 u1.Ck2u2.Dl}, t2s t12.Q+R+ = t1,t12.S+=t2 t1.Ai1t2.Bj} ={t123|t1q,t2r,t3s t123.Q+=t1,t123.R+=t2 t123.S+=t3 t123.Ai1t123.Bj t123.Ck2t123.Dl} ={t12|t1q,t2{u12|u1r,u2s u12.R+=u1

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 15

u12.S+=u2 u1.Ck2u2.Dl},t12.Q+=t1 t12.R+S+=t2 t12.Ai1t12.Bj} ={t12|t1q,t2(r|><|s),t12.Q+=t1 t12.R+S+=t2 t12.Ai1t12.Bj} =q|><|(r|><|s) IV MO HNH THC THE KET HP 1 Gii thieu mo hnh thc the ket hp Cac nha phan tch thiet ke he thong thong tin thng xay dng lc o c s d lieu (C1.III.2.ii) t mo hnh thc the ket hp va mo hnh nay lai c xay dng t phan ac ta van e cua mot bai toan thc te.

Lc o c s d lieu xay dng theo hng nay thong thng at toi thieu dang chuan 3 (3NF: third normal form) ngha la dang co s d tha d lieu mc toi thieu, con mon CSDL xay dng lc o CSDL at dang chuan 3 t lc o c s d lieu cha at dang chuan co kem cac tan t (C1.III.2.ii). Ta hay xem v du sau: i V du Moi quan he mot-nhieu
(a) ac ta van e

Nhng ngi phu trach ao tao cua Trng cao ang cong ong nui Ayers mong muon tao lap mot CSDL ve cac mon ao tao cua trng (nh: chng ch leo nui, cong nghe bay) va hoc vien ghi danh vao nhng mon hoc nay. Trng cung co qui nh la cung mot luc, hoc vien ch co the ghi danh vao mot mon hoc. Ho ch quan tam ve d lieu cua t ghi danh hien tai. Mot khi hoc vien ket thuc mon hoc th nha trng se khong con quan tam en ho va nhng hoc vien nay phai c xoa khoi CSDL. Thong tin can lu tr ve mot hoc vien bao gom: ma hoc vien, ten hoc vien, a ch, ngay sinh, so ien thoai, ngay nhap hoc Thong tin ve mon hoc gom ma mon hoc, ten mon hoc, thi lng Phan tch: - phan ac ta van e cha ng cac qui tac quan ly va d lieu yeu cau cua van e. - d lieu cua van e la: chi tiet ve hoc vien co ma hoc vien, ten hoc vien, a ch, ngay sinh, so ien thoai va ngay nhap hoc chi tiet ve mon hoc co ma mon hoc, ten mon hoc va thi lng. - qui tac quan ly gom: + Cung mot luc, mot hoc vien ch co the ghi danh vao mot mon hoc. + Nhieu hoc vien co the ghi danh vao mot mon hoc. + Nha trng ch quan tam en nhng hoc vien cua mon hoc hien tai.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU


(b)Mo hnh thc the ket hp (Mo hnh ER)

Trang 16

Cac tnh chat trong mo hnh thc the ket hp: - Hnh ch nhat c goi la tap thc the. Ten cua tap thc the c ghi ben trong hnh ch nhat va dung danh t e at ten cho tap thc the. - ng noi gia hai tap thc the c goi la moi quan he (moi ket hp). Moi quan he trong van e tren la moi quan he mot-nhieu (1:M). Noi dung cua moi quan he c dien ta theo hai chieu: ghi danh vao, c ghi danh bi va chung dien ta hai noi dung sau: + Moi HOC VIEN co the ghi danh vao mot MON HOC + Moi MON HOC phai c ghi danh bi mot hay nhieu HOC VIEN - Cac d lieu ghi ben canh tap thc the c goi la thuoc tnh. Chung cung cap thong tin chi tiet ve tap thc the. Co hai loai thuoc tnh: - Thuoc tnh nhan dien la thuoc tnh e phan biet thc the nay vi thc the kia trong tap thc the. - Thuoc tnh mo ta la thuoc tnh cung cap thong tin chi tiet hn ve thc the trong tap thc the. - Moi quan he cua van e tren la moi quan he mot-nhieu. Tnh chat nay cua moi quan he goi la tnh ket noi cua moi quan he. Tnh ket noi mot-nhieu rat pho bien trong mo hnh thc the ket hp. Hai loai ket noi con lai t pho bien hn nhng khong kem phan quan trong la moi quan he mot-mot va moi quan he nhieu-nhieu. ii V du moi quan he mot-mot
(a) ac ta van e

Phong canh sat mong muon quan ly ly lch ca nhan nhng ngi lai xe va bang lai cua ho. Mot ngi ch lay c mot bang lai va mot bang lai ch thuoc ve mot ngi. Thong tin ve lai xe ma phong canh sat quan tam la: ma ngi lai xe, ten, a ch, ngay sinh Thong tin ve bang lai can lu tr la: ma bang lai, loai bang lai, ngay het han
(b)Mo hnh thc the ket hp

iii

moi NGI LAI XE phai s hu mot BANG LAI moi BANG LAI phai c s hu bi mot NGI LAI XE V du moi quan he nhieu-nhieu
(a) ac ta van e

Ngi phu trach ao tao Trng cao ang cong ong nui xanh mong muon thiet lap mot csdl ve cac mon hoc ma ho cung cap (nh chng ch leo nui, c nhan cong nghe bay) va cac hoc vien ghi danh vao cac mon hoc nay. Nha trng qui nh la mot hoc vien c ghi danh hoc toi a ba mon hoc

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 17

trong cung mot luc. Ho ch quan tam en d lieu cua mon hoc hien tai. Mot khi hoc vien ket thuc mon hoc, ho se khong con thuoc dien quan ly cua nha trng va phai c xoa khoi csdl tr khi hoc vien nay ghi danh hoc tiep mon mi. Thong tin ve mot hoc vien gom: ma hoc vien, ten hoc vien, a ch, ngay sinh, so ien thoai, ngay nhap hoc Thong tin ve mon hoc gom: ma mon hoc, ten mon hoc, thi lng
(b)Mo hnh ER

+ Moi HOC VIEN co the ghi danh vao mot hay nhieu MON HOC + Moi MON HOC phai c ghi danh bi mot hay nhieu HOC VIEN Mo hnh ER tren co moi quan he nhieu nhieu. Mo hnh tren gap phai khuyet iem sau: - Ngay nhap hoc la thuoc tnh gan lien vi tap thc the HOC VIEN se khong hp ly v khong dien ta c trng hp hoc vien hoc cung luc nhieu mon hoc. - Con neu ngay nhap hoc la thuoc tnh cua MON HOC th khong dien ta c tnh trang cung mon hoc nhng co cac ngay nhap hoc khac nhau.
(c) Loai bo tnh ket noi nhieu nhieu (neu c)

e giai quyet van e nay ta phai a vao: - mot tap thc the lam trung gian gia HOC VIEN va MON HOC goi la tap ket hp PHIEU GHI DANH. - Thuoc tnh nhan dien cua tap ket hp la s ket hp gia thuoc tnh nhan dien cua tap thc the HOC VIEN va MON HOC - thuoc tnh mo ta cua tap ket hp PHIEU GHI DANH la ngay nhap hoc - tnh ket noi cua tap ket hp vi tap thc the la mot-nhieu Noi dung cua moi quan he gia cac tap thc the la: - moi HOC VIEN co the co mot hay nhieu PHIEU GHI DANH - moi PHIEU GHI DANH phai thuoc ve mot HOC VIEN - moi PHIEU GHI DANH phai ghi nhan ao tao ve mot MON HOC - moi MON HOC co the c ghi nhan ao tao bi mot hay nhieu PHIEU GHI DANH Cac qui tac phai tuan thu khi them tap ket hp lam trung gian e loai bo tnh ket noi nhieu nhieu: - Phai nhan dien c thuoc tnh mo ta cua tap ket hp. - Neu co thuoc tnh mo ta th tao tap ket hp lam trung gian gia hai tap thc the. - Neu khong co thuoc tnh mo ta th van gi nguyen mo hnh nh hnh 1.4.4 2 i Chuyen t mo hnh thc the ket hp sang lc o CSDL. Qui tac chung

Khi bien oi mo hnh ER thanh cac mo hnh quan he ta ap dung cac qui tac sau:

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU ii

Trang 18

Moi tap thc the trong mo hnh ER c chuyen thanh mot lc o quan he. Moi thuoc tnh trong mo hnh ER c chuyen thanh thuoc tnh trong lc o quan he tng ng Moi thuoc tnh nhan dien trong mo hnh ER c chuyen thanh khoa chnh trong lc o quan he tng ng. Moi moi quan he trong ER c chuyen thanh khoa ngoai theo qui tac sau Qui tac chuyen moi quan he thanh khoa ngoai
(a) Moi quan he mot-mot

Chuyen khoa chnh t quan he 1 sang quan he 2 hay ngc lai. V du van e ngi lai xe va bang lai se co mo hnh quan he la mot trong hai mo hnh quan he sau

Chuyen khoa chnh t ben mot sang ben nhieu.

(b)Moi quan he mot-nhieu

(c) Moi quan he nhieu nhieu en tap ket hp

Trong quan he PHIEU GHI DANH co cac khoa chnh khoa ngoai nh sau: + ma hoc vien la khoa ngoai

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU + ma mon hoc la khoa ngoai + ma hoc vien va ma mon hoc la khoa chnh

Trang 19

Tao mot quan he mi co khoa chnh la s ket hp cac khoa chnh cua hai quan he co tnh ket noi nhieu nhieu. V du gia s Trng Cao ang Cong ong Nui Xanh khong quan tam en ngay nhap hoc cua hoc vien th mo hnh ER se co moi quan he nhieu nhieu nh sau:

(d)Moi quan he nhieu-nhieu

BAI TAP 1 Phep toan tap hp va phep toan quan he Cho lc o c s d lieu dung e quan ly ho s sinh vien bao gom cac quan he Sv(sinh vien), Lop(Lp), kh(khoa), Mh(mon hoc), Kq(ket qua) c mo ta bi cac lc o quan he nh sau: Sv(MASV,HOTEN,NU,NGAYSINH,MALOP,TINH,HOCBONG) Tan t: Moi sinh vien co moi MASV duy nhat. Moi MASV xac nh tat ca cac thuoc tnh con lai cua sinh vien o. Lop(MALOP,TENLOP,SISO,MAKHOA) Tan t: Moi lp co mot ma lp duy nhat, moi lp ch thuoc ve mot khoa nao o. Kh(MAKHOA,TENKHOA,SOCBGD) Tan t: Moi khoa co moi MAKHOA duy nhat. Moi MAKHOA xac nh tat ca cac thuoc tnh con lai cua khoa o. Mh(MAMH,TENMH,SOTIET) Tan t: Moi Mon hoc co mot MAMH duy nhat. Moi MAMH xac nh tat ca cac thuoc tnh con lai cua mon hoc o. Kq(MASV,MAMH,DIEMTHI) Tan t: Moi sinh vien cung vi mot mon hoc xac dnh duy nhat mot iem thi YEU CAU: 1. Tm khoa cho moi lc o quan he tren. 2. Hay thc hien cac cau hoi sau bang ngon ng ai so quan he a. Lap danh sach sinh vien gom MASV, HOTEN, HOCBONG b. Lap danh sach sinh vien n khoa CNTT,danh sach can MASV, HOTEN, HOCBONG c. Lap bang iem cho tat ca sinh vien khoa CNTT, bang iem gom cac cot MASV, HOTEN, TENMH, DIEMTHI d. Lap phieu iem cho sinh vien co MASV=99001 e. Lap danh sach sinh vien gom MASV,HOTEN,TENLOP, TENKHOA

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 20

f. Lap bang iem mon hoc co ma mon hoc la CSDL cho tat ca sinh vien co ma lp la CTH2B g. Lap danh sach sinh vien cua lp co ma lp la CTH2B va co iem thi mon hoc ln hn hay bang 8. 2 Mo hnh thc the ket hp Da vao cac phan tch s bo di ay, hay lap mo hnh thc the ket hp cho moi bai toan quan ly sau: i QUAN LY LAO ONG e quan ly viec phan cong cac nhan vien tham gia vao xay dng cac cong trnh. Cong ty xay dng ABC to chc quan ly nh sau: Cung luc cong ty co the tham gia xay dng nhieu cong trnh, moi cong trnh co mot ma so cong trnh duy nhat (MACT), moi ma so cong trnh xac nh cac thong tin nh: ten goi cong trnh (TENCT), a iem(IAIEM), ngay cong trnh c cap giay phep xay dng (NGAYCAPGP), ngay khi cong (NGAYKC), ngay hoan thanh (NGAYHT). Moi nhan vien cua cong ty ABC co mot ma so nhan vien(MANV) duy nhat, mot ma so nhan vien xac nh cac thong tin nh: Ho ten (HOTEN), ngay sinh (NGAYSINH), phai (PHAI), a ch (IACHI). Moi nhan vien phai chu s quan ly hanh chanh bi mot phong ban. Tat nhien mot phong ban quan ly hanh chanh nhieu nhan vien. Cong ty co nhieu phong ban (Phong ke toan, phong kinh doanh, phong ky thuat, phong to chc, phong chuyen mon, Phong phuc vu,). Moi phong ban co mot ma so phong ban(MAPB) duy nhat, ma phong ban xac nh ten phong ban (TENPB). Cong ty phan cong cac nhan vien tham gia vao cac cong trnh, moi cong trnh co the c phan cho nhieu nhan vien va moi nhan vien cung luc cung co the tham gia vao nhieu cong trnh. Vi moi cong trnh mot nhan vien co mot so lng ngay cong (SLNGAYCONG) a tham gia vao cong trnh o. ii QUAN LY TH VIEN Mot th vien to chc viec cho mn sach nh sau: Moi quyen sach c anh mot ma sach (MASH) dung e phan biet vi cac quyen sach khac (gia s neu mot tac pham co nhieu ban giong nhau hoac co nhieu tap th cung xem la co ma sach khac nhau), moi ma sach xac nh cac thong tin khac nh : ten sach (TENSACH), ten tac gia (TACGIA), nha xuat ban (NHAXB), nam xuat ban (NAMXB). Moi oc gia c th vien cap cho mot the th vien, trong o co ghi ro ma oc gia (MAG), cung vi cac thong tin khac nh : ho ten (HOTEN), ngay sinh (NGAYSINH), a ch (IACHI), nghe nghiep(NGHENGHIEP). C moi lt mn sach, oc gia phai ghi cac quyen sach can mn vao mot phieu mn, moi phieu mn co mot so phieu mn (SOPM) duy nhat, moi phieu mn xac nh cac thong tin nh: ngay mn (NGAYMUON), oc gia mn, cac quyen sach mn va ngay tra (NGAYTRA). Cac cac quyen sach trong cung mot phieu mn khong nhat thiet phai tra trong trong cung mot ngay. iii QUAN LY BAN HANG Moi khach hang co mot ma khach hang (MAKH) duy nhat, moi MAKH xac nh c cac thong tin ve khach hang nh : ho ten khach hang (HOTEN), a ch (IACHI), so ien thoai (IENTHOAI). Cac mat hang c phan loai theo tng nhom hang, moi nhom hang co mot ma nhom (MANHOM) duy nhat, moi ma nhom hang xac nh ten nhom hang (TENNHOM), tat nhien mot nhom hang co the co nhieu mat hang. Moi mat hang c anh mot ma so (MAHANG) duy nhat, moi ma so nay

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 21

xac nh cac thong tin ve mat hang o nh : ten hang (TENHANG), n gia ban (ONGIA), n v tnh (VT). Moi hoa n ban hang co mot so hoa n (SOH) duy nhat, moi hoa n xac nh c khach hang va ngay lap hoa n (NGAYLAPH), ngay ban hang (NGAYBAN). Vi moi mat hang trong mot hoa n cho biet so lng ban (SLBAN) cua mat hang o. iv QUAN LY LCH DAY - HOC e quan ly lch day cua cac giao vien va lch hoc cua cac lp, mot trng to chc nh sau: Moi giao vien co mot ma so giao vien (MAGV) duy nhat, moi MAGV xac nh cac thong tin nh: ho va ten giao vien (HOTEN), so ien thoai (DTGV). Moi giao vien co the day nhieu mon cho nhieu khoa nhng ch thuoc s quan ly hanh chanh cua mot khoa nao o. Moi mon hoc co mot ma so mon hoc (MAMH) duy nhat, moi mon hoc xac nh ten mon hoc (TENMH). ng vi moi lp th moi mon hoc ch c phan cho mot giao vien. Moi phong hoc co mot so phong hoc (SOPHONG) duy nhat, moi phong co mot chc nang (CHUCNANG); chang han nh phong ly thuyet, phong thc hanh may tnh, phong nghe nhn, xng thc tap c kh, Moi khoa co mot ma khoa (MAKHOA) duy nhat, moi khoa xac nh cac thong tin nh: ten khoa (TENKHOA), ien thoai khoa(DTKHOA). Moi lp co mot ma lp (MALOP) duy nhat, moi lp co mot ten lp (TENLOP), s so lp (SISO). Moi lp co the hoc nhieu mon cua nhieu khoa nhng ch thuoc s quan ly hanh chnh cua mot khoa nao o. Hang tuan, moi giao vien phai lap lch bao giang cho biet giao vien o se day nhng lp nao, ngay nao (NGAYDAY), mon g?, tai phong nao, t tiet nao (TUTIET) en tiet nao (DENTIET),ta e bai day (BAIDAY), ghi chu (GHICHU) ve cac tiet day nay, ay la gi day ly thuyet (LYTHUYET) hay thc hanh - gia s neu LYTHUYET=1 th o la gi day thc hanh va neu LYTHUYET=2 th o la gi ly thuyet, mot ngay co 16 tiet, sang t tiet 1 en tiet 6, chieu t tiet 7 en tiet 12, toi t tiet 13 en 16.

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 22

Chng 2 . NGON NG TRUY VAN SQL


I CACH TAO QUAN HE BANG ACCESS Microsoft Access la mot he quan tr c s d lieu quan he. Ta co the dung HQTCSDL Access hay goi tat la Access e thc hanh mo hnh quan he. Sau ay ta se tao lc o csdl quan ly sinh vien nh trang 6 cua tai lieu. + Khi ong Access: Start-> Programs-> Microsoft Access. + Tao lc o csdl rong co ten la qLSV: Blank Database->OK->qLSV->Create + Tao quan he bang cach:Tables->New->Design View->OK

o Data type la Text (kieu chuoi), Yes/No (Kieu luan ly), Date/Time (kieu ngay thang), Currency (kieu so) o Field size la kch thc kieu d lieu + Khi tao xong cac thuoc tnh va khoa chnh ta lu lai va at ten cho quan he Sv bang cach : File->Close->Yes->Sv->OK. + Tao cac quan he con lai theo bc 3 va 4 + Nhap d lieu cho quan he Sv bang cach: Tables->Sv->Open II CAU LENH TRUY VAN 1 BIEU THC (EXPRESSION)

Cac thanh phan tao nen bieu thc bao gom: Literal value La cac d lieu co gia tr ung nh van ban the hien. D lieu chuoi co dang: New York D lieu so co dang: 1056; 1056.25 D lieu ngay co dang: #1-Jan-94#; #12/2/2001# Constant La mot ten ai dien cho mot gia tr khong thay oi nh :

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU Const True False Null Toan t so hoc: Toan t + Gia tr ai dien -1 0 0 V du 5+2 #28/08/01# + 4 5-2 #02/09/01# - 3 #29/9/01#-#24/3/84# 5*2 5/2 5\2 5^2 5 Mod 2 Ket qua 7 #01/09/01# 3 #30/08/01# 16.597 10 2.5 2 25 1

Trang 23

* / \ ^ Mod Toan t luan ly Toan t Not And

Y ngha Cong so hoc Cong ngay Tr so hoc Ngay tr so Ngay tr ngay Phep nhan Phep chia Chia nguyen Luy tha Lay so d cua phep chia Y ngha Luat phu nh Luat va

Or

Luat hay

V du Not True Not False True And True True And False False And True False And False True Or True True Or False False Or True False Or False V du 2<5 2 <= 5 2>5 2 >= 5 2=5 2 <> 5

Ket Qua False True True False False False True True True False Ket qua True True False False False True Ket qua True True Nguyen Van Hung

Toan t so sanh Toan t < <= > >= = <> Cac toan t khac Toan t Between ... And ... Y ngha Nho hn Nho hn hay bang Ln hn Ln hn hay bang Bang nhau Khac nhau

Y ngha V du Gia hai gia tr. 2 Between 1 And 5 Dung trong query Giong nh Like Hung Like Hu* Noi chuoi Nguyen Van & Hung & Vi toan t like ta co the dung cac ky t ai dien sau: Wildcard characters

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU Ky t ? * # [] ! Ham: Y ngha ai dien cho mot ky t bat ky ai dien cho mot chuoi ky t bat ky. ai dien cho mot ky so ai dien cho cac ky t nam trong ai dien cho cac ky t nam trong khoang ai dien cho ky t khong phai ky t nam sau !

Trang 24 V du A? -> AN, AM, AC A* -> AI, ANH, A## ->A13, A24, A35 A[IN] -> AI, AN A[M-O] -> AM, AN, AO A[!C] -> AA, AB, AD, AE, ...

Ham co dang tenHam(danhSachDoiSo). Ham luon luon ai dien cho mot tr goi la tr tra ve. IIf(ieu kien, tr 1, tr 2) Kiem tra ieu kien, neu ieu kien ung tra tr 1 ngc lai tra tr 2 V du: IIf(namNu = 1, Nam,Nu) Date() Tra ve ngay thang nam cua he thong. Now(bieu thc ngay) Tra ve gi, phut, giay, ngay thang nam cua he thong. Time(bieu thc ngay) Tra ve gi phut giay cua he thong. Day(bieu thc ngay) Tra ve mot so t 1 en 31 la ngay cua Date. Month(bieu thc ngay) Tra ve mot so t 1 en 12 la thang cua Date Year(bieu thc ngay) Tra ve nam cua ngay Len( bieu thc chuoi) Tra ve chieu dai cua chuoi. Chr(ma Ascii) Tra ve ky t co ma ASCII tng ng. InStr(Start, s1, s2) Tra ve v tr chuoi s2 nam trong s1 LCase(s), UCase(s) oi chuoi s thanh chuoi gom cac ky t thng (hoa) Left(s, n), Right(s, n) Tra ve chuoi gom n ky t ben trai (phai) cua chuoi s Mid(s, i, n) Tra ve chuoi con cua chuoi s, gom n ky t ke t ky t th i Nz(v1, v2) Neu v1 = Null th Tra ve v2, ngc lai tra ve v1 Cac ham tnh toan tren nhom: SUM (thuoc tnh ) Tnh tong gia tr cua thuoc tnh cua cac bo trong bang MAX( thuoc tnh) tnh gia tr ln nhat cua thuoc tnh cua cac bo trong bang MIN(thuoc tnh) tnh gia tr nho nhat cua thuoc tnh cua cac bo trong bang

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 25

AVG(thuoc tnh>) tnh gia tr trung bnh cua thuoc tnh cua cac bo trong bang COUNT(thuoc tnh) ch em nhng bo ma gia tr cua thuoc tnh la khac NULL Bieu thc Bieu thc la to hp cac toan t, literal value, hang, ten ham, ten thuoc tnh. Bieu thc c lng ga thanh mot ga tr. 2 CAU LENH SQL SQL la ngon ng truy van da tren ai so quan he. Cau lenh cua SQL dung e rut trch d lieu cua mot mot hay nhieu quan he. Ket qua cua mot cau lenh SQL (truy van) la mot quan he. e n gian trong cach trnh bay, ta xem quan he ma cau truy van s dung e tao ra quan he khac goi la quan he nguon, quan he ket qua cua truy van la quan he ch. i Truy van nh ngha d lieu (data definition query) Tao lc o quan he rSV: + Create Table rSV (MASV Text (10) CONSTRAINT khoaChinh PRIMARY KEY,HOTEN Text (30), NU YesNo, NGAYSINH Date, MALOP Text (10), TINH Text (50), HOCBONG Double ) Tao lc o quan he rKQ: + Create Table rKQ (MASV text (10),MAMH Text (10), DIEMTHI Double,CONSTRAINT khoaChinh PRIMARY KEY (MASV,MAMH) ) Chu y: Hai cach tao tren cho ta thay hai cach tao khoa: khoa ch gom mot thuoc tnh va khoa co nhieu thuoc tnh Them cot DTHOAI co kieu d lieu text 20 ky t vao lc o quan he rSV: + Alter Table rSV Add Column DTHOAI Text (20) Sa kieu kieu d lieu cua mot cot: + Alter Table rSV Alter Column DTHOAI double Xoa cot cua mot lc o a co: + Alter Table rSv Drop Column DTHOAI Xoa rang buoc khoa chnh: + Alter Table rSv Drop Constraint khoaChinh Them rang buoc khoa chnh: + Alter Table rSv Add Constraint khoaChinh Primary Key (MASV) Them rang buoc mien gia tr: + ALTER TABLE doc_exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a > 1) ii Truy van chon (select query) Khi co nhu cau the hien cac dong d lieu cua mot quan he hay cua nhieu quan he di dang mot quan he co so cot va so dong theo y muon nh bang iem cua sinh vien, danh sach sinh vien th ta s dung truy van chon. e truy van chon ta s dung cau lenh SQL sau: Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]] From table1 [Inner Join table2 On table1.field1 table2.field2] ... [Where dieuKien]

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU [Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];

Trang 26

Distinct: loai bo cac bo trung trong quan he ch Top n[%]: Chon n hay n% mau tin au tien. table: Ten table hay query cha d lieu. field: Ten field hay mot bieu thc. Alias: Trng hp field la mot bieu thc th <Alias> la mot ten mi cua bieu thc. Inner Join: moi mau tin cua table1 noi vi bat ky mau tin nao cua table2 co d lieu cua field1 thoa man ieu kien so sanh vi d lieu cua field2 tao thanh mau tin cua query. ieu kien: Bieu thc ma d lieu mau tin phai thoa man Chu y: Khi neu ro thuoc tnh o thuoc ve quan he nao ta viet theo cu phap tenQuanHe.tenThuocTnh. V du: Lap danh sach sinh vien gom MASV,HOTEN,HOCBONG SELECT MASV,HOTEN,HOCBONG FROM Sv; V du: Lap danh sach sinh vien n , co hoc bong thuoc co ma lp la CTH2B. SELECT MASV,HOTEN,HOCBONG FROM Sv WHERE NU And MALOP='CTH2B' And HOCBONG>0; V du: Lap danh sach sinh vien gom MASV,HOTEN,HOCBONG trong o hoc bong c sap giam dan SELECT MASV,HOTEN,HOCBONG FROM Sv ORDER BY HOCBONG DESC; V du : Lap danh sach sinh vien gom MASV,HOTEN,TENLOP SELECT MASV,HOTEN,TENLOP FROM Sv Inner Join Lop On Sv.MALOP=Kh.LOP; V du: Lap danh sach sinh vien co MASV,HOTEN,NU,NGAYSINH,DIEMTHI vi iem thi mon CSDL >= 8 SELECT Kq.MASV,HOTEN,NU,NGAYSINH,DIEMTHI FROM Kq Inner Sv On Kq.MASV = Sv.MaSV WHERE MAMH='CSDL' AND DIEMTHI>=8; V du: Lap danh sach sinh vien co ho la NGUYEN SELECT * FROM Sv WHERE HOTEN Like NGUYEN*; iii Truy van nhom d lieu (Select query co group by) Khi co nhu cau chia cac bo theo tng nhom roi tnh toan tren tng nhom nay nh tnh iem trung bnh cua tat ca cac mon hoc cua tng sinh vien, hay la can tnh so lng sinh vien cua moi lp , hay la can biet tong so mon ma mot sinh vien a ang ky hoc th ta s dung truy van theo nhom. e truy van cong nhom ta s dung cau lenh SQL sau:
Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]]

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU


From table1 [Inner Join table2 On table1.field1 table2.field2] ... [Where dieuKienLocMauTinNguon] [Group By fieldGroupBy[,fieldGroupBy[,...]] [Having dieuKienLocMauTinTongHop] [Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];

Trang 27

ieuKienLocMauTinNguon: ieu kien ma cac mau tin nguon phai thoa man (phep chon) fieldGroupBy: ten field ma cac mau tin co d lieu giong nhau tren ay c xep vao cung nhom. ieuKienLocMauTinTongHp: ieu kien ma cac mau tin tong hp phai thoa man (phep chon) V du: Lap danh sach sinh vien co ang ky t nhat la ba mon hoc SELECT Kq.MASV,HOTEN,NU,NGAYSINH,COUNT(MAMH) As SLMH FROM Sv Inner Join Kq On Sv.MASV = Kq.MASV GROUP BY Kq.MASV,HOTEN,NU,NGAYSINH HAVING COUNT(MAMH)>=3; V du: em so lng sinh vien n cua moi khoa SELECT Kh.MAKHOA,TENKHOA,COUNT(Kh.MAKHOA) AS SOLUONG FROM (Sv Inner Join Lop On Sv.MALOP = LOP.MALOP) INNER JOIN Kh On Lop.MAKHOA=Kh.MAKHOA WHERE NU GROUP BY Kh.MAKHOA,TENKHOA; iv Truy van long nhau (nested query, sub query)

La nhng cau lenh truy van ma trong thanh phan WHERE hay HAVING co cha them mot cau lenh Select khac. Cau lenh select khac nay goi la subquery. Ta long cau Select vao phan Where hay Having theo cu phap sau: o bieuthuc toanTuSoSanh [ANY | ALL | SOME] (cauLenhSQL) ANY, SOME la bat ky, ALL la tat ca Cac mau tin cua query chnh thoa man toan t so sanh vi bat ky/ tat ca mau tin nao cua subquery o bieuThuc [NOT] IN (cauLenhSQL) Cac mau tin cua query chnh co gia tr bang vi mot gia tr trong subquery o [NOT] EXISTS (cauLenhSQL). Cac mau tin cua query chnh thoa man khi subquery co mau tin V du: Lap danh sach sinh vien co hoc bong cao nhat SELECT * FROM Sv WHERE HOCBONG>=ALL(SELECT HOCBONG FROM SV); V du: Lap danh sach sinh vien co iem thi mon CSDL cao nhat SELECT SV.MASV,HOTEN,NU,NGAYSINH,DIEMTHI FROM sv Inner Join kq On Sv.MASV = Kq.MASV WHERE MAMH='CSDL' AND DIEMTHI >= ALL

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 28

(SELECT DIEMTHI FROM KQ WHERE MAMH='CSDL'); Hieu va van dung tot lenh truy van d lieu la mot viec lam cc ky can thiet e tao ra cac ket qua cho bao cao, thong ke so lieu. v Truy van cap nhat d lieu (action query, data modification query) Cu phap: Update table Set field1 = bieuThc1, field2 = bieuThc2 Where ieuKien Cu phap: Delete From table Where ieuKien vi Truy van hp (union query) Khi co nhu cau thc hien truy van co ket qua nh toan t hp, ta s dung cau lenh SQL sau: Select .....Union Select .... V du: Lenh sau ay gap oi danh sach sinh vien SELECT MASV,HOTEN,NGAYSINH UNION SELECT MASV,HOTEN,NGAYSINH III BAI TAP 1/ Cho lc o CSDL quan ly sinh vien. Hay thc hien cac cau truy van sau a) Lap danh sach nhng sinh vien nam cua tnh LONG AN hoc khoa CNTT, danh sach can tat ca cac thuoc tnh cua quan he Sv. b) Lap danh sach nhng sinh vien co iem thi < 5 (thi lai), danh sach can MASV,HOTEN,TENMH, DIEMTHI va c sap tang dan theo cot MASV. c) Lap danh sach cac sinh vien co iem thi trung bnh cac mon < 5, danh sach can MASV,HOTEN, DIEMTRUNGBINH va c sap tang dan theo cot MASV. d) Tong so tien hoc bong cua moi khoa e) Nhng sinh vien nao ang ky hoc nhieu hn 3 mon hoc, danh sach can MASV,HOTEN,SOLAN_DANGKY f) Lap danh sach sinh vien co iem trung bnh cao nhat, danh sach can MASV, HOTEN, NGAYSINH, DIEMTRUNGBINH 2/ Cho lc o CSDL dung e quan ly lao ong bao gom cac lc o quan he sau: Nhanvien(MANV,HOTEN,NGAYSINH,PHAI,DIACHI,MAPB) Tan t: Moi nhan vien co mot ma so nhan vien (MANV) duy nhat. Mot ma so nhan vien xac nh cac thong tin nh ho ten (HOTEN), ngay sinh (NGAYSINH), phai (PHAI), a ch (DIACHI) va phong ban (MAPB) ni quan ly nhan vien. Phongban(MAPB,TENPB) Tan t: Moi phong ban co mot ma phong ban (MAPB) duy nhat, ma phong ban xac nh ten phong ban (TENPB) Cong(MACT,MANV,SLNGAYCONG) Tan t: Lc o quan he Cong ghi nhan so lng ngay cong (SLNGAYCONG) cua mot nhan vien (MANV) tham gia vao cong trnh (MACT). Congtrinh(MACT,TENCT,DIADIEM,NGAYCAPGP,NGAYKC,NGAYHT) Tan t: Moi cong trnh co mot ma so cong trnh (MACT) duy nhat. Ma so cong trnh xac nh cac thong tin nh ten goi cong trnh (TENCT), a iem (DIADIEM), ngay cong trnh c cap giay phep xay dng (NGAYCAPGP), ngay khi cong (NGAYKC), ngay hoan thanh (NGAYHT).

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU Hay thc hien cac cau hoi sau bang SQL

Trang 29

a) Danh sach nhng nhan vien co tham gia vao cong trnh co ma cong trnh (MACT) la X. Yeu cau cac thong tin: MANV,HOTEN, SLNGAYCONG, trong o MANV c sap tang dan. b) em so lng ngay cong cua moi cong trnh. Yeu cau cac thong tin: MACT, TENCT, TONGNGAYCONG (TONGNGAYCONG la thuoc tnh t at) c) Danh sach nhng nhan vien co sinh nhat trong thang 8. yeu cau cac thong tin: MANV, TENNV, NGAYSINH, IACHI,TENPB, sap xep quan he ket qua theo th t tuoi giam dan. d) em so lng nhan vien cua moi phong ban. Yeu cau cac thong tin: MAPB, TENPB, SOLUONG. (SOLUONG la thuoc tnh t at.) 3/ Cho cac quan he sau: Monhoc(MSMH ,TENMH,SOTINCHI ,TINHCHAT) MSMH ma so mon hoc, TENMH ten mon hoc SOTINCHI so lng tn ch, TNH CHAT bang 1 neu o la mon hoc bat buoc, bang 0 neu o la mon hoc khong bat buoc Sinhvien(MSSV,HOTEN,NGAYSINH,LOP) MSSV ma so sinh vien, HOTEN ho ten sinh vien NGAYSINH ngay sinh, LOP(C,4,0) lp Diem(MSSV,MSMH,DIEMTHI) DIEMTHI iem thi Hay dung lenh SQL e thc hien cac cau lenh sau: a) Hay cho biet nhng mon hoc bat buoc co SOTINCHI cao nhat. b) Hay liet ke danh sach gom MSSV,HOTEN,LOP, DIEMTHI cua nhng sinh vien thi mon hoc CSDL, theo th t LOP,DIEMTHI c) Hay cho biet cac sinh vien co iem thi cao nhat ve mon hoc co ma la CSDL d) Hay cho biet phieu iem cua sinh vien co ma so la 9900277 e) Hay liet ke danh sach gom MSSV, HOTEN., LOP, IEM TRUNG BNH cua nhng sinh vien co iem trung bnh cac mon di 5, theo th t LOP,HOTEN. f) Hay liet ke danh sach iem trung bnh cua sinh vien theo th t , lp, ten. g) Hay cho biet iem cua sinh vien theo tng mon. 4/ Da vao lc o c s d lieu Docgia(MADG,HOTEN,NGAYSINH,DIACHI,NGHENGHIEP) Phieumuon(SOPM,NGAYMUON,MADG) Chitietmuon(SOPM,MADAUSACH,NGAYTRA) Dausach(MADAUSACH,BAN,TAP,MASH) Sach(MASH,TENSACH,TACGIA,NHAXB,NAMXB) Hay thc hien cac cau hoi sau ay bang SQL a) Danh sach cac oc gia a ang ky mn sach trong ngay d. Yeu cau cac thong tin: MAG, HOTEN, IACHI.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 30

b) Cac quyen sach cua phieu mn co SOPM la x. Yeu cau cac thong tin MASH, TENSACH, TACGIA, NGAYMUON, NGAYTRA. c) Tong so lt ma moi oc gia en mn sach trong nam 2001. Yeu cau thong tin MAG,HOTEN,SOLANMUON (SOLANMUON la thuoc tnh t at) d) Danh sach cac oc gia cao tuoi nhat a mn sach trong ngay d. Yeu cau cac thong tin MAG, HOTEN, NGAYSINH, IACHI, NGHENGHIEP. 5/ Da vao lc o c s d lieu Khach(MAKH,HOTEN,DIACHI,DIENTHOAI) Hoadon(SOHD,NGAYLAPHD,NGAYBAN,MAKH) DongHoaDon(SOHD,MAHANG,SLBAN) Hang(MAHANG,TENHANG,DONGIA,DVT,MANHOM) Nhom(MANHOM,TENNHOM) Hay thc hien cac cau hoi sau bang SQL a) Danh sach cac khach hang a mua hang trong ngay d. Yeu cau cac thong tin MAKH, HOTEN, IACHI, IENTHOAI. b) Danh sach cac mat hang trong so hoa n (SOH) la x. Yeu cau cac thong tin MAHANG, TENHANG, SLBAN, ONGIA, THANHTIEN (THANHTIEN= SLBAN*ONGIA; THANHTIEN la thuoc tnh t at).Yeu cau sap xep tang dan theo cot TENHANG c) Danh sach cac mat hang thuoc ma nhom hang la A co n gia cao nhat. Yeu cau cac thong tin : MAHANG, TENHANG,ONGIA d) em so lng mat hang cua moi nhom hang. Yeu cau cac thong tin : MANHOM, TENNHOM, SOLUONG. (trong o SOLUONG la thuoc tnh t at) (0,75) e) Danh sach cac khach hang a mua cac mat hang co ma nhom hang la A trong ngay d. Yeu cau cac thong tin MAKH, HOTEN, IACHI, IENTHOAI,TENHANG. f) Thong ke viec mua hang trong nam 2002 cua khach hang co ma khach hang la Kh01 (theo tng hoa n). Yeu cau cac thong tin MAKH,HOTEN,SOH,TRIGIAH trong o TRIGIAH la tong so tien trong mot hoa n (TRIGIAH la thuoc tnh t at) 6/ Da vao lc o c s d lieu Giaovien(MAGV,HOTEN,DTGV,MAKHOA) Khoa(MAKHOA,TENKHOA,DTKHOA) Lop(MALOP,TENLOP,SISO,MAKHOA) Monhoc(MAMH,TENMH) Phonghoc(SOPHONG,CHUCNANG) Lichbaogiang(MALICH,NGAYDAY,MAGV)
Dongbaogiang(MALICH,TUTIET,DENTIET,BAIDAY,GHICHU,LYTHUYET,MAMH,MALOP,SOPHONG)

Hay thc hien cac cau hoi sau bang SQL a) Xem lch bao giang tuan t ngay 16/09/2002 en ngay 23/09/2002 cua giao vien co MAGV (ma giao vien) la TH3A040. Yeu cau: MAGV,HOTEN,TENLOP,TENMH,SOPHONG, NGAYDAY, TUTIET, DENTIET, BAIDAY, GHICHU

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 31

b) Xem lch bao giang ngay 23/09/2002 cua cac giao vien co ma khoa la CNTT. Yeu cau: MAGV,HOTEN,TENLOP,TENMH,PHONG,NGAYDAY,TUTIET,DENTIET,BAIDAY, GHICHU) c) Cho biet so lng giao vien (SOLUONGGV) cua moi khoa, ket qua can sap xep tang dan theo cot ten khoa. yeu cau: TENKHOA ,SOLUONGGV ( SOLUONGGV la thuoc tnh t at)

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 32

Chng 3 . RANG BUOC TOAN VEN QUAN HE (entegrity constraint)


I RANG BUOC TOAN VEN - CAC YEU TO CUA RANG BUOC TOAN VEN 1 Rang Buoc Toan Ven Trong moi CSDL luon ton tai nhieu moi lien he gia cac thuoc tnh, gia cac bo. S lien he nay co the xay ra trong mot lc o quan he hoac trong cac lc o quan he cua mot c s d lieu. Cac moi lien he nay la nhng ieu kien bat bien ma tat ca cac bo cua nhng quan he co lien quan trong CSDL eu phai thoa man moi thi iem. Nhng ieu kien bat bien o c goi la rang buoc toan ven. Trong thc te rang buoc toan ven la cac quy tac quan ly c ap at tren cac oi tng cua the gii thc. Nhiem vu cua ngi phan tch thiet ke la phai phat hien cang ay u va chnh xac cac rang buoc toan ven cang tot va mo ta chung mot cach chnh xac trong ho s phan tch thiet ke - o la mot viec lam rat quan trong va rat can thiet. Trong mot c s d lieu, rang buoc toan ven c xem nh la mot cong cu e dien at ng ngha cua CSDL. Mot CSDL c thiet ke cong kenh nhng no the hien c ay u ng ngha cua thc te van co gia tr cao hn rat nhieu so vi mot cach thiet ke gon nhe nhng ngheo nan ve ng ngha v thieu cac rang buoc toan ven cua c s d lieu. Cong viec kiem tra rang buoc toan ven thng c tien hanh vao thi iem cap nhat d lieu ( them, sa, xoa). Nhng rang buoc toan ven phat sinh can phai c ghi nhan va x ly mot cach tng minh (thng la bi mot ham chuan hoac mot oan chng trnh). 2 i Cac Yeu To Cua Rang Buoc Toan Ven ieu kien Moi rang buoc toan ven co 3 yeu to: ieu kien, boi canh va tam anh hng. ieu kien cua mot rang buoc toan ven R co the c bieu dien bang ngon ng t nhien, thuat giai, ngon ng ai so tap hp, ai so quan he, ngoai ra ieu kien cua rang buoc toan ven cung co the c bieu dien bang phu thuoc ham. Chang han, vi lc o quan he SV th co mot rang buoc toan ven nh sau: Vi r la mot quan he cua Sv ta co rang buoc toan ven sau t1,t2 r t1.MASV t2.MASV cuoi ii Boi canh Boi canh cua mot rang buoc toan ven la nhng quan he ma rang buoc o co hieu lc hay noi mot cach khac, o la nhng quan he can phai c kiem tra rang buoc toan ven. Boi canh cua mot rang buoc toan ven co the la mot hoac nhieu quan he. Chang han vi rang buoc toan ven tren th boi canh la mot quan he Sv

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU iii Tam anh hng

Trang 33

Trong qua trnh phan tch thiet ke mot CSDL, ngi phan tch can lap bang tam anh hng cho mot rang buoc toan ven nham xac nh thi iem can phai tien hanh kiem tra cac rang buoc toan ven o. Cac thi iem can phai kiem tra RBTV chnh la nhng thi iem cap nhat d lieu (them /sa/ xoa) Mot bang tam anh hng cua mot RBTV co dang sau: Xoa(X) (Ten RBTV) Them(T) Sa(S) r1 + r2 ... ... .. .. ... ... ... ... rn Bang nay cha toan cac ky hieu + hoac Chang han + tai o tng ng vi dong r1, cot them th co ngha la khi them mot bo vao quan he r1 th can phai kiem tra RBTV Dau - Tai o tng ng vi dong r1, cot sa th co ngha la khi sa mot bo tren quan he r1 th khong can phai kiem tra RBTV nay, II PHAN LOAI RANG BUOC TOAN VEN Trong qua trnh phan tch thiet ke c s d lieu, ngi phan tch phai phat hien tat ca cac rang buoc toan ven tiem an trong CSDL o. Viec phan loai cac rang buoc toan ven la rat co ch, no nham gup cho ngi phan tch co c mot nh hng, tranh bo sot nhng rang buoc toan ven. Cac rang buoc toan ven co the c chia lam hai loai chnh nh sau: + Rang buoc toan ven tren pham vi la mot quan he bao gom :Rang buoc toan ven mien gia tr, rang buoc toan ven lien thuoc tnh, rang buoc toan ven lien bo. + Rang buoc toan ven tren pham vi nhieu quan he bao gom :Rang buoc toan ven phu thuoc ton tai, rang buoc toan ven lien bo - lien quan he, rang buoc toan ven lien thuoc tnh - lien quan he. e minh hoa cho phan ly thuyet cua chng nay, ta neu v du sau ay V du Cho mot CSDL C dung e quan ly viec at hang va giao hang cua mot cong ty. Lc o CSDL C gom cac lc o quan he nh sau: Q1: Khach (MAKH,TENKH,DCKH,DT) Tan t: Moi khach hang co mot ma khach hang (MAKH) duy nhat, moi MAKH xac nh mot ten khach hang (TENKH), mot a ch (DCKH), mot so ien thoai (DT). Q2: Hang(MAHANG,TENHANG,QUYCACH,DVTINH) Tan t: Moi mat hang co mot ma hang (MAHANG) duy nhat, moi MAHANG xac nh mot ten hang (TENHANG), quy cach hang (QUYCACH), n v tnh (DVTINH). Q3: Dathang(SODH,MAHANG,SLDAT,NGAYDH,MAKH) Tan t: Moi lan at hang co so at hang (SODH) xac nh mot ngay at hang (NGAYDH) va ma khach hang tng ng (MAKH). Biet ma so at hang va ma mat hang th biet c so lng at hang(SLDAT). Moi khach hang trong mot ngay co the co nhieu lan at hang

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT)

Trang 34

Tan t: Moi hoa n co mot ma so duy nhat la SOHD, moi hoa n ban hang co the gom nhieu mat hang. Moi hoa n xac nh ngay lap hoa n (NGAYLAP), ng vi so at hang nao (SODH). Gia s rang hoa n ban hang theo yeu cau cua ch mot n at hang co ma so la SODH va ngc lai, moi n at hang ch c giai quyet ch trong mot hoa n. Do ieu kien khach quan co the cong ty khong giao ay u cac mat hang cung nh so lng tng mat hang nh yeu cau trong n at hang nhng khong bao gi giao vt ngoai yeu cau. Moi hoa n xac nh mot tr gia cua cac mat hang trong hoa n (TRIGIAHD) va mot ngay xuat kho giao hang cho khach (NGAYXUAT) Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN) Tan t: Moi SOHD, MAHANG xac nh gia ban (GIABAN) va so lng ban (SLBAN) cua mot mat hang trong mot hoa n. Q6: Phieuthu(SOPT, NGAYTHU, MAKH, SOTIEN) Tan t: Moi phieu thu co mot so phieu thu (SOPT) duy nhat, moi SOPT xac nh mot ngay thu (NGAYTHU) cua mot khach hang co ma khach hang la MAKH va so tien thu la SOTIEN. Moi khach hang trong mot ngay co the co nhieu so phieu thu. 1 Rang buoc toan ven lien bo Rang buoc toan ven lien bo la s rang buoc toan ven gia cac bo trong cung mot quan he . Rang buoc toan ven lien bo hay con goi la rang buoc toan ven ve khoa. ay la loai rang buoc toan ven rat pho bien, no co mat trong moi lc o quan he cua CSDL va thng c cac he quan tr CSDL t ong kiem tra. V du: Vi r la mot quan he cua Khach ta co rang buoc toan ven sau R1: t1, t2 r t1. MAKH t2. MAKH Cuoi R1 Them Sa Xoa r 2 + + Rang buoc toan ven ve phu thuoc ton tai:

Rang buoc toan ven ve phu thuoc ton tai con c goi la rang buoc toan ven ve khoa ngoai. Cung giong nh rang buoc toan ven ve khoa chnh, rang buoc toan ven ve phu thuoc ton tai rat pho bien trong CSDL V du: Vi r, s lan lt la mot quan he cua Dathang, Khach ta co rang buoc toan ven sau R2: r[MAKH] s[MAKH] R2 r s 3 Them + Sa + + Xoa +

Rang buoc toan ven ve mien gia tr

Rang buoc toan ven co lien quan en mien gia tr cua cac thuoc tnh trong mot quan he. Rang buoc nay thng gap. Mot so he quan tr CSDL a t ong kiem tra mot so rang buoc loai nay.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU V du: Vi r la mot quan he cua Hoadon ta co rang buoc toan ven sau R3: t r t.TRIGIAHD > 0 Cuoi R3 r 4 Them + Sa + Xoa -

Trang 35

Rang buoc toan ven lien thuoc tnh

Rang buoc toan ven lien thuoc tnh la moi lien he gia cac thuoc tnh trong mot lc o quan he. V du: Vi r la mot quan he cua Hoadon ta co rang buoc toan ven sau R4: t r t.NGAYLAP <= t.NGAYXUAT Cuoi R4 Them Sa r + + 5 Rang buoc toan ven lien thuoc tnh lien quan he

Xoa -

Rang buoc loai nay la moi lien he gia cac thuoc tnh trong nhieu lc o quan he. V du: Vi r, s lan lt la quan he cua Dathang, Hoadon ta co rang buoc toan ven sau R5: t1 r, t2 s Neu t1.SODH = t2.SODH th t1.NGAYDH <= t2.NGAYXUAT Cuoi R5 Them Sa r + + s + + 6 Rang buoc toan ven ve thuoc tnh tong hp

Xoa + +

Rang buoc toan ven ve thuoc tnh tong hp c xac nh trong trng hp moi thuoc tnh A cua mot lc o quan he Q c tnh toan gia tr t cac thuoc tnh cua cac lc o quan he khac. III BAI TAP 1/ Hay tm cac rang buoc toan ven co trong CSDL cho cac bai tap c liet ke trong chng 3. 2/ QUAN LY THI TOT NGHIEP PTCS Mot phong giao duc huyen muon lap mot he thong thong tin e quan ly viec lam thi tot nghiep pho thong c s. Cong viec lam thi c to chc nh sau: Lanh ao phong giao duc thanh lap nhieu hoi ong thi (moi hoi ong thi gom mot trng hoac mot so trng gan nhau). Moi hoi ong thi co mot ma so duy nhat (MAHT), mot ma so hoi ong thi xac nh ten hoi ong thi(TENHT), ho ten chu tch hoi ong(TENCT), a ch (CHT),ien thoai(THT).

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 36

Moi hoi ong thi c bo tr cho mot so phong thi, moi phong thi co mot so hieu phong(SOPT) duy nhat, mot phong thi xac nh a ch phong thi (CPT). So hieu phong thi c anh so khac nhau tat ca cac hoi ong thi. Giao vien cua cac trng trc thuoc phong c ieu ong en cac hoi ong e coi thi, moi trng co the co hoac khong co th sinh d thi, moi trng co mot ma trng duy nhat (MATR), moi ma trng xac nh mot ten trng(TENTR),a ch (CTR), loai hnh ao tao (LHT) (Cong lap, chuyen, ban cong, dan lap, noi tru,). Giao vien cua mot trng co the lam viec tai nhieu hoi ong thi. Mot giao vien co mot ma giao vien(MAGV), mot ma giao vien xac nh ten giao vien (TENGV), chuyen mon giang day (CHUYENMON), chc danh trong hoi ong thi(CHUCDANH) Cac th sinh d thi co mot so bao danh duy nhat(SOBD), moi so bao danh xac nh ten th sinh(TENTS), ngay sinh (NGSINH), gii tnh (PHAI), moi th sinh c xep thi tai mot phong thi nhat nh cho tat ca cac mon, moi th sinh co the co chng ch nghe (CCNGHE) hoac khong (thuoc tnh CCNGHE kieu chuoi, CCNGHE=x neu th sinh co chng ch nghe va CCNGHE bang rong neu th sinh khong co chng ch nghe).Th sinh cua cung mot trng ch d thi tai mot hoi ong thi. Moi mon thi co mot ma mon thi duy nhat(MAMT), moi ma mon thi xac nh ten mon thi(TENMT). Gia s toan bo cac th sinh eu thi chung mot so mon do s giao duc quy nh. Moi mon thi c to chc trong mot buoi cua mot ngay nao o. ng vi moi mon thi mot th sinh co mot iem thi duy nhat(IEMTHI) Da vao phan tch tren, gia s ta co lc o CSDL sau: Q1: H(MAHT,TENHT, TENCT, CHT,THT) Q2: PT(SOPT,CPT,MAHT) Q3: TS(SOBD, TENTS,NGSINH,PHAI,CCNGHE, MATR,SOPT) Q4: MT(MAMT,TENMT,BUOI,NGAY) Q5: GV(MAGV,TENGV,CHUYENMON,CHUCDANH,MAHT,MATR) Q6: TR(MATR,TENTR,CTR,LHT) Q7: KQ(SOBD,MAMT,IEMTHI) Yeu cau: a) Hay xac nh khoa cho tng lc o quan he. b) Tm tat ca cac rang buoc toan ven co trong CSDL tren. c) Da vao lc o CSDL a thanh lap, hay thc hien cac cau hoi sau ay bang ngon ng ai so quan he. 1. Danh sach cac th sinh thi tai phong thi co so hieu phong thi (SOPT) la 100. Yeu cau cac thong tin:SOBD,TENTS,NGSINH,TENTR 2. Ket qua cua mon thi co ma mon thi (MAMT) la T cua tat ca cac th sinh co ma trng(MATR) la NTMK, ket qua c sap theo chieu giam dan cua iem thi(IEMTHI). Yeu cau cac thong tin:SOBD,TENTS, IEMTHI 3. Ket qua thi cua mot hoc sinh co SOBD la MK01. Yeu cau : TENMT,IEMTHI 4. Tong so th sinh co chng ch nghe(CCNGHE) cua moi trng, thong tin can c sap theo chieu tang dan cua TENTR. Yeu cau cac thong tin: MATR, TENTR, SOLUONGCC

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 37

Chng 4 . PHU THUOC HAM


(functional dependency)

Phu thuoc ham (functional dependency) la mot cong cu dung e bieu dien mot cach hnh thc cac rang buoc toan ven (van tat: rang buoc). Phng phap bieu dien nay co rat nhieu u iem, va ay la mot cong cu cc ky quan trong, gan chat vi ly thuyet thiet ke c s d lieu. Phu thuoc ham c ng dung trong viec giai quyet cac bai toan tm khoa, tm phu toi thieu va chuan hoa c s d lieu. I KHAI NIEM PHU THUOC HAM Cho quan he phanCong sau: phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH) Cushing 83 9/8 10:15a Cushing 116 10/8 1:25p Clark 281 8/8 5:50a Clark 301 12/8 6:35p Clark 83 11/8 10:15a Chin 83 13/8 10:15a Chin 116 12/8 1:25p Copely 281 9/8 5:50a Copely 281 13/8 5:50a Copely 412 15/8 1:25p Quan he phanCong dien ta phi cong nao lai may bay nao va may bay khi hanh vao thi gian nao. Khong phai s phoi hp bat ky nao gia phi cong, may bay va ngay gi khi hanh cung eu c chap nhan ma chung co cac ieu kien rang buoc qui nh sau: + Moi may bay co mot gi khi hanh duy nhat. + Neu biet phi cong, biet ngay gi khi hanh th biet c may bay do phi cong ay lai. + Neu biet may bay, biet ngay khi hanh th biet phi cong lai chuyen bay ay. Cac rang buoc nay la cac v du ve phu thuoc ham va c phat bieu lai nh sau: + MAYBAY xac nh GIOKH + {PHICONG,NGAYKH,GIOKH} xac nh MABAY + {MAYBAY,NGAYKH} xac nh PHICONG hay + GIOKH phu thuoc ham vao MAYBAY + MABAY phu thuoc ham vao {PHICONG,NGAYKH,GIOKH} + PHICONG phu thuoc ham vao {MAYBAY,NGAYKH} va c ky hieu nh sau: + {MAYBAY} GIOKH + {PHICONG,NGAYKH,GIOKH} MABAY + {MAYBAY,NGAYKH} PHICONG Trong ky hieu tren ta a ky hieu MAYBAY thay cho {MAYBAY}. Mot cach tong quat:

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU 1 nh ngha phu thuoc ham

Trang 38

Q(A1,A2,,An) la lc o quan he. X, Y la hai tap con cua Q+={A1,A2,,An}. r la quan he tren Q. t1,t2 la hai bo bat ky cua r. X Y (t1.X = t2.X t1.Y = t2.Y) (Ta noi X xac nh Y hay Y phu thuoc ham vao X (X functional determines Y,Y functional dependent on X ) Tnh chat: + phu thuoc ham X ung vi moi quan he r + phu thuoc ham Y ch ung tren quan he r co cung gia tr tren Y. V du: Quan he sau thoa man phu thuoc ham GIOKH phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH) Cushing 83 9/8 10:15a Cushing 116 10/8 10:15a Clark 281 8/8 10:15a Clark 301 12/8 10:15a Clark 83 11/8 10:15a Chin 83 13/8 10:15a Chin 116 12/8 10:15a Copely 281 9/8 10:15a Copely 281 13/8 10:15a Copely 412 15/8 10:15a tren thc te khong co quan he r nao thoa tnh chat tren nen t ay ve sau neu khong noi ro th vi mot quan he r bat ky ta luon xem phu thuoc ham Y luon luon khong thoa tren r. 2 Phu thuoc ham hien nhien (Trivial Dependencies) He qua: Neu X Y th X Y. Chng minh: Gia s t1.X = t2.X do X Y nen t1.Y = t2.Y theo nh ngha suy ra X Y Trong trng hp nay X Y c goi la phu thuoc ham hien nhien. V du phu thuoc ham X X la phu thuoc ham hien nhien. Vay vi r la quan he bat ky, F la tap phu thuoc ham thoa tren r, ta luon co F {cac phu thuoc ham hien nhien} 3 Thuat toan Satifies Cho quan he r va X, Y la hai tap con cua Q+. Thuat toan SATIFIES se tra ve tr true neu X Y ngc lai la false SATIFIES Vao: quan he r va hai tap con X,Y ra: true neu X Y, ngc lai la false SATIFIES(r,X,Y) 1. Sap cac bo cua quan he r theo X e cac gia tr giong nhau tren X nhom lai vi nhau

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 39

2. Neu tap cac bo cung gia tr tren X cho cac gia tr tren Y giong nhau th tra ve true ngc lai la False V du 1: SATIFIES(phanCong,MAYBAY,GIOKH) phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH) Cushing 9/8 83 10:15a Clark 11/8 83 10:15a Chin 13/8 83 10:15a Cushing 10/8 116 1:25p Chin 12/8 116 1:25p Clark 8/8 281 5:50a Copely 9/8 281 5:50a Copely 13/8 281 5:50a Clark 12/8 301 6:35p Copely 15/8 412 1:25p cho ket qua la true ngha la MAYBAYGIOKH V du 2: SATIFIES(phanCong,GIOKH,MAYBAY) phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH) Clark 281 8/8 5:50a Copely 281 9/8 5:50a Copely 281 13/8 5:50a Cushing 83 9/8 10:15a Clark 83 11/8 10:15a Chin 83 13/8 10:15a Cushing 116 10/8 1:25p Chin 116 12/8 1:25p Copely 412 15/8 1:25p Clark 301 12/8 6:35p cho ket qua la false ngha la khong co phu thuoc ham GIOKHMAYBAY 4 i Cac phu thuoc ham co the co Cach tm tat ca tap con cua Q+

Lc o quan he Phancong(PHICONG,MAYBAY,NGAYKH,GIOKH)co tap thuoc tnh Phancong+={PHICONG,MAYBAY,NGAYKH,GIOKH} va tat ca cac tap con co the co cua Phancong+ c cho bi bang sau:
PHICONG {PHICONG} MAYBAY {MAYBAY} {PHICONG,MAYBAY} NGAYKH {NGAYKH} {PHICONG,NGAYKH} {MAYBAY,NGAYKH} {PHICONG,MAYBAY,NGAYKH} GIOKH {GIOKH} {PHICONG,GIOKH} {MAYBAY,GIOKH} {PHICONG,MAYBAY,GIOKH} {NGAYKH,GIOKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} {PHICONG,MAYBAY,NGAYKH,GIOKH}

So tap con co the co cua Q+ = {A1,A2,...,An} la 2n

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU ii Cach tm tat ca cac phu thuoc ham co the co cua Q

Trang 40

ng vi moi tap con cua Phancong+ cho 2n = 24 = 16 phu thuoc ham co the co. So phu thuoc ham co the co la 24 * 24 = 16 * 16 = 256
{PHICONG} {MAYBAY} {MAYBAY,PHICONG} {NGAYKH} {PHICONG,NGAYKH} {MAYBAY,NGAYKH} {MAYBAY,PHICONG,NGAYKH} {GIOKH} {PHICONG,GIOKH} {MAYBAY,GIOKH} {MAYBAY,PHICONG,GIOKH} {NGAYKH,GIOKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,PHICONG,NGAYKH,GIOKH} {PHICONG} {PHICONG} {PHICONG} {PHICONG} {MAYBAY} {PHICONG} {MAYBAY,PHICONG} {PHICONG} {NGAYKH} {PHICONG} {PHICONG,NGAYKH} {PHICONG} {MAYBAY,NGAYKH} {PHICONG} {MAYBAY,PHICONG,NGAYKH} {PHICONG} {GIOKH} {PHICONG} {PHICONG,GIOKH} {PHICONG} {MAYBAY,GIOKH} {PHICONG} {MAYBAY,PHICONG,GIOKH} {PHICONG} {NGAYKH,GIOKH} {PHICONG} {PHICONG,NGAYKH,GIOKH} {PHICONG} {MAYBAY,NGAYKH,GIOKH} {PHICONG} {MAYBAY,PHICONG,NGAYKH,GIOKH} {MAYBAY} {MAYBAY} {PHICONG} {MAYBAY} {MAYBAY} {MAYBAY} {MAYBAY,PHICONG} {MAYBAY} {NGAYKH} {MAYBAY} {PHICONG,NGAYKH} {MAYBAY} {MAYBAY,NGAYKH} {MAYBAY} {MAYBAY,PHICONG,NGAYKH} {MAYBAY} {GIOKH} {MAYBAY} {PHICONG,GIOKH} {MAYBAY} {MAYBAY,GIOKH} {MAYBAY} {MAYBAY,PHICONG,GIOKH} {MAYBAY} {NGAYKH,GIOKH} {MAYBAY} {PHICONG,NGAYKH,GIOKH} {MAYBAY} {MAYBAY,NGAYKH,GIOKH} {MAYBAY} {MAYBAY,PHICONG,NGAYKH,GIOKH} {PHICONG,MAYBAY} {PHICONG,MAYBAY} {PHICONG} {PHICONG,MAYBAY} {MAYBAY} {PHICONG,MAYBAY} {PHICONG,MAYBAY} {PHICONG,MAYBAY} {NGAYKH} {PHICONG,MAYBAY} {PHICONG,NGAYKH} {PHICONG,MAYBAY} {MAYBAY,NGAYKH} PTHHN FFFFFFFFFFFFFFFPTHHN PTHHN FFFFFFFFFFFFFFPTHHN FPTHHN FFFFFF FF+ FFFFFPTHHN PTHHN PTHHN PTHHN FFF-

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU


{PHICONG,MAYBAY} {MAYBAY,PHICONG,NGAYKH} {PHICONG,MAYBAY} {GIOKH} {PHICONG,MAYBAY} {PHICONG,GIOKH} {PHICONG,MAYBAY} {MAYBAY,GIOKH} {PHICONG,MAYBAY} {MAYBAY,PHICONG,GIOKH} {PHICONG,MAYBAY} {NGAYKH,GIOKH} {PHICONG,MAYBAY} {PHICONG,NGAYKH,GIOKH} {PHICONG,MAYBAY} {MAYBAY,NGAYKH,GIOKH} {PHICONG,MAYBAY} {MAYBAY,PHICONG,NGAYKH,GIOKH} {NGAYKH} {NGAYKH} {PHICONG} {NGAYKH} {MAYBAY} {NGAYKH} {PHICONG,MAYBAY} {NGAYKH} {NGAYKH} {NGAYKH} {PHICONG,NGAYKH} {NGAYKH} {MAYBAY,NGAYKH} {NGAYKH} {MAYBAY,PHICONG,NGAYKH} {NGAYKH} {GIOKH} {NGAYKH} {PHICONG,GIOKH} {NGAYKH} {MAYBAY,GIOKH} {NGAYKH} {MAYBAY,PHICONG,GIOKH} {NGAYKH} {NGAYKH,GIOKH} {NGAYKH} {PHICONG,NGAYKH,GIOKH} {NGAYKH} {MAYBAY,NGAYKH,GIOKH} {NGAYKH} {MAYBAY,PHICONG,NGAYKH,GIOKH} {PHICONG,NGAYKH} {PHICONG,NGAYKH} {PHICONG} {PHICONG,NGAYKH} {MAYBAY} {PHICONG,NGAYKH} {PHICONG,MAYBAY} {PHICONG,NGAYKH} {NGAYKH} {PHICONG,NGAYKH} {PHICONG,NGAYKH} {PHICONG,NGAYKH} {MAYBAY,NGAYKH} {PHICONG,NGAYKH} {MAYBAY,PHICONG,NGAYKH} {PHICONG,NGAYKH} {GIOKH} {PHICONG,NGAYKH} {PHICONG,GIOKH} {PHICONG,NGAYKH} {MAYBAY,GIOKH} {PHICONG,NGAYKH} {MAYBAY,PHICONG,GIOKH} {PHICONG,NGAYKH} {NGAYKH,GIOKH} {PHICONG,NGAYKH} {PHICONG,NGAYKH,GIOKH} {PHICONG,NGAYKH} {MAYBAY,NGAYKH,GIOKH} {PHICONG,NGAYKH} {MAYBAY,PHICONG,NGAYKH,GIOKH} {MAYBAY,NGAYKH} {MAYBAY,NGAYKH} {PHICONG} {MAYBAY,NGAYKH} {MAYBAY} {MAYBAY,NGAYKH} {PHICONG,MAYBAY} {MAYBAY,NGAYKH} {NGAYKH} {MAYBAY,NGAYKH} {PHICONG,NGAYKH} {MAYBAY,NGAYKH} {MAYBAY,NGAYKH} {MAYBAY,NGAYKH} {MAYBAY,PHICONG,NGAYKH} {MAYBAY,NGAYKH} {GIOKH} {MAYBAY,NGAYKH} {PHICONG,GIOKH} {MAYBAY,NGAYKH} {MAYBAY,GIOKH} {MAYBAY,NGAYKH} {MAYBAY,PHICONG,GIOKH} {MAYBAY,NGAYKH} {NGAYKH,GIOKH} {MAYBAY,NGAYKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,NGAYKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,NGAYKH} {MAYBAY,PHICONG,NGAYKH,GIOKH} {PHICONG,MAYBAY,NGAYKH} {PHICONG,MAYBAY,NGAYKH} {PHICONG} {PHICONG,MAYBAY,NGAYKH} {MAYBAY} FF+ F+ F+ F+ FFFFFFFFPTHHN FFFFFFFFFFFPTHHN PTHHN FFPTHHN PTHHN FFFFFFFFFFPTHHN F PTHHN F+ PTHHN F+ PTHHN F+ F+ F+ F+ F+ F+ F+ F+ F+ PTHHN PTHHN PTHHN

Trang 41

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU


{PHICONG,MAYBAY,NGAYKH} {PHICONG,MAYBAY} {PHICONG,MAYBAY,NGAYKH} {NGAYKH} {PHICONG,MAYBAY,NGAYKH} {PHICONG,NGAYKH} {PHICONG,MAYBAY,NGAYKH} {MAYBAY,NGAYKH} {PHICONG,MAYBAY,NGAYKH} {PHICONG,MAYBAY,NGAYKH} {PHICONG,MAYBAY,NGAYKH} {GIOKH} {PHICONG,MAYBAY,NGAYKH} {PHICONG,GIOKH} {PHICONG,MAYBAY,NGAYKH} {MAYBAY,GIOKH} {PHICONG,MAYBAY,NGAYKH} {MAYBAY,PHICONG,GIOKH} {PHICONG,MAYBAY,NGAYKH} {NGAYKH,GIOKH} {PHICONG,MAYBAY,NGAYKH} {PHICONG,NGAYKH,GIOKH} {PHICONG,MAYBAY,NGAYKH} {MAYBAY,NGAYKH,GIOKH} {PHICONG,MAYBAY,NGAYKH} {MAYBAY,PHICONG,NGAYKH,GIOKH} .................................................... {PHICONG,NGAYKH,GIOKH} {PHICONG,NGAYKH,GIOKH} {PHICONG} {PHICONG,NGAYKH,GIOKH} {MAYBAY} {PHICONG,NGAYKH,GIOKH} {PHICONG,MAYBAY} {PHICONG,NGAYKH,GIOKH} {NGAYKH} {PHICONG,NGAYKH,GIOKH} {PHICONG,NGAYKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,NGAYKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,PHICONG,NGAYKH} {PHICONG,NGAYKH,GIOKH} {GIOKH} {PHICONG,NGAYKH,GIOKH} {PHICONG,GIOKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,GIOKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,PHICONG,GIOKH} {PHICONG,NGAYKH,GIOKH} {NGAYKH,GIOKH} {PHICONG,NGAYKH,GIOKH} {PHICONG,NGAYKH,GIOKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,PHICONG,NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} {PHICONG} {MAYBAY,NGAYKH,GIOKH} {MAYBAY} {MAYBAY,NGAYKH,GIOKH} {PHICONG,MAYBAY} {MAYBAY,NGAYKH,GIOKH} {NGAYKH} {MAYBAY,NGAYKH,GIOKH} {PHICONG,NGAYKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,NGAYKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,PHICONG,NGAYKH} {MAYBAY,NGAYKH,GIOKH} {GIOKH} {MAYBAY,NGAYKH,GIOKH} {PHICONG,GIOKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,GIOKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,PHICONG,GIOKH} {MAYBAY,NGAYKH,GIOKH} {NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} {PHICONG,NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} {MAYBAY,PHICONG,NGAYKH,GIOKH} ................ PTHHN PTHHN PTHHN PTHHN PTHHN F+ F+ F+ F+ F+ F+ F+ F+ PTHHN PTHHN F F+ PTHHN PTHHN F+ F+ PTHHN PTHHN F+ F+ PTHHN PTHHN F+ F+ PTHHN F+ PTHHN F+ PTHHN F+ PTHHN F+ PTHHN F+ PTHHN F+ PTHHN F+ PTHHN F+ ....

Trang 42

So phu thuoc ham co the co cua Q(A1,A2,...,An) la 2n x 2n =22n II HE LUAT DAN ARMSTRONG (Armstrong inference rule) Ngi ta thng dung F e ch tap cac phu thuoc ham cua lc o quan he Q. Ta co the anh so cac phu thuoc ham cua F la f1, f2, .., fm. Quy c rang ch can mo ta cac phu thuoc ham khong hien nhien trong tap F (cac phu thuoc ham hien nhien c ngam hieu la a co trong F). 1 Phu thuoc ham c suy dien logic t F Noi rang phu thuoc ham X Y c suy dien logic t F neu mot quan he r thoa man tat ca cac phu thuoc ham cua F th cung thoa phu thuoc ham X Y. Ky hieu F|= X Y. Bao ong cua F ky hieu F+ la tap tat ca cac phu thuoc ham c suy dien logic t F.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 43

Cac tnh chat cua tap F+ 1. Tnh phan xa: Vi moi tap phu thuoc ham F+ ta luon luon co F F+ 2. Tnh n ieu: Neu F G th F+ G+ 3. Tnh luy ang: Vi moi tap phu thuoc ham F ta luon luon co (F+)+ = F+. Goi G la tap tat ca cac phu thuoc ham co the co cua r, phan phu cua F ky hieu F- = G - F+ Chng minh 1. X Y F r thoa X Y X Y F+ 2. Neu X Y la phu thuoc ham thuoc F+ ta phai chng minh X Y thuoc G+ Gia s r thoa tat ca cac phu thuoc ham cua G (1) r thoa tat ca phu thuoc ham cua F v F G r thoa phu thuoc ham X Y (2) v X YF+ (1) va (2) X Y G+ F+ G+ 3. F F+ (tnh phan xa) F+ (F+)+ (1) + + + Neu X Y (F ) (2) X Y F that vay: (3) Gia s r thoa tat ca cac phu thuoc ham cua F (4) + r thoa tat ca cac phu thuoc ham cua F (theo nh ngha) r thoa tat ca cac phu thuoc ham cua (F+)+ (theo nh ngha) r thoa X Y (v (2)) X Y F+ (1) va (3) (F+)+ = F+ 2 He luat dan Armstrong He luat dan la mot phat bieu cho biet neu mot quan he r thoa man mot vai phu thuoc ham th no phai thoa man phu thuoc ham khac. Vi X,Y,Z,W la tap con cua Q+. r la quan he bat ky cua Q. Ta co 6 luat dan sau: 1. Luat phan xa (reflexive rule): X X 2. Luat them vao (augmentation rule): Cho X Y XZ Y 3. Luat hp (union rule): Cho X Y, X Z X YZ 4. Luat phan ra (decomposition rule): Cho X YZ X Y 5. Luat bac cau (transitive rule): Cho X Y, Y Z X Z 6. Luat bac cau gia (pseudo transitive rule): Cho X Y, YZ W XZ W He tien e Armstrong (Armstrongs Axioms) gom 3 luat: (1), (2) va (5) Chng minh Vi t1,t2 la hai bo bat ky cua quan he r. Luat phan xa: Ta co (t1.X = t2.X t1.X = t2.X) theo nh ngha suy ra X X Luat them vao: gia s co t1.XZ = t2.XZ (1) t1.X = t2.X t1.Y = t2.Y (do X Y) (2) XZ Y (do (1) (2)) Luat hp: gia s co t1.X = t2.X (1) t1.X = t2.X va t1.Z = t2.Z t1.XZ = t2.XZ (2) X YZ (do (1) (2)) = t2.X (1) Luat phan ra: ga s co: t1.X t1.YZ = t2.YZ (do X YZ)

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 44

t1.Y = t2.Y (2) X Y (do (1) (2)) Luat bac cau: gia s co t1.X = t2.X (1) t1.Y = t2.Y t1.Z = t2.Z (2) X Z (do (1) (2)) Luat bac cau gia: gia s co: t1.XZ = t2.XZ (1) t1.X = t2.X va t1.Z = t2.Z (2) = t2.Y (do X Y) (3) t1.Y t1.YZ = t2.YZ (Ket hp (2) va (3)) = t2.W (do YZ W) (4) t1.W XZ W Trong 6 luat tren, ch can 3 luat 1, 2 va 6 la u, ngha la cac luat con lai co the suy dan t ba luat nay. i He luat dan Armstrong la ung Noi rang X Y la phu thuoc ham c suy dien nh vao luat dan Armstrong neu ton tai cac tap phu thuoc ham F0 F1 ... Fn sao cho X Y Fn vi F0,F1,...,Fn lan lt c hnh thanh thoa phng phap sau: Bc 1: F0 = F Bc 2:chon mot so phu thuoc ham trong Fi ap dung he luat dan Armstrong e thu c mot so phu thuoc ham mi. at Fi+1= Fi {cac phu thuoc ham mi} V du: Cho F = {AB C,C B,BC A} th co F0 F1 F2 sao cho C A F2 F0 = {AB C,C B, BC A} ap dung luat hp cho C B va C C F1 = {AB C,C B, BC A, C BC} ap dung luat bac cau. F2 = {AB C,C B, BC A, C BC, C A} He qua: He luat dan Armstrong la ung ngha la neu F la tap cac phu thuoc ham ung tren quan he r va X Y la mot phu thuoc ham c suy dien t F nh he luat dan Armstrong th X Y ung tren quan he r. Vay X Y la phu thuoc ham c suy dien logic t F Phan tiep theo chung ta se chng minh he luat dan Armstrong la ay u, ngha la moi phu thuoc ham X Y c suy dien logic t F se c suy dien t F nh he luat dan Armstrong. ii Bao ong cua tap thuoc tnh X (closures of attribute sets)
(a) nh ngha

Q la lc o quan he, r la quan he tng ng, F la tap cac phu thuoc ham trong Q. X,Ai la cac tap con cua Q+. + Bao ong cua tap thuoc tnh X oi vi F ky hieu la X+ (hoac X F ) c nh ngha nh sau: X+ = Ai vi X Ai la phu thuoc ham c suy dien t F nh he tien e Armstrong Tnh chat: + bao ong cua Q la Q+
(b)Cac tnh chat cua bao ong

Neu X,Y la cac tap con cua tap thuoc tnh Q+ th ta co cac tnh chat sau ay: 1. Tnh phan xa: X X+

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU 2. Tnh n ieu: 3. Tnh luy ang: 4. 5. 6. 7. 8. Chng minh: 1. 2. 3. Neu X Y th X++ = X+ (XY)+ X+Y+ (X+Y)+ = (XY+)+ X Y Y+ X X+ va X+ X + = Y+ X X + Y+

Trang 45

= (X+Y+)+ X+ X Y va Y X

X X X+ X A X+ X A Y A A Y+ A X++ X+ A va X X+ (ap dung 8) X A AX+ X++ X+. Ap dung 1 X++ X+ ............................................... 7. X A1 va X A2 X A1A2 .... XAi = X+ X+ X X+ X (Phu thuoc ham hien nhien) ...............................................
(c) Thuat toan tm bao ong

Tnh lien tiep tap cac tap thuoc tnh X0,X1,X2,... theo phng phap sau: Bc 1: X0 = X Bc 2: lan lt xet cac phu thuoc ham cua F Neu YZ co Y Xi th Xi+1 = Xi Z Loai phu thuoc ham Y Z khoi F Bc 3: Neu bc 2 khong tnh c Xi+1 th Xi chnh la bao ong cua X Ngc lai lap lai bc 2 V du 1: Cho lc o quan he Q(ABCDEGH) va tap phu thuoc ham F F = { f1 : B A f2 : DA CE D H f3 : f4 : GH C AC D } f5 : Tm bao ong cua cac tap X = {AC} da tren F. Giai: Bc 1: X0 = AC Bc 2: Do f1, f2, f3, f4 khong thoa. f5 thoa v X+ AC X1 = AC D = ACD Lap lai bc 2: f1 khong thoa, f2 thoa v X1 AD: X2 = ACD CE = ACDE f3 thoa v X2 D X3 = ACDE H = ACDEH f4 khong thoa, f5 khong xet v a thoa Lap lai bc 2: f2,f3 khong xet v a thoa, f1,f4 khong thoa,f5 khong xet v a thoa.Trong bc nay X3 khong thay oi => X+=X3={ACDEH} la bao ong cua X V du 2:

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU Q(A,B,C,D,E,G) F = {f1: A C; f2: A EG; f3: B D; f4: G E} X = {A,B}; Y = {C,G,D} Ket qua: X+ = {ABCDEG} Y+ = {CGDE}

Trang 46

Thuat toan tm bao ong cho ket qua Xi = X+ Chng minh 1. Ta chng minh Xi X+ bang phng phap qui nap. Bc c s chng minh X X0 Theo tnh phan xa cua he luat dan th X X theo thuat toan th X0 = X X X0 Vay X0 X+ Bc qui nap gia s co X Xi-1 (1) ta phai chng minh X Xi Theo thuat toan tm bao ong th co fj = Xj Yj e Xi-1 Xj va Xi = Xi-1 Yj Xi-1 Yj (2).(1)va (2) X Yj (3) (1) va (3) X Xi-1Yj = Xi X Xi Vay Xi X+ 2. Ta chng minh A X+ A Xi e ket luan Xi X+ A X+ nen co mot phu thuoc ham X A. Theo thuat toan tm bao ong th X Xi A Xi 1. Q la lc o quan he. F la tap phu thuoc ham, A la thuoc tnh ch xuat hien ve phai cua cac phu thuoc ham trong F th X+ = (X A)+ A 2. Q la lc o quan he. F la tap phu thuoc ham, X la tap con cua Q+ va Y = {cac thuoc tnh xuat hien ve phai cua cac phu thuoc ham trong F} th X+ X Y. Chng minh 1. Theo thuat toan tm bao ong th bao ong X+ hay (X-A)+ c hnh thanh qua mot so bc. Ta chng minh bieu thc X+ = (X A)+ A theo qui nap. Bc c s: X0 = X, (X-A)0 = X - A X0 =(X - A)0 A ung Bc qui nap: gia s ta co Xi-1 =(X - A)i-1 A. Bao ong Xi c hnh thanh do co fj = Xj Yj e: Xi-1 Xj va Xi = Xi-1 Yj = (X - A)i-1 A Yj (1). S hnh thanh Xi luon keo theo s hnh thanh (X-A)i v: Xi-1 = (X - A)i-1 A Xj do Xj khong cha A nen: (X - A)i-1 Xj vay (X - A)i = (X - A)i-1 Yj (2) (1) va (2) cho: Xi = (X - A)i A la ieu phai chng minh 2. Bc c s: X0 = X X0 X Y Bc qui nap: gia s co Xi-1 X Y ta chng minh Xi X Y. Bao ong Xi c hnh thanh do co fj = Xj Yj e:
(e) He qua

(d)nh ly

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 47

Xi-1 Xj va Xi = Xi-1 Yj X Y Yj do Yj la ve phai cua phu thuoc ham nen Y Yj = Y vay Xi X Y 3 i He luat dan Armstrong la ay u nh ly

He luat dan Armstrong la ay u ngha la moi phu thuoc ham X Y c suy dien logic t F se c suy dien t F nh he luat dan Armstrong. Chng minh: e chng minh X Y c suy dien t F nh he luat dan Armstrong ta chng minh bang phng phap phan chng ngha la neu X Y khong suy dien c t he luat dan Armstrong th co quan he r thoa cac phu thuoc ham F nhng khong thoa phu thuoc ham X Y (ieu nay nghch ly vi gia thuyet la moi quan he r thoa cac phu thuoc ham trong F th r cung thoa phu thuoc ham X Y). That vay gia s Q(A1,A2,...,An) la lc o quan he, ai,bi la cac gia tr khac nhau tren mien gia tr Ai. r la quan he tren Q co hai bo t va tc xac nh nh sau: t=(a1,a2,...,an) a Neu A i X + t '.Ai = i bi Ngc lai Vay quan he r co t.X = t.X nhng t.Y t.Y (t.Y gom cac gia tr ai con t.Y phai co t nhat mot bi neu khong Y X+ X Y c suy dan t he luat dan Armstrong ). Nh vay r khong thoa phu thuoc ham X Y. Bay gi ta chng minh quan he r thoa moi phu thuoc ham trong F. Goi W Z la phu thuoc ham trong F. Neu W X+ t.W t.W menh e (t.W = t.W t.Z = t.Z)ung Neu W X+ t.Z = t.Z = bo cac ai menh e (t.W = t.W t.Z = t.Z)ung ii He qua: Bao ong cua tap thuoc tnh X oi vi F la: X+ = Ai vi X Ai la phu thuoc ham c suy dien logic t F Tnh chat X Y F+ Y X+ Chng minh X Y co k sao cho Y = Ak Ai = X+ Y X+ X+ = Y (X+ - Y) X Y (X+ - Y) X Y Bai toan thanh vien Noi rang X Y la thanh vien cua F neu X Y F+ Mot van e quan trong khi nghien cu ly thuyet CSDL la khi cho trc tap cac phu thuoc ham F va mot phu thuoc ham X Y, lam the nao e biet X Y co thuoc F+ hay khong bai toan nay c goi la bai toan thanh vien. e tra li cau hoi nay ta co the tnh F+ roi xac nh xem X Y co thuoc F+ hay khong. Viec tnh F+ la mot cong viec oi hoi thi gian va cong sc. Tuy nhien, thay v tnh F+ chung ta co the dung thuat toan sau e xac nh X Y co la thanh vien cua F hay khong. Thuat toan nay s dung tnh chat va chng minh tren. Thuat toan xac nh f = XY co la thanh vien cua F hay khong

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 48

Bc 1: tnh X+ Bc 2: so sanh X+ vi Y neu X+ Y th ta khang nh X Y la thanh vien cua F Ban oc hay nam that ky thuat toan nay no m au cho mot loat ng dung ve sau. III THUAT TOAN TM F+ 1 Thuat toan c ban e tnh bao ong F+ cua tap cac phu thuoc ham F ta thc hien cac bc sau: Bc 1: Tm tat ca tap con cua Q+ Bc 2: Tm tat ca cac phu thuoc ham co the co cua Q. Bc 3: Tm bao ong cua tat ca tap con cua Q. Bc 4: Da vao bao ong cua tat ca cac tap con a tm e xac nh phu thuoc ham nao thuoc F+ V du 3: Cho lc o quan he Q(A,B,C) F = {AB C,C B} la tap phu thuoc ham tren Q. F+ c tnh lan lt theo cac bc tren la nh sau: Bc 1: Cac tap con cua Q+ A B C {A} {B} {C} {A,B} {A,C} {B,C} {A,B,C} Bc 2: cac phu thuoc ham co the co cua F (khong ke cac phu thuoc ham hien nhien) AB ABC BC ABCF CA CBCF+ ACBCF+ BCAC + + AAB AABC BAC ABACF CBF CABC ACABCF BCABC + + AC BA BBC ABBCF CAB ACBF BCA + + AAC BAB BABC ABABCF CAC ACABF BCAB Bc 3: bao ong cua cac tap con cua Q oi vi F = A+ = A C+ = BC + = B AC+ = ABC ABC+ =ABC B+ + AB = ABC BC+ = BC Bc 4: F = {AB C,C B} suy ra: F+ = {ABC,ABAC,ABBC,ABABC,CB,CBC,ACB,ACAB,ACBC,ACABC} 2 Thuat toan cai tien Da vao thuat toan c ban tren, ta nhan thay co the tnh F+ theo cac bc sau: Bc 1: Tm tat ca tap con cua Q+ Bc 2: Tm bao ong cua tat ca tap con cua Q+. Bc 4: Da vao bao ong cua cac tap con a tm e suy ra cac phu thuoc ham thuoc F+. V du bao ong A+ = A ch gom cac phu thuoc ham hien nhien bao ong {AB}+ = ABC cho cac phu thuoc ham khong hien nhien sau ABC,ABAC,ABBC,ABABC (Tm tat ca cac tap con cua {ABC} roi bo cac tap con cua {AB}) Cac tap con cua {ABC} la: , {A},{B},{AB},{C},{AC},{BC},{ABC} Bo cac tap con cua {AB} la: , {A},{B},{AB},{C},{AC},{BC},{ABC} Cac tap con lai chnh la ve phai cua phu thuoc ham co ve trai la AB

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU IV BAI TAP

Trang 49

1/ Cho quan he sau: r( A B C D E) a1 b1 c1 d1 e1 a1 b2 c2 d2 d1 a2 b1 c3 d3 e1 a2 b1 c4 d3 e1 a3 b2 c5 d1 e1 Phu thuoc ham nao sau ay thoa r: AD,ABD,CBDE,EA,AE 2/ Cho Q+={ABCD} a) Tm tat cac cac tap con cua Q b) Tm tat ca cac phu thuoc ham co the co cua Q (khong liet ke phu thuoc ham hien nhien) 3/ Tm bao ong F+ cua quan he phanCong(PHICONG,MAYBAY,NGAYKH,GIOKH) 4/ Cho F = {ABC,BD,CDE,CEGH,GA} a) Hay chng to phu thuoc ham ABE,ABG c suy dien t F nh luat dan Armstrong b) Tm bao ong cua AB(vi bai toan khong noi g ve lc o quan he Q ta ngam hieu Q+ la tap thuoc tnh co trong F ngha la Q+={ABCDEGH}) 5/ Cho F = {AD,ABDE,CEG,EH}. Hay tm bao ong cua AB. 6/ Cho F={ABE,AGI,BEI,EG,GIH}. a) Hay chng to phu thuoc ham ABGH c suy dien t F nh luat dan Armstrong b) Tm bao ong cua {AB} 7/ Cho F={AD,ABE,BIE,CDI,EC} tm bao ong cua {AE}+={ACDEI}

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 50

Chng 5 . PHU CUA TAP PHU THUOC HAM


I NH NGHA Noi rang hai tap phu thuoc ham F va G la tng ng (Equivalent) neu F+ = G+ ky hieu F G. Ta noi F phu G neu F+ G+ Thuat toan xac nh F va G co tng ng khong Bc 1: Vi moi phu thuoc ham XY cua F ta xac nh xem XY co la thanh vien cua G khong Bc 2: Vi moi phu thuoc ham XY cua G ta xac nh xem XY co la thanh vien cua F khong Neu ca hai bc tren eu ung th F G V du 1: Cho lc o quan he Q(ABCDE) hai tap phu thuoc ham: F={ABC,AD,CDE} va G = {ABCE,AABD,CDE} a) F co tng ng vi G khong? b) F co tng ng vi G={ABCDE} khong? Giai: + a) Ta co AG =ABCDE trong G+ co ABC va AD F G+ F+ G+ (1).
+ AF =ABCDE trong F+ co ABCE va AABD F+ G F+ G+ (2)

(1) va(2) F+ = G+ F G. + b) Do (CD) G ' = CD G+ khong cha phu thuoc ham CDE F khong tng ng vi G II PHU TOI THIEU CUA MOT TAP PHU THUOC HAM (minimal cover) 1 Phu thuoc ham co ve trai d tha

F la tap cac phu thuoc ham tren lc o quan he Q, Z la tap thuoc tnh, ZYF. Noi rang phu thuoc ham Z Y co ve trai d tha (phu thuoc khong ay u) neu co mot AZ sao cho: F F-{Z Y}{(Z-A) Y} Ngc lai Z Y la phu thuoc ham co ve trai khong d tha hay Y phu thuoc ham ay u vao Z hay phu thuoc ham ay u. V du 2: Q(A,B,C) F={ABC; BC} F F-{ABC}{(AB-A)C}={BC} AB C la phu thuoc ham khong ay u B C la phu thuoc ham ay u Chu y: phu thuoc ham co ve trai cha mot thuoc tnh la phu thuoc ham ay u. V du 3: cho tap phu thuoc ham F = {A BC,B C,AB D} th phu thuoc ham ABD co ve trai d tha B v: F F {AB D}{A D} {A BC,B C,A D} Ta noi F la tap phu thuoc ham co ve trai khong d tha neu F khong cha phu thuoc ham co ve trai d tha. Thuat toan loai khoi F cac phu thuoc ham co ve trai d tha.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 51

Bc 1: lan lt thc hien bc 2 cho cac phu thuoc ham XY cua F Bc 2:Vi moi tap con that s X cua X. Neu X'Y F+ th thay XY trong F bang X'Y thc hien lai bc 2 V du: v du 3 phu thuoc ham ABD co A+=ABCD ADF+. Trong F ta thay ABD bang AD F {A BC,B C,A D} 2 Tap phu thuoc ham co ve phai mot thuoc tnh (the right sides of dependencies has a single attribute) Moi tap phu thuoc ham F eu tng ng vi mot tap phu thuoc ham G ma ve phai cua cac phu thuoc ham trong G ch gom mot thuoc tnh. V du 4: cho F = {A BC,B C,AB D} ta suy ra F {A B, A C ,B C,AB D} = G G c goi la tap phu thuoc ham co ve phai mot thuoc tnh. 3 Tap phu thuoc ham khong d tha Noi rang F la tap phu thuoc ham khong d tha neu khong ton tai F F sao cho F F. Ngc lai F la tap phu thuoc ham d tha. V du: cho F = {ABC, BD, ABD} th F d tha v F F= {ABC, BD} Thuat toan loai khoi F cac phu thuoc ham d tha: Bc 1: Lan lt xet cac phu thuoc ham X Y cua F Bc 2: neu X Y la thanh vien cua F - {X Y} th loai X Y khoi F Bc 3: thc hien bc 2 cho cac phu thuoc ham tiep theo cua F 4 Tap phu thuoc ham toi thieu (minimal cover) F c goi la mot tap phu thuoc ham toi thieu (hay phu toi thieu) neu F thoa ong thi ba ieu kien sau: 1. F la tap phu thuoc ham co ve trai khong d tha 2. F la tap phu thuoc ham co ve phai mot thuoc tnh. 3. F la tap phu thuoc ham khong d tha Thuat toan tm phu toi thieu cua mot tap phu thuoc ham Bc 1: loai khoi F cac phu thuoc ham co ve trai d tha. Bc 2: Tach cac phu thuoc ham co ve phai tren mot thuoc tnh thanh cac phu thuoc ham co ve phai mot thuoc tnh. Bc 3: loai khoi F cac phu thuoc ham d tha. Chu y: Theo thuat toan tren, t mot tap phu thuoc ham F luon tm c t nhat mot phu toi thieu Ftt e FFtt va neu th t loai cac phu thuoc ham trong tap F la khac nhau th co the se thu c nhng phu toi thieu khac nhau. V du 5: Cho lc o quan he Q(A,B,C,D) va tap phu thuoc F nh sau: F={AB CD,B C,C D} Hay tnh phu toi thieu cua F. Giai: Bc 1: ABCD la phu thuoc ham co ve trai d tha?

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU B CD F+? tra li: B+=BCD B CD F+ Vay AB CD la phu thuoc ham co ve trai d tha A ket qua cua bc 1 la: F{B CD;B C;C D} Bc 2: ket qua cua bc 2 la: F{B D; B C;C D}=F1tt Bc 3: trong F1tt, B C la phu thuoc ham d tha? B C G+? vi G = F1tt - {B C}={B D;C D} BG+=BD B C G+ trong F1tt B C khong d tha. trong F1tt,B D la phu thuoc ham d tha? B D G+? vi G = F1tt - {B D}={B C;C D} BG+=BCD B D G+ trong F1tt,B D d tha. ket qua cua bc 3 cho phu toi thieu: F{B C;C D}=Ftt V du 6: Cho lc o quan he Q(MSCD,MSSV,CD,HG) va tap phu thuoc F nh sau: F = {MSCD CD; CD MSCD; CD,MSSV HG; MSCD,HG MSSV; CD,HG MSSV; MSCD,MSSV HG} Hay tm phu toi thieu cua F ket qua: Ftt = {MSCD CD; CD MSCD; CD,HG MSSV; MSCD,MSSV HG} III KHOA CUA LC O QUAN HE (Key) 1 nh Ngha Q(A1,A2,,An)la lc o quan he. Q+ la tap thuoc tnh cua Q. F la tap phu thuoc ham tren Q. K la tap con cua Q+. Noi rang K la mot khoa cua Q neu: 1. K+ = Q+ va 2. Khong ton tai K' K sao cho K+= Q+

Trang 52

Tap thuoc tnh S c goi la sieu khoa neu S K Thuoc tnh A c goi la thuoc tnh khoa neu AK vi K la khoa bat ky cua Q. Ngc lai A c goi la thuoc tnh khong khoa. Mot lc o quan he co the co nhieu khoa va tap thuoc tnh khong khoa cung co the bang rong.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 53

(Khi thiet ke mot he thong thong tin, th viec lap lc o c s d lieu at en mot tieu chuan nao o la mot viec lam quan trong. Viec xac nh chuan cho mot lc o quan he co lien quan mat thiet vi thuat toan tm khoa). Thuat toan tm mot khoa cua mot lc o quan he Q Bc 1: gan K = Q+ Bc 2: A la mot thuoc tnh cua K, at K = K A. Neu K+= Q+ th gan K = K' thc hien lai bc 2 Neu muon tm cac khoa khac (neu co) cua lc o quan he, ta co the thay oi th t loai bo cac phan t cua K. V du 7: Q(A,B,C,D,E,G,H,I)F={AC B;BI ACD;ABCD;HI;ACEBCG;CGAE} Tm K Lan lt loai cac thuoc tnh trong K theo th t sau: A, B, D, E, I Ta c mot khoa la cua lc o quan he la {C,G,H} (Lu y la thuat toan nay ch nen s dung trong trng hp ch can tm mot khoa). 2 i Thuat toan tm tat ca khoa Thuat toan c ban

Bc 1: Xac nh tat ca cac tap con khac rong cua Q+. Ket qua tm c gia s la cac tap thuoc tnh X1, X2, ,X2n-1 Bc 2: Tm bao ong cua cac Xi Bc 3: Sieu khoa la cac Xi co bao ong ung bang Q+. Gia s ta a co cac sieu khoa la S = {S1,S2,,Sm} Bc 4: Xay dng tap cha tat ca cac khoa cua Q t tap S bang cach xet moi Si, Sj con cua S (i j), neu Si Sj th ta loai Sj (i,j=1..n), ket qua con lai cua S chnh la tap tat ca cac khoa can tm. V du 8: Tm tat ca cac khoa cua lc o quan he va tap phu thuoc ham nh sau: Q(C,S,Z); F = {f1:CS Z; f2:Z C} Xi

X i+

Sieu khoa

khoa

C C S S CS CSZ CS CS Z ZC CZ CZ SZ SZC SZ SZ CSZ CSZ CSZ Vay lc o quan he Q co hai khoa la: {C,S} va {S,Z} Thuat toan tren th de hieu, de cai at, tuy nhien neu vi n kha ln th phep duyet e tm ra tap tat ca cac tap con cua tap Q+ la khong hieu qua. Do vay can thu hep khong gian duyet. Chung ta se nghien cu thuat toan cai tien theo hng giam so thuoc tnh cua tap can duyet tat ca cac tap con. ii Thuat toan cai tien Trc khi i vao thuat toan cai tien, ta can quan tam mot so khai niem sau:

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 54

+ Tap thuoc tnh nguon (TN) cha tat ca cac thuoc tnh co xuat hien ve trai va khong xuat hien ve phai cua cac phu thuoc ham va cac thuoc tnh khong xuat hien ca ve trai lan ve phai cua cac phu thuoc ham. + Tap thuoc tnh ch (TD) cha tat ca cac thuoc tnh co xuat hien ve phai va khong xuat hien ve trai cua cac phu thuoc ham. + Tap thuoc tnh trung gian (TG) cha tat ca cac thuoc tnh xuat hien ca ve trai lan ve phai cua cac phu thuoc ham. He qua: Neu K la khoa cua Q th TN K va TD K = Chng minh TN K Theo he qua 2 cua thuat toan tm bao ong ta co K+ KTDTG Ta chng minh A TN A K. That vay: Neu A K K+ KTDTG Q+-A K khong la khoa mau thuan Chng minh TD K = Gia s co thuoc tnh A TD K ta se dan en ieu mau thuan. That vay: Theo he qua 1 cua thuat toan tm bao ong th K+ = (K-A)+ A A TD co X la ve trai cua mot phu thuoc ham trong F sao cho X A (1) va A X X K+ = (K-A)+ A v A X X (K-A)+ (K-A) X (2) (1) va (2) cho (K-A) A A(K-A)+ (K-A)+ A = (K-A)+ K+ = (K-A)+ mau thuan vi ieu K la khoa. Da vao he qua tren ta co thuat toan tm tat ca khoa sau: D lieu vao: Lc o quan he Q va tap phu thuoc ham F D lieu ra: Tat ca cac khoa cua quan he Thuat toan tm tat ca khoa cua mot lc o quan he Bc 1: tao tap thuoc tnh nguon TN, tap thuoc tnh trung gian TG Bc 2: if TG = then lc o quan he ch co mot khoa K K = TN ket thuc Ngc lai Qua bc 3 Bc 3: tm tat ca cac tap con Xi cua tap trung gian TG Bc 4: tm cac sieu khoa Si bang cach Xi if (TN Xi)+ = Q+ then Si = TN Xi Bc 5: tm khoa bang cach loai bo cac sieu khoa khong toi tieu Si, Sj S if Si Sj then Loai Sj ra khoi Tap sieu khoa S S con lai chnh la tap khoa can tm.
V du 9: Giai lai bai tap v du 8 Ap dung thuat toan cai tien ta co li giai nh sau: TN = {S}; TG = {C,Z} Goi Xi la cac tap con cua tap TG: Xi (TN Xi) (TN Xi)+ S S

Sieu khoa khoa

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU C SC Q+ Z SZ Q+ CZ SCZ Q+ Ket qua quan he tren co hai khoa la : {S,C} va {S,Z} IV BAI TAP SC SZ SCZ SC SZ

Trang 55

1/ Chng minh cac tnh chat sau: a) Tnh cong ay u X Y va Z W XZ YW b) Tnh tch luy X Y va Y ZW X YZW 2/ Cho G={ABC,AB,BC,AC}. F={ABC,AB,BC} co tng ng vi G khong? 3/ Cho lc o CSDL Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN) F={NGAY,GIO,PHONG MONHOC MONHOC,NGAY GIAOVIEN NGAY,GIO,PHONG GIAOVIEN MONHOC GIAOVIEN} a) Tnh {NGAY,GIO,PHONG}+ ; {MONHOC}+ b) Tm phu toi thieu cua F c) Tm tat ca cac khoa cua Kehoach 4/ Cho lc o CSDL Q(TENTAU,LOAITAU,MACHUYEN,LUONGHANG,BENCANG,NGAY) F={TENTAU LOAITAU MACHUYEN TENTAU, LUONGHANG TENTAU,NGAY BENCANG, MACHUYEN} a) Hay tm tap phu toi thieu cua F b) Tm tat ca cac khoa cua Q 5/ Q(A,B,C,D,E,G) Cho F={ABC;CA;BCD;ACDB;DEG;BEC;CGBD;CE AG} X={B,D}, X+=? Y={C,G}, Y+=? 6/ cho lc o quan he Q va tap phu thuoc ham F a) F={ABE;AGI;BEI;EG;GI H} chng minh rang AB GH. b) F={ABC;BD;CDE;CEGH;GA}chng minh rang AB E; AB G 7/ Cho quan he r A B C D x u x Y y x z x z y y y y z w z Trong cac phu thuoc ham sau ay, PTH nao khong thoa A B; A C; B A; C D; D C; D A 8/ Hay tm tat ca cac khoa cho lc o quan he sau: Q(BROKER,OFFICE,STOCK,QUANTITY,INVESTOR,DIVIDENT)

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU F={STOCK INVESTOR INVESTOR,STOCK BROKER DIVIDENT BROKER QUANTITY OFFICE }

Trang 56

9/ Xet lc o quan he va tap phu thuoc d lieu: Q(C,T,H,R,S,G) f={ f1: C T; f2: HR C; f4: CS G; f5: HS R} Tm phu toi thieu cua F

f3: HT R;

10/ Q(A,B,C,D,E,H) F={A E; C D; E DH} Chng minh K={A,B,C} la khoa duy nhat cua Q 11/ Q(A,B,C,D) F={ABC; DB; CABD} Hay tm tat ca cac khoa cua Q 12/ Q(A,B,C,D,E,G) F={ABC;C A;BCD;ACDB;DEG;BEC;CGBD;CEG} Hay tm tat ca cac khoa cua Q. 13/ Xac nh phu toi thieu cua tap phu thuoc ham sau: a) Q(A,B,C,D,E,G), F={ABC;CA;BCD;ACDB;DEG;BEC;CGBD;CEAG} b) Q(A,B,C) F={AB,AC,BA,CA,BC} 14/ Xac nh phu toi thieu cua cac tap phu thuoc ham sau: a) Q1(ABCDEGH) F1={A H,ABC,BCD;GB} b) Q2(ABCSXYZ) F2={SA;AXB;SB;BYC;CZX} c) Q3(ABCDEGHIJ) F3={BGD;GJ;AIC;CEH;BDG;JHA; DI } d) Q4(ABCDEGHIJ) F4={BHI;GCA;IJ;AEG;DB;IH}

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 57

Chng 6 . CHUAN HOA C S D LIEU


I DANG CHUAN CUA LC O QUAN HE (normal forms for relation schemes) Trong thc te, mot ng dung cu the co the c thiet ke thanh nhieu lc o c s d lieu khac nhau, va tat nhien chat lng thiet ke cua cac lc o CSDL nay cung khac nhau. Chat lng thiet ke cua mot lc o CSDL co the c anh gia da tren nhieu tieu chuan trong o s trung lap thong tin va chi ph kiem tra cac rang buoc toan ven la hai tieu chuan quan trong. Sau ay la mot so tieu chuan e anh gia o tot/xau cua mot lc o quan he. Trc tien ta tm hieu mot so khai niem lien quan: 1 i nh ngha cac dang chuan Dang Chuan Mot (First Normal Form)

Mot lc o quan he Q dang chuan 1 neu toan bo cac thuoc tnh cua moi bo eu mang gia tr n. V du 1: Xet quan he
MASV 99023 HOVATEN NGUYENTHITHU KHOA CONG NGHE THONG TIN TENMONHOC KY THUAT LAP TRINH TOAN ROI RAC CO SO DU LIEU VI XULY DIEMTHI 6 8 4 4

99030

LE VAN THANH

DIEN TU

Quan he nay khong at chuan 1 v cac thuoc tnh TENMONHOC, DIEMTHI cua bo th nhat khong mang gia tr n (chang han sinh vien NGUYEN THI THU co thuoc tnh TENMONHOC la KY THUAT LAP TRINH, TOAN ROI RAC, CO SO DU LIEU). Ta hoan toan co the a quan he tren ve dang chuan 1 nh sau:
MASV 99023 99023 99023 99030 HOVATEN NGUYENTHITHU NGUYENTHITHU NGUYENTHITHU LE VAN THANH KHOA CONG NGHE THONG TIN CONG NGHE THONG TIN CONG NGHE THONG TIN DIEN TU TENMONHOC KY THUAT LAP TRINH TOAN ROI RAC CO SO DU LIEU VI XULY DIEMTHI 6 8 4 4

Chu y rang khi xet cac dang chuan, neu ta khong noi g them, ta hieu dang chuan ang xet t nhat la at dang chuan 1. ii Dang Chuan 2 (Second Normal Form) Mot lc o quan he Q dang chuan 2 neu Q at chuan 1 va moi thuoc tnh khong khoa cua Q eu phu thuoc ay u vao khoa. Thuat toan kiem tra dang chuan 2 Vao: lc o quan he Q, tap phu thuoc ham F Ra: khang nh Q at chuan 2 hay khong at chuan 2. Bc 1: Tm tat ca khoa cua Q Bc 2: Vi moi khoa K, tm bao ong cua tat ca tap con that s S cua K. Bc 3: Neu co bao ong S+ cha thuoc tnh khong khoa th Q khong at chuan 2 Ngc lai th Q at chuan 2

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 58

V du 2: Cho lc o quan he Q(A,B,C,D) va tap phu thuoc ham F={ABC; BD; BCA}. Hoi Q co at chuan 2 khong? Giai: TN={B}, TG={AC} (TN Xi) (TN Xi)+ Sieu khoa khoa B BD A AB ABCD AB AB C BC ABCD BC BC AC ABC ABCD ABC Khoa la K1=AB va K2=BC. Ta thay BK1, BD,D la thuoc tnh khong khoa thuoc tnh khong khoa khong phu thuoc ay u vao khoa Q khong at chuan 2. Xi V du 3: Quan he sau at chuan 2. Q(G,M,V,N,H,P) F={GM; GN; GH; GP; MV; NHPM} Giai: TN={G} TG={M,N,H,P} (TN Xi) (TN Xi)+ Sieu khoa khoa G Q+ G G M GM Q+ GM N GN Q+ GN + MN GMN Q GMN + H GH Q GH MH GMH Q+ GMH + NH GNH Q GNH MNH GMNH Q+ GMNH + P GP Q GP MP GMP Q+ GMP + NP GNP Q GNP MNP GMNP Q+ GMNP + HP GHP Q GHP MHP GMHP Q+ GMHP + NHP GNHP Q GNHP MNHP GMNHP Q+ GMNHP Lc o quan he Q ch co mot khoa va khoa ch co mot thuoc tnh nen moi thuoc tnh eu phu thuoc ay u vao khoa Q at chuan 2 He qua: Neu Q at chuan 1 va tap thuoc tnh khong khoa cua Q bang rong th Q at chuan 2 Neu tat ca khoa cua quan he ch gom mot thuoc tnh th quan he o t nhat at chuan 2. V du 4: Q(A,B,C,D,E,H) F={A E; C D; E DH} Giai: TN={ACB} TG={E} Xi (TN Xi)+ (TN Xi) Sieu khoa khoa ACB ABCDEH ACB ACB E ACBE ABCDEH ACBE Xi

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 59

khoa cua Q la K = {ABC}.CK, CD, D la thuoc tnh khong khoa D phu thuoc khong ay u vao khoa nen Q khong at chuan 2. iii Dang Chuan 3 (Third Normal Form) Thuoc tnh phu thuoc bac cau Q la lc o quan he, X,Y la hai tap con cua Q+, A la mot thuoc tnh. Noi rang A phu thuoc bac cau vao X neu ca ba ieu sau thoa: + X Y,Y A + Y X + A XY nh ngha 1: Lc o quan he Q dang chuan 3 neu moi phu thuoc ham X A F+ vi A X eu co: Hoac X la sieu khoa Hoac A la thuoc tnh khoa nh ngha 2: Lc o quan he Q dang chuan 3 neu moi thuoc tnh khong khoa cua Q eu khong phu thuoc bac cau vao mot khoa bat ky cua Q Hai nh ngha tren la tng ng, tuy nhien viec cai at thuat toan kiem tra dang chuan 3 theo nh ngha 1 th hieu qua hn nhieu v khong phai kiem tra tnh phu thuoc bac cau. Ta chng minh hai nh ngha tng ng bang cach: T nh ngha 1 khong co phu thuoc bac cau vao mot khoa bat ky cua Q. That vay: Gia s co phu thuoc bac cau vao khoa ngha la co K Y,Y A,Y K va A KY. Y A la mot phu thuoc ham nen theo nh ngha 1 co hai trng hp xay ra cho Y: + Y la sieu khoa YK ieu nay mau thuan vi Y K. + Y khong la sieu khoa A la thuoc tnh khoa ieu nay trai vi gia thiet A KY T nh ngha 2 neu XAF+ vi AX th X la sieu khoa hoac A la thuoc tnh khoa Neu XAF+ vi AX co X khong la sieu khoa va A khong la thuoc tnh khoa th dan en mot so ieu sau: A khong la thuoc tnh khoa A K X khong la sieu khoa X K Tom lai ta co KX, XA,X K va A KX A phu thuoc bac cau vao K ieu nay mau thuan vi nh ngha 2. He qua 1: Neu Q at chuan 3 th Q at chuan 2 He qua 2: Neu Q khong co thuoc tnh khong khoa th Q at chuan 3. Chng minh: He qua 1: Gia s Q at dang chuan 3 va co thuoc tnh khong khoa A khong phu thuoc ham ay u vao khoa K K K sao cho KA nh vay ta co KK,KA,K K, A KK Q co phu thuoc bac cau. He qua 2: moi phu thuoc ham trong Q eu co ve phai la thuoc tnh khoa Q at dang chuan 3 nh ly: Q la lc o quan he F la tap cac phu thuoc ham co ve phai mot thuoc tnh.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 60

Q at chuan 3 neu va ch neu moi phu thuoc ham XAF vi AX eu co Hoac X la sieu khoa Hoac A la thuoc tnh khoa Chng minh: Q at dang chuan 3 theo nh ngha ta suy ra moi phu thuoc ham XAF vi AX co X la sieu khoa hoac A la thuoc tnh khoa. Ngc lai ta phai chng minh neu moi phu thuoc ham XAF vi AX co X la sieu khoa hoac A la thuoc tnh khoa th moi phu thuoc ham XAF+ vi AX cung co X la sieu khoa hoac A la thuoc tnh khoa Gia s co phu thuoc ham XAF+ vi AX sao cho X khong la sieu khoa va A khong la thuoc tnh khoa se dan en A X+ X {cac thuoc tnh khoa} ieu nay mau thuan vi A K.Trc khi chng minh A X+ X {cac thuoc tnh khoa} ta co nhan xet sau: X khong la sieu khoa X+ cung khong la sieu khoa. Theo thuat toan tm bao ong, X+ c hnh thanh t cac Xi moi bc Xi cung khong la sieu khoa. Bc c s: X0 = X X0 X {cac thuoc tnh khoa} Bc qui nap: gia s co Xi-1 X {cac thuoc tnh khoa}. Bao ong Xi c hnh thanh do co fj = Xj Yj e Xi-1 Xj va Xi = Xi-1 Yj fj = Xj Yj la phu thuoc ham co Xj khong la sieu khoa fj = Xj Yj la phu thuoc ham co Yj la thuoc tnh khoa Xi = Xi-1 Yj X {cac thuoc tnh khoa} Qua chng minh tren AX+ X {cac thuoc tnh khoa} A X{cac thuoc tnh khoa} A{cac thuoc tnh khoa} ieu nay nghch ly vi ieu A K. Thuat toan kiem tra dang chuan 3 Vao: lc o quan he Q, tap phu thuoc ham F Ra: khang nh Q at chuan 3 hay khong at chuan 3. Bc 1: Tm tat ca khoa cua Q Bc 2: T F tao tap phu thuoc ham tng ng F1tt co ve phai mot thuoc tnh. Bc 3: Neu moi phu thuoc ham X A F1tt vi AX eu co X la sieu khoa hoac A la thuoc tnh khoa th Q at chuan 3 ngc lai Q khong at chuan 3 V du 5: Cho lc o quan he Q(A,B,C,D) F={ABC; DB; CABD}.Hoi Q co at chuan 3 khong? Giai: TN= TG={ABCD} Xi (TN Xi) (TN Xi)+ Sieu khoa khoa A A A B B B AB AB ABCD AB AB C C ABCD C C AC AC ABCD AC BC BC ABCD BC ABC ABC ABCD ABC D D BD AD AD ABCD AD AD BD BD BD ABD ABD ABCD ABD

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU CD ACD BCD ABCD CD ACD BCD ABCD ABCD ABCD ABCD ABCD CD ACD BCD ABCD

Trang 61

K1 = {AB}; K2 = {AD}; K3={C} la cac khoa moi phu thuoc ham XAF eu co A la thuoc tnh khoa. Vay Q at chuan 3 V du 6: Quan he sau at chuan 3. Q(N,G,P,M) F = {NGPM,MP} iv Dang Chuan BC (Boyce-Codd Normal Form) Mot quan he Q dang chuan BC neu moi phu thuoc ham XA F+ vi AX eu co X la sieu khoa. He qua 1: Neu Q at chuan BC th Q at chuan 3 (hien nhien do nh ngha) He qua 2: Moi lc o co hai thuoc tnh eu at chuan BC (xet phu thuoc ham co the co cua Q ) nh ly: Q la lc o quan he F la tap cac phu thuoc ham co ve phai mot thuoc tnh. Q at chuan BC neu va ch neu moi phu thuoc ham XAF vi AX eu co X la sieu khoa Chng minh: Q at dang chuan BC theo nh ngha ta suy ra moi phu thuoc ham XAF vi AX co X la sieu khoa. Ngc lai ta phai chng minh neu moi phu thuoc ham XAF vi AX co X la sieu khoa th moi phu thuoc ham ZBF+ vi BZ cung co Z la sieu khoa. That vay, do ZB khong la phu thuoc ham hien nhien nen theo thuat toan tm bao ong phai co XAF sao cho ZX (X la sieu khoa) Z la sieu khoa. Thuat toan kiem tra dang chuan BC Vao: lc o quan he Q, tap phu thuoc ham F Ra: khang nh Q at chuan BC hay khong at chuan BC. Bc 1: Tm tat ca khoa cua Q Bc 2: T F tao tap phu thuoc ham tng ng F1tt co ve phai mot thuoc tnh Bc 3: Neu moi phu thuoc ham X A F1tt vi AX eu co X la sieu khoa th Q at chuan BC ngc lai Q khong at chuan BC V du 7: Q(A,B,C,D,E,I) F={ACDEBI;CEAD}. Hoi Q co at chuan BC khong? Giai: TN={C} TG={ADE} Xi (TN Xi) (TN Xi)+ Sieu khoa khoa C C A AC AC D CD CD AD ACD ABCDEI ACD ACD E CE ABCDEI CE CE AE ACE ABCDEI ACE DE CDE ABCDEI CDE ADE ACDE ABCDEI ACDE

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU F F1tt={ACDE,ACDB,ACDI,CEA,CED} Moi phu thuoc ham cua F1tt eu co ve trai la sieu khoa Q at dang chuan BC V du 8: Q(SV,MH,THAY)F = {SV,MH THAY;THAY MH} Quan he tren at chuan 3 nhng khong at chuan BC.. V du 9: Chang han cho Q(A,B,C,D) va F={AB C; D B; C ABD} th Q la 3NF nhng khong la BCNF Neu F={B D,A C,C ABD} la 2 NF nhng khong la 3 NF Thuat toan kiem tra dang chuan cua mot lc o quan he. Vao: lc o quan he Q, tap phu thuoc ham F Ra: khang nh Q at chuan g? Bc 1: Tm tat ca khoa cua Q Bc 2: Kiem tra chuan BC neu ung th Q at chuan BC, ket thuc thuat toan ngc lai qua bc 3 Bc 3: Kiem tra chuan 3 neu ung th Q at chuan 3, ket thuc thuat toan ngc lai qua bc 4 Bc 4: Kiem tra chuan 2 neu ung th Q at chuan 2, ket thuc thuat toan. ngc lai Q at chuan 1

Trang 62

nh ngha: Dang chuan cua mot lc o c s d lieu la dang chuan thap nhat trong cac dang chuan cua cac lc o quan he con. II PHEP TACH KET NOI BAO TOAN 1 Phep tach ket noi bao toan thong tin (lossless-join decomposition)

Cho lc o quan he Q(TENNCC,DIACHI,SANPHAM,DONGIA) co quan he tng ng la r at r1 la quan he co c bang cach chieu r len Q1(TENNCC,SANPHAM,DONGIA), at r2 la quan he co c bang cach chieu r len Q2(TENNCC,DIACHI) at rla quan he co c bang cach ket t nhien gia r1 va r2 qua TENNCC. chang han: r TENNCC DIACHI SANPHAM DONGIA Hung 12 Nguyen Kiem Gach ong 200 Hung 12 Nguyen Kiem Gach the 250 Hung 40 Nguyen Oanh Gach ong 200 r2 = r.Q2+ TENNCC DIACHI Hung 12 Nguyen Kiem Hung 40 Nguyen Oanh r1 = r.Q1+ TENNCC SANPHAM DONGIA Hung Gach ong 200 Hung Gach the 250

TENNCC r = r1|><|r2 TENNCC DIACHI SANPHAM DONGIA Hung 12 Nguyen Kiem Gach ong 200

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 63

Hung 12 Nguyen Kiem Gach the 250 Hung 40 Nguyen Oanh Gach ong 200 Hung 40 Nguyen Oanh Gach the 250 Ket qua la r r hay r r.Q1|><|r.Q2. Vi ket qua tren, ta noi phep tach (Q1,Q2) tach Q thanh Q1, Q2 la tach-ket noi (phan ra) mat mat thong tin. Neu r = r.Q1|><|r.Q2 ta noi phep tach (Q1,Q2) la tach-ket noi khong mat mat thong tin (tach ket noi bao toan thong tin hay phan ra bao toan thong tin). Vay vi ieu kien nao th phep tach tr thanh tach-ket noi khong mat mat thong tin? i nh ngha phep tach Q thanh 2 lc o con Q la lc o quan he, Q1, Q2 hai lc o con co: Q1+ Q2+ = X Q1+ Q2+ = Q+ Noi rang lc o quan he Q c tach thanh hai lc o con Q1, Q2 theo phep tach (Q1,Q2) la phep tach ket noi khong mat (hay phep tach bao toan thong tin) neu vi r la quan he bat ky cua Q ta co: r = r.Q1 >< r.Q2 Tc la r c tao nen t phep ket noi t nhien cua cac hnh chieu cua no tren cac Q1,Q2 ii Tnh chat Neu Q la mot lc o quan he, Q1,Q2 la hai lc o quan he con co Q1 + Q 2 + = X Q1 + Q 2 + = Q + X Q2 + Th r = r.Q1 >< r.Q2 Chng minh: t r t r.Q1 >< r.Q2 t r t1r1 t1 = t.Q1 t2r2 t2 = t.Q2 t1.X = t2.X = t.X t r.Q1 >< r.Q2 (Theo nh ngha) t r.Q1 >< r.Q2 t r t r.Q1 >< r.Q2 t1r1 t1 = t.Q1 (1) ma t1 r1=r.Q1 nen theo nh ngha phep chieu ta lai co tr t1 = t.Q1 (2) (1) va (2) t.Q1 = t.Q1 t.X = t.X t.Q2 = t.Q2 (do X Q2) t = t t r V du 10: cho Q(SAIP), Q1 =(SA) , Q2 =(SIP) F={SA,SIP}. Hoi viec tach Q thanh Q1 va Q2 co gay ra mat mat thong tin khong? Ap dung tnh chat tren, ta co Q1 + Q 2 + = S Q1+ Q2+ = SAIP = Q+ S SA = Q1+
X X X X X X

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU


S

Trang 64

Theo tnh chat tren, vi moi quan he r cua Q ta luon co r = r.Q1 >< r.Q2. Suy ra phep tach tren la phep tach ket noi bao toan thong tin. iii Phep tach Q thanh n lc o con

Q la mot lc o quan he, F la tap phu thuoc ham. Q c tach thanh cac lc o con Q1, Q2, Q3...,Qn theo tng bc ma moi bc mot lc o c tach thanh hai lc o con va thoa man ieu kien cua tnh chat bao toan thong tin th vi r la quan he bat ky cua Q ta luon co: r = r.Q1|><|r.Q2|><|r.Q3..... |><|r.Qn Chng minh: Ta chng minh bang phng phap qui nap. bc i = 1 th r = r.Q1|><|r.Q1m ung theo nh ly bao toan thong tin Gia s bieu thc tren ung bc i = k ngha la ta co: r = r.Q1|><|r.Q2|><|r.Q3..... |><|r.Qk |><|r.Qkm (1) ta phai chng minh r = r.Q1|><|r.Q2|><|r.Q3.....|><|r.Qk|><|r.Qk+1|><|r.Qk+1m Vi Qkm c tach thanh hai lc o con Qk+1 va Qk+1m theo ung ieu kien cua tnh chat bao toan thong tin ngha neu s la quan he cua Qkm th s = s.Qk+1|><|s.Qk+1m r.Qkm = (r.Qkm).Qk+1|><|(r.Qkm).Qk+1m = r.Qk+1|><|r.Qk+1m r = r.Q1|><|r.Q2|><|r.Q3.....|><|r.Qk|><|r.Qk+1|><|r.Qk+1m iv Thuat toan kiem tra phep tach ket noi bao toan thong tin
(a) Thuat toan

D lieu vao: lc o quan he Q(A1,A2,An), tap phu thuoc ham F, phep tach =(Q1,Q2,,Qk). D lieu ra: ket luan phep tach co phai la phep tach bao toan thong tin ? 1. Thiet lap bang vi k+1 dong, n+1 cot . Cot j ng vi thuoc tnh Aj (j=1...n), hang i ng vi lc o quan he Qi(i=1k). Tai v tr hang i, cot j ta ien ky hieu Aj neu Aj Qi, neu khong ta at ky hieu bt vao v tr o. (vi t au tien bang 1) va sau o tang t len mot n v. 2. Xet lan lt cac phu thuoc ham trong F, ap dung cho bang va mi thanh lap tren. Gia s xet (X Y) F, chung ta tm nhng hang giong nhau tat ca cac thuoc tnh cua X, neu thay nhng hang nh vay ta se lam cho cac ky hieu cua hai hang nay bang nhau tat ca cac thuoc tnh cua Y. Khi lam cho 2 ky hieu nay bang nhau, neu mot trong hai ky hieu la aj th cho ky hieu kia tr thanh aj, neu hai ky hieu la bk hoac bl th co the cho chung tr thanh bt hoac bt (vi t = min (k,l)). Bc nay c tiep tuc cho cac phu thuoc ham con lai cua F cho en khi khong con ap dung c na. 3. Xet bang ket qua, neu thay trong bang nay co mot hang cha toan aj (i=1..n) th ket luan o la phep ket noi bao toan thong tin, ngc lai la phep ket noi mat mat thong tin.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 65

Chu y: mot ieu quan trong can phai nh la khi cho hai ky hieu bang nhau th phai cho bang nhau tat ca cac xuat hien cua chung trong bang ch khong phai ch cho bang nhau nhng ky hieu trong pham vi cac phu thuoc X Y F. V du 11: Vi Q(ABCDE) Q1 = (AD),Q2 =(AB), Q3 =(BE), Q4 =(CDE), Q5 =(AE) F = {AC,BC,AD,DEC,CEA} Kiem tra tnh bao toan thong tin cua phep phan ra Q thanh Q1,Q2,Q3,Q4,Q5. Bc 1: a1 a2 A B a1 a1 a2 a2 a3 C a4 D a4 a5 E ien b1,b2,b3, ... A B C D Q1(AD) a1 b 1 b 2 a 4 Q2(AB) a1 a 2 b 4 b 5 Q3(BE) b7 a 2 b 8 b 9 Q4(CDE) b10 b11 a3 a4 Q5(AE) a1 b12 b13 b14 Sa bang gia tr e no thoa Sa b8 thanh b2 A B C Q1(AD) a1 b 1 b 2 Q2(AB) a1 a2 b2 Q3(BE) b7 a2 b2 Q4(CDE) b10 b11 a3 Q5(AE) a1 b12 b2 BC D a4 b5 b9 a4 b14 E b3 b6 a5 a5 a5 Bc 2:

Q1(AD) Q2(AB) Q3(BE) Q4(CDE) Q5(AE) a1

a3

a4

a5 a5 a5

E b3 b6 a5 a5 a5

Sa bang gia tr e no thoa AC Sa b4,b13 thanh b2 A B C D Q1(AD) a1 b1 b2 a4 Q2(AB) a1 a2 b2 b5 Q3(BE) b7 a 2 b 8 b 9 Q4(CDE) b10 b11 a3 a4 Q5(AE) a1 b12 b2 b14 Sa bang gia tr e no thoa AD Sa b5,b14 thanh a4 A B Q1(AD) a1 b1 Q2(AB) a1 a2 Q3(BE) b7 a 2 Q4(CDE) b10 b11 Q5(AE) a1 b12 C b2 b2 b2 a3 b2 D a4 a4 b9 a4 a4

E b3 b6 a5 a5 a5

E b3 b6 a5 a5 a5

Sa bang gia tr e no thoa DEC sa b2 thanh a3 sa tat ca b2 thanh a3 A B C D E Q1(AD) a1 b 1 a3 a 4 b 3 Q2(AB) a1 a 2 a3 a 4 b 6 Q3(BE) b7 a 2 a3 b 9 a 5 Q4(CDE) b10 b11 a3 a4 a5 Q5(AE) a1 b12 a3 a4 a5 Lan lt xet lai cac phu thuoc ham trong F, neu bang gia tr cha thoa phu thuoc ham nao th tiep tuc lam cho no thoa. Sa bang gia tr e no thoa AD A B C D E Q1(AD) a1 b1 a3 a4 b3 Q2(AB) a1 a2 a3 a4 b6 Q3(BE) a1 a2 a3 a4 a5 Q4(CDE) a1 b11 a3 a4 a5 Q5(AE) a1 b12 a3 a4 a5

Sa bang gia tr e no thoa CEA Sa b7,b10 thanh a1.

Q1(AD) Q2(AB) Q3(BE) Q4(CDE) Q5(AE)

A a1 a1 a1 a1 a1

B b1 a2 a2 b11 b12

C a3 a3 a3 a3 a3

D a4 a4 b9 a4 a4

E b3 b6 a5 a5 a5

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 66

Dong th Q3(BE) cua bang cha toan gia tr aj (j=1..n) nen phep phan ra tren la bao toan thong tin. Bang ket qua cua thuat toan tren cho phep ta ket luan c tnh bao toan hay khong bao toan thong tin cua phep tach. Chng minh: Ta chng minh neu bang ket qua thuat toan khong co hang ch cha toan gia tr a th phep tach khong bao toan thong tin. That vay: Ta xay dng mot quan he r co cac gia tr nh bang ket qua cua thuat toan, cac hang la cac bo. Quan he r thoa tap phu thuoc F v thuat toan a sa cac gia tr cua r e no khoi vi pham cac phu thuoc ham trong F r la mot quan he cua lc o Q. Ta tach quan he r thanh cac quan he ri vi ri = r.Qi va dung phep ket t nhien e ket chung lai. Neu: + k Qk+Qi+ = i r1|><|r2....|><|rk khong ton tai phep tach khong bao toan thong tin. + i,k Qi+Qk+ = Xik ma moi ri eu co mot bo ti cha toan a cac ti noi c vi nhau v co cung gia tr tren Xik co mot bo tr1|><|r2....|><|rk co toan gia tr a, bo nay lai khong co trong r r r1|><|r2....|><|rk phep tach khong bao toan thong tin. Ta chng minh neu bang ket qua thuat toan co hang ch cha toan gia tr a th phep tach bao toan thong tin. Ta chng minh ieu nay qua 2 bc: + Bc 1: chng minh neu tr tr1|><|r2....|><|rk. Suy ra rr1|><|r2....|><|rk. Gia s t=(a1,...,an) r . Ta tach quan he r thanh cac ri = r.Qi vi ti = t.Qi. Co hai trng hp: o i,k Qi+Qk+ = Xik cac ti noi c vi nhau v co cung gia tr tren Xik bo tr1|><|r2....|><|rk r r1|><|r2....|><|rk. o k Qk+Qi+ = i. Suy ra bang kiem tra bao toan thong tin giai oan cha thoa cac phu thuoc ham, co dang: A1 A2 ... AK AK+1 ... Q1 bk1 bk2 b.. Q2 b.. ... ... ... b.. ... ... QK(AK,AK+1,..) b.. b.. b.. ak ak+1 ... + Vi moi XQ tk.X ti.X vi ik nen khi lam bang cac gia tr theo cac phu thuoc ham XY th cac gia tr b dong Qk khong thay oi con cac gia tr b cac cot Ak,Ak+1,... khong oi thanh a c. Suy ra bang ket qua cua thuat toan khong bao gi cha dong co toan gia tr a. Vay trng hp k Qk+Qi+ = i khong xay ra khi bang kiem tra bao toan thong tin co mot dong toan a. + Bc 2: chng minh neu tr1|><|r2....|><|rk tr. Suy ra r1|><|r2....|><|rkr. Gia s t=(a1,...,an) r1|><|r2....|><|rk theo nh ngha suy ra i tiri sao cho t.Qi+ = ti. Nhng ri=r.Qi+ tir sao cho ti.Qi+=ti=t.Qi+ i . Trng hp xau nhat la cac tila cac dong khac nhau. Trong trng hp nay, ta co the xem tila dong Qi cua bang kiem tra bao toan thong tin vi cac gia tr b xem nh cha biet. Nhng cac dong Qi phai thoa cac phu thuoc ham trong F, phep lam bang cac gia tr theo cac phu thuoc ham a dan dan xac nh
(b)nh ly

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 67

c tat ca cac gia tr b cua mot dong tinao o, la dong co toan gia tr a. Vay co mot i e ti= t tr r r1|><|r2....|><|rn (2) (1) va (2) r = r1|><|r2....|><|rn. Noi cach khac phep tach bao toan thong tin. 2 i Phep tach bao toan phu thuoc ham (decompositions that preserve dependencies) Tap phu thuoc ham Fi cua Qi

Phan tren ch e cap van e tach mot lc o quan he Q(A1,A2,An)thanh cac lc o con Q1,Q2,,Qk con khong e cap en tap phu thuoc ham cua cac lc o con nay. Neu Q(A1,A2,An) la lc o quan he, F phu thuoc ham, =(Q1,Q2,,Qk)la phep phan ra bao toan thong tin, ri la quan he cua Qi th tnh chat sau thoa: + ri ch thoa cac phu thuoc ham XYF+ vi XYQi+ Noi cach khac, tap phu thuoc ham cua Qi chnh la Fi co Fi+={XYF+| XYQi+}. Ta co the hieu F c phan ra thanh cac F1,...,Fk Chng minh tnh chat tren: Do ri c tach t r ma r thoa F+ ri thoa cac phu thuoc ham XYF+ vi XYQi+.Theo nh ngha phu thuoc ham, ng nhien ri khong thoa cac phu thuoc ham XYF+ vi XYQi+. Ngoai ra ri khong thoa bat ky mot phu thuoc ham nao XYF+ . That vay neu co XY nh vay th r = r1|><|r2....|><|rn cung phai thoa XYF+. ieu nay mau thuan vi nh ngha cua tap F+ . ii nh ngha: Cho phan ra =(Q1,Q2,,Qk) cua mot lc o quan he, va mot tap phu thuoc ham F. Hnh chieu cua F tren mot tap cac thuoc tnh Qi+ ky hieu Qi(F) la tap cac phu thuoc ham X Y F+ sao cho XY Z. Qi(F)=Fi+={ X Y| X Y F+ va XY Qi} Ta noi phan ra bao toan tap phu thuoc ham F neu F Qi(F) F+ = ( Qi(F))+ vi i=1..k He qua: F+ ( Qi(F))+ vi i=1..k Nhan xet: t he qua tren ta suy ra: e xac nh phep phan ra =(Q1,Q2,,Qk) co bao toan phu thuoc ham hay khong, vi moi phu thuoc ham XYF ta xac nh xem no co la thanh vien cua tap phu thuoc ham G = Qi(F) hay khong. Ta khong can xac nh chieu ngc lai. V du12: Cho lc o quan he Q(A,B,C) va F={AB,BC,CA}. Phep phan ra =(Q1,Q2) tach Q thanh hai lc o quan he Q1(A,B) va Q2(B,C). Hay tnh hnh chieu cua F tren Q1+ va Q2+.Phep phan ra co bao toan phu thuoc ham F khong? Giai: ve nguyen tac ta co the giai bai toan theo cac bc di ay Bc 1: Ke tat ca tap con cua Q+ A B C A B C AB AC BC ABC + Bc 2: Tnh bao ong cua cac tap con cua Q + B+ =ABC C+ =ABC += A =ABC

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU AB+ =ABC Bc 3: Tnh F+ AC+ =ABC BC+ =ABC ABC+ =ABC

Trang 68

AB BA CA ABABC ACB BCA AAB BAB CB ABC ACAB BCAB AC BC CAB ABBC ACBC BCAC AAC BAC CAC ABABC ACABC BCABC BBC CBC ABC AABC BABC CABC Bc 4: Tnh Q1(F), Q2(F) Q1(F)= F1+ ={AB,AAB,BA,BAB}{AB,BA} (ch lay pth co ve phai 1 tt) Q2(F)= F2+ ={BC,BBC,CB,CBC}{BC,CB}(ch lay pth co ve phai 1 tt) Bc 5: G = Q1(F) Q2(F)={AB,AAB,BA,BAB,BC,BBC,CB,CBC} F={AB,BC,CA} co AB, BC eu la thanh vien cua G, con CA co la thanh vien cua G hay khong ta tnh CG+. CG+=ABC CA cung la thanh vien cua G. Vay phep phan ra tren bao toan phu thuoc ham. Bai toan tren co the c giai theo cac bc n gian sau cho tng lc o quan he con: Tnh cho Q1 Bc 1: Ke tat ca tap con cua Q1+ A B A B AB + Bc 2: Tnh bao ong cua cac tap con cua Q1 + B+ =ABC += A =ABC AB+ =ABC Bc 3: Tnh F1+=Q1(F) AB BA AAB BAB Tnh cho Q2 Bc 4: Ke tat ca tap con cua Q2+ B C B C BC + Bc 5: Tnh bao ong cua cac tap con cua Q2 + C+ =ABC += B =ABC BC+ =ABC Bc 6: Tnh F2+=Q2(F) BC CB BBC CBC Bc 7: G=Q1(F)Q2(F)={AB,AAB,BA,BAB,BC,BBC,CB,CBC}

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 69

F={AB,BC,CA} co AB, BC eu la thanh vien cua G con CA co la thanh vien cua G hay khong ta tnh CG+. CG+=ABC CA cung la thanh vien cua G. Vay phep phan ra tren bao toan phu thuoc ham. iii Y ngha cua phan ra co bao toan phu thuoc ham V du 13: Cho lc o quan he Q(C,S,Z) va F={CSZ,ZC}. Phep tach =(Q1,Q2) tach Q thanh hai lc o Q1(S,Z) va Q2(C,Z). Hoi phep tach co bao toan phu thuoc ham khong? Giai: Q1 co cac tap thuoc tnh con: S Z S Z SZ + Bao ong cua cac tap thuoc tnh con Q1 + Z+ =ZC += S =S SZ+ =CSZ F1+ ch gom cac phu thuoc ham hien nhien v tat ca cac phu thuoc ham sau eu khong thoa: ZC SZC ZZC SZCS SZCZ SZCSZ Q2 co cac tap thuoc tnh con: C Z C Z CZ + Bao ong cua cac tap thuoc tnh con Q2 + Z+ =ZC += C =C CZ+ =CZ F2+ gom cac phu thuoc: ZC ZZC Q1(F)Q2(F)={ZC,ZZC}{ZC} khong tng ng vi F = {CSZ,ZC} Vay phep phan ra tren khong bao toan phu thuoc ham, ieu nay co ngha khi ta a d lieu vao Q1 va Q2 sao cho khong vi pham phu thuoc ham hnh chieu cua no, nhng khi ket noi chung lai th d lieu ket qua cua lc o quan he Q lai vi pham phu thuoc ham CSZ Q1(F)={PTHHN} Q2(F)={ZC, ZZC} F={CSZ,ZC} Q1 (S Z) Q2 (C Z) Q (C S Z) s1 z1 c1 z1 c 1 s1 z1 s1 z2 c1 z2 c 1 s1 z2 iv Thuat toan kiem tra bao toan phu thuoc ham Thuat toan tm bao ong cua tap thuoc tnh X oi vi G = Qi(F) Vao: =(Q1,Q2,,Qk),F,X Ra: XG+ Bc 1: Vi moi phu thuoc ham XYF ta thc hien t bc 2 en bc 4 Bc 2: at Z = X + + Bc 3: the Z = Z((Z Qi )+ Qi )

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU Bc 4: neu Qi, Zthay oi th thc hien lai bc 3 cho Qau tien Ngc lai ket thuc thuat toan va tra ve Z(la bao ong XG+)

Trang 70

Thuat toan kiem tra bao toan phu thuoc ham Vao: =(Q1,Q2,,Qk),F Ra: ket luan phep tach bao toan hay khong bao toan phu thuoc ham Bc 1: Vi moi phu thuoc ham XYF ta thc hien t bc 2 en bc 3: Bc 2: Tm bao ong XG+ vi G = Qi(F) Bc 3: Neu Y XG+ th XY Qi(F)+ Bc 4: Neu tat ca phu thuoc XYF eu thuoc Qi(F)+ th ta ket luan phan ra bao toan phu thuoc ham ngc lai khong bao toan phu ham V du 14: thc hien lai v du 13, ngha la kiem tra phep tach co bao toan phu thuoc ham khong? Vao: Q(C,S,Z),F={CSZ,ZC},Q1(S,Z) va Q2(C,Z) ng nhien ZCG = Q1(F)Q2(F) ZC (Q1(F)Q2(F))+ 1. Z=CS + + 2. gan Z= Z((Z Q1 )+ Q1 ): Z = CS(SSZ)=CS Bc 1 va 2 co Z khong thay oi, ta sang lc o Q2 va tnh tiep Z + + 3. gan Z= Z((Z Q 2 )+ Q 2 ): Z = CS(CCZ)=CS Zkhong thay oi va het lc o quan he ngng khong tnh tiep Z + 4. Vay CSG =CS CSZ (Q1(F) Q2(F))+ phep phan ra khong bao toan phu thuoc ham. V du 15: thc hien lai v du 12 vi noi dung ket luan phep tach co bao toan phu thuoc ham khong (khong tnh F+) Vao: Q(A,B,C),F={AB,BC,CA},Q1(A,B) va Q2(B,C) Hien nhien G = Q1(F) Q2(F) {AB,BC} Ta xac nh CA co thuoc (Q1(F) Q2(F))+ 1. Z=C + + 2. gan Z= Z((Z Q1 )+ Q1 ): Z = C(AB)=C Bc 1 va 2 co Z khong thay oi, ta sang lc o Q2 va tnh tiep Z + + 3. gan Z= Z((Z Q2 )+ Q2 ): Z = C(ABCBC)=BC

Zthay oi tnh tiep Zbat au t lc o Q1 + + 4. gan Z= Z((Z Q1 )+ Q1 ): Z = BC(ABCAB)=ABC


do Z=Q+ Z se khong bao gi thay oi. + 5. vay CG =ABC CA(Q1(F) Q2(F))+ phep phan ra bao toan phu thuoc ham. III THIET KE CSDL BANG CACH PHAN RA 1 i Phan ra thanh dang chuan BC (hay chuan 3) bao toan thong tin Cach thong thng

Thuat toan phan ra Q,F thanh dang chuan BC (hay chuan 3) bao toan thong tin Bc 1:Tm tat ca khoa cua Q Bc 2:Tm phu thuoc ham X Y F co X khong la sieu khoa va Y khong cha thuoc tnh khoa.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 71

Neu tm thay th tach Q thanh Q1 va Q2 theo quy tac sau: Q1=Q[XY]; F1Q1(F)tm bao ong cua tat ca tap con cua XY e suy ra Q1(F)F1 Q2=Q[Q+ -Y] F2Q2(F)tm bao ong cua tat ca tap con cua Q+-Y e suy ra Q2(F)F2 thc hien thuat toan phan ra (Q1,F1) thc hien thuat toan phan ra (Q2,F2) Ngc lai neu khong tm thay th co hai trng hp: Trng hp 1: moi phu thuoc ham trong Fi eu cove trai la sieu khoa th Qi at chuan BC Trng hp 2: neu co phu thuoc ham co ve trai khong la sieu khoa va ve phai la thuoc tnh khoa th Qi at chuan 3. V du 16: cho Q(S,D,I,M) F={SID;SDM} hay phan ra Q thanh cac lc o con at chuan BC bao toan thong tin Giai: Bc 1: tm tat ca khoa cua Q Xi TNXi (TNXi)+ Sieu khoa Khoa SDIM SI SI SI D SID SDIM SID Bc 2: phu thuoc ham SD M F co SD khong la sieu khoa.

Chu y: e tnh c F1,F2,K1,K2 nh hnh tren, ta phai tnh bao ong cua tat ca tap con cua{SDM} va {SDI} F1,F2 roi tm tat ca khoa cua Q1 va Q2. S+=S D+ =D M+ =M S+=S D+ =D I+ =I + + + SD =SDM SM =SM SD =SDM SI+ =SDIM DM+ =DM DI+ =DI + SDM =SDM SDI+ =SDIM F1+=Q1(F)={SDM,SDSM,SDDM,SDSDM}{SDM}= F1 F2+=Q2(F)={SID,SISD,SIDI,SISDI}{SID}= F2 Q1 va Q2 eu at dang chuan BC v trong Qi ch co phu thuoc ham co ve trai la khoa. F1 c tao thanh bang cach lay cac phu thuoc ham cua Q1(F)co ve phai mot thuoc tnh. Tng t cho F2 V du 17: cho Q(CTHRSG), F={CT;HRC;HTR;CSG;HSR} hay phan ra Q thanh cac lc o con at chuan BC bao toan thong tin. (giai nh v du tren)

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 72

Tnh chat: Theo thuat toan tren, khi phan ra Q thanh Q1(XY)vi XY va Q2 th tap khoa SQ cua Q luon luon bang vi tap khoa SQ2 cua Q2. Chng minh That vay, K la mot khoa cua Q K la mot sieu khoa cua Q2. Gia s co K K va K la khoa cua Q2 K(Q+-Y) ma XY KQ+. ieu nay mau thuan vi K la khoa cua Q K la khoa cua Q2. Ngc lai cung ung. Da vao tnh chat tren, ta cai tien thuat toan phan ra nham giam bt khoi lng tnh cac phu thuoc ham cua tap F+ Thuat toan phan ra Q,F thanh dang chuan BC (hay chuan 3) bao toan thong tin Bc 1: Tm tap tat ca khoa SK cua Q Bc 2: Tm phu thuoc ham X Y F co X khong la sieu khoa va Y khong cha thuoc tnh khoa. Neu tm thay th tach Q thanh Q1 va Q2 theo quy tac sau: Q1=Q[XY]; Tnh F1 bang cach tnh bao ong tat ca tap con cua XY + Q2=Q[Q -Y] SK cung la tap khoa cua Q2 thc hien bc 1 cho Q1 thc hien bc 2 cho Q2 Ngc lai neu khong tm thay th co hai trng hp: Trng hp 1: moi phu thuoc ham trong Fi eu cove trai la sieu khoa th Qi at chuan BC Trng hp 2: neu co phu thuoc ham co ve trai khong la sieu khoa va ve phai la thuoc tnh khoa th Qi at chuan 3. Chu y: Thuat toan nay ch tien trong trng hp khoi lng tnh toan trong viec tm tat ca khoa cua lc o quan he Q khong ln. Noi cach khac tap trung gian TG co t thuoc tnh. Ngc lai ta phai dung thuat toan cua phan tiep theo. V du 18: phan ra lc o v du tren thanh cac lc o con dang chuan BC bao toan thong tin.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 73

Trong F co 4 phu thuoc ham CT,HRC,HTR,CSG lam Q khong at dang chuan 3 hay BC va phep phan ra tren a chon ngau nhien phu thuoc ham CT e phan ra thanh Q1 va tap thuoc tnh cua Q12 chnh la tap thuoc tnh cua Q bo thuoc tnh T.Tap phu thuoc ham F12 se cha cac phu thuoc ham cua F bo i cac phu thuoc ham co ve trai hay ve phai cha thuoc tnh T. Nh vay tuy theo cach chon phu thuoc ham e phan ra thanh Q1 ma so lng phu thuoc ham mang xuong Q12 khac nhau va chat lng phan ra cung khac nhau. Ket qua cua phep phan ra tren chnh la Q1, Q2, Q3 cua hnh tren. Phep phan ra bao toan thong tin, va cac lc o con at chuan BC nhng phep phan ra khong bao toan phu thuoc ham v G = F1 F2 F3 = {CT; HRC; CHR; HSRG} khong tng ng vi F (HTR G+ va CSG G+). Ta hay xem phep phan ra sau se cho ket qua tot hn.

Phep phan ra cung cho ket qua phep phan ra bao toan thong tin, cac lc o con Q1,Q2,Q3,Q4 at chuan BC va phep phan ra khong bao toan phu thuoc ham v G = F1 F2 F3 F4 ={CSG;HRC;CHR;CT;HSC} khong tng ng vi F (HTR G+).Phep phan ra nay tot hn v ch co mot phu thuoc ham HTR khong thuoc G+ trong khi phep phan ra tren co ti 2 phu thuoc ham HTR va CSG khong thuoc G+.S d phep phan ra th 2 tot hn v bc chon phu thuoc ham e phan ra thanh Q1 phep phan ra a chon phu thuoc ham sao cho khi chieu F xuong Q12 so phu thuoc ham mang xuong cang nhieu cang tot.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 74

V du 19: cho Q(A,B,C,D,E,G), F={AEC;CGA;BDG;GAE} hay phan ra Q thanh cac lc o con at chuan BC bao toan thong tin.

Neu Q c phan ra thanh: (Q1(BDG), Q2(A,B,C,D,E)) lc o c s d lieu at chuan 3 (Q1(BDG), Q2(A,C,E), Q3(A,B,D,E)) lc o c s d lieu at chuan BC ii Bo e: Neu Q khong dang chuan BC th co thuoc tnh A,B thuoc Q+ sao cho (Q+-AB)A Chng minh: Q khong dang chuan BC co XA sao cho X khong la sieu khoa co thuoc tnh B XA (v neu khong co B XA th X phai la sieu khoa) (Q+-AB) X (Q+-AB)A Nhan xet: + Mot lc o Q dang chuan BC van co the co AB sao cho (Q+-AB)A + Mot lc o Q khong co AB sao cho (Q+-AB)A th Q dang chuan BC iii Thuat toan Thuat toan phan ra sau khong can tm tat ca khoa cua lc o quan he Q Thuat Toan phan ra Q, F thanh dang chuan BC bao toan thong tin Bc 1: Z = Q+ Bc 2: phan ra Z theo thuat toan chi tiet e c 2 lc o Z-A va XA trong o XA dang chuan BC va X A Neu thuat toan chi tiet cho ket qua th qua bc 3 Ngc lai ket thuc thuat toan Bc 3: nhan XA la mot lc o con cua cac lc o ket qua Q1,...,Qk Bc 4: thc hien phan ra Z-A,F Thuat toan chi tiet Bc 1: neu Z khong cha AB sao cho (Z-AB)A. th bao khong phan ra c. Ngc lai qua bc 2 Bc 2: at Y = Z Bc 3: neu Y cha AB sao cho (Y-AB)A. th gan Y = YB thc hien lai bc 2 Bc 4: bc 3 cho ket qua Y = XA vi XA dang chuan BC va X A. Tra ve XA

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 75

Nhan xet moi bc 2 cua thuat toan phan ra Q,F ta thu c 2 lc o Qi+=Z-A,Q1+=XA vi Qi+Q1+ = (Z-A)XA = X va XQ1+ va Q1 la lc o dang chuan BC. Thuat toan lai tiep tuc phan ra Qi theo ung cach a lam thuat toan phan ra bao toan thong tin va cac lc o con Qi at dang chuan BC. Thuat toan chi tiet tm Ql at chuan BC sao cho Ql+ cha nhieu thuoc tnh nhat. e tm c Ql nh vay thuat toan chi tiet tm hai thuoc tnh ABQ+ sao cho (Q+-AB)A. Neu tm thay chng to Q cha at chuan BC va thuat toan giam B trong Q vi hy vong thu c lc o con Ql at chuan BC va thoa phu thuoc ham (Q+-AB)A. Thuat toan chi tiet tiep tuc tm va giam cho ti khi thu c lc o con khong co hai thuoc tnh AB sao cho (Q+-AB)A Ql la lc o con at chuan BC can tm. V du 19: Cho quan he Q(B,O,S,Q,I,D) va tap phu thuoc ham F F = {S D, I B IS Q B O} Hay phan ra Q thanh cac lc o con at dang chuan BC va bao toan thong tin. Giai ***at Z= Q+= BOSQID Thc hien thuat toan chi tiet Y= BOSQID Chon 2 thuoc tnh . Tm bao ong cua tap hp thuoc tnh con lai. Neu bao ong cha 1 trong 2 thuoc tnh chon chang han A, ngha la ta a tm c 2 thuoc tnh AB sao cho (Y-AB)A Chon BO:(SQID)+ B Giam O trong Y ta c Y= BSQID Chon BS:(QID)+ B Giam S trong Y ta c Y= BQID Chon BQ:(ID)+ B Giam Q trong Y ta c Y= BID Chon BD: I+ B Giam D trong Y ta c Y= BI Q1=(BI) va F1={IB} e tnh F1 ta phai tnh bao ong cua tat ca tap con cua {BI}F1 ***Giam B trong Z ta c Z= OSQID at Y=OSQID Chon OD: (SQI)+ D; Giam O trong Y ta c Y= SQID chon QD: (SI)+ D giam Q trong Y ta c Y= SID chon ID: S+ D; giam I trong Y ta c Y= SD Q2=(SD) va F2={SD} e tnh F2 ta phai tnh bao ong cua tat ca tap con cua {SD} F2 *** Giam D trong Z ta c Z= OSQI

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU at Y=OSQI chon OQ: (SI)+ Q giam O trong Y ta c Y= SQI Q3=(SQI) va F3={SIQ} bc tren khong chon AB e bao ong tap hp thuoc tnh con lai cha A hay B e tnh F3 ta phai tnh bao ong cua tat ca tap con cua {SQI} F3 *** Giam Q trong Z ta c Z= OSI at Y=OSI Chon OS: I+=IBO O giam S trong Y ta c Y= OI Q4=(OI) va F4={IO} *** Giam O trong Z ta c Z= SI Q5=(SI)va F5={PTHHN} Ta co the hieu Q3(SQI)la to hp cua 2 lc o con Q5(SI) va Q3(SQI) Vay ket qua phan ra la:

Trang 76

1:Q1(BI) 2:Q2(SD) 3:Q3(SQI) 4:Q4(OI)


iv Chu y

F1={IB} F2={SD} F3={SIQ} F4={IO}

+ Nen tranh phan ra neu lc o a dang chuan mong muon. + Nen xem xet to hp cac lc o quan he con thanh lc o ln hn neu lc o ln hn van at dang chuan mong muon. + Mot ket qua phan ra bao toan phu thuoc ham se co gia tr hn ket qua phan ra khong bao toan phu thuoc ham. Gia hai ket qua phan ra eu khong bao toan phu thuoc ham th ket qua phan ra thoa nhieu phu thuoc ham trong F se co gia tr hn . + Khong co thuat toan phan ra lc o Q thanh cac lc o con dang chuan BC va bao toan thong tin va bao toan phu thuoc ham. + Van co lc o Q c phan ra thanh cac lc o con dang chuan BC va bao toan thong tin va bao toan phu thuoc ham.
V du 20: cho lc o Q(CSZ) co F={CSZ,ZC}. Q khong the phan ra thanh cac lc o con dang chuan BC va bao toan thong tin va bao toan phu thuoc ham. That vay: TN={S} TG={CZ} Tat ca khoa cua Q la: Xi TNXi (TNXi)+ sieu khoa khoa S S Z SZ SZC SZ SZ C SC SZC SC SC ZC SZC SZC SZC Vay Q at dang chuan 3 nhng khong dang chuan BC v co ZC co ve trai khong la sieu khoa. Nhng neu ta phan ra Q thanh cac lc o con co t hn 3 thuoc tnh th phu thuoc CSZ khong suy ra c t cac phu thuoc hnh chieu. 2 Phan ra thanh dang chuan 3 va bao toan thong tin va bao toan phu thuoc ham Thuat Toan phan ra Q, F thanh dang chuan 3, bao toan thong tin, bao toan phu thuoc ham

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 77

D lieu vao: lc o quan he Q va tap phu thuoc ham F. D lieu ra: mot phan ra sao cho moi lc o quan he con eu at chuan 3 va bao toan thong tin va bao toan phu thuoc ham. Tm phu toi thieu Ftt cua F Neu co mot phu thuoc ham nao cua Ftt ma lien quan en tat ca cac thuoc tnh cua Q th ket qua phan ra chnh la Q ( Q khong the phan ra) Neu co nhng thuoc tnh cua Q khong nam trong mot phu thuoc nao cua Ftt - du ve phai hay ve trai cua F th chung tao thanh mot lc o can tm. C moi phu thuoc ham X A Ftt th XA la mot lc o can tm Neu co mot lc o con cha khoa K cua Q th ket thuc thuat toan Ngc lai tao mot lc o con K V du 21: cho lc o Q(CTHRSG),F={CT,HRC,THR,CSG,HSR}.Hay phan ra Q thanh cac lc o con at dang chuan 3 va bao toan thong tin va bao toan phu thuoc ham. Gai: + F=Ftt={CT,HRC,THR,CSG,HSR} la phu toi thieu. + Ap dung thuat toan tren Q c phan ra thanh cac lc o con Q1(CT),Q2(HRC),Q3(THR),Q4(CSG),Q5(HSR) + Khoa cua Q Xi TNXi (TNXi)+ sieu khoa khoa HS CTHRSG HS HS C HSC CTHRSG HSC T HST CTHRSG HST CT HSCT CTHRSG HSCT R HSR CTHRSG HSR CR HSCR CTHRSG HSCR TR HSTR CTHRSG HSTR CTR HSCTR CTHRSG HSCTR + Q5 cha khoa cua Q nen Q1,Q2,Q3,Q4,Q5 la ket qua cua phan ra. nh ly: Thuat toan tren tao ra mot phan ra dang chuan 3 va bao toan thong tin va bao toan phu thuoc ham Chng minh: 1. Neu Ftt co phu thuoc ham fi lien quan en tat ca thuoc tnh th Q at chuan 3. That vay: fiFtt fi la phu thuoc ham co ve phai 1 thuoc tnh fi co dang KA K la sieu khoa. Neu khoa cua Q la K K th ta co KA KA la phu thuoc ham co ve trai d tha ieu nay mau thuan vi fiFtt. Vay K la khoa cua Q neu Q co thuoc tnh khong khoa th A la thuoc tnh khong khoa duy nhat cua Q va moi phu thuoc ham co ve phai la A phai co ve trai la K lc o quan he Q khong co phu thuoc ham co ve trai khong la sieu khoa va ve phai khong la thuoc tnh khoa Q at chuan 3. 2. Neu lc o Q(W) gom cac thuoc tnh khong xuat hien trong Ftt th Q at chuan 3. That vay:

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 78

V la tap con bat ky cua W ta co V+=V F cua Q ch gom cac phu thuoc ham hien nhien trong F khong co phu thuoc ham co ve trai khong la sieu khoa va ve phai la thuoc tnh khong khoa Q at chuan 3. 3. Ta chng minh moi lc o con dang chuan 3. That vay: Theo thuat toan th moi lc o con Qi co dang YB vi YB Y la sieu khoa. Gia s trong Qi co phu thuoc ham XA co ve trai khong la sieu khoa va ve phai khong la thuoc tnh khoa. Ta phan lam hai trng hp: Trng hp 1: A=B XB X Y YB la phu thuoc co ve trai d tha, ieu nay trai vi YB la phu thuoc ham trong phu toi thieu. Trng hp 2: AB AY (1). Goi K la khoa cua Qi K Y (2). A la thuoc tnh khong khoa nen A K (3).(1)(2)(3) K Y (4).K la khoa nen KB YB la phu thuoc ham co ve trai d tha. ieu nay trai vi ieu phu thuoc ham YB la phu thuoc ham cua phu toi thieu Ftt 4. Ta chng minh phep phan ra bao toan phu thuoc ham. That vay: Hien nhien Ftt G = Qi(Ftt) Ftt+ G+ (1) Hn na Ftt+ G = Qi(Ftt) Ftt++ G+ Ftt+ G+ (2) (1)va (2) Ftt+ = G+ 5. Ta chng minh phep phan ra bao toan thong tin. That vay: Lap bang kiem tra bao toan thong tin. Ta lan lt ong nhat cac gia tr cua bang tren theo cac phu thuoc ham c phat hien moi bc cua thuat toan tm bao ong cua tap thuoc tnh Qi+ vi Qi+ cha khoa K cua lc o Q. Phu thuoc ham au tien c phat hien la YAjFtt sao cho Qi+Y va AjQi+. dong cua lc o Ql(YAj) co gia tr aj cot Aj nen khi lam bang gia tr ket qua la cot Aj cua dong co lc Qi co them gia tr aj. Tiep tuc cho cac phu thuoc ham phat hien tiep theo ta se co them cac gia tr a cac cot khac cua dong Qi. Do Qi cha khoa nen cac gia tr a mi them vao cua dong Qi se xuat hien tat ca cac thuoc tnh cua lc o Q. Suy ra hang cua lc o Qi se cha toan a la ieu phai chng minh. e lam sang to y tng cua phan chng minh nay ta xet trng hp cu the cua v du 21 : Bc 1: ta lap bang kiem tra bao toan thong tin: C T H R S G Q1(CT) a1 a2 Q2(HRC) a1 a3 a4 Q3(THR) a2 a3 a4 Q4(CSG) a1 a5 a6 Q5(HSR) a3 a4 a5 Bc 2:Ta chng minh dong Q5 cua bang tren se cha toan gia tr a. That vay: ta lan lt ong nhat cac gia tr cua bang tren theo cac phu thuoc ham c phat hien theo thuat toan tm bao ong cua X={HSR} K; F={CT,HRC,THR,CSG,HSR} X0=HSR do HRC. ong nhat cac gia tr theo phu thuoc ham nay. Tren dong X1=HSRC Q2 cot C cha gia tr a nen tren dong Q5 se co them gia tr a cot C X2=HSRCT do CT. ong nhat cac gia tr theo phu thuoc ham nay. X3=HSRCTG do CSG ong nhat cac gia tr theo phu thuoc ham nay.
C T H a1 a2 R S G

Q1(CT)

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 79

Q2(HRC) a1 a2 a3 a4 Q3(THR) a1 a2 a3 a4 Q4(CSG) a1 a2 a5 a6 Q5(HSR) a1 a2 a3 a4 a5 a6 Do X+=Q+ nen dong Q5 cha toan gia tr a V du 22: Cho Q(ABCDEGH), F={ABD; EHG; GC; DC} hay phan ra Q thanh cac lc o con dang chuan 3 va bao toan thong tin va bao toan phu thuoc. Giai: Tm phu toi thieu Ftt cua F Ftt=F={ABD; EHG; GC; DC} Ap dung thuat toan, Q c phan ra thanh lc o CSDL sau: Q1{ABD), Q2(EHG), Q3(GC), Q4(DC) Tm khoa cua Q TN={ABEH} TG={GD} Xi TN Xi (TN Xi)+ Sieu khoa Khoa ABCDEGH ABEH ABEH ABEH G ABEHG ABCDEGH ABEHG D ABEHD ABCDEGH ABEHD GD ABEHGD ABCDEGH ABEHGD Q1,Q2,Q3,Q4 khong cha khoa e bao toan thong tin ta can co Q5(A,B,E,H).Vay ket qua cua phan ra la Q1,Q2,Q3,Q4,Q5 IV BAI TAP 1/ Cho biet dang chuan cua cac lc o quan he sau: a) Q(ABCDEG); F={ABC, CDE, EG} b) Q(ABCDEGH); F={CAB, DE, BG} c) Q(ABCDEGH) F={ABC, DE, HG} d) Q(ABCDEG); F={ABC, CB, ABDE, GA} e) Q(ABCDEGHI); F={ACB,BIACD,ABCD,HI,ACEBCG,CGAE} 2/ Kiem tra s bao toan thong tin ? Q(ABCDE) R1(AD);R2(AB);R3(BE); R4(CDE);R5(AE) F={A C; B C;C D;DE C;CE A} 3/ Cho lc o quan he Q(A,B,C,D) va tap phu thuoc ham F = {AB;BC;AD;DC} Va mot lc o CSDL nh sau: C ={Q1(AB);Q2(AC);Q3(BD)} a) C co bao toan thong tin oi vi F b) C co bao toan phu thuoc ham ? 4/ Kiem tra dang chuan Q(C,S,Z) F={CSZ;ZC} 5/ Phan ra Q(G,H,A,B,C,D) F={GHAD;AGB;CDGH; CA; BHC} 6/ Cho lc o CSDL Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN)

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 80

F={NGAY,GIO,PHONGMONHOC MONHOC,NGAYGIAOVIEN NGAY,GIO,PHONGGIAOVIEN MONHOCGIAOVIEN}


a) Xac nh dang chuan cao nhat cua Kehoach b) Neu Kehoach cha at dang chuan 3, hay phan ra Kehoach thanh lc o CSDL dang chuan 3 va bao toan phu thuoc ham va bao toan thong tin. c) Neu Kehoach cha at dang chuan BC, hay phan ra KeHoach thanh lc o CSDL dang BC 7/ Cho lc o quan he Q(A,B,C,D) va tap phu thuoc ham F F = {AB;BC; DB} C = {Q1(A,C,D); Q2(B,D)} a) Xac nh cac Fi (nhng phu thuoc ham F c bao trong Qi) b) Lc o CSDL C co at dang chuan BC ? Neu khong co the phan ra tiep cac Qi cua C e bien C thanh dang chuan BC ? 8/ Gia s ta co lc o quan he Q(C,D,E,G,H,K) va tap phu thuoc ham F nh sau; F = {CK H; C D; EC; E G; CK E} a) T tap F, hay chng minh EK DH b) Tm tat ca cac khoa cua Q. c) Xac nh dang chuan cua Q. d) Hay tm cach phan ra Q thanh mot lc o CSDL at dang chuan BC (hoac dang chuan 3). tm tap phu thuoc ham va khoa cho moi lc o quan he con. 9/ Cho lc o quan he Q(S,I,D,M) F = {f1:SI DM; f2:SD M; f3:D M} a) Tnh bao ong D+,

SD+, SI+

b) Tm tat ca cac khoa cua Q c) Tm phu toi thieu cua F d) Xac nh dang chuan cao nhat cua Q e) Neu Q cha at dang chuan 3, hay phan ra Q thanh lc o CSDL dang chuan 3 va bao toan phu thuoc ham va bao toan thong tin. f) Neu Q cha at dang chuan BCNF, hay phan ra Q thanh lc o CSDL dang BCNF g) Kiem tra phep tach Q thanh cac lc o con (SID,SIM) co bao toan thong tin ? h) Kiem tra phep tach Q thanh cac lc o con (SID,SIM) co bao toan phu thuoc ham ? 10/ Cho lc o quan he

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 81

R(W,A,Z,Y,Q,P) R1(A,Z); R2(W,Y,Q,P) R3(Y,Q,P,A) F = {W AYQP, A Z, YQP A} Hay kiem tra tnh ket noi khong mat thong tin.
11/ Cho lc o quan he Q(Mon, GiangVien,Gi giang, Phong, SinhVien, Hang) vi F ={MGV; G,PM; G,GVP; M,SVH; G,SVP} C = {Q1(M,G,P); Q2(M,GV);Q3( M,SV,H)} Kiem tra xem lc o c s d lieu sau ay co bao toan thong tin oi vi F ? 12/ Kiem Tra Dang Chuan a) Q(A,B,C,D) F={CAD; AB} b) Q(S,D,I,M) F={SID;SDM} c) Q(N,G,P,M,GV) F={N,G,PM;MGV} d) Q(S,N,D,T,X) F={SN; SD; ST; SX} 13/ Phan ra lc o thanh dang BCK a) Q(S,D,I,M) F={S,ID;S,DM} b) Q(A,B,C,D) F={AB;BC;DB} c) Q(C,S,Z) F={C,SZ; ZC} 14/ Phan ra lc o thanh dang 3NF va bao toan phu thuoc ham va bao toan thong tin a) Q(A,B,C), F={AB;AC;BA;CA;BC} b) Q(MSCD,MSSV,CD,HG)

F={MSCDCD; CDMSCD; CD,MSSVHG; MSCD,HGMSSV; CD,HGMSSV; MSCD,MSSVHG} c) Q(A,B,C,D) F={ ABC; CB}

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU E THI MAU MON C S D LIEU (thi gian 60 phut) e 1

Trang 82

BAI 1: (6 iem) e quan ly lch day cua cac giao vien va lch hoc cua cac lp, mot trng to chc nh sau: Moi giao vien co mot ma so giao vien (MAGV) duy nhat, moi MAGV xac nh cac thong tin nh: ho va ten giao vien (HOTEN), so ien thoai (DTGV). Moi giao vien co the day nhieu mon cho nhieu khoa nhng ch thuoc s quan ly hanh chanh cua mot khoa nao o. Moi mon hoc co mot ma so mon hoc (MAMH) duy nhat, moi mon hoc xac nh ten mon hoc (TENMH). ng vi moi lp th moi mon hoc ch c phan cho mot giao vien. Moi phong hoc co mot so phong hoc (PHONG) duy nhat, moi phong co mot chc nang (CHUCNANG); chang han nh phong ly thuyet, phong thc hanh may tnh, phong nghe nhn, xng thc tap c kh, Moi khoa co mot ma khoa (MAKHOA) duy nhat, moi khoa xac nh cac thong tin nh: ten khoa (TENKHOA), ien thoai khoa(DTKHOA). Moi lp co mot ma lp (MALOP) duy nhat, moi lp co mot ten lp (TENLOP), s so lp (SISO). Moi lp co the hoc nhieu mon cua nhieu khoa nhng ch thuoc s quan ly hanh chnh cua mot khoa nao o. Hang tuan, moi giao vien phai lap lch bao giang cho biet giao vien o se day nhng lp nao, ngay nao (NGAYDAY), mon g, tai phong nao, t tiet (TUTIET) nao en tiet (DENTIET) nao, ta e bai day (BAIDAY), nhng ghi chu (GHICHU) ve cac tiet day nay, ay la gi day ly thuyet (LYTHUYET) hay thc hanh - gia s neu LYTHUYET=1 th o la gi day thc hanh va neu LYTHUYET=2 th o la gi ly thuyet, mot ngay co 16 tiet, sang t tiet 1 en tiet 6, chieu t tiet 7 en tiet 12, toi t tiet 13 en 16.Gia s ta co lc o c s d lieu e quan ly bai toan tren nh sau: Giaovien(MAGV,HOTEN,DTGV,MAKHOA)

Monhoc(MAMH,TENMH) Phonghoc(PHONG,CHUCNANG) Khoa(MAKHOA,TENKHOA,DTKHOA) Lop(MALOP,TENLOP,SISO,MAKHOA) Lichday(MAGV,MAMH,PHONG,MALOP,NGAYDAY,TUTIET,DENTIET,BAIDAY,LYTHUYET,GHICHU)


1.Hay xac nh khoa cho moi lc o quan he tren. (2,0 ) 2.Phat bieu cac rang buoc toan ven mien gia tr, rang buoc toan ven lien thuoc tnh (1.0 ) 3.Da vao lc o CSDL tren, hay thc hien cac cau hoi sau bang SQL (3,0 ) a.Xem lch bao giang tuan t ngay 16/09/2002 en ngay 23/09/2002 cua giao vien co MAGV (ma giao vien) la TH3A040. Yeu cau: MAGV,HOTEN,TENLOP,TENMH,PHONG, NGAYDAY, TUTIET, DENTIET, BAIDAY, GHICHU) b.Xem lch bao giang ngay 23/09/2002 cua cac giao vien co ma khoa la CNTT. Yeu cau: MAGV,HOTEN,TENLOP,TENMH,PHONG, NGAYDAY, TUTIET, DENTIET,BAIDAY, GHICHU c.Cho biet so lng giao vien (SOLUONGGV) cua moi khoa, ket qua can sap xep tang dan theo cot ten khoa. yeu cau: TENKHOA ,SOLUONGGV ( SOLUONGGV la thuoc tnh t at)

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU BAI 2: (4 iem) Cho lc o quan he Q(A,B,C,D,E,G,H,K) va tap phu thuoc ham F nh sau;

Trang 83

F = {C AD; E BH; B K; CE G}
1. Kiem tra xem cac phu thuoc ham E K; EG co thuoc tap F+ ? (1,0) 2. Tm tat ca cac khoa cua Q. (1,0) 3. Xac nh dang chuan cua Q. (1,0) 4. Neu Q cha at chuan BC. Hay phan ra Q thanh lc o CSDL at chuan BC (1,0) AP AN BAI 1:Cau 1: Giaovien(MAGV,HOTEN,DTGV,MAKHOA) Monhoc(MAMH,TENMH) Phonghoc(PHONG,CHUCNANG) Khoa(MAKHOA,TENKHOA,DTKHOA) Lop(MALOP,TENLOP,SISO,MAKHOA) Cau 2: t rGiaovien RBTV mien gia tr t.HOTEN NULL cuoi t rMonhoc RBTV mien gia tr t.TENMH NULL cuoi t rKhoa RBTV mien gia tr t.TENKHOA NULL cuoi t rLOP RBTV mien gia tr t.TENLOP NULL va t.SISO > 0 cuoi t rLichday t.TUTIET < t.DENTIET va RBTV lien thuoc tnh t.NGAYDAY NULL va RBTV mien gia tr t.BAIDAY NULL va RBTV mien gia tr (t.LYTHUYET =1 Or t.LYTHUYET=2) va RBTV mien gia tr (t.TUTIET >=1 va t.TUTIET<=16) va RBTV mien gia tr (t.DENTIET >=1 va t.DENTIET<=16) RBTV mien gia tr cuoi Cau 3: SELECT giaovien.magv,hoten,tenlop,tenmh,phong,ngayday,tutiet,entiet,baiday,ghichu FROM ((lichday INNER JOIN giaovien ON lichday.magv = giaovien.magv) INNER JOIN lop ON Lichday.malop = lop.malop) INNER JOIN monhoc ON lichday.mamh = monhoc.mamh WHERE ngayday >=#16/09/2002# AND ngayday<=#23/09/2002# AND magv= TH3A040 SELECT giaovien.magv,hoten,tenlop,tenmh,phong,ngayday,tutiet,entiet,baiday,ghichu FROM ((lichday INNER JOIN giaovien ON lichday.magv = giaovien.magv) INNER JOIN lop ON Lichday.malop = lop.malop) INNER JOIN monhoc on lichday.mamh = monhoc.mamh
Lichday(MAGV,MAMH,PHONG,MALOP,NGAYDAY,TUTIET,DENTIET,BAIDAY,LYTHUYET,GHICHU)

a.

b.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU WHERE ngayday = #23/09/2002# AND makh= CNTT SELECT tenkhoa,COUNT(giaovien.makhoa) AS soluonggv FROM giaovien INNER JOIN khoa ON giaovien.makhoa=khoa.makhoa GROUP BY giaovien.makhoa,tenkhoa

Trang 84

c.

BAI 2. E+ = E,B,H,K K nen E K F+ 1. E+ = E,B,H,K G nen E G F+ 2. TN={CE}; TG={B} Xi TN Xi (TN Xi )+ Sieu khoa Khoa + CE Q CE CE B CEB Q+ CEB vay Q co khoa duy nhat la K={C,E} 3. C K va C+=CAD thuoc tnh khong khoa A Q khong at chuan 2 Q at chuan 1
F={C->AD; E->BH; B->K; CE->G} Q(A,B,C,D,E,G,H,K) K = CE

Tnh F1, K1

F1={C->AD} Q1(C,A,D) K1 = C

F12={E->BH;B->K;CE->G;...} Q12(B,C,E,G,H,K) K12 = CE Tnh F22,K22


Tnh F2,K2

F2={E->BH} Q2(E,B,H) K2=E

F22={E->K;CE->G} Q22(C,E,G,K) K22 = CE


Tnh F4,K4

Tnh F3,K3

F3={E->K} Q3(E,K) K3 = E

F4={CE->G} Q4(C,E,G) K4 = CE

Q(A,B,C,D,E,G,H,K); F={CAD; EBH; BK; CEG} 4. Vay lc o quan he Q c tach thanh lc o c s d lieu at chuan BC sau: Q1(C,A,D) F1={CAD} at chuan BC Q2(E,B,H) F2={EBH} at chuan BC Q3(E,K) F3={EK} at chuan BC Q4(C,E,G) F4={CEG} at chuan BC

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 85

e 2 Cho mot lc o c s d lieu C dung e quan ly hoat ong sa cha, bao tr xe cua mot gara xe hi. Lc o c s d lieu C gom cac lc o quan he nh sau:

Q1: Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG) Tan t: Moi ngi th eu co ma so la MATHO e nhan dien. Moi th ch co mot ten (TENTHO) va ch thuoc mot nhom (NHOM). Nhom trng (NHOM_TRUONG)cua moi nhom la mot trong so nhng ngi th cua nhom o. MGT(MATHO)=MGT(NHOM_TRUONG) Q2: Cong_viec(MACV,NOIDUNGCV) Tan t: Dch vu sa cha xe c chia nho thanh nhieu cong viec e de dang tnh toan chi ph vi khach hang. Moi cong viec eu co ma rieng (MACV) va noi dung cua cong viec c mo ta qua NOIDUNGCV. Q3: Hop_dong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD, NG_GAIO_DK,NG_NGTHU) Tan t: Moi hp ong sa xe ky ket vi khach hang eu co ma so (SOHD) e phan biet. NGAYHD la ngay ky hp ong. Moi khach hang co mot ma so (MAKH), mot ten (TENKH) va mot a ch (DCHI) e theo doi cong n. SOXE la so ang bo cua xe em en sa cha, so nay do phong CSGT ng bo cap (neu xe oi chu th xem nh mot xe khac). Khach hang ky hp ong chnh la chu xe sa cha. Mot khach hang co the ky nhieu hp ong sa cha nhieu xe khac nhau hoac hp ong sa cha nhieu lan cua cung mot xe nhng trong cung mot ngay. Nhng cong viec sa cha cho mot au xe ch ky hp ong mot lan. TRIGIAHD la tong tr gia cua hp ong. NG_GIAO_DK la ngay d kien phai giao tra xe cho khach. NG_NGTHU la ngay nghiem thu that s sau khi a sa cha xong e thanh ly hp ong. Q4: Chitiet_HD(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO) Tan t: Moi hp ong sa xe co the gom nhieu cong viec. MACV la ma so cua tng cong viec. TRIGIA_CV la chi ph ve vat t, phu tung, thiet b, cong th ... a tnh toan vi khach. Moi cong viec cua hp ong se giao cho mot ngi th phu trach (MATHO) va mot ngi th co the tham gia vao nhieu cong viec cua mot hay nhieu hp ong khac nhau. KHOANTHO la so tien giao khoan lai cho ngi th sa cha. Q5: Phieu_thu(SOPH,NGAYPH,SOHD,MAKH,HOTEN,SOTIENTHU) Tan t: Khach hang (MAKH) co the thanh toan tien cua mot hp ong (SOHD) lam nhieu lan trc hoac sau khi nghiem thu (trong cung ngay hoac khac ngay). Moi lan thanh toan eu co so phieu e phan biet (SOPH), NGAYPH la ngay phat hanh phieu va SOTIENTHU la so tien thanh toan. HOTEN la ho ten cua ngi mang tien en thanh toan (co the khac vi ten cua khach hang ng ra ky hp ong)
Cau hoi: 1/ Xac nh tap hp F gom tat ca cac phu thuoc ham suy ra t tan t cua cac lc o quan he (khong can liet ke cac phu thuoc ham hien nhien). Xac nh khoa cho tng lc o quan he.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 86

2/ Mo ta tat ca cac rang buoc toan ven cua lc o c s d lieu C. Lap bang tam anh hng tong hp. 3/ Dung ngon ng SQL e thc hien nhng yeu cau sau: a) Cho biet danh sach nhng ngi th hien khong tham gia vao mot hp ong sa cha nao. b) Cho biet danh sach nhng hp ong hien a thanh ly (a giao tra xe cho khach) nhng cha c thanh toan ay u. c) Gia s hom nay la ngay 21/12/95 cho biet danh sach nhng hp ong can phai hoan tat trc ngay 31/12/95. d) Cho biet ngi th nao thc hien nhieu cong viec nhat. e) Cho biet ngi th nao thc hien tong gia tr cong viec (tong so tien) cao nhat. 4/ Lc o c s d lieu C dang chuan may (cao nhat). Hay dung thuat toan phan ra e nang cap lc o c s d lieu tren. Lu y: Cac thuoc tnh eu c xem nh thuoc tnh n. ap an: Cau 1: F1={MATHOTENTHO,NHOM,NHOM_TRUONG} Q1:Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG)

F2={MACVNOIDUNGCV} Q2:Congviec(MACV,NOIDUNGCV) F3={SOHDNGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU; MAKHTENKH,DCHI} Q3: Hopdong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU) F4={SOHD,MACVTRIGIA_CV,MATHO,KHOANTHO} Q4:ChiTiet_hd(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO) F5={SOPHNGAYPH,SOHD,HOTEN,SOTIENTHU;SOHDMAKH} Q5:Phieu_thu(SOPH,NGAYPH,SOHD,MAKH,HOTEN,SOTIENTHU)
Cau 2: mo ta tat ca cac rang buoc toan ven: R11 t1,t2 rTho t1.MATHO t2.MATHO cuoi R12 rTho[NHOM_TRUONG] rTho[MATHO] R13 t rTho t.TENTHO NULL t.NHOM NULL cuoi

RBTV khoa chnh RBTV khoa ngoai RBTV mien gia tr RBTV mien gia tr RBTV khoa chnh

R21

t1,t2 rCongviec t1.MACV t2.MACV cuoi

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 87

R22

t rCongviec t.NOIDUNGCV NULL cuoi t1,t2 rHopdong t1.SOHD t2.SOHD cuoi t rHopdong t.NGAYHD NULL t.MAKH NULL t.TENKH NULL t.SOXE NULL t.TRIGIAHD > 0 t.NGAYHD <= t.NG_NGTHU t.NG_NGTHU <= t.NG_GIAO_DK cuoi t1,t2 rChiTiet_hd t1.{SOHD,MACV} t2.{SOHD,MACV} cuoi rChitiet_HD[MATHO] rTho[MATHO] rChitiet_HD[SOHD] rHopdong[SOHD] rChitiet_HD[MACV] rCongviec[MACV] t rChiTiet_hd t.TRIGIA_CV > t.KHOANTHO t.KHOANTHO > 0 cuoi

RBTV mien gia tr.

R31

RBTV khoa chnh.

R32

RBTV RBTV RBTV RBTV RBTV RBTV RBTV

mien gia tr. mien gia tr. mien gia tr. mien gia tr. mien gia tr. lien thuoc tnh. lien thuoc tnh.

R41

RBTV khoa chnh. RBTV khoa ngoai RBTV khoa ngoai RBTV khoa ngoai RBTV lien thuoc tnh. RBTV mien gia tr.

R42 R43 R44 R45

R51

R52 R53

R54

t1,t2 rPhieu_thu RBTV khoa chnh t1.SOPH t2.SOPH cuoi rPhieu_thu[SOHD] rHopdong[SOHD] RBTV khoa ngoai t rPhieuthu t.NGAYPH NULL RBTV mien gia tr t.MAKH NULL RBTV mien gia tr RBTV mien gia tr t.HOTEN NULL t.SOTIENTHU > 0 RBTV mien gia tr cuoi trPhieuthu trHopdong RBTV lien thuoc tnh lien quan he. t.SOHD = t.SOHD va t.NGAYPH <= tNGAYHD cuoi Bang tam anh hng tong hp: rTho rCongviec rHopdong rChiTiet_hd rPhieu_thu T S X T S X T S X T S X T S X R11 + + R12 + + + R13 + + R21 + + -

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU R22 R31 R32 R41 R42 - + + R43 R44 R45 R51 R52 R53 R54

Trang 88

+ + + + + + + + + + + + + + + + + + + + + + -

+ +

+ +

+ +

Cau 3: a) SELECT matho,tentho FROM tho WHERE matho NOT IN (SELECT matho
FROM hop_dong INNER JOIN chitiet_HD ON hop_dong.sohd = chitiet_HD.sohd WHERE ng_ngthu > date() OR ISNULL(ng_ngthu))

b)SELECT sohd,ngayhd,makh,tenkh,dchi,soxe,trigiahd,ng_giao_dk,ng_ngthu FROM hop_dong WHERE ng_giao_dk <= DATE() AND (TRIGIAHD > (SELECT SUM(SOTIENTHU) FROM phieu_thu WHERE phieu_thu.sohd = hop_dong.sohd) OR sohd Not In (Select sohd From phieu_thu)) c)SELECT sohd,ngayhd,makh,tenkh,dchi,soxe,trigiahd,ng_giao_dk,ng_ngthu FROM hop_dong WHERE ng_giao_dk > #12/21/95# AND ng_giao_dk <= #12/31/95# d)SELECT chitiet_hd.matho,tentho,COUNT(macv) AS soluongcv FROM chiTiet_hd INNER JOIN tho ON chiTiet_hd.matho = tho.matho GROUP BY chiTiet_hd.matho,tentho HAVING COUNT(macv) >= ALL (SELECT COUNT(macv) FROM chiTiet_hd GROUP BY matho) e)SELECT chiTiet_hd.matho,tentho,SUM(trigia_cv) AS congtrigia_cv FROM chiTiet_hd INNER JOIN tho ON chiTiet_hd.matho = tho.matho GROUP BY chiTiet_hd.matho,tentho HAVING SUM(trigia_cv) >= ALL (SELECT SUM(trigia_cv) FROM chiTiet_hd GROUP BY matho)
Cau 4: F1={MATHOTENTHO,NHOM,NHOM_TRUONG} Q1:Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG) K1 = MATHO Q1 dang chuan BC

F2={MACVNOIDUNGCV}

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 89

Q2:Congviec(MACV,NOIDUNGCV) K2 = MACV Q2 dang chuan BC F3={SOHDNGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU; MAKHTENKH,DCHI} Q3: Hopdong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU) K3 = SOHD Q3 dang chuan 2 F4={SOHD,MACVTRIGIA_CV,MATHO,KHOANTHO} Q4:ChiTiet_hd(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO) K4 = {SOHD,MACV} Q4 dang chuan BC F5={SOPHNGAYPH,SOHD,HOTEN,SOTIENTHU;SOHDMAKH} Q5:Phieu_thu(SOPH,NGAYPH,SOHD,MAKH,HOTEN,SOTIENTHU) K5 = SOPH Q5 dang chuan 2 Vay lc o c s d lieu C at dang chuan 2.
e nang cap lc o c s d lieu tren ta phai phan ra Q3 va Q5 thanh:

F31={SOHDNGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU} Q31: Hopdong(SOHD,NGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU) K31 = SOHD Q31 at chuan BC F32={MAKHTENKH,DCHI} Q32: Khachhang(MAKH,TENKH,DCHI) K32 = MAKH Q32 at chuan BC F51={SOPHNGAYPH,SOHD,HOTEN,SOTIENTHU} Q51:Phieu_thu(SOPH,NGAYPH,SOHD,HOTEN,SOTIENTHU) K51 = SOPH Q51 at chuan BC F52={SOHDMAKH} Q52:Hopdong(SOHD,MAKH) K52 = SOHD Q52 at chuan BC
Lc o Q52 la lc o con cua Q31 nen ta loai Q52 khoi lc o c s d lieu C. Vay lc o c s d lieu C c phan ra thanh cac lc o Q1,Q2,Q31,Q32,Q4,Q51

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 90

e 3 Cho mot lc s o c s d lieu C dung e quan ly hoat ong kinh doanh kieu hoi cua mot n v. Lc o c s d lieu C gom cac lc o quan he nh sau : Q1: Nguyen_te(LOAINT,NGAY,TIGIA,TILE_HH) Tan t : Moi nguyen te c nhan dien duy nhat qua LOAINT. Cac loai nguyen te co the la: USD, FF, DM, YEN, ...Thuoc tnh TIGIA ch t gia so vi tien ong VN cua moi nguyen te trong ngay ( do Ngan hang Ngoai thng quyet nh vao au moi ngay va co nh trong ngay). Thuoc tnh TILE_HH la t le % hue hong ma cong ty c hng tren gia tr chi tra cua moi nguyen te (t le nay co nh trong nam). Lu y : Quan he nay ch cha cac nguyen te ma cong ty co chi tra kieu hoi. Moi khi can chi tra mot loai nguyen te mi, cong ty bat au lu t gia nguyen te mi ke t ngay chi tra tr i. Q2: Don_vi(MADV,NUOC) Tan t : Cong ty lam ai dien cho khoang 50 n v cua nc ngoai e chi tra kieu hoi cho khach hang tai VN. Moi n v co ma rieng e phan biet (MADV)va at tru s chnh tai 1 nc (NUOC). Q3: Danh_sach(MADV,SODS,NGAYDS) Tan t : Moi danh sach lien quan en 1 n v, co mot so th t (SODS) e phan biet vi cac danh sach khac cua cung n v. Thuoc tnh NGAYDS la ngay cong ty nhan c danh sach, cung la ngay ma n v tai nc ngoai gi danh sach cho cong ty. Trong mot ngay, mot n v tai nc ngoai ch gi toi a mot danh sach. Q4: Ctiet_ds(MADV,SODS,HOTENKH,DIACHI,LOAINT,TIENNT) Tan t : Moi danh sach chi tra cua mot n v co the gom nhieu khach hang. Gia s rang thuoc tnh HOTENKH co the them mot so thong tin phu u e phan biet vi cac khach hang khac trong cung danh sach. Moi khach hang ch co mot a ch (DIACHI) va nhieu khach hang co the co chung mot a ch. Trong mot danh sach, moi khach hang ch nhan mot loai nguyen te vi so tien nguyen te la TIENNT Q5: Giay_bao(SOGB,MADV,SODS,HOTENKH,NGAYGB,LAN) Tan t : Sau khi nhan danh sach cua mot n v, cong ty gi giay bao cho cac khach hang tai VN. Moi giay bao co so th t la SOGB (anh so tang dan) e phan biet vi cac giay bao khac (cua cung n v hoac khac n v). Neu sau 3 lan gi giay bao (moi lan cach nhau 1 tuan) ma khach hang khong en nhan tien, cong ty se gi tra cho n v tai nc ngoai). Q6:Chi_tra(SOPCHI,MADV,SODS,HOTENKH,NGAYCTRA,SOTIENVN) Tan t : Moi khach hang trong danh sach cua 1 n v, sau khi nhan giay bao, se en nhan tien ong VN 1 lan tai cong ty va moi phieu chi tien cho khach se co so la SOPCHI e phan biet vi bat ky phieu chi khac. Thuoc tnh SOTIENVN ch so tien VN ma khach hang nhan c tng ng vi TIENNT ghi trong danh sach. T gia qui oi c tnh vao ngay chi tra (NGAYCTRA). So tien hue hong ma cong ty c hng se c tnh toan da tren so tien thc chi (SOTIENVN) va t le hue hong cua nguyen te.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 91

Cau hoi : 1. Xac nh tap F gom tat ca cac phu thuoc ham suy ra t tan t cua cac lc o quan he. Xac nh khoa cho tng lc o quan he. 2. Mo ta tat ca cac rang buoc toan ven cua lc o c s d lieu. Lap bang tam anh hng tong hp. 3. Dung ngon ng SQL e thc hien nhng yeu cau sau: a) Cho biet t gia cua cac nguyen te trong ngay 21/12/95 b) Cho biet nhng danh sach chi tra kieu hoi cua cac n v co tru s chnh at tai nc Phap. c) Cho biet nhng khach hang khong en nhan tien. d) Cho tong so tien hue hong ma cong ty c trong khoang thi gian t ngay d1 en ngay d2. e) Cho biet n v nc ngoai co tong so tien chi tra (tnh theo tien ong VN) cao nhat. 4. Lc o c s d lieu C dang chuan may (cao nhat) ? Hay dung thuat toan phan ra e nang cap c s d lieu tren. Lu y : Cac thuoc tnh co mien gia tr la ngay dng lch xem nh thuoc tnh n.

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 92

e 4 Cho mot lc o c s d lieu C dung e quan ly viec thue mn phong tai mot khach san. Lc o c s d lieu C gom cac lc o quan he nhu sau : Q1: Phong(MAPH,SO_NGUOI,DACDIEM,GIA_PHONG) Tan t: Cac phong cua khach san c phan biet vi nhau qua MAPH. SO_NGUOI la kha nang cha toi a cua phong. DACDIEM mo ta so ac iem cua phong. GIA_PHONG la gia ca thue phong trong 1 ngay. Q2: Tien_nghi(LOAI_TN,TEN_TN) Tan t: Ngoai cac vat dung toi thieu, khach san co the trang b them mot so tien nghi khac cho cac phong nh : ien thoai, tivi, tu lanh, LOAI_TN la ma so e phan biet tng loai tien nghi. TEN_TN la ten goi cua loai tien nghi. Q3: Tai_san(LOAI_TN,STT,MAPH,NGAY_TB) Tan t : Moi loai tien nghi, khach san co the mua mot so lng ln va STT dung e phan biet cac vat dung trong cung loai tien nghi. Mot vat dung co the c sap xep trang b cho nhieu phong khac nhau nhng trong mot ngay vat dung ch trang b cho mot phong. MAPH la phong c trang b va NGAY_TB la ngay bat au trang b. Lu y : Moi khi mot vat dung c thay oi phong th cap nhat lai MAPH va NGAY_TB cua vat dung o. Q4: Thue_phong(MAPH,HOTEN,NGAYBD,NGAYKT,NGAYTRA,LOAIDV,NGAYDV,TIENDV) Tan t : HOTEN la ho ten cua khach thue phong MAPH. Gia s rang ho ten cac khach thue phong trong cung mot phong trong mot ngay luon luon khac nhau. NGAYBD va NGAYKT la ngay bat au va ngay ket thuc (d kien) thue phong. NGAYTRA la ngay tra that s. Gia s rang khong co trng hp khach tra phong va thue lai chnh phong o trong cung mot ngay. So tien thue phong c chia eu cho so khach thue trong cung phong. Khach thue phong co the s dung them cac dch vu (goi ien thoai ng dai, thue xe, thu tuc hanh chnh, ) LOAI_DV la ma so cua loai dch vu s dung. NGAYDV ngay dch vu thc hien. TIENDV la so tien khach thue phai tra cho dch vu. Neu trong cung mot ngay khach thue phong s dung 1 dch vu nhieu lan th tien dch vu c cong don lai thanh mot lan va tao thanh mot bo (v du trong ngay goi ien thoai 3 cuoc vi so tien phai tra lan lt la : 5000VN, 4500VN, 2000VN th se c tnh chung mot lan la 11500VN). Cac dch vu c tnh rieng oi vi tng khach. Neu la dch vu chung cho mot so khach th se tnh tien cho mot n v khach ai dien nao o. Cau hoi : 1. Xac nh tap F gom tat ca cac phu thuoc ham suy ra t tan t cua cac lc o quan he. Xac nh cac khoa cho tng lc o quan he. 2. Mo ta tat ca cac rang buoc toan ven cua lc o c s d lieu C. Lap bang tam anh hng tong hp cua cac rang buoc toan ven. 3. Dung ngon ng SQL e thc hien nhng yeu cau sau : a) Cho biet cac thong tin cua cac phong co kha nang cha tren 3 ngi. b) Cho biet cac thong tin cua cac phong co trang b may lanh (LOAITN=ML)

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 93

c) Cho biet cac thong tin cua cac phong hien nay (02/01/96) co trang b may lanh. d) Gia s hom nay la ngay 02/01/96. Tnh tong so tien phai tra (tien thue phong va tien dch vu) cua tng khach a thue phong X t ngay 21/12/95 va tra phong vao hom nay . e) Cho biet doanh so thu c cua tng phong (khong tnh tien dch vu) 1. Lc o c s d lieu C dang chuan may (cao nhat) ?. Hay dung thuat toan phan ra e nang cap lc o c s d lieu C. Lu y : Cac thuoc tnh co mien gia tr la ngay dng lch xem nh thuoc tnh n.

----oOo----

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU

Trang 94

e 5 Cho mot lc o c s d lieu C dung e quan ly viec viec cho mn sach tai mot th vien (xem tai cho hoac mang ve nha). Lc o c s d lieu C gom cac lc o quan he nh sau : Q1 : The_loai(MATL,TENTL) Tan t : Sach cua th vien c phan chia theo the loai e ban oc de dang tra cu. MATL la ma so cua tng the loai va dung e phan biet gia cac the loai. TENTL la ten goi cua the loai. Q2 : Sach(MASH,TENSH,NGUYEN_TAC,TAC_GIA,MATL) Tan t : MASH dung e phan biet cac quyen sach. TENSH la ten (ta) bang tieng Viet cua sach va NGUYEN_TAC la ten nguyen tac (tieng Viet hoac tieng nc ngoai). TAC_GIA la ten tac gia (hay nhom cac tac gia) cua sach. Neu sach co nhieu tap hay nhieu ban th cung xem nh cac au sach khac nhau va co ma so khac nhau. MATL la ma the loai cua sach. Q3 : phieu_muon(MADG,TENDG,DCHI,NGAYCAP,MASH,NGAYMUON,NGAYTRA,TAI_CHO) Tan t : Moi oc gia ch co mot phieu mn sach vi ma so la MADG e phan biet vi cac oc gia khac. Cac thuoc tnh TENDG, DCHI la ten va a ch cua oc gia. NGAYCAP la ngay cap the cho oc gia. MASH la ma so cua sach mn. Gia s khong co trng hp mn roi tra lai cung 1 quyen sach trong cung 1 ngay. Neu sach mn oc tai cho th thuoc tnh TAI_CHO co gia tr True va NGAYMUON=NGAYTRA. Neu sach mn ve nha th thuoc tnh TAI_CHO co gia tr False va NGAYTRA se co gia tr trong cho en khi sach c mang tra lai cho th vien. Moi oc gia ch c gi tai nha toi a 3 quyen sach va moi quyen sach ch c gi tai nha toi a 30 ngay (khong can lu y en bien phap x ly neu khach vi pham noi qui) Q4 : Le_phi(MADG,NAM,NGAY_NOP,SOTIEN) Tan t: oc gia phai ong le ph hang nam (NAM) e gia han the mi c mn sach. NGAY_NOP,SOTIEN la ngay va so tien nop le ph cho NAM. Cau hoi : 1. Xac nh tap F gom tat ca cac phu thuoc ham suy ra t tan t cua cac lc o quan he. Xac nh cac khoa cho tng lc o quan he. 2. Mo ta tat cac rang buoc toan ven cua lc o c s d lie C. Lap bang tam anh hng tong hp cua cac rang buoc toan ven. 3. Dung ngon ng SQL e thc hien nhng yeu cau sau : a) Cho biet danh sach oc gia va nhng quyen sach mn qua 20 ngay (ke t ngay 02/01/96). b) Cho biet nhng quyen sach co ten the loai la Tin hoc va co s tham gia bien soan cua tac gia X. c) Cho biet tong so lan mn cua tng quyen sach. d) Cho biet tong so lan mn cua tng the loai sach. e) Cho biet the loai sach nao c mn nhieu nhat. 4. Lc o c s d lieu C dang chuan may (cao nhat) ? Hay dung thuat toan phan ra e nang cap lc o c s d lieu C. Lu y : Cac thuoc tnh co mien gia tr la ngay dng lch xem nh thuoc tnh n.

B mn CSDL Trng CCN 4

Giao trnh C S D LIEU TAI LIEU THAM KHAO [1].Nhap mon c s d lieu ong Th Bch Thuy - Nguyen An Te [2].C s d lieu ly thuyet va thc hanh Nguyen Ba Tng [3].C s d lieu o Trung Tuan [4].Mo hnh d lieu va ngon ng truy van JEFFREY D. ULLMAN [5].Ly thuyet thiet ke c s d lieu JEFFREY D. ULLMAN [6].The Theory Of Relational Databases DAVID MAIER

Trang 95

----oOo----

B mn CSDL Trng CCN 4

You might also like