Issuu on Google+

Amaliari, maitasunez. R.E. Nire ama Vijaya eta emazte Arunari haien maitasun eta laguntzarengatik. S.B.N.


Hitzaurrea

Liburu honek datu-base sistemak eta aplikazioak diseinatu, erabili eta inplementatzeko beharrezkoak diren oinarrizko kontzeptuak azaltzen ditu. Gure azalpenetan honako alderdi hauek landuko ditugu: datu-baseen modelatzea eta diseinua, datu-baseak kudeatzeko sistemek eskaintzen dituzten hizkuntzak eta baliabideak, eta sistemak inplementatzeko teknikak. Liburu hau ikasliburu gisa erabil daiteke datu-base sistemei buruzko irakasgaian, lauhileko bakarrean edo bietan, bai lizentziaturako azken ikasturteetan, bai graduatu ondoko ikasketetan ere. Horrez gain, erreferentzia-liburu gisa ere erabil daiteke. Irakurleek programazioko eta datu-egituraketako oinarrizko kontzeptuak jada ezagutzen dituztela suposatzen dugu, eta konputagailuen oinarrizko antolamenduari buruz ere ezaupide batzuk badituztela. Lehen zatian sarrera batekin hasiko gara, oinarrizko kontzeptuak eta terminologia azalduko ditugu, baita datu-baseen modelatze kontzeptualaren printzipioak ere. Liburua amaitzeko, zazpi eta zortzigarren zatietan, labur-labur ikusiko ditugu indar hartzen ari diren teknologia berriak, hala nola, datu-meatzaritza, XML, segurtasuna eta web datu-baseak. Bigarren zatitik seigarren zatira bitartean, sakon aztertuko ditugu datu-baseen oinarri garrantzitsuenak. Hona hemen laugarren edizioaren funtsezko ezaugarrietako batzuk: • Liburu osoan antolaketa banakatu eta malgua erabili dugu, norbanakoaren beharretara molda dadin. • Datu-modelatzearen barruan, ER eta UML ereduak aztertu ditugu. • SQLko programazio-teknikei buruzko materiala (JDBC eta SQL/CLI) jasotzen duen SQLren inguruko kapitulu berria.

vii


viii |Hitzaurrea • Liburu osoan zehar bi adibide erabili ditugu, ENPRESA eta UNIBERTSITATEA, irakurleak aplikazio bera erabiltzen duten bi ikuspegi elkarrekin konpara ditzan. • Segurtasunari, datu-base mugikorrei, GISei eta Genoma datu-kudeaketari buruzko informazio eguneratua. • XML eta Interneteko datu-baseei buruzko kapitulu berria. • Datu-meatzaritzari buruzko kapitulu berria. • Eranskinak arretaz berrikusi ditugu eta irakasle nahiz ikasleentzako material ugari erantsi dizkiegu, baita lineako kasu-azterketa bat ere.

