You are on page 1of 9

CSDL H NG I T NG

Gii thiu chung u nhc im ca CSDL QH Mt s ng dng CSDL HT Cc kh khi nim lin quan ti CSDL HT Chuyn i m h hnh ER sang m h hnh HT Ngn ng nh ngha i tng ODL Ngn ng truy vn i tng OQL Mt s h qun tr CSDL HT hin nay
Phm Xun H Hng - HSPHN

C S D LIU HNG I TNG

Gii thiu chung


Lch s ph pht trin ca CSDL HT

u im ca CSDL quan h
Nn tng to ton hc vng chc, c nghin cu su C nhiu H QT CSDL l lm mi trng ph pht trin M h hnh d liu n gin, r r rng ch chnh xc Ph Ph hp vi nhiu dng ng dng CSDL c bit l l ng dng qun l Ngn ng truy vn phi th tc m bo t tnh to ton vn d liu .
Phm Xun H Hng - HSPHN

Phm Xun H Hng - HSPHN

Nh c im ca CSDL quan h
M t th gii thc Qu Qu ti ng ngha ng nht d liu Khng c c kiu d liu mi(ngo i(ngoi d liu c bn) Gii hn ph php to ton Kh Kh khn vi truy vn quy
Phm Xun H Hng - HSPHN

Mt s ng dng CSDL HT
H thng h tr ra quyt nh H thng thng tin a l GIS H c s s d liu thng k H thng qun l dng cng vic ...

Nhn x xt: c cc ng dng CSDL vn xy dng vi CSDL QH nhng rt phc tp v v th thng b tnh c th th ca ng dng
Phm Xun H Hng - HSPHN

Cc kh khi nim lin quan ti CSDL HT


Lp, i t ng nh danh i t ng Thuc t tnh v v phng th thc Thng b bo S tng qu qut h ha K tha n v v a k k tha Cc t c t t
Phm Xun H Hng - HSPHN

Lp v v i t ng
Lp: tp c cc thc th hay tp c cc i t ng c c cng c t tnh(c (cc thuc t tnh bn trong) v hnh v(phng (phng thc) ging nhau. i t ng: mi i t ng trong 1 lp c x xc nh thng qua tn i t ng. OID l l thuc t tnh nh danh x xc nh tn i t ng duy nht.
Phm Xun H Hng - HSPHN

Thuc t tnh v v phng th thc


Thuc t tnh: miu t cu tr trc ca lp c khai b bo.
Thuc t tnh c c th n tr tr hoc a tr

V d
Class Sinhvien{ id_sv : String; hoten : String; ngaysinh : Date; lop : Lophoc; // class Lophoc void Chinhsua(String hoten, Date ngaysinh); void Chuyenlop(Lophoc lop); } Class Lophoc { iv_lop : String; ten : String; siso: Integer; }
Phm Xun H Hng - HSPHN

Phng thc: phn nh h hnh vi c thc hin trn mi i t ng thuc lp.

Phm Xun H Hng - HSPHN

Thng b bo
Cc i tng trao i vi nhau qua thng bo
Thng Thng b bo gm tn ca mt phng ph php v v cc tham s ca n n Khi tham s cho ph php bng vic gi i dn gi mt phng ph php cng cng ca mt i tng i tng phn ng li mt thng b bo bng cch thc hin phng ph php lin kt v v a tr v cc tham s kt qu ca phng ph php

S tng qu qut h ha
S tng qu qut ho ho: lin kt phn cp gia hai lp x xc nh rng c cc i tng ca lp trn tng qu qut hn c cc i tng ca lp di, c cc i tng ca lp di c c cc tnh cht y v tinh t hn

Phm Xun H Hng - HSPHN

Phm Xun H Hng - HSPHN

S k tha
Tnh k tha: s truyn t tnh cht ca mt lp ti

Cc t tc t
Tc t (constructor): lp cu tr trc, cho ph php p t mt cu tr trc ln mt tp i tng v v nh ngha c cc t tnh cht cu tr trc a tr Cc t tc t:
b (tuple): cho ph php nh nhm gp c cc thuc t tnh (t (tch cc) tp (set): cho ph php nh ngha c cc nh nhm khng sp th t, khng cha c cc phn t ging nhau ti (bag): c cc tp khng sp th t, c c cc phn t ging nhau danh s sch (list): cho ph php nh ngha c cc nh nhm c c th t, c ph php c c cc phn t ging nhau bng (table): c cc nh nhm c c th t v c ch s
Phm Xun H Hng - HSPHN

lp con ca n n
Mi phn t ca lp con k tha c cc t tnh cht ca lp trn Mt s tnh cht ca lp con c c th c l lm tinh t hn nh ngha li
Person

Staff

Manager

Sales

Manager

Sales_staff
Phm Xun H Hng - HSPHN

Sales_Manager a k tha

K tha n

i t ng bn vng v v tm thi
i tng tm thi: l l cc i tng c to ra v v lu tr tm thi trn c cc b nh m. S bin mt khi tt ng dng. i tng bn vng: l l cc i tng c lu tr lu d di trn c cc thit b lu tr. S khng mt i khi tt chng tr trnh hay tt my. Mt lp bao gm i tng bn vng v v i tng tm thi.
Phm Xun H Hng - HSPHN

Chuyn i m h hnh QH sang m hnh HT


Tun th cc quy tc sau:

Phm Xun H Hng - HSPHN

Quy tc 1: chuyn i mi quan h Is -a


M hnh ER

V d 1
M hnh hng i tng
Id_Nguoi NGUOI HT Tuoi

Tp thc th A c c quan h Is a vi tp thc th B th th A s k tha tt c cc thuc t tnh trong lp B v v c th b sung thm c cc thuc t tnh ca lp A

class NGUOI Id_Nguoi : string; HT : string; Tuoi : integer; end NGUOI; class NHANVIEN inherits : NGUOI; Luong : integer; end NHANVIEN;

NHANVIEN

Luong

Phm Xun H Hng - HSPHN

Phm Xun H Hng - HSPHN

Quy tc 2: quan h nh nguyn khng c c thuc t tnh


Nu tp 2 thc th A v v B c c mi quan h R th th mi lp tng ng A v v B ngo ngoi c cc thuc t tnh c c trong tp thc th A v v B, s c b sung thm thuc t tnh R

V d 2
Class Sinhvien{ id_sv : String; hoten : String; ngaysinh : Date; lop : Lophoc; // class Lophoc void Chinhsua(String hoten, Date ngaysinh); void Chuyenlop(Lophoc lop); } Class Lophoc { iv_lop : String; ten : String; siso: Integer; }

Phm Xun H Hng - HSPHN

Phm Xun H Hng - HSPHN

Quy tc 3: chuyn i mi quan h phn x khng c c thuc t tnh


Xt 1 tp thc th A c c mi quan h R v vo ch chnh tp thc th A. R l l mi quan h phn x.
M hnh ER

V d 3
M hnh hng i tng Id_Nguoi NGUOI Cha/Me (1,1) Con (0,n) HT Tuoi class NGUOI Id_Nguoi : string; HT : string; Tuoi : integer; Cha, Me : NGUOI; Con : set(NGUOI); end NGUOI;

SinhThanh

Phm Xun H Hng - HSPHN

Phm Xun H Hng - HSPHN

Quy tc 4: chuyn i quan h nh nguyn c c km thuc t tnh


Nu 2 tp thc th A1 v v A2 c c mi quan h R l l mi quan h c km c cc thuc t tnh, khi khi ngo ngoi 2 lp A1 v v A2 tng ng ta cn b sung thm lp mi C ng vai tr trung gian
Lp A1 b sung thuc t tnh R1 Lp A2 b sung thuc t tnh R2 Lp C bao gm thuc t tnh R, thuc t tnh R1 v v thuc t tnh R2
Phm Xun H Hng - HSPHN

V d 4
Lop Id_GV (1 , n) HT GV
Lichday

Id_Lop (1 , n) MON Ten_MH

class GV Id_GV : string; HT : string; day1 : set(LICHDAY); end GV;

class MON Id_Mon : string; Ten_MH : string; day2 : set(LICHDAY); end MON;

class LICHDAY day1 : GV; day2 : MON; lop : string; end DAY;

Phm Xun H Hng - HSPHN

Quy tc 5: chuyn i c cc mi quan h a nguyn


Nu k tp thc th A1, A2, A3, , Ak c mi quan h vi nhau thng qua mi quan h a nguyn R bc k th th ngo ngoi k lp A1, A1, A2, Ak ta s b sung thm 1 lp mi C ng vai tr trung gian
Lp Ai c b sung tp thuc t tnh Ri Lp C b sung thuc t tnh ca mi quan h R, c cc thuc t tnh Ri
Phm Xun H Hng - HSPHN

Ngn ng nh ngha i t ng ODL


ODL: Object Define Language l l ngn ng nh ngha i tng. ODL cho ph php miu t v thit k i tng, khai b bo c cc thuc t tnh, lin kt, phng thc,... ca i tng.

Phm Xun H Hng - HSPHN

Ngn ng ODL
Khai bo Class:interface < name >
{elements = attributes, relationships, methods }

Ngn ng ODL
Khai bo phng thc:
float gpa(in: Student) raises(noGrades)
float: kiu gi tr tr v in: student l bin ch c, khng tr v hay gn d liu cho u ra. Trng hp khc la chn l out hoc inout noGrades l ngoi l v c gi bi phng thc raises.

Khai bo cc phn t Element:


attribute < type > < name > ; relationship < rangetype > < name > ;

Phm Xun H Hng - HSPHN

Phm Xun H Hng - HSPHN

Ngn ng ODL
V d:

Ngn ng ODL
interface Customer { attribute string name; attribute integer ss#; attribute Struct Addr {string street, string city, int zip} address; relationship Set<Loans> borrowed inverse Loans::borrower; relationship Set<Branch> has-account-at inverse Branch:patrons; key(ss#) }

Addr: C kiu cu trc Quan h: inverse quan h ngc li


Phm Xun H Hng - HSPHN

Phm Xun H Hng - HSPHN

Ngn ng ODL
interface loans { attribute real amount; attribute int loanid; attribute Enum loanType {house, car, general}type; relationship Branch belongs-to inverse Branch::loans-granted; relationship Set<Customer> borrower inverse Customer::borrowed; key(loanid) }

Ngn ng ODL
interface Branch { attribute integer branchid; attribute Struct Customer::Addr location; relationship Set<Loans> loans-granted inverse Loans::belongs-to; relationship Set<Customer> patrons inverse Customer::has-account-at; key(branchid); }

Phm Xun H Hng - HSPHN

Phm Xun H Hng - HSPHN

Ngn ng OQL
OQL Object Query Language: ngn ng truy vn i tng. V d:
SELECT sv.Sinhvien.CID, s.Sinhvien.hoten FROM Lophoc s WHERE s.tenlop = A";

Mt s h qun tr CSDL HT

Lu : :
Truy cp thuc tnh thng qua i tng Truy cp cc thuc tnh ca lp khc khi cc lp c quan h extent vi nhau.
Phm Xun H Hng - HSPHN Phm Xun H Hng - HSPHN

THE END.!

You might also like