Giáo trình hệ quản trị cơ sở dữ liệu nguyễn trần quốc vinh - Pdf 32

H QU N TR C S D

LI U – B n Nháp 30-08-08

Xin cám n b n đã dành s quan tâm cho tài li u này!
Tài li u này tôi t ng h p t nhi u quy n sách khác nhau. Tôi ngh nó có ích cho nh ng
ng i mu n hi u các h qu n tr c s d li u làm vi c nh th nào. Trên c s đó, ng i
đ c có th thi t k các c s d li u và t o ra các h th ng s d ng c s d li u quan h t t
h n. Ngoài ra, tôi còn gi i thi u m t s h ng đang đ c phát tri n trên th gi i đ các b n
tham kh o.
Trong quá trình biên-d ch-so n d a trên ki n th c c a mình, tôi đã r t c g ng nh ng ch c
ch n v n có nhi u h n ch và sai sót. N u b n phát hi n sai sót, ho c có ý ki n đóng góp
nh m m c đích giúp tôi nâng cao ch t l ng c a tài li u này c ng nh hoàn thi n chính
mình, mong b n ph n h i v , và

Tôi s c g ng hoàn thi n tài li u này, và t t nhiên, không th thi u nh ng ý ki n ph n h i
c a các b n.
Nguy n Tr n Qu c Vinh

Nguy

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

i


H QU N TR C S D

LI U – B n Nháp 30-08-08

M CL C


ng I.2

hi n đ i

Các ch c n ng c a HQT CSDL. T ch c đi n hình c a m t HQT CSDL
10

I.2.1 Các ch c n ng c a HQT CSDL .......................................................................... 10
I.2.1.1

Qu n tr d li u tr c ti p trong b nh ngoài ............................................. 10

I.2.1.2

Qu n tr các b nh đ m (buffers) trong RAM .......................................... 10

I.2.1.3

i u khi n các giao tác ............................................................................... 11

I.2.1.4

Nh t ký ........................................................................................................ 12

I.2.1.5

H tr các ngôn ng CSDL ........................................................................ 14

I.2.1.6


II.1.4.2

B m (Hashing) ............................................................................................ 26

II.1.4.3

Thông tin nh t ký ........................................................................................ 27

II.1.4.4

Thông tin ph c v ....................................................................................... 27

Nguy

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

ii


H QU N TR C S D
Ch

LI U – B n Nháp 30-08-08

ng II.2 Giao tác và tính toàn v n CSDL ................................................................. 29

II.2.1

Ví d s phá hu tính toàn v n CSDL............................................................... 29


ng minh (Explicit) ........................................... 33

II.2.3.5.1 Khái ni m ............................................................................................... 37
II.2.3.5.2 Các quy t c ............................................................................................. 37
II.2.3.5.3 Bi n @@trancount trong HQT CSDL SQL Server ............................... 39
II.2.4

Ràng bu c tính toàn v n CSDL ......................................................................... 39

II.2.5

Phân lo i ràng bu c tính toàn v n CSDL .......................................................... 41

II.2.5.1

B ng các cách tri n khai (realization)......................................................... 42

II.2.5.2

Phân lo i ràng bu c tính toàn v n theo th i đi m ki m tra ........................ 44

II.2.5.3

Phân lo i ràng bu c tính toàn v n theo không gian ng d ng .................... 45

II.2.5.3.1 Ràng bu c Mi n giá tr ........................................................................... 45
II.2.5.3.2 Ràng bu c thu c tính.............................................................................. 45
II.2.5.3.3 Ràng bu c b n ghi .................................................................................. 46
II.2.5.3.4 Ràng bu c quan h ................................................................................. 50


V n đ ph thu c ch a c đ nh (đ c d li u b n, đ c không chu n…) ..... 67

II.3.2.3

V n đ xung kh c trong phân tích .............................................................. 67

II.3.2.3.1

c không l p l i ................................................................................... 67

Nguy

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

iii


H QU N TR C S D
II.3.2.3.2 Các ph n t

LI U – B n Nháp 30-08-08

o ........................................................................................ 68

II.3.2.3.3 Phân tích xung kh c th c ch t................................................................ 69
II.3.2.3.4 Xung đ t gi a các giao tác ..................................................................... 70
II.3.3

m b o th c thi song song (tính tu n t ) các giao tác .................................... 73

Ph

ng pháp m c th i gian ........................................................................ 91

II.3.3.4

Tri n khai tính cô l p các giao tác b ng các công c SQL ......................... 92

II.3.3.4.1 Các m c đ cô l p .................................................................................. 92
II.3.3.4.2 Cú pháp các l nh SQL đ đ nh ngh a m c đ cô l p ............................. 93
Ch

