Top Banner
CƠ SỞ DỮ LIỆU Vũ Song Tùng Khoa Điện tử - Viễn Thông ĐHBK – Hà Nội
41

CƠ SỞ DỮ LIỆU

Nov 06, 2015

Download

Documents

CƠ SỞ DỮ LIỆU BKHN
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • C S D LIUV Song TngKhoa in t - Vin ThngHBK H Ni

  • Chng 1. Cc khi nim c bnC s d liu (CSDL): Tp hp cc d liu ca mt h thng thng tin, c lu tr theo mt cung cch nht nh c th x l bng my tnh in t.MS Access, SQL server, MySQL, OracleH qun tr (HQT) CSDL: Tp hp cc chng trnh, thut ton thao tc trn CSDL.Kin trc ca CSDL:Gm 3 mc: vt l (physical), khi nim (logical) v khung nhn (view)

  • Chng 1. Cc khi nim c bn

  • Chng 1. Cc khi nim c bnQuan h (Relation): Tp con ca tch -cc ca cc min.Min (domain): Tp cc gi tr.Gi Di l mt min.Tch -cc ca n min D1 x D2 x x Dn l tp tt c n-b (tuple), mi b l mt tp hp ca n gi tr (v1, v2, , vn) vi vi Di | i = 1n

  • Chng 1. Cc khi nim c bnVD:Min THIN CAN (10 gi tr): Gip, t, Bnh, inh, Mu, K, Canh, Tn, Nhm, QuMin A CHI (12 gi tr): T, Su, Dn, Mo, Thn, T, Ng, Mi, Thn, Du, Tut, HiTch -cc ca THIN CAN x A CHI l 120 b:{ (Gip, T), (Gip, Su), , (Qu, Hi) }

  • Chng 1. Cc khi nim c bnMt s k hiu:R = {A1, A2, , An} Tp cc thuc tnhr(R) Quan h trn tp thuc tnh ca R r(A1, A2, , An) Quan h trn tp thuc tnh {A1, A2, , An}

  • Chng 1. Cc khi nim c bnNu biu din quan h di dng bng th mi hng l mt b v mi ct l mt thuc tnh ca quan h.A1AnGi trThuc tnh (Ct)Bin quan h (Tn bng)rTiu ThnQuan hBn ghi (Hng)

  • Chng 1. Cc khi nim c bnVD:nu R = { THIN CAN, A CHI }th quan h tui(R) l tp hp ca 60 trong 120 b ca tch -cc THIN CAN x A CHI:t1 = (Gip, T)t2 = (t, Su)t11 = (Gip, Tut)t13 = (Bnh, T)t60 = (Qu, Hi)

  • Chng 1. Cc khi nim c bnVD:Quan h nm_tui(NM, THIN CAN, A CHI) l mt tp v hn cc b:t1 = (1984, Gip, T)t2 = (1985, t, Su)t60 = (2043, Qu, Hi)t61 = (2044, Gip, T)

  • Chng 1. Cc khi nim c bnKha (Key):Kha ca quan h r(R) l tp con K R sao cho, vi hai b bt k t1, t2 r, lun tn ti mt thuc tnh A K m t1(A) t2(A) hay t1(K) t2(K)

  • Chng 1. Cc khi nim c bnVD:Kha ca quan h tui(THIN CAN, A CHI) l tp hp ca c 2 thuc tnhKha ca quan h nm_tui(NM, THIN CAN, A CHI) c th l {NM}, {NM, THIN CAN}, {NM, A CHI} hoc tp hp ca c 3 thuc tnh

  • Chng 1. Cc khi nim c bnCc php ton cp nht d liuPhp chn (insert):INSERT (r; A1=v1, A2 = v2, , An = vn)Php xa (delete):DEL (r; K1 = k1, K2 = k2, , Km = km)Php chnh sa (change):CH (r; K1 = k1, K2 = k2, , Km = km; X1 = v1, X2 = v2, , Xn = vn)

    Ai Thuc tnh ca rKi Kha ca rXi Thuc tnh khng kha ca rvi gi tr trong min ca thuc tnh i ca r

  • Chng 2. Ngn ng SQLSQLNgn ng truy vn c cu trc (Structured Query Language)C th chia lm 2 loiNgn ng nh ngha d liu DDL (Data Definition Language)Ngn ng thao tc d liu (Data Manipulation Language)

  • Chng 2. Ngn ng SQLi s quan hPhp hp (Union): Php hp ca hai quan h kh hp r1 v r2, k hiu l r1 r2, l tp tt c cc b thuc r1 hoc r2 hoc thuc c hai quan h, ngha l:r1 r2 t | t r1 t r2 SELECT *, 1 AS LanThi FROM tblDiemUNIONSELECT *, 2 AS LanThi FROM tblThiLai

  • Chng 2. Ngn ng SQLi s quan hPhp giao (Intersection): Php giao ca hai quan h kh hp r1 v r2, k hiu l r1 r2, l tp tt c cc b thuc c hai quan h, ngha l:r1 r2 t | t r1 t r2 SELECT * FROM tblSinhVien WHERE SHSV IN (SELECT SHSV FROM tblThiLai)

  • Chng 2. Ngn ng SQLi s quan hPhp tr (Minus): Php tr ca hai quan h kh hp r1 v r2, k hiu l r1 r2, l tp tt c cc b thuc r1 nhng khng thuc r2, ngha l:r1 r2 t | t r1 t r2 SELECT * FROM tblSinhVien WHERE NOT SHSV IN (SELECT SHSV FROM tblThiLai)

  • Chng 2. Ngn ng SQLi s quan hTch -cc (Cartesian Product): Php tch -cc ca hai quan h r1(A1,,An) v r2(B1,,Bm), k hiu l r1 r2, l tp tt c (n+m)-b, mi b c n thuc tnh thuc r1 v m thuc tnh thuc r2, ngha l:r1 r2 t | t = (a1,,an,b1,,bn) (a1,,an) r1 (b1,,bn) r2SELECT SHSV, MaMon FROM tblSinhVien, tblMonHoc

  • Chng 2. Ngn ng SQLi s quan hPhp chiu (Projection): Php chiu trn tp thuc tnh X A ca quan h r(A), k hiu l X(r), l tp cc b ca r xc nh trn X, ngha l:X(r) t[X] | t r SELECT SHSV FROM tblSinhVien

  • Chng 2. Ngn ng SQLi s quan hPhp chn (Selection): Php chn trn quan h r vi biu thc chn F, k hiu l F(r), l tp cc b ca r tha mn F, ngha l:F(r) t | t r F(t) true F l mt biu thc gm cc ton t logic (AND), (OR), (NOT) v cc ton t so snh , , , , , .SELECT SHSV, MaMon FROM tblDiem WHERE (Diem < 5) OR (Diem IS NULL)

  • Chng 2. Ngn ng SQLi s quan hPhp kt ni (Join): Php kt ni hai quan h r1 v r2, k hiu l r1 r2, l s kt ni hai quan h da trn tng quan no gia cc thuc tnh ca hai quan h. C th coi php kt ni l s kt hp ca php tch -cc v php chn, ngha l:r1 r2 t | t r1 r2 F(t(Ar1), t(Br2)) true FSELECT Ho, Ten, TenMon, Diem FROM tblSinhVien, tblDiem, tblMonHocWHERE tblSinhVien.SHSV = tblDiem.SHSV AND tblMonHoc.MaMon = tblDiem.MaMonSELECT Ho, Ten, TenMon, Diem FROM (tblSinhVien INNER JOIN tblDiem ON tblSinhVien.SHSV = tblDiem.SHSV) INNER JOIN tblMonHoc ON tblDiem.MaMon = tblMonHoc.MaMon

  • Chng 2. Ngn ng SQLi s quan hPhp chia (Division): Php chia ca hai quan h r1(A1,,An) v r2(B1,,Bm) vi (n > m r2 ), k hiu l r1 r2, l tp tt c (nm)-b {t | t u r1}, c th coi php chia l nghch o ca php tch -cc, ngha l:r1 r2 r3 r1 r3 r2

  • Chng 2. Ngn ng SQLKhi SELECTSELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}FROM tableexpression [, ...] [WHERE... ][GROUP BY... ][HAVING... ][ORDER BY... ]

  • Chng 2. Ngn ng SQLKhi SELECT

  • Chng 2. Ngn ng SQLKhi SELECT cc hng

  • Chng 2. Ngn ng SQLMnh WHERECc biu thc vi cc ton t so snhS dng cc ton t logic AND, OR ni cc biu thcS dng ton t NOT ph nh mt biu thcSELECT * FROM tblPhongBan WHERE ((MaPhongBan=1) OR (MaPhongBan=2))

    MaPhongBanTenPhongBan1Phng hnh chnh2Phng ti v

  • Chng 2. Ngn ng SQLMnh WHERE ton t LIKES dng cho cc hng xu k t cng quy cch

  • Chng 2. Ngn ng SQLMnh WHERE ton t LIKE

    SELECT Ho & " " & Ten AS HoTen FROM tblNhanVien WHERE Ho LIKE "*Th*"SELECT Ho & " " & Ten AS HoTen FROM tblNhanVien WHERE Ten LIKE "????"

    HoTenng Th Thanh Tuynng Th T Trm

    HoTenTrn Thu ThyNguyn Hong LongH Hi Hngng Th T TrmNguyn Vn Hnh

  • Chng 2. Ngn ng SQLTon t JOINDng ni hai bng d liutable1 INNER JOIN table2 ON table1.field1 compopr table2.field2

  • Chng 2. Ngn ng SQLTon t JOINSELECT Ho & " " & Ten AS HoTen, TenPhongBan FROM tblNhanVien INNER JOIN tblPhongBanON tblNhanVien.MaPhongBan = tblPhongBan.MaPhongBanORDER BY TenPhongBan DESC, Ten, Ho

    HoTenTenPhongBanNguyn Hong LongPhng ti vV T NamPhng ti vTrn Thu ThyPhng ti vng Th T TrmPhng kinh doanhNguyn c LnPhng hnh chnhHong Thanh TPhng hnh chnhng Th Thanh TuynPhng hnh chnhNguyn Vn HnhKhoH Hi HngKho

  • Chng 2. Ngn ng SQLHm MIN, MAX, COUNT v SUMCc hm dng tnh gi tr nh nht, ln nht, m s lng v tng ca mt thuc tnh trong mt bng d liuV d:MIN(HeSoLuong) Gi tr nh nht ca HeSoLuongSUM(HeSoLuong * 650000) Tng lng phi trSELECT COUNT(*) FROM tblNhanVien m s nhn vin

  • SELECT MaNhanVien, ROUND(Sum(HeSo), 2) AS TongHeSo FROM(SELECT MaNhanVien, MAX(HeSoLuong) AS HeSo FROM tblHeSoLuongGROUP BY MaNhanVienUNIONSELECT MaNhanVien, HeSo FROM tblChucVuNhanVien INNER JOIN tblChucVuON tblChucVuNhanVien.MaChucVu = tblChucVu.MaChucVu)GROUP BY MaNhanVien

    MaNhanVienTongHeSo13.332433.8343.4553.6765.6573.8984.3393.67

    MaNhanVienMaChucVu612283734334

    Ma Chuc VuTenChucVuHeSo1Gim c1.52Ph gim c13Trng phng14Ph trng phng0.5

    MaNhanVienNgayHeSo Luong101/01/20001.92101/06/20032.45101/01/20062.89101/01/20093.33201/01/20103301/01/20103.33401/01/20102.45501/01/20103.67601/01/20104.15701/01/20102.89801/01/20103.33901/01/20103.67201/01/20072.67301/01/20073401/01/20072.15501/01/20072.33601/01/20073.89701/01/20072.45801/01/20073901/01/20073.33

  • Chng 2. Ngn ng SQLBi tp:To bng LuongNhanVien(MaPhongBan, HoTen, LuongNhan)HoTen h tn nhn vinLuongNhan = TongHeSo * 650000To bng LuongPhong(TenPhongBan, TongLuong)TongLuong Tng lng ca nhn vin trong tng phng ban

  • Chng 2. Ngn ng SQLBi tp: Cho lc CSDLKhachHang(MaKH, HoTen, DiaChi)ThueBao(MaKH, SoMay, NgayDK)BangCuoc(MaKC, TenKC, Cuoc)CuocGoi(SoMay, ThoiDiem, MaKC, ThoiGian)Yu cu:V s thc th lin ktLit k chi tit ca tng cuc gi (bao gm c s tin phi tr)Lit k tng s tin ca tng my theo tng loi khong cchLit tng s cuc gi v tng s tin phi tr ca tng myLit k tng s tin ca tng khch hngCc bng k ch ly s liu ca cc cuc gi thc hin trong thng 3 nm 2010Ch thch: MaKH M khch hng, NgayDK Ngy ng k, MaKC M khong cch, TenKC Tn gi khong cch (Ni ht, ng di, quc t )

  • Chng 3. Thit k CSDLPh thuc hm (FD)Cho lc quan h R(A1, A2, , An)X, Y hai tp con ca R+ = {A1, A2, , An}r quan h trn Rt1, t2 hai b bt k ca r

    X xc nh Y (hay Y ph thuc hm vo X) khi v ch khi mi gi tr X ch xc nh mt gi tr Y

    X Y t1.X = t2.X t1.Y = t2.Y

  • Chng 3. Thit k CSDLH tin AMSTRONGCho lc quan h R(U)X, Y, Z cc tp con ca UXY hp ca X v Y (X Y)

    Phn x (reflexivity)nu X Y, th X YTng trng (augmentation)nu X Y, th XZ YZ vi ZBc cu (transitivity)nu X Y v Y Z, th X Z

  • Chng 3. Thit k CSDLH tin AMSTRONG Cc mnh

    Hp (union)nu X Y v X Z, th X YZPhn r (decomposition)nu X YZ, th X Y v X ZBc cu gi (pseudo transitivity)nu A B v BC D, th AC D

  • Chng 3. Thit k CSDLH tin AMSTRONG ng dng

    Loi b tha ph thuc hm { A B , B C , A C }

    Loi b tha thuc tnh { A B , B C , A CD }{ A B , B C , AC D }

  • Chng 3. Thit k CSDLKha

    Siu kha (Super Key): L mt hay mt tp cc ct (thuc tnh) xc nh duy nht mt hng trong bng;SK l siu kha ca R khi vi mi t1, t2 thuc bt k th hin r ca R ta lun c t1[SK] t2[SK].

    Kha ng vin (Candidate Key): Mt tp con ca siu kha (cng l mt siu kha), nhng khng th thu li thnh mt siu kha khc.

    Kha chnh (Primary Key): L mt kha c la chn mt cch ty t tp cc kha ng vin, v c s dng trong cc ch mc ca bng .

    Kha ngoi (Foreign Key): L ct dng cha d liu dng cho vic lin kt vi cc bng khc trong CSDL.

  • Chng 3. Thit k CSDLChun ha d liuDng chun 1(1NF)Dng chun 2(2NF)Dng chun 3(3NF)Cc thuc tnh ca quan h u l thuc tnh nguyn tCc thuc tnh khng kha ca quan h ph thuc hm y vo kha chnhCc thuc tnh khng kha ca quan h khng ph thuc hm bc cu vo kha chnhLoi b nhng ph thuc hm khng y

    Loi b nhng ph thuc hm bc cu

  • Chng 3. Thit k CSDLChun ha d liuLngNhnVin(MNhnVin, HTn, Ngy, HSLng, LngThng)NhnVin(MNhnVin, HTn)LngNhnVin(MNhnVin, Ngy, HSLng, LngThng)

    NhnVin(MNhnVin, HTn)LngNhnVin(MNhnVin, Ngy, HSLng)

  • Chng 3. Thit k CSDLChun ha d liu Bi tpCho bng d liu v im thi ca sinh vin nh sau:Gi thit: Mt mn hc c th c sp xp nhiu hc ki vi mi mn hc, sinh vin c th c thi t 1 n 4 ln. Sau ln 1, im thi c lu vo ct L2Yu cu:Chun ha d liu im sinh vinTnh im trung bnh ln 1 v ln cao nht ca sinh vin theo tng hc k

    SHSVH tnNgy sinhHc k12M mnET001ET002MnTonLp trnhS HT64Ln thiL1L2L1L20001Nguyn Thnh An6/25/1991