Hirugarren edizioarekiko alde nagusiak Laugarren edizioan hainbat aldaketa egin ditugu liburuaren antolamenduan eta, halaber, kapitulu berri garrantzitsuak gehitu dizkiogu. Hauek dira aldaketa nagusiak: • Fitxategiak antolatzeari eta indexatzeari buruzko kapituluak (hirugarren edizioan, 5 eta 6. kapituluak) laugarren zatira eraman ditugu, eta orain 13 eta 14. kapituluak dira. Laugarren zatian 15 eta 16. kapituluak ere badaude; kapitulu horiek kontsulten prozesamenduari eta optimizazioari buruzkoak dira, baita datu-baseen diseinu eta doitze fisikoari buruzkoak ere (hori 18. kapituluari eta 16.3-16.4 atalei dagokie hirugarren edizioan). • Eredu erlazionalaren azalpena berrantolatu eta eguneratu egin da bigarren zatian. Bosgarren kapituluak eredu erlazionalaren kontzeptuak eta murriztapenak azaltzen ditu. Aljebra eta kalkulu erlazionalari buruzko materiala orain batera dago 6. kapituluan. Datu-base erlazionalak ER-erlazional eta EER-erlazional mapatzea erabiliz diseinatzeari buruzko azalpena 7. kapituluan jaso dugu. SQL 8 eta 9. kapituluetan landu dugu, eta SQLko programazio-tekniken inguruko material berria 9.3 eta 9.6 arteko ataletan bildu dugu. • Hirugarren zatiak datu-baseak diseinatzeko teoria eta metodologia jasotzen ditu. Normalizazio-teoriari buruzko 10 eta 11. kapituluak hirugarren edizioko 14 eta 15. kapituluei dagozkie. Datu-baseen diseinu praktikoari buruzko 12. kapitulua eguneratu egin dugu eta UMLri buruzko informazio gehiago sartu dugu. • Transakzioei, konkurrentzia-kontrolari eta berreskuratzeari buruzko kapituluak (19, 20 eta 21. kapituluak hirugarren edizioan) orain bosgarren zatiko 17, 18 eta 19. kapituluak dira. • Objektuei orientatutako kontzeptuak, ODMG objektu-eredua eta sistema objektu-erlazionalak azaltzen dituzten kapituluak (11, 12 eta 13. kapituluak hirugarren edizioan) orain seigarren zatiko 20, 21 eta 22. kapituluak dira. Hogeita bigarren kapitulua berrantolatu eta eguneratu egin dugu. • Hirugarren edizioko 10 eta 17. kapituluak kendu egin ditugu. Bezero-zerbitzari arkitekturei buruzko materiala 2. eta 25. kapituluetan bildu dugu. • Segurtasuna, datu-base banatuak eta eredu hedatuak (aktiboa, tenporala, espaziala eta multimedia) lantzen dituzten kapituluak (22, 23 eta 24. kapituluak hirugarren edizioan) orain 7. zatiko 23, 24 eta 25. kapituluak dira. Segurtasunari buruzko kapitulua eguneratu egin dugu. Hirugarren edizioko datu-base deduktiboei buruzko 25. kapitulua 24. kapituluarekin bateratu dugu, eta orain 24.4 atala da.


Hitzaurrea |ix • 26. kapitulua XMLri (eXtended Markup Language) buruzko kapitulu berria da, eta Internetetik datu-base erlazionalak atzitzearen ingurukoa da. • Datu-meatzaritzari eta datu-biltegiratzeari buruzko materiala (hirugarren edizioko 26. kapitulua) bi kapitulutan banatu dugu. Hogeita zazpigarren kapitulua, datu-meatzaritzari buruzkoa, hedatu eta eguneratu egin dugu.

