19.A tétel rendszergazda

Embed Size (px)

DESCRIPTION

sdad

Citation preview

Relcis Adatbzis A relcis adatmodell kidolgozsa Codd nevhez fzdik (1971). Azta fontos szerepet jtszik az adatbzis kezelk alkalmazsban. A relcis modell elnyei a kvetkezk: A relcis adatszerkezet egyszeren rtelmezhet a felhasznlk s az alkalmazs ksztk szmra is, gy ez lehet kzttk a kommunikci eszkze. A logikai adatmodell relcii egy relcis adatbzis kezel rendszerbe mdostsok nlkl tvihetk. A relcis modellben az adatbzis tervezs a norml formk bevezetsvel egzakt mdon elvgezhet A relcis adatmodell jellemzje, hogy az adatokat tbb, egymssal sszekapcsolt rendszerben brzolja. Manapsg ez a legelterjedtebb adatmodell. Alapjt a matematikban is hasznlatos relci jelenti. Egy j mdszert alkalmaz az adatbzis lekrdezsek megvalstsra a relcikon rtelmezett mveletek segtsgvel. Az SQL (Structured Query Language) Strukturlt lekrdez nyelv egy komplex adatbzis-lekrdez nyelv, mellyel megvalsthatjuk a lekrdezseket s klnbz adatbzis-kezel mveleteket. Az Access a relcis adatmodellt hasznlja, ezrt bvebb rszletezst ignyel. Ebben a modellben az adatokat egy ktdimenzis tblban elrendezve brzoljuk, melyben az adatok egymssal logikai kapcsolatban llnak. A relci nem ms mint egy tblzat, a tblzat soraiban trolt adatokkal egytt. A relcis adatbzis pedig relcik s csak relcik sszessge. Az egyes relcikat egyedi nvvel ltjuk el. A relcik oszlopaiban azonos mennyisgre vonatkoz adatok jelennek meg. Az oszlopok nvvel rendelkeznek, melyeknek a relcin bell egyedieknek kell lennik, de ms relcik tartalmazhatnak azonos nev oszlopokat. A relci soraiban troljuk a logikailag sszetartoz adatokat. A relci sorainak sorrendje kzmbs, de nem tartalmazhat kt azonos adatokkal kitlttt sort. Egy sor s oszlop metszsben tallhat tblzat elemet meznek nevezzk, a mezk tartalmazzk az adatokat. A mezkben oszloponknt klnbz tpus (numerikus, szveges stb.) mennyisgek trolhatk. A relci helyett sokszor a tbla vagy tblzat, a sor helyett a rekord, az oszlop helyett pedig az attribtum elnevezs is hasznlatos. Pldul egy szemlyi adatokat tartalmaz relci a kvetkez lehet:

Az elz relcibl a szemlyi szm oszlopot elhagyva relcinak tekinthet-e a tblzat? Mivel nem zrhat ki, hogy kt azonos nev s szakmj szemly ljen egy teleplsen bell a szemlyi szm nlkl kt azonos sor is szerepelhetne, mely a relciban nem megengedett.

A relci oszlopainak elnevezsre clszer a tartalomra utal elnevezst hasznlni mg akkor is, ha ez esetleg tbb gpelssel is jr. Ehhez lljon itt a kvetkez plda: Az elz kt relci ugyanazokat az oszlopokat tartalmazza, de a bal oldali esetben tovbbi feljegyzsekre van szksg az egyes oszlopok tartalmnak lersra. A relciktl ltalban megkveteljk, hogy ne tartalmazzanak ms adatokbl levezethet vagy kiszmthat informcikat. Pldul az anyag relciban (2.3 bra) flsleges lenne egy rtk oszlopot is trolni, mivel ez az adat a kszlet s az egysgr szorzataknt kiszmthat a rendelkezsre ll adatokbl. Hasonlkppen a szemlyi szm mellett nincs rtelme kln a szletsi dtumot nyilvntartani, mert az rsze a szemlyi szmnak, abbl elllthat.

