You are on page 1of 10

Bai so 0

BAI GIANG C S D LIEU NANG CAO


Tai lieu tham khao:
1. 2. 3. 4. Principles of Database and Knowledge_Base Systems - Jeffrey D.Ullman vol1, 2. The Theory of Relational Databases - David Maier. Database Management Systems - Raghu Ramakrishnan. Modern Database Management - Fred R. McFadden & Jeffrey A. Hopper.

Bai 0: On tap cac c ban ve C s d lieu


1. Khai niem d lieu, thong tin va x ly thong tin:
Data: Co ngha la d lieu hay d kien. o la khai niem ch cac so lieu co that lien quan ti nhng oi tng nh con ngi, s vat hay hien tng. Data co cac dang khac nhau nh van ban, con so, am thanh, hnh anh. Information: Co ngha la thong tin, la d lieu ma a qua x ly va c trnh bay di cac dang phu hp vi cach hieu cua con ngi, thng nham muc tieu la bieu lo, thong bao mot y ngha nao o. X ly thong tin: Data (raw material) -> process -> information (product). Cac bc can thiet e bien oi d lieu thanh thong tin: Acquisition (thu nhan, thu lm, thu thap) Storage (lu tr, cat gi) Manipulation (thao tac, x ly) Retrieval (thu hoi, thu nhan) Distribution (phan phoi, sap xep).

2. C s d lieu (Database):
La mot tap hp co cau truc cua cac d lieu co lien quan ve logic, c lu tr tren cac vat the ghi nh, c thiet ke e thoa man nhu cau dung chung cua nhieu ngi. Khong nhat thiet c s d lieu phai c lu tren may tnh. Chu y: do ac iem nhieu ngi dung chung -> can co c che bao mat e moi ngi dung co quyen khac nhau trong viec s dung database (co ngha la c nhn thay mot phan nhat nh cua database).

Trang 1

Bai so 0

3. He quan tr CSDL:
He QTCSDL (DataBase Management System-DBMS) la mot phan mem gom mot he thong cac chng trnh giup user quan ly c s d lieu thong qua may tnh. Co 2 cach (mode) e user truy cap vao CSDL:

User1 Interactive mode Application DBMS Computer

User2 Batch mode

Databa se Mot so tnh nang cua DBMS:


Ho tr mot trong cac mo hnh d lieu (data model) sau: network, hierarchical, relational, object-relational. Ho tr mot vai ngon ng cao cap nh DDL (Data Definition Language) va DML (Data Manipulation Language). Tnh oc lap d lieu (data independence): cac chng trnh ng dung oc lap vi cach thc lu tr va bieu dien d lieu trong CSDL. Truy cap d lieu mot cach hieu qua. Quan ly giao tac (transaction management): Khai niem giao tac: 1 transaction la 1 nhom cac thao tac tren CSDL c gom thanh 1 n v luan ly (logical unit) ve x ly. Do nhieu user dung chung CSDL -> ieu khien ong thi (concurrency control) -> khoa d lieu (data locking) cho phep nhieu user truy cap cung luc en d lieu chia se ma khong xay ra xung ot. Lu tr va phuc hoi d lieu (Backup & Recovery): DBMS cung cap kha nang thc hien, con viec hoach nh cach thc thc hien nh the nao la do user. Bao mat (security): phan quyen cho nhng user khac nhau.

Trang 2

Bai so 0

Tnh toan ven d lieu (data integrity): c thc hien thong qua cac rang buoc toan ven (integrity constraint), la cac qui tac ma d lieu trong CSDL phai thoa man chung.

4. Mo hnh d lieu (Data model):


La mot dang thc toan hoc gom 2 phan: Phan 1: Tap cac ky hieu e bieu dien d lieu -> trong mo hnh quan he co lc o quan he (relation schema). Phan 2: Tap cac phep toan e x ly d lieu -> trong mo hnh quan he co ai so quan he (relation algebra) nh sau. Selection Projection Join/ Production Union : chon cac bo (tuple) : chieu cac thuoc tnh (attribute) : ket/ tch cac quan he. : hoi cac bo