Edizio honen edukia Lehen zatiak datu-baseen diseinua eta inplementazioa ondo ulertzeko beharrezkoak diren oinarrizko kontzeptuak azaltzen ditu, baita datu-base sistemetan erabiltzen diren modelatze kontzeptualeko teknikak ere. Lehen eta bigarren kapituluek datu-baseak, haien ohiko erabiltzaileak eta DBKSetako kontzeptuak, terminologia eta arkitektura azaltzen dituzte. Hirugarren kapituluan, entitate-lotura (ER) ereduaren eta ER diagramen kontzeptuak aurkezten dira eta datu-baseen diseinu kontzeptuala azaltzeko erabiltzen dira. Laugarren kapituluak datu-abstrakzioa eta datu-modelatze semantikoko kontzeptuak azaltzen ditu, eta ideia horiek ER eredura hedatzen, ER hedatuaren datu-eredua (EER) eta EER diagramak sortzeko. Azpiklaseak, espezializazioa, orokortzea eta kategoriak dira aurkeztutako kontzeptuetako batzuk. UMLren klase-diagramen notazioa ere hirugarren eta laugarren kapituluetan azaldu dugu. Bigarren zatiak datu-eredu erlazionala eta DBKS erlazionalak deskribatzen ditu. Bosgarren kapituluan oinarrizko eredu erlazionala, haren integritate-murriztapenak eta eguneratze-eragiketak azaldu ditugu. Seigarren kapituluan aljebra erlazionaleko eragiketak azaldu ditugu eta kalkulu erlazionalaren aurkezpen bat egin dugu. Zazpigarren kapituluak zera azaltzen du: datu-base erlazionalak nola diseinatzen diren ER-erlazional eta EER-erlazional mapatzea erabiliz. Zortzigarren kapituluak SQL hizkuntzaren ikuspegi orokor xehatua eskaintzen du, eta sistema erlazional gehienetan inplementatuta dagoen SQL estandarra azaltzen du. Bederatzigarren kapituluan SQL programazioaren alderdi nagusiak ikusiko ditugu, adibidez, SQLJ, JDBC eta SQL/CLI. Hirugarren zatian datu-baseen diseinuari loturiko hainbat gai landuko ditugu. Hamar eta hamaikagarren kapituluetan normalizazioaren bidez datu-base erlazionalak diseinatzeko garatutako formalismo, teoria eta algoritmoak ikusiko ditugu. Material horretan sartzen dira mendekotasun funtzionalak eta beste hainbat mendekotasun mota, baita erlazioen forma normalak ere. Urratsez urratseko normalizazio intuitiboa 10. kapituluan ikusiko dugu, eta diseinu erlazionaleko algoritmoak, berriz, 11. kapituluan. Azken kapitulu horretan, halaber, bestelako mendekotasun mota batzuk ere azalduko ditugu, esate baterako, mendekotasun balioaniztunak eta konbinazio-mendekotasunak. Hamabigarren kapituluan UML erabiliz aplikazio ertain eta handietarako datu-baseak diseinatzeko prozesua ikusiko dugu, fasez fase. Laugarren zatiaren hasieran, datu-base sistemetan erabiltzen diren fitxategi-egitura fisikoak eta atzipen-metodoak azaldu ditugu. Hamahirugarren kapituluan erregistro-fitxategiak diskoan antolatzeko metodo nagusiak aztertuko ditugu, helbideratze estatiko nahiz dinamikoa barne. Hamalaugarren kapituluak fitxategien indexatze-teknikak azaltzen ditu, B zuhaitzen eta B+ zuhaitzen datu-egiturak eta sareta-fitxategiak barne. Hamabosgarren kapituluan kontsulten prozesamendu eta optimizazioaren oinarrizko ezaupideak azaltzen dira, eta hamaseigarren kapituluan, berriz, datu-baseen diseinu eta doitze fisikoak landuko ditugu. Bosgarren zatian transakzio-prozesatzea, konkurrentzia-kontrola eta berreskuratze-teknikak izango ditugu aztergai. Besteak beste, kontzeptu horiek SQLn nola aplikatzen diren azalduko dugu.