A tblzattal kapcsolatos alapkvetelmnyek: Minden tblzat egyrtelm azonostval br. A sorok s oszlopok metszspontjban tallhat adatok egyrtkek, ezeket nevezi elemi adatmezknek. Az oszlopokban lv adatok azonos jellegek. Minden oszlopnak egyedi neve van. Ugyan annyi adat tallhat a tblzat minden sorban. Nem lehet kt azonos sor a tblzatban. A sorok s oszlopok sorrendje tetszleges.

KULCS. Fontos szerepe van azoknak a tulajdonsgoknak, amelynek rtkei a tbbi tulajdonsg rtkeit egyrtelmen meghatrozzk. Ez azt jelenti, hogy ha az ilyen tulajdonsgok rtkeit megadjuk, akkor az egyrtelmen definil egy elfordulst. Azokat a tulajdonsgokat, amelyek egyrtelmen meghatrozzk az egyedtpus egy elemt, kulcsnak nevezzk. A kulcsok fontos szerepet tltenek be az adatmodell kialaktsnl. A tervezs 12 654 712 23 sorn ltalban meg szoktk adni, mely attribtumok fogjk a kulcsokat alkotni. Elvileg egy egyednek tbb kulcsa is lehet, de a legtbb esetben egyet szoks kivlasztani, amely a leginkbb alkalmas az egyrtelm azonostsra. Ezt hvjuk elsdleges kulcsnak. Kulcsjelleg tulajdonsg mindig tallhat. Ha a tnyleges adatok kztt nem lenne ilyen, akkor bevezethetnk egy olyan tulajdonsgot, amelynek rtkei sorszmok, kdszmok, specilis azonostk. Ez betltheti az elsdleges kulcs szerept. Lthatjuk hogy az azonostk, kdszmok szinte minden alkalmazsnl elfordulnak. A szmtgp jellegbl addan ezek alkalmasak az elfordulsok pontos meghatrozsra. Bizonyos esetekben a laikus felhasznl szmra nehzsget okozhat, hogy a kdnl mr egy apr elrs is egsz ms eredmnyt szolgltathat. Aki szmtgppel dolgozik, annak tudomsul kell venni a kdok hasznlatt, s pontos munkra kell trekednie.

Kapcsolat Az adatmodell harmadik fontos elemt a kapcsolatok jelentik. Kapcsolatnak nevezzk az egyedek kztti sszefggst, viszonyt. Pldul a mr jl ismert brszmfejt rendszerben a dolgoz s a kifizets egyedek kztt ltezik egy termszetes kapcsolat. Ez azt mondja meg, hogy az egyes dolgozkhoz mely kifizetsek tartoznak. A fentiek alapjn kapcsolatok az egyedhalmazok elemei kztt alakthatk ki. Osztlyozhatjuk a kapcsolatokat aszerint, hogy egy-egy elemhez hny msik elem tartozik. Ennek a kapcsolat szmtgpes reprezentcija szempontjbl van jelentsge. Sokkal egyszerbb ugyanis egy olyan kapcsolatot megvalstani, ahol egy egyed elfordulshoz csak egyetlen msik egyed elforduls tartozhat, mint ha tbb. Az elbbinl elegend lehet egy mutat, mg az utbbinl valamilyen sszetett adatstruktrra van szksg, pldul halmazra, vagy listra. A kapcsolatokat ezek alapjn hrom csoportba szoks sorolni: Egy-egy tpus Egy-sok tpus Sok-sok tpus Egyegy tpus kapcsolat esetn az egyik egyed minden egyes elfordulsnak a msik egyed pontosan egy elfordulsa tartozik. Egyegy tpus kapcsolat pldul a frfi s a n egyedek kztt a hzastrs kapcsolat. A kvetkez csoportot az egy-sok tpus kapcsolatok alkotjk. Ezeknl az egyik egyed minden elfordulshoz a msik egyed tbb elfordulsa tartozhat. Pldul a brszmfejt rendszerben egy-sok kapcsolat van a dolgozk s a kifizetsek kztt. A kapcsolat alapja az, hogy melyik dolgozhoz mely kifizetsek tartoznak. Vilgos, hogy egy dolgozhoz tbb kifizets tartozhat, viszont egy kifizets mindenkppen csak egyetlen dolgozhoz kapcsoldik. A kapcsolatok legltalnosabb formjt a sok-sok kapcsolatok jelentik. Sok-sok kapcsolat esetn mindkt egyed elfordulsaihoz a msik egyed tbb elfordulsa tartozhat. Tegyk fel hogy dolgozi rendszernkben azt is nyilvntartjuk, hogy melyik dolgoz milyen tmkon dolgozik. Egy dolgoz tbb tmban is tevkenykedhet s egy tmn tbb dolgoz dolgozhat. Ebben az esetben teht sok-sok kapcsolatrl van sz. Ezt a kvetkez bra ezt szemllteti.

