Professional Documents
Culture Documents
c c
Cho D1, D2,..., Dn là n miӅn giá trӏ cӫa các thuӝc tính A 1, A2, ..., An. Mӝt
quan hӋ r trên các miӅn D1, D2, ..., Dn là mӝt tұp con cӫa tích đê-cat D1 x D2
x... x Dn. Nghĩa là, quan hӋ r sӁ bao gӗm nhӳng n -bӝ <d1, d2, ...,. dn> 2 D1 x D2
x... x Dn, di2 Di. Ngưӡi ta mô tҧ mӝt quan hӋ là mӝt bҧng hai chiӅu các giá trӏ,
đó là tұp hӧp các bӝ cӫa quan hӋ tҥi mӝt thӡi điӇm nào đó.
b. Lưӧc đӗ quan hӋ :
Mӝt lưӧc đӗ quan hӋ (relation scheme) là sӵ hӧp thành bӣi hai yӃu tӕ:
- Mӝt cҩu trúc, gӗm tên quan hӋ và mӝt danh sách các thuӝc tính (mӛi
thuӝc tính gán vӟi mӝt miӅn) thưӡng cho dưӟi dҥng R(A1, A2, ..., An).
- Mӝt tұp hӧp các ràng buӝc, tӭc là các điӅu kiӋn mà mӑi quan hӋ trong
lưӧc đӗ đӅu phҧi thoҧ mãn.
Mӝt r(relation instance) trong lưӧc đӗ quan hӋ R là
tұp các bӝ thoҧ tҩt cҧ các ràng buӝc thuӝc cӫa lưӧc đӗ quan hӋ R (gӑi tҳt là thӇ
hiӋn).
NӃu cho mӝt bӝthuӝc thӇ hiӋn r cӫa lưӧc đӗ quan hӋ R, vàê U=/A1,
A2, ..., An}, ta ký hiӋu:[] là bӝchӍ chӭa các giá trӏ cӫa các thuӝc tính trong
.
Cho lưӧc đӗ quan hӋ R, ê U, đưӧc gӑi là (key) cӫa lưӧc đӗ
quan hӋR nӃu thoҧ mãn hai điӅu kiӋn sau:
(1). Vӟi mӑi thӇ hiӋn , và vӟi bҩt kǤ hai bӝ 1, 2 2 sao cho:
1[]=2[] suy ra 1[U]=2[U] (hay 1=2).
(2). Không tӗn tҥi tұp ç( là tұp con thӵc sӵ cӫa ) thoҧ điӅu kiӋn
trên.
Mӝt tұpthoҧ điӅu kiӋn (1) đưӧc gӑi là ! (super key)cӫa lưӧc
đӗ quan hӋ R.
c. Phө thuӝc hàm
f c: Cho tұp U là tұp các thuӝc tính cӫa mӝt lưӧc đӗ quan hӋ R,và"
là các tұp con cӫa U. Ta nói rҵngRthoҧ phө thuӝc hàm ë"(đӑc là: xác
c c
đӏnh Y, hoһc"phө thuӝc hàm vào ) nӃu và chӍ nӃu: vӟi mӑilà thӇ hiӋn cӫa
#, vӟi mӑi 1,2 2ta có: 1[]=2[] kéo theo 1["]=2["].
Ví dө: Trong quan hӋ Nhân viên, ta có: Mã NV ë (Hӑ tên, quê quán, ngày
sinh)
Z$%&'()*: mӛi phҫn tӱ cӫa mӝt lӟp đӕi tưӧng nào đó sӁ đưӧc
xác đӏnh thông qua mӝt đҥi diӋn cӫa mӝt sӕ lӟp đӕi t ưӧng khác.
Ví dө:
cc c c c
c
À
c c
c c
Dҥy
NӃu hai tұp thӵc thӇ có quan hӋ ISA vӟi nhau, giҧ sӱ (E 1 isa E2) thì ta
luôn luôn có E1ëE2
c c
4.2 Mô hình tә chӭc dӳ liӋu
4.2.1 Khái niӋm
Mô hình tә chӭc dӳ liӋu cӫa mӝt hӋ thӕng thông tin còn gӑi là mô hình
dӳ liӋu logic. HiӋn nay, dӳ liӋu đưӧc biӇu diӉn dưӟi nhiӅu mô hình khác nhau:
mô hình phân cҩp, mô hình mҥng, mô hình quan hӋ, mô hình hưӟng đӕi tưӧng.
Tuy nhiên, phҫn lӟn các hӋ quҧn trӏ cơ sӣ dӳ liӋu thương mҥi hiӋn nay đӅu sӱ
dөng các dӳ liӋu theo mô hình quan hӋ, nên mô hình tә chӭc dӳ liӋu đưӧc thiӃt
kӃ ӣ đây chính là các quan hӋ mà đҫu vào cӫa chúng là mô hình thӵc thӇ - mӕi
quan hӋ cӫa hӋ thӕng. Đây cũng là bưӟc trung gian chuyӇn đәi giӳa mô hình
quan niӋm dӳ liӋu (gҫn vӟi ngưӡi sӱ dөng) và mô hình vұt lý dӳ liӋu (mô hình
trong máy tính), chuҭn bӏ cho viӋc cài đһt hӋ thӕng.
4.2.2 Quy tҳc chuyӇn đәi
Cho đӃn nay đã có nhiӅu hӋ thӕng thông tin, đһc biӋt là các CSDL quan
hӋ, đưӧc thiӃt kӃ xuҩt phát tӯ mô hình ER. Theo cách này, ngưӡi ta xem quá
trình thiӃt kӃ mӝt CSDL phҧi trҧi qua ba giai đoҥn. Đҫu tiên là giai đoҥn thiӃt kӃ
mô hình khái niӋm, tiӃp đӃn là giai đoҥn thiӃt kӃ mô hình logic, và cuӕi cùng là
giai đoҥn thiӃt kӃ CSDL vұt lý. ViӋc chuyӇn đәi mӝt mô hình ER thành mô hình
quan hӋ là thuӝc giai đoҥn thiӃt kӃ mô hình logic tӯ mӝt mô hình khái niӋm .
ĐӇ làm cơ sӣ cho viӋc chuyӇn đәi tӯ mô hình quan hӋ sang mô hình ER
đưӧc bàn đӃn trong chương sau, mӝt phương pháp chuyӇn đәi truyӅn thӕng tӯ
mô hình ER sang mô hình quan hӋ sӁ đưӧc đӅ cұp đӃn trong phҫn này. Phương
pháp này thưӡng đưӧc sӱ dөng đӇ thiӃt kӃ các CSDL quan hӋ trong giai đoҥn
thiӃt kӃ logic vӟi mô hình khái niӋm ban đҫu là mô hình ER.
Khi chuyӇn đәi tӯ mô hình quan niӋm dӳ liӋu sang mô hình tә chӭc dӳ liӋu
chúng ta theo các quy tҳc dưӟi đây.
a. ChuyӇn các tұp thӵc tұp thӵc thӇ thành các quan hӋ
Quy tҳc 1: Mӛi tұp thӵc thӇ trong mô hình quan niӋm dӳ liӋu đưӧc chuyӇn
thành mӝt quan hӋ: có tên là tên là tên cӫa tұp thӵc thӇ; có thuӝc tính và khóa là
c c
thuӝc tính và khóa cӫa tұp thӵc thӇ và có thӇ có thêm thuӝc tính là khóa ngoҥi nӃu
có.
Ví dө: Tұp thӵc thӇ Nhân viên vӟi các thuӝc tính như dưӟi đây đưӧc chuyӇn
thành mӝt quan hӋ như sau:
Nhân viên c
-c
-c
-c
Nhân viên (
-c
-c
-c
c
c
Quy tҳc 2: Tұp thӵc thӇ tham gia vào mӕi quan hӋ hai ngôi không có thuӝc
tính riêng, có cһp bҧn sӕ (1,1) ----- (1,n) (mӕi quan hӋ mӝt - nhiӅu) thì quan hӋ
sinh ra bӣi tұp thӵc thӇ ӣ nhánh (1,1) sӁ nhұn thuӝc tính khóa cӫa tұp thӵc thӇ ӣ
nhánh (1,n) làm /&5.
Ví dө: Trong hӋ thӕng thông tin ³z c c c
M, giӳa hai tұp thӵc thӇ
Nhân viên và Đơn vӏ có mӕi quan hӋ Thuӝc vӟi cһp bҧn sӕ (1,1) ----- (1,n)
như mô tҧ dưӟi đây.
c c
tính là các thuӝc tính cӫa tұp thӵc thӇ con; và có khóa là khóa cӫa tұp thӵc thӇ
cha.
Ví dө 1: Mӝt trưӡng đҥi hӑc cҫn quҧn lý cán bӝ công chӭc theo 3 đӕi tưӧng: &
4!1=4)2'.>&*5 và4)2'.>&&?5. Mӛi cán
bӝ nhân viên đưӧc quҧn lý các thông tin: Mã nv, Hӑ tên, quê quán.
üc NӃu là &4!1 thì quҧn lý thêm: HӋ sӕ lương, phө cҩp, trình đӝ
chuyên môn (trung cҩp, cao đҷng. đҥi hӑc, thҥc sĩ, tiӃn sĩ) . NӃu là tiӃn sĩ thì
quҧn lý thêm: chuyên ngành đào tҥo, ngày bҧo vӋ, nơi cҩp bҵng.
üc NӃu là 4) 2' .>& * 5 thì quҧn lý thêm: Sӕ hӧp đӗng, HӋ sӕ
lương.
üc NӃu là 4) 2' .>& &? 5 thì quҧn lý: Sӕ hӧp đӗng, lương thӓa
thuұn. Tùy theo đӕi tưӧng, công ty có các cách tính tiӅn lương khác nhau.
c c
Trong trưӡng hӧp mӝt tұp thӵc thӇ là cӫa hai tұp thӵc thӇ khác
nhau thì nó phҧi đưӧc chuyӇn thành hai quan hӋ.
Trưӡng hӧp xҧy ra quan hӋ ISA trong mӝt quan hӋ ISA thì quan h Ӌ sinh ra
tӯ tұp thӵc thӇ "" nhұn thuӝc tính khóa cӫa tұp thӵc thӇ " B&" làm thuӝc
tính khóa.
Cán bӝ
-c
-c
-c
c
c c c
c c c
c c
a.c Mӕi quan hӋ hai ngôi &/)-!&, có cһp bҧn sӕ (1,1) ---- (1,n)
thì hông chuyӇn thành mӝt quan hӋ.
c
?
c
b. Mӕi quan hӋ hai ngôi / ) -!&, có cһp bҧn sӕ (1,1) ---- (1,n) thì
chuyӇn thành mӝt quan hӋ có tên là tên cӫa mӕi quan hӋ, có thuӝc tính là thuӝc
tính cӫa mӕi quan hӋ và có khoá là khoá cӫa các thӵc thӇ tham gia vào mӕi
quan hӋ và khóa cӫa mӕi quan hӋ (nӃu có) .
Ví dө:
Nhân viên c c Đơn vӏ
-c -c/0 -c
-c c -c
-c
-c
c
c
Đưӧc chuyӇn thành
Nhân viên (
` c
Đơn vӏ ( â `
Thuӝc ( /0`
Mô tҧ dưӟi dҥng bҧng:
c c
cc 1
1
?
c c
?
c c
quan hӋ R (chӍ sӕ cӵc tiӇu cӫa các bҧn sӕ tҥi các cung nӕi t ương ӭng đӅu là 0),
thì ta không thӇ thӵc hiӋn viӋc chuyӇn đәi mӕi quan hӋ 1-1 theo cách này, do
khoá cӫa mӝt quan hӋ không chҩp nhұn giá trӏ null.
Ngoài ra, ta cũng giҧ thiӃt rҵng cách thӵc hiӋn này sӁ không đưӧc sӱ
dөng trong mӑi trưӡng hӧp, bӣi vì bҧn chҩt cӫa viӋc gӝp hai tұp thӵc thӇ thành
mӝt sӁ làm mҩt ý nghĩa và vai trò cӫa các tұp thӵc thӇ này trong mô hình ER.
cc: (DE *E&(4) *9 )
Khi đó ta tҥo thêm mӝt quan hӋ mӟi T nhҵm biӇu diӉn mӕi quan hӋ R.
Các thuӝc tính trong T bao gӗm tҩt cҧ các thuӝc tính đơn trӏ cӫa mӕi quan hӋ R,
và các khoángoài cӫa T lҫn lưӧt tham chiӃu đӃn các khoá hính cӫa S và S¶.
Ngoài ra chӑn khoá chính cho T là mӝt trong các khoá ngoài này.
Ví dө: !c c c
c @ À ?
!c
'(c c
c !c c c c
c Đӏ cc Đ c
c c
c
Đưӧc chuyӇn thành
!c !c c !cĐӏ c c
c c c cĐ
"&c ( !c c
'()c
cc. (*
7')&5 ))
Chӑn mӝt trong hai quan hӋ này (nên ưu tiên chӑn quan hӋ có tұp thӵc
thӇ tương ӭng tham gia toàn bӝ vào mӕi quan hӋ R, hay chӍ sӕ cӵc tiӇu cӫa cung
nӕi tương ӭng là 1), giҧ sӱ ta chӑn S, tӯ đó bә sung vào S tҩt cҧ các thuӝc tính
đơn trӏ cӫa mӕi quan hӋ R. Đӗng thӡi bә sung vào S khoá ngoài cӫa S tham
chiӃu đӃn khoá chính cӫa S¶.
Lưu ý rҵng nӃu E và E¶ đӅu tham gia toàn bӝ vào mӕi quan hӋ R, thì khoá
ngoài F trên S đӗng thӡi cũng là mӝt khoá cӫa s.
c c
Mӝt hҥn chӃ cӫa cách chuyӇn đәi này đó là: giá trӏ các thuӝc tính R và F
cӫa mӝt sӕ bӝ trên S có thӇ phҧi nhұn giá trӏ null trong tr ưӡng hӧp cҧ E và E¶
đӅu không tham gia toàn bӝ vào mӕi quan hӋ R.
c
z cc: Mӕi quan hӋ hai ngôi có cһp bҧn sӕ (1,n) ---- (1,n) hay mӕi quan hӋ
nhiӅu hơn hai ngôi (không phân biӋt bҧn sӕ) đưӧc chuyӇn thành mӝt quan hӋ:
có tên là tên cӫa mӕi quan hӋ; có khóa là khóa cӫa tҩt cҧ các tұp thӵc thӇ tham
gia vào mӕi quan hӋ - có thӇ có khóa riêng cӫa mӕi quan hӋ - có thuӝc tính là
các thuӝc tính riêng cӫa nó (nӃu có).
Ví dө 1:
Giáo viê? c Dҥy c Si? viê?
c,c c cc
-c c -c cc
#.c/0c 12c
1
1
c ?
c
c
Ví dө 2:
P i xÀ k o c C c Hà?
-c
&)c -c*$+
c -c'
c
-
'(c c - c'
c
- c"c
c
c c
1 1
?
?
c
c c
Qui tҳc 7: Mӕi quan hӋ phҧn xҥ (đӋ quy)
a. c ccccc
cc c c c! :
Mӕi quan hӋ phҧn xҥ dҥng (1,n) và không có thuӝc tính đưӧc chuyӇn
hành mӝt quan hӋ, có tên là tên cӫa mӕi quan hӋ, có khóa là khóa cӫa tұp thӵc
thӇ, có thêm mӝt thuӝc tính mӟi đӇ làm khóa ngoҥi, thuӝc tính mӟi này nhұn
nhӳng giá trӏ thuӝc miӅn giá trӏ cӫa khóa tұp thӵc thӇ.
Tӯ quan hӋ NHÂN VIÊN c c c c
c ban đҫu trӣ thành quan hӋ
NHÂN VIÊN cc cc
c c
$3
c415cTrong quan hӋ này, c
$3
c
41 là khóa ngoҥi có cùng miӅn giá trӏ vӟi c . Nghĩa là, vӟi mӛi nhân viên
c
c c
Mӕi quan hӋ C c đưӧc chuyӇn thành quan hӋ C c c !6c c !6cc
c*$+
c
Ví dө:
c
C?
Vӧ
?
-cc
'(c$2
c
- cc c
c
Mӕi quan hӋ Vӧ
? đưӧc chuyӇn thành quan hӋ:
Vӧ
? (c , c7+8
,
'(c $2
), trong đó giá trӏ cӫa c 7+8
có giá trӏ đưӧc lҩy trong thuӝc tính Mã CC cӫa quan hӋ công chӭc .
4.2.3. Thuұt toán chuyӇn đәi mô hình ER thành các quan hӋ
Đҫu vào cӫa thuұt toán chuyӇn đәi trong phương pháp này là mô hình
ER. KӃt quҧ cӫa viӋc chuyӇn đәi này là tұp các quan hӋ và các khoá chính
(primary key) cӫa chúng. Ngoài ra, nhҵm chi tiӃt hoá các kӃt quҧ đҫu ra cӫa
thuұt toán chuyӇn đәi, cũng như xác đӏnh rõ ngӳ nghĩa mӕi quan hӋ giӳa các
quan hӋ (các bҧng) bên trong mô hình quan hӋ thu đưӧc, chúng t a còn quan tâm
đӃn viӋc xác đӏnh rõ thông tin vӅ tұp các khoá ngoài (foreign key s) trên mӛi
quan hӋ kӃt quҧ, đӗng thӡi thӵc hiӋn viӋc hình thӭc hoá thuұt toán chuyӇn đәi
này thông qua mӝt sӕ đӏnh nghĩa, ký hiӋu quy ưӟc và các thuұt toán tӵa Pascal.
Các quan hӋ thu đưӧc có thӇ xem là kӃt quҧ cӫa mӝt ánh xҥ tӯ các tұp
thӵc thӇ và các mӕi quan hӋ tương ӭng. Thuұt toán thӵc hiӋn viӋc ánh xҥ tӯ mô
hình ER vào mô hình quan hӋ trҧi qua các bưӟc: chuyӇn đәi các tұp thӵc thӇ,
chuyӇn đәi mӕi quan hӋ nhӏ nguyên 1 -1, chuyӇn đәi mӕi quan hӋ nhӏ nguyên 1 ¿
, chuyӇn đәi mӕi quan hӋ nhӏ nguyên
¿
, chuyӇn đәi mӕi quan hӋ
đa nguyên, chuyӇn đәi thuӝc tính đa trӏ, và chuyӇn đәi mӕi quan hӋ ¿.
Trưӟc tiên, ta quy ưӟc mӝt sӕ ký hiӋu như sau:
á : mô hình ER mà ta muӕn thӵc hiӋn viӋc chuyӇn đәi (đҫu vào cӫa
thuұt toán)
: tұp các quan hӋ trong mô hình quan hӋ (đҫu ra cӫa thuұt toán)
c c
: tұp tҩt cҧ các thuӝc tính cӫa quan hӋ #
á : tұp tҩt cҧ các thuӝc tính đơn trӏ cӫa tұp thӵc thӇ E
: tұp tҩt cҧ các thuӝc tính (đơn trӏ) cӫa mӕi quan hӋ #
þ : khoá chính cӫa quan hӋ #
á : tұp các thuӝc tính khoá cӫa tұp thӵc thӇ E
5 : tұp tҩt cҧ các khoá ngoài cӫa quan hӋ #
(á;c `, (á;c `: các chӍ sӕ cӵc tiӇu và cӵc đҥi cӫa bҧn sӕ trên
cung nӕi tұp thӵc thӇEvӟi mӕi quan hӋ#
Ngoài ra, đӇ chӍ FG là mӝt khoá ngoài cӫa quan hӋ # (tӭc: FG2 FG#)
tham chiӃu đӃn khoá chính cӫa quan hӋ #¶ ta sӱ dөng ký hiӋu: FG þG#. Tên
các thuӝc tính có trong FG có thӇ khác so vӟi tên các thuӝc tính có trong þG#,
nhưng FG cҫn thoҧ mãn đӗng thӡi hai điӅu kiӋn sau:
(1). Các thuӝc tính trong FG có cùng miӅn trӏ vӟi các thuӝc tính trong
þG#¶;
(2). Giá trӏ cӫa FG tҥi mӝt bӝthuӝc#chӍ có thӇ là
hoһc bҵng giá trӏ
cӫa þG#¶ tҥi mӝt bӝ ¶nào đó thuӝc#¶
Các điӅu kiӋn trên cӫa khoá ngoài FG đһc tҧ mӝt *& 4) * H
1 (referential integrity constraint) giӳa hai quan hӋ#và#¶
Lưu ý rҵng, đӇ chӍ ràng buӝc toàn vҽn tham chiӃu này, đӗng thӡi tên các
thuӝc tính có trong FG phҧi trùng tên vӟi các thuӝc tính tương ӭng có trong
þG#, ta ký hiӋu: FG ò þG#
Thuұt toán chuyӇn đәi tӯ mô hình ER thành mô hình quan hӋ trҧi qua các
bưӟc sau:
c
%c& c'(c)c*c+c
Tương ӭng vӟi mӛi tұp thӵc thӇEtrongE#, ta tҥo ra mӝt quan hӋ#chӭa
tҩt cҧ các thuӝc tính đơn trӏ cӫa tұp thӵc thӇ đó. Đӕi vӟi mӛi thuӝc tính đơn trӏ
và phӭc hӧp trênEphҧi đưӧc chuyӇn thành các thuӝc tính đơn trên # ChuyӇn
đәi này nhҵm cho phép biӇu diӉn mӛi thӵc thӇ cӫa Ebӣi mӝt bӝ cӫa quan hӋ#
Ta có: U# = E. Ngoài ra, chӑn þG# là mӝt trong nhӳng thuӝc tính khoá cӫa E
c c
Nghĩa là: þG# = , vӟi2 GE. Như vұy, ta có thuұt toán chuyӇn đәi các tұp thӵc
thӇ như sau.
Thuұt toán 1.3. ChuyӇn đәi các tұp thӵc thӇ
Input: Tұp thӵc thӇ EthuӝcE#
Lutput: Các quan hӋ#thuӝc I0 và các þG#tương ӭng
Method:
1. I0:= ;
2. cor mӛi tұp thӵc thӇ mҥnhEtrongE# do
3. Tҥo ra mӝt quan hӋ#vӟi U# = E;
4. Chӑn þG# = , vӟi2 GE;
5. I0 := I0 /#};
6. endcor;
c%c& c'(c c cc c c
"
c
Thuұt toán 3.2. ChuyӇn đәi mӕi quan hӋ 1-1
Input: Các mӕi quan hӋ 1-1 trênE#
Lutput: Các quan hӋ thuӝc I0 kèm khoá chính, khoá ngoàitương ӭng vӟi
mӛi quan hӋ
Method:
1. cor mӛi mӕi quan hӋ#là quan hӋ 1-1 trongE# do
2. Xác đӏnh các tұp thӵc thӇEvàE tham gia vào mӕi quan hӋ #;
3. Xác đӏnh các quan hӋ;và ; tương ӭng vӟi các tұp thӵc thӇEvàE¶;
4. ic (E;#) = 0 and (E¶;#) = 0 then
5. Tҥo ra mӝt quan hӋ mӟi vӟi U = # F F¶ trong đó
F 2 FG: F þG; và F 2 FG: F þG;¶;
6. Chӑn þG = F hoһc F¶;
7. Chӑn FG = /F, F¶};
8. I0 := I0 /};
9. endic;
c c
10. ic (E;#)= 1 then
11. U;:= U; # F, vӟi F 2 FG;: F þG;¶;
12. FG; := FG; /F};
13. else (*khi đó: (E¶;#) = 1*)
14. U;¶:= U; # F¶, vӟi F¶ 2 FG: F¶ þG;;
15. FG; := FG;¶ /F¶};
16. endic;
17. endcor;
c%c& c'(c c cc c c
" c
Thuұt toán 3.3. ChuyӇn đәi mӕi quan hӋ 1¿
Input: Các mӕi quan hӋ 1¿
trênE#
Lutput: Các quan hӋ thuӝc I0 kèm khoá chính, khoá ngoàitương ӭng vӟi
mӛi quan hӋ
Method:
1. cor mӛi mӕi quan hӋ#là quan hӋ 1¿
trongE# do
2. Xác đӏnh các tұp thӵc thӇE (³phía nhiӅuM) vàE¶ (³phía 1M) tham
gia vào mӕi quan hӋ#;
3. Xác đӏnh các quan hӋ;và ; tương ӭng vӟi các tұp thӵc thӇEvàE¶;
4. ic (E;#) = 0 then
5. Tҥo ra mӝt quan hӋ mӟi vӟi U = # F F¶ trong đó
F 2 FG: F þG; và F 2 FG: F¶ þG; ;
6. Chӑn þG = F¶
7. Chӑn FG = /F, F¶};
8. I0 := I0 /};
9. else
10. U;:= U; # F, vӟi F 2 FG;: F þG;¶;
11. FG; := FG; /F};
12. endic;
13. endcor;
c%c& c'(c c cc c c " c
Thuұt toán 3.4. ChuyӇn đәi mӕi quan hӋ
¿
Input: Các mӕi quan hӋ
¿
trênE#
Lutput: Các quan hӋ thuӝc I0 kèm khoá chính, khoá ngoàitương ӭng vӟi mӛi
quan hӋ
c c
Method:
1. cor mӛi mӕi quan hӋ#là quan hӋ
¿
trongE# do
2. Xác đӏnh các quan hӋ;và ;¶ tương ӭng vӟi các tұp thӵc thӇ tham
gia vào mӕi quan hӋ#;
3. Tҥo ra mӝt quan hӋ mӟi vӟi U = # F F¶ vӟi
F 2 FG: F þG; và F¶ 2 FG: F¶ þG;¶;
4. Chӑn þG = F F¶;
5. Chӑn FG = /F, F¶};
6. I0 := I0 /};
7. endcor;
Nhұn xét: Lưu ý rҵng viӋc chuyӇn đәi mӕi quan hӋ phҧn xҥ #(hai vai
trò) trên cùng mӝt tұp thӵc thӇElà mӝt trưӡng hӧp đһc biӋt cӫa các mӕi quan
hӋ nhӏ nguyên (1-1, 1¿
và
¿
). Cө thӇ, gӑi;là quan hӋ tương ӭng
vӟi tұp thӵc thӇE Khi đó, nӃu mӕi quan hӋ phҧn xҥ#là mӕi quan hӋ 1-1 hoһc
1¿
, thì mӝt khoá ngoài cӫa ; tham chiӃu vào chính khoá chính cӫa ; sӁ
đưӧc bә sung, cùng vӟi tҩt cҧ các thuӝc tính đơn trӏ cӫa mӕi quan hӋ # Và nӃu
mӕi quan hӋ phҧn xҥ#là mӕi quan hӋ
¿
thì mӝt quan hӋ mӟiđưӧc
tҥo ra. Các thuӝc tính tronggӗm hai khoá ngoài cӫacùng tham chiӃu (theo
vai trò) đӃn khoá chính cӫa ;, và tҩt cҧ các thuӝc tính đơn trӏ cӫa mӕi quan hӋ #
c%c& c'(c c cc"c
Tương tӵ như mӕi quan hӋ kӃ thӯa trong mô hình hưӟng đӕi tưӧng, mӝt
tұp thӵc thӇ E có mӕi quan hӋ ¿ vӟi tұp thӵc thӇ Eÿ (ký hiӋu là
³E ¿EÿM) có nghĩa rҵng mӝt thӵc thӇ thuӝcEthì cũng thuӝc Eÿ và tҩt cҧ
các thuӝc tính có trong Eÿ thì cũng có trongE Các thuӝc tính bә sung trênE
nhҵm chi tiӃt hoá các đһc điӇm cӫa tұp thӵc thӇE Vì vұy,Ecòn đưӧc gӑi là
mӝt lӟp con cӫa Eÿ, hay Eÿ là lӟp cha cӫaE Khi đó, viӋc chuyӇn đәi mӕi
quan hӋ ¿ đưӧc thӵc hiӋn như sau:
Xét mӝt tұp thӵc thӇEcó mӕi quan hӋ ¿ vӟi tұp thӵc thӇ Eÿ, ta lҫn
lưӧt xác đӏnh các quan hӋ;và ;¶ tương ӭng vӟi các tұp thӵc thӇEvàE¶. Tӯ đó
c c
bә sung vào tұp thuӝc tính cӫa quan hӋ ; khoá chính þG; đӗng thӡi cũng là
khoá ngoài tham chiӃu đӃn khoá chính có cùng tên trên quan hӋ ;¶. Tӭc là ta có:
þG;2 FG;: þG; ò þG;¶ ;
Method:
1. cor mӛi mӕi quan hӋ ³E ¿ EÿM trongE# do
2. Xác đӏnh các quan hӋ;và ;¶ tương ӭng vӟi các tұp thӵc th ӇEvàE¶;
3. U;:= U; F , vӟi F2 FG;: F ò þG; ;
4. þG; := FJ
5. FG; := FG; /F};
6. endcor;
Lưu ý rҵng, trên thӵc tӃ có nhiӅu cách đӇ chuyӇn đәi mӕi quan hӋ ¿
giӳa các lӟp con và mӝt lӟp cha. Chҷng hҥn, mӝt sӕ phương pháp chӍ sӱ dөng
mӝt quan hӋ đӇ biӇu diӉn lӟp cha và kèm thông tin vӅ các lӟp con, bҵng cách
ghi nhұn đӗng thӡi tҩt cҧ các thuӝc tính cӫa tҩt cҧ các lӟp con trên đó. Ӣ đây
chúng ta chӍ nêu mӝt phương pháp tiêu biӇu cho bưӟc chuyӇn đәi này. Mһc dù
phương pháp chuyӇn đәi này có ưu điӇm là giҧi quyӃt đưӧc hҫu hӃt các khҧ
năng vӅ tính kӃ thӯa cӫa các lӟp con, chҷng hҥn như viӋc tҧi bӝi (overlapping).
Tuy nhiên, ngӳ nghĩa cӫa mӕi quan hӋ ¿ là không còn thӇ hiӋn rõ trong mô
hình quan hӋ thu đưӧc. Bên cҥnh đó, viӋc sӱ dөng nhiӅu quan hӋ sӁ đòi hӓi chi
phí cho các phép kӃt nӕi tӵ nhiên đӕi vӟi mӝt sӕ các truy vҩn.
Ngưӧc lҥi, các phương pháp chӍ sӱ dөng mӝt quan hӋ đӇ biӇu diӉn lӟp
cha và các lӟp con, mһc dù có nhưӧc điӇm là gây dư thӯa dӳ liӋu (xuҩt hiӋn
nhiӅu giá trӏ
trên mӝt sӕ thuӝc tính đӕi vӟi các bӝ thuӝc lӟp con không có
thuӝc tính đó), nhưng sӁ tҥo thuұn lӧi cho viӋc xӱ lý cũng như tiӃt kiӋm chi phí
các truy vҩn đưӧc thӵc hiӋn trên quan hӋ đó. Ngoài ra, chúng ta cũng có thӇ
c c
phát hiӋn ngӳ nghĩa cӫa mӕi quan hӋ ¿ trên các quan hӋ đó dӵa vào các thuұt
toán khai phá tri thӭc và các luұt liên quan đӃn các giá trӏ
.
4.2.3 Mô hình tә chӭc dӳ liӋu
Mô hình tә chӭc dӳ liӋu, còn gӑi là mô hình cơ sӣ dӳ liӋu là toàn bӝ các
quan hӋ cӫa bài toán đưӧc chuyӇn đәi tӯ mô hình quan niӋm dӳ liӋu theo các
quy tҳc chuyӇn đәi trên.
Ví dө 1: ChuyӇn mô hình quan niӋm vӅ dӳ liӋu sang mô hình tә chӭc dӳ liӋu
cӫa HTTT "z cc#c"
N à CC @ o @ à?
c
cc cc 9c
cc Đcc c9c
Đcc c Đc9c
C
N À
À o
8cc
c c
c
c c
P i ? c c
Hà? c c PH
G
m à?N G
m à?
c
c
&)cc 1c;c c'
c 1:<)=c
c
&):c
'(c;c c'
c
'(<)=c
Đơc7ӏc
Đơc
9c
c
c.c>c?c-!
c@) ccA cB'
c9cC41c"c'
C c
P i ? (c
&):c
'(c;cc)
c c
G
m à?N (
&):c'
c1:; )
G
m à? (
&):c'
c1:<)= )
1 1
1
c c
c
?
?
? ?
c c
c
1
1
1
? c c c?
c c
VӦ CHӖNG (
cc
c-cc-c
cc
c4c
c,J)
NGHӄ (
c,Jc Ec,J)
CON (
c, cc
cc
c,J)
BLƯƠNG (
cB1c1
c,K)
NGҤCH (
c,Kc Ec,Kc 11c)
NƯӞC (
cƯӞc EcƯӞ)
ĐҦNG VIÊN (
cc,IGcĐc,IGc c
c D)
LHĐT (
c1Đ c Ecc1Đ )
NG NGӲ (
cc Ec)
DÂN TӜC (
cL , EcL )c
TÔN GIÁO (
c ,, Ec ,)
VĂN HÓA (
c Đ, Ec Đ)
ĐƠN Vӎ (
cĐ, EcĐ)
CÔNG CHӬC (
c c Ec c, Mcc Nc Ic ĐIcE,IGc
Ic 4c ,IGc BOc Ec c Ec c
c Đc
c ,Kc
c 1Đ c
c
FGHc
c ĐƯӠ,c
c L c
c B1c
c c c
c c c
c ,Jc c
c,Jcc
c ,c
c Đ)
NGHӌ PHÉP (
ccc
c Dc,IGcBLc,IGc" c)
ANH EM (
cc
cP)
QTL (
cc
cB1c,IGcc)
CC-ĐNN (
cc
cƯӞc,IGcĐc,IGcJc1QcL)
CC-NN (
cc
cc
cĐӜ)
c c
üc Tӕi ưu hóa lưu trӳ
üc Đҧm bҧo các phө thuӝc dӳ liӋu theo đúng mô hình mà vүn không làm tәn
thҩt thông tin.
c c (1NF):
Lưӧc đӗ quan hӋ R vӟi tұp phө thuӝc hàm F xác đӏnh trên R đưӧc gӑi là ӣ
dҥng chuҭn 1 nӃu mӑi thuӝc tính cӫa nó là thuӝc tính đơn (các thuӝc tính không
có nhu cҫu phân rã trong các xӱ lý- không phҧi thuӝc tính lһp hoһc thuӝc tính
phӭc hӧp).
Lưӧc đӗ quan hӋ R vӟi tұp phө thuӝc hàm F xác đӏnh trên R đưӧc gӑi là ӣ
dҥng chuҭn 2 nӃu nó là dҥng chuҭn 1 và mӑi thuӝc tính không khoá phҧi '(
)*.K6. vào khoá chính.
f &MN: Lưӧc đӗ quan hӋ R vӟi tұp phө thuӝc hàm F xác đӏnh trên
R đưӧc gӑi là ӣ dҥng chuҭn 3 nӃu nó là dҥng chuҭn 2 và không tӗn tҥi thuӝc
tính không khoá phө thuӝc hàm bҳc cҫu vào khoá.
c c
f &MO: Lưӧc đӗ quan hӋ R vӟi tұp phө thuӝc hàm F xác đӏnh trên
R đưӧc gӑi là ӣ dҥng chuҭn 3 nӃu mӑi phө thuӝc hà m XA, AEX đúng trong R
thì X phҧi là siêu khóa hoһc A là thuӝc tính khóa.
Chuҭn hoá là sӵ phân tách mӝt lưӧc đӗ quan hӋ có cҩu trúc dӳ liӋu phӭc
tҥp thành các lưӧc đӗ quan hӋ con ӣ mӝt dҥng chuҭn quy ưӟc nào đó, thông
thưӡng là dҥng chuҭn 3. Trong thӵc tӃ, ngay tӯ lúc ban đҫu trong khi thiӃt kӃ dӳ
liӋu ngưӡi phân tích thưӡng gӝp tҩt cҧ các thuӝc tính đӇ hình thành các lưӧc đӗ
quan hӋ theo ý chӫ quan cӫa mình. Các lưӧc đӗ nh ư thӃ thưӡng chưa đưӧc
chuҭn hoá nên thưӡng mҳc phҧi nhӳng khiӃm khuyӃt như đã nêu ӣ trên.
Khi mӝt lưӧc đӗ quan hӋ không là 1NF thì nó có chӭa thuӝc tính lһp. Khi
đó ta tách lưӧc đӗ quan hӋ thành hai lưӧc đӗ quan hӋ con:
\c Lưӧc đӗ quan hӋ 1: gӗm các thuӝc tính lһp và k hoá chính xác đӏnh chúng.
\c Lưӧc đӗ quan hӋ 2: gӗm các thuӝc tính còn lҥi ( đơn) và khoá chính.
Khi mӝt lưӧc đӗ quan hӋ là 1NF nhưng không là 2NF thì trong lưӧc đӗ
quan hӋ sӁ tӗn tҥi thuӝc tính không khoá phө thuӝc không đҫy đӫ vào khoá
chính. Khi đó ta tách lưӧc đӗ quan hӋ thành hai lưӧc đӗ quan hӋ con:
\c Lưӧc đӗ quan hӋ 1: gӗm các thuӝc tính phө thuӝc không đҫy đӫ vào khoá
chính và phҫn khoá bӏ phө thuӝc
\c Lưӧc đӗ quan hӋ 2: gӗm các thuӝc tính còn lҥi và khoá chính.
Khi mӝt lưӧc đӗ quan hӋ là 2NF nhưng không là 3NF thì sӁ tӗn tҥi phө
thuӝc hàm bҳc cҫu trong lưӧc đӗ quan hӋ. Khi đó ta tách lưӧc đӗ quan hӋ thành
hai lưӧc đӗ quan hӋ con:
c c
\c Lưӧc đӗ quan hӋ 1: gӗm các thuӝc tính phө thuӝc bҳc cҫu và thuӝc tính
cҫu.
\c Lưӧc đӗ quan hӋ 2: gӗm các thuӝc tính còn lҥi và thuӝc tính cҫu.
 c'-c c#)c
C ? oá À à?
1NF
C ? oá À à?
2NF
C ? oá À à?
3NF
c c
4.3.4 Mӝt sӕ ví dө vӅ chuҭn hoá
!c.c
: Mӝt Công ty sӱ dөng hai loҥi chӭng tӯ sau đây đӇ theo dõi các hoҥt
đӝng kinh doanh cӫa mình.
Hãy thiӃt kӃ cơ sӣ dӳ liӋu (mô hình tә chӭc vӅ dӳ liӋu) tӯ các tài liӋu trên
đӇ quҧn lý các hoҥt đӝng kinh doanh cӫa công ty. Chú ý rҵng dӳ liӋu phҧi đưӧc
chuҭn hoá ӣ dҥng chuҭn 3.
c c
Giҧi quyӃt vҩn đӅ
Có hai tұp thӵc thӇ đưӧc xác đӏnh tӯ Đơn đһt hàng và PhiӃu giao hàng là:
KHÁCH và HÀNG.
¡c Tұp thӵc thӇ KHÁCH có hai thuӝc tính là: ! và f C.
Cҧ hai thuӝc tính này đӅu không thӇ dùng làm đӏnh danh cho tұp thӵc thӇ,
nên phҧi bә sung thêm thuӝc tính QR đӇ làm đӏnh danh.
¡c Tұp thӵc thӇ HÀNG có ba thuӝc tính là: !*&= f - và Q D
*&. Cҧ ba thuӝc tính này cũng không thӇ làm đӏnh danh nên phҧi áp đһt
thuӝc tính QR*& đӇ làm đӏnh danh cho tұp thӵc thӇ.
Có thӇ tìm tҩy hai đӝng tӯ trong các hoҥt đӝng cӫa hӋ thӕng đó là: f$c
và 0#c. ĐӇ xác đӏnh các tұp thӵc thӇ và thuӝc tính cho mӕi quan hӋ
ta đһt các câu hӓi chung quanh đӝng tӯ đó:
¡c f$c (hoһc 0#cc như thӃ nào? bҵng đơn hàng thӇ
hiӋn qua;9.
và .&
Tӯ đó ta có, hai mӕi quan hӋ vӟi các thuӝc tính như sau:
c c
¡c Mӕi quan hӋ f$ giӳa hai tұp thӵc thӇ KHÁCH và HÀNG vӟi các thuӝc
tính: ;9.=@&*6.S=;9
$2&.S
¡c Mӕi quan hӋ 0# giӳa hai tұp thӵc thӇ HÀNG và KHÁCH vӟi các thuӝc
tính: ;9 '1 &= @ &= @&*6 &= ;9
$2& &= . & *&
&
f
@HÁCH c
 c#)c' c c HÀNG
,c'$cc
 cc'$c
c)c c c cc
c)c cc
f c4cc f c cc
c cc
 c c#c
c, c#c
,c#c
 cc#c
f c)cc#c
ĐӇ chuҭn hoá các lưӧc đӗ quan hӋ có đưӧc chúng ta có thӇ xác đӏnh các
phө thuӝc hàm và sӱ dөng Lý thuyӃt chuҭn hoá cơ sӣ dӳ liӋu đӇ tách các lưӧc
đӗ quan hӋ thành các lưӧc đӗ con ӣ dҥng chuҭn 3. Chúng ta cũng có thӇ chuҭn
hoá bҵng cách phân rã dҫn mӝt lưӧc đӗ quan hӋ thành các các lưӧc đӗ con 1NF,
2NF, 3NF theo như cách dưӟi đây:
c c
¡c Chuҭn hoá dӳ liӋu tӯ ĐƠN ĐҺT HÀNG
;NF 1NF 2NF 3NF
;9. ;9. ;9. ;9.
QR QR QR @&*6.S*&
! ! ! QR
f C f C f C
@&*6.S*& @&*6.S*& @&*6.S*& QR
QR*&T
S'V !
!*&T
S'V ;9. ;9. f C
Q D*&T
S'V QR*& QR*&
f -T
S'V !*& ;9
$2&.S ;9.
;9
$2&.ST
S'V Q D*& QR*&
f - QR*& ;9
$2&.S
;9
$2&.S !*&
Q D*& QR*&
f - !*&
Q D*&
f -
c c
f -T
S'V QR*& QR*&
f& !*& ;
$2&& ;9'1
;
$2&&T
S'V f - QR*&
f& QR*& ;
$2&&
;
$2&& !*& f&
f -
f& QR*&
!*&
f -
1 1 1 ?
?
?
c c c
1 ?
? 1 1
?
c c
c
c c
Ví dө 2: Chuҭn hoá mӝt chӭng tӯ xuҩt trong bài toán ³ z cc#cM
HLÁ ĐƠN
(Kiêm phiӃu xuҩt ho`
sӕ phiӃu:________
c c
SӔLƯӦNG (lһp) ĐƠNVӎ MҮHÀNG
ĐƠNGIÁ MҮHÀNG SӔLƯӦNG
SӔLƯӦNG TÊNHÀNG
ĐƠNVӎ MҮHÀNG
ĐƠNGIÁ TÊNHÀNG
ĐƠNVӎ
ĐƠNGIÁ
c(cU
c' PHIӂ NHҰP @HO Này 55555
"c
)(c*
)c c c c c c c c
&)Scc
-cc
$3
c
: fH' Đӏ c: NWþfþX&
Đơc7ӏ: &6@ & D8'YCZ1
c+c/8
cV: NO[\]G Ngày NO]N^]O^^\
SÀÀ ê? à? Mã à? Đơ? vӏ Đơ? iá Sӕ lưӧ? à? ÀiӅ?
c c
;NF 1NF 2NF 3NF
SӔPHIӂUNHҰP SӔPHIӂUNHҰP SӔPHIӂUNHҰP SӔPHIӂUNHҰP
MÃSӔ_NCC MÃSӔ_NCC MÃSӔ_NCC MÃSӔ_NCC
TÊN_NCC TÊN_NCC TÊN_NCC NGÀY
ĐӎACHӌ_NCC ĐӎACHӌ_NCC ĐӎACHӌ_NCC
NGÀY NGÀY NGÀY MÃSӔ_NCC
TÊNHÀNG (lһp) TÊN_NCC
MҮHÀNG (lһp) SӔPHIӂUNHҰP SӔPHIӂUNHҰP ĐӎACHӌ_NCC
ĐƠNVӎTÍNH (lһp) TÊNHÀNG MҮHÀNG
ĐƠNGIÁ (lһp) MҮHÀNG SӔLƯӦNG SӔPHIӂUNHҰP
SӔLƯӦNG (lһp) ĐƠNVӎTÍNH MҮHÀNG
ĐƠNGIÁ TÊNHÀNG SӔLƯӦNG
SӔLƯӦNG MҮHÀNG
ĐƠNVӎTÍNH TÊNHÀNG
ĐƠNGIÁ MҮHÀNG
ĐƠNVӎTÍNH
ĐƠNGIÁ
!c.c: Phân tích thiӃt kӃ hӋ thӕng thông tin " z cccc cf5 5c
5 "
,c
cc c
Thư viӋn trưӡng ĐHKH HuӃ quҧn lý khoҧng 800.000 đҫu sách và tҥp chí,
phөc vө cho hӑc sinh, sinh viên cӫa trưӡng. Sinh viên có thӇ mưӧn sách đӑc tҥi
chә hoһc vӅ nhà. ĐӇ phөc vө đӝc giҧ nhanh, gӑn và chính xác, thư viӋn cҫn tin
hӑc hóa công viӋc quҧn lý danh mөc sách và quҧn lý đӝc giҧ cӫa mình. ViӋc
phân cҩp quҧn lý cӫa thư viӋn theo tӯng bӝ phұn như sau:
0)c' cc: điӅu hành chung toàn bӝ các công tác trong thư viӋn.
6c: có trách nhiӋm cұp nhұt thêm sách báo và quҧn lý đӝc giҧ cӫa mình.
Hӫy bӓ các sách đӃn thӡi điӇm đưӧc thanh lý khӓi danh mөc, sҳp xӃp sách
trong phòng chӭa sách theo tӯng khu vӵc, kӋ sách sao cho có thӇ dӉ dàng tìm
c c
kiӃm khi có đӝc giҧ mưӧn. Ngoài ra đӏnh kǤ thӫ thư còn phҧi lұp báo cáo thӕng
kê tình hình mưӧn sách, thӕng kê đӝc giҧ, tӯ đó xác đӏnh đưӧc các sách, chӫ đӅ
sách đưӧc nhiӅu đӝc giҧ sӱ dөng, đӇ rӗi có kӃ hoҥch bә sung sách mӟi mӝt cách
hӧp lý.
c*c.c.c'c: có trách nhiӋm cҩp thҿ đӝc giҧ, lұp các phiӃu mưӧn
sách, trҧ sách, kiӇm tra tư cách đӝc giҧ, in phiӃu đòi sách cho nhӳng đӝc giҧ trӇ
hҥn, hӫy bӓ các đӝc giҧ đã quá hҥn đăng ký.
&)cc.c6cc :
Thư viӋn trưӡng ĐHKH HuӃ gӗm 4 nhiӋm vө chính:
üc zD : bao gӗm nhұp sách, hӫy sách khӓi danh mөc.
üc zD
$2D : tra cӭu, cho mưӧn sách, nhұn lҥi sách trҧ, đòi
sách trӇ hҥn, kiӇm tra tư cách đӝc giҧ.
üc 0 &!: thӕng kê sách, thӕng kê đӝc giҧ và tình hình mưӧn sách.
a.c Chuҭn hoá dӳ liӋu tӯ Thҿ quҧn lý sách:
c c
c*$+
c c*$+
c c*$+
c c*$+
c
!c<)=cBUc !c<)=cBUc !c<)=cBUc !c<)=cBUc
c
c
c c
c
c c
c
cc c
c
cc
c
c
c
cc cc*X
cc cc*X
cc
cc*X
c cc*X
cc*X
cc cc*X
cc
c*X
c c*X
cc cY!cV9c cY!cV9c
cY!cV9c cY!cV9 c9c
Uc c9c
Uc
Y!cV9c Y!cV9c cBc cBc
c9c
Uc c9c
U c7ӏc#c c7ӏc#c
9c
Uc 9c
Uc 1ZcBc 1ZcBc
Đӏ cc9c
Uc Đӏ cc9c
Uc
'(c;c
'(c;c
Đ c9c
Uc Đ c9c
Uc c*Zc!$+c c*Zc!$+c
cBc cBc cccccccccccccccccccccccccccccccccc
Bcc Bcc c
c
c c
c
c
!cBc !cBc
c
c
c
c
Đӏ ccBc Đӏ ccBc c c
Đ cBcc Đ cB cc*X
cc*X
c7ӏc#c c7ӏc#c c*X
cc c*X
cc
")c7>c ")c7>c c c
"c "c cY!cV9 cY!cV9
c
c cc*X
c cc*X
c
1ZcBc 1ZcBc Y!cV9c Y!cV9c
'(c;c
'(c;c c c
c*Zc!$+c c*Zc!$+ c9c
U c9c
U
c 9c
Ucc 9c
Ucc
Đӏ cc9c
Uc Đӏ cc9c
Uc
Đ c9c
Uc Đ c9c
Uc
c c
cBc cBc
Bcc Bcc
!cBc !cBc
c c
Đӏ ccBc Đӏ ccBc
Đ cBc Đ cBc
c c
c7ӏc#c c7ӏc#c
")c7>c ")c7>c
"c "c
c c
;NF 1NF 2NF 3NF
c
&)c!$+c c
&)c!$+c cVc/0c
Uc cVc/0c
Uc
cVc/0c
Uc
'(c!$+c
'(c!$+c c/0c
Uc
c/0c
Uc .c_c!$+cc .c_c!$+c " c
" c cVc/0c
Uc cVc/0c
Uc 12c
12c c/0c
Uc c/0c
Uc Đӏ cc
Đӏ cc " c " c Đ c
Đ c 12c 12c c
cVcV9c*Rc Đӏ cc Đӏ cc
cV9c*Rc Đ c Đ c
c c
9c
Uc*Rc
c
&)c!$+c c
&)c!$+c
c*X
V9c*Rc
cVcV9c cVcV9c
cc*X
*Rc
cV9c cV9c
c*X
c*Rc
9c
Uc 9c
Uc
.c_c!$+c
c*X
V9c cc*X
c
'(c!$+c
cc*X
c c*X
c
c
c*X
c
c
c c
. #*&4))5: ràng buӝc này đòi hӓi giá trӏ cӫa các bӝ cӫa quan hӋ
tҥi thuӝc tính bӏ ràng buӝc phҧi đưӧc xác đӏnh (NOT NULL). Ví dө, thuӝc tính
HӐTÊN trong quan hӋ NHÂNVIÊN phҧi đưӧc xác đӏnh trong tҩt cҧ các bӝ cӫa
quan hӋ. Khoá cũng là mӝt trưӡng hӧp cӫa loҥi ràng buӝc này.
. #*&4)
& )- : ràng buӝc này yêu cҫu giá trӏ
thuӝc tính cӫa quan hӋ phҧi thuӝc mӝt miӅn cho phép nào đó.
Ví dө: - Thuӝc tính ĐIӆMTBÌNH trong quan hӋ SINHVIÊN có ràng buӝc toàn
vҽn là: 0 ĐIӆMTBÌNH 10.
- Thuӝc tính TĐӜNGNGӲ trong quan hӋ NHÂNVIÊN có ràng buӝc:
các giá trӏ có thӇ có cӫa thuӝc tính này phҧi ӣ trong danh sách (A, B, C, cӱ
nhân, thҥc sĩ, tiӃn sĩ).
. #*&4)
& S . : loҥi ràng buӝc đưӧc chӍ đӏnh giá trӏ cө
thӇ cho mӝt thuӝc tính. Ví dө, thuӝc tính GIӞITÍNH có giá trӏ mһc đӏnh là T;
NGÀYHOÁĐƠN có giá trӏ mһc đӏnh là ngày hiӋn tҥi.
b. c! c#c7c c)c!c6c c c
Ràng buӝc này thӇ hiӋn bҵng mӝt tân tӯ hoһc mӝt công thӭc đӅ cұp đӃn
các giá trӏ cӫa nhiӅu thuӝc tính cӫa mӝt bӝ .
Ví dө: . Trong bҧng KHÁCHHÀNG cӫa Cty ĐiӋn báo điӋn thoҥi có thuӝc tính
SӔĐT đưӧc quy ưӟc như sau: nӃu sӕ điӋn thoҥi bҳt đҫu bҵng sӕ ba sӕ 090 thì
khách hàng sӱ dөng điӋn thoҥi Mobiphone, nӃu sӕ điӋn thoҥi bҳt đҫu bҵng sӕ
091 thì khách hàng sӱ dөng điӋn thoҥi Vinaphone.
. Trong bҧng NHÂNSӴ cӫa Đҥi hӑc HuӃ, thuӝc tính MANV đưӧc quy
ưӟc có 6 ký tӵ: hai ký tӵ đҫu đӇ chӍ mã trưӡng trӵc thuӝc, hai ký tӵ tiӃp theo đӇ
chӍ mã đơn vӏ, hai ký tӵ cuӕi đӇ chӍ sӕ thӭ tӵ cӫa nhân viên trong đơn vӏ. Ví dө,
KH0201 .
c. c! cc#)c
Giҧ sӱ K là khoá cӫa lưӧc đӗ quan hӋ R trong cơ sӣ dӳ liӋu D thì khoá
cӫa R sӁ tҥo ra mӝt ràng buӝc trên tұp các quan hӋ cӫa lưӧc đӗ quan hӋ R theo
c c
nghĩa như sau: Vӟi mӑi quan hӋ r trên lưӧc đӗ quan hӋ R, u, v là hai bӝ bҩt kǤ
trên r thì luôn luôn có u[K] / v[K].
Ví dө: Lưӧc đӗ quan hӋ DIEM(MSSV, MSMH, DIEMTHI, LANTHI) trong đó
K= /MSSV, MSMH, LANTHI} là khoá thì trên lưӧc đӗ này ta có ràng buӝc
khoá là: t1, t2 2 DIEM t1[K] / t2[K]
d. c! c#c7c c c c c
. Ràng buӝc vӅ khoá ngoҥi
. Ràng buӝc toàn vҽn tham chiӃu
üc
&: công viӋc do con ngưӡi trӵc tiӃp thao tác trê n đӕi tưӧng làm
viӋc. Xӱ lý này thưӡng đưӧc thӵc hiӋn trong trưӡng hӧp các quyӃt đӏnh
không có giҧi thuұt hoһc không đҫy đӫ thông tin, hoһc đӝ khó cao chưa có
phương tiӋn kӻ thuұt tӵ đӝng xӱ lý. Ví dө, ghi sӕ điӋn hàng tháng tҥi các hӝ
gia đình.
üc
8.)&T
_
V: kiӇu xӱ lý bҵng máy, do con ngưӡi cung cҩp
thông tin đҫu vào đӇ máy tӵ đӝng thӵc hiӋn công viӋc. Đây là loҥi xӱ lý có
c c
giҧi thuұt và dӳ liӋu đҫy đӫ. Ví dө, làm báo cáo tӗn kho, làm hóa đơn xuҩt
hàng,...
üc
$&&$` ¿6L là kiӇu xӱ lý bҵng máy nhưng trong quá trình
xӱ lý phҧi có nhӳng giai đoҥn cung cҩp thông tin cӫa ngưӡi sӱ dөng.
c. c c9c
c(c
: là biӃn cӕ cӫa hӋ thӕng nhưng đưӧc đһt ӣ nơi phát
sinh ra nó hay là nơi nhұn biӃt nó. Ӣ mӭc tә chӭc, mӝt biӃn cӕ còn phҧi quan
tâm:
üc` & 'D &L là thӡi gian tӕi đa đưӧc chӡ đӧi tӯ khi biӃn cӕ xuҩt
hiӋn cho đӃn khi công viӋc đưӧc kích hoҥt.
ücK aLlà tҫn sӕ xuҩt hiӋn biӃn cӕ trong mӝt đơn vӏ thӡi gian.
1
2
Ví dө: Bҧng công viӋc cӫa bài toán " QL tuyӇn sinh"
? ? vi
S ê? ? vi Nơi À i? P ươ? À ? sÀ C kǤ
c c
5 In Giҩy báo thi Phòng Đào tҥo Tӵ đӝng 1lҫn/năm 1 năm
6 Gӱi Giҩy báo thi Phòng Đào tҥo Thӫ công 1lҫn/năm 1 năm
7 Thi tuyӇn sinh Phòng Đào tҥo Thӫ công 1lҫn/năm 1 năm
c c
Vӏ trí 1 Vӏ trí 2 Vӏ trí 3 Vӏ trí 4 Vӏ trí 5
i ? ӕ 4
i ? ӕ 1
CÔNG VIӊC 2
c GPc
CÔNG VIӊC 1 c
c GPc
c i ? ӕ 6
i ? ӕ 3
i ? ӕ 5
i ? ӕ 2
CÔNG VIӊC 3
c GPc
c
i ? ӕ 7
i ? ӕ 8
Nhӳng biӃn cӕ nào không xuҩt phát tӯ mӝt nơi làm viӋc nào đó không có trong
danh sach các vӏ trí, ta đһt giӳa hai đưӡng phân cách.
c c
Ví dө: Mô hình tә chӭc xӱ lý cӫa bài toán " QL TuyӇn sinh"
Xã hӝi BGH P.Đào tҥo Khoa Giáo viên
Có
Đ ?m Àiê S
o? À i
? báo S ҥ? ? HS
GPc
c
? báo
đã áÀ
N ? HS d À i
c GPc
c
H À ҥ?
DS À si? ? HS
H
sơ bӏ
À
ӕi
Đá? SD
GPc
c
DS Si?
ó SD
P ? À i L DSS-P
Lӏ À i
GPc
c
DS Si?
P ? À i
I? Giy
GPc
c
Giy
đã i?
c c
Xã hӝi BGH P.Đào tҥo Khoa Giáo viên
Gӱi Giy
GPcc c
c
Giy
Giy ài À i S k ? ? ?
đã ? ?
i ÀyӇ? si?
cc GPc
? dү?
c đá? á
si?
Đá? á
cc GPc
DS S
vҳ? À i c
ài À i đã
đá? á
ài À i
bӏ loҥi Lӏ
m À i
C m À i
GPcc c
ài À i đã c
m xo?
ài À i
bӏ loҥi
Rá á
c GPc
c
@ À q À i
ӕ? kê điӇm
Sӕ á
vҳ? À i c GPc
c c
c c
C m À i
xo?
DS S
bӏ loҥi
c
@ À q À i
đã @ê
L DS đӅ
? ӏ xéÀ ÀyӇ?
c GPc
DS S
bӏ loҥi DS S đӅ
? ӏ ÀyӇ?
C Àiê
S
éÀ ÀyӇ?
c GPc
c
DS S
DS S À
? ÀyӇ?
bӏ À ưӧÀ
c c