x |Hitzaurrea Seigarren zatian objektuen datu-baseei eta sistema objektu-erlazionalei buruzko azalpen zabala ikusiko dugu. Hogeigarren kapituluak objektuei orientatutako kontzeptuak azaltzen ditu. Hogeita batgarren kapituluak ODMG objektu-ereduaren ikuspegi xehatua ematen du, eta eredu horri loturiko ODL eta OQL hizkuntzak azaltzen ditu. Hogeita bigarren kapituluak datu-base erlazionalak izaten ari diren hedapena deskribatzen du, objektuei orientatutako kontzeptuak ere bereganatzen ari baitira; horrez gain, kapitulu horretan sistema objektu-erlazionalen ezaugarriak ere azaldu ditugu. Era berean, SQL3 estandarraren ezaugarri batzuk eta datu-eredu erlazional habiaratua ere labur aipatu ditugu. Zazpigarren eta zortzigarren zatiek hainbat gai espezializatu azaltzen dituzte. Hogeita hirugarren kapitulua datu-baseen segurtasunari eta baimenei buruzkoa da eta, besteak beste, pribilegioak emateko eta kentzeko SQL komandoak azaltzen ditu (GRANT eta REVOKE). Halaber, segurtasun-kontzeptuak sakon aztertzen ditu; honako kontzeptu hauek, adibidez: zifratzea, rolak eta fluxu-kontrola. Hogeita laugarren kapituluak aplikazio aurreratuetarako datu-baseen zenbait eredu hedatu jasotzen ditu. Eredu horietako batzuk dira, adibidez, datu-base aktiboak, tenporalak, espazialak, deduktiboak, multimediak eta abiarazle bidezkoak. Hogeita bosgarren kapituluak datu-base banatuak eta hiru mailako bezero-zerbitzari arkitektura azaltzen ditu. Hogeitaseigarren kapitulua XMLri buruzko kapitulu berria da (eXtended Markup Language). Lehenik eredu egituratu, erdiegituratu eta egituratugabeen arteko desberdintasunak ikusiko ditugu; ondoren, XMLko kontzeptuak azalduko ditugu eta, azkenik, XML eredua datu-baseen eredu tradizionalarekin alderatuko dugu. Hogeita zazpigarren kapitulua, datu-meatzaritzari buruzkoa, hedatu eta eguneratu egin dugu. Hogeita zortzigarren kapituluak datu-biltegiratzeari buruzko kontzeptuak azaltzen ditu. Azkenik, 29. kapituluan gai hauek dira aztergai: datu-base mugikorrak, multimedia datu-baseak, GIS (Geographic Information Systems, geografia-informazioko sistemak), eta bioinformatikako Genoma datu-kudeaketa. A eranskinak ER edo EER eskema kontzeptuala bistaratzeko erabil daitezkeen ordezko zenbait diagrama-notazio biltzen ditu. Irakasleak nahiago badu, notazio horiek guk erabiltzen dugun notazioarekin ordezka daitezke. C eranskinak diskoen zenbait parametro garrantzitsu aipatzen ditu. B, E eta F eranskinak webgunean daude. B eranskina kasu-azterketa berria da, eta liburu-denda bateko datu-basearen diseinua eta inplementazioa aztertzen ditu. E eta F eranskinetan datu-base sistema legatuak azaltzen dira, datu-baseen sare-ereduan eta eredu hierarkikoan oinarritzen direnak. Halakoak hogeita hamar urtean baino gehiagoan erabili izan dira oinarri gisa datu-baseen aplikazio komertzial eta transakzio-prozesatzeko sistema ugari sortzeko, eta beste hainbat hamarkada beharko dira oraindik erabat ordezteko. Gure iritziz, garrantzitsua da urte luzez erabili izan diren sistema horien berri ematea datubaseen kudeaketa ikasten dutenei. Hirugarren edizioko kapitulu osoak aurki daitezke edizio honen webgunean.

Liburu hau erabiltzeko argibideak Datu-baseei buruzko irakasgai bat emateko hainbat modu daude. Lehen eta bosgarren zatien artean dauden kapituluak datu-base sistemei buruzko ikastaro orokor bat emateko erabil daitezke, liburuan datozen hurrenkeran edo irakasle bakoitzak nahiago duen hurrenkeran. Hautaturiko kapitulu eta atalak kanpoan utz daitezke, eta irakasleak liburuko beste kapitulu batzuk erants ditzake, ikastaroaren helburuaren arabera. Kapitulu bakoitzaren sarrerako atalaren amaieran, kapitulu horren gaia hain sakon aztertu nahi ez denean kanpoan utz daitezkeen atalen zerrenda bat eskaintzen dugu. Gure gomendioa hauxe da, datu-baseei buruzko irakasgai orokor batean 14. kapitulurainoko edukia ematea eta beste kapituluetako zati hautatuak eranstea, ikasleen jakintza-maila eta eman nahi den edukia kontuan hartuz. Sistemak inplementatzeko teknikei garrantzi berezia eman nahi bazaie, laugarren eta bosgarren zatietako kapituluak ere eman daitezke.