Intersection : giao cac bo

Difference : hieu cac bo

5. Mo hnh d lieu quan he (relational data model):


c Codd e xuat vao nam 1970. ac iem: n gian hn so vi 2 mo hnh d lieu trc o va c s dung rong rai cho en nay. Cac mo hnh d lieu khac: Trc co: hierarchical, network model. Sau co: object-oriented, object-relational model.

Mo hnh d lieu quan he rat n gian. Theo o, mot c s d lieu quan he chnh la mot tap hp cua mot hoac nhieu quan he. Tom lai: CSDL quan he gom: cac quan he (relation) va cac rang buoc toan ven (constraint). Quan he gom: lc o (schema) mo ta cau truc quan he va the hien (instance) cho biet tnh trang d lieu cua quan he. The hien quan he gom d lieu c to chc theo bo (tuple) va trng (field). Cac khai niem c ban: Mien (domain) cua 1 thuoc tnh la 1 tap cac gia tr ma thuoc tnh o co the nhan. Tch Descartes (Cartesian product) cua danh sach cac mien:
Trang 3

Bai so 0

D = D1 x D2 x ... x Dn = { (v1, v2, ..., vn), vi thuoc Di vi i = 1-n}

6. Quan he va c s d lieu:
Quan he: gom 2 khai niem lc o (schema) va the hien (instance). Thong thng, khi ch noi la quan he (relation) th ta ngam hieu la the hien quan he (relation instance). Lc o quan he: mo ta cau truc quan he quan he. The hien quan he th cho biet tnh trang d lieu cua quan he.

Lc o rat t thay oi theo thi gian, trong khi the hien luon thay
oi. Lc o quan he: Lc o quan he R, ky hieu R(A1, A2, ... ,An) vi R - ten lc o quan he.

Ai - thuoc tnh cua lc o quan he co domian la Di. R+ - tap thuoc tnh cua lc o quan he R. R+ = {A1, A2, ... ,An}.
Quan he hoac the hien quan he: co 3 cach nh ngha sach cac mien gia tr cua cac thuoc tnh trong quan he. Quan he r D1 x D2 x ... x Dk, vi Di la domain cua thuoc tnh Ai trong quan he r. Ta noi quan he r co bac/ ngoi la k. Delobel bo sung, a ra khai niem v t (predicate). Khong phai tat ca tap con cua tch Descartes eu la quan he ma khi noi en 1 quan he phai e cap en 1 v t co y ngha thc te. Tc la tat ca cac bo trong 1 quan he phai thoa man 1 v t la ung. la mot tap cac n-bo t. Moi t co dang mot danh sach co th t n gia tr <v1, v2, ... ,vn>, vi vi Di hoac vi rong.

Theo Codd, 1 quan he la1 tap con cua tch Descartes cua mot danh

Mot quan he r cua lc o quan he R(A1, A2, ... ,An), ky hieu r(R)

r(R) = {tj | tj = <v1, v2, ... ,vn>, vi Di hoac vi null} Co 2 quan iem trai ngc nhau ve tam quan trong cua trat t
cac thuoc tnh trong quan he: "list of values" va "list of name". List of values : nh tren, tc xem moi n_bo t la mot danh sach co th t n gia tr, khi o th t cac gia tr la quan trong. V du nh trong cac phat bieu INSERT.

List of name : xem mot quan he r cua lc o quan he R(A1, A2, ... ,An), ky hieu r(R) la 1 tap cac anh xa (mapping). Moi anh xa se bien 1 ten thuoc tnh vao 1 gia tr thuoc domain tng ng cua thuoc tnh o. Nh vay, quan he co bao nhieu bo (tuple) th co bay nhieu anh xa (mappings). Khi o, trat t cac thuoc tnh khong con quan trong na. V du nh trong cac phat bieu SELECT.