A sok-sok kapcsolatok lthatan egy-sok kapcsolatokon alapszanak. Ha brmelyik egyed szempontjbl nzzk, akkor egy-sok kapcsolatot fedezhetnk fel. Ezrt minden sok-sok kapcsolat felbonthat kt egy-sok kapcsolatra. Az eddigiekben olyan kapcsolatokrl beszltnk, amelyek kt egyed kztt ltesthetk. Ezek az gynevezett binris kapcsolatok.

Adatbzis tervezs, s eszkzei Az adatbzis megtervezshez elssorban tudnunk kell, hogy milyen adatbzis-kezel programot hasznlunk. A relcis adatbzis-kezelnl, mint a relcis adatbzis-kezelknl rendszerint az adatokat csoportostjuk, s az egymssal szoros sszefggsben lv adatokat ugyanabban a tblban troljuk, majd meghatrozzuk, hogy az gy kapott tblk milyen kapcsolatban vannak egymssal. Teht egy adatbzis megtervezse, ltrehozsa igen sszetett feladat, s ignyel nmi kreativitst. Az adatbzisokat gy kell megtervezni, hogy eleget tegyenek bizonyos kritriumnak, pldul, hogy minimlis legyen bennk az adatredundancia, teljesljenek a klnbz adatfggetlensgek, stb. Nincs ltalnos tervezsi technika, mely alkalmazhat lenne minden adatbzis elksztshez, de van menete, melyet rdemes kvetni. Mindenekeltt, meg kell hatroznunk a clokat, melyek szoros kapcsolatban vannak a felhasznl ignyeivel. A tervezsnl fontos, hogy a tervezst vgz szemly kell ismeretekkel rendelkezzen az adott rendszer felhasznlinak szakterletn. Ez az informciigny meghatrozsnak szakasza, amely sorn az adatok, formtumok, algoritmusok kialaktst is el kell vgezni. Jellemz, hogy a tervezst ltalban nem a programoz vgzi, hanem a szervez, aki jrtas a tervezsben, mely sorn megismeri a pontos felhasznli ignyeket. Alapos kutatst vgez, segtsgre lehetnek klnbz jelentsek, dokumentumok, melyek forrsknt szolglhatnak a rendszer megtervezshez. Miutn mindezeket megvalstottuk, kezddhet a logikai adatbzis-tervezs. Ebben a szakaszban fknt az adatok s a kzttk lv kapcsolatokra helyezdik a hangsly. Itt trtnik az egyedek meghatrozsa, megadsra kerlnek az egyedeket ler tulajdonsgok, valamint feltrkpezsre kerlnek az egyedek kztti kapcsolatok, mindemellett gyelve az adatredundancia minimalizlsra. A fizikai tervezs szakasza jobban elklnl az els kt szakasztl, ahol is az adatbzisok szmtgpen trtn ltrehozsa valsul meg a korbbi tervek alapjn. Elkszl a prototpus, a rendszer els verzija, ami mg nem teljes, vltoztatsra, tkletestsre szorul.

Az adatbzis tervezs fbb lpsei Az adatbzis tervezs egy folyamat, mely tbb lpsbl tevdik ssze. Elszr az adatbzisban lekpezend rendszert elemzsnek vetjk al s meghatrozzuk a troland 26 adatok krt, azok egyms kztti kapcsolatait s az adatbzissal szemben felmerl ignyeket. Ezutn kvetkezik a rendszer tervezs, melynek eredmnye az adatbzis logikai modellje. Vgl fizikai szinten kpezzk le a logikai adatbzis modellt a felhasznlhat szoftver s hardver fggvnyben.