ng II.4 Các giao tác và ph c h i d li u ................................................................. 95

II.4.1

Nh t ký và ghi nh trung gian (buffering)......................................................... 96

II.4.2

Các ki u ph c h i d li u .................................................................................. 98

Ch

II.4.2.1

Rollback giao tác riêng bi t ........................................................................ 98

II.4.2.2


LI U – B n Nháp 30-08-08

T i u hoá cú pháp các truy v n ...................................................................... 106

II.5.2.1

Bi n đ i logic đ n gi n các truy v n ........................................................ 106

II.5.2.2

Bi n đ i các truy v n b ng cách thay đ i th t các thao tác quan h ..... 106

II.5.2.3

Chuy n các truy v n ch a các truy v n l ng thành các truy v n ch a các

phép n i 107
II.5.3

II.5.3.1

Bi n đ i các truy v n trên c s thông tin m ng ng ngh a ..................... 108

II.5.3.2

S d ng các thông tin m ng ng ngh a trong t i u hoá các truy v n ..... 108

II.5.4

Ch n và đánh giá các k ho ch th c thi các truy v n khác nhau .................... 108


III.1.4.2 Các u đi m c a giao th c g i th t c t xa ............................................ 115
III.1.4.3 S phân b ch c n ng đi n hình gi a khách và ch ................................. 116
III.1.4.4 Các yêu c u kh n ng ph n c ng và ph n m m n n t ng đ i v i khách và
ch
Ph n IV

116
Các khung nhìn th c .......................................................................................... 117

Ch

ng IV.1 Khái ni m khung nhìn th c....................................................................... 117

Ch

ng IV.2

ng d ng c a KNT ................................................................................... 119

IV.2.1

ng d ng KNT trong các HQT CSDL th

IV.2.2

ng d ng KNT nh m đ y nhanh t c đ th c thi các truy v n ........................ 122

IV.2.3



ng KNT trong các HQT CSDL ch a h tr KNT ........... 131

IV.4.1 Ví d v h n ch c a KNT trong các HQT CSDL th

ng m i....................... 131

IV.4.2 “KNT” trong các HQT CSDL không h tr KNT .......................................... 134
Ph n V Kho d li u – DataWarehouse .............................................................................. 138
Ph n VI

CSDL phân tán .................................................................................................. 139

Ch

ng VI.1 Các lo i hình h th ng phân tán ................................................................ 140

Ch

ng VI.2 Các ki n trúc c a HQT CSDL PT ............................................................ 142

VI.2.1 Các h th ng khách-ch .................................................................................. 142
VI.2.2 Các h th ng máy ch h p tác ......................................................................... 142
VI.2.3 Các h th ng t ng trung gian ........................................................................... 143
Ch

ng VI.3 L u tr d li u trên HQT CSDL PT ......................................................... 144

VI.3.1 Phân m nh (fragmentation) ............................................................................. 144
VI.3.2 Nhân b n (replication) ..................................................................................... 145


LI U – B n Nháp 30-08-08

VI.4.2 Biên d ch phân tán các truy v n ....................................................................... 157
Ch

ng VI.5 Qu n tr các giao tác và quá trình đ ng b hoá ........................................ 159

VI.5.1 Giao th c c đ nh hai pha (2PC – Two-Phases Commit Protocol) ................. 159
VI.5.2 Các ph

ng pháp qu n tr ................................................................................ 161

VI.5.3 Các b t c phân tán .......................................................................................... 162
Ch

ng VI.6 Kh i đ ng l i sau s c ............................................................................. 164

VI.6.1 Kh i đ ng l i h th ng sau s c .................................................................... 164
VI.6.2 Giao th c c đ nh 3 pha (3PC – Three Phases Commit Protocol) .................. 165
Ch

ng VI.7 Các h th ng tích h p (hay liêng bang) và đa CSDL ............................... 168

Ph n VII Các h
Ch

ng nghiên c u và phát tri n hi n đ i .................................................... 169

ng VII.1 Các HQT CSDL th h m i ..................................................................... 169

ng trình ng d ng ......................................... 173

c đi u khi n b i các quy lu t ................................. 174
ng đ i t

M i liên h gi a HQT CSDL h

ti p c n h

ng đ i t

ng ........................................................... 178
ng đ i t

ng v i khái ni m chung v cách

ng .............................................................................................. 179

VII.2.2

Các mô hình d li u h

VII.2.3

Các ngôn ng l p trình các CSDL H T ...................................................... 184

VII.2.3.1 S đánh m t m i t

ng đ i t



ng (non-navigation) .................. 187