Trang 4

Bai so 0

Bac cua quan he (degree/ arity): so lng thuoc tnh. Lng cua quan he (cardinality): so lng bo. Cac ac iem cua quan he: Cac gia tr tren cac cot la nguyen to (atomic) hoac n tr (single-value). Cac gia tr tren cung 1 cot la cung domain. Moi dong la duy nhat, ngha la khong ton tai 2 dong giong nhau trong 1 quan he. Th t cac cot t trai sang phai khong quan trong.

Th t cac dong t tren xuong di khong quan trong.

C s d lieu: cung gom 2 khai niem lc o va the hien Lc o CSDL gom cac lc o quan he va cac rang buoc toan ven. The hien CSDL gom cac the hien cua cac quan he trong CSDL. Mot so qui c ve ten goi: Relation Tuple Attribute Table Row Column File Record Field

Cac van e ve khoa cua 1 lc o quan he: Cac bo trong 1 quan he la khac nhau tng oi mot.

Sieu khoa (super key): SK la tap con khac rong cua R+. SK c goi la sieu khoa cua R neu r(R), t1, t2 r, t1 t2 => t1[SK] t2 [SK]. Ro rang, moi lc o quan he eu co toi thieu 1 sieu
khoa.

Khoa (key): K la tap con khac rong cua R+. K c goi la khoa
cua R neu thoa ong thi 2 ieu kien: K la mot sieu khoa cua R. K' K, K' khong phai la sieu khoa cua R.

Chu y: Co the hieu khoa la sieu khoa nho nhat; gia tr khoa dung e nhan biet 1 bo xac nh trong quan he; khoa la ac trng cua lc o quan he ch khong xac nh bi mot vai the hien cu the (y ngha cua r(R)).

Khoa d tuyen (candidate key): 1 lc o quan he co the co


nhieu khoa, chung ong vai tro la khoa d tuyen.

Khoa chnh (primary key): khi cai at 1 quan he thanh mot bang
(table) th can chon 1 trong cac khoa d tuyen lam khoa chnh.
Trang 5

Bai so 0

Khoa ngoai (foreign key): xet 2 lc o quan he R1 va R2 co FK


la tap thuoc tnh khac rong cua R1 va PK la khoa chnh cua R2. FK c goi la khoa ngoai cua R1 (tham chieu ti R2) neu thoa 2 ieu kien sau: FK co cung so lng thuoc tnh vi PK va moi thuoc tnh trong FK co cung domain vi thuoc tnh tng ng trong PK.

t1 R1, hoac t2 R2 sao cho t1[FK] = t2[PK] hoac t1[FK] la null.


Cach phat bieu khac: Chu y: Trong 1 lc o quan he, 1 thuoc tnh co the va tham gia vao khoa chnh va tham gia vao khoa ngoai (xem them ve khoa vay mn). Khoa ngoai co the tham chieu en khoa chnh trong cung mot quan he. Trong 1 quan he co the co nhieu khoa ngoai tham chieu en nhieu khoa chnh cua cac quan he khac nhau. Ngc lai, co the co nhieu khoa ngoai t ben ngoai tham chieu en cung 1 khoa chnh cua 1 quan he.

r1(R1) r2(R2), r1[FK] r2[PK].

Khoa vay mn (borrowed key): la hien tng long khoa. Xet 2


lc o quan he R1 va R2 nh sau: co PK1 la khoa chnh cua R1 va PK2 la khoa chnh cua R2. Neu PK1 PK2 th thanh phan cua PK1 trong PK2 c goi la khoa vay mn cua R2 t R1.

Cac v du ve ac ta khoa bang SQL chuan 92 (SQL-92):


ac ta khoa trong SQL-92: co the ton tai nhieu rang buoc UNIQUE nhng ch ton tai 1 rang buoc PRIMARY KEY. 2 rang buoc tren la khong bat buoc.

