You are on page 1of 9

CSDL H

HNG
I T
TNG
 Gi
Gii thi
thiu chung
 u nh
nhc i
im cca CSDL QH
C S D LIU  Mt s
s ng ddng CSDL HT
 Cc kh
khi ni
nim lin quan t ti CSDL HT
HNG I TNG  Chuy
Chuyn i m hhnh ER sang m h hnh HT
 Ngn ng
ng
nh ngh
ngha
i t
tng ODL
 Ngn ng
ng truy vvn
i t
tng OQL
 Mt s
s h qu
qu n tr
tr CSDL HT hi
hin nay

Ph
Phm Xun H
Hng - HSPHN

Gi
Gii thi
thiu chung im c
u i ca CSDL quan h
h
 Lch s
s ph
pht tri
trin c
ca CSDL HT  Nn ttng to
ton hhc v
vng ch
chc,
c
nghin ccu su
 C nhi
nhiu H
H QT CSDL l lm mi tr
trng ph
pht
tri
trin
 M hhnh d
d li
liu n gi
gin, r r
rng ch
chnh
xc
 Ph
Ph hp v vi nhi
nhiu d
dng ng ddng CSDL
c bi
bit l
l ng d dng qu
qun l
 Ngn ngng truy vvn phi th
th tc
 m b bo t
tnh to
ton v
vn d
d li
liu
 .
Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

1
Nh
Nhc i
im c
ca CSDL quan h
h Mt s
s ng d
dng CSDL HT
 M t
t th
th gi
gii th
thc  H th
thng h
h tr
tr ra quy
quyt
nh
 H th
thng thng tin a l GIS
 Qu
Qu ti ng
ng ngh
ngha
 H c s
s d li
liu th
thng k
 ng nh
nht d
d li
liu  H th
thng qu
qun l dng cng vi
vic
 Khng cc ki
