•
tªn b¸o c¸o : tæng quan vÒ c¬ së d÷ liÖu quan hÖ ngêi b¸o c¸o : bïi tuÊn kh«i thuéc nhãm : c¬ së d÷ liÖu ngµy b¸o c¸o : 3 / 9 / 1998
tæng quan vÒ c¬ së d÷ liÖu quan hÖ lêi më ®Çu thuËt ng÷ c¬ së d÷ liÖu (database) kh«ng mÊy xa l¹ víi nh÷ng ngêi lµm tin häc. §©y lµ mét trong nh÷ng lÜnh vùc ®îc t©p trung nghiªn cøu vµ ph¸t triÓn cña c«ng nghÖ th«ng tin, nh»m gii quyÕt c¸c bµi to¸n qun lÝ, t×m kiÕm th«ng tin trªn c¸c hÖ thèng lín, phøc t¹p, nhiÒu ngêi sö dông. tõ nh÷ng n¨m 70, m« h×nh d÷ liªu quan hÖ do codd ®a ra víi cÊu tróc hoµn chØnh ®· t¹o c¬ së to¸n häc cho c¸c vÊn ®Ò nghiªn cøu d÷ liÖu. víi cÊu tróc ®¬n gin vµ kh n¨ng h×nh thøc ho¸ phong phó, csdl quan hÖ dÔ dµng m« pháng c¸c hÖ thèng th«ng tin ®a d¹ng trong thùc tÕ. lu tr÷ th«ng tin tiÕt kiÖm, cã tÝnh ®éc lËp d÷ liÑu cao, dÔ söa ®æi, bæ sung còng nh khai th¸c d÷ liÖu lµ nh÷ng u ®iÓm næi bËt cña csdl quan hÖ . sau ®©y chóng ta sÏ ®Ò cËp tíi nhng kh¸i niÖm c¬ bn cña csdl quan hÖ . i - kh¸i qu¸t vÒ csdl & csdl quan hÖ i.1. kh¸i niÖm csdl §Þnh nghÜa
mét c¬ së d÷ liÖu lµ mét tËp hîp d÷ liÖu vÒ mét xÝ nghiÖp ®îc lu gi÷ trªn m¸y tÝnh, ®îc ngêi sö dông, cã c¸ch qun lÝ b»ng mét m« h×nh. vd: qun lÝ thi tuyÓn sinh th× csdl bao gåm: + thÝ sinh (tªn, ngµy sinh, ®Þa chØ, sè b¸o danh ...). + ph¸ch (sè b¸o danh, sè ph¸ch). + ®iÓm (sè ph¸ch, ®iÓm). c¸c tiªu chuÈn cña mét csdl mét csdl cÇn : + phn ¸nh tèt xÝ nghiÖp cÇn qun lÝ. + kh«ng d thõa th«ng tin: mçi th«ng tin chØ nªn cã mÆt mét lÇn trong hÖ thèng th«ng tin ®Ó tiÕt kiÖm lu tr÷, ®m bo truy cËp duy nhÊt. + ®éc lËp gi÷a csdl vµ ch¬ng tr×nh: sù söa ®æi ch¬ng tr×nh kh«ng lµm kÐo theo viÖc söa ®æi csdl. + tÝnh an toµn: kh«ng bÞ háng khi cã nhiÒu ngêi sö dông hoÆc cã c¸c sù cè. + hiÖu suÊt sö dông tèt: dï nhiÒu ngêi sö dông mét lóc, csdl vÉn ®m bo hiÖu suÊt nh chØ cã mét ngêi sö dông. hÖ qtcsdl lµ tËp hîp cã thø tù c¸c phÇn mÒn cho phÐp m« t lu gi÷ thao t¸c c¸c d÷ liÖu trªn mét csdl, ®m bo tÝnh an toµn, bÝ mËt trong m«i trêng cã nhiÒu ngêi sö dông. hÖ thèng th«ng tin lµ tËp hîp c¸c th«ng tin ®îc lu gi÷, vµ mét tËp hîp c¸c xö lÝ cho phÐp x©y dùng l¹i mét h×nh nh trung thµnh vÒ mét xÝ nghiÖp. kiÕn tróc mét csdl gåm 3 thµnh phÇn c¬ bn + thùc thÓ: lµ ®èi tîng cã trong thùc tÕ mµ chóng ta cÇn m« t c¸c ®Æc trng cña nã, ®èi tîng cã thÓ lµ cô thÓ hoÆc trõu tîng . + thuéc tÝnh: lµ c¸c d÷ liÖu thÓ hiÖn c¸c ®Æc trng cña thùc thÓ. + rµng buéc: lµ c¸c mèi quan hÖ logic cña thùc thÓ.
i.2.c¸c m« h×nh csdl m« h×nh ph©n cÊp m« h×nh d÷ liÖu lµ mét c©y, trong ®ã c¸c nót biÓu diÔn c¸c tËp thùc thÓ, gi÷a c¸c nót con vµ nót cha ®îc liªn hÖ theo mèi quan hÖ x¸c ®Þnh chñ-thµnh viªn (1-n). m« h×nh m¹ng m« h×nh ®îc biÓu diÔn lµ mét ®å thÞ cã híng . m« h×nh quan hÖ m« h×nh dùa trªn c¬ së kh¸i niÖn lý thuyÕt tËp hîp cña c¸c quan hÖ . i.3.c¸c kh¸i niÖm c¬ bn vª csdl quan hÖ thuéc tÝnh + lµ mét l« th«ng tin nhá nhÊt ®îc sö dông mét c¸ch tù do vµ cã ý nghÜa, ®éc lËp víi c¸c l« kh¸c . + trong mét m« h×nh , thuéc tÝnh lµ mét ®Þnh vÞ c¬ së th«ng tin, mét thuéc tÝnh ®îc ®Þnh nghÜa b»ng tªn vµ miÒn gi¸ trÞ cña nã . quan hÖ +quan hÖ ®îc ®Þnh nghÜa lµ tËp con cña tÝch §Ò c¸c d1*d2*...*dn trong ®ã di lµ miÒn gi¸ trÞ cña thuéc tÝnh i. ta cã thÓ xem quan hÖ nh mét bng gåm nhiÒu cét chøa tªn c¸c thuéc tÝnh, mçi cét chøa miÒn gÝa trÞ cña thuéc tÝnh, mçi cét chøa miÒn gi¸ trÞ cña thuéc tÝnh ®ã. + mçi hµng trong bng ®ã lµ mét bé gi¸ trÞ cña quan hÖ, lµ mét h×nh nh cña thùc thÓ. phô thuéc hµm xÐt tËp quan hÖ ri vµ hai tËp thuéc tÝnh g1,g2 lu«n cã mÆt cïng nhau trong c¸c ri. ta nãi cã sù phô thuéc cña hµm gi÷a g1,g2 nÕu víi mäi gi¸ trÞ cña g1 chØ cã thÓ kÕt hîp víi mét vµ chØ mét gi¸ trÞ cña g2 t¹i mét thêi ®iÓm cho tríc. tÝnh chÊt ®óng trong mäi ri mµ ë ®ã cã mÆt g1,g2 .
kÝ hiÖu g1 --> g2. kho¸ lµ mét hoÆc mét tËp c¸c thuéc tÝnh lµ nguån cña mét phô thuéc hµm cã ®Ých lÇn lît lµ c¸c thuéc tÝnh kh¸c cña quan hÖ. vd:
+ sinh viªn(sè thÎ sv, hä tªn, ngµy sinh, quª qu¸n) sè thÎ sv --> hä tªn sè thÎ sv --> ngµy sinh sè thÎ sv --> quª qu¸n nh vËy sè thÎ sv lµ khãa cña quan hÖ sinh viªn + ging d¹y (sè phßng häc,thêi gian, tªn ging viªn, tªn m«n häc) sè phßng häc, thêi gian --> tªn ging viªn, tªn m«n häc nh vËy (sè phßng häc, thêi gian) lµ kho¸ cña quan hÖ ging d¹y i.4.c¸c phÐp to¸n trªn c¸c quan hÖ phÐp chiÕu xÐt c¸c tËp c¸c thuéc tÝnh c vµ r lµ tËp c¸c quan hÖ ®Þnh nghÜa trªn c. phÐp chiÕu cña r trªn tËp g thuéc c lµ sù thu hÑp cña r ®Õn c¸c phÇn tö cña g. kÝ hiÖu Πg (r) . phÐp nèi nèi hai quan hÖ cã chøa c¸c thuéc tÝnh hoÆc tËp c¸c thuéc tÝnh nh nhau, quan hÖ thu ®îc gåm cã c¸c hµng ë hai quan hÖ ban ®Çu ®Æt nèi nhau b»ng c¸c thuéc tÝnh gièng nhau. phÐp nèi hai quan hÖ s vµ t kÝ hiÖu lµ s |><| t phÐp t¸ch m«t quan hÖ r ®îc gäi lµ ph©n r· thµnh hai quan hÖ s, t nÕu tho m·n : + s, t lµ c¸c phÐp chiÕu cña r + r = s |><| t chó ý r»ng kh«ng phi bÊt k× quan hÖ nµo còng t¸ch ®îc phÐp chän : lÊy ra c¸c hµng cã c¸c thuéc tÝnh tho m·n mét sè tiªu chuÈn cho tríc.
ngoµi ra cßn cã phÐp hîp, phÐp giao, phÐp lÊy hiÖu c¸c quan hÖ ii-thiÕt kÕ hÖ thèng csdl quan hÖ ii.1.ph©n tÝch t liÖu cña xn x¸c ®Þnh danh s¸ch c¸c thuéc tÝnh tõ viÖc kho s¸t thùc tÕ, tõ c¸c tin tøc trao ®æi víi ngêi dïng, ph©n tÝch c¸c bµi to¸n nghiÖp vô, ta ®îc mét danh s¸ch c¸c thuéc tÝnh phôc vô cho x©y dùng csdl. mçi mét thuéc tÝnh bao gåm : + tªn thuéc tÝnh + kiÓu thuéc tÝnh (lµ tÝnh to¸n hay kh«ng tÝnh to¸n) + miÒn gi¸ trÞ + quy t¾c tÝnh to¸n (nÕu thuéc tÝnh lµ tÝnh to¸n) + ds c¸c tham sè vd :
xÐt quan hÖ : bng l¬ng (hä tªn, §¬n vÞ, hÖ sè, l¬ng, phô cÊp, tæng lÜnh) ta thÊy ë ®©y l¬ng, tæng lÜnh lµ c¸c thuéc tÝnh tÝnh to¸n víi c¸c qui t¾c l¬ng = hÖ sè * 14400 tæng lÜnh = l¬ng + phô cÊp
t×m phô thuéc hµm gi÷a c¸c thuéc tÝnh sau khi cã ®îc mét danh s¸ch c¸c thuéc tÝnh tõ viÖc thu thËp th«ng tin vµ kho s¸t thùc tÕ, viÖc cÇn lµm tiÕp theo lµ x¸c ®Þnh c¸c phô thuéc hµm gi÷a c¸c thuéc tÝnh. chóng ta xÐt mét vÝ dô sau : qun lÝ th viÖn (sè thÎ, sè s¸ch, tªn s¸ch, lo¹i s¸ch, ngµy mîn, tªn ®éc gi, §Þa chØ ®éc gi) ta thÊy cã c¸c phô thuéc hµm sau : sè thÎ mîn, sè s¸ch --> ngµy mîn sè s¸ch --> tªn s¸ch, lo¹i s¸ch
sè thÎ mîn -->tªn ®éc gi, §Þa chØ ®éc gi ii.2.chuÈn ho¸ c¸c quan hÖ coi danh s¸ch c¸c thuéc tÝnh thu ®îc sau c¸c bíc trªn cïng c¸c phô thuéc hµm gi÷a chóng lµ mét quan hÖ, chóng ta thùc hiÖn viÖc chuÈn ho¸ quan hÖ nµy. môc ®Ých cña qu¸ tr×nh nµy lµ gim bít sù d thõa th«ng tin, bo ®m tÝnh duy nhÊt cña mçi th«ng tin, do ®ã tiÖn l¬i cho viÖc truy nhËp vµ cËp nhËt cho csdl.qu¸ tr×nh chuÈn ho¸ cã thÓ ®îc tiÕn hµnh qua nhiÒu bíc. ta xÐt vÝ dô sau : xe m¸y (sè xe, sè m¸y, lo¹i xe, ngµy ®¨ng kÝ, tªn chñ xe, sè ®iªn tho¹i, §Þa chØ) + nÕu mét ngêi cã nhiÒu xe th× lÆp l¹i (sè ®iÖn tho¹i, §Þa chØ ) cña chñ xe, nh vËy d thõa th«ng tin. + nÕu mét ngêi chñ xe thay ®æi ®Þa chØ th× phi söa nhiÒu lÇn, nh vËy cËp nhËt rêi r¹c nh vËy biªn ph¸p ®Ó kh¾c phôc lµ t¸ch ra quan hÖ chñ xe(tªn, sè ®iÖn tho¹i, §Þa chØ)
§a quan hÖ vÒ d¹ng chuÈn 1 nf quan hÖ cha ë d¹ng chuÈn 1nf lµ quan hÖ cßn chøa c¸c nhãm lÆp l¹i. ta ®a vÒ d¹ng 1nf b»ng c¸ch nh sau: + bá nhãm lÆp l¹i ra khái quan hÖ, chuyÓn nhãm ®ã thµnh mét quan hÖ míi + céng thªm vµo kho¸ cña nã kho¸ cña quan hÖ ban ®Çu ®Ó t¹o ra kho¸ phøc hîp vd:
xÐt quan hÖ : r (sè ho¸ ®¬n, ngµy b¸n, sè kh¸ch hµng, tªn kh¸ch hµng, sè sn phÈm, tªn sn phÈm, lîng yªu cÇu) nhãm (sè sn phÈm, tªn sn phÈm, lîng yªu cÇu ) lµ nhãm lÆp l¹i, ta cã thÓ t¸ch r thµnh r1 vµ r2 nh sau : + r1 (sè ho¸ ®¬n, ngµy b¸n, sè kh¸ch hµng, tªn kh¸ch hµng, sè sn phÈm) + r2 (sè ho¸ ®¬n, sè sn phÈm, tªn sn phÈm, l¬ng yªu cÇu)
§a quan hÖ vÒ d¹ng chuÈn 2nf quan hÖ ®· ë d¹ng 1nf nhng cha ë d¹ng 2nf lµ cã tån t¹i phô thuéc hµm cã nguån lµ tËp con cña kho¸. ta ®a vÒ d¹ng 2nf b»ng c¸ch nh sau: + nhãm vµo mét quan hÖ c¸c thuéc tÝnh phô thuéc hoµn toµn vµo kho¸ vµ gi÷ l¹i kho¸ cña quan hÖ ®ã + nhãm vµo mét quan hÖ kh¸c c¸c thuéc tÝnh phô thuéc vµo mét phÇn cña kho¸, lÊy phÇn ®ã lµm kho¸ chÝnh cho quan hÖ . vd : trong quan hÖ r2 (sè ho¸ ®¬n, sè sn phÈm, tªn sn phÈm, lîng yªu cÇu) cã phô thuéc hµm : sè sn phÈm --> tªn sn phÈm trong ®ã sè sn phÈm lµ mét phÇn cña kho¸, ta t¸ch r2 thµnh r3 vµ r4 nh sau : + r3 (sè ho¸ ®¬n, sè sn phÈm, lîng yªu cÇu) + r4 (sè sn phÈm, tªn sn phÈm)
d¹ng chuÈn 3nf quan hÖ ®· ë d¹ng 2nf nhng cha ë d¹ng 3nf lµ cã tån t¹i c¸c phô thuéc hµm gi¸n tiÕp. §a vÒ d¹ng 3nf ta lµm nh sau : + gi÷ l¹i trong quan hÖ ban ®Çu c¸c thuéc tÝnh phô thuéc trùc tiÕp vµo kho¸ + nhãm vµo mét quan hÖ kh¸c c¸c thuéc tÝnh b¾c cÇu, lÊy thuéc tÝnh b¾c cÇu lµm kho¸ vd : trong quan hÖ r1 (sè ho¸ ®¬n, ngµy b¸n, sè kh¸ch hµng, tªn kh¸ch hµng, sè sn phÈm) cã c¸c phô thuéc hµm b¾c cÇu : sè ho¸ ®¬n --> sè kh¸ch hµng --> tªn kh¸ch hµng ta cã thÓ t¸ch r1 thµnh r5 vµ r6 nh sau : + r5 (sè ho¸ ®¬n,ngµy b¸n, sè kh¸ch hµng, sè sn phÈm) + r6 (sè kh¸ch hµng ,tªn kh¸ch hµng)
d¹ng chuÈn bcnf quan hÖ ®· ë d¹ng 3nf nhng cha ë d¹ng bcnf lµ cã tån t¹i phô thuéc hµm cã nguån lµ thu«c tÝnh kh«ng thuéc kho¸ nhng cã ®Ých lµ thuéc tÝnh thuéc kho¸ . ta xÐt vÝ dô : r (häc sinh, m«n häc, gi¸o viªn, §iÓm) phô thuéc hµm gi¸o viªn --> m«n häc cã nguån kh«ng thuéc kho¸ nhng ®Ých thuéc kho¸, ta t¸ch r thµnh r1, r2 nh sau : + r1 (häc sinh, gi¸o viªn, §iÓm) + r2 (gi¸o viªn, m«n häc) c¸c phô thuéc hµm ®¬n trÞ dõng l¹i ë d¹ng chuÈn bcnf (boyce - codd). §Õn ®©y chóng ta cã thÓ kÕt thóc c«ng viÖc chuÈn ho¸ . lêi kÕt : m« h×nh csdl quan hÖ lµ mét c«ng cô rÊt tiÖn lîi ®Ó m« t cÊu tróc logic cña c¸c csdl . nh vËy á møc logic m« h×nh nµy bao gåm c¸c quan hÖ ®îc biÓu diÔn bëi c¸c bng. do ®ã ®¬n vÞ cña csdl quan hÖ lµ bng, trong ®ã c¸c dßng cña bng lµ c¸c bn ghi d÷ liÖu cô thÓ, cßn c¸c cét lµ c¸c thuéc tÝnh . §èi víi ngêi sö dông cã thÓ nãi csdl quan hÖ lµ mét tËp hîp c¸c bng biÕn ®æi theo thêi gian . §«i víi c«ng viÖc thiÕt kÕ mét cdsl th× c¸c c«ng viÖc ph©n tÝch t liÖu cña xÝ nghiÖp vµ chuÈn ho¸ lµ hÕt søc quan träng, phôc vô cho viÖc cµi ®Æt thùc tÕ .
tµi liÖu tham kho : - c¬ së d÷ liÖu kiÕn thøc vµ thùc hµnh pgs vò §øc thi - nxb thèng kª 1997 - nhËp m«n c¬ së d÷ liÖu quan hÖ lª tiÕn v¬ng - nxb khoa häc vµ kÜ thuËt 1997
khtn
bµi ging m«n c¬ së d÷ liÖu i - khoa cntt - §¹i häc