H QUN
TR CƠ SỞ
D LIU
H QUN TR CƠ S D LIU
CHƯƠNG I
GII THIU
(Introduction)
MC ĐÍCH
Chương này trình bày mt cái nhìn bao quát v cơ s d liu (CSDL/DB), v h qun tr
cơ s d liu (HQTCSDL/DBMS) và v h cơ s d liu (HCSDL/DBS). Các đòi hi khi xây
dng mt HQTCSDL đó cũng chính là nhng chc năng mà mt HCSDL cn phi có. Mt khái
nim quan trng là khái nim giao dch (Transaction). Các tính cht mt giao dch phi có để đảm
bo mt HQTCSDL, được xây dng trên HCSDL tương ng, trong sut quá trình hot động s
luôn cho mt CSDL tin cy (d liu luôn nht quán). Qun tr giao dch nhm đảm bo mi giao
dch trong h thng có các tính cht mà mt giao dch phi có. Mt điu cn chú ý là trong các
tính cht ca mt giao dch, tính cht nht quán trước hết phi được đảm bo bi người lp trình-
người viết ra giao dch.
YÊU CU
Hiu các khái nim.
Hiu các vn đề đặt ra khi xây dng mt HQTCSDL: thiết kế CSDL, đảm bo tính nht
quán ca CSDL trong sut cuc sng ca nó, nn tng phn cng trên đó mt HQTCSDL đưc
xây dng.
Hiu cu trúc h thng tng th
Hiu vai trò ca các người s dng h thng.
MT S KHÁI NIM
Mt cơ s d liu (CSDL/ DB: DataBase) là mt tp hp các tp tin có liên quan vi
nhau, được thiết kế nhm làm gim thiu s lp li d liu.
Mt h qun tr cơ s d liu (HQTCSDL/ DBMS: DataBase Management System) là
mt h thng gm mt CSDL và các thao tác trên CSDL đó, được thiết kế trên mt nn
tng phn cng, phn mm và vi mt kiến trúc nht định.
Mt h cơ s d liu (HCSDL/ DBS: DataBase System) là mt phn mm cho phép
xây dng mt HQTCSDL.
CHƯƠNG I. GII THIU Trang 1
H QUN TR CƠ S D LIU
H CƠ S D LIU
Mt s đim bt li chính ca vic lưu gi thông tin có t chc trong h thng x lý file
thông thường:
Dư tha d liu và tính không nht quán (Data redundancy and inconsistency): Do
các file và các trình ng dng được to ra bi các người lp trình khác nhau, nên các file
định dng khác nhau, các chương trình được viết trong các ngôn ng lp trình khác
nhau, cùng mt thông tin có th được lưu gi trong các file khác nhau. Tính không thng
nht và dư tha này s làm tăng chi phí truy xut và lưu tr, hơn nũa, nó s dn đến tính
không nht quán ca d liu: các bn sao ca cùng mt d liu có th không nht quán.
Khó khăn trong vic truy xut d liu: Môi trường ca h thng x lý file thông
thường không cung cp các công c cho phép truy xut thông tin mt cách hiu qu
thun li.
S cô lp d liu (Data isolation): Các giá tr d liu được lưu tr trong cơ s d liu
phi tho mãn mt s các ràng buc v tính nht quán ca d liu ( ràng buc nht
quán/consistency contraints ). Trong h thng x lý file thông thường, rt khó khăn
trong vic thay đổi các chương trình để tho mãn các yêu cu thay đổi ràng buc. Vn
đề tr nên khó khăn hơn khi các ràng buc liên quan đến các hng mc d liu nm
trong các file khác nhau.
Các vn đề v tính nguyên t (Atomicity problems): Tính nguyên t ca mt hot
động (giao dch) là: hoc nó được hoàn tt trn vn hoc không có gì c. Điu này có
nghĩa là mt hot động (giao dch) ch làm thay đổi các d liu bn vng khi nó đã hoàn
tt (kết thúc thành công) nếu không, giao dch không để li mt du vết nào trên CSDL.
Trong h thng x lý file thông thường khó đảm bo được tính cht này.
Tính bt thường trong truy xut cnh tranh: Mt h thng cho phép nhiu người s
dng cp nht d liu đồng thi, có th dn đến kết qu là d liu không nht quán.
Điu này đòi hi mt s giám sát. H thng x lý file thông thường không cung cp
chc năng này.
Vn đề an toàn (Security problems): mt người s dng h cơ s d liu không cn
thiết và cũng không có quyn truy xut tt c các d liu. Vn đề này đòi hi h thng
phi đảm bo được tính phân quyn, chng truy xut trái phép ...
Các bt li nêu trên đã gi m s phát trin các DBMS. Phn sau ca giáo trình s đề cp
đến các quan nim và các thut toán được s dng để phát trin mt h cơ s d liu nhm gii
quyết các vn đề nêu trên. Mt s khái nim
CHƯƠNG I. GII THIU Trang 2
H QUN TR CƠ S D LIU
GÓC NHÌN D LIU
Tính hiu qu ca h thng đòi hi phi thiết kế các cu trúc d liu phc tp để biu din
d liu trong cơ s d liu. Các nhà phát trin che du s phc tp này thông qua các mc tru
tượng nhm đơn gin hóa s trao đổi ca người s dng vi h thng:
Mc vt lý ( Physical level ): Mc thp nht ca s tru tượng, mô t d liu hin
được lưu tr thế nào. mc này, cu trúc d liu mc thp, phc tp được mô t chi
tiết.
Mc lun lý ( Logical level ): Mc kế cao hơn v s tru tượng, mô t d liu gì
được lưu tr trong cơ s d liu và các mi quan h gì gia các d liu này. Mc logic
ca s tru tượng được dùng bi các người qun tr cơ s d liu.
Mc view ( view level ): Mc cao nht ca s tru tượng, mô t ch mt phn ca cơ
s d liu toàn th. Mt người s dng cơ s d liu liên quan đến ch mt b phn ca
cơ s d liu. Như vy s trao đổi ca h vi h thng được làm đơn gin bi vic định
nghĩa view. H thng có th cung cp nhiu mc view đối vi cùng mt cơ s d liu.
Mc view
...
view 1 view 2 view n
mc lun lý
mc vt lý
Figure 1
Th hin và sơ đồ (instances and schemas): Tp hp các thông tin được lưu tr trong
cơ s d liu ti mt thi đim được gi là mt th hin (instance) ca cơ s d liu.
Thiết kế tng th ca cơ s d liu được gi là sơ đồ (schema).
Mt h cơ s d liu có mt vài sơ đồ, được phân tương ng vi các mc tru tượng.
mc thp nht là sơ đồ vt lý (physical schema), mc trung gian là sơ đồ lun
(logical schema), mc cao nht là sơ đồ con (subschema). Nói chung mt h cơ s d
liu h tr mt sơ đồ vt lý, mt sơ đồ lun lý và mt vài sơ đồ con.
Kh năng sa đổi mt định nghĩa mt mc không nh hưởng mt định nghĩa sơ đồ
mc cao hơn được gi là s độc lp d liu (data independence). Có hai mc độc lp d
liu:
- Độc lp d liu vt lý (Physical data independence) là kh năng sa đổi sơ đồ vt
lý không làm cho các chương trình ng dng phi viết li. Các sa đổi mc vt
lý là cn thiết để ci thin hiu năng.
CHƯƠNG I. GII THIU Trang 3
H QUN TR CƠ S D LIU
- Độc lp d liu lun lý (Logical data independence) là kh năng sa đổi sơ đồ
lun lý không làm cho các chương trình ng dng phi viết li. Các sa đổi mc
lun lý là cn thiết khi cu trúc lun lý ca cơ s d liu b thay thế.
MÔ HÌNH D LIU
Nm dưới cu trúc ca mt cơ s d liu là mô hình d liu: mt b các công c quan
nim để t d liu, quan h d liu, ng nghĩa d liu và các ràng buc nht quán. Có ba
nhóm mô hình: Các mô hình lun lý da trên đối tượng (Object-based logical models), các mô
hình lun lý da trên mu tin (record-based logical models), các mô hình vt lý (physical
models).
- Các mô hình lun lý da trên đối tượng được dùng mô t d liu mc lun lý và
mc view. Chúng được đặc trưng bi vic chúng cung cp kh năng cu trúc linh hot
và cho phép các ràng buc d liu được xác định mt cách tường minh. Dưới đây là
mt vài mô hình được biết rng rãi: Mô hình thc th - quan h (entity-relationship
model), mô hình hướng đối tượng ( object-oriented model ), mô hình d liu ng
nghĩa ( semantic data model ), mô hình d liu hàm ( function data model ).
- Các mô hình lun lý da trên mu tin được dùng để miêu t d liu mc lun lý
hay mc view. Chúng được dùng để xác định cu trúc lun lý toàn th ca cơ s d
liu và cung cp s mô t mc cao hơn vic thc hin. Cơ s d liu được cu trúc
dng mu tin định dng c định (fixed format record): mi mu tin xác định mt s c
định các trường, mi trường thường có độ dài c định. Mt vài mô hình được biết rng
rãi là: Mô hình quan h, mô hình mng, mô hình phân cp.
- Mô hình d liu vt lý được dùng để mô t d liu mc thp nht. Hai mô hình d
liu vt lý được biết rng rãi nht là mô hình hp nht (unifying model) và mô hình
khung-b nh ( frame-memory model ).
NGÔN NG CƠ S D LIU
Mt h cơ s d liu cung cp hai kiu ngôn ng khác nhau: mt để xác định sơ đồ cơ s
d liu, mt để biu din các vn tin cơ s d liu và cp nht.
- Ngôn ng định nghĩa d liu (Data Definition Language: DDL) cho phép định
nghĩa sơ đồ cơ s d liu. Kết qu biên dch các lnh ca DDL là tp hp các bng
được lưu tr trong mt file đặc bit đưc gi là t đin d liu (data dictionary) hay
thư mc d liu (data directory). T đin d liu là mt file cha metadata. File này
được tra cu trước khi d liu hin hành được đọc hay sa đổi. Cu trúc lưu tr
phương pháp truy cp được s dng bi h cơ s d liu được xác định bi mt tp
hp các định nghĩa trong mt kiu đặc bit ca DDL được gi là ngôn ng định
nghĩa và lưu tr d liu (data storage and definition language). Kết qu biên dch
ca các định nghĩa này là mt tp hp các ch th xác định s thc hin chi tiết ca các
sơ đồ cơ s d liu (thường được che du).
- Ngôn ng thao tác d liu (Data manipulation language: DML) là ngôn ng cho
phép người s dng truy xut hoc thao tác d liu. Có hai kiu ngôn ng thao tác d
liu: DML th tc (procedural DML) yêu cu người s dng đặc t d liu nào cn
và làm thế nào để nhn được nó. DML không th tc (Nonprocedural DML) yêu cu
người s dng đặc t d liu nào cn nhưng không cn đặc t làm thế nào để nhn
được nó. Mt vn tin (query) là mt lnh yêu cu tìm li d liu (information
CHƯƠNG I. GII THIU Trang 4