kiu d
d li
liu m
mi(ngo
i(ngoi d
d  ...
li
liu c b
bn)
 Gi
Gii h
hn ph
php to
ton
 Nh
Nhn x
xt: c
cc ng d
dng CSDL vvn xy d
dng v
vi CSDL
 Kh
Kh khn vvi truy vvn
quy QH nhng rrt ph
phc t
tp v
v th
thng b
b tnh
c th
th ca
ng d
dng

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

Cc kh
khi ni
nim lin quan t
ti CSDL
Lp v
v
i t
tng
HT
 Lp,
i t
tng  Lp: ttp c
cc th
thc th
th hay ttp c
cc
i
 nh danh i t
tng t
tng c c cng c t nh(c
tnh(c c thu
thuc t tnh
 Thu
Thuc ttnh v
v phng ththc bn trong) v hnh v v(phng
(phng th thc)
gi
ging nhau.
 Thng b bo
 i t
tng:ng: m
mi
i t
tng trong 1 l lp
 S tng ququt h
ha c x
xc
nh thng qua tn i t
tng.
 K th
tha n v v a k
k th
tha OID ll thu
thuc t
tnh
nh danh x xc
nh tn
 Cc t
t tc t
i t
tng duy nh nht.

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

2
Thu
Thuc t
tnh v
v phng th
thc V d
Thu Class Sinhvien{
 Thuc t
tnh:
nh: miu t
t cu tr
trc c
ca l
lp id_sv : String;
c khai b
bo. hoten : String;
Thu
Thuc t
tnh c
c th tr ho
th n tr hoc a tr
tr ngaysinh : Date;
lop : Lophoc; // class Lophoc
void Chinhsua(String hoten, Date ngaysinh);
 Phng th
thc: ph
phn nh h
hnh vi
c void Chuyenlop(Lophoc lop);
}
th
thc hi
hin trn m
mi
i t
tng thu
thuc l
lp. Class Lophoc {
iv_lop : String;
ten : String;
siso: Integer;
}
Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

Thng b
bo S tng qu
qut h
ha
 Cc
i t
tng trao
i v
vi nhau qua thng  S tng qu
qut ho
ho: lin k
kt phn ccp gi
gia
bo hai l
lp x
xc
nh r
rng c
cc
i t
tng c
ca l
lp
Thng
Thng bbo g
gm tn cca m
mt phng phphp v
v trn t
tng qu
qut hn ccc
i t
tng cca l
lp
cc tham s
s ca n
n d
di, c
cc
i t
tng c
ca l
lp d
di c
c cc
Kh
Khi tham s
s cho ph
php bbng vi
vic g
gi i d
dn g
gi tnh ch
cht
y
v tinh t
t hn
mt phng phphp cng ccng c
ca m
mt
i t
tng
i t
tng ph
phn ng l li m
mt thng bbo bbng
cch th
thc hi
hin phng ph
php lin k
kt v
v a tr
tr
v cc tham ss kt qu
qu ca phng ph
php

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

3
S k th
tha Cc t
tc t
t
 Tnh k
k th
tha: s
s truy
truyn t
tnh ch
cht c
ca m
mt l
lp t
ti
lp con c
ca n
n  Tc t
t (constructor): l lp c
cu tr
trc, cho ph
php p
t m
mt ccu tr
trc ln m
mt t
tp
i t
tng v
v
nh
 Mi ph
phn t
t ca llp con k
k th
tha c
cc t
tnh ch
cht c
ca l
lp
trn
ngh
ngha c
cc t
tnh ch
cht c
cu tr
trc a tr
tr
 Mt s
s tnh ch
cht c
ca l
lp con c
c th
th
c l
lm tinh t
t hn  Cc t
tc t
t:

nh ngh
ngha l
li  b (tuple): cho ph
php nh
nhm ggp c
cc thu
thuc t
tnh (t
(tch

cc)
Person  tp (set): cho ph
php
nh ngh
ngha c
cc nh
nhm khng s sp th
th
t, khng ch
cha c
cc ph
phn t
t gi
ging nhau
 ti (bag): c
cc t
tp khng s sp th
th t, c
c cc ph
phn tt
gi
ging nhau
Staff Manager Sales
 danh s
sch (list): cho ph
php
nh ngh
ngha c
cc nh
nhm cc th
th
t,
c ph
php cc cc ph
phn t
t gi
ging nhau
 bng (table): c
cc nh
nhm cc th
th t v c ch
ch s
Manager Sales_staff Sales_Manager
Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

K tha n a k tha

Chuy
Chuyn
i m h
hnh QH sang m
i t
tng b
bn v
vng v
v tm th
thi hnh HT
 i t
tng t
tm th
thi: l
l cc i t
tng
c  Tun th
th cc quy t
tc sau:
to ra v
v lu tr
tr tm ththi trn c cc b
b nh
nh
m. SS bi
bin m
mt khi t tt ng d
dng.
 i t
tng b
bn v
vng: l l cc
i t
tng
c
lu tr
tr lu d
di trn c
cc thi
thit b
b lu tr
tr. S
S
khng mmt i khi t
tt chng tr trnh hay ttt
my.
 Mt l
lp bao g
gm i t
tng b bn vvng v
v
i t
tng ttm th
thi.

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

4
Quy t
tc 1: chuy
chuyn
i m
mi quan h
h
V d 1
Is -a
M hnh ER M hnh hng i tng
 Tp th
thc th
th A c
c quan h
h Is a vvi
tp th
thc th
th B th
th A s
s k th
tha t
tt c
c NGUOI
Id_Nguoi class NGUOI
Id_Nguoi : string;
cc thu
thuc t
tnh trong l
lp B v
v c th
th
HT HT : string;
Tuoi : integer;
Tuoi
b sung thm c cc thu
thuc t
tnh c
ca llp end NGUOI;

A class NHANVIEN
inherits : NGUOI;
Luong : integer;
Luong end NHANVIEN;
NHANVIEN

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

Quy t
tc 2: quan h
h nh
nh nguyn
V d 2
khng c
c thu
thuc t
tnh
Class Sinhvien{
 Nu t
tp 2 th
thc th
th A v
v B c
c mi

 id_sv : String;
quan h
h R th
th mi l
lp tng ng A vv  hoten : String;
 ngaysinh : Date;
B ngo
ngoi c
cc thu
thuc t
tnh c
c trong t
tp  lop : Lophoc; // class Lophoc
void Chinhsua(String hoten, Date ngaysinh);
th
thc th
th A v
v B, s
s
c b
b sung 

 void Chuyenlop(Lophoc lop);


thm thu
thuc t
tnh R  }
 Class Lophoc {
 iv_lop : String;
 ten : String;
 siso: Integer;
 }

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

5
Quy t
tc 3: chuy
chuyn
i m
mi quan h
h
V d 3
ph
phn x
x khng c
c thu
thuc t
tnh
 Xt 1 t
tp th
thc th
th A c
c mi quan hh M hnh ER M hnh hng i tng
R v
vo ch
chnh t
tp th
thc th
th A. R l
l mi
quan h
h ph
phn x
x. NGUOI
Id_Nguoi
HT
class NGUOI
Id_Nguoi : string;
HT : string;
Tuoi Tuoi : integer;
Cha/Me Con
Cha, Me : NGUOI;
(1,1) (0,n)
Con : set(NGUOI);
end NGUOI;

SinhThanh

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

Quy t
tc 4: chuy
chuyn
i quan h
h nh
nh
V d 4
nguyn cc km thu
thuc t
tnh
Lop
 Nu 2 t
tp th
thc th
th A1 v
v A2 c
c mi Id_GV
Id_Lop
(1 , n)
quan h
h R ll mi quan h
h c km c
cc HT GV
(1 , n)
Lichday MON
Ten_MH

thu
thuc t
tnh, khi
khi
ngo
ngoi 2 l
lp A1 v
v
A2 tng ng ta c cn b
b sung thm
lp m
mi C
ng vai tr trung gian
class GV class MON class LICHDAY
Lp A1 b
b sung thu
thuc t
tnh R1 Id_GV : string; Id_Mon : string; day1 : GV;
HT : string; Ten_MH : string; day2 : MON;
Lp A2 b
b sung thu
thuc t
tnh R2 day1 : set(LICHDAY);
end GV;
day2 : set(LICHDAY);
end MON;
lop : string;
end DAY;

Lp C bao g
gm thu
thuc t
tnh R, thu
thuc t
tnh
R1 v
v thu
thuc t
tnh R2
Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

6
Quy t
tc 5: chuy
chuyn
i c
cc m
mi Ngn ng nh ngh
ng ngha
i t
tng -
quan h
h a nguyn ODL
 Nu k t
tp th
thc th
th A1, A2, A3, , Ak  ODL: Object Define Language l l
c mi quan hh vi nhau thng qua ngn ng
ng
nh ngh
ngha i t
tng.
mi quan h
h a nguyn R b bc k th
th  ODL cho ph
php miu t t v thi
thit k
k
i
ngo
ngoi k lp A1,
A1, A2, Ak ta s
s b t
tng, khai b
bo c
cc thu
thuc ttnh, lin
sung thm 1 llp m
mi C
ng vai tr kt, phng th
thc,... c
ca
i t
tng.
trung gian
Lp Ai
c b
b sung t
tp thu
thuc t
tnh Ri
Lp C b
b sung thu
thuc t
tnh c
ca m
mi quan
h R, c
cc thu
thuc t
tnh Ri
Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

Ngn ng
ng ODL Ngn ng
ng ODL
 Khai bo Class:interface < name >  Khai bo phng thc:
{elements = attributes, relationships, float gpa(in: Student) raises(noGrades)
methods }  float: kiu gi tr tr v
 Khai bo cc phn t Element:  in: student l bin ch c, khng tr v hay
gn d liu cho u ra. Trng hp khc la
attribute < type > < name > ; chn l out hoc inout
relationship < rangetype > < name > ;  noGrades l ngoi l v c gi bi phng
thc raises.

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

7
Ngn ng
ng ODL Ngn ng
ng ODL
 V d: 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

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

Ngn ng
ng ODL Ngn ng
ng ODL
interface loans { interface Branch {
attribute real amount; attribute integer branchid;
attribute int loanid;
attribute Struct Customer::Addr location;
attribute Enum loanType {house, car, general}type;
relationship Branch belongs-to relationship Set<Loans> loans-granted
inverse Branch::loans-granted; inverse Loans::belongs-to;
relationship Set<Customer> borrower relationship Set<Customer> patrons
inverse Customer::borrowed; inverse Customer::has-account-at;
key(loanid)
key(branchid);
}
}

Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

8
Ngn ng
ng OQL Mt s
s h qu
qun tr
tr CSDL HT
 OQL Object Query Language: ngn ng
ng
truy v
vn
i t
tng.
 V d:
SELECT sv.Sinhvien.CID, s.Sinhvien.hoten
FROM Lophoc s
WHERE s.tenlop = A";

 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.
Ph
Phm Xun H
Hng - HSPHN Ph
Phm Xun H
Hng - HSPHN

THE END.!

You might also like