VII.2.4.3 Các v n đ t i u hoá truy v n ................................................................ 189
VII.2.5

Các ví d HQT CSDL H T ......................................................................... 191

Nguy

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

vii


H QU N TR C S D

LI U – B n Nháp 30-08-08

VII.2.5.1 D án ORION .......................................................................................... 192
VII.2.5.2 Project O2................................................................................................. 193
Ch

ng VII.3 Các h CSDL trên n n t ng các quy lu t ................................................. 195

VII.3.1

Ph n m r ng và ph n t ng c

ng c a CSDL ............................................. 195


LI U – B n Nháp 30-08-08

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

ix


H QU N TR C S D

LI U – B n Nháp 30-08-08

Ph n I
Ki n th c c b n
Ch ng I.1 CSDL và h th ng t p tin
u tiên, chúng ta hãy xem qua ý t

ng chung c a các khái ni m c s d li u

(CSDL, DB – Database) và h qu n tr c s d li u (HQT CSDL, DBMS – Databases
Managerment System).
CSDL là m t t p h p các d li u mô t m t l nh v c ng d ng nào đó ho c m t l nh
v c c a th gi i th c. Ví d , CSDL v đào t o c a m t tr

ng đ i h c có th ch a các

thông tin v :
– Các th c th nh sinh viên, gi ng viên, các h c ph n, khoa, l p, phòng h c.
– Các m i quan h gi a các th c th , ch ng h n nh sinh viên đ ng ký m t h c
ph n, gi ng viên ph trách m t h c ph n cho l p nào đó, vi c s d ng các phòng h c,…

c l i v i các nhà phát tri n

các ki n trúc máy đi n toán m i.
nh h

ng th hai, đó là s d ng các công c c a k thu t tính toán trong các h

th ng thông tin t đ ng ho c là t đ ng hoá. Theo ngh a r ng, h th ng thông tin là m t t
h p ch

ng trình. Các ch c n ng c a h th ng thông tin ch y u là duy trì vi c l u tr

thông tin m t cách tin c y trong b nh c a máy tính, th c hi n các bi n đ i thông tin
và/ho c tính toán đ c thù cho m t ng d ng đã cho, và cung ng cho ng
di n thu n ti n và d ti p thu. Th

ng thì kh i l

i dùng m t giao

ng thông tin mà các h th ng đó c n ph i

qu n lý/x lý là r t l n, và c u trúc c a chính d li u c ng ph c t p. Ví d c đi n c a h
th ng thông tin là các h th ng ngân hàng, các h th ng đ t vé máy bay ho c là vé tàu, đ t
ch khách s n, v.v…
Trong th c t , đ nh h

ng th hai xu t hi n mu n h n b i vì trong th i gian đ u c a

k thu t tính toán các máy tính s h u các tính n ng h n ch

ng nhi u đ n các tính toán

ng trình c n ph i x lý m t kh i l

ng l n thông tin thì trong

quá trình l p trình có th ngh ra m t các phân b thông tin trong b nh ngoài đ ch

ng

trìn làm vi c nhanh h n đ n m c có th .
M t khác, cho các h th ng thông tin mà trong đó ng

i dùng yêu c u trong các d

li u hi n t i, thì các b ng t và tr ng không đáp ng yêu c u. Ví d , m t khách hàng mu n
mua vé c n ph i đ ng ch máy tính tua h t m t b ng t . M t trong nh ng yêu c u rõ ràng
đ i v i các h th ng nh th là th i gian trung bình đ th c hi n m t giao d ch c n ph i
nhanh.
Có th chính các yêu c u trong k thu t tính toán t phía các ng d ng không thu n
tính toán s đã đ a đ n s xu t hi n các đ a t có th tháo ra v i các đ u đ c di đ ng. S
xu t hi n đó là cu c cách m ng trong l ch s k thu t tính toán. Các thi t b b nh ngo ài đó
s h u dung l

ng l n h n nhi u so v i các tr ng t , còn kh n ng thay th các đ a trên

thi t b cho phép s h u kho d li u g n nh không gi i h n v m t dung l

ng.


ng ti n l p trình b c th p. Ch đ làm vi c này không cho phép ho c r t làm trì tr

vi c duy trì trên m t ph

ng ti n bên ngoài nhi u l u tr (archives) các thông tin c n l u

Nguy

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

2


LI U – B n Nháp 30-08-08

H QU N TR C S D

tr lâu dài. Ngoài ra, m i trình ng d ng ph i gi i quy t v n đ đ t tên (g n nhãn) các ph n
d li u và ph i c u trúc d li u trong b nh ngoài.
I.1.1 H th ng t p tin
Chuy n sang s d ng các h th ng qu n tr t p t p trung là b
quan đi m trình ng d ng, t p là m t vùng đã đ

