Bài giảng Cơ sở dữ liệu

THThiNganHang
다운로드 0회
117
0

미리보기 생성 중...

자료 내용

1쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 1 Ch−¬ng 1 : §¹i c−¬ng vÒ c¸c hÖ c¬ së d÷ liÖuCh−¬ng 1 : §¹i c−¬ng vÒ c¸c hÖ c¬ së d÷ liÖuCh−¬ng 1 : §¹i c−¬ng vÒ c¸c hÖ c¬ së d÷ liÖuCh−¬ng 1 : §¹i c−¬ng vÒ c¸c hÖ c¬ së d÷ liÖu 1.1 Kh¸i niÖm vÒ c¬ së d÷ liÖu (Database)1.1 Kh¸i niÖm vÒ c¬ së d÷ liÖu (Database)1.1 Kh¸i niÖm vÒ c¬ së d÷ liÖu (Database)1.1 Kh¸i niÖm vÒ c¬ së d÷ liÖu (Database) 1.1.1Kh¸i niÖm vÒ c¬ së d÷ liÖu C¬ së d÷ liÖu lμ mét tËp hîp cã cÊu tróc cña c¸c d÷ liÖu ®−îc l−u tr÷ trªn c¸c thiÕt bÞ ghi nhí vμ cã thÓ truy xuÊt ®−äc bëi c¸c ch−¬ng tr×nh m¸y tÝnh, ®−îc gäi lμ ch−¬ng tr×nh qu¶n trÞ c¬ së d÷ liÖu, ®Ó tho¶ m·n ®ång thêi cho nhiÒu ng−êi sö dông. HÖ c¬ së d÷ liÖu H×nh 1.1HÖ c¬ së d÷ liÖu 1.1.2 Môc ®Ých cña c¸c hÖ c¬ së d÷ liÖu Gi¶ sö ta xem xÐt mét phÇn viÖc l−u tr÷ th«ng tin ë ng©n hμng tiÕt kiÖm vÒ c¸c kh¸ch hμng vμ c¸c tμi kho¶n mμ ®−îc l−u trong c¸c files hÖ thèng th−êng trùc. H¬n n÷a, hÖ thèng nμy chøa mét sè c¸c ch−¬ng tr×nh øng dông cho phÐp ng−êi sö dông thao t¸c c¸c files nμy, bao gåm c¸c ch−¬ng tr×nh: • Ch−¬ng tr×nh ghi nî hoÆc göi tiÒn vμo mét tμi kho¶n • Ch−¬ng tr×nh thªm mét tμi kho¶n míi • Ch−¬ng tr×nh quyÕt to¸n • Ch−¬ng tr×nh ph¸t sinh b¶ng thèng kª hμng th¸ng C¸c ch−¬ng tr×nh nμy ®−îc viÕt bëi c¸c lËp tr×nh viªn hÖ thèng ®Ó ®¸p øng c¸c nhu cÇu cña tæ chøc ng©n hμng.C¸c ch−¬ng tr×nh øng dông míi ®−îc thªm vμo hÖ thèng khi cã nhu cÇu ph¸t sinh. K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

2쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 2 Gi¶ sö c¸c ®iÒu lÖ míi cña chÝnh phñ cho phÐp ng©n hμng tiÕt kiÖm cung cÊp c¸c th«ng tin kiÓm tra c¸c tμi kho¶n. Nh− thÕ mét sè c¸c files th−êng trùc míi sÏ ®−îc t¹o ra ®Ó chøa c¸c th«ng tin vÒ tÊt c¶ c¸c kiÓm tra tμi kho¶n hiÖn cã trong ng©n hμng vμ c¸c ch−¬ng tr×nh øng dông míi cÇn ®−îc viÕt ra. V× thÕ theo thêi gian nhiÒu files nhiÒu ch−¬ng tr×nh øng dông ®−îc thªm vμo hÖ thèng. HÖ thèng xö lý file (file-processing system) m« t¶ ë trªn ®−îc hç trî bëi mét hÖ ®iÒu hμnh. NhiÒu mÉu tin th−êng trùc ®−îc l−u tr÷ trong nhiÒu files vμ mét sè c¸c ch−¬ng tr×nh øng dông kh¸c nhau còng ®−îc viÕt ra ®Ó trÝch hoÆc thªm c¸c mÉu tin vμo c¸c files thÝch hîp. L−îc ®å nμy cã mét sè bÊt lîi chÝnh: • Sù d− thõa d÷ liÖu vμ sù m©u thuÉn d÷ liÖu (Data redundancy and inconsistency). Khi c¸c files vμ c¸c ch−¬ng tr×nh øng dông ®−îc t¹o ra bëi c¸c lËp tr×nh viªn kh¸c nhau qua mét thêi gian dμi th× c¸c files nμy cã c¸c ®Þnh d¹ng kh¸c nhau vμ c¸c ch−¬ng tr×nh ®−îc viÕt b»ng nhiÒu ng«n ng÷ lËp tr×nh. H¬n n÷a, cïng mét mÉu th«ng tin cã thÓ ®−îc nh©n b¶n ë nhiÒu n¬i (files). VÝ dô ®Þa chØ vμ sè phone cña mét kh¸ch hμng cã thÓ xuÊt hiÖn trong file chøa c¸c mÉu tin tμi kho¶n tiÕt kiÖm vμ trong file chøa c¸c mÉu tin kiÓm tra tμi kho¶n. Sù d− thõa nμy dÉn ®Õn kho l−u tr÷ vμ chi phÝ truy xuÊt ph¶i lín h¬n. H¬n n÷a, nã cã thÓ dÉn ®Õn sù m©u thuÉn d÷ liÖu, do ®ã nhiÒu b¶n copies cña cïng mét d÷ liÖu sÏ kh«ng phï hîp l©u dμi. VÝ dô mét sù thay ®æi ®Þa chØ kh¸ch hμng cã thÓ chØ ®−îc ph¶n ¸nh trong c¸c mÉu tin tμi kho¶n tiÕt kiÖm mμ kh«ng ë n¬i kh¸c trong hÖ thèng. KÕt qu¶ dÉn ®Õn sù m©u thuÉn d÷ liÖu. • Sù khã kh¨n trong viÖc truy xuÊt d÷ liÖu. Gi¶ sö mét nh©n viªn cña ng©n hμng cÇn t×m kiÕm tªn cña c¸c kh¸ch hμng sèng t¹i thμnh phè cã m· 78733. Nh©n viªn nμy yªu cÇu phßng xö lý d÷ liÖu ®−a ra mét danh s¸ch nh− thÕ. Bëi yªu cÇu nμy kh«ng ®−îc dù ®Þnh tr−íc khi hÖ thèng ®−îc thiÕt kÕ, nªn kh«ng cã mét ch−¬ng tr×nh øng dông nμo ®¸p øng yªu cÇu ®ã. Tuy nhiªn cã mét ch−¬ng tr×nh ph¸t sinh danh s¸ch cña tÊt c¶ c¸c kh¸ch hμng. Ng−êi nh©n viªn lóc nμy cã hai chän lùa: mét lμ lÊy danh s¸ch cña tÊt c¶ c¸c kh¸ch hμng råi trÝch c¸c th«ng tin cÇn thiÕt b»ng tay, hai lμ yªu cÇu phßng xö lý d÷ liÖu viÕt mét ch−¬ng tr×nh øng dông cÇn thiÕt. C¶ hai lùa chän ®Òu kh«ng tho¶ m·n. Gi¶ sö r»ng mét ch−¬ng tr×nh nh− thÕ ®−îc viÕt vμ, vμi ngμy sau ®ã , chÝnh nh©n viªn ®ã cÇn läc l¹i danh s¸ch sao cho chØ chøa nh÷ng kh¸ch hμng nμo cã tμi kho¶n lín h¬n hoÆc b»ng $10000. Mét ch−¬ng tr×nh ph¸t sinh mét danh s¸ch nh− thÕ kh«ng cã. Mét lÇn n÷a, nh©n viªn nμy cã hai chän lùa nh− tr−íc mμ kh«ng cã c¸i nμo tho¶ m·n. K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

3쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 3 ë ®©y c¸c m«i tr−êng xö lý file quy −íc kh«ng cho phÐp d÷ liÖu cÇn thiÕt ®−îc t×m kiÕm mét c¸ch hîp lý vμ hiÖu qu¶. C¸c hÖ thèng t×m kiÕm th«ng tin tèt h¬n ph¶i ®−îc ph¸t triÓn cho viÖc sö dông chung. • Sù t¸ch biÖt d÷ liÖu (data isolation). Bëi d÷ liÖu ®−îc r¶i ë nhiÒu files, c¸c files cã thÓ ®−îc ®Þnh d¹ng kh¸c nhau, nªn g©y khã kh¨n cho viÖc viÕt c¸c ch−¬ng tr×nh øng dông míi ®Ó t×m kiÕm c¸c th«ng tin cÇn thiÕt. • Sù bÊt th−êng trong truy xuÊt ®ång thêi (Concurrent access anomalies) §Ó c¶i tiÕn sù thùc thi cña toμn bé hÖ thèng vμ ®¹t ®−îc thêi gian ®¸p øng nhanh, nhiÒu hÖ thèng cho phÐp nhiÒu ng−êi sö dông cËp nhËt d÷ liÖu ®ång thêi. Trong m«i tr−êng nh− thÕ, sù t−¬ng t¸c cña c¸c cËp nhËt ®ång thêi cã thÓ ®−a ®Õn hËu qu¶ lμ sù m©u thuÉn d÷ liÖu. Gi¶ sö mét tμi kho¶n A cã $500. NÕu cã hai kh¸ch hμng rót tiÒn ($50 vμ $100 t−¬ng øng) tõ tμi khoμn A ë cïng thêi ®iÓm, kÕt qu¶ cña viÖc gi¶i quyÕt ®ång thêi cã thÓ g©y ra mét sù m©u thuÉn ë tμi kho¶n nμy. Cô thÓ, tμi kho¶n nμy cã thÓ chøa c¶ $450 hoÆc $400 thay v× $350. §Ó ®Ò phßng kh¶ n¨ng nμy, viÖc gi¸m s¸t hÖ thèng ph¶i ®−îc duy tr×. Bëi d÷ liÖu cã thÓ ®−îc truy xuÊt bëi c¸c ch−¬ng tr×nh øng dông kh¸c nhau mμ tr−íc ®©y kh«ng cã quan hÖ víi nhau, nªn viÖc gi¸m s¸t cμng khã kh¨n h¬n. • C¸c vÊn ®Õ an toμn (security problems). Kh«ng thÓ ®Ó mäi ng−êi sö dông ®Òu cã kh¶ n¨ng truy xuÊt tÊt c¶ d÷ liÖu. Nh− trong hÖ thèng ng©n hμng, bé phËn lμm l−¬ng chØ cÇn thÊy mét phÇn c¬ së d÷ liÖu lμ c¸c th«ng tin vÒ c¸c nh©n viªn cña ng©n hμng. Hä kh«ng cÇn truy xuÊt th«ng tin tμi kho¶n cña kh¸ch hμng. Bëi c¸c ch−¬ng tr×nh øng dông ®−îc thªm vμo hÖ thèng theo mét c¸ch kh«ng dù tÝnh tr−íc nªn nã g©y khã kh¨n cho viÖc tu©n thñ c¸c rμng buéc an toμn nμy. • C¸c vÊn ®Ò toμn vÑn (Integrity problems). C¸c gi¸ trÞ d÷ liÖu l−u tr÷ trong c¬ së d÷ liÖu ph¶i tho¶ m·n mét sè kiÓu rμng buéc toμn vÑn. VÝ dô ng©n kho¶n kh«ng bao giê xuèng thÊp h¬n mét sè (nh− $25). C¸c rμng buéc nμy ®−îc ®−a vμo hÖ thèng b»ng c¸ch thªm nh÷ng m· lÖnh thÝch hîp, nã g©y khã kh¨n khi thay ®æi ch−¬ng tr×nh. VÊn ®Ò sÏ phøc t¹p khi c¸c rμng buéc bao gåm mét sè d÷ liÖu tõ nhiÒu files kh¸c nhau.Nh÷ng khã kh¨n nμy, mét sè kh¸c n÷a, ®· thóc ®Èy sù ph¸t triÓn c¸c hÖ qu¶n trÞ c¬ së K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

4쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 4 d÷ liÖu. Sau nμy, chóng ta sÏ thÊy c¸c quan niÖm vμ c¸c thuËt to¸n mμ ®· ®−îc ph¸t triÓn cho c¸c hÖ c¬ së d÷ liÖu ®Ó gi¶i quyÕt c¸c vÊn ®Ò ®· bμn ë trªn. 1.2 KiÕn tróc cña mét hÖ thèng c¬ së d÷ liÖu1.2 KiÕn tróc cña mét hÖ thèng c¬ së d÷ liÖu1.2 KiÕn tróc cña mét hÖ thèng c¬ së d÷ liÖu1.2 KiÕn tróc cña mét hÖ thèng c¬ së d÷ liÖu HÖ qu¶n trÞ c¬ së d÷ liÖu lμ tËp hîp c¸c files cã mèi quan hÖ vμ mét tËp ch−¬ng tr×nh cho phÐp nh÷ng ng−êi sö dông truy xuÊt vμ thay ®æi c¸c files nμy. Môc ®Ých chÝnh cña hÖ c¬ së d÷ liÖu lμ cung cÊp cho nh÷ng ng−êi sö dông mét c¸i nh×n trõu t−îng (abstract view) vÒ d÷ liÖu. HÖ thèng sÏ dÊu mét sè chÝ tiÕt phøc t¹p nh− lμm thÕ nμo d÷ liÖu ®−îc l−u tr÷ vμ duy tr×. Tuy nhiªn ®Ó cho hÖ thèng cã thÓ Khung Nh×n 2 Khung Nh×n 3 Khung Nh×n 1 Møc quan niÖm Møc vËt lý H×nh 1.2 KiÕn tróc hÖ c¬ së d÷ liÖu dïng ®−îc, d÷ liÖu ph¶i ®−¬c t×m kiÕm mét c¸ch cã hiÖu qu¶. ViÖc nμy ®· dÉn ®Õn viÖc thiÕt kÕ kiÕn tróc c¬ së d÷ liÖu phøc t¹p cho sù thÓ hiÖn d÷ liÖu trong c¬ së d÷ liÖu. Bëi nhiÒu ng−êi sö dông hÖ thèng c¬ së d÷ liÖu kh«ng ph¶i lμ chuyªn gia m¸y tÝnh nªn sù phøc t¹p ®−îc dÊu ®i d−íi mét sè møc. • Møc vËt lý (Physical level) §©y lμ møc thÊp nhÊt m« t¶ d÷ liÖu ®−îc l−u tr÷ thùc sù nh− thÕ nμo. T¹i møc vËt lý, c¸c cÊu tróc vËt lý phøc t¹p ®−îc m« t¶ chi tiÕt. • Møc quan niÖm (Conceptual level) K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

5쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 5 Møc quan niÖm lμ møc cao tiÕp theo, nã m« t¶ mét m« h×nh d÷ liÖu ph¶n ¸nh thÕ giíi thùc mμ ta cÇn l−u tr÷ trong c¬ së d÷ liÖu. ë ®©y toμn bé c¬ së d÷ liÖu ®−îc m« t¶ nh− lμ mét sè l−îc ®å quan hÖ ®¬n gi¶n. MÆc dï viÖc hiÖn thùc c¸c l−îc ®å quan hÖ nμy ë møc quan niÖm cã thÓ bao gåm nhiÒu cÊu tróc phøc t¹p ë møc vËt lý, ng−êi sö dông ë møc quan niÖm kh«ng cÇn quan t©m ®Õn chóng. Møc quan niÖm ®−îc dïng cho ng−êi qu¶n trÞ c¬ së d÷ liÖu vμ c¸c lËp tr×nh viªn, hä ph¶i quyÕt ®Þnh nh÷ng th«ng tin nμo ®−îc gi÷ l¹i trong c¬ së d÷ liÖu vμ lËp tr×nh nh− thÕ nμo. • Møc khung nh×n (View level) §©y lμ møc cao nhÊt m« t¶ chØ mét phÇn c¬ së d÷ liÖu. Thay v× sö dông l−îc ®å ®¬n gi¶n h¬n ë møc quan niÖm, mét sè l−îc ®å phøc t¹p sÏ ®−îc gi÷ l¹i do kÝch th−íc d÷ liÖu lín cña c¬ së d÷ liÖu. NhiÒu ng−êi sö dông hÖ thèng c¬ së d÷ liÖu kh«ng quan t©m ®Õn tÊt c¶ th«ng tin nμy mμ chØ mét phÇn cña c¬ së d÷ liÖu. Do ®ã ®Ó ®¬n gi¶n hãa sù t−¬ng t¸c víi hÖ thèng, møc khung nh×n ®−îc ®Þnh nghÜa. HÖ thèng cã thÓ cung cÊp nhiÒu khung nh×n trªn cïng mét c¬ së d÷ liÖu cho c¸c ®èi t−îng sö dông kh¸c nhau. Mèi quan hÖ gi÷a ba møc ®−îc minh häa qua h×nh1.2 Sù t−¬ng tù víi kh¸i niÖm kiÓu d÷ liÖu trong c¸c ng«n ng÷ lËp tr×nh cã thÓ lμm s¸ng tá sù ph©n biÖt gi÷a c¸c møc. §a sè c¸c ng«n ng÷ lËp tr×nh cÊp cao ®Òu hç trî kh¸i niÖm kiÓu mÉu tin. VÝ dô ng«n ng÷ tùa Pascal cã thÓ khai b¸o mét mÉu tin nh− sau: type customer = record name: string; street: string; city: string; end; §iÒu nμy ®Þnh nghÜa mét mÉu tin míi ®−îc gäi lμ customer víi ba tr−êng. Mçi mét tr−êng cã tªn vμ kiÓu d÷ liÖu kÌm theo. Th«ng tin ng©n hμng cã thÓ cã vμi kiÓu mÉu tin nh− thÕ bao gåm: •account víi tr−êng number vμ balance •employee víi tr−êng name vμ salary T¹i møc vËt lý, mÉu tin customer, account hoÆc employee cã thÓ ®−îc m« t¶ nh− mét khèi ®Þnh vÞ l−u tr÷ liªn tiÕp nhau (nh− words, bytes). ë møc quan niÖm, mçi mÉu tin ®−îc m« t¶ nh− mét ®Þnh nghÜa kiÓu, ®−îc minh häa ë trªn, vμ c¸c mèi quan hÖ gi÷a c¸c kiÔu mÉu tin nμy còng ph¶i ®−îc K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

6쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 6 ®Þnh nghÜa. Cuèi cïng ë møc khung nh×n, mét vμi khung nh×n cña c¬ së d÷ liÖu ®−îc ®Þnh nghÜa. VÝ dô nh÷ng ng−êi thu ng©n chØ thÊy mét phÇn c¬ së d÷ liÖu lμ th«ng tin vÒ tμi kho¶n kh¸ch hμng. Hä kh«ng thÓ truy xuÊt tíi th«ng tin liªn quan ®Õn tiÒn l−¬ng cña nh©n viªn. 1.3 HÖ qu¶n trÞ c¬ së d÷ liÖu (Database Management System : DBMS)1.3 HÖ qu¶n trÞ c¬ së d÷ liÖu (Database Management System : DBMS)1.3 HÖ qu¶n trÞ c¬ së d÷ liÖu (Database Management System : DBMS)1.3 HÖ qu¶n trÞ c¬ së d÷ liÖu (Database Management System : DBMS) 1.3.1 Kh¸i niÖm HÖ qu¶n trÞ c¬ së d÷ liÖu lμ mét phÇn mÒm tøc lμ mét hÖ thèng c¸c ch−¬ng tr×nh cho phÐp ng−êi sö dông giao tiÕp víi c¬ së d÷ liÖu nh− minh häa ë h×nh 1.3. USERUSERUSERUSER DBMS DATABASEDATABASEDATABASEDATABASE H×nh 1.3 Giao tiÕp gi÷a c¬ së d÷ liÖu víi ng−êi sö dông HÖ qu¶n trÞ c¬ së d÷ liÖu cho phÐp ta tæ chøc c¬ së d÷ liÖu, l−u tr÷ nã trªn thiÕt bÞ ghi nhí vμ cung cÊp cho chóng ta c¸c thñ tôc ®Ó söa ®æi cÊu tróc c¬ së d÷ liÖu, cËp nhËt d÷ liÖu vμ truy vÊn trªn c¸c d÷ liÖu. 1.3.2 C¸c chøc n¨ng cña hÖ qu¶n trÞ c¬ së d÷ liÖu C¸c hÖ qu¶n trÞ c¬ së d÷ liÖu cung cÊp cho chóng ta nh÷ng chøc n¨ng sau: 1) Hç trî mét m« h×nh d÷ liÖu ®Ó tæ chøc c¬ së d÷ liÖu nghÜa lμ mét c«ng cô ®Ó trõu t−îng hãa mét c¸ch toμn häc thÕ giíi thùc cÇn qu¶n lý vμ th«ng qua ®ã ng−êi sö dông cã thÓ thÊy ®−îc c¸c d÷ liÖu cña thÕ giíi thùc nμy. VÝ dô: Tæ chøc th«ng tin vÒ Sinh viªn gåm c¸c th«ng tin: M· sinh viªn Hä tªn §Þa chØ N¨m sinh Líp M« h×nh d÷ liÖu quan hÖ cho ta thiÕt lËp mét l−îc ®å quan hÖ : Sinh viªn (msv, hä tªn, ®Þa chØ, n¨m sinh , líp). T−¬ng tù, ®Ó tæ chøc th«ng tin vÒ m«n häc gåm c¸c th«ng tin: m· m«n häc Tªn m«n K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

7쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 7 sè tiÕt Häc kú Ta ®−îc l−îc ®å quan hÖ sau: M«n häc ( m· m«n häc, tªn m«n häc, tiÕt, häc kú) 2) Hç trî cho mét vμi ng«n ng÷ lËp tr×nh cÊp cao cho phÐp ng−êi sö dông ®Þnh nghÜa cÊu tróc d÷ liÖu, truy xuÊt d÷ liÖu. Ngoμi ra cßn cung cÊp mét ng«n ng÷ ®Ó thao t¸c d÷ liÖu vμ truy vÊn d÷ liÖu. C¸c ng«n ng÷ ®ã ®−îc gäi lμ ng«n ng÷ hái (Query Language), trong ®ã ng«n ng÷ ®−îc sö dông réng r·i nhÊt lμ ng«n ng÷ SQL (Structured Query Language ) VÝ dô: Gi¶ sö ta cã m« h×nh d÷ liÖu quan hÖ gåm hai l−îc ®å quan hÖ sau: Nh©nviªn ( tªnnh©nviªn ,Phßng) Phßngban ( Phßng, Tr−ëngphßng ) Th«ng tin cña hai l−îc ®å quan hÖ ®−îc m« t¶ ë h×nh 1.4 Nh©n viªnNh©n viªnNh©n viªnNh©n viªn Phßng BanPhßng BanPhßng BanPhßng Ban Tªn nh©n viªnTªn nh©n viªnTªn nh©n viªnTªn nh©n viªn PhßngPhßngPhßngPhßng PhßngPhßngPhßngPhßng Tr−ëng phßngTr−ëng phßngTr−ëng phßngTr−ëng phßng Lª V¨n A §μo T¹o KÕ ho¹ch Ph¹m V¨n F TrÇn ThÞ B Hμnh ch¸nh KÕ to¸n NguyÔn ThÞ G NguyÔn V¨n C KÕ to¸n §μo T¹o Lª ThÞ H Lª Thi E KÕ ho¹ch Hμnh ch¸nh Vâ V¨n T H×nh 1.4 B¶ng thÓ hiÖn l−îc ®å quan hÖ * Ai lμ tr−ëng phßng cña nh©n viªn Lª V¨n A ? ¸p dông c©u lÖnh cña ng«n ng÷ SQL ta tr¶ lêi c©u hái trªn nh− sau:: Select tr−ëngphßng From nh©nviªn, phßngban Where nh©nviªn.tªn nh©n viªn = ‘Lª V¨n A ‘ and nh©nviªn. phßng = phßngban.phßng * Cho biÕt danh s¸ch nh©nviªn cña tr−ëng phßng Lª ThÞ H ? ¸p dông c©u lÖnh cña ng«n ng÷ SQL ta tr¶ lêi c©u hái trªn nh− sau:: Select Tªnnh©nviªn From Nh©nviªn, phßngban Where Phßngban.tr−ëngphßng = ‘Lª ThÞ H’ and nh©n viªn . phßng = phßngban. phßng * Cho biÕt tªn nh÷ng ng−êi thuéc phßng kÕ to¸n K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

8쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 8 Select tªn nh©n viªn From nh©nviªn Where nh©n viªn. phßng = ‘kÕ to¸n’ 3) Qu¶n lý giao dÞch (transaction) Cø mét lÇn truy xuÊt c¬ së d÷ liªu ®−îc gäi lμ mét giao dÞch. HÖ qu¶n trÞ c¬ së d÷ liÖu cung cÊp c«ng cô cho phÐp nhiÒu ng−êi sö dông truy xuÊt ®ång thêi ®Õn c¬ së d÷ liÖu. Kho hμng A=100 Cöa hμng 1 Cöa hμng 2 H×nh 1.5 Giao t¸c gi÷a cöa hμng víi kho hμng VÝ dô: Gi¶ sö cïng lóc hai cöa hμng giao dÞch víi kho hμng vμ cÇn cung cÊp 90 mÆt hμng A cho cöa hμng 1 vμ 30 cho cöa hμng B. NÕu kh«ng qu¶n lý chÆt chÏ th× kho hμng cã thÓ ®ång ý cÊp cho c¶ 2 cöa hμng. Do ®ã ph¶i thùc hiÖn xong giao dÞch cña mét cöa hμng th× giao dÞch cña cöa hμng cßn l¹i míi ®−îc thùc hiÖn. khi cã mét giao dÞch thay ®æi mét d÷ liÖu th× hÖ qu¶n trÞ c¬ së d÷ liÖu sÏ ng¨n c¶n mäi giao dÞch kh¸c truy xuÊt ®Õn d÷ liÖu nμy cho ®Õn khi giao dÞch tr−íc ®ã ®· kÕt thóc. 4) Kh¶ n¨ng b¶o vÖ vμ phôc håi d÷ liÖu : HÖ qu¶n trÞ c¬ së d÷ liÖu cã kh¶ n¨ng b¶o vÖ vμ phôc håi d÷ liÖu tõ c¸c hÖ thèng bÞ h− háng do c¸c t¸c nh©n: - Virus - Ch−¬ng tr×nh kh«ng hoμn chØnh, thiÕu an toμn nªn bÞ háng bëi chÝnh ng−êi sö dông. - §Üa h− C¬ chÕ b¶o vÖ d÷ liÖu lμ backup, nÐn l¹i d÷ liÖu l¹i th−êng xuyªn vμ cÊt chóng vμo mét thiÕt bÞ l−u tr÷ an toμn ®ång thêi l−u tr÷ mäi giao dÞch vμo mét nhËt ký. Ngoμi ra khi hÖ thèng bÞ háng hÖ qu¶n trÞ c¬ së d÷ liÖu cho phÐp phôc håi l¹i phÇn nμo c¸c d÷ liÖu bÞ mÊt dùa vμo nhËt ký giao dÞch ®ã. 5) §iÒu khiÓn truy xuÊt: HÖ qu¶n trÞ c¬ së d÷ liÖu cã kh¶ n¨ng giíi h¹n quyÒn truy xuÊt d÷ liÖu cña ng−êi sö dông vμ h¬n n÷a cßn kiÓm tra tÝnh hîp lÖ cña d÷ liÖu khi ®−a vμo c¬ së d÷ liÖu K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

9쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 9 • QuyÒn truy xuÊt: HÖ qu¶n trÞ c¬ së d÷ liÖu cho phÐp cÊp hoÆc lÊy ®i c¸c quyÒn th©m nhËp vμ truy xuÊt c¬ së d÷ liÖu cho nh÷ng ng−êi sö dông nh− c¸c quyÒn: - Kh«ng ®−îc xem d÷ liÖu - §−îc xem nh−ng kh«ng ®−îc söa d÷ liÖu - §−îc xem vμ ®−îc söa d÷ liÖu Mçi ng−êi sö dông ®−îc cÊp cho mét quyÒn truy xuÊt vμ quyÒn ®ã ®−îc l−u tr÷ trong 1 b¶ng ph©n quyÒn. • KiÓm tra tÝnh hîp lÖ cña d÷ liÖu: hÖ qu¶n trÞ c¬ së d÷ liÖu cho phÐp rμng buéc c¸c d÷ liÖu nhÊt lμ c¸c d÷ liÖu nhËp ®Ó thÓ hiÖn tÝnh toμn vÑn cña d÷ liÖu. 1.3.3 Kh¸i niÖm vÒ sù ®éc lËp d÷ liÖu vμ ch−¬ng tr×nh Trong phÇn 1.2 chóng ta ®· ®Þnh nghÜa kiÕn tróc cña hÖ c¬ së d÷ liÖu. KiÕn tróc ba líp nμy cho phÐp thay ®æi cÊu tróc ë mét líp mμ kh«ng ¶nh h−ëng ®Õn líp cao h¬n kÕ nã. §iÒu nμy ®−îc gäi lμ ®éc lËp d÷ liÖu. §éc lËp d÷ liÖu vμ ch−¬ng tr×nh lμ cÊu tróc d÷ liÖu dï cã thay ®æi nh−ng ch−¬ng tr×nh vÉn kh«ng thay ®æi. Ta cã 2 lo¹i ®éc lËp d÷ liÖu: * §éc lËp d÷ liÖu vËt lý: lμ tr−êng hîp s¬ ®å vËt lý bÞ thay ®æi (nghÜa lμ ®−ßng ®Þa chØ th− môc d÷ liÖu bÞ thay ®æi, c¸c cÊu tróc tËp tin bÞ thay ®æi nh−ng s¬ ®å ý niÖm kh«ng thay ®æi vμ nh− vËy c¸c ch−¬ng tr×nh øng dông còng kh«ng ph¶i thay ®æi. §Ó lμm ®−îc ®iÒu nμy ta ph¶i thay ®æi c¸c phÐp biÕn ®æi tõ s¬ ®å vËt lý * §éc lËp d÷ liÖu luËn lý: lμ khi s¬ ®å ý niÖm thay ®æi nh−ng s¬ ®å ngoμi kh«ng thay ®æi nghÜa lμ c¸c ch−¬ng tr×nh øng dông kh«ng cÇn ph¶i viÕt l¹i, tõ ®ã ta ph¶i thay ®æi c¸c phÐp biÕn ®æi tõ s¬ ®å ngoμi ®Õn s¬ ®å ý niÖm. 1.3.4 Bé qu¶n lý c¬ së d÷ liÖu Bé qu¶n lý c¬ së d÷ liÖu lμ mét module ch−¬ng tr×nh cung cÊp sù giao tiÕp gi÷a d÷ liÖu ë møc thÊp ®−îc l−u tr÷ trong c¬ së d÷ liÖu víi c¸c ch−¬ng tr×nh øng dông. Bé qu¶n lý c¬ së d÷ liÖu cã nhiÖm vô thùc hiÖn c¸c chøc n¨ng ®−îc tr×nh bμy ë phÇn 1.3.2 K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

10쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 10 1.3.5 Ng−êi qu¶n trÞ c¬ së d÷ liÖu Bëi v× hÖ thèng c¬ së d÷ liÖu lμ mét hÖ thèng d÷ liÖu lín vμ ®−îc sö dông th−êng xuyªn vμ l©u dμi do ®ã ph¶i cÇn cã mét ng−êi qu¶n lý tËp trung c¶ hÖ thèng. Ng−êi ®ã ®−îc gäi lμ ng−êi qu¶n trÞ c¬ së d÷ liÖu. C¸c chøc n¨ng cña ng−êi qu¶n trÞ c¬ së d÷ liÖu bao gåm: • X¸c ®Þnh l−îc ®å c¬ së d÷ liÖu. L−îc ®å c¬ së d÷ liÖu ®−îc t¹o ra cho hÖ thèng sÏ ®−îc l−u tr÷ th−êng trùc trong tù ®iÓn d÷ liÖu. • X¸c ®Þnh ®−îc cÊu tróc l−u tr÷ d÷ liÖu vμ ph−¬ng thøc truy xuÊt c¬ së d÷ liÖu. • Thay ®æi l−îc ®å vμ tæ chøc vËt lý. C¸c thay ®æi l−îc ®å c¬ së d÷ liÖu hoÆc c¸c tæ chøc l−u tr÷ vËt lý mÆc dï rÊt hiÕm ph¶i ®−îc thùc hiÖn bëi ng−êi qu¶n trÞ c¬ së d÷ liÖu th«ng qua ng«n ng÷ ®Þnh nghÜa d÷ liÖu. • CÊp quyÒn truy xuÊt d÷ liÖu cho ng−êi sö dông. • §Æc t¶ c¸c rμng buéc toμn vÑn. C¸c rμng buéc toμn vÑn ®−îc gi÷ trong mét cÊu tróc hÖ thèng ®Æc biÖt vμ ®−îc tham kh¶o bëi ng−êi qu¶n trÞ c¬ së d÷ liÖu khi cã mét sù thay ®æi trong hÖ thèng. 1.3.6 Nh÷ng ng−êi sö dông c¬ së d÷ liÖu Môc ®Ých chÝnh cña hÖ thèng c¬ së d÷ liÖu lμ cung cÊp mét m«i tr−êng cho viÖc t×m kiÕm th«ng tin cho nhiÒu ng−êi sö dông. Nh÷ng ng−êi sö dông c¬ së d÷ liÖu ®−îc chia thμnh 4 lo¹i sau: • LËp tr×nh viªn: nh÷ng ng−êi viÕt ra c¸c ch−¬ng tr×nh øng dông cho c¬ së d÷ liÖu. • C¸c chuyªn viªn: Nh÷ng ng−êi nμy kh«ng dïng c¸c ch−¬ng tr×nh øng dông ®Ó truy cËp vμo c¬ së d÷ liÖu. Hä sö dông ng«n ng÷ hái ®Ó truy cËp trùc tiÕp vμo c¬ së d÷ liÖu. • Ng−êi khai th¸c: Ng−êi khai th¸c lμ ng−êi giao tiÕp víi hÖ thèng th«ng qua c¸c ch−¬ng tr×nh øng dông. 1.3.7 CÊu tróc tæng qu¸t cña hÖ thèng qu¶n trÞ c¬ së d÷ liÖu HÖ qu¶n trÞ c¬ së d÷ liÖu bao gåm c¸c thμnh phÇn sau: •Bé qu¶n lý tËp tin (File manager): Bé qu¶n lý tËp tin qu¶n lý sù ®Þnh vÞ c¸c kh«ng gian l−u tr÷ vμ c¸c cÊu tróc d÷ liÖu dïng ®Ó thÓ hiÖn c¸c th«ng tin l−u tr÷ trªn ®Üa. •Bé qu¶n lý c¬ së d÷ liÖu (Database manager): Cung cÊp sù giao tiÕp gi÷a d÷ liÖu ®−îc l−u tr÷ ë møc thÊp trong c¬ së d÷ liÖu víi c¸c ch−¬ng tr×nh øng dông. K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

11쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 11 •Bé xö lý c©u truy vÊn (Query processor): Bé nμy biªn dÞch c¸c ph¸t biÓu trong ng«n ng÷ hái thμnh c¸c c©u lÖnh ë møc thÊp sao cho bé qu¶n lý c¬ së d÷ liÖu cã thÓ hiÓu ®−îc. H¬n n÷a nã cßn tèi −u ho¸ c©u truy vÊn sao cho viÖc thùc thi c©u hái ®−îc nhanh h¬n. •Bé tiÒn biªn dÞch DML (DML precompiler): Bé tiÒn biªn dÞch DML dÞch c¸c ph¸t biÓu cña ng«n ng÷ hái ®−îc nhóng trong ng«n ng÷ chñ thμnh c¸c m· lÖnh thÝch hîp. •Bé biªn dÞch DDL (DDL compiler): Biªn dÞch c¸c ph¸t biÓu DDL thμnh mét tËp c¸c b¶ng. •C¸c files d÷ liÖu: l−u tr÷ chÝnh c¬ së d÷ liÖu. •Tù ®iÓn d÷ liÖu: Chøa c¸c d÷ liÖu ®Þnh nghÜa d÷ liÖu tøc toμn bé c¸c ®Þnh nghÜa cña c¬ së d÷ liÖu. •C¸c chØ môc: Cung cÊp viÖc truy xuÊt nhanh c¸c mÉu d÷ liÖu. Toμn bé hÖ thèng qu¶n trÞ c¬ së d÷ liÖu ®−îc m« t¶ trong h×nh 1.6. K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

12쪽

Ch−¬ng 1 §¹i C−¬ng C¸c HÖ C¬ Së D÷ LiÖu Trang 12 Users Ng−êi khai th¸c LËp tr×nh viªn Chuyªn viªn Ng−êi qu¶n trÞ CSDL Khai th¸c øng Ch−¬ng tr×nh C©u hái L−îc c¬ së dông øng dông d÷ liÖu Bé tiÒn biªn dÞch Bé xö lý c©u Bé tiÒn biªn dÞch DML truy vÊn DDL M· lÖnh c¸c ®èi t−îng ch−¬ng tr×nh Bé qu¶n lý øng dông c¬ së d÷ liÖu HÖ qu¶n trÞ c¬ së d÷ liÖu Bé qu¶n lý file File d÷ liÖu Tù ®iÓn d÷ liÖu H×nh 1.6 CÊu tróc hÖ thèng qu¶n trÞ c¬ së K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

13쪽

Ch−¬ng 2 C¸c M« H×nh D÷ LiÖu Trang 13 Ch−¬ng 2 C¸c M« H×nh D÷ LiÖuCh−¬ng 2 C¸c M« H×nh D÷ LiÖuCh−¬ng 2 C¸c M« H×nh D÷ LiÖuCh−¬ng 2 C¸c M« H×nh D÷ LiÖu 2.1 M« h×nh d÷ liÖu (data model)2.1 M« h×nh d÷ liÖu (data model)2.1 M« h×nh d÷ liÖu (data model)2.1 M« h×nh d÷ liÖu (data model) 2.1.1 C¸c m« h×nh d÷ liÖu (Data models) CÊu tróc c¬ së cña c¬ së d÷ liÖu lμ quan niÖm vÒ m« h×nh d÷ liÖu. M« h×nh d÷ liÖu cã mét tËp c¸c c«ng cô quan niÖm cho viÖc m« t¶ d÷ liÖu, m« t¶ c¸c mèi quan hÖ d÷ liÖu, c¸c ng÷ nghÜa d÷ liÖu vμ c¸c rμng buéc nhÊt qu¸n. NhiÒu m« h×nh d÷ liÖu ®−îc ®−a ra, chóng ®−îc ph©n thμnh ba nhãm: c¸c m« h×nh logic dùa trªn ®èi t−îng, c¸c m« h×nh logic dùa trªn mÉu tin vμ c¸c m« h×nh d÷ liÖu vËt lý. 2.1.2 C¸c m« h×nh logic dùa trªn ®èi t−îng (Object-Based logical models) C¸c m« h×nh logic dùa trªn ®èi t−îng ®−îc sö dông ®Ó m« t¶ c¸c møc quan niÖm vμ møc tÇm nh×n. Chóng ®−îc ®Æc tr−ng bëi c¸c kh¶ n¨ng cÊu tróc hãa linh ®éng vμ cho phÐp ®Æc t¶ mét c¸c râ rμng c¸c rμng buéc d÷ liÖu. Cã nhiÒu lo¹i m« h×nh kh¸c nhau. Mét sè c¸c m« h×nh ®−îc biÕt ®Õn réng r·i lμ: • M« h×nh thùc thÓ liªn kÕt • M« h×nh h−íng ®èi t−îng • M« h×nh nhÞ ph©n • M« h×nh d÷ liÖu ng÷ nghÜa • M« h×nh d÷ liÖu chøc n¨ng ë ®©y chóng ta chØ nghiªn cøu m« h×nh thùc thÓ liªn kÕt vμ m« h×nh h−íng ®èi t−îng nh− lμ c¸c thÓ hiÖn cña líp m« h×nh logic dùa trªn ®èi t−îng. ♦ M« h×nh thùc thÓ mèi liªn kÕt (EntityM« h×nh thùc thÓ mèi liªn kÕt (Entity-M« h×nh thùc thÓ mèi liªn kÕt (EntityM« h×nh thùc thÓ mèi liªn kÕt (Entity-Relationship Model)--Relationship Model)Relationship Model)Relationship Model) M« h×nh thùc thÓ mèi liªn kÕt (ER) dùa trªn sù nhËn thøc vÒ thÕ giíi thùc bao gåm mét tËp c¸c ®èi t−îng c¬ b¶n ®−îc gäi lμ thùc thÓ (entity) vμ c¸c mèi liªn kÕt (relationship) gi÷a c¸c ®èi t−îng nμy. Mét thùc thÓ lμ mét ®èi t−îng mμ ph©n biÖt ®−îc víi nh÷ng ®èi t−îng kh¸c bëi mét tËp thuéc tÝnh ®Æc t¶. VÝ dô c¸c thuéc tÝnh number vμ balance m« t¶ mét sè tμi kho¶n cô thÓ trong ng©n hμng vμ ng©n kho¶n cña nã. Mét mèi liªn kÕt lμ mèi quan hÖ gi÷a c¸c thùc thÓ. VÝ dô mèi liªn kÕt CustAcct liªn kÕt kh¸ch hμng víi mçi tμi kho¶n cña hä. K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

14쪽

Ch−¬ng 2 C¸c M« H×nh D÷ LiÖu Trang 14 TËp tÊt c¶ c¸c thùc thÓ cïng kiÓu vμ tËp c¸c mèi liªn kÕt cã cïng kiÓu ®−îc gäi lμ tËp thùc thÓ vμ tËp mèi liªn kÕt t−¬ng øng. Bæ sung cho c¸c thùc thÓ vμ c¸c liªn kÕt, m« h×nh thùc thÓ mèi liªn kÕt ER thÓ hiÖn mét vμi rμng buéc mμ néi dung d÷ liÖu trong c¬ së d÷ liÖu ph¶i tu©n theo. Mét trong c¸c rμng buéc quan träng lμ rμng buéc sè phÇn tö ¸nh x¹ (mapping cardinalities), nã biÓu diÔn sè l−îng c¸c thùc thÓ cña tËp thùc thÓ nμy cã thÓ liªn kÕt sè thùc thÓ cña tËp thùc thÓ kia. CÊu tróc logic cña toμn bé c¬ së d÷ liÖu cã thÓ d−îc biÓu diÔn mét c¸ch ®å häa b»ng mét s¬ ®å thùc thÓ mèi liªn kÕt ER (ER diagram) bao gåm c¸c thμnh phÇn sau: • H×nh ch÷ nhËt thÓ hiÖn tËp thùc thÓ. • H×nh Elip thÓ hiÖn c¸c thuéc tÝnh. • H×nh thoi thÓ hiÖn mèi liªn kÕt gi÷a c¸c tËp thùc thÓ. • §−êng nèi liªn kÕt c¸c thuéc tÝnh víi tËp thùc thÓ vμ tËp thùc thÓ víi mèi liªn kÕt. Mçi thμnh phÇn ®Òu cã tªn mμ thùc thÓ vμ mèi liªn kÕ thÓ hiÖn chóng.§Ó minh häa, ta xÐt mét phÇn hÖ thèng c¬ së d÷ liÖu ng©n hμng bao gåm c¸c kh¸ch hμng vμ c¸c tμi kho¶n cña hä. S¬ ®å ER t−¬ng øng ®−îc minh häa ë h×nh 2.1 name street city number balance Customer CustAcc Account H×nh 2.1 S¬ ®å ER ♦ M« h×nh h−íng ®èi t−îng (The ObjectM« h×nh h−íng ®èi t−îng (The Object-M« h×nh h−íng ®èi t−îng (The ObjectM« h×nh h−íng ®èi t−îng (The Object-Oriented Model)--Oriented Model)Oriented Model)Oriented Model) T−¬ng tù m« h×nh ER, m« h×nh h−íng ®èi t−îng còng dùa trªn mét tËp c¸c ®èi t−îng. Mét ®èi t−îng chøa c¸c gi¸ trÞ ®−îc l−u trong c¸c biÕn riªng (instance variables) bªn trong ®èi t−îng. Kh«ng nh− c¸c m« h×nh h−íng mÉu tin, c¸c gi¸ trÞ nμy tù nã lμ c¸c ®èi t−îng. Do ®ã, c¸c ®èi t−îng chøa c¸c ®èi t−îng ®Õn mét K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

15쪽

Ch−¬ng 2 C¸c M« H×nh D÷ LiÖu Trang 15 ®é s©u lång vμo nhau tïy ý. Mét ®èi t−îng còng chøa phÇn m· lÖnh ®Ó ®iÒu hμnh ®èi t−îng. C¸c phÇn m· lÖnh nμy ®−îc gäi lμ ph−¬ng thøc (method). C¸c ®èi t−îng chøa cïng kiÓu gi¸ trÞ vμ cïng kiÓu ph−¬ng thøc ®−îc gom l¹i trong mét líp (class). Mét líp cã thÓ ®−îc xem nh− mét ®Þnh nghÜa kiÓu cho c¸c ®èi t−îng. Mét c¸ch duy nhÊt mμ mét ®èi t−îng cã thÓ truy xuÊt d÷ liÖu cña mét ®èi t−îng kh¸c lμ gäi mét ph−¬ng thøc cña ®èi t−îng ®ã. §iÒu nμy ®−îc gäi lμ gëi th«ng b¸o ®Õn ®èi t−îng. §Ó minh häa m« h×nh h−íng ®èi t−îng, ta xÐt mét ®èi t−îng thÓ hiÖn tμi kho¶n ng©n hμng (bank account). §èi t−îng nμy chøa c¸c biÕn number vμ balance thÓ hiÖn sè tμi kho¶n vμ ng©n kho¶n cña nã. §èi t−îng nμy còng chøa ph−¬ng thøc chi tr¶ l·i (pay-interest) (xem h×nh 2.2). Gi¶ sö tr−íc ®©y ng©n hμng chi tr¶ l·i 6% cho tÊt c¶ c¸c tμi kho¶n nh−ng nay ng©n hμng thay ®æi c¸ch chi tr¶ l·i nh− sau: tr¶ l·i 5% ®èi víi c¸c tμi kho¶n cã ng©n kho¶n nhá h¬n $1000 vμ 6% ®èi víi c¸c tμi kho¶n cã ng©n kho¶n lín h¬n hay b»ng $1000. §èi víi hÇu hÕt c¸c m« h×nh, sù thay ®æi nμy dÉn ®Õn viÖc thay ®æi m· lÖnh trong mét hoÆc nhiÒu ch−¬ng tr×nh øng dông. Nh−ng trong m« h×nh h−íng ®èi t−îng th× ®iÒu nμy chØ cÇn thay ®æi trong ph−¬ng thøc pay- interest mμ th«i. §èi t−îng bank account NumberNumberNumberNumber BiÕnBiÕnBiÕnBiÕn BalanceBalanceBalanceBalance Ph−¬ng thøcPh−¬ng thøcPh−¬ng thøcPh−¬ng thøc Pay_Interest H×nh 2.2 M« h×nh mét ®èi t−îng 2.1.3 C¸c m« h×nh dùa trªn mÉu tin (Record-Based Logical Models) C¸c m« h×nh dùa trªn mÉu tin ®−îc sö dông ®Ó m« t¶ d÷ liÖu ë c¸c møc quan niÖm vμ khung nh×n. Ng−îc l¹i víi c¸c m« h×nh dùa trªn ®èi t−îng, chóng ®−îc dïng cho viÖc ®Æc t¶ toμn bé cÊu tróc logic cña c¬ së d÷ liÖu vμ cung cÊp mét m« t¶ møc cao h¬n cho viÖc hiÖn thùc c¬ së d÷ liÖu vËt lý. K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

16쪽

Ch−¬ng 2 C¸c M« H×nh D÷ LiÖu Trang 16 C¸c m« h×nh d−îc gäi lμ m« h×nh dùa trªn mÉu tin v× c¬ së d÷ liÖu ®−îc x©y dùng theo d¹ng c¸c mÉu tin x¸c ®Þnh. Mçi kiÓu mÉu tin dÞnh nghÜa mét sè c¸c tr−êng hoÆc c¸c thuéc tÝnh vμ mçi tr−êng th−êng cã chiÒu dμi cè ®Þnh. C¸c m« h×nh dùa trªn mÉu tin kh«ng chøa mét c¬ chÕ cho viÖc thÓ hiÖn c¸c m· lÖnh trùc tiÕp trong c¬ së d÷ liÖu. V× thÕ nã cã hai ng«n ng÷ riªng rÏ nh−ng g¾n liÒn víi m« h×nh ®Ó biÓu diÔn c¸c truy vÊn c¬ së d÷ liÖu vμ cËp nhËt c¬ së d÷ liÖu. Ba m« h×nh d÷ liÖu dùa trªn mÉu tin ®−îc chÊp nhËn réng r·i nhÊt lμ m« h×nh quan hÖ, m« h×nh m¹ng vμ m« h×nh ph©n cÊp. M« h×nh quan hÖ lμ mé h×nh dμnh ®−îc sù −a chuéng h¬n hai m« h×nh kia trong nh÷ng n¨m gÇn ®©y, nã sÏ ®−îc nghiªn cøu s©u trong gi¸o tr×nh nμy. M« h×nh m¹ng vμ m« h×nh ph©n cÊp chØ cßn ®−îc sö dông trong mét sè c¸c c¬ së d÷ liÖu cò. ♦ M« h×nh quan hÖM« h×nh quan hÖM« h×nh quan hÖM« h×nh quan hÖ M« h×nh quan hÖ thÓ hiÖn d÷ liÖu vμ mèi quan hÖ gi÷a chóng b»ng mét tËp c¸c b¶ng. Mçi b¶ng chøa mét sè cét víi tªn duy nhÊt. §Ó biÓu diÔn m« h×nh d÷ liÖu quan hÖ víi ng−êi dïng b¶ng, trong ®ã: 1 cét th× t−¬ng øng víi mét thuéc tÝnh. 1 hμng th× t−¬ng øng víi 1 bé (record). 1 b¶ng th× t−¬ng øng víi 1 quan hÖ (file). B¶ng ⇔ quan hÖ Cét ⇔ thuéc tÝnh K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

17쪽

Ch−¬ng 2 C¸c M« H×nh D÷ LiÖu Trang 17 VÝ dô : §Ó minh häa cho mÉu c¬ së d÷ liÖu thÓ hiÖn kh¸ch hμng name street city number Lowery Mapple Queens 900 Shiver North Bronx 556 Shiver North Bronx 647 Hodges Sidehill Brooklyn 801 Hodges Sidehill Brooklyn 647 number balance 900 55 556 100000 647 105366 801 10533 H×nh 2.3 Mét mÉu c¬ së d÷ liÖu quan hÖ (customer) vμ tμi kho¶n (account) cña hä, ta cã hai b¶ng thÓ hiÖn sau (h×nh 2.3): ♦ M« h×nh m¹ngM« h×nh m¹ngM« h×nh m¹ngM« h×nh m¹ng D÷ liÖu trong m« h×nh m¹ng ®−îc thÓ hiÖn bëi mét tËp c¸c mÉu tin vμ mèi quan hÖ gi÷a c¸c d÷ liÖu ®−îc thÓ hiÖn bëi c¸c liªn kÕt (links)mμ ta cã thÓ xem nh− c¸c con trá (pointers). C¸c mÉu tin trong c¬ së d÷ liÖu ®−îc tæ chøc thμnh c¸c ®å thÞ tïy ý. H×nh 2.4 thÓ hiÖn mét mÉu c¬ së d÷ liÖu d¹ng m« h×nh m¹ng víi c¸c th«ng tin nh− h×nh 2.3. Lowery Maple Queens 900 55 Shiver North Bronx 556 100000 647 105366 Hodges Sidehill Brooklyn 801 10533 H×nh 2.4 Mét mÉu c¬ së d÷ liÖu m¹ng K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

18쪽

Ch−¬ng 2 C¸c M« H×nh D÷ LiÖu Trang 18 ♦ M« h×nh ph©n cÊpM« h×nh ph©n cÊpM« h×nh ph©n cÊpM« h×nh ph©n cÊp M« h×nh ph©n cÊp t−¬ng tù nh− m« h×nh m¹ng, nã còng thÓ hiÖn d÷ liÖu b»ng c¸c mÉu tin cßn c¸c quan hÖ b»ng c¸c liªn kÕt. Nã kh¸c m« h×nh m¹ng lμ c¸c mÉu tin ®−îc tæ chøc nh− lμ mét tËp hîp c¸c c©y h¬n lμ mét ®å thÞ bÊt kú. H×nh 2.5 thÓ hiÖn mét mÉu c¬ së d÷ liÖu ph©n cÊp víi th«ng tin nh− h×nh 2.4. Lowery Maple Queens Hodges Sidehill Brooklyn Shiver North Bronx 556 100000 647 105366 900 55 647 105366 801 10533 H×nh 2.5 Mét mÉu c¬ së d÷ liÖu ph©n cÊp 2.22.22.22.2 M« h×nh thùc thÓ mèi liªn kÕt (Entity Relationship Model)M« h×nh thùc thÓ mèi liªn kÕt (EntitM« h×nh thùc thÓ mèi liªn kÕt (EntitM« h×nh thùc thÓ mèi liªn kÕt (Entity Relationship Model)y Relationship Model)y Relationship Model) M« h×nh thùc thÓ lμ m« h×nh ban ®Çu ®Ó tõ ®ã ng−êi ta biÕn ®æi nã thμnh mét trong 3 m« h×nh d÷ liÖu, nã cho phÐp m« t¶ s¬ ®å ý niÖm cña thÕ giíi thùc mμ kh«ng quan t©m ®Õn hiÖu qu¶ hoÆc thiÕt kÕ c¬ së d÷ liÖu vËt lý. S¬ ®å thùc thÓ mèi liªn kÕt (Entity Relationship Mode Diagram) sau nμy sÏ ®−îc biÕn ®æi thμnh mét s¬ ®å quan niÖm cña mét trong ba m« h×nh d÷ liÖu dùa theo mÉu tin ë trªn. Trong gi¸o tr×nh nμy ta chØ nghiªn cøu tíi viÖc biÕn ®æi m« h×nh thùc thÓ mèi liªn kÕt thμnh m« h×nh quan hÖ. M« h×nh thùc thÓ mèi liÖn kÕt gåm cã 2 thμnh phÇn : thùc thÓ vμ liªn kÕt 2.2.1 Thùc thÓ (Entity) Thùc thÓ lμ 1 sù vËt hay sù viÖc mμ ta cã thÓ ph©n biÖt ®−îc, tån t¹i trong thÕ giíi kh¸ch quan mμ ta cã thÓ liªn kÕt thùc thÓ nμy víi 1 thùc thÓ kh¸c. Thùc thÓ cã thÓ lμ mét thùc thÓ cô thÓ hoÆc trõu t−îng. Mçi thùc thÓ ®−îc m« t¶ bëi mét sè thuéc tÝnh. VÝ dô : - Sinh viªn lμ 1 thùc thÓ cô thÓ. Ta cã thÓ ph©n biÖt sinh viªn nμy víi sinh viªn kh¸c dùa vμo m· sè, ta cã thÓ liªn kÕt sinh viªn nμy víi sinh viªn kia dùa vμo mèi liªn kÕt cïng líp. K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

19쪽

Ch−¬ng 2 C¸c M« H×nh D÷ LiÖu Trang 19 - M«n häc lμ 1 thùc thÓ trõu t−îng, ta cã thÓ ph©n biÖt m«n häc nμy víi m«n häc kh¸c dùa vμo tªn m«n häc, ta cã thÓ liªn kÕt m«n häc nμy víi m«n häc kia dùa vμo liªn kÕt m«n häc nμo lμ c¬ së cña m«n häc kia. 2.2.2 TËp thùc thÓ (Entity set) : TËp thùc thÓ lμ mét tËp bao gåm nh÷ng thùc thÓ gièng nhau. VÝ dô : - NhiÒu thùc thÓ sinh viªn hîp l¹i thμnh tËp thÓ sinh viªn. - NhiÒu m«n häc hîp l¹i t¹o ra tËp thÓ m«n häc. 2.2.3 C¸c thuéc tÝnh vμ c¸c kho¸ : Thuéc tÝnh: C¸c tËp thùc thÓ th× cã nh÷ng ®Æc tÝnh, nh÷ng ®Æc tÝnh nμy gäi lμ thuéc tÝnh. VÝ dô : TËp thùc thÓ MÆt hμng cã c¸c thuéc tÝnh: tªn mÆt hμng, sè l−îng. Mçi thuéc tÝnh cã mét kiÖu d÷ liÖu (sè nguyªn, sè thùc, c¸c chuçi ký tù .. .) vμ cã gi¸ trÞ trong mét miÒn. VÝ dô : M· vËt t− lμ mét chuçi c¸c ký tù. - Sè l−îng lμ 1 sè nguyªn. - Khèi l−îng lμ 1 sè thùc. Khãa lμ mét thuéc tÝnh hoÆc lμ mét tËp c¸c thuéc tÝnh mμ gi¸ trÞ cña nã ®−îc dïng ®Ó x¸c ®Þnh duy nhÊt 1 thùc thÓ trong mét tËp thùc thÓ. VÝ dô : §Ó ph©n biÖt c¸c sinh viªn ng−êi ta cã thÓ dïng khãa sau: - M· sinh viªn cã 1 thuéc tÝnh mμ ng−êi ta gäi lμ khãa ®¬n (single key). - Dïng hä tªn vμ n¨m sinh cã nhiÒu thuéc tÝnh, khãa nμy gäi lμ khãa tæ hîp. - Dïng m· sinh viªn vμ hä tªn ®Ó lμm khãa th× kho¸ nμy ®−îc gäi lμ siªu kho¸ (supper key). Siªu khãa lμ 1 khãa mμ cã tËp con c¸c thuéc tÝnh khãa cña nã l¹i lμ khãa. 2.2.4 HÖ ph©n cÊp isa hay sù tæng qu¸t ho¸ - chuyªn biÖt hãa Ta nãi A isa B ®−îc ®äc lμ “A lμ B” nghÜa lμ nÕu tËp thùc thÓ B lμ sù tæng qu¸t hãa cña tËp thùc thÓ A hay nãi c¸ch kh¸c ®i A lμ 1 lo¹i riªng biÖt cña B. VÝ dô : Sinh viªn Isa con ng−êi. K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

20쪽

Ch−¬ng 2 C¸c M« H×nh D÷ LiÖu Trang 20 con ng−êi sinh viªn c«ng nh©n Ta nãi: A Isa B ⇔ ∀a ∈ A th× a ∈ B vμ ∃b ∈ B sao cho a = b TÝnh chÊt cña hÖ ph©n cÊp Isa: • A thõa h−ëng mäi thuéc tÝnh cña B. • A cã nh÷ng thuéc tÝnh mμ B kh«ng cã. • B cã tån t¹i 1 thùc thÓ mμ kh«ng t−¬ng øng 1 thùc thÓ trong A. VÝ dô : Sinh viªn chøa mäi thuéc tÝnh cña Con ng−êi, khi ®ã thuéc tÝnh khãa cña Con Ng−êi còng sÏ lμ thuéc tÝnh khãa cña Sinh viªn, vμ c¸c thuéc tÝnh riªng cña Sinh viªn trong ®ã cã thuéc tÝnh nhËn d¹ng thùc thÓ sinh viªn. Vμ trong Con ng−êi ch¾c ch¾n tån t¹i thùc thÓ kh«ng ph¶i lμ Sinh viªn mμ lμ C«ng nh©n. 2.2.5 Mèi liªn kÕt Mét mèi liªn kÕt gi÷a c¸c tËp thùc thÓ lμ 1 danh s¸ch cã thø tù cña c¸c tËp thùc thÓ. Mét tËp thùc thÓ cã thÓ xuÊt hiÖn nhiÒu lÇn trong 1 danh s¸ch. Danh s¸ch c¸c tËp thùc thÓ lμ 1 kh¸i niÖm ë møc s¬ ®å thÓ hiÖn mét mèi liªn kÕt. NÕu cã 1 mèi liªn kÕt R gi÷a c¸c tËp thùc thÓ E1, E2,... Ek th× 1 minh häa cña R lμ 1 tËp hîp c¸c bé k.Ta gäi 1 tËp hîp nh− thÕ lμ 1 tËp mèi liªn kÕt. Mét bé k (e1,e2, ..., ek) trong 1 tËp mèi liªn kÕt R gåm c¸c thùc thÓ (e1,e2, ..., ek víi ei ∈ Ei, i = 1 ... k). VÝ dô : XÐt mèi liªn kÕt gi÷a tËp thùc thÓ Sinh viªn vμ m«n häc. R = ®· häc Sinh viªn m«n häc §· häc (sinh viªn, m«n häc) Bé (x, y) : x ®· häc m«n y x thuéc sinh viªn y thuéc m«n häc K h o a C N T T 2 N ¨ m 2 0 0 0 B μ i G i ¶ n g C ¬ S ë D ÷ L i Ö u ThiNganHang.com

앞 20페이지만 표시됩니다. 전체를 보려면 자료를 다운로드하세요.

댓글 (0)

로그인 하여 토론에 참여하기

댓글이 없습니다. 첫 댓글을 남겨보세요!