Chöông 3 Cô sôû döõ lieäu 70 CHÖÔNG 3 CÔ SÔÛ DÖÕ LIEÄU CÔ SÔÛ DÖÕ LIEÄU .CAÙC KHAÙI NIEÄM CUÛA MOÄT HEÄ CÔ SÔÛ DÖÕ LIEÄU .Tính chuû quyeàn cuûa döõ lieäu. Tính baûo maät vaø quyeàn khai thaùc thoâng tin cuûa ngöôøi söû duïng.Tranh chaáp döõ lieäu.Ñaûm baûo döõ lieäu khi coù söï coá. Caùc ñoái töôïng söû duïng CSDL:. Heä phaàn meàm quaûn trò CSDL.
Caùc möùc bieåu dieãn moät CSDL. Möùc quan nieäm: .NHÖÕNG CAÙCH TIEÁP CAÄN MOÄT CSDL .Moâ hình döõ lieäu maïng. Moâ hình döõ phaân caáp. Moâ hình döõ lieäu thöïc theå –keát hôïp .Caùc khaùi nieäm cô baûn.
91 Moät soá kyù hieäu ñoà hoïa duøng trong moâ hình ER. Phöông phaùp thieát keá khaùi nieäm cô sôû döõ lieäu baèng moâ hình thöïc theå quan heä. Moâ hình döõ lieäu quan heä. Caùc khaùi nieäm cô baûn.
103 Chöông 3 Cô sôû döõ lieäu 71 2.Boä giaù trò (Tuple):. Löôïc ñoà quan heä (Relation schema): .Theå hieän cuûa quan heä (Occurrence of a Relation) .Moâ hình döõ lieäu höôùng ñoái töôïng. ÑAÏI SOÁ QUAN HEÄ.Pheùp keát noái (Join) .Toái öu hoùa caâu hoûi. 119 Chöông 3 Cô sôû döõ lieäu 72 1.Caùc khaùi nieäm cuûa moät heä cô sôû döõ lieäu 1.Daãn nhaäp Thuaät ngöõ "CÔ SÔÛ DÖÕ LIEÄU" (DataBase, vieát taét tieáng Vieät laø CSDL) ñaõ trôû neân khaù quen thuoäc khoâng chæ rieâng vôùi ngöôøi laøm Tin hoïc maø coøn ñoái vôùi caû nhöõng ngöôøi laøm trong nhieàu lónh vöïc khaùc nhö Thoáng keâ, Kinh teá, Thoâng tin – Thö vieän v.
Caùc öùng duïng cuûa Tin hoïc vaøo coâng taùc quaûn lyù ngaøy caøng ña daïng hôn. Chính vì leõ ñoù maø ngaøy caøng nhieàu ngöôøi quan taâm ñeán lónh vöïc thieát keá vaø xaây döïng caùc CSDL. Cho ñeán nay vaãn coøn moät soá ñôn vò kinh teá, haønh chính söï nghieäp v. söû duïng moâ hình heä thoáng caùc taäp tin coå ñieån (File System) : Chuùng ñöôïc toå chöùc rieâng reõ, phuïc vuï cho moät muïc ñích cuûa moät ñôn vò hay ñôn vò con tröïc thuoäc.
Chaúng haïn, taïi moät coâng ty trang bò maùy vi tính cho taát caû caùc phoøngï. Boä phaän Vaên phoøng söû duïng soaïn thaûo caùc vaên baûn baùo caùo baèng MicroSoft Word. Phoøng Keá toaùn söû duïng maùy tính ñeå tính löông vaø in danh saùch löông cuûa töøng boä phaän trong ñôn vò, döïa treân danh saùch caùn boä vieân chöùc cuøng heä soá löông vaø caùc heä soá phuï caáp, söû duïng coâng cuï vaên phoøng laø MicroSoft Excel. Phoøng Toå chöùc quaûn lyù thoâng tin lyù lòch cuûa CNVC chi tieát hôn goàm Hoï CNVC, Teân CNVC (ñeå rieâng thaønh moät coät "Teân" ñeå tieän saép xeáp theo vaàn Alphabet), bí danh, giôùi tính, ngaøy sinh, ngaøy tuyeån duïng, hoaøn caûnh gia ñình, quaù trình ñöôïc ñaøo taïo, heä soá löông, heä soá phuï caáp, ngaøy xeáp löông treân.
phaàn meàm ñöôïc söû duïng ñeå quaûn lyù laø FoxPro for Windows. Trong khi ñoù, taïi Toång coâng ty, caùc phoøng ban nghieäp vuï cuõng ñöôïc trang bò vi tính. Phoøng Toå chöùc caùn boä söû duïng phaàn Chöông 3 Cô sôû döõ lieäu 73 meàm MicroSoft Access ñeå quaûn lyù CNVC goàm caùc caùn boä chuû choát töø tröôûng phoù phoøng, quaûn ñoác vaø phoù quaûn ñoác xí nghieäp trôû leân cuûa caùc coâng ty con tröïc thuoäc. Thoâng tin quaûn lyù taïi ñaây cuõng gioáng nhö thoâng tin quaûn lyù taïi phoøng toå chöùc cuûa coâng ty con.
Öu ñieåm: - Vieäc xaây döïng heä thoáng caùc taäp tin rieâng leû, taïi töøng ñôn vò quaûn lyù ít toán thôøi gian bôûi khoái löôïng thoâng tin caàn quaûn lyù vaø khai thaùc laø nhoû, khoâng ñoøi hoûi ñaàu tö vaät chaát vaø chaát xaùm nhieàu, do ñoù trieån khai öùng duïng nhanh. - Thoâng tin ñöôïc khai thaùc chæ phuïc vuï cho muïc ñích heïp neân khaû naêng ñaùp öùng nhanh choùng, kòp thôøi. Nhöôïc ñieåm: - Do thoâng tin ñöôïc toå chöùc ôû moãi phoøng ban moãi khaùc, cuõng nhö phaàn meàm coâng cuï ñeå trieån khai moãi nôi cuõng raát khaùc, neân söï phoái hôïp toå chöùc vaø khai thaùc ôû caùc phoøng ban laø khoù khaên. - Thoâng tin ôû phoøng ban naøy khoâng söû duïng ñöôïc cho phoøng ban khaùc, taïi ñôn vò con vôùi ñôn vò caáp treân.
Cuøng moät thoâng tin ñöôïc nhaäp vaøo maùy taïi nhieàu nôi khaùc nhau gaây ra laõng phí coâng söùc nhaäp tin vaø khoâng gian löu tröõ treân caùc vaät mang tin. Söï truøng laép thoâng tin coù theå daãn ñeán tình traïng khoâng nhaát quaùn döõ lieäu. - Thoâng tin ñöôïc toå chöùc ôû nhieàu nôi neân vieäc caäp nhaät cuõng deã laøm maát tính nhaát quaùn döõ lieäu. Do heä thoáng ñöôïc toå chöùc thaønh caùc heä thoáng file rieâng leû neân thieáu söï chia seû thoâng tin giöõa caùc nôi.
Vieäc keát noái caùc heä thoáng naøy hay vieäc naâng caáp öùng duïng seõ laø raát khoù khaên. Chöông 3 Cô sôû döõ lieäu 74 Qua phaân tích treân chuùng ta nhaän thaáy vieäc toå chöùc döõ lieäu theo heä thoáng caùc taäp tin coù nhieàu nhöôïc ñieåm. Vieäc xaây döïng moät heä thoáng thoâng tin ñaûm baûo ñöôïc tính chaát nhaát quaùn döõ lieäu, khoâng truøng laëp thoâng tin maø vaãn ñaùp öùng ñöôïc nhu caàu khai thaùc ñoàng thôøi cuûa taát caû caùc phoøng ban ôû coâng ty vaø toång coâng ty laø thöïc söï caàn thieát.Ñònh nghóa: Cô sôû döõ lieäu laø moät heä thoáng caùc thoâng tin coù caáu truùc ñöôïc löu tröõ treân caùc thieát bò löu tröõ thoâng tin thöù caáp (nhö baêng töø, ñóa töø .) ñeå coù theå thoûa maõn yeâu caàu khai thaùc thoâng tin ñoàng thôøi cuûa nhieàu ngöôøi söû duïng hay nhieàu chöông trình öùng duïng vôùi nhieàu muïc ñích khaùc nhau. Chöông 3 Cô sôû döõ lieäu 75 Tröôùc heát, CSDL phaûi laø moät taäp hôïp caùc thoâng tin mang tính heä thoáng chöù khoâng phaûi laø caùc thoâng tin rôøi raïc, khoâng coù moái quan heä vôùi nhau.
Caùc thoâng tin naøy phaûi coù caáu truùc vaø taäp hôïp caùc thoâng tin naøy phaûi coù khaû naêng ñaùp öùng caùc nhu caàu khai thaùc cuûa nhieàu ngöôøi söû duïng moät caùch ñoàng thôøi. Ñoù cuõng chính laø caùc ñaëc tröng cuûa CSDL, öu ñieåm noåi baät cuûa CSDL laø: • Giaûm söï truøng laëp thoâng tin xuoáng möùc thaáp nhaát vaø do ñoù baûo ñaûm ñöôïc tính nhaát quaùn vaø toaøn veïn döõ lieäu. • Ñaûm baûo döõ lieäu coù theå ñöôïc truy xuaát theo nhieàu caùch khaùc nhau. • Khaû naêng chia seû thoâng tin cho nhieàu ngöôøi söû duïng vaø nhieàu öùng duïng khaùc nhau.
Tuy nhieân, ñeå ñaït ñöôïc caùc öu ñieåm treân, CSDL ñaët ra nhöõng vaán ñeà caàn phaûi giaûi quyeát laø: 1.Tính chuû quyeàn cuûa döõ lieäu. Do tính chia seû cuûa CSDL neân tính chuû quyeàn cuûa döõ lieäu coù theå bò lu môø vaø laøm môø nhaït tinh thaàn traùch nhieäm, ñöôïc theå hieän treân vaán ñeà an toaøn döõ lieäu, khaû naêng bieåu dieãn caùc moái lieân heä ngöõ nghóa cuûa döõ lieäu, vaø tính chính xaùc cuûa döõ lieäu. Ñieàu naøy coù nghóa laø ngöôøi khai thaùc CSDL phaûi coù nghóa vuï caäp nhaät caùc thoâng tin môùi nhaát cuûa CSDL. Tính baûo maät vaø quyeàn khai thaùc thoâng tin cuûa ngöôøi söû duïng.
Do coù nhieàu ngöôøi ñöôïc pheùp khai thaùc CSDL moät caùch ñoàng thôøi neân caàn phaûi coù moät cô cheá baûo maät vaø phaân quyeàn haïn khai thaùc CSDL. Caùc heä ñieàu haønh nhieàu ngöôøi söû duïng hay heä ñieàu haønh maïng cuïc boä (Novelll Netware, Windows For WorkGroup, WinNT,.) ñeàu coù cung caáp cô cheá naøy. Chöông 3 Cô sôû döõ lieäu 76 1.Tranh chaáp döõ lieäu. Nhieàu ngöôøi ñöôïc pheùp truy nhaäp vaøo cuøng moät taøi nguyeân döõ lieäu (Data Source) cuûa CSDL vôùi nhöõng muïc ñích khaùc nhau: Xem, theâm, xoùa hoaëc söûa döõ lieäu.
Caàn phaûi coù moät cô cheá öu tieân truy nhaäp döõ lieäu cuõng nhö cô cheá giaûi quyeát tình traïng khoùa cheát (DeadLock) trong quaù trình khai thaùc caïnh tranh. Cô cheá öu tieân coù theå ñöôïc thöïc hieän baèng vieäc caáp quyeàn (hay möùc ñoä) öu tieân cho töøng ngöôøi khai thaùc - ngöôøi naøo ñöôïc caáp quyeàn haïn öu tieân cao hôn thì ñöôïc öu tieân truy nhaäp döõ lieäu tröôùc.Ñaûm baûo döõ lieäu khi coù söï coá. Vieäc quaûn lyù döõ lieäu taäp trung coù theå laøm taêng khaû naêng maát maùt hoaëc sai leäch thoâng tin khi coù söï coá nhö maát ñieän ñoät xuaát, moät phaàn ñóa löu tröõ CSDL bò hö v. Moät soá heä ñieàu haønh maïng coù cung caáp dòch vuï sao löu aûnh ñóa cöùng (cô cheá söû duïng ñóa cöùng döï phoøng - RAID), töï ñoäng kieåm tra vaø khaéc phuïc loãi khi coù söï coá, tuy nhieân, beân caïnh dòch vuï cuûa heä ñieàu haønh, ñeå ñaûm baûo CSDL luoân luoân oån ñònh, moät CSDL nhaát thieát phaûi coù moät cô cheá khoâi phuïc döõ lieäu khi caùc söï coá baát ngôø xaûy ra.
Caùc ñoái töôïng söû duïng CSDL: • Nhöõng ngöôøi söû duïng CSDL khoâng chuyeân veà lónh vöïc tin hoïc vaø CSDL, do ñoù CSDL caàn coù caùc coâng cuï ñeå cho nhöõng ngöôøi söû duïng khoâng chuyeân coù theå söû duïng ñeå khai thaùc CSDL khi caàn thieát. • Caùc chuyeân vieân tin hoïc bieát khai thaùc CSDL. Nhöõng ngöôøi naøy coù theå xaây döïng caùc öùng duïng khaùc nhau phuïc vuï cho caùc muïc ñích khaùc nhau treân CSDL. • Nhöõng ngöôøi quaûn trò CSDL, ñoù laø nhöõng ngöôøi hieåu bieát veà tin hoïc, veà caùc heä quaûn trò CSDL vaø heä thoáng maùy tính.
Hoï laø ngöôøi toå chöùc CSDL (khai baùo caáu truùc CSDL, ghi Chöông 3 Cô sôû döõ lieäu 77 nhaän caùc yeâu caàu baûo maät cho caùc döõ lieäu caàn baûo veä .) do ñoù phaûi naém roõ caùc vaán ñeà kyõ thuaät veà CSDL ñeå coù theå phuïc hoài döõ lieäu khi coù söï coá. Heä phaàn meàm quaûn trò CSDL. Ñeå giaûi quyeát toát caùc vaán ñeà ñaët ra cho moät CSDL nhö ñaõ neâu treân: tính chuû quyeàn, cô cheá baûo maät hay phaân quyeàn haïn khai thaùc CSDL, giaûi quyeát tranh chaáp trong quaù trình truy nhaäp döõ lieäu, vaø phuïc hoài döõ lieäu khi coù söï coá. thì caàn phaûi coù moät heä thoáng caùc phaàn meàm chuyeân duïng.
Heä thoáng caùc phaàn meàm ñoù ñöôïc goïi laø heä quaûn trò CSDL (tieáng Anh laø DataBase Management System - DBMS). Ñoù laø caùc coâng cuï hoã trôï cho caùc nhaø phaân tích & thieát keá CSDL vaø nhöõng ngöôøi khai thaùc CSDL. Cho ñeán nay coù khaù nhieàu heä quaûn trò CSDL maïnh ñöôïc ñöa ra thò tröôøng nhö: Visual FoxPro, MicroSoft Access, SQL-Server, DB2, Paradox, Oracle. vôùi caùc chaát löôïng khaùc nhau.
Moãi heä quaûn trò CSDL ñeàu ñöôïc caøi ñaët döïa treân moät moâ hình döõ lieäu cuï theå. Duø döïa treân moâ hình döõ lieäu naøo, moät heä quaûn trò CSDL cuõng phaûi coù: Ngoân ngöõ giao tieáp giöõa ngöôøi söû duïng (NSD) vaø CSDL, bao goàm: • Ngoân ngöõ moâ taû döõ lieäu (Data Definition Language - DDL) ñeå cho pheùp khai baùo caáu truùc cuûa CSDL, khai baùo caùc moái lieân heä cuûa döõ lieäu (Data RelationShip) vaø caùc quy taéc (Rules, Constraint) quaûn lyù aùp ñaët leân caùc döõ lieäu ñoù. • Ngoân ngöõ thao taùc döõ lieäu (Data Manipulation Language - DML) cho pheùp ngöôøi söû duïng coù theå theâm (Insert), xoùa (Delete), söûa (Update) döõ lieäu trong CSDL.