CREATE TABLE Students (sid CHAR(20), Name CHAR(20), Age INTERGER, Address CHAR(30), Gpa REAL, UNIQUE (Name, Age), CONSTRAINT StudentsKey PRIMARY KEY (sid) ) ac ta khoa ngoai trong SQL-92:

CREATE TABLE Enrolled (sid CHAR(20), cid CHAR(20), grade CHAR(10), PRIMARY KEY (sid, cid), FOREIGN KEY (sid) REFERENCES Students(sid) ON DELETE CASCADE ON UPDATE NO ACTION,
Trang 6

Bai so 0

FOREIGN KEY (cid) REFERENCES Courses(cid) )

Rang buoc toan ven (integrity constraint) tren mot CSDL quan he:
Rang buoc toan ven: nhng qui tac matat ca cac the hien quan he buoc phai thoa. Viec ac ta (specification) va ep thoa (enforcement) rang buoc toan ven:

c ac ta khi nh ngha lc o quan he.

c ep thoa oi vi bat c the hien quan he nao tren lc o. Rang buoc ve khoa (key constraint): Noi dung: 2 bo khac nhau trong 1 quan he phai co gia tr tai khoa khac nhau. Co bao nhieu khoa th co bay nhieu RB ve khoa. Kiem tra rang buoc khi INSERT hoac UPDATE tren cac thuoc tnh khoa. RB nay do DBMS t kiem tra (ep thoa) hoac do programer t kiem tra.

V du: + Them vao bang Students 1 dong ma co sid a ton taiLenh INSERT se b t choi. + Sa 1 gia tr sid trong bang Students lam b trung vi 1 gia tr sid khac Lenh UPDATE se b t choi.

Rang buoc ve tham chieu (referential constraint): Noi dung: bo t1 trong r1 tham chieu en bo t2 trong r2 th t2 phai ton tai trc t1.

Kiem tra rang buoc khi:

INSERT hoac UPDATE tren r1 (detail relation) DELETE hoac UPDATE tren r2 (master relation). Inser t Students (master) Enrolled (detail) + Delet e + Updat e + (sid) + (sid)

Khi 1 sinh vien trong Students b xoa th co 3 giai phap la chon:

Trang 7

Bai so 0

(1) Xoa tat ca nhng dong trong Enrolled tham chieu en dong sinh vien b xoa: ON DELETE CASCADE. (2) Khong cho xoa 1 sinh vien khi con ton tai t nhat 1 dong trong Enrolled tham chieu en dong sinh vien b xoa: ON DELETE NO ACTION. (3) Thiet lap sid thanh gia tr mac nh cho cac dong trong Enrolled ma tham chieu en dong sinh vien b xoa: ON DELETE SET DEFAULT. Neu thay oi khoa chnh cua mot sinh vien th giai quyet tng t tren. Cac rang buoc toan ven ve ng ngha khac: Rang buoc ve mien tr: + ac ta mien tr bang mien tr (max ... min), v du TUOI. + ac ta mien tr bang danh sach (khi khong the so sanh cac gia tr), v du PHAI. + Kiem tra khi INSERT hoac UPDATE thuoc tnh lien quan en rang buoc. Rang buoc gia cac thuoc tnh trong cung 1 bo: v du NGAYSINH < NGAYVAO. Kiem tra khi INSERT hoac UPDATE thuoc tnh lien quan en rang buoc.

Rang buoc gia cac bo trong cung 1 quan he:

V du: trong quan he NHANVIEN, LUONG cua 1 ngi 1.5 lan LUONG trung bnh cua phong ban ma nhan vien o lam viec. The m NHANVIEN + Xoa + Sa + (LUONG, MAPB)