1. Kvetelmnyelemzs: elszr is meg kell hatroznunk az adatbzis cljt. Kutatst kell vgeznnk a rendszer megtervezshez. t kell gondolnunk, milyen informcikhoz szeretnnk jutni az adatbzisbl s, hogy melyek azok az adatok amelyeket trolnunk kell az egyedrl. 2. Egyedek, tblk meghatrozsa: az sszegyjttt adatokat rendszerezsk utn informcirendszerbe kell szervezni. Ez az informcirendszer egyedekkel foglalkozik. Az egyedek trolsa fizikailag egy tblban trtnik, melynek soraiba (rekordjaiba) kerlnek az egyedpldnyok, a rekord mezibe (oszlopokba) pedig az attribtumok. Fontos, hogy minden adatot csak egy tblban troljunk, azrt, hogy a ksbbi mdostskor csak egy helyen kelljen frissteni az adatokat. Egy tblban csak egy adott tmra vonatkoz informcit trolunk. 3. Mezk, attribtumok meghatrozsa: ez a konkrt tervezs szakasza, itt tervezzk meg a tblkat, valamint meghatrozzuk a tblkat felpt mezket. Az attribtumokat osztlyozhatjuk az albbiak szerint: a. egyszer, azaz tovbb nem bonthat, valamint sszetett. Az sszetett attribtum tbb egyszer rtkbl ll. b. egyrtk: minden elfordulsnl csak egy rtket vehet fel. A tbbrtk minden elfordulsnl tbb rtket is felvehet. c. a trolt attribtum rtkeit az adatbzis trolja. A szrmaztatott rtke ms attribtumok alapjn hatrozhat meg. 4. Azonostk meghatrozsa: fontos, hogy a tblkban trolt adatokat egyrtelmen kell azonostani. Elsdleges kulcsra minden olyan tblban szksg van, amelynek rekordjait egyenknt szeretnnk azonostani. Az elsdleges kulcs olyan azonost, amelynek rtkei nem ismtldhetnek az adott tblban. Az elsdleges kulcsnak fontos szerepe van a relcis adatbzisokban. Segtsgvel nvelhetjk a hatkonysgot, gyorstja a keresst s az adatok sszegyjtst. Hromfle elsdleges kulcs alkalmazhat: a. szmll tpus: ez a legegyszerbb elsdleges kulcs. Ilyenkor ltre kell hozni egy szmll tpus mezt. Az Access minden egyes j rekord szmra egyedi sorszmot generl b. egy mezbl ll elsdleges kulcs: a kulcs nem szmll tpus, ha nem tartalmaz egyetlen ismtld rtket sem (pldul adszm). c. tbb mezbl ll elsdleges kulcs: ilyen kulcsot tbb mez felhasznlsval kpeznk. Erre akkor kerl sor, ha egyetlen mez egyedisgt sem tudjuk biztostani. 5. Kapcsolatok meghatrozsa: a tblk rekordjait kapcsoljuk ssze az elsdleges kulcsmezk segtsgvel. A kapcsolat 2 egyed sszetartozst jelenti. A kapcsolat szmossgt hrom csoportba oszthatjuk: (ezt a ksbbiekben trgyaljuk bvebben) a. Egy az egyhez kapcsolat. b. Egy a tbbhz kapcsolat. c. Tbb a tbbhz kapcsolat. 6. Ellenrzs: A mezk, tblk s kapcsolatok megtervezse utn meg kell nzni a tervet, hogy nem maradt-e benne hiba. Kzvetlenl az ellenrzs utn knnyebb az adatbzis tervt mdostani, mint amikor mr fel van tltve adatokkal. 7. Adatbevitel: miutn elvgeztk a szksges javtsokat s ellenrzseket, bevihetjk az adatokat a mr ltez tblkba. Tovbb kialakthatjuk a tbbi objektumot. Van lehetsg rlapok, jelentsek s lekrdezsek ksztsre (ezekrl ksbb rszletesen).