Professional Documents
Culture Documents
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
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#)
}
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.!