intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Công nghệ phân tích - thiết kế và cơ sở dữ liệu quan hệ

Chia sẻ: Nguyễn Đức Cường | Ngày: | Loại File: PDF | Số trang:223

251
lượt xem
74
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mời các bạn tham khảo Tài liệu Cơ sở dữ liệu quan hệ và công nghệ phân tích - thiết kế do TS. Lê Văn Phùng biên soạn để nắm bắt những kiến thức về tổng quan cơ sở dữ liệu; mô hình cơ sở dữ liệu quan hệ; quy trình phân tích thiết kế cơ sở dữ liệu. Mời các bạn tham khảo Tài liệu để bổ sung thêm kiến thức về lĩnh vực này.

Chủ đề:
Lưu

Nội dung Text: Công nghệ phân tích - thiết kế và cơ sở dữ liệu quan hệ

  1. TS. LÊ VĂN PHÙNG CƠ SỞ DỮ LIỆU QUAN HỆ VÀ CÔNG NGHỆ PHÂN TÍCH - THIẾT KẾ NHÀ XUẤT BẢN THÔNG TIN VÀ TRUYỀN THÔNG
  2. KS 02 HM 10
  3. Lêi nãi ®Çu C¬ së d÷ liÖu (CSDL) lµ mét trong nh÷ng m«n häc chuyªn ngµnh quan träng cña chuyªn ngµnh c«ng nghÖ th«ng tin. Môc ®Ých cña cuèn s¸ch nh»m gióp b¹n ®äc n¾m b¾t nhanh nh÷ng vÊn ®Ò cèt lâi nhÊt vÒ mÆt lý thuyÕt CSDL quan hÖ, trªn c¬ së ®ã vËn dông vµo thùc tÕ trong viÖc thiÕt kÕ c¬ së d÷ liÖu logic còng nh− thiÕt kÕ hÖ thèng th«ng tin nãi chung. Do ®ã, néi dung tµi liÖu kh«ng ®i s©u vµo viÖc chøng minh c¸c ®Þnh lý mµ chó träng ®Õn viÖc lµm s¸ng tá ý nghÜa thùc tÕ cña c¸c c«ng thøc ®Ó tõ ®ã h−íng dÉn häc viªn c¸ch tiÕp cËn t− duy logic, n¾m v÷ng kü thuËt tÝnh to¸n còng nh− c¸c b−íc triÓn khai gi¶i quyÕt c¸c bµi to¸n thùc tÕ trªn khÝa c¹nh c«ng nghÖ. Víi môc ®Ých cung cÊp nh÷ng kiÕn thøc c¬ b¶n vÒ c¬ së d÷ liÖu quan hÖ cho sinh viªn, häc viªn ngµnh c«ng nghÖ th«ng tin vµ c¸c ngµnh kü thuËt kh¸c, Nhµ xuÊt b¶n Th«ng tin vµ TruyÒn th«ng tr©n träng giíi thiÖu cuèn s¸ch “C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ” do TS. Lª V¨n Phïng, ViÖn C«ng nghÖ th«ng tin, ViÖn Khoa häc vµ C«ng nghÖ ViÖt Nam biªn so¹n. Néi dung s¸ch ®−îc biªn so¹n sau nhiÒu n¨m thÓ nghiÖm gi¶ng d¹y t¹i c¸c tr−êng ®¹i häc, cao ®¼ng vµ Trung t©m ®µo t¹o tin häc t¹i nhiÒu tØnh thµnh trong c¶ n−íc. Cuèn s¸ch gåm 3 ch−¬ng: Ch−¬ng 1 - Tæng quan vÒ c¬ së d÷ liÖu: trÝch läc nh÷ng kh¸i niÖm c¬ b¶n nhÊt vÒ d÷ liÖu, c¬ së d÷ liÖu, hÖ thèng xö lý d÷ liÖu, hÖ qu¶n trÞ CSDL, c¸c ph−¬ng tiÖn diÔn t¶ d÷ liÖu, tõ ®iÓn d÷ liÖu, còng nh− nh÷ng kh¸i niÖm cèt lâi vÒ m« h×nh d÷ liÖu sÏ ®−îc sö dông trong qu¸ tr×nh ph©n tÝch, thiÕt kÕ CSDL. Ch−¬ng 2 - M« h×nh c¬ së d÷ liÖu quan hÖ: tr×nh bµy nh÷ng kh¸i niÖm c¬ b¶n nhÊt vÒ m« h×nh d÷ liÖu quan hÖ cña E.F.Codd, chóng ®−îc dïng nhiÒu trong viÖc thiÕt kÕ c¸c hÖ qu¶n trÞ CSDL hiÖn nay. Ch−¬ng nµy còng giíi thiÖu nh÷ng thuËt to¸n quan träng trong CSDL nh− c¸c
  4. thuËt to¸n tÝnh bao ®ãng vµ kho¸ tèi tiÓu trªn 1 quan hÖ còng nh− trªn 1 s¬ ®å quan hÖ… Néi dung ch−¬ng cßn ®Æc biÖt quan t©m ®Õn c¸c d¹ng chuÈn vµ c¸c thuËt to¸n cã liªn quan. ViÖc chuÈn ho¸ c¸c quan hÖ còng nh− c¸c s¬ ®å quan hÖ ®ãng mét vai trß quan träng trong viÖc thiÕt kÕ c¸c hÖ qu¶n trÞ c¬ së d÷ liÖu trªn m« h×nh d÷ liÖu cña E.F.Codd. Bªn c¹nh ®ã, ch−¬ng 2 cßn tËp trung h−íng dÉn ¸p dông c¸c kh¸i niÖm vµ ph−¬ng ph¸p tiªn tiÕn ®Ó chuÈn ho¸ c¸c quan hÖ ®Õn 3NF (3NF) trong c¸c hÖ qu¶n trÞ CSDL hiÖn h÷u. Ch−¬ng 3 - Quy tr×nh ph©n tÝch thiÕt kÕ CSDL: ®−îc tr×nh bµy mét c¸ch hÖ thèng toµn bé quy tr×nh ph©n tÝch, thiÕt kÕ mét CSDL, bao gåm c¸c giai ®o¹n chñ chèt nh− ph©n tÝch yªu cÇu d÷ liÖu, ph¸t triÓn m« h×nh ph©n tÝch d÷ liÖu, thiÕt kÕ CSDL møc logic vµ møc vËt lý, thiÕt kÕ an toµn b¶o mËt cho CSDL. Qu¸ tr×nh ph©n tÝch, thiÕt kÕ nh»m x©y dùng vµ qu¶n trÞ CSDL ®−îc tr×nh bµy ë ®©y tËp trung vµo CSDL quan hÖ, mét lo¹i CSDL ®−îc x©y dùng dùa trªn m« h×nh d÷ liÖu quan hÖ cã lý thuyÕt to¸n häc v÷ng ch¾c nhÊt. Ngoµi ra, ®©y còng lµ lo¹i CSDL phæ biÕn nhÊt, ®−îc sö dông hÇu hÕt trong c¸c hÖ qu¶n trÞ CSDL th«ng dông trªn thÕ giíi. C¸c néi dung ®−îc gãi gän trong 3 ch−¬ng trªn lµ nh÷ng kiÕn thøc thùc hµnh cÇn thiÕt cho bÊt cø b¹n ®äc nµo yªu vµ say mª víi c«ng nghÖ th«ng tin. Hy väng cuèn s¸ch sÏ thùc sù h÷u Ých ®èi víi c¸c kü s−, kü thuËt viªn, c¸n bé gi¶ng d¹y vµ sinh viªn ngµnh C«ng nghÖ Th«ng tin, khi thùc hiÖn c¸c ®Ò tµi, ®å ¸n, c¸c dù ¸n, còng nh− trong gi¶ng d¹y, häc tËp vµ vËn hµnh c¸c hÖ thèng th«ng tin. Ngoµi ra, cuèn s¸ch còng lµ tµi liÖu tham kh¶o bæ Ých cho b¹n ®äc quan t©m tíi lÜnh vùc nµy. Nhµ xuÊt b¶n xin tr©n träng giíi thiÖu cïng b¹n ®äc vµ rÊt mong nhËn ®−îc ý kiÕn ®ãng gãp cña quý vÞ. Mäi ý kiÕn ®ãng gãp xin göi vÒ Nhμ xuÊt b¶n Th«ng tin vμ TruyÒn th«ng - 18 NguyÔn Du, Hµ Néi hoÆc göi trùc tiÕp cho t¸c gi¶ theo ®Þa chØ: lvphung@ioit.ac.vn. Tr©n träng c¶m ¬n./. nxb th«ng tin vμ truyÒn th«ng
  5. Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu 5 Tõ viÕt t¾t CSDL C¬ së d÷ liÖu DBMS HÖ qu¶n trÞ c¬ së d÷ liÖu E_R Thùc thÓ - mèi quan hÖ KT_XH Kinh tÕ - X· héi NSD Ng−êi sö dông PC M¸y tÝnh c¸ nh©n PT_TK Ph©n tÝch vµ thiÕt kÕ RBTV Rµng buéc toµn vÑn
  6. 6 C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ
  7. Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu 7 Ch−¬ng 1 tæng quan vÒ c¬ së d÷ liÖu 1.1. c¸c Kh¸i niÖm c¬ b¶n 1.1.1. D÷ liÖu Trong m¸y tÝnh, thuËt ng÷ d÷ liÖu ®−îc xem nh− lµ c¸c ®Æc tÝnh ®−îc biÕt ®Õn mµ cã thÓ ghi l¹i vµ l−u tr÷ trªn c¸c thiÕt bÞ ghi nhí cña m¸y tÝnh. D÷ liÖu lµ nh÷ng m« t¶ vÒ sù vËt, con ng−êi vµ sù kiÖn trong thÕ giíi thùc. D÷ liÖu bao gåm sè, kÝ tù, v¨n b¶n, h×nh ¶nh, ®å häa, ©m thanh, ®o¹n phim,… cã mét gi¸ trÞ nμo ®ã ®èi víi ng−êi sö dông (NSD) chóng vμ ®−îc l−u tr÷, xö lý trong m¸y tÝnh. VÝ dô: - D÷ liÖu vÒ kh¸ch: tªn, ®Þa chØ, ®iÖn tho¹i, thÎ tÝn dông - D÷ liÖu vÒ xe « t« cña kh¸ch: h·ng xe, ®êi xe, n¨m s¶n xuÊt - D÷ liÖu vÒ nhËt ký söa ch÷a: ngµy phôc vô, tªn thî söa ch÷a, sè tiÒn thanh to¸n Trong ho¹t ®éng kinh tÕ x· héi (KT_XH) cña con ng−êi, ng−êi ta th−êng chia ra hai lo¹i d÷ liÖu lµ lo¹i d÷ liÖu ph¶n ¸nh cÊu tróc néi bé cña c¬ quan (nh©n sù, nhµ x−ëng, thiÕt bÞ,… d÷ liÖu Ýt biÕn ®éng) vµ lo¹i d÷ liÖu ph¶n ¸nh ho¹t ®éng cña tæ chøc (s¶n xuÊt, mua b¸n, giao dÞch,…). Trong doanh nghiÖp, kh«ng kÓ con ng−êi vµ thiÕt bÞ, d÷ liÖu cïng víi xö lý lµ 2 thµnh phÇn c¬ b¶n cña hÖ thèng: d÷ liÖu th−êng dïng ®Ó ghi nhËn thùc tr¹ng. D÷ liÖu cã thÓ ®−îc chia thμnh nhiÒu cÊp theo kiÓu c©y ph©n cÊp l−u tr÷ d÷ liÖu (Data storage hierarchy)
  8. 8 C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ Database - c¬ së d÷ liÖu File - tÖp Record - b¶n ghi Field- tr−êng Character or byte - Ký tù hoÆc byte bit Bit (binary digit) lµ mét sè cã 1 ký tù sè (digit), ®−îc biÓu diÔn b»ng sè 0/1. §©y lµ ®¬n vÞ l−u tr÷ nhá nhÊt trong m¸y tÝnh. Mét ký tù (character) hoÆc byte lµ mét tæ hîp 8 bit liªn tôc nhau Ký tù gåm cã: - ký tù ch÷ c¸i A - Z, a - z - ký tù sè 0 - 9 - ký tù ®Æc biÖt (+, %, $,...) CÊu tróc bit nhá nhÊt cho 1 ký tù lµ 0000 0000 CÊu tróc bit lín nhÊt cho 1 ký tù lµ 1111 1111 Nh− vËy cã 256 byte biÓu diÔn 28 = 256 ký tù kh¸c nhau Cã 2 hÖ thèng m· ®Ó chuyÓn ®æi m· 8 bit thμnh c¸c ký tù: - Extended binary coded decimal interchange code (dïng cho m¸y mainframe vµ m¸y IBM lín) - American standard code for information interchange (dïng cho m¸y mini vµ m¸y vi tÝnh) ViÖc chuyÓn ®æi d÷ liÖu ë d¹ng m· nµy sang d¹ng m· kia nhê vµo nh÷ng tr×nh tiÖn Ých Søc chøa ë bé nhí chÝnh vμ bé nhí phô ®−îc tÝnh b»ng: - Kilobyte (K) 1K = 1024 byte - Megabyte (M) 1M = 1024K - Gigabyte (G) 1G = 1024M - Tªtabyte (T) 1T = 1024G
  9. Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu 9 PhÇn lín m¸y PC (personal computer) thêi kú ®Çu ®Òu dùa trªn chip 8086/8088 lµ lo¹i cã dung l−îng 16 bit. PC míi hiÖn nay dïng chip cã dung l−îng lín nh− 32, 64 bit. Field (Tr−êng) lµ tËp c¸c byte cã liªn quan VÝ dô: tªn ng−êi cã thÓ ®−îc cÊu t¹o tõ c¸c tr−êng tªn, tªn lãt, hä Tr−êng lµ ®¬n vÞ d÷ liÖu nhá nhÊt cã nghÜa ®èi víi NSD Tr−êng cã thÓ chØ chøa 1 ký tù F (female)/M (male) Tr−êng sè cã thÓ cã dÊu chÊm (.) vµ cã dÊu (©m/d−¬ng). Mét sè phÇn mÒm kh«ng ®−îc phÐp sö dông sè ©m vµ dÊu chÊm thËp ph©n. Tr−êng ph¶i ®−îc khai b¸o tr−íc Record (b¶n ghi) lµ tËp c¸c tr−êng cã liªn hÖ víi nhau B¶n ghi vÒ hîp ®ång thuª nh©n c«ng cã thÓ cã tr−êng tªn, ®Þa chØ, sè giê lµm viÖc trong tuÇn. Tr−êng trong b¶n ghi ®−îc ph©n lo¹i (type) x¸c ®Þnh ®é dµi tèi ®a (size). Nhê vËy b¶n ghi x¸c ®Þnh ®−îc sè byte tæng céng ®−îc chøa trong mét vïng liªn tôc trong bé nhí. File (tÖp) lµ tËp c¸c b¶n ghi chøa c¸c d÷ liÖu cã quan hÖ víi nhau ®−îc l−u vµo thiÕt bÞ nhí thø cÊp (®Üa mÒm, ®Üa cøng, b¨ng caset). C¸c ph−¬ng ph¸p chñ yÕu ®Ó tæ chøc l−u tr÷ vµ ®äc c¸c tÖp trªn ®Üa hoÆc c¸c thiÕt bÞ l−u tr÷ gåm: - Tæ chøc tÖp kiÓu tuÇn tù: c¸c b¶n ghi ®−îc l−u theo thø tù - Tæ chøc tÖp truy xuÊt ngÉu nhiªn (trùc tiÕp): l−u c¸c tÖp tin theo thø tù ngÉu nhiªn. - Tæ chøc tÖp theo chØ môc: tæ chøc mét tr−êng kho¸ trong mçi b¶n ghi nªn cã thÓ truy xuÊt b¶n ghi nµy theo kiÓu tuÇn tù hoÆc ngÉu nhiªn. PhÐp b¨m (hashing) lμ mét kü thuËt ®−îc sö dông ®Ó tÝnh ®Þa chØ cña mét b¶n ghi trªn thiÕt bÞ vËt lý (®Üa tõ). Cßn tÖp ®−îc t¹o ra theo kü thuËt nμy ®−îc gäi lμ tÖp b¨m (hash file).
  10. 10 C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ Database (c¬ së d÷ liÖu) lµ hÖ thèng tÝch hîp cña c¸c tÖp, ®−îc thiÕt kÕ nh»m môc ®Ých lµm gi¶m thiÓu sù trïng lÆp c¸c d÷ liÖu. Ngoµi ra chóng cßn cã mét cÊu tróc cã thø tù ®Ó kÕt nèi c¸c tÖp l¹i víi nhau. Theo nghÜa phæ th«ng, CSDL lµ tËp hîp d÷ liÖu vÒ mét ®¬n vÞ tæ chøc nµo ®ã, l−u trªn m¸y, cã c¸ch tæ chøc qu¶n lý theo mét kiÓu m« h×nh nµo ®ã. Trªn thùc tÕ, ng−êi ta ®· ®−a ra mét ®Þnh nghÜa CSDL ®Çy ®ñ h¬n d−íi ®©y. 1.1.2. C¬ së d÷ liÖu §Þnh nghÜa: CSDL ®−îc x¸c ®Þnh nh− lμ mét bé s−u tËp c¸c d÷ liÖu cã liªn quan logic víi nhau; nã ®−îc tæ chøc s¾p xÕp theo mét c¸ch nμo ®ã vμ ®−îc c¸c hÖ øng dông cña mét ®¬n vÞ/c¬ quan cô thÓ nμo ®ã sö dông. VÝ dô: mét CSDL cña cöa hµng söa ch÷a xe « t« cã thÓ chøa c¸c d÷ liÖu vÒ kh¸ch hµng (bao gåm c¸c kho¶n môc d÷ liÖu nh− tªn kh¸ch hµng, ®Þa chØ, sè ®iÖn tho¹i, thÎ tÝn dông), c¸c d÷ liÖu vÒ xe « t« cña kh¸ch hµng (bao gåm c¸c kho¶n d÷ liÖu nh− h·ng xe, ®êi xe, n¨m s¶n xuÊt) vµ nhËt ký c¸c lÇn söa ch÷a cho mçi chiÕc xe (nh− ngµy ph¸t sinh phôc vô, tªn thî söa, lo¹i h×nh söa ch÷a vµ sè tiÒn ®· thanh to¸n). CSDL th−êng ®−îc sö dông víi nh÷ng øng dông cµi ®Æt riªng lÎ trong m¸y tÝnh c¸ nh©n, hoÆc d−íi d¹ng mét CSDL tËp trung trªn m¹ng LAN, hoÆc d−íi d¹ng mét CSDL ph©n t¸n trªn m¹ng WAN. C¸c thµnh phÇn cña m«i tr−êng sö dông CSDL bao gåm: - TÖp vµ CSDL, - PhÇn cøng vµ hÖ ®iÒu hµnh, - CÊu tróc d÷ liÖu vµ ph−¬ng ph¸p truy xuÊt d÷ liÖu. 1.1.3. HÖ thèng xö lý d÷ liÖu Tõ khi cã m¸y tÝnh, ng−êi ta ®· t×m c¸ch l−u tr÷ d÷ liÖu vµ xö lý chóng, mét trong nh÷ng hÖ thèng xö lý d÷ liÖu ®Çu tiªn ®ã lµ c¸c “hÖ thèng xö lý tÖp”. MÆc dï ngµy nay nh÷ng hÖ thèng xö lý tÖp nµy kh«ng
  11. Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu 11 cßn ®−îc sö dông réng r·i nh−ng nã vÉn tån t¹i trong mét sè lÜnh vùc hÑp. §Ó cã thÓ thÊy ®−îc nh÷ng −u nh−îc ®iÓm cña hÖ thèng xö lý tÖp còng nh− cã thÓ hiÓu s©u h¬n t¹i sao ng−êi ta l¹i mong muèn x©y dùng nh÷ng CSDL víi c¸c −u ®iÓm cña c¸ch tiÕp cËn dùa trªn hÖ thèng xö lý tÖp, chóng ta sÏ xem xÐt mét c¸ch kh¸i qu¸t c¸c kh¸i niÖm quan träng. a. C¸c hÖ thèng xö lý tÖp truyÒn thèng Khi ch−a cã CSDL, c¸c m¸y tÝnh cña chóng ta ph¶i xö lý d÷ liÖu th«ng qua c¸c hÖ thèng xö lý tÖp truyÒn thèng. Ngµy nay, khi kh¶ n¨ng cña c¸c m¸y tÝnh ®· t¨ng lªn mét c¸ch ®¸ng kÓ, cã thÓ gi¶i quyÕt c¸c bµi to¸n lín, ®ßi hái xö lý nh÷ng khèi d÷ liÖu ®å sé, phøc t¹p th× c¸c hÖ thèng xö lý tÖp truyÒn thèng tá ra kh«ng cßn thÝch hîp vµ dÇn dÇn nã ®−îc thay thÕ bëi c¸c hÖ thèng xö lý d÷ liÖu dùa trªn CSDL. Tuy nhiªn sù hiÓu biÕt vÒ c¸c hÖ thèng xö lý tÖp vÉn lµ cÇn thiÕt bëi hai lý do c¬ b¶n sau: - Ngµy nay c¸c hÖ thèng xö lý tÖp vÉn cßn ®−îc sö dông trong mét sè hÖ thèng, ®Æc biÖt lµ c¸c hÖ thèng phôc vô sao l−u CSDL. - HiÓu ®−îc c¸c vÊn ®Ò còng nh− c¸c giíi h¹n cña c¸c hÖ thèng xö lý tÖp sÏ gióp chóng ta thiÕt kÕ c¸c CSDL tèt h¬n. VÝ dô vÒ mét øng dông dùa trªn hÖ thèng xö lý tÖp: Mét c«ng ty chuyªn s¶n xuÊt c¸c ®å dïng b»ng gç ®· tiÕn hµnh tin häc ho¸ c¸c nghiÖp vô cña m×nh trªn m¸y tÝnh. Tho¹t ®Çu, mçi mét øng dông trong c«ng ty ®Òu ®−îc x©y dùng theo c¸ch tiÕp cËn xö lý tÖp truyÒn thèng. Víi c¸ch tiÕp cËn nµy, c¸c hÖ thèng th«ng tin ®Òu tËp trung vμo viÖc xö lý d÷ liÖu cña mçi mét phßng ban ®¬n lÎ, trong ®ã c¸c hÖ thèng cè g¾ng ®¸p øng c¸c yªu cÇu cña tõng nhãm ng−êi cô thÓ. Do vËy, nh×n toµn bé vµo hÖ thèng th«ng tin cña toµn c«ng ty th× kh«ng cã mét m« h×nh còng nh− kÕ ho¹ch hay s¬ ®å tæng thÓ nµo ®Ó cã thÓ ho¹ch ®Þnh ®−îc cho viÖc ph¸t triÓn tiÕp theo cña c¸c øng dông. HÖ thèng øng dông dùa trªn c¸ch tiÕp cËn xö lý tÖp nµy ®−îc minh häa nh− trong h×nh 1.1, ®ã lµ c¸c hÖ thèng t¹o lËp ®¬n hµng (order Filling
  12. 12 C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ System), hÖ thèng xö lý ho¸ ®¬n (Invoice System) vµ hÖ thèng qu¶n lý l−¬ng cho nh©n viªn (Payroll System). Nh×n vµo h×nh vÏ chóng ta thÊy r»ng, c¸c tÖp d÷ liÖu ®−îc kÕt nèi trùc tiÕp víi mçi ch−¬ng tr×nh øng dông, mçi tÖp lµ mét tËp c¸c b¶n ghi liªn quan. VÝ dô, víi hÖ thèng order Filling System cã 3 tÖp: Kh¸ch hµng (Customer), Nhµ cung cÊp (Inventory Master) vµ Ho¸ ®¬n (order). Chóng ta nhËn thÊy r»ng cã thÓ cã nh÷ng tÖp ®−îc l−u lÆp l¹i vμ sö dông bëi c¸c øng dông kh¸c nhau (nh− Customer), ®©y chÝnh lµ mét trong nh÷ng nh−îc ®iÓm cña c¸c hÖ thèng dùa trªn viÖc xö lý tÖp. H×nh 1.1. Mét hÖ thèng xö lý tÖp truyÒn th«ng C¸c nh−îc ®iÓm cña c¸c hÖ thèng xö lý tÖp: - TÝnh phô thuéc gi÷a ch−¬ng tr×nh vμ d÷ liÖu: C¸c m« t¶ vÒ tÖp d÷ liÖu ®−îc l−u trong mçi mét ch−¬ng tr×nh øng dông sö dông tÖp ®ã. Nh− vÝ dô trªn, ch−¬ng tr×nh Program A truy nhËp c¶ hai tÖp Inventory Master vµ Customer, do vËy ch−¬ng tr×nh nµy sÏ chøa c¸c m« t¶ chi tiÕt cña c¶ 2 tÖp nµy. §iÒu nµy dÉn ®Õn, khi cã bÊt cø mét thay ®æi nµo ®Õn cÊu tróc tÖp sÏ ®ßi hái còng ph¶i cã c¸c thay ®æi t−¬ng øng ®Õn
  13. Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu 13 c¸c m« t¶ trong c¸c ch−¬ng tr×nh øng dông sö dông tÖp ®ã. Ngoµi ra, nh− trong h×nh 1.1, nÕu tÖp Customer bÞ söa ®æi th× c¶ hai hÖ thèng order System vµ Invoice system ®Òu bÞ ¶nh h−ëng. - L−u tr÷ trïng lÆp d÷ liÖu: Trong h×nh 1.1 chóng ta nhËn thÊy r»ng, hÖ thèng Order Filling cã chøa mét tÖp Inventory Master, trong khi ®ã hÖ thèng Invoice còng chøa mét tÖp lµ Inventory Pricing. Râ rµng gi÷a hai tÖp nµy sÏ cã sù l−u tr÷ trïng lÆp d÷ liÖu, vÝ dô c¸c th«ng tin vÒ m« t¶ s¶n phÈm, gi¸ mçi s¶n phÈm còng nh− sè l−îng ®ang cã trong kho. ViÖc l−u tr÷ d− thõa d÷ liÖu nµy g©y ra rÊt nhiÒu bÊt cËp vµ ®ßi hái kh«ng gian l−u tr÷ lín, nã rÊt dÔ vi ph¹m tÝnh toµn vÑn cña d÷ liÖu. - ViÖc chia sÎ d÷ liÖu bÞ h¹n chÕ: Trong c¸ch tiÕp cËn xö lý tÖp nµy, mçi mét øng dông cã c¸c tÖp d÷ liÖu riªng cña nã vµ do vËy gi÷a nh÷ng ng−êi sö dông, hä cã Ýt c¬ héi ®Ó cã thÓ chia sÎ d÷ liÖu cho nhau nÕu kh«ng sö dông chung mét ph©n hÖ øng dông. Nh− trong h×nh 1.1, c¸c nh©n viªn trong phßng kÕ to¸n (Accounting Department) chØ cã thÓ truy nhËp ®−îc nh÷ng tÖp trong øng dông cña c¸c phßng xö lý ®¬n hµng (Order Department) hay phßng qu¶n lý tiÒn l−¬ng (Payroll Department). Do vËy, khi ng−êi l·nh ®¹o muèn t¹o ra nh÷ng b¸o c¸o tæng hîp liªn phßng th× v« cïng khã kh¨n bëi d÷ liÖu ®−îc l−u riªng lÎ còng nh− cã thÓ kh«ng thèng nhÊt gi÷a c¸c phßng. - Tèn thêi gian x©y dùng: Víi mçi mét øng dông míi, ng−êi ph¸t triÓn ch−¬ng tr×nh ph¶i b¾t ®Çu l¹i tõ ®Çu víi viÖc x©y dùng c¸c tÖp, m« t¶ chóng còng nh− x©y dùng c¸c m«-®un ch−¬ng tr×nh ®Ó truy nhËp tíi c¸c tÖp ®ã. Qu¸ tr×nh nµy tèn kh¸ nhiÒu thêi gian mÆc dï nã lu«n lÆp l¹i gi÷a c¸c hÖ thèng. - Chi phÝ cho b¶o tr× ch−¬ng tr×nh lín: Trªn thùc tÕ, cã ®Õn 80% chi phÝ ®−îc dµnh cho giai ®o¹n b¶o tr× ch−¬ng tr×nh ®èi víi nh÷ng øng dông dùa trªn c¸c hÖ thèng xö lý tÖp truyÒn thèng nµy. Tuy nhiªn chóng ta còng cÇn ph¶i l−u ý r»ng, nh÷ng nh−îc ®iÓm ®èi víi c¸ch tiÕp cËn dùa trªn c¸c hÖ thèng xö lý tÖp truyÒn thèng nµy
  14. 14 C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ còng cã thÓ gÆp ph¶i trong c¸ch tiÕp cËn dùa trªn CSDL (sÏ ®−îc tr×nh bµy d−íi ®©y), nÕu nh− CSDL kh«ng ®−îc thiÕt kÕ tèt, còng nh− chóng ®−îc x©y dùng mét c¸ch riªng rÏ, kh«ng thèng nhÊt. b. C¸ch tiÕp cËn CSDL C¸ch tiÕp cËn CSDL nhÊn m¹nh ®Õn tÝnh chia sÎ vµ tÝch hîp cña d÷ liÖu trong toµn bé ho¹t ®éng cña mét tæ chøc. Theo c¸ch tiÕp cËn nµy, d÷ liÖu ®−îc l−u tr÷ cã tæ chøc, tËp trung d−íi d¹ng mét CSDL vµ gi÷a c¸c d÷ liÖu cã sù liªn kÕt logic víi nhau. C¸c −u ®iÓm mµ c¸ch tiÕp cËn dùa trªn CSDL mang l¹i so víi c¸ch tiÕp cËn dùa trªn c¸c hÖ thèng xö lý tÖp truyÒn thèng: - Tèi thiÓu ho¸ d− thõa d÷ liÖu: Môc ®Ých thiÕt kÕ trong c¸ch tiÕp cËn CSDL chÝnh lµ cè g¾ng tÝch hîp c¸c tÖp d÷ liÖu riªng rÏ (vµ còng lµ d− thõa) trong m« h×nh xö lý tÖp tr−íc ®©y vµo mét cÊu tróc logic duy nhÊt. Mçi mét sù kiÖn cô thÓ sÏ ®−îc l−u tr÷ t¹i mét vÞ trÝ quy ®Þnh trong CSDL. Còng cÇn l−u ý r»ng, c¸ch tiÕp cËn CSDL cã thÓ kh«ng lo¹i bá hoµn toµn vÊn ®Ò d− thõa d÷ liÖu, nh−ng nã ®· cho phÐp ng−êi thiÕt kÕ kiÓm so¸t ®−îc vÊn ®Ò nµy. VÝ dô, ®èi víi mçi ®¬n hµng trong b¶ng ORDER cã chøa mét tr−êng Customer_id ®Ó biÓu diÔn mèi liªn kÕt gi÷a n©ng cao hiÖu qu¶ truy vÊn cña CSDL, chóng ta cã thÓ chÊp nhËn h×nh thøc l−u tr÷ d− thõa d÷ liÖu. - TÝnh ®éc lËp ch−¬ng tr×nh - d÷ liÖu: TÝnh ®éc lËp víi d÷ liÖu ®−îc thÓ hiÖn ë sù t¸ch biÖt râ rµng gi÷a ch−¬ng tr×nh øng dông vµ c¸c m« t¶ d÷ liÖu (siªu d÷ liÖu), do vËy nã cho phÐp d÷ liÖu cña mét doanh nghiÖp ®−îc phÐp söa ®æi (trong mét giíi h¹n nµo ®ã) mµ kh«ng ph¶i thay ®æi l¹i ch−¬ng tr×nh thao t¸c trªn c¸c d÷ liÖu ®ã. - N©ng cao tÝnh nhÊt qu¸n d÷ liÖu: Víi viÖc lo¹i bá tÝnh d− thõa d÷ liÖu, c¸ch tiÕp cËn CSDL ®· gi¶m bít ®−îc ®¸ng kÓ tÝnh kh«ng nhÊt qu¸n cña d÷ liÖu. VÝ dô, nÕu ®Þa chØ cña kh¸ch hµng ®−îc l−u tr÷ duy nhÊt, khi ®ã, nÕu kh¸ch hµng thay ®æi ®Þa chØ, chóng ta chØ viÖc lµm mét ®éng t¸c lµ ®¬n gi¶n söa ®æi l¹i ®Þa chØ cña kh¸ch hµng ë vÞ trÝ duy nhÊt ®ã, c¸c truy vÊn liªn quan ®Õn gi¸ trÞ nµy sÏ ®−îc tù ®éng nhËn
  15. Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu 15 gi¸ trÞ míi khi ®−îc thùc hiÖn. Nh− vËy, vÊn ®Ò vÒ cËp nhËt, söa ®æi d÷ liÖu rÊt ®¬n gi¶n vµ nhÊt qu¸n. Mét ®iÓm quan träng h¬n, c¸ch tiÕp cËn CSDL sÏ lµm gi¶m ®¸ng kÓ kh«ng gian nhí so víi ph−¬ng ph¸p l−u tr÷ d÷ liÖu trong c¸c hÖ thèng xö lý tÖp truyÒn thèng. - N©ng cao tÝnh chia sÎ d÷ liÖu: CSDL ®−îc thiÕt kÕ nh»m môc ®Ých chia sÎ d÷ liÖu. Mçi ng−êi sö dông hîp ph¸p ®−îc g¸n nh÷ng quyÒn sö dông CSDL kh¸c nhau, ®èi víi mçi ng−êi (hoÆc nhãm ng−êi) sö dông sÏ ®−îc cung cÊp nh÷ng khung nh×n sö dông kh¸c nhau, do vËy hä cã thÓ chñ ®éng trong viÖc chia sÎ d÷ liÖu th«ng qua c¸c quyÒn kiÓm so¸t d÷ liÖu. - N©ng cao tÝnh s¶n phÈm cña øng dông: Mét lîi thÕ ®¸ng kÓ cña c¸ch tiÕp cËn CSDL ®ã lµ gi¶m ®¸ng kÓ chi phÝ vµ thêi gian cho viÖc ph¸t triÓn nh÷ng øng dông nghiÖp vô. - ¸p ®Æt dÔ dμng c¸c tiªu chuÈn: Víi c¸ch tiÕp cËn CSDL, c¸c tiªu chuÈn nh− quy −íc ®Æt tªn, sö dông quy tr×nh thèng nhÊt trong viÖc truy nhËp, cËp nhËt vµ b¶o vÖ d÷ liÖu dÔ dµng ®−îc thùc hiÖn. C¸c chøc n¨ng qu¶n trÞ CSDL th−êng cung cÊp mét lo¹t c¸c c«ng cô nh»m ®¶m b¶o nh÷ng tiªu chuÈn nµy lu«n ph¶i ®−îc tho¶ m·n. TÝnh chÊt nµy lµm cho viÖc b¶o tr× vµ trao ®æi d÷ liÖu trë nªn dÔ dµng vµ thuËn lîi h¬n. - N©ng cao chÊt l−îng d÷ liÖu: Víi c¸ch tiÕp cËn CSDL, ng−êi thiÕt kÕ cã thÓ x©y dùng c¸c rµng buéc toµn vÑn nh»m ®¶m b¶o d÷ liÖu khi ®−îc ®−a vµo CSDL ph¶i tho¶ m·n mét sè quy t¾c nµo ®ã. HoÆc ®èi víi nh÷ng CSDL lín nh− kho d÷ liÖu, th× th«ng th−êng d÷ liÖu ®−îc lµm s¹ch tr−íc khi ®−îc ®−a vµo kho d÷ liÖu. - N©ng cao kh¶ n¨ng truy xuÊt d÷ liÖu: Víi c¸c CSDL quan hÖ, ng−êi sö dông kh«ng cÇn biÕt kü n¨ng vÒ lËp tr×nh còng cã thÓ dÔ dµng t×m kiÕm vµ hiÓn thÞ d÷ liÖu th«ng qua mét ng«n ng÷ hái ®¸p d÷ liÖu rÊt th©n thiÖn ®· ®−îc tiªu chuÈn ho¸. - Gi¶m chi phÝ b¶o tr× ch−¬ng tr×nh: TÝnh chÊt nµy lµ hÖ qu¶ cña tÝnh ®éc lËp ch−¬ng tr×nh - d÷ liÖu. TÝnh ®éc lËp ch−¬ng tr×nh - d÷ liÖu cho phÐp x©y dùng ch−¬ng tr×nh t¸ch biÖt khái d÷ liÖu ë møc ®é nhÊt
  16. 16 C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ ®Þnh, do vËy khi cã sù söa ®æi, chóng ta chØ viÖc söa ®æi mét sè m«-®un thao t¸c trªn d÷ liÖu mµ kh«ng nhÊt thiÕt ph¶i söa ®æi l¹i toµn bé ch−¬ng tr×nh. ChÝnh ®iÒu nµy ®· dÉn ®Õn viÖc gi¶m bít ®−îc chi phÝ b¶o tr× ch−¬ng tr×nh. Trªn ®©y lµ nh÷ng −u ®iÓm mµ c¸ch tiÕp cËn CSDL mang l¹i. Mét CSDL th−êng ®−îc tÝch hîp vµo trong mét hÖ qu¶n trÞ CSDL (®ã lµ mét ch−¬ng tr×nh m¸y tÝnh hay chÝnh x¸c h¬n lµ mét bé c¸c ch−¬ng tr×nh m¸y tÝnh ®−îc x©y dùng ®Ó qu¶n lý mét CSDL). 1.1.4. Sù kh¸c biÖt gi÷a d÷ liÖu vμ th«ng tin Hai thuËt ng÷ d÷ liÖu vµ th«ng tin liªn quan chÆt chÏ víi nhau, trªn thùc tÕ chóng th−êng ®−îc sö dông thay ®æi cho nhau. Tuy nhiªn, gi÷a chóng còng cã sù kh¸c biÖt vµ chóng ta nªn ph©n biÖt gi÷a d÷ liÖu vµ th«ng tin. Chóng ta quan niÖm th«ng tin lμ nh÷ng g× ®−îc t¹o nªn nh»m gi¶m sù kh«ng x¸c ®Þnh. Th«ng tin th−êng ®−îc chiÕt xuÊt tõ d÷ liÖu. Nãi c¸ch kh¸c chóng ta cã thÓ hiÓu th«ng tin nh− lµ d÷ liÖu ®· ®−îc xö lý theo c¸ch mµ chóng cã thÓ lµm t¨ng hµm l−îng tri thøc cho NSD nã. VÝ dô: Ho¸ ®¬n N0- 852 cña nhµ cung cÊp A cÇn ph¶i thanh to¸n chËm nhÊt lµ vµo ngµy 01/10/2005 ®ã lµ mét th«ng tin. §Ó thÓ hiÖn th«ng tin ng−êi ta sö dông d÷ liÖu. Th«ng tin ®−îc thÓ hiÖn qua c¸c gi¸ trÞ cña d÷ liÖu. Víi vÝ dô trªn, th«ng tin toµn bé ®−îc thÓ hiÖn qua 3 lo¹i d÷ liÖu: STT ho¸ ®¬n, tªn nhµ cung cÊp, ngµy giíi h¹n thanh to¸n. Cã d÷ liÖu nh−ng ch−a thÓ hiÖn ®−îc th«ng tin. VÝ dô: Mai Linh 240685 §«ng Lan 060980 Minh Ph−¬ng 211279
  17. Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu 17 §Ó chuyÓn d÷ liÖu thµnh th«ng tin, cÇn tãm l−îc chóng l¹i hoÆc xö lý vµ tr×nh bµy chóng d−íi c¸c d¹ng trùc quan h¬n nh− b¶ng, ®å thÞ hay biÓu ®å (®Æt danh s¸ch trong mét ng÷ c¶nh, bæ sung thªm mét vµi d÷ liÖu vµ cÊu tróc cña c¸c d÷ liÖu ®ã hoÆc tãm l−îc vµ biÓu diÔn d−íi d¹ng trùc quan - d¹ng th«ng tin ®å thÞ): B¶ng 1.1. Danh s¸ch líp Tin c¬ b¶n Tªn Ngμy th¸ng n¨m sinh M· sinh viªn Mai Linh 240685 §«ng Lan 060980 Minh Ph−¬ng 211279 Cã mét sè c¸ch diÔn t¶ d÷ liÖu nh− b»ng ®å thÞ h×nh b¸nh hoÆc ®å thÞ h×nh cét. §å thÞ h×nh b¸nh biÓu diÔn c¬ cÊu giíi tÝnh. §å thÞ h×nh cét biÓu diÔn t¨ng tr−ëng GDP b×nh qu©n ®Çu ng−êi,... H×nh 1.2. C¸c c¸ch diÔn t¶ d÷ liÖu 1.1.5. Siªu d÷ liÖu D÷ liÖu chØ trë nªn h÷u Ých khi chóng ®−îc ®Æt trong mét ng÷ c¶nh nµo ®ã. C¬ chÕ chÝnh cung cÊp ng÷ c¶nh cho d÷ liÖu ®ã chÝnh lµ siªu d÷ liÖu, do vËy chóng ta cã thÓ hiÓu siªu d÷ liÖu lμ d÷ liÖu m« t¶ c¸c tÝnh chÊt hoÆc ®Æc tr−ng cña d÷ liÖu. C¸c tÝnh chÊt nµy cã thÓ lµ c¸c d÷ liÖu vÒ ®Þnh nghÜa, vÒ cÊu tróc d÷ liÖu, vÒ c¸c luËt hay c¸c rµng buéc. Siªu d÷ liÖu cho phÐp ng−êi thiÕt kÕ CSDL vµ NSD biÕt cã d÷ liÖu g×, tån t¹i ë ®©u, c¸c kho¶n môc d÷ liÖu kh¸c nhau ë ®iÓm g×. ViÖc
  18. 18 C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ qu¶n lý siªu d÷ liÖu còng quan träng nh− viÖc qu¶n lý d÷ liÖu liªn quan víi nã, bëi d÷ liÖu nÕu kh«ng ®−îc ph©n biÖt râ rµng sÏ g©y ra nhÇm lÉn, sai sãt vµ kh«ng thÓ diÔn gi¶i næi. Trong CSDL, siªu d÷ liÖu th−êng ®−îc l−u tr÷ trong mét vïng quy ®Þnh mµ chóng ta th−êng gäi lµ tõ ®iÓn d÷ liÖu (Data Dictionary). D÷ liÖu t¹o nªn néi dung cña CSDL, tuy nhiªn nã kh«ng quyÕt ®Þnh tÝnh hiÖu qu¶ cña CSDL. Bëi tÝnh hiÖu qu¶ ®−îc thÓ hiÖn qua viÖc thiÕt kÕ vµ khai th¸c CSDL. B¶ng 1.2. VÝ dô vÒ mét siªu d÷ liÖu cho b¶ng kÕt qu¶ häc tËp Data item Value Length Description Name Type Min max Course Char 30 Course_id vμ tªn Section Integer 1 1 9 Sè hiÖu häc phÇn Semester Char 10 Häc kú vμ n¨m Name Char 30 Tªn Sinh viªn ID Integer 9 Sè hiÖu sinh viªn Major Char 4 M«n häc GPA Decimal 3 0.0 10.0 §iÓm m«n häc CÇn ph©n biÖt râ d÷ liÖu vµ siªu d÷ liÖu: siªu d÷ liÖu lµ phÇn ®−îc t¸ch khái d÷ liÖu, siªu d÷ liÖu m« t¶ c¸c tÝnh chÊt cña d÷ liÖu, siªu d÷ liÖu kh«ng bao gåm d÷ liÖu. 1.1.6. KiÓu thùc thÓ vμ b¶ng d÷ liÖu a. Thùc thÓ Thùc thÓ lµ mét kh¸i niÖm ®−îc sö dông th−êng xuyªn trong qu¸ tr×nh ph©n tÝch, thiÕt kÕ CSDL. Chóng ta cÇn n¾m v÷ng b¶n chÊt cña thùc thÓ. Chóng ta nhËn thÊy r»ng trong thÕ giíi thùc, tån t¹i rÊt nhiÒu c¸c ®èi t−îng kh¸c nhau, vÝ dô nh− mét ng−êi trong tæ chøc, mét sinh viªn
  19. Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu 19 trong mét tr−êng ®¹i häc, hay thËm chÝ mét phßng ban trong mét viÖn nghiªn cøu, tÊt c¶ nh÷ng ®èi t−îng ®ã ®Òu ®−îc coi lµ c¸c thùc thÓ kh¸c nhau. Ngoµi ra nh÷ng ®èi t−îng trõu t−îng nh− “mét ngμnh khoa häc” còng cã thÓ ®−îc coi lµ mét thùc thÓ. VËy ta cã thÓ ®Þnh nghÜa: thùc thÓ nh− lμ mét ®èi t−îng cô thÓ hay trõu t−îng trong thÕ giíi thùc mμ nã tån t¹i vμ cã thÓ ph©n biÖt víi c¸c ®èi t−îng kh¸c. b. KiÓu thùc thÓ Tõ ®Þnh nghÜa vÒ thùc thÓ nªu trªn, chóng ta nhËn thÊy r»ng trong thÕ giíi thùc cã rÊt nhiÒu c¸c thùc thÓ gièng nhau ë mét sè khÝa c¹nh nµo ®ã. Nh− vËy, chóng ta cã thÓ coi mét nhãm c¸c thùc thÓ gièng nhau h×nh thµnh lªn mét kiÓu thùc thÓ hay cßn gäi lµ tËp thùc thÓ. VÝ dô: TÊt c¶ c¸c sinh viªn trong mét tr−êng ®¹i häc t¹o thµnh mét kiÓu thùc thÓ lµ STUDENT. Tuy nhiªn chóng ta còng nhËn thÊy r»ng kh¸i niÖm “thùc thÓ gièng nhau” kh«ng ®−îc x¸c ®Þnh mét c¸ch chÝnh x¸c vµ ng−êi ta cã thÓ ®−a ra rÊt nhiÒu c¸c tÝnh chÊt kh¸c nhau ®Ó h×nh thµnh lªn mét kiÓu thùc thÓ, ®iÒu nµy phô thuéc vµo nhu cÇu qu¶n lý cña bµi to¸n. VËy chóng ta cã thÓ hiÓu mét kiÓu thùc thÓ nh− lμ mét nhãm c¸c thùc thÓ gièng nhau ë mét sè ®iÓm nhÊt ®Þnh nμo ®ã mμ chóng ta cÇn quan t©m. Mét trong c¸c b−íc chÝnh trong qu¸ tr×nh ph©n tÝch, thiÕt kÕ CSDL ®ã lµ: x©y dùng mét m« h×nh ®Æc t¶ thÕ giíi thùc, nãi mét c¸ch cô thÓ h¬n tøc lµ lùa chän vµ m« t¶ c¸c kiÓu thùc thÓ còng nh− c¸c mèi quan hÖ gi÷a c¸c kiÓu thùc thÓ ®ã. Chóng ta cÇn ph¶i ph©n biÖt sù kh¸c nhau gi÷a kiÓu thùc thÓ vµ thÓ hiÖn cña kiÓu thùc thÓ (hay thùc thÓ):
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2