Hitzaurrea |xi Hirugarren eta laugarren kapituluak, ER eta EER ereduak erabiliz eredu kontzeptuala eratzeari buruzkoak, garrantzitsuak dira datu-baseen ikuspegi kontzeptuala ondo ulertzeko. Dena dela, kapitulu horien artetik zati bat aukera daiteke, ikastaroan aurrerago eman daitezke gaiok, edo erabat albora daitezke, nabarmendu nahi dena datu-base sistemen inplementazioa bada. Fitxategi-antolamenduei buruzko 13 eta 14. kapituluak ere ikastaroaren hasieran edo aurrerago eman daitezke edo, garrantzitsuena datu-baseen ereduak eta hizkuntzak badira, erabat bazter daitezke. Ikasleek jada fitxategi-antolamenduari buruzko irakasgairen bat ikasi badute, kontzeptuak berrikusteko, bi kapitulu hauetako zati batzuk erabil ditzakete irakurgaitzat, edo bertako ariketa batzuk egin ditzakete. Datu-baseak diseinatu eta inplementatzeko ziklo osoko proiektuak honako hauek biltzen ditu: diseinu kontzeptuala (3 eta 4. kapituluak), datu-ereduen mapatzea (7. kapitulua), normalizazioa (10. kapitulua) eta SQLn inplementatzea (9. kapitulua). DBKSEei buruzko dokumentazio gehigarria ere ematea komeniko litzateke. Liburua idatzi den moduari esker, gaiak nahi den hurrenkeran landu daitezke. Nolanahi ere, beheko taulan ageri dira kapituluen arteko mendekotasun nagusiak. Diagramak erakusten duenez, sarrerako lehen bi kapituluen ondoren hainbat gairekin has gaitezke. Taulak konplexua dirudien arren, zera nabarmendu behar da: kapituluak liburuko hurrenkeran ematen badira, aintzakotzat hartuko dira mendekotasunak. Gaiak beste hurrenkera batekin eman nahi dituzten irakasleek taula hau kontsulta dezakete.


xii |Hitzaurrea Liburu honetan oinarrituriko sei hileko ikastaro baterako, kapitulu batzuk irakurgai gisa eman daitezke. Laugarren, zazpigarren eta zortzigarren zatiak, adibidez, egokiak izan daitezke horretarako. Liburua elkarren segidako bi lauhilekotan ere eman daiteke. «Datubaseen diseinua eta sistemak» izeneko lehen irakasgaia unibertsitateko lehen mailetan eman daiteke, eta liburu honetako 1 eta 14. kapituluen arteko eduki gehientsuena eman daiteke bertan. Bigarren irakasgaia, «Datu-baseak diseinatu eta inplementatzeko teknikak», unibertsitateko azken mailetan edo graduatu ondoko lehen urtean eman daiteke, eta 15. kapitulutik 28. kapitulura artekoa har dezake. Zazpigarren eta zortzigarren zatietako kapituluak edozein hiruhilekotan erabil daitezke eta, horrekin batean, ikasleek unibertsitatean eskura dezaketen datu-baseak kudeatzeko sistemei buruzko materiala ere erabil daiteke, liburuko materialaz gainera.

Material osagarriak Erabat berrikusi dira liburu honetako material osagarriak. Addison-Wesley-ren Datu-baseen Lekuan erreferentziako material interaktibo ugari dago, ikasleei ereduen, normalizazioaren eta SQLren inguruko informazioa osatzen laguntzeko. Tutoretza bakoitzak ikasleek egin beharreko ariketak proposatzen ditu (adibidez, SQL kontsulta bat idaztea, ER diagrama bat marraztea edo erlazio bat normalizatzea), eta gero ikaslearen erantzunaren araberako informazio lagungarria ematen du. Addison-Wesley-ren Datu-baseen Lekuaren bidez, ikasleek datu-baseei buruzko irakasgai guztietako kontzeptu nagusiak ondo barnera ditzakete. Ikus informazio gehiago hemen: aw.com/databaseplace. Horrez gain, liburu honen irakurleek helbide honetan dute material osagarri gehiago: www.aw.com/cssupport. • Eduki osagarria: besteak beste, liburu-denda bateko datu-basearen diseinu eta inplementazioari buruzko kasu-azterketa bat eta laugarren edizioan agertzen ez diren aurreko edizioetako kapituluak. • PowerPoint-en prestaturiko apunte multzoa Irakasleentzat ebazpenen eskuliburu bat ere badago erabilgarri. Jo ezazu Addison-Wesleyren komertzial lokalarengana edo bidali mezu elektroniko bat aw.cse@aw.com helbidera, eskuliburu hori nola eskura dezakezun jakiteko.

