LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
Trêng ®¹i häc quèc gia hµ néi
trêng ®¹i häc khoa häc tù nhiªn
khoa c«ng nghÖ th«ng tin
---------<>---------
kiÒu thu h»ng
C¥ Së D÷ LIÖU PH¢N T¸N PHôC Vô
C¤NG T¸C QU¶N Lý VËT T¦
LuËn v¨n tèt nghiÖp cö nh©n khoa häc
Ngµnh tin häc m· ngµnh : 01 - 02 - 10
Hµ néi 1998
KiÒu Thu H»ng
0
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
Trêng ®¹i häc quèc gia hµ néi
trêng ®¹i häc khoa häc tù nhiªn
khoa c«ng nghÖ th«ng tin
---------<>---------
kiÒu thu h»ng
C¥ Së D÷ LIÖU PH¢N T¸N PHôC Vô
C¤NG T¸C QU¶N Lý VËT T¦
LuËn v¨n tèt nghiÖp cö nh©n khoa häc
Ngµnh tin häc m· ngµnh : 01 - 02 - 10
Gi¸o viªn híng dÉn : TrÇn Xu©n ThuËn
Vò M¹nh Cêng
Gi¸o viªn ph¶n biÖn
KiÒu Thu H»ng
1
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
Môc lôc
lêi giíi thiÖu
PhÇn I : Tæng quan vÒ c¬ së d÷ liÖu vµ ph¬ng
ph¸p case
Ch¬ng I : Tæng quan vÒ c¬ së d÷ liÖu
I.1. Tæng quan vÒ c¬ së d÷ liÖu quan hÖ
1. Kh¸i niÖm c¬ b¶n vÒ hÖ qu¶n trÞ c¬ së d÷ liÖu............. Trang 4
2. C¸c yªu cÇu ®èi víi hÖ qu¶n trÞ c¬ së d÷ liÖu................ Trang 5
3. M« h×nh c¬ së d÷ liÖu quan hÖ.....................................Trang 7
3.1. C¸c kh¸i niÖm c¬ së........................................Trang 7
3.2. Kh¸i niÖm vÒ lîc ®å quan hÖ............................Trang 8
4. Kho¸ vµ c¸c phÐp to¸n trªn c¬ së d÷ liÖu....................Trang 9
4.1. Kho¸...............................................................Trang 9
4.2. C¸c phÐp to¸n trªn c¬ së d÷ liÖu.....................Trang 10
5. VÊn ®Ò thiÕt kÕ c¬ së d÷ liÖu quan hÖ...........................Trang12
I. 2.M« h×nh c¬ së d÷ liÖu quan hÖ ORACLE.
1. KiÕn tróc ORACLE SERVER....................................Trang13
2. Toµn vÑn d÷ liÖu...........................................................Trang14
I.3. M« h×nh c¬ së d÷ liÖu ph©n t¸n
1. Kh¸i niÖm vÒ c¬ së d÷ liÖu ph©n t¸n............................Trang18
2. C¸c ®Æc ®iÓm cña c¬ së d÷ liÖu ph©n t¸n ®èi s¸nh víi c¬ së d÷ liÖu tËp
trung.........................................................................Trang 20
3. Nguyªn nh©n ph©n t¸n c¬ së d÷ liÖu..................................Trang 23
4.
5.
Lîi Ých cña c¬ së d÷ liÖu ph©n t¸n.......................................Trang 25
HÖ thèng qu¶n lý vµ c¸ch thøc truy nhËp c¬ së d÷ liÖu ph©n
t¸n........................................................................................Trang 26
KiÒu Thu H»ng
2
LuËn v¨n tèt nghiÖp
6.
X©y dùng hÖ thèng qu¶n lý vËt t
Qu¶n trÞ c¬ së d÷ liÖu ph©n t¸n............................................Trang 28
6.1.Qu¶n lý b¶ng danh môc trong c¬ së d÷ liÖu ph©n t¸n....Trang29
6.2.
Néi dung cña b¶ng danh môc........................Trang30
6.3.
Ph©n t¸n b¶ng danh môc.................................Trang31
6.4.
Qu¶n trÞ vµ b¶o vÖ.............................................Trang32
6.5.
¸p ®Æt luËt ph©n quyÒn......................................Trang33
6.6.
Ph©n líp ngêi sö dông........................................Trang34
I.4.KiÕn tróc ph©n t¸n ORACLE 7
1.Tæng qu¸t...................................................................Trang34
2. Nh÷ng ®Æc trng ph©n t¸n ORACLE 7.....................Trang36
3. C¬ së cña viÖc thiÕt kÕ...............................................Trang37
4.VÊn ®Ò an toµn.............................................................Trang40
Ch¬ng II : Case * Method vµ c¸c c«ng cô
II.1. Ph¬ng ph¸p case * Method
II.2. C¸c kü thuËt vµ c«ng cô hç trî
II.3. M« h×nh vËt lý vµ logic
II.5. ý nghÜa cña case * Method
PhÇn II : Ph©n tÝch vµ thiÕt kÕ hÖ thèng qu¶n lý vËt t
Ch¬ng III : Ph©n tÝch hÖ thèng
I. Kh¸i qu¸t vÒ hÖ thèng ...............................Trang 57
II. Ph©n tÝch hÖ thèng....................................Trang 64
A.Ph©n t¸n m« h×nh bµi to¸n.
B.Ph©n tÝch d÷ liÖu.
C.Ph©n tÝch chøc n¨ng.
Ch¬ng IV : ThiÕt kÕ vµ x©y dùng hÖ thèng
KiÒu Thu H»ng
3
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
I. ThiÕt kÕ d÷ liÖu.............................Trang85.
II.ThiÕt kÕ chøc n¨ng.........................Trang90.
Ch¬ng V: Ch¬ng tr×nh
PhÇn kÕt luËn
Phô lôc
Tµi liÖu tham kh¶o
KiÒu Thu H»ng
4
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
lêi giíi thiÖu
HiÖn nay trong c«ng t¸c qu¶n lý, cã nhiÒu c«ng cô cã thÓ trî gióp cho
qu¸ tr×nh ph¸t triÓn hÖ thèng. Mçi lo¹i c«ng cô cã nh÷ng ®iÓm m¹nh, ®iÓm
yÕu riªng. B¶n luËn v¨n nµy ®Ò cËp tíi viÖc dïng hÖ qu¶n trÞ c¬ së d÷ liÖu
ORACLE7 lµ mét hÖ qu¶n trÞ c¬ së d÷ liÖu m¹nh, ®¸p øng ®îc nhu cÇu hÖ
thèng. ORACLE ®¹t ®îc c¸c u ®iÓm :
Cho phÐp ngêi dïng cïng truy nhËp ®Õn c¬ së d÷ liÖu theo m«
h×nh Client-Server.
HÖ thèng cã kh¶ n¨ng ph©n t¸n c¬ së d÷ liÖu.
§é an toµn, æn ®Þnh, vµ tÝnh b¶o mËt cao.
§èi víi ORACLE7 viÖc ph©n tÝch thiÕt kÕ mét hÖ thèng dùa trªn ph¬ng
ph¸p CASE * Method cho phÐp ngêi lµm hÖ thèng cã c¸ch nh×n nhËn vÊn ®Ò
mét c¸ch tæng qu¸t, lµm cho hÖ thèng s¸ng sña, ®ång thêi gi¶m rÊt nhiÒu c«ng
søc lËp tr×nh. ORACLE lµ mét hÖ qu¶n trÞ c¬ së d÷ liÖu cha ®îc phæ biÕn réng
r·i t¹i ViÖt Nam, viÖc nghiªn cøu vµ sö dông lµ mét viÖc lµm cã ý nghÜa.
Trong luËn v¨n nµy th«ng qua viÖc gi¶i quyÕt bµi to¸n qu¶n lý vËt t dùa
trªn hÖ qu¶n trÞ c¬ së d÷ liÖu ORACLE7, tr×nh bµy chi tiÕt vÒ qu¸ tr×nh ph©n
tÝch bµi to¸n tiÕn hµnh theo ph¬ng ph¸p CASE * Method vµ sö dông nh÷ng
c«ng cô Designer/2000. CASE*Method do ORACLE ®Ò xíng lµ mét c¸ch tiÕp
cËn cã cÊu tróc ®èi víi mét hÖ thèng th«ng tin qu¶n lý. Nã thùc sù lµ mét
c«ng nghÖ hiÖn ®¹i dùa trªn nguyªn t¾c ph¸t triÓn hÖ thèng qua nhiÒu giai
®o¹n nèi tiÕp nhau. Toµn bé chu tr×nh ph¸t triÓn vµ x©y dùng ®Ò tµi ®i theo
tõng giai ®o¹n vµ tu©n thñ mäi nguyªn t¾c cña ph¬ng ph¸p CASE * Method
®ång thêi tiÕp nhËn nh÷ng c«ng cô hç trî cã s½n ®Ó ph¸t triÓn hÖ thèng.
Bªn c¹nh ph¬ng ph¸p CASE * Method ®Ó tiÕp cËn bµi to¸n, trong phÇn
lý thuyÕt cßn ®a ra m« h×nh c¬ së d÷ liÖu ph©n t¸n cña ORACLE. Th«ng qua
bµi to¸n cô thÓ nµy, ®Ò cËp vÊn ®Ò thiÕt kÕ m« h×nh c¬ së d÷ liÖu ph©n t¸n
theo chuÈn cña ORACLE, viÖc thiÕt kÕ ®ã thùc hiÖn nh thÕ nµo, qu¸ tr×nh ph¸t
triÓn ra sao vµ cã nh÷ng lîi ®iÓm g× còng sÏ ®îc ®Ò cËp ®Õn trong nh÷ng phÇn
díi ®©y.
Theo ®ã, ch¬ng tr×nh ®îc nghiªn cøu vµ x©y dùng víi môc ®Ých :
1.T×m hiÓu vµ x©y dùng hÖ thèng qu¶n lý vËt t dùa trªn hÖ qu¶n trÞ c¬ së
d÷ liÖu ORACLE 7.
KiÒu Thu H»ng
5
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
2. Th«ng qua viÖc ph¸t triÓn bµi to¸n ®Ó t×m hiÓu vÒ ph¬ng ph¸p ph©n
tÝch thiÕt kÕ hÖ thèng CASE * Method vµ c¸c c«ng cô hç trî cña
ORACLE trong tõng giai ®o¹n cña qu¸ tr×nh ph¸t triÓn hÖ thèng.
3. §a ra m« h×nh qu¶n lý c¬ së d÷ liÖu ph©n t¸n cã thÓ ¸p dông cho
nhiÒu hÖ thèng kh¸c nhau.
Víi ba môc ®Ých trªn ®©y, cô thÓ trong bµi luËn v¨n nµy ®îc chia thµnh
2 phÇn riªng biÖt . PhÇn 1 nªu kh¸i niÖm c¬ b¶n vÒ hÖ c¬ së d÷ liÖu nãi chung,
ph¬ng ph¸p ph¸t triÓn hÖ thèng CASE * Method c¸c c«ng cô ph¸t triÓn cña
ORACLE 7, qua ®ã sang phÇn 2 ph©n tÝch thiÕt kÕ hÖ thèng vµ thö nghiÖm c¬
së d÷ liÖu ph©n tÝch bµi to¸n qu¶n lý vËt t. Tuy nhiªn trong khu«n khæ cña
luËn v¨n nµy kh«ng tr¸nh khái thiÕu sãt do thêi gian còng nh tr×nh ®é nªn cã
thÓ cha ®¸p øng mét c¸ch ®Çy ®ñ cho c¸c môc ®Ých ®· nªu.
Em xin ch©n thµnh c¶m ¬n thÇy Hµ Quang Thôy, thÇy TrÇn Xu©n
ThuËn, thÇy Vò M¹nh Cêng cïng c¸c thÇy c« gi¸o trong khoa C«ng NghÖ
Th«ng Tin, c¸c anh chÞ nh©n viªn c«ng ty CSE ®· gióp ®ì em hoµn thµnh luËn
v¨n nµy.
KiÒu Thu H»ng
6
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
phÇn i : tæng quan vÒ c¬ së d÷ liÖu
ph¬ng ph¸p case * method
ch¬ng i : tæng quan vÒ c¬ së d÷ liÖu.
Ch¬ng nµy tr×nh bµy vÒ c¸c vÊn ®Ò sau:
1. C¸c vÊn ®Ò chung cña c¬ së d÷ liÖu quan hÖ.
2. M« h×nh c¬ së d÷ liÖu ph©n t¸n.
I.1 . tæng quan vÒ c¬ së d÷ liÖu quan hÖ.
1. Kh¸i niÖm vÒ mét hÖ c¬ së d÷ liÖu :
Trong hÖ thèng tin häc nãi chung, bao gåm c¶ m¸y tÝnh c¸ nh©n, viÖc
lu tr÷ vµ sö dông th«ng tin ph¶i tu©n thñ theo mét quy t¾c nhÊt ®Þnh, d÷ liÖu ®îc lu tr÷ ®ã cßn gäi lµ c¬ së d÷ liÖu (database). Tuy nhiªn ®Ó dÔ hiÓu h¬n cho
viÖc t×m hiÓu c¬ së d÷ liÖu ta cÇn ®a ra mét sè nhËn xÐt sau :
HÖ qu¶n trÞ c¬ së d÷ liÖu cho phÐp liªn hÖ víi m¸y th«ng qua mµn
h×nh vµ c¸c bé nhí phô qua giao diÖn b»ng c¸c lÖnh cña ng«n ng÷
ngêi/m¸y.
HÖ qu¶n trÞ c¬ së d÷ liÖu cã ph¬ng ph¸p, c«ng cô ®Ó lu tr÷, t×m
kiÕm, söa ®æi vµ sö dông.
HÖ qu¶n trÞ c¬ së d÷ liÖu cho phÐp m« t¶ d÷ liÖu mét c¸ch ®Çy ®ñ tõ
viÖc x¸c ®Þnh tªn cho tíi viÖc ®Þnh d¹ng d÷ liÖu vµ c¸c tÝnh chÊt cña d÷ liÖu ®ã
mµ nã vÉn ®¶m b¶o kh«ng bÞ phô thuéc vµo ngêi sö dông, hay nh÷ng thay ®æi
bªn ngoµi hoÆc t×m kiÕm th«ng tin. §©y chÝnh lµ bé diÔn dÞch víi ng«n ng÷
bËc cao nh»m lµm gi¶m bít c«ng søc cña ngêi sö dông khi hä th©m nhËp vµo
hÖ thèng mµ kh«ng cÇn quan t©m ®Õn thuËt to¸n hay c¸ch biÓu diÔn d÷ liÖu.
§Ó nghiªn cøu mét c¬ së d÷ liÖu ngêi ta ph©n chia nã thµnh c¸c møc kh¸c
nhau , mçi møc ®¶m b¶o mét nhiÖm vô riªng nh trong h×nh 1.1
KiÒu Thu H»ng
7
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
USER 1
KHUNG NHIN 1
USER 2
KHUNG NHIN 2
USER n
CSDL môc
kh¸i niÖm
LOGIC
CSDL môc
VËt lý
KHUNG NHIN n
H×nh 1.1 : c¸c møc trong c¬ së d÷ liÖu
PhÇn c¬ së d÷ liÖu møc vËt lý lµ c¸c tÖp d÷ liÖu theo mét cÊu tróc
nµo ®ã ®îc lu trªn thiÕt bÞ nhí phô, lµm nhiÖm vô ph©n phèi kho¶ng trèng
trªn thiÕt bÞ nhí.
Së d÷ liÖu møc kh¸i niÖm lµ sù biÓu diÔn trõu tîng cña c¬ së d÷
liÖu møc vËt lý hay c¬ së d÷ liÖu møc vËt lý lµ sù cµi ®Æt cô thÓ cña c¬ së d÷
liÖu møc kh¸i niÖm.
C¸c khung nh×n chÝnh lµ mét c¸ch nh×n trong quan niÖm cña
tõng ngêi sö dông ®èi víi c¬ së d÷ liÖu møc kh¸i niÖm , gi÷a khung nh×n vµ
møc kh¸i niÖm kh«ng cã sù kh¸c biÖt mÊy.
2. c¸c yªu cÇu ®èi víi hÖ qu¶n trÞ c¬ së d÷ liÖu.
Qua phÇn kh¸i niÖm c¬ b¶n ta thÊy c¬ së d÷ liÖu cã nh÷ng ®èi tîng
nghiªn cøu cô thÓ , viÖc nghiªn cøu c¸c ®èi tîng nµy chÝnh lµ sù tiÕp cËn vµo
mét c¬ së d÷ liÖu. C¸c ®èi tîng cô thÓ :
Sù ®éc lËp vËt lý : Ta gi¶ sö cã mét d÷ liÖu cô thÓ, viÖc sö dông
d÷ liÖu ®ã vµ ý nghÜa cña nã kh«ng phô thuéc vµo thÕ giíi tin häc. MÆt kh¸c
mét nhãm d÷ liÖu ®ang thÓ hiÖn mét thùc thÓ vµ c¸c quan hÖ gi÷a chóng
KiÒu Thu H»ng
8
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
(Entity Relationship) kh«ng gièng nh mét d÷ liÖu cô thÓ nã ®ßi hái ph¶i ®îc
x¸c ®Þnh ®Ó hîp víi khung nh×n cô thÓ, ®iÒu nµy phô thuéc vµo thÕ giíi thùc.
Bªn c¹nh ®ã thÕ giíi thùc bao gåm cÊu tróc d÷ liÖu cña ngêi lµm tin häc, chØ
trong hÖ thèng tin häc. TÊt c¶ hå s¬, b¶n ghi, tiªu chuÈn t×m kiÕm, ....cÇn ®îc
xÐt ®Õn tÝnh hiÖu qu¶ vµ cã sù khai th¸c mÒm dÎo, ®iÒu nµy phô thuéc vµo
c¸ch xö lý vËt lý c¸c th«ng tin.
Do vËy cÇn ph¶i x¸c ®Þnh tËp c¸c d÷ liÖu c¬ së trong cÊu tróc d÷ liÖu
mét c¸ch ®éc lËp víi tËp d÷ liÖu thùc hiÖn trong thÕ giíi thùc, cã tÝnh ®Õn c¸c
tiªu chuÈn hiÖu qu¶ vµ tÝnh mÒm dÎo.
Sù ®éc lËp logic : Ta thÊy cÇn cã cÊu tróc chuÈn m« t¶ ng÷ nghÜa
cña d÷ liÖu trong thÕ giíi thùc, cÊu tróc nµy lµ kh¸i qu¸t cña mét khung nh×n
cô thÓ cña mçi nhãm c«ng t¸c. Mçi nhãm cã yªu cÇu d÷ liÖu kh¸c nhau , vÒ
thùc thÓ vµ quan hÖ, chóng cÇn ®îc quan t©m riªng, chØ ®îc biÕt riªng phÇn
néi dung vµ ng÷ nghÜa cña d÷ liÖu .
Sù ®éc lËp logic cho phÐp ngêi sö dôngchØ thÊy d÷ liÖu m×nh quan t©m,
®ång thêi ph¸t triÓn ®îc khung nh×n cña riªng tõng nhãm hay toµn bé khung
nh×n chuÈn.
Qu¶n trÞ tËp trung mét sè chøc n¨ng cña hÖ qu¶n trÞ c¬ së d÷
liÖu : Nh÷ng chøc n¨ng c¬ b¶n cña mét hÖ c¬ së d÷ liÖu lµ ®Þnh nghÜa nh÷ng
cÊu tróc lu tr÷ vµ cÊu tróc dù tr÷ ®ång thêi theo dâi ®îc sù ph¸t triÓn cña nã.
Nh÷ng chøc n¨ng ®ã gäi lµ qu¶n trÞ d÷ liÖu ®iÒu khiÓn cã hiÖu qu¶ ®Ó gi¶i
quyÕt xung ®ét, gi÷a c¸c khung nh×n kh«ng ph¶i lu«n lu«n t¬ng hîp vµ ®Ó tèi
u viÖc truy nhËp cÇn ph¶i tËp trung nh÷ng chøc n¨ng ®ã trong mét nhãm ngêi
cã chÊt lîng chuyªn m«n cao.
Tr¸nh d thõa d÷ liÖu : Trong tÊt c¶ c¸c hÖ thèng cµi ®Æt tõ tríc
®Õn nay, mçi øng dông ®Òu chiÕm riªng mét sè d÷ liÖu, ®iÒu nµy sÏ dÉn ®Õn
viÖc sö dông lÆp l¹i c¸c d÷ liÖu, tèn bé nhí phô, vµ cã thÓ g©y xung ®ét khi
cËp nhËt d÷ liÖu. Do vËy, cÇn tÝnh ®Õn viÖc tËp trung d÷ liÖu trong c¸c trêng
hîp cã thÓ ®îc.
Sù an toµn d÷ liÖu : BÊt kú mét hÖ c¬ së d÷ liÖu nµo còng cÇn
ph¶i ®Ò cËp ®Õn vÊn ®Ò nµy ®Ó ®¶m b¶o viÖc bÝ mËt d÷ liªô, nã chØ cho phÐp
nh÷ng ngêi cã quyÒn truy nhËp ®Õn d÷ liÖu mµ ngêi ®ã sö dông, tr¸nh hiÖn tîng truy nhËp bõa b·i.
3. m« h×nh c¬ së d÷ liÖu quan hÖ :
HiÖn t¹i cã rÊt nhiÒu m« h×nh c¬ së d÷ liÖu ®îc sö dông ®Õn nhng m«
h×nh c¬ së d÷ liÖu quan hÖ lµ mét m« h×nh cã nhiÒu ngêi quan t©m h¬n c¶, bëi
lÏ m« h×nh c¬ së d÷ liÖu quan hÖ cã tÝnh ®éc lËp d÷ liÖu cao, l¹i dÔ dµng sö
dông. §iÒu quan träng h¬n c¶ lµ m« h×nh quan hÖ ®îc h×nh thøc to¸n häc rÊt
KiÒu Thu H»ng
9
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
tèt do ®ã ®îc nghiªn cøu vµ ph¸t triÓn cho nhiÒu kÕt qu¶ lý thuyÕt còng nh
thùc tiÔn, cã thÓ kÓ ®Õn c¸c c«ng tr×nh cña Codd. Trªn c¬ së m« h×nh c¬ së d÷
liÖu quan hÖ ®Õn nay ngêi ta ®· ph¸t triÓn thªm mét sè lo¹i m« h×nh kh¸c
nh»m m« t¶ vµ thÓ hiÖn thÕ giíi thùc mét c¸ch chÝnh x¸c vµ phï hîp h¬n nh
m« h×nh quan hÖ thùc thÓ(Entity RelationShip Model), m« h×nh d÷ liÖu híng
®èi tîng (Object Oriented Model).
Lý thuyÕt kh«ng t¸ch rêi kh¸i niÖm quan hÖ lµ lý thuyÕt chuÈn ho¸ c¸c
quan hÖ. Môc ®Ých lµ bá ®i c¸c phÇn tö kh«ng b×nh thêng cña quan hÖ khi cËp
nhËt, lo¹i bá c¸c d÷ liÖu d thõa, hiÓu®îcquan hÖ ng÷ nghÜa gi÷a c¸c d÷ liÖu.
3.1. C¸c kh¸i niÖm c¬ së :
MiÒn(Domain) : TËp c¸c gi¸ trÞ.
VÝ dô: TËp hai con sè { 0,1 } = D lµ mét miÒn.
Gäi D1, D2, ..., Dn lµ n miÒn. TÝch §ª_cac cña n miÒn lµ D1*D2*...Dn lµ tËp
tÊt c¶ n_bé (V1,V2, ... Vn) sao cho Vi Di, víi i = 1 ...n.
Quan hÖ (Relation) : TËp con cña tÝch §ª_c¸c cña danh s¸ch
miÒn. Nh vËy mçi quan hÖ cã thÓ lµ v« h¹n, ë ®©y lu«n gi¶ thiÕt r»ng quan hÖ
lµ mét tËp h÷u h¹n. Mçi hµng cña quan hÖ gäi lµ bé vµ D1 * D2 * ...Dn gäi lµ
quan hÖ n_ng«i . Khi ®ã mçi bé cña quan hÖ cã n thµnh phÇn(n cét). C¸c cét
cña quan hÖ gäi lµ thuéc tÝnh.
VÝ dô : Quan hÖ §AI_LY gåm c¸c thuéc tÝnh sau:
§AI_LY ( Tªn ®¹i lý, ®Þa chØ,®iÖn tho¹i, sè tµi kho¶n). BiÓu diÔn
b½ng h×nh 1.2 :
§AI LY
TEN §L
§IACHI
§T
TAIKHOAN
t1
thuèc l¸
120NT
8233
9234423
t2
rîu
20HXH
812345
9234534
t3
bia
30HHT
854332
9455454
H×nh 1.2. biÓu diÔn mét quan hÖ 4 ng«i, mçi thuéc tÝnh chØ ra gi¸ trÞ t¬ng øng
cña thuéc tÝnh ®ã. Trong ®ã :
t1 = (thuècl¸, 120NT, 823321, 9234423) lµ mét bé cña quan hÖ §AI_LY.
KiÒu Thu H»ng
10
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
C¬ së d÷ liÖu quan hÖ (RelationShip Database) : C¬ së d÷ liÖu
mµ lîc ®å lµ tËp c¸c lîc ®å quan hÖ vµ c¸c thÓ hiÖn lµ c¸c n_bé cña nh÷ng
quan hÖ nµy.
3.2. Kh¸i niÖm vÒ lîc ®å quan hÖ :
Tõ c¸c ®èi tîng, c¸c liªn kÕt ngêi ta thÓ hiÖn thÕ giíi thùc b»ng thùc thÓ vµ
liªn kÕt, tõ ®ã x¸c ®Þnh ®Çy ®ñ th«ng tin vÒ thÕ giíi thùc th«ng qua m« h×nh
quan hÖ.
H×nh 1.3 : M« t¶ quan hÖ.
xe
n_xe_
___
ngêi
së h÷u
mac
mau
n_CMT
n_xe
Ngay
Gia
n_CMT
Ho
Ten
Trong ®ã : ng¬i ( n_CMT , Ho , Ten)
XE ( n_xe , Mac , Mau)
SOH¦U ( n_CMT , n_Xe , Ngay ,Gia)
Qua ®ã ta cã ®îc sù nh×n nhËn tæng qu¸t vÒ sù ph¸t triÓn cña m« h×nh
d÷ liÖu, vÒ thÕ giíi ®îc liªn kÕt. ¦u ®iÓm cña mét quan hÖ tæng qu¸t vµ u ®iÓm
khi ph©n r· thµnh c¸c quan hÖ thµnh phÇn. trong c¬ së d÷ liÖu thµnh phÇn cã
mét vÊn ®Ò n¶y sinh ®ã lµ sù t¬ng hîp d÷ liÖu, ch¼ng h¹n nÕu 2 xe ®îc së h÷u
bëi mét ngêi th× trïng mét sè dßng, hay khi thay tªn cña Miss A b»ng Mme A,
khi ®ã xe tríc ®©y cña Miss A kh«ng ®îc ai së h÷u. Do vËy ®Ó tiÖn xö lý ph¶i
khö nh÷ng ®iÒu bÊt thêng.
Bªn c¹nh ®ã ®èi víi mét hÖ qu¶n trÞ c¬ së d÷ liÖu cÇn cã sù xem xÐt ®Ó sao
cho gÇn víi thùc tÕ , tøc lµ ®èi víi mçi quan hÖ nÕu cha ®¶m b¶o lµ nhá nhÊt
th× ta cÇn ph¶i ph©n r· theo mét thuËt to¸n ®Ó ®¹t kÕt qu¶ tèt h¬n, nhng vÉn
ph¶i ®¶m b¶o tÝnh kh«ng tæn thÊt hay lµ ®îc b¶o toµn vÒ th«ng tin.
KiÒu Thu H»ng
11
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
4. kho¸ vµ c¸c phÐp to¸n trªn c¬ së d÷ liÖu .
4.1. Kho¸ (key) :
Kho¸ cña mét quan hÖ r trªn tËp thuéc tÝnh R= {A1...An} lµ tËp con
K {A1...Av} tho¶ m·n c¸c tÝnh chÊt sau :
Víi bÊt kú hai bé t1,t2 r ®Òu tån t¹i mét thuéc tÝnh A K sao cho
t1(A) t2(A). Nãi mét c¸ch kh¸c , kh«ng tån t¹i hai bé mµ cã gi¸ trÞ b»ng
nhau trªn mäi thuéc tÝnh cña K. Do vËy mçi gi¸ trÞ cña K lµ x¸c ®Þnh duy
nhÊt.
Trong lîc ®å quan hÖ cã thÓ cã rÊt nhiÒu kho¸ . ViÖc t×m tÊt c¶ c¸c
kho¸ cña lîc ®å quan hÖ lµ rÊt khã kh¨n . §Ó cã thÓ ®Þnh nghÜa kho¸ mét c¸ch
tèt h¬n, lu ý r»ng nÕu K’ lµ kho¸ cña quan hÖ r(A1...An) th× K R, K còng lµ
kho¸ cña r, nghÜa lµ bÊt kú t1,t2 r tõ t1(K’) t2(K’) lu«n cã t1(K) t2(K).
VÝ dô minh ho¹ vÒ kho¸ ®îc biÓu diÔn trong h×nh 1.4
®aily ( ma_dl
00123
ten_dl
dc
taikhoan
Hoamai
12HD
9887979
®t)
832423
00124
Thu«cla
90TT
9023444
854234
20124
Bia
68HH
9455435
82342
H×nh 1.4 : Quan hÖ §AI _LY.
Trong h×nh 1.4 biÓu diÔn quan hÖ §AI_LY trong ®ã MA_DL lµ kho¸ .
Mçi gi¸ trÞ MA_DL ®Òu x¸c ®Þnh duy nhÊt mét ®¹i lý trong quan hÖ §AI_LY.
4.2. C¸c phÐp tÝnh trªn c¬ së d÷ liÖu quan hÖ :
C¸c phÐp tÝnh c¬ b¶n ®Ó thay ®æi mét c¬ së d÷ liÖu lµ : chÌn(insert),
lo¹i bá(delete), thay ®æi(update). Trong m« h×nh c¬ së d÷ liÖu quan hÖ ®îc
nªu trªn, c¸c phÐp tÝnh nµy ®îc ¸p dông cho tõng bé phËn cña c¸c quan hÖ lu
tr÷ trªn m¸y. ViÖc tæ chøc c¸c quan hÖ vµ c¸c bé cña nã cã thÓ ®îc xem nh
biÓu diÔn t¬ng øng mét_mét qua c¸c file vµ c¸c record.
KiÒu Thu H»ng
12
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
PhÐp chÌn (INSERT): PhÐp chÌn thªm mét bé vµo quan hÖ
r{A1,...,A2} cã d¹ng r = r t.
INSERT ( r ; A1 = d1, A2 = d2, ...,An =dn)
Trong ®ã Ai víi i=1,..,n lµ tªn c¸c thuéc tÝnh vµ di, di dom(Ai) lµ c¸c
gi¸ trÞ thuéc miÒn trÞ t¬ng øng cña thuéc tÝnh Ai.
VÝ dô : Thªm mét bé t4 = (Cocacola, 12B¬hå, 823451, 9000132) vµo
quan hÖ §AI_LY h×nh 1.2 :
INSERT ( §AI LY ; TEN_DL = cocacola, DC =12B¬hå, DT = 823451,
TK = 9000123).
NÕu xem c¸c trêng lµ cè ®Þnh, khi ®ã cã thÓ biÓu diÔn phÐp chÌn díi
d¹ng kh«ng têng minh nh sau :
INSERT ( r ; d1, d2,... , dn) .
Môc ®Ých cña phÐp chÌn lµ thªm mét bé vµo mét quan hÖ nhÊt ®Þnh.
KÕt qu¶ cña phÐp tÝnh nµy cã thÓ g©y ra mét sè sai sãt víi nh÷ng lý do sau :
Bé míi ®îc thªm vµo lµ kh«ng phï hîp víi lîc ®å quan hÖ
cho tríc.
Mét sè gi¸ trÞ cña mét sè thuéc tÝnh n»m ngoµi miÒn gi¸ trÞ
cña thuéc tÝnh ®ã.
Gi¸ trÞ kho¸ cña cña bé míi cã thÓ lµ gi¸ trÞ ®· cã trong quan
hÖ ®ang lu tr÷.
Do vËy tuú tõng hÖ cô thÓ sÏ cã nh÷ng c¸ch kh¾c phôc riªng .
PhÐp lo¹i bá(DELETE) :
PhÐp lo¹i bá lµ phÐp xo¸ mét bé phËn ra khái mét quan hÖ cho tríc.
Gièng nh phÐp chÌn, phÐp lo¹i bá cã d¹ng : r = r-t
DEL ( r ; A1 = d1, A2 =d2,....,An =dn) hoÆc
DEL( r ; d1,d2,...,dn).
VÝdô: cÇn lo¹i bá bé t1 tõ quan hÖ §AI_LY trong h×nh 1.2 :
DEL(§AI_LY ; Thuècl¸, 120NT, 823321, 9234423)
KiÒu Thu H»ng
13
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
TÊt nhiªn kh«ng ph¶i lóc nµo phÐp lo¹i bá còng cÇn ®Çy ®ñ th«ng tin vÒ
c¶ bé cÇn lo¹i. NÕu cã gi¸ trÞ vÒ bé ®ã t¹i c¸c thuéc tÝnh kho¸.
K={ B1,...,Bi} khi ®ã phÐp lo¹i bá chØ cÇn viÕt :
DEL( r ; B1=e1, B2=e2,...,Bi=ei)
VÝdô : CÇn lo¹i bá ®¹i lý cã tªn lµ Hoa Mai víi m· 00123 ra khái quan hÖ
§AI_LY(h×nh 1.4), khi ®ã chØ cÇn viÕt :
DEL(§AI_LY ; MA_DL=00123)
PhÐp thay ®æi(UPDATE) :
Trong thùc tÕ kh«ng ph¶i lóc nµo còng chØ dïng tíi phÐp chÌn
hoÆc lo¹i bá ®i mét bé mµ nhiÒu khi chØ cÇn söa ®æi mét sè gi¸ trÞ nµo ®ã t¹i
mét sè thuéc tÝnh, lóc ®ã cÇn thiÕt ph¶i sö dông phÐp thay ®æi.
Gäi tËp {C1,...,Cp} {A1,...,An} lµ tËp c¸c thuéc tÝnh mµ t¹i ®ã c¸c gi¸
trÞ cña bé cÇn thay ®æi, khi ®ã phÐp thay ®æi cã d¹ng :
r = r \ t t’
UPDATE
(r
C1=e1,C2=e2,...,Cp=ep)
;
A1=d1,
A2=d2,...,An=dn;
NÕu K={B1,...,Bm} lµ kho¸ cña quan hÖ, khi ®ã chØ cÇn viÕt :
UPDATE(r ; B1=d1, B2=d2, ..., Bm=dm ; C1=e1 , C2=e2, ..., Cp=ep)
VÝdô :CÇn thay ®æi ®Þa chØ cña ®¹i lý Bia trong quan hÖ §AI_LY (h×nh
1.4) sang ®Þa chØ míi lµ 120 B¹ch Mai, khi ®ã chØ cÇn viÕt :
UPDATE(§AI_LY; MA_DL=20124;DC=120 B¹chMai).
PhÐp biÕn ®æi lµ phÐp tÝnh rÊt thuËn lîi, hay dïng. Còng cã thÓ kh«ng dïng
phÐp thay ®æi mµ dïng tæ hîp cña c¸c phÐp lo¹i bá vµ chÌn mét bé míi. Do
vËy nh÷ng sai sãt cña phÐp thay ®æi còng cã thÓ x¶y ra t¬ng tù nh phÐp chÌn
vµ phÐp lo¹i bá.
5. vÊn ®Ò thiÕt kÕ c¬ së d÷ liÖu quan hÖ :
Trong qu¸ tr×nh thiÕt kÕ mét c¬ së d÷ liÖu quan hÖ thêng ®ßi hái ph¶i
chän c¸c lîc ®å quan hÖ. ViÖc chän tËp c¸c lîc ®å quan hÖ nµy cã thÓ tèt h¬n
hoÆc xÊu h¬n viÖc chän c¸c lîc ®å kh¸c dùa trªn mét sè chuÈn nµo ®ã. Do
vËy, chóng ta cÇn ph¶i nghiªn cøu c¸c tÝnh chÊt c¬ b¶n còng nh c¸c thuËt to¸n
®Ó cã thÓ nhËn ®îc tËp c¸c lîc ®å phï hîp. Träng t©m cña viÖc thiÕt kÕ c¸c lîc
®å c¬ së d÷ liÖu lµ c¸c phô thuéc d÷ liÖu, tøc lµ c¸c mèi rµng buéc cã thÓ gi÷a
KiÒu Thu H»ng
14
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
c¸c gi¸ trÞ hiÖn h÷u cña c¸c lîc ®å. Ch¼ng h¹n thuéc tÝnh nµy x¸c ®Þnh duy
nhÊt thuéc tÝnh kia , nh m· sè ngêi cung cÊp x¸c ®Þnh tªn ngêi cung cÊp
ENAME trong gi¸ trÞ E, vµ ngêi ta nãi r»ng cã mét phô thuéc hµm cña
ENAME vµo E#... VÊn ®Ò nµy n¶y sinh lµ lµm thÕ nµo ®Ó thiÕt kÕ mét c¬ së
d÷ liÖu cho tèt, ta cã vÝ dô :
Quan hÖ CUNG_CAP : E(ENAME,ADD,PRO,PRICE)
Gåm tªn nhµ cung cÊp, ®Þa chØ, mÆt hµng, gi¸ c¶ . Cã c¸c vÊn ®Ò n¶y
sinh :
D thõa d÷ liÖu : DÔ dµng thÊy r»ng mçi khi xuÊt hiÖn tªn nhµ cung
cÊp th× ®Þa chØ cña ngêi ®ã lÆp l¹i trong quan hÖ CUNG_CAP.
Kh«ng nhÊt qu¸n : §ã lµ dÞ thêng xuÊt hiÖn xuÊt hiÖn khi söa d÷
liÖu, lµ hÖ qu¶ cña viÖc d thõa d÷ liÖu. VÝ dô khi söa ®æi ®Þa chØ nhµ
cung cÊp ë mét bé nµo ®ã cßn c¸c bé kh¸c vÉn gi÷ nguyªn, lóc ®ã
sÏ cã mét nhµ cung cÊp kh«ng cã ®Þa chØ duy nhÊt.
DÞ thêng khi thªm bé : Mét nhµ cung cÊp khi cha cung cÊp mét mÆt
hµng nµo c¶, khi ®ã kh«ng thÓ ®a ®Þa chØ, tªn nhµ cung cÊp lµ mét
b¶n ghi vµo quan hÖ v× r»ng sÏ ph¶i ®a gi¸ trÞ nµo vµo vÞ trÝ thuéc
tÝnh PRO vµ PRICE.
DÞ thêng khi xo¸ bé : Lµ vÊn ®Ò ngîc l¹i, kh«ng thÓ xo¸ tÊt c¶ c¸c
mÆt hµng ®îc cung øng bëi mét nhµ cung cÊp v× mÆt hµng ®ã cã thÓ
do nhiÒu ngêi cung øng.
Do vËy, quan hÖ trong vÝ dô trªn cã thÓ ®îc ph©n thµnh nhiÒu quan hÖ
kh¸c nhau nh»m tr¸nh tÊt c¶ nh÷ng ®iÒu ®· nªu nh»m ®¹t ®îc lîc ®å c¬ së d÷
liÖu tèt nhÊt.
Tõ viÖc ®Æt vÊn ®Ò nãi trªn, chóng ta ®i t×m hiÓu chi tiÕt phô thuéc hµm vµ c¸c
chuÈn.
Phô thuéc hµm : Gi¶ sö R{A1,A2,...,An} lµ mét lîc ®å quan hÖ. X,Y lµ
tËp con cña Ai. Ngêi ta nãi r»ng X Y (X x¸c ®Þnh Y hay Y phô thuéc
hµm vµo X) nÕu tÊt c¶ c¸c th¸c triÓn r cña R, n_bé cña r ta cã : NÕu chiÕu
X(t1)=chiÕu X(t2) th× chiÕu Y(t1)=chiÕu Y(t2).
Mét c¸ch ®¬n gi¶n, khi cho gi¸ trÞ cña mét thuéc tÝnh hay mét nhãm
c¸c thuéc tÝnh X ta cã Y duy nhÊt.
. VÝ dô : sè CMT Tªn,Ngµy sinh,...
KiÒu Thu H»ng
15
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
D¹ng chuÈn 1 :
Mét lîc ®å quan hÖ R ®îc gäi lµ ë d¹ng chuÈn 1(1NF) nÕu vµ chØ nÕu
toµn bé c¸c miÒn cã mÆt trong R ®Òu chØ chøa c¸c gi¸ trÞ nguyªn tè. Hay nãi
mét c¸ch kh¸c mét quan hÖ ë d¹ng chuÈn thø nhÊt nÕu vµ chØ nÕu nã kh«ng
chøa nh÷ng nhãm lÆp l¹i( Nhãm lÆp lµ mét tËp c¸c thuéc tÝnh mµ nh÷ng gi¸
trÞ cña nã bÞ lÆp l¹i trong quan hÖ ).
D¹ng chuÈn 2 :
Lîc ®å quan hÖ R ë d¹ng chuÈn 2 nÕu nã :
ë d¹ng chuÈn 1.
C¸c thuéc tÝnh kh«ng ë trong tËp kho¸, kh«ng phô thuéc vµo
mét phÇn cña kho¸.
D¹ng chuÈn 3 :
Mét lîc ®å quan hÖ R ë d¹ng chuÈn 3 nÕu nã :
ë d¹ng chuÈn 2.
C¸c thuéc tÝnh kh«ng thuéc tËp kho¸ kh«ng phô thuéc vµo
phÇn tö kh«ng ph¶i kho¸.
I.2. m« h×nh c¬ së d÷ liÖu quan hÖ oracle :
HÖ thèng Oracle bao gåm c¸c øng dông vµ c¸c s¶n phÈm phôc vô cho
c¸c End- User, nh»m môc ®Ých cung cÊp nh÷ng gi¶i ph¸p c«ng nghÖ th«ng
tin. Nh÷ng øng dông nµy cã thÓ ch¹y ®îc trªn rÊt nhiÒu lo¹i m¸y vµ c¸c hÖ
®iÒu hµnh, tõ nh÷ng m¸y c¸ nh©n cho ®Õn c¸c hÖ xö lý song song.
Oracle cung cÊp mét hÖ qu¶n trÞ c¬ së d÷ liÖu kh¸ mÒm dÎo, Oracle
Server- dïng ®Ó lu tr÷ vµ qu¶n lý c¸c th«ng tin mµ øng dông cÇn ®Õn. Version
míi nhÊt lµ Oracle 8, qu¶n lý c¬ së d÷ liÖu víi mét cÊu tróc quan hÖ tiªn tiÕn,
céng thªm nh÷ng tÝnh n¨ng lu gi÷ vµ thùc hiÖn c¸c ®èi tîng ch¼ng h¹n nh c¸c
thñ tôc vµ c¸c Trigger.
KiÒu Thu H»ng
16
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
KiÕn tróc cña hÖ thèng Oracle theo m« h×nh ph©n líp
øng dông
C«ng cô
sql
Oracle
OS
D÷ liÖu
server
Pl/sql
H×nh 1.6 : KiÕn tróc cña ORACLE.
Møc ngoµi cïng lµ møc cña c¸c øng dông.
KÕ ®Õn lµ c¸c c«ng cô CDE(Cooporative
Environment) vµ c¸c ng«n ng÷ SQL,PL/SQL.
Development
Sau møc c¸c ng«n ng÷ lµ møc cña Oracle Server vµ møc cña hÖ ®iÒu
hµnh.
Trong cïng lµ møc d÷ liÖu.
M« h×nh nµy ®¶m b¶o ®îc c¸c yªu cÇu ®èi víi mét hÖ qu¶n trÞ c¬ së d÷
liÖu lín (c¸c tÝnh n¨ng toµn vÑn d÷ liÖu, b¶o mËt c¬ së d÷ liÖu...). Ngoµi ra nã
cßn cung cÊp nh÷ng ®iÒu kiÖn thuËn lîi cho viÖc n©ng cÊp vµ ph¸t triÓn øng
dông.
1. KiÕn tróc cña Oracle Server :
M« h×nh kiÕn tróc cña Oracle Server cã thÓ chia ra lµm ba khèi c¬ b¶n nh
sau:
Oracle data base : Bao gåm database files,redolog files, control
files vµ parameter files. Trong ®ã :
KiÒu Thu H»ng
17
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
Database file : lu tr÷ tÊt c¶ d÷ liÖu cña c¬ së d÷ liÖu .
Redo log file : dïng ®Ó kh«i phôc, ghi l¹i nh÷ng thay ®æi
th«ng tin trªn database.
Control file : ghi l¹i cÊu tróc vËt lý cña database.
Parameter file : lu gi÷ c¸c tham sè thiÕt lËp.
ThÓ hiÖn cña Oracle Server :
Lµ sù kÕt hîp gi÷a bé nhí ®Öm vµ c¸c tiÕn tr×nh nÒn. BÊt cø khi nµo
Oracle Server b¾t ®Çu, mét vïng nhí hÖ thèng toµn côc(System global
area : SGA) ®îc cÊp ph¸t, ®ång thêi c¸c tiÕn tr×nh nÒn còng ®îc khëi ®éng.
ThÓ hiÖn lµ mét ph¬ng tiÖn ®Ó truy cËp d÷ liÖu trong database file.
SGA :mét nhãm bé ®Öm dïng chung mµ Oracle Server cÊp ph¸t
cho mét thÓ hiÖn.
Background process: lµ c¸c tiÕn tr×nh ch¹y ngÇm bªn díi phôc
vô cho tÊt c¶ c¸c User.
User prcess & Server process :
User process ®îc t¹o khi User ch¹y mét ch¬ng tr×nh øng dông . Khi ®ã
Oracle Server còng t¹o ra c¸c Server process ®Ó ®¸p øng c¸c yªu cÇu tõ phÝa
User process. Gi÷a User process vµ Server process lu«n cã sù liªn hÖ víi
nhau.
Qu¸ tr×nh thùc hiÖn cña Server process theo mét sè bíc sau :
Ph©n tÝch có ph¸p vµ thùc hiÖn c¸c c©u lÖnh SQL, d÷ liÖu
dïng chung cña vïng nhí SGA.
Tr¶ l¹i kÕt qu¶ thùc hiÖn c¸c c©u lÖnh SQL cho User process.
Tríc khi d÷ liÖu cã thÓ truy cËp ®îc th× Server process ph¶i ®îc thùc
hiÖn ®Ó ®a d÷ liÖu lªn vïng nhí ®Öm dïng chung. C¸c khèi d÷ liÖu sau khi ®îc thao t¸c, söa ®æi sÏ ®îc viÕt trë l¹i bé nhí ngoµi nhê mét tiÕn tr×nh nªn gäi
lµ Database Writer(DBWR)
2.Toµn vÑn d÷ liÖu
Sù b¶o ®¶m tÝnh nhÊt qu¸n vµ toµn vÑn d÷ liÖu lµ kh«ng thÓ thiÕu ®îc
®èi víi mét hÖ qu¶n trÞ c¬ së d÷ liÖu. Oracle cã ®a ra mét sè ph¬ng thøc ®Ó
®Þnh nghÜa sù toµn vÑn còng nh c¸c mèi rµng buéc d÷ liÖu .
KiÒu Thu H»ng
18
LuËn v¨n tèt nghiÖp
X©y dùng hÖ thèng qu¶n lý vËt t
Rµng buéc m« t¶ .
Database Trigger.
M· øng dông.
a. Rµng buéc m« t¶ : lµ nh÷ng rµng buéc ®¬n gi¶n, ¸p ®Æt cho mét hoÆc
nhiÒu cét trong able. Nh÷ng rµng buéc nµy chØ cÇn m« t¶ mµ kh«ng cÇn ph¶i
viÕt bÊt cø ®o¹n m· nµo . Cã mét sè lo¹i rµng buéc m« t¶ chÝnh sau :
NULL & NOTNULL : BÊt cø mét column nµo cña table ®Òu
cã thÓ cã mét trong hai rµng buéc lo¹i nµy.
NULL : cho phÐp column cã gi¸ trÞ Null.
NotNull : C¸c hµng cña column nµy b¾t buéc ph¶i cã
gi¸ trÞ.
PRIMARY KEY : lµ mét hoÆc mét tËp column (thuéc tÝnh)
cã rµng buéc NotNull vµ gi¸ trÞ cña mçi hµng thuéc tËp c¸c
column nµy lµ duy nhÊt (hay mçi primary key x¸c ®Þnh duy
nhÊt mét hµng trong table).
UNIQUE KEY : lµ mét hoÆc nhiÒu column mµ gi¸ trÞ cña
chóng cã thÓ Null nhng nÕu gi¸ trÞ ®ã kh¸c Null th× nã ph¶i lµ
duy nhÊt.
FOREIGN KEY : lµ mét hoÆc mét tËp c¸c column trong table
mµ gi¸ trÞ cña nã ®îc tham chiÕu tõ table kh¸c. Foreign Key
®Æc trng cho mèi quan hÖ gi÷a c¸c table víi nhau.
VÝ dô : cã hai table SINH_VIEN vµ LOP
SINH VIEN
# m_lop
* ma_sv
* ma_sv
* ho_ten
* dia_chi
Lop
# ma_lop
* ten_lop
SV LOP FK
Trong table SINH VIEN cã mét Foreign key lµ M_LOP ®îc dïng ®Ó
liªn kÕt víi cét MA_LOP trong table LOP.
KiÒu Thu H»ng
19
- Xem thêm -