Tải bản đầy đủ (.pdf) (217 trang)

Các hệ cơ sở dữ liệu lí thuyết và thực hành tập 1

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (25.77 MB, 217 trang )

HỐTHUÃN (Chú biên)
HÔ CẮM HÁ

Lí T+HuyỂT&
T+^ Ự C

n+H

.»Ố.V ; *

rs;,
♦í^ **♦
,
^

NHA XUẤT BÀN GIÁO DUC


Hồ Thuần (Chủ biên), Hồ cẩm Hà

CÁC HỆ Cơ Sỏ DỮ LIỆU




Lí THUYẾT VÀ THỰC HÀNH
Tập một
( l a i b a n ỉá t ì t l ì ỉ i b a )

NI IÀ XUẤT BÁN GIÁO DỤC



Nhà xuất bản Giáo dục tại TP. Hà Nội giữ quyền công bố tác phẩm.

Mọi tổ chức, cá nhản muốn sử dụng tác phẩm dưới mọi hinh thức phải dược sự dóng ỷ của chủ sở hữu quyén tác gè.
04

20()9/C’XB/408

21I7/G D

Mã sỏ : 7K591li‘)

!). I


LỜI NÓI ĐẨU

rhu' d ủ hiẽĩ, í'íh- lìự ((/ S{ỳ ílữ liệiỉ (lỉự C S D L ì clúiỉ Ỉỉ('ỉi (lìùn \ ủ \ dựỊỉìị ílỉco l út ìỉiô liìnli
ỊỉhiỉỊ t (ỉỊf vù m õ hi/ili ỉỉiạni>. líà Miciỉ hiện vào {^iữíi nliữỉi'^ Ịiãiềi 1900, (ỉượí \eỉti là ĩlỉitộí ĩlỉc
hợ fh ỉ' nìiấỉ i ii(í cúc liợ i/tuifi ỈỈI (()' sõ' iìữ Hệỉi (hệ Q T C S D l.).
'Ịịcịì theo la ĩhé hẹ íhứ lu/i. l ác hệ Q T d ^ D L (Ịiiítíì

.\úy (lựỉỉiỊ theo ỉỉìâ lìiỉìlì (lữ

lỉêii iiiiíỉi liẹ ilo E F . Coíìíi dứ Miủĩ vào ỉiủỉỉỉ 1970.
L(i( hẹ Q T C S D L cỏ ỉtiiỉí tiẽiỉ ĩo i lỉỉíi dừ liệu, íruỴ t ùp và l ạỊ) ỉỉlỉậr ỉilỉữỉiỉĩ kliôi lượỉi^
Iớ fi í Ỹ //('// f}ìộ ! i ú c h

ỉlỉnậỉi lợ i, a n


ĨOÙỊỊ v à l i i ệ i t c/ttii.

f ai íhc hẹ ílúií í áí' hệ Q T C S D L cííĩ (ỈỚỊ) ứ n ^ (ỈKỢi /ỉlìií (■(/// ///// ĩlìập và ĩỏ chức i ú( ílữ
Iịợ u

tiiiiỉi li i íỉ(ỉ í ái .\i ìì\>hiệp và ìò ( ìiih .
'Ịĩi\ ỉihiứỉi, vói rai írỏ ỉiiịàx i àỉììỉ^ to lớn cùa Tin lỉỌi ỉìOỉii^ nlỉiẽií Ỉĩỉili vực khác nlmií iíà

líUn uiy sin/i nltièỉi ứỉii^ ilnỉiíỉ ĩiiới ỉỉotii^ (ỉó I)hâi cỊỉtàỉi li ỉìlìữỉììị (íổi ĩiíợn^ cỏ củii ỉnic' pliứi
rụi) Ị ủn íhiỉì, Ufìì ílianli, hì/ili ànlỉị \'í/ (íộỉì\ị ịcá c í hươn^ Ỉrìỉilỉ, ĩỉiỏ phòỉiịịị và troNiỊ nliữỉii'
ỉuhỉi 1990 (Ííĩ Aỉtúí liiệỉi tìiộỊ thê hệ ĩìiứ ÌHỈ ( íH' hẹ Ọ T C S D L - i á( hệ "liKỚỉì^ dổi ĩưỢỉìKị". cố
kliù

hồ ỉrợ cải ữiỉ^ (lụỉisỉ

pliưoỉii' íiệỉỉ ịĩniilĩÌỊỊìCiliíi ì-

Quá ĩỉ ìnlì pliúĩ ĩriến i iìa các /lệ Q T C S D L dỉíỢc ĩrìtih h()x rất s ơ ìtíợc ớ ĩrcỉỉ riuiì> cíù (lé
clỉo íiáy việi t/ỉfảfỉ ĩrị C S D L (hĩ (ỉi ĩử một íúỉi' íliuỉi^ tỉiủx ỉiìih chnvớn Ììiệĩ (tè írờ ỉhànli NIỘĨ
íliàỉh pliiin ỉntỉi^ fùnì cùa ỉnộĩ nioi íỉ iíùìii^ Ỉỉỉilì ĩoún ìiiựn ílt ỉi.
Chinh vi yậy. viợí- ĩiun^ị hị i ’á( kiếỉi ỉhứi nên ỊÙị ị \* \'i i ih' hệ C S D L í ho {'ác siỉìh viứn à
Ihìc ÌÍỈO (tdniị vù (tại lìọc d ã f ĩ ờ thành /ỈIOÍ p h a n íỊtiiUì troìisị troỉỉiỉ _iìiúo dục và dào tạo vể
kltoíỉlìoc ttìáx ỉinlt.
tVục dich í ùa ^iủo íiÌỊịli " Cái Ììệ í ơ s à (lữ liệu: Li íliu vi'} \’í/ fììựí lìủnli" nhíhỉi ỉrìnlỉ l)ủy
ctH- khái ỉỉiẹỉìì và ĩlìuàĩ ĩoáỉì ( ơ s ờ c iiíỉ (/ỉtản ĩ ỉ ị C S D L h(j(ỉ i^ồĩỉì: íá(\fìiâ liinh d ữ ỉiệii vù iá i
ìit' C>L)L íii'(yn^ ứỉìiị, CÚI ỉì\ịỏfì ìi^ữ C S D l., ĩô c /ỉửi' liíu ỉrữ vủ tìỉìì kichi, \ ử n V() ĩổi ưỉi hóa
i iìỉi lói, lỊiuiỉi lí i^iíỉo íac vù clicn kliien tiíơtìs* ĩrnỉìlì, ỉliicỉ ki' và ( ủi (Íụí
l^'(ỉỉ!íỊ c/ií ú íỉ ì ỉ ỉ h l ĩ i c n S O Í U Ì . ('lỉúỉii^ t ò i ( h ì ( ỉ ự a

í t/í


hệ C S D L .

v à o n ọ i í h n ỉ ^ c h ỉ í ơ Ị ì ^ íf i n l ì i ' ú a i n ỏ f ì h ọ c

liỉệ/i líỉiii' (ỉĩíỢi iịiàfì\ị í/ựv ĩại các ĩntòỉìiị D ại học ĩroiìiị ỉiiùii , dổỉỉi' ĩliòi ( ũtiiỊ i ó

phiiỉỉ

(hỉh nộĩ sô ĩliủnli ỉựií ìììới í iia c ỏ n ^ ỉi^lìệ CSDL. M ộ ĩ sỏ í hươỉii' Ỉrìỉili ỉịiíiỉỊ{Ị (lạy vê CSD L
t ii(j í'ỉỹ: C S / 9 5 (dirợí ỉlỉièì kè cììo cúi sinli viên i h i s ử ílụuíỉ i'(H' hệ CS D L, kliôn^ị ỉìlỉâĩ ĩlìiêí
Ị)híJi cui (íặĩ ỊỊìộí liệ QT C SD L) , CS 245 (lủ ỉìiột ỉỉliập /nó/i i lìo cài dặĩ ffiộĩ hệ QTCSDL),
u ho cúc sinli viên nuiỚN (li sâii \ủo li íliirvêí l úi lỉự C S D L ) , CS34(ì (cíè án cài (Íậí ìỉỌ
Q ỉ C Ỉ U L ',, C S J4 7

/.

yiao túi' vủ C S D L pliiỉ/ỉ ĩáiìì

clỉọnlọi' cúi ỉiội dìin^ dìki \\)o ^iáo ỉrinìỉ.

cíưực i lỉú/ỉi^ tôi thiiỉỉi kháo lỉê


( ỉUÌi) ỉ! inh " i '(H lw I () .\.
ỉ\iỊ> i ỉ i ọ Ị '^Oỉìỉ h i hiioiỉ'^:

ClìỊũyỊi;^ I : Khái i/H(iỉ

\ í' ( í/( //(' C'Sl)L.


CliiứynỊ^ 2: M o hìỉili ílữ lu'H ĩliựi the - licỉi kẽĩ.
M o lii/ili d ữ licii í/iiiỉỉi hẹ vủ C\SDL Í/ÌUỈỈI hự.

( 7///V///^»
( Iiiíoỉr^ 4 :
Clìiíoiì*^

/líỉữSỌ L.
Ị õ í /ỉn\ Viiĩ li i ii(Ị

c

SDL.

Chiừ)'fi*^ (). Xư n và ỉoi If'u lìóii

í

(hi liói.

T( ĩị ) liíỉi ^‘ õỉn 6 i
Clìỉ((ì'fi'^ 7: L i ỉlỉnvcỉ ỉlỉicỉ k c
Chiíơ ir^ S : Q ỉn ìỉỊ li

t (/(■hệ C S D L

c/itíiỉi Ììệ.

rái v ù (lìừỉi k / i ị ẽ ỉ i ĩii'()'fì\ị Ỉ n ỉ ỉ i l i .


C liiùyỉiịỊ 9: ('()’ só’ílữ /lẹiỉ pluni ỉ(hi.
C

K i

c< y S i U l ữ

Chỉ(o'n'^ I I :

(7///V///Í,'

h c ỉi

S ỉi\

(ìiẽỉi.

Co' so' íìữ lỉiUiílõi fií'Ợ/i'^.

12: K ho ilữ licii vủ kliiii lìlid (lữ liệu.

Si/n ỉiiói ( liiùy/ii^ (ĩí'U l ó í í/( p h a n ỈÓỈ/I ỉãỉ cuối ( liiíơỉiiỊ, i àii hói on ỉụp vù l)ài ĨỢỊ) nluhìi
i^iiỉỊ) . s i n h v i ữ ỉ i i ì í h n vữỉĩ'^ Ị il ỉữỉi;^ ỉ i ộ ỉ íli uií ^ c h i ỉ i l i ( l i í ỉ í ừ i i í Ị i h i t ơ n ^ v ù ĩiC k i ế í ì i íì iỉ Ỉ r ì ỉ i l i ( l ộ í ỉiiJ
I lỉi/ili

ỉN Ìỉili

Í///Í/


Vỉtu

ị^iíỉi

l á i

h í i i ĨỤ Ị).

C(h i
1 . 2. J, 4, 5. (S. Ì2'íl() TS. H ô Cíỉỉỉỉ H à viOí. P h à n còn lai iìo P(ĩS IS.
H o Thiiãỉì (ỉíÌỊti nliiựỉỉi.
Sif' p ỉi dỉ i, íOỉi'^ ỉ r c n ỈỈIIÙ
iliỉ'(/c i'(ií

rái

ilcH

” /(/ l ì à / i l)(U . í l u ỉ o l n u n d c (ÌI ĩ ớ i í l i õ n ị Ị /il ii i í.

Tiíy (l(J ÌÙỊ cỏ
V kĩờỉi (ló n ^

SIÍ í lìỉ ơ ÌÌÌUV i hí Ì Ị) h i i í VI n ó i ( l n n ự ( iỉ(ỉ ỉ i Oi ỉ’ í h ỉ í o n i ’ Niiií

Ììọ sủi li i hủi í hãn í òìĩ có ỉi/iữỉỉỉ^ ỉliiớii sóỉ. Ríỉỉ ỈNO/ỈÍ^ nhận íỉỉùh ((/(

' ^ ÓỊ ) t i i i ỉ d ộ i

S ú í h l ỉ ù (Ỉỉt'ọ\- T S


v/í/ d i' ỉ r o t r ^ l(ỉfỉ t ú i ìh ỉH

h ộ sáí h sè(íư ọx

h o ù ỉ ì i l i ì ỉ ỉ h lư)'/L

Ni^ô Aỉhh T u x e ĩ Ì ì ic ỉt ĨÚỊ) v ớ i ỈÌIỘĨ L h á t liíoní^ I â f t ó t :

í ííí

Ị ) h ú ĩ l i i c ỉ i Mỉí

S()ỉ ( lnỉili Ằííi , ( í/í' [Ịợi V ( Imilỉ sửíỉ ỉnili tí\ hợp /i, (íà i^lnp cho i n õ n sách ( ii(ỉ ihúềỉ'^ tỏi íiúìilì
(liiỢí ỉỉhíúio loi khoỉì'^ í/í///,í,' i ó. Nluỉỉi ílịp //í/v A/// (lii'Ợ( {^1(1 ĩới TS. Ní^ỏ Áỉih Tiixcĩ nliữn*^ lời
í í/'///

Oỉt í l i a ỉ i í l i ủ ỉ i l i ỉ i I k Ì í .

H à n ộ i r liá /iỊ^ 7 //(//// 2 (H )4
C á c tá c g ià


CHƯ(]iN(ỉ 1.

KHẢI Q U Á T VẾ CÁC HỆ

co sỏ

DỬ LIÊU


Chudìiịĩ Iià\ tniili bàv khái qiiál \ c các nuiiycn lí cua các liệ CO’ S(V clữ liệu {CSDL). Đaii
íicn khái niộĩu hệ c ơ sơ dữ liệu đươc eiới ihiộii. Nội duiiti cua khái uiệMiì Iiàv đê cập đòn
n i ò t í â p ịu rp c ấ c d i ì l i ệ u c ó l i ê n Ljuan đ è n n l i au dLiỢc l ư u n ữ v à d ư ợ c k h a i i h á c n l i ờ n i õ l h ệ
l l i õn i i cliưíyiig í r ì n h (í!ọi là hộ t | u a n Irị c ơ s ơ d ữ l i ệ u ) . C á c h ộ C S D L d ư ự c i h i ế l k è d ê q u à n lí
n l i ữ n u k h ò i hrợiiíi í h ò ĩ ìi : lin lớiì. V i ộ c qLKÌii lí clữ l i ệ u h a o u ổi ì ì d ị ĩ ì h Ii el ì ĩa c á c c ấ u t r ú c c h o

việc lưu Irữ ihỏiìu liii cLÌni: như CLiniĩ Ciíp các cơ chê cho việc lliao tác thông liii. Ngoài ra. hệ
C \ SD L plìai d a m h a o a n t o à n clìc) c á c í l i ò n u liiì đ ư ơ c l ư u liĩr I r o i m l i ư ờ n u liítp hộ Ỉhốỉii: c ó s ự

co ìurÃc C(') nliữim Iruy c:ip cõ V kliõnu được phép. Nếu dử liệu là chia sè clio nhicii nưười
clùni:, h ệ p h a i t r á n l ì d ư ợ c ĩ i h ữ n í : k c t q u a dị llìirờiig c ó llìè x a y ra. K i ẽ n I m c b a n u r c c ù a n i ò l h ệ
C(y s ơ d ữ l i ệ u d ã I h e h iội i c á c ĩ iiức iriru lircyiiu k h i n h ì n Iiliận d ữ l i ệ u . Đ i c i i d ó c l ì o c l i ú n i i la

ihấy rãnu: nuic đích ciia Iiiộl hệ cơ S(y dữ liệu là uiái plìóiig da sò n<:ười dùim kliỏi sự Cịuaii
l â m ciii liòt vé l ư u i r ữ v à h; io !rì ciữ l i ệ u . T ư o ì ì u ứ nt i với c á c l ì ìức t r ừ u l ư ợ n i : d ó , c h ư o i m n à y đ c
c ậ p clcn k h á i l ì iệ n i c á c lirợc đ ổ n u o à i , l ư ợ c d ỏ k lì ái I i i ện ì , l ư ợ c d ổ i r o i m , d ù n g đ ế n i ỏ l á b a

mức ỉliiõl kế niỏí ca su’ dữ liẹii. và các lliuậl nuữ vc tínli dộc lập dữ liệu. Phán trình bày các
kicii thức L'ơ ban vc hệ quan irị cơ sơ tlữ liệu (DĨ3MS) sẽ lập trung vào nhữim chức nâng và
í l i a n h ọ h m c h ú \'CU c u a n ó . T r u n u c h ư o n u n à y , c á c \ a i I r ò k h á c n h a u c u a c o n n e i r ờ i troníZ s ụ

IƯOÌIU tác V(VÌ !ÌÌỌỈ hệ cơ

SO’

dử liộii cùnu được clẽ cập. Plián cuối chianiu sẽ uiới thiệu một sỏ

c a c l ì l i c p c ặ n t r o n g v ị ộ c m ỏ hìiilì h ó a Iiiộl c ơ s o t l ữ l iệu.


1.1. C SD L là gì ? Tại sao cần tói cá c hệ C S D L ?
lYirớc kliì các hộ C SD L ra đời (khoaim dẩu nhữnu luìni 60), Iiìỏị chUDìiy uìnli ứng dụiìg
t i ê u c ó i n ộ l t ệ p d ữ l i ệ u t ư ơ n g ứ ní : v à m ỗ i k h i c h i n r n u i n n l ì ứ i m d ụ n u c ầ n d ư ợ c s ử a d ổ i h o ạ c
n i ớ r ộ n g ihỉ t ệ p d ữ l i ệ u t i i ơ n g ứ n g c Q n g p h à ì t h a y d ổ i i h c o . V i ệ c l ư u e i ử l l ì ỏ n g ri n c ù a ĩ ìiộl

to chức tron^ mỏl hò \ ứ lí Icp nh ư vậy (Ihirờng hờ n;'i\ tlưov hỗ ỉ n i htVi inôt hộ điểu li:'uìh
I i u y c i ì l l ì ỏ n u ) c ó n l i ữ n u n l i ư ợ c d i ế i ì ì c l i í n h nl nr s a u :



Dir ỉliừi/ (lử liẹii Vi) khòỉiỊị nhấí í/iián ị\'i cùnu niỏl d ữ liệ'11 có llic clirợc lưu trư trony
n h ic ư



tệp

k h á c

ĩìh a u ;

k h i

tiê n

lià n h

c á p

lìlìậỉ


c ó

ih c

b o

S( ' ) t \ à

d ẫ ĩi

lớ i

k lìo n g

n liàt

q u á n );

K hó klìăii //YÍ//X' vicc íruy i ập ilừ Hựỉi (\ì các mòi ínrờni: xử lí-lệp Iriiycn lliỏng không
Vlìo phép dữ liệu dược tìni kiôni theo cách lliức tlmậii liộii \ à hiệu quà);



Sự cỏ lạp i ùíỉ (lừ liựỉí (vì dữ liộu nãni rài rác Irone nhicii tệp và các lộp có ihô có khuôn
dại i ii k h á c n l i a u , n ó n k h ó v i ế t c á c c h ư o n u t r ì n h ứ n i : d ụ i m n i ớ i đ ế ('im c á c d ữ l i ệ u t h í c h
hơp);




Cúí vân

(lẽ

ĩoủíì

VỰỊ Ị

(v'ỉ khi có thêm những rànu buộc mới, kh ó ihay đổi các chương

Iriiìh d ò c ó t h ê iLiãii l lìú c l u í i i g ) ;



Củi vủ)i (ỉc

ĩíìili ỉìi^iíyẽỉi ĩỏ í ùíỉ í í/c ^iao Ĩ(U (vì với hệ xứ lí tệp im y é n ihõnu khó có

thò d a m b a o đ ư ợ c t ínli c h à i " h o ặ c ! h ự c h i ệ n h o à n t o à n h o ặ c k h ô n g i h ự c h i ệ n g ì " v à k l ì ó

dưa dươc hệ ihố ne trơ \'C Iriiim Iháì Iihãì qiuíiì iruớc klii xáy ra sự cố);




Các ilị tlutòiiư, I liii li iiv ( ập ti(ơn\ị tiLiiili (vì dò tãim línli hiệu quá và liá lời nhanh I lún.
n h ic ii

h ệ


th ô n g

c h o

p h c p

n h ic ii

Iiiiirừi

clìiim c ạ p

n h ậ l

d ữ

liệ u

đ ổ i m

tliời

v ;'i

Iilnr

\ ạ v




thể dẫn dến dữ liệu khỏng nhát quán);


Cúc ván (ìê (III tơủii. 'ĩliirờ n g thì m ỗ i im ười d ù n e ciui hộ C \ S D L c lii d ư ơ c pliép ir u ) cap
một phấn cùa CSDL và diểu dó cũnc là một biện pháp giữ cho dữ liệu troiig CSDL đarơc
an toàn. Còn với hệ xử lí-lệp truycn thống, các chưmig tiìiiii i'mg dụng được llicni \ à() nệ
thòng Ihco một cách thức khỏiig ticii liệu irirớc nên ràì khó đá m báo dirợc các ràrm
an toàn như vậy.
Các hệ CSDL ra đời n hằ m giái quyết những vân đc nêu trên.
M ộ t c ơ s ở d ữ liệu ịC SD L) lủ m ột tập liợ]) ( (/(■ cỉữ liỌti có Hên C/Iiun rói nhau ( Inhi t h ỏ ì i ’

tin

một tó c hức nào (ỉó ịnliư Diột trifờni' cíụi học, một niỊíht liàiií’ . lỉiộr l ón^ ti. một Iiiià

inúy,...), dược hù! trữ trên CiU thiết hị n h ớ thử l úp Ịiihư hủuiỊ từ, (tĩu từ ... j dé dỚỊ) ứ/iiị 11:111
I IỈII khai thác íliỏiiiỊ tin l íui nhiêu ỉiiỊười sửcliiiií; với Iiliiứn HIIỊC (ỉidì khái' nhau.
Trong cách hiếu trên, trước hết CSDL phái phán ánh thông tin vổ hoại độ ng cùa m ờ t tổ
chức nhất định, nghĩa là biếu thị một “ g ó c ” ciia thế giới thực (tạm gọi là một thế giới n ho).
Như vậy CSDL cũ ng phái phản ánh được nĩột cách Irung thực sự thay đổi của thê giới m ỏ
đó, nó phải là một tập hợp các thông tin mang tính hệ thống chứ kh ô ng thc !à một tạp híp
dữ liệu tùy tiện chứa những thông tin rời rạc khởng có mỏi quan hệ với nhau, Tliòng tin Iru
trữ trong CSDL được chia sc cho nhiều người sử dụng và nhiều ứng dụng khác nhau. T i i ió
có thế thấy việc xây dựng và khai thác m ộ t CSDL liên quan dến một số vâìi đé như dam bio
lính nhất quán và toàn vẹn dữ liệu, tính bảo mạt và quyền khai thác thôn g tin của ngưcíi ur
dụng, tính an toàn cho dữ liệu khi xày ra sự cô nào dó...
Phần ỉnêni cho phép ìiiỊiứ/i (líiiiíỊ iỊÌao riẽị) với CSDL, I UIÌÌJ l âp niộr inòi trườHỊị thuận lợi 'ủ
hiệu cỊiui dè tìm kiếm vù liiìt trữ tliớiiỊj tin cíni CSDL âược ịịọi lủ hệ q u ả n trị Crt s à d ừ liệu ( lệ
Q ĨC SD U
Người ta thường dùng thuật ngữ hệ cơ sở dữ liệu dc chi niột C SD L cùntỊ với 1C

QTCS DL dế truy cập CSDL đó. Mục dích chính ciia một hệ C SD L là ciiiig cấp cho Ii;2 iời
dùng m ột cách Iiliìii trừu tượnịị vé dữ liệu. Điều dó có nghĩa là hệ ihốiig che dấu n h ữ n g (lii
tiết phức tạp vể cách thức dữ liệu được kai trữ và báo Irì. Chính vì vậy, trong cuộc sông hbn
dại ngàv nay. việc sử dụng các CSDL trớ ncn phổ biến, quen thuộc dcn nỗi nliiéu lúc c h ú ig
ta coi đó là điều tự nhiôn. Khi đến thư viện tìm mưtAi sách, nhờ m á y tính, íl lìhâì clníi Igta
có thê biết dirực thông tin chi tiết về sách cùa thư viện, thông tin vổ sách đã có nuười ,vp
hàng đặt mirợii,... Khi chúng ta muốn đặt chỗ cho chuyến bay sap tứi cú a rnìtih, Iihủn vèn
dại lí bán vé hàng không sẽ nhanh chóng c u n s cấp những thông tin cần thiết giúp chiíriịỊta
có thế quyết định chọn chuyến bay để đãng kí và họ cũng sẽ ghi nhận sự đăng kí cỉia c hú ig
ta như một thông tin cập nhật vào tập hợp dữ liệu được lưu trữ. Sự phát tricn mạ nh mẽ cia
Internet ờ thập kỉ cuối của thế kỉ 20 đã làm số người truy nhập và khai thác thòng lin tiroig
các cơ sở dữ liệu tăng lôn rất nhanh chóng. Với các giao diện W c b , người ta có thể d ă n g k í
các khóa học ở một trường dại học, có thê* xem sỏ dư trong tài khoán c ùa mình ờ niột ngìn
hàng, có thê’ tìm hiếu chi tiết về một mặt hàng nào dó, ... C àng ngày việc truy xuất th òn g in


tri)iitz cá c C(í sớ dữ liẹu càiig trừ thành m ột bộ phận thiêì yếu trong c u ộ c sdiig ciia m ỗi người.

V'| nhiẽii ngirời sử dụng CSDL khòiig thuộc giới chuyên tin, Iihữiig người phát tricn hệ thống
dã d i c dấu khỏng clio người dùng biết sự phức tạp đó thông qua nliiéu mức trìni xiiãì, nhằm
làm ckrn gián nhĩnig lưcTiig tác của người dùng với hệ thống.

1.2. Kiên trúc ba mức của một hệ CSD L
'llicd ANSI-SPARC (American National Standarcỉs Institute - Standards Planning and
RccỊiiirciiicnls ConiniiHcc: Viện tiêu chuấn quốc gia Mỹ - Uý ban nhu cầu và kê hoạch Mỹ)
có 3 mức biêu diẻn một CSDL:


M ứ c vạt lí (còn gọi là mức trong). Mức trừu xuất thấp nhất này m o tá dữ liệu được
thực sự lưu trữ Iihư thế nào trong CSDL. Đ â y là mức thê hiện các cài đạt có tính chất

\ ạ l lí cùa C SD L đế cỉat được tối ưii trong các lần thực hiện các thao tác tlm kiếm và lưu
trữ, dê lận dụng dược các vùng nhớ còn trống. Mức vật lí cũng là mức phán ánh các
câu trúc dữ liệu, các lổ chức tệp được dùng c h o việc lưu trữ dữ liệu trên các thiết bị
nh ớ tliứ cấp. Điéu dó cũng có nghĩa là mức này tiếp xúc với các phương thức truy nhập
cua hệ điểu hành đế đặt dữ liệu vào các thiết bị nhớ, xây dựng các tập chi Tiiục, truy
xuất dữ liẹii, V..V., liên quan đến các vân đề như sự cấp phát vùng nhớ cho dữ liệu và
các chi muc, các inỏ tá báii ghi đế lưu trữ, các kĩ thuật nén dữ liệu và giái ni3 dữ liệu.



M ứ c loỊỉic (còn gọi là mức khái niệm). Đây là mức m ỏ tá những dữ liệu nào được lưu
trữ trong C SD L và có những mối quan hệ nào giữa chúng. Nói một cách cụ thế hơn,
mức logic biếu ciiẻn các thực thè (trong thế giới nhỏ), các thuộc tính và các mối quan
hệ tỉiữa các thực thc dó; niức logic cũng cho thây các ràng buộc trên dữ liệu, các thồng
tin vè ngữ nghĩa ciia dữ liệu, ciíc thòng tin vể an ninh và toàn vẹn cúa dữ liệu. Tuy
Iiliiêii mức Irừii xuất này chi quan lâm đến cái gì được iưu trữ trong CSDL chứ không
quan tâm dên cách thức dế lưu trữ.

Hình 1.1. Ba niứi của s ự trừiị xiníí (lữ liệii

M ứ c khung nhìn (còn gọi là mức ngoài). Mức trừu xuất cao nhất này m ô tá chỉ một
phần cua toàn bộ CSDL, phần thích hợp với một người SỪ dụng nhất định. Mức ngoài
gổiii niòi số khung nhìn khác nhau của những người sử dụ ng đặt vào CSDL. Mỗi người
(iìiiit: có thế không (.|iian làm đến toàn bộ thòng tin của hệ C SD L mà chi cần một phần


thỏnt! tin íiào dó. ll ọ c ó lììõl cách iilVm thó iziới nỉu) llico kiêu uaii i:ũi \ à pliù hơp
ho. Khunu nhìn ciàiih c h o nuười sư duiií: d() chi uỏni Iihữnn íliirc llìẽ cìiiit: nliữiii: !hii( >c
tíiih. nlìữnu ĩiiõi quan liệ cua lìhứiìí: lliực íhc 111,1 ho C|uan íain. (Yic khuiiu nliin kli;ác
I i h a i i c ũ n í i c ó l l i c I r ì i ì l i h à y c ù n n I i i ộ l c lữ liọ u n l u n i u ()■ n h ử n i : k h i i o n c l a i ì i : k h ; i e n ỉu iu




dụ Iigười sử dụng nà) có llìẽ nhìn ihãy llìõim lin nuiì) llico kiêu (ỉiuày, iháni:. Iiiini) c o n
niiười sư dụny khác lai ơ kicu (năm. lliáiii:, lìuày). Môl số kliuiìu Iihìn C('> llìõ chứa c;ic
dữ liêu suy dẫn ra cUrơc hav lính toán dươc. nlnìnu dữ liêu nà \ vốn khònu đươc ihiiv s ư
lưu trữ Iroiig CSDL nhưng đirợc tạo ra klii cán đòn.
rỏ m lại. niírc khung nhìn là cách cãni nhạn cua nmrời tỉùiig vẽ dữ liộii, Iiiức vát lí là
cách cám nhặn cùa hệ Ọ T C S D L và liệ diổu hành vc dữ liọu. Mức logic Iiani uiữa niiíc
khung nhìn và mức vật lí, có thó coi dày là cách cám nlián cua toàn tlic cỏiig don*; nuiiàíi
dùnu vé dữ liệu. Tại mức logic tổn lại cá liai ánh \ ạ ticn liai mức CÒII lại. lạo ncn niộl s ư í l o c
lập dối với nhau cua hai niức dó.
Có tlic thâv mục đích cua kiên trúc ba Iiiức nêu tròn chínli là sự tách hiẹt qiiiin niem
CSDL ciia nhiều người sử dụ n g với nhữni’ chi tiòt biẽii ciiẻn vé Viit lí cùa C'SDi,. Dicu đ(í
dẫn dêìi nhữim thuận lợi sau:


Đòi vứi một CSDL. mỏi nmrừi dùng có một khiiní: nhìn riẽniỉ cùa mình. Họ có ihê ih;i\
dổi kliiini: nhìn ciia họ và sự thay dổi này không làm áiih hương (lên những khmii; Iili III
dữ liệu ciia nliữiig ngưừi dìiiii: khác claiii: dìiiiii cluiMu CSDl. này.



Những tương tác cùa người dìini! với CSDL klióii” phụ thuộc vào những VĨÍM clc clii licl
trong lirii I r ữ d ữ liẹu (chắng liạii như vâìi de chi mục lióa hay báng ham).



Người quán trị CSDL (Database Admiiiislrator. thường viêt và cọi lat là DBA) co ihc
thay đổi cấu Irúc lưu trữ của CSDL nià kliỏni: làm anli liươiie đèn nliữiiti kliiiiig Iiliiii

cua người sư dụne.



Những lliay tlổi vc khía cạnli vật lí Iroim lưu mr. chaiig liạii Iihư lliay nioi iliici bi nhi)
lliứ câp niới, có Ihc khỏiii: làm ánh hưcViig dõìi càu tMÍc hèn Iroiiu cu;i CSDL.



Người quán trị CSDL (DBA) có llic ihay dổi càu Irúc tổni’ C|iiát hay câu lnk' kluii nicni
CIUI CSDL Iiià khòng làm ánh luuTng ilõn lãt ca người dùiiii.

1.3. Lược đồ và thể hiện của CSD L
Toàn bộ mỏ ta CSDL được gọi là lược đ ỏ C S D L (datahasc schciiia). Tưotng ứiig với ha
mức Irừu xuât dữ liệu nói trên có ba loại lược dồ. ơ mức cao Iitiál chúiiiỊ t;i có Iihicii lươc dỏ
ngoài (c ò n gọi là lược đ ổ c o n ) c h o những cách nhìn dữ liệu khác nhau c ù a Iihững tigirời sử

dụng khác nhau, ỏ mức logic c h ú n g la có lược dó logic. ớ mức thấp nhât chúim la C() lươc
đồ vật lí, Tliường thì các hệ C SD L hố trợ niột lược dồ vật lí. một lược dỏ logic và nliiòii lưoc
dồ cơn.
Một dicii ràt quan trọng là cần phàn biệt mỏ tá cua CSDL (tức là lươc đỏ CSDL) với hilii
ihàn CSDL. Lược dồ dược xác dịnh trong quá Irình tliiết kc CSDL và Iigirừi la khong niuòn
nó Ihay dổi tluròiig xuyên. Tro ng klii cló bàn lliàn C'SDL sẽ thav đổi theo thời gian do ciữ


licii dưiíc tlìciìi \ ài), \ ó a di lìav sửa tlói. 'Voì\n bõ d ũ liêu Urii Irữ íKìim (\SD1, lai IIIỎI lliời
cliõni nlial clỊiih đươc izoi là Iiìôl ĩlii’ liiẹn cii;t CSDI. (datahase insliincc). Mi ư vậy nhicu thè
hicn cua (\SDl. C('> tlìc Uĩơun ứnt: V(jíi CÙIÌU mót iư(yc clõ ('S i) L. Đôi klũ \uơc dô còn tlươc uoi
là ỈIO Ỉ l i ủ ỉ ỉ ỉ { i n i c n s i o n ) c ú a C'SDL và n i ộ i i h ẽ l ìi ẹn còn dược goi là t n ộ l ỉN ii' rộ ỉỉĩ^ hay ni ỏl
t ỉy Ịii:


ĩliiỉi ( c x l c n s i o i ì l i ay s l a t c ) c ú a ( ' S D L .

Kluuii: nliìiì
M aN\'

Mức

Kluinu nliìn 2
'ị\\o\

liodciiỉ'I'cii

M aN V

M aNV

Liỉoiìu

Hoclcni

ren

'ĨCII

Neay_sinh Liioiie

Ma__clii_nhanh

Ma_chi_iìhaiih


loilic


strucl

inl

N H A N V I Ỉ

M a N \

ini M a

chai

N i

;

clii

nhanh:

! h u Ì L M i i l 1 5 1;

cliai

I c n | 1 5 1;


M ứ c

\a i lí

^liuct đ a lc

N u ay

suih;

ll(ìJt l . u o n u :
slru cí

im ỉc x

N iÌ A N A

N ía N V :

íl

U ìd cx

N

*tt>n ÌĨ O đ c ii hiin

M a

CỈÌI


nhanh:

* \ á c

ulìj

ilô Ịi f ú a

tlinlì c á c

ch í

i c Ị ì N I 1A \ \ ' Ỉ Ỉ : N *

n u ic

ch o

t ộ p N Ỉ I A N \ ‘ Ĩ 1: N

Ỉliỉilỉ 12 . Vi (hi vi‘ ( ú( liíỢí (íồ

1.4. Sự độc lập của dữ liệu
Cỏ iliẽ nói mỏl cách khác vé mục dích cùa kiến trúc ba mức cua CSDL mà chúng ta dã
lừni: Iiiiạn \él {ờ niiic 1.2). Đ ó là sự dộc lập dữ liệu (ciata indcpcnclcncc), hicu theo nshĩa
uíc lược dổ ờ mức trôn khóiig bị ánh hường khi có sự thay dổi các lược clổ (Vcác Iiiức dưới.
Có liai loại dộc lập tiữ liẹii:



Đoc láp dữ liệu vẠl lí là kha nãiiíỉ sửa đổi lược đổ vậi lí inà khỏng làm thay dổi lược dồ
kliái Iiiciii và Iihir vạy cĩirii! khóng dời hỏi viết lại các trình ihig dụng. Đc tăng tính hiệu


quá, nhicu khi cần có nhữiig thay dổi ớ mức vật lí, Cháng liạii như sử d ụng các lổ cliưc tẹp
khác trước, dừnc tliiết hị nhớ khác, tliay dổi các chi mục hay thay dổi ihuậl toán hăm.
Độc lập dữ iiệu logic là khà năng sửa dổi lược dổ logic mà kh ông làm thay dổi các
khung nhìn (các lược đồ ngoài), cũng có nghĩa là khỏng đòi hỏi viết lại các trình líiig
dụng. Các sừa đổi ờ mức logic là gần thiết mỗi khi cấu trúc logic cù a CSDL cầii P ' h á i
thay đổi, chảng hạn cần thêm hay bớt các thực thế nào đó, các thuộc tính hay các rnối
quan hệ của chúng. DT nhiên những người dừng có chạm đến những thông tiii dã thạy dổi
này sẽ được thông báo vổ sự thay đối nliinig điổu quan trọng là nhCnig người dùng kíiác
sẽ không bị ảnh hường gì.

Hìììh J .3. Độc lập ilữliệii với kiến trúc ha mức Á N S l - S P A R C
Độc lập dữ liệu logic khó thực hiện hoìi độc lập dữ liệu vật lí vì các chirmig trình ừng
dụng phụ thuộc nhiéu vào cấu trúc logic cùa dữ liệu mà chúng truy cập.
Khái niệm độc ụ»p dữ liệu trong nhicu mặt iưong lự với khái niệ m kiêu tlữ liệii tì ừi
rượniỊ trong các ngôn ngữ lập trình hiện dại. Cá hai đểu dấu nsười dù n g những chi tici cai
đặt, c h o phép người d ù n g tập trung vào câu trúc c h u n g h(5fn là tập trung v à o c á c chi tict Cíi

đặl ớ mức thâp.

1.5. Nhũtig cách tiếp cận một CSD L
Trên thực tế, một lược đồ được viết trong ngôn ngữ định nghĩa dữ liệu ciia một hệ quán fị
CSDL cụ thể. Để m ó tá các yêu cầu dữ liệu cùa một tổ chức sao cho m ô tã đó dề hicu đối vci
nhiều người sử dụng khác nhau thì ngôn ngữ này lại à mức quá thấp. Như vậy cần phái cí
^nột m ỏ tá lược đồ ở mức cao hơn, nói cách khác cán phủi có một mô hình d ữ liệu.
M ỏ liìiili (lữ liệu lủ m ộ t tập các khái niệm và ki p h á p clíiiìiỊ (íẽ /ÌIÓ tả ilữ liệu, ( áí nnd
quan hệ n i a d ữ li ệ u. l úc ràiiiị hitộ( trên ílữ liệii cùa m ột tô ( liứi .

Như vậy có thê xem như một m ô hình dữ liệu có ba thành phần;

10



phần mò tá cấu trúc của CSDL;



phần m ò tả các thao tác, định nghĩa các phép toán được phép trên d ữ liệu;




phấn niỏ t;i các ràng buộc toàn vẹn đế dá m báo sự chính xác ciia dữ liệu.

Klii dìing m ỏ hình dữ liệu chúng ta có tlic bicu diền dữ iiệii tlico một cách dẻ hiểu và vì
vậy niỏ hình cũim đươc sử dung trong việc thiết kê CSDl..
t) ã có nliicii niỏ hình dữ liệu đưực dề xuất và có thế chia Ihàiih ba nhóm: mỏ hình (dữ
liệu) logic trên cư sở đối tượng, mô hình (dữ liệu) logic trên cư sớ bán ghi và m ò hình (dữ
liệu) vật lí. Các m ô hình iogic tập Irung vào bán chất logic của bièu diễn dữ liệu, tập trung
\'ào cái dưưc biêu diẻn trong CSDL, CÒ!1 được gọi là các mô hình dữ liệu bậc cao. Các mò
hình vật lí tập trung vào nhĩmg chi tiết cho biết dữ liệu được liru trữ thè nào, còn được gọi là
các m o hình dữ liệu bậc tháp.
1.5.1.

( ’ác m ò hìn h loịỉic trên cư sử đôi tưựnịỉ (Object-FỊased Data M odels)

Các m ô hình thuộc Iihóni này được dùng trong việc m ò tá dữ liệu ớ các mức logic và

khiiniỉ nhìn. C h ú n g được đặc irưng ớ chỗ cung cấp các khá năng cấu trúc rất m ề m dẻo và
cho phép các ràng huộc dược dặc tá một cách tường minh. Các m ó hình logic trên cư sở đối
tượng hay dirơc nói dến là ;


Mô hìnli thực thể - mối quan hệ



M ò h ì n h h i r á i g đ ố i tượtig;



Mỏ hình clữ liệu ngữ ngliĩa;



Mò hìiih d ữ liệu chức năng.

Sau dây ta sẽ điế m qua hai niô hình phổ biến trong nhóm m ô hình này: m ồ hình thực
iriế - mòi Cịuun hệ và m ò hình Inrcýng đối tượng.

Ỉ.5.Ỉ.I. M ô hình thực thè - mối quan hệ
Mò liình nàv dưực xây dựng dựa trên nhận thức rằng thê giới thực mà chúng ta muốn
phàn ánh là một tập hcyp các đối tượiig cơ sở và các mồi quan hệ (còn gọi là liên kết) giữa
ihímg. Các m ò hình loại này dùng các khái niệm “ thực thế” (cntity-E) và “mối quan hệ”
(relationship-R). ITiực thế là một “ vật" tốn tại. phân biệt được với các “ vật” khác, nó có
n ộ t sư tổn tại độc lâp. Một thực thế có thc !à một vật cụ thô (như một cá nhân, một quyến
íácli, một mặt hàng,...), có thê là một vặt trừu iưtmg (như một tổ chúc, một dự án. một mòn
t-iỌc,...). Mội mối quan hệ thè hiện một liên kết giữa nhiéu thực thế. Chẳng hạn mối quan

hệ “ người mư m i" lién kết một người với một quyến sách người đó mượii. Tập tất cá các
tliực thê thuộc cù n g một kiêu, và tập tất cá các mối quan hệ thuộc cù ng một kiôu theo thứ
!ự được gọi là rập thực thê \ ầ tập tììối quan hệ. C ù n g với các thực thê và các mối quan hệ,
n ò hình thực thế - mối quan hệ (viêì tắt là E-R) còn biểu (liền một sô' ràng buộc mà dữ liệu
r o n g CSDL phái tuân thủ. Một ràng buộc quan trọng là các hãn s ố (lực ỉt{ợuị>) của ủiili xạ.
biểu thị số các. thực thế được liên kết với một thực thê khác thông qua một tập mối quan hệ.
Cáu trúc logic tổng thế của một CSDL có ihê được biêu thị bới một hiêií đ ồ E-R, được
h à n h lập từ các thành phần sau:
Còn

ìà ttìô lùỉili ỉhựt íiìê - ìién ké!
11




C'úí lỉinli (h ữ nliạỉ, hicu tiien các tàp thực íhé:



( 'í/í Ititỉli elÌỊ). biẽu clièiì các ihuỏc tính;



í'ái hinli ĩh()i\ hicii íliẽn các lìiối cỊiian hệ eiữa các'



tập ihirc


tlic;

Cái ilỉCòii^. nối các thuộc ííiiii \ới các iâp íliực llìc và các íập llìực ihc với các iTói
quan hệ.
Mỏi Ihành phán tlcu cỏ lìhãn là thực tlic hay Iiiòi quan Iiộ inà nó biõii clien.Đc minh h(ì>ạ. la

\é l

một phaii cùa hệ C'SDL nuàii hàim Hổm vá c khácli

hàng và

ỉihữni’lài klioàn inà lic):ó

(H. 1.4).

Ỉíiỉìlì 1.4. Xíộỉ lìieii (íó E-R don ^ì(hi

L 5 , 1 .2 , M ó h ì n h h ư ớ n g đ ó i t ư ợ ĩiỊỉ

Giống với m ỏ hình I>R. inõ hìnlì liướne dói tươim dựa irèn c ơ sơ niỏl hộ sưii iẬp các (hi
íirợiig. Mộ( đối urợiig chứa các ỉlỉiỉội Ỉiỉili dươc lưu uĩr ironu các hicN íhc hiựn íiỉisídỉỉi ('
VíỉriiỉhlcsỊ ơ hôn trong dối lưựng. Mòt dổi tưínm CÒIÌ chứa các

phan Iiìà thao tác trõn (.1)1

tượne. Các phán Iiìà dó được gọi là các ỊìlìKơỉỉ'^ ĩliức fi)lỉif'ơỉtỉ> pliúi)).
Các dối iượng chứa cùỉìg các kiếu ĩltnội rinh và c ù n e các plurơniĩ thức như lìliaii chưcc
nhóm thành các ló]). Một lớp có ihc dược XCỈÌI nliư Iiìộl dịiìh nuhĩa kicu clio các dôi iươrn!.
Sự tổ hiTp dó cùa dữ liệu và phư(.Tng pháp làm lliành một định nuhĩa kicii có sự íưtTiìg tư vri

kicLi dữ liệu trừu tưinig cũa một ngôn nuữ lập íiinh.
Chi có một cách Ihco dó inộl đối lượng có thc truy c ạ p d ữ iiệu cũa mộ! đối ìiMMi klhic
là gọi tới một phirơiìg Ihức của đổi ur(Ịfiig khác dó. Hàn h độiig này dươc goi là i^iii Wì>ĩ
ĩhôìì^ háo tứi đối tưiĩiìg. Như vậy, giao diện cúa các phưưim thức cíia ĩìiòt đối iượiìí’ điịilì
nghía phán nhìn Ihấy từ bcii ngoài cùa đối urựng. Plìán bèn Irong cua đòi tircyiìg - các b>iui
ihc hiẹn và mà của phương tliức - là khòng tliay đươc lừ bẽii lìíioài. Kết t|uâ là cỏ hai niitc
trừu xuál dữ liệu.
12


Đc minli lu)ii. la hãy XÓI inól đối uroiie bicu clÌL'11 inộl lài klKKiM cu;i n ” áii hàne. Mot di)i
iươii;j Iihir vậv cliứa các hicn lliê hiện só liiựii túi klìiHÌii (Nó chứa mót plìuonu ihik' ìiíi-lãi íỊtiiy-tntci 1'SIÌ. ihưc hiện viẹc cộnti lãi vào sỏ
d ư . ( i i . i s ư I)i:;iii l i à n u

lnr(Vc d ã y

sách Iihư sau: chi Ira lãi
sò dư

t r a lfii 6 ' f

clio m o i

tài k h o a ii . n liưiii: u i ờ c l á y tlia v đ ổ i cliín li

IIÒII sò clư Iilio I1Ơ11 10 (){)() OOOíl và 6 ‘ í cho Iihữiii! lài klioan có

từ 10 ()()() OOOd i m lén. 'rronu Iihiẽu mỏ hình dữ liọti khác, việc cliinh sứa như vạy có


thê dấn lới viộc

ihay dổi inã troiií’ niỏl hay nliiéii chươni: trình ứiií: dụnc. Troni: mỏ hình

hướne đối tượng, chi phái tliay dổi héii troiii: phưoiiịỊ 1 I1 ỨC Ịhix-iiitưi 1'S/. Cìiaodiộn bẽn Iigoìii
tới cac đòi tương vãn t:iữ Iitiiiycii khỏng thay dổi.
Kliác với các thực ihê trong I11Õ liìiih E-R, mỏi đòi tươiiu C(') lính dỏnt’ nhát 110111:. dộc
lâp voi các <:i;í trị inà nó chứa clựiii:. Như vậy liai cỉối tượng cliứa cìiiii: các tziá liị \ẫii có ihé
là khác nhau. Sự phân biẹt aiữa các dối lượng cá ihc dược duy nì ơ mức vật lí tlióng qua
\iệc 'j;ín các dịiih danh dối tưưníi khác nhau.
1.5.2. C ác mõ hình loỊỊÌc trén co S() bán ịỉhi (R ecord-B ased Data M odels)
Các nió hình logic dựu trcii bán ehi dưực dùng trong việc m ò lá dữ liệu ơ các n u k louic
va kliuiiu nhìn. Tưưiig phán vói các niỏ hìiih dữ liệu hưứng dối tưựiig, chúng dirưc dùng đế
tlẠc la câu trúc I0 2 ÌC tổng tlic cù a CSDL. dónti thời cung cấp một m ỏ tá ớ mức cao hcyn của
sư cài dật. Ciọi là m ỏ liình tròn c ư sờ ban ghi bới CSDL dược càu trúc thành các bán ghi cỏ
khuôn dạim cố clịnh và có thc thuộc nliiéii kicu. Mỗi kiếii bán ehi xác' định một số cò dịnh
c k trưừnc (hay thuộc tính), mỗi triKTiig thường có d ộ dài cò dịnh. Việc dùim các hán !zhi có
dài cỏ dịiih làm việc cài đạt IIIỨC vạt lí ciia CSDl. dưii giàn hưu so với mỏ hình hướng
d,M iươiiii. CV) ha m ò hình louic trên cơ sơ bán glii quen thuộc nhát, dó là:


Mo hình quan hệ (relational clala modcl).



Mõ liình rnạnt; (nclvvork dala ni(xicl).



Mõ hình phân cáp {hicraivliiciil data nioclcl).


Ta sẽ đièm qiui b;i I11 Ỏ hình này.

1 5.2.1. M õ hinh quan hệ (Relationaỉ Model)
Năm 1^)70 mỏ hình quan hệ đirực Coclcl

đc xuùì |2 |. Kè lừ c!ó dcn nay, Iilnìiiị:

lụhión cứu vo liệ C SD L theo m ỏ hình quan hệ (thường gọi tắt là CSDL quan hệ) dạt dưục'
niicii kết quá to lớn vổ cá phiRmg diện lí thuyết và thực hàiih. Mỏ hình CSDL quaii hệ lìi
nộ l trong những niò hình C S D L có cơ sớ lí thuyết được xâv dựng vững chác nhất. Từ
Iiìữni: năm i98() irờ lai dâv, các hệ quán trị CSDL cỊuan hệ dược dù ng phổ biến. Có thê kc
cbn niõl loạt các hệ nổi tiếng và thòng dụn g Iihư O R A C L E (cùa cõng ly Oraclc).
PXRADOX và VISL A L DBAS E (ciia Borland). SQL S E R V E R (cua Microsoft). trên các
Iiáv P ( ’ ơ nước ta thưừng cài đặt inột sỏ hệ quán trị CSDL quan họ như PO X PR O , ACCESS

13


Trong niò hình quiin hệ, d ữ liệu được thè hiện Irong các báiig. Mỏi bàiig uóni cac doi 1”
và CỘI, iikSì cội c ó niót tcii dụ y nhâi. Mỏi dòng cho thỏiig lin vé một dối urơim cụ llié tron g
quan lí (người ta còn hay gọi iDỗi dòng là niót hciii iỊÌii liay một hộ). N hư \ ậ y mồi cionc
gồm một bộ các giá trị tưcíim ứng với các cỏt, mỗi uiá irỊ tlic hiện tliòng !ÌI1 vc I1 1 ÓI Iluioc
tính của đỏi tưcĩiig dó, léii lliuộc líiih này chíiili là lẽn cột m à íiiá trị đó được hicn tliị. M ối
liên kết giữa các dối tượng dược llic hiện bằiiỉ’ mối licn kết giữa các b á n s nhờ vào sư \iiất
hiện trùng lập của một sỏ thuộc tính ờ hưii một báng.
Hình 1.5 gicýi thiệu mộl C S D L quan hẻ dùng làm mẫu g ồ m hai háng: một báiiịi chi .rõ
các khách hàng của ngân hàng, còn bàng kia chì rõ các tài khoá n cùa các khách liàni’.

Số hiệu tài khoan


rénkháchhàng

S ốchứ ngm inhthư

Thành_ph»')_khách_hànịỊ

Ban

CM-1024

Hà nội

A - U)l

Giao

CM-5566

Hái phòng

A - 215

Dung

CM-9876

Hà nội

A - 102


Lan

C M - 343 5

Bắc ninh

A - 305

Minh

CM-2S 37

Hưng yên

A - 201

Ban

CM-1024

Fià nội

A - 217

Hiiili ỉ .5.

Sô hiệu tài khoán

Sổclư


A - 101

5.0

A - 215

7.0

A - 102

4.0

A - 303

3.3

A -2 0 1

9,0

A -217

6.5

M ộ í C S D L ÍIIIIIII hệ Nhỉii ịdơn vị tiên: / triợK (íồiìi>)

1.5.2.2. M ó hinh m ạng (Network Modeỉ)
Mô hình mạ ng lần dầu tiên được dưa ra bới nh óm DBTG (Database Task Group cứa
C O D A S Y L ) nãm 1971 và được thực sự tricn khai nãm 1978. C ó một số hệ thống íin học

dùng m ô hình lìiạng như cn, U N I V A X . Ngày nay, tuy kh ông được dù n g phổ biến như mỏ
hình quan hệ, song m ò hình m ạ n g vần có những ưu điếm c ủa nó và người ta có thè’ chiiNcn
dối các ứng dụng giựa mỏ hình m ạ n g và m é hình’quan hệ.

14


'1 roiig inõ hình mạng, d ử liệu dược biếu dicn bời niột tập các bàn ghi (giống các bàn ghi
cua ị^iscal), còn các mối quan hệ dược bicLi diẻii bời các mối nối (links) có thc đưực xcni
như Iiliữiiị: con trò. Xuât plìál từ mộl dối tượng (bicii diẻn bằ ng niộl bán ghi) có thế có
Iihicii mối quan liệ đến nhĩmg đối tưựnu khác.Trong nhữ ng liên kết d ó luôn phân biệt đối

tưựMi: là chú cùa liên kết và những dối lượng thàiih plìần cứa licn kct. Như vậy các bàn ghi
\ à cac mỏi nối Irong C SD L tỉico m õ hình mạ ng đươc tổ chức nh ư lập hcyp C ík dổ thị bất kì.

liìiih 1.6 giới thiệu một CSDL mạng dìing làin mẫu với c ù n g thõng tin như trong
Hình 1.3.

ỉ^ati

( ’M - l í )2 4

Dunu

I.aii

Minh

C M -5 5 6 6


C M - 9 S 76

C M -3 4 3 5

C M - 2 X 37

.•s.t)

A -215

7.0

A -102

4.0

A -305

3.5

A -201

9.0

A -217

6.3

H à n ôi


1
Gian

A-iOI

Hái p h ò n g

H à íiòi

B ắ c lìitih

[ ỉ ư n g vèiì

1

Hìiìh 1.6. Một l ơ sà dữ liệu /iiạniỊ niảii

1.5.2 J . M ó hình phán cấp (Hierarchicaì Model)
Mo liìrih pliàn cấp tưmig tư như m ỏ hình m ạ ng ờ chỗ dữ liệu biếu diễn bảng tạp các bán
ghi và mối quan hệ giữu các dữ liệu biếu diẻn bang các mối nối nhir các con trỏ. Khác với
niô hìiiỉi niạng, mối quan hệ giữa hai dối tượng trong m ô hình phân cấp thế hiện theo kiếu
cha - con và sư đố các bán ghi cùng các liên kêt giữa c h ú n g c ó cấu trúc như các cây mà
khòng là các clổ ihị bât kì.
Cũni: như m ỏ hình mạng, rnò hình phàn cấp ra đời và phát iriên trước m ò hình quan hệ.
Tuy rnỏ hình quan hệ thông dụng hơii sau những năm 1980 như ng một số hệ CSDL theo
mò hìnli pliãn c áp vần dược sử dụng và hoạt động ổn dịnh.
Ngirời ta hoàn toàn có thê chuycn dổi các CSDL ở m ô hình phân cấp sang m ó hình
qưan liệ và ngược lại. Một hệ quán trị CSDL kicii phân c â p dược nhiổii người biết đến là hệ
IVIS (Iníormation M an a ge m en t System) của hãng IBM.
Hình 1.7 giới thiệu mộ t CSDL phản cấp dù ng làm m ẫ u với cù ng thông tin như trong

W nh 1.5.

15


Hìỉih 1 7 .

M ộ t i
/.5 .2 .4 . S ự khác nhau giữa các mỏ hình

Như dã nói à trên, các IIÌÕ hình louic trên cơ sớ baiì ízhi đ ư a c dùiiiZ dò clặc la cáu inic
tổng thc cùa hệ CSDL và lììỏ lá cài dặl ớ mức cao. Nhưng niậl liạn chê clìínli cua chúim
i r o n u l liực lè là ơ c l ì ỏ c h ú n g k h ô n g c im n c ã p d ư ợ c c á c p h ư ơ n u t i ệ n t h o a d á i ì g CÌK) v i ệ c t l ă c
lá t ư ờ n u m i n h c;*c ràiiti b u ộ c I r c n d ữ l i ệ u . T r o n u k h i d ó c á c i n ỏ l i ì n h i rcĩ ì c ơ s ơ đ ô i l ư ơ n g

Uiy c o n hạn chc Irone dạc la vc !iìiU ('au n ú c lìhưnu lại cuni: ca|'» nliicu cliai liẹii c ó línli iiuữ
iighĩa CỈII) phép lìíiười dùnu clạc là c ác rìum buọc tiữ liệu.

'IVoiìi: các niỏ ỉiinh loiiic irèii cơ sở bán ulii. niõ liìnli quan hệ khác \(Vi ciíc niô hình Iiuiim v;i
phân cáp ớ chỏ nó không clùim các con tro lia\ moi luVi. 'lììay \ì \ậ\'. các h.uì ulìi licii kêl \iVi
nhau nhờ chính các uiá Irị chứa iroiìg chúiiịi. Các niõ hìiìh inạnu và phân cáị') van tlòi hoi ntiưòi
dùng phài có nhửiie hicu biếl ờ IIIỨC vàt lí vc CSDL sc đưníc truy cập. Troim khi dó niỏ hình Cịuan
hộ cunu cáp lính cUk' lập dữ liệu có ý nghTa quan imng. v^iệc khóne pliài ciùim các con Uo CỈIO
plìóp dịnh imliĩa niòl cơ SCÍ toán h(>c hình thức clìo niò lùnh cỊiian hộ lìlur ta sc lhá\ ơ cliưoìiu 3.
1.5.3. Các mỏ hình vật lí (Physical Data M odelsl
C á c i n ỏ h ì n h d ữ li ệu vật lí n i ỏ tà d ữ li ệu ơ m ứ c l l iá p n h á t , n ii lì ĩa là i n o (a d ừ li ệu i ì i í i K Imi

Irữ như ilìc Iiào trong máy lính, mỏ tà các cấu trúc bán ehi. ílìứ tự các bàn izhi và con ckàíiiu
Iruy c ậ p .


K l ì ỏ n u n h ư c á c l u ỏ hìiìlì l o e i c , c h i c ó íl Iiìỏ liìiìh d ữ l i ệ u vật lí. H a i n i ò liinli d ữ liệu

vâi lí q u ci ì dù ni ỉ là n i ỏ h ì n h h iĩọ n h ãl (uniíViiiịi lìKKÌcl) \ à l ììỏ h ì n h K> n h ớ - k h i n i i i (í raii ic- nioni Di y
iiukIcI). M ò h ì nh d ữ liệu vậi lí t hư ít ng c h i c ó ý l ìu hĩ a đ ố i với n h ĩ n i u chi iNcn gi a I1 KÌ\ línlì c h ứ

khỏng can tlìièl đối với da số ngưíyi sirdụỉiii thông llnròìiii và se điR>c nói chi liêl ƠCÍÌƯI)ÌÌU
16


1.6.

Hệ quản trị cơ sỏ dữ liệu

1.6.1. Khái niem hẹ quàn trị C(ysứdữliệu
A/ộr hệ íỊuàiì írị c ơ sá' (iữ liợii (Ddtiihii.se Mcííu/iỊcnient SvsteiN. viêt tủt là DBM S) là một
tÚỊ) hơỊ) các chưoiii; trìnli cho phép iiiỊười ilíi/i^ (ỉịnh iiíị I i u i , rạo lập. Ihio trì HU' C S D L và
i iiiiiỊ í íi'ị> c á c f r i i y i ậj) c ó d i é i i k h i c n d ẽ n c á i C S D L I i à \ \

Nlur vây inộl hệ quán trị CSDL ià phần mé m tương tác với ciíc chưtĩiig trình ứiig dụng của
người tiìiiig và CSDL. Nói chung một hệ quản trị CSDL cung cấp các phiroriig tiện sau đày.
(a)
Ngôn ngữ dịnh nghĩa dữ liệu (Data Defiiiition Language, viêt tắt là DDL): cho phép
ngưòi dùng địiih ngliĩa CSDL. Nlur vậy D D L cho phép người dùng đặc tá các kiếu và các
cấu IIÚC dữ liệu, dãc tá các ràng biiộc trên các dữ liệu lưu trữ trong CSDL. Kết quà của việc
dịch các câu ciia D D L là mộ t rập i ác hàiìị> được lưu trữ trong một tệp đạc biệt đirợc gọi !à
từ (Hen (lữ liệu hay th in n tụ ílữliệii.
Mót từ diên dữ liệu là một tệp chứa các siéti (lữ ìiệu ítììeta-data), là các dữ liệu vé dữ liệu.
Tệp này dirợc ihani kháo trước khi dữ liệu thực sự được đọc hay được sửa đổi trong hệ CSDL.
C'áii trúc liru trữ và các phưưng pháp truy cập cú a hệ CSDL sỗ được đặc tả bời một tập

định nghĩa viết băng một D D L xác định. Các định nghĩa này được dịch thành một tập các
lệnh xác định chi tiết cài dặt cùa các lược đồ CSDL, những chi tiêt đó thường được che dâu
đối với ngưừi dùng.
Ngôn n gữ thao tác dữ liệu (Data Manipulation Language, viết tắt là DML). T hao tác

(b)

c ữ l i ệ u dược hiêii là :



Tim kiếm thông tin lưu trữ trong CSDL;



Chèn thêm thõng tin mới vào CSDL;



Xoá bỏ thòng tin khói CSDL;



Sứa dổi lliỏng tin được lưu trữ trong CSDL.

Mội IIỊÌÔII n ^ ữ t ì ì d o ráí i l ữ l i ệ u (D M L) là một ngôn ngữ cho phcp người dùng iruy cập
U)ậc thao lác dữ liộu được tố chức bới mộl inô hình thích h(tp. Có hai kiếu DML: thủ tục
(prcxreduraD và phi thú tục (iion-procedural),




Cúc D M L kiến r/nì tìỊc dòi hỏi người dùng vừa xác dịnh dữ liệu họ cán (What) vừa
phái xác dịnh cách thức dế có được dữ liệu đó (Hovv).



Cáv D M L kiẽìi p h i thú tục chí yêu cấu người dùng xác định dữ liệu họ cần (What)
chứ không yêu cầu người dùng xác dịnh cách thức để có được d ữ liệu đó.

Các D M L phi thú lục thưòng dể học và dề sử dụng hơn các D M L thủ tục. Tuy nhiên vì
tgười dùng không phái xác định cách thức nào đê’ c ó được dữ liệu nên các ngôn ngữ này có
Éiê sinh mã khôn g hiệu q u á như niã được sinh bởi các n^lôn ngữ thú tục, Đê khắc phục
thững khó khàn dó, cần d ù n g tới các kĩ thuật tối ưu hoá câu hỏi khác nhau mà chúng
ta sẽ
(ỉề cập ờ chưN uò n ng ữ t h ô n g d ụ n g nh ấ t ciia kiếii D M L phi thù tục là n g ò n n g ữ SQL ( S tr uc tu re d
17


Qucry Language). Một D M L có cá phần ngôn ngữ hỏi (còii gọi là ngỏii ngữ Iniy vãn) clio
phép tìm kiếm thông tin và phán ngôn ngữ cho phép chi định các thao tác thêm, xóa, sưa dổi
dữ liệu. Trong thực tc người ta thưíyiig quen coi (một cách không chính xác) thuật IIUỪ
tiỊ>ữlìòi (hay ngôn ngữ truy vấn) đổng nghĩa vứi thuật ngữ lìỊ-óii Hịịữ thao tiU d ữ hẹn.
(c)

Các kiểm soát, các điều khiển đối với việc truy cộp vào CSDL, c h án e hạn;


Hệ thống an ninh (sccurity) ngàn câm sự cò tình truy c ập vào CSDL
không được phép;




Hệ thông ràng buộc toàn vẹn duy trì tính nhất quán của dữ liệu dược lini trữ;



Hê thống điểu khiến tương tranh cho phép các truy cập xáy ra đ ổn g ihời;



inột cách

Hệ ihống điều khiển khỏi phục cơ sở dữ liệu khi có sự cỏ ờ phần ciììig iiay phần niéni;



Từ điên d ữ liệu (catalog) m à người dùng có thè truy c ập được, lừ điển này bao gỏm
các mó tả dữ liệu trong CSDL, có thế coi từ điến d ữ liệu chứa siêu dữ liệu.
v ể cơ bản hệ quản trị CSDL cung cấp các phương tiện nêu trên, nhưiig các hệ quàn irị
CSDL khác nhau với tư cách là những sân phẩm phần mề m khác nhau sẽ khác nhau vé chất
lượng và khả năng đáp iViig nhu cẩu thực tế. Cháng hạn một hệ quàn trị CSDL cho một may
tính cá nhân có thê khòng có chức năng xử lí các truy cập đổng thời và nó chi cung cấp nhữiig
phirong tiện an ninh dữ liệu, duy trì tính nhất quán dữ liệu, khôi phục dữ liệu một cách hạn cliẽ.
Trong khi đó những hệ quản trị CSDL lớn, hiện đại, phục vụ cùng lúc cho nhiểu người dùng,
cung cấp đầy đù các phương tiện kê trén, và có thế có thêm những chức nãng khác nữa. Các hệ
quàn trị CSDL luôn phát triển iheo hướng đáp ứng các đòi hỏi ngày càng cao lioii ciia ngLỞi
dùng, bỏfi vậy các chức năng của hệ quản trị CSDL ngày càng được m ờ rộng hơii.
1.6.2. Vài nét vể q u á trình phát triển các hệ qu án trị C S D L
Các hệ quán Irị CSDL đầu tiên ra đời vào những nãiii 1960 dựa trên mô hình lIỮ llieii

phân cấp. Một trong nhữiig hệ quán trị đầu tiên là IMS (lnfoniiation M ana ge me nt S y s i c n )
cùa hãng IBM. M ặc dù là một trong nhữiig hệ quán Irị dược ihương mại lióa sớm nhát, 1 \ ' S
vẫn còn là hệ quán trị CSDL kiểu phàn cấp được sử dụng trên hầu hết các m áy líiih Icn
(large mainíranie). Kh oáng giữa những năm 60 của thc ki 20, IDS (Intcgratcd Data S t o n )
ra đời đánh dấu sự xuất hiện đầu tiỏn của một hệ quán trị C SD L dựa trên mỏ hình dữ ilitu
mạng. Người ta coi những hộ quàn trị CSDL trong thời kì này phát triển theo các chuaiii co
C O D A S Y L (Conference on Data Systems Language) đề xuất thuộc th ế hệ thứ nhất cùa cic
hệ quán trị CSDL.
Năm 1976, hê quản tri CSDL đầu tiên dưa trên m ò hình quan hê cù a hãng IBM Iii a m
tên System-R ra đời.Tìr những nãm 1980 đeìi nay hàng trăm hệ qu án trị CSDL kicii cịíLun
hệ ra đời cho cả mỏi trường m áy tính lớn và m á y tính cá nhân. C hán g hạn DB2 cho Iitny
tính lớn cùa hãng IBM, O R A C L E của hãng O R A C L E , và còn nhiéu hệ quản trị CSDL k hic
nữa: Dbase, Sybase, Iníomiix, SQL-scrver, Access, Poxpro, Paradox,... Ngưòi ta coi n h ữ ig
hệ quản trị CSDL kiêu quan hệ ’thuộc thế hệ thứ hai của các hệ qu án trị CSDL.
Đê đáp ứng sự phát tricn ngày càng phức tạp của các ứng dụ n g CSDL, từ những niãìi
1990 người ta bắt đầu xây dựng các hệ quản trị CSDL kiếu hướng đối tưẹmg và hướng đói
tượng- quan hệ. Những hệ quàn trị CSDL như vậy được coi là thuộc vào thê hệ thứ ba.


1.6.3. C ác chức n ãn g của một hệ qu án trị C S D L
l a i dãy chú ng la sẽ Iiói niộl cách cụ thê hơn vc các chức năng cùa một hệ quàn trị
CS[)I,. nói inỏt cách khác thì đó là nhĩmg dịch vụ mà mộl hệ quán trị CSDL có thê cung
cấp. '['heo C ocicl (1982) một hệ quán trị CSDL có 8 chức nãng cư biin sau ;
(1)

Ciitig càp cho người dùng khá năng lưu trữ, truy xuất và cập nhật dữ liệu. Đây là
chức nãiig cơ bán cùa một hệ quán trị CSDL. Với chức nãng này, hệ quán trị CSDL
dã chc dâu người dùng những chi tiết cài đật mang tính vật lí.

(2)


Cung cấp cho người dùng một từ điển dữ liệu (catalog), đó là ciíc m ô tá vé dữ liệu
dưực lưu trữ và người dùng truy cập dược vào từ điến dữ liệu này. Dĩr liệu trong từ điên
dử liệu còn dươc gọi là “siêu dữ liệu" (nieta-data) vì đây là dữ liệu về dữ liệu. Thòng tin
trong từ điển dữ liệu và cách thức sir dụng thông tin này là khác nhau trong các hệ quán
irị CSDL khác nhau. Nhimg thòng thường niộl hệ thống từ điển dĩr liệu cất giữ tcii, kicii,
kích thước các bán ghi, tèn cùa các mối quan hệ, các ràng buộc toàn vẹn trên dữ liệii, tên
nliữiig người có quyền truy cập vào CSDL, các lược đồ trong, lược đổ khái niệm, lưcK' dồ
ngoài và các ánh xạ giữa c h ú n g , ...

(3)

Hỗ trợ các giao tác (transaction) bằng cách cung cấp một c ư ch ế đám bảo rằng hoặc tất
cá các cập nhật trong một giao tác làm việc được thực hiện hoặc không thao tác cập
nhật nào trong giao tííc này được thực hiện, để đảm báo tính nhất quán cùa dữ liệu.

(4)

C ung cấp các dịch vụ đicu khièn tưoìig tranh đế đám báo tính nhất quán dữ liệu khi
cỏ nhicu phiên làm việc với CSDL, có nhiều người dồng thời truy cập vào CSDL, đặc
biệt là những truy cập làm thay đổi thòng tin lưii trong đó.

(5)

Cung cấp một cơ chê để khôi phục dữ liệu khi xảy ra một sự c ố làm hỏng CSDL theo
niôt kiến nào dó.

(6)

Cung cáp các dịch vụ bàn quyền. Điều này có nghĩa là có một cơ chê đế đá m báo chí

nhĩmg người có quyển mới được truy cập CSDL ớ nhữiig mức đ ộ khác nhau.

(7)

Hỗ trợ cho truycii thông dữ liệu. Nói cách khác, hệ quàn trị CSDL phái có khù năng tích
tnrp clưtX' với các phần mciĩi truyền thông. Hầu hết người dùng truy cập vào CSDL từ
tiạni làm việc dầu cuối (temiinal). Có thê nhữiig trạm làm việc đầu cuối này được nòi
trực tiếp với niáy tính cliii cùa hệ quán trị CSDL. Nhiêu tnrờtig hợp trạm làm việc đầu
ciiổi dặt tại vùng xa và truyển tliông với máy tính chú thòng qua mạng. Trong những
trường hợp như vậy, hệ quản trị nhận được các yêu cầu trong các thòng điệp triiycn
thõng giri dên và (rá kết quà lại cũng theo cách truyéii thông điệp như vậy. Tất cá các
ciao tác đó dưcỊic dicu khiến bời bộ quán lí truyền thõng dữ liệu, viết tắt là DCM (Data
Commimication Managcr). Mặc dù DCM không phái là một bộ phận của hệ quán trị
CSDL nhinig hệ quản trị CSDL cần phài tích hợp được với nhiều loại DCM.

(8)

Cung cấp các dịch vụ đảm bào tính toàn vẹn dữ liệu. Điều này có nghĩa là đám báo
cá dữ ỉiệii trong C SD L và những thay đổi dữ liệu phải tuân theo những luật đã xác
định. Tính toàn vẹn dữ liệu là để nhầm đàm báo sự chính xác và nhất quán của dữ
liệu được lini trữ.
t
Nịidài 8 chức năng trên người ta còn mong m u ố n hệ quán trị C SD L cung cấp thêm hai

b ạ i dịcli vu nữa, đ ó là:

( 9 1 Cung cấp các dịch vụ hỗ trợ cho tính độc lập dữ liệu.
19



(10) Cung cấp niỏi số dịch vụ liện ích. Những chươim írình liện
quá n Irị CSDL quán lí CSDL ni(M cách tliuận tiện và hiệu quá.
1.6.4. Kiến trúc cúa một hệ qu án trị

ích này sẽeiúp

imiriời

CvSDI.

Nháiìi niuc đích cung cấp những dịch vụ như dà kê trẽn, các hệ quan trịCSDl. là các hộ
ihống phẩn niểm linh vị và có độ phức tạp cao. Một hệ quán trị CSDL dư(>c chia thành Iiìột s ố
ihành phẩn, ĩtìỗi ihàiìh phầiì là một mcxỉul phđn mem chịu một số trácli nhiệm cụ íhc. Mội s ố
chức năng của hệ quán trị CSDL đư(X: hỗ irợ bới hệ diểu hành nhunig hệ điểu hành chi cimg c áp
các dịch vụ cơ bán nhấl và hệ quàn trị CSDL phải xây dimg Irên Cít sờ đỏ. Như vậy việc Ihicí kc
một hệ quân irị CSDL phái tạo ra các giao diện giữa hệ quản trị CSDL và hệ điéu hành.


Bỏ xứ lí câu hỏi (Ọiiery processor): là mộl ihành phẩn-chính của hệ tịuàn trị CSDL vái
nhiệm vụ dịch các c à u lệnh trong ngỏn ngữ truy vấn thành các càu lệnh ở mức ỉháp đ ế
chuyến cho bộ quàn lí CSDL (Databasc Manager, viẽì lắt là DM).
Truy vấn

Trình ứng dụng

LiKtc dổ cơ sờ dừ liệu

DBMS
---------▼------------1
Bí> xứ lí Iriiy vân


lỉộ ticn xử lí
tigỏíi ngữ thiíí)
lác ílữ liệu

I

Mã chư(íiiu trìnli
w

Bộ quán ỉí cơ sờ
dữ liệu

.........J I----------- Cliưtíng trình
tlịch ngôn nuữ
kiìai báo dừ liệu

!^) quán lí lừ tlicĩỉ

................. ì i ................

Plnrơng íhức tniv cập

\i(} quan lí tóp

^


độni cùa hệ
thông


Cơ sờ dừ liệu và
lừ điòn dừ liệu

Hình

ì .8 .

Cúc

t ì ì à n l i Ị)ìiíỉỉi í lìin li

nia

tììộ ĩ h ệ í/iià ỉỉ fr i

CSDL

Bộ quàn lí C SDL (DM): giao tiếp với các chương trình ứng dụ ng cú a người dùng và các
càu lệnh truy vấn, Nó liếp nhận các yêu cầu truy vấn và ki ê m tra các lược đổ ngoài và
lược đổ khái niệm đê’ xác định những bản ghi khái niệm n à o đã dược yêu cầu. Sau dó nó
gọi đến

bộ phận quàn lí tệp (File Manager) để thực hiện yêu cầu. Có thè nhìn thây chi

tiết hơn các thành phần tạo nên D M ở hình 1.9, gồm:
Trình quán lí quy ền truy cập (Authorization Control).
20



Trình xử lí câu lệnh (Conimand Processor).

'rrình kiôm

tra tính toìin vẹn (Intcgrily Checkor).

Trình tối irii hóa câu hòi (Qucry o p t i m i / c r ) .
Trình quán lí giao tác (Transaction Managcr).
Trình lập lịch (Schcdulcr): diều khiến thứ tự thực hiện các thao tác của ciíc giao
tác có liên qiiaii d ò i i nhau dc dâm báo chúng khòng làm ánh hưcỳiig dên Iiliau , có
nghĩa là giái quyết những xung đót trong lioạt dộng dồng thời cúa nhiều giao (ác.
Trình quán lí việc khòi phục dữ liệu (Rccovery Manager).
Trình qii;in lí bộ nhớ (lộm (Buffer Miiiiager).
Bó \ ử !í v ẽ u c á 11

M à tlích c ín n t m :
írình

B ỏ q u á i i lí lừ
cliôn d ữ li ệu

DM

T r ì n h tỊLiúii lí

7

q u y c n truN cẠp

1 ' n n h ki oi i ì !r;i


l í n h t o à n VỌÍI

T r ì ĩ ì h x ử lí càii
^

T r ì n h lối

lệMih

T
ràĩìh

ifiJ lìoá

c â u h òi

ĩ

quàn

ỉí

riình

ỉ ậ p lịch

cá c g i a o lác

~

l i n t h q i u i n li
b ộ tih
Pliưtyiìg p h á p

1

~

niih lịiián lỉ khói
p h ụ c d ữ hộii

[íộ q u a i i lí l ộp

I r uy c ậ p

C';k v ì m g n í ì ớ d ộ n i

C ơ s ờ d ừ l i ệ u v à ihir m ụ c hệ

c u a liộ i h ố t ì g

i h ố n g từ đ i ê n d ữ liệu

Hìỉìh 1.9. Cúi tlỉủỉilì ph ấ n

í

iia hộ qiiàìì lí C SD L


Bo licn x ử lí D M L ( D M L Preprocessor): chu yến C ik câu lệnh D M L nhúne trong một
chương írình ứng dụn g thành các lời goi thú tục chuẩn trong ngôn ngữ chủ. Nó phái
tưcyne lá c với bộ xử lí câu hỏi dè sinh ra mà rhích hc;p.
2!




Bỏ biên dịch DDL. (D DL Coinpiler): chiiycii các câu lệnh DD l. saim Ihành Iiiỏl là p các
báng chứa "siõu dữ liệu". Các báng này dược lưu Irữ Irone hệ lliỏiiị: từ đÌL'11 ciữ iọu
(catalog).



Bộ quán lí từ điên dữ liệu {Catalog Manager); tỊuán lí các truy c ập dèn lừ clicn d ữ liệu và
báo trì hệ thống tìr điên dữ liệu. Háu hêt các thành phần c ù a hệ cỊuán irị C SDL dcu I n v
cập đến hệ thòng từ đièn dữ liệu.

1.6.5. H oạt độn g cúa một chưưng trình ứng dụníỉ thòng q u a các th ành phần cú a h e
quán trị C SD L
Hình 1.10 cho một cách nhìn vé sự hoạt động cùa một chưưiig trình ứng dụng xây d i n g
trên một hệ quán trị CSDL.
L ư ợ c clố
lìgoài
(H xiernal
Scheme)

Lược dổ
k h á i niọni
(Loiiicaỉ

Scheme)

L ư ợ c tlổ \ ặ t
lí ( P h v s i c a l

Schemc)

Hình !.10. Hoạt dộniỉ Cỉia nìộỉ (‘hươỉì^ ỉrìỉìlì ứìì\> ( ỉ ụ n i Ị ĩlìỏni* C Ị Ì Ì Í Ỉ một DBMS

Các yêu cầu cùa chương trình ứng dụng được chuyên tới hệ quán trị CSDL (đườiig ,ỏ
2). Hệ quản trị CSDL sẽ tham khảo hệ thống từ đicn dữ liộu đé tìm kiếm các ánh xạ t ừ cíc
lược đồ ngoài đến lược đồ khái niệm và đến lược đồ trong. Hệ quãn trị CSDL có thiế >0
tham kháo vùng đệ m của nó đê xem càu trá lời đã có sẵn ở đ ó chira, nếu có thì trá hú CK)
trình ứiig dụng (qua đường số 9), còn khòng sẽ ycLi cầu hệ điểu hành truy xuất t h ô n g 111
(đường sò 3). Hệ điổu hành ra yêu cầu truy xuất thông tin trong C SDL thông qua hệ th ỏm


xiiáì nliàp CIUI liệ diéu hành (cliràìg sỏ 4 và 5). Ncu việc truy xuất không ihành cóng, nó sẽ
tra l a i vôii’ c.iu vé cho hệ qu án trị CSDL có thè bànu các mã lỗi (dưíyiig số 6). Nếu việc truy
thành còng thì dữ liẹii đirợc ctuiycii vào vùng d ệ m cứa hệ quán trị CSDL(8a). Hẹ quáii
trị C SDL xử lí rổi chuyên d ữ liệu vào vùim đệm của chưưng trình ứng dụng đc nó xứ lí
(dirờiiị: Sb) và trình ínig dụnt: Irá ra kết quá (dưừn^ sò 10). Như vậy có thế nhận thấy khi
X L iã l

chav trình i'nig dụ n g các trục trặc có the xảy ra ớ các dưímg sò' 2, 3, 4, 5, 6 và 8, trong đó
các lỏi ớ hai đ iù m c 6 và 8 c ó thế d o Iràn v ù n c làm việc.
1.6,6. S()( lươc về các kiến trúc hệ quárt trị C S D L đa người dù n g
Kiên trúc triiycn thống ciia một hệ thốne da ntỉười dù n c có tên gọi là hệ xử lí từ xa
(telcproccssinc), Một hộ xừ lí từ xa bao gồm một m á y tính (một CPU) và một sỏ' trạm đầu
c u ỏ i ( I c m i i n a l s ) n h ư t r o n g h ì n h 1. i 1.


H ì n h 1 . 1 1 . K i ê n t r ú c h ệ . \ ứ l í từ .K ii ( ỉe l e p r o c e s s i i i i Ị )

Tâì c;i các xư lí đều được thực' hiện trên cùng một máy tính (về phưítng diện vậi lí). Các
f ạ m đầu cuối được nối với m á y tính trung tâm bởi cáp, ch úng gửi các thông điệp yêu cầu
cên chirưiig liình ứng dụn g của người dùng (khi sử dụn g các dịch vụ của hệ QTCSDL), nhờ
\ậ o hệ ihòng điổư khiên triiycn thòng cùa hệ điều hành. Các thòng điộp gửi trả vể cho trạm
aÌLi ciiôi cùa người dùng c ũ n g theo con đường-đó. Có thể thấy rằng trong kiến trúc này máy
t nh truiig tâm khô ng những phái chạy các trình ứng dụn g và hệ Q T C S D L mà còn phái thực
h ệ n niội lưựng k'ni cóng việc thay cho các trạm đầu cuối. Trong nhĩnig nãni qua con người
cã đat dươc nhữiig thành c ô n g lớii trong việc nàng cao khá năng của má y tính cá nhân (PC)
\à phát iriển cỏng nghệ m ạ n g m áy tính. Điểu này dẫn chúng ta đến khuynh hướng thay ihế
rhững máy tính lcýn (iTiainframe) đắt tién bời các mạ ng má y tính PC dạt hiộii quả không
kém với giá cá phải chãng hơn. Kh uy nh hướng này làm náy sinh hai loại kiến trúc mới cho
hệ thống đa người dùng, đ ó là kiến trúc file-server và kiến trúc client-server.

1.6.6.ỉ. Kiến trúc máy chủ-tệp ựile - server)
Trong kiến trúc máy chủ - tệp các xử lí không tạp trung vào một m áy tính trung tâm mà
cươc phân tán trên mạng, thường là m ạ ng cục bộ (LAN). Hình 1.12 giới thiệu kiến trúc
làv.
23


Trạm làm \'iộc 2

C ơ s ở d ữ iiệii
File-server

Hình ỉ .12. Kiên trúc niáy chú - tệp (file - server}
Filc - scrver


lưu giữ các tệp dữ liệu mà các ứng dụng và hẹ Q T C S D L cần đèn. Tiiy

nhiên các ứng dụng và hệ Q TC SD L chạy trên mỗi trạm làm việc (vvorkstation) và VCLI cấu
các tệp dữ liệu ứ file - server khi cần đến. File - server hoạt động đơii gián như một đĩa cứng
chứa dữ liệu có thê chia sé. Hệ ỌTCSDL trên mỗi trạm làm việc gửi yêu cấu dến file - SCIA CI
đòi hỏi những dữ liệu liai trên đĩa mà hệ QTCSDL cần. Như vậy kiến trúc này sõ có Iihữnu
nhược diểm chính sau dây:


Lirựiig dữ liệu truyền qua lại trên m ạ ng rất nhiểu.



Mỗi trạm làm v iệ c phái cài đặt một bán sao đáy đủ của hệ ỌTCSD L.



Việc giải quyết các vân đổ tưtyng traiih, khôi phục dữ liệu và báo d á m lính nliãì quiín
ciia dữ liệu sẽ phức tạp hơii do có nhicu hệ ỌT C SD L truy c ậ p vào cù ng các tệp dữ liệu,

ì . 6.6.2. Kiến trúc máy khách-máy chủ ịclient - server)
Kiến trúc m á y khách-ináy chủ (có thê gọi tát là kiến trúc khá ch- chủ ) khắc phục đưực
các nhược điếm cùa hai loại kiến trúc nêu trẽn. Trong kiến trúc m á y k h á ch - m áy chủ các hộ
phận phần niềm tưtmg tác với nhau tạo nên hệ thống: tiến trình má y kh ách ycu cấu cimg
cấp tài nguyên nào đó và tiến trình rnáy chủ cung cấp tài nguyê n đó. Hai tiến trình này
khòng nhất thiết phải nằm trên cùng một máy tính, trên thực tế thường có một tiến trình
máy chủ đặt tại một đicm (sitc) cùa m ạ ng (cục bộ) còn các tiến trình m á y khách dặt tại các
diếm khác cúa mạng. Hình 1.13 minh họa cho kiến trúc m áy kliách-niáy chủ và hình 1.14
cho thấy mộl sô dạng topo của kiến trúc này.


24


×