Esker onak Plazer handiz, eskerrak eman nahi dizkiegu ahalegin honetan lagundu diguten pertsona guztiei. Lehenik, gure editoreak eskertu nahi ditugu, Maite Suarez-Rivas, Katherine Harutunian, Daniel Rausch eta Juliet Silveri. Bereziki, Katherine Harutunian-en ahaleginak eta laguntza eskertu nahi ditugu, batez ere berarekin jardun baitugu elkarlanean laugarren edizioa kaleratzeko. Halaber, laugarren edizioan laguntza eman diguten pertsona guztiei ere eskerrak eman nahi dizkiegu. Biziki estimatzen ditugu berrikusle hauen ekarpenak: Phil Bernhard, Florida Tech; Zhengxin Chen, Nebraskako Unibertsitatea, Omaha; Jan Chomicki, Buffaloko Unibertsitatea; Hakan Ferhatosmanoglu, Ohioko Estatu Unibertsitatea; Len Fisk, Kaliforniako Estatu Unibertsitatea, Chico; William Hankley, Kansasko Estatu Unibertsitatea; Ali R. Hurson, Pennyilvaniako Estatu Unibertsitatea; Vijay Kumar, Missouri-Kansas Hiriko Unibertsitatea; Peretz Shoval, Ben-Gurion Unibertsitatea, Israel; Jason T. L. Wang, New Jerseyko Teknologia Institutua; eta Georgia Tech erakundeko Ed Omiecinski, 27. kapitulua beraren lankidetzaz burutu baita. Ramez Elmasri-k bere ikasle diren Hyoil Han, Babak Hojabri, Jack Fu, Charley Li, Ande Swathi eta Steven Wu-ri eskerrak eman nahi dizkie, 26. kapituluko materialari egin-


Hitzaurrea |xiii dako ekarpenarengatik. Horrez gain, Arlingtongo Texasko Unibertsitateak eskainitako babesa ere biziki eskertzen du. Sham Navathe-k eskerrak eman nahi dizkie Dan Forsythe-ri eta Georgia Tech-eko ikasle hauei: Weimin Feng, Angshuman Guin, Abrar UI-Haque, Bin Liu, Ying Liu, Wanxia Xie eta Waigen Yee. Berriro ere eskerrak eman nahi dizkiegu Datu-base sistemen oinarriak liburuaren aurreko edizioak berrikusi eta laguntza eskaini diguten guztiei. Lehen edizioan, Alan Apt (editorea), Don Batory, Scon Downing, Dennis Heimbinger, Julia Hodges, Yannis Ioannidis, Jim Larson, Dennis McLeod, Per-Ake Larson, Rahul Patel, Nicholas Roussopoulos, David Stemple, Michael Stonebraker, Frank Tompa, and KyuYoung Whang; bigarren edizioan, Dan Joraanstad (editorea), Rafi Ahmed, Antonio Albano, David Beech, Jose Blakeley, Panos Chrysanthis, Suzanne Dietrich, Vic Ghorpadey, Goets Graefe, Eric Hanson, Junguk L. Kim, Roger King, Vram Kouramajian, Vijay Kumar, John Lowther, Sanjay Manchanda, Toshimi Minoura, Inderpal Mumick, Ed Omiecinski, Girish Pathak, Raghu Ramakrishnan, Ed Robertson, Eugene Sheng, David Stotts, Marianne Winslett eta Stan Zdonick. Hirugarren edizioan, Suzanne Dietrich, Ed Omiecinski, Rafi Ahmed, Francois Bancilhon, Jose Blakeley, Rick Canell, Ann Chervenak, David W. Embley, Henry A. Etlinger, Leonidas Fegaras, Dan Forsyth, Farshad Fotouhi, Michael Franklin, Sreejith Gopinath, Goetz Craefe, Richard Hull, Sushil Jajodia, Ramesh K. Karne, Harish Kotbagi, Vijay Kumar, Tarcisio Lima, Ramon A. Mata-Toledo, Jack McCaw, Dennis McLeod, Rokia Missaoui, Magdi Morsi, M. Narayanaswamy, Carlos Ordonez, Joan Peckham, Betty Salzberg, Ming-Chien Shan, ]unping Sun, Rajshekhar Sunderraman, Aravindan Veerasamy eta Emilia E. Villareal. Azkenik, bihotzez eskertzen dugu gure familien laguntza, adore-ematea eta pazientzia. R.E.

