giao trinh csdl - share-book

Upload: phanthedang

Post on 07-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    1/96

    www.updatesofts.com

    ngocha85: Gio trnh C s d liu

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    2/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    1

    MC LC

    Chng 1 ..............................................................................................................................................3MO HNH QUAN HE ..........................................................................................................................3

    I NGUYEN NHAN RA I CUA MO HNH QUAN HE .........................................................3II C S D LIEU VA HE QUAN TR C S D LIEU.........................................................31 CSDL la g?...........................................................................................................................42 He quan tr CSDL .................................................................................................................43 Ngi dung (User).................................................................................................................44 CSDLQH va He tap tin theo loi cu .......................................................................................5

    III MO HNH QUAN HE ...........................................................................................................51 Mo hnh quan he la g ?.........................................................................................................52 Cac khai niem c ban cua mo hnh quan he .........................................................................63 Cac phep toan tap hp ........................................................................................................10

    4 Cac phep toan quan he........................................................................................................115 Cac tnh chat cua ai so quan he ........................................................................................12

    IV MO HNH THC THE KET HP......................................................................................151 Gii thieu mo hnh thc the ket hp ...................................................................................152 Chuyen t mo hnh thc the ket hp sang lc o CSDL...................................................17

    V BAI TAP .................................................................................................................................191 Phep toan tap hp va phep toan quan he............................................................................192 Mo hnh thc the ket hp ....................................................................................................20

    Chng 2 ............................................................................................................................................22

    NGON NG TRUY VAN SQL..........................................................................................................22I CACH TAO QUAN HE BANG ACCESS ..............................................................................22II CAU LENH TRUY VAN........................................................................................................22

    1 BIEU THC (EXPRESSION) ............................................................................................222 CAU LENH SQL................................................................................................................25

    III BAI TAP .............................................................................................................................28Chng 3 ............................................................................................................................................32RANG BUOC TOAN VEN QUAN HE..............................................................................................32

    I RANG BUOC TOAN VEN - CAC YEU TO CUA RANG BUOC TOAN VEN ...................321 Rang Buoc Toan Ven..........................................................................................................32

    2 Cac Yeu To Cua Rang Buoc Toan Ven .............................................................................32II PHAN LOAI RANG BUOC TOAN VEN ..............................................................................33

    1 Rang buoc toan ven lien bo ................................................................................................342 Rang buoc toan ven ve phu thuoc ton tai: ..........................................................................343 Rang buoc toan ven ve mien gia tr....................................................................................344 Rang buoc toan ven lien thuoc tnh ....................................................................................355 Rang buoc toan ven lien thuoc tnh lien quan he ...............................................................356 Rang buoc toan ven ve thuoc tnh tong hp .......................................................................35

    III BAI TAP .............................................................................................................................35

    Chng 4 ............................................................................................................................................37PHU THUOC HAM ...........................................................................................................................37I KHAI NIEM PHU THUOC HAM..........................................................................................37

    http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/
  • 8/6/2019 Giao Trinh CSDL - Share-Book

    3/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    2

    1 nh ngha phu thuoc ham ..................................................................................................382 Phu thuoc ham hien nhien...................................................................................................383 Thuat toan Satifies ..............................................................................................................384 Cac phu thuoc ham co the co..............................................................................................39

    II HE LUAT DAN ARMSTRONG.............................................................................................421 Phu thuoc ham c suy dien logic t F .............................................................................422 He luat dan Amstrong .........................................................................................................433 He luat dan Armstrong la ay u........................................................................................47

    III THUAT TOAN TM F+.......................................................................................................481 Thuat toan c ban................................................................................................................482 Thuat toan cai tien ..............................................................................................................48

    IV BAI TAP .............................................................................................................................49Chng 5 ............................................................................................................................................50PHU CUA TAP PHU THUOC HAM.................................................................................................50

    I NH NGHA .........................................................................................................................50II PHU TOI THIEU CUA MOT TAP PHU THUOC HAM.......................................................501 Phu thuoc ham co ve trai d tha .......................................................................................502 Tap phu thuoc ham co ve phai mot thuoc tnh....................................................................513 Tap phu thuoc ham khong d tha......................................................................................514 Tap phu thuoc ham toi thieu ...............................................................................................51

    III KHOA CUA LC O QUAN HE ...................................................................................521 nh Ngha ..........................................................................................................................522 Thuat toan tm tat ca khoa ..................................................................................................53

    IV BAI TAP .............................................................................................................................55Chng 6 ............................................................................................................................................57CHUAN HOA C S D LIEU .......................................................................................................57

    I DANG CHUAN CUA LC O QUAN HE ........................................................................571 nh ngha cac dang chuan .................................................................................................57

    II PHEP TACH KET NOI BAO TOAN .....................................................................................621 Phep tach ket noi bao toan thong tin ..................................................................................622 Phep tach bao toan phu thuoc ham.....................................................................................67

    III THIET KE CSDL BANG CACH PHAN RA......................................................................701 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 ............76IV BAI TAP .............................................................................................................................79

    ----oOo----

    http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/
  • 8/6/2019 Giao Trinh CSDL - Share-Book

    4/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    3

    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, ocquyen en cac he thong m manh va khong at tien. S phat trien nay mang lai li ch to ln chongi dung cuoi bi s phat trien cua cac goi ng dung so nh x ly van ban, bang tnh ien t, vanphong 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 thanhnhieu 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 nhCOBOL, FORTRAN, PASCAL va ngay caBASIC e tao ra cac giai phap cho cac van e cua doanh nghiep. Moi ng dung, chang han nh hetnh lng, he kho hay he thong ke toan se co mot tap cac tap tin rieng cha d lieu rieng. Cac ngdung 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 chngtrnh ng dung khai thac chung. ieu nay khien viec tao nen cac ng dung nay rat khokhan, 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, thigian 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 Henhan 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 taos 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 DATABASEMANAGEMENT SYSTEM)

    Khi au, s gii thieu CSDL va HQTCSDL nham giai quyet cac van e cua he thong tin da trencac tap tin theo loi cu (C1.I). ieu nay tao ra viec phat trien tren hai mi lam nam qua mot heCSDL quan he thng mai xuat hien cuoi nhng nam thap nien 70 va cac nam au cua thap nien80. 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.

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    5/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    4

    1 CSDL la g?Mot c s d lieu co the nh ngha tam nh sau: mot cho cha co to chc tap hp cac tap tin dlieu 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 CSDLMot 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 nhngngi 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 bienHien 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 loaiHQTCSDL 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

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    6/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    5

    - Ngi phat trien va lap trnh ng dung la nhng ngi chuyen nghiep ve may tnh co trachnhiem 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 giatrong cac lanh vc khac co trach nhiem cu the trong to chc. Ho khai thac CSDL thong quahe c phat trien bi ngi phat trien ng dung hay cac cong cu truy van cua HQTCSDL.

    4 CSDLQH va He tap tin theo loi cuTiep can CSDL a giai quyet 3 van e cua he tap tin theo loi cu:

    i Van e 1: cau truc logic va cau truc vat ly

    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 tinma khong anh hng en chng trnh ng dung.

    ii Van e 2: d tha d lieuKhi HQTCSDLQH c gii thieu, nhieu to chc mong tch hp cac tap tin a phan tan khap trongto chc vao mot CSDL tap trung. D lieu co the chia se cho nhieu ng dung khac nhau va ngi sdung co the khai thac ong thi cac tap con d lieu lien quan en ho. ieu nay lam han che s dtha d lieu.

    iii Van e 3: S khai thac d lieu cua ngi s dungTrong he QTCSDLQH ngi dung co the trc tiep khai thac d lieu thong qua viec s dung cac cautruy 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. Mohnh 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.

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    7/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    6

    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 vaap dung no e lap mo hnh d lieu quan he co hieu qua trong lu tr va khai thac.

    MASV HOTENH MONHOC TENKHOA DIEMTHI99001 TRAN DAN THU CO SO DU LIEU CONG NGHE THONG TIN 3.099002 NGUYEN HA DA THAO CO SO DU LIEU CONG NGHE THONG TIN 8.099001 TRAN DAN THU TIN HOC VAN PHONG CONG NGHE THONG TIN 6.099005 LE THANH TRUNG TIN HOC VAN PHONG ANH VAN 5.0

    Chang han vi bai toan quan ly iem thi cua sinh vien; neu lu tr d lieu theo dang bang vi caccot 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 heta phai thay MONHOC bang MAMH, thay TENKHOA bang MAKHOA, tach mot bang d lieu ln o rathanh nhieu bang con, nh mo hnh di.

    MASV MAMH MAKHOA DIEMTHI MASV HOTEN99001 CSDL CNTT 3.0 99001 TRAN DAN THU99002 CSDL CNTT 8.0 99002 NGUYEN HA DA THAO

    99001 THVP CNTT 6.0 99005 LE THANH TRUNG99005 THVP AV 5.0

    MAMH TENMH SOTIET MAKHOA TENKHOACSDL CO SO DU LIEU 90 CNTT CONG NGHE THONG TINTHVP TIN HOC VAN PHONG 90 AV ANH VAN

    2 Cac khai niem c ban cua mo hnh quan hei Thuoc tnh (Attribute, Arity)

    Chang han vi bai toan quan ly iem thi cua sinh vien; vi oi tng sinh vien ta can phai chu yen cac ac trng rieng nh ho ten, ngay sinh, n (gii tnh), tnh thng tru, hoc bong, lp ma sinhvien theo hoc,. . . cac ac trng nay goi lathuoc 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 khongc 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 cono goi la mien gia tr cua thuoc tnh o. Thuoc tnh ngay trong thang th co kieu d lieu la songuyen, mien gia tr cua no la 1 en (toi a la) 31. Hoac iem thi cua sinh vien ch la cac songuyen 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 ebieu dien mot so lng ln cac thuoc tnh.

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    8/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    7

    ii Lc o Quan He (Relation Schema)Tap tat ca cac thuoc tnh can quan ly cua mot oi tng cung vi moi lien he gia chung c goila lc o quan he. Lc o quan he Q vi tap thuoc tnh {A1,A2,...,An} c viet laQ(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 ogoi latan t cua lc o quan he o. Da vao tan t ngi ta xac nh ctap thuoc tnh khoa cualc 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 engi khac tranh hieu nham. Chang han tan t cua lc o quan he tren la:moi sinh vien co motma sinh vien (MASV) duy nhat, moi ma sinh vien xac nh tat ca cac thuoc tnh cua sinh vien onh 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 vienNU NNGAYSINH ngay sinhLOP lpTENLOP ten lpSISO s so lpMAKHOA ma khoaHOCBONG hoc bongTINH tnh

    TENKHOA ten khoaSOCBGD so can bo giang dayMAMH ma mon hocTENMH ten mon hocSOTIET so tietDIEMTHI 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 motlc o quan he co the nh ngha rat nhieu quan he. Thng ta dung cac ky hieu nhR, 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.

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    9/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    8

    iv Bo (Tuple)Bola 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 12000099002 NGUYEN HA DA THAO TRUE 25-04-1986 TCTH29C TPHCM 120000Thng ngi ta dung cac ch cai thng (nht,p,q,) e bieu dien cac bo. Chang han e noi bot 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 nghatren lc o c s d lieu quan ly sinh vien tren:

    rSvMASV HOTEN NU NGAYSINH MALOP TINH HOCBONG99001 TRAN DAN THU TRUE 15-03-1977 CTH2B TIEN GIANG 120000

    99002 NGUYEN HA DA THAO TRUE 25-04-1986 CTH2B TPHCM 12000099003 PHAM ANH HUY FALSE 16-08-1977 CTH2B BAC LIEU99004 NGUYEN NGOC THUAN FALSE 24-12-1980 CTH2B CA MAU99005 LE THANH TRUNG FALSE 20-11-1978 CAV1 CA MAU 12000099006 NGUYEN HONG VAN FALSE 19-09-1979 CAV1 SOC TRANG99007 VU THI LOAN TRUE 15-03-1975 CAV1 CA MAU99008 TRUONG KIM QUANG FALSE15-05-1975 CTH2B HA NOI99009 TON THAT QUYEN FALSE 26-06-1976 CTH2B VUNG TAU 6000099010 HA VAN LONG FALSE 14-04-1973 CAV1 BAC LIEU99011 BUI VAN ANH FALSE 22-12-1972 CAV1 AN GIANG

    99012 LE HUU CHI FALSE28-08-1977 CT2 CAN THO 6000099013 VU THANH CONG FALSE 29-03-1979 CTH2B KIEN GIANG 6000099014 TRAN QUANG CUONG FALSE 30-05-1981 CT2 DONG THAP 12000099015 PHAM VAN HAI FALSE 30-06-1976 CT2 CA MAU99016 HUYNH THANH HOANG FALSE29-07-1982 CT2 TPHCM 8000099017 TRAN MINH LAM FALSE 21-08-1977 CTH2B TRA VINH99018 PHAN VAN SANG FALSE 19-05-1979 CDL1 DONG THAP 12000099019 PHAM THI HUYEN FALSE16-06-1982 CDL1 CAN THO 12000099020 NGUYEN THI NGAN TRUE 11-11-1981 CTH2B CA MAU 12000099021 PHAM TAN QUANG FALSE01-01-1980 CDL1 CA MAU

    99022 TRAN PHUOC QUYEN FALSE 12-12-1979 CTH2B BAC LIEU 6000099023 LE THI THANH VAN TRUE 11-11-1980 CDL1 TPHCM 120000

    rKh rMhMAKHOA TENKHOA SOCBGD MAMHTENMH SOTIETCNTT CONG NGHE THONG TIN 60 CSDL CO SO DU LIEU 90AV ANH VAN 60 FOX FOXPRO 120HOA HOA CHAT 20 THVP TIN HOC VAN PHONG 90MAY TNH MOI TRUONG 10 AVTH ANH VAN TIN HOC 60

    XD XAY DUNG 10 KTS KY THUAT SO 60DL DU LICH 5 CTDL CAU TRUC DU LIEU 60

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    10/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    9

    TTIN TOAN -TIN HOC 30 TTNT TRI TUE NHAN TAO 45SINH CONG NGHE SINH HOC 30 MANG MANG MAY TINH CB 45VL VAT LY 20 VB VI SUAL BASIC 90T IEN T 20 AC ACCESS 180

    LR LAP RAP MAY TINH 60INTER CAC DICH VU INTERNET 45HDH HE DIEU HANH 60KTLT KY THUAT LAP TRINH 45VIFOX VISUAL FOXPRO 60

    rKqMASV MAMH DIEMTHI99001 CSDL 3.0 99006 MANG 6.0 99016 KTS 7.099002 CSDL 8.0 99007 MANG 2.0 99017 KTS 7.099003 CSDL 8.0 99008 MANG 7.0 99017 FOX 4.099004 CSDL 3.0 99009 MANG 3.0 99017 MANG 8.099005 CSDL 2.0 99010 TTNT 5.0 99017 CSDL 8.099001 THVP 6.0 99011 FOX 4.0 99017 TTNT 6.099002 THVP 3.0 99012 FOX 5.0 99002 MANG 8.099003 THVP 8.0 99013 FOX 7.0 99004 MANG 4.099004 THVP 9.0 99014 VB 7.0 99018 TTNT 7.099005 THVP 5.0 99015 VB 3.0 99019 CSDL 8.0

    99020 THVP 7.0 99023 TTNT 3.0 99021 CSDL 8.099021 MANG 7.0 99023 THVP 6.0 99021 THVP 9.099022 MANG 6.0 99023 FOX 8.0 99022 FOX 5.099023 CSDL 8.0 99023 VB 9.0 99022 TTNT 6.099023 MANG 6.0 99023 KTS 6.0

    rLopMALOP TENLOP SISO MAKHOA

    CTH2B CAO ANG TIN HOC KHOA 2000B 60 cntt

    TCTH29C TRUNG CAP TIN HOC KHOA 29 C 121 cnttCAV1 CAO ANG ANH VAN 1 120 avCT2 CAO ANG IEN T 2 80 tCDL1 CAO ANG DU LCH 1 42 dl

    v 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 neuvi 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 lakhoa chnh (Primary key) (trong cac phan sau khoa chnh c goi tat la khoa)

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    11/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    10

    Cac thuoc tnh tham gia vao mot khoa c goi la thuoc tnh khoa (prime key), ngc laic goi lathuoc tnh khong khoa (non prime key).Mot thuoc tnh c goi lakhoa ngoai neu no la thuoc tnh cua mot lc o quan he nay nhng laila 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: MAXEThuoc tnh khoa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXEThuoc 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 Cac phep toan tap hp (set operation)i 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 haiquan he tren Q1 va Q2. Phep hp cua hai lc o quan he Q1 va Q2 se tao thanh mot lc o quanhe Q3. Q3 c xac nh nh sau:

    Q3+= {A1,A2,..,An}

    r3= r1+r2 = {t | t r1hoac 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 99001 CSDL 5.099002 CTDL 2.0 99001 TTNT 5.0 99002 CTDL 2.099003 MANG 8.0 99003 CSDL 6.0 99003 MANG 8.0

    99001 TTNT 5.099003 CSDL 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 haiquan he tren Q1 va Q2. Phep giao cua hai lc o quan he Q1 va Q2 se tao thanh mot lc o quanhe Q3 nh sau:

    Q3+={A1,A2,..,An}

    r3 = r1*r2= {t | t r1va t r2}V du:

    r1 r2 r3 = r1* r2MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI99001 CSDL 5.0 99002 CTDL 2.0 99002 CTDL 2.099002 CTDL 2.0 99001 TTNT 5.099003 MANG 8.0 99003 CSDL 6.0

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    12/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    11

    iii Phep Tr (Minus, difference)Cho hai lc o quan he Q1 va Q2 co cung tap thuoc tnh {A1,A2,..,An}. r1 va r2 lan lt la haiquan he tren Q1 va Q2. Phep tr lc o quan he Q1 cho Q2 se tao thanh mot lc o quan he Q3 nhsau:

    Q3+={A1,A2,..,An}

    r3 = r1 - r2= {t | t r1va t r2}V du:

    r1 r2 r3 =r1 -r2MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI99001 CSDL 5.0 99002 CTDL 2.0 99001 CSDL 5.099002 CTDL 2.0 99001 TTNT 5.0 99003 MANG 8.099003 MANG 8.0 99003 CSDL 6.0

    iv 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 vaQ2. 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 r1va t2 r2}

    V du:r1 r3 = r1 x r2

    MASV MAMH DIEMTHI MASV MAMH DIEMTHI MAMH TENMH99001 CSDL 5.0 99001 CSDL 5.0 CSDL CO SO DU LIEU99002 CTDL 2.0 99001 CSDL 5.0 FOX FOXPRO99003 MANG 8.0 99002 CTDL 2.0 CSDL CO SO DU LIEU

    r2 99002 CTDL 2.0 FOX FOXPROMAMH TENMH 99003 MANG 8.0 CSDL CO SO DU LIEUCSDL CO SO DU LIEU 99003 MANG 8.0 FOX FOXPROFOX FOXPRO

    4 Cac phep toan quan hei 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+ chnhla 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 MAMH99001 CSDL 5.0 CSDL99002 CTDL 2.0 CTDL99003 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 cphat bieu tren tap X. Phan t tr thoa man ieu kien E ky hieu la t(E).

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    13/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    12

    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= r:DIEMTHI >= 5MASV MAMH DIEMTHI MASV MAMH DIEMTHI99001 CSDL 5.0 99001 CSDL 5.099002 CTDL 2.0 99003 MANG 8.099003 MANG 8.0

    iii Phep ket, Phep Ket T Nhien (join, natural join):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

    BjAi

    ||>< r2 = {t12|t1r1,t2r2 sao chot12.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:

    r1 r2 r3 = r1FB

    >< r2MASV MAMH DIEMTHI MAMH TENMH MASV MAMH DIEMTHI TENMH99001 CSDL 5.0 CSDL CO SO DU LIEU 99001 CSDL 5.0 CO SO DU LIEU99002 CTDL 2.0 CTDL CAU TRUC DU LIEU 99002 CTDL 2.0 CAU TRUC DU LIEU99003 MANG 8.0

    iv Phep chia (division):Cho hai lc o quan he Q1(A1,A2,..,An), Q2(B1,B2,..,Bm).

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    14/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    13

    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 r2 r3 = r1 r2A1 A2 A3 A4 A5 B1 B2 A1 A2 A3a b d c g c g a b da b d e f e f e g cb c e e fe g c c g

    e g c e fa b e g e

    5 Cac tnh chat cua ai so quan heQ la lc o quan heq,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 = {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)

    Chng minh:(r+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)}

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    15/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    14

    = {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)

    Chng minh:(r-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.X1Chng minh:(r.X2).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

    Chng minh:(r:E).X = {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|>

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    16/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    15

    u12.S+=u2 u1.Ck2u2.Dl},t12.Q+=t1 t12.R+S+=t2 t12.Ai1t12.Bj}

    ={t12|t1q,t2(r|>

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    17/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    16

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

    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 theohai 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 chitiet 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 thcthe.

    - 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

    latnh 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 moiquan 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. Motngi ch lay c mot bang lai va mot bang lai ch thuoc ve mot ngi. Thong tin ve lai xe maphong canh sat quan tam la: ma ngi lai xe, ten, a ch, ngay sinhThong tin ve bang lai can lu tr la: ma bang lai, loai bang lai, ngay het han

    (b)Mo hnh thc the ket hp

    - moi NGI LAI XE phai s hu mot BANG LAI- moi BANG LAI phai c s hu bi mot NGI LAI XEiii V du moi quan he nhieu-nhieu

    (a)ac ta van eNgi 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 danhvao cac mon hoc nay. Nha trng qui nh la mot hoc vien c ghi danh hoc toi a ba mon hoc

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    18/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    17

    trong cung mot luc. Ho ch quan tam en d lieu cua mon hoc hien tai. Mot khi hoc vien ket thucmon hoc, ho se khong con thuoc dien quan ly cua nha trng va phai c xoa khoi csdl tr khi hocvien 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 hocThong tin ve mon hoc gom: ma mon hoc, ten mon hoc, thi lng

    (b)Mo hnh ER

    + Moi HOC VIEN co the ghi danh vaomot hay nhieu MON HOC+ Moi MON HOC phai c ghi danh bimot hay nhieu HOC VIEN

    Mo hnh ER tren co moi quan he nhieu nhieu.

    (c)Loai bo tnh ket noi nhieu nhieu (neu c)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 khongdien ta c trng hp hoc vien hoc cung luc nhieu mon hoc.

    - Con neungay nhap hoc la thuoc tnh cua MON HOC th khong dien ta c tnh trang cungmon hoc nhng co cac ngay nhap hoc khac nhau.

    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 Chuyen t mo hnh thc the ket hp sang lc o CSDL.i Qui tac chung

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

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    19/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    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 sauii Qui tac chuyen moi quan he thanh khoa ngoai

    (a)Moi quan he mot-motChuyen khoa chnh t quan he 1 sang quan he 2 hay ngc lai. V du van e ngi lai xe va banglai se co mo hnh quan he la mot trong hai mo hnh quan he sau

    (b)Moi quan he mot-nhieuChuyen khoa chnh t ben mot sang ben 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

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    20/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    19

    + ma mon hoc la khoa ngoai+ ma hoc vien va ma mon hoc la khoa chnh

    (d)Moi quan he nhieu-nhieuTao mot quan he mi co khoa chnh la s ket hp cac khoa chnh cua hai quan he co tnh ket noinhieu nhieu.

    V du gia s Trng Cao ang Cong ong Nui Xanh khong quan tam en ngay nhap hoc cua hocvien th mo hnh ER se co moi quan he nhieu nhieu nh sau:

    V BAI TAP1 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 thuoctnh 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 cacthuoc 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 thuoctnh 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 thiYEU 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, HOCBONGb. Lap danh sach sinh vien n khoa CNTT,danh sach can MASV, HOTEN, HOCBONGc. 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=99001e. Lap danh sach sinh vien gom MASV,HOTEN,TENLOP, TENKHOA

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    21/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    20

    f. Lap bang iem mon hoc co ma mon hoc la CSDL cho tat ca sinh vien co ma lp laCTH2B

    g. Lap danh sach sinh vien cua lp co ma lp la CTH2B va co iem thi mon hoc lnhn hay bang 8.

    2 Mo hnh thc the ket hpDa vao cac phan tch s bo di ay, hay lap mo hnh thc the ket hp cho moi bai toan quan lysau:

    i QUAN LY LAO ONGe quan ly viec phan cong cac nhan vien tham gia vao xay dng cac cong trnh. Cong ty xay dngABC 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 congtrnh 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 vienxac 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 motphong ban quan ly hanh chanh nhieu nhan vien. Cong ty co nhieu phong ban (Phong ke toan, phongkinh doanh, phong ky thuat, phong to chc, phong chuyen mon, Phong phuc vu,). Moi phong banco 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 chonhieu nhan vien va moi nhan vien cung luc cung co the tham gia vao nhieu cong trnh. Vi moicong 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 (gias neu mot tac pham co nhieu ban giong nhau hoac co nhieu tap th cung xem la co ma sach khacnhau), 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), cungvi 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 phieumn co mot so phieu mn (SOPM) duy nhat, moi phieu mn xac nh cac thong tin nh: ngaymn (NGAYMUON), oc gia mn, cac quyen sach mn va ngay tra (NGAYTRA). Cac cacquyen sach trong cung mot phieu mn khong nhat thiet phai tra trong trong cung mot ngay.

    iii QUAN LY BAN HANGMoi khach hang co mot ma khach hang (MAKH) duy nhat, moi MAKH xac nh c cac thong tinve 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 cothe co nhieu mat hang. Moi mat hang c anh mot ma so (MAHANG) duy nhat, moi ma so nay

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    22/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    21

    xac nh cac thong tin ve mat hang o nh : ten hang (TENHANG), n gia ban (ONGIA), n vtnh (VT). Moi hoa n ban hang co mot so hoa n (SOH) duy nhat, moi hoa n xac nh ckhach hang va ngay lap hoa n (NGAYLAPH), ngay ban hang (NGAYBAN). Vi moi mat hangtrong mot hoa n cho biet so lng ban (SLBAN) cua mat hang o.

    iv QUAN LY LCH DAY - HOCe 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: hova ten giao vien (HOTEN), so ien thoai (DTGV). Moi giao vien co the day nhieu mon cho nhieukhoa 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 khoanao o.Hang tuan, moi giao vien phai lap lch bao giang cho biet giao vien o se day nhng lp nao, ngaynao (NGAYDAY), mon g?, tai phong nao, t tiet nao (TUTIET) en tiet nao (DENTIET),ta ebai 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 lagi ly thuyet, mot ngay co 16 tiet, sang t tiet 1 en tiet 6, chieu t tiet 7 en tiet 12, toi t tiet 13en 16.

    ----oOo----

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    23/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    22

    Chng 2.NGON NG TRUY VAN SQL

    I CACH TAO QUAN HE BANG ACCESSMicrosoft Access la mot he quan tr c s d lieu quan he. Ta co the dung HQTCSDL Access haygoi 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->OpenII 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 YorkD lieu so co dang: 1056; 1056.25D lieu ngay co dang: #1-Jan-94#; #12/2/2001#

    ConstantLa mot ten ai dien cho mot gia tr khong thay oi nh :

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    24/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    23

    Const Gia tr ai dienTrue -1False 0Null 0

    Toan t so hoc:Toan t Y ngha V du Ket qua

    + Cong so hocCong ngay

    5+2#28/08/01# + 4

    7#01/09/01#

    - Tr so hocNgay tr soNgay tr ngay

    5-2#02/09/01# - 3

    #29/9/01#-#24/3/84#

    3#30/08/01#

    16.597* Phep nhan 5*2 10/ Phep chia 5/2 2.5\ Chia nguyen 5\2 2

    ^ Luy tha 5^2 25Mod Lay so d cua phep chia 5 Mod 2 1

    Toan t luan lyToan t Y ngha V du Ket Qua

    Not Luat phu nh Not TrueNot False

    FalseTrue

    And Luat va TrueAndTrueTrueAndFalseFalseAndTrue

    FalseAndFalse

    TrueFalseFalse

    FalseOr Luat hay True Or TrueTrue Or FalseFalse Or TrueFalse Or False

    TrueTrueTrueFalse

    Toan t so sanhToan t Y ngha V du Ket qua

    < Nho hn 2 < 5 True 5 False

    >= Ln hn hay bang 2 >= 5 False= Bang nhau 2 = 5 False

    Khac nhau 2 5 TrueCac toan t khac

    Toan t Y ngha V du Ket quaBetween ... And ... Gia hai gia tr.

    Dung trong query2Between 1And5 True

    Like Giong nh HungLike Hu* True& Noi chuoi Nguyen Van & Hung Nguyen Van Hung

    Vi toan t like ta co the dung cac ky t ai dien sau:Wildcard characters

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    25/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    24

    Ky t Y ngha V du? ai dien cho mot ky t bat ky A? -> AN, AM, AC* ai dien cho mot chuoi ky t bat ky. A* -> AI, ANH,# ai dien cho mot ky so A## ->A13, A24, A35[] ai dien cho cac ky t nam trong A[IN] -> AI, AN- ai dien cho cac ky t nam trong khoang A[M-O] -> AM, AN, AO! ai dien cho ky t khong phai ky t nam sau ! A[!C] -> AA, AB, AD, AE, ...

    Ham:Ham co dangtenHam(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 2V 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 DateYear(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 sMid(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 bangMIN(thuoc tnh)tnh gia tr nho nhat cua thuoc tnh cua cac bo trong bang

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    26/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    25

    AVG(thuoc tnh>)tnh gia tr trung bnh cua thuoc tnh cua cac bo trong bangCOUNT(thuoc tnh)ch em nhng bo ma gia tr cua thuoc tnh la khac NULL

    Bieu thcBieu 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 SQLSQL la ngon ng truy van da tren ai so quan he. Cau lenh cua SQL dung e rut trch d lieu cuamot mot hay nhieu quan he. Ket qua cua mot cau lenh SQL (truy van) la mot quan he. e n giantrong cach trnh bay, ta xem quan he ma cau truy van s dung e tao ra quan he khac goi la quan henguon, 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 doubleXoa cot cua mot lc o a co:

    +Alter Table rSv Drop Column DTHOAIXoa rang buoc khoa chnh:

    +Alter Table rSv Drop Constraint khoaChinhThem 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 motquan he co so cot va so dong theo y muon nh bang iem cua sinh vien, danh sach sinh vien th tas 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][,...]]Fromtable1 [Inner Join table2 On table1.field1 table2.field2] ...[Where dieuKien]

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    27/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    26

    [Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];

    Distinct: loai bo cac bo trung trong quan he chTop 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 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 thoaman 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 manChu y:Khi neu ro thuoc tnh o thuoc ve quan he nao ta viet theo cu phaptenQuanHe.tenThuocTnh.

    V du: Lap danh sach sinh vien gom MASV,HOTEN,HOCBONGSELECT 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 giamdan

    SELECT MASV,HOTEN,HOCBONG

    FROM SvORDER BY HOCBONG DESC;

    V du : Lap danh sach sinh vien gom MASV,HOTEN,TENLOPSELECT 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 monCSDL >= 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 NGUYENSELECT *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 trungbnh cua tat ca cac mon hoc cua tng sinh vien, hay la can tnh so lng sinh vien cua moi lp , hayla 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][,...]]

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    28/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    27

    Fromtable1 [Inner Join table2 On table1.field1 table2.field2] ...[Where dieuKienLocMauTinNguon]

    [Group By fieldGroupBy[,fieldGroupBy[,...]]

    [Having dieuKienLocMauTinTongHop]

    [Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];

    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 hocSELECT 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 khoaSELECT Kh.MAKHOA,TENKHOA,COUNT(Kh.MAKHOA) AS SOLUONGFROM (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 lenhSelect 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 cuasubquery

    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 nhatSELECT *

    FROM Sv

    WHERE HOCBONG>=ALL(SELECT HOCBONG FROM SV);

    V du: Lap danh sach sinh vien co iem thi mon CSDL cao nhatSELECT SV.MASV,HOTEN,NU,NGAYSINH,DIEMTHI

    FROM sv Inner Join kq On Sv.MASV = Kq.MASV

    WHERE MAMH='CSDL' AND DIEMTHI >= ALL

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    29/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    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 quacho 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 ieuKienCu 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 vienSELECT MASV,HOTEN,NGAYSINH UNION SELECT MASV,HOTEN,NGAYSINH

    III BAI TAP1/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 cantat ca cac thuoc tnh cua quan he Sv.

    b) Lap danh sach nhng sinh vien co iem thi < 5 (thi lai), danh sach canMASV,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 canMASV,HOTEN, DIEMTRUNGBINH va c sap tang dan theo cot MASV.

    d) Tong so tien hoc bong cua moi khoae) 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 xacnh 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 tenphong ban (TENPB)Cong(MACT,MANV,SLNGAYCONG)

    Tan t: Lc o quan he Cong ghi nhan so lng ngay cong (SLNGAYCONG) cua mot nhanvien (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 nhcac 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).

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    30/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    29

    Hay thc hien cac cau hoi sau bang SQL

    a) Danh sach nhng nhan vien co tham gia vao cong trnh co ma cong trnh (MACT) la X. Yeucau 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 vienNGAYSINH 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,DIEMTHIc) Hay cho biet cac sinh vien co iem thi cao nhat ve mon hoc co ma la CSDLd) Hay cho biet phieu iem cua sinh vien co ma so la 9900277e) 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 lieuDocgia(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.

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    31/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    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 tinMAG,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 tinMAG, HOTEN, NGAYSINH, IACHI, NGHENGHIEP.

    5/Da vao lc o c s d lieuKhach(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 SQLa) 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 thongtin : 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. Yeucau 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 (theotng hoa n). Yeu cau cac thong tin MAKH,HOTEN,SOH,TRIGIAH trong oTRIGIAH la tong so tien trong mot hoa n (TRIGIAH la thuoc tnh t at)

    6/Da vao lc o c s d lieuGiaovien(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 SQLa) 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

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    32/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    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----

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    33/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    32

    Chng 3.RANG BUOC TOAN VEN QUAN HE

    (entegrity constraint)

    I RANG BUOC TOAN VEN - CAC YEU TO CUA RANG BUOC TOAN VEN1 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 cothe xay ra trong mot lc o quan he hoac trong cac lc o quan he cua mot c s d lieu. Cacmoi lien he nay la nhng ieu kien bat bien ma tat ca cac bo cua nhng quan he co lien quan trongCSDL eu phai thoa man moi thi iem. Nhng ieu kien bat bien o c goi la rang buoc toanven. Trong thc te rang buoc toan ven la cac quy tac quan ly c ap at tren cac oi tng cua thegii thc.Nhiem vu cua ngi phan tch thiet ke la phai phat hien cang ay u va chnh xac cac rang buoctoan ven cang tot va mo ta chung mot cach chnh xac trong ho s phan tch thiet ke - o la mot vieclam 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 nghacua CSDL. Mot CSDL c thiet ke cong kenh nhng no the hien c ay u ng ngha cua thcte van co gia tr cao hn rat nhieu so vi mot cach thiet ke gon nhe nhng ngheo nan ve ng nghav 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 cachtng minh (thng la bi mot ham chuan hoac mot oan chng trnh).2 Cac Yeu To Cua Rang Buoc Toan Ven

    Moi rang buoc toan ven co 3 yeu to: ieu kien, boi canh va tam anh hng.i ieu kien

    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 thec bieu dien bang phu thuoc ham. Chang han, vi lc o quan he SV th co mot rang buoc toanven nh sau:

    Vi r la mot quan he cua Sv ta co rang buoc toan ven sau t1,t2 rt1.MASV t2.MASV

    cuoiii Boi canh

    Boi canh cua mot rang buoc toan ven la nhng quan he ma rang buoc o co hieu lc hay noi motcach khac, o la nhng quan he can phai c kiem tra rang buoc toan ven. Boi canh cua mot rangbuoc toan ven co the la mot hoac nhieu quan he. Chang han vi rang buoc toan ven tren th boicanh la mot quan he Sv

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    34/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    33

    iii Tam anh hngTrong qua trnh phan tch thiet ke mot CSDL, ngi phan tch can lap bang tam anh hng chomot rang buoc toan ven nham xac nh thi iem can phai tien hanh kiem tra cac rang buoc toanven 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:

    (Ten RBTV) Them(T) Sa(S) Xoa(X)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 r 1th can phai kiem tra RBTVDau - Tai o tng ng vi dong r1, cot sa th co ngha la khi sa mot bo tren quan he r1 th khongcan phai kiem tra RBTV nay,

    II PHAN LOAI RANG BUOC TOAN VENTrong qua trnh phan tch thiet ke c s d lieu, ngi phan tch phai phat hien tat ca cac rang buoctoan ven tiem an trong CSDL o. Viec phan loai cac rang buoc toan ven la rat co ch, no nham gupcho ngi phan tch co c mot nh hng, tranh bo sot nhng rang buoc toan ven. Cac rang buoctoan 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 giatr, 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 thuocton tai, rang buoc toan ven lien bo - lien quan he, rang buoc toan ven lien thuoc tnh - lienquan he.

    e minh hoa cho phan ly thuyet cua chng nay, ta neu v du sau ayV du

    Cho mot CSDL C dung e quan ly viec at hang va giao hang cua mot cong ty. Lc o CSDLC 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 motten 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 tenhang (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) vama khach hang tng ng (MAKH). Biet ma so at hang va ma mat hang th biet c so lngat hang(SLDAT). Moi khach hang trong mot ngay co the co nhieu lan at hang

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    35/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    34

    Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT)

    Tan t: Moi hoa n co mot ma so duy nhat la SOHD, moi hoa n ban hang co the gom nhieumat 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 kienkhach quan co the cong ty khong giao ay u cac mat hang cung nh so lng tng mat hangnh yeu cau trong n at hang nhng khong bao gi giao vt ngoai yeu cau. Moi hoa n xacnh mot tr gia cua cac mat hang trong hoa n (TRIGIAHD) va mot ngay xuat kho giao hangcho khach (NGAYXUAT)Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN)

    Tan t: Moi SOHD, MAHANG xac nh gia ban (GIABAN) va so lng ban (SLBAN) cua motmat 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. Moikhach hang trong mot ngay co the co nhieu so phieu thu.

    1 Rang buoc toan ven lien boRang 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 toanven rat pho bien, no co mat trong moi lc o quan he cua CSDL va thng c cac he quan trCSDL t ong kiem tra.

    V du: Vi r la mot quan he cua Khach ta co rang buoc toan ven sauR1: t1, t2 r

    t1. MAKH t2. MAKHCuoi

    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 bientrong CSDLV 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 Them Sa Xoar + + -

    s - + +

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

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    36/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    35

    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 Them Sa Xoar + + -

    4 Rang buoc toan ven lien thuoc tnhRang 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

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    37/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    36

    Moi hoi ong thi c bo tr cho mot so phong thi, moi phong thi co mot so hieu phong(SOPT) duynhat, 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 trngco the co hoac khong co th sinh d thi, moi trng co mot ma trng duy nhat (MATR), moi matrng 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 ongthi. 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 thsinh(TENTS), ngay sinh (NGSINH), gii tnh (PHAI), moi th sinh c xep thi tai mot phong thinhat 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 rongneu 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 tochc 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 caucac 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 matrng(MATR) la NTMK, ket qua c sap theo chieu giam dan cua iemthi(IEMTHI). Yeu cau cac thong tin:SOBD,TENTS, IEMTHI

    3. Ket qua thi cua mot hoc sinh co SOBD la MK01. Yeu cau : TENMT,IEMTHI4. 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----

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    38/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    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 cacrang buoc toan ven (van tat: rang buoc). Phng phap bieu dien nay co rat nhieu u iem, va ayla 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 vachuan hoa c s d lieu.

    I KHAI NIEM PHU THUOC HAMCho quan he phanCong sau:

    phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)

    Cushing 83 9/8 10:15aCushing 116 10/8 1:25pClark 281 8/8 5:50aClark 301 12/8 6:35pClark 83 11/8 10:15aChin 83 13/8 10:15aChin 116 12/8 1:25pCopely 281 9/8 5:50aCopely 281 13/8 5:50a

    Copely 412 15/8 1:25pQuan 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 cchap 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} PHICONGTrong ky hieu tren ta a ky hieuMAYBAY thay cho {MAYBAY}.

    Mot cach tong quat:

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    39/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    38

    1 nh ngha phu thuoc hamQ(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 functionaldependent 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 GIOKHphanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)

    Cushing 83 9/8 10:15aCushing 116 10/8 10:15aClark 281 8/8 10:15aClark 301 12/8 10:15aClark 83 11/8 10:15aChin 83 13/8 10:15aChin 116 12/8 10:15aCopely 281 9/8 10:15aCopely 281 13/8 10:15aCopely 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 vimot 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 Yth X Y.Chng minh:Gia s t1.X = t2.X do X Y nen t1.Y = t2.Y theo nh ngha suy ra X YTrong trng hp nay X Y c goi laphu 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 thuocham hien nhien}

    3 Thuat toan SatifiesCho quan he r va X, Y la hai tap con cua Q+. Thuat toan SATIFIES se tra ve tr true neu X Yngc lai la false

    SATIFIES

    Vao: quan he r va hai tap con X,Yra: true neu X Y, ngc lai la falseSATIFIES(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

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    40/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    39

    2. Neu tap cac bo cung gia tr tren X cho cac gia tr tren Y giong nhau th tra ve true ngc laila False

    V du 1: SATIFIES(phanCong,MAYBAY,GIOKH)phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)

    Cushing 83 9/8 10:15aClark 83 11/8 10:15aChin 83 13/8 10:15aCushing 116 10/8 1:25pChin 116 12/8 1:25pClark 281 8/8 5:50aCopely 281 9/8 5:50aCopely 281 13/8 5:50aClark 301 12/8 6:35p

    Copely 412 15/8 1:25pcho ket qua la true ngha la MAYBAYGIOKHV du 2: SATIFIES(phanCong,GIOKH,MAYBAY)

    phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)

    Clark 281 8/8 5:50aCopely 281 9/8 5:50aCopely 281 13/8 5:50aCushing 83 9/8 10:15aClark 83 11/8 10:15a

    Chin 83 13/8 10:15aCushing 116 10/8 1:25pChin 116 12/8 1:25pCopely 412 15/8 1:25pClark 301 12/8 6:35p

    cho ket qua la false ngha la khong co phu thuoc ham GIOKHMAYBAY

    4 Cac phu thuoc ham co the coi Cach tm tat ca tap con cua Q+

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

    PHICONG MAYBAY NGAYKH GIOKH

    {PHICONG} {MAYBAY} {NGAYKH} {GIOKH}{PHICONG,MAYBAY} {PHICONG,NGAYKH} {PHICONG,GIOKH}

    {MAYBAY,NGAYKH} {MAYBAY,GIOKH}

    {PHICONG,MAYBAY,NGAYKH} {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

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    41/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    40

    ii Cach tm tat ca cac phu thuoc ham co the co cua Qng vi moi tap con cua Phancong+cho 2n = 24 = 16 phu thuoc ham co the co. So phu thuoc hamco the co la 24 * 24 = 16 * 16 = 256

    PTHHN

    {PHICONG} F- {MAYBAY} F

    -

    {MAYBAY,PHICONG} F-

    {NGAYKH} F-

    {PHICONG,NGAYKH} F-

    {MAYBAY,NGAYKH} F-

    {MAYBAY,PHICONG,NGAYKH} F-

    {GIOKH} F-

    {PHICONG,GIOKH} F-

    {MAYBAY,GIOKH} F-

    {MAYBAY,PHICONG,GIOKH} F-

    {NGAYKH,GIOKH} F-

    {PHICONG,NGAYKH,GIOKH} F-

    {MAYBAY,NGAYKH,GIOKH} F-

    {MAYBAY,PHICONG,NGAYKH,GIOKH} F-

    {PHICONG} PTHHN

    {PHICONG} {PHICONG} PTHHN

    {PHICONG} {MAYBAY} F-

    {PHICONG} {MAYBAY,PHICONG} F-

    {PHICONG} {NGAYKH} F-

    {PHICONG} {PHICONG,NGAYKH} F-

    {PHICONG} {MAYBAY,NGAYKH} F-

    {PHICONG} {MAYBAY,PHICONG,NGAYKH} F-

    {PHICONG} {GIOKH} F-

    {PHICONG} {PHICONG,GIOKH} F-

    {PHICONG} {MAYBAY,GIOKH} F-

    {PHICONG} {MAYBAY,PHICONG,GIOKH} F

    -

    {PHICONG} {NGAYKH,GIOKH} F-

    {PHICONG} {PHICONG,NGAYKH,GIOKH} F-

    {PHICONG} {MAYBAY,NGAYKH,GIOKH} F-

    {PHICONG} {MAYBAY,PHICONG,NGAYKH,GIOKH} F-

    {MAYBAY} PTHHN

    {MAYBAY} {PHICONG} F-

    {MAYBAY} {MAYBAY} PTHHN

    {MAYBAY} {MAYBAY,PHICONG} F-

    {MAYBAY} {NGAYKH} F-

    {MAYBAY} {PHICONG,NGAYKH} F-

    {MAYBAY} {MAYBAY,NGAYKH} F-

    {MAYBAY} {MAYBAY,PHICONG,NGAYKH} F-{MAYBAY} {GIOKH} F

    {MAYBAY} {PHICONG,GIOKH} F-

    {MAYBAY} {MAYBAY,GIOKH} F+

    {MAYBAY} {MAYBAY,PHICONG,GIOKH} F-

    {MAYBAY} {NGAYKH,GIOKH} F-

    {MAYBAY} {PHICONG,NGAYKH,GIOKH} F-

    {MAYBAY} {MAYBAY,NGAYKH,GIOKH} F-

    {MAYBAY} {MAYBAY,PHICONG,NGAYKH,GIOKH} F-

    {PHICONG,MAYBAY} PTHHN

    {PHICONG,MAYBAY} {PHICONG} PTHHN

    {PHICONG,MAYBAY} {MAYBAY} PTHHN

    {PHICONG,MAYBAY} {PHICONG,MAYBAY}PTHHN

    {PHICONG,MAYBAY} {NGAYKH} F-

    {PHICONG,MAYBAY} {PHICONG,NGAYKH} F-

    {PHICONG,MAYBAY} {MAYBAY,NGAYKH} F-

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    42/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    41

    {PHICONG,MAYBAY} {MAYBAY,PHICONG,NGAYKH} F-

    {PHICONG,MAYBAY} {GIOKH} F+

    {PHICONG,MAYBAY} {PHICONG,GIOKH} F+

    {PHICONG,MAYBAY} {MAYBAY,GIOKH} F+

    {PHICONG,MAYBAY} {MAYBAY,PHICONG,GIOKH} F+

    {PHICONG,MAYBAY} {NGAYKH,GIOKH} F-

    {PHICONG,MAYBAY} {PHICONG,NGAYKH,GIOKH} F-

    {PHICONG,MAYBAY} {MAYBAY,NGAYKH,GIOKH} F-

    {PHICONG,MAYBAY} {MAYBAY,PHICONG,NGAYKH,GIOKH} F-

    {NGAYKH} F-

    {NGAYKH} {PHICONG} F-

    {NGAYKH} {MAYBAY} F-

    {NGAYKH} {PHICONG,MAYBAY} F-

    {NGAYKH} {NGAYKH} PTHHN

    {NGAYKH} {PHICONG,NGAYKH} F-

    {NGAYKH} {MAYBAY,NGAYKH} F-

    {NGAYKH} {MAYBAY,PHICONG,NGAYKH} F-

    {NGAYKH} {GIOKH} F-

    {NGAYKH} {PHICONG,GIOKH} F-

    {NGAYKH} {MAYBAY,GIOKH} F-

    {NGAYKH} {MAYBAY,PHICONG,GIOKH} F

    -

    {NGAYKH} {NGAYKH,GIOKH} F-

    {NGAYKH} {PHICONG,NGAYKH,GIOKH} F-

    {NGAYKH} {MAYBAY,NGAYKH,GIOKH} F-

    {NGAYKH} {MAYBAY,PHICONG,NGAYKH,GIOKH} F-

    {PHICONG,NGAYKH} PTHHN

    {PHICONG,NGAYKH} {PHICONG} PTHHN

    {PHICONG,NGAYKH} {MAYBAY} F-

    {PHICONG,NGAYKH} {PHICONG,MAYBAY} F-

    {PHICONG,NGAYKH} {NGAYKH} PTHHN

    {PHICONG,NGAYKH} {PHICONG,NGAYKH} PTHHN

    {PHICONG,NGAYKH} {MAYBAY,NGAYKH} F-

    {PHICONG,NGAYKH} {MAYBAY,PHICONG,NGAYKH} F-{PHICONG,NGAYKH} {GIOKH} F

    -

    {PHICONG,NGAYKH} {PHICONG,GIOKH} F-

    {PHICONG,NGAYKH} {MAYBAY,GIOKH} F-

    {PHICONG,NGAYKH} {MAYBAY,PHICONG,GIOKH} F-

    {PHICONG,NGAYKH} {NGAYKH,GIOKH} F-

    {PHICONG,NGAYKH} {PHICONG,NGAYKH,GIOKH} F-

    {PHICONG,NGAYKH} {MAYBAY,NGAYKH,GIOKH} F-

    {PHICONG,NGAYKH} {MAYBAY,PHICONG,NGAYKH,GIOKH} F-

    {MAYBAY,NGAYKH} PTHHN

    {MAYBAY,NGAYKH} {PHICONG} F

    {MAYBAY,NGAYKH} {MAYBAY} PTHHN

    {MAYBAY,NGAYKH} {PHICONG,MAYBAY}F+

    {MAYBAY,NGAYKH} {NGAYKH} PTHHN

    {MAYBAY,NGAYKH} {PHICONG,NGAYKH} F+

    {MAYBAY,NGAYKH} {MAYBAY,NGAYKH} PTHHN

    {MAYBAY,NGAYKH} {MAYBAY,PHICONG,NGAYKH} F+

    {MAYBAY,NGAYKH} {GIOKH} F+

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

    {MAYBAY,NGAYKH} {MAYBAY,GIOKH} F+

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

    {MAYBAY,NGAYKH} {NGAYKH,GIOKH} F+

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

    {MAYBAY,NGAYKH} {MAYBAY,NGAYKH,GIOKH} F+

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

    {PHICONG,MAYBAY,NGAYKH} PTHHN{PHICONG,MAYBAY,NGAYKH} {PHICONG} PTHHN

    {PHICONG,MAYBAY,NGAYKH} {MAYBAY} PTHHN

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    43/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    42

    {PHICONG,MAYBAY,NGAYKH} {PHICONG,MAYBAY} PTHHN

    {PHICONG,MAYBAY,NGAYKH} {NGAYKH} PTHHN

    {PHICONG,MAYBAY,NGAYKH} {PHICONG,NGAYKH} PTHHN

    {PHICONG,MAYBAY,NGAYKH} {MAYBAY,NGAYKH} PTHHN

    {PHICONG,MAYBAY,NGAYKH} {PHICONG,MAYBAY,NGAYKH} PTHHN

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

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

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

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

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

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

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

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

    ....................................................

    {PHICONG,NGAYKH,GIOKH} PTHHN

    {PHICONG,NGAYKH,GIOKH} {PHICONG} PTHHN

    {PHICONG,NGAYKH,GIOKH} {MAYBAY} F

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

    {PHICONG,NGAYKH,GIOKH} {NGAYKH} PTHHN

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

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

    {PHICONG,NGAYKH,GIOKH} {GIOKH} PTHHN

    {PHICONG,NGAYKH,GIOKH} {PHICONG,GIOKH} PTHHN

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

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

    {PHICONG,NGAYKH,GIOKH} {NGAYKH,GIOKH} PTHHN

    {PHICONG,NGAYKH,GIOKH} {PHICONG,NGAYKH,GIOKH} PTHHN

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

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

    {MAYBAY,NGAYKH,GIOKH} PTHHN

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

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

    +

    {MAYBAY,NGAYKH,GIOKH} {NGAYKH} PTHHN

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

    {MAYBAY,NGAYKH,GIOKH} {MAYBAY,NGAYKH} PTHHN

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

    {MAYBAY,NGAYKH,GIOKH} {GIOKH} PTHHN

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

    {MAYBAY,NGAYKH,GIOKH} {MAYBAY,GIOKH} PTHHN

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

    {MAYBAY,NGAYKH,GIOKH} {NGAYKH,GIOKH} PTHHN

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

    {MAYBAY,NGAYKH,GIOKH} {MAYBAY,NGAYKH,GIOKH} PTHHN

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

    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 cacphu thuoc ham cua F la f1, f2, .., fm. Quy c rang ch can mo ta cac phu thuoc ham khong hiennhien 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 FNoi rang phu thuoc ham X Yc suy dien logic t F neu mot quan he r thoa man tat ca cacphu 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.

  • 8/6/2019 Giao Trinh CSDL - Share-Book

    44/96

    Giao trnh C S D LIEU Trang

    B mn CSDL Trng CCN 4

    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: NeuF Gth 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 hieuF- = G - F+

    Chng minh1. 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