Chỉång 1. TÄØNG QUAN VÃƯ CÅ SÅÍ DỈỴ LIÃÛU Bi soản män Cå såí dỉỵ liãûu Nguùn Vàn Chỉïc Trang 1 Chỉång 1: TÄØNG QUAN VÃƯ CÅ SÅÍ DỈỴ LIÃÛU 1 Chỉïc Nàng Ca Mäüt Hãû Qun Trë Cå Såí Dỉỵ Liãûu 1.1. Cạc Khại Niãûm Vãư Cå Såí Dỉỵ Liãûu Âãø dãù dng cho viãûc gii thiïch cạc khại niãûm vãư Cå Såí Dỉỵ Liãûu, trỉåïc hãút ta xem xẹt hãû thäúng bạn vẹ may bay bàòng mạy tênh. Dỉỵ liãûu lỉu trỉỵ trong mạy tênh bao gäưm cạc thäng tin vãư hnh khạch, chuún bay, âỉåìng bay Mi thäng tin vãư mäúi quan hãû ny âỉåüc biãøu diãùn trong mạy tênh thäng qua viãûc âàût chäø ca khạch hng. Váûy lm thãú no âãø biãøu diãùn âỉåüc dỉỵ liãûu âọ v âãø âm bo cho khạch hng âi âụng chuún bay. Táûp håüp dỉỵ liãûu trãn âỉåüc lỉu trỉỵ trong mạy tênh theo mäüt quy âënh no âọ v âỉåüc gi l Cå Såí Dỉỵ Liãûu( Database - CSDL) 1.2. Hãû qun trë Cå Såí Dỉỵ Liãûu 1.2.1 . Âënh nghéa : Pháưn Chỉång trçnh cọ thãø xỉí l, thay âäøi dỉỵ liãûu gi l hãû qun trë Cå Såí Dỉỵ Liãûu (Database management System - viãút tàõt DBMS) 1.2.2 Nhỉỵng kh nàng ca Hãû qun trë Cå Såí Dỉỵ Liãûu Cọ hai âàûc tênh âãø phán biãût DBMS våïi cạc hãû thäúng láûp trçnh khạc, âọ l: 1. Kh nàng qun l nhỉỵng dỉỵ liãûu cäú âënh 2. Kh nàng truy xút cọ hiãûu qu mäüt khäúi lỉåüng dỉỵ liãûu låïn Âiãøm (1) khàón âënh ràòng cọ mäüt CSDL täưn tải thỉåìng xun ; näüi dung ca Cå Såí Dỉỵ Liãûu ny l nhỉỵng dỉỵ liãûu âỉåüc DBMS truy xút v qun l. Âiãøm (2) phán biãût mäüt DBMS våïi mäüt hãû thäúng táûp tin cng qun l dỉỵ liãûu nhỉng nọi chung khäng cho phẹp truy xút nhanh chọng cạc thnh pháưn ty ca dỉỵ liãûu . Nhỉỵng kh nàng ca mäüt DBMS s ráút cáưn thiãút khi säú lỉåüng dỉỵ liãûu ráút låïn. Hai âàûc tênh trãn l hai âàûc tênh cå bn ca mäüt DBMS, ngoi ra mäüt DBMS thỉåìng cọ cạc kh nàng sau: - Häù tråü êt nháút mäüt mä hçnh dỉỵ liãûu (Data model) nhåì âọ ngỉåìi sỉí dủng cọ thãø xem âỉåüc dỉỵ liãûu. - Häù tråü mäüt säú ngän ngỉỵ báûc cao cho phẹp ngỉåìi sỉí dủng âënh nghéa cạc cáúu trục dỉỵ liãûu, truy xút v thao tạc dỉỵ liãûu . - Qun l giao dëch, nghéa l cho phẹp nhiãưu ngỉåìi sỉí dủng truy xút âäưng thåìi v chênh xạc âãún mäüt Cå Såí Dỉỵ Liãûu . - Âiãưu khiãøn cạc quạ trçnh truy xút, l kh nàng giåïi hản cạc quạ trçnh truy xút dỉỵ liãûu ca nhỉỵng ngỉåìi khäng âỉåüc phẹp , v kh nàng kiãøm tra âäü tin cáûy ca dỉỵ liãûu Chỉång 1. TÄØNG QUAN VÃƯ CÅ SÅÍ DỈỴ LIÃÛU Bi soản män Cå såí dỉỵ liãûu Nguùn Vàn Chỉïc Trang 2 - Cạc âàûc tênh tỉû thêch ỉïng, l kh nàng tỉû phủc häưi lải dỉỵ liãûu do sỉû cäú ca hãû thäúng m khäng lm máút dỉỵ liãûu 1.3 Cạc mä hçnh dỉỵ liãûu Mäüt DBMS cáưn phi cung cáúp êt nháút mäüt mä hçnh trỉìu tỉåüng qua âọ ngỉåìi sỉí dủng cọ thãø tháúy âỉåüc dỉỵ liãûu khäng phi bàòng cạc bit “thä” m bàòng cạc dảng dãù hiãøu, dãù nháûn biãút hån. Trong thỉûc tãú cạc Cå Såí Dỉỵ Liãûu cọ thãø cọ mäüt vi mỉïc trỉìu tỉåüng , trong âọ mỉïc tháúp nháút l táûp håüp cạc file dỉỵ liãûu ( Mỉïc váût l) Vê dủ: Xẹt mäüt täøng cäng ty cọ nhiãưu cäng ty con v häư så vãư cạc nhán viãn ca täøng cäng ty cọ thãø âỉåüc lỉu trỉỵ trong mäüt file dỉỵ liãûu gäưm cạc trỉåìng MNV( m nhán viãn), HOTEN, LUONG_NV, ÂIACHI âãø âån gin ta gi thiãút cáúu trục bn ghi gäưm 2 trỉåìng sau: TEN_NV: h tãn nhán viãn NGUOI_QL: H tãn giạm âäúc cäng ty nåi nhán viãn lm viãûc. Khi âọ cáúu trục bn ghi nhỉ sau: Record TEN_NV: char[30]; NGUOI_QL: char[30]; end; Khi âọ file dỉỵ liãûu l táûp cạc bn ghi v mäùi bn ghi chỉïa thäng tin vãư mäüt nhán viãn ca cäng ty. Trong nhiãưu mä hçnh Cå Såí Dỉỵ Liãûu ngỉåìi ta sỉí dủng cạc quan hãû thay cho cạc file Quan hãû : NHAN_VIEN(TEN_NV,NGUOI_QL) Ta cáưn phán biãût giỉỵa file v quan hãû Trong file cạc bn ghi khäng nháút thiãút phi phán biãût Trong quan hãû, cạc bn ghi(bäü) cáưn phi phán biãût nhau. 1.4 Hiãûu qu truy cáûp dỉỵ liãûu Cạc hãû âiãưu hnh âãưu cọ kh nàng täø chỉïc v lỉu trỉỵ cạc táûp tin vç váûy viãûc lỉu trỉỵ cạc táûp tin dỉỵ liãûu âäúi våïi DBMS l khäng âạng chụ . Hiãûu qu ca cạc DBMS trong viãûc xỉí l trãn cạc táûp tin l täø chỉïc cạc táûp tin phủ hồûc cạc cäng củ häù tråü âãø truy cáûp dỉỵ liãûu nhanh chọng, këp thåìi . Chàón hản cạc file INDEX, hồûc cạc hm HASH. 1.5 Qun l giao dëch Ngy nay do sỉû phạt triãøn ca mảng mạy tênh m cạc Cå Såí Dỉỵ Liãûu låïn cọ thãø âỉåüc sỉí dủng båíi nhiãưu ngỉåìi trãn cạc mạy tênh khạc nhau vç váûy cạc DBMS cáưn phi cung cáúp mäüt kh nàng qun l sỉû truy cáûp dỉỵ liãûu ca nhiãưu ngỉåìi sỉí dủng. Chàón hản cạc dỉỵ liãûu vãư ti khon cụa ngán hng âỉåüc sỉí dủng båíi hng vản khạch hng trãn cạc mạy tênh khạc nhau hồûc trãn cạc mạy âäøi tiãưn tỉû âäüng; Cå Såí Dỉỵ Liãûu phủc vủ cho viãûc âàût chäø cho mäüt hng hng khäng âỉåüc sỉí dủng båíi hng ngn âải l ca hng hng khäng âọ trãn khàõp thãú giåïi. Viãûc truy cáûp âäưng thåìi thỉåìng xy ra hiãûn tỉåüng xung âäüt Chỉång 1. TÄØNG QUAN VÃƯ CÅ SÅÍ DỈỴ LIÃÛU Bi soản män Cå såí dỉỵ liãûu Nguùn Vàn Chỉïc Trang 3 giao dëch giỉỵa cạc khạch hng trãn cng mäüt hảng mủc dỉỵ liãûu , vç váûy DBMS cáưn phi cung cáúp mäüt kh nàng khọa dỉỵ liãûu (clock data) khi cọ ngỉåìi sỉí dủng truy cáûp âãún hảng mủc dỉỵ liãûu âọ. 1.6 An ton dỉỵ liãûu Mäüt DBMS cáưn phi cọ kh nàng phủc häưi lải dỉỵ liãûu khi cọ sỉû hng học xy ra, âäưng thåìi v ráút quan trng l bo vãû sỉû truy cáûp ca cạc ngỉåìi sỉí dủng khäng âỉåüc phẹp . Âãø thỉûc hiãûn cäng viãûc ny cạc DBMS cho phẹp tảo ra cạc khung nhçn (View) m ngỉåìi sỉí dủng chè âỉåüc phẹp quan sạt dỉỵ liãûu trãn cạc view. Chàón hản chụng ta cọ mäüt file dỉỵ liãûu l NHAN_VIEN gäưm cạc trỉåìng TEN ( H tãn nhán viãn) DIA_CHI(âëa chè nhán viãn) TEN_CTY( tãn cäng ty) LUONG(lỉång nhán viãn) nãúu sỉí dủng mä hçnh Quan hãû ta cọ Quan hãû sau: NHAN_VIEN(TEN, DIA_CHI, TEN_CTY,LUONG) Âãø mi ngỉåìi cọ thãø truy cáûp vo file dỉỵ liãûu ny nhỉng khäng âỉåüc biãút lỉång ca nhán viãn. Trong ngän ngỉỵ SQL khung nhçn âỉåüc tảo ra nhỉ sau: CREAT VIEW L_NHAN_VIEN SELECT TEN, DIA_CHI,TEN_CTY FROM NHAN_VIEN; Khi âọ khung nhçn âỉåüc tảo ra nhỉ mäüt quan hãû våïi tãn L_NHAN_VIEN(TEN, DIA_CHI, TEN_CTY). Khung nhçn ny khäng täưn tải váût l nhỉ táûp tin , nhỉng cọ thãø váún tin nọ giäúng nhỉ táûp tin. 2. Kiãún trục mäüt Hãû qun trë Cå Såí Dỉỵ Liãûu Mäüt Hãû qun trë Cå Såí Dỉỵ Liãûu âỉåüc mä t båíi 3 mỉïc trỉìu tỉåüng sau Âỉåüc viãút bàòng ngän ngỉỵ âënh nghéa dỉỵ liãûu Cå Såí Dỉỵ Liãûu khại niãûm CSDL váût l Khung nhçn 1 Khung nhçn 2 Khung nhçn n . . . Nhọm UESR 1 Nhọm UESR 2 Nhọm UESR n . . . Âỉåüc viãút bàòng ngän ngỉỵ âënh nghéa dỉỵ liãûu lỉåüc âäư con Âỉåüc ci âàût trãn thiãút bë váût l Chỉång 1. TÄØNG QUAN VÃƯ CÅ SÅÍ DỈỴ LIÃÛU Bi soản män Cå såí dỉỵ liãûu Nguùn Vàn Chỉïc Trang 4 2.1 Mỉïc Cå Såí Dỉỵ Liãûu váût l( physical level) L mäüt táûp cạc táûp tin (file) v cạc file chè mủc (Index) hồûc cạc cáúu trục lỉu trỉỵ khạc dng âãø truy xút chụng mäüt cạch cọ hiãûu qu , gi l Cå Såí Dỉỵ Liãûu váût l. Cå Såí Dỉỵ Liãûu váût l täưn tải thỉåìng xun trong thiãút bë lỉu trỉỵ nhỉ âéa tỉì. 2.2 Mỉïc Cå Såí Dỉỵ Liãûu khại niãûm (Concept level ) Cå Såí Dỉỵ Liãûu khại niãûm l sỉû trỉìu tỉåüng họa ca thãú giåïi thỉûc khi nọ dỉåüc gàõn våïi ngỉåìi sỉí dủng Cå Såí Dỉỵ Liãûu. Cạc DBMS cung cáúp ngän ngỉỵ âëng nghéa dỉỵ liãûu (data definition language DDL), âãø mä t lỉåüc âäư khại niãûm (conceptual scheme)v nọ s âỉåüc ci âàût bàòng lỉåüc âäư váût l (physical scheme). DDL cho chụng ta mä t Cå Såí Dỉỵ Liãûu khại niãûm nhåì cạc thût ngỉỵ ca “Mä hçnh dỉỵ liãûu “ , chàón hản nhỉ trong mä hçnh quan hãû dỉỵ liãûu âỉåüc trçnh by qua cạc bng våïi cạc cäüt l cạc thüc tênh cạc hng l cạc “bäü” tỉång tỉû nhỉ cạc máùu tin. 2.3 Khung nhçn(VIEW) Khung nhçn(view) hay lỉåüc âäư con (Subscheme)l mäüt pháưn ca Cå Såí Dỉỵ Liãûu khại niãûm hồûc l sỉû trỉìu tỉåüng họa mäüt pháưn Cå Såí Dỉỵ Liãûu khại niãûm . háưu hãút cạc DBMS âãưu cung cáúp phỉång tiãûn âãø khai bạo khung nhçn , âỉåüc gi l ngän ngỉỵ âënh nghéa dỉỵ liãûu lỉåüc âäư con( subscheme data definition language) v cạc phỉång tiãûn âãø thao tạc v váún tin trãn khung nhçn gi l ngän ngỉỵ thao tạc dỉỵ liãûu lỉåüc âäư con (subscheme data manipulation language) Thê dủ1 Chụng ta thỉí phán têch cạc khạc biãût giỉỵa cạc mỉïc váût l, khêa niãûm, khung nhçn nhåì vo tênh tỉång tỉû ca chụng våïi cạc ngän ngỉỵ láûp trçnh. Củ thãø ta s nọi vãư mng: - ÅÍ mỉïc khại niãûm mng cọ thãø khia bạo nhỉ sau: Integer array A[1 n,1 m] Cn åí mỉïc váût l, mng A âỉåüc lỉu trỉỵ trong mäüt vng liãn tủc bàõt âáưu tỉì âëa chè a 0 theo thỉï tỉû hãút cäüt âãún dng. Pháưn tỉí A[i,j] s åí vë trê a 0 +4(m(i-j)+j-1) ÅÍ mỉïc khung nhçn, ta cọ thãø tảo ra nhiãưu khung nhçn ty . Chàón hản f(i)= ∑ = m 1j ]j,i[A cho biãút täøng cạc pháưn tỉí trãn dng thỉï i. Lỉåüc âäư v thãø hiãûn Ngoi viãûc phán chia mỉïc trỉìu tỉåüng nhỉ trong pháưn (2) chụng ta cn cọ mäüt cạch hiãøu khạc vãư Cå Såí Dỉỵ Liãûu . Khi thiãút kãú chụng ta quan tám âãún nhỉỵng hoảch âënh (plan) trãn Cå Såí Dỉỵ Liãûu ; nhỉng khi sỉí dủng chụng ta lải quan tám âãún nhỉỵng dỉỵ liãûu thỉûc sỉû täưn tải trong Cå Såí Dỉỵ Liãûu . Cáưn phi hiãøu ràòng dỉỵ liãûu trong Cå Såí Dỉỵ Liãûu thỉng xun thay âäøi , trong khi cạc plan váùn nhỉ c. Näüi dung hiãûn thåìi ca Cå Såí Dỉỵ Liãûu gi l thãø hiãûn (instance) ca Cå Såí Dỉỵ Liãûu .Thût ngỉỵ Lỉåüc âäư (Scheme) âỉåüc dng âãø nọi âãún cạc hoảch âënh ny vç váûy khi nọi âãún lỉåüc âäư khại niãûm l nọi vãư hoảch âënh cho Cå Såí Dỉỵ Liãûu khại niãûm , v chụng ta gi hoảch âënh Cå Såí Dỉỵ Liãûu váût l l lỉåüc âäư váût l. Thê dủ 2 Chổồng 1. TỉNG QUAN Vệ C S Dặẻ LIU Baỡi soaỷn mọn Cồ sồớ dổợ lióỷu Nguyóựn Vn Chổùc Trang 5 Chuùng ta tióỳp tuỷc vồùi maớng trong vờ duỷ 1. Mọ taớ maớng vaỡ haỡm õổồỹc õổa ra trong thờ duỷ õoù thổỷc sổỷ laỡ thọng tin kióứu lổồỹc õọử. 1. Lổồỹc õọử vỏỷt lyù laỡ móỷnh õóử: Phỏửn tổớ A[i,j] seợ ồớ vở trờ a 0 +4(m(i-j)+j-1), khún õởnh rũng maớng A õổồỹc lổu taỷi vở trờ bừt õỏửu laỡ a 0 vaỡ phỏửn tổớ a[i,j] õổồỹc lổu ồớ vở trờ a 0 +4(m(i-j)+j-1) 2. Lổồỹc õọử khaùi nióỷm laỡ khai baùo Integer array A[1 n,1 m]; A laỡ mọỹt maớng sọỳ nguyón vồùi n haỡng vaỡ m cọỹt. 3. Lổồỹc õọử con laỡ õởnh nghộa cuớa haỡm f, nghộa laỡ f(i)= = m 1j ]j,i[A óứ õổa ra mọỹt thờ duỷ vóử mọỹt thóứ hióỷn cuớa lổồỹc õọử khaùi nióỷm naỡy , chuùng ta coù thóứ cho n=m=3 khi õoù A laỡ mọỹt ma phổồng: 8 1 6 3 5 7 4 9 2 Khi õoù thóứ hióỷn vỏỷt lyù (Physical instance)seợ laỡ 9 word khồới õỏửu tổỡ vở trờ a 0 theo thổù tổỷ chổùa 8 1 6 3 5 7 4 9 2. Cuọỳi cuỡng thóứ hióỷn khung nhỗn view laỡ haỡm f(1)=f(2)=f(3)=15 Tờnh ọỹc lỏỷp dổợ lióỷu . Sồ õọử vóử caùc mổùc trổỡu tổồỹng trong phỏửn (2) chố roợ õi tổỡ khung nhỗn qua Cồ Sồớ Dổợ Lióỷu khaùi nióỷm õóỳn Cồ Sồớ Dổợ Lióỷu vỏỷt lyù õổa ra hai mổùc õọỹc lỏỷp dổợ lióỷu (data independence). - ọỹc lỏỷp dổợ lióỷu vỏỷt lyù (physcal data independence) : Chuùng ta coù thóứ thay õọứi lổồỹc õọử vỏỷt lyù maỡ khọng laỡm aớnh hổồớng õóỳn lổồỹc õọử khaùi nióỷm hay phaới õởnh nghộa laỷi caùc lổồỹc õọử con. Noù khún õởnh rũng vióỷc sổớa õọứi vóử tọứ chổùc vóử Cồ Sồớ Dổợ Lióỷu vỏỷt lyù coù thóứ aớnh hổồớng õóỳn tờnh hióỷu cuớa caùc chổồng trỗnh ổùng duỷng , nhổng khọng bao giồỡ phaới vióỳt laỷi nhổợng chổồng trỗnh naỡy. - ọỹc lỏỷp dổợ lióỷu logic (logical data independence) õổồỹc õổa ra bồới mọỳi quan hóỷ giổợa khung nhỗn vaỡ Cồ Sồớ Dổợ Lióỷu khaùi nióỷm. Khi sổớ duỷng Cồ Sồớ Dổợ Lióỷu cuợng coù thóứ cỏửn phaới sổớa õọứi lổồỹc õọử khaùi nióỷm, coù nhióửu sổớa õọứi lổồỹc õọử khaùi nióỷm khọng laỡm aớnh hổồớng õóỳn caùc lổồỹc õọử con hióỷn coù, vaỡ cuợng coù mọỹt sọỳ sổớa õọứi khaùc seợ cỏửn phaới õởnh nghộa laỷi caùc aùnh xaỷ tổỡ lổồỹc õọử con õóỳn lổồỹc õọử khaùi nióỷm . trổồỡng hồỹp naỡy khọng cỏửn thay õọứi chổồng trỗnh ổùng duỷng . Mọỹt laoỹi thay õọứi duy nhỏỳt trong lổồỹc õọử khaùi nióỷm buọỹc phaới thay õọứi lổồỹc õọử con laỡvióỷc xoùa caùc thọng Chổồng 1. TỉNG QUAN Vệ C S Dặẻ LIU Baỡi soaỷn mọn Cồ sồớ dổợ lióỷu Nguyóựn Vn Chổùc Trang 6 tin tổồng ổùng vồùi caùc thọng tin õang tọửn taỷi trong lổồỹc õọử con . Nhổợng thay õọứi naỡy õoỡi hoới phaới thay õọứi chổồng trỗnh ổùng duỷng. 3. Caùc ngọn ngổợ cuớa Cồ Sồớ Dổợ Lióỷu Trong caùc ngọn ngổợ lỏỷp trỗnh caùc chố thở mọ taớ vaỡ caùc chố thở thổỷc hióỷn laỡ 2 bọỹ phỏỷn cuớa mọỹt ngọn ngổợ, trong caùc Hóỷ quaớn trở Cồ Sồớ Dổợ Lióỷu hai chổùc nng mọ taớ vaỡ xổớ lyù noùi chung õổồỹc chia thaỡnh 2 ngọn ngổợ khaùc nhau. 1. Ngọn ngổợ õởnh nghộa dổợ lióỷu(data definition language - DDL) ỏy khọng phaới laỡ ngọn ngổợ thuớ tuỷc maỡ chố laỡ mọỹt hóỷ thọỳng kyù hióỷu õóứ mọ taớ caùc loaỷi õọỳi tổồỹng vaỡ quan hóỷ giổợa chuùng . Vờ duỷ 3 Chuùng ta coù thóứ õởnh nghộa mọỹt quan hóỷ mọ taớ mọỹt chuyóỳn bay thổỷc hióỷn bồới mọỹt haợng haỡng khọng vồùi õởnh nghộa dổợ lióỷu nhổ sau: CREAT TABLE FLIGHT(NUMBER: INT, DATE CHAR(6), SEAT:INT, FROM : CHAR(3), TO : CHAR(3)) oaỷn maợ trón laỡ mọỹt thờ duỷ vóử ngọn ngổợ õởnh nghộa dổợ lióỷu SQL , noù mọ taớ quan hóỷ vaỡ caùc thuọỹc tờnh cuỡng vồùi vióỷc caỡi õỷt vỏỷt lyù cuớa chuùng laỡ caùc sọỳ nguyón vaỡ chuọứi coù õọỹ daỡi cọỳ õởnh. 2. Ngọn ngổợ thao taùc dổợ lióỷu Caùc thao taùc trón Cồ Sồớ Dổợ Lióỷu õọửi hoới phaới coù mọỹt ngọn ngổợ õỷc bióỷt goỹi laỡ ngọn ngổợ thao taùc dổợ lióỷu (data manipulation language- DML) hay coỡn goỹi laỡ ngọn ngổợ vỏỳn tin (Query language). Vờ duỷ 4 Vồùi Cồ Sồớ Dổợ Lióỷu caùc chuyóỳn bay FLIGHT õổồỹc õởnh nghộa bũng ngọn ngổợ SQL trong vờ duỷ 3, trong ngọn ngổợ SQL ta coù thóứ thổỷc hióỷn caùc thao taùc sau: a. Giaớm 4 chọứ ngọửi coỡn trọỳng trón chuyóỳn bay 123 ngaỡy 31 thaùng taùm UPDATE FLIGHT SET SEAT=SEAT-4 WHERE NUMBER=123 AND DATE=AUG 31 b. nhỏỷp vaỡo chuyóỳn bay 456 vồùi 100 chọứ ngọửi tổỡ haỡ nọỹi õi õaỡ nụng ngaỡy 21 thaùng taùm INSERT INTO FLIGHT VALUE(456, AUG 21, HANOI, DANANG) c. Tỗm xem trong Cồ Sồớ Dổợ Lióỷu coù bao nhióu chọứ ngọửi coỡn trọỳng trong chuyóỳn bay sọỳ 999 ngaỡy 24 thaùng 7 SELECT SEAT FROM FLIGHT WHERE NUMBER=999AND DATE=JUL 24 Chỉång 1. TÄØNG QUAN VÃƯ CÅ SÅÍ DỈỴ LIÃÛU Bi soản män Cå såí dỉỵ liãûu Nguùn Vàn Chỉïc Trang 7 3. Ngän ngỉỵ ch Cạc chè thë ca cạc ngän ngỉỵ thao tạc dỉỵ liãûu thỉåìng l âån gin hay nọi cạch khạc l thỉûc hiãûn nhỉỵng phẹp xỉí l âån gin, nhỉng trong trong quạ trçnh thỉûc hiãûn cäng viãûc trãn Cå Såí Dỉỵ Liãûu cọ thãø phi xỉí l cạc cäng viãûc phỉïc tảp hån nhỉ soản tho vàn bn bạo cạo , in áún vç váûy cạc Hãû qun trë Cå Såí Dỉỵ Liãûu cáưn phi cọ sỉû häø tråü ca cạc ngän ngỉỵ thûn tiãûn cho viãûc láûp trçnh nhỉ C hay COBOL gi l cạc ngän ngỉỵ ch( host language). Cạc lãûnh ca DMLb âỉåüc nhụng vo ngän ngỉỵ ch theo hai cạch a. Cạc lãûnh ca DML âỉåüc kêch hoảt bàòng viãûc gi cạc th tủc âỉåüc cung cáúp båíi Hãû qun trë Cå Såí Dỉỵ Liãûu b. Cạc lãûnh ny l cạc chè thë trong ngän ngỉỵ ch âỉåüc måí räüng Chỉång 2 CẠC MÄ HÇNH DỈỴ LIÃÛU CHO CẠC HÃÛ QUN TRË CÅ SÅÍ DỈỴ LIÃÛU Bi soản Cå såí dỉỵ liãûu Trang 1 CHỈÅNG 2 CẠC MÄ HÇNH DỈỴ LIÃÛU CHO CẠC HÃÛ CÅ SÅÍ DỈỴ LIÃÛU 2.1 MÄ HÇNH DỈỴ LIÃÛU Âënh nghéa: Mä hçnh dỉỵ liãûu l mäüt hãû hçnh thỉïc toạn hc gäưm hai pháưn: 1. Mäüt hãû thäúng k hiãûu âãø mä t dỉỵ liãûu . 2. Táûp håüp cạc phẹp toạn thao tạc trãn dỉỵ liãûu âo.ï Trong chỉång ny ta s tçm hiãøu cạc mä hçnh âỉåüc sỉí dủng räüng ri hiãûn nay l Mä hçnh THỈÛC THÃØ - QUAN HÃÛ ,mä hçnh QUAN HÃ, mä hçnh MẢNG v mä hçnh PHÁN CÁÚP 2.2 MÄ HÇNH THỈÛC THÃØ -QUAN HÃÛ Mủc âêch ca mä hçnh thỉûc thãø -quan hãû (Entity - relationship model) l cho phẹp mä t lỉåüc âäư khại niãûm ca thãú giåïi thỉûc(xê nghiãûp, cå quan ) m khäng cáưn chụ âãún tênh hiãûu qu hồûc thiãút kãú Cå Såí Dỉỵ Liãûu váût l. Âáy l mä hçnh trung gian âãø chuøn âäøi qua cạc mä hçnh dỉỵ liãûu khạc nhỉ mä hçnh quan hãû , mä hçnh mảng, mä hçnh phán cáúp Sau âáy l cạc khại niãûm sỉí dủng trong mä hçnh ny: 2.2.1THỈÛC THÃØ Thût ngỉỵ “thỉûc thãø ”(entity)khäng âỉåüc âënh nghéa mäüt cạch hçnh thỉïc , cng giäúng nhỉ cạc thût ngỉỵ “Âiãøm” v “âỉåìng” trong hçnh hc, Chụng ta cọ thãø hiãøu ràòng thỉûc thãø l mäüt sỉû váût hay mäüt cại gç âọ täưn tải v phán biãût âỉåüc. Thê dủ mäùi con ngỉåìi l mäüt thỉûc thãø , mäùi chiãúc xe mạy cng l mäüt thỉûc thãø , chụng ta cng cọ thãø nọi mäùi con kiãún l mäüt thỉûc thãø nãúu chụng ta cọ cạch phán biãût âỉåüc con ny våïi con khạc( chàón hản ta âạnh mäüt säú cỉûc nh trãn mäùi con kiãún). Khại niãûm vãư “tênh phán biãût âỉåüc” âäưng nháút våïi khại niãûm “ nháûn dảng âäúi tỉåüng” , vç l do ny m mä hçnh thỉûc thãø -quan hã û thỉåìng âỉåüc xem nhỉ l mäüt mä hçnh hỉåïng âäúi tỉåüng. 2.2.2TÁÛP THỈÛC THÃØ Mäüt nhọm bao gäưm cạc thỉûc thãø “tỉång tỉû” tảo ra mäüt táûp thỉûc thãø (entity set) vê dủ 1. Táút c mi ngỉåìi l mäüt táûp thỉûc thãø 2. Táút c cạc Giạo viãn thüc ÂHKT&QTKD l mäüt táûp thỉûc thãø 3. táút c cạc sinh viãn khoa TC_THÄÚNG KÃ cng l mäüt táûp thỉûc thãø Âãø xạc âënh táûp thỉûc thãø cáưn phi xạc âënh mäüt táûp hỉỵu hản cạc tênh cháút khạc nhau ca cạc thỉûc thãø trong táûp thỉûc thãø âọ. Mäüt trong nhỉỵng bỉåïc then chäút trong viãûc lỉûa chn cạc mä hçnh Cå Såí Dỉỵ Liãûu chỉïa thäng tin phn ạnh vãư mäüt hãû thäúng no âọ l viãûc chn cạc táûp thỉûc thãø trong hãû thäúng âọ. Chỉång 2 CẠC MÄ HÇNH DỈỴ LIÃÛU CHO CẠC HÃÛ QUN TRË CÅ SÅÍ DỈỴ LIÃÛU Bi soản Cå såí dỉỵ liãûu Trang 2 2.2.3 THÜC TÊNH v KHỌA Mäüt táûp thỉûc thãø cọ mäüt táûp cạc tênh cháút âàûc trỉng gi l táûp thüc tênh(atribute), mäùi thỉûc thãø âỉåüc xạc dënh båíi mäüt bäü dỉỵ liãûu ca cạc thüc tênh thãø hiãûn thäng tin vãư thüc tênh âọ. ỈÏng våïi mäùi thüc tênh cọ mäüt táûp giạ trë m thüc tênh âọ cọ thãø nháûn gi l miãưn(domain) giạ trë ca thüc tênh âọ. Vê dủ miãưn giạ trë ca thüc tênh Tøi l (0,120), ca thüc tênh Tãn l cạc chøi k tỉû cọ âäü di täúi âa 30 k tỉû , hay domain ca thüc tênh Giåïi tênh l { Nam, Nỉỵ}, Viãûc chn cạc thüc tênh l bỉåïc quan trng trong thiãút kãú så âäư Cå Såí Dỉỵ Liãûu. Mäüt thüc tênh hay 1 táûp täúi thiãøu cạc thüc tênh m giạ trë ca nọ nháûn dảng 1 thỉûc thãø mäüt cạch duy nháút trong táûp thỉûc thãø gi l khọa (key) ca táûp thỉûc thãø . vê dủ 5 Xẹt táûp thỉûc thãø Sinh viãn ca khoa TC_THÄÚNG KÃ våïi cạc thüc tênh Htãn, ngy sinh, Låïp, Âchè ta cọ thãø chn Htãn lm khọa nãúu xạc âënh âỉåüc ràòng trong khoa khäng cọ 2 ngỉåìi no trng h v tãn nhau, ngỉåüc lải ta cọ thãø ch thãm cạc thüc tênh khạc âãø phán biãût nhỉ ngy sinh âãø lm khạo cho táûp thỉûc thãø sinh viãn . 2.2.4.CẠC MÄÚI QUAN HÃÛ Cho cạc táûp thỉûc thãø E 1 , E 2 , , E k . Mäüt mäúi quan hãû R giỉỵa cạc táûp thỉûc thãø l mäüt danh sạch cọ thỉï tỉû giỉỵa cạc táûp thỉûc thãø âọ, Danh sạch cạc táûp thỉûc thãø khäng nháút thiãút phi phán biãût. Cọ nghéa l mäüt táûp thỉûc thãø cọ thãø xút hiãûn nhiãưu hån mäüt láưn trong Quan hãû. R=<F 1 , F 2 , ,F n > trong âọ F i ∈{ E 1 , E 2 , , E k }. Mäùi hiãûn hnh ca mäúi quan hãû R l mäüt táûp cạc bäü <e 1 , e 2 , ,e n > trong âọ e i ∈F i gi l n_bäü. Cho 2 táûp thỉûc thãø E 1 ,E 2 , R l mäúi quan hãû giỉỵa E 1 v E 2 . ta cọ cạc âënh nghéa sau: 1.Quan hãû ISA (is a) Nãúu mäùi thỉûc thãø ca E 1 cng l thỉûc thãø ca E 2 thç quan hãû R gi l mäúi quan hãû ISA E 1 ISA E 2 âc l E 1 l “mäüt” E 2 . vê dủ: E 2 l táûp thỉûc thãø cạc sinh viãn khoa THÄÚNG KÃ-TIN HC E 1 l táûp thỉûc thãø cạc sinh viãn khoa THÄÚNG KÃ-TIN HC cọ hc bäøng nàm hc 98-99 khi âọ ta cọ E 1 ISA E 2. Mủc âêch ca mäúi quan hãû ny l cạc thỉûc thãø ca táûp thỉûc thãø E 1 thỉìa hỉåíng cạc thüc tênh ca E 2 ngoi ra E 1 cn cọ nhỉỵng thüc tênh riãng ca mçnh. Vê dủ trong cäng ty cọ táûp thỉûc thãø NHÁN_VIÃN( MNV, TÃNNV, TØI, ÂËA_CHÈ,LỈÅNG). Nãúu cäng ty thnh láûp mäüt âäüi bọng chuưn thç täút nháút nãn thiãút kãú mäüt táûp thỉûc thãø PLAY(NÀM_ táûp thỉûc thãø PLAY cọ mäúi quan hãû ISA våïi táûp thỉûc thãø NHÁN_VIÃN. Nhỉ váûy mäùi thỉûc Chỉång 2 CẠC MÄ HÇNH DỈỴ LIÃÛU CHO CẠC HÃÛ QUN TRË CÅ SÅÍ DỈỴ LIÃÛU Bi soản Cå såí dỉỵ liãûu Trang 3 thãø trong THI_ÂÁÚU, CHIÃƯU_CAO) v táûp thỉûc thãø PLAY cng cọ táút c cạc thüc tênh ca táûp thỉûc thãø NHÁN_VIÃN nhỉng chè cọ nhỉỵng thỉûc thãø trong táûp thỉûc thãø PLAY måïi cọ cạc thüc tênh nhỉ NÀM_THI_ÂÁÚU, CHIÃƯU_CAO. 2. Mäúi quan hãû mäüt_mäüt(one_one relationship) Nãúu mäùi thỉûc thãø ca E1 cọ quan hãû våïi âụng 1 thỉûc thãø ca E2 v ngỉåüc lải, thç mäúi quan hãû ny gi l mäúi quan hãû mäüt_mäüt giỉỵa E1 v E2. Vê dủ Mäúi quan hãû QUN_L giỉỵa hai táûp thỉûc thã LNH_ÂẢO v táûp thỉûc thãø PHNG_BAN l mäúi quan hãû Mäüt_mäüt nãúu gi thiãút ràòng mäüt lnh âảo chè qun l mäüt phng v mäüt phng chè cọ mäüt ngỉåìi qun l. 3. Mäúi quan hãû nhiãưu_mäüt(many-one relationship) Nãúu mäùi thỉûc thãø trong E 1 cọ quan hãû våïi nhiãưu nháút 1 thỉûc thãø trong E2, v mäùi thỉûc thãø trong E2 cọ thãø khäng cọ quan hãû våïi thỉûc thãø no hồûc cọ quan hãû våïi 1 hồûc nhiãưu thỉûc thãø trong E1. Mäúi quan hãû ny âỉåüc gi l mäúi quan hãû nhiãưu_mäüt tỉì E1 vo E2. Vê dủ: mäúi quan hãû giỉỵa hai táûp thỉûc thãø NHÁN_VIÃN v PHNG_BAN l mäúi quan hãû nhiãưu_mäüt tỉì NHÁN_VIÃN vo PHONG_BAN, cọ nghéa l mäùi nhán viãn chè lm viãûc trong mäüt phng v mäùi phng cọ thãø cọ nhiãưu nhán viãn lm viãûc, cng cọ trỉåìng håüp mäüt vi nhán viãn khäng thüc mäüt phng no c nhỉ giạm âäúc. Khại niãûm mäúi quan hãû nhiãưu_mäüt âỉåüc täøng quạt họa cho ba táûp thỉûc thãø tråí lãn nhỉ sau: Nãúu cọ mäüt mäúi quan hãû R giỉỵa cạc táûp thỉûc thãø E 1 ,E 2 , ,E k v våïi cạc thỉûc thãø trong táút c cạc táûp thỉûc thãø trỉì Ei chè cọ nhiãưu nháút mäüt thỉûc thãø ca Ei quan hãû våïi chụng , thç ta gi R l mäúi quan hãû nhiãưu_mäüt tỉì E 1 , ,E i-1 , ,E k vo E i . 4. mäúi quan hãû nhiãưu_nhiãưu( many_many relationship) Trong mäúi quan hãû ny khäng cọ mäüt hản chãú trãn táûp cạc k_bäü ca cạc thỉûc thãø khi xút hiãûn trong cạc quan hãû . thê dủ mäúi quan hãû CHA_MẺ_CA ca táûp thỉûc thãø NGỈÅÌI l mäúi quan hãû nhiãưu nhiãưu, vç mäùi âỉïa tr cọ thãø tçm âỉåüc cha mẻ cho chụng v mäüt ngỉåìi cọ thãø cọ säú lỉåüng con ty . vê dủ: E 1 : táûp cạc sinh viãn ca khoa TC_THÄÚNG KÃ E 2 táûp håüp cạc män thãø thao R l quan hãû thêch thãø thao l mäúi quan hãû nhiãưu_nhiãưu Trong thỉûc tãú cạc hãû qun trë cå såí dỉỵ liãûu khäng häù tråü mäúi quan hãû ny, âãø biãøu diãùn mäúi quan hãû ny trong thiãút kã thäng thỉåìng ngỉåìi ta tạch thnh cạc mäúi quan hãû nhiãưu _mäüt 2.2.5 Så âäư mäúi quan-hãû thỉûc thãø Âãø mä t thäng tin vãư cạc táûp thỉûc thãø v cạc mäúi quan hãû giỉỵa chụng ngỉåìi ta sỉí dủng så âäư gi l så âäư mäúi quan hãû thỉûc thãø. Trong så âäư ny: [...]... NGA 3 B 1 A Nguût 2.5 Mä hçnh phán cáúp Mä hçnh phán cáúp l mä hçnh mảng cọ cáúu trục âàûc biãût nhỉ l mäüt rỉìng (táûp håüp cạc cáy) Trong mäùi cáy, mäüt link chè theo hỉåïng tỉì nụt con âãún cạc nụt bäú mẻ, trong mä hçnh phán cáúp chụng ta cng sỉí dủng cạc âäúi tỉåüng nhỉ trong mä hçnh mảng( kiãøu bn ghi, format bn ghi, bn ghi) Chụng ta cọ thãø thiãút kãú mä hçnh phán cáúp tỉì mä hçnh mảng bàòng cạch... SÄÚ_TRỈNG_ÂH, SÄÚ_DÁN Ta tháúy ràòng âáy l lỉåüc âäư quan hãû 3_ngäi(Gäưm 3 thüc tênh )khi âọ lỉåüc âäư quan hãû tỉång ỉïng Bi soản Cå såí dỉỵ liãûu Trang 8 Chỉång 2 CẠC MÄ HÇNH DỈỴ LIÃÛU CHO CẠC HÃÛ QUN TRË CÅ SÅÍ DỈỴ LIÃÛU l : CITY_INFO(TÃN_TP, SÄÚ_TRỈNG_ÂH, SÄÚ_DÁN) v (HÚ, 6,2.000.000) l mäüt bäü ca lỉåüc âäư quan hãû V khi âọ TÃN_TP SÄÚ_TRỈNG_ÂH HÚ 6 H NÄÜI 12 Â NÀƠNG 5 SÄÚ_DÁN 2.000.000 5.000.000... thỉûc thãø cạc khạch hng ca siãu thi, gäưm cạc thüc tênh TEN_KH DIA_CHIKH TAI_K_KH Cạc mäúi quan hãû 8 LAM_VIEC: quan hãû lm viãûc giỉỵa táûp thỉûc thãø NHAN_VIEN v táûp thỉûc thãø GIAN_HANG ta nọi: “nhán viãn x lm viãûc åí gian hng y” 9 QUAN_LY “: mäúi quan hãû qun l giỉỵa táûp thỉûc thãø GIAN_HANG v NGUOI_QL, ta nọi : “ gian hng x âỉåüc qun l båíi ngỉåìi qun l y” 10 CHUA: quan hãû chỉïa giỉỵa MAT_HANG... Táûp thỉûc thãø DEPTS v MANAGERS liãn kãút våïi nhau qua mäúi quan hãû MANAGES Âáy l mäúi quan hãû mäüt mäüt, Mäüt xút hiãûn ca mäúi quan hãû ny l mäüt bäü(d,p) nọi ràòng vàn phng p âỉåüc qun l båíi nhán viãn d Hồûc så âäư quan hãû _thủc thãø sau: Giỉỵa táûp thỉûc thãø PERSONS v PERSONS våïi mäúi quan hãû PARENT_OF Cảnh thỉï nháút biãøu diãùn con cn táûp thỉï hai biãøu diãùn cha Giạ trë hiãûn hnh ca... khi âọ TÃN_TP SÄÚ_TRỈNG_ÂH HÚ 6 H NÄÜI 12 Â NÀƠNG 5 SÄÚ_DÁN 2.000.000 5.000.000 3.000.000 L mäüt quan hãû ca lỉåüc âäư quan hãû CITY_INFO, l táûp con ca têch âãư cạc 3 miãưn TÃN_TP, SÄÚ_TRỈNG_ÂH, SÄÚ_DÁN ỈÏng våïi mäùi lỉåüc âäư quan hãû cọ nhiãưu quan hãû gi l cạc hiãûn hnh(Current Instance) ca lỉåüc âäư quan hãû âọ 2.3.2 Biãøu diãùn så âäưì Quan Hãû - Thỉûc Thãø trong mä hçnh Quan Hãû Táûp cạc lỉåüc... DNAME) 11 SUPPLIES(SNAME, INAME, PRICE) 12 INCLUDES(O#, INAME, QUANLITY) 13 PLACED_BY(O#, CNAME) 2.3.3 Khọa ca quan hãû (Keys of relation) Cng giäúng nhỉ cạc táûp thỉûc thãø , quan hãû cng cọ khọa âãø phán biãût cạc bäü trong quan hãû Táûp con S cạc thüc tênh ca quan hãû R gi l khọa ca R nãúu tha mn hai têch cháút sau: 1 Khäng cọ hiãûn hnh no ca R cọ hai bäü trng nhau trãn táút c cạc thüc tênh ca S nhỉng... trỉåìng håüp ny vç khäng tha mn tênh cháút khọa Mäüt âiãưu quan trng cáưn phi nhåï l tênh cháút khọa chè phủ thüc vo lỉåüc âäư m khäng phủ thüc vo mäüt hiãûn hnh no ca lỉåüc âäư âọ Vãư ngun tàõt âãø phán biãût cạc bäü trong quan hãû thç mäùi quan hãû phi cọ êt nháút mäüt khọa, nhỉ váûy mäüt lỉåüc âäư cọ thãú cọ nhiãưu khọa Nãúu lỉåüc âäư quan hãû cọ nhiãưu khọa thç ta chn mäüt khọa lm khọa chênh(Primary)... thãø sau âáy täø chỉïc hãû thäúng thäng tin cáưn thiãút âãø chè huy hoảt âäüng ca siãu thë YVCB Trong så âäư cọ cạc táûp thỉûc thãø v cạc mäúi quan hãû sau: 1.NHAN_VIEN: táûp thỉûc thãø bao gäưm cạc nhán viãn lm viãûc trong siãu thë , cạc thüc tênh : TENNV MANV LUONG 2 NGUOI_QL Ngỉåìi qun l gm cạc trỉåíng phng trong siãu thë 3 GIAN_HANG: táûp thỉûc thãø cạc gian hng trong siãu thë gm cạc thüc tênh TEN_GH... nụt cn lải chỉa âỉåüc gạn khäng cọ link âi ra tỉì nọ lm nụt gäúc ca cáy måïi Quạ trçnh tiãúp tủc cho âãún khi khäng cn nụt no ca mảng chỉa âỉåüc gạn vo mäüt cáy no âọ Vê dủ: Chuøn âäøi sang mä hçnh phán cáúp tỉì mä hçnh mảng trong vê dủ trong mä hçnh mảng vãư siãu thë YVCB Bi soản Cå såí dỉỵ liãûu Trang 20 Chỉång 2 CẠC MÄ HÇNH DỈỴ LIÃÛU CHO CẠC HÃÛ QUN TRË CÅ SÅÍ DỈỴ LIÃÛU GIANH NHANVIEN NGUOIQL MATH . thỉûc thãø NHÁN_VIÃN v PHNG_BAN l mäúi quan hãû nhiãưu_mäüt tỉì NHÁN_VIÃN vo PHONG_BAN, cọ nghéa l mäùi nhán viãn chè lm viãûc trong mäüt phng v mäùi phng cọ thãø cọ nhiãưu nhán viãn lm viãûc,. file dỉỵ liãûu l NHAN_VIEN gäưm cạc trỉåìng TEN ( H tãn nhán viãn) DIA_CHI(âëa chè nhán viãn) TEN_CTY( tãn cäng ty) LUONG(lỉång nhán viãn) nãúu sỉí dủng mä hçnh Quan hãû ta cọ Quan hãû sau:. tin vãư mäüt nhán viãn ca cäng ty. Trong nhiãưu mä hçnh Cå Såí Dỉỵ Liãûu ngỉåìi ta sỉí dủng cạc quan hãû thay cho cạc file Quan hãû : NHAN_VIEN(TEN_NV,NGUOI_QL) Ta cáưn phán biãût giỉỵa