Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Giáo trình dạy công nghệ thông tin
Nội dung xem thử
Mô tả chi tiết
Chæång 1. TÄØNG QUAN VÃÖ CÅ SÅÍ DÆÎ LIÃÛU
Baìi soaûn män Cå såí dæî liãûu Nguyãùn Vàn Chæïc
Trang 1
Chæång 1: TÄØNG QUAN VÃÖ CÅ SÅÍ DÆÎ LIÃÛU
1 Chæïc Nàng Cuía Mäüt Hãû Quaín Trë Cå Såí Dæî Liãûu
1.1. Caïc Khaïi Niãûm Vãö Cå Såí Dæî Liãûu
Âãø dãùdaìng cho viãûc giaíi thiïch caïc khaïi niãûm vãöCå SåíDæîLiãûu, træåïc hãút ta
xem xeït hãû thäúng baïn veïmay bay bàòng maïy tênh. Dæîliãûu læu træîtrong maïy tênh
bao gäöm caïc thäng tin vãöhaình khaïch, chuyãún bay, âæåìng bay ... Moüi thäng tin vãö
mäúi quan hãû naìy âæåüc biãøu diãùn trong maïy tênh thäng qua viãûc âàût chäø cuía khaïch
haìng. Váûy laìm thãú naìo âãø biãøu diãùn âæåüc dæîliãûu âoï vaì âãø âaím baío cho khaïch
haìng âi âuïng chuyãún bay.
Táûp håüp dæîliãûu trãn âæåüc læu træîtrong maïy tênh theo mäüt quy âënh naìo âoï
vaì âæåüc goüi laì Cå Såí Dæî Liãûu( Database - CSDL)
1.2. Hãû quaín trë Cå Såí Dæî Liãûu
1.2.1. Âënh nghéa: Pháön Chæång trçnh coïthãø xæí lyï, thay âäøi dæî liãûu goüi laì hãû quaín
trë Cå Såí Dæî Liãûu (Database management System - viãút tàõt DBMS)
1.2.2 Nhæîng khaí nàng cuía Hãû quaín trë Cå Såí Dæî Liãûu
Coï hai âàûc tênh âãø phán biãût DBMS våïi caïc hãû thäúng láûp trçnh khaïc, âoï laì:
1. Khaí nàng quaín lyï nhæîng dæî liãûu cäú âënh
2. Khaí nàng truy xuáút coï hiãûu quaí mäüt khäúi læåüng dæî liãûu låïn
Âiãøm (1) khàón âënh ràòng coï mäüt CSDL täön taûi thæåìng xuyãn ; näüi dung cuía Cå
SåíDæîLiãûu naìy laì nhæîng dæîliãûu âæåüc DBMS truy xuáút vaìquaín lyï. Âiãøm (2) phán
biãût mäüt DBMS våïi mäüt hãû thäúng táûp tin cuîng quaín lyï dæîliãûu nhæng noïi chung
khäng cho pheïp truy xuáút nhanh choïng caïc thaình pháön tuìy yï cuía dæîliãûu . Nhæîng
khaí nàng cuía mäüt DBMS seî ráút cáön thiãút khi säú læåüng dæî liãûu ráút låïn.
Hai âàûc tênh trãn laì hai âàûc tênh cå baín cuía mäüt DBMS, ngoaìi ra mäüt
DBMS thæåìng coï caïc khaí nàng sau:
- Häùtråü êt nháút mäüt mä hçnh dæîliãûu (Data model) nhåì âoï ngæåìi sæí duûng coï thãø
xem âæåüc dæî liãûu.
- Häùtråü mäüt säúngän ngæî báûc cao cho pheïp ngæåìi sæí duûng âënh nghéa caïc cáúu truïc
dæî liãûu, truy xuáút vaì thao taïc dæî liãûu .
- Quaín lyïgiao dëch, nghéa laìcho pheïp nhiãöu ngæåìi sæíduûng truy xuáút âäöng thåìi vaì
chênh xaïc âãún mäüt Cå Såí Dæî Liãûu .
- Âiãöu khiãøn caïc quaïtrçnh truy xuáút, laì khaí nàng giåïi haûn caïc quaïtrçnh truy xuáút
dæîliãûu cuía nhæîng ngæåìi khäng âæåüc pheïp , vaì khaí nàng kiãøm tra âäü tin cáûy cuía
dæî liãûu
Chæång 1. TÄØNG QUAN VÃÖ CÅ SÅÍ DÆÎ LIÃÛU
Baìi soaûn män Cå såí dæî liãûu Nguyãùn Vàn Chæïc
Trang 2
- Caïc âàûc tênh tæû thêch æïng, laì khaí nàng tæû phuûc häöi laûi dæîliãûu do sæû cäú cuía hãû
thäúng maì khäng laìm máút dæî liãûu
1.3 Caïc mä hçnh dæî liãûu
Mäüt DBMS cáön phaíi cung cáúp êt nháút mäüt mä hçnh træìu tæåüng qua âoï ngæåìi
sæíduûng coïthãøtháúy âæåüc dæîliãûu khäng phaíi bàòng caïc bit “thä” maìbàòng caïc daûng
dãù hiãøu, dãù nháûn biãút hån.
Trong thæûc tãú caïc Cå SåíDæîLiãûu coï thãø coïmäüt vaìi mæïc træìu tæåüng , trong
âoï mæïc tháúp nháút laì táûp håüp caïc file dæî liãûu ( Mæïc váût lyï)
Vê duû: Xeït mäüt täøng cäng ty coï nhiãöu cäng ty con vaì häöså vãö caïc nhán viãn cuía
täøng cäng ty coïthãøâæåüc læu træîtrong mäüt file dæîliãûu gäöm caïc træåìng MNV( maî
nhán viãn), HOTEN, LUONG_NV, ÂIACHI... âãø âån giaín ta giaí thiãút cáúu truïc
baín ghi gäöm 2 træåìng sau:
TEN_NV: hoü tãn nhán viãn
NGUOI_QL: Hoü tãn giaïm âäúc cäng ty nåi nhán viãn laìm viãûc.
Khi âoï cáúu truïc baín ghi nhæ sau:
Record
TEN_NV: char[30];
NGUOI_QL: char[30];
end;
Khi âoïfile dæîliãûu laì táûp caïc baín ghi vaìmäùi baín ghi chæïa thäng tin vãömäüt nhán
viãn cuía cäng ty.
Trong nhiãöu mä hçnh Cå Såí Dæî Liãûu ngæåìi ta sæí duûng caïc quan hãû thay cho caïc file
Quan hãû : NHAN_VIEN(TEN_NV,NGUOI_QL)
Ta cáön phán biãût giæîa file vaì quan hãû
Trong file caïc baín ghi khäng nháút thiãút phaíi phán biãût
Trong quan hãû, caïc baín ghi(bäü) cáön phaíi phán biãût nhau.
1.4 Hiãûu quaí truy cáûp dæî liãûu
Caïc hãû âiãöu haình âãöu coï khaí nàng täø chæïc vaì læu træî caïc táûp tin vç váûy viãûc læu træî
caïc táûp tin dæîliãûu âäúi våïi DBMS laì khäng âaïng chuï yï. Hiãûu quaí cuía caïc DBMS trong
viãûc xæílyï trãn caïc táûp tin laì täø chæïc caïc táûp tin phuû hoàûc caïc cäng cuû häùtråü âãøtruy cáûp
dæî liãûu nhanh choïng, këp thåìi . Chàón haûn caïc file INDEX, hoàûc caïc haìm HASH.
1.5 Quaín lyï giao dëch
Ngaìy nay do sæû phaït triãøn cuía maûng maïy tênh maì caïc Cå Såí DæîLiãûu låïn coï thãø
âæåüc sæí duûng båíi nhiãöu ngæåìi trãn caïc maïy tênh khaïc nhau vç váûy caïc DBMS cáön phaíi
cung cáúp mäüt khaí nàng quaín lyïsæû truy cáûp dæîliãûu cuía nhiãöu ngæåìi sæí duûng. Chàón haûn
caïc dæîliãûu vãö taìi khoaín cuïa ngán haìng âæåüc sæí duûng båíi haìng vaûn khaïch haìng trãn caïc
maïy tênh khaïc nhau hoàûc trãn caïc maïy âäøi tiãön tæû âäüng; Cå SåíDæîLiãûu phuûc vuû cho viãûc
âàût chäø cho mäüt haîng haìng khäng âæåüc sæí duûng båíi haìng ngaìn âaûi lyï cuía haîng haìng
khäng âoïtrãn khàõp thãú giåïi. Viãûc truy cáûp âäöng thåìi thæåìng xaíy ra hiãûn tæåüng xung âäüt
Chæång 1. TÄØNG QUAN VÃÖ CÅ SÅÍ DÆÎ LIÃÛU
Baìi soaûn män Cå såí dæî liãûu Nguyãùn Vàn Chæïc
Trang 3
giao dëch giæîa caïc khaïch haìng trãn cuìng mäüt haûng muûc dæîliãûu , vç váûy DBMS cáön phaíi
cung cáúp mäüt khaínàng khoïa dæîliãûu (clock data) khi coïngæåìi sæíduûng truy cáûp âãún haûng
muûc dæî liãûu âoï.
1.6 An toaìn dæî liãûu
Mäüt DBMS cáön phaíi coï khaí nàng phuûc häöi laûi dæîliãûu khi coïsæû hoíng hoïc xaíy ra,
âäöng thåìi vaìráút quan troüng laìbaío vãûsæû truy cáûp cuía caïc ngæåìi sæíduûng khäng âæåüc pheïp
. Âãø thæûc hiãûn cäng viãûc naìy caïc DBMS cho pheïp taûo ra caïc khung nhçn (View) maì ngæåìi
sæí duûng chè âæåüc pheïp quan saït dæîliãûu trãn caïc view. Chàón haûn chuïng ta coïmäüt file dæî
liãûu laì NHAN_VIEN gäöm caïc træåìng
TEN ( Hoü tãn nhán viãn)
DIA_CHI(âëa chè nhán viãn)
TEN_CTY( tãn cäng ty)
LUONG(læång nhán viãn)
nãúu sæí duûng mä hçnh Quan hãû ta coï Quan hãû sau:
NHAN_VIEN(TEN, DIA_CHI, TEN_CTY,LUONG)
Âãømoüi ngæåìi coïthãøtruy cáûp vaìo file dæîliãûu naìy nhæng khäng âæåüc biãút læång cuía nhán
viãn. Trong ngän ngæî SQL khung nhçn âæåüc taûo ra nhæ sau:
CREAT VIEW L_NHAN_VIEN
SELECT TEN, DIA_CHI,TEN_CTY
FROM NHAN_VIEN;
Khi âoï khung nhçn âæåüc taûo ra nhæ mäüt quan hãû våïi tãn L_NHAN_VIEN(TEN,
DIA_CHI, TEN_CTY). Khung nhçn naìy khäng täön taûi váût lyï nhæ táûp tin , nhæng coï thãø
váún tin noï giäúng nhæ táûp tin.
2. Kiãún truïc mäüt Hãû quaín trë Cå Såí Dæî Liãûu
Mäüt Hãû quaín trë Cå Såí Dæî Liãûu âæåüc mä taí båíi 3 mæïc træìu tæåüng sau
Âæåüc viãút bàòng ngän
ngæî âënh nghéa dæî liãûu
Cå Såí Dæî Liãûu
khaïi niãûm CSDL váût
lyï
Khung nhçn 1
Khung nhçn 2
Khung nhçn n
.
.
.
Nhoïm UESR 1
Nhoïm UESR 2
Nhoïm UESR n
.
.
.
Âæåüc viãút bàòng
ngän ngæî âënh
nghéa dæî liãûu
læåüc âäö con
Âæåüc caìi âàût trãn
thiãút bë váût lyï
Chæång 1. TÄØNG QUAN VÃÖ CÅ SÅÍ DÆÎ LIÃÛU
Baìi soaûn män Cå såí dæî liãûu Nguyãùn Vàn Chæïc
Trang 4
2.1 Mæïc Cå Såí Dæî Liãûu váût lyï( physical level)
Laì mäüt táûp caïc táûp tin (file) vaì caïc file chè muûc (Index) hoàûc caïc cáúu truïc læu træî
khaïc duìng âãø truy xuáút chuïng mäüt caïch coïhiãûu quaí, goüi laì Cå Såí Dæî Liãûu váût lyï. Cå Såí
Dæî Liãûu váût lyï täön taûi thæåìng xuyãn trong thiãút bë læu træî nhæ âéa tæì.
2.2 Mæïc Cå Såí Dæî Liãûu khaïi niãûm (Concept level )
Cå SåíDæîLiãûu khaïi niãûm laìsæû træìu tæåüng hoïa cuía thãúgiåïi thæûc khi noïdæåüc gàõn
våïi ngæåìi sæí duûng Cå Såí DæîLiãûu. Caïc DBMS cung cáúp ngän ngæîâëng nghéa dæîliãûu
(data definition language DDL), âãømä taí læåüc âäö khaïi niãûm (conceptual scheme)vaì noï
seî âæåüc caìi âàût bàòng læåüc âäö váût lyï (physical scheme). DDL cho chuïng ta mä taí Cå Såí Dæî
Liãûu khaïi niãûm nhåì caïc thuáût ngæîcuía “Mä hçnh dæîliãûu “ , chàón haûn nhæ trong mä hçnh
quan hãû dæîliãûu âæåüc trçnh baìy qua caïc baíng våïi caïc cäüt laì caïc thuäüc tênh caïc haìng laì caïc
“bäü” tæång tæû nhæ caïc máùu tin.
2.3 Khung nhçn(VIEW)
Khung nhçn(view) hay læåüc âäö con (Subscheme)laì mäüt pháön cuía Cå Såí DæîLiãûu
khaïi niãûm hoàûc laìsæû træìu tæåüng hoïa mäüt pháön Cå Såí DæîLiãûu khaïi niãûm . háöu hãút caïc
DBMS âãöu cung cáúp phæång tiãûn âãø khai baïo khung nhçn , âæåüc goüi laì ngän ngæîâënh
nghéa dæîliãûu læåüc âäö con( subscheme data definition language) vaì caïc phæång tiãûn âãø
thao taïc vaì váún tin trãn khung nhçn goüi laì ngän ngæîthao taïc dæîliãûu læåüc âäö con
(subscheme data manipulation language)
Thê duû1
Chuïng ta thæí phán têch caïc khaïc biãût giæîa caïc mæïc váût lyï, khêa niãûm, khung nhçn
nhåì vaìo tênh tæång tæû cuía chuïng våïi caïc ngän ngæî láûp trçnh. Cuû thãø ta seî noïi vãö maíng:
- ÅÍ mæïc khaïi niãûm maíng coï thãø khia baïo nhæ sau:
Integer array A[1..n,1..m]
Coìn åímæïc váût lyï, maíng A âæåüc læu træîtrong mäüt vuìng liãn tuûc bàõt âáöu tæìâëa chè a0
theo
thæï tæû hãút cäüt âãún doìng. Pháön tæí A[i,j] seî åí vë trê a0
+4(m(i-j)+j-1)
ÅÍ mæïc khung nhçn, ta coï thãø taûo ra nhiãöu khung nhçn tuìy yï. Chàón haûn
f(i)=Â=
m
j 1
A[i, j] cho biãút täøng caïc pháön tæí trãn doìng thæï i.
Læåüc âäö vaì thãø hiãûn
Ngoaìi viãûc phán chia mæïc træìu tæåüng nhæ trong pháön (2) chuïng ta coìn coï mäüt
caïch hiãøu khaïc vãöCå Såí Dæî Liãûu . Khi thiãút kãú chuïng ta quan tám âãún nhæîng hoaûch âënh
(plan) trãn Cå SåíDæîLiãûu ; nhæng khi sæíduûng chuïng ta laûi quan tám âãún nhæîng dæîliãûu
thæûc sæû täön taûi trong Cå Såí DæîLiãûu . Cáön phaíi hiãøu ràòng dæîliãûu trong Cå Såí DæîLiãûu
thæoìng xuyãn thay âäøi , trong khi caïc plan váùn nhæ cuî.
Näüi dung hiãûn thåìi cuía Cå Såí DæîLiãûu goüi laì thãø hiãûn (instance) cuía Cå Såí Dæî
Liãûu .Thuáût ngæîLæåüc âäö(Scheme) âæåüc duìng âãø noïi âãún caïc hoaûch âënh naìy vç váûy khi
noïi âãún læåüc âäökhaïi niãûm laìnoïi vãöhoaûch âënh cho Cå SåíDæîLiãûu khaïi niãûm , vaì chuïng
ta goüi hoaûch âënh Cå Såí Dæî Liãûu váût lyï laì læåüc âäö váût lyï.
Thê duû 2
Chæång 1. TÄØNG QUAN VÃÖ CÅ SÅÍ DÆÎ LIÃÛU
Baìi soaûn män Cå såí dæî liãûu Nguyãùn Vàn Chæïc
Trang 5
Chuïng ta tiãúp tuûc våïi maíng trong vê duû 1. Mä taímaíng vaì haìm âæåüc âæa ra trong
thê duû âoï thæûc sæû laì thäng tin kiãøu læåüc âäö.
1. Læåüc âäö váût lyïlaìmãûnh âãö: Pháön tæíA[i,j] seîåívë trê a0 +4(m(i-j)+j-1), khàón âënh ràòng
maíng A âæåüc læu taûi vë trê bàõt âáöu laì a0
vaì pháön tæí a[i,j] âæåüc læu åí vë trê a0
+4(m(i-j)+j-1)
2. Læåüc âäö khaïi niãûm laì khai baïo Integer array A[1..n,1..m]; A laì mäüt maíng säú nguyãn
våïi n haìng vaì m cäüt.
3. Læåüc âäö con laì âënh nghéa cuía haìm f, nghéa laì
f(i)=Â=
m
j 1
A[i, j]
Âãøâæa ra mäüt thê duû vãömäüt thãøhiãûn cuía læåüc âäökhaïi niãûm naìy , chuïng ta coïthãø
cho n=m=3 khi âoï A laì mäüt ma phæång:
8 1 6
3 5 7
4 9 2
Khi âoï thãø hiãûn váût lyï (Physical instance)seî laì 9 word khåíi âáöu tæì vë trê a0
theo thæï
tæû chæïa 8 1 6 3 5 7 4 9 2. Cuäúi cuìng thãø hiãûn khung nhçn view laì haìm
f(1)=f(2)=f(3)=15
Tênh Âäüc láûp dæî liãûu .
Så âäö vãö caïc mæïc træìu tæåüng trong pháön (2) chè roî âi tæì khung nhçn qua Cå Såí Dæî
Liãûu khaïi niãûm âãún Cå Såí DæîLiãûu váût lyï âæa ra hai mæïc âäüc láûp dæîliãûu (data
independence).
- Âäüc láûp dæîliãûu váût lyï (physcal data independence) : Chuïng ta coï thãø thay âäøi
læåüc âäö váût lyï maì khäng laìm aính hæåíng âãún læåüc âäö khaïi niãûm hay phaíi âënh
nghéa laûi caïc læåüc âäöcon. Noïkhàón âënh ràòng viãûc sæía âäøi vãötäøchæïc vãöCå SåíDæî
Liãûu váût lyïcoïthãøaính hæåíng âãún tênh hiãûu cuía caïc chæång trçnh æïng duûng , nhæng
khäng bao giåì phaíi viãút laûi nhæîng chæång trçnh naìy.
- Âäüc láûp dæîliãûu logic (logical data independence) âæåüc âæa ra båíi mäúi quan hãû
giæîa khung nhçn vaìCå SåíDæîLiãûu khaïi niãûm. Khi sæí duûng Cå SåíDæîLiãûu cuîng
coï thãø cáön phaíi sæía âäøi læåüc âäö khaïi niãûm, coï nhiãöu sæía âäøi læåüc âäö khaïi niãûm
khäng laìm aính hæåíng âãún caïc læåüc âäö con hiãûn coï, vaì cuîng coï mäüt säú sæía âäøi
khaïc seîcáön phaíi âënh nghéa laûi caïc aïnh xaû tæìlæåüc âäöcon âãún læåüc âäökhaïi niãûm .
træåìng håüp naìy khäng cáön thay âäøi chæång trçnh æïng duûng . Mäüt laoüi thay âäøi duy
nháút trong læåüc âäö khaïi niãûm buäüc phaíi thay âäøi læåüc âäöcon laìviãûc xoïa caïc thäng