BỘ NN PTNT
TRƯỜNG CAO ĐẲNG ĐIỆN NI
GIÁO
TRÌNH
Tên môn học:
TRÌNH
ĐỘ
CAO ĐẲNG
Nội năm 2022
CƠ SỞ DỮ LIỆU
1
Ch-¬ng I: Tæng quan vÒ c¬ së d÷ liÖu
1. Mét sè kh¸i niÖm
1.1. C¬ së d÷ liÖu
liÖu (Database, viÕt t¾t CSDL) mét lÜnh vùc nghiªn cøu
c¸c m« h×nh, nguyªn lý, ph-¬ng ph¸p tæ chøc d÷ liÖu trªn c¸c vËt mang tin.
§Ó dµng cho viÖc gi¶i thÝch c¸c kh¸i niÖm, tr-íc hÕt xem xÐt
thèng b¸n m¸y bay b»ng m¸y tÝnh. liÖu l-u ttrong m¸y tÝnh bao
gåm th«ng tin hµnh kh¸ch, chuyÕn bay, ®-êng bay v...v. Mäi th«ng tin vÒ
mèi quan hÖ nµy ®-îc biÓu diÔn trong m¸y th«ng qua viÖc ®Æt chç cña kh¸ch
hµng. VËy lµm thÕ nµo ®Ó biÓu diÔn ®-îc liÖu ®ã ®¶m b¶o cho hµnh
kh¸ch ®i ®óng chuyÕn. liÖu nªu trªn ®-îc l-u trong m¸y theo mét quy
®Þnh nµo ®ã vµ ®-îc gäi lµ c¬ së d÷ liÖu.
Nh- vËy, CSDL tËp hîp c¸c th«ng tin quan víi nhau ®-îc
l-u tr÷ trong m¸y tÝnh theo mét qui ®Þnh nhÊt ®Þnh nh»m phôc cho mét
môc ®Ých nµo ®ã.
1.2 HÖ qu¶n trÞ c¬ së d÷ liÖu
qu¶n trÞ c¬ së d÷ liÖu (Database Management System- HQTCSDL)
thèng c¸c ch-¬ng tr×nh nh»m t¹o lËp, lý, thay ®æi, qu¶n khai
th¸c c¸c CSDL.
Mét HQTCSDL th«ng dông hiÖn nay: Foxpro, Access, Oracle,..víi
c¸c phiªn b¶n kh¸c nhau.
hai ®Æc ®iÓm ®Ó ph©n biÖt mét HQTCSDL víi c¸c thèng lËp
tr×nh kh¸c:
1) Kh¶ n¨ng qu¶n lÝ nh÷ng d÷ liÖu cè ®Þnh.
2) Kh¶ n¨ng truy xuÊt cã hiÖu qu¶ mét sè l-îng lín d÷ liÖu.
§iÓm (1) kh¼ng ®Þnh r»ng cã mét CSDL tån t¹i th-êng xuyªn néi
dung cña CSDL nµy lµ nh÷ng liÖu ®-îc HQTCSDL truy xuÊt qu¶n lÝ.
2
§iÓm (2) ph©n biÖt mét HQTCSDL víi c¸c thèng qu¶n tËp tin cïng
qu¶n liÖu ®Þnh nh-ng nãi chung kh«ng cho phÐp truy xuÊt nhanh
chãng c¸c thµnh phÇn tuú ý cña liÖu. Ngoµi ra cßn mét kh¶ n¨ng
kh¸c th-êng gÆp trong c¸c HQTCSDL trªn thÞ tr-êng.
3) HQTCSDL trî Ýt nhÊt mét h×nh liÖu nhê ®ã ng-êi sö
dông cã thÓ xem ®-îc d÷ liÖu.
4) HQTCSDL trî mét ng«n ng÷ bËc cao cho phÐp ng-êi sö
dông ®Þnh nghÜa c¸c c©u tróc d÷ liÖu, truy xuÊt d÷ liÖu vµ thao t¸c d÷ liÖu.
5) HQTCSDL qu¶n lÝ c¸c giao dÞch, nghÜa lµ cho phÐp nhiÒu ng-êi
sö dông truy xuÊt ®ång thêi vµ chÝnh x¸c ®Õn mét CSDL.
6) HQTCSDL ®iÒu khiÓn qu¸ tr×nh truy xuÊt, kh ng giíi h¹n
c¸c qu¸ tr×nh truy xuÊt liÖu cña nh÷ng ng-êi kh«ng ®-îc phÐp kh¶
n¨ng kiÓm tra ®é tin cËy cña d÷ liÖu.
7) HQTCSDL cã kh¶ n¨ng tù thÝch øng lµ kh¶ n¨ng phôc håi l¹i d÷
liÖu do sù cè cña hÖ thèng mµ lµm mÊt d÷ liÖu.
2. C¸c m« h×nh d÷ liÖu
M« h×nh CSDL( Database Model )
M« h×nh CSDL lµ mét hÖ h×nh thøc to¸n häc gåm cã hai phÇn:
1) Mét hÖ thèng ký hiÖu ®Ó m« t¶ d÷ liÖu.
2) Mét tËp hîp c¸c phÐp to¸n thao t¸c trªn d÷ liÖu ®ã.
Mét sè m« h×nh CSDL th«ng dông
2.1. M« h×nh m¹ng
Kh¸i niÖm: M« h×nh m¹ng là mét m« h×nh s¬ ®å thùc thÓ liªn kÕt vi
tÊt c¶ c¸c liªn kÕt ®-îc h¹n chÕ lµ liªn kÕt hai ng«i nhiÒu mét. Hn chế
này cho phÐp chóng ta s dng đồ th cã hướng đơn gin để biu din d
liu trong m« h×nh này. Trong m« h×nh mng, c¸c tp thc th được chuyn
3
thành c¸c kiu bn ghi logic. C¸c kiu bn ghi logic bao gm mt tp c¸c
trường, mi tr-êng chøa gi¸ trÞ là mét sè nguyªn hay mét x©u ký tù TËp
tªn c¸c tr-êng và c¸c kiÓu cña chóng cÊu thành quy c¸ch b¶n ghi logic.
2.2. M« h×nh ph©n cÊp
t m« h×nh ph©n cÊp ®¬n gi¶n là t m« h×nh m¹ng mà là t ng
(tËp c¸c c©y) trong tÊt c¸c mãc i trá theo h-íng con ®Õn cha.
Chóng ta sÏ tiÕp tôc ng c thuËt ng÷ a m« h×nh m¹ng: kiÓu b¶n ghi
logic khi chóng ta nãi vÒ m« h×nh ph©n cÊp.
2.3. M« h×nh quan hÖ Lµ m« h×nh dùa vµo ký hiÖu lµ tËp c¸c tªn vµ c¬ së
to¸n häc cña nã lµ c¸c phÐp to¸n tËp hîp vµ ¸nh x¹. Nã lµ m« h×nh phæ biÕn
hiÖn nay. TËp c¸c phÐp to¸n trong m« h×nh nµy dùa trªn hai hÖ ký hiÖu: hÖ ký
hiÖu ®¹i sè vµ hÖ ký hiÖu logic.
2.4. h×nh thùc thÓ liªn kÕt: h×nh cho phÐp c¸c thùc thÓ
th«ng qua c¸c thuéc tÝnh mèi liªn gi÷a c¸c thùc thÓ. Mét trong c¸c
c¸ch biÓu thÞ m« h×nh thùc thÓ lµ dïng ®å thÞ, s¬ ®å khèi.
Môc ®Ých cña h×nh thùc thÓ- liªn cho phÐp m« t¶ l-îc ®å kh¸i niÖm
cña mét chøc kh«ng cÇn chó ý ®Õn tÝnh hiÖu qu¶ hoÆc thiÕt CSDL
vËt ®-îc mong ®îi nh- ë phÇn lín c¸c h×nh kh¸c. Ng-êi ta thõa nhËn
r»ng ®å thùc thÓ liªn kÕt ( Entity Relationship Diagram) thÓ
chuyÓn vÒ l-îc ®å kh¸i niÖm ë c¸c m« h×nh kh¸c (vÝ dô m« h×nh quan hÖ)
trªn ®ã c¸c hÖ thèng CSDL thùc sù ®-îc x©y dùng mét c¸ch kh¸ ®¬n gi¶n.
2.4.1 Thùc thÓ
ThuËt ng÷ thùc thÓ (Entity) kh«ng cã mét ®Þnh nghÜa h×nh thøc. Thùc
thÓ mét vËt tån t¹i ph©n biÖt ®-îc, nghÜa thÓ ph©n biÖt ®-îc
thùc thÓ nµy víi thùc thÓ kh¸c. mçi con ng-êi mét thùc thÓ, mçi
chiÕc xe m¸y mét thùc thÓ. Kh¸i niÖm TÝnh ph©n biÖt ®îc rÊt gÇn
víi ®Æc tÝnh nhËn d¹ng ®èi tîng” thÕ h×nh thùc thÓ liªn ®îc
xem nh- lµ m« h×nh h-íng ®èi t-îng.
4
2.4.2. TËp thùc thÓ
Mét nhãm bao gåm tÊt c¸c thùc thÓ “t¬ng tù” t¹o ra mét tËp thùc
thÓ.
VÝ dô 1.4: C¸c tËp thùc thÓ
+ TÊt c¶ mäi ng-êi trong mét c¬ quan.
+ TÊt c¶ mäi ng-êi cã tãc ®á.
+ TÊt c¶ mäi xe g¾n m¸y.
Mét trong c¸c b-íc mÊu chèt ®Ó chän mét l-îc ®å cho thÕ giíi thùc
khi nã thuéc mét CSDL thÓ lùa chän c¸c tËp thùc thÓ. Kh¸i niÖm tËp
thùc thÓ mét kh¸i niÖm ë møc l-îc ®å. Kh¸i niÖm ë møc thÓ hiÖn t-¬ng
øng lµ tËp con hiÖn hµnh cña tÊt c¶ c¸c phÇn tö cña mét tËp thùc thÓ cho tr-íc
®ang hiÖn diÖn trong CSDL.
2.4.3. Thuéc tÝnh vµ kho¸
+ Thuéc tÝnh: C¸c ®Æc tÝnh cña tËp thùc thÓ gäi lµ c¸c thuéc tÝnh. Mçi thuéc
tÝnh cña tËp thùc thÓ lÊy gi¸ trÞ trªn mét miÒn dµnh cho thuéc tÝnh ®ã.
Th-êng th× miÒn gi¸ trÞ ®èi víi mçi thuéc tÝnh lµ mét tËp sè nguyªn, tËp c¸c
sè thùc hoÆc chuçi ký tù nh-ng còng kh«ng lo¹i trõ c¸c kiÓu gi¸ trÞ kh¸c.
ThÝ dô mét tËp thùc thÓ con ng-êi cã thÓ khai b¸o cã c¸c thuéc tÝnh nh-
vµ tªn (chuçi ký tù), chiÒu cao (sè thùc), ngµy sinh (ngµy th¸ng n¨m),...
Chän thuéc tÝnh thÝch hîp cho c¸c tËp thùc thÓ lµ mét b-íc quan träng trong
viÖc thiÕt kÕ l-îc ®å CSDL kh¸i niÖm.
+ Khãa: Mçi thuéc tÝnh hoÆc mét tËp c¸c thuéc tÝnh dïng ®Ó x¸c ®Þnh mét
c¸ch duy nhÊt mçi thùc thÓ trong mét tËp thùc thÓ gäi khãa ®èi víi tËp
thùc thÓ ®ã. nguyªn t¾c, mçi thùc thÓ mét khãa, bëi i thùc thÓ
®Òu thÓ ph©n biÖt ®-îc i thùc thÓ kh¸c. NÕu kh«ng chän ®-îc mét p
c¸c thuéc tÝnh chøa mét khãa cho mét tËp thùc thÓ th× kh«ng cã kh¶ n¨ng