S.B.N.


Edukia

1. ZATIA

SARRERA ETA MODELATZE KONTZEPTUALA

1. KAPITULUA Datu-baseak eta datu-baseen erabiltzaileak 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9

3

Sarrera 4 Adibidea 6 Datu-baseekin lan egiteko moduaren ezaugarriak Agertokiko aktoreak 12 Agertoki atzeko langileak 14 DBKSak erabiltzearen abantailak 15 Datu-base aplikazioen historia laburra 20 DBKS noiz ez den erabili behar 23 Laburpena 23 Berrikuspen-galderak 23 Ariketak 24 Bibliografia hautatua 24

8

xv


xvi |Edukia

2. KAPITULUA Datu-base sistemen kontzeptuak eta arkitektura

25

2.1 2.2 2.3 2.4 2.5

Datu-ereduak, eskemak eta instantziak 26 Hiru eskemako arkitektura eta datuen independentzia 29 Datu-baseen hizkuntzak eta interfazeak 32 Datu-base sistemaren ingurunea 35 DBMSetarako arkitektura zentralizatua eta bezero-zerbitzari arkitektura 38 2.6 Datu-baseak kudeatzeko sistemen sailkapena 43 2.7 Laburpena 45 Berrikuspen-galderak 46 Ariketak 46 Bibliografia hautatua 47

3. KAPITULUA Datu-modelatzea entitate-lotura eredua erabiliz

49

3.1 Datu-baseak diseinatzeko goi-mailako datu-eredu kontzeptualak erabiltzea 50 3.2 Datu-base aplikazio baten adibidea 52 3.3 Entitate motak, entitate multzoak, atributuak eta gakoak 53 3.4 Lotura motak, lotura multzoak, rolak eta egituramurriztapenak 61 3.5 Entitate mota ahulak 68 3.6 ENPRESAko datu-baserako ER diseinua fintzea 69 3.7 ER diagramak, izendatze-hitzarmenak eta diseinu-arazoak 70 3.8 UML klase-diagrametarako notazioa 74 3.9 Laburpena 77 Berrikuspen-galderak 78 Ariketak 78 Bibliografia hautatua 83

4. KAPITULUA Entitate-lotura hedatua eta UML modelatzea 85 4.1 Azpiklaseak, superklaseak eta herentzia 86 4.2 Espezializazioa eta orokortzea 88 4.3 Espezializazioaren eta orokortzearen murriztapenak eta ezaugarriak 91 4.4 Bildura motak kategorien bidez modelatzea 98


Edukia |xvii

4.5 4.6 4.7 4.8 4.9

UNIBERTSITATEko EER eskemaren adibidea eta EER ereduaren definizio formalak 101 Espezializazioa/Orokortzea eta herentzia UML klase-diagrametan 104 Bi gradutik gorako harreman motak 105 Datu-abstrakzioa, ezagutzaren adierazpidea eta ontologia kontzeptuak 110 Laburpena 115 Berrikuspen-galderak 116 Ariketak 117 Bibliografia hautatua 121

2. ZATIA

EREDU ERLAZIONALA: KONTZEPTUAK, MURRIZTAPENAK, HIZKUNTZAK, DISEINUA ETA PROGRAMAZIOA

5. KAPITULUA Datu-eredu erlazionala eta datu-base erlazionalen murriztapenak

125

5.1 Eredu erlazionalaren kontzeptuak 126 5.2 Eredu erlazionalaren murriztapenak eta datu-base erlazionalen eskemak 132 5.3 Eguneratze-eragiketak eta murriztapen-hausteei aurre egitea 5.4 Laburpena 143 Berrikuspen-galderak 144 Ariketak 144 Bibliografia hautatua 147

140

6. KAPITULUA Aljebra erlazionala eta kalkulu erlazionala 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8

149

