Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

223

Transcript of Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Page 1: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích
Page 2: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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

Page 3: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

KS 02 HM 10

Page 4: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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

Page 5: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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Ø: [email protected].

Tr©n träng c¶m ¬n./.

nxb th«ng tin vμ truyÒn th«ng

Page 6: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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

Page 7: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

6

Page 8: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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)

Page 9: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

8

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

Page 10: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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).

Page 11: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

10

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

Page 12: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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

Page 13: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

12

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

Page 14: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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

Page 15: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

14

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

Page 16: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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

Page 17: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

16

®Þ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

Page 18: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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

Page 19: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

18

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

Name Type Length

Min max Description

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

Page 20: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

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Ó):

Page 21: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

20

- Mét kiÓu thùc thÓ lµ mét tËp c¸c thùc thÓ cã chung mét sè tÝnh chÊt hoÆc ®Æc tr−ng nµo ®ã. Mçi mét kiÓu thùc thÓ ph¶i ®−îc ®Æt mét tªn duy nhÊt kh«ng trïng víi c¸c kiÓu thùc thÓ ®· cã.

- Cßn thÓ hiÖn cña thùc thÓ lµ mét tËp gi¸ trÞ cô thÓ cña kiÓu thùc thÓ.

VÝ dô:

B¶ng 1.3. KiÓu thùc thÓ EMPLOYEE vμ 2 thÓ hiÖn cña nã

KiÓu thùc thÓ: EMPLOYEE

C¸c thuéc tÝnh:

Emp_id

Emp_name

Address

Date_hired

Char(10)

Char(50)

Char(50)

Date

Vμ hai thÓ hiÖn:

642 - 17 - 125

Kim LuyÕn

10A T©y Hå

01/01/2007

781 - 78 - 157

Ngäc Lan

2 Hμ §«ng

01/06/2008

Khi ph©n tÝch thiÕt kÕ mét CSDL, mét kiÓu thùc thÓ chØ ®−îc m« t¶ mét lÇn (sö dông siªu d÷ liÖu), trong khi ®ã c¸c thÓ hiÖn cña kiÓu thùc thÓ ®ã l¹i ®−îc biÓu diÔn bëi d÷ liÖu l−u trong CSDL.

§Ó ®Æt tªn cho kiÓu thùc thÓ, chóng ta dïng c¸c danh tõ viÕt liÒn víi c¸c ch÷ c¸i ®−îc viÕt hoa, bao quanh bëi mét h×nh ch÷ nhËt:

H×nh 1.3. KiÓu thùc thÓ

C¸c kiÓu thùc thÓ ®−îc ®Æc t¶ bëi mét tËp c¸c ®Æc tr−ng mµ chóng ta quy −íc gäi lµ c¸c thuéc tÝnh. Do vËy muèn thµnh lËp mét kiÓu thùc thÓ ®ßi hái ph¶i x¸c ®Þnh ®−îc tËp c¸c thuéc tÝnh chung nhÊt.

c. B¶ng d÷ liÖu hay quan hÖ

Trong qu¸ tr×nh ph©n tÝch CSDL, kh¸i niÖm kiÓu thùc thÓ ®−îc sö dông ®Ó minh häa cho mét líp c¸c thùc thÓ gièng nhau. B¶ng d÷ liÖu

Page 22: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

21

chÝnh lµ h×nh thøc thÓ hiÖn cô thÓ cña kiÓu thùc thÓ khi x©y dùng CSDL, vµ b¶ng d÷ liÖu ®−îc sö dông ®Ó l−u d÷ liÖu vÒ c¸c thùc thÓ trong líp thùc thÓ ®ã.

Chóng ta cã thÓ h×nh dung b¶ng d÷ liÖu lµ mét tËp c¸c bé d÷ liÖu, hay b¶n ghi d÷ liÖu, mçi bé cã cïng mét sè l−îng thuéc tÝnh nh− nhau nh−ng cã thÓ kh¸c nhau vÒ miÒn gi¸ trÞ. B¶ng d÷ liÖu trong c¸ch tiÕp cËn CSDL quan hÖ, ®−îc hiÓu chÝnh x¸c bëi côm tõ quan hÖ. Mét quan hÖ bao gåm mét l−îc ®å quan hÖ vµ mét thÓ hiÖn cét cña b¶ng ®ã. Trong mét quan hÖ kh«ng thÓ tån t¹i hai bé d÷ liÖu gièng nhau ë tÊt c¶ c¸c thuéc tÝnh. H×nh d−íi ®©y minh häa cho mét b¶ng d÷ liÖu, c¸c cét cña b¶ng t−¬ng øng víi c¸c thuéc tÝnh hay c¸c tr−êng d÷ liÖu, c¸c hµng cña b¶ng t−¬ng øng víi c¸c b¶n ghi hay c¸c bé d÷ liÖu.

Tr−êng d÷ liÖu (hay thuéc tÝnh, cét d÷ liÖu)

B¶ng 1.4. D÷ liÖu hay quan hÖ

Tªn tr−êng

Bé d÷ liÖu (hay b¶n ghi, dßng d÷ liÖu)

§«i khi chóng ta cã thÓ biÓu diÔn c¸c b¶ng d−íi d¹ng l−îc ®å quan hÖ lo¹i bá c¸c d÷ liÖu vµ chØ ®−a ra tªn b¶ng cïng c¸c tªn cét nh− sau:

AUTHOR (Au_id, Au_iname, Au_fname, Address, City, Country)

TITLE (Title_id, Title, Type, Price, Pub_id)

PUBLISHER (Pub_id, Pub_name, City)

AUTHOR_TITLE (Au_id, Title_id)

Mçi b¶ng muèn trë thμnh quan hÖ cÇn cã mét sè tÝnh chÊt sau:

Emp_id Emp_name Address Date_hired Birth_date

784-123 Hång §μo 10K NguyÔn Tr·i

01/01/2008 12/04/1982

123-541 Thanh H»ng 45 Hμm Long 01/06/2007 15/03/1983

145-458 Thu Hoa 18A §−êng L¸ng

01/01/2008 14/08/1984

Page 23: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

22

- C¸c d÷ liÖu trong b¶ng lµ c¸c gi¸ trÞ ®¬n, ®−îc hiÓu theo nghÜa lµ c¸c gi¸ trÞ kh«ng cÇn chia nhá h¬n n÷a mµ vÉn ®¸p øng ®−îc nhu cÇu nghiÖp vô.

- C¸c gi¸ trÞ trong cïng mét cét d÷ liÖu ph¶i cã cïng mét kiÓu.

- Mçi mét hµng trong b¶ng lµ duy nhÊt. Trong b¶ng kh«ng thÓ tån t¹i hai hµng cã cïng gi¸ trÞ ë tÊt c¶ c¸c cét.

- Thø tù liÖt kª c¸c cét trong b¶ng kh«ng quan träng.

- Thø tù liÖt kª c¸c hµng trong b¶ng kh«ng quan träng.

- Mçi mét cét d÷ liÖu trong b¶ng ph¶i cã mét tªn duy nhÊt.

Nh− vËy mét quan hÖ lµ mét b¶ng hai chiÒu gåm 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 ®ã. Tuy nhiªn, quan hÖ l¹i th−êng ®−îc cËp nhËt (bæ sung, lo¹i bá, ®iÒu chØnh c¸c bé), do ®ã quan hÖ cã tÝnh chÊt lµ thay ®æi theo thêi gian.

Tuy thay ®æi vÒ gi¸ trÞ th«ng qua viÖc cËp nhËt, song quan hÖ vÉn ph¶i gi÷ mét sè ®Æc ®iÓm vÒ ng÷ nghÜa, hay nãi mét c¸ch kh¸c nã ph¶i tu©n thñ mét l−îc ®å quan hÖ nhÊt ®Þnh nh− qui −íc sè tr−êng trong quan hÖ, kiÓu d÷ liÖu trong quan hÖ,…

d. Thuéc tÝnh vμ tr−êng d÷ liÖu

Thuéc tÝnh

Nh− trong kh¸i niÖm vÒ kiÓu thùc thÓ chóng ta ®· biÕt, mét kiÓu thùc thÓ ®−îc m« t¶ b»ng c¸ch sö dông mét tËp c¸c thuéc tÝnh. TÊt c¶ c¸c thùc thÓ trong mét kiÓu thùc thÓ ®· ®−îc x¸c ®Þnh ®Òu cã cïng sè l−îng c¸c thuéc tÝnh ®ã.

Mçi mét kiÓu thùc thÓ lu«n cã mét tËp c¸c thuéc tÝnh ®i kÌm. D−íi ®©y lµ vÝ dô vÒ hai kiÓu thùc thÓ vµ c¸c thuéc tÝnh ®i kÌm víi chóng:

STUDENT: Student_id, Student_name, Address, Tel_no, Class

EMPLOYEE: Emp_id, Emp_name, Address, Skill, Start_date

Víi mçi thuéc tÝnh trong kiÓu thùc thÓ, chóng ta ph¶i x¸c ®Þnh miÒn gi¸ trÞ cña thuéc tÝnh ®ã. VÝ dô miÒn gi¸ trÞ cho thuéc tÝnh

Page 24: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

23

Emp_name cña kiÓu thùc thÓ EMPLOYEE cã thÓ lµ mét x©u ký tù cã ®é dµi kh«ng qu¸ 30 ký tù.

ThÓ hiÖn cña thuéc tÝnh chÝnh lµ c¸c gi¸ trÞ. VÝ dô “T©n HuÖ” lµ mét gi¸ trÞ cho thuéc tÝnh tªn nh©n viªn Emp_name.

§Ó ®Æt tªn cho c¸c thuéc tÝnh, chóng ta dïng c¸c danh tõ viÕt liÒn víi ch÷ c¸i ®Çu tiªn ®−îc viÕt hoa, nÕu mét thuéc tÝnh cã tªn gåm 2 tõ th× chóng ta sö dông dÊu g¹ch d−íi ®Ó nèi 2 tõ ®ã l¹i. Chóng ta sö dông h×nh ElÝp ®Ó biÓu diÔn cho mét thuéc tÝnh vµ mét ®−êng th¼ng kÕt nèi thuéc tÝnh ®ã víi kiÓu thùc thÓ mµ nã m« t¶.

VÝ dô:

H×nh 1.4. Thuéc tÝnh vμ kiÓu thùc thÓ

Tr−êng d÷ liÖu

Còng nh− gi÷a b¶ng d÷ liÖu vµ kiÓu thùc thÓ, khi ph©n tÝch CSDL, chóng ta sö dông c¸c thuéc tÝnh ®Ó m« t¶ cho c¸c kiÓu thùc thÓ, cßn khi x©y dùng CSDL, chóng ta sö dông c¸c tr−êng d÷ liÖu ®Ó x©y dùng lªn c¸c quan hÖ. Do vËy chóng ta cã thÓ hiÓu tr−êng d÷ liÖu nh− lµ ®¬n vÞ nhá nhÊt cã tªn gäi cña d÷ liÖu l−u tr÷ trong CSDL. Tr−êng d÷ liÖu cßn ®−îc gäi lµ cét d÷ liÖu khi chóng ta sö dông víi kh¸i niÖm b¶ng d÷ liÖu.

Page 25: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

24

Qua ®ã chóng ta cã thÓ ¸nh x¹ c¸c kh¸i niÖm trong kh©u ph©n tÝch CSDL vµ c¸c kh¸i niÖm ®−îc sö dông trong kh©u thiÕt kÕ, x©y dùng CSDL:

- Tõ kiÓu thùc thÓ chóng ta x©y dùng ®−îc lªn c¸c quan hÖ hay b¶ng d÷ liÖu.

- Tõ c¸c thuéc tÝnh chóng ta x©y dùng ®−îc lªn c¸c tr−êng hay cét d÷ liÖu.

e. Liªn kÕt gi÷a c¸c thùc thÓ

Mét liªn kÕt lµ mét kÕt nèi gi÷a c¸c thÓ hiÖn cña mét hoÆc nhiÒu kiÓu thùc thÓ. VÝ dô, chóng ta cã mét liªn kÕt c¸c nh©n viªn Minh Ph−¬ng, §«ng Lan, Phong Huª víi c¸c phßng kinh doanh, kÕ to¸n.

Chóng ta còng cã thÓ sö dông c¸c thuéc tÝnh ®Ó m« t¶ cho liªn kÕt. C¸c thuéc tÝnh m« t¶ ®−îc sö dông ®Ó l−u l¹i c¸c th«ng tin vÒ mèi liªn kÕt h¬n lµ nh÷ng th«ng tin vÒ c¸c thùc thÓ tham gia vµo liªn kÕt ®ã. VÝ dô, chóng ta cã thÓ ghi l¹i nh©n viªn §«ng Lan lµm viÖc ë phßng kinh doanh tõ ngµy 27/4/2006 th«ng qua mét thuéc tÝnh Start_date ®−îc ®Æt bªn c¹nh liªn kÕt Works_in nh− trong h×nh 1.5.

Minh Phương

Đông Lan

Phong Huê

04/12/06

27/4/06

16/6/06

01/01/08

Phòng kinh doanh

Phòng kế toán

EMPLOYEE

Works_in

DEPARTMENT

Ngμy tham gia

H×nh 1.5. Liªn kÕt gi÷a c¸c thùc thÓ

Page 26: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

25

Mét liªn kÕt ph¶i ®−îc x¸c ®Þnh duy nhÊt bëi c¸c thùc thÓ tham gia liªn kÕt mµ kh«ng cÇn ph¶i tham chiÕu ®Õn c¸c thuéc tÝnh m« t¶. Nh− h×nh 1.5, mçi mét liªn kÕt trong Work_in ®−îc x¸c ®Þnh duy nhÊt bëi viÖc kÕt hîp thuéc tÝnh ®¹i diÖn Emp_name cña kiÓu thùc thÓ EMPLOYEE vµ thuéc tÝnh ®¹i diÖn Dept_name cña kiÓu thùc thÓ DEPARTMENT. Do vËy víi mçi cÆp nh©n viªn - phßng ban trªn chóng ta kh«ng thÓ cã h¬n mét kÕt nèi.

Chó ý: Trong vÝ dô trªn chóng ta gi¶ thiÕt r»ng gi÷a c¸c thùc thÓ cña kiÓu thùc thÓ cã thÓ ph©n biÖt duy nhÊt víi nhau th«ng qua c¸c gi¸ trÞ trong c¸c thuéc tÝnh Emp_name vµ Dept_name t−¬ng øng víi hai kiÓu thùc thÓ EMPLOYEE vµ DEPARTMENT.

Mét nhãm c¸c liªn kÕt cïng kiÓu, h×nh thµnh lªn mét tËp liªn kÕt. Khi dïng víi kh¸i niÖm kiÓu thùc thÓ, chóng ta dïng thuËt ng÷ liªn kÕt ®Ó m« t¶ cho sù kÕt nèi gi÷a chóng thay v× sö dông thuËt ng÷ tËp liªn kÕt.

§Ó ®Æt tªn cho liªn kÕt, chóng ta dïng c¸c ®éng tõ viÕt liÒn víi ch÷ c¸i ®Çu tiªn ®−îc viÕt hoa, nÕu mét ®éng tõ cã tªn gåm 2 tõ th× chóng ta sö dông dÊu g¹ch d−íi ®Ó nèi 2 tõ ®ã l¹i. Chóng ta sö dông h×nh thoi ®Ó biÓu diÔn cho mét liªn kÕt vµ c¸c ®−êng nèi liªn kÕt ®ã víi c¸c kiÓu thùc thÓ tham gia vµo liªn kÕt. Mét vÝ dô vÒ mèi liªn kÕt ®−îc ®Æc t¶ nh− sau:

H×nh 1.6. Liªn kÕt gi÷a kiÓu thùc thÓ

Page 27: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

26

Liªn kÕt ®Æt mua “Orders” gi÷a hai kiÓu thùc thÓ lµ kh¸ch hµng CUSTOMER vµ mÆt hµng PRODUCT ®−îc ®Æc t¶ víi ý nghÜa: mçi kh¸ch hµng cã thÓ ®Æt mua mét hoÆc nhiÒu mÆt hµng, ng−îc l¹i mçi mét mÆt hµng còng cã thÓ ®−îc mua bëi nhiÒu kh¸ch hµng kh¸c nhau.

1.1.7. Kh¸i niÖm toμn vÑn d÷ liÖu

Nh− ®· tr×nh bµy trong phÇn ®Çu, mét trong nh÷ng −u ®iÓm cña c¸ch tiÕp cËn CSDL ®ã lµ d÷ liÖu khi ®−îc ®−a vµo CSDL sÏ ph¶i tu©n theo mét sè quy ®Þnh nµo ®ã. Nh÷ng quy ®Þnh nµy ®−îc xem lµ nh÷ng rµng buéc trªn d÷ liÖu vµ nã ®¶m b¶o tÝnh toµn vÑn cña d÷ liÖu. TÝnh toµn vÑn d÷ liÖu gióp cho NSD cã thÓ tin cËy Ýt nhÊt vÒ mÆt nguyªn t¾c ®èi víi c¸c d÷ liÖu trong CSDL.

a. Rμng buéc toμn vÑn

Rμng buéc toμn vÑn (RBTV) là một điều kiện bất biến không được vi phạm trong một CSDL.

RBTV cßn ®−îc gäi lµ quy t¾c qu¶n lý (Rule) ®−îc ¸p ®Æt lªn trªn c¸c ®èi t−îng cña thÕ giíi thùc.

VÝ dô:

- Mçi líp häc ph¶i cã 1 m· sè duy nhÊt ®Ó ph©n biÖt víi mäi líp häc kh¸c trong tr−êng

- Mçi líp ph¶i thuéc 1 khoa trong tr−êng

- Mçi häc sinh ph¶i cã mét m· sè riªng biÖt, kh«ng trïng nhau trong tr−êng

- Mçi häc viªn ph¶i thuéc 1 líp …

Trong mét CSDL, RBTV cÇn ®−îc ng−êi ph©n tÝch thiÕt kÕ m« t¶ ®Çy ®ñ vµ chÝnh x¸c râ rµng trong hå s¬ ph©n tÝch thiÕt kÕ (PT_TK).

RBTV ®−îc xem nh− 1 c«ng cô ®Ó diÔn ®¹t ng÷ nghÜa cña CSDL ®ã. Trong qu¸ tr×nh khai th¸c CSDL, c¸c RBTV ®Òu ph¶i ®−îc tho¶ m·n ë bÊt kú thêi ®iÓm nµo nh»m ®¶m b¶o cho CSDL lu«n ë tr¹ng th¸i an toµn vµ nhÊt qu¸n vÒ d÷ liÖu.

Page 28: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

27

C¸c hÖ qu¶n trÞ th−êng cã c¸c c¬ chÕ tù ®éng kiÓm tra RBTV vÒ miÒn gi¸ trÞ cña kho¸, gi¸ trÞ NOT NULL qua c¸c khai b¸o cÊu tróc c¸c b¶ng (M« h×nh d÷ liÖu quan hÖ) hoÆc th«ng qua nh÷ng thñ tôc kiÓm tra vµ xö lý vi ph¹m RBTV (do ng−êi PT_TK cµi ®Æt).

ViÖc kiÓm tra cã thÓ tiÕn hμnh vμo 1 trong 2 thêi ®iÓm sau:

- KiÓm tra ngay sau khi thùc hiÖn mét thao t¸c cËp nhËt CSDL (thªm, söa, xo¸). Thao t¸c cËp nhËt chØ ®−îc coi lµ hîp lÖ nÕu nã kh«ng vi ph¹m bÊt kú RBTV nµo. NÕu vi ph¹m RBTV nghÜa lµ kh«ng hîp lÖ vµ sÏ bÞ hÖ thèng huû bá.

- KiÓm tra ®Þnh kú hay ®ét xuÊt, nghÜa lµ viÖc kiÓm tra ®éc lËp víi thao t¸c cËp nhËt d÷ liÖu. NÕu vi ph¹m RBTV, hÖ thèng cã nh÷ng xö lý ngÇm ®Þnh hoÆc yªu cÇu NSD xö lý.

b. C¸c yÕu tè cña RBTV

Cô thÓ, xÐt trong mét c¬ së quan hÖ, chóng ta thÊy lu«n tån t¹i nhiÒu mèi quan hÖ ¶nh h−ëng qua l¹i lÉn nhau gi÷a c¸c thuéc tÝnh cña 1 quan hÖ, gi÷a c¸c b¶n ghi trong 1 quan hÖ vµ gi÷a c¸c thuéc tÝnh cña c¸c b¶n ghi trong c¸c quan hÖ víi nhau.

Khi x¸c ®Þnh mét RBTV cÇn chØ râ:

- Néi dung RBTV vµ c¸ch biÓu diÔn thÝch hîp

- Bèi c¶nh x¶y ra RBTV: trªn 1 hay nhiÒu quan hÖ, cô thÓ c¸c quan hÖ nµo

- Ph¹m vi ¶nh h−ëng cña RBTV. Kh¶ n¨ng tÝnh toµn vÑn d÷ liÖu bÞ vi ph¹m.

- C¸c ph−¬ng ¸n xö lý khi ph¸t hiÖn RBTV bÞ vi ph¹m

Néi dung RBTV lµ m« t¶ quy t¾c ph¶i tu©n theo. ViÖc biÓu diÔn nã cã thÓ b»ng ng«n ng÷ tù nhiªn, thuËt gi¶i (ng«n ng÷ cã cÊu tróc), ng«n ng÷ ®¹i sè tËp hîp, ®¹i sè quan hÖ hoÆc b»ng phô thuéc hµm.

HOADON (sèhd, sè chñng lo¹i mÆt hμng, tæng trÞ gi¸)

HANG (M· hμng, tªn hμng, ®v tÝnh)

Page 29: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

28

CHITIETHOADON (sèhd, m· hμng, SL, ®¬n gi¸, trÞ gi¸)

RBTV1: mçi ho¸ ®¬n cã mét sè riªng biÖt kh«ng trïng víi c¸c ho¸ ®¬n kh¸c

∀hd1,hd2 ∈ HOADON, hd1 ≠ hd2 ⇒ hd1.sohd ≠ hd2.sohd

Bèi c¶nh cã thÓ ®Þnh nghÜa trªn 1 c¬ së quan hÖ hay nhiÒu c¬ së quan hÖ. §ã lµ nh÷ng quan hÖ mµ RBTV ®−îc ¸p dông trªn ®ã:

- Bèi c¶nh RBTV1 (mçi ho¸ ®¬n cã mét sè riªng biÖt kh«ng trïng víi c¸c ho¸ ®¬n kh¸c) chØ trong 1 quan hÖ HOADON

- Bèi c¶nh RBTV2 (sè chñng lo¹i mÆt hµng b»ng sè bé cña CHITIETHOADON cã cïng sè ho¸ ®¬n) trong 2 quan hÖ HOADON vµ CHITIETHOADON

Mét RBTV cã thÓ liªn quan ®Õn mét sè quan hÖ, chØ khi cã thao t¸c cËp nhËt (chÌn, söa, xo¸) míi cã nguy c¬ vi ph¹m RBTV, do vËy cÇn chØ râ thao t¸c nµo dÉn ®Õn viÖc cÇn ph¶i kiÓm tra RBTV.

Trong qu¸ tr×nh ph©n tÝch thiÕt kÕ, ng−êi ph©n tÝch cÇn lËp b¶ng x¸c ®Þnh ph¹m vi ¶nh h−ëng cho mçi RBTV nh»m x¸c ®Þnh khi nµo ph¶i tiÕn hµnh kiÓm tra c¸c RBTV ®ã. Sau khi x©y dùng c¸c b¶ng ¶nh h−ëng cña tõng RBTV trªn c¸c quan hÖ liªn quan, cÇn tæng hîp b»ng c¸ch x©y dùng b¶ng tæng hîp c¸c RBTV nh»m x¸c ®Þnh tÊt c¶ c¸c RBTV cÇn ph¶i kiÓm tra trªn tõng quan hÖ.

CÇn cã hµnh ®éng thÝch hîp khi vi ph¹m RBTV. Th−êng cã 2 gi¶i ph¸p:

- §−a th«ng b¸o vµ yªu cÇu söa ch÷a d÷ liÖu cña c¸c thuéc tÝnh cho phï hîp víi quy t¾c ®¶m b¶o tÝnh nhÊt qu¸n d÷ liÖu. Th«ng b¸o cÇn ®Çy ®ñ, th©n thiÖn víi NSD. Gi¶i ph¸p nµy phï hîp víi viÖc xö lý thêi gian thùc.

- Tõ chèi thao t¸c cËp nhËt. Gi¶i ph¸p nµy phï hîp víi viÖc xö lý theo l«. ViÖc tõ chèi còng ph¶i ®−îc th«ng b¸o ®Çy ®ñ râ rµng v× sao thao t¸c bÞ tõ chèi vµ cÇn söa d÷ liÖu nµo.

Page 30: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

29

c. Ph©n lo¹i RBTV

Trong CSDL quan hÖ, ng−êi ta th−êng chia RBTV thµnh 2 lo¹i chÝnh theo bèi c¶nh RBTV lµ trªn 1 quan hÖ c¬ së hay trªn nhiÒu quan hÖ c¬ së.

RBTV trªn bèi c¶nh 1 quan hÖ c¬ së cã c¸c lo¹i rµng buéc vÒ miÒn gi¸ trÞ, liªn thuéc tÝnh, liªn bé, liªn thuéc tÝnh.

VÝ dô:

KQUATHI (m·hv, m· m«n, lÇn thi, ngμy thi, ®iÓm thi)

∀ kq ∈ KQUATHI: 0<= kq.lÇn thi <=3

∀ kq ∈ KQUATHI: 0<= kq.®iÓm thi <=10

RBTV liªn thuéc tÝnh cã liªn quan tíi nhiÒu thuéc tÝnh cña 1 quan hÖ. Th«ng th−êng ®ã lµ c¸c phô thuéc tÝnh to¸n hoÆc mét suy diÔn tõ gi¸ trÞ cña 1 hay nhiÒu thuéc tÝnh trong cïng mét bé gi¸ trÞ:

CHITIETHOADON (sè hd, m· hμng, SL, ®¬n gi¸, TrÞ gi¸)

∀ cthd ∈ CHITIETHOADON, cthd.trÞ gi¸ = cthd.SL* cthd.®¬n gi¸

KQUATHI (m·hv, m· m«n, lÇn thi, ngμy thi, ®iÓm thi)

∀ kq ∈ KQUATHI, nÕu kq.lÇn thi = 1 th× 0 <= kq.®iÓm thi <=10.0

hoÆc: nÕu kq.lÇn thi >1

th× ∃kq’ ∈ KQUATHI: kq’.lÇn thi = kq.lÇn thi - 1 vµ kq’.®iÓm thi < 5

Cã 2 tr−êng hîp RBTV phô thuéc tån t¹i (phô thuéc vÒ kho¸ ngo¹i):

- Cã sù hiÖn diÖn cña kho¸ ngo¹i

- Cã sù lång kho¸ gi÷a c¸c quan hÖ

VÝ dô:

RBTV1: mçi líp häc ph¶i thuéc 1 khoa nhÊt ®Þnh

KHOA (m· khoa, tªn khoa)

LOPHOC (m· líp, tªn líp, niªn kho¸, sè häc viªn, m· khoa)

∀ lh ∈ LOPHOC, ∃kh ∈ KHOA: lh.m· khoa=kh.m· khoa

Page 31: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

30

RBTV2: mçi bé cña chi tiÕt ho¸ ®¬n ph¶i cã 1 ho¸ ®¬n víi sè ho¸ ®¬n t−¬ng øng

HOADON (sèhd, sè chñng lo¹i mÆt hμng, tæng trÞ gi¸)

CHITIETHOADON (sè hd, m· hμng, SL, ®¬n gi¸)

∀ cthd ∈ CHITIETHOADON, ∃hd∈ HOADON: cthd.sohd=hd.sohd

Khi cã sù hiÖn diÖn cña 1 thuéc tÝnh mang tÝnh tæng hîp hay trung gian (tÝnh ®−îc nhê gi¸ trÞ cña nhiÒu thuéc tÝnh kh¸c trªn 1 hay nhiÒu quan hÖ kh¸c nhau trong CSDL) hay phô thuéc tån t¹i lång kho¸ th× cã RBTV liªn bé, liªn quan hÖ:

Víi mäi bé gi¸ trÞ cña LOPHOC, nÕu sè l−îng häc viªn > 0 th× sè l−îng nµy ph¶i b»ng tæng sè bé gi¸ trÞ ®Õm ®−îc cña c¸c häc viªn cã cïng m· líp.

LOPHOC (m· líp, tªn líp, niªn kho¸, sè häc viªn, m· khoa)

HOCVIEN (m· häc viªn, tªn häc viªn, m· líp)

∀ lh ∈ LOPHOC: nÕu lh.sè häc viªn > 0:

lh.sè häc viªn = COUNT (hv ∈ HOCVIEN, hv.m· líp = lh.m· líp)

e. BiÓu diÔn RBTV b»ng phô thuéc hμm (function dependency)

Phô thuéc hµm (PTH) cã tÇm quan träng rÊt lín trong viÖc ph©n tÝch vµ thiÕt kÕ m« h×nh d÷ liÖu. Phô thuéc hµm lµ mét trong nh÷ng kh¸i niÖm cèt lâi nhÊt trong m« h×nh c¬ së d÷ liÖu quan hÖ sÏ ®−îc tr×nh bµy chi tiÕt sau.

Chóng ta còng cÇn l−u ý toµn vÑn d÷ liÖu cã thÓ ®¶m b¶o tÝnh hîp lÖ cña d÷ liÖu khi ®−îc l−u trong CSDL, nh−ng l¹i khã cã thÓ kiÓm tra mçi mét gi¸ trÞ nh− vËy vÒ tÝnh ®óng. VÝ dô, khi nhËp gi¸ trÞ giê lµm viÖc cña mét nh©n viªn trong tuÇn, kh«ng cã c¸ch nµo cã thÓ ph¸t hiÖn sù kiÖn lµ mét gi¸ trÞ vµo b»ng 35 lµ sai, trong khi ®ã thùc sù ph¶i lµ gi¸ trÞ 38. Tuy nhiªn, nÕu mét gi¸ trÞ lµ 350 ®èi víi giê lµm viÖc râ rµng lµ sai vµ hÖ thèng sÏ kh«ng chÊp nhËn gi¸ trÞ ®ã, bëi mét tuÇn kh«ng thÓ cã 350 giê.

Page 32: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

31

Gi÷ g×n tÝnh toµn vÑn cña CSDL cã thÓ xem lµ sù b¶o vÖ d÷ liÖu trong CSDL chèng l¹i sù cËp nhËt hay ph¸ huû kh«ng cã c¨n cø. Chó ý, chóng ta còng ph¶i ph©n biÖt tÝnh toµn vÑn d÷ liÖu, víi tÝnh an toµn d÷ liÖu dï r»ng hai kh¸i niÖm nµy quan hÖ rÊt mËt thiÕt víi nhau vµ thùc sù cã thÓ dïng chung mét c¬ chÕ ®Ó thùc hiÖn b¶o vÖ c¶ hai ë mét møc ®é nµo ®ã.

Nãi chung mçi mét b¶ng d÷ liÖu trong CSDL quan hÖ ®Òu cã mét tËp c¸c rµng buéc toµn vÑn ®i kÌm víi nã. C¸c rµng buéc toµn vÑn nµy còng ®−îc l−u tr÷ trong tõ ®iÓn d÷ liÖu.

1.1.8. HÖ qu¶n trÞ CSDL (DBMS)

HÖ qu¶n trÞ CSDL lµ hÖ thèng bao gåm nhiÒu phÇn mÒm cho phÐp m« t¶, l−u gi÷, thao t¸c c¸c d÷ liÖu trªn 1 CSDL. Nã ®¶m b¶o tÝnh an toµn, bÝ mËt cña d÷ liÖu trong m«i tr−êng nhiÒu ng−êi sö dông.

Cã thÓ ®−a ra ®Þnh nghÜa HÖ qu¶n trÞ CSDL râ rµng h¬n. VÝ dô nh− lµ:

- PhÇn mÒm qu¶n lý CSDL, gióp cho viÖc thùc hiÖn c¸c thao t¸c nh− chÌn, söa, xãa vµ t×m kiÕm d÷ liÖu

- HÖ thèng bao gåm nhiÒu phÇn mÒm cho phÐp m« t¶, l−u gi÷, thao t¸c c¸c d÷ liÖu trªn mét CSDL, ®¶m b¶o an toµn, bÝ mËt cña d÷ liÖu trong m«i tr−êng nhiÒu NSD

- Bé phÇn mÒm vµ nh÷ng c«ng cô cã s½n do mét sè nhµ s¶n xuÊt phÇn mÒm cung cÊp ®Ó t¹o lËp vµ qu¶n lý CSDL

HiÖn nay, chóng ta th−êng gÆp c¸c hÖ qu¶n trÞ CSDL cì võa vµ nhá nh− Foxpro, Access, cì lín nh− SQL Server, Oracle.

1.1.9. Kho d÷ liÖu

Nh− chóng ta ®· biÕt, CSDL ®· ®−îc sö dông tõ nh÷ng n¨m 60 vµ chóng ngµy cµng chøng tá lµ nh÷ng thµnh phÇn kh«ng thÓ thiÕu trong c¸c ho¹t ®éng cña doanh nghiÖp. Mét xu h−íng míi ®· xuÊt hiÖn vµ ph¸t triÓn kh¸ nhanh trong c¸c hÖ CSDL ®ã lµ c¸c CSDL hç trî viÖc ph©n tÝch vµ khai th¸c d÷ liÖu, ng−êi ta gäi ®ã lµ nh÷ng kho d÷ liÖu,

Page 33: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

32

chóng chñ yÕu ®−îc phôc vô cho c¸c øng dông hç trî ra quyÕt ®Þnh DSS (Decision Support System). Kho d÷ liÖu cã nh÷ng ®Æc ®iÓm c¬ b¶n sau:

- TÝnh tÝch hîp: d÷ liÖu tËp hîp trong kho ®−îc thu thËp tõ nhiÒu nguån vµ ®−îc tÝch hîp víi nhau t¹o thµnh mét thÓ thèng nhÊt.

- TÝnh h−íng chñ ®Ò: C¸c d÷ liÖu ®−îc thu thËp, trÝch läc vµ lµm s¹ch ®Ó ®−a vµo kho theo nh÷ng chñ ®Ò nhÊt ®Þnh.

- G¾n thêi gian: Mçi hµng th«ng tin trong kho d÷ liÖu ®Òu chøa mét yÕu tè thêi gian nh− mét phÇn cña kho¸ chÝnh ®Ó ®¶m b¶o tÝnh ®¬n nhÊt cña mçi hµng vµ cung cÊp mét ®Æc tr−ng vÒ thêi gian cho d÷ liÖu.

- TÝnh lÞch sö: C¸c th«ng tin trong kho d÷ liÖu ®−îc tËp trung theo thêi gian vµ thÓ hiÖn mét khung nh×n vÒ mét lÜnh vùc chñ ®Ò trong mét giai ®o¹n dµi.

- TÝnh chØ ®äc: d÷ liÖu trong kho lµ d÷ liÖu chØ ®äc vµ kh«ng thÓ bÞ söa ®æi.

- TÝnh bÊt biÕn: d÷ liÖu ®−îc l−u tr÷ l©u dµi trong kho, mÆc dï nh÷ng d÷ liÖu míi vÉn bÞ söa ®æi, ®iÒu ®ã cho phÐp cung cÊp th«ng tin vÒ mét kho¶ng thêi gian dµi, ®ñ sè liÖu cÇn thiÕt cho c¸c m« h×nh nghiÖp vô ph©n tÝch, dù b¸o.

- Bao gåm c¶ d÷ liÖu tæng hîp vμ chi tiÕt: d÷ liÖu chi tiÕt lµ th«ng

tin møc thÊp nhÊt ®−îc l−u tr÷ trong kho. d÷ liÖu tæng hîp ®−îc tÝch hîp l¹i qua nhiÒu giai ®o¹n kh¸c nhau.

1.2. C¸c ph−¬ng tiÖn diÔn t¶ d÷ liÖu

1.2.1. Kh¸i niÖm diÔn t¶ d÷ liÖu

DiÔn t¶ d÷ liÖu ®−îc xem nh− viÖc x¸c ®Þnh tªn, d¹ng d÷ liÖu vµ tÝnh chÊt cña d÷ liÖu; nã kh«ng phô thuéc vµo ng−êi sö dông ®ång thêi kh«ng phô thuéc vµo yªu cÇu t×m kiÕm vµ thay ®æi th«ng tin.

Page 34: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

33

Chóng ta tËp trung ®Ò cËp ®Õn c¸c ph−¬ng tiÖn vµ m« h×nh diÔn t¶ d÷ liÖu. §ã lµ c¸c th«ng tin ®−îc quan t©m ®Õn trong qu¶n lý; nã ®−îc l−u tr÷ l©u dµi, ®−îc xö lý vµ sö dông trong hÖ thèng kinh doanh.

Cã nhiÒu c«ng cô ®Ó diÔn t¶ d÷ liÖu, ®ã lµ c¸c c¸ch trõu t−îng ho¸ d÷ liÖu, ®Æc biÖt lµ mèi quan hÖ cña d÷ liÖu nh»m phæ biÕn nh÷ng c¸i chung nhÊt mµ ng−êi ta cã thÓ trao ®æi lÉn nhau.

Cã nhiÒu c«ng cô diÔn t¶ d÷ liÖu, ë ®©y chóng ta ®Ò cËp tíi 4 c«ng cô chñ yÕu:

- M· ho¸ d÷ liÖu (coding)

- Tõ ®iÓn d÷ liÖu (Data Dictionary)

- M« h×nh thùc thÓ liªn kÕt E- R (Entity_Relationship)

- M« h×nh c¬ së d÷ liÖu quan hÖ (Relational Data Base Modeling)

1.2.2. M· ho¸

a. Kh¸i niÖm m· ho¸

M· lµ tªn viÕt t¾t g¾n cho mét ®èi t−îng nµo ®ã hay nãi c¸ch kh¸c mçi ®èi t−îng cÇn cã tªn vµ vÊn ®Ò ®Æt ra ta sÏ ®Æt tªn cho ®èi t−îng nh− thÕ nµo. Trong mçi ®èi t−îng gåm nhiÒu thuéc tÝnh kh¸c nhau th× yªu cÇu m· ho¸ cho c¸c thuéc tÝnh còng lµ yªu cÇu cÇn thiÕt. Ngoµi ra m· ho¸ cßn lµ h×nh thøc chuÈn ho¸ d÷ liÖu ®Æc biÖt trong c¸c hÖ thèng th«ng tin xö lý b»ng m¸y tÝnh.

Mét sè vÝ dô vÒ m· ho¸:

Khi ta cÇn x¸c ®Þnh mét c«ng d©n th× sè chøng minh th− hoÆc sè hé chiÕu lµ m· cña c«ng d©n ®ã. Khi cÇn x¸c ®Þnh xe « t« hay xe m¸y th× biÓn sè xe lµ m· cña xe ®ã.

b. ChÊt l−îng cña viÖc m· ho¸

Trong thùc tÕ ta gÆp rÊt nhiÒu ®èi t−îng cÇn m· ho¸ nh− m· ho¸ c¸c ngµnh nghÒ ®µo t¹o, m· ho¸ c¸c bÖnh, m· sè ®iÖn tho¹i, m· thÎ sinh viªn, thÎ b¶o hiÓm y tÕ. Chóng ta cã nhiÒu ph−¬ng ph¸p m· kh¸c

Page 35: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

34

nhau. Do vËy, cÇn x¸c ®Þnh mét sè tiªu chÝ ®Ó ®¸nh gi¸ chÊt l−îng cña viÖc m· ho¸:

- M· kh«ng ®−îc nhËp nh»ng: ThÓ hiÖn ¸nh x¹ 1_1 gi÷a m· ho¸ vµ gi¶i m·, mçi ®èi t−îng ®−îc x¸c ®Þnh râ rµng víi mét m· nhÊt ®Þnh.

- ThÝch øng víi ph−¬ng thøc sö dông: ViÖc m· cã thÓ tiÕn hµnh b»ng thñ c«ng nªn dÔ hiÓu ®Ó gi¶i m·, viÖc m· ho¸ b»ng m¸y ®ßi hái có ph¸p chÆt chÏ.

- Cã kh¶ n¨ng më réng m·:

+ Thªm phÝa cuèi (sau) cña c¸c m· ®· cã.

+ Xen m· míi vµo gi÷a c¸c m· ®· cã, th−êng m· xen ph¶i dïng ph−¬ng ph¸p cãc nh¶y, nh¶y ®Òu ®Æn dùa vµo thèng kª ®Ó tr¸nh t×nh tr¹ng “bïng næ” m·.

- M· ph¶i ng¾n gän lµm gi¶m kÝch cì cña m·, ®©y còng lµ môc tiªu cña m· ho¸. Tuy nhiªn ®iÒu nµy ®«i khi m©u thuÉn víi kh¸i niÖm më réng m· sau nµy.

- Cã tÝnh gîi ý: TÝnh ng÷ nghÜa cña m·; §«i khi tÝnh gîi ý lµ yªu cÇu ®èi víi m· c«ng khai, lµm cho viÖc m· ho¸ thuËn tiÖn dÔ dµng

c. C¸c kiÓu m· ho¸

M· ho¸ kiÓu liÖt kª: dïng c¸c sè nguyªn liªn tiÕp 000,001,002... ®Ó m· ho¸.

¦u ®iÓm:

+ Kh«ng nhËp nh»ng

+ §¬n gi¶n

+ Thªm phÝa sau

Nh−îc ®iÓm:

+ Kh«ng xen ®−îc

+ ThiÕu tÝnh gîi ý, cÇn ph¶i cã b¶ng t−¬ng øng

+ Kh«ng ph©n theo nhãm

Page 36: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

35

M· hãa theo l¸t: dïng c¸c sè nguyªn nh−ng ph©n ra tõng l¸t (líp) cho tõng lo¹i ®èi t−îng, trong mçi l¸t dïng m· liªn tiÕp.

VÝ dô: M· ho¸ Ngò kim

Vïng 1 0001 - 0999 ngò kim bÐ

Vïng 2 0010 - 0099 vÝt

Vïng 3 0100 - 0299 ª cu

0300 - 0499 bul«ng

0500- 0599 ®inh

Vïng 4 1000- 1999 chi tiÕt kim lo¹i

1000- 1099 s¾t U

¦u ®iÓm:

+ Kh«ng nhËp nh»ng

+ §¬n gi¶n

+ Më réng xen thªm ®−îc

Nh−îc ®iÓm: ThiÕu gîi ý

M· ph©n ®o¹n: B¶n th©n m· ph©n thµnh nhiÒu ®o¹n, mçi ®o¹n

mang mét ý nghÜa riªng.

VÝ dô: Sè ®¨ng ký xe m¸y

BiÓn sè xe m¸y nhµ «ng P lµ 29 Y1 366 lµ biÓn ®¨ng ký t¹i Hµ Néi t−¬ng øng víi sè 29, nhãm Y1, sè thø tù 366.

M· sinh viªn: A # ## ### cho biÕt hÖ ®µo t¹o (chÝnh quy, t¹i chøc, v¨n b»ng 2, tõ xa), ngµnh (hiÖn t¹i ch−a qu¸ 9 ngµnh), n¨m nhËp häc, sè thø tù.

Page 37: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

36

¦u ®iÓm:

+ Kh«ng nhËp nh»ng

+ Më réng xen thªm ®−îc

+ §−îc dïng kh¸ phæ biÕn

+ Cho phÐp thiÕt lËp c¸c ph−¬ng thøc kiÓm tra gi¸n tiÕp ®èi víi m· cña c¸c ®èi t−îng.

Nh−îc ®iÓm:

+ Qu¸ dµi → thao t¸c nÆng nÒ

+ Kh«ng cè ®Þnh

+ Cã thÓ bÞ b·o hoµ

M· ph©n cÊp: C¸c ®èi t−îng bÞ m· ho¸ theo chÕ ®é ph©n cÊp c¸c chi tiÕt nhá dÇn. Mét h×nh ¶nh kh¸ quen thuéc cña m· ph©n cÊp lµ ®¸nh sè ch−¬ng, tiÕt, môc trong mét quyÓn s¸ch.

1. Ch−¬ng 1

1.1. Bµi 1

1.2. Bµi 2

2. Ch−¬ng 2

2.1. Bµi 3

2.1.1. Môc 1

2.1.2. Môc 2

2.2. Bµi 4

2.3. Bµi 5

¦u ®iÓm: Gièng nh− ph©n ®o¹n

T×m kiÕm dÔ dµng

Nh−îc ®iÓm:

Gièng ph©n ®o¹n

Page 38: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

37

VÝ dô:

H×nh 1.7. CÊu tróc cña m· ph©n cÊp

M· diÔn nghÜa: G¾n víi mét tªn ng¾n gän nh−ng hiÓu ®−îc cho mét ®èi t−îng.

VÝ dô: §éi bãng c¸c n−íc tham gia SEA GAMES ®−îc m· b»ng c¸ch lÊy 3 ký tù ®Çu nh− sau:

VIE: Vietnam, THA: Thailand, SIN: Singapore, IND: Indonesia, MAL: Malaysia...

¦u ®iÓm: tiÖn dông cho NSD trong xö lý c«ng viÖc hµng ngµy.

Nh−îc ®iÓm: cµng dµi nÕu sè l−îng thµnh phÇn tham gia m· ho¸ cµng lín.

M· v¹ch - m· sè hμng ho¸ (bar code):

M· sè hµng hãa lµ mét d·y c¸c con sè ®−îc ghi ë d−íi m· v¹ch dïng ®Ó ph©n ®Þnh s¶n phÈm hµng hãa. Mçi d·y sè nh− vËy sÏ ®Æc tr−ng cho mét lo¹i hµng hãa cña c¬ së s¶n xuÊt vµ cña quèc gia s¶n xuÊt lo¹i hµng hãa ®ã. M· sè sÏ t¹o thuËn lîi cho qu¶n lý trong qu¸ tr×nh vËn chuyÓn, l−u kho, mua, b¸n. Bao giê m· sè vµ m· v¹ch ®−îc in trªn bao b× s¶n phÈm th× s¶n phÈm ®ã míi coi lµ ®ñ tiªu chuÈn ®Ó nhËp khÈu vµo mét n−íc nµo ®ã. HiÖn nay, ë ViÖt Nam tæ chøc m· sè, m· v¹ch ®−îc thµnh lËp ngµy 29/3/1995 gäi t¾t lµ EAN- VN (tªn tiÕng Anh lµ Europe Article Numberring). ViÖt Nam lµ thµnh viªn cña Héi

1

1.1 1.2

1.3.1.1 1.2.1.31.2.1.2

1.3.1

1.2.1.1

1.2.31.2.21.2.1 1.1.1

1.3

Page 39: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

38

m· sè, m· v¹ch Quèc tÕ (EAN International). Nh− vËy, c¸c s¶n phÈm cña c¸c nhµ s¶n xuÊt ViÖt Nam muèn xuÊt khÈu sang n−íc ngoµi cã thÓ ®¨ng ký m· sè, m· v¹ch do EAN- VN cÊp.

HiÖn nay, m· sè quèc gia cña ViÖt Nam ®−îc cÊp (3 sè ®Çu) lµ 893, nhãm sè tiÕp sau chØ m· cña nhµ s¶n xuÊt vµ nhãm sè tiÕp n÷a lµ m· cña s¶n phÈm, sè cuèi cïng lµ sè kiÓm tra.

M· sè cña ViÖt Nam hiÖn nay sö dông cã thÓ lµ 8 hoÆc 13 ch÷ sè viÕt t¾t lµ EAN- 8 vµ EAN- 13. EAN- 8 dïng cho s¶n phÈm cã chñng lo¹i Ýt vµ EAN- 13 dïng cho s¶n phÈm cã chñng lo¹i nhiÒu.

M· v¹ch lµ mét d·y c¸c v¹ch ®en tr¾ng dïng ®Ó thÓ hiÖn m· sè d−íi d¹ng ký hiÖu mµ m¸y quÐt cã thÓ ®äc ®−îc, ®Ó l−u vµo bé nhí cña hÖ thèng m¸y tÝnh hay m¸y tÝnh tiÒn mét c¸ch nhanh chãng vµ chÝnh x¸c. D·y c¸c v¹ch ®en tr¾ng nµy cã ®é chÝnh x¸c tíi 1/100mm vµ ®−îc in b»ng chÊt liÖu ®Æc biÖt ®Ó chèng lµm gi¶.

VÝ dụ:

H×nh 1.8

M· sè cña mét s¶n phÈm trong h×nh trªn lµ 893 5025 33457 6, trong ®ã 893 lµ ViÖt Nam, 5025 lµ m· tªn ®¬n vÞ s¶n xuÊt - C«ng ty Trµ vµ Cµ phª T©m Ch©u, 33457 lµ m· cña s¶n phÈm - cµ phª pha phin, 6 lµ m· kiÓm tra.

d. C¸ch lùa chän sù m· ho¸

Cã nhiÒu ph−¬ng ph¸p m· ho¸ kh¸c nhau, cã thÓ sö dông kÕt hîp nhiÒu kiÓu ®Ó ®¹t chÊt l−îng m· tèt nhÊt. ViÖc lùa chän m· ho¸ cÇn dùa vµo nh÷ng yÕu tè sau:

Page 40: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

39

- Nghiªn cøu viÖc sö dông m· sau nµy

- Nghiªn cøu sè l−îng c¸c ®èi t−îng m· ho¸ ®Ó l−êng tr−íc ®−îc sù ph¸t triÓn.

- Nghiªn cøu sù ph©n bè thèng kª c¸c ®èi t−îng ®Ó ph©n bæ theo líp.

- T×m xem ®· cã nh÷ng m· ho¸ nµo ®−îc dïng tr−íc ®ã cho c¸c ®èi t−îng nµy ®Ó kÕ thõa.

- Tho¶ thuËn ng−êi dïng.

- Thö nghiÖm tr−íc khi dïng chÝnh thøc.

1.2.3. Tõ ®iÓn d÷ liÖu

Tõ ®iÓn d÷ liÖu (cßn gäi tõ ®iÓn yªu cÇu) lµ bé phËn cña t− liÖu trong PT_TK, nã lµ v¨n ph¹m gi¶ h×nh thøc m« t¶ néi dung cña c¸c sù vËt, ®èi t−îng theo ®Þnh nghÜa cã cÊu tróc. Trong biÓu ®å luång d÷ liÖu c¸c chøc n¨ng xö lý, kho d÷ liÖu, luång d÷ liÖu chØ m« t¶ ë møc kh¸i qu¸t th−êng lµ tËp hîp c¸c kho¶n môc riªng lÎ. C¸c kh¸i qu¸t nµy cÇn ®−îc m« t¶ chi tiÕt ho¸ h¬n qua c«ng cô tõ ®iÓn d÷ liÖu.

CÊu t¹o tõ ®iÓn: Tõ ®iÓn d÷ liÖu lµ sù liªn kÕt cã tæ chøc c¸c phÇn

tö d÷ liÖu thuéc hÖ thèng, liÖt kª c¸c môc tõ chØ tªn gäi theo mét thø tù nµo ®ã vµ gi¶i thÝch c¸c tªn mét c¸ch chÝnh x¸c, chÆt chÏ, ng¾n gän ®Ó cho c¶ ng−êi dïng vµ ng−êi ph©n tÝch hiÓu chung c¸i vµo, c¸i ra, c¸i lu©n chuyÓn.

C¸c môc tõ t−¬ng øng víi mét tªn gäi kÌm theo c¸c gi¶i thÝch.

Tªn gäi cã thÓ ®i cïng víi tªn ®ång nghÜa nh− “ho¸ ®¬n” (ho¸ ®¬n

kiªm phiÕu thu). C¸c gi¶i thÝch bao gåm gi¶i thÝch vÒ cÊu tróc (®¬n gi¶n hay phøc t¹p), vÒ b¶n chÊt (liªn tôc hay rêi r¹c), vÒ chi tiÕt (miÒn

gi¸ trÞ, ®¬n vÞ ®o, ®é chÝnh x¸c,…), còng nh− vÒ mèi liªn hÖ víi c¸c

thuËt ng÷ kh¸c. Néi dung c¸c môc tõ th−êng thay ®æi theo lo¹i ®èi t−îng: luång d÷ liÖu (ho¸ ®¬n), kho/tÖp d÷ liÖu (nh©n viªn), phÇn tö d÷

Page 41: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

40

liÖu hoÆc thuéc tÝnh (ngµy më tµi kho¶n), chøc n¨ng xö lý (kiÓm tra ®¬n hµng). Ngoµi ra, trong néi dung c¸c môc tõ cã c¶ phÇn ®Þnh nghÜa d÷ liÖu.

Ký ph¸p m« t¶ néi dung cho tõ ®iÓn d÷ liÖu tu©n theo b¶ng 1.5:

B¶ng 1.5. B¶ng ký ph¸p trong tõ ®iÓn d÷ liÖu

KÕt cÊu d÷ liÖu Ký ph¸p

ý nghÜa

TuÇn tù

TuyÓn chän

LÆp

=

+

[/]

*

hoÆc

{ }n

()

* *

®−îc t¹o tõ

hoÆc

LÆp

hoÆc

LÆp n lÇn

D÷ liÖu tuú chän

Giíi h¹n chó thÝch

C¸c d¹ng biÓu thÞ tõ ®iÓn:

1. D¹ng thuéc tÝnh

B¶ng 1.6. VÝ dô tõ ®iÓn d÷ liÖu d¹ng thuéc tÝnh

STT Tªn gäi KiÓu Cì LÜnh vùc Quy t¾c, rμng buéc vμ khu«n d¹ng

1 Sè phiÕu xuÊt Ký tù 7 KÕ to¸n, kho Ch÷ hoa hoÆc sè

2 Ngμy xuÊt Ngμy th¸ng

8 KÕ to¸n, kho Ngμy/th¸ng/n¨m

3 Tªn hμng Ký tù 25 KÕ to¸n, kho Ch÷ hoa + sè

4 Gi¸ xuÊt Sè 8 KÕ to¸n §¬n vÞ: ngh×n ®ång

5 Sè l−îng xuÊt Sè 5 Kho §¬n vÞ: chiÕc

6 Sè tiÒn Sè 12 KÕ to¸n Hai sè lÎ sau dÊu ph¶y

7 M· kho Ký tù 4 Kho Ch÷ hoa + sè

2. D¹ng thùc thÓ

Gi¶ sö cã tê ho¸ ®¬n b¸n hµng nh− sau:

Page 42: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

41

C«ng ty: Hoµng Hµ

Ho¸ ®¬n b¸n hμng Sè H§: 1199 Ngμy: 01- 01- 2009

Tªn kh¸ch hμng: H−¬ng Giang Tμi kho¶n: KMB§1111983

§Þa chØ: §−êng Ngùa Vμng Tel: (043) 8460201

Lo¹i tiÒn thanh to¸n: USD Tû gi¸: 18780

B¶ng 1.7. VÝ dô tõ ®iÓn d÷ liÖu d¹ng thùc thÓ

M· thiÕt bÞ Tªn thiÕt bÞ M« t¶ §¬n gi¸ Kho

CPUSK478P30 Bé vi xö lý Pentium 4

Pentium IV 3.0C GHz (Box/512Kb/Bus800)

240 A

ASUSP4V533MX Bo m¹ch chñ Pentium 4

VIA chipset/SK478/Bus533 VGA/Sound/NIC onboard, support DDRAM, Huper threading cã AGP më réng

54 B

VGA8 Card mμn h×nh

VGA 8Mb (2X) Ati 10 C

Tæng tiÒn thanh to¸n 304

Ng−êi nhËn KÕ to¸n Thñ kho

Ta cã mét phÇn tõ ®iÓn d÷ liÖu sau:

X¸c ®Þnh mét tê ho¸ ®¬n nh− sau:

Ho¸ ®¬n = Sè H§ + Ngµy + Tªn kh¸ch hµng + Tµi kho¶n + §Þa chØ + Telephone + Lo¹i tiÒn thanh to¸n + Tû gi¸ + M· thiÕt bÞ* + tªn thiÕt bÞ* + m« t¶* + ®on gi¸* + kho* + tæng tiÒn thanh to¸n + Ng−êi nhËn + KÕ to¸n + Thñ kho.

X¸c ®Þnh th«ng tin vÒ kh¸ch hμng

Kh¸ch hµng = Tªn kh¸ch hµng + Tµi kho¶n + §Þa chØ + Telephone

X¸c ®Þnh th«ng tin vÒ tõng lo¹i thiÕt bÞ

ThiÕt bÞ = M· thiÕt bÞ + tªn thiÕt bÞ + m« t¶+ ®on gi¸

Hä tªn kh¸ch cÇn ®−îc t¸ch tªn ®Ó thuËn tiÖn cho TiÕng ViÖt

Tªn kh¸ch hµng = Hä ®Öm + Tªn

Page 43: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

42

3. D¹ng ®Æc t¶

Tõ ®iÓn x¸c ®Þnh thuª bao di ®éng gäi dÞch vô cè ®Þnh:

Sè ®iÖn tho¹i = 0 + m· vïng + m· dÞch vô

M· vïng = [76/64/281/75/56/62/26/71/50/…]

*76 - AnGiang,64 - BµRÞaVòngTµu, 281 - B¾c K¹n,…*

M· dÞch vô = 1 + sè hiÖu dÞch vô

Sè hiÖu dÞch vô = [01/02/03/04/05/…/20]

*01 - ®¨ng ký ®iÖn tho¹i ®−êng dµi trong n−íc, 113 - gäi c¶nh s¸t, 114 - gäi cøu ho¶, 115 - gäi cÊp cøu y tÕ,….*

4. D¹ng ®å thÞ

Địa chỉ

Số nhà Ngõ/ngách Đường phố Quận/huyện Tỉnh/thành phố

H×nh 1.9. VÝ dô d¹ng ®å thÞ cña tõ ®iÓn d÷ liÖu

5. D¹ng tÖp: bao gåm tªn tÖp, m« t¶, tõ ®ång nghÜa, tõ hîp thµnh, c¸ch tæ chøc (tuÇn tù, nhÞ ph©n, hµm b¨m) vµ c¸c xö lý.

6. D¹ng chøc n¨ng xö lý: bao gåm Vµ c¸c m« t¶, tõ ®ång nghÜa, c¸i vµo, c¸i ra, tªn chøc n¨ng: vÝ dô nh− kiÓm tra ®¬n hµng.

L−u ®å thÓ hiÖn chøc n¨ng xö lý nh− h×nh 1.10.

H×nh 1.10. L−u ®å thÓ hiÖn chøc n¨ng xö lý

Page 44: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

43

1.3. M« h×nh d÷ liÖu

1.3.1. Kh¸i niÖm m« h×nh d÷ liÖu

M« h×nh d÷ liÖu lµ c¸ch biÓu diÔn c¸c cÊu tróc d÷ liÖu cho mét CSDL d−íi d¹ng c¸c kh¸i niÖm. C¸c cÊu tróc d÷ liÖu bao gåm c¸c ®èi t−îng d÷ liÖu, mèi liªn hÖ gi÷a c¸c d÷ liÖu, ng÷ nghÜa cña d÷ liÖu vµ c¸c rµng buéc trªn c¸c ®èi t−îng d÷ liÖu ®ã.

M« h×nh d÷ liÖu kh«ng phô thuéc vµo c¸c rµng buéc vÒ c¶ phÇn cøng vµ phÇn mÒm. Nã tËp trung vµo viÖc m« t¶ c¸c d÷ liÖu vµ c¸ch tæ chøc chóng nh− thÕ nµo, kh«ng tËp trung vµo c¸c thao t¸c sÏ ®−îc thùc hiÖn trªn c¸c d÷ liÖu ®ã (viÖc nµy ®−îc thùc hiÖn bëi m« h×nh chøc n¨ng). ViÖc tËp trung vµo viÖc biÓu diÔn d÷ liÖu gióp cho NSD cã thÓ “nh×n thÊy” ®−îc chóng trong thÕ giíi thùc.

1.3.2. C¸c lo¹i m« h×nh CSDL

Cã 3 lo¹i m« h×nh CSDL:

1. M« h×nh CSDL quan niÖm

- Lµ m« h×nh m« t¶ d÷ liÖu cña thÕ giíi thùc g¾n víi ho¹t ®éng nghiÖp vô cña tæ chøc sö dông nã.

- M« t¶ c¸c cÊu tróc vµ mèi liªn hÖ gi÷a c¸c ®¬n vÞ th«ng tin c¬ b¶n.

- Lµ ph−¬ng tiÖn ®Ó giao tiÕp víi NSD nh»m x¸c ®Þnh ®óng ®¾n vµ ®Çy ®ñ c¸c yªu cÇu th«ng tin cña hÖ thèng.

- Hoµn toµn ®éc lËp víi mäi hÖ qu¶n trÞ d÷ liÖu vµ c¸ch thøc sö dông nã.

- Cung cÊp c¸c kh¸i niÖm g¾n liÒn víi c¸ch c¶m nhËn d÷ liÖu cña NSD. Nã tËp trung vµo b¶n chÊt logic cña biÓu diÔn d÷ liÖu, quan t©m ®Õn c¸i ®−îc biÓu diÔn, chø kh«ng quan t©m ®Õn c¸ch biÓu diÔn.

- M« h×nh kh¸i niÖm c¬ b¶n nh− m« h×nh E_R. M« h×nh E_R dïng ®Ó m« t¶ cÊu tróc logic tæng thÓ (l−îc ®å) cña mét CSDL b»ng h×nh ¶nh (®Æc t¶). Ng−êi ta quan niÖm thÕ giíi thùc bao gåm tËp c¸c E

Page 45: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

44

vµ R. Trong ®ã, E - “sù vËt’’/”®èi t−îng’’ tøc lµ thùc thÓ trong thÕ giíi thùc vµ ph¶i ph©n biÖt ®−îc, cßn R lµ mèi quan hÖ (Relationship) gi÷a mét nhãm c¸c thùc thÓ.

VÝ dô: ng−êi, tµi kho¶n ng©n hµng,…

Thùc thÓ ®−îc m« t¶ trong CSDL b»ng tËp c¸c thuéc tÝnh. Thuéc tÝnh ®Þnh danh dïng ®Ó x¸c ®Þnh duy nhÊt mét b¶n thÓ/thÓ hiÖn/dßng d÷ liÖu.

- M« h×nh E_R chñ yÕu x¸c ®Þnh cÊu tróc d÷ liÖu h¬n lµ diÔn ®¹t c¸c quy t¾c nghiÖp vô (1. Toμn vÑn thùc thÓ: trong mét b¶n thÓ tån t¹i ®Þnh danh duy nhÊt vμ duy nhÊt, 2. Toμn vÑn tham chiÕu, 3. Thuéc cïng miÒn gi¸ trÞ, 4. C¸c ho¹t ®éng kÝch ho¹t: thùc hiÖn c¸c rμng buéc ®óng cho c¸c gi¸ trÞ c¸c thuéc tÝnh thuéc c¸c thùc thÓ cã quan hÖ víi nhau khi tiÕn hμnh c¸c thao t¸c d÷ liÖu).

2. M« h×nh CSDL logic: cung cÊp kh¸i niÖm cho NSD cã thÓ hiÓu ®−îc vµ kh«ng xa so víi c¸ch tæ chøc d÷ liÖu trong m¸y tÝnh. Chóng che dÊu mét sè chi tiÕt vÒ viÖc l−u tr÷ d÷ liÖu nh−ng cã thÓ cµi ®Æt trùc tiÕp trªn hÖ thèng m¸y tÝnh. M« h×nh d÷ liÖu logic cho 1 hÖ qu¶n trÞ CSDL:

+ M« t¶ c¸c d÷ liÖu b»ng c¸ch sö dông c¸c kÝ hiÖu t−¬ng øng víi m« h×nh d÷ liÖu mµ 1 hÖ qu¶n trÞ CSDL x©y dùng trªn nã.

+ Cã 4 lo¹i m« h×nh d÷ liÖu logic: m« h×nh d÷ liÖu ph©n cÊp, m¹ng, quan hÖ, h−íng ®èi t−îng.

+ HiÖn nay, ®−îc tæ chøc theo m« h×nh d÷ liÖu quan hÖ lµ chñ yÕu. 3. M« h×nh CSDL vËt lý: cung cÊp c¸c kh¸i niÖm m« t¶ chi tiÕt vÒ

viÖc c¸c d÷ liÖu ®−îc l−u tr÷ trong m¸y nh− thÕ nµo.

1.3.3. M« h×nh d÷ liÖu m¹ng vμ m« h×nh d÷ liÖu ph©n cÊp

Trong m« h×nh m¹ng (network) vµ m« h×nh ph©n cÊp (hierarchy), c¸c thùc thÓ ®−îc biÓu diÔn d−íi d¹ng c¸c b¶n ghi vµ c¸c liªn kÕt ®−îc biÓu diÔn bëi c¸c mãc nèi hay con trá. VÒ c¬ b¶n, c¸c mãc nèi cã kh¶

Page 46: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

45

n¨ng biÓu diÔn c¸c liªn kÕt gi÷a mét thùc thÓ vµ nhiÒu thùc thÓ cña c¸c kiÓu thùc thÓ liªn quan. Tuy nhiªn, víi c¸ch nh×n d÷ liÖu theo kiÓu ph©n cÊp bëi cÊu tróc c©y, c¸c b¶n ghi d÷ liÖu chØ cã ý nghÜa khi nã ®−îc xem xÐt trong cÊu tróc c©y nÕu kh«ng cã phÇn tö bËc trªn nã. Tuy nhiªn, víi m« h×nh ph©n cÊp, chóng ta cã mét c¸ch rÊt tù nhiªn ®Ó m« h×nh ho¸ nh÷ng cÊu tróc ph©n cÊp thùc sù cña thÕ giíi thùc. CÊu tróc biÓu diÔn mèi quan hÖ cña CSDL theo kiÓu c©y ph©n cÊp tån t¹i trªn m¸y lín Mainframe.

M« h×nh d÷ liÖu m¹ng cã cÊu tróc tæng qu¸t h¬n so víi m« h×nh d÷ liÖu ph©n cÊp bëi mét b¶n ghi d÷ liÖu ®· cho cã thÓ cã mét sè bÊt kú c¸c phÇn tö bËc trªn trùc tiÕp còng nh− mét sè bÊt kú c¸c phÇn tö phô thuéc trùc tiÕp. CÊu tróc néi t¹i cña m« h×nh m¹ng phøc t¹p h¬n so víi m« h×nh ph©n cÊp nh−ng m« h×nh m¹ng l¹i ®èi xøng h¬n m« h×nh ph©n cÊp. §iÓm bÊt lîi chñ yÕu cña m« h×nh nµy ®ã lµ sù qu¸ phøc t¹p trong b¶n th©n m« h×nh vµ trong c¸c thao t¸c xö lý d÷ liÖu. Do vËy, nh÷ng NSD vµ ng−êi viÕt ch−¬ng tr×nh sÏ ph¶i hao tæn nhiÒu thêi gian vµo viÖc gi¶i quyÕt nh÷ng vÊn ®Ò n¶y sinh trong qu¸ tr×nh ph¸t triÓn vµ b¶o tr× ch−¬ng tr×nh. Cïng víi cÊu tróc quan hÖ, cÊu tróc m¹ng ®−îc sö dông trªn c¶ m¸y Mainframe vµ PC.

VÒ ph−¬ng diÖn cÊu tróc CSDL, mèi liªn hÖ gi÷a c¸c d÷ liÖu cã mèi quan hÖ chÆt chÏ víi sù liªn hÖ cña thùc thÓ víi thùc thÓ:

- NÕu mçi kho¸ cã mét b¶n ghi duy nhÊt ®i kÌm víi nã vµ nÕu víi mçi b¶n ghi cã mét gi¸ trÞ kho¸ chÝnh duy nhÊt th× mèi liªn hÖ gi÷a c¸c d÷ liÖu ®−îc gäi lµ 1-1. VÝ dô: sè chøng minh th− (CMT) vµ c«ng d©n cã mèi quan hÖ 1-1

- NÕu mçi gi¸ trÞ kho¸ cã nhiÒu b¶n ghi duy nhÊt ®i kÌm, mèi liªn hÖ nµy lµ 1-N. Tr−êng hä cã nhiÒu b¶n ghi ®i kÌm, mçi b¶n ghi chØ cã mét kho¸

- NÕu lµ mèi liªn hÖ kh«ng duy nhÊt cho c¶ kho¸ vµ b¶n ghi, nã ®−îc xem lµ mèi liªn hÖ N-N. VÝ dô mèi quan hÖ gi÷a nam sinh vµ n÷ sinh.

Page 47: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

46

Nh− vËy, trong cÊu tróc c©y ph©n cÊp: cã mèi liªn hÖ 1-1/1-N

(kh«ng cã mèi liªn hÖ N-N nh− c¸c cÊu tróc kh¸c). ë ®©y kh«ng nhãm d÷ liÖu vµo b¶n ghi mµ nhãm thµnh segment. Mçi Segment cã 1/n tr−êng. Quan hÖ gi÷a c¸c segment lµ quan hÖ cha - con, con phô thuéc cha. V× vËy ph¶i truy xuÊt segment cha t−¬ng øng tr−íc khi truy xuÊt ®Õn con (truy xuÊt segment gèc ®Çu tiªn). Trong cÊu tróc CSDL m¹ng: cã mèi quan hÖ N-N. Quan hÖ cha con gäi lµ quan hÖ chñ vµ thµnh viªn. Trong cÊu tróc nµy cã c¸c b¶n ghi. V× vËy truy xuÊt b¶n ghi chñ tr−íc, xong míi ®Õn thµnh viªn. Trong CSDL m¹ng, cÇn t¹o ra kho¸/chØ môc trªn c¸c b¶n ghi thµnh viªn vµ truy xuÊt chóng nhê kho¸/chØ môc.

Chóng ta thÊy 2 lo¹i cÊu tróc trªn béc lé mét sè nh−îc ®iÓm sau:

- Kh«ng cã kh¸i niÖm cho phÐp NSD t¹o lËp, x©y dùng vµ thay ®æi c¸c b¶n ghi trong CSDL

- NSD phô thuéc hoµn toµn vµo nhãm ph¸t triÓn hÖ thèng ®Ó hiÖu chØnh vµ t¹o b¸o c¸o. Ng−êi lËp tr×nh ph¶i cã nhiÒu kü n¨ng ®Ó viÕt nh÷ng ch−¬ng tr×nh truy xuÊt CSDL

- Trong m« h×nh c©y ph©n cÊp: c¸c c©u vÊn tin ®ßi hái ng−êi lËp tr×nh ph¶i cã nhiÒu kinh nghiÖm

- Trong CSDL m¹ng, nhiÒu CSDL kh«ng cã tiÖn Ých vÊn tin dµnh cho NSD hoÆc nÕu cã th× còng rÊt h¹n chÕ.

1.3.4. M« h×nh d÷ liÖu quan hÖ vμ m« h×nh d÷ liÖu h−íng ®èi t−îng

M« h×nh d÷ liÖu quan hÖ ®−îc Codd ®Ò xuÊt n¨m 1970. Nã ®· t¹o ra mét cuéc c¸ch m¹ng míi trong lÜnh vùc CSDL vµ nhanh chãng thay thÕ c¸c m« h×nh d÷ liÖu tr−íc ®ã.

M« h×nh d÷ liÖu quan hÖ t−¬ng ®èi ®¬n gi¶n vµ dÔ hiÓu. M« h×nh d÷ liÖu quan hÖ lµ m« h×nh d÷ liÖu mµ cèt lâi cña nã lµ CSDL quan hÖ. Mét CSDL quan hÖ lµ mét tËp cña mét hoÆc nhiÒu quan hÖ, trong ®ã mçi mét quan hÖ lµ mét b¶ng. M« h×nh quan hÖ sö dông mét tËp c¸c

Page 48: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

47

b¶ng ®Ó biÓu diÔn c¶ d÷ liÖu vµ mèi liªn hÖ gi÷a nh÷ng d÷ liÖu nµy. B¶ng cã n cét vµ mçi cét cã mét tªn duy nhÊt.

C¸c −u ®iÓm c¬ b¶n cña m« h×nh d÷ liÖu quan hÖ so víi c¸c m« h×nh kh¸c:

- §−îc xem lµ m« h×nh cã c¬ së to¸n häc v÷ng ch¾c nhÊt.

- §ang gi÷ vai trß thèng trÞ vµ lµ nÒn t¶ng cho hµng lo¹t c¸c hÖ qu¶n trÞ CSDL næi tiÕng vµ phæ biÕn nh− Oracle, DB2, MS SQL server, Access.

- T−¬ng ®èi ®¬n gi¶n dÔ hiÓu, mét CSDL quan hÖ lµ mét tËp quan hÖ, biÓu diÔn ®¬n gi¶n b»ng b¶ng gåm c¸c cét vµ hµng gióp NSD míi lµm quen víi CSDL cã thÓ hiÓu ®−îc néi dung CSDL.

- Cung cÊp c¸c kh¸i niÖm chÆt chÏ ®−îc h×nh thøc ho¸ cao, cho phÐp ¸p dông c¸c c«ng cô to¸n häc, c¸c thuËt to¸n tèi −u trªn d÷ liÖu.

- Tuy ®−îc trõu t−îng ho¸ cao nh−ng chØ dõng ë møc logic, nghÜa lµ ®éc lËp víi møc vËt lý - møc cµi ®Æt, víi c¸c thiÕt bÞ l−u tr÷ nªn ®¶m b¶o ®−îc tÝnh ®éc lËp gi÷a d÷ liÖu vµ ch−¬ng tr×nh øng dông.

- Nhê biÓu diÔn d÷ liÖu thèng nhÊt, nã cã thÓ cho phÐp sö dông c¸c ng«n ng÷ thao t¸c d÷ liÖu ë møc cao, dÔ sö dông vµ dÔ chuÈn ho¸.

- NSD cã thÓ t¹o vµ söa c¸c b¶n ghi trong CSDL, cã thÓ t¹o b¸o c¸o, ®éc lËp víi nhãm ph¸t triÓn phÇn mÒm.

- CSDL ®−îc l−u trong b¶ng (øng víi tÖp) chøa c¸c hµng (øng víi c¸c b¶n ghi) vµ c¸c cét (øng víi c¸c tr−êng).

- T¹o ra c¸c b¶ng vµ c¸c cét b»ng c¸ch sö dông ng«n ng÷ ®Þnh nghÜa d÷ liÖu (DDL - Data Definition Languages). NSD cã thÓ häc dÔ dµng ®−îc ng«n ng÷ nµy trong thêi gian ng¾n cïng víi viÖc cã thÓ t¹o vµ söa b¶n ghi, t¹o b¸o c¸o, söa ®æi cÊu tróc, trÝch rót d÷ liÖu. Nhê vËy NSD cã thÓ lµm viÖc ®éc lËp víi nhãm lËp tr×nh.

- Nh÷ng CSDL quan hÖ th«ng dông nhÊt ®Òu sö dông ng«n ng÷ SQL (Structured Query Language).

Page 49: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

48

M« h×nh d÷ liÖu h−íng ®èi t−îng so víi c¸c m« h×nh d÷ liÖu kh¸c lµ mét m« h×nh cho phÐp biÓu diÔn c¸c ®èi t−îng kh¸ tù nhiªn vµ s¸t víi thùc tÕ h¬n c¶. C¸c ®èi t−îng phøc t¹p vµ c¸c liªn kÕt gi÷a chóng ®−îc ph¶n ¸nh ®Çy ®ñ vµ giµu ng÷ nghÜa. Do cã kh¶ n¨ng biÓu diÔn d÷ liÖu kh¸ tèt, nªn m« h×nh d÷ liÖu h−íng ®èi t−îng còng hç trî c¸c ng«n ng÷ thao t¸c d÷ liÖu h−íng ®èi t−îng m¹nh, cho phÐp ng−êi sö dông dÔ dµng biÓu diÔn c¶ c¸c truy vÊn kh¸ phøc t¹p. Tuy nhiªn, cho ®Õn nay, ch−a cã mét sù thèng nhÊt vµ chuÈn ho¸ ®èi víi c¸c kh¸i niÖm cña m« h×nh h−íng ®èi t−îng còng nh− ch−a cã mét c¬ së to¸n häc tèt h×nh thøc ho¸ ë møc cao, chÆt chÏ ®èi víi m« h×nh nµy, do vËy nã vÉn ®−îc tiÕp tôc nghiªn cøu vµ ph¸t triÓn trong t−¬ng lai.

Ngµy nay, ng−êi ta ®· nghÜ ®Õn mét m« h×nh d÷ liÖu kÕt hîp gi÷a m« h×nh d÷ liÖu quan hÖ vµ m« h×nh d÷ liÖu h−íng ®èi t−îng gäi t¾t lµ m« h×nh d÷ liÖu quan hÖ - h−íng ®èi t−îng nh»m tËn dông ®−îc c¸c −u ®iÓm cña mçi m« h×nh trªn. Nh−ng ®©y thùc sù lµ mét vÊn ®Ò kh¸ khã kh¨n nªn m« h×nh nµy vÉn ®ang trong giai ®o¹n nghiªn cøu vµ thö nghiÖm.

1.3.5. Ph−¬ng ph¸p x©y dùng m« h×nh d÷ liÖu

Cã hai quy tr×nh chÝnh ®−îc sö dông ®Ó t¹o nªn hai m« h×nh d÷ liÖu møc kh¸i niÖm vµ møc logic dùa trªn c¸ch tiÕp cËn thùc thÓ - liªn kÕt vµ ph−¬ng ph¸p m« h×nh ho¸ ®èi t−îng.

Quy tr×nh ph¸t triÓn 1 m« h×nh kh¸i niÖm d÷ liÖu

C¸c b−íc x©y dùng theo ph−¬ng ph¸p m« h×nh:

1. ChÝnh x¸c ho¸ d÷ liÖu,

2. X¸c ®Þnh c¸c thùc thÓ,

3. X¸c ®Þnh c¸c mèi quan hÖ,

4. VÏ m« h×nh kh¸i niÖm d÷ liÖu,

5. ChuÈn ho¸ (lo¹i c¸c thuéc tÝnh lÆp) vµ thu gän (thùc thÓ treo cã 1 thuéc tÝnh n»m ë phÝa 1 trong mèi quan hÖ 1-N)

Page 50: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 1: Tæng quan vÒ c¬ së d÷ liÖu

49

Quy tr×nh ph¸t triÓn 1 m« h×nh d÷ liÖu logic

1. ChuyÓn m« h×nh kh¸i niÖm d÷ liÖu sang m« h×nh d÷ liÖu logic- M« h×nh quan hÖ (dùa vµo 3 quy t¾c chuyÓn m« h×nh kh¸i niÖm d÷ liÖu sang hÖ l−îc ®å quan hÖ),

2. ChuÈn ho¸ ®Õn 3NF vµ hîp nhÊt c¸c quan hÖ (nÕu cÇn),

3. VÏ s¬ ®å E_R t−¬ng øng víi m« h×nh quan hÖ ®· ®¹t 3NF

Trong qu¸ tr×nh ph©n tÝch, thiÕt kÕ vµ x©y dùng CSDL, cã thÓ nãi qu¸ tr×nh x©y dùng m« h×nh d÷ liÖu chiÕm nhiÒu thêi gian vµ c«ng søc nhÊt. Bëi môc ®Ých cña nã lµ ®¶m b¶o ch¾c ch¾n r»ng tÊt c¶ c¸c ®èi t−îng d÷ liÖu trong bµi to¸n ph¶i ®−îc tr×nh bµy ®Çy ®ñ vµ chÝnh x¸c. Ng−êi thiÕt kÕ CSDL cã thÓ sö dông m« h×nh d÷ liÖu nh− mét b¶n thiÕt kÕ chi tiÕt cã thÓ tiÕn hµnh thiÕt kÕ mét CSDL møc vËt lý.

Page 51: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

51

Ch−¬ng 2

m« h×nh c¬ së d÷ liÖu quan hÖ

2.1. C¸c kh¸i niÖm c¬ b¶n

2.1. 1. §Þnh nghÜa quan hÖ

Cho R ={a1, a2,.., an} lµ mét tËp h÷u h¹n, kh«ng rçng c¸c thuéc

tÝnh.

Mçi thuéc tÝnh ai cã mét miÒn gi¸ trÞ lµ Dai. Khi ®ã r - mét tËp c¸c bé {h1, h2,.., hm} ®−îc gäi lµ mét quan hÖ trªn R, víi hj (j =1, 2,..,m) lµ

mét hµm: i

j aia Rh : R D

∈→ ∪ sao cho: hj (ai) ∈ Dai

Cã thÓ biÓu diÔn quan hÖ r ë d¹ng b¶ng:

B¶ng 2.1. BiÓu diÔn quan hÖ d¹ng b¶ng

a1 a2 ... an

h1 h1 (a1) h1 (a2) ... h1 (an)

h2 h2 (a1) h2 (a2) ... h2 (an)

...

hm hm (a1) hm (a2) ... hm (an)

NhËn xÐt:

- §Þnh nghÜa nµy lµ quan träng. Toµn bé lý thuyÕt c¬ së d÷ liÖu dùa trªn ®Þnh nghÜa nµy. Nã ®−îc coi lµ h¹t nh©n cña c¬ së d÷ liÖu quan hÖ.

- V× h1, h2,.., hm lµ c¸c thµnh phÇn trong tËp hîp quan hÖ trong r. Trong m« h×nh quan hÖ, kh«ng chÊp nhËn hai b¶n ghi trïng nhau trong mét file d÷ liÖu.

Page 52: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

52

VÝ dô

§Ó l−u gi÷ th«ng tin vÒ c¸c mÆt hµng, cÇn sö dông b¶ng thiÕt bÞ nh− sau:

B¶ng 2.2. BiÓu diÔn quan hÖ THIETBI

M· thiÕt bÞ Tªn thiÕt bÞ M« t¶ §¬n gi¸ Kho

CPUSK478P30 Bé vi xö lý Pentium 4

Pentium IV 3.0C GHz (Box/512Kb/Bus800)

240 A

ASUSP4V533MX Bo m¹ch chñ Pentium 4

VIA chipset/SK478/Bus533 VGA/Sound/NIC onboard, support DDRAM, Huper threading cã AGP më réng

54 B

VGA8 Card mμn h×nh

VGA 8Mb (2X) Ati 10 C

HDDQ30 æ ®Üa cøng Maxtor Quantum 30Gb 5400rpm

53 D

Cã thÓ quy ®Þnh kÝch th−íc cho c¸c thuéc tÝnh (c¸c tr−êng) nh− sau:

B¶ng 2.3. B¶ng thuéc tÝnh cña quan hÖ THIETBI

Tªn thuéc tÝnh KiÓu KÝch th−íc

M· thiÕt bÞ Ký tù 15

Tªn thiÕt bÞ Ký tù 30

M« t¶ Ký tù 100

§¬n gi¸ Sè 5

Kho Ký tù 2

Cã nghÜa lµ chóng ta x¸c ®Þnh miÒn gi¸ trÞ cho c¸c thuéc tÝnh:

- M· thiÕt bÞ lµ mét x©u ký tù cã ®é dµi kh«ng qu¸ 15

- Tªn thiÕt bÞ lµ mét x©u ký tù cã ®é dµi kh«ng qu¸ 30

- M« t¶ lµ mét x©u ký tù cã ®é dµi kh«ng qu¸ 100

- §¬n gi¸ lµ mét sè nguyªn kh«ng qu¸ 5

- Kho lµ mét x©u ký tù kh«ng qu¸ 2

Page 53: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

53

Nh− vËy ta cã tËp thuéc tÝnh:

thiÕt bÞ = {M· thiÕt bÞ, Tªn thiÕt bÞ, M« t¶, §¬n gi¸, Kho}

ë ®©y:

- DM· thiÕt bÞ lµ tËp c¸c x©u ký tù ®é dµi kh«ng qu¸ 15

- DTªn thiÕt bÞ lµ tËp c¸c x©u ký tù ®é dµi kh«ng qu¸ 30

- DM« t¶ lµ tËp c¸c x©u ký tù ®é dµi kh«ng qu¸ 100

- D§¬n gi¸ lµ tËp c¸c sè cã ®é dµi kh«ng qu¸ 5

- DKho lµ tËp c¸c x©u ký tù ®é dµi kh«ng qu¸ 2

Khi ®ã chóng ta cã c¸c quan hÖ r = {h1, h2, h3, h4}, ë ®©y ®èi víi b¶n ghi thø nhÊt (dßng thø nhÊt) chóng ta cã:

h1(M· thiÕt bÞ) = CPUSK478P30

h1(Tªn thiÕt bÞ) = Bé vi xö lý Pentium 4

h1(M« t¶) = Pentium IV 3.0C GHz (Box/512Kb/Bus800)

h1(§¬n gi¸) = 240

h1(Kho) = A

Khi viÕt R(a1,a2,…,an) ta cã mét l−îc ®å quan hÖ R

2.1.2. §Þnh nghÜa phô thuéc hμm Kh¸i niÖm vÒ phô thuéc hµm trong mét quan hÖ lµ rÊt quan träng

trong viÖc thiÕt kÕ m« h×nh d÷ liÖu. N¨m 1970 E.F Codd ®· m« t¶ phô thuéc hµm trong m« h×nh d÷ liÖu quan hÖ, nh»m gi¶i quyÕt viÖc ph©n r· kh«ng mÊt th«ng tin.

Cho R = {a1, a2,.., an} lµ tËp c¸c thuéc tÝnh, r = {h1, h2,.., hm} lµ

mét quan hÖ trªn R, vµ A, B ⊆ R (A, B lµ tËp cét hay tËp thuéc tÝnh). Khi ®ã ta nãi A x¸c ®Þnh hµm cho B hay B phô thuéc hµm vµo A trong

r (ký ph¸p f

rA B→ ) nÕu: (∀ hi, hj ∈ r) ((∀a ∈ A) (hi(a) = hj(a))

⇒ (∀b ∈ B) (hi(b) = hj(b))) nghÜa lµ ®èi sè trïng nhau th× hµm cã cïng

Page 54: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

54

gi¸ trÞ. §Æt Fr = {(A, B): A, B ⊆ R,f

rA B→ }. Lóc ®ã Fr ®−îc gäi lµ hä

®Çy ®ñ c¸c phô thuéc hµm cña r.

NhËn xÐt:

Ta cã thÓ thÊy r»ng B mµ phô thuéc hµm vµo A, nÕu hai dßng bÊt kú mµ c¸c gi¸ trÞ cña tËp thuéc tÝnh A mµ b»ng nhau tõng cÆp mét, th× kÐo theo c¸c gi¸ trÞ trªn tËp thuéc tÝnh B còng ph¶i b»ng nhau tõng cÆp mét.

VÝ dô:

XÐt quan hÖ:

B¶ng 2.4. Quan hÖ thisinh

sbd Hoten §iachi Tinh Khuvùc

P§711001 NguyÔn Th¸i B×nh 12 B¶n Nhμn L¹ng S¬n 0

P§711002 TrÇn Nam Ninh 3 Kim M· Hμ Néi 3

P§711003 Lª Thanh Hoa 53 Hai Bμ Tr−ng Hμ Néi 3

P§711004 Vò Thóy Hång 89 §ång §¨ng L¹ng S¬n 0

P§711005 Ph¹m Nh− Em 40 TrÇn H−ng §¹o H¶i D−¬ng 2

Trong quan hÖ THisINH, dùa vµo ®Þnh nghÜa phô thuéc hµm cña quan hÖ ta cã:

{tinh} → {khuvuc}

{sbd} → {hoten, diachi, tinh, khuvuc}

ý nghÜa: Kh¸i niÖm phô thuéc hµm miªu t¶ mét lo¹i rµng buéc (phô thuéc d÷ liÖu) x¶y ra tù nhiªn nhÊt gi÷a c¸c tËp thuéc tÝnh.

2.1.3. HÖ tiªn ®Ò Armstrong

Gäi F lµ tËp x¸c ®Þnh c¸c phô thuéc hµm ®èi víi l−îc ®å quan hÖ

R vµ X → Y lµ mét phô thuéc hµm. X, Y ⊆ R. Nãi r»ng X → Y ®−îc

Page 55: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

55

suy diÔn logic tõ F nÕu mèi quan hÖ r trªn R ®Òu tho¶ m·n phô thuéc

hµm cña F th× còng tho¶ m·n X → Y. Ch¼ng h¹n F ={A → B, B → C}

th× A → C suy ra tõ F. Gäi F+ lμ bao ®ãng (closure) cña F, tøc lµ tËp tÊt c¶ c¸c phô thuéc hµm ®−îc suy diÔn logic tõ F. NÕu F = F+ th× F lµ hä ®Çy ®ñ (full family) cña c¸c phô thuéc hµm.

§Ó cã thÓ x¸c ®Þnh kho¸ cña mét l−îc ®å quan hÖ vµ c¸c suy diÔn logic gi÷a c¸c phô thuéc hµm cÇn thiÕt ph¶i tÝnh ®−îc F+ tõ F. Do ®ã ®ßi hái ph¶i cã c¸c hÖ tiªn ®Ò. TËp c¸c quy t¾c cña hÖ tiªn ®Ò ®−îc Armstrong (1974) ®−a ra, th−êng ®−îc gäi lµ hÖ tiªn ®Ò Armstrong.

HÖ tiªn ®Ò Armstrong (Armstrong�s Axioms):

Cho R = {a1,...,an} lµ tËp c¸c thuéc tÝnh. X, Y, Z ⊆ R.

HÖ tiªn ®Ò Armstrong cã 3 tÝnh chÊt c¬ b¶n sau:

- A1 (ph¶n x¹): NÕu Y ⊆ X th× X → Y

- A2 (t¨ng tr−ëng): NÕu Z ⊆ R vµ X → Y th× XZ → YZ.

Trong ®ã ký hiÖu XZ lµ hîp cña hai tËp X vµ Z thay cho ký hiÖu X ∪ Z.

- A3 (b¾c cÇu): NÕu X → Y vµ Y → Z th× X → Z.

Bæ ®Ò 1:

HÖ tiªn ®Ò Armstrong lµ ®óng. Cã nghÜa F lµ tËp c¸c phô thuéc

hµm ®óng trªn quan hÖ r. NÕu X → Y lµ tËp c¸c phô thuéc hµm ®−îc

suy diÔn tõ F nhê hÖ tiªn ®Ò Armstrong th× X → Y lµ ®óng trªn quan hÖ r.

Bæ ®Ò 2:

HÖ tiªn ®Ò Armstrong cã thÓ ®−îc më réng thµnh:

1. TÝnh ph¶n x¹ (Reflexivity):

Y⊆ X ⊆ R ⇒ X → Y (phô thuéc tÇm th−êng: trivial dependency)

2. TÝnh t¨ng tr−ëng (augmentation):

X → Y, Z ⊆ R ⇒ XZ → YZ

Page 56: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

56

3. TÝnh “b¾c cÇu”:

X → Y, Y → Z ⇒ X → Z

4. TÝnh hîp (union rule):

X → Y, X → Z ⇒ X → YZ

5. TÝnh “në tr¸i”:

X → Y; X,Y,Z ∈ R ⇒ XZ → Y

6. TÝnh ph©n r·/t¸ch (decomposition rule) (thu ph¶i):

X → Y, Z ⊆ Y ⇒ X → Z

7. TÝnh “hîp däc”:

X → Y, P → Q ⇒ XP → YQ

8. TÝnh tùa b¾c cÇu:

X → Y, WY → Z ⇒ WX → Z

9. TÝnh t¸ch vµ hîp

Cho A1, A2,..., Ap ⊆ R. X → A1A2...Ap ⇔ X→ Ai

10. TÝnh tÝch luü

X → YZ, Z → AV ⇒ X → YZA

NhËn xÐt:

- Ng−êi ta cßn viÕt (A, B) hay A → B thay cho f

rA B→ .

- Lóc ®ã tËp hîp tÊt c¶ (A,B) nh− thÕ x¸c ®Þnh mét hä f trªn R khi chóng tháa m·n hÖ tiªn ®Ò Armstrong.

- Fr lµ mét hä f trªn R. Armstrong ®· chøng minh mét kÕt qu¶ rÊt quan träng nh− sau: nÕu Y lµ mét hä f bÊt kú th× tån t¹i mét quan hÖ r trªn R sao cho Fr = Y.

- ViÖc nghiªn cøu phô thuéc hµm kh«ng lÖ thuéc vµo c¸c quan hÖ (b¶ng) cô thÓ. V× vËy, ¸p dông ®−îc c¸c c«ng cô to¸n nh»m s¸ng tá cÊu tróc logic cña m« h×nh d÷ liÖu quan hÖ

Page 57: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

57

- Cã nhiÒu quan hÖ kh¸c nhau nh−ng c¸c hä ®Çy ®ñ c¸c phô thuéc hµm cña chóng l¹i nh− nhau

VÝ dô:

Cho r1, r2 lµ c¸c quan hÖ (b¶ng 2.5):

B¶ng 2.5

r1 r2

A B A B

0 0 0 0

1 1 1 1

2 1 2 1

3 2 3 1

Cã thÓ thÊy r»ng r1 vµ r2 kh¸c nhau nh−ng Fr1 = Fr2 v× chØ cã A → B

2.1.4. §Þnh nghÜa hμm ®ãng

Mét hµm L: P(R) → P(R), (P(R) lµ tËp c¸c tËp con cña R) ®−îc

gäi lµ hµm ®ãng trªn R nÕu víi mäi A, B ∈ P(R):

- A ⊆ L(A)

- NÕu A ⊆ B th× L(A) ⊆ L(B)

- L (L(A)) = L (A).

§Þnh lý:

NÕu F lµ mét hä f vµ chóng ta ®Æt LF(A) = {a: a ∈R: (A,{a}) ∈F} th× LF lµ mét hµm ®ãng. Ng−îc l¹i nÕu L lµ mét hµm ®ãng th× tån t¹i duy nhÊt mét hä f: F trªn R sao cho L = LF.

ë ®©y, F = {(A, B): A, B ⊆ R, B ⊆ L(A)}.

Nh− vËy, chóng ta thÊy cã sù t−¬ng øng 1-1 gi÷a líp c¸c hµm ®ãng vµ líp c¸c hä f. Sù t−¬ng øng nµy ®−îc minh häa b»ng h×nh 2.1:

Page 58: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

58

Líp c¸c hä phô thuéc hμm Líp c¸c hμm ®ãng

H×nh 2.1.

Chóng ta cã thÓ dÔ dµng chøng minh ®−îc 3 tÝnh chÊt sau cña hµm ®ãng:

+ L(X)L(Y) ⊆ L(XY)

+ L(X∩Y) ⊆ L(X) ∩ L(Y)

+ L(L(X)Y) = L(XL(Y)) = L(XY)

2.1.5. §Þnh nghÜa s¬ ®å quan hÖ

Cho tr−íc R = {a1, a2,.., an} lµ tËp c¸c thuéc tÝnh.

Khi ®ã s lµ mét s¬ ®å quan hÖ, s = < R, F >

1 1

2 2

t t

A BA B

F ......A B

→⎧⎪ →⎪⎪= ⎨⎪⎪

→⎪⎩

ë ®©y Ai, Bi ⊆ R (i = 1,...,t) vµ Ai → Bi lµ phô thuéc hµm

VÝ dô: Cho s¬ ®å quan hÖ s = < R, F >, víi R = {a1, a2, a3, a4}

1 3 4

2 3

3 4

{a } {a ,a }{a } {a }

F ......{a } {a }

→⎧⎪ →⎪⎪= ⎨⎪⎪

→⎪⎩

cét 1 x¸c ®Þnh hµm víi cét 3, cét 4

cét 2 x¸c ®Þnh hµm víi cét 3

cét 3 x¸c ®Þnh hµm víi cét 4

Page 59: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

59

2.1.6. §Þnh nghÜa bao ®ãng

a. §Þnh nghÜa bao ®ãng cña tËp thuéc tÝnh trªn s¬ ®å quan hÖ

Gi¶ sö F lµ tËp c¸c phô thuéc hµm trªn s¬ ®å quan hÖ s = < R, F >. Gäi F+ lµ tËp tÊt c¶ c¸c phô thuéc hµm cã thÓ suy diÔn logic tõ F bëi c¸c luËt cña hÖ tiªn ®Ò Armstrong.

Gi¶ sö A ⊆ R, ký hiÖu A+ = {a: A →{a} ∈ F+}. A+ ®−îc gäi lµ bao ®ãng cña A trªn s.

ý nghÜa: A+ lµ tËp tÊt c¶ c¸c thuéc tÝnh a mµ phô thuéc hµm

A →{a} cã thÓ suy diÔn logic tõ F nhê hÖ tiªn ®Ò Armstrong.

MÖnh ®Ò A → B ∈ F+ nÕu vµ chØ nÕu B ⊆ A+ ®óng nhê vµo bæ ®Ò d−íi ®©y.

Bæ ®Ò

X → Y suy diÔn tõ hÖ tiªn ®Ò Armstrong khi vµ chØ khi Y ⊆ X+.

Chøng minh:

§iÒu kiÖn ®ñ: Gi¶ sö Y = A1... An víi A1,..., An lµ tËp c¸c thuéc tÝnh vµ Y ⊆ X+.

Tõ ®Þnh nghÜa X+ cã X → Ai. ¸p dông tiªn ®Ò Armstrong cho mäi i, luËt hîp suy ra X → Y. Ng−îc l¹i, gi¶ sö cã X → Y, ¸p dông hÖ tiªn ®Ò Armstrong cho mçi i cã X → Ai, Ai ∈ Y nhê luËt t¸ch. Tõ ®ã suy ra Y ⊆ X+.

Chóng ta cã thÓ dÔ dµng chøng minh ®−îc mÖnh ®Ò quan träng sau:

MÖnh ®Ò

PhÐp lÊy bao ®ãng cña tËp thuéc tÝnh lµ mét hµm ®ãng tho¶ m·n c¸c tÝnh chÊt sau:

1. TÝnh ph¶n x¹: X ⊆ X+

ThËt vËy, Tõ a∈ X suy ra X → a ∈ F+ suy ra a ∈ X+

2. TÝnh ®¬n ®iÖu: nÕu X ⊆ Y th× X+ ⊆ Y+

ThËt vËy, theo thuËt to¸n tÝnh bao ®ãng

Page 60: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

60

3. TÝnh luü ®¼ng: X++ = X+

ThËt vËy, theo thuËt to¸n tÝnh bao ®ãng

4. X+Y+ ⊆ (XY)+

ThËt vËy, dùa vµo L(X)L(Y) ⊆ L(XY)

5. (X+Y)+ = (XY+)+ = (XY)+

ThËt vËy, dùa vµo L(L(X)Y) = L(XL(Y)) = L(XY)

6. X → Y khi vµ chØ khi Y⊆ X+ (bæ ®Ò)

7. X → Y khi vµ chØ khi Y+⊆ X+

ThËt vËy:

§iÒu kiÖn cÇn:

+ X → Y theo tÝnh chÊt 6 suy ra Y ⊆ X+,

+ dùa theo tÝnh chÊt 2 suy tiÕp ra Y+ ⊆ X++

+ dùa theo tÝnh chÊt 3 suy ra Y+ ⊆ X++ = X+ tøc lµ Y+ ⊆ X+

§iÒu kiÖn ®ñ:

Y+ ⊆ X+, dùa theo tÝnh chÊt 1 suy ra Y ⊆ Y+ ⊆ X+, tøc lµ Y ⊆ X+

8. X→ X+, X+→ X

ThËt vËy: X→ X+ (theo ®Þnh nghÜa bao ®ãng)

X+→ X (theo tÝnh chÊt 1)

9. X+ = Y+ khi vµ chØ khi X → Y vµ Y → X

ThËt vËy:

§iÒu kiÖn cÇn:

X ⊆ X+ = Y+ suy ra X ⊆ Y+ suy ra Y → X

Y ⊆ Y+ = X+ suy ra Y ⊆ X+ suy ra X → Y

§iÒu kiÖn ®ñ:

Y → X suy ra X ⊆ Y+ suy ra X+ ⊆ Y++ = Y+ suy ra X+ ⊆ Y+ (1)

Page 61: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

61

MÆt kh¸c X → Y suy ra Y ⊆ X+ suy ra Y+ ⊆ X++ = X+

suy ra Y+ ⊆ X+ (2)

KÕt hîp (1) vµ (2) suy ra X+ = Y+

b. §Þnh nghÜa bao ®ãng cña mét tËp thuéc tÝnh trªn mét quan hÖ

Gi¶ sö r = {h1, h2,.., hm} lµ mét quan hÖ trªn R = {a1, a2,..., an}.

Ta ®Æt: f

r rA {a : A {a}}+ = →

rA+ ®−îc gäi lµ bao ®ãng cña A trªn r.

2.1.7. §Þnh nghÜa kho¸ cña quan hÖ, s¬ ®å quan hÖ, hä F

a. §Þnh nghÜa kho¸

Gi¶ sö r = {h1, h2,.., hm} lµ mét quan hÖ, s = < R, F > lµ mét s¬ ®å quan hÖ, trong ®ã R = {a1, a2,..., an} lµ tËp c¸c thuéc tÝnh, F lµ tËp x¸c

®Þnh c¸c phô thuéc hµm trªn R. Gäi Y lµ mét hä f trªn R vµ A ⊆ R. Khi Êy A lµ mét kho¸ cña r (t−¬ng øng lµ mét kho¸ cña s, mét khãa

cña Y) nÕu: r

A R→ (A → R ∈ F+, (A, R) ∈ Y), nghÜa lµ A ph¶i tho¶

m·n c¸c tÝnh chÊt sau ®©y:

- Víi bÊt kú hai bé h1, h2 ∈ r ®Òu tån t¹i mét thuéc tÝnh a ∈ A sao

cho h1(a) ≠ h2(a). Nãi c¸ch kh¸c, kh«ng tån t¹i hai bé mµ cã gi¸ trÞ b»ng nhau trªn mäi tËp thuéc tÝnh cña A. §iÒu kiÖn nµy cã thÓ viÕt

t1(A) ≠ t2(A). Do vËy, mçi gi¸ trÞ cña A x¸c ®Þnh lµ duy nhÊt. Khi biÕt gi¸ trÞ thuéc tÝnh trong A sÏ biÕt ®−îc c¸c gi¸ trÞ cña thuéc tÝnh kh¸c.

- Theo ®Þnh nghÜa cña Codd: NÕu cã hai dßng b»ng nhau trªn c¸c gi¸ trÞ cña kho¸ A th× sÏ kÐo theo b»ng nhau trªn tÊt c¶ c¸c cét cßn l¹i. Nh− vËy sÏ cã hai cét b»ng nhau, ®iÒu nµy kh«ng thÓ cã ®−îc vµ nÕu cã th× ®Êy lµ d÷ liÖu nhÇm lÉn.

- DÔ dµng thÊy r»ng, víi l−îc ®å R(A,B,C,D) mµ A -> C, B -> D th× tËp hîp c¸c thuéc tÝnh ë vÕ tr¸i cña phô thuéc hµm {A,B} chÝnh lµ kho¸ v× tÊt c¶ c¸c thuéc tÝnh cña l−îc ®å ®Òu cã mÆt trªn phô thuéc hµm.

Page 62: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

62

b. Kho¸ tèi tiÓu

Chóng ta gäi A (A ⊆ R) lµ mét kho¸ tèi tiÓu cña r (t−¬ng øng cña s, cña Y) nÕu:

+ A lµ mét kho¸ cña r (s,Y) tøc A → R

+ BÊt kú mét tËp con thùc sù cña A kh«ng lµ kho¸ cña r (s, Y) hay

kh«ng tån t¹i A' lµ tËp con thùc sù cña A (A' ⊂ A) mµ A' → R.

NhËn xÐt:

Kho¸ chÝnh lµ h×nh ¶nh cña cét m· sè hay sè thø tù (v× sè thø tù kh«ng thÓ trïng nhau ®−îc).

Khãa ®ãng mét vai trß rÊt quan träng v× nhê cã nã ng−êi ta míi t×m kiÕm ®−îc (t×m kiÕm b¶n ghi). PhÐp to¸n t×m kiÕm b¶n ghi trong file d÷ liÖu lµ phÐp to¸n quan träng nhÊt v× chØ sau khi t×m kiÕm xong th× ng−êi ta míi tiÕn hµnh lo¹i bá b¶n ghi Êy hoÆc bæ sung mét b¶n ghi míi vµo tr−íc hoÆc sau b¶n ghi mµ ta ®· t×m ®−îc.

Dï r»ng dÔ thÊy A cã thÓ chÝnh b»ng R nh−ng ng−êi ta vÉn ph¶i ®i t×m khãa tèi tiÓu, tøc lµ khãa nhá nhÊt mµ kh«ng thÓ nhá h¬n ®−îc n÷a ®Ó viÖc so s¸nh c¸c gi¸ trÞ khãa víi nhau trong qu¸ tr×nh t×m kiÕm b¶n ghi lµ nhanh nhÊt.

Mét s¬ ®å quan hÖ cã thÓ cã nhiÒu khãa, thËm chÝ cßn cã nhiÒu kho¸ tèi tiÓu.

VÝ dô:

B¶ng 2.6. Quan hÖ BAN_HANG

M·hμng Tªn hμng Sè l−îng (chiÕc)

VT0001 V« tuyÕn 1000

TL0002 Tñ l¹nh 500

RA2012 Radio 2000

Trong b¶ng trªn m· sè mÆt hµng (M·hµng) lµ kho¸ vµ lµ kho¸ tèi tiÓu. Mçi gi¸ trÞ m· hµng ®Òu x¸c ®Þnh duy nhÊt mét lo¹i mÆt hµng trong quan hÖ BAN_HANG.

Page 63: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

63

c. HÖ Sperner

Ký hiÖu Kr, Ks, Ky lµ tËp tÊt c¶ c¸c kho¸ tèi tiÓu cña r (s, Y).

Ta gäi K (víi K-tËp con cña P(R)) lµ mét hÖ Sperner trªn R nÕu

víi ∀A, B ∈ K ⇒ ¬ (A⊆ B),

DÔ thÊy Kr, Ks, KY lµ hÖ Sperner trªn R.

d. TËp ph¶n kho¸

Gi¶ sö K = {K1, K2,.., Kt} lµ mét hÖ Sperner trªn R = {a1, a2,.., an}. Ta ®Þnh nghÜa tËp c¸c ph¶n kho¸ cña K ký hiÖu K-1 nh− sau:

K-1 = {A ⊂ R: (B ∈ K) ⇒ (B ⊄ A) vμ (A ⊂ C) ⇒ (∃B ∈ K) (B ⊆ C)}

(tøc lµ kh«ng chøa tËp con thuéc K vµ níi réng nã ra sÏ cã 1 phÇn tö cña K lät vµo)

TËp ph¶n khãa ®ãng vai trß quan träng trong qu¸ tr×nh nghiªn cøu cÊu tróc logic cña c¸c hä phô thuéc hµm, khãa, d¹ng chuÈn, quan hÖ Armstrong, ®Æc biÖt ®èi víi c¸c bµi to¸n tæ hîp trong m« h×nh d÷ liÖu quan hÖ.

NhËn xÐt:

NÕu K ®ãng vai trß lµ mét tËp c¸c kho¸ tèi tiÓu cña mét s¬ ®å quan hÖ nµo ®ã th× theo ®Þnh nghÜa K-1 lµ tËp tÊt c¶ c¸c tËp kh«ng ph¶i lµ kho¸ lín nhÊt.

- DÔ thÊy r»ng K-1 còng lµ hÖ Sperner trªn R.

- ë ®©y ta lu«n gi¶ thiÕt r»ng nÕu mét hÖ Sperner ®ãng vai trß tËp c¸c kho¸ tèi tiÓu (tËp c¸c ph¶n khãa), th× hÖ Sperner nµy kh«ng rçng (Kh«ng chøa R).

- Demertovics.J. ®· chøng tá r»ng nÕu K lµ mét hÖ Sperner tuú ý, th× tån t¹i mét s¬ ®å quan hÖ s sao cho Ks = K vµ tån t¹i quan hÖ r ®Ó Kr = K.

2.1.8. HÖ b»ng nhau

Gi¶ sö r = {h1, h2,.., hm} lµ mét quan hÖ trªn R = {a1, a2,.., an}

Page 64: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

64

§Æt Er = {Eij: 1 ≤ i<j ≤ | r |} trong ®ã Eij = {a ∈ R: hi(a) = hj(a)}, | r | = m, Er ®−îc gäi lµ hÖ b»ng nhau cña r

Gi¶ sö Mr = {Er/Eij víi Eij: ∃ Epq: Eij⊂ Epq}. Khi ®ã Mr ®−îc gäi lµ hÖ b»ng nhau cùc ®¹i cña r.

NhËn xÐt:

HÖ b»ng nhau vµ hÖ b»ng nhau cùc ®¹i ®ãng mét vai trß quan träng trong c¸c thuËt to¸n thiÕt kÕ còng nh− mèi quan hÖ gi÷a c¸c líp quan hÖ vµ líp c¸c phô thuéc hµm trong qu¸ tr×nh nghiªn cøu cÊu tróc logic cña líp c¸c phô thuéc hµm.

VÝ dô: Cho quan hÖ r (b¶ng 2.7).

B¶ng 2.7: Quan hÖ r

a1 a2 a3 a4 a5

1 1 0 1 0

1 0 0 3 0

3 1 1 3 1

5 1 0 3 0

{ }{ }{ }{ }{ }{ }

12 1 3 5

13 2

14 2 3 5r

23 4

24 3 4 5

34 2 4

E a , a , a

E a

E a , a ,aE

E a

E a , a ,a

E a , a

=⎧⎪

=⎪⎪ =⎪= ⎨

=⎪⎪ =⎪⎪ =⎩

{ }{ }{ }

1 3 5

2 4r

2 3 5

3 4 5

{a ,a ,a }a ,a

Ma ,a ,a

a ,a ,a

⎧⎪⎪= ⎨⎪⎪⎩

VËy Mr lµ hÖ b»ng nhau cùc ®¹i cña r.

Page 65: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

65

2.2. Mét sè thuËt to¸n liªn quan ®Õn Kho¸

2.2.1. Mét sè thuËt to¸n liªn quan ®Õn bao ®ãng

Mét vÊn ®Ò th−êng xuyªn x¶y ra lµ ®èi víi mét s¬ ®å quan hÖ cho

tr−íc (s = <R, F>), vµ mét phô thuéc hµm A → B, chóng ta muèn biÕt

A → B cã lµ phÇn tö cña F+ hay kh«ng. §Ó tr¶ lêi c©u hái nµy chóng ta cÇn tÝnh bao ®ãng F+ cña tËp c¸c phô thuéc hµm F.

Tuy nhiªn tÝnh F+ trong tr−êng hîp tæng qu¸t lµ rÊt khã kh¨n vµ tèn kÐm thêi gian v× c¸c tËp phô thuéc hµm thuéc F+ lµ rÊt lín cho dï F cã

thÓ lµ nhá. Ch¼ng h¹n, F = {A → B1, A → B2,.... A → Bn}, khi ®ã F+ bao

gåm c¶ nh÷ng phô thuéc hµm A → Y víi Y ⊆ {B1 ∪ B2 ∪... ∪ Bn}, nh− vËy ta sÏ cã 2n tËp con Y. Trong khi ®ã viÖc tÝnh bao ®ãng cña tËp thuéc tÝnh A l¹i kh«ng khã. Theo kÕt qu¶ ®· tr×nh bµy ë trªn th× viÖc kiÓm tra

A → B ∈ F+ sÏ ®−îc thÕ bëi viÖc tÝnh A+.

ThuËt to¸n 1: TÝnh bao ®ãng cña mét tËp c¸c thuéc tÝnh ®èi víi tËp c¸c phô thuéc hμm trªn s¬ ®å quan hÖ

Vμo: s = < R, F > lµ mét s¬ ®å quan hÖ

trong ®ã:

R = (a1, a2,.., an) lµ tËp h÷u h¹n c¸c thuéc tÝnh.

F lµ tËp c¸c phô thuéc hµm vµ A ⊆ R

Ra: A+ lµ bao ®ãng cña A ®èi víi F.

Nhí r»ng A+ = {a: A →{a} ∈ F+}.

A → B ∈ F+ nÕu vµ chØ nÕu B ⊆ A+.

Ph−¬ng ph¸p:

LÇn l−ît tÝnh c¸c tËp thuéc tÝnh A0, A1 nh− sau:

1. A0 = A

2. Ai = Ai-1 ∪ {a} nÕu ∃ (C → D) ∈ F, {a} ∈ D vµ C ⊆ Ai-1

Page 66: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

66

3. Râ rµng A = A0 ⊆ A1 ⊆... ⊆ Ai ⊆ R vµ R h÷u h¹n nªn tån t¹i i sao cho Ai = Ai+1

Khi Êy thuËt to¸n dõng vµ Ai chÝnh lµ A+

VÝ dô:

XÐt s¬ ®å quan hÖ s = < R, F >

trong ®ã:

{c} {t} R {c, t, h, r,s,g}{h, r} {c}

F {h, t} {r}{c,s} {g}{h,s} {r}

→ =⎧⎪ →⎪⎪= →⎨⎪ →⎪

→⎪⎩

TÝnh {h, r}+?

A0 = {h, r}

A1 = {h, r, c} do {h, r}→ {c}∈ F

A2 = {h, r, c, t} do {c}→ {t}∈ F

A3 = {h, r, c, t} = A2

VËy {h, r}+ = {h, r, c, t}

ThuËt to¸n 2: TÝnh bao ®ãng cho mét tËp bÊt kú trªn quan hÖ r

Vμo: r = {h1, h2,.., hm} lµ mét quan hÖ trªn R = {a1, a2,.., an}, A ⊆ R

Ra: A+r

B−íc 1: Tõ r x©y dùng mét tËp Er = {Eij: 1 ≤ i < j ≤ m}

Eij = {a: a ∈ R vµ hi(a) = hj(a)}

B−íc 2: Tõ Er x©y dùng mét tËp

M = {B ∈ P(R): Tån t¹i Eij ∈ Er: Eij = B}

ë ®©y P(R) lµ tËp c¸c tËp con cña R

Page 67: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

67

B−íc 3: A+r ®−îc tÝnh nh− sau:

r

BA

R

+

∩⎧⎪= ⎨⎪⎩

Cã thÓ thÊy r»ng Eij = ∅ (trong tr−êng hîp hai dßng i vµ j kh«ng cã cét nµo trïng nhau vÒ gi¸ trÞ, tøc lµ chóng kh¸c nhau hoµn toµn.

Kh«ng bao giê cã Eij = R (cã nghÜa r»ng Eij = toµn bé kh«ng gian), v× nÕu x¶y ra th× cã hai dßng trïng nhau, theo ®Þnh nghÜa quan hÖ th× kh«ng cho phÐp cã hai dßng trïng nhau.

VÝ dô: XÐt quan hÖ r (b¶ng 2.8)

B¶ng 2.8

A B C D E

1 1 0 0 0

0 1 0 1 1

0 0 2 0 0

2 0 2 0 1

TÝnh {B, C}+r

E12 ={B, C}, E13 = {D, E}, E14 = {D}

E23 = {A}, E24 ={E}

E34 = {B, C, D}

M = {{A}, {B, C}, {B, C, D}, {D}, {D, E}, {E}}

VËy {B, C}+r = {B, C} ∩ {B, C, D} ={B, C}

2.2.2. Mét sè thuËt to¸n liªn quan ®Õn kho¸

Khi gi¶i quyÕt c¸c bµi to¸n th«ng tin qu¶n lý, ng−êi ta th−êng sö dông c¸c hÖ qu¶n trÞ c¬ së d÷ liÖu mµ trong ®ã chøa c¬ së d÷ liÖu quan hÖ. C¸c phÐp xö lÝ ®èi víi bµi to¸n nµy th−êng lµ t×m kiÕm b¶n ghi sau ®ã thªm b¶n ghi míi, thay ®æi néi dung b¶n ghi hoÆc xo¸ b¶n ghi.

nÕu tån t¹i B ∈ M: A ⊆ B, (giao cña tÊt c¶ c¸c

tËp A ⊆ B trong M chøa nã (A))

ng−îc l¹i

Page 68: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

68

Trong c¸c thao t¸c trªn, viÖc t×m kiÕm b¶n ghi lµ rÊt quan träng. Muèn t×m ®−îc b¶n ghi trong file d÷ liÖu th× chóng ta ph¶i x©y dùng kho¸ cña file d÷ liÖu ®ã.

Cã hai thuËt to¸n t×m kho¸ cña quan hÖ vµ l−îc ®å quan hÖ. T×m kho¸ ë ®©y chÝnh lµ t×m kho¸ tèi tiÓu.

ThuËt to¸n 3: T×m kho¸ tèi tiÓu cña mét quan hÖ

Vμo: r = {h1,.., hm} lµ mét quan hÖ trªn tËp thuéc tÝnh R = {a1,..,an}

Ra: K lµ mét kho¸ tèi tiÓu cña r.

Ph−¬ng ph¸p:

B−íc1: TÝnh Er = {A1, A2....} trong ®ã Er lµ c¸c hÖ b»ng nhau.

B−íc 2: TÝnh Mr lµ c¸c hÖ b»ng nhau cùc ®¹i.

B−íc 3: LÇn l−ît tÝnh c¸c thuéc tÝnh K0, K1,.., Kn theo qui t¾c:

K0 = R = {a1,.., an} hoÆc K0 lµ mét kho¸ ®· biÕt.

i 1 i

i

i 1

K {a }

K

K

−⎧⎪⎪= ⎨⎪⎪⎩

B−íc 4: §Æt K = Kn. Khi ®ã K lµ kho¸ tèi tiÓu.

NhËn xÐt: NÕu ta thay ®æi thø tù c¸c thuéc tÝnh cña r b»ng thuËt to¸n nµy chóng ta cã thÓ t×m ®−îc mét kho¸ tèi tiÓu kh¸c.

VÝ dô: Cho quan hÖ r (b¶ng 2.9):

B¶ng 2.9

A B C D E

1 1 0 1 0

1 0 0 1 1

2 1 1 0 2

1 0 1 1 0

nÕu: kh«ng tån t¹i A ∈ Mr: Ki-1- { a i}⊆ A

(bao Ki)

trong tr−êng hîp ng−îc l¹i

Page 69: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

69

B−íc 1: E12 = {A,C,D} E13 = {B} E14 = {A,D,E}

E23 = ∅ E24 = {A,B,D} E34 = {C}

B−íc 2: Mr = {{A, C, D}, {A, D, E},{A, B, D}}

B−íc 3: (KH: P(Mr) - phÇn tö cña Mr)

K0 = {A, B, C, D, E}

XÐt K1 = K0 - {A} = {B, C, D, E} ⊄ P(Mr) ⇒ K1 ={B, C, D, E}

XÐt K2 = K1 - {B} = {C, D, E} ⊄ P(Mr) ⇒ K2 = {C, D, E}

XÐt K3 = K2 - {C} = {D, E} ⊂ P(Mr) ⇒ K3 = {C, D, E}

XÐt K4 = K3 - {D} = {C, E} ⊄ P(Mr) ⇒ K4 ={C, E}

XÐt K5 = K4 - {E} = {C} ⊂ P(Mr) ⇒ K5 ={C, E}

VËy {C, E} lµ mét kho¸ tèi tiÓu cña r.

Còng vÝ dô trªn nh−ng ta thay ®æi tËp thuéc tÝnh theo thø tù lµ: A, C, E, B, D}. Ta ®i t×m kho¸ tèi tiÓu cña r.

B−íc 1 vµ b−íc 2 gièng nh− trªn

B−íc 3:

K0 ={A, C, E, B, D}

XÐt K1 = K0 - {A} = {C, E, B, D} ⊄ P(Mr) ⇒ K1={C, E, B, D}

XÐt K2 = K1 - {C} = {E, B, D} ⊄ P(Mr) ⇒ K2 ={E, B, D}

XÐt K3 = K2 - {E} = {B, D} ⊂ P(Mr) ⇒ K3 = K2 ={E, B, D}

XÐt K4 = K3 - {B} = {E, D}⊂ P(Mr) ⇒ K4 = K3 = {E, B, D}

XÐt K5 = K4 - {D} = {B, E} ⊄ P(Mr) ⇒ K5 = {E, B}

VËy kho¸ tèi tiÓu cña r lµ{E, B}.

Nh− vËy thay ®æi thø tù cña c¸c thuéc tÝnh, ta sÏ cã nh÷ng tËp kho¸ tèi tiÓu kh¸c nhau.

VÝ dô: Cho quan hÖ r (b¶ng 2.10):

Page 70: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

70

B¶ng 2.10

A B C D E

2 2 1 4 1

1 2 1 2 2

1 1 2 2 1

3 1 3 1 2

B−íc 1: E12 ={B, C} E13 ={E} E14 = ∅

E23 ={A, D} E24 ={E} E34 ={B}

B−íc 2: Mr ={{B, C}, {E},{A, D}}

B−íc 3:

* C¸c thuéc tÝnh ®−îc lÊy theo thø tù r1 ={A, B, C, D, E}

K0 = R = {A, B, C, D, E}

XÐt K1 = K0 - {A}= {B, C, D, E} ⊄ P(Mr) ⇒ K1 = B, C, D, E}

XÐt K2 = K1 - {B}= {C, D, E} ⊄ P(Mr) ⇒ K2 = {C, D, E}

XÐt K3 = K2 - {C}= {D, E} ⊄ P(Mr) ⇒ K3 = {D, E}

XÐt K4 = K3 - {D}= {E}⊂ P(Mr) ⇒ K4 = K3 = {D, E}

XÐt K5 = K4 - {E}= {D}⊂ P(Mr) ⇒ K5 = K4 = {D, E}

VËy kho¸ tèi tiÓu cña r lµ {D, E}.

* C¸c thuéc tÝnh ®−îc lÊy theo thø tù r2 ={E, D, C, B, A}

K0 = R = {E, D, C, B, A}

XÐt K1 = K0 - {E} = {D, C, B, A} ⊄ P(Mr) ⇒ K1 = {D, C, B, A}

XÐt K2 = K1 - {D} = {C, B, A} ⊄ P(Mr) ⇒ K2 = {C, B, A}

XÐt K3 = K2 - {C} = {B, A} ⊄ P(Mr) ⇒ K3 = {B, A}

XÐt K4 = K3 - {B} = {A}⊂ P(Mr) ⇒ K4 = K3 = {B, A}

XÐt K5 = K4 - {A} = {B}⊂ P(Mr) ⇒ K5 = K4 = {B, A}

VËy kho¸ tèi tiÓu kh¸c cña quan hÖ lµ {B, A}.

Page 71: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

71

ThuËt to¸n 4: T×m kho¸ tèi tiÓu cho mét s¬ ®å quan hÖ

Vμo: s¬ ®å quan hÖ s = <R, F>

trong ®ã: F lµ tËp c¸c phô thuéc hµm

R ={a1,.., an}lµ tËp c¸c thuéc tÝnh

Ra: K lµ tèi tiÓu cña s

Ph−¬ng ph¸p:

TÝnh liªn tiÕp c¸c tËp thuéc tÝnh K0, K1,.., Kn nh− sau:

K0 = R = {a1,.., an}

i 1

i

i 1 i

KK

K {a }

⎧⎪= ⎨−⎪⎩

K = Kn lµ kho¸ tèi tiÓu.

Ta cã thÓ dïng c«ng thøc t−¬ng ®−¬ng:

i 1 i

i

i 1

K {a }K

K

−⎧⎪= ⎨⎪⎩

NhËn xÐt:

- Thay ®æi thø tù c¸c thuéc tÝnh cña R b»ng thuËt to¸n trªn chóng ta cã thÓ t×m ®−îc mét kho¸ tèi tiÓu kh¸c.

- NÕu nh− ®· biÕt A lµ mét kho¸ nµo ®ã th× cã thÓ ®Æt K0 = A, ta vÉn t×m ra ®−îc kho¸ tèi tiÓu vµ thêi gian t×m nhanh h¬n.

VÝ dô: Gi¶ sö s = < F, R > lµ mét l−îc ®å quan hÖ trong ®ã:

R = {a, b, c, d}

F = {{a, b}→{d},{c}→{b}}

T×m kho¸ tèi tiÓu cña s¬ ®å quan hÖ.

¸p dông thuËt to¸n trªn ta cã:

+ K0 = R ={a, b, c, d}

+ TÝnh K1

Ki-1 nÕu K i-1 −{ ai}→ R ∉ F+

Ki-1−{ a i} nÕu ng−îc l¹i.

nÕu {Ki-1 − ai}+ = R

nÕu ng−îc l¹i.

Page 72: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

72

XÐt K1 = K0 − {a} ={b, c, d}

{b, c, d}+ = {b, c, d} ≠ R

VËy K1 ={a, b, c, d}. (K1 = K0)

+ TÝnh K2

XÐt K2 = K1−{b} = {a, c, d}

{a, c, d}+ = {a, b, c, d} = R

VËy K2 ={a, c, d}

+ TÝnh K3

XÐt K3 = K2 −{c} = {a, d}

{a, d}+ = {a, d}≠ R

VËy K3 ={a, c, d} (K3 = K2)

+ TÝnh K4

XÐt K4 = K3 −{d} = {a, c}

{a, c}+ = {a, b, c, d} = R

VËy K4 = {a, c}

VËy kho¸ tèi tiÓu lµ {a, c}.

2.2.3. ThuËt to¸n x¸c ®Þnh c¸c thuéc tÝnh c¬ b¶n

Gi¶ sö r lµ mét quan hÖ trªn R vµ Kr lµ tËp tÊt c¶ c¸c kho¸ tèi tiÓu cña r. Ta nãi a lµ thuéc tÝnh c¬ b¶n cña r nÕu tån t¹i mét kho¸ tèi tiÓu

K (K∈ Kr) ®Ó a lµ mét phÇn tö cña K.

NÕu a kh«ng lµ thuéc tÝnh c¬ b¶n, a sÏ ®−îc gäi lµ thuéc tÝnh thø cÊp.

§èi víi l−îc ®å quan hÖ, ta còng cã ®Þnh nghÜa t−¬ng tù.

ThuËt to¸n 5: T×m tÊt c¶ c¸c thuéc tÝnh c¬ b¶n cña mét quan hÖ trªn R

Vμo: r ={h1,..,hm} lµ mét quan hÖ trªn R.

Ra: V lµ tËp tÊt c¶ c¸c thuéc tÝnh c¬ b¶n cña r.

Page 73: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

73

Ph−¬ng ph¸p:

B−íc 1: Tõ r ta x©y dùng mét tËp Er = {E i j: m ≥ j > i ≥1}

Trong ®ã E i j ={a∈R: hi(a) = h j (a)}

B−íc 2: Tõ Er ta x©y dùng tËp

M ={B ∈ P(R): ∃ E i j ∈ Er: E i j = B}

B−íc 3: Tõ M ta x©y dùng tËp

Mr = {B ∈M: ∀B’ ∈M: B ⊄ B’}

(chØ lÊy tÖp nµo trong M mµ kh«ng cã tËp kh¸c bao nã, tøc lµ bá bít tËp con thùc sù)

B−íc 4: X©y dùng tËp V = R- ∩ B mµ B ∈ Mr.

VÝ dô:

XÐt quan hÖ (b¶ng 2.11)

B¶ng 2.11

A B C D

1 2 1 1

2 2 1 0

1 1 0 0

2 1 0 1

B−íc 1: TÝnh Er

E12 ={B,C} E13 ={A} E14 ={D}

E23 ={D} E24 ={A} E34 ={B,C}

B−íc 2: TÝnh M ={{B,C},{A},{D}}

B−íc 3: TÝnh Mr ={{B,C},{A},{D}}. V× giao cña c¸c tËp con trong Mr b»ng rçng nªn sang,

B−íc 4: V = R- φ ={A,B,C,D}.

2.3. C¸c phÐp to¸n xö lý file d÷ liÖu

Cho 2 file d÷ liÖu sau (b¶ng 2.12):

Page 74: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

74

B¶ng 2.12

File r File t

A B C A D E

a b c a b c

a a d b c d

a d c a d c

a g f

2.3.1. PhÐp hîp (r ∪ t) (Union)

Gi¶ sö r, t lµ 2 file d÷ liÖu cã cïng sè cét n khi ®ã file d÷ liÖu lµ

hîp 2 file r vµ t ký ph¸p lµ r ∪ t, gåm n cét bao gåm c¸c b¶n ghi, c¸c

dßng cña c¶ file r vµ file t. Nh÷ng dßng gièng nhau chØ lÊy mét lÇn. NÕu r vµ t lµ c¸c file cã tªn c¸c cét kh¸c nhau th× cét cña quan hÖ hîp kh«ng cã tªn.

VÝ dô:

Víi r vµ t nh− trªn ta cã r ∪ t lµ (b¶ng 2.13):

B¶ng 2.13

a b c

a a d

a d c

b c d

a g f

2.3.2. PhÐp trõ (r-t) (Difference)

Gi¶i sö r vµ t lµ 2 file d÷ liÖu cã cïng n cét.

File d÷ liÖu gäi lµ hiÖu, ký ph¸p r-t lµ mét file d÷ liÖu n cét bao gåm c¸c b¶n ghi cña r nh−ng kh«ng cã mÆt trong t. NÕu r vµ t cã tªn c¸c cét kh¸c nhau th× file d÷ liÖu hiÖu kh«ng cã tªn c¸c cét.

Page 75: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

75

VÝ dô: B¶ng 2.14

B¶ng 2.14

r-t=

a a d

2.3.3. PhÐp giao (r∩t) (Intersection)

Gi¶ sö r vµ t lµ 2 file d÷ liÖu cïng n cét. File d÷ liÖu giao r∩t bao

gåm file d÷ liÖu cã n cét gåm c¸c b¶n ghi cã c¶ trong t vµ r. NÕu file d÷ liÖu cã c¸c cét kh¸c nhau th× file d÷ liÖu giao kh«ng cã tªn c¸c cét.

VÝ dô:

Víi r vµ t cho tr−íc ta cã b¶ng 2.15.

B¶ng 2.15

r∩t=

a b C

a d c

2.3.4. PhÐp tÝch §Ò-c¸c (r x t) (Cartesian product)

Cho r lµ file d÷ liÖu trªn R1 = {a1, a2,..., an}

t lµ file d÷ liÖu trªn R2 = {b1, b2,..., bm}

Khi ®ã file d÷ liÖu tÝch §Ò-c¸c ký ph¸p r x t lµ file d÷ liÖu gåm n + m cét. §ã lµ n cét cña r vµ m cét cña t. C¸c dßng cña tÝch §Ò-c¸c cã

d¹ng x1, x2,..., xn, y1, y2,..., ym. ë ®©y x1, x2,..., xn ∈ r vµ y1, y2,..., ym ∈ t.

Sè l−îng c¸c dßng cña tÖp tÝch r x t b»ng sè l−îng dßng cña r

nh©n víi sè l−îng dßng cña t. Ký hiÖu: | r x t | = |r| x |t|

Víi r vµ t nh− tr−íc ta cã b¶ng 2.16:

Page 76: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

76

B¶ng 2.16

r x t =

rA B C tA D E

a b c a b c

a b c b c d

a b c a d c

a b c a g f

a a d a b c

a a d b c d

a a d a d c

a a d a g f

a d c a b c

a d c b c d

a d c a d c

a d c a g f

2.3.5. PhÐp chiÕu (Projection)

Gi¶ sö r lµ file d÷ liÖu cã tËp cét lµ R={a1,a2,...,an} khi ®ã phÐp

chiÕu ký hiÖu lµ Π lªn tËp r lµ Πi1,i2,...,ip(r), i lµ sè thø tù lÊy trong tËp tõ 1 ®Õn n. j = 1,2,...,p (chØ sè p <= n)

Khi ®ã ta thùc hiÖn phÐp chiÕu nh− sau: Gi÷ l¹i p cét cã sè hiÖu lµ i1,i2,...,ip vµ lo¹i bá c¸c dßng trïng nhau.

VÝ dô:

Víi r vµ t cho tr−íc ta cã b¶ng 2.17:

B¶ng 2.17

Π1,2(r)=

A B

a b

a a

a d

Page 77: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

77

2.3.6. PhÐp chän (Restriction)

Gi¶ sö r lµ file d÷ liÖu trªn R={a1,a2,...,an} phÐp chän h×nh thµnh

file d÷ liÖu ký ph¸p δF(r) ®ã lµ file d÷ liÖu cã cïng sè cét nh− r nh−ng sè dßng chØ bao gåm c¸c dßng cña r tho¶ m·n ®iÒu kiÖn F.

ë ®©y F lµ biÓu thøc cã ®iÒu kiÖn gåm:

- C¸c to¸n h¹ng (tªn cét vµ h»ng)

- C¸c phÐp to¸n quan hÖ sè häc (<,=,=,>,=,?)

- C¸c phÐp to¸n logic (^,v,¬ lµ phÐp vµ, hoÆc, phñ ®Þnh)

- H»ng ®−îc ®Æt trong dÊu nh¸y.

VÝ dô: Víi r ®· cho tr−íc (trong b¶ng 2.12)

F lµ ®iÒu kiÖn A =‘a’ ∧ B = ‘b’

khi ®ã δF(r) lµ phÐp chän ®−îc thùc hiÖn b»ng c¸ch rót ra c¸c b¶n ghi tho¶ m·n F tõ r vµ lo¹i bá c¸c b¶n ghi dßng trïng nhau.

B¶ng 2.18

A B C

a b c

2.3.7. PhÐp chia (Division)

Gi¶ sö r lµ file d÷ liÖu n cét

t lµ file d÷ liÖu m cét, trong ®ã n > m vµ t ≠ φ

File d÷ liÖu th−êng ký ph¸p lµ: r÷t ®−îc t¹o ra nh− sau:

A1 = Π1,...,n-m(r)

A2 = A1 x t

A3 = A2-r

A4 = Π1,2,...,n-m(A3)

r÷t = A1 - A4

Nh− vËy: r÷t = Π1,...,n-m(r) - Π1,...,n-m ((Π1,...,n-m(r) x t)-r)

Page 78: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

78

PhÐp chia lµ phÐp phøc t¹p nhÊt mµ Codd ®Ò ra, b¶n chÊt cña phÐp nµy lµ sµng läc trong n-m cét ®Çu cña file d÷ liÖu bÞ chia (chÝnh lµ r) mµ kh«ng bÞ rµng buéc bëi file d÷ liÖu chia (t). Cã thÓ thÊy r»ng c¸ch tÝnh file d÷ liÖu th−êng chØ dïng phÐp chiÕu vµ phÐp tÝch §Ò-c¸c.

VÝ dô:

Cho file r nh− trong b¶ng 2.19:

B¶ng 2.19

A B C D

a b c d

a b e f

b c e f

e d c d

e d e f

a b d c

b b b b

B¶ng 2.20: file d÷ liÖu t B¶ng 2.21: file d÷ liÖu r ÷ t

2.3.8. PhÐp nèi ®iÒu kiÖn 2 file d÷ liÖu (Joinθ)

Gi¶ sö r lµ file d÷ liÖu n cét

t lµ file d÷ liÖu m cét

θ lµ mét trong nh÷ng quan hÖ sè häc: <, ≤, >, ≥, ≠. Khi ®ã ký ph¸p

phÐp nèi 2 file d÷ liÖu r vµ t cã ®iÒu kiÖn lµ r >< t

Khi ®ã kÕt qu¶ cña phÐp nèi θ cña 2 file d÷ liÖu r vµ t lµ file d÷ liÖu cã n+m cét bao gåm c¸c b¶n ghi cña tÝch §Ò c¸c r x t, trong ®ã c¸c b¶n ghi nμy tho¶ m·n quan hÖ sè häc θ.

VÝ dô: Víi r vµ t ®· cho, ta cã phÐp nèi θ:

E F

c d

e f

E F

a b

e d

θ

Page 79: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

79

B¶ng 2.22

r.A = t.A

r.A B C t.A D E

a b c a b c

a b c a d c

a b c a g f

a a d a b c

a a d a d c

a a d a g f

a d c a b c

a d c a d c

a d c a g f

2.3.9. PhÐp nèi 2 file d÷ liÖu (Join)

Gi¶ sö r lµ file d÷ liÖu n cét

t lµ file d÷ liÖu m cét vµ cã q cét cã tªn trïng nhau A1,...,Aq, ta ký

ph¸p phÐp nèi r víi t nh− sau: r >< t

PhÐp nèi ®−îc thùc hiÖn nh− sau:

1. TÝnh r x t

2. Thùc hiÖn chän trong tÝch §Ò-c¸c lÊy ra c¸c b¶n ghi tho¶ m·n ®iÒu kiÖn c¸c cét cã tªn trïng nhau th× cã cïng gi¸ trÞ.

3. Dïng phÐp chiÕu lo¹i bá q cét (tªn gièng nhau), mçi cÆp gièng nhau chØ gi÷ l¹i mét

Nh− vËy sè cét cña phÐp nèi lµ n+m-q

r >< t = Π i1i2...in+m-q(δrA1=tA1 ∧... ∧ rAq =tAq(r x t))

VÝ dô:

B¶ng 2.23: file r B¶ng 2.24: file t

A B C

0 1 0

1 1 1

0 1 1

D A E

0 0 0

1 1 0

Page 80: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

80

B¶ng 2.25

r x t=

rA B C D tA E

0 1 0 0 0 0

0 1 0 1 1 0

1 1 1 0 0 0

1 1 1 1 1 0

0 1 1 0 0 0

0 1 1 1 1 0

B¶ng 2.26 B¶ng 2.27

(δrA1 = tA1 ∧... ∧ rAq=t.Aq) = Δ Π(Δ) =

rA B C D tA E

0 1 0 0 0 0

1 1 1 1 1 0

0 1 1 0 0 0

rA B C D E

0 1 0 0 0

1 1 1 1 0

0 1 1 0 0

2.3.10. VÝ dô ¸p dông

Cã b¶ng tæng kÕt b¸n hµng ®å ch¬i

Ngμy th¸ng M· hμng Tªn hμng §¬n gi¸ Sè l−îng

2905 MH1

MH2

MH6

Tñ l¹nh

Qu¹t ®iÖn

BÕp ga

2

5

2

2

3

2

Thμnh tiÒn

§· thanh to¸n

23

7

Tõ ®©y, x©y dùng b¶ng øng víi l−îc ®å quan hÖ sau:

BANHANG (Ngµy th¸ng, M· hµng, Tªn hµng, §¬n gi¸, Sè l−îng, tæng theo ngµy, thanh to¸n).

Kho¸ tèi tiÓu lµ {ngµy th¸ng, m· hµng}

Ng−êi ta t¸ch ®−îc thµnh c¸c b¶ng chuÈn 3 nh− sau:

Page 81: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

81

1. KHOILUONG

Ngμy th¸ng M· hμng Sè l−îng

2905

2905

2905

MH1

MH3

MH6

2

3

2

3005 MH2 3

3105

3105

3105

MH1

MH4

MH9

4

3

2

2. DOANHSO

Ngμy th¸ng Tæng Thanh to¸n

2905 23 7

3005 12 3

3105 32 21

3. HANG

M· hμng Tªn hμng

MH1

MH3

MH6

MH2

MH4

MH9

Tñ l¹nh

Qu¹t ®iÖn

BÕp ga

Bμn lμ

Xe m¸y

Nåi c¬m ®iÖn

4. MATHANG

Tªn hμng §¬n gi¸

Tñ l¹nh

Qu¹t ®iÖn

BÕp ga

Bμn lμ

Xe m¸y

Nåi c¬m ®iÖn

2

5

2

4

6

3

Page 82: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

82

1. T×m l¹i BANHANG?

BANHANG = khèi l−îng >< Doanh sè >< Hµng >< MÆt hµng

Ngμy th¸ng

M· hμng

Tªn hμng §¬n gi¸ Sè l−îng

Tæng theo ngμy

Thanh to¸n

2905

2905

2905

MH1

MH3

MH6

Tñ l¹nh

Qu¹t ®iÖn

BÕp ga

2

5

2

2

3

2

23

23

23

7

7

7

3005 MH2 Bμn lμ 4 3 12 3

3105

3105

3105

MH1

MH4

MH9

Tñ l¹nh

Xe m¸y

Nåi c¬m ®iÖn

2

6

3

4

3

2

32

32

32

21

21

21

2. Cho biÕt doanh sè b¸n ra sau ngµy 29 th¸ng 5?

Πngµy th¸ng, tæng(σngµy th¸ng > ‘2905’(DOANHSO))

Ngμy th¸ng Tæng

3005

3105

12

32

3. Cho biÕt tªn hμng vµ sè l−îng ®· b¸n trong ngµy 29 th¸ng 5?

Πtªn hµng, sè l−îng(σngµy th¸ng = �2905’(KHOILUONG) >< HANG)

Tªn hμng Sè l−îng

Tñ l¹nh

Qu¹t ®iÖn

BÕp ga

2

3

2

4. Cho biÕt c¸c ngμy mµ trong ®ã nh÷ng ngµy nµy doanh sè b¸n ra Ýt nhÊt lµ 20?

Πngµy th¸ng(σtæng >= ‘20’(DOANHSO)

Ngμy th¸ng

2905

3105

Page 83: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

83

5. Cho biÕt m· hμng vµ ®¬n gi¸ cña nh÷ng mÆt hµng b¸n ra trong ngµy 31/5?

Πm·hµng(σngµy th¸ng = �3105’(KHOILUONG)) Πm·hµng, ®¬n gi¸(HANG MATHANG)

M· hμng §¬n gi¸

MH1

MH4

MH9

2

6

3

6. Cho biÕt m· hμng vµ tªn hμng mµ ®¬n gi¸ cña nã nhá h¬n 4?

Π tªn hµng, m·hµng(σ®¬n gi¸<‘4’(MATHANG) HANG)

Tªn hμng M· hμng

Tñ l¹nh

BÕp ga

Nåi c¬m ®iÖn

MH1

MH6

MH9

7. T×m tªn hμng vµ ®¬n gi¸ cña m· hµng MH1 vµ sè l−îng b¸n ra cña mÆt hµng nµy trong ngµy 31/5?

Π tªn hµng,§¬n gi¸, sè l−îng(Π m· hµng, sè l−îng (σngµy th¸ng= ‘3105’, m· hµng = MH1(KHOILUONG))

>< HANG >< MATHANG)

Tªn hμng §¬n gi¸ Sè l−îng

Tñ l¹nh 2 4

NhËn xÐt:

§Ó t¨ng tèc ®é truy vÊn d÷ liÖu, chóng ta cÇn thùc hiÖn theo tr×nh tù sau:

- X¸c ®Þnh c¸c b¶ng tham gia

- Gi¶m ®é lín cña mét tÖp tr−íc khi ghÐp nèi (b»ng c¸ch −u tiªn phÐp chän cã ®iÒu kiÖn ®−îc thùc hiÖn tr−íc, thùc hiÖn phÐp chiÕu ngay nÕu thÊy kh«ng ¶nh h−ëng ®Õn kÕt qu¶ bµi to¸n)

2.3.11. C¸c chiÕn l−îc tèi −u tæng qu¸t

V× sao mét sè c©u hái truy vÊn l¹i thùc hiÖn qu¸ l©u nh− vËy?

Page 84: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

84

Trong c¸c ng«n ng÷ hái dùa trªn ®¹i sè quan hÖ, c¸c c©u hái liªn quan ®Õn phÐp tÝnh tÝch §Ò-c¸c vµ phÐp kÕt nèi lµ rÊt tèn kÐm thêi gian. Cã thÓ vÝ dô, cã 2 quan hÖ r1 vµ r2 (coi hai quan hÖ nµy lµ 2 tÖp d÷ liÖu). TÖp r1 cã n b¶n ghi, tÖp r2 cã m b¶n ghi. TÝch §Ò-c¸c cña r1xr2 thu ®−îc cã nxm b¶n ghi. PhÐp tÝnh trªn kh«ng nh÷ng tèn kÐm vÒ thêi gian mµ cßn tèn c¶ vÒ « nhí n÷a.

Dùa vµo vÝ dô sau, chóng ta sÏ lµm râ h¬n t− t−ëng cÇn thiÕt ph¶i thao t¸c ra sao ®Ó gi¶m thêi gian xö lý c©u hái, ®Æc biÖt cÇn thiÕt nhÊt lµ ph¶i gi¶m thêi gian xö lý c©u hái, gi¶m tíi møc cã thÓ ®èi víi c¸c truy xuÊt ngoµi (tøc lµ c¸c thao t¸c víi bé nhí thø cÊp nh− b¨ng, ®Üa tõ)

Cho c©u hái trªn l−îc ®å R(A,B) vµ S(C,D) d−íi d¹ng ng«n ng÷ ®¹i sè quan hÖ: A B C D 100( (AB x CD))= Λ =Π σ

NÕu ®−a phÐp chän D = 100 vµo bªn trong phÐp tÝch §Ò-c¸c sÏ ®−îc: A B C D 100( (AB x (CD))= =Π σ σ

Vµ sau ®ã chuyÓn phÐp chän σ B=C cña tÝch §Ò-c¸c thµnh phÐp

“kÕt nèi b»ng” sÏ ®−îc: A D 100B C(AB (CD))==

Π σ><

Râ rµng phÐp tÝnh cuèi cïng sÏ ®ì tèn kÐm thêi gian h¬n rÊt nhiÒu.

Do vËy, viÖc tæ chøc l¹i c©u hái nh− vÝ dô nªu trªn lµ mét minh häa râ rµng cho thÊy sè lÇn cÇn truy nhËp tíi bé nhí thø cÊp sÏ gi¶m ®i rÊt nhiÒu. Tr×nh tù thùc hiÖn c¸c phÐp tÝnh sÏ ®ãng mét vai trß quan träng trong qu¸ tr×nh tæ chøc c©u hái

Ullman J.D trong c¸c kÕt qu¶ nghiªn cøu c«ng bè lÇn ®Çu tiªn cña m×nh ®· tr×nh bµy 6 chiÕn l−îc tæng quan cho viÖc tèi −u ho¸, c©u hái nh− sau:

1. Thùc hiÖn phÐp chän sím nh− cã thÓ.

BiÕn ®æi c©u hái ®Ó ®−a phÐp chän vµo thùc hiÖn tr−íc nh»m lµm gi¶m bít kÝch cì cña kÕt qu¶ trung gian vµ do vËy chi phÝ ph¶i tr¶ gi¸ cho viÖc truy nhËp bé nhí thø cÊp còng nh− l−u tr÷ cña bé nhí chÝnh sÏ nhá ®i.

Page 85: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

85

2. Tæ hîp nh÷ng phÐp chän x¸c ®Þnh víi phÐp tÝch §Ò-c¸c thμnh

phÐp kÕt nèi

Nh− ®· biÕt, phÐp kÕt nèi, ®Æc biÖt lµ phÐp kÕt nèi b»ng cã thÓ

thùc hiÖn ®−îc “rΔ h¬n lµ thùc hiÖn phÐp tÝch §Ò-c¸c trªn cïng c¸c

quan hÖ. NÕu kÕt qu¶ cña tÝch §Ò-c¸c RxS lµ ®èi sè cña phÐp chän vµ

phÐp chän liªn quan tíi c¸c phÐp so s¸nh gi÷a c¸c thuéc tÝnh cña R vµ

S th× râ rµng phÐp tÝch §Ò-c¸c lµ phÐp kÕt nèi.

3. Tæ hîp d·y c¸c phÐp tÝnh mét ng«i nh− c¸c phÐp chän vμ phÐp

chiÕu.

Mét d·y c¸c phÐp mét ng«i nh− phÐp chän hoÆc phÐp chiÕu mµ

kÕt qu¶ cña chóng phô thuéc vµo c¸c bé cña mét quan hÖ ®éc lËp th×

cã thÓ nhãm c¸c phÐp tÝnh ®ã l¹i

4. T×m c¸c biÓu thøc con chung trong mét biÓu thøc

NÕu kÕt qu¶ cña mét biÓu thøc con chung (biÓu thøc xuÊt hiÖn

h¬n mét lÇn) lµ mét quan hÖ kh«ng lín vµ nã cã thÓ ®−îc ®äc tõ bé

nhí thø cÊp víi Ýt thêi gian th× nªn tÝnh to¸n tr−íc biÓu thøc ®ã chØ mét

lÇn. BiÓu thøc con chung cã liªn quan tíi mét phÐp kÕt nèi th× trong

tr−êng hîp tæng qu¸t kh«ng thÓ ®−îc thay ®æi nhê viÖc ®Èy phÐp chän

vµo trong.

§iÒu ®¸ng quan t©m lµ c¸c biÓu thøc con chung cã tÇn sè xuÊt hiÖn lín ®−îc biÓu diÔn trong c¸c view (khung nh×n) cña ng−êi sö

dông v× ®Ó thùc hiÖn c¸c c©u hái ®ã cÇn thay thÕ mét biÓu thøc cè ®Þnh

cho khung nh×n.

5. Xö lý c¸c tÖp tr−íc

Cã hai vÊn ®Ò cÇn xö lý tr−íc quan träng cho c¸c tÖp sè lµ s¾p xÕp tr−íc c¸c tÖp vµ thiÕt lËp c¸c tÖp chØ sè. Nh− vËy, râ rµng khi thùc

hiÖn c¸c phÐp tÝnh cã liªn quan tíi 2 tÖp (phÐp tÝnh 2 ng«i) sÏ nhanh

h¬n rÊt nhiÒu.

Page 86: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

86

6. §¸nh gi¸ tr−íc khi thùc hiÖn tÝnh to¸n

Mét khi cÇn chän tr×nh tù thùc hiÖn c¸c phÐp tÝnh trong biÓu thøc hoÆc chän mét trong hai ®èi sè cña mét phÐp hai ng«i cÇn tÝnh to¸n xem chi phÝ thùc hiÖn c¸c phÐp tÝnh ®ã (th−êng lµ sè phÐp tÝnh, thêi

gian, dung tÝch bé nhí theo mét tû lÖ gi÷a kÝch cì c¸c quan hÖ …). Tõ

®ã sÏ cã ®−îc c¸c chi phÝ (gi¸ thµnh) ph¶i tr¶ cho c¸c c¸ch kh¸c nhau ®Ó thùc hiÖn c¸c c©u hái.

2.4. C¸c d¹ng chuÈn vμ c¸c thuËt to¸n liªn quan

2.4.1. C¸c ®Þnh nghÜa chuÈn ho¸

§Þnh nghÜa 1 (D¹ng chuÈn 1 - 1NF)

Gi¶ sö r = {h1, h2,.., hm} lµ file d÷ liÖu trªn tËp cét R = {a1, a2,.., an}

Khi ®ã r lµ 1NF nÕu c¸c gi¸ trÞ hi(aj) lµ s¬ cÊp víi mäi i, j

Kh¸i niÖm s¬ cÊp hiÓu ë ®©y lµ gi¸ trÞ hi(aj) (i = 1,...,m ; j = 1,...n) kh«ng ph©n chia ®−îc n÷a.

VÝ dô:

XÐt quan hÖ - Tr×nh ®é ngo¹i ng÷

B¶ng 2.28. Quan hÖ TDNN

MNS Hoten Ngoaingu

A199001 Hoμng DiÖu Anh, NhËt

A199002 Quèc Trung Anh, Trung

A199003 ChÝ HiÕu Anh, §øc

A199004 Lan Anh Anh

A199005 Ph−¬ng Lan Anh, Hμn

A199006 B¶o Quúnh Ph¸p, Nga, Anh

Cã thÓ thÊy r»ng thuéc tÝnh NGOAINGU cßn cã thÓ ®−îc chia nhá h¬n ra thµnh tõng ngo¹i ng÷ mét vµ sau ®ã cã thÓ ph©n thµnh hai bé phËn lµ tªn ngo¹i ng÷ vµ tr×nh ®é ngo¹i ng÷. Do vËy quan hÖ ngo¹i ng÷ ch−a ë d¹ng chuÈn 1.

Page 87: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

87

§Þnh nghÜa 2 (D¹ng chuÈn 2 - 2NF)

Quan hÖ r ®−îc gäi lµ d¹ng chuÈn 2 nÕu:

- Quan hÖ r lµ d¹ng chuÈn 1

- Víi mäi kho¸ tèi tiÓu K:

A →{a}∉ Fr víi A ⊂ K vµ a lµ thuéc tÝnh thø cÊp.

§Þnh nghÜa 3 (D¹ng chuÈn 3 - 3NF)

Quan hÖ r lµ d¹ng chuÈn 3 nÕu:

A →{a}∉ Fr ®èi víi A mµ A+ ≠ R, a ∉ A, a ∉ ∪ K

Cã nghÜa lµ:

- K lµ mét khãa tèi tiÓu

- a lµ thuéc tÝnh thø cÊp

- A kh«ng lµ khãa

- A → {a} kh«ng ®óng trong r.

§Þnh nghÜa 4 (D¹ng chuÈn Boyce-Codd - BCNF)

Quan hÖ r = {h1, h2,..., hm} ®−îc gäi lµ d¹ng chuÈn Boyce-Codd

nÕu: A→ {a} ∉ Fr, ®èi víi nh÷ng tËp thuéc tÝnh A mµ A+ ≠ R, a ∉ A.

NhËn xÐt:

Qua ®Þnh nghÜa ta cã thÓ thÊy d¹ng chuÈn BCNF lµ 3NF vµ 3NF lµ 2NF. Chóng ta cã thÓ ®−a ra c¸c vÝ dô chøng tá quan hÖ lµ 2NF nh−ng kh«ng lµ 3NF vµ cã quan hÖ lµ 3NF nh−ng kh«ng lµ BCNF.

Nãi c¸ch kh¸c lµ líp c¸c quan hÖ BCNF lµ líp con thùc sù cña líp c¸c quan hÖ 3NF vµ líp c¸c quan hÖ 3NF nµy l¹i lµ líp con thùc sù cña líp c¸c quan hÖ 2NF.

§èi víi s = < R, F > th× c¸c d¹ng chuÈn 2NF, 3NF, BCNF trong ®ã ta thay Fr = F+.

Chó ý: §èi víi s¬ ®å quan hÖ chóng ta kh«ng cã d¹ng chuÈn 1NF.

Page 88: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

88

VÝ dô 1:

Cho s = < R, F > lµ s¬ ®å quan hÖ, víi R = (a1, a2, a3, a4)

F = {{a1}→ {a2},{a3} → {a4},{a2} → {a1, a3, a4}}

DÔ thÊy a1, a2 lµ c¸c khãa tèi tiÓu cña s, a3, a4 lµ thuéc tÝnh thø cÊp. Do ®ã, s lµ 2NF, nh−ng kh«ng lµ 3NF.

VÝ dô 2:

Cho t = < R, F > lµ s¬ ®å quan hÖ, víi R = (a1, a2, a3)

F = {{a1, a2} →{a3},{a3}→ {a2}}

Ta nhËn thÊy {a1, a2} lµ mét khãa tèi tiÓu cña t. HiÓn nhiªn t lµ

3NF. V× cã: {a3}→ {a2}, a3 kh«ng thuéc kho¸, a2 c¬ b¶n, nªn t kh«ng lµ BCNF.

Nh− vËy viÖc ph©n líp c¸c d¹ng chuÈn cã thÓ ®−îc thÓ hiÖn qua h×nh 2.2:

H×nh 2.2. Ph©n líp c¸c d¹ng chuÈn

2.4.2. Mét sè ®Æc tr−ng d¹ng chuÈn 2NF

B©y giê chóng ta nªu ra lo¹i phô thuéc hµm ®Æc biÖt, mµ phô thuéc d÷ liÖu nµy ®ãng vai trß quan träng trong d¹ng chuÈn 2.

Page 89: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

89

§Þnh nghÜa 5 (phô thuéc hoμn toμn, phô thuéc bé phËn)

Mét phô thuéc hµm A → B ®−îc gäi lµ s¬ cÊp nÕu kh«ng tån t¹i

mét tËp hîp A'⊂A sao cho A' → B. Trong tr−êng hîp nµy ta còng nãi

B phô thuéc hoμn toμn vµo A. Nh− vËy nÕu A lµ mét thuéc tÝnh s¬ cÊp

th× phô thuéc hµm A → B còng lµ s¬ cÊp. Trong tr−êng hîp ng−îc l¹i, ta nãi B phô thuéc bé phËn vµo A.

Trªn c¬ së ®Þnh lý nµy, ng−êi ta ®−a ra hai mÖnh ®Ò quan träng sau:

MÖnh ®Ò 1:

Cho r lµ mét quan hÖ trªn R. Khi ®ã r lµ 2NF khi vµ chØ khi:

- r lµ 1NF

- Mçi thuéc tÝnh thø cÊp cña r ®Òu phô thuéc hoµn toµn vµo mäi khãa tèi tiÓu.

V× s¬ ®å quan hÖ kh«ng cã d¹ng chuÈn 1NF, tõ ®Þnh nghÜa 2 ta cã mÖnh ®Ò sau:

MÖnh ®Ò 2:

Cho s lµ mét s¬ ®å quan hÖ trªn R. Khi ®ã s lµ 2NF khi vµ chØ khi mäi thuéc tÝnh thø cÊp cña s ®Òu phô thuéc hoµn toµn vµo khãa tèi tiÓu bÊt kú.

Cã thÓ thÊy, b¶n chÊt d¹ng chuÈn 2NF lµ lo¹i bá c¸c phô thuéc bé phËn gi÷a c¸c thuéc tÝnh thø cÊp víi c¸c khãa tèi tiÓu.

2.4.3. Mét sè ®Æc tr−ng d¹ng chuÈn 3NF

Trong môc nµy cã kh¸i niÖm quan träng m« t¶ d¹ng 3NF.

§Þnh nghÜa 6

Mét phô thuéc hµm A → C ®−îc gäi lµ trùc tiÕp nÕu kh«ng cã B

(B ≠ A vµ B ≠ C) sao cho A → B vµ B → C (tøc lµ B kh«ng phô thuéc hµm vµo A hoÆc C kh«ng phô thuéc hµm vµo B). Trong tr−êng hîp nÕu

Page 90: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

90

cã B nh− vËy th× B ®−îc gäi lµ tËp thuéc tÝnh b¾c cÇu vµ A → C lµ phô

thuéc b¾c cÇu.

Trªn c¬ së ®Þnh nghÜa nµy, ng−êi ta ®−a ra hai mÖnh ®Ò quan träng sau:

MÖnh ®Ò 3

Gi¶ sö r = {h1, h2,.., hm} lµ mét quan hÖ trªn R = {a1, a2,..., an}. Khi Êy r ë d¹ng chuÈn 3NF nÕu vµ chØ nÕu:

- Quan hÖ r ®· ë d¹ng chuÈn 2NF.

- Kh«ng cã thuéc tÝnh thø cÊp nµo cña r phô thuéc b¾c cÇu vµo mét kho¸ tèi tiÓu.

MÖnh ®Ò 4

Gi¶ sö s lµ mét s¬ ®å quan hÖ trªn R. Khi ®ã s lµ 3NF nÕu vµ chØ nÕu:

- s lµ 2NF

- Mäi thuéc tÝnh thø cÊp cña s phô thuéc trùc tiÕp vµo mçi kho¸ tèi tiÓu.

Trong d¹ng chuÈn 3NF chóng ta lo¹i bá c¸c phô thuéc bé phËn, phô thuéc b¾c cÇu gi÷a c¸c thuéc tÝnh thø cÊp víi c¸c kho¸ tèi tiÓu.

2.4.4. Mét sè ®Æc tr−ng d¹ng chuÈn BCNF

§Þnh nghÜa 7 (tËp sinh)

Gi¶ sö r lµ mét quan hÖ trªn R, cßn A, B ⊆ R vµ A → B. Khi ®ã ta nãi A lµ tËp sinh cña B nÕu:

- |A| < |B|,

- Kh«ng tån t¹i tËp con thùc sù cña A mµ x¸c ®Þnh hµm cho B

TËp C lµ tËp sinh cña quan hÖ r nÕu cã mét tËp D nµo ®ã ®Ó C lµ tËp sinh cña D.

Page 91: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

91

Trªn c¬ së ®Þnh nghÜa nµy, ng−êi ta ®−a ra c¸c mÖnh ®Ò quan träng sau:

MÖnh ®Ò 5

Gi¶ sö r lµ quan hÖ trªn R. Khi ®ã r lµ BCNF khi vµ chØ khi mäi tËp sinh cña r ®Òu lµ khãa.

MÖnh ®Ò 6

Gi¶ sö r lµ mét quan hÖ trªn R. Khi ®ã r lµ BCNF nÕu vµ chØ nÕu

víi mäi B ∈ Mr, a ∈ B th× {B - a}r+ = B - a, ë ®©y Mr lµ hÖ b»ng nhau

cùc ®¹i cña quan hÖ r.

Gi¶ sö A → B lµ mét phô thuéc hµm. Chóng ta gäi phô thuéc hµm

nµy lµ tÇm th−êng nÕu B ⊆ A. Ng−îc l¹i trong tr−êng hîp nµy, chóng ta gäi nã lµ phô thuéc hµm kh«ng tÇm th−êng.

MÖnh ®Ò 7

Gi¶ sö s = < R, F > lµ mét s¬ ®å quan hÖ trªn R. Khi ®ã s lµ BCNF

nÕu vµ chØ nÕu víi mäi A → B ∈ F vµ A → B kh«ng tÇm th−êng th× A+ = R.

2.4.5. C¸c thuËt to¸n

ThuËt to¸n 1 (kiÓm tra mét quan hÖ r cã lμ BCNF hay kh«ng)

Vμo: r = {h1, h2,.., hm} lµ mét quan hÖ trªn R = {a1, a2,..., an}.

Ra: r cã ph¶i lµ BCNF hay kh«ng?

Ph−¬ng ph¸p:

B−íc 1: Tõ r ta x©y dùng tËp Er: Er = {Eij: 1 ≤ i < j ≤ m}.

trong ®ã Eij = {a ∈ R: hi(a) = hj (a)}

B−íc 2: Tõ Er x©y dùng tËp M.

M = {B ∈ P(R): Tån t¹i Eij ∈ Er: Eij = B}

B−íc 3: Tõ M x©y dùng tËp Mr, Mr ={B ∈ M: ∀B' ∈ M: B ⊄ B'}

Page 92: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

92

B−íc 4: NÕu víi ∀B ∈ Mr, ∀a ∈ B ta cã: {B - a}r+ = B – a, ta kÕt

luËn r ®· ë BCNF, ng−îc l¹i r ch−a ë BCNF.

VÝ dô:

B¶ng 2.29: Quan hÖ r

A B C D E

1 0 1 0 1

2 1 0 1 1

2 0 1 1 0

1 1 3 1 3

Khi ®ã: E12 = {E}, E13 = {B, C}, E14 = {A}

E23 ={A, D}, E24 ={B, D}, E34 = {D}

M = {{E}, {A},{D}, {B, C}, {A, D}, {B, D}}

Mr = {{B, C},{A, D},{E},{B, D}}

Ta cã thÓ kiÓm tra r»ng {B, C} - B = C vµ {C}r+ = {B, C}. V× vËy r

kh«ng lµ BCNF.

ThuËt to¸n 2 (KiÓm tra mét s¬ ®å quan hÖ s cã lμ BCNF hay kh«ng)

Vμo: s = < R, F >, R= {a1, a2,..., an} vµ 1 1

i i

m m

A BF ... A , B R

A B

→⎧⎪= ⊆⎨⎪ →⎩

Ra: s cã lµ BCNF hay kh«ng?

B−íc 1: NÕu A1 → B1 lµ phô thuéc hµm kh«ng tÇm th−êng (Bi ⊆ Ai)

vµ A1+ ≠ R th× dõng vµ kÕt luËn s kh«ng lµ BCNF, ng−îc

l¹i chuyÓn sang b−íc sau.

...

B−íc m: Gièng b−íc 1 nh−ng ®èi víi Am → Bm

B−íc m+1: s lµ BCNF.

Page 93: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

93

VÝ dô:

Cho s¬ ®å quan hÖ s = < R, F >, víi R = {a1, a2, a3, a4,a5, a6}

1 2

1 2 3 4

4 5 6

{a } {a }F {a ,a } {a ,a }

{a } {a ,a }

→⎧⎪= →⎨⎪ →⎩

(nhËn xÐt: m = 3 phô thuéc hμm kh«ng tÇm th−êng)

B−íc 1: XÐt phô thuéc hµm thø nhÊt, cã bao ®ãng vÕ tr¸i:

{a1}+ = {a1, a2, a3, a4, a5, a6} = R.

B−íc 2: XÐt phô thuéc hµm thø 2, cã bao ®ãng vÕ tr¸i:

{a1,a2}+ = {a1, a2, a3, a4, a5, a6} = R.

B−íc 3: XÐt tiÕp phô thuéc hµm thø 3, cã bao ®ãng vÕ tr¸i:

{a4}+ = {a4, a5, a6} ≠ R.

Nh− vËy t¹i b−íc 3 (m = 3) ph¶i dõng vµ kÕt luËn: s kh«ng lµ BCNF.

2.4.6. ChuÈn ho¸ mét quan hÖ

Nh− ta ®· biÕt, thùc thÓ lµ h×nh ¶nh t−îng tr−ng cho mét ®èi t−îng cô thÓ hay mét kh¸i niÖm trõu t−îng nh−ng cã mÆt trong thÕ giíi thùc; cßn kiÓu thùc thÓ lµ mét nhãm c¸c thùc thÓ cã chung nhau mét sè ®Æc tÝnh mµ chóng ta quan t©m. VÝ dô nh− dù ¸n, con ng−êi, s¶n phÈm,...

Trong thùc tÕ, ®Ó ®¬n gi¶n ho¸, ng−êi ta th−êng dïng kh¸i niÖm thùc thÓ thay cho kh¸i niÖm kiÓu thùc thÓ. V× vËy, tõ ®©y trë ®i, chóng ta sÏ dïng kh¸i niÖm “ thùc thÓ” thay v× kh¸i niÖm “kiÓu thùc thÓ”.

Do vËy, trong mét hÖ th«ng tin, cÇn lùa chän mét sè tÝnh chÊt ®Æc tr−ng ®Ó diÔn t¶ mét thùc thÓ, c¸c tÝnh chÊt nµy ®−îc gäi lµ thuéc tÝnh cña thùc thÓ ®−îc m« t¶ vµ ®©y còng chÝnh lµ c¸c lo¹i th«ng tin d÷ liÖu cÇn qu¶n lý.

Page 94: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

94

Gi¸ trÞ c¸c thuéc tÝnh cña mét thùc thÓ cho phÐp diÔn t¶ mét tr−êng hîp cô thÓ cña thùc thÓ, gäi lµ mét thÓ hiÖn cña thùc thÓ ®ã.

VÝ dô:

(Lª Thanh Hµ, 53 Hai Bµ Tr−ng - Hµ Néi, 1-5-1978) lµ mét thÓ

hiÖn cña ‘sinh viªn’. (M¸y in, LASER SHOT, LBP_1120) lµ mét

thÓ hiÖn cña s¶n phÈm.

Mét thuéc tÝnh lμ s¬ cÊp khi ta kh«ng cÇn ph©n tÝch nã thµnh

nhiÒu thuéc tÝnh kh¸c, tuú theo nhu cÇu xö lý trong hÖ th«ng tin ®èi víi mét thùc thÓ.

Th«ng th−ßng mét thùc thÓ øng víi mét b¶ng (hay mét quan hÖ cña Codd).

Mçi thùc thÓ ph¶i cã Ýt nhÊt mét thuéc tÝnh mµ mçi gi¸ trÞ cña nã võa ®ñ cho phÐp nhËn diÖn mét c¸ch duy nhÊt mét thÓ hiÖn cña thùc thÓ gäi lµ thuéc tÝnh nhËn d¹ng hay lµ kho¸. Cã nhiÒu tr−êng hîp chóng ta ph¶i dïng mét tËp c¸c thuéc tÝnh ®Ó nhËn diÖn thùc thÓ. Khi mét thùc thÓ cã nhiÒu kho¸, ng−êi ta chän mét trong sè ®ã lµm kho¸ chÝnh (kho¸ tèi tiÓu). Gi¸ trÞ cña mét kho¸ lu«n lu«n ®−îc x¸c ®Þnh.

VÝ dô:

Sè ho¸ ®¬n lµ thuéc tÝnh nhËn d¹ng cña thùc thÓ Ho¸ ®¬n.

Kh«ng thÓ cã hai hay nhiÒu ho¸ ®¬n cã cïng sè ho¸ ®¬n trong cïng mét hÖ th«ng tin.

Trªn c¬ së ®¬n gi¶n ho¸ nh− vËy, chóng ta xÐt c¸c d¹ng chuÈn ®ang hiÖn hµnh trªn thùc tÕ sau ®©y.

2.4.6.1. ChuÈn ho¸ quan hÖ ë d¹ng chuÈn 1

Ta nãi r»ng mét thùc thÓ hay quan hÖ ë d¹ng chuÈn 1 nÕu tÊt c¶ gi¸ trÞ c¸c thuéc tÝnh cña nã ®Òu lμ s¬ cÊp. §iÒu kiÖn rµng buéc gièng

nh− 1NF ë trªn. §Þnh nghÜa d¹ng chuÈn 1 mang tÝnh m« t¶.

Page 95: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

95

B¶ng 2.30. Quan hÖ BANHANG

Ngμy th¸ng

M· hμng Tªn hμng §¬n

gi¸

Sè l−îng Tæng tiÒn

theo ngμy

Thanh

to¸n

210397 M1 Radio 1000 1 10 000 6 000

210397 M3 Tv 4000 2 10 000 6 000

210397 M6 Xe ®¹p 1000 1 10 000 6 000

220397 M2 M¸y giÆt 7500 2 15 000 6 000

230397 M1 Radio 1000 3 15 000 11 000

230397 M4 Video 5000 2 15 000 11 000

230397 M9 M¸y ¶nh 2000 1 15 000 11 000

Chóng ta x¸c ®Þnh ®−îc mét kho¸ chÝnh (kho¸ tèi tiÓu) cho thùc

thÓ B¸n hµng lµ tËp {Ngµy th¸ng, M· hµng}.

2.4.6.2. ChuÈn ho¸ quan hÖ ë d¹ng chuÈn 2

Mét thùc thÓ hay quan hÖ 1NF ®−îc xem lμ d¹ng chuÈn 2 nÕu tÊt

c¶ phô thuéc hμm gi÷a kho¸ chÝnh vμ c¸c thuéc tÝnh kh¸c cña nã ®Òu

lμ hoμn toμn.

Chó ý r»ng ®Þnh nghÜa d¹ng chuÈn 2 trong phÇn tr−íc chÆt h¬n v× ®iÒu kiÖn phô thuéc hoµn toµn liªn quan ®Õn mäi kho¸ tèi tiÓu, chø kh«ng chØ liªn quan ®Õn mét kho¸ tèi tiÓu ®−îc chän lµm kho¸ chÝnh.

Trong vÝ dô trªn thùc thÓ B¸n hµng ®· lµ 1NF ta nhËn thÊy ®èi

víi kho¸ chÝnh {Ngµy th¸ng, M· hµng} c¸c thuéc tÝnh Tæng vµ Thanh to¸n phô thuéc hµm vµo thuéc tÝnh ngµy th¸ng; c¸c thuéc tÝnh tªn hµng, ®¬n gi¸ phô thuéc hµm vµo thuéc tÝnh M· hµng. Ngµy th¸ng, M· hµng lµ hai thuéc tÝnh cña kho¸ chÝnh. Do ®ã dÉn ®Õn trïng lÆp d÷

liÖu. Thùc thÓ b¸n hµng kh«ng lµ 2NF, ta ph¶i t¸ch nã ra lµm 3

thùc thÓ riªng biÖt:

Page 96: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

96

B¶ng 2.31. Hμng ho¸

M· hμng Tªn hμng §¬n gi¸

M1 Radio 1000

M2 M¸y giÆt 7500

M3 Tv 4000

M4 Video 5000

M6 Xe ®¹p 1000

M9 M¸y ¶nh 2000

Ta x¸c ®Þnh ®−îc kho¸ chÝnh cña thùc thÓ hµng ho¸ lµ M· hµng.

B¶ng 2.32. Khèi l−îng

Ngμy th¸ng M· hμng Sè L−îng

210397 M1 1

210397 M3 2

210397 M6 1

220397 M2 2

230397 M1 3

230397 M4 2

230397 M9 1

Ta dÔ dµng x¸c ®Þnh ®−îc kho¸ chÝnh (kho¸ tèi tiÓu) cho thùc thÓ

khèi l−îng lµ {Ngµy th¸ng, M· hµng},

B¶ng 2.33. Doanh sè

Ngμy th¸ng Tæng Thanh to¸n

210397 10 000 6000

220397 15 000 6 000

230397 15 000 11 000

Kho¸ chÝnh lµ Ngµy th¸ng.

Cã thÓ thÊy thùc thÓ khèi l−îng → thùc thÓ hµng ho¸

Page 97: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

97

2.4.6.3. ChuÈn ho¸ quan hÖ ë d¹ng chuÈn 3

Mét thùc thÓ (hay quan hÖ) ®· lμ 2NF ®−îc xem lμ d¹ng chuÈn 3NF nÕu tÊt c¶ c¸c phô thuéc hμm gi÷a kho¸ chÝnh vμ c¸c thuéc tÝnh kh¸c cña nã ®Òu trùc tiÕp. Hay nãi c¸ch kh¸c, mäi thuéc tÝnh kh«ng n»m trong kho¸ chÝnh ®Òu kh«ng phô thuéc hµm vµo mét thuéc tÝnh kh«ng ph¶i lµ kho¸ chÝnh.

Ta cã nhËn xÐt: Mét thùc thÓ cã nhiÒu kho¸ nhËn d¹ng dÔ cã thÓ kh«ng tho¶ m·n d¹ng chuÈn 3NF. MÆt kh¸c ®Þnh nghÜa 3NF trong ch−¬ng tr−íc chÆt h¬n v× ®iÒu kiÖn phô thuéc hoµn toµn vµ phô thuéc trùc tiÕp liªn quan ®Õn mäi kho¸ tèi tiÓu, chø kh«ng chØ liªn quan ®Õn mét kho¸ tèi tiÓu ®−îc chän lµm kho¸ chÝnh.

Trong thùc thÓ hµng ho¸ lµ 2NF ë trªn, ta thÊy trªn ®å thÞ cña c¸c phô thuéc hµm cã hai con ®−êng ®Ó ®i tõ ‘M· hµng’ ®Õn ‘§¬n gi¸’ hoÆc ®i qua thuéc tÝnh ‘Tªn hµng’.

H×nh 2.3. Rμng buéc phô thuéc hμm gi÷a ba thuéc tÝnh

§iÒu nµy chøng tá thùc thÓ hµng ho¸ ch−a ®¹t 3NF, dÉn ®Õn trïng lÆp ®¬n gi¸ cña tªn hµng. §Ó ®¹t 3NF ta t¸ch nã thµnh 2 thùc thÓ riªng biÖt:

B¶ng 2.34. HANG

M· hμng Tªn hμng

M1 Radio

M2 M¸y giÆt

M3 Tv

M4 Video

M6 Xe ®¹p

M9 M¸y ¶nh

Page 98: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

98

B¶ng 2.35. MATHANG

Tªn hμng §¬n gi¸

Radio 1000

M¸y giÆt 7500

Tv 4000

Video 5000

Xe ®¹p 1000

M¸y ¶nh 2000

Kho¸ chÝnh lµ {Tªn hµng}

Cã thÓ thÊy thùc thÓ hµng → thùc thÓ MÆt hµng

2.4.6.4. ChuÈn ho¸ quan hÖ ë d¹ng chuÈn Boyce-Codd

D¹ng chuÈn 3NF cho phÐp mét thuéc tÝnh thµnh phÇn cña kho¸ chÝnh phô thuéc hµm vµo mét thuéc tÝnh kh«ng ph¶i lµ kho¸.

VÝ dô:

B¶ng 2.36. Quan hÖ LOP - MON - THAY

Líp M«n ThÇy

12 To¸n A

11 To¸n B

10 To¸n A

12 §Þa C

11 §Þa C

10 Sö D

Thùc thÓ nµy tho¶ m·n d¹ng 3NF. Kho¸ chÝnh cña nã bao gåm c¸c thuéc tÝnh ‘Líp’ vµ ‘M«n’.

Nh−ng do quy t¾c ‘Mçi thÇy chØ d¹y mét m«n’ ta thÊy cã sù phô thuéc hµm cña M«n (lµ mét thµnh phÇn cña kho¸ chÝnh) vµo ThÇy (lµ mét thuéc tÝnh b×nh th−êng): ‘ThÇy’ → ‘M«n’

Ta nãi r»ng thùc thÓ tho¶ m·n d¹ng chuÈn Boyce-Codd (BCNF) khi tÊt c¶ c¸c phô thuéc hμm cña nã ®Òu thuéc d¹ng K → a, trong ®ã K lμ kho¸ chÝnh cßn a lμ mét thuéc tÝnh bÊt kú.

Page 99: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

99

§Ó tho¶ d¹ng BCNF, ta cã thÓ t¸ch thùc thÓ LOP - MON - THAY thµnh hai thùc thÓ riªng biÖt:

B¶ng 2.37. Thùc thÓ ‘Líp’ vμ �thÇy�

ThÇy Líp ThÇy M«n

A 12 A To¸n

B 11 B To¸n

A 10 C §Þa

C 12 D Sö

C 11

D 10

Thùc thÓ ‘Líp’ cã kho¸ chÝnh lµ {ThÇy, líp} vµ “thÇy” cã kho¸ chÝnh lµ {ThÇy}

2.4.7. ChuÈn ho¸ mét s¬ ®å quan hÖ

2.4.7.1. PhÐp ph©n r· mét s¬ ®å quan hÖ

2.4.7.1. 1. §Þnh nghÜa phÐp ph©n r· mét s¬ ®å quan hÖ s=<R,F>

PhÐp ph©n r· mét s¬ ®å quan hÖ s = <R,F> trªn tËp thuéc tÝnh R = {a1, a2,..., an} lµ viÖc thay thÕ s¬ ®å quan hÖ ®ã b»ng tËp c¸c s¬ ®å quan hÖ con s1,s2,...sk t−¬ng øng trªn R1, R2,...,Rk, trong ®ã Ri ⊆ R, (i = 1,...,k) vµ R = ∪i=1..,kRi, ë ®©y kh«ng ®ßi hái c¸c Ri ph¶i ph©n biÖt nhau, cßn Fi lµ phÐp chiÕu cña F trªn Ri.

Môc ®Ých cña phÐp ph©n r· nh»m lo¹i bá c¸c file d÷ liÖu d− thõa (redundancy) vµ lo¹i bá c¸c dÞ th−êng: Kh«ng nhÊt qu¸n, dÞ th−êng khi thªm dßng, dÞ th−êng khi xo¸ dßng cña quan hÖ, khi thùc hiÖn phÐp cËp nhËt (söa, thªm xo¸).

VÝ dô: XÐt quan hÖ HANG (tªn_h·ng, ®Þa_chØ, mÆt_hμng, ®¬n_gi¸) ta thÊy:

a. D− thõa d÷ liÖu: Khi cã tªn h·ng th× l¹i cã ®Þa chØ cña h·ng ®ã trong quan hÖ (d− thõa)

a’. Kh«ng nhÊt qu¸n (inconsistency), lμ hÖ qu¶ cña (a): Gi¶ sö trong quan hÖ cã nhiÒu tªn h·ng, ®Þa_chØ th× ®Þa chØ cña h·ng thay ®æi

Page 100: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

100

nÕu ta chØ söa ®Þa chØ trong mét b¶n ghi (dßng) th× ®Þa chØ trong b¶n ghi kh¸c kh«ng thay ®æi dÉn ®Õn 1 nhµ cung cÊp kh«ng cã ®Þa chØ duy nhÊt. DÞ th−êng nµy xuÊt hiÖn khi söa d÷ liÖu.

b. DÞ th−êng khi thªm dßng (insertion anomalies): Mét h·ng khi ch−a cÊp mÆt hµng nµo th× ch−a thÓ thªm dßng øng víi h·ng ®ã ®−îc, v× nÕu ta thªm mét dßng víi h·ng ®ã th× ta kh«ng thÓ ®−a mÆt hµng vµ ®¬n gi¸ vµo dßng ®ã ®−îc.

b’) DÞ th−êng khi xo¸ b¶n ghi, lμ vÊn ®Ò ng−îc l¹i cña (b): Kh«ng thÓ xo¸ tÊt c¶ c¸c mÆt hµng ®−îc cung cÊp bëi 1 h·ng nµo ®ã v× mÆt hµng ®ã cã thÓ ®−îc cung cÊp bëi nhiÒu h·ng.

Ng−êi ta cã thÓ ph©n r· quan hÖ trªn thµnh mét tËp quan hÖ. §Ó tr¸nh c¸c nh−îc ®iÓm nãi trªn, nh−ng ®¶m b¶o kh«ng mÊt th«ng tin theo nghÜa d−íi ®©y:

2.4.7.1.2. PhÐp ph©n r· kh«ng mÊt th«ng tin

§Þnh nghÜa

Gi¶ sö s¬ ®å quan hÖ s = <R, F> ®· ®−îc ph©n r· thµnh c¸c s¬ ®å con s1, s2,...,sk víi si = <Ri, Fi>, (i = 1,..,k), Ri ⊆ R, Fi lµ phÐp chiÕu cña F trªn Ri. Khi ®ã ta nãi r»ng, phÐp ph©n r· trªn lµ kh«ng mÊt th«ng tin ®èi víi F nÕu ®èi víi mçi quan hÖ r trªn R tho¶ m·n F:

r =ΠR1(r) ΠR2(r) ... ΠRk(r)

tøc lµ r ®−îc t¹o nªn tõ phÐp kÕt nèi tù nhiªn cña c¸c h×nh chiÕu cña nã trªn c¸c Ri, (i =1,...,k).

ThuËt to¸n kiÓm tra phÐp ph©n r· kh«ng mÊt th«ng tin

Vμo: s=<R, F>, phÐp ph©n r· p =(s1, s2,..., sk), si= <Ri, Fi>.

Ra: KÕt luËn phÐp ph©n r· p cã mÊt th«ng tin hay kh«ng?

Ph−¬ng ph¸p:

B−íc 1: ThiÕt lËp mét b¶ng víi n cét vµ k hµng, hµng i øng víi l−îc ®å quan hÖ Ri cét j øng víi thuéc tÝnh aj. T¹i « (i,j) ®iÒn Aj nÕu aj ∈ Ri, ng−îc l¹i ®iÒn ký hiÖu bij.

Page 101: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

101

B−íc 2: xÐt phô thuéc hµm lµ F ¸p dông cho b¶ng võa thiÕt lËp ®−îc. Gi¶ sö X -> Y ∈ F, xÐt c¸c dßng cã gi¸ trÞ b»ng nhau trªn thuéc tÝnh X th× lµm b»ng gi¸ trÞ cña chóng trªn thuéc tÝnh Y theo c¸ch sau: NÕu thÊy mét gi¸ trÞ t−¬ng øng víi Y lµ Aj th× chuyÓn c¸c gi¸ trÞ bij thµnh Aj.

B−íc 3: TiÕp tôc ¸p dông c¸c phô thuéc hµm cho b¶ng (kÓ c¶ viÖc lËp l¹i phô thuéc hµm ®· ®−îc ¸p dông) cho ®Õn khi kh«ng cßn ¸p dông ®−îc n÷a.

B−íc 4: Cuèi cïng xem b¶ng kÕt qu¶: NÕu xuÊt hiÖn mét hµng cã ®ñ A1,A2,...,An th× phÐp ph©n r· trªn lµ kh«ng mÊt th«ng tin, ng−îc l¹i lµ phÐp ph©n r· bÞ mÊt th«ng tin.

VÝ dô:

Cho mét s¬ ®å quan hÖ s = <R, F> víi R = {a,b,c,d,e,g},

PhÐp t¸ch p = {s1,s2,...,s5} víi:

R1 = {a, b}, F1: a → b

R2 = {a,c,d}, F2: cd → a

R3= {b,c,d}, F3: bc → d

R4= {a,e,g}, F4: ae → g

R5= {c,d,e}, F5: ce → d

KiÓm tra xem phÐp ph©n r· trªn cã mÊt th«ng tin kh«ng?

- LËp b¶ng:

B¶ng 2.38. B¶ng xuÊt ph¸t

a b c d e g

S1 A1 A2 b13 b14 b15 b16

S2 A1 b22 A3 A4 b25 b26

S3 b31 A2 A3 A4 b35 b36

S4 A1 b42 b43 b44 A5 A6

S5 b51 b52 A3 A4 A5 b56

Page 102: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

102

XÐt phô thuéc hµm a → b cã b¶ng sau (c¸c hµng 1, 2, 4 b»ng nhau trªn cét a = A1) nªn ë cét b chóng ®−îc lµm b»ng vµ b»ng A2.

B¶ng 2.39.

a b c d e g

S1 A1 A2 b13 b14 b15 b16

S2 A1 A2 A3 A4 b25 b26

S3 b31 A2 A3 A4 b35 b36

S4 A1 A2 b43 b44 A5 A6

S5 b51 b52 A3 A4 A5 b56

XÐt phô thuéc hµm cd → a ta cã b¶ng sau (hai hµng 2 vµ 5 b»ng nhau trªn cét cd (b»ng A3, A4) nªn trªn cét a chóng ®−îc lµm b»ng vµ b»ng A1).

B¶ng 2.40.

A b c d e g

S1 A1 A2 b13 b14 b15 b16

S2 A1 A2 A3 A4 b25 b26

S3 A1 A2 A3 A4 b35 b36

S4 A1 A2 b43 b44 A5 A6

S5 A1 b52 A3 A4 A5 b56

T−¬ng tù xÐt tiÕp phô thuéc hµm bc → d b¶ng kh«ng thay ®æi

XÐt phô thuéc hµm ae → g, ta cã b¶ng sau:

B¶ng 2.41.

a b C d e g

S1 A1 A2 b13 b14 b15 b16

S2 A1 A2 A3 A4 b25 b26

S3 A1 A2 A3 A4 b35 b36

S4 A1 A2 b43 b44 A5 A6

S5 A1 b52 A3 A4 A5 A6

- XÐt phô thuéc hµm ce → d b¶ng kh«ng thay ®æi.

Page 103: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

103

- Quay l¹i xÐt phô thuéc hµm a → b ta cã b¶ng sau: (b¶ng 2.42):

B¶ng 2.42.

a b c d e g

S1 A1 A2 b13 b14 b15 b16

S2 A1 A2 A3 A4 b25 b26

S3 A1 A2 A3 A4 b35 b36

S4 A1 A2 b43 b44 A5 A6

S5 A1 A2 A3 A4 A5 A6

- TiÕp tôc xÐt phô thuéc hµm cd → a, bc → d, ae → g, ce → d, cßn l¹i ta thÊy b¶ng kh«ng thay ®æi. VËy b¶ng kÕt qu¶ lµ b¶ng 2.42. Ta nhËn thÊy trong b¶ng nµy hµng thø 5 cã ®ñ A1,A2,...,A6 nªn ta kÕt luËn phÐp ph©n r· p trong vÝ dô lµ kh«ng mÊt th«ng tin.

2.4.7.2. S¬ ®å quan hÖ d¹ng chÝnh t¾c

2.4.7.2.1. C¸c ®Þnh nghÜa

Phô thuéc hμm ®Çy ®ñ/phô thuéc hoμn toμn

Gi¶ sö s = <R, F> lµ mét s¬ ®å quan hÖ trªn tËp thuéc tÝnh R vµ

A, B ∈ P(R) - tËp c¸c tËp con cña R, khi ®ã B ®−îc gäi lµ phô thuéc hµm ®Çy ®ñ vµo A nÕu B phô thuéc hµm A nh−ng kh«ng phô thuéc hµm vµo bÊt kú tËp con nµo cña A.

Thuéc tÝnh d− thõa (vÕ tr¸i cña phô thuéc hμm)

Mét thuéc tÝnh cña vÕ tr¸i mét phô thuéc hµm ®−îc gäi lµ d− thõa nÕu lo¹i bá nã khái vÕ tr¸i kh«ng lµm thay ®æi bao ®ãng cña tËp phô

thuéc hµm, tøc lµ: NÕu X →Y∈F, a∈X, a lµ d− thõa nÕu {X- a}

→Y∈F+.

TËp phô thuéc hμm kh«ng d− thõa

Phô thuéc hµm A →B ®−îc gäi lµ d− thõa trong tËp phô thuéc

hµm F cña s¬ ®å quan hÖ s = <R, F> nÕu: F+ = {F - {A → B}}+

Page 104: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

104

TËp phô thuéc hµm F kh«ng chøa mét phô thuéc hµm d− thõa nµo trong nã ®−îc gäi lµ tËp phô thuéc hµm kh«ng d− thõa.

Phñ cña phô thuéc hμm

Gäi F vµ G lµ c¸c tËp cña phô thuéc hµm. Nãi r»ng F vµ G lµ t−¬ng ®−¬ng nÕu F+= G+. NÕu F vµ G lµ t−¬ng ®−¬ng, ®«i khi còng nãi F phñ G (hoÆc G phñ F).

Phñ kh«ng d− thõa

G lµ phñ kh«ng d− thõa cña F, nÕu G+ = F+ vµ kh«ng chøa mét phô thuéc hµm d− thõa nµo.

§Þnh nghÜa phô thuéc hμm tèi thiÓu

TËp phô thuéc hµm F ®−îc gäi lµ tèi thiÓu nÕu:

a. Mçi vÕ ph¶i cña phô thuéc hµm thuéc F chØ cã mét thuéc tÝnh.

b. Kh«ng tån t¹i mét phô thuéc hµm X → A thuéc F mµ:

F+ = {F - {X → A}}+

c. Kh«ng tån t¹i mét phô thuéc hµm X → A thuéc F vµ tËp con

thùc sù (Z) cña X mµ F+ = (F - {X → A} ∪ {Z → A})+

Thùc vËy, ®iÒu kiªn b ®¶m b¶o cho tËp F kh«ng cã mét phô thuéc hµm nµo lµ d− thõa vµ ®iÒu kiÖn c b¶o ®¶m kh«ng cã mét thuéc tÝnh nµo tham gia phÝa tr¸i cña phô thuéc hµm lµ d− thõa. VÕ ph¶i cña phô thuéc hµm ë ®iÒu kiÖn a chØ cã mét thuéc tÝnh b¶o ®¶m ch¾c ch¾n kh«ng cã mét thuéc tÝnh nµo bªn vÕ ph¶i lµ d− thõa.

§Þnh nghÜa chÝnh t¾c (S¬ ®å quan hÖ d¹ng chÝnh t¾c)

Chóng ta nãi mét s¬ ®å quan hÖ s = <R,F> lµ chÝnh t¾c nÕu F lµ tèi thiÓu, nghÜa lµ F tho¶ m·n ®ång thêi 3 tiªu chuÈn sau ®©y:

a. Mçi vÕ ph¶i cña phô thuéc hµm thuéc F chØ cã mét thuéc tÝnh.

b. Kh«ng cã X → a nµo ë trong tËp F ®Ó F – {X → a} t−¬ng

®−¬ng víi F theo nghÜa {F – {X → a}}+ = F+ (kh«ng cã phô thuéc hµm nµo d− thõa).

Page 105: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

105

c. Kh«ng cã X → a vµ mét tËp con thùc sù (Z) cña X ®Ó:

F - {X → a} ∪ {Z → a} t−¬ng ®−¬ng víi F (tËp X ®−îc gäi lµ tèi −u).

2.4.7.2.2. C¸c thuËt to¸n

ThuËt to¸n lo¹i bá thuéc tÝnh d− thõa ë vÕ tr¸i trªn mçi phô thuéc hμm cña F

Cho s¬ ®å quan hÖ s = <R, F>, thuËt to¸n sau ®©y sÏ lo¹i bá thuéc tÝnh d− thõa ë vÕ tr¸i trªn mçi phô thuéc hµm cña F (®¶m b¶o c¸c phô thuéc hµm lµ ®Çy ®ñ). Ng−êi ta th−êng gäi ®ã lµ thuËt to¸n tèi −u trªn tËp F cña s¬ ®å quan hÖ

ThuËt to¸n tèi −u trªn tËp F cña s¬ ®å quan hÖ s = <R,F>

trong ®ã F = {A*1 → B1,...,A*m → Bm}.

Vμo: A → B ∈ F+, A lµ mét trong nh÷ng A*i (i=1,...,m)

Ra: A’ → B ∈ F+

trong ®ã: A’ ⊆ A vµ kh«ng tån t¹i A” ⊂ A’ vµ A” → B ∈ F+.

B−íc 0:

0 1 2 tA A {a ,a ,..., a }′ ′ ′= =

B−íc 1:

0 11

0

A {a }A

A′−⎧

= ⎨⎩

B−íc i:

i 1 ii

i 1

A {a }A

A−

′−⎧= ⎨

NhËn xÐt: Gièng nh− thuËt to¸n t×m kho¸ tèi tiÓu, ë ®©y kh«ng x¸c

®Þnh hµm víi R mµ x¸c ®Þnh hµm víi B. Dïng A → B ∈ F+ ⇔ B ∈ A+

ThuËt to¸n t×m tËp phô thuéc hμm kh«ng d− thõa

Vμo: S¬ ®å quan hÖ s = <R,F>

NÕu 0 1A {a } B F+′− → ∈

NÕu ng−îc l¹i

NÕu i 1 iA {a } B F (i 2,..., t)+− ′− → ∈ =

NÕu ng−îc l¹i

Page 106: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

106

F = {A1 → B1,..., Am → Bm}

Bj chØ gåm mét thuéc tÝnh (j =1,..., m).

Ra: S¬ ®å quan hÖ s* = <R,F*> trong ®ã F* kh«ng d− thõa.

B−íc 1: §Æt F - {A1 → B1} = G1

KiÓm tra: F+ = G1+

QuyÕt ®Þnh 11

GF

F⎧

= ⎨⎩

...

B−íc i: KiÓm tra (i = 2,...,m)

{Fi - 1 - {Ai Bi}}+ = F+ (1)

i 1 i i1

i 1

F {A B }F

F−

− →⎧= ⎨

§Æt F* = Fm

NhËn xÐt:

- HÇu hÕt c¸c s¬ ®å quan hÖ cho tr−íc phÇn lín lµ d− thõa v× nã l−u tr÷ c¸c phô thuéc hµm dÉn xuÊt tõ c¸c phô thuéc hµm kh¸c.

- C¸c phô thuéc hµm ®−îc xÕp theo c¸c thø tù kh¸c nhau sÏ cã thÓ cho kÕt qu¶ kh¸c nhau.

Bæ ®Ò 1

Mçi tËp phô thuéc hµm F ®Òu ®−îc phñ b»ng c¸c phô thuéc hµm G cã vÕ ph¶i bao gåm kh«ng qu¸ mét thuéc tÝnh.

Chøng minh:

Gäi G lµ tËp c¸c phô thuéc hµm X → a sao cho víi X → Y thuéc

F th× a ∈Y. Tõ X → Y suy ra X → a (theo luËt t¸ch).

Do vËy G ⊆ F+.

Ng−îc l¹i, cã F ⊆ G+ v× nÕu Y = a1,...an th× X → Y ®−îc suy ra tõ

X → a1,..., X → an nhê luËt hîp.

NÕu F G+ +=

NÕu F G+ +≠

NÕu (1) tháa m·n

NÕu (1) kh«ng tháa m·n

Page 107: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

107

§Þnh lý 1

Mçi tËp phô thuéc hµm F ®Òu t−¬ng ®−¬ng víi tËp F’ tèi thiÓu.

Chøng minh:

Theo bæ ®Ò trªn, gi¶ sö r»ng kh«ng vÕ ph¶i nµo cña c¸c phô thuéc hµm cña F cã nhiÒu h¬n mét thuéc tÝnh. §Ó kiÓm tra ®iÒu kiÖn b trong

®Þnh nghÜa chÝnh t¾c, xÐt (X → Y) ∈ F.

NÕu (F - {X → Y})+ = F+ lo¹i bá X → Y khái F.

Chó ý r»ng c¸c phô thuéc hµm F ®−îc s¾p xÕp theo mét thø tù kh¸c nhau th× sÏ cho kÕt qu¶ kh¸c nhau.

VÝ dô (lo¹i bá c¸c hµm d− thõa)

Cho tËp F gåm:

A → B A → C B → C

B → A C → A

Cã thÓ lo¹i bá khái F: B → A vµ A → C hoÆc lo¹i bá B → C nh−ng kh«ng thÓ ®ång thêi lo¹i bá c¶ ba phô thuéc hµm.

Nh− vËy ®iÒu kiÖn b ®−îc tho¶ m·n. CÇn kiÓm tra ®iÒu kiÖn c cho

tËp phô thuéc cßn l¹i cña F. ë ®©y còng cÇn l−u ý tíi thø tù c¸c thuéc tÝnh xuÊt hiÖn bªn vÕ tr¸i cña c¸c phô thuéc hµm.

Lo¹i bá c¸c thuéc tÝnh vÕ tr¸i cña c¸c phô thuéc hµm sao cho tËp c¸c thuéc tÝnh vÉn lµ t−¬ng ®−¬ng. Qu¸ tr×nh tiÕp tôc cho tíi khi kh«ng thÓ lo¹i bá ®−îc thuéc tÝnh nµo n÷a. Nh− vËy tËp c¸c phô thuéc cßn l¹i cña F sÏ t¹o nªn F’ vµ tho¶ m·n ba ®iÒu kiÖn cña mét tËp tèi thiÓu.

VÝ dô:

Cho tËp F

AB → C D → E CG → D

C → A D → G CE → A

BC → D BE → C CE → G

Page 108: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

108

ACD → B CG → B

¸p dông thuËt to¸n tÝnh bao ®ãng cña tËp c¸c thuéc tÝnh ®èi víi

tËp F theo thø tù tõ ph¶i qua tr¸i vµ tõ d−íi lªn trªn. Râ rµng CE → A

lµ d− thõa v× cã thÓ suy ra tõ C → A. CG → B lµ d− thõa v× CG → D,

C →A vµ ACD → B suy ra CG → B.

Tõ ®ã dÔ dµng tÝnh ®−îc (CG)+ vµ kh«ng cßn phô thuéc hµm nµo

lµ d− thõa. ACD → B cã thÓ thay thÕ bëi CD → B v× C → A.

Tõ ®ã cã tËp tèi thiÓu lµ:

AB → C

C → A

BC → D

CD → B

D → E

D → G

BE → C

CG → D

CE → G

NÕu lo¹i bá CE → A, CG → D vµ ACD → B sÏ cã mét tËp tèi thiÓu kh¸c:

AB → C D → G

C → A BE → C

BC → D CG → B

D → E CE → G

ThuËt to¸n x¸c ®Þnh s¬ ®å d¹ng chÝnh t¾c

Cho s¬ ®å quan hÖ s = <R,F>

Page 109: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

109

Vμo: F = <A1 → B1,..., Am → Bm>

Ra: s* = <R, F*> chÝnh t¾c.

B−íc 1: Nhê bæ ®Ò trªn, cã s = <R, F’> sao cho:

A → B ∈ F cã d¹ng {A → {b}}

B−íc 2: Nhê kÕt qu¶ trªn, ta tèi −u tõng phô thuéc hµm cña F’

Gi¶ sö F” = {C1 →{b1},..., Ct → {bt}}

Ci tèi −u ∈ R vµ bi ∈ R, i = (1,...,t)

B−íc 3: Còng nhê kÕt qu¶ trªn ta lo¹i bá c¸c hµm d− thõa, ta thu ®−îc:

Fi = {D1 → {e1},..., Dt → {et}}

Di ⊂ R vµ ei ∈ R, i = (1,..., p), trong ®ã p ≤ t.

2.4.7.3. PhÐp t¸ch mét s¬ ®å quan hÖ thμnh hÖ l−îc ®å ®¹t 3NF

ThuËt to¸n t¸ch mét s¬ ®å quan hÖ thμnh hÖ l−îc ®å ®¹t 3NF

Vμo: S¬ ®å quan hÖ R, tËp c¸c phô thuéc hµm F, kh«ng lµm mÊt tÝnh tæng qu¸t, ®−îc gi¶ sö lµ phô thuéc hµm tèi thiÓu.

Ra: PhÐp t¸ch kh«ng mÊt th«ng tin trªn R b¶o toµn c¸c phô thuéc hµm sao cho mçi s¬ ®å con ®Òu ë 3NF.

Ph−¬ng ph¸p:

i - Lo¹i bá tÊt c¶ c¸c thuéc tÝnh cña R nÕu c¸c thuéc tÝnh ®ã kh«ng liªn quan ®Õn phô thuéc hµm nµo cña F, hoÆc vÕ tr¸i, hoÆc vÕ ph¶i.

ii - NÕu cã mét phô thuéc hµm nµo cña F mµ liªn quan tíi tÊt c¶ c¸c thuéc tÝnh cña R th× kÕt qu¶ ra chÝnh lµ R.

iii - Ngoµi ra, phÐp t¸ch p ®−a ra c¸c s¬ ®å gåm c¸c thuéc tÝnh XA

cho phô thuéc hµm X → A thuéc F, nÕu X → A1, X → A2,..., X → An

thuéc F th× thay thÕ tËp thuéc tÝnh XA1A2...An cho XAi (1≤ i ≤ n). Qu¸ tr×nh tiÕp tôc.

Page 110: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

110

Chó ý: T¹i mçi b−íc kiÓm tra s¬ ®å R, nÕu mçi thuéc tÝnh ngoµi kho¸ kh«ng phô thuéc b¾c cÇu vµo kho¸ chÝnh, khi ®ã R sÏ ë 3NF, ng−îc l¹i cÇn ¸p dông b−íc (iii) ®Ó t¸ch tiÕp.

VÝ dô:

Cho l−îc ®å quan hÖ R(CTHRSG) víi tËp phô thuéc hµm tèi

thiÓu: C → T, HR → C, HT → R, CS → G vµ HS → R.

Dïng thuËt to¸n trªn cho tËp l−îc ®å ë d¹ng chuÈn thø 3:

R1(CT), R2(CHR), R3(HRT), R4(CGS) vµ R5(HRS)

§Þnh lý:

ThuËt to¸n trªn tho¶ m·n lµ mét phÐp t¸ch kh«ng mÊt th«ng tin, b¶o toµn c¸c phô thuéc hµm vµ c¸c l−îc ®å ®Ých ë d¹ng chuÈn 3.

2.4.7.4. PhÐp t¸ch mét s¬ ®å quan hÖ thμnh hÖ l−îc ®å ®¹t BCNF

Bæ ®Ò 2:

a. Gi¶ sö R lµ mét l−îc ®å quan hÖ víi tËp phô thuéc hµm F.

Gäi p = (R1, R2,..., Rk) lµ mét phÐp t¸ch kh«ng mÊt th«ng tin cña R ®èi víi F. Gäi Fi lµ h×nh chiÕu cña F trªn Ri (i = 1,..., k), tøc lµ tËp

cña (X → Y) ∈ F+ sao cho: X ⊆ Ri vµ Y ⊆ Ri

Gäi @ = (s1,..., sm) lµ phÐp t¸ch kh«ng mÊt th«ng tin cña Ri, ®èi víi Fi. Khi ®ã phÐp t¸ch cña R thµnh (R1,..., Ri - 1, S1,...,Sm, Ri+1,..., Rk) ®èi víi F lµ kh«ng mÊt th«ng tin.

b. Gi¶ sö R, F vµ p nh− ë môc (a); gäi t = (R1,...,Rk, Rk + 1,..., Rn) lµ mét phÐp t¸ch cña R thµnh tËp c¸c l−îc ®å bao gåm c¶ p th× t còng lµ phÐp t¸ch kh«ng mÊt th«ng tin ®èi víi F.

ThuËt to¸n t¸ch mét l−îc ®å quan hÖ thμnh hÖ l−îc ®å ®¹t BCNF

Vμo: L−îc ®å quan hÖ R vµ tËp phô thuéc hµm F

Ra: PhÐp t¸ch cña R kh«ng mÊt th«ng tin sao cho mçi l−îc ®å quan hÖ trong phÐp t¸ch ®Òu ë BCNF ®èi víi phÐp chiÕu cña F trªn l−îc ®å ®ã.

Page 111: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

111

Ph−¬ng ph¸p:

CÊu tróc phÐp t¸ch p trªn R theo ph−¬ng ph¸p lÆp liªn tiÕp. T¹i mçi b−íc phÐp t¸ch p lµ b¶o ®¶m kh«ng mÊt th«ng tin ®èi víi F.

B−íc ®Çu: p chØ bao gåm R

C¸c b−íc tiÕp: nÕu S lµ mét s¬ ®å thuéc p, S ch−a ë BCNF: chän

X → A lµ phô thuéc hµm tho¶ m·n trªn S, trong ®ã X kh«ng chøa

kho¸ cña S, A ∈ X. Râ rµng cÇn ph¶i cã mét sè thuéc tÝnh kh¸c cña S võa kh«ng ph¶i A, võa kh«ng thuéc X hoÆc nÕu kh«ng th× X ph¶i chøa mét kho¸ cña S. Thay thÕ S trong p bëi S1 vµ S2 víi S1 = XA, S2 = S - A

Theo ®Þnh lý tr−íc phÐp t¸ch s thµnh S1 vµ S2 lµ kh«ng mÊt th«ng tin

®èi víi tËp phô thuéc hµm trªn S v× r»ng: S1 ∩ S2 = X, X → S1 - S2 = A.

Theo bæ ®Ò trªn phÇn (a), p ®−îc thay S b»ng S1 vµ S2 lµ kh«ng mÊt th«ng tin. Mçi s¬ ®å S1, S2 ®Òu cã sè thuéc tÝnh Ýt h¬n S.

Qu¸ tr×nh tiÕp tôc cho tíi khi tÊt c¶ c¸c l−îc ®å ®Òu ë BCNF. Chó ý t¹i mäi thêi ®iÓm p lu«n b¶o ®¶m kh«ng mÊt th«ng tin, v× r»ng p ban ®Çu lµ R, mµ b−íc thay ®æi p ®Òu b¶o toµn tÝnh chÊt ®ã.

VÝ dô:

Cho l−îc ®å R(CTHRSG), trong ®ã C: Gi¸o tr×nh, T: thÇy gi¸o, H: giê, R: phßng häc, S: sinh viªn, G: líp.

TËp c¸c phô thuéc hµm F:

C → T: Mçi gi¸o tr×nh cã mét thÇy d¹y

HR → C: ChØ mét m«n häc (Gi¸o tr×nh) ë mét phßng häc t¹i mét thêi ®iÓm

HT → R: T¹i mçi thêi ®iÓm mçi thÇy gi¸o chØ cã thÓ d¹y ë mét phßng häc.

CS → G: Mçi sinh viªn chØ ë mét líp theo häc mçi gi¸o tr×nh

HS → R: Mçi sinh viªn chØ cã thÓ ë mét phßng häc t¹i mçi thêi ®iÓm.

Kho¸ cña R lµ HS.

Page 112: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

112

T¸ch l−îc ®å R thμnh c¸c l−îc ®å ®¹t BCNF:

XÐt CS → G cho R. Vi ph¹m ®iÒu kiÖn BCNF v× CS kh«ng chøa kho¸. Do vËy, t¸ch thµnh R1(CSG) vµ R2(CTHRS). B−íc tiÕp cÇn tÝnh F+ vµ chiÕu xuèng R1 vµ R2, sau ®ã kiÓm tra c¸c l−îc ®å ®· ë BCNF ch−a. Cã thÓ biÓu diÔn qu¸ tr×nh t¸ch qua s¬ ®å sau:

H×nh 2.4. S¬ ®å t¸ch

PhÐp t¸ch cuèi cïng ®−îc R = (R1, R21, R221, R222).

Page 113: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

113

2.4.7.5. ChuÈn ho¸ b»ng phÐp tæng hîp

Trong phÇn chuÈn ho¸ trªn ®· xem xÐt qu¸ tr×nh chuÈn ho¸ mét l−îc ®å quan hÖ thµnh 3NF nhê phÐp t¸ch kh«ng mÊt m¸t th«ng tin ®èi víi tËp c¸c phô thuéc hµm. PhÇn nµy sÏ tr×nh bµy qu¸ tr×nh chuÈn ho¸ nhê phÐp tæng hîp. §iÒu kh¸c c¬ b¶n cña phÐp tæng hîp so víi phÐp t¸ch lµ th«ng tin ban ®Çu gåm tËp c¸c thuéc tÝnh (hiÓu theo nghÜa ng−êi sö dông chØ biÕt tªn c¸c thuéc tÝnh) vµ c¸c tËp phô thuéc hµm, cßn trong ph−¬ng ph¸p t¸ch, th«ng tin ban ®Çu lµ mét l−îc ®å cô thÓ. Qua phÐp tæng hîp (hoÆc phÐp t¸ch) kÕt qu¶ ®Òu cho mét tËp c¸c l−îc ®å ®Òu ë 3NF.

Gäi F vµ G lµ c¸c tËp cña c¸c phô thuéc hµm. Nãi r»ng F vµ G lµ t−¬ng ®−¬ng nÕu F+ = G+. NÕu F vµ G t−¬ng ®−¬ng ®«i khi cßn nãi F phñ G hoÆc ng−îc l¹i G phñ F.

ThuËt to¸n kiÓm tra F vμ G cã hay kh«ng t−¬ng ®−¬ng víi nhau

Ph−¬ng ph¸p kiÓm tra:

LÊy mçi phô thuéc hµm Y → Z thuéc F, kiÓm tra xem liÖu Y → Z

cã thuéc G+ kh«ng? dïng thuËt to¸n tÝnh bao ®ãng cña tËp c¸c thuéc

tÝnh ®èi víi tËp G ®Ó tÝnh Y+ vµ kiÓm tra liÖu Z ⊆ Y+ kh«ng? NÕu tån

t¹i 1 phô thuéc hµm Y → Z thuéc F mµ kh«ng thuéc G+ th× F+ ≠ G+.

NÕu mçi phô thuéc hµm thuéc F còng thuéc G+ th× mçi phô thuéc

hµm V → W thuéc F+ còng thuéc G+.

§Ó kiÓm tra mçi phô thuéc G lµ thuéc F+, qu¸ tr×nh lµm hoµn toµn t−¬ng tù. Do ®ã F vµ G lµ t−¬ng ®−¬ng khi vµ chØ khi mçi phô thuéc hµm thuéc F lµ thuéc G+ vµ mçi phô thuéc hµm thuéc G lµ thuéc F+.

ThuËt to¸n tæng hîp thμnh c¸c l−îc ®å 3NF

Vμo: TËp c¸c thuéc tÝnh R= {a1, a2,.., an}, tËp phô thuéc hµm F.

Ra: TËp c¸c l−îc ®å quan hÖ ë 3NF.

Page 114: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

114

Ph−¬ng ph¸p:

- T×m phñ kh«ng d− thõa H cña F (tøc lµ t×m phñ cña F vµ lo¹i bá c¸c hµm d− thõa).

- Lo¹i bá c¸c thuéc tÝnh d− thõa trong F

- Ph©n chia phô thuéc H thµnh c¸c nhãm sao cho c¸c phô thuéc trong mét nhãm lµ cã cïng vÕ tr¸i.

- Mçi cÆp nhãm, vÝ dô H1 vµ H2 cã vÕ tr¸i lµ X vµ Y tån t¹i song

¸nh (X → Y) ∈ H+ (tøc lµ X → Y vµ Y → X) th× hoµ hai nhãm ®ã l¹i

víi nhau víi A∈Y. NÕu X →A ∈ H th× lo¹i bá nã khái H. T−¬ng tù

cho mçi (Y → B)∈H víi B∈X, ë mçi nhãm ®¹t ®−îc l−îc ®å quan hÖ bao gåm tÊt c¶ c¸c thuéc tÝnh xuÊt hiÖn trong nhãm ®ã. Mçi thuéc tÝnh xuÊt hiÖn trong vÕ tr¸i cña mét phô thuéc hµm trong nhãm lµ mét kho¸ cña l−îc ®å quan hÖ. C¸c kho¸ t×m ®−îc gäi lµ kho¸ tæng hîp. Mçi tËp ®−îc cÊu tróc nh− l−îc ®å quan hÖ.

VÝ dô:

Cho tËp thuéc tÝnh {A, B1, B2, C1, C2, D, E, I1, I2, I3, J}, tËp hîp phô thuéc hµm F:

A → B1B2C1C 2DEI 1I 2 I3J

B1B2C1 → AC2 DEI1I2 I3J

B 1B2 C2 →AC1 DEI1 I2I3J

E → I1I2I3

C1D → j

C2D → J

I1I2 → I3

I2I3 → I1

I1I3 →I2

Page 115: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

115

Râ rµng F lµ ch−a tèi thiÓu v× d− thõa. Dïng c¸c thuËt to¸n ®· biÕt ®Ó ®¶m b¶o c¸c phô thuéc hµm trong F lµ kh«ng d− thõa vµ lo¹i bá c¸c thuéc tÝnh ë vÕ tr¸i phô thuéc hµm trong H ®Ó kh«ng d− thõa:

H ={A → B 1 B2 C1 C2 D E

B1 B2 C1 → A

B1B 2C2 →A v× A cã thÓ suy ra C1C2 DE I1I2 I3J

E →I1I2

C1D → J

C2 D → J

I1 I2 →I3

I2I3 → I1

I1I3 → I2}

ë ®©y cã 9 nhãm phô thuéc hµm. Hoµ c¸c nhãm ®−îc:

H = {(A, B1 B2 C1, B1 B2 C2) → D E (Hoµ 3 nhãm ®Çu)

(E) → I 1I2

(C1D) → J

(C2D) → J

(I1I2, I2I3, I1I3) → I1, I2, I3} (Hoµ 3 nhãm cuèi)

ThiÕt lËp c¸c l−îc ®å:

R1=AB1 B2C1C2DE víi kho¸ K1= {A,B1B2C1,B1B2C2} (3 kho¸)

R2=EI1I2 K2={E}

R3= C1DJ K3=[C1D}

R4=C2DJ K4={C2D}

R5=I1I2I3 K5={I1I2, I2I3, I1I3}

Nh− vËy ®−îc tËp c¸c l−îc ®å: R={R1R2R3R4R5} ®Òu ë 3NF

Page 116: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

116

§Þnh lý 2:

L−îc ®å quan hÖ R(A1....An) ®−îc tæng hîp qua thuËt to¸n trªn tõ tËp hîp phô thuéc hµm F ®¹t 3NF. Nãi c¸ch kh¸c, kh«ng mét thuéc tÝnh ngoµi kho¸ nµo cña R lµ phô thuéc hµm b¾c cÇu vµo mét kho¸ chÝnh cña R.

2.5. Mèi quan hÖ (Relationship)

Khi x©y dùng m« h×nh d÷ liÖu, c¸c thùc thÓ th−êng ®−îc biÓu diÔn b»ng nh÷ng h×nh ch÷ nhËt:

H×nh 2.5. BiÓu diÔn thùc thÓ SANPHAM

Chóng ta cã thÓ biÓu diÔn mét thùc thÓ b»ng mét trong hai c¸ch “truyÒn thèng” hay “®å ho¹”:

H×nh 2.6. BiÓu diÔn thùc thÓ HOADON

2.5.1. §Æc t¶ mèi quan hÖ

Kh¸i niÖm quan hÖ ë môc nµy (kh¸c víi kh¸i niÖm quan hÖ cña Codd) ®−îc dïng ®Ó nhãm häp hai hay nhiÒu thùc thÓ víi nhau nh»m biÓu hiÖn mét mèi liªn quan tån t¹i trong thÕ giíi thùc gi÷a c¸c thùc thÓ nµy. (NÕu sî nhÇm lÉn, chóng ta cã thÓ dïng thuËt ng÷ “mèi quan hÖ” ®Ó ph©n biÖt víi thuËt ng÷ “quan hÖ” cña Codd).

KÝch th−íc cña mét quan hÖ lµ sè thùc thÓ cÊu thµnh nªn quan hÖ.

S¶n phÈm

Ho¸ ®¬n

Sè ho¸ ®¬nM· kh¸ch

Ngμy

Page 117: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

117

Trong mét m« h×nh d÷ liÖu c¸c quan hÖ ®−îc biÓu diÔn b»ng h×nh thoi hoÆc h×nh trßn hoÆc elÝp.

Trong mçi thùc thÓ bao giê chóng ta còng x¸c ®Þnh ®−îc Ýt nhÊt mét thuéc tÝnh, cßn mèi quan hÖ cã thÓ kh«ng cã thuéc tÝnh. Trong mét sè tr−êng hîp, mèi quan hÖ còng cã thÓ cã nh÷ng thuéc tÝnh riªng (nÕu cã th× c¸c thuéc tÝnh riªng ®ã lµ rÊt quan träng, kh«ng thÓ bá sãt).

VÝ dô:

Ho¸ ®¬n dïng ®Ó thanh to¸n mét sè lo¹i s¶n phÈm b¸n ra. Mçi dßng ho¸ ®¬n cho biÕt sè l−îng vµ gi¸ cña tõng lo¹i s¶n phÈm. §©y lµ mét quan hÖ cã kÝch th−íc lµ 2 (cã 2 thùc thÓ tham gia vµo mèi quan hÖ), cßn gäi lµ quan hÖ nhÞ nguyªn.

H×nh 2.7. §Æc t¶ mèi quan hÖ DONGHOADON

2.5.2. C¸c ®Æc tr−ng cña mèi quan hÖ

XÐt R lµ mét tËp c¸c quan hÖ vµ E lµ mét thùc thÓ cÊu thµnh cña R, mçi cÆp (E,R) ®−îc biÓu thÞ trªn s¬ ®å kh¸i niÖm d÷ liÖu b»ng mét ®o¹n th¼ng. Víi thùc thÓ E, ta cã thÓ x¸c ®Þnh ®−îc:

- X lµ sè tèi thiÓu c¸c thÓ hiÖn t−¬ng øng víi E mµ R cã thÓ cã trong thùc tÕ. Gi¸ trÞ X nh− vËy chØ cã thÓ b»ng 0 hay 1.

- Y lµ sè tèi ®a c¸c thÓ hiÖn t−¬ng øng víi E mµ R cã thÓ cã trong thùc tÕ. Gi¸ trÞ cña Y cã thÓ b»ng 1 hay mét sè nguyªn N >1.

CÆp sè (X,Y) ®−îc ®Þnh nghÜa lµ b¶n sè cña ®o¹n th¼ng (E,R) vµ cã thÓ lÊy c¸c gi¸ trÞ sau: (0,1), (1,1), (0,N), hay (1,N), víi N >1.

§èi víi lo¹i quan hÖ nhÞ nguyªn R liªn kÕt gi÷a hai thùc thÓ A vµ B, ta ph©n thµnh ba lo¹i quan hÖ c¬ b¶n sau:

Page 118: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

118

- Quan hÖ 1-1 (mét-mét): mçi thÓ hiÖn cña thùc thÓ A ®−îc kÕt hîp víi 0 hay 1 thÓ hiÖn cña B vµ ng−îc l¹i.

H×nh 2.8. §Æc t¶ mèi quan hÖ 1-1

X,Y cã thÓ lÊy c¸c gi¸ trÞ 0 vµ 1.

VÝ dô:

Mçi c«ng d©n tr−ëng thµnh ®Òu ®−îc cÊp mét sè chøng minh th−. Mçi mét sè CMT chØ dµnh cho 1 c«ng d©n tr−ëng thµnh.

- Quan hÖ 1-N (mét nhiÒu): Mçi thÓ hiÖn cña thùc thÓ A ®−îc kÕt hîp víi 0,1 hay nhiÒu thÓ hiÖn cña B vµ mçi thÓ hiÖn cña B ®−îc kÕt hîp víi mét thÓ hiÖn duy nhÊt cña A. §©y lµ mét lo¹i quan hÖ th«ng dông vµ ®¬n gi¶n nhÊt.

H×nh 2.9. §Æc t¶ mèi quan hÖ 1-N

X cã thÓ lÊy c¸c gi¸ trÞ 0 vµ 1

VÝ dô:

Mét kh¸ch hµng cã thÓ cã nhiÒu ho¸ ®¬n

Mét ho¸ ®¬n chØ mang tªn mét kh¸ch hµng.

Page 119: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 2: M« h×nh c¬ së d÷ liÖu quan hÖ

119

- Quan hÖ N-P (nhiÒu-nhiÒu): Mçi thÓ hiÖn cña mét thùc thÓ A ®−îc kÕt hîp víi 0,1 hay nhiÒu thÓ hiÖn cña B vµ ng−îc l¹i, mçi thÓ hiÖn cña B ®−îc kÕt hîp víi 0, 1 hay nhiÒu thÓ hiÖn cña A.

H×nh 2.10. §Æc t¶ mèi quan hÖ N-N

X vµ Y cã thÓ lÊy gi¸ trÞ 0, 1

VÝ dô:

Mét ho¸ ®¬n dïng ®Ó thanh to¸n mét hay nhiÒu lo¹i s¶n phÈm.

Mét lo¹i s¶n phÈm cã thÓ xuÊt hiÖn trong 1 hay nhiÒu ho¸ ®¬n.

Th«ng th−êng quan hÖ N-N chøa c¸c thuéc tÝnh (vÝ dô nh− sè l−îng, gi¸). Chóng ta biÕn ®æi lo¹i quan hÖ nµy thµnh c¸c thùc thÓ vµ thùc thÓ nµy cÇn ®−îc nhËn d¹ng bëi mét kho¸ chÝnh (gåm mét nhãm c¸c thuéc tÝnh).

2.5.3. M« h×nh kh¸i niÖm d÷ liÖu

M« h×nh kh¸i niÖm d÷ liÖu lµ kÕt qu¶ cña qu¸ tr×nh ph©n tÝch d÷ liÖu mµ chóng ta sÏ nghiªn cøu kü trong ch−¬ng 3. M« h×nh nµy ®−îc x©y dùng tõ thùc thÓ vµ c¸c mèi quan hÖ gi÷a c¸c thùc thÓ ®· ®−îc x¸c ®Þnh b»ng c¸ch l¾p ghÐp c¸c ®Æc t¶ mèi quan hÖ l¹i víi nhau thµnh m¹ng.

VÝ dô

Nh− trong bµi to¸n qu¶n lý th− viÖn ®¬n gi¶n:

Page 120: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

120

Danh s¸ch c¸c thùc thÓ vµ thuéc tÝnh t−¬ng øng:

Ng−êi ®äc: Sè thÎ, Hä tªn, Ngµy sinh, §Þa chØ, Thêi h¹n hÕt gi¸ trÞ, Sè chøng minh th−, Sè ®iÖn tho¹i, Ngµy lµm thÎ

B¶n s¸ch: Sè hiÖu l−u tr÷, Ngµy nhËp vÒ, Lo¹i (cho m−în vÒ nhµ/®äc t¹i chç)

S¸ch: Sè xuÊt b¶n, Tªn s¸ch, Tªn t¸c gi¶ (chñ biªn), Tªn ®ång t¸c gi¶, TËp, LÇn xuÊt b¶n, Sè trang, Gi¸ tiÒn, §a ng÷, N¨m xuÊt b¶n.

Nhµ xuÊt b¶n: Tªn NXB, §Þa chØ NXB

Chuyªn ngµnh: M· ph©n lo¹i chuyªn ngμnh, Tªn ph©n lo¹i chuyªn ngµnh

Ng«n ng÷: M· lo¹i ng«n ng÷, Tªn lo¹i ng«n ng÷ (tiÕng ViÖt,

tiÕng Anh, …)

Page 121: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

121

Ch−¬ng 3

QUY TR×NH ph©n tÝch thiÕt kÕ csdl

ViÖc ph©n tÝch thiÕt kÕ CSDL bao gåm nh÷ng giai ®o¹n c¬ b¶n sau:

1. Ph©n tÝch yªu cÇu

2. Ph©n tÝch d÷ liÖu vµ x©y dùng m« h×nh kh¸i niÖm d÷ liÖu

3. ThiÕt kÕ CSDL møc logic

4. ThiÕt kÕ CSDL møc vËt lý

5. ThiÕt kÕ an toµn b¶o mËt cho CSDL

3.1. Ph©n tÝch yªu cÇu

3.1.1. Môc ®Ých cña viÖc ph©n tÝch yªu cÇu Trong qu¸ tr×nh ph©n tÝch vµ thiÕt kÕ CSDL th× ph©n tÝch yªu cÇu

lµ c«ng viÖc ph¶i thùc hiÖn ®Çu tiªn.

Chóng ta quan t©m ®Õn nh÷ng vÊn ®Ò sau:

- C¸c d÷ liÖu nµo sÏ ®−îc l−u gi÷ trong CSDL, trong ®ã c¸c d÷ liÖu nµo lµ kh«ng thÓ thiÕu?

- C¸c øng dông nµo cã thÓ sÏ ®−îc ph¸t triÓn mµ cã thÓ khai th¸c ®−îc CSDL ®· x©y dùng?

- C¸c thao t¸c g× sÏ ®−îc thùc hiÖn trªn nh÷ng d÷ liÖu ®· l−u gi÷?

§Ó ®¸p øng ®−îc nh÷ng vÊn ®Ò nµy chóng ta cÇn ph¶i t×m hiÓu hiÖn tr¹ng, ph©n tÝch c¸c yªu cÇu cña ®èi t−îng sö dông tõ nh÷ng ng−êi thõa hµnh, ®Õn ng−êi qu¶n lý vµ l·nh ®¹o v× ng−êi thõa hµnh cã thÓ cung cÊp c¸c th«ng tin chi tiÕt vÒ mét c«ng viÖc cô thÓ, ng−êi qu¶n lý cung cÊp c¸c nhiÖm vô, mét lÜnh vùc trong hÖ thèng, cßn ng−êi l·nh

Page 122: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

122

®¹o cung cÊp c¸c th«ng tin tæng thÓ cïng c¸c môc tiªu tr−íc m¾t vµ l©u dµi cña toµn hÖ thèng.

Cã nhiÒu kü thuËt vµ c«ng cô nh− pháng vÊn trùc tiÕp, phiÕu ®iÒu tra, b¶ng hái, tµi liÖu,…®−îc sö dông riªng lÎ hay tÝch hîp trong giai ®o¹n nµy tuú thuéc vµo ®iÒu kiÖn cô thÓ khi x©y dùng CSDL.

Môc ®Ých chÝnh cña kh©u ph©n tÝch yªu cÇu:

1. X¸c ®Þnh yªu cÇu d÷ liÖu cña CSDL: danh s¸ch c¸c thuéc tÝnh cÇn qu¶n lý vµ gép chóng theo c¸c ®èi t−îng

2. Ph©n lo¹i vµ m« t¶ th«ng tin vÒ c¸c ®èi t−îng ®ã

3. X¸c ®Þnh mèi liªn kÕt gi÷a c¸c ®èi t−îng

4. X¸c ®Þnh c¸c giao dÞch sÏ ®−îc thùc hiÖn trªn c¸c ®èi t−îng d÷ liÖu ®ã

5. X¸c ®Þnh c¸c quy t¾c nghiÖp vô (luËt) ®¶m b¶o tÝnh toµn vÑn cña d÷ liÖu

ViÖc ph©n tÝch yªu cÇu ®−îc tiÕn hµnh th«ng qua ph−¬ng ph¸p m« h×nh ho¸ víi møc trõu t−îng logic hay kh¸i niÖm. KÕt qu¶ cña viÖc ph©n tÝch yªu cÇu vµ ph©n tÝch d÷ liÖu lµ x©y dùng ®−îc m« h×nh kh¸i niÖm d÷ liÖu. Trong qu¸ tr×nh x©y dùng m« h×nh nµy, vai trß cña NSD rÊt quan träng. Hä cã thÓ bæ sung cho chóng ta nh÷ng khiÕm khuyÕt cña hÖ thèng hiÖn t¹i. Nhê vËy, chóng ta sÏ cã c¬ së ®Ó hoµn thiÖn m« h×nh víi c¸c d÷ liÖu ®Çy ®ñ vµ chÝnh x¸c h¬n.

Mét sè l−u ý khi ph©n tÝch yªu cÇu cña NSD:

1. Khi trao ®æi víi NSD, cÇn sö dông c¸c thuËt ng÷ trong thÕ giíi thùc cho dÔ trao ®æi vµ gîi më ®−îc nhiÒu chi tiÕt nghiÖp vô

2. T×m hiÓu kü quy tr×nh nghiÖp vô ®ñ chi tiÕt ®Ó m« h×nh ho¸ nã mét c¸ch ®Çy ®ñ vµ chÝnh x¸c nhÊt

3. Pháng vÊn ®Çy ®ñ c¸c ®èi t−îng sö dông v× ®©y lµ nh÷ng ng−êi ®−îc thõa h−ëng vµ ph¸t huy ®−îc hiÖu qu¶ sö dông CSDL

Page 123: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

123

3.1.2. Néi dung ph©n tÝch yªu cÇu

ViÖc ph©n tÝch yªu cÇu vÒ d÷ liÖu cho hÖ thèng gåm nh÷ng néi dung sau:

3.1.2.1. X¸c ®Þnh d÷ liÖu cÇn l−u gi÷

§èi víi hÖ thèng CSDL, mÊu chèt vÊn ®Ò lµ x¸c ®Þnh ®óng vµ ®ñ danh s¸ch thuéc tÝnh cÇn qu¶n lý. Danh s¸ch nµy quyÕt ®Þnh thµnh c«ng cña viÖc x©y dùng CSDL.

§èi víi mçi d÷ liÖu trong danh s¸ch, cÇn m« t¶ ®Çy ®ñ c¸c chØ môc d÷ liÖu:

- Tªn d÷ liÖu (s¸t víi thùc tÕ)

- §Þnh nghÜa (ng−êi dïng hiÓu ®−îc)

- KiÓu d÷ liÖu (chØ râ kiÓu cña d÷ liÖu lµ ký tù, sè, ngµy th¸ng, logic,…vµ kÝch cì cña chóng)

- Lo¹i d÷ liÖu (s¬ cÊp: kh«ng thÓ chia nhá ®−îc n÷a, tÝch hîp/kÕt nèi: ®−îc gép l¹i tõ viÖc ghÐp nhiÒu d÷ liÖu víi nhau, tÝnh to¸n: ®−îc suy ra tõ mét sè d÷ liÖu kh¸c)

- §Þnh l−îng (sè c¸c gi¸ trÞ kh¸c nhau mµ d÷ liÖu cã thÓ nhËn)

- Ghi chó thªm: cho phÐp chóng ta dïng h×nh thøc diÔn ®¹t tù do ®Ó cã thÓ nªu thªm c¸c d÷ kiÖn bæ sung cho d÷ liÖu.

VÝ dô: Tªn: Tªn nhµ cung cÊp

§Þnh nghÜa: dïng ®Ó ®Æt tªn, th−êng tãm t¾t, cho phÐp x¸c ®Þnh nhµ cung cÊp

CÊu tróc: kiÓu ký tù C(30)

Lo¹i: s¬ cÊp

§Þnh l−îng: kho¶ng 50

VÝ dô: C«ng ty L¦¥NG THùC THùC PHÈM I

§Þnh nghÜa: C«ng ty L−¬ng thùc thùc phÈm ë phu vùc phÝa B¾c (t−¬ng øng II - miÒn Trung, III - miÒn Nam)

Ghi chó: cã thÓ chØ sö dông 15 ký tù.

Page 124: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

124

3.1.2.2. X¸c ®Þnh øng dông sÏ ®−îc cμi ®Æt trªn CSDL

ViÖc x¸c ®Þnh øng dông sÏ ®−îc cµi ®Æt trªn CSDL lµ rÊt quan träng v× ®ã lµ c¬ së x¸c ®Þnh tÝnh ®óng vµ ®ñ cña c¸c d÷ liÖu vµ gióp cho viÖc nh×n nhËn tæng qu¸t h¬n vÒ CSDL sÏ ®−îc x©y dùng.

3.1.2.3. X¸c ®Þnh c¸c thao t¸c th−êng xuyªn ®−îc thùc hiÖn

ViÖc x¸c ®Þnh c¸c thao t¸c th−êng xuyªn ®−îc thùc hiÖn trªn d÷ liÖu ®ãng vai trß quan träng. YÕu tè nµy ®«i khi l¹i quyÕt ®Þnh tÝnh thµnh c«ng cña mét CSDL. Nhê cã yÕu tè nµy mµ viÖc thiÕt kÕ mét CSDL míi ®−îc coi lµ ®Çy ®ñ.

Trªn thùc tÕ, khi l−îng d÷ liÖu t¨ng lªn th× thêi gian thùc hiÖn c¸c thao t¸c trªn d÷ liÖu còng t¨ng lªn. Do vËy, nÕu trong kh©u kh¶o s¸t, ph©n tÝch yªu cÇu, chóng ta kh«ng x¸c ®Þnh ®−îc c¸c thao t¸c th−êng xuyªn ®−îc thùc hiÖn th× chóng ta kh«ng thÓ ®−a ra ®−îc thiÕt kÕ hiÖu qu¶, kh«ng thÓ t¹o ra nh÷ng chØ môc phï hîp, c¸ch ph©n chia d÷ liÖu hîp lý.

§Æc biÖt, viÖc x¸c ®Þnh c¸c thao t¸c th−êng xuyªn ®−îc thùc hiÖn trªn d÷ liÖu rÊt cã Ých trong qu¸ tr×nh tinh chØnh s¬ ®å CSDL logic còng nh− thiÕt kÕ CSDL vËt lý.

3.1.3. C¸c kü thuËt ph©n tÝch yªu cÇu

Mét sè kü thuËt ph©n tÝch yªu cÇu:

3.1.3.1. Pháng vÊn trùc tiÕp

Tr−íc hÕt, chóng ta ph¶i chän lùa ®óng ®èi t−îng cÇn pháng vÊn. Sau ®ã tiÕn hµnh pháng vÊn theo cÊu tróc ph©n cÊp: ban l·nh ®¹o, c¸c bé phËn nghiÖp vô phßng ban, vµ sau cïng lµ c¸c ®¬n vÞ c¬ së (c¸c vÞ trÝ lµm viÖc). Trong qu¸ tr×nh pháng vÊn, chóng ta cè g¾ng thu ®−îc ®Çy ®ñ c¸c mÉu hå s¬ d÷ liÖu (®Çu vµo, trung gian), c¸c b¸o c¸o thèng kª (®Çu ra). ViÖc pháng vÊn ban l·nh ®¹o nh»m môc ®Ých t×m hiÓu c¸c chØ tiªu tæng thÓ mang tÝnh chiÕn l−îc cña c¶ tæ chøc, trong tõng lÜnh vùc, tõng bé phËn. ViÖc pháng vÊn c¸c phßng ban nghiÖp vô nh»m

Page 125: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

125

môc ®Ých thu thËp c¸c chØ tiªu träng yÕu, cÇn thiÕt cho mäi ho¹t ®éng cña tæ chøc mµ hä th−êng dïng ®Ó theo dâi, qu¶n lý c¸c ho¹t ®éng nghiÖp vô vµ chØ ®¹o trong tæ chøc. ViÖc pháng vÊn c¸c vÞ trÝ lµm viÖc nh»m tiÕp nhËn c¸c th«ng tin cô thÓ, chi tiÕt cho tõng ho¹t ®éng nghiÖp vô trong tõng lÜnh vùc cô thÓ, tõng bé phËn nhá trong ph¹m vi bao qu¸t cña c¸c chØ tiªu ®· thu ®−îc tõ pháng vÊn l·nh ®¹o vµ c¸c ban ngµnh chøc n¨ng. Chóng ta cÇn chi tiÕt tõng xö lý, t−¬ng øng c¸c d÷ liÖu ®Çu vµo, nguån d÷ liÖu cung cÊp, c¸c d÷ liÖu ®Çu ra, n¬i göi th«ng tin ®Õn. Chóng ta cã thÓ tiÕn hµnh pháng vÊn c¸ nh©n tham gia trùc tiÕp vµo tõng c«ng viÖc cô thÓ. §Ó cã thÓ liÖt kª vµ m« t¶ toµn bé c«ng viÖc ph¶i thùc hiÖn, ®èi víi mçi c«ng viÖc cÇn n¾m b¾t c¸c sù kiÖn khëi ®éng, chu kú thùc hiÖn, thêi l−îng thùc hiÖn, nh÷ng d÷ liÖu cã liªn quan, khèi l−îng cña chóng, c¸c quy t¾c cÇn ¸p dông ®Ó thùc hiÖn c«ng viÖc, quan s¸t sù lu©n chuyÓn d÷ liÖu gi÷a c¸c vÞ trÝ c«ng viÖc.

§Ó n©ng cao chÊt l−îng vµ tèc ®é pháng vÊn, chóng ta cã thÓ dïng c¸c phiÕu pháng vÊn ®· chuÈn bÞ s½n. Sau khi pháng vÊn cÇn tæng hîp, hiÖu chØnh d÷ liÖu thu thËp ®−îc, s¾p xÕp chóng d−íi d¹ng c¸c hå s¬ kh¶o s¸t vµ x¸c ®Þnh c¸c d÷ liÖu cßn ch−a chÝnh x¸c, c¸c d÷ liÖu cßn thiÕu, cÇn thu thËp tiÕp.

PhiÕu pháng vÊn bao gåm c¸c th«ng tin vÒ dù ¸n, ng−êi ®−îc pháng vÊn, néi dung cÇn pháng vÊn (th«ng qua c©u hái chuÈn bÞ tr−íc), ®¸nh gi¸ sau pháng vÊn, lÞch biÓu tiÕp tôc (tho¶ thuËn), thêi gian pháng vÊn, tªn ng−êi pháng vÊn.

Khi pháng vÊn, chóng ta cÇn:

+ VÏ L−u ®å c«ng viÖc nh»m x¸c ®Þnh ®Çy ®ñ c¸c hå s¬ d÷ liÖu:

Dù ¸n: TiÓu dù ¸n: QL kho Trang:

Lo¹i:

L−u ®å

NhiÖm vô:

LËp ®¬n hμng

Ngμy:

Thñ kho Ng−êi qu¶n lý Bªn ngoμi

Page 126: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

126

Phiếu vật tư D1 Sổ thực đơn D2

Sổ đặt hàng D4

Đơn hàng D3

Phiếu giao hàng D5

Bảng giá D6

Sổ đặt hàng D4

Hoạt động

Hồ sơ dữ liệu

Tác nhân ngoài

Nhà cung cấp

Nhà cung cấp

Tiếp nhận, nhận hàng T3

Tiếp nhận, nhận hàng T3

Tiếp nhận, kiểm phiếu T2

Lập và chuyển đơn

hàng T1

H×nh 3.1. L−u ®å c«ng viÖc bμi to¸n qu¶n lý kho

+ LËp B¶ng tæng hîp hå s¬ (Rót tõ c¸c phiÕu pháng vÊn, tµi liÖu

thu thËp) nh»m m« t¶ quan hÖ gi÷a xö lý vµ d÷ liÖu vµ dïng ®Ó phôc vô cho viÖc tæng hîp d÷ liÖu sau nµy.

B¶ng 3.1. B¶ng tæng hîp hå s¬

tμi liÖu

Tªn - Vai trß C«ng viÖc liªn quan

(m· chøc n¨ng/nhiÖm vô)

D1

D2

D3

D4

D5

...

PhiÕu vËt t−: ghi hμng ho¸ xuÊt hay nhËp

Sæ thùc ®¬n: §Þnh møc hμng ho¸ lμm

s¶n phÈm

§¬n ®Æt hμng: Theo mÉu nhμ cung cÊp

Sæ ®Æt hμng: tËp hîp c¸c ®¬n hμng

PhiÕu giao hμng: Nhμ cung cÊp ph¸t ra

T1

T1

T1

T1,T2

T2,T3

...

Page 127: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

127

+ LËp B¶ng tæng hîp c«ng viÖc (rót ra tõ phiÕu pháng vÊn) nh»m phôc vô cho viÖc tæng hîp xö lý sau nµy.

B¶ng 3.2. B¶ng tæng hîp c«ng viÖc

STT M« t¶ c«ng viÖc VÞ trÝ lμm viÖc

TÇn suÊt Hå s¬ vμo

Hå s¬ ra

T1 LËp ®¬n hμng: XuÊt ph¸t tõ nhu cÇu cung øng, thùc ®¬n s¶n xuÊt, b¸o gi¸, ®¬n hμng lËp vμ chuyÓn ®i b»ng ®iÖn tho¹i (80%), viÕt (20%) s¾p c¸c ®¬n hμng vμo sæ ®Æt ®Ó ®èi chiÕu, theo dâi

Qu¶n lý kho hμng

4-5 ®¬n/ngμy

5-10 dßng/®¬n

D1

D2

D6

D3

D4

T2

+ LËp B¶ng m« t¶ chi tiÕt tμi liÖu (tõ ®iÓn d÷ liÖu) nh»m phôc vô cho viÖc x©y dùng b¶ng tæng hîp tõ ®iÓn d÷ liÖu sau nµy.

B¶ng 3.3. B¶ng m« t¶ chi tiÕt tμi liÖu

Dù ¸n: TiÓu dù ¸n: LËp ®¬n hμng Trang

Lo¹i: ph©n tÝch hiÖn tr¹ng M« t¶ d÷ liÖu Sè TT:

Ngμy:

§Þnh nghÜa:

Tªn d÷ liÖu: Nhμ cung cÊp

Dïng ®Ó chØ nh÷ng ng−êi cung cÊp hμng th−êng xuyªn. Nã cho phÐp x¸c ®Þnh mçi nhμ cung cÊp

CÊu tróc:

KiÓu ký tù, ®é dμi 20-30 ký tù, mét sè ch÷ ®Çu viÕt hoa

Lo¹i: S¬ cÊp

Sè l−îng: 50 nhμ cung cÊp

VÝ dô: C«ng ty NETNAM

Lêi b×nh: Tªn cã thÓ viÕt ®Çy ®ñ hoÆc viÕt t¾t

Sau pháng vÊn, chóng ta cÇn tæng hîp kh¶o s¸t:

- Mét tæ chøc lín, phøc t¹p th−êng kh«ng thÓ quan s¸t tÊt c¶ mét lóc, b»ng c¸ch ph©n tÝch vµ t¸ch nhá ®Ó quan s¸t, thu thËp th«ng tin. Lóc nµy cÇn l¾p ghÐp l¹i ®Ó cã ®−îc mét c¸ch nh×n tæng thÓ

Page 128: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

128

- Thùc hiÖn tæng hîp hai lo¹i

+ Tæng hîp xö lý: ®Ó thÊy ®−îc tæng thÓ c¸c xö lý diÔn ra trong tæ chøc vµ ph¸t hiÖn xö lý nµo kh«ng thay ®æi trong mäi tr−êng hîp

+ Tæng hîp c¸c d÷ liÖu: ®¶m b¶o tÝnh phï hîp vµ chÆt chÏ cña d÷ liÖu ®· sö dông

Tæng hîp d÷ liÖu

Môc tiªu: liÖt kª ra tÊt c¶ c¸c d÷ liÖu cã liªn quan ®Õn miÒn kh¶o s¸t cña tæ chøc vµ sµng läc ®Ó thu ®−îc nh÷ng d÷ liÖu ®Çy ®ñ, chÝnh x¸c vµ g¸n cho tªn gäi thÝch hîp mµ mäi ng−êi tham gia dù ¸n ®ång ý.

Sμng läc d÷ liÖu:

- LiÖt kª c¸c th«ng tin thu ®−îc, tiÕn hµnh so s¸nh, ®èi chiÕu, xem xÐt sù phï hîp cña nã vÒ mÆt néi dung, còng nh− tªn gäi.

Sù kh«ng phï hîp cña d÷ liÖu th−êng x¶y ra khi:

+ D÷ liÖu ®ång nghÜa: hai tªn kh¸c nhau nh−ng chØ cïng mét lo¹i d÷ liÖu.

VÝ dô:

§¬n gi¸ vµ gi¸ ®¬n vÞ.

+ D÷ liÖu ®ång danh/®a nghÜa: cïng mét tªn gäi nh−ng l¹i chØ nhiÒu lo¹i d÷ liÖu kh¸c nhau.

VÝ dô:

Tµi kho¶n ë mét chç cã nghÜa lµ sè cña mét tµi kho¶n, ë chç kh¸c cã nghÜa lµ tªn ®Çy ®ñ cña mét tµi kho¶n thanh to¸n. Ngµy (xuÊt/nhËp), Gi¸ (b¸n/mua), Sè l−îng (nhËp/xuÊt)

- Lo¹i bá tªn trïng, cho tªn kh¸c nhau víi c¸c d÷ liÖu kh¸c nhau

LËp mét tõ ®iÓn d÷ liÖu

- TËp hîp c¸c d÷ liÖu thu ®−îc tõ c¸c cuéc pháng vÊn ®iÒu tra, sau khi ®· sµng läc lËp thµnh mét tµi liÖu chung. Râ rµng trong b¶ng tæng hîp nµy, c¸c d÷ liÖu ®Òu cã tªn kh¸c nhau.

Page 129: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

129

- Tõ ®iÓn d÷ liÖu lµ 1 t− liÖu vÒ mäi tªn gäi cña mäi ®èi t−îng ®−îc dïng trong hÖ thèng ë c¶ 4 giai ®o¹n: ph©n tÝch, thiÕt kÕ, cµi ®Æt vµ b¶o tr×. Tµi liÖu nµy lµ c¬ së ®Ó tra cøu vµ sö dông sau nµy cho viÖc h×nh thµnh CSDL.

MÉu b¶ng tæng hîp tõ ®iÓn d÷ liÖu cã d¹ng (thuéc tÝnh):

B¶ng 3.4. B¶ng tæng hîp tõ ®iÓn d÷ liÖu

STT Tªn gäi KiÓu Cì LÜnh vùc

Quy t¾c, rμng buéc vμ khu«n d¹ng

1

Sè ho¸ ®¬n Ký tù 8 KÕ to¸n Ch÷ hoa hoÆc sè

2 Tªn hμng ho¸ Ký tù 20 KÕ to¸n Ch÷ hoa + sè

3 Ngμy vμo sæ ®¬n hμng Ngμy th¸ng

8 Qu¶n lý kho

ngμy/th¸ng/n¨m

4 Sè l−îng nhËn hμng Sè 6 Thñ kho §¬n vÞ: t¹, tÊn.

5 Sè tiÒn Sè 7 KÕ to¸n Gi÷ 2 sè lÎ sau dÊu phÈy

Sau pháng vÊn, chóng ta cÇn hîp thøc ho¸ kÕt qu¶ pháng vÊn.

Hîp thøc ho¸ lµ viÖc hiÓu vμ thÓ hiÖn c¸c th«ng tin pháng vÊn ë c¸c d¹ng kh¸c nhau ®−îc nhiÒu ng−êi sö dông vµ tæ chøc chÊp nhËn sù m« t¶ nhu cÇu th«ng tin cña tæ chøc lµ ®óng vμ ®ñ.

Môc tiªu cña viÖc hîp thøc ho¸ kÕt qu¶ pháng vÊn nh»m chÝnh x¸c ho¸ c¸c th«ng tin ®−îc kh¶o s¸t ®ång thêi ng−êi ®−îc pháng vÊn vµ ng−êi ®¹i diÖn x¸c nhËn sù phï hîp cña nã víi hiÖn tr¹ng tæ chøc cña hä vµ phï hîp víi môc tiªu ®Ò ra.

Sau pháng vÊn, chóng ta còng cÇn ®¸nh gi¸ vÊn ®Ò vμ ph©n tÝch tæng hîp c¸c th«ng tin h÷u Ých nh»m x¸c ®Þnh ®−îc mét c¸ch tiÕp cËn hay gi¶i ph¸p tæng thÓ.

Khi ®¸nh gi¸, tæng hîp, ng−êi ph©n tÝch cÇn x©y dùng c¸c m« h×nh hÖ thèng nh»m hiÓu râ h¬n luång d÷ liÖu vµ c¸c xö lý, thao t¸c d÷ liÖu vµ néi dung th«ng tin. C¸c m« h×nh nµy sÏ lµ nÒn t¶ng cho thiÕt kÕ sau nµy vµ lµ c¬ së cho viÖc t¹o ra mét ®Æc t¶ hÖ thèng vµ phÇn mÒm.

Page 130: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

130

3.1.3.2. Pháng vÊn gi¸n tiÕp

Pháng vÊn gi¸n tiÕp th«ng qua b¶ng hái hay phiÕu kh¶o s¸t lµ h×nh thøc kh¶o s¸t bæ sung cho kü thuËt pháng vÊn trùc tiÕp. C¸c c©u hái ®−îc liÖt kª trong b¶ng hái hay phiÕu kh¶o s¸t. Ng−êi ®−îc kh¶o s¸t sÏ tù ®iÒn vµo phiÕu nµy nh÷ng th«ng tin ®−îc hái. ¦u ®iÓm cña ph−¬ng ph¸p nµy lµ ®ì tèn kÐm vµ cã thÓ më réng ®−îc diÖn kh¶o s¸t nh−ng thiÕu sù giao tiÕp gi÷a chóng ta vµ ng−êi ®−îc pháng vÊn. H¬n n÷a, ng−êi ®−îc kh¶o s¸t cã thÓ bá qua nh÷ng th«ng tin mµ chóng ta cÇn.

VÝ dô: H×nh 3.2.

PHIÕU THU THËP TH¤NG TIN

VÒ øNG DôNG CNTT TRONG C¸C DOANH NGHIÖP

A. TH¤NG TIN CHUNG

1. Tªn doanh nghiÖp: ..................................................................................................

2. §Þa chØ: .....................................................................................................................

3. §iÖn tho¹i:

4. Fax:

5. E-mail:

6. Web site:

7. Hä vμ tªn Gi¸m ®èc:

8. Tæng sè nh©n viªn cña doanh nghiÖp:

B. PHÇN C¢U HáI CHÝNH

9. Tæng sè m¸y tÝnh (PC) hiÖn cã cña doanh nghiÖp: ...................

Trong ®ã:

a. Sè m¸y chñ (Server): ................

b. Sè m¸y tÝnh c¸ nh©n (PC): ................

c. Sè m¸y x¸ch tay (Laptop/Notebook) ................

d. ThiÕt bÞ ngo¹i vi:

- M¸y in laer................

D−íi HP 1100................

Trªn HP1100 (trªn 8 trang/phót)................

Page 131: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

131

- M¸y in kim................

- Scaner................

- Flotter................

- Modem................

- Switch................

- Router................

- Hub................

e.ThiÕt bÞ hç trî:

- §iÒu hßa nhiÖt ®é:................

- M¸y hót Èm:................

- æn ¸p:................

- M¸y l−u ®iÖn:................

D−íi 3kVA................

Trªn 3kVA................

- Chèng sÐt................

10. Doanh nghiÖp cã Trung t©m/Phßng m¸y tÝnh kh«ng? Sè l−îng

1. Cã ....................

2. Kh«ng

11. C¸c m¸y tÝnh cña doanh nghiÖp ®· ®−îc kÕt nèi m¹ng néi bé (LAN) ch−a?

Tõ bao giê

1. §· cã ....................

2. Ch−a

12. ViÖc kÕt nèi m¹ng néi bé (LAN) cña doanh nghiÖp

1. TÊt c¶ c¸c m¸y tÝnh ®Òu ®−îc nèi m¹ng

2. ChØ cã c¸c m¸y tÝnh trong Trung t©m/Phßng m¸y tÝnh ®−îc nèi m¹ng

3. Kh«ng cã m¸y nμo ®−îc nèi m¹ng

4. Sè m¸y tÝnh ®−îc nèi m¹ng

5. Sè m¸y chñ trong m¹ng

6. Sè m¸y in trong m¹ng

13. HÖ ®iÒu hμnh m¹ng

WINDOW NT

Windows 2000 Server/Advance Server

Page 132: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

132

NOVELL

UNIX/LINUX

Kh¸c (ghi tªn cô thÓ)

14. Doanh nghiÖp hiÖn ®ang sö dông dÞch vô kÕt nèi Internet nμo?

Tõ bao giê

1. KÕt nèi gi¸n tiÕp (Dial-up) ....................

2. Internet tèc ®é cao (ADSL)

15. ViÖc kÕt nèi m¹ng Internet cña doanh nghiÖp

1. TÊt c¶ c¸c m¸y tÝnh ®Òu ®−îc nèi m¹ng Internet

2. ChØ cã c¸c m¸y tÝnh trong Trung t©m/Phßng m¸y tÝnh ®−îc nèi m¹ng Internet

3. Kh«ng cã m¸y nμo ®−îc nèi m¹ng Internet

4. Sè m¸y tÝnh ®−îc nèi m¹ng Internet

16. ViÖc sö dông ®Þa chØ E-mail cña doanh nghiÖp

Cã Kh«ng

a. Doanh nghiÖp cã ®Þa chØ e-mail giao dÞch chÝnh thøc

§Þa chØ E- mail:..........................................................

17. Doanh nghiÖp cã website kh«ng?

Tõ bao giê §Þa chØ website

1. §· cã .................... ........................................

2. Ch−a

18. Cã bao nhiªu nh©n viªn cña doanh nghiÖp biÕt sö dông m¸y tÝnh?

19. Cã bao nhiªu nh©n viªn cña doanh nghiÖp biÕt sö dông Internet?

20. Doanh nghiÖp cã bao nhiªu nh©n viªn chuyªn tr¸ch vÒ CNTT?

21. Doanh nghiÖp sö dông m¸y tÝnh cho nh÷ng môc ®Ých nμo d−íi ®©y

1. So¹n th¶o v¨n b¶n

2. KÕ to¸n

3. Qu¶n lý, ®iÒu hμnh c«ng viÖc

4. DÞch vô

5. Phôc vô mét sè c«ng ®o¹n trong d©y chuyÒn s¶n xuÊt

22. Doanh nghiÖp sö dông Internet cho nh÷ng môc ®Ých nμo d−íi ®©y?

1. Göi E-mail

2. Qu¶n lý, ®iÒu hμnh c«ng viÖc

3. Thu thËp th«ng tin

Page 133: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

133

4. Qu¶ng c¸o cho doanh nghiÖp

5. Mua b¸n hμng hãa, vËt t−....

6. DÞch vô

23. Doanh nghiÖp cã c¬ së d÷ liÖu kh«ng?

1. Cã

2. Kh«ng

C¸c hÖ qu¶n trÞ CSDL ®ang dïng (nÕu cã th× ®¸nh dÊu x vμo « d−íi):

Foxpro Access Notus note

DB2 SQL server

Oracle CSDL ®Þa lý

Infomix Kh¸c

24. §Çu t− cho øng dông CNTT t¹i doanh nghiÖp trong giai ®o¹n

2005-2010...........®ång

Ng©n s¸ch trung −¬ng: ..............®ång

Ng©n s¸ch ®Þa ph−¬ng: ..............®ång

§Çu t− ph¸t triÓn m¹ng diÖn réng, m¹ng côc bé, mua s¾m phÇn cøng:.......®ång

§Çu t− ph¸t triÓn øng dông CNTT (mua, x©y dùng c¬ së d÷ liÖu, phÇn mÒm...):.....®ång

§Çu t− cho ®μo t¹o, båi d−ìng vÒ CNTT cho c¸n bé, nh©n viªn: ..........®ång

25. C¸c phÇn mÒm øng dông ®ang sö dông trong ®¬n vÞ:

HiÖn tr¹ng sö dông D¹ng øng dông

(ghi râ tªn øng dông) N¨m b¾t ®Çu sö dông

§¸p øng ®−îc yªu

cÇu

Trªn m¸y ®¬n

Ng«n ng÷ lËp

tr×nh

Nhμ cung cÊp

a) PhÇn mÒm øng dông c¬ b¶n

- So¹n th¶o v¨n b¶n

- Qu¶n lý c«ng v¨n

- Qu¶n lý VBPQ

- Qu¶n lý nh©n sù

- Qu¶n lý tμi chÝnh

- Qu¶n lý vËt t−

- §¬n khiÕu tè

- §iÒu hμnh t¸c nghiÖp

Page 134: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

134

b) C¸c øng dông vμ CSDL chuyªn ngμnh phôc vô cho lÜnh vùc chuyªn m«n

c) C¸c øng dông trong s¶n xuÊt (®iÒu hμnh s¶n xuÊt)

d) Kh¸c (nÕu cã)

26. §μo t¹o

Sè häc viªn ®−îc ®μo t¹o qua c¸c

n¨m N¬i ®μo t¹o

Néi dung ®μo t¹o

N¨m…

T¹i ®Þa ph−¬ng

Ngoμi ®Þa ph−¬ng

N−íc ngoμi

Tæng sè

1. CNTT cho c¸n bé l·nh ®¹o, qu¶n lý

2. Tin häc cho NSD

3. Chuyªn viªn tin häc

4. Ph¸t triÓn vμ qu¶n trÞ hÖ thèng

27. Nhu cÇu øng dông vμ ph¸t triÓn CNTT cña ®¬n vÞ ®Õn n¨m …

1. Nh©n lùc vÒ CNTT

Nhu cÇu tæng sè c¸n bé nh©n viªn toμn ®¬n vÞ ®Õn n¨m ….: … ng−êi

Trong ®ã, nhu cÇu sè c¸n bé vÒ CNTT ®Õn n¨m ….:

Trong ®ã

ChØ tiªu

Tæng sè

(ng−êi)§H vμ

trªn §HCao ®¼ng

Trung cÊp

Chuyªn viªn

Kh¸c

C¸n bé phÇn cøng

C¸n bé phÇn mÒm

Ph¸t triÓn vμ qu¶n trÞ hÖ thèng

C¸n bé cã sö dông PC trong c«ng viÖc

NhËp d÷ liÖu

2. Nhu cÇu ®μo t¹o tõng n¨m

ChØ tiªu N¨m…

C¸n bé qu¶n lý

C¸n bé qu¶n trÞ m¹ng

Page 135: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

135

Chuyªn viªn lËp tr×nh

Chuyªn viªn ph©n tÝch thiÕt kÕ hÖ thèng

Chuyªn viªn ph¸t triÓn vμ qu¶n trÞ hÖ thèng

Chuyªn viªn TM§T

3. Nhu cÇu nh©n lùc cã tr×nh ®é cao: §V tÝnh: ng−êi

Sè c¸n bé

§H Trªn §H

N¨m Phæ cËp LËp

tr×nh

Ph©n tÝch vμ thiÕt kÕ

M¹ng LËp tr×nh

Ph©n tÝch vμ thiÕt kÕ

M¹ng

4. Nhu cÇu vÒ thiÕt bÞ §V: chiÕc

Sè l−îng STT Chñng lo¹i

N¨m….

1. M¸y tÝnh PC

2. M¸y in

3. Scaner

4. Plotter

5. Modem

6. Router

7. Switch

8. M¸y chñ CSDL

9. M¸y chñ truyÒn th«ng

5. Nhu cÇu c¸c hÖ qu¶n trÞ CSDL chñ yÕu (nÕu cã th× ®¸nh dÊu x vμo « d−íi):

Foxpro Access Notus note

DB2 SQL server

Oracle CSDL ®Þa lý

Infomix Kh¸c

6. Nhu cÇu c¸c phÇn mÒm øng dông sÏ sö dông trong ®¬n vÞ:

Nhu cÇu D¹ng øng dông

(ghi râ tªn øng dông, n¨m b¾t ®Çu sö dông)

N©ng cÊp

Míi

Trªn m¸y ®¬n

Ng«n ng÷ lËp tr×nh

Nhμ cung cÊp

a) PM øng dông c¬ b¶n

- So¹n th¶o v¨n b¶n

- Qu¶n lý c«ng v¨n

- Qu¶n lý VBPQ

Page 136: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

136

- Qu¶n lý nh©n sù

- Qu¶n lý tμi chÝnh

- Qu¶n lý vËt t−

- §¬n khiÕu tè

- §iÒu hμnh t¸c nghiÖp

b) C¸c øng dông vμ CSDL chuyªn ngμnh phôc vô cho lÜnh vùc chuyªn m«n

c) C¸c øng dông phôc vô s¶n xuÊt (®iÒu hμnh s¶n xuÊt)

d) Kh¸c (nÕu cã)

7. Nhu cÇu vÒ tæ chøc

Cã nhu cÇu thμnh lËp ®¬n vÞ chuyªn tr¸ch vÒ CNTT:

NÕu cã: Sè l−îng c¸n bé: …..

Trong ®ã:

- C¸n bé kü thuËt: ……

- C¸n bé lËp tr×nh: …….

- C¸n bé ph©n tÝch vμ thiÕt kÕ hÖ thèng: ………

28. §¸nh gi¸ vμ kiÕn nghÞ

1. Lý do ph¸t triÓn chËm CNTT cña doanh nghiÖp

- Nhu cÇu sö dông CNTT cßn Ýt

- Kh«ng ho¹ch ®Þnh ®−îc lé tr×nh ¸p dông CNTT

- ThiÕu sù kÕt hîp chÆt chÏ cña c¸c hiÖp héi

- Nhμ n−íc ch−a chó träng ®Õn líp øng dông cho doanh nghiÖp

- Ng©n s¸ch cã h¹n

- Lo ng¹i vÒ hiÖu qu¶ sö dông phÇn mÒm

- Sù chØ ®¹o cña cÊp trªn cßn Ýt

- L·nh ®¹o doanh nghiÖp cßn bËn qu¸ nhiÒu viÖc

- §Çu t− kh«ng hîp lý

- ThiÕu sù liªn kÕt, phèi hîp, kh«ng theo kÕ ho¹ch tæng thÓ

- ThiÕu nh©n lùc (lËp tr×nh viªn, c¸n bé qu¶n lý, c¸n bé xóc tiÕn th−¬ng m¹i)

- N¨ng lùc cña doanh nghiÖp cung cÊp s¶n phÈm CNTT cßn h¹n chÕ

- ChÝnh s¸ch, ®Ò ¸n hç trî doanh nghiÖp øng dông CNTT cßn thiÕu

Page 137: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

137

- ThiÕu Trung t©m cung cÊp d÷ liÖu, th«ng tin kinh tÕ chuyªn ngμnh

- ThiÕu kÝch thÝch (ch−¬ng tr×nh ph¸t triÓn TM§T, tin häc ho¸ QLNN)

- Chi phÝ x©y dùng phÇn mÒm qu¸ cao

- Nh©n viªn ng¹i kh«ng muèn thay ®æi thãi quen lμm viÖc cò

- Quy tr×nh s¶n xuÊt kinh doanh ë nhiÒu ®¬n vÞ thμnh viªn kh«ng chuÈn

- Ch−a coi th«ng tin lμ 1 yÕu tè kh«ng thÓ thiÕu trong ®iÒu hμnh s¶n xuÊt kinh doanh

- DÞch vô kh«ng tèt cña c¸c nhμ cung cÊp dÞch vô CNTT trong, ngoμi n−íc

2. C¸c trë ng¹i chÝnh khi thùc hiÖn øng dông

(ghi theo thø tù quan träng: 1 - quan träng nhÊt, 9 - Ýt quan träng nhÊt)

Tr×nh ®é chung vÒ tin häc cña c¸n bé cßn thÊp

ThiÕu c¸c chuyªn gia tin häc

C¸c phÇn mÒm ®· x©y dùng kh«ng phï hîp

KÕ ho¹ch kh«ng phï hîp

Tr×nh ®é tæ chøc qu¶n lý cßn h¹n chÕ

Kh«ng ®ñ kinh phÝ

ThiÕu sù quan t©m cña l·nh ®¹o

Kh«ng ®−îc sù ñng hé hîp t¸c cña c¸n bé c«ng chøc trong c¬ quan

Kh¸c (nÕu cã ghi râ)

3. C¸c kiÕn nghÞ cña doanh nghiÖp vÒ øng dông CNTT t¹i doanh nghiÖp

Ngμy th¸ng n¨m...

Thñ tr−ëng ®¬n vÞ

3.1.3.3. Ph©n tÝch tμi liÖu

C¸c tµi liÖu ®· cã lµ nguån d÷ liÖu vµ th«ng tin dåi dµo vµ ®· ®−îc tÝch luü qua nhiÒu n¨m. Chóng cã thÓ tån t¹i d−íi d¹ng cøng (sæ, s¸ch, tËp t− liÖu) hay mÒm (c¸c tÖp d÷ liÖu). Chóng ta cè g¾ng cã ®Çy ®ñ danh s¸ch cña chóng. Sau ®ã ph©n lo¹i d÷ liÖu trong tõng tµi liÖu thµnh c¸c d÷ liÖu c¬ b¶n hay c¸c d÷ liÖu cã cÊu tróc, xem xÐt, ph¸t hiÖn c¸c d÷ liÖu trïng lÆp, thiÕu nhÊt qu¸n trong l−u tr÷, tªn gäi. NÕu tæ chøc ®ã ®· cã CSDL th× cè g¾ng t×m hiÓu nguyªn do t¹i sao hä kh«ng muèn dïng CSDL nµy n÷a.

VÝ dô: vÒ Hå s¬ d÷ liÖu Bµi to¸n qu¶n lý kinh doanh:

Page 138: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

138

B¶ng 3.5. HÖ thèng b¶ng Vμo

1. §¬n ®Æt MUA HμNG

Sè:................. Ngμy giao hμng:........

Ngμy:............... Ngμy thanh to¸n:.......

Tªn nhμ cung cÊp:..... Tæng sè tiÒn:..........®ång

§Þa chØ nhμ cung cÊp:.....

§iÖn tho¹i nhμ cung cÊp:...

E-mail nhμ cung cÊp:......

Sè thø tù Tªn hμng §¬n vÞ tÝnh Sè l−îng §¬n gi¸ Thμnh tiÒn

Tæng

2. PhiÕu nhËp

Sè:................................................................................................

Theo sè ®¬n ®Æt mua hμng:........... .............................................

Tªn nhμ cung cÊp:…………………………….......................................

Ngμy:............................................................................................

Tæng tiÒn nhËp:.............................................................................®ång

Sè thø tù Tªn hμng §¬n vÞ tÝnh Sè l−îng §¬n gi¸ Thμnh tiÒn

Tæng

3. PhiÕu chi

Sè:............................................

Theo sè phiÕu nhËp:...............................

Tªn nhμ cung cÊp:………………………………………… Ngμy:.........................................

Tæng tiÒn chi:....................................®ång

Page 139: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

139

4. ®¬n ®Æt hμng

Sè:............ Ngμy:..............

Tªn kh¸ch:...... Ngμy ®Ò nghÞ giao:

Sè nhμ:. Ngμy thanh to¸n:........

§Þa chØ:......... Tæng sè tiÒn:...........®ång

§iÖn tho¹i:.....

E-mail:.........

STT Tªn hμng §¬n vÞ tÝnh Sè l−îng §¬n gi¸ Thμnh tiÒn

Tæng

5. PhiÕu giao Sè:...............................

Theo sè ®¬n ®Æt hμng.................

Tªn kh¸ch:…………………………………

Ngμy:..............................

Tæng tiÒn giao:...................... ®ång

STT Tªn hμng §¬n vÞ tÝnh Sè l−îng §¬n gi¸ Thμnh tiÒn

Tæng

6. PhiÕu thu (ph¸t cho kh¸ch hμng)

Sè:..................................

Theo sè phiÕu giao:....................

Tªn kh¸ch:…………………………………...

Ngμy:................................

Tæng tiÒn thu:.........................®ång

Page 140: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

140

B¶ng 3.6. HÖ thèng b¶ng Ra

7. B¸o c¸o hμng giao

Sè: Trang:

Ngμy:

STT M· kh¸ch

M· hμng

§¬n vÞ tÝnh §¬n gi¸ Sè l−îng Thμnh tiÒn

Tæng

8. B¸o c¸o hμng nhËp

Sè b¸o c¸o: Trang:

Ngμy:

STT M· nhμ cung cÊp

M· hμng

§¬n vÞ tÝnh §¬n gi¸ Sè l−îng Thμnh tiÒn

Tæng

9. B¸o c¸o hμng b¸n ch¹y

Sè b¸o c¸o: Ngμy: Trang:

STT M· hμng §¬n vÞ tÝnh §¬n gi¸ Sè l−îng Thμnh tiÒn

Tæng

10. B¸o c¸o hμng b¸n chËm

Sè b¸o c¸o: Ngμy: Trang:

STT M· hμng §¬n vÞ tÝnh §¬n gi¸ Sè l−îng Thμnh tiÒn

Tæng

11. B¸o c¸o kh¸ch hμng th©n thiÕt

Sè b¸o c¸o: Trang:

STT M· kh¸ch M· hμng §¬n vÞ tÝnh §¬n gi¸ Sè l−îng Thμnh tiÒn

Tæng

Ngμy....th¸ng...n¨m.....

Page 141: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

141

12. B¸o c¸o nî cña kh¸ch

Sè b¸o c¸o: Trang:

STT M· kh¸ch

Tªn §Þa chØ Sè ®iÖn tho¹i

E-mail H¹n thanh to¸n TiÒn

Tæng

Ngμy....th¸ng...n¨m...

13. B¸o c¸o nî nhμ cung cÊp

Sè b¸o c¸o: Trang:

STT M· nhμ cung cÊp

Tªn §Þa chØ §iÖn tho¹i

E-mail H¹n thanh to¸n

TiÒn

Tæng

Ngμy....th¸ng.... n¨m....

14. B¸o c¸o Danh s¸ch hμng vμ l−îng tån

Ngμy kiÓm kª:

STT M· hμng Tªn hμng §¬n vÞ tÝnh

Gi¸ hiÖn t¹i

Sè l−îng Gi¸ trÞ hμng tån

Tæng

Tªn ng−êi b¸o c¸o Ngμy....th¸ng.... n¨m...

15. B¸o c¸o vÒ nhμ cung cÊp chñ yÕu

STT M· nhμ cung cÊp

Tªn NCC

DS mÆt hμng chÝnh cung cÊp

Ngμy b¾t ®Çu quan hÖ

VIP §Þa chØ liªn hÖ

Ghi chó

Tªn ng−êi b¸o c¸o Ngμy....th¸ng..... n¨m….

16. Danh s¸ch kh¸ch hμng tiÒm n¨ng

STT M· kh¸ch Tªn kh¸ch

§Þa chØ VIP DS mÆt hμng mua chñ yÕu

Tªn ng−êi

®¹i diÖn

§Þa chØ ng−êi

®¹i diÖn

Ngμy....th¸ng..... n¨m ….

Page 142: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

142

3.2. PH¢N TÝCH D÷ LIÖU Vμ x©y dùng m« h×nh kh¸i niÖm d÷ liÖu

ý nghÜa cña m« h×nh kh¸i niÖm d÷ liÖu:

M« h×nh kh¸i niÖm d÷ liÖu:

- Lµ c«ng cô kÕt nèi gi÷a ng−êi PT_TK vµ NSD

- Lµ m« h×nh d÷ liÖu møc kh¸i niÖm, m« t¶ cÊu tróc vµ c¸c rµng buéc cña d÷ liÖu trong CSDL

- §éc lËp víi hÖ qu¶n trÞ d÷ liÖu vµ m« h×nh d÷ liÖu sÏ ®−îc sö dông ®Ó cµi ®Æt.

- §−îc biÓu diÔn d¹ng s¬ ®å víi 3 thµnh phÇn chÝnh lµ kiÓu thùc thÓ, thuéc tÝnh, liªn kÕt (mèi quan hÖ)

Qu¸ tr×nh x©y dùng m« h×nh kh¸i niÖm d÷ liÖu cã thÓ ®−îc chia lµm c¸c giai ®o¹n sau ®©y:

1. Kh¶o s¸t thùc tÕ

- Thu thËp th«ng tin

- Tr×nh bµy cã hÖ thèng d−íi d¹ng s¬ ®å lu©n chuyÓn c¸c tµi liÖu

2. ThiÕt lËp m« h×nh d÷ liÖu

- KiÓm kª c¸c d÷ liÖu

- X¸c ®Þnh c¸c phô thuéc hµm

- X©y dùng m« h×nh kh¸i niÖm d÷ liÖu

3. KiÓm so¸t vμ chuÈn hãa m« h×nh

3.2.1. Kh¶o s¸t thùc tÕ

Môc tiªu cña giai ®o¹n nµy bao gåm qu¸ tr×nh quan s¸t, pháng vÊn, t×m hiÓu vµ ph©n tÝch, m« t¶ ®Çy ®ñ hiÖn tr¹ng, m« t¶ c¸c bµi to¸n nghiÖp vô vµ c¸c nhu cÇu cña ng−êi sö dông mµ hÖ th«ng tin khi thiÕt kÕ ®−îc ®ßi hái. Do ®ã, nã kh«ng chØ giíi h¹n trong viÖc x©y dùng m« h×nh d÷ liÖu mµ cßn lµ c¬ së ph¸t triÓn nh÷ng th«ng tin cÇn thiÕt cho viÖc x©y dùng m« h×nh chøc n¨ng.

Page 143: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

143

§Ó ®¹t môc tiªu nµy cÇn quan s¸t ®−îc d−íi mäi d¹ng: TÜnh (d÷ liÖu s¬ cÊp, tµi liÖu, b¸o c¸o,...), ®éng (sù lu©n chuyÓn c¸c th«ng tin, tµi liÖu) vµ c¸c nguyªn nh©n biÕn ®æi cña chóng (thñ tôc, quy t¾c qu¶n lý, c«ng thøc tÝnh to¸n,..).

C¸c th«ng tin thu thËp ph¶i ®Çy ®ñ vµ chÝnh x¸c, v× chóng lµ nÒn t¶ng cña hÖ th«ng tin t−¬ng lai. Nh−ng còng kh«ng nªn ®i qu¸ s©u vµo chi tiÕt, ph¶i biÕt g¹t bá nh÷ng th«ng tin kh«ng cÇn thiÕt ®Ó kh«ng lµm chÖch h−íng vµ g©y khã kh¨n, nÆng nÒ cho viÖc ph©n tÝch vµ thiÕt kÕ.

C«ng viÖc kh¶o s¸t kh«ng chØ tËp trung hoµn toµn vµo giai ®o¹n ®Çu cña qu¸ tr×nh ph©n tÝch - thiÕt kÕ, mµ cã thÓ tr¶i dµi trong suèt qu¸ tr×nh ®Ó thu thËp thªm th«ng tin, ®µo s©u vÊn ®Ò hay kiÓm chøng mét gi¶ thiÕt cïng víi ng−êi sö dông.

Khi hÖ th«ng tin cÇn x©y dùng qu¸ lín vµ phøc t¹p, ta nªn chia nhá nã ra thµnh nhiÒu tiÓu hÖ. Mçi tiÓu hÖ cã thÓ ®−îc kh¶o s¸t, ph©n tÝch hay thiÕt kÕ ®éc lËp víi nhau, tr−íc khi ®−îc tæng hîp l¹i. Cã khi ng−êi ta ®i ®Õn ph¸t triÓn c¶ c¸c tiÓu hÖ nµy, nh÷ng phÇn mÒm ®éc lËp nh−ng cã thÓ trao ®æi th«ng tin víi nhau.

§Ó chia mét th«ng tin thµnh nhiÒu tiÓu hÖ, ng−êi ta th−êng sö dông mét trong hai ph−¬ng ph¸p:

+ Ph−¬ng ph¸p “giÕng”: C¸c tiÓu hÖ ®éc lËp ®−îc ®Þnh ra, dùa trªn c¬ së bµi to¸n, chøc n¨ng nghiÖp vô chñ yÕu cña tæ chøc. §«i khi dùa trªn mét kÕ ho¹ch thùc hiÖn theo thø tù −u tiªn hay ®Ó tháa m·n nh÷ng yªu cÇu vÒ thêi gian.

+ Ph−¬ng ph¸p “ao”: Mét cuéc kh¶o s¸t tæng qu¸t s¬ khëi sÏ cho phÐp nhËn diÖn nh÷ng tiÓu hÖ t−¬ng ®èi ®éc lËp víi nhau.

3.2.1.1. Thu thËp th«ng tin

C«ng viÖc nµy chñ yÕu lµ tham kh¶o tµi liÖu s−u tËp ®−îc vµ tiÕp xóc víi nh÷ng ng−êi sö dông, ®ßi hái nh÷ng kh¶ n¨ng nh©n sinh nh−: Kinh nghiÖm, ãc quan s¸t, phª ph¸n, giao tiÕp vµ øng biÕn,.... C¸c ph−¬ng ph¸p gß bã, cøng nh¾c sÏ ch¼ng ®em l¹i kÕt qu¶ mong muèn.

Page 144: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

144

Do ®ã phÇn nµy chØ liÖt kª vµ ph©n lo¹i th«ng tin cã thÓ gÆp ®−îc trong qu¸ tr×nh kh¶o s¸t ®Ó trî gióp trÝ nhí.

Mét s¬ ®å ph©n lo¹i th«ng tin sÏ ®−îc tr×nh bµy ë trang sau.

Víi mçi lo¹i th«ng tin nªu lªn trong s¬ ®å nµy, nÕu cÇn ta cã thÓ t×m hiÓu thªm vÒ mét sè khÝa c¹nh kh¸c nh−: Sè l−îng, chu kú, ®é chÝnh x¸c cÇn cã, ng−êi chÞu tr¸ch nhiÖm,...

Trong qu¸ tr×nh kh¶o s¸t cÇn l−u ý c¸c ®iÓm sau:

+ NÕu cã thÓ, c¸c cuéc pháng vÊn ph¶i ®−îc tiÕn hµnh tuÇn tù theo cÊu tróc ph©n cÊp cña tæ chøc theo tõng bé phËn, lÜnh vùc, chøc n¨ng hay ®i tõ cÊp l·nh ®¹o qua cÊp qu¶n lý ®Õn ng−êi thõa hµnh.

+ Ph¶i lu«n nhí sao chôp mÉu c¸c hå s¬, tµi liÖu ®Ó cã ®−îc cÊu tróc chÝnh x¸c c¸c th«ng tin lµm c¨n b¶n cho viÖc x©y dùng m« h×nh d÷ liÖu sau nµy.

+ CÇn thiÕt nhÊt lµ lu«n ph©n biÖt nh÷ng th«ng tin nãi vÒ hÖ th«ng tin ®ang x©y dùng víi nh÷ng th«ng tin thuéc vÒ hÖ nµy.

Thông tin về môi trường làm việc, không có liên quan trực tiếp đến hệ thống thông tin

Được nhận thức và phát biểu rõ ràng: ra chỉ cần ghi nhận

Có nhận thức nhưng không phát biểu: tìm cách phát hiện và đưa đến phát biểu hoặc công nhận

Chưa nhận thức được: Nhận dạng từ quan sát, phê phán và tìm cách đưa đến công nhận

Thông tin về hệ thống tương lai (nhu cầu/mong muốn)

Thông tin về hệ thống hiện tại

Thông tin hữu ích có liên quan trực tiếp đến hệ thống thông tin

Khía cạnh tĩnh

Khía cạnh động

Khía cạnh biến đổi

Dữ liệu sơ cấp

Tài liệu (tập hợp những dữ liệu sơ cấp)Đơn vị, vị trí làm việc

Trong không gian: đường luân chuyển của thông tin, tài liệu

Trong thời gian: chu kỳ và thời lượng

Thủ tục hành chính, quy tắc quản lý, công thức tính toán, điều kiện khởi động

Tập hợp các thông tin thu thập được

H×nh 3.3. S¬ ®å ph©n lo¹i c¸c th«ng tin

Page 145: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

145

3.2.1.2. Tr×nh bμy hÖ thèng s¬ ®å lu©n chuyÓn tμi liÖu

C¸c th«ng tin thu thËp, sau khi ®−îc tæng hîp vµ cñng cè, sÏ ®−îc tr×nh bµy trong tµi liÖu ®Æc t¶ tæng thÓ d−íi hai d¹ng:

- M« t¶ c¸c bµi to¸n nghiÖp vô, c¸c chøc n¨ng vµ tæ chøc cña c¬ quan, c¸c nhu cÇu vµ mong muèn cña ng−êi sö dông mét c¸ch ®Çy ®ñ, nh−ng ng¾n gän vµ m¹ch l¹c, b»ng mét ng«n ng÷ th«ng th−êng, gÇn gòi víi mäi ng−êi.

- Minh häa vµ hÖ thèng hãa phÇn tr×nh bµy trªn b»ng mét ng«n ng÷ h×nh thøc, th−êng lµ d−íi d¹ng phiÕu m« t¶, danh s¸ch vµ ®å häa.

Cã nhiÒu ph−¬ng ph¸p tr×nh bµy th«ng dông kh¸c nhau. Ng−êi ta th−êng dïng s¬ ®å lu©n chuyÓn tµi liÖu v× mét sè −u ®iÓm cña nã nh− sau:

- §©y lµ mét d¹ng s¬ ®å tæng hîp th«ng tin vÒ tµi liÖu còng nh− vÒ chøc n¨ng.

- Nã ®−îc tr×nh bµy ®óng theo thø tù thêi gian, c«ng viÖc cña tõng ®¬n vÞ, cã thÓ dïng lµm “kim chØ nam” trong lóc pháng vÊn ng−êi sö dông.

- S¬ ®å nµy dÔ hiÓu, t−¬ng ®èi gÇn víi ng−êi sö dông, do ®ã cã thÓ cïng hä lµm chung c¸c c«ng t¸c x©y dùng còng nh− kiÓm chøng.

S¬ ®å nµy th−êng ®−îc tr×nh bµy kÌm theo mét sè tµi liÖu kh¸c nh−:

- Danh s¸ch c¸c ®¬n vÞ hay vÞ trÝ lµm viÖc: m· sè vµ ®Þnh nghÜa

- PhiÕu m« t¶ c¸c ®¬n vÞ hay vÞ trÝ lµm viÖc: ®Þnh nghÜa, c¸c tµi liÖu vµo vµ ra, c¸c chøc n¨ng xö lý.

- Danh s¸ch c¸c tµi liÖu (in trªn giÊy hay mµn h×nh, tÖp in, ®iÖn tho¹i,...): m· sè vµ ®Þnh nghÜa.

- Danh s¸ch c¸c chøc n¨ng xö lý: m· sè vµ ®Þnh nghÜa.

C¸ch tr×nh bµy c¸c lo¹i s¬ ®å vµ tµi liÖu nµy kh«ng ®ßi hái quy chuÈn chÆt chÏ, vµ còng kh¸ ®¬n gi¶n ®Ó kh«ng cÇn ph¶i gi¶i thÝch dµi dßng.

Page 146: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

146

3.2.2. ThiÕt lËp m« h×nh d÷ liÖu

ThiÕt lËp mét m« h×nh kh¸i niÖm d÷ liÖu lµ liÖt kª vµ ®Þnh nghÜa chÝnh x¸c nh÷ng d÷ liÖu cã liªn quan ®Õn c¸c chøc n¨ng, ho¹t ®éng cña tæ chøc, sau ®ã nhãm chóng l¹i thµnh thùc thÓ vµ quan hÖ gi÷a c¸c thùc thÓ råi dïng mét sè qui −íc ®· ®Þnh tr−íc ®Ó tr×nh bµy d−íi d¹ng m« h×nh kh¸i niÖm.

3.2.2.1. X©y dùng m« h×nh kh¸i niÖm d÷ liÖu b»ng ph−¬ng ph¸p Blanpre

Ph−¬ng ph¸p Blanpre lµ ph−¬ng ph¸p cã ®é tin cËy cao. C¬ së cña ph−¬ng ph¸p nµy lµ ®Æc t¶ rµng buéc toµn vÑn b»ng phô thuéc hµm. C¸c b−íc thùc hiÖn ph−¬ng ph¸p Blanpre bao gåm c¸c c«ng viÖc sau ®©y.

3.2.2.1.1. KiÓm kª d÷ liÖu

Danh s¸ch nµy chñ yÕu ®−îc rót tØa tõ nh÷ng th«ng tin thu thËp ®−îc trong giai ®o¹n kh¶o s¸t ban ®Çu: tµi liÖu thu thËp ®−îc; nhu cÇu, gi¶i thÝch cña ng−êi sö dông. Danh s¸ch nµy sÏ lµm nÒn cho viÖc thiÕt lËp mét tõ ®iÓn d÷ liÖu vÒ sau.

Cã thÓ ph©n biÖt hai lo¹i d÷ liÖu:

- Lo¹i d÷ liÖu xuÊt hiÖn trùc tiÕp trªn c¸c tµi liÖu, mµn h×nh, tÖp in thu thËp ®−îc.

- Lo¹i d÷ liÖu kh«ng hÒ xuÊt hiÖn nh−ng cÇn thiÕt ®Ó chøa c¸c kÕt qu¶ trung gian, c¸c th«ng tin ®ang chê ®−îc xö lý, hay ®Ó tÝnh to¸n ra c¸c d÷ liÖu thuéc lo¹i thø nhÊt.

Mét c«ng cô th«ng dông, h÷u Ých cho giai ®o¹n nµy lµ “Ma trËn cña Blanpre”, dïng ®Ó ph©n tÝch c¸c tµi liÖu thu thËp vµ liÖt kª ra danh s¸ch c¸c d÷ liÖu. Trong ma trËn nµy, ta tr×nh bµy mçi cét lµ mét tµi liÖu vµ mçi hµng lµ mét lo¹i d÷ liÖu. T¹i mçi « giao ®iÓm, ta ®¸nh dÊu lo¹i d÷ liÖu cã xuÊt hiÖn trªn tµi liÖu. Nªn dïng hai lo¹i dÊu hiÖu kh¸c nhau ®Ó ph©n biÖt lo¹i d÷ liÖu trùc tiÕp (sè 1 ch¼ng h¹n) víi lo¹i ®−îc tÝnh to¸n thµnh (sè 2 ch¼ng h¹n).

Page 147: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

147

Khi x©y dùng ma trËn nµy, ta nªn b¾t ®Çu b»ng nh÷ng tµi liÖu c¬ b¶n, quan träng nhÊt vµ chØ cÇn tr×nh bµy mét lo¹i tµi liÖu khi nã cho phÐp nhËn d¹ng Ýt nhÊt mét lo¹i d÷ liÖu míi.

VÝ dô:

Hai chøng tõ sau lµ cÇn thiÕt cho qu¶n lý ho¹t ®éng kinh doanh:

a. §¬n §Æt hμng Sè: M· kh¸ch hμng:

Ngμy: Tªn kh¸ch hμng:

§Þa chØ:

STT M· hμng Tªn hμng §¬n vÞ Sè l−îng

b. phiÕu giao hμng Sè: Ngμy:

M· kh¸ch hμng: N¬i giao:

STT M· hμng §¬n gi¸ Sè l−îng Thμnh tiÒn

Gi¶ thiÕt r»ng ®¬n gi¸ chØ phô thuéc vμo hμng TONGTIEN

B¶ng 3.7. Ma trËn Blanpre

Lo¹i d÷ liÖu §¬n ®Æt hμng PhiÕu giao hμng

1. Sè ®¬n 1

2. Ngμy ®Æt 1

3. M· kh¸ch 1 1

4. Tªn kh¸ch 1

5. §Þa chØ 1

6. STT 2 2

7. M· hμng 1 1

8. Tªn hμng 1

9. §¬n vÞ 1

10. SL ®Æt 1

11. Sè phiÕu 1

12. Ngμy giao 1

Page 148: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

148

13. N¬i giao 1

14. §¬n gi¸ giao (Gi¶ thiÕt: chØ phô thuéc vμo hμng)

1

15. SL giao 1

16. Thμnh tiÒn 2

17. Tæng tiÒn 2

Ghi chó: 1. D÷ liÖu trùc tiÕp

2. D÷ liÖu gi¸n tiÕp/trung gian (tÝnh ®−îc th«ng qua c¸c d÷ liÖu kh¸c)

Tõ danh s¸ch nµy, ng−êi ta cÇn kiÓm tra b»ng mét c«ng t¸c thanh läc nh−:

- Bá bít c¸c d÷ liÖu ®ång nghÜa nh−ng kh¸c tªn, chØ gi÷ l¹i mét

VÝ dô:

M· sè s¶n phÈm = Danh môc ®Æt hµng

- Ph©n biÖt c¸c d÷ liÖu cïng tªn nh−ng kh¸c nghÜa vµ t¸ch thµnh nhiÒu lo¹i d÷ liÖu kh¸c nhau.

VÝ dô:

- Gi¸ b¸n cña mét cöa hiÖu kh¸c víi gi¸ b¸n cña mét c«ng ty s¶n xuÊt.

- NhËp chung c¸c lo¹i d÷ liÖu lu«n xuÊt hiÖn ®ång thêi víi nhau trªn mäi lo¹i tµi liÖu thµnh mét d÷ liÖu s¬ cÊp.

VÝ dô:

Sè nhµ vµ tªn ®−êng; ngµy, th¸ng vµ n¨m sinh.

- Lo¹i bá nh÷ng lo¹i d÷ liÖu cã thÓ x¸c ®Þnh ®−îc mét c¸ch duy nhÊt tõ c¸c d÷ liÖu kh¸c, hoÆc b»ng c«ng thøc tÝnh to¸n, do c¸c quy luËt cña tæ chøc.

VÝ dô:

- Tæng gi¸ ®¬n ®Æt hµng = Sè l−îng gi¸* ®¬n gi¸

Page 149: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

149

- Gi¶ sö do quy luËt tæ chøc, mäi ®Ò nghÞ mua hµng ph¶i ®−îc gi¶i quyÕt néi trong ngµy, ta suy ra: Ngµy ®Ò nghÞ mua hµng = Ngµy ®Æt hµng.

Sau khi chÝnh x¸c ho¸ d÷ liÖu (lo¹i ®ång danh, ®ång nghÜa, thªm bít thuéc tÝnh, lo¹i bá d÷ liÖu gi¸n tiÕp,…), ta cã:

B¶ng 3.8. Ma trËn Blanpre rót gän

Lo¹i d÷ liÖu §¬n ®Æt hμng PhiÕu giao

Sè ®¬n 1

Ngμy ®Æt 1

M· kh¸ch 1 1

Tªn kh¸ch 1

§Þa chØ 1

M· hμng 1 1

Tªn hμng 1

§¬n vÞ 1

SL ®Æt 1

Sè phiÕu 1

Ngμy giao 1

N¬i giao 1

§¬n gi¸ giao 1

SL giao 1

3.2.2.1.2. X¸c ®Þnh c¸c phô thuéc hμm gi÷a c¸c d÷ liÖu

Tõ danh s¸ch c¸c lo¹i d÷ liÖu ®· thanh läc cña hÖ thèng th«ng tin ®¹t ®−îc qua giai ®o¹n trªn, ta ph¶i x¸c ®Þnh tÊt c¶ c¸c phô thuéc hµm hiÖn h÷u gi÷a chóng.

Cô thÓ, ta ph¶i tù ®Æt c©u hái:

Mçi gi¸ trÞ cña mét lo¹i d÷ liÖu A cã t−¬ng øng víi mét gi¸ trÞ duy nhÊt cña lo¹i d÷ liÖu B kh«ng?

NÕu “cã” th× B phô thuéc hµm vµo A: A→B

Ngoµi c¸c phô thuéc hµm cã vÕ tr¸i A lµ mét lo¹i d÷ liÖu s¬ cÊp (gäi lµ phô thuéc hµm s¬ cÊp), t−¬ng ®èi dÔ x¸c ®Þnh, ta cßn ph¶i nhËn

Page 150: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

150

diÖn c¶ c¸c hµm trong ®ã vÕ tr¸i A lµ mét tËp hîp cña nhiÒu lo¹i d÷ liÖu (gäi lµ phô thuéc hµm ®a phÇn).

Ta tiÕp tôc ®Æt c©u hái:

CÇn Ên ®Þnh gi¸ trÞ cña nh÷ng lo¹i d÷ liÖu nμo ®Ó cã thÓ suy ra mét gi¸ trÞ duy nhÊt cña lo¹i d÷ liÖu B?

C¸c hµm phô thuéc sÏ ®−îc tr×nh bµy d−íi d¹ng mét b¶ng c¸c phô thuéc hµm nh− sau:

B¶ng 3.9. Ma trËn phô thuéc hμm Blanpre

Lo¹i d÷ liÖu Phô thuéc hμm

s¬ cÊp

Phô thuéc hμm

®a phÇn

Sè ®¬n

Ngμy ®Æt NhËn

M· kh¸ch Cã

Tªn kh¸ch

§Þa chØ

M· hμng

Tªn hμng

§¬n vÞ

SL ®Æt DATCACLOAI

Sè phiÕu

Ngμy giao

N¬i giao

§¬n gi¸ giao

SL giao GIAOCAC LOAI

3.2.2.1.3. X©y dùng m« h×nh kh¸i niÖm d÷ liÖu

Giai ®o¹n nµy bao gåm 5 b−íc:

- X¸c ®Þnh tËp hîp c¸c khãa chÝnh

- NhËn diÖn c¸c thùc thÓ

- NhËn diÖn c¸c quan hÖ

- Ph©n bè hÕt c¸c thuéc tÝnh

- VÏ m« h×nh kh¸i niÖm d÷ liÖu

Page 151: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

151

1. X¸c ®Þnh tËp hîp c¸c khãa chÝnh

TËp hîp K cña nh÷ng khãa chÝnh lµ tËp hîp tÊt c¶ nh÷ng lo¹i d÷ liÖu cã ®ãng vai trß nguån (thuéc vÕ tr¸i) trong Ýt nhÊt mét phô thuéc hµm.

Trong vÝ dô trªn, ta cã:

K = {Sè ®¬n, m· kh¸ch, m· hµng, sè phiÕu}

2. NhËn diÖn c¸c thùc thÓ

Mçi phÇn tö cña tËp hîp K sÏ lµ khãa chÝnh cña mét thùc thÓ.

Trong vÝ dô trªn, ta nhËn ra ®−îc 4 thùc thÓ:

§¬n hμng (Sè ®¬n,....)

Kh¸ch (M· kh¸ch,...)

Hμng (M· hμng,...)

PhiÕu giao (Sè phiÕu,.....)

3. NhËn diÖn c¸c quan hÖ

Cã hai tr−êng hîp:

A. NÕu gèc cña mét phô thuéc hμm bao gåm Ýt nhÊt 2 phÇn tö thuéc tËp hîp K th× nã t−¬ng øng víi mét quan hÖ N-N gi÷a c¸c thùc thÓ cã khãa chÝnh lμ c¸c phÇn tö nμy.

Trong vÝ dô trªn, ta nhËn ra ®−îc 2 quan hÖ:

§Æt c¸c lo¹i (sè l−îng ®Æt)

Giao c¸c lo¹i (sè l−îng giao)

B. Sù hiÖn h÷u cña mét phô thuéc hμm gi÷a hai phÇn tö cña tËp hîp K x¸c ®Þnh mét quan hÖ nhÞ nguyªn kiÓu 1-N gi÷a hai thùc thÓ cã khãa chÝnh lμ c¸c phÇn tö nμy.

Trong vÝ dô trªn, ta nhËn ra ®−îc 2 quan hÖ:

NhËn

Page 152: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

152

4. Ph©n bæ c¸c thuéc tÝnh cßn l¹i

TÊt c¶ c¸c lo¹i d÷ liÖu kh«ng tËp hîp K ®Òu lµ nh÷ng thuéc tÝnh th«ng th−êng vµ cã thÓ ®−îc ph©n bæ mét c¸ch dÔ dµng vµo c¸c thùc thÓ hay quan hÖ, tïy theo c¸c hµm phô thuéc.

Ph©n bæ c¸c thuéc tÝnh cßn l¹i cho c¸c thùc thÓ ta thÊy võa hÕt:

§¬n hμng (Sè ®¬n, ngμy ®Æt)

Kh¸ch (M· kh¸ch, tªn kh¸ch, §/Ckh¸ch)

Hμng (M· hμng, Tªn hμng, M« t¶ hμng, §/Vhμng, §¬n gi¸)

PhiÕu giao (Sè phiÕu, ngμy giao, n¬i giao)

5. VÏ m« h×nh kh¸i niÖm d÷ liÖu

Tõ c¸c thùc thÓ vµ quan hÖ ®· nhËn diÖn, ta cã thÓ vÏ lªn mét m« h×nh kh¸i niÖm d÷ liÖu nh− sau:

H×nh 3.4. M« h×nh kh¸i niÖm d÷ liÖu bμi to¸n ®Æt vμ giao hμng

3.2.2.2. X©y dùng m« h×nh kh¸i niÖm d÷ liÖu b»ng ph−¬ng ph¸p m« h×nh

C¬ së cña ph−¬ng ph¸p nµy lµ c¸c quy t¾c qu¶n lý. C¸c b−íc thùc hiÖn cña ph−¬ng ph¸p m« h×nh bao gåm c¸c c«ng viÖc sau:

Page 153: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

153

1. X¸c ®Þnh danh s¸ch c¸c thuéc tÝnh cÇn qu¶n lý

2. X¸c ®Þnh c¸c thùc thÓ

3. X¸c ®Þnh c¸c mèi quan hÖ gi÷a c¸c thùc thÓ

4. ThiÕt lËp m« h×nh kh¸i niÖm d÷ liÖu

VÝ dô:

Mét c¬ së b¸n hµng sö dông hai lo¹i chøng tõ sau ®Ó theo dâi ho¹t ®éng kinh doanh cña m×nh:

a. §¬n §Æt hμng

Sè ho¸ ®¬n: Ngμy ®Æt:

Ng−êi ®Æt hμng:

§Þa chØ:

STT Tªn hμng M« t¶ hμng §¬n vÞ tÝnh Sè l−îng (®Æt)

b. phiÕu giao hμng

Sè phiÕu: Ngμy giao:

Tªn kh¸ch hμng: N¬i giao hμng:

§Þa chØ:

STT Tªn hμng §¬n vÞ tÝnh §¬n gi¸ Sè l−îng (giao) Thμnh tiÒn

TONGTIEN:

CÇn thiÕt kÕ CSDL lo¹i quan hÖ (bao gåm c¸c file d÷ liÖu vµ s¬ ®å m« h×nh d÷ liÖu) tõ c¸c tµi liÖu trªn ®Ó qu¶n lý ho¹t ®éng b¸n hµng.

Gi¶ thiÕt: §¬n gi¸ giao kh«ng chØ phô thuéc vµo m· hµng (cã thÓ

phô thuéc vµo kh¸ch, sè l−îng, thêi gian)

Thñ tôc tiÕn hμnh:

1. LiÖt kª, chÝnh x¸c ho¸ th«ng tin

Page 154: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

154

B¶ng 3.10. Danh s¸ch thuéc tÝnh cÇn qu¶n lý

Thùc thÓ -Thuéc tÝnh Ghi chó

®¬n ®Æt hμng DONHANG

Sè ®¬n hμng §Þnh danh

Ng−êi ®Æt hμng ⇒ tªn kh¸ch hμng Thay b»ng tªn kh¸ch hμng (0)

M· kh¸ch hμng Thªm míi (1)

§Þa chØ kh¸ch

Ngμy ®Æt hμng

* Sè thø tù (2) Kh«ng cÇn

* M· hμng Thªm míi, §Þnh danh (1)

* Tªn hμng

* M« t¶ hμng

* §¬n vÞ tÝnh

* Sè l−îng ®Æt

PhiÕu giao hμng Phieugiao

Sè phiÕu giao §Þnh danh

Tªn kh¸ch hμng ⇒ m· kh¸ch Thay b»ng m· kh¸ch (3)

N¬i giao hμng

Ngμy giao

* Sè thø tù (2) Kh«ng cÇn

* Tªn hμng -> m· hμng Thay b»ng m· hμng (3)

* §¬n vÞ tÝnh Kh«ng cÇn (4)

* §¬n gi¸ hμng giao

* Sè l−îng giao

* Thμnh tiÒn Kh«ng cÇn (5)

Tæng céng Kh«ng cÇn

Chó thÝch:

(0) “ng−êi ®Æt hμng” ë ®¬n ®Æt hµng vµ “Tªn kh¸ch hμng” ë

phiÕu giao hµng chØ cïng mét ®èi t−îng nªn ta thèng nhÊt

chän tªn gäi cho ®èi t−îng nµy lµ: “Tªn kh¸ch hμng”.

(1) “Tªn kh¸ch hμng” lµ thuéc tÝnh tªn gäi cña thùc thÓ “kh¸ch hµng”, kh«ng x¸c ®Þnh mçi kh¸ch hµng cô thÓ v× kh¸ch cã thÓ trïng tªn.

Page 155: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

155

V× vËy ph¶i thªm thuéc tÝnh “M· kh¸ch hμng” lµm thuéc tÝnh ®Þnh

danh cho “kh¸ch hµng”. Còng t−¬ng tù nh− vËy cÇn thªm “M·

hμng” lµm thuéc tÝnh ®Þnh danh cho “hµng”.

(2) Sè thø tù ®Ó ®¸nh sè mçi dßng ho¸ ®¬n chØ cã ý nghÜa trong ho¸ ®¬n nµy, kh«ng cho th«ng tin g× kh¸c, kh«ng cÇn l−u tr÷.

(3) Tªn kh¸ch hμng, tªn hμng lµ thuéc tÝnh tªn gäi ®· cã ë trªn, cÇn

thay nã b»ng thuéc tÝnh ®Þnh danh t−¬ng øng.

(4) C¸c thuéc tÝnh nµy lµ thuéc tÝnh m« t¶, ®· gÆp ë trªn nªn bá ®i.

(5) Thuéc tÝnh thμnh tiÒn = (®¬n gi¸ giao) x (sè l−îng giao). Hai thuéc

tÝnh nµy ®· ®−îc chän ë trªn nªn cã thÓ tÝnh ®−îc “thμnh tiÒn”, do

®ã kh«ng cÇn l−u gi÷ thuéc tÝnh nµy.

(*) ChØ c¸c thuéc tÝnh lÆp/®a trÞ (kh«ng s¬ cÊp).

2. X¸c ®Þnh c¸c thùc thÓ vμ c¸c thuéc tÝnh

Tõ hai hå s¬, chóng ta nhËn biÕt ®−îc c¸c thùc thÓ còng nh− c¸c thuéc tÝnh.

C¸c thùc thÓ:

- E1-kh¸ch

#m· kh¸ch

Tªn kh¸ch

§Þa chØ kh¸ch

- E2-hµng

#m· hμng

Tªn hμng

M« t¶ hμng

§¬n vÞ hμng

Page 156: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

156

E4-®¬n ®Æt

#Sè ®¬n ®Æt

Ngμy ®Æt hμng

- E5-PHIÕU GIAO

# Sè phiÕu giao

N¬i giao

Ngμy giao

Chó ý:

- Thùc thÓ KHACH cã hai thuéc tÝnh: tªn kh¸ch, ®Þa chØ. Tªn kh¸ch kh«ng thÓ dïng lµm ®Þnh danh cho thùc thÓ nªn cÇn thªm ®Þnh

danh cho nã: m· kh¸ch

- Thùc thÓ HANG cã 3 thuéc tÝnh: tªn hμng, ®¬n vÞ, m« t¶ hμng.

Còng nh− thùc thÓ KHACH ta cÇn thªm ®Þnh danh: m· hμng cho thùc

thÓ nµy.

3. X¸c ®Þnh c¸c mèi quan hÖ vμ c¸c thuéc tÝnh cña quan hÖ

NhËn xÐt: cßn 3 thuéc tÝnh sau ch−a ghÐp vµo thùc thÓ nµo c¶ lµ:

§¬n gi¸ hµng giao, Sè l−îng hµng giao vµ Sè l−îng ®Æt.

Trong ®¬n ®Æt hµng, chóng ta x¸c ®Þnh ®−îc quy t¾c qu¶n lý sau:

- Trong mçi ®¬n ®Æt hμng ng−êi ta chØ viÕt cho mét kh¸ch. Ng−îc

l¹i mét kh¸ch cã thÓ cã nhiÒu ®¬n ®Æt hμng.

VËy ta cã ®Æc t¶:

Page 157: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

157

- Trong mçi ®¬n ®Æt hμng ng−êi ta cã thÓ viÕt nhiÒu lo¹i hμng (mçi lo¹i hμng trªn mét dßng hμng). Ng−îc l¹i, mçi lo¹i hμng cã thÓ cã mÆt trong nhiÒu ®¬n ®Æt hμng.

VËy ta cã ®Æc t¶:

Trong phiÕu giao hµng, chóng ta còng x¸c ®Þnh ®−îc quy t¾c qu¶n lý sau:

- Trong mçi phiÕu giao hμng ng−êi ta chØ viÕt cho mét kh¸ch. Ng−îc l¹i mét kh¸ch cã thÓ cã nhiÒu phiÕu giao hμng.

VËy ta cã ®Æc t¶:

- Trong mçi phiÕu giao hμng ng−êi ta cã thÓ viÕt nhiÒu lo¹i hμng (mçi lo¹i hμng trªn mét dßng hμng). Ng−îc l¹i, mçi lo¹i hμng cã thÓ cã mÆt trong nhiÒu phiÕu giao hμng.

VËy ta cã ®Æc t¶:

4. VÏ m« h×nh kh¸i niÖm d÷ liÖu

GhÐp nèi tÊt c¶ 4 ®Æc t¶ trªn, chóng ta cã ®−îc m« h×nh kh¸i niÖm d÷ liÖu cho bµi to¸n:

Page 158: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

158

H×nh 3.5. M« h×nh kh¸i niÖm d÷ liÖu

3.2.2.3. X©y dùng m« h×nh kh¸i niÖm d÷ liÖu b»ng ph−¬ng ph¸p trùc gi¸c

Ph−¬ng ph¸p ph©n tÝch hÖ thèng nªu trªn lµ mét c«ng cô h÷u hiÖu vµ chuÈn x¸c ®Ó x©y dùng phÇn lín c¸c m« h×nh d÷ liÖu. Nh−ng nÕu ¸p dông hoµn toµn trong mét hÖ th«ng tin cì lín sÏ ®ßi hái nhiÒu thêi gian vµ c«ng søc. Trong thùc tÕ, c¸c thiÕt kÕ viªn chuyªn nghiÖp - sau khi ®· nhËn thøc ®−îc vÊn ®Ò kh¶o s¸t - th−êng chän c¸ch x©y dùng trùc tiÕp mét m« h×nh s¬ khëi råi ®i th¼ng vµo giai ®o¹n sau ®Ó kiÓm so¸t, bæ tóc vµ chuÈn hãa m« h×nh.

Ph−¬ng ph¸p trùc gi¸c nµy cã −u ®iÓm lµ Ýt tèn thêi gian vµ ®«i khi t¹o ra m« h×nh ®¬n gi¶n vµ thùc tÕ h¬n. Nh−ng ng−îc l¹i, nã còng chøa nhiÒu rñi ro h¬n.

VÝ dô 1: Cho phiÕu nhËp kho cã d¹ng:

PhiÕu nhËp kho (Theo ®¬n ®Æt hμng sè:..............)

Sè PN: Ngμy nhËp:

M· NhμcungcÊp: M· kho:

Tªn NCC: §Þa chØ kho:

§Þa chØ NCC:

STT Tªn vËt liÖu M· vËt liÖu §¬n vÞ tÝnh Sè l−îng N¬i s¶n xuÊt

Thñ kho

Page 159: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

159

Khi nghiªn cøu PHIEUNHAPKHO chóng ta cã nhËn xÐt nã biÓu hiÖn mèi quan hÖ cña 4 thùc thÓ NHACC, KHO, VATLIEU vµ THUKHO, v× vËy chóng ta x¸c nhËn nã nh− mét mèi quan hÖ.

Khi x¸c ®Þnh mèi quan hÖ NHAP vµ c¸c thuéc tÝnh cña nã, chóng ta ®Æt c¸c c©u hái khi nh×n vµo phiÕu nhËp:

B¶ng 3.11. B¶ng ph©n tÝch quan hÖ NHAP

Tr¶ lêi C©u hái cho ®éng tõ “nhËp” Thùc thÓ Thuéc tÝnh

Ai nhËp? THUKHO

NhËp c¸i g×? VATLIEU

Tõ Ai? NHACUNGCAP

ë ®©u? KHO

Lý do nhËp §¬n ®Æt (theo ®¬n ®Æt sè)

B»ng c¸ch nμo? PhiÕu nhËp (Sè PN)

Khi nμo? Ngμy nhËp

Bao nhiªu? Sè l−îng nhËp

Nguån gèc vËt liÖu? N¬i s¶n xuÊt

Ta cã ®Æc t¶ mèi quan hÖ nµy nh− sau: THUKHO nhËn VATLIEU

tõ NHACUNGCAP t¹i KHO:

H×nh 3.6. Mèi quan hÖ bËc 4 dùa trªn PHIEUNHAPKHO

Page 160: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

160

Gi¶ sö r»ng: mçi kho cã thÓ cã nhiÒu thñ kho, nh−ng mçi thñ kho chØ lµm viÖc trong 1 kho. Nh− vËy gi÷a KHO vµ THU KHO cã mèi quan hÖ 1-N. V× vËy, chóng ta chÝnh x¸c ho¸ quan hÖ nµy b»ng c¸ch t¸ch khái nã mèi quan hÖ së h÷u:

H×nh 3.7. §Æc t¶ mèi quan hÖ

§Æc t¶ nµy còng chÝnh lµ m« h×nh kh¸i niÖm d÷ liÖu cña bµi to¸n:

H×nh 3.8. M« h×nh kh¸i niÖm d÷ liÖu

Page 161: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

161

VÝ dô 2: Chóng ta sö dông l¹i vÝ dô trong ph−¬ng ph¸p m« h×nh vµ còng thùc hiÖn lÇn l−ît theo c¸c b−íc sau:

a. LiÖt kª, chÝnh x¸c ho¸ th«ng tin: (gièng nh− ph−¬ng ph¸p m« h×nh)

b. X¸c ®Þnh c¸c thùc thÓ vμ c¸c thuéc tÝnh

Tõ hai hå s¬, qua c¸c tªn gäi (tªn kh¸ch hµng, ng−êi ®Æt hµng, tªn hµng) ta nhËn biÕt ®−îc c¸c thùc thÓ còng nh− lµ c¸c thuéc tÝnh lµ:

- C¸c thùc thÓ: kh¸ch, hµng

- C¸c thuéc tÝnh trÝch tõ c¸c hå s¬ trªn theo thø tù sau khi ®· ch¾t läc (nh− cét ®Çu trong b¶ng trªn sau khi ®· lo¹i ®i nh÷ng thuéc tÝnh lÆp l¹i) lµ:

Sè ®¬n ®Æt

Tªn kh¸ch KHACH (+m· kh¸ch)

§Þa chØ kh¸ch

Ngμy ®Æt hμng

* Tªn hμng HANG (+m· hμng)

*M« t¶ hμng

*§¬n vÞ hμng

*Sè l−îng ®Æt

Sè phiÕu giao

N¬i giao

Ngμy giao

*§¬n gi¸ hμng giao

*Sè l−îng hμng giao

Tæng tiÒn cña phiÕu giao (bá v× cã thÓ suy ra tõ c¸c thuéc tÝnh kh¸c)

c. X¸c ®Þnh c¸c thuéc tÝnh cña quan hÖ

- Thùc thÓ KHACH cã hai thuéc tÝnh: tªn kh¸ch, ®Þa chØ. Tªn kh¸ch kh«ng thÓ dïng lµm ®Þnh danh cho thùc thÓ nªn cÇn thªm ®Þnh danh cho nã: m· kh¸ch

Page 162: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

162

- Thùc thÓ HANG cã 3 thuéc tÝnh: tªn hμng, ®¬n vÞ, m« t¶ hμng. Còng nh− thùc thÓ KHACH ta cÇn thªm ®Þnh danh: m· hμng cho thùc thÓ nµy.

C¸c thuéc tÝnh cßn l¹i:

Sè ®¬n ®Æt

Ngμy ®Æt

* Sè l−îng ®Æt

Sè phiÕu giao

N¬i giao

Ngμy giao

* §¬n gi¸ hμng giao

* Sè l−îng hμng giao

d. X¸c ®Þnh c¸c mèi quan hÖ cña hai thùc thÓ trªn

- Mèi quan hÖ 1:

kh¸ch - ®Æt – hµng (b»ng §¬n hμng) nªn cã c¸c thuéc tÝnh liªn quan ®Õn quan hÖ nµy lµ:

+ Sè ®¬n ®Æt

+ Ngμy ®Æt

+ Sè l−îng hμng ®Æt *

- Mèi quan hÖ 2:

hµng – (®−îc) giao (cho) – kh¸ch (b»ng PhiÕu giao hμng) nªn cã c¸c thuéc tÝnh liªn quan ®Õn mèi quan hÖ nµy lµ:

+ Sè phiÕu giao

+ N¬i giao

+ Ngμy giao

+ Sè l−îng hμng giao *

+ §¬n gi¸ hμng giao *

Nh− vËy, c¸c th«ng tin tõ hai chøng tõ ®· ®−îc sö dông hÕt.

Page 163: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

163

e. X©y dùng m« h×nh kh¸i niÖm d÷ liÖu

H×nh 3.9. M« h×nh kh¸i niÖm d÷ liÖu cña bμi to¸n ®Æt vμ giao hμng

3.2.3. KiÓm so¸t vμ chuÈn hãa m« h×nh

§Ó ®¬n gi¶n hãa vµ ®ång thêi ®¶m b¶o tÝnh nhÊt qu¸n cña m« h×nh d÷ liÖu, ta cÇn kiÓm so¸t l¹i m« h×nh võa x©y dùng b»ng mét sè qui t¾c thùc tiÔn sau ®©y:

3.2.3.1. ChuÈn hãa m« h×nh

Mäi thùc thÓ, quan hÖ cña m« h×nh ®Òu nªn ®−îc chuÈn hãa theo c¸c d¹ng 1FN, 2FN, 3FN vµ BCFN, ngo¹i trõ tr−êng hîp cã yªu cÇu ®Æc biÖt kh¸c cña hÖ th«ng tin.

ViÖc chuÈn hãa toµn bé theo c¸c d¹ng 3FN vµ BCFN kh«ng b¾t buéc, cßn c¸c d¹ng 1FN vµ 2FN ph¶i lu«n ®−îc tu©n thñ.

VÝ dô:

Mèi quan hÖ x¸c ®Þnh trªn h×nh 3.8 trong môc x©y dùng m« h×nh d÷ liÖu b»ng trùc gi¸c sÏ sinh thµnh mét l−îc ®å quan hÖ ch−a ®¹t chuÈn 1:

Page 164: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

164

PHIEUNHAP (Sè PN, ngµy nhËp, M· NhµcungcÊp, Sè ®¬n ®Æt hμng, M· vËt liÖu*, Sè l−îng*, m· thñ kho)

§Ó chuÈn ho¸ m« h×nh, chóng ta ph¶i t¸ch PHIEUNHAP thµnh c¸c l−îc ®å quan hÖ ®¹t 1NF:

PHIEUNHAP (Sè PN, ngµy nhËp, M· NhµcungcÊp, Sè ®¬n ®Æt, m· thñ kho)

DONGPHIEUNHAP (Sè PN, M· vËt liÖu, Sè l−îng)

Hai quan hÖ nµy ®−¬ng nhiªn còng ®¹t 2NF, 3NF.

3.2.3.2. T¹o thªm mét thùc thÓ

- ViÖc t¹o thªm mét thùc thÓ lµ cÇn thiÕt khi cã Ýt nhÊt mét quan hÖ hiÖn h÷u tham chiÕu tíi nã.

- ViÖc t¹o thªm mét thùc thÓ lµ hîp lý khi:

a. Thuéc tÝnh sÏ ®−îc chän lµm khãa chÝnh cña thùc thÓ nµy lµ mét lo¹i d÷ liÖu th«ng dông trong ho¹t ®éng cña tæ chøc

b. Ngoµi khãa chÝnh nµy, quan hÖ cßn cã chøa nh÷ng thuéc tÝnh kh¸c.

3.2.3.3. BiÕn mét quan hÖ thμnh thùc thÓ

Mét quan hÖ cã kÝch th−íc lín h¬n 3 nªn ®−îc biÕn thµnh nh÷ng thùc thÓ ®¬n gi¶n h¬n.

Cã thÓ biÕn mét quan hÖ thµnh thùc thÓ khi héi ®ñ c¸c ®iÒu kiÖn sau:

- Quan hÖ nµy cã mét khãa chÝnh ®éc lËp.

- Quan hÖ nµy t−¬ng øng víi mét kh¸i niÖm quen thuéc, th«ng dông trong ho¹t ®éng cña tæ chøc.

VÝ dô:

H×nh 3.10. §Æc t¶ mèi quan hÖ thêi kho¸ biÓu

Page 165: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

165

Quan hÖ R ®−îc biÕn thµnh thùc thÓ “Thêi khãa biÓu”

H×nh 3.11. §Æc t¶ thùc thÓ thêi kho¸ biÓu

3.2.3.4. Xãa mét quan hÖ

Mét quan hÖ 1-N ph¶i ®−îc lo¹i bá khái m« h×nh d÷ liÖu nÕu nã lµ tæng hîp cña hai hay nhiÒu quan hÖ 1-N.

VÝ dô: Quan hÖ “Häc tr−êng” trong vÝ dô sau ®©y cã thÓ, vµ nªn, ®−îc lo¹i bá.

H×nh 3.12. §Æc t¶ mèi quan hÖ “häc tr−êng’’

3.2.3.5. Ph©n t¸ch mét quan hÖ phøc t¹p

XÐt mét quan hÖ cã kÝch th−íc lín h¬n hoÆc b»ng 3. Quan hÖ cã thÓ ph©n t¸ch thµnh nhiÒu quan hÖ kh¸c víi kÝch th−íc nhá h¬n mµ kh«ng mÊt th«ng tin nÕu tån t¹i Ýt nhÊt mét hµm phô thuéc gi÷a c¸c thùc thÓ cÊu thµnh quan hÖ.

3.2.3.5.1. Tr−êng hîp phô thuéc hμm Èn

Trong tr−êng hîp nµy, mét trong c¸c b¶n sè cña quan hÖ b»ng (1.1) hoÆc (0.1) ®iÒu nµy chøng tá sù tån t¹i cña mét sè phô thuéc hµm Èn.

Page 166: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

166

Trong vÝ dô sau ®©y, b¶n sè (1,1) gi÷a quan hÖ “Kh¸m bÖnh” víi thùc thÓ “§¬n thuèc” ®· chØ ra ®−îc c¸c phô thuéc hµm:

§¬n thuèc ---> BÖnh nh©n

vµ §¬n thuèc ---> B¸c sÜ

S¬ ®å thø hai t−¬ng ®−¬ng víi s¬ ®å thø nhÊt, nh−ng ®¬n gi¶n h¬n:

H×nh 3.13. §Æc t¶ mèi quan hÖ “kh¸m bÖnh’’

H×nh 3.14. §Æc t¶ mèi quan hÖ “cho ®¬n’’ vμ “dïng thuèc’’

3.2.3.5.2. Tr−êng hîp phô thuéc hμm hiÖn

Cho mét quan hÖ R gi÷a 3 thùc thÓ A, B vµ C. NÕu tån t¹i mét hµm phô thuéc A---> B th× R cã thÓ ®−îc ph©n thµnh hai quan hÖ gi÷a A víi B vµ gi÷a A víi C.

Trong vÝ dô sau ®©y, hµm phô thuéc Hãa ®¬n ---> Kh¸ch hµng (mçi hãa ®¬n chØ liªn quan ®Õn mét kh¸ch hµng duy nhÊt) cho phÐp ta ®−a vµo mét quan hÖ míi ®Ó diÔn t¶ sù phô thuéc nµy vµ ®¬n gi¶n hãa m« h×nh.

Page 167: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

167

VÝ dô:

S¬ ®å thø 2 t−¬ng ®−¬ng víi s¬ ®å thø nhÊt, nh−ng ®¬n gi¶n h¬n:

H×nh 3.15. §Æc t¶ mèi quan hÖ “dßng ho¸ ®¬n’’

H×nh 3.16. §Æc t¶ mèi quan hÖ “dßng ho¸ ®¬n’’ vμ “liªn quan’’

NhËn xÐt: Ph−¬ng ph¸p x©y dùng m« h×nh b»ng trùc gi¸c th−êng cho phÐp ta ®i th¼ng ®Õn s¬ ®å thø hai v× s¬ ®å nµy gÇn víi thùc tÕ ho¹t ®éng cña tæ chøc h¬n.z

3.3. ThiÕt kÕ CSDL logic

ThiÕt kÕ CSDL logic lμ v« cïng quan träng trong kh©u thiÕt kÕ CSDL. KÕt qu¶ thiÕt kÕ CSDL logic cho c¶ ng−êi ph©n tÝch thiÕt kÕ hÖ thèng, NSD vμ ng−êi qu¶n lý h×nh dung ®−îc CSDL cña HTTT trong mét tæ chøc bao gåm bao nhiªu tÖp, tªn tõng tÖp, danh s¸ch c¸c tr−êng mçi tÖp, nhãm thuéc tÝnh kho¸ chÝnh trong mçi tÖp còng nh− tæng thÓ c¸c mèi quan hÖ logic gi÷a c¸c tÖp (kÕt nèi th«ng qua kho¸ ngo¹i). C¸c kü thuËt ®−îc sö dông ë ®©y thÓ hiÖn tÝnh c«ng nghÖ râ nÐt.

Page 168: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

168

3.3.1. Khu«n c¶nh thiÕt kÕ c¬ së d÷ liÖu logic

VÊn ®Ò ®Æt ra lµ thÕ nµo lµ mét thiÕt kÕ c¬ së d÷ liÖu tèt?

§Ó lµm râ vÊn ®Ò nµy chóng ta xÐt vÝ dô sau.

Cho mét l−îc ®å:

Th«ng tin vÒ nhµ cung cÊp (tªn NCC, ®Þa chØ NCC, mÆt hµng, gi¸)

L−îc ®å nµy chøa mét sè c¸c th«ng tin vÒ nhµ cung cÊp. NhiÒu vÊn ®Ò cã thÓ n¶y sinh trong ®ã nh−:

1. D− thõa (redundancy). §Þa chØ cña nhµ cung cÊp ®−îc lËp l¹i mçi lÇn cho mçi mÆt hµng ®−îc cung cÊp.

2. M©u thuÉn tiÒm Èn (potentian inconsistance) hay bÊt th−êng khi cËp nhËt. Do hËu qu¶ cña d− thõa, chóng ta cã thÓ cËp nhËt ®Þa chØ cña mét nhµ cung cÊp trong mét b¶n ghi nh−ng vÉn ®Ó l¹i ®Þa chØ cò trong mét b¶n ghi kh¸c. V× vËy chóng ta cã thÓ kh«ng cã mét ®Þa chØ duy nhÊt ®èi víi mçi nhµ cung cÊp.

3. BÊt th−êng khi chÌn (insertion anomaly). Chóng ta kh«ng thÓ biÕt ®Þa chØ mét nhµ cung cÊp nÕu hiÖn t¹i hä ch−a cung cÊp Ýt mét mÆt hµng. Chóng ta cã thÓ ®Æt gi¸ trÞ null trong c¸c thµnh phÇn mÆt hµng vµ gi¸ cña mét b¶n ghi cho ng−êi ®ã, nh−ng khi chóng ta nhËp mÆt hµng cho nhµ cung cÊp ®ã, chóng ta cã nhí xo¸ ®i b¶n ghi mang gi¸ trÞ null hay kh«ng? §iÒu tÖ h¹i lµ mÆt hµng vµ tªn NCC cïng t¹o ra mét kho¸ cho quan hÖ ®ã, vµ cã lÏ kh«ng thÓ t×m ra c¸c b¶n ghi nhê chØ môc s¬ cÊp ®−îc, nÕu cã nh÷ng gi¸ trÞ null trong tr−êng kho¸ mÆt hµng.

4. BÊt th−êng khi xo¸ (deletion anormaly). Ng−îc l¹i víi vÊn ®Ò (3) lµ vÊn ®Ò chóng ta cã thÓ xo¸ tÊt c¶ c¸c mÆt hµng ®−îc cung cÊp bëi mét ng−êi, v« ý lµm mÊt dÊu vÕt ®Ó t×m ra ®Þa chØ cña nhµ cung cÊp nµy.

Trong vÝ dô nµy, tÊt c¶ c¸c vÊn ®Ò n¶y sinh trªn sÏ ®−îc gi¶i quyÕt triÖt ®Ó khi thay nã b»ng hai l−îc ®å quan hÖ míi:

NhμCC (tªn NCC, ®Þa chØ NCC)

Gi¸_NCC (tªn NCC, mÆt hμng, gi¸)

Page 169: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

169

ë ®©y quan hÖ NhµCC cung cÊp ®Þa chØ cña mçi NCC ®óng mét lÇn, do vËy kh«ng cã d− thõa. Ngoµi ra, chóng ta còng cã thÓ nhËp ®Þa chØ cña nhµ cung cÊp dï hiÖn t¹i hä ch−a cung cÊp mét lo¹i mÆt hµng nµo. Nh− vËy t− t−ëng n¶y sinh tù nhiªn lµ lµm thÕ nµo ®Ó cã mét CSDL tèt?

§Ó ®¶m b¶o qu¸ tr×nh thiÕt kÕ dÉn ®Õn mét CSDL tèt (theo nghÜa tr¸nh ®−îc nh÷ng nh−îc ®iÓm trªn) ng−êi ta th−êng thùc hiÖn ®Çy ®ñ c¸c b−íc theo mét tr×nh tù c«ng nghÖ ®−îc tr×nh bµy d−íi ®©y.

H×nh 3.17. S¬ ®å khu«n c¶nh chung c¸c b−íc thiÕt kÕ CSDL logic

§èi víi ph−¬ng ph¸p Blanpre, b−íc 2 vµ b−íc 3 dùa vµo ma trËn phô thuéc hµm. §èi víi ph−¬ng ph¸p trùc gi¸c, viÖc x¸c ®Þnh c¸c mèi quan hÖ kh«ng dùa trªn rµng buéc phô thuéc hµm, hay quy t¾c qu¶n lý mµ b»ng trùc gi¸c. Trong ®ã, c¸c hå s¬ d÷ liÖu th−êng ®−îc xÐt tíi nh− mét mèi quan hÖ n ng«i.

B−íc 4: X©y dùng M« h×nh kh¸i niÖm d÷ liÖu

B−íc 2: X¸c ®Þnh c¸c thùc thÓ, danh s¸ch thuéc tÝnh

B−íc 5: ChuyÓn M« h×nh kh¸i niÖm d÷ liÖu sang M« h×nh quan hÖ (HÖ l−îc ®å quan hÖ)

B−íc 6: ChuÈn ho¸ c¸c quan hÖ ®Õn 3NF vμ hîp nhÊt chóng khi cÇn

B−íc 7: X©y dùng M« h×nh d÷ liÖu logic - S¬ ®å E_R

B−íc 1: ChÝnh x¸c ho¸ d÷ liÖu vμ thiÕt lËp danh s¸ch thuéc tÝnh cÇn qu¶n lý

B−íc 3: X¸c ®Þnh c¸c mèi quan hÖ, danh s¸ch thuéc tÝnh (nÕu cã)

Page 170: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

170

3.3.2. C¸c kü thuËt sö dông trong thiÕt kÕ c¬ së d÷ liÖu logic

PhÇn trªn, chóng ta ®· biÕt c¸c kü thuËt x©y dùng m« h×nh kh¸i niÖm d÷ liÖu. B©y giê chóng ta sÏ t×m hiÓu c¸c kü thuËt cßn l¹i sÏ sö dông khi thiÕt kÕ CSDL.

3.3.2.1. Kü thuËt x¸c ®Þnh c¸c thùc thÓ

Mét thùc thÓ ®−îc x¸c ®Þnh nÕu x¸c ®Þnh ®−îc 3 thµnh phÇn: tªn cña thùc thÓ, danh s¸ch thuéc tÝnh (Ýt nhÊt lµ mét) vµ nhãm thuéc tÝnh ®Þnh danh (Ýt nhÊt lµ mét thuéc tÝnh).

Cã nhiÒu c¸ch x¸c ®Þnh thùc thÓ. Chóng ta xem xÐt mét vÝ dô sau ®©y.

Cho mét ho¸ ®¬n ®iÓn h×nh:

ho¸ §¬n b¸n hμng

Sè: Ngμy:

M· kh¸ch hμng:

Tªn kh¸ch hμng:

§Þa chØ:

STT M· hμng Tªn hμng §¬n vÞ §¬n gi¸ Sè l−îng Thμnh tiÒn

Tæng tiÒn

1. Tr−êng hîp 1: Coi c¶ HOADON lµ mét thùc thÓ, ta cã:

HOADON

#Sè

#M· hµng* (2 thuéc tÝnh {sè, m· hµng} hîp thµnh nhãm thuéc tÝnh ®Þnh danh cña thùc thÓ)

Ngµy M· kh¸ch hµng

Tªn kh¸ch hµng

§Þa chØ

Page 171: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

171

Tªn hµng*

§¬n vÞ tÝnh*

§¬n gi¸*

Sè l−îng*

Thµnh tiÒn*

Tæng tiÒn (c¸c thuéc tÝnh cã dÊu * lµ thuéc tÝnh lÆp/®a trÞ)

2. Tr−êng hîp 2: X¸c ®Þnh 2 thùc thÓ: mét nhãm thuéc tÝnh ®¬n vµ 1 nhãm thuéc tÝnh lÆp.

E1-HOADON E2- HANG

#Sè

Ngµy #M· hµng M· kh¸ch hµng Tªn hµng

Tªn kh¸ch hµng §¬n vÞ tÝnh

§Þa chØ

Tæng tiÒn

3. Tr−êng hîp 3: X¸c ®Þnh 3 thùc thÓ: hai nhãm thuéc tÝnh ®¬n vµ 1 nhãm thuéc tÝnh lÆp.

E1-HOADON E2- KHACH E3-HANG

#Sè #M· kh¸ch hµng #M· hµng

Ngµy Tªn kh¸ch hµng Tªn hµng

Tæng tiÒn §Þa chØ §¬n vÞ tÝnh

Chó ý:

- Mçi thuéc tÝnh chØ ph©n cho 1 thùc thÓ

- Cã thÓ cã thuéc tÝnh kh«ng ph©n ®−îc cho mét thùc thÓ nµo c¶

3.3.2.2. Kü thuËt ®Æc t¶

Chóng ta ®· biÕt kü thuËt ®Æc t¶ mèi quan hÖ gi÷a 2 thùc thÓ dùa vµo m« t¶ b»ng ng«n ng÷ tù nhiªn. Ngoµi c¸ch nµy chóng ta cßn cã thÓ ®Æc t¶ mèi quan hÖ gi÷a 2 thùc thÓ dùa trªn nh÷ng kü thuËt sau ®©y:

Page 172: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

172

1. Dùa vμo quy t¾c qu¶n lý hoÆc nh÷ng quy t¾c toμn vÑn

VÝ dô: Cho c¸c thùc thÓ vµ thuéc tÝnh sau:

VËt t− (m· vt, tªn vt, §V, ®¬n gi¸),

phiÕu xuÊt (sè phiÕu, ngμy, m· kho, m· kh¸ch),

kh¸ch (m· kh¸ch, tªn kh¸ch, ®Þa chØ, E_mail),

kho (m· kho, tªn kho)

Dùa vµo nh÷ng quy t¾c ®−îc ph¸t biÓu tr−íc, chóng ta vÏ ®−îc mét ®Æc t¶ mèi quan hÖ gi÷a 2 thùc thÓ:

“Trong mçi phiÕu xuÊt, ghi nhiÒu lo¹i vËt t−. Ng−îc l¹i mçi lo¹i vËt t− cã thÓ xuÊt hiÖn trong nhiÒu phiÕu xuÊt víi d÷ liÖu quan träng lμ sè l−îng’’.

“Mét phiÕu xuÊt chØ viÕt cho mét kh¸ch; ng−îc l¹i mét kh¸ch cã thÓ cã nhiÒu phiÕu xuÊt’’

“Mét phiÕu xuÊt chØ viÕt cho mét kho, ng−îc l¹i mçi kho cã thÓ cã nhiÒu phiÕu xuÊt’’

Page 173: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

173

2. Dùa vμo kho¸ cña c¸c l−îc ®å quan hÖ (X¸c ®Þnh qua kho¸ liªn kÕt)

VÝ dô:

+ Tr−êng hîp hÖ l−îc ®å quan hÖ ®· chuÈn ho¸

VËt t− (m· vt, tªn vt, §V, ®¬n gi¸),

phiÕu xuÊt (sè phiÕu, ngμy, m· kho, m· kh¸ch),

kh¸ch (m· kh¸ch, tªn kh¸ch, ®Þa chØ, E_mail),

kho (m· kho, tªn kho)

dßng VËt t− (sè phiÕu, m· vt, sè l−îng)

Tõ VËt t− vµ dßng VËt t− ta thÊy cã nhãm thuéc tÝnh

chung lµ “m· vt”, ë thùc thÓ VËt t− chóng lµ kho¸ chÝnh, vËy ë

thùc thÓ dßng VËt t− chóng lµ kho¸ ngo¹i. Sù tån t¹i cña kho¸ ngo¹i chøng tá gi÷a 2 l−îc ®å quan hÖ ®ã cã mèi quan hÖ víi nhau. Ta vÏ ®−îc:

Ph©n tÝch t−¬ng tù, ta cã:

Page 174: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

174

Kho¸ ngo¹i (foreign key: FK) cña 1 quan hÖ lμ mét nhãm thuéc tÝnh trong quan hÖ ®ã mμ lμ kho¸ chÝnh cña mét quan hÖ kh¸c liªn kÕt víi nã (c¸c FK còng cã thÓ tham chiÕu ®Õn kho¸ chÝnh trong cïng 1 quan hÖ). Kho¸ ngo¹i cßn gäi lμ kho¸ liªn kÕt.

+ Tr−êng hîp hÖ l−îc ®å quan hÖ ch−a chuÈn ho¸

VËt t− (m· vt, tªn vt, §V),

Dßng phiÕu xuÊt (sè phiÕu, ngμy, m· kho, m· kh¸ch, m· vt*, sè l−îng*, ®¬n gi¸)

kh¸ch (m· kh¸ch, tªn kh¸ch, ®Þa chØ, E_mail),

kho (m· kho, tªn kho)

Ta thÊy “m· vt” lµ kho¸ ngo¹i cña dßng phiÕu xuÊt trong

mèi quan hÖ víi VËt t− nªn cã thÓ ®Æc t¶ mèi quan hÖ gi÷a chóng tr−íc, sau ®ã chuÈn ho¸:

Page 175: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

175

3.3.2.3. Kü thuËt chuyÓn m« h×nh kh¸i niÖm d÷ liÖu vÒ hÖ l−îc ®å quan hÖ

1. Cho m« h×nh kh¸i niÖm d÷ liÖu cña hÖ qu¶n lý kho

Page 176: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

176

H×nh 3.18. M« h×nh kh¸i niÖm d÷ liÖu cña hÖ qu¶n lý kho

Cã 3 quy t¾c chuyÓn:

Quy t¾c 1 (quy t¾c biÕn ®æi c¬ b¶n):

Mçi thùc thÓ ®−îc chuyÓn thµnh mét quan hÖ trong ®ã c¸c thuéc tÝnh cña thùc thÓ ®−îc chuyÓn thµnh thuéc tÝnh cña quan hÖ, ®Þnh danh cña thùc thÓ trë thµnh khãa cña quan hÖ.

Quy t¾c 2:

Mçi mèi quan hÖ 1-N mµ kh«ng cã thuéc tÝnh riªng sÏ kh«ng ®−îc chuyÓn thµnh mét quan hÖ. Nh−ng thùc thÓ tham gia vµo mèi quan hÖ vÒ phÝa N (phÝa 1:1 trong m« h×nh) sÏ ®æi míi b»ng c¸ch sau khi dïng phÐp biÕn ®æi c¬ b¶n sÏ nhËn thªm kho¸ cña thùc thÓ tham gia vµo mèi quan hÖ ë phÝa 1 lµm kho¸ liªn kÕt. Cßn thùc thÓ tham gia vµo mèi quan hÖ ë phÝa 1 sÏ biÕn ®æi theo quy t¾c 1.

Quy t¾c 3:

Mçi mèi quan hÖ N-N hoÆc mèi quan hÖ cã thuéc tÝnh riªng sÏ ®−îc chuyÓn thµnh mét quan hÖ míi. Quan hÖ míi nµy cã thuéc tÝnh

Page 177: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

177

gåm ®Þnh danh cña tÊt c¶ c¸c thùc thÓ trong mèi quan hÖ vµ c¸c thuéc tÝnh riªng cña nã. Khãa cña quan hÖ ®−îc x¸c ®Þnh l¹i sau ®ã. C¸c thùc thÓ tham gia vµo mèi quan hÖ ®Òu biÕn ®æi theo quy t¾c 1.

Gi¶ thiÕt ë ®©y (dùa theo b¶n sè cña m« h×nh) lµ mçi mÆt hμng cã thÓ ®Ó ë nhiÒu kho. Ta thÊy r»ng:

+ Mèi quan hÖ nhËp tõ lµ mèi quan hÖ lo¹i 1-N vµ kh«ng cã thuéc tÝnh riªng nªn kh«ng chuyÓn thµnh mét quan hÖ míi. Thùc thÓ

nhµ cung cÊp tham gia vµo mèi quan hÖ nµy ®−îc chuyÓn thµnh

quan hÖ theo quy t¾c biÕn ®æi c¬ b¶n. Thùc thÓ phiÕu nhËp sau khi biÕn ®æi theo quy t¾c c¬ b¶n sÏ ®−îc bæ sung thuéc tÝnh M· NCC lµm thuéc tÝnh liªn kÕt. KÕt qu¶ ta cã hai l−îc ®å sau:

Nha_CUNG_CaP (M· NCC, Tªn NCC, §Þa chØ NCC)

PHIeU_NhaP (Sè phiÕu nhËp, Ngμy nhËp, M· NCC)

+ Mèi quan hÖ chøa lµ mèi quan hÖ lo¹i N-N vµ cã thuéc tÝnh riªng nªn ®−îc chuyÓn thµnh mét quan hÖ míi. Danh s¸ch thuéc tÝnh cña nã bao gåm thuéc tÝnh riªng “tån kho” vµ c¸c thuéc tÝnh ®Þnh danh cña c¸c thùc thÓ tham gia vµo mèi quan hÖ nµy (m· kho vµ m· hµng).

C¸c thùc thÓ kho vµ hµng tham gia vµo mèi quan hÖ ®Òu ®−îc biÕn thµnh quan hÖ theo quy t¾c c¬ b¶n. KÕt qu¶ ta cã 3 l−îc ®å quan hÖ sau:

Kho (M· kho, Tªn kho, §Þa chØ, Lo¹i kho)

Chua (M· kho, M· hμng, Tån kho)

HANG (M· hμng, Tªn hμng, §¬n vÞ, §¬n gi¸)

+ C¸c mèi quan hÖ kh¸c ®Òu ®−îc ph©n tÝch t−¬ng tù sÏ cho chóng ta hÖ l−îc ®å quan hÖ. Sau khi lo¹i trõ c¸c quan hÖ bÞ bao hµm ®Ó ®¶m b¶o lµ hÖ Sperner ta sÏ cßn l¹i 9 l−îc ®å quan hÖ sau (nh÷ng thuéc tÝnh g¹ch ch©n lµ khãa):

1. Nha_CUNG_CaP (M· NCC, Tªn NCC, §Þa chØ NCC)

2. PHIeU_NhaP (Sè phiÕu nhËp, Ngμy nhËp, M· NCC)

Page 178: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

178

3. GoM_CaC_KHOaN_NhaP (Sè phiÕu nhËp, M· hμng, L−îng nhËp)

4. KHaCH_HaNG (M· kh¸ch, Tªn kh¸ch, §Þa chØ kh¸ch)

5. Phieu_xuat (Sè phiÕu xuÊt, Ngμy xuÊt, M· kh¸ch)

6. Gom_ cac_khoan_xuat (sè phiÕu xuÊt, m·_hμng, L−îng xuÊt)

7. Kho (M· kho, Tªn kho, §Þa chØ, Lo¹i kho)

8. Chua (M· kho, M· hμng, Tån kho)

9. HANG (M· hμng, Tªn hμng, §¬n vÞ, §¬n gi¸)

Chó ý: NÕu mçi mÆt hµng chØ ®Ó ë 1 kho th× cã:

H×nh 3.19. M« h×nh kh¸i niÖm d÷ liÖu

Vµ cã Chua (M· kho, M· hμng, Tån kho)

Nªn 2 quan hÖ:

HANG (M· hμng, Tªn hμng, §¬n vÞ, §¬n gi¸)

Vµ: Chua (M· kho, M· hμng, Tån kho)

sÏ ®−îc hîp l¹i thµnh mét:

HANG (M· hμng, Tªn hμng, §¬n vÞ, §¬n gi¸, M·kho, Tån kho)

Page 179: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

179

VËy hÖ l−îc ®å trong tr−êng hîp nµy chØ cßn cã 8 l−îc ®å quan hÖ sau:

1. Nha_CUNG_CaP (M· NCC, Tªn NCC, §Þa chØ NCC)

2. PHIeU_NhaP (Sè phiÕu nhËp, Ngμy nhËp, M· NCC)

3. GoM_CaC_KHOaN_NhaP (Sè phiÕu nhËp, M· hμng, L−îng nhËp)

4. KHaCH_HaNG (M· kh¸ch, Tªn kh¸ch, §Þa chØ kh¸ch)

5. Phieu_xuat (Sè phiÕu xuÊt, Ngμy xuÊt, M· kh¸ch)

6. Gom_ cac_khoan_xuat (sè phiÕu xuÊt, m·_hμng, L−îng xuÊt)

7. Kho (M· kho, Tªn kho, §Þa chØ, Lo¹i kho)

8. HANG (M· hμng, Tªn hμng, §¬n vÞ, §¬n gi¸, M·kho, Tånkho)

2. Cho m« h×nh kh¸i niÖm bμi to¸n qu¶n lý kinh doanh

H×nh 3.20. M« h×nh kh¸i niÖm d÷ liÖu

Page 180: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

180

ChuyÓn sang m« h×nh quan hÖ:

Mèi quan hÖ §AT lµ mèi quan hÖ lo¹i N-N, cã thuéc tÝnh riªng nªn ®−îc chuyÓn thµnh mét quan hÖ:

§AT (sè ®¬n, ngµy ®Æt, m· kh¸ch, m· hμng *, sè l−îng ®Æt*)

Chó ý:

M· hµng ®−îc ®¸nh dÊu * trong §AT v× thuéc tÝnh “sè l−îng ®Æt” lµ ®a trÞ, tøc lµ øng víi nhiÒu lo¹i hµng.

Thùc thÓ KHACH ®· ®−îc t¸ch riªng nªn m· kh¸ch trong §AT kh«ng gi÷ vai trß lµ thµnh phÇn cña kho¸ chÝnh mµ chØ lµ kho¸ ngo¹i.

Cßn thùc thÓ KHACH vµ HANG tham gia vµo mèi quan hÖ trªn còng ®−îc chuyÓn sang l−îc ®å quan hÖ t−¬ng øng theo quy t¾c c¬ b¶n:

KHACH (M· kh¸ch, Tªn kh¸ch, ®Þa chØ kh¸ch)

HANG (M· hµng, Tªn hµng, M« t¶ hµng, ®¬n vÞ tÝnh)

KÕt qu¶ ta cã hÖ l−îc ®å sau:

§AT (sè ®¬n, ngµy ®Æt, m· kh¸ch, m· hμng*, sè l−îng ®Æt*)

KHACH (M· kh¸ch, Tªn kh¸ch, ®Þa chØ kh¸ch)

HANG (M· hµng, Tªn hµng, M« t¶ hµng, ®¬n vÞ tÝnh)

3.3.2.4. Kü thuËt chuÈn ho¸

ChuÈn ho¸ lµ mét qu¸ tr×nh chuyÓn mét cÊu tróc d÷ liÖu phøc hîp thµnh c¸c cÊu tróc d÷ liÖu tèt vµ ®¬n gi¶n h¬n.

ChuÈn ho¸ th−êng ®−îc hoµn thµnh sau mét sè b−íc, mçi b−íc nhËn ®−îc c¸c quan hÖ t−¬ng øng víi mét d¹ng chuÈn. D¹ng chuÈn ®−îc hiÓu lµ mét tr¹ng th¸i cña quan hÖ cã thÓ ®−îc x¸c ®Þnh nhê ¸p dông c¸c quy t¾c ®Ó ph¸t hiÖn sù phô thuéc hµm (mèi quan hÖ) gi÷a c¸c thuéc tÝnh cña quan hÖ.

ChuÈn ho¸ dùa trªn c¬ së ph©n tÝch c¸c phô thuéc hµm. Phô thuéc hµm nh− ®· nãi ë trªn lµ mét mèi quan hÖ cô thÓ gi÷a hai thuéc tÝnh (hay nhãm thuéc tÝnh) trong mét quan hÖ.

Page 181: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

181

C¸c d÷ liÖu trong quan hÖ kh«ng dÔ cho thÊy vÒ sù tån t¹i cña c¸c phô thuéc hµm. ChØ cã sù hiÓu biÕt vµ tri thøc cña con ng−êi vÒ c¸c ®èi t−îng mµ chÝnh quan hÖ ®ã m« t¶ míi cho phÐp x¸c ®Þnh c¸c phô thuéc hµm vèn tån t¹i trong nã. Tuy cã nh÷ng thuËt to¸n (th−êng phøc t¹p) cho phÐp ph¸t hiÖn ra cã hay kh«ng c¸c sù phô thuéc hµm gi÷a hai hay nhiÒu thuéc tÝnh cña nã nh−ng th−êng Ýt dïng.

a. C¸c d¹ng chuÈn c¬ b¶n

Cã 3 d¹ng chuÈn c¬ b¶n lµ:

ChuÈn 1 (first-normal-form: 1NF): Mét quan hÖ ®¹t chuÈn 1 nÕu nã kh«ng chøa c¸c thuéc tÝnh lÆp.

ChuÈn 2 (second-normal-form: 2NF) (C¸c thuéc tÝnh ngoµi khãa phô thuéc hoµn toµn vµo kho¸)

Mét quan hÖ ®¹t chuÈn 2 nÕu:

- §¹t chuÈn 1

- Kh«ng tån t¹i thuéc tÝnh ngoµi kho¸ mµ phô thuéc vµo mét phÇn cña kho¸.

ChuÈn 3 (thirth- normal- form: 3NF) (C¸c thuéc tÝnh ngoµi khãa phô thuéc trùc tiÕp vµo kho¸)

Mét quan hÖ ®¹t chuÈn 3 nÕu:

- §¹t chuÈn 2

- Kh«ng tån t¹i thuéc tÝnh ngoµi kho¸ mµ phô thuéc b¾c cÇu vµo kho¸ (qua mét thuéc tÝnh gäi lµ thuéc tÝnh cÇu (còng lµ thuéc tÝnh ngoµi kho¸)).

§Ó chuÈn ho¸ mét hÖ l−îc ®å quan hÖ, ta xÐt lÇn l−ît tõng quan hÖ vµ kiÓm tra tÝnh chuÈn cña nã. Muèn vËy, tr−íc hÕt ta x¸c ®Þnh c¸c phô thuéc hμm vμ kho¸ chÝnh (kho¸ tèi tiÓu) cña quan hÖ. Sau ®ã tiÕn hµnh kiÓm tra lÇn l−ît c¸c lo¹i chuÈn ®èi víi quan hÖ:

VÝ dô:

- Cho l−îc ®å quan hÖ:

Page 182: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

182

PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,

1 2 3 4 5

®ienthoai, makho, ®iachikho, hinhthucthanhtoan,loaitien,

6 7 8 9 10

mavattu*, tenvattu*, soluong*,donvitinh*, ®ongia*, tyleVAT*)

11 12 13 14 15 16

- C¸c b−íc thùc hiÖn:

+ B−íc 1: X¸c ®Þnh phô thuéc hμm

ViÖc x¸c ®Þnh phô thuéc hµm dùa vµo 2 yÕu tè: nghiÖp vô cña c¸c nhµ chuyªn m«n vµ kinh nghiÖm cña nhµ ph©n tÝch. §èi víi vÝ dô ®¬n nµy, ta thÊy l−îc ®å quan hÖ gåm 2 nhãm: nhãm thuéc tÝnh 1 gåm danh s¸ch c¸c thuéc tÝnh kh«ng lÆp (tõ 1 ®Õn 10), nhãm thuéc tÝnh 2 gåm c¸c thuéc tÝnh lÆp (tõ 11 ®Õn 16). Trªn c¬ së ®ã ta x¸c ®Þnh 3 nhãm phô thuéc hµm t−¬ng øng:

+ Nhãm phô thuéc hµm thø nhÊt: x¸c ®Þnh phô thuéc hµm trong nhãm thuéc tÝnh kh«ng lÆp. Theo vÝ dô ta cã:

(1) -> (2, 3, 4, 5, 6, 7, 8, 9, 10)

+ Nhãm phô thuéc hµm thø hai: x¸c ®Þnh phô thuéc hµm trong nhãm thuéc tÝnh lÆp. Theo vÝ dô ta cã:

(11) -> (12, 14, 15, 16)

+ Nhãm phô thuéc hµm thø ba: x¸c ®Þnh phô thuéc hµm trong nhãm hçn hîp c¶ thuéc tÝnh lÆp vµ kh«ng lÆp.Theo vÝ dô ta cã:

(1, 11) -> (13)

“sè l−îng” ë ®©y lµ sè l−îng vËt t− vµ cã gi¸ trÞ kh¸c nhau trªn c¸c PHIEUNHAP kh¸c nhau.

Sau nµy, më réng trong c¸c bµi to¸n lín nh− bµi to¸n qu¶n lý nh©n sù ch¼ng h¹n, cã nhiÒu nhãm lÆp kh¸c nhau, th× chóng ta sÏ x¸c ®Þnh phô thuéc hµm riªng cho tõng nhãm lÆp vµ x¸c ®Þnh phô thuéc hµm hçn hîp cña tõng nhãm lÆp riªng víi nhãm c¸c thuéc tÝnh kh«ng lÆp.

Page 183: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

183

+ B−íc 2: X¸c ®Þnh K chÝnh (K tèi tiÓu) (dïng thuËt to¸n)

Kho¸ chÝnh, phÇn lín c¸c tr−êng hîp, th−êng lµ c¸c thuéc tÝnh n»m phÝa bªn tr¸i c¸c phô thuéc hµm mµ chóng ta x¸c ®Þnh ®−îc. Gäi nhãm thuéc tÝnh phÝa tr¸i c¸c phô thuéc hµm lµ K. Nhê thuËt to¸n tÝnh bao ®ãng ta x¸c ®Þnh ®−îc K cã lµ kho¸ (th−êng) hay kh«ng. Th«ng th−êng víi ng−êi ph©n tÝch cã kinh nghiÖm x¸c ®Þnh phô thuéc hµm th× K lµ kho¸ ngay (nÕu ch−a ®¹t kho¸ th× ta dÔ dµng bæ sung c¸c thµnh phÇn thuéc tÝnh cßn thiÕu ®Ó ®¹t lµ kho¸). Sau ®ã dïng thuËt to¸n tÝnh kho¸ tèi tiÓu ¸p dông cho ngay kho¸ võa t×m ®−îc ta sÏ thu ®−îc mét kho¸ tèi tiÓu mµ ta gäi lµ kho¸ chÝnh.

VÝ dô ë ®©y: nhãm thuéc tÝnh K = (1,11)

cã thÓ suy ra toµn kh«ng gian thuéc tÝnh cña quan hÖ. H¬n n÷a, kiÓm tra ®−îc chóng chÝnh lµ kho¸ tèi tiÓu (lÇn l−ît bít tõng thuéc tÝnh vµ kiÓm tra l¹i bao ®ãng). Cuèi cïng thu ®−îc:

PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,

®ienthoai, makho, ®iachikho, hinhthucthanhtoan, loaitien,

mavattu*, tenvattu*, soluong*, donvitinh*, ®ongia*, tyleVAT*)

+ B−íc 3: ChuÈn ho¸ 1, 2, 3

V× c¸c thuéc tÝnh: 11,...,16 (cã dÊu *) lµ c¸c thuéc tÝnh lÆp nªn quan hÖ nµy ch−a ®¹t chuÈn 1.

NÕu quan hÖ kh«ng ph¶i lμ chuÈn 1: Ph©n r· quan hÖ thμnh hai quan hÖ:

Quan hÖ 1 (QH1): C¸c thuéc tÝnh lÆp vµ kho¸ chÝnh cña l−îc ®å gèc (ch−a t¸ch).

Quan hÖ 2 (QH2): C¸c thuéc tÝnh ®¬n (c¸c thuéc tÝnh kh«ng lÆp).

QH1: gåm c¸c thuéc tÝnh lÆp (11,...,16) vµ (1) lµ kho¸ tøc lµ:

VATTU (Sè phiÕu, mavattu, tenvattu, soluong, donvitinh, ®ongia, tyleVAT) 1 11 12 13 14 15 16

Page 184: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

184

QH2: gåm (2, 3, 4, 5,...,10) vµ (1) tøc lµ:

PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,

1 2 3 4 5

®ienthoai, makho, ®iachikho, hinhthucthanhtoan, loaitien)

6 7 8 9 10

NÕu quan hÖ kh«ng ph¶i lμ chuÈn 2: Ph©n r· thμnh hai quan hÖ:

Quan hÖ 1: C¸c thuéc tÝnh phô thuéc vµo mét phÇn kho¸ chÝnh vµ phÇn kho¸ chÝnh x¸c ®Þnh chóng.

Quan hÖ 2: C¸c thuéc tÝnh cßn l¹i vµ kho¸ chÝnh cña l−îc ®å gèc (ch−a t¸ch).

XÐt QH1:

VATTU (Sè phiÕu, mavattu, tenvattu, soluong,donvitinh, ®ongia, tyleVAT) 1 11 12 13 14 15

16

Ta thÊy 11 -> 12, 14, 15, 16, mµ 11 lµ bé phËn cña kho¸ nªn quan hÖ nµy kh«ng ®¹t chuÈn 2.

§Ó ®¹t chuÈn 2 ta t¸ch thµnh 2 quan hÖ:

QH1_1: VATTU (mavattu, tenvattu, donvitinh, ®ongia, tyleVAT)

11 12 14 15 16

QH 1_2: DONGVATTU (Sè phiÕu, mavattu, soluong)

1 11 13

XÐt tiÕp QH2:

PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,

1 2 3 4 5

®ienthoai, makho, ®iachikho, hinhthucthanhtoan, loaitien)

6 7 8 9 10

Quan hÖ nµy ®−¬ng nhiªn ®¹t chuÈn 2 v× nhãm thuéc tÝnh kho¸ chØ cã mét thuéc tÝnh.

Page 185: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

185

NÕu quan hÖ kh«ng ph¶i lµ chuÈn 3: ph©n r· quan hÖ thµnh 2 quan hÖ:

Quan hÖ 1: C¸c thuéc tÝnh phô thuéc b¾c cÇu vµ thuéc tÝnh cÇu.

Quan hÖ 2: C¸c thuéc tÝnh cßn l¹i vµ c¸c thuéc tÝnh cÇu.

XÐt:

QH1_1: 1. VATTU (mavattu, tenvattu, donvitinh, ®ongia, tyleVAT)

11 12 14 15 16

®¹t chuÈn 3 v× kh«ng cã thuéc tÝnh cÇu.

XÐt:

QH 1_2: 2. DONGVATTU (Sè phiÕu, mavattu, soluong)

1 11 13

còng ®¹t chuÈn 3 v× thuéc tÝnh ngoµi kho¸ chØ cã mét nªn kh«ng cã thuéc tÝnh cÇu.

XÐt tiÕp QH2:

PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,

1 2 3 4 5

®ienthoai, makho, ®iachikho, hinhthucthanhtoan,loaitien)

6 7 8 9 10

Ta thÊy 3 -> 4, 5, 6

7 -> 8

mµ 3 vµ 7 lµ thuéc tÝnh ngoµi kho¸ nªn chóng lµ nh÷ng thuéc tÝnh cÇu. V× vËy ®Ó cã chuÈn 3 ta t¸ch thµnh nh÷ng quan hÖ sau:

QH2_1: 3. KHACH (makhach, ten_kh, diachi_kh, ®ienthoai)

3 4 5 6

QH2_2: 4. KHO (makho, ®iachikho)

7 8

Page 186: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

186

vµ QH2_3: 5. PHIEUNHAP (sophieu, ngaynhap, makhach, makho,

hinhthucthanhtoan, loaitien) 1 2 3 7

9 10

KÕt luËn:

Ta cã hÖ l−îc ®å quan hÖ sau ®¹t 3NF:

1. VATTU (mavattu, tenvattu, donvitinh, ®ongia, tyleVAT)

2. DONGVATTU (Sè phiÕu, mavattu, soluong)

3. KHACH (makhach, ten_kh, diachi_kh, ®ienthoai)

4. KHO (makho, ®iachikho)

5. PHIEUNHAP(sophieu, ngaynhap, makhach, makho, hinhthucthanhtoan, loaitien)

ë ®©y, chóng ta l−u ý mét sè kü thuËt t¸ch chóng.

XÐt chuÈn 1:

+ NÕu quan hÖ cßn c¸c thuéc tÝnh cã dÊu * (thuéc tÝnh lÆp) nghÜa lµ quan hÖ ®ã ch−a ®¹t chuÈn 1. Ta sö dông quy t¾c t¸ch b×nh th−êng.

+ Trong tr−êng hîp cã nhiÒu nhãm thuéc tÝnh lÆp (xen kÏ víi c¸c thuéc tÝnh kh«ng lÆp) ta nªn ®ång thêi t¸ch theo tõng nhãm lÆp. Hay nãi râ h¬n, khi cã m nhãm lÆp ta sÏ t¸ch l−îc ®å ®ã theo quy t¾c ®· biÕt ®Ó thu ®−îc ®ång thêi m+1 l−îc ®å quan hÖ míi ®¹t chuÈn 1.

XÐt chuÈn 2:

+ Mäi quan hÖ ®· ®¹t chuÈn 1, ch−a ®¹t chuÈn 2, ®Òu dÔ dµng t¸ch thµnh c¸c quan hÖ ®¹t chuÈn 2 theo quy t¾c ®· biÕt.

+ Tr−êng hîp nhãm thuéc tÝnh kho¸ chØ cã mét thuéc tÝnh, ®iÒu nµy cã nghÜa lµ phô thuéc bé phËn kh«ng thÓ x¶y ra, ta kÕt luËn ngay lµ quan hÖ ®ã ®−¬ng nhiªn ®¹t chuÈn 2.

+ Trong tr−êng hîp cã m nhãm phô thuéc bé phËn, ta sÏ t¸ch ®ång thêi thµnh m+1 quan hÖ ®¹t chuÈn 2 dùa theo quy t¾c ®· biÕt.

Page 187: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

187

XÐt chuÈn 3:

Còng gièng nh− c¸c chuÈn trªn, khi cã m thuéc tÝnh cÇu, ta sÏ t¸ch ®−îc m+1 quan hÖ míi ®¹t chuÈn 3.

+ Tr−êng hîp nhãm thuéc tÝnh ngoµi kho¸ chØ cã 1 thuéc tÝnh, ®iÒu nµy cã nghÜa kh«ng thÓ tån t¹i thuéc tÝnh cÇu, nªn quan hÖ ®ã ®−¬ng nhiªn ®¹t chuÈn 3.

3.3.2.5. Kü thuËt chuyÓn tõ hÖ l−îc ®å quan hÖ sang s¬ ®å E-R (ERD-m« h×nh d÷ liÖu logic)

§Ó dÔ nhËn thøc vµ trao ®æi, m« h×nh E-R th−êng ®−îc biÓu diÔn d−íi d¹ng mét ®å thÞ, trong ®ã c¸c nót lµ c¸c thùc thÓ, cßn c¸c cung lµ c¸c mèi quan hÖ (c¸c kiÓu liªn kÕt c¸c thùc thÓ).

M« h×nh ®−îc lËp nh− sau:

Mçi thùc thÓ ®−îc biÓu diÔn b»ng mét h×nh ch÷ nhËt cã 2 phÇn: phÇn trªn lµ tªn thùc thÓ (viÕt in), phÇn d−íi chøa danh s¸ch c¸c thuéc tÝnh, trong ®ã thuéc tÝnh kho¸ ®−îc ®¸nh dÊu (mçi thùc thÓ chØ x¸c ®Þnh mét kho¸-tèi tiÓu). Tªn thùc thÓ th−êng lµ danh tõ (chØ ®èi t−îng).

Mét mèi quan hÖ ®−îc biÓu diÔn th−êng b»ng h×nh thoi/elÝp, ®−îc nèi b»ng nÐt liÒn tíi c¸c thùc thÓ tham gia vµo mèi quan hÖ ®ã. Trong h×nh thoi lµ tªn cña mèi quan hÖ còng ®−îc viÕt in, danh s¸ch c¸c thuéc tÝnh cña nã th× ®−îc viÕt th−êng. Tªn cña mèi quan hÖ th−êng lµ ®éng tõ chñ ®éng hay bÞ ®éng. Trong ph−¬ng ph¸p MERISE, mèi quan hÖ th−êng ®−îc biÓu diÔn b»ng h×nh elÝp. M« h×nh E_R cuèi cïng th−êng mèi quan hÖ kh«ng cßn lo¹i N-N. Trong mèi quan hÖ nhÞ nguyªn th× ë hai ®Çu mót c¸c ®−êng nèi, s¸t víi thùc thÓ, ng−êi ta vÏ ®−êng ba chÏ (cßn gäi lµ ®−êng ch©n gµ) vÒ phÝa cã kho¸ ngo¹i (kho¸ liªn kÕt) thÓ hiÖn nhiÒu, cßn phÝa kia thÓ hiÖn mét. B¶n sè trong mçi ®Æc t¶ mèi quan hÖ gi÷a 2 thùc thÓ lµ cÆp Max cña hai b¶n sè x¸c ®Þnh trong ®Æc t¶ vµ ®−îc gäi lµ b¶n sè trùc tiÕp.

Page 188: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

188

Chó ý:

+ Mèi quan hÖ cã thÓ kh«ng cã thuéc tÝnh. Khi cã, ta th−êng gäi lµ thuéc tÝnh riªng vµ còng ®−îc viÕt trong h×nh thoi song nhí r»ng chØ viÕt ch÷ th−êng (ph©n biÖt tªn cña mèi quan hÖ viÕt b»ng ch÷ in)

+ Gi÷a 2 thùc thÓ cã thÓ cã nhiÒu mèi quan hÖ vµ chóng cÇn vÏ riªng rÏ, kh«ng chËp vµo nhau.

ViÖc chuyÓn tõ hÖ l−îc ®å quan hÖ sang s¬ ®å E-R ®−îc thùc hiÖn theo c¸c b−íc sau:

B−íc 1:

Tõ mçi l−îc ®å quan hÖ, vÏ mét h×nh ch÷ nhËt bao gåm tªn l−îc ®å cïng víi c¸c thuéc tÝnh cña nã:

VÝ dô: Cho l−îc ®å quan hÖ:

VATTU (Mavattu,Tenvatu, Donvitinh, TyleVAT)

B−íc 2: X¸c ®Þnh quan hÖ (thÓ hiÖn b»ng ®−êng nèi) gi÷a 2 thùc

thÓ (thÓ hiÖn b»ng h×nh ch÷ nhËt) bÊt kú.

B−íc 2.1: X¸c ®Þnh nhãm thuéc tÝnh chung.

NÕu kh«ng cã nhãm thuéc tÝnh chung th× kÕt luËn: kh«ng cã quan hÖ

Page 189: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

189

ë ®©y, hai thùc thÓ vËt t− vµ dßng vËt t− cã nhãm thuéc

tÝnh chung lµ m· vËt t−.

B−íc 2.2: KiÓm tra nhãm thuéc tÝnh chung ®ã cã ph¶i lµ kho¸

chÝnh cña 1 trong 2 thùc thÓ? ë ®©y cã m· vËt t− lµ kho¸ chÝnh trong

vËt t−.

NÕu kh«ng cã th× kÕt luËn kh«ng cã quan hÖ: tªn c«ng ty lµ thuéc tÝnh chung nh−ng kh«ng ph¶i lµ kho¸ chÝnh cña thùc thÓ nµo c¶.

B−íc 2.3: KÕt luËn tån t¹i kho¸ ngo¹i: Nhãm thuéc tÝnh chung ë bªn thùc thÓ kh«ng ph¶i lµ khãa chÝnh mµ sÏ lµ khãa ngo¹i.

B−íc 3: VÏ ®−êng nèi gi÷a 2 h×nh ch÷ nhËt vµ ®−êng 3 chÏ g¾n víi thùc thÓ chøa kho¸ ngo¹i.

Page 190: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

190

KÕt qu¶, tõ hÖ 5 l−îc ®å quan hÖ ®· chuÈn ho¸ 3NF:

KHACH (Makhach, Tenkhach, Diachi, Dienthoai)

KHO (M· kho, ®Þa chØ kho)

VATTU (Mavattu, Tenvatu, Donvitinh, TyleVAT)

DONGVATTU (Sophieu, Mavattu, Soluong)

PHIEUNHAP (Sophieu, Ngaynhap, Makhach, Makho, hinhthucthanhtoan, Loaitien)

ta x©y dùng ®−îc s¬ ®å E-R nh− sau:

H×nh 3.21. S¬ ®å E-R t−¬ng øng víi hÖ l−îc ®å quan hÖ ®· chuÈn ho¸ ®Õn 3NF

Chó ý:

1. CHINHANH (M· chi nh¸nh, tªn chi nh¸nh, m· c«ng ty)

2. CONGTY (M· c«ng ty, tªn c«ng ty, ®Þa chØ c«ng ty)

Page 191: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

191

3. DUAN (M· dù ¸n, tªn dù ¸n, m· chi nh¸nh)

4. NHANVIEN (M· nh©n viªn, tªn nh©n viªn, ®Þa chØ nh©n viªn, m· chi nh¸nh, M· nghÒ*, tr×nh ®é nghÒ*) (thuéc tÝnh cã dÊu * lμ thuéc tÝnh lÆp)

5. NGHE (M· nghÒ, tªn nghÒ)

§Æc t¶ quan hÖ gi÷a c¸c thùc thÓ:

NhËn thÊy:

4. NHANVIEN (M· nh©n viªn, tªn nh©n viªn, ®Þa chØ nh©n viªn, m· chi nh¸nh, M· nghÒ*, tr×nh ®é nghÒ*) cho biÕt 1 nh©n viªn cã nhiÒu nghÒ.

5. NGHE (M· nghÒ, tªn nghÒ): 1 nghÒ cã thÓ cã nhiÒu nh©n viªn ®−îc ®µo t¹o. V× vËy ta cã:

NhËn xÐt: C¸ch gi¶i quyÕt nµy ®ßi hái kinh nghiÖm cña ng−êi

ph©n tÝch.

NhËn thÊy:

Quan hÖ NHANVIEN nÕu t¸ch thµnh 2 quan hÖ ®¹t chuÈn 1:

4. NHANVIEN (M·nh©nviªn, tªnnh©nviªn, ®ÞachØnh©nviªn, m·chinh¸nh)

6. TRINHDO (M· nh©n viªn, M· nghÒ, tr×nh ®é nghÒ)

th× ta còng cã t−¬ng ®−¬ng (1):

Page 192: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

192

HÖ míi cã 6 l−îc ®å (thªm TRINHDO) nh−ng s¬ ®å E_R nh− nhau.

NhËn xÐt: dÔ ®Æc t¶ h¬n: ®Çu tiªn lµ chuÈn ho¸; sau ®ã x¸c ®Þnh

kho¸ liªn kÕt ®Ó vÏ s¬ ®å ®Æc t¶ mèi quan hÖ gi÷a 2 thùc thÓ.

NhËn thÊy:

Tõ quan hÖ 4. NHANVIEN vµ 5. NGHE, cã ®Æc t¶ quan hÖ gi÷a chóng (dùa vµo viÖc x¸c ®Þnh K ngo¹i):

NhËn xÐt:

Ph−¬ng ph¸p nµy rÊt tù nhiªn: ®Çu tiªn dùa vµo kho¸ liªn kÕt ®Ó ®Æc t¶ mèi quan hÖ gi÷a hai thùc thÓ, sau ®ã chuÈn ho¸.

Tr−êng hîp hÖ l−îc ®å ®¹t 3NF cã nguån gèc tõ m« h×nh kh¸i niÖm d÷ liÖu th× ta dùa vµo chÝnh m« h×nh kh¸i niÖm d÷ liÖu ®Ó x¸c ®Þnh m« h×nh E_R (khung thiÕt kÕ).

3.3.2.6. VÝ dô

VÝ dô 1- Ph−¬ng ph¸p m« h×nh:

Mét c¬ së b¸n hµng sö dông hai lo¹i chøng tõ sau ®Ó theo dâi ho¹t ®éng kinh doanh cña m×nh:

Page 193: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

193

a. §¬n §Æt hμng

Sè ho¸ ®¬n: Ngμy ®Æt:

Ng−êi ®Æt hμng:

§Þa chØ:

STT Tªn hμng M« t¶ hμng §¬n vÞ tÝnh Sè l−îng (®Æt)

b. phiÕu giao hμng

Sè phiÕu: Ngμy giao:

Tªn kh¸ch hμng:

§Þa chØ:

N¬i giao hμng:

STT Tªn hμng §¬n vÞ tÝnh §¬n gi¸ Sè l−îng (giao) Thμnh tiÒn

TONGTIEN:

CÇn thiÕt kÕ CSDL lo¹i quan hÖ (bao gåm c¸c file d÷ liÖu vµ s¬ ®å m« h×nh d÷ liÖu) tõ c¸c tµi liÖu trªn ®Ó qu¶n lý ho¹t ®éng b¸n hµng.

Gi¶ thiÕt: §¬n gi¸ giao kh«ng chØ phô thuéc vµo m· hµng (cã thÓ phô thuéc vµo kh¸ch, sè l−îng, thêi gian).

Thñ tôc tiÕn hμnh: PhÇn trªn, c¸c b−íc 1, 2, 3, 4 ®· thùc hiÖn vµ chóng ta ®· cã m« h×nh kh¸i niÖm d÷ liÖu sau (h×nh 3.5):

Page 194: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

194

Chóng ta tiÕp tôc c¸c b−íc cßn l¹i:

5. ChuyÓn m« h×nh kh¸i niÖm d÷ liÖu sang m« h×nh quan hÖ

HANG, KHACH chuyÓn sang d¹ng l−îc ®å theo quy t¾c c¬ b¶n ta cã:

HANG (m· hμng, Tªn hμng, M« t¶ hμng, §¬n vÞ hμng)

KHACH (m· kh¸ch, Tªn kh¸ch, §Þa chØ kh¸ch)

DONDAT, PHIEUGIAO chuyÓn sang l−îc ®å quan hÖ theo quy t¾c 2 ta cã:

DONDAT (Sè ®¬n ®Æt, Ngμy ®Æt hμng, m· kh¸ch)

PHIEUGIAO (Sè phiÕu giao, N¬i giao, Ngμy giao, m· kh¸ch)

R2, R4 chuyÓn sang l−îc ®å quan hÖ theo quy t¾c 3 ta cã:

DONGDON (Sè ®¬n ®Æt, m· hμng, SL ®Æt)

DONGPHIEU (Sè phiÕu giao, m· hμng, gi¸, SL giao)

KÕt qu¶, chóng ta cã hÖ l−îc ®å quan hÖ sau:

1. HANG (M· hμng, Tªn hμng, M« t¶ hμng, §¬n vÞ hμng)

2. KHACH (M· kh¸ch, Tªn kh¸ch, §Þa chØ kh¸ch)

3. DONDAT (Sè ®¬n ®Æt, Ngμy ®Æt hμng, m· kh¸ch)

4. PHIEUGIAO (Sè phiÕu giao, N¬i giao, Ngμy giao, m· kh¸ch)

5. DONGDON (Sè ®¬n ®Æt, m· hμng, SL ®Æt)

6. DONGPHIEU (Sè phiÕu giao, m· hμng, gi¸, SL giao)

6. TiÕn hμnh chuÈn ho¸ c¸c quan hÖ nhËn ®−îc ®Õn 3NF

C¶ 6 l−îc ®å trªn ®Òu ®¹t chuÈn 3NF

7. VÏ s¬ ®å E_R: H×nh 3.22.

Page 195: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

195

H×nh 3.22

VÝ dô 2: Ph−¬ng ph¸p trùc gi¸c

Thñ tôc tiÕn hμnh:

PhÇn trªn, c¸c b−íc 1, 2, 3, 4 ®· thùc hiÖn vµ chóng ta ®· cã m« h×nh kh¸i niÖm d÷ liÖu sau (h×nh 3.9):

ChuyÓn m« h×nh kh¸i niÖm d÷ liÖu sang m« h×nh quan hÖ:

HANG, KHACH chuyÓn sang d¹ng l−îc ®å quan hÖ thµnh:

Page 196: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

196

HANG (M· hμng, Tªn hμng, M« t¶ hμng, §¬n vÞ hμng)

KHACH (M· kh¸ch, Tªn kh¸ch, §Þa chØ kh¸ch)

DAT, GIAO chuyÓn sang l−îc ®å quan hÖ thµnh:

DONDAT (Sè ®¬n, Ngμy ®Æt, sè l−îng ®Æt*, m· kh¸ch, m· hμng*)

PHIEUGIAO (Sè phiÕu, N¬i giao, Ngμy giao, sè l−îng giao*, ®¬n gi¸ giao*, m· kh¸ch, m· hμng*)

ChuÈn ho¸: Hai quan hÖ:

HANG (M· hμng, Tªn hμng, M« t¶ hμng, §¬n vÞ hμng)

KHACH (M· kh¸ch, Tªn kh¸ch, §Þa chØ kh¸ch)

®Òu ®¹t 3NF.

Cßn 2 quan hÖ:

DONDAT (Sè ®¬n, Ngμy ®Æt, sè l−îng ®Æt*, m· kh¸ch, m· hμng*)

PHIEUGIAO (Sè phiÕu, N¬i giao, Ngμy giao, sè l−îng giao*, ®¬n gi¸ giao*, m· kh¸ch, m· hμng*)

kh«ng ®¹t chuÈn 1 v× cßn thuéc tÝnh lÆp. §Ó ®¹t 1NF, ta t¸ch chóng thµnh:

DONGDON (Sè ®¬n, sè l−îng ®Æt, m· hμng)

DONDAT (Sè ®¬n, Ngμy ®Æt, m· kh¸ch,)

DONGPHIEU (Sè phiÕu, sè l−îng giao, ®¬n gi¸ giao, m· hμng)

PHIEUGIAO (Sè phiÕu, N¬i giao, Ngμy giao, m· kh¸ch)

KÕt qu¶, chóng ta cã hÖ l−îc ®å quan hÖ sau gièng nh− vÝ dô trªn:

1. HANG (M· hμng, Tªn hμng, M« t¶ hμng, §¬n vÞ hμng)

2. KHACH (M· kh¸ch, Tªn kh¸ch, §Þa chØ kh¸ch)

3. DONDAT (Sè ®¬n, Ngμy ®Æt, m· kh¸ch)

4. PHIEUGIAO (Sè phiÕu, N¬i giao, Ngμy giao, m· kh¸ch)

5. DONGDON (Sè ®¬n ®Æt, m· hμng, sè l−îng ®Æt)

6. DONGPHIEU (Sè phiÕu, m· hμng, ®¬n gi¸ giao, sè l−îng giao)

Page 197: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

197

3.3.3. ThiÕt kÕ c¬ së d÷ liÖu logic dùa trªn “Ph−¬ng ph¸p tõ ®iÓn”

Trong mét sè tr−êng hîp, c¸c d÷ liÖu thu ®−îc lµ nh÷ng hå s¬, ®Çu vµo chøa tÊt c¶ d÷ liÖu cÇn thiÕt ®Ó x©y dùng c¬ së d÷ liÖu. Khi ®ã ng−êi ta cã thÓ lËp c¸c tõ ®iÓn mμ mçi tμi liÖu ®−îc xem nh− mét thùc

thÓ vèn ®· tån t¹i. Qu¸ tr×nh x©y dùng c¬ së d÷ liÖu ®−îc b¾t ®Çu tõ “tõ

®iÓn d÷ liÖu” thu ®−îc. §©y lµ mét ph−¬ng ph¸p ®−îc sö dông rÊt sím tõ khi cã m« h×nh d÷ liÖu quan hÖ.

Quy tr×nh thiÕt kÕ mét CSDL cã thÓ ®−îc m« t¶ nh− sau:

1. Mçi hå s¬ gèc ®−îc xem nh− mét thùc thÓ. LiÖt kª tõng thùc thÓ

vµ tÊt c¶ c¸c th«ng tin ®Æc tr−ng trong nã xem nh− nh÷ng thuéc tÝnh cña thùc thÓ ®ã.

2. ChÝnh x¸c ho¸ th«ng tin lµ nh÷ng thuéc tÝnh cña c¸c thùc thÓ,

sao cho hai th«ng tin cã cïng tªn gäi trong toµn tõ ®iÓn ph¶i cïng nghÜa. NÕu chóng cã nghÜa kh¸c nhau th× tªn gäi ph¶i kh¸c nhau.

3. Chän läc vμ m· ho¸ c¸c th«ng tin thu ®−îc theo nguyªn t¾c sau:

- §i lÇn l−ît tõ trªn xuèng d−íi.

- C¸c thùc thÓ vµ thuéc tÝnh ®−îc m· ho¸ b»ng tªn míi ®¶m b¶o yªu cÇu cña hÖ qu¶n trÞ CSDL sÏ sö dông ®Ó x©y dùng c¸c file cho nã.

- NÕu mét thuéc tÝnh lµ thuéc tÝnh tªn gäi mµ lÇn ®Çu tiªn gÆp nã

vµ cã thÓ sö dông lµm ®Þnh danh cho thùc thÓ t−¬ng øng víi nã th× sö

dông lµm ®Þnh danh vµ ®¸nh dÊu nã. NÕu kh«ng thÓ lµm ®Þnh danh th× ph¶i thªm mét thuéc tÝnh ®Þnh danh cho thuéc tÝnh nµy vµ tiÕn hµnh m· ho¸ chóng.

- NÕu thuéc tÝnh lµ tªn gäi gÆp lÇn thø 2 trë ®i th× thay nã b»ng

thuéc tÝnh ®Þnh danh t−¬ng øng ë trªn.

- NÕu mét thuéc tÝnh kh«ng ph¶i lµ ®Þnh danh hoÆc tªn gäi (tøc lµ

thuéc tÝnh m« t¶) gÆp lÇn ®Çu th× nã ®−îc chän vµ m· ho¸. NÕu lµ

thuéc tÝnh m« t¶ gÆp lÇn thø 2 trë ®i th× bá qua.

Page 198: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

198

- NÕu mét thuéc tÝnh m« t¶ lµ thuéc tÝnh trung gian (cã thÓ suy ra

tõ c¸c thuéc tÝnh ®· ®−îc m· ho¸) th× còng bá qua. VÝ dô nh− “thµnh tiÒn” ®−îc suy tõ “®¬n gi¸” vµ “sè l−îng”

4. X¸c ®Þnh c¸c thuéc tÝnh lÆp trong c¸c thùc thÓ nhËn ®−îc (thuéc tÝnh trong b¶ng).

5. X¸c ®Þnh thuéc tÝnh ®Þnh danh cña c¸c thùc thÓ (hå s¬ gèc) (®¸nh dÊu b»ng g¹ch d−íi thuéc tÝnh)

6. TiÕn hµnh chuÈn ho¸ c¸c thùc thÓ ®· m· ho¸ ®Ó thu ®−îc c¸c quan hÖ ®¹t chuÈn 3NF

7. TiÕn hµnh tÝch hîp c¸c quan hÖ ®· ®−îc chuÈn hãa, x¸c ®Þnh c¸c kho¸ chÝnh, kho¸ ngo¹i cña chóng. KÕt qu¶ thu vÒ 1 hÖ l−îc ®å quan hÖ ®· ®−îc chuÈn ho¸ ®Õn 3NF sao cho hÖ c¸c l−îc ®å quan hÖ

®ã t¹o thµnh mét hÖ Sperner (K lµ mét hÖ Sperner nÕu víi ∀A,B ∈ K

⇒ kh«ng x¶y ra: A ⊆ B hoÆc B ⊆ A)

8. VÏ s¬ ®å E_R

- Mçi quan hÖ t−¬ng øng víi mét h×nh ch÷ nhËt, phÇn trªn lµ tªn quan hÖ, phÇn d−íi lµ c¸c thuéc tÝnh cña nã

- §¸nh dÊu thuéc tÝnh khãa (in ®Ëm, g¹ch d−íi, …)

- Hai quan hÖ ®−îc nèi víi nhau nÕu chóng cã mèi quan hÖ (thÓ hiÖn chóng cã kho¸ ngo¹i)

- B¶n sè trùc tiÕp gi÷a 2 thùc thÓ ®−îc kiÓm nghiÖm dùa trªn ý nghÜa thùc tiÔn cña nã hoÆc dùa vµo kho¸ ngo¹i.

Chó ý:

ViÖc x¸c ®Þnh mèi liªn kÕt (vÏ ®−îc ®−êng nèi) gi÷a 2 thùc thÓ dùa trªn c¸c kÕt qu¶ cña c«ng viÖc truy xÐt sau:

+ T×m ®−îc nhãm thuéc tÝnh chung gi÷a 2 quan hÖ: nÕu t¹i 1 quan hÖ, nhãm thuéc tÝnh ®ã lµ kho¸ chÝnh th× chóng sÏ lµ kho¸ ngo¹i cña quan hÖ cßn l¹i, tøc lµ tån t¹i liªn kÕt gi÷a 2 quan hÖ ®ã. Khi ®ã ta kÎ

Page 199: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

199

®−îc 1 ®−êng nèi liªn kÕt gi÷a chóng. §−êng ba chÏ sÏ g¾n víi quan hÖ chøa kho¸ ngo¹i.

+ NÕu kh«ng t×m ®−îc nhãm thuéc tÝnh chung hoÆc cã nhãm thuéc tÝnh chung nh−ng chóng kh«ng lµ kho¸ chÝnh cña mét quan hÖ nµo c¶ th× 2 quan hÖ ®ã sÏ kh«ng cã liªn kÕt, tøc lµ kh«ng cã ®−êng nèi gi÷a chóng.

VÝ dô:

Mét c«ng ty kinh doanh quan t©m ®Õn hai lo¹i chøng tõ sau ®Ó theo dâi ho¹t ®éng xuÊt nhËp vËt t− cña m×nh:

PhiÕu nhËp

Sè phiÕu:......

Ngμy:

Tªn Nhμ cung cÊp:

§Þa chØ:

§iÖn tho¹i: M· kho:

§Þa chØ kho:

STT Tªn vËt t−

Sè l−îng

§¬n vÞ tÝnh

§¬n gi¸

Tû lÖ VAT

Thμnh tiÒn

Tæng céng tiÒn

PhiÕu xuÊt

Sè phiÕu:......

Ngμy:

Tªn kh¸ch hμng:

§Þa chØ:

§iÖn tho¹i: M· kho:

§Þa chØ kho:

STT Tªn vËt t−

Sè l−îng

§¬n vÞ tÝnh

§¬n gi¸

Tû lÖ VAT

Thμnh tiÒn

Tæng céng tiÒn

Page 200: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

200

B−íc 1: LiÖt kª, chÝnh x¸c ho¸ th«ng tin, ch¾t läc th«ng tin vμ m· ho¸

B¶ng 3.12. Danh s¸ch thuéc tÝnh cÇn qu¶n lý

Thùc thÓ -Thuéc tÝnh ChÝnh x¸c ho¸ d÷ liÖu

phiÕu nhËp PHIEUNHAP

Sè phiÕu (nhËp) Sophieunhap

Ngμy (nhËp) Ngaynhap

Tªn Nhμ cung cÊp TenNCC

+ M· Nhμ cung cÊp (1) MaNCC (thªm)

§Þa chØ (nhμ cung cÊp) §/cNCC

§iÖn tho¹i (nhμ cung cÊp) TeleNCC

M· kho Makho

§Þa chØ kho §/ckho

Sè thø tù (lÆp) (2) (bá)

Tªn vËt t− (lÆp) Tenvattu*

+ M· vËt t− (1) Mavattu* (thªm)

Sè l−îng (nhËp) (lÆp) Slnhap*

§¬n vÞ tÝnh (lÆp) §/Vtinh*

§¬n gi¸ (nhËp) (lÆp) §ongianhap*

Tû lÖ VAT (lÆp) TyleVAT

Thμnh tiÒn (lÆp) (bá)

Tæng tiÒn (nhËp) (5) (bá)

PhiÕu xuÊt Phieuxuat

Sè phiÕu (xuÊt) Sophieuxuat

Ngμy (xuÊt) Ngayxuat

+ M· kh¸ch hμng (1) Makhach (thªm)

Tªn kh¸ch hμng Tenkhach

§Þa chØ (kh¸ch) §/ckhach

§iÖn tho¹i (kh¸ch) Telekhach

M· kho Makho

§Þa chØ kho (4) (bá)

Sè thø tù (lÆp) (2) (bá)

Tªn vËt t− → M· vËt t− (3) Mavattu*

Sè l−îng (xuÊt) (lÆp) Slxuat*

Page 201: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

201

§¬n vÞ tÝnh (lÆp) (4) (bá)

§¬n gi¸ (xuÊt) (lÆp) Dongiaxuat*

Tû lÖ VAT (lÆp) (4) (bá)

Thμnh tiÒn (lÆp) (bá)

Tæng tiÒn (xuÊt) (5) (bá)

Chó thÝch:

1. “Tªn nhμ cung cÊp” lµ thuéc tÝnh tªn gäi cña thùc thÓ “Nhµ cung

cÊp”, kh«ng x¸c ®Þnh mçi nhµ cung cÊp cô thÓ v× Nhµ cung cÊp cã thÓ trïng tªn. V× vËy ph¶i thªm thuéc tÝnh “M· Nhμ cung cÊp” (MaNCC)

lµm thuéc tÝnh ®Þnh danh cho “Nhµ cung cÊp”. T−¬ng tù thªm “M· vËt t−” vµ “m· kh¸ch hµng”

2. Sè thø tù ®Ó ®¸nh sè mçi dßng ho¸ ®¬n chØ cã ý nghÜa trong ho¸ ®¬n nµy, kh«ng cho th«ng tin g× kh¸c, kh«ng cÇn l−u tr÷.

3. Thuéc tÝnh tªn gäi, ®· cã thuéc tÝnh m· ho¸ ®i kÌm, ®· gÆp mét lÇn ë trªn nªn bá ®i. NÕu kh«ng cã thuéc tÝnh m· ho¸ ®i kÌm th× thay b»ng m· ho¸.

4. C¸c thuéc tÝnh m« t¶, ®· gÆp mét lÇn ë trªn nªn bá ®i.

5. Thuéc tÝnh thμnh tiÒn = (®¬n gi¸ giao) x (sè l−îng giao), hai

thuéc tÝnh nµy ®· ®−îc chän ë trªn ta cã thÓ tÝnh ®−îc “thμnh tiÒn” nªn kh«ng cÇn l−u tr÷ thuéc tÝnh nµy. T−¬ng tù nh− vËy, thuéc tÝnh tæng tiÒn còng kh«ng cÇn l−u tr÷.

Thuéc tÝnh cã dÊu (*) biÓu thÞ c¸c thuéc tÝnh lÆp.

B−íc 2: X¸c ®Þnh c¸c thuéc tÝnh cÇn qu¶n lý vμ c¸c phô thuéc hμm

Theo b¶ng liÖt kª trªn ta cã tËp c¸c thuéc tÝnh cÇn qu¶n lý víi c¸c phô thuéc hµm nh− sau:

R1 = {Sophieunhap, Ngaynhap, MaNCC, TenNCC, §/cNCC, TeleNCC, Makho, §/ckho, Mavattu*, Tenvattu*, Slnhap*, §/v tÝnh*, §ongianhap*, TyleVAT*}

Page 202: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

202

Sophieunhap → Ngaynhap, MaNCC, TenNCC, §/cNCC, TeleNCC, Makho, §/ckho.

Mavattu → Tenvattu, §/vtinh, TyleVAT

Sophieunhap, Mavattu → Slnhap, §ongianhap

R2 = {Sophieuxuat, Ngayxuat, Makhach, tenkhach, §/ckhach, telekhach, makho, Mavattu*, Slxuat*, dongiaxuat*}

Sophieuxuat → Ngayxuat, Makhach, Tenkhach,

§/ckhach, Telekhach, Makho

Sophieuxuat, Mavattu → SLxuat, Dongiaxuat

Tõ ®©y, ta x¸c ®Þnh ®−îc kho¸ trong l−îc ®å quan hÖ t−¬ng øng cho R1 vµ R2 nh− sau:

Phieunhap (Sophieunhap, Ngaynhap, MaNCC, TenNCC, §/cNCC, TeleNCC, Makho, §/ckho, Mavattu*, Tenvattu*, Slnhap*, §/v tÝnh*, §ongianhap*, TyleVAT*)

Phieuxuat (Sophieuxuat, Ngayxuat, Makhach, Tenkhach, §/ckhach, Telekhach, Makho, Mavattu*, Slxuat*, dongiaxuat*)

v× bao ®ãng {Sophieunhap, Mavattu}+ = R1

vµ bao ®ãng {Sophieuxuat, Mavattu}+ = R2

Kho¸ trong hai l−îc ®å chÝnh lµ kho¸ tèi tiÓu.

B−íc 3: TiÕn hμnh chuÈn ho¸

ViÖc tiÕn hµnh chuÈn ho¸ sÏ dùa theo c¸c quy t¾c ®· nªu trong c¸c ch−¬ng tr−íc.

NhËn thÊy r»ng hai l−îc ®å:

Phieunhap (Sophieunhap, Ngaynhap, MaNCC, TenNCC, §/cNCC, TeleNCC, Makho, §/ckho, Mavattu*, Tenvattu*, Slnhap*, §/v tÝnh*, §ongianhap*, TyleVAT*)

Phieuxuat (Sophieuxuat, Ngayxuat, Makhach, tenkhach, §/ckhach, telekhach, makho, Mavattu*, Slxuat*, dongiaxuat*)

ch−a ®¹t chuÈn 1 v× cßn cã thuéc tÝnh lÆp.

F1 =

F2 =

Page 203: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

203

§Ó ®¹t chuÈn 1NF ta t¸ch chóng thµnh c¸c l−îc ®å con:

Phieunhap1 (Sophieunhap, Mavattu, Tenvattu, Slnhap, §/v tÝnh, §ongianhap, TyleVAT)

Phieunhap2 (Sophieunhap, Ngaynhap, MaNCC, TenNCC, §/cNCC, TeleNCC, Makho, §/ckho)

Phieuxuat1 (Sophieuxuat, Mavattu, Slxuat, §ongiaxuat)

Phieuxuat2 (Sophieuxuat, Ngayxuat, Makhach, tenkhach, §/ckhach, telekhach, makho)

XÐt chuÈn 2:

Phieunhap1 (Sophieunhap, Mavattu, Tenvattu, Slnhap, §/v tÝnh, §ongianhap, TyleVAT)

Cã Mavattu → Tenvattu, §/v tÝnh, TyleVAT), mµ Mavattu lµ mét phÇn cña kho¸ nªn PHIEUNHAP1 kh«ng ®¹t 2NF. §Ó ®¹t 2NF ta t¸ch nã thµnh c¸c l−îc ®å con:

(1) VATTU (Mavattu, Tenvattu, §/v tÝnh, TyleVAT)

(2) DONGNHAP (Sophieunhap, Mavattu, Slnhap, §ongianhap,)

Phieunhap2 (Sophieunhap, Ngaynhap, MaNCC, TenNCC, §/cNCC, TeleNCC, Makho, §/ckho)

Phieunhap2 ®−¬ng nhiªn ®¹t chuÈn 2NF v× nhãm thuéc tÝnh kho¸ chØ cã mét thuéc tÝnh. VËy:

(3) Phieunhap2 (Sophieunhap, Ngaynhap, MaNCC, TenNCC, §/cNCC, TeleNCC, Makho, §/ckho)

(4) DONGxuat (Sophieuxuat, Mavattu, Slxuat, §ongiaxuat)

®¹t 2NF v× kh«ng tån t¹i thuéc tÝnh ngoμi kho¸ nμo phô thuéc vμo mét phÇn cña kho¸ c¶.

Phieuxuat2 (Sophieuxuat, Ngayxuat, Makhach, Tenkhach, §/ckhach, telekhach, makho)

PHIEUXUAT2 ®−¬ng nhiªn ®¹t chuÈn 2NF v× nhãm thuéc tÝnh kho¸ chØ cã mét thuéc tÝnh. VËy:

Page 204: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

204

(5) Phieuxuat2 (Sophieuxuat, Ngayxuat, Makhach, Tenkhach,

§/ckhach, Telekhach, Makho)

KÕt qu¶ ta cã hÖ l−îc ®å sau ®¹t chuÈn 2NF:

(1) VATTU (Mavattu, Tenvattu, §/v tÝnh, TyleVAT)

(2) DONGNHAP (Sophieunhap, Mavattu, Slnhap, §ongianhap)

(3) Phieunhap2 (Sophieunhap, Ngaynhap, MaNCC, TenNCC,

§/cNCC, TeleNCC, Makho, §/ckho)

(4) DONGXUAT (Sophieuxuat, Mavattu, SLxuat, §ongiaxuat)

(5) Phieuxuat2 (Sophieuxuat, Ngayxuat, Makhach, Tenkhach,

§/ckhach, Telekhach, Makho)

XÐt chuÈn 3:

C¸c quan hÖ (1), (2), (4) ®−¬ng nhiªn ®¹t chuÈn 3NF v× kh«ng cã thuéc tÝnh cÇu

(1) VATTU (Mavattu, Tenvattu, §/v tÝnh, TyleVAT)

(2) DONGNHAP (Sophieunhap, Mavattu, Slnhap, §ongianhap)

(4) DONGXUAT (Sophieuxuat, Mavattu, SLxuat, §ongiaxuat)

Cã quan hÖ (3):

(3) Phieunhap2 (Sophieunhap, Ngaynhap, MaNCC, TenNCC,

§/cNCC, TeleNCC, Makho, §/ckho)

MaNCC → TenNCC, D/cNCC, TeleNCC

Makho → §/ckho

Mµ MaNCC vµ Makho lµ c¸c thuéc tÝnh ngoµi kho¸ nªn nã chÝnh lµ c¸c thuéc tÝnh cÇu. VËy quan hÖ nµy kh«ng ®¹t 3NF.

§Ó quan hÖ nµy ®¹t ®−îc 3NF ta t¸ch nã thµnh c¸c quan hÖ con:

(3.1) NHACC (MaNCC, TenNCC, §/cNCC, TeleNCC)

(3.2) KHO (Makho, §/ckho)

(3.3) Phieunhap (Sophieunhap, Ngaynhap, MaNCC, Makho)

Page 205: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

205

Cã quan hÖ 5:

(5) Phieuxuat2 (Sophieuxuat, Ngayxuat, Makhach, Tenkhach, §/ckhach, Telekhach, Makho)

Makhach → Tenkhach, §/ckhach, Telekhach

Mµ Makhach lµ thuéc tÝnh ngoµi kho¸ nªn nã chÝnh lµ thuéc tÝnh cÇu. VËy quan hÖ nµy kh«ng ®¹t 3NF.

§Ó quan hÖ nµy ®¹t ®−îc 3NF ta t¸ch nã thµnh c¸c quan hÖ con:

(5.1) KHACH (Makhach, Tenkhach, §/ckhach, Telekhach)

(5.2) Phieuxuat (Sophieuxuat, Ngayxuat, Makhach, Makho)

Tæng hîp kÕt qu¶ trªn, ta cã hÖ l−îc ®å sau ®¹t chuÈn 3:

(1) VATTU (Mavattu, Tenvattu, §/v tÝnh, TyleVAT)

(2) DONGNHAP (Sophieunhap, Mavattu, Slnhap, §ongianhap)

(3) NHACC (MaNCC, TenNCC, §/cNCC, TeleNCC)

(4) KHO (Makho, §/ckho)

(5) Phieunhap (Sophieunhap, Ngaynhap, MaNCC, Makho)

(6) DONGXUAT (Sophieuxuat, Mavattu, SLxuat, §ongiaxuat)

(7) KHACH (Makhach, Tenkhach, §/ckhach, Telekhach)

(8) Phieuxuat (Sophieuxuat, Ngayxuat, Makhach, Makho)

B−íc 4: VÏ s¬ ®å E-R

S¬ ®å E-R ®−îc vÏ theo nguyªn t¾c sau:

- Mçi l−îc ®å ®−îc biÓu diÔn b»ng mét h×nh ch÷ nhËt gåm tªn (viÕt hoa) vµ c¸c thuéc tÝnh, thuéc tÝnh kho¸ ®−îc g¹ch ch©n hoÆc in ®Ëm, kho¸ liªn kÕt/kho¸ ngo¹i ®−îc ®¸nh dÊu a hoÆc in nghiªng hoÆc dïng ch÷ FK (foreign key).

- X¸c ®Þnh liªn kÕt gi÷a 2 thùc thÓ: chóng cã liªn kÕt nÕu ®¶m b¶o ®ñ 2 dÊu hiÖu sau:

+ Cã nhãm thuéc tÝnh chung

+ T¹i mét thùc thÓ nµo ®ã, nhãm thuéc tÝnh chung ®ã lµ kho¸ chÝnh.

Page 206: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

206

Nh− vËy nhãm thuéc tÝnh ë thùc thÓ cßn l¹i sÏ chÝnh lµ kho¸ ngo¹i/kho¸ liªn kÕt

- Khi ®· x¸c ®Þnh ®−îc kho¸ liªn kÕt ta cã thÓ vÏ ®−êng nèi gi÷a chóng vµ ®−êng ba chÏ sÏ dÝnh vµo thùc thÓ cã chøa kho¸ liªn kÕt.

KÕt qu¶ vËn dông c¸c nguyªn t¾c trªn thu ®−îc s¬ ®å E-R:

Thuéc tÝnh kho¸ ®−îc g¹ch ch©n, kho¸ liªn kÕt/kho¸ ngo¹i ®−îc in nghiªng.

H×nh 3.23. S¬ ®å E-R bμi to¸n xuÊt nhËp vËt t− trong kho

Page 207: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

207

3.4. ThiÕt kÕ CSDL møc vËt lý

3.4.1. ChuyÓn thiÕt kÕ d÷ liÖu møc logic sang møc vËt lý

Cã hai c¸ch chuyÓn tõ møc logic sang møc vËt lý:

- Sö dông mét ng«n ng÷ lËp tr×nh nµo ®ã

- Sö dông mét hÖ qu¶n trÞ CSDL.

VÝ dô theo c¸ch thø nhÊt ta cã thÓ dïng mét ng«n ng÷ lËp tr×nh nµo ®ã vÝ dô nh− TURBO PASCAL víi c¸c kiÓu d÷ liÖu FILE vµ RECORD ®Ó m« t¶ c¸c b¶n ghi vµ dïng c¸c thñ tôc READ, WRITE, SEEK, POS... ®Ó sinh c¸c thao t¸c cËp nhËt vµ truy nhËp b¶n ghi. C¸ch lµm nh− vËy hiÖu qu¶ rÊt thÊp. Ngµy nay Ýt ng−êi dïng ph−¬ng ph¸p thø nhÊt v× nã ®ßi hái ng−êi lËp tr×nh ph¶i thùc hiÖn toµn bé c¸c chøc n¨ng t¹o lËp cÊu tróc d÷ liÖu, truy nhËp, cËp nhËt vµ xö lý c©u hái.

Gi¶i ph¸p tèt nhÊt lµ nªn sö dông mét hÖ qu¶n trÞ CSDL s½n cã. Nh− ®· biÕt hÇu hÕt c¸c hÖ qu¶n trÞ CSDL ®Òu cung cÊp c¸c ph−¬ng tiÖn m« t¶ d÷ liÖu, thao t¸c, ®¶m b¶o toµn vÑn d÷ liÖu vµ t×m kiÕm. Víi c¸c hÖ qu¶n trÞ CSDL, mét khi ®· thiÕt kÕ xong møc logic th× h·y sö dông c¸c c«ng cô thÝch hîp cña hÖ QTCSDL ®Ó t¹o hÖ thèng ë møc vËt lý. C¸c hÖ CASE (Computer Aided SoftWare Engineering) ngµy nay cßn cho phÐp tù ®éng sinh hÖ thèng (t¹o møc vËt lý) tõ møc logic.

3.4.2. §¸nh gi¸ kh«ng gian l−u tr÷

MÆc dï ®· cã phÇn mÒm tæ chøc CSDL vµ ph−¬ng ph¸p truy nhËp nh−ng ng−êi ph©n tÝch vµ thiÕt kÕ vÉn ph¶i quan t©m ®Õn mét c«ng viÖc kh¸c cã liªn quan ®Õn møc vËt lý lµ ®¸nh gi¸ kh«ng gian l−u tr÷ cÇn thiÕt vµ tèc ®é truy nhËp. §iÒu nµy cÇn ®−îc xem lµ mét phÇn cña c«ng viÖc thiÕt kÕ v× nhê ®ã míi x¸c ®Þnh ®−îc c¸c quy t¾c kü thuËt liªn quan ®Õn kh¶ n¨ng l−u tr÷ cña hÖ thèng vµ phÇn nµo cã liªn quan ®Õn thêi gian tr¶ lêi hÖ thèng. Râ rµng lµ møc logic vÒ d÷ liÖu cã liªn quan trùc tiÕp ®Õn c¸c yÕu tè kh«ng gian l−u tr÷ vµ thêi gian tr¶ lêi cña hÖ thèng.

Víi m« h×nh CSDL ®−îc chän lµ m« h×nh quan hÖ th× ta ph¶i tÝnh to¸n ®−îc kh«ng gian cÇn thiÕt theo sè b¶n ghi, ®é dµi c¸c tÖp phô (nh− tÖp chØ dÉn).

Page 208: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

208

VÝ dô ta cÇn tÝnh kh«ng gian l−u tr÷ cho hÖ thèng th«ng tin qu¶n lý kho phô tïng ®· nªu trong vÝ dô tr−íc ®©y cña mét nhµ m¸y chØ gåm mét kho. Ta nh¾c l¹i m« h×nh logic cña hÖ thèng víi sù chi tiÕt ho¸ vÒ kiÓu vµ ®é dµi cña thuéc tÝnh. Ta quy −íc kiÓu ch÷ lµ A, kiÓu sè lµ N, kiÓu ngµy lµ D: sè ®Ó trong ngoÆc ®¬n lµ ®é dµi tÝnh theo byte. Khi ®ã cã thÓ −íc tÝnh kh«ng gian cÇn thiÕt cho n¨m ®Çu tiªn nh− trong b¶ng. Còng ph¶i tÝnh kh«ng gian cÇn thiÕt cho c¸c tÖp index. Ngoµi ra cßn −íc tÝnh ®é t¨ng tr−ëng cña CSDL sau mçi chu kú thêi gian (th¸ng hay n¨m) ®Ó cã mét khuyÕn c¸o kü thuËt cho phÝa chñ ®Çu t−.

Víi m« h×nh CSDL lµ m¹ng th× ta ph¶i tÝnh kh«ng gian ®Üa kh«ng chØ cho c¸c b¶n ghi mµ cßn ph¶i tÝnh kh«ng gian cÇn thiÕt cho c¸c liªn kÕt. §Ó lµm viÖc nµy ta cÇn −íc tÝnh mËt ®é trung b×nh cña c¸c liªn kÕt ®èi víi mçi b¶n ghi chñ. Mçi b¶n ghi chñ ngoµi kh«ng gian cÇn thiÕt cho chÝnh nã cßn ph¶i céng thªm kh«ng gian cÇn thiÕt cho c¸c con trá mãc nèi víi c¸c b¶n ghi thµnh viªn. Ta cã thÓ nghÜ r»ng nªn tÝnh kh«ng gian tèi ®a c¨n cø vµo b¶n ghi sè cña b¶n ghi chñ trong mèi quan hÖ. §iÒu nµy kh«ng ph¶i bao giê còng lµm ®−îc nÕu b¶n sè nµy lµ 1: n víi n kh«ng x¸c ®Þnh.

B¶ng 3.13. B¶ng ®¸nh gi¸ kh«ng gian l−u tr÷

Quan hÖ Thuéc tÝnh §é dμi b¶n ghi

Sè b¶n ghi

§é dμi tæng

M· hμng A(12) 80 3000 240000

Tªn hμng A(20)

§¬n vÞ A (12)

§¬n gi¸ N(8)

Tªn kho A(20)

HμNG (mçi lo¹i hμng chØ ®Ó ë 1 kho)

Tån kho N(8)

Sè_phiÕu_nhËp A(6) 20 60 1200

Ngμy_nhËp D(8) (Mét n¨m)

PHIEU_NHAP

M·_NCC A(6)

Sè_phiÕu xuÊt A(6) 24 50x60 72000

M· hμng A(10)

CAC_KHOAN_NHAP (Trung b×nh 50 kho¶n mét phiÕu nhËp)

L−îng nhËp N(8)

Page 209: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

209

M·_nhμ_cung_cÊp A(5)

100 40 4000

Tªn_NCC A(45)

NHA_CUNG_CAP

§Þa_chØ_NCC A(50)

Sè_phiÕu_xuÊt A(6) 20 1200 2400

Ngμy_xuÊt D(8) (Mét n¨m)

PHIEU_XUAT

M·_kh¸ch A(6)

Sè_phiÕu_xuÊt A(6) 14 2x1200 57600

M· hμng A(10)

CAC_KHOAN_XUAT (Trung b×nh 2 kho¶n mét phiÕu xuÊt)

L−îng xuÊt N(8)

M·_kh¸ch A(5) 100 300 3000

Tªn_kh¸ch A(45)

KHACH_HANG

§Þa_chØ_kh¸ch A(50)

INDEX (20 byte/mét b¶n ghi) 10000 20000

TONG CONG 628800

L−îng t¨ng mçi n¨m (−íc tÝnh) 300000

3.4.3. BiÕn ®æi c¸c l−îc ®å kh¸i niÖm thμnh l−îc ®å vËt lý

Trong giai ®o¹n ph©n tÝch, ta cã c¸c l−îc ®å kh¸i niÖm. §ã lµ c¸c l−îc ®å d÷ liÖu theo m« h×nh E_R hay m« h×nh quan hÖ. Sang giai ®o¹n thiÕt kÕ, cÇn biÕn ®æi c¸c l−îc ®å kh¸i niÖm thμnh c¸c l−îc ®å vËt lý, tøc lµ mét cÊu tróc l−u gi÷ thùc sù cña d÷ liÖu trong bé nhí ngoµi. CÊu tróc nµy th−êng ®−îc chän lùa trong sè c¸c d¹ng sau: c¸c tÖp tuÇn tù, c¸c b¶ng hµm b¨m, c¸c m¹ng cã con trá, c¸c c©y, c¸c quan hÖ,… Mçi cÊu tróc trªn ®Òu cã tÝnh −u viÖt vµ h¹n chÕ riªng nªn tuú hoµn c¶nh cô thÓ cña bµi to¸n mµ chän cho thÝch hîp. Sù c©n nh¾c dùa trªn yªu cÇu truy nhËp d÷ liÖu cña mçi chøc n¨ng trong hÖ thèng ®¶m b¶o nhanh vµ dÔ sö dông, dùa trªn c¸c ®Æc ®iÓm vµ rµng buéc cña cÊu h×nh vËt lý hÖ thèng (phÇn cøng vµ phÇn mÒm sö dông) sao cho thÝch øng ®−îc víi cÊu h×nh ®ã.

ViÖc biÕn ®æi c¸c l−îc ®å kh¸i niÖm thµnh c¸c l−îc ®å vËt lý kÐo theo viÖc thiÕt kÕ d÷ liÖu thµnh 2 b−íc:

Page 210: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

210

1. Th«ng qua viÖc nghiªn cøu c¸c yªu cÇu truy nhËp mµ biÕn ®æi l−îc ®å kh¸i niÖm thµnh mét d¹ng trung gian gäi lµ l−îc ®å logic vÒ d÷ liÖu.

2. Th«ng qua viÖc nghiªn cøu cÊu h×nh cña hÖ thèng, ®Æc biÖt lµ ng«n ng÷ lËp tr×nh, c¸c hÖ qu¶n trÞ CSDL ®· ®−îc chän dïng mµ biÕn ®æi l−îc ®å logic thµnh l−îc ®å vËt lý thÝch hîp víi cÊu h×nh ®ã.

3.4.3.1. Thμnh lËp l−îc ®å logic

Mäi cÊu tróc l−u tr÷ vËt lý, dï lµ tÖp (tÖp tuÇn tù, tÖp tuÇn tù cã chØ dÉn, tÖp trùc truy,…) hay lµ CSDL (m« h×nh m¹ng, m« h×nh ph©n cÊp, m« h×nh quan hÖ) th× còng ®Òu t¹o nªn tõ c¸c ®¬n vÞ c¬ së lµ c¸c b¶n ghi (mét b¶n ghi cÊu t¹o tõ nhiÒu tr−êng). V× vËy ng−êi ta chän l−îc ®å logic, mét d¹ng trung gian tr−íc khi ®Õn l−îc ®å vËt lý, lμ mét cÊu tróc c¸c kiÓu b¶n ghi. Mçi kiÓu b¶n ghi lµ mét tËp hîp nh÷ng b¶n ghi cã cÊu tróc tr−êng gièng nhau, th−êng ®−îc gäi t¾t lµ b¶ng. B¶ng ®−îc biÓu diÔn b»ng h×nh ch÷ nhËt cã tªn b¶ng vµ danh s¸ch c¸c thuéc tÝnh (tr−êng). Gi÷a 2 b¶ng, thiÕt lËp mét kÕt nèi, diÔn t¶ b»ng mét mòi tªn nÕu 2 b¶ng ®ã cã thuéc tÝnh chung, vµ trong mét b¶ng nµo ®ã nhãm thuéc tÝnh chung ®ã lµ kho¸ chÝnh. Nhãm tr−êng chung ®ã lµ ®iÒu kiÖn tiªn quyÕt cña kÕt nèi, h¬n n÷a nhãm thuéc tÝnh nµy chØ cã mét gi¸ trÞ duy nhÊt cho mçi b¶n ghi trong b¶ng mµ nhãm thuéc tÝnh chung ®ã gi÷a vai trß kho¸ chÝnh vµ ë gèc mòi tªn (phÝa 1). Mòi tªn sÏ g¾n vµo thùc thÓ cã kho¸ ngo¹i (phÝa NhiÒu).

VÝ dô cÊu tróc c¸c kiÓu b¶n ghi (l−îc ®å logic) nh− sau:

H×nh 3.24. L−îc ®å logic

Môc ®Ých thiÕt kÕ logic: xuÊt ph¸t tõ l−îc ®å kh¸i niÖm, t×m mét cÊu tróc c¸c kiÓu b¶n ghi phï hîp víi yªu cÇu truy nhËp cña c¸c chøc n¨ng xö lý trong hÖ thèng.

Page 211: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

211

3.4.3.2. Thμnh lËp l−îc ®å vËt lý

L−îc ®å vËt lý lµ cÊu tróc l−u tr÷ thùc sù cña d÷ liÖu trong bé nhí ngoµi, phô thuéc vµo cÊu h×nh cña hÖ thèng (c¸c ng«n ng÷ lËp tr×nh, c¸c hÖ qu¶n trÞ CSDL,…). Cã 2 ph−¬ng ¸n chän lùa chÝnh lµ c¸c tÖp vµ CSDL, theo ®ã mµ ta ph¶i chuyÓn ®æi l−îc ®å logic thu ®−îc thµnh l−îc ®å vËt lý thÝch hîp.

§iÓm kh¸c biÖt c¬ b¶n gi÷a tÖp vµ CSDL lµ: ®èi víi tÖp, ng−êi dïng ph¶i trùc tiÕp thµnh lËp nã vµ khai th¸c nã, nghÜa lµ ph¶i hiÓu râ vµ chÞu tr¸ch nhiÖm trùc tiÕp vÒ nã. Nh− vËy, ch−¬ng tr×nh vµ d÷ liÖu rµng buéc chÆt víi nhau. Cßn ®èi víi CSDL, sù cã mÆt cña hÖ qu¶n trÞ CSDL ®· c¸ch ly ch−¬ng tr×nh ng−êi dïng víi cÊu tróc l−u tr÷ cña d÷ liÖu lµm cho ch−¬ng tr×nh cã −u ®iÓm lµ ®éc lËp t−¬ng ®èi víi d÷ liÖu. §æi l¹i th× c¸c ng«n ng÷ ®Þnh nghÜa d÷ liÖu còng nh− c¸c ng«n ng÷ thao t¸c d÷ liÖu cung cÊp bëi hÖ qu¶n trÞ CSDL l¹i ph¶i nhóng ®−îc vµo ng«n ng÷ lËp tr×nh ®−îc chän ®Ó cµi ®Æt hÖ thèng, ®iÒu nµy kh«ng ph¶i lóc nµo còng thuËn tiÖn.

§èi víi thiÕt kÕ CSDL, CÊu tróc l−u tr÷ vËt lý phô thuéc theo m« h×nh cña CSDL, vÝ dô nh− m« h×nh quan hÖ:

Mçi b¶ng trong l−îc ®å logic chuyÓn ®æi trùc tiÕp thµnh mét quan hÖ (mçi tr−êng thµnh mét thuéc tÝnh cña quan hÖ). Kh«ng cã g× cµi ®Æt ®Æc biÖt ®èi víi c¸c kÕt nèi gi÷a c¸c b¶ng, ngo¹i trõ sù cã mÆt cña kho¸ ngo¹i. Mét ng«n ng÷ ®Þnh nghÜa d÷ liÖu cho phÐp ®Þnh nghÜa c¸c quan hÖ. C¸c lÖnh trong mét ng«n ng÷ thao t¸c d÷ liÖu cho phÐp l−u tr÷ vµ t×m kiÕm c¸c d÷ liÖu dùa trªn c¸c phÐp to¸n cña ®¹i sè quan hÖ (thay cho sù lÇn dß theo c¸c con trá).

3.4.3.3. VÝ dô

Dùa theo vÝ dô trªn, tõ l−îc ®å logic (h×nh 3.24).

Page 212: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

212

ta chuyÓn vÒ cÊu tróc l−u tr÷:

KHO

M· kho Tªn kho §Þa chØ kho

CHUA

M· kho M· hμng Tån kho

HANG

M· hμng Tªn hμng §¬n vÞ tÝnh

NÕu biÓu diÔn d−íi d¹ng cã bæ sung liªn kÕt gi÷a kho¸ chÝnh vµ kho¸ ngo¹i cña hai quan hÖ b»ng mòi tªn nh− h×nh 3.26, chóng ta sÏ cã ®−îc mét s¬ ®å CSDL møc logic:

KHO

M· kho Tªn kho §Þa chØ kho

CHUA

M· kho M· hμng Tån kho

HANG

M· hμng Tªn hμng §¬n vÞ tÝnh

H×nh 3.26. S¬ ®å CSDL møc logic

Trong ph−¬ng ph¸p hiÖn ®¹i, ng−êi ta dïng lu«n m« h×nh CSDL logic - s¬ ®å E_R (ERD) ®Ó lµm c¨n cø thiÕt kÕ vËt lý:

Page 213: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

213

H×nh 3.27. S¬ ®å E_R cña bμi to¸n vÝ dô Kho - hμng

Vµ tiÕn hµnh thiÕt kÕ vËt lý nh− sau:

B¶ng 3.14. kho

Tªn tr−êng KiÓu §é dμi Khu«n d¹ng Rμng buéc

M· kho Ký tù 6 Ch÷ hoa + sè Kho¸ chÝnh

NOTNULL

Tªn kho Ký tù 5 Ch÷ hoa

§Þa chØ kho Ký tù 30 Ch÷ ®Çu viÕt hoa

B¶ng 3.15. Chøa

Tªn tr−êng KiÓu §é dμi Khu«n d¹ng Rμng buéc

M· kho Ký tù 6 Ch÷ hoa + sè Thμnh phÇn cña kho¸ chÝnh NOTNULL

Kho¸ ngo¹i liªn kÕt víi KHO

M· hμng Ký tù 6 Ch÷ hoa + sè Thμnh phÇn cña kho¸ chÝnh NOTNULL

Kho¸ ngo¹i liªn kÕt víi HANG

Tån kho Sè 9 Sè nguyªn

B¶ng 3.16. Hμng

Tªn tr−êng KiÓu §é dμi Khu«n d¹ng Rμng buéc

M· hμng Ký tù 6 Ch÷ hoa + sè Kho¸ chÝnh NOTNULL

Tªn hμng Ký tù 15 Ch÷ ®Çu viÕt hoa

§¬n vÞ tÝnh Ký tù 10 Ch÷ th−êng

Page 214: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

214

3.5. ThiÕt kÕ an toμn b¶o mËt cho CSDL

3.5.1. An toμn th«ng tin vμ an toμn hÖ thèng

Môc ®Ých cña c«ng t¸c an toµn vµ b¶o mËt d÷ liÖu lµ ®¶m b¶o tÝnh chÝnh x¸c, ®é tin cËy cao vµ phôc håi ®−îc trong c¸c tr−êng hîp ph¸t sinh sù cè do mét sè nguyªn nh©n chÝnh sau:

- NSD kh«ng thµnh th¹o v« t×nh söa, xãa sè liÖu tïy tiÖn lµm mÊt m¸t, sai l¹c sè liÖu.

- MÊt ®iÖn ®ét ngét khi hÖ thèng ®ang tiÕn hµnh tÝnh to¸n hoÆc cËp nhËt lµm háng tÖp d÷ liÖu.

- Háng ®Üa cøng hoÆc m¸y lµm tª liÖt hoµn toµn bé sè liÖu vµ ch−¬ng tr×nh.

- Ch¸y, næ, va ®Ëp m¹nh lµm háng m¸y mãc, ch−¬ng tr×nh vµ sè liÖu.

- KÎ gian lÊy trém hÖ thèng m¸y tÝnh, hoÆc th©m nhËp tr¸i phÐp xãa bá hÖ thèng ch−¬ng tr×nh vµ sè liÖu, viÖc truyÒn sè liÖu kh«ng ®¶m b¶o an toµn.

- C¸c nguyªn nh©n kh¸ch quan kh¸c,...

Trong tr−êng hîp x¶y ra sù cè kü thuËt ®èi víi m¸y mãc, ch−¬ng tr×nh hoÆc sè liÖu, b¶n sao l−u cã thÓ ®−îc phôc håi trë l¹i trªn mét hÖ thèng m¸y kh¸c ®· cµi l¹i ch−¬ng tr×nh vµ s½n sµng ho¹t ®éng nh− mét hÖ thèng dù phßng. NÕu tiÕn hµnh sao l−u th−êng xuyªn hµng ngµy th× b¶n sao l−u sÏ sai kh¸c b¶n d÷ liÖu ®· mÊt chØ cã mét ngµy thao t¸c nghiÖp vô thay v× ph¶i nhËp l¹i mét khèi l−îng sè liÖu lín.

3.5.2. C¸c biÖn ph¸p thùc hiÖn an toμn d÷ liÖu

ThiÕt lËp c¸c nguyªn t¾c qu¶n lý:

- §èi víi m¸y chñ: Mäi thao t¸c trªn m¸y chñ ®Òu n»m d−íi sù kiÓm so¸t cña ng−êi phô tr¸ch trung t©m CSDL th«ng qua c¸c c¸n bé kü thuËt ®−îc giao nhiÖm vô cô thÓ. C¸c c¸n bé kü thuËt ph¶i tu©n thñ nghiªm ngÆt chÕ ®é sao l−u vµ kiÓm tra d÷ liÖu ®Þnh kú trªn c¸c thiÕt bÞ mang tin.

Page 215: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

215

- §èi víi c¸c m¸y tr¹m: Ph¶i giao tr¸ch nhiÖm sao l−u vµ kiÓm tra d÷ liÖu cña tõng nghiÖp vô cho c¸c c¸n bé cô thÓ. C¸c c¸n bé nµy sÏ ®−îc h−íng dÉn c¬ chÕ sao l−u, kiÓm tra d÷ liÖu ®Þnh kú trªn c¸c vËt mang tin vµ phôc håi d÷ liÖu khi cã sù cè.

- T¨ng c−êng c«ng t¸c kiÓm tra, kiÓm so¸t vµ h¹n chÕ ®Õn møc cao nhÊt viÖc ®−a th«ng tin tõ bªn ngoµi vµo hÖ thèng th«ng qua ®Üa mÒm ®Ó gi¶m thiÓu kh¶ n¨ng l©y nhiÔm virus lªn hÖ thèng.

Sö dông c¸c thiÕt bÞ l−u tr÷ an toμn:

Dïng c¸c ®Üa l−u tr÷, c¸c æ CD, c¸c Tape Backup (sao l−u b¨ng tõ)... C¸c thiÕt bÞ nµy dïng ®Ó l−u tr÷ song song, ®Ò phßng mÊt m¸t d÷ liÖu khi cã sù cè x¶y ra. Tuy nhiªn, ®èi víi hÖ CSDL cña c¬ quan chñ qu¶n vµ hÖ thèng chÝnh cã dung l−îng l−u tr÷ lín vµ ph¸t sinh th−êng xuyªn cÇn cã c¬ chÕ sao l−u nhanh víi sù hç trî cña phÇn mÒm øng dông.

Tuú theo kh¶ n¨ng ®¸nh gi¸ vÒ tÇm quan träng kh¸c nhau cña sè liÖu ta cã thÓ chän chu kú sao l−u lµ ngµy, vµi ngµy, tuÇn hoÆc vµi tuÇn, th¸ng,..

Sö dông c¸c trang thiÕt bÞ an toμn:

- ThiÕt lËp c¬ chÕ Clustering (c¬ chÕ qu¶n lý CSDL nh©n ®«i song song) hoµn chØnh vµ cã ®é tin cËy cao.

- Sö dông hÖ thèng l−u ®iÖn tæng th«ng minh.

- Lùa chän c¸c m¸y chñ víi kh¶ n¨ng hç trî RAID vµ thiÕt bÞ nguån cung cÊp cã kh¶ n¨ng chuyÓn ®æi nãng.

Ngoµi ra, viÖc tu©n thñ chÕ ®é b¶o tr× thiÕt bÞ ®Þnh kú, th−êng xuyªn cËp nhËt c¸c phÇn mÒm chèng virus lµ hÕt søc cÇn thiÕt.

3.5.3. B¶o mËt th«ng tin

ThiÕt lËp c¬ chÕ b¶o mËt

- Ban hµnh qui chÕ b¶o mËt trong toµn bé hÖ thèng

- Qui ®Þnh chøc n¨ng quyÒn h¹n truy xuÊt cho NSD ®èi víi d÷ liÖu trong hÖ thèng

Page 216: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

216

- Tr¸ch nhiÖm cña qu¶n trÞ hÖ thèng trong viÖc ph©n quyÒn truy nhËp vµo hÖ thèng

Nh÷ng hÖ thèng CSDL ®iÓn h×nh th−êng cã nh÷ng thñ tôc truy xuÊt riªng. §Ó cã thÓ th©m nhËp hÖ thèng, NSD ph¶i ®−îc cÊp mét tµi kho¶n (user account) trªn hÖ thèng ®ã vµ b¾t buéc khai b¸o ®óng tªn vµ mËt khÈu cña m×nh. NSD ®−îc qu¶n trÞ viªn CSDL (Database Administrator) cÊp quyÒn xem mét hiÓn thÞ (view) cña CSDL. NSD chØ ®−îc phÐp sö dông mét sè mµn h×nh, mét sè lÖnh ®Ó truy xuÊt d÷ liÖu

trong mét sè tÖp, mét sè b¶n ghi hoÆc tr−êng. ë ®©y, qu¶n trÞ viªn CSDL lµ mét c¸ nh©n hoÆc mét nhãm chÞu tr¸ch nhiÖm chÝnh trong c«ng viÖc qu¶n lý CSDL. Sè nh÷ng ng−êi sö dông ch−¬ng tr×nh sÏ kh¸c nhau ®èi víi c¸c CSDL kh¸c nhau. HÖ thèng lu«n lu«n l−u tr÷ l¹i mét sè lÇn truy nhËp d÷ liÖu gÇn nhÊt cña tõng NSD.

Mçi NSD ph¶i cã tr¸ch nhiÖm ghi nhí vµ b¶o mËt mËt khÈu cña m×nh trong qu¸ tr×nh sö dông. Trong tr−êng hîp cã sù cè x¶y ra, nh÷ng ng−êi l·nh ®¹o sÏ c¨n cø vµo biªn b¶n vÒ lÇn truy cËp gÇn nhÊt ®Ó thÈm vÊn.

Ví dụ: Trong lĩnh vực qu¶n lý kinh doanh s¸ch trªn m¹ng, th«ng th−êng, cã 3 nhãm ng−êi dïng cã nhu cÇu truy nhËp CSDL, ®ã lµ: kh¸ch mua, nh©n viªn cöa hµng, chñ cöa hµng. Ngoµi ra, còng cÇn cã ng−êi qu¶n trÞ hÖ thèng, chÞu tr¸ch nhiÖm ®èi víi c¸c ho¹t ®éng cña c¬ së d÷ liÖu vµ cã quyÒn truy nhËp vµo toµn bé c¬ së d÷ liÖu.

Chñ cöa hµng cã ®Çy ®ñ c¸c quyÒn trªn tÊt c¶ c¸c quan hÖ, tuy nhiªn kh«ng ®−îc phÐp t¹o dùng thªm c¸c ®èi t−îng d÷ liÖu míi. Do vËy, ng−êi qu¶n trÞ sÏ ph©n quyÒn thao t¸c ®Çy ®ñ trªn c¸c ®èi t−îng d÷ liÖu trong CSDL.

Kh¸ch mua chØ ®−îc phÐp t×m kiÕm trªn quan hÖ cã liªn quan vµ cã thÓ ®Æt hµng trùc tuyÕn, nh−ng hä kh«ng ®−îc phÐp truy nhËp ®Õn c¸c b¶n ghi cña kh¸ch hµng kh¸c còng nh− c¸c ®¬n ®Æt hµng kh¸c. Do vËy chóng ta ph¶i giíi h¹n theo 2 c¸ch. C¸ch thø nhÊt, ph¶i sö dông c¸c ®Æc tr−ng an toµn cña CSDL ®Ó giíi h¹n ph¹m vi truy xuÊt ®Õn c¸c d÷ liÖu nh¹y c¶m. VÝ dô nh− khi t¹o lËp mét kho¶n môc míi cho

Page 217: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Ch−¬ng 3: Quy tr×nh ph©n tÝch thiÕt kÕ CSDL

217

kh¸ch hµng, ng−êi qu¶n trÞ CSDL sÏ t¹o dùng lu«n nh÷ng khung nh×n chØ cho phÐp anh ta xem c¸c d÷ liÖu cña riªng m×nh th«ng qua c¸c khung nh×n ®ã. C¸ch thø hai, chóng ta cã thÓ giíi h¹n th«ng qua viÖc t¹o c¸c giao diÖn trong øng dông trªn web. Vµ mäi truy vÊn ®Òu ®−îc g¾n thªm gi¸ trÞ Khach-id cña kh¸ch mua hiÖn thêi.

Nh©n viªn cña cöa hµng còng tuú theo tõng ®èi t−îng mµ ®−îc ng−êi qu¶n trÞ ph©n cho hä c¸c quyÒn thao t¸c trªn tõng ®èi t−îng d÷ liÖu cô thÓ. VÝ dô víi ng−êi qu¶n lý kho, anh ta chØ ®−îc phÐp cËp nhËt trªn quan hÖ SACH. Víi ng−êi qu¶n lý c¸c th«ng tin vÒ kh¸ch hµng th× chØ cã thÓ thao t¸c trªn quan hÖ KHACH mµ th«i. Cßn ®èi víi c¸c ng−êi qu¶n lý ®¬n hµng, hä cã c¸c quyÒn cËp nhËt trªn quan hÖ DON_HANG_MOI vµ DONG_DON_HANG_MOI, nh−ng víi c¸c quan hÖ cßn l¹i nh− SACH, KHACH th× chØ cã quyÒn xem mµ th«i. §Ó h¹n chÕ quyÒn truy nhËp cña kh¸ch mua, chóng ta cã thÓ t¹o ra mét tµi kho¶n cã tªn lµ khach_mua vµ g¸n cho tµi kho¶n nµy c¸c quyÒn nµo ®ã.

- T¨ng c−êng c¬ chÕ kiÓm so¸t ®ét nhËp trªn m¹ng: sö dông c¸c c«ng cô m· ho¸ ®Ó b¶o mËt th«ng tin trªn ®−êng truyÒn, c¸c chøc n¨ng vÒ an toµn d÷ liÖu cña hÖ qu¶n trÞ m¹ng vµ nªn sö dông giao thøc SSL (Security Socket Layer).

- §¶m b¶o cã hÖ thèng theo dâi tù ®éng: phÇn lín CSDL, trªn mainframe ®Òu cã nh÷ng hÖ thèng theo dâi tù ®éng nh»m ghi nhËn mäi ho¹t ®éng cã thÓ lµm tæn h¹i ®Õn CSDL.

- Sö dông trang thiÕt bÞ b¶o mËt ë møc vËt lý:

L¾p ®Æt c¸c thiÕt bÞ b¶o mËt ®Çu cuèi trong toµn bé hÖ thèng

Trang bÞ hÖ thèng kho¸ b¶o vÖ an toµn.

Page 218: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Tμi liÖu tham kh¶o

[1]. Armstrong W.W.Dependency Structure of Database Relationships. Information Processing 74, Holland publ.Co (1974)

[2]. Beeri C. Dowd M., Fagin R... On the structure of Armstrong relational for Functional Dependencies J.ACM 31,1 (1984)

[3]. Codd E.F. A relational model for large shared data banks. Communication ACM 13 (1970)

[4]. Collongues A., Hugues J., Laroche B. MERISE method. Science - technique Public 1994.

[5]. Demetrovics J. Logical and structural investigation of Relational Data model. MTA-SZTAKI Tanulmanyok, Budapest, 114 (1980)

[6]. Jeffrey D. Ullman, Principles of Database and Knowledge base Systems, 1988-1989. Biªn dÞch: TrÇn §øc Quang, Nhµ xuÊt b¶n Thèng kª, 1998.

[7]. Peter Rob, Carlos Coronel, Database System. Wadsworth Publishing company, 1993.

[8]. NguyÔn Kim Anh, Nguyªn lý cña c¸c hÖ c¬ së d÷ liÖu. Nhµ xuÊt b¶n §¹i häc Quèc gia Hµ Néi, 2004.

[9]. §Ò ¸n 112. Gi¸o tr×nh ph©n tÝch, thiÕt kÕ vμ x©y dùng c¸c hÖ thèng c¬ së d÷ liÖu. Hµ Néi, 2004.

[10]. NguyÔn §Þch, Bïi C«ng C−êng, Lª V¨n Phïng, Th¸i Thanh S¬n. Lý thuyÕt hÖ thèng vμ ®iÒu khiÓn häc. Nhµ xuÊt b¶n Th«ng tin vµ TruyÒn th«ng, 2009.

[11]. Hå SÜ Khoa, C¸c ph−¬ng ph¸p x©y dùng c¸c m« h×nh kh¸i niÖm d÷ liÖu, 1990.

Page 219: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

[12]. Lª V¨n Phïng, Bμi gi¶ng c¬ së d÷ liÖu. Nhµ xuÊt b¶n Lao ®éng-X· héi, 2004.

[13]. Lª V¨n Phïng, Ph©n tÝch vμ thiÕt kÕ hÖ thèng th«ng tin - KiÕn thøc vμ thùc hμnh. Nhµ xuÊt b¶n Lao ®éng-X· héi, 2004.

[14]. Lª V¨n Phïng, Kü thuËt ph©n tÝch vμ thiÕt kÕ hÖ thèng th«ng tin h−íng cÊu tróc. Nhµ xuÊt b¶n Th«ng tin vµ TruyÒn th«ng, 2009.

[15]. TrÇn §øc Quang, Qu¶n trÞ c¬ së d÷ liÖu. Nhµ xuÊt b¶n X©y dùng, 2002.

[16]. Vò §øc Thi, C¬ së d÷ liÖu - KiÕn thøc vμ thùc hμnh. NXB Thèng kª, 1997.

[17]. Vò §øc Thi, ThuËt to¸n trong tin häc. Nhµ xuÊt b¶n Khoa häc Kü thuËt, 1999.

[18]. NguyÔn Quèc To¶n, NguyÔn V¨n Vþ, Vò §øc Thi, Lª V¨n Phïng, Bμi gi¶ng Kü nghÖ phÇn mÒm. Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi, 2000.

[19]. §ç Trung TuÊn, Database. NXB Gi¸o dôc, 1998.

[20]. §inh M¹nh T−êng, CÊu tróc d÷ liÖu vμ thuËt to¸n. Nhµ xuÊt b¶n Khoa häc Kü thuËt, 2000.

[21]. NguyÔn B¸ T−êng, C¬ së d÷ liÖu: Lý thuyÕt - thùc hμnh. Nhµ xuÊt b¶n Khoa häc Kü thuËt, 2001.

[22]. TrÇn Thµnh Trai, NhËp m«n c¬ së d÷ liÖu. Nhµ xuÊt b¶n TrÎ.

[23]. NguyÔn §¨ng Tþ, §ç Phóc, Gi¸o tr×nh c¬ së d÷ liÖu. §¹i häc Quèc gia TP. Hå ChÝ Minh, 2003.

[24]. Lª TiÕn V−¬ng, NhËp m«n c¬ së d÷ liÖu quan hÖ. Nhµ xuÊt b¶n Khoa häc Kü thuËt, 1997.

[25]. NguyÔn V¨n Vþ, Lª V¨n Phïng, Gi¸o tr×nh Ph©n tÝch thiÕt kÕ hÖ thèng th«ng tin. Hµ Néi, 2000.

Page 220: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

Môc lôc

Lêi nãi ®Çu.................................................................................................3

Ch−¬ng 1. Tæng quan vÒ c¬ së d÷ liÖu ..................................................7

1.1. C¸c kh¸i niÖm c¬ b¶n .........................................................................7

1.1.1. D÷ liÖu .....................................................................................7

1.1.2. C¬ së d÷ liÖu ..........................................................................10

1.1.3. HÖ thèng xö lý d÷ liÖu............................................................10

1.1.4. Sù kh¸c biÖt gi÷a d÷ liÖu vµ th«ng tin ...................................16

1.1.5. Siªu d÷ liÖu ............................................................................17

1.1.6. KiÓu thùc thÓ vµ b¶ng d÷ liÖu ................................................18

1.1.7. Kh¸i niÖm toµn vÑn d÷ liÖu ....................................................26

1.1.8. HÖ qu¶n trÞ CSDL (DBMS) ....................................................31

1.1.9. Kho d÷ liÖu ............................................................................31

1.2. C¸c ph−¬ng tiÖn diÔn t¶ d÷ liÖu ........................................................32

1.2.1. Kh¸i niÖm diÔn t¶ d÷ liÖu ......................................................32

1.2.2. M· ho¸ ...................................................................................33

1.2.3. Tõ ®iÓn d÷ liÖu .......................................................................39

1.3. M« h×nh d÷ liÖu ................................................................................43

1.3.1. Kh¸i niÖm m« h×nh d÷ liÖu ....................................................43

1.3.2. C¸c lo¹i m« h×nh CSDL..........................................................43

1.3.3. M« h×nh d÷ liÖu m¹ng vµ m« h×nh d÷ liÖu ph©n cÊp .............44

1.3.4. M« h×nh d÷ liÖu quan hÖ vµ

m« h×nh d÷ liÖu h−íng ®èi t−îng ..........................................46

1.3.5. Ph−¬ng ph¸p x©y dùng m« h×nh d÷ liÖu ................................48

Ch−¬ng 2. M« h×nh c¬ së d÷ liÖu quan hÖ............................................51

2.1. C¸c kh¸i niÖm c¬ b¶n .......................................................................51

Page 221: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

2.1.1. §Þnh nghÜa quan hÖ ...............................................................51

2.1.2. §Þnh nghÜa phô thuéc hµm ....................................................53

2.1.3. HÖ tiªn ®Ò Armstrong .............................................................54

2.1.4. §Þnh nghÜa hµm ®ãng .............................................................57

2.1.5. §Þnh nghÜa s¬ ®å quan hÖ.......................................................58

2.1.6. §Þnh nghÜa bao ®ãng ..............................................................59

2.1.7. §Þnh nghÜa kho¸ cña quan hÖ, s¬ ®å quan hÖ, hä F................61

2.1.8. HÖ b»ng nhau..........................................................................63

2.2. Mét sè thuËt to¸n liªn quan ®Õn kho¸...............................................65

2.2.1. Mét sè thuËt to¸n liªn quan ®Õn bao ®ãng .............................65

2.2.2. Mét sè thuËt to¸n liªn quan ®Õn kho¸ ....................................67

2.2.3. ThuËt to¸n x¸c ®Þnh c¸c thuéc tÝnh c¬ b¶n.............................72

2.3. C¸c phÐp to¸n xö lý file d÷ liÖu .......................................................73

2.3.1. PhÐp hîp (r ∪ t) (Union) ........................................................74

2.3.2. PhÐp trõ (r-t) (Difference) ......................................................74

2.3.3. PhÐp giao (r∩t) (Intersection) ................................................75

2.3.4. PhÐp tÝch §Ò-c¸c (r x t) (Cartesian product)...........................75

2.3.5. PhÐp chiÕu (Projection) ..........................................................76

2.3.6. PhÐp chän (Restriction) ..........................................................77

2.3.7. PhÐp chia (Division) ...............................................................77

2.3.8. PhÐp nèi ®iÒu kiÖn 2 file d÷ liÖu (Joinθ) ................................78

2.3.9. PhÐp nèi 2 file d÷ liÖu (Join) ..................................................79

2.3.10. VÝ dô ¸p dông .......................................................................80

2.3.11. C¸c chiÕn l−îc tèi −u tæng qu¸t............................................83

2.4. C¸c d¹ng chuÈn vµ c¸c thuËt to¸n liªn quan ....................................86

2.4.1. C¸c ®Þnh nghÜa chuÈn ho¸ ......................................................86

2.4.2. Mét sè ®Æc tr−ng d¹ng chuÈn 2NF .........................................88

2.4.3. Mét sè ®Æc tr−ng d¹ng chuÈn 3NF .........................................89

2.4.4. Mét sè ®Æc tr−ng d¹ng chuÈn BCNF ......................................90

Page 222: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

2.4.5. C¸c thuËt to¸n.........................................................................91

2.4.6. ChuÈn ho¸ mét quan hÖ ..........................................................93

2.4.7. ChuÈn ho¸ mét s¬ ®å quan hÖ ................................................99

2.5. Mèi quan hÖ (Relationship) ...........................................................116

2.5.1. §Æc t¶ mèi quan hÖ ..............................................................116

2.5.2. C¸c ®Æc tr−ng cña mèi quan hÖ ...........................................117

2.5.3. M« h×nh kh¸i niÖm d÷ liÖu ...................................................119

Ch−¬ng 3. Quy tr×nh ph©n tÝch thiÕt kÕ CSDL .................................121

3.1. Ph©n tÝch yªu cÇu ...........................................................................121

3.1.1. Môc ®Ých cña viÖc ph©n tÝch yªu cÇu ...................................121

3.1.2. Néi dung ph©n tÝch yªu cÇu..................................................123

3.1.3. C¸c kü thuËt ph©n tÝch yªu cÇu.............................................124

3.2. Ph©n tÝch d÷ liÖu vµ x©y dùng m« h×nh kh¸i niÖm d÷ liÖu .............142

3.2.1. Kh¶o s¸t thùc tÕ ....................................................................142

3.2.2. ThiÕt lËp m« h×nh d÷ liÖu .....................................................146

3.2.3. KiÓm so¸t vµ chuÈn hãa m« h×nh .........................................163

3.3. ThiÕt kÕ CSDL logic........................................................................167

3.3.1. Khu«n c¶nh thiÕt kÕ c¬ së d÷ liÖu logic ...............................168

3.3.2. C¸c kü thuËt sö dông trong thiÕt kÕ c¬ së d÷ liÖu logic........170

3.3.3. ThiÕt kÕ c¬ së d÷ liÖu logic dùa trªn “Ph−¬ng ph¸p tõ ®iÓn” ... 197 3.4. ThiÕt kÕ CSDL møc vËt lý ..............................................................207

3.4.1. ChuyÓn thiÕt kÕ d÷ liÖu møc logic sang møc vËt lý..............207

3.4.2. §¸nh gi¸ kh«ng gian l−u tr÷ ................................................207

3.4.3. BiÕn ®æi c¸c l−îc ®å kh¸i niÖm thµnh l−îc ®å vËt lý ...........209

3.5. ThiÕt kÕ an toµn b¶o mËt cho CSDL ...............................................214

3.5.1. An toµn th«ng tin vµ an toµn hÖ thèng..................................214

3.5.2. C¸c biÖn ph¸p thùc hiÖn an toµn d÷ liÖu...............................214

3.5.3. B¶o mËt th«ng tin .................................................................215

Tμi liÖu tham kh¶o .................................................................................219

Page 223: Cơ Sở Dữ Liệu Quan Hệ Và Công Nghệ Phân Tích

C¬ së d÷ liÖu quan hÖ vμ c«ng nghÖ ph©n tÝch - thiÕt kÕ

ChÞu tr¸ch nhiÖm xuÊt b¶n

nguyÔn thÞ thu hμ

Biªn tËp: ng« mü h¹nh TrÞnh thu ch©u Tr×nh bμy s¸ch: bïi ch©u loan Söa b¶n in: TrÞnh thu ch©u ThiÕt kÕ b×a: trÇn hång minh

In 700 b¶n, khæ 16 x 24 cm t¹i C«ng ty CP In vμ Th−¬ng m¹i Ngäc H−ng

Sè ®¨ng ký kÕ ho¹ch xuÊt b¶n: 237-2010/CXB/3-125/TTTT

Sè quyÕt ®Þnh xuÊt b¶n: 72/Q§-NXB TTTT ngμy 31 th¸ng 3 n¨m 2010

In xong vμ nép l−u chiÓu th¸ng 4 n¨m 2010.