c ngo c l ch s . Trên

c đ t tên c a b nh ngoài và có th ghi

d li u lên ho c đ c d li u t đó. Các quy lu t đ t tên t p, cách th c truy c p d li u đ

c

đ nh d ng đ a, m i đ
l

ng s đ

ng b ng s tr . Trong quá trình

c chia thành các kh i (block) v i s l

ng nh nhau, và s

ng bytes có th ch a t i đa trong m i kh i là nh nhau. Nh v y, đ trao đ i thông tin

v i đ a t trên c p đ thi t b c n ph i ch ra s th t c a tr , s th t c a b m t, s th
t c a kh i trên đ

ng t

ng ng và s l

ng bytes c n ghi vào ho c là đ c ra tính t đ u

kh i.
Tuy nhiên, kh n ng trao đ i thông tin v i các đ a t theo nh ng ph n nh h n dung
l

ng c a kh i hi n t i không đ

c s d ng trong các h th ng t p.


nhi u.
Vì th , trong t t c các h th ng t p, ho c là tr c ti p, ho c là gián ti p m t c p đ c
b n nào đó đ

c phân ra. C p đ đó đ m b o công vi c v i các t p. M i t p là m t t h p

các kh i có đ a ch trong không gian đ a ch c a t p. Kích th
trùng ho c là b i s kích th
th

c m t trang b nh

c các kh i lu n lý đó c a t p

c c a kh i v t lý c a đ a, và th

o (virtual memory). B nh

o này đ

ng đ

c ch n b ng kích

c duy trì b i thi t b máy

tính cùng v i h đi u hành.
Trong m t vài h th ng t p c p đ c b n là có th truy c p đ
nh ng th


ng pháp t ch c

các t p có khoá ph bi n d a trên n n t ng k thu t b m (hashing) và cây nh phân (B-tree).
C ng t n t i các ph

ng pháp t ch c t p nhi u khoá.

Cách ti p c n th hai ph bi n song song cùng v i h đi u hành UNIX. Mà theo đó,
m i t p là m t chu i các bytes. T m t t p có th đ c m t s cho tr
đ u t đ u t p, ho c đ u tiên chuy n đ n v trí byte có s th t cho tr
ghi m t s cho tr
đ i v i ng

c các byte ho c là b t
c. T

ng t , có th

c các byte vào cu i t p, ho c vào m t v trí nào đó. Chú ý r ng, dù là n

i dùng, nh ng trong t t c các bi n th c a h th ng t p c a h đi u hành UNIX

là ki u bi u di n t p theo kh i.
I.1.1.2

t tên (gán nhãn) cho t p tin
T t c các h th ng t p h tr đ t tên các t p theo nhi u t ng nh vào vi c duy trì

trong b nh ngoài nh ng t p b tr có c u trúc đ c bi t.


lý t p yêu c u m i m t l u tr các t p (cây tra c u đ y đ ) đ u hoàn toàn phân b trên m t
gói đ a, ho c là trên m t đ a lu n lý. Trong tr
đ u t tên c a thi t b đ a, mà trên đó đ a t

ng h p đó, tên đ y đ c a m t t p đ
ng ng đ

cb t

c cài đ t. Có th g i cách t ch c

đó là duy trì các h th ng t p cô l p.
Trong m t ph
g cđ

ng án khác, là h th ng t p c a h đi u hành Multics, nhi u ý t

ng

c phát tri n, nh ng chúng ta ch quan tâm đ n các đ c tính t ch c l u tr các t p.

Trong h th ng t p đó, ng

i dùng bi u di n t h p các th m c và các t p c a mình d

d ng m t cây duy nh t. Tên đ y đ c a t p đ

i

c b t đ u t tên c a th m c g c, và ng


g c các th m c r ng m t cách ch ý. M t phân h c a h đi u hành s làm nhi m v k t
n i th m c g c c a l u tr t p (h th ng t p) v i m t th m c r ng đ
Sau khi l p ghép thành h th ng t p chung, vi c đ t tên cho các t p đ
chính nó t ban đ u đã đ
kh i đ ng h th ng, thì ng

c t p trung hoá. N u vi c l p đ t đ

c t o ra tr

c đó.

c di n ra nh là

c di n ra trong quá trình

i dùng không c m giác v quá trình phát sinh ban đ u c a h

th ng t p chung nh t.
I.1.1.3 B o v t p tin
B i vì h th ng t p là kho l u tr chung c a các t p thu c v nhi u ng