Eragiketa bakun erlazionalak: HAUTATU eta PROIEKTATU 151 Aljebra erlazionalaren multzoen teoriako eragiketak 155 Eragiketa bitar erlazionalak: KONBINATU eta ZATITU 158 Eragiketa erlazional gehigarriak 165 Kontsulten adibideak aljebra erlazionalean 171 Tupla-kalkulu erlazionala 173 Domeinu-kalkulu erlazionala 181 Laburpena 184 Berrikuspen-galderak 185 Ariketak 186 Bibliografia hautatua 189


xviii |Edukia

7. KAPITULUA Datu-base erlazionalen diseinua ER-erlazional eta EER-erlazional

mapatzeak erabiliz

191

7.1 Datu-base erlazionalen diseinua ER-erlazional mapatzea erabiliz 192 7.2 EER ereduko elementuak erlazioekin mapatzea 199 7.3 Laburpena 203 Berrikuspen-galderak 204 Ariketak 204 Bibliografia hautatua 205

8. KAPITULUA

SQL-99: eskemen definizioa, oinarrizko

murriztapenak eta kontsultak 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8

SQLko datu-definizioa eta datu-motak 209 SQLn oinarrizko murriztapenak zehaztea 213 Eskema aldatzeko sententziak SQLn 217 Oinarrizko SQL kontsultak 218 SQL kontsulta konplexuagoak 229 SQLko INSERT, DELETE eta UPDATE sententziak SQLren ezaugarri gehigarriak 248

Laburpena 249 Berrikuspen-galderak Ariketak 251 Bibliografia hautatua

9. KAPITULUA

245

251 252

SQL gehiago: asertzioak,

bistak eta programazio-teknikak 9.1 9.2 9.3 9.4 9.5

207

255

Murriztapen orokorrak asertzio gisa zehaztea 256 Bistak (taula birtualak) SQLn 257 Datu-base programazioa: arazoak eta teknikak 261 SQL txertatua, SQL dinamikoa eta SQLJ 264 Datu-base programazioa funtzio-deiekin: SQL/CLI eta JDBC 275 9.6 Datu-baserako gordetako prozedurak eta SQL/PSM 284 9.7 Laburpena 287 Berrikuspen-galderak 287 Ariketak 287 Bibliografia hautatua 289


Edukia |xix

3. ZATIA

DATU-BASEEN DISEINUARI BURUZKO TEORIA ETA METODOLOGIA

10. KAPITULUA Datu-base erlazionalen mendekotasun funtzionalak eta normalizazioa 10.1 10.2 10.3 10.4 10.5 10.6

293

Erlazio-eskemak diseinatzeko gida-lerro informalak 295 Mendekotasun funtzionalak 304 Oinarrizko gakoetan oinarrituriko forma normalak 312 Bigarren eta hirugarren forma normalen definizio orokorrak Boyce-Codd forma normala 324 Laburpena 326 Berrikuspen-galderak 327 Ariketak 328 Bibliografia hautatua 331

320

11. KAPITULUA Datu-base erlazionalak diseinatzeko algoritmoak eta beste mendekotasun batzuk 11.1 11.2 11.3 11.4 11.5 11.6 11.7

333

Deskonposizio erlazionalen propietateak 334 Datu-base erlazionalen eskema diseinatzeko algoritmoak 340 Mendekotasun balioaniztunak eta laugarren forma normala 347 Konbinazio-mendekotasunak eta bosgarren forma normala 353 Barneratze-mendekotasunak 354 Beste mendekotasun eta forma normal batzuk 355 Laburpena 357 Berrikuspen-galderak 358 Ariketak 358 Bibliografia hautatua 360

12. KAPITULUA Datu-baseen diseinurako metodologia praktikoa eta UML diagramen erabilera

361

12.1 Informazio-sistemen eginkizuna erakundeetan 362 12.2 Datu-baseak diseinatu eta inplementatzeko prozesua 366 12.3 UML diagramak datu-basea diseinatzeko zehaztapenen laguntza gisa erabiltzea 385 12.4 Rational Rose, UML oinarri duen diseinu-tresna 395 12.5 Datu-baseak diseinatzeko tresna automatizatuak 401 12.6 Laburpena 404 Berrikuspen-galderak 406 Bibliografia hautatua 407


DATU-BASE SISTEMAK OINARRIAK