cƠ sỞ dỮ liỆu

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

Upload: thu-sinh-ngheo

Post on 06-Nov-2015

229 views

Category:

Documents


5 download

DESCRIPTION

CƠ SỞ DỮ LIỆU BKHN

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