i dùng khác

nhau, nên h th ng qu n lý t p ph i đ m b o vi c xác th c quy n truy c p các t p. Th
thì theo quan h v i m i ng

i dùng đã đ



i đó thu c v , và t

ng ng, kèm theo m i t p s đ

c l u tr

i dùng đã t o ra t p đó, và đánh d u nh ng thao tác nào ng

đó có th th c hi n v i t p, đánh d u nh ng thao tác nào các ng
đó có th th c hi n v i t p, và nh ng thao tác nào nh ng ng

i dùng

i dùng khác cùng nhóm

i dùng khác thu c các nhóm

khác có th th c hi n v i t p.
I.1.1.4 Ch đ truy c p nhi u ng

i dùng

N u h đi u hành h tr ch đ nhi u ng
ng

i dùng, thì tình hu ng hai ho c nhi u

i dùng đ ng th i mu n làm vi c v i cùng m t t p nào đó là hoàn toàn có th . N u t t



thích v i ch đ m t p mà ti n trình B đã s d ng, thì tu thu c vào các tính n ng c a h
th ng mà ti n trình A s đ

c thông báo v vi c không th m t p X trong ch đ mong

mu n, ho c là ti n trình A s b phong to cho đ n khi ti n trình B ch a th c hi n thao tác
đóng t p X.
Trong các phiên b n m i c a h đi u hành UNIX có h tr ch đ đ ng b hoá trong
khi m t p. Th m chí, t n t i kh n ng đ ng b nhi u ti n trình cùng m và s đ i n i dung
m t t p.
đ

cm đ

th c hi n đi u đó, m t c ch các phong to đ ng b các kho ng đ a ch c a t p
c đ a vào áp d ng.

I.1.2 L nh v c ng d ng c a t p tin
Tr
ch

c tiên, các t p đ

c s d ng đ l u tr các d li u v n b n: tài li u, mã ngu n

ng trình,… Nh ng t p nh v y th

ng đ



Trên quan đi m h th ng t p, các t p đ i t

ng.

ng c ng s h u c u trúc r t đ n gi n – chu i

các b n ghi ho c các bytes. H th ng l p trình thi t đ t lên c u trúc đó m t c u trúc mô-đun
đ it

ng ph c t p h n và chuyên bi t cho h th ng đó.

c u trúc mô-đun đ i t
T
đo n ch

ó là c u trúc lu n lý (logic), và

ng đó là “không hi u” đ i v i h th ng t p.

ng t v i các t p đ

c t o ra b i các trình so n th o các liên k t và ch a các

ng trình th c thi. C u trúc lu n lý c a các t p nh th c ng ch “hi u đ

c” v i

trình so n th o các liên k t và trình kh i đ ng c a h đi u hành. V i các t p ch a thông tin
đ ho , âm thanh… c ng có tình hu ng nh th . Ví d , m t t p ch a nh có đ nh d ng JPG

giai

đo n đ u s d ng k thu t máy tính đ qu n tr thông tin, các v n đ c u trúc hoá d li u
đ

c gi i quy t riêng l trong m i h th ng thông tin. Nh ng b i vì các h th ng thông tin

yêu c u các c u trúc d li u ph c t p, các công c b tr riêng l đ qu n tr d li u đó là
m t ph n khá l n c a các h th ng thông tin và trên th c t g n nh l p l i trong các h
th ng. Vi c c g ng phân ra và công b ph n chung c a các h th ng thông tin, ph n ch u
trách nhi m qu n tr các d li u đ

c c u trúc ph c t p có th đ

c xem là nguyên nhân đ u

tiên đánh th c vi c c n thi t ph i xây d ng HQT CSDL. Sau này th y r ng, không th b
Nguy

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

7


H QU N TR C S D
qua th vi n ch
đ

LI U – B n Nháp 30-08-08


c p đ n các t p theo nhi u khoá; 2) rõ ràng, t n t i s d th a r t l n trong l u tr d li u,
và ph i th c hi n quá nhi u phép ch n và tính toán đ thu đ

c thông tin t ng k t v m t

phòng ban. Ngoài ra, trong quá trình khai thác h th ng, n u mu n đ a vào thêm ch c n ng
đ n gi n, ch ng h n nh cho xem danh sách nh ng nhân viên đ
tr

ch

ng m c l

ng cho

c, chúng ta ph i đ c toàn b t p, ho c là ph i c u trúc l i t p đ thêm khoá.
C ng có th làm vi c tr c ti p trên n n t ng h th ng t p, nh ng chúng ta chia t p đó

thành nhi u t p. Và khi đó, nh ng s b t ti n và khó kh n nêu trên s đ