Rang buoc gia 1 bo cua quan he nay vi 1 bo cua quan he khac: RB khoa ngoai chnh la 1 trng hp cu the cua loai RB nay. Rang buoc gia 1 bo cua quan he nay vi nhieu bo cua quan he khac: V du: trong quan he PHONGBAN, thuoc tnh SONV cho biet so lng nhan vien. The m Xoa Sa

Trang 8

Bai so 0

PHONGBA N NHANVIEN

+ +

+ (SONV, MAPB) + (MAPB)

Rang buoc gia nhieu bo cua quan he nay vi nhieu bo cua quan he khac: V du: Tong SLGXUAT <= tong SLGNHAP cua 1 mat hang. Rang buoc vong: e kiem tra RB loai nay, can phai ket nhieu quan he. V du: Sinh vien ch c hoc nhng mon do khoa cua mnh am nhan; Nhan vien ch c tham gia nhng e an do phong ban cua mnh am nhan. Rang buoc ong: Trong quan he NHANVIEN, thuoc tnh BANGCAP phai co gia tr sau > gia tr trc. Cac v du ve ac ta rang buoc bang SQL-92: MaNV Ho Ten Bac CHECK INTEGER, CHAR(20), CHAR(7), INTERGER, (Bac >=1 AND Bac <=7) ) CREATE TABLE NhanVien (

CREATE TABLE DangKy (MaSV INTEGER, MaMon CHAR(9), HocKy CHAR(7), Diem INTERGER, FOREIGN KEY (MaSV) REFERENCES SinhVien (MaSV), FOREIGN KEY (MaMon) REFERENCES MonHoc (MaMon), CONSTRAINT NotVe CHECK ('Ve' < > (Select TenMon From MonHoc M Where M.MaMon = DangKy.MaMon))) CREATE TABLE NhanVien ( MaNV INTEGER, Ho CHAR(20), Ten CHAR(7), DiaChi CHAR(30), Bac INTEGER, Luong INTEGER, MaPhong CHAR(4), PRIMARY KEY (MaNV), CHECK (bac>=1 AND bac <=7), CHECK ((Select AVG(Luong) From NhanVien N Where N.MaPhong=NhanVien.MaPhong) <=100 ))
Trang 9

Bai so 0

7. Cac phep toan quan he (relational operator):


La cac phep toan dung e thao tac tren quan he. Nhom 1: cac phep toan tap hp

Hai lc o quan he la kha hp neu co cung bac (khong can cac thuoc tnh phai giong ten) va cac domain co th t tng ng phai giong nhau. Cho R va S la 2 lc o quan he kha hp va 2 quan he tng ng la r(R), s(S).

Phep hoi (Union)


bo trung lap

: : :

r s = {t, tr hay ts} bo cac r - s = {t, tr va ts} r s = r - (r - s)

Phep tr (Difference) Phep giao (Intersection) Phep tch (Product)


:

r x s = {t, t[R] r va t[S] s}

Nhom 2: cac phep toan ch ap dung tren quan he ieu kien chon. Ket qua cua phep chon la 1 quan he.

Phep chon (Selection): nham chon 1 tap con cua quan he theo 1 <k-chon> (<ten quan he>) quan he>:<k-chon>)
Ky hieu: V du: hoac(<ten

'TH9901')

<MSLop = 'TH9901'> (SinhVien) hoac

(SinhVien: MSLop =

Phep chieu (Projection): nham trch ra mot vai thuoc tnh cua
quan he. Ket qua cua phep chieu khong chac la 1 quan he. Ky hieu: V du:

quan he>[ds-thuoc tnh]

<ds-thuoc tnh> (<ten quan he>) hoac


hoac

<ten

Ho, Ten, NgaySinh (SinhVien) NgaySinh]


thanh 1 bo.

SinhVien [Ho, Ten,

Phep ket (Join): nham to hp 2 bo co lien quan t 2 quan he Phep chia (Quotient): ieu kien e quan he r(R) chia cho quan he
s(S) la S+ R+.

Trang 10

You might also like