cv

t qua, nh ng

rõ ràng h th ng thông tin c a chúng ta bây gi ph i s h u nh ng tính n ng m i trong th
vi n các công c , và b
Tr

c chuy n này đã làm h th ng ti n g n đ n HQT CSDL.


nh ng siêu d li u (meta-data), và th m chí nh ng tri th c đ nh ngh a tính nh t quán c a d
li u.
Nh ng đó c ng ch a ph i là t t c nh ng gì đòi h i t m t HQT CSDL. Th nh t, rõ
ràng trong h th ng thông tin đ n gi n đó c ng r t khó đ tri n khai nh ng truy v n r t đ n
gi n ki u nh “cho xem s l

ng nhân viên trong phòng ban mà nhân viên A làm tr

Suy ra, HQT CSDL c n ph i h tr m t ngôn ng g n v i ngôn ng con ng
t o ra các truy v n m t cách đ n gi n, và ng

ng”.

i và cho phép

i dùng không c n quan tâm c n ph i th c thi

truy v n nh th nào. Nh ng ngôn ng nh th g i là ngôn ng truy v n đ n CSDL. SQL
(Structured Query Language) cho mô hình d li u quan h là m t ngôn ng nh th .
Th hai, HQT CSDL ph i nh n trách nhi m v tính nh t quán c a d li u. N u
chúng ta làm vi c tr c ti p trên n n t ng h th ng t p b ng th vi n các công c m r ng đ
làm vi c v i t p, và phân tách CSDL ra làm nhi u t p khác nhau; khi c n s a đ i d li u
m t t p thì t t nhiên c ng ph i th c hi n nh ng thay đ i t

ng ng trong nh ng t p ch a d

li u liên quan. N u trong quá trình đó, chúng ta không k p th c hi n các thay đ i c n thi t
trong t t c các t p liên quan và trong h th ng x y ra s c , ví d m t đi n, thì sau khi h
th ng kh i đ ng l i, CSDL đ


đ

c ho c r t khó n u gi i quy t b ng vi c s d ng h th ng t p. Trong khi đó c ng t n t i

nhi u trình ng d ng, mà đ i v i chúng các t p là đ ; ho c c n ph i xác đ nh cho chúng
m c đ c n thi t đ làm vi c v i d li u đ

c l u tr trong b nh ngoài; ho c là đ i v i

chúng,

c n

HQT

CSDL

Nguy



thi t



đi u

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

ki n.

I.2.1 Các ch c n ng c a HQT CSDL
I.2.1.1 Qu n tr d li u tr c ti p trong b nh ngoài
Ch c n ng này bao g m s đ m b o các c u trúc c n thi t c a b nh ngoài đ l u
tr d li u là d li u c a CSDL, và c cho các m c đích ph c d ch (ph c v ) khác, ví d , đ
đ y nhanh quá trình truy c p đ n d li u trong m t s tr

ng h p nào đó. Trong m t vài

phiên b n HQT CSDL các tính n ng c a h th ng t p đ

c s d ng r t tích c c, nh ng

trong vài phiên b n khác công vi c đ

c th c hi n trên c p đ các thi t b b nh ngoài.

Nh ng trong các HQT CSDL tiên ti n, ng
th ng t p hay không, và n u s d ng, thì ng
nh th nào. Thông th
các đ i t

i dùng không c n bi t HQT CSDL s d ng h
i dùng không c n bi t các t p đ

c t ch c

ng, HQT CSDL đ m b o h th ng chuyên bi t c a mình đ đ t tên

ng c a CSDL.




H QU N TR C S D

LI U – B n Nháp 30-08-08

CSDL. Vì th trong các HQT CSDL tiên ti n, m t t h p b nh đ m RAM c a chính nó
cùng v i các nguyên t c trao đ i/thay đ i b đ m c a riêng nó đ
C ng t n t i m t l p HQT CSDL riêng h
RAM. H

c duy trì.

ng đ n vi c luôn t n t i c CSDL trong

ng này d a trên n n t ng gi thuy t r ng, dung l

ng RAM trong t

ng lai là

không gi i h n ho c l n đ n m c nào đó, đ cho phép không quan tâm đ n đ m hoá n a.
Hi n t i các công trình theo h
I.2.1.3

ng này đang n m trong giai đo n nghiên c u.

i u khi n các giao tác
Giao tác là m t chu i n i ti p các thao tác trên CSDL, và các thao tác đó xem HQT



i dùng trong quan h v i CSDL. D

i m t s đi u khi n t

ng ng vi c

th c thi song song các giao tác đ ng th i c a HQT CSDL, h u nh m i m t trong s các
ng
tr

i dùng c m giác nh h là ng
ng h p đ c bi t, ng

i dùng duy nh t trong HQT CSDL. Ch trong m t s

i dùng m i c m giác r ng còn có nh ng ng

i khác c ng làm vi c

trên HQT CSDL nh mình.
Cùng v i khái ni m đi u khi n các giao tác trong HQT CSDL nhi u ng

i dùng liên

quan đ n các khái ni m r t quan tr ng, đó là khái ni m tu n t hoá (serialization) các giao
tác và khái ni m k ho ch tu n t th c thi h n h p các giao tác. Khái ni m tu n t hoá các
giao tác đ

c hi u là th t hoá k ho ch th c hi n công vi c c a chúng, mà k t qu (hi u

ch có m t ng

i dùng (ho c trong ch đ m t ng

i dùng).

T n t i m t s thu t toán tu n t hoá các giao tác.Trong các HQT CSDL t p trung,
ph bi n nh t là các thu t toán trên n n t ng phong to đ ng b (synch locks) các đ i t

ng

CSDL. Trong quá trình s d ng b t k m t thu t toán tu n t hoá các giao tác nào c ng có
th xu t hi n các xung đ t gi a hai ho c nhi u h n các giao tác theo truy c p đ n các đ i
t

ng c a CSDL. Trong tr

(làm ng

ng h p đó, đ duy trì tính tu n t c n ph i th c hi n rollback

c l i t t c các thay đ i trong CSDL đ

ó là m t trong nh ng tr

ng h p làm cho ng

c th c hi n b i) m t hay nhi u giao tác.
i dùng c a HQT CSDL nhi u ng



i dùng d ng làm vi c vì s c và k t qu là m t giao tác nào đó

d ng l i

tr ng thái ch a hoàn thành. Tr

s c thi t b m m. Khi x y ra tr
qu (nh ng thay đ i) đ

ng trình là k t qu c a m t s c ph n

ng h p đ u có th xem là m t d ng đ c bi t c a

ng h p th hai, c n ph i thanh lý (hu b ) t t c các h u

c t o ra ch b i giao tác đó.

Rõ ràng, trong m i tr

ng h p, đ khôi ph c CSDL c n ph i có nh ng thông tin b

tr nào đó. Nói cách khác, đ duy trì tính tin c y c a vi c l u tr d li u trong CSDL đòi
h i tính d th a trong l u tr d li u, và khi đó, ph n d li u đ
CSDL c n ph i đ

c s d ng đ khôi ph c

c l u tr đ c bi t tin c y. Bi n pháp ph bi n đ duy trì tính d th a d



ng ng v i m t thao tác lu n

lý thay đ i d li u, ví d , thao tác xoá m t dòng t m t b ng c a CSDL quan h ; đôi khi –
thao tác t i thi u đ s a đ i m t trang b nh ngoài; và đôi khi c hai ph
đ

ng pháp trên đ u

c s d ng.
Trong t t c các tr

Log). Chi n l
ph i đ

ng h p, chi n l

c ghi nh t ký tr

c (WAL – Write Ahead

c đó chính là b n ghi v s thay đ i c a b t k đ i t

c c đ nh trong b nh ngoài c a nh t ký, tr

c khi đ i t

ng nào c a CSDL đ u
ng đã đ


ng đã đ

c s a đ i b i các giao tác ch a hoàn thành cho đ n th i đi m x y ra s c , và

có th không có các đ i t

ng đã đ

c s a đ i b i nh ng giao tác hoàn thành tr

đi m x y ra s c nh ng k t qu c a nó trên b nh đ m v n ch a đ

c th i

c c đ nh trong b

nh ngoài. N u tuân theo giao th c WAL, các b n ghi thu c các thao tác s a đ i c a c hai
lo i đ i t

ng đ m b o có m t trong b nh ngoài c a nh t ký. M c đích c a quá trình khôi

ph c sau s c m m là tr ng thái b nh ngoài c a ph n chính c a CSDL, tr ng thái mà s
xu t hi n n u t t c các s a đ i CSDL b i các giao tác đã hoàn thành đ
nh ngoài, và
ch a đ

c c đ nh trong b

tr ng thái đó CSDL không ch a b t c m t d u n nào c a các giao tác



ng,

thì nh t ký không b đánh m t ho c h h i. Và khi đó, công vi c khôi ph c CSDL bao g m:
xu t phát t b n sao l u l u tr c a CSDL th c thi công vi c c a tât c các giao tác đ ã hoàn
t t thành công cho đ n th i đi m x y ra s c . V nguyên t c, c ng có th th c thi công vi c
c a các giao tác ch a hoàn t t và cho phép ti p t c công vi c sau khi k t thúc quá trình khôi
ph c. Tuy nhiên, trong các h th ng th c ti n đi u đó không đ

c th c hi n, b i vì quá trình

khôi ph c CSDL sau s c c ng là quá trình khá lâu dài v m t th i gian.
I.2.1.5 H tr các ngôn ng CSDL
Các ngôn ng đ c bi t đ

c s d ng đ làm vi c v i các CSDL th

các ngôn ng CSDL. Trong các HQT CSDL tr
ch c n ng c a chúng. Th

ng đ

c g i là

c đây duy trì vài ngôn ng chuyên bi t theo

ng phân ra hai ngôn ng - ngôn ng đ nh ngh a l

Schema Definition Language) CSDL và ngôn ng


c l u gi trong các b ng-danh m c đ c bi t, và đ m b o ki m

tra tính nh t quán c a CSDL đ

c di n ra trên c p đ ngôn ng , ngh a là, khi biên d ch các

l nh s a đ i CSDL, trên c s các ràng bu c tính nh t quán CSDL đang có, trình biên d ch
SQL t o ra mã ch

ng trình t

ng ng.

Nguy

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

14


H QU N TR C S D

LI U – B n Nháp 30-08-08

Các l nh đ c bi t c a ngôn ng SQL cho phép đ nh ngh a các khung nh ìn c a CSDL.
Các khung nhìn th c t là các truy v n đ
tên.
đ

i v i ng


b ng thì có đ y đ th m quy n đ làm vi c v i b ng. Trong s các th m quy n đó có c
quy n truy n t t c các th m quy n ho c m t ph n trong đó cho các ng

i dùng khác, k c

quy n trao th m quy n cho ng

i dùng đ

i dùng k ti p. Các th m quy n c a ng

trong các b ng-danh m c đ c bi t. Vi c ki m soát th m quy n đ

c mô t

c duy trì trên c p đ ngôn

ng .
I.2.1.6 Các l i ích khác
Ngoài các ch c n ng chính và c ng là nh ng l i ích trên, HQT CSDL còn mang l i
nh ng l i ích r t l n khác, nh đ m b o s đ c l p d li u, đ m b o truy c p d li u hi u
qu , toàn v n và b o m t d li u, qu n tr và rút ng n th i gian (đ n gi n hoá quá trình) phát
tri n ng d ng.
S đ c l p d li u đ

c hi u là các trình ng d ng c n ph i không ph thu c đ n

m c cao nh t có th vào các chi ti t l u tr và cung ng (representation) d li u. HQT
CSDL cung c p m t khung nhìn tr u t


H QU N TR C S D

LI U – B n Nháp 30-08-08

T p trung hoá quá trình qu n tr d li u có ý ngh a c i thi n h th ng đáng k , khi
nhi u ng
ng

i dùng cùng chia s d li u. Qu n tr d li u cho phép các chuyên gia – nh ng

i hi u đ c tính c a d li u đang đ

c qu n tr và hi u các nhóm ng

i dung khác nhau

s d ng d li u nh th nào, ch u trách nhi m t ch c th hi n d li u nh m nâng cao hi u
qu truy c p thông qua t i thi u hoá s d th a và thi t đ t đúng các tính n ng c a h th ng
l u tr d li u.
Rút ng n th i gian phát tri n ng d ng đ

c hi u thông qua vi c HQT CSDL cung

c p h u h t các ch c n ng quan tr ng trong vi c l u tr , qu n tr và s d ng d li u thay vì
ph i phát tri n t đ u cùng v i trình ng d ng.
M c dù HQT CSDL cung c p nhi u l i ích nh v y, nh ng nó là m t h th ng ph n
m m hoàn thi n đ

c t i u hoá cho nh ng lo i công vi c nh t đ nh nào đó (nh th c thi

trên:

− Qu n tr d li u trong b nh ngoài;
− Qu n tr các b nh đ m RAM;
− Qu n tr các giao tác;
− Ghi nh t ký và khôi ph c CSDL sau s c ;
− Duy trì các ngôn ng CSDL.
m c khái ni m (lu n lý, logic), trong các HQT CSDL quan h hi n đ i có th phân
chia thành ph n bên trong nh t – nhân c a HQT CSDL, g i là DataBase Engine (DBE);
trình biên d ch ngôn ng (th

ng là SQL); phân h h tr th i gian th c thi; và t h p các

ti n ích. Trong vài h th ng, các ph n đó đ
Nguy

c phân chia m t cách rõ ràng, và trong m t s

n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn}

16



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status