Főoldal | Könyvlista | Gyorskereső

Átmenetileg a rendelés és szállítás szünetel
Adatbázis-tervezés - A relációs adatbázisok alapjairól földi halandóknak

Adatbázis-tervezés

A relációs adatbázisok alapjairól földi halandóknak

Michael J. Hernandez:
Adatbázis-tervezés
A relációs adatbázisok alapjairól földi halandóknak

Megjelenés: 2004
Kiskapu Kiadó
464 oldal, bolti ár: 4950,- Ft

Internetes ár (-5%): 4703,- Ft

db

A könyv ismertetése

Vissza a lap tetejére | A könyv tartalomjegyzéke

Michael J. Hernandez:
Adatbázis-tervezés

Ennek a könyvnek az elolvasásához nincs szükség semmiféle adatbázis-tervezési háttérre. Az Olvasó minden bizonnyal azért tartja a kezében, mert szeretné elsajátítani a jó adatbázis-tervezés fogásait. Aki most kezd el adatbázis-kezeléssel foglalkozni, és saját adatbázisok kifejlesztésén gondolkozik, nagy hasznát veheti ennek a műnek. Sokkal jobb megoldás ugyanis előbb alaposan megtanulni, hogyan is kell megfelelő szerkezetű adatbázist készíteni, sem mint próbálgatással tölteni az időnket.

Annak is érdemes eleolvasni ezt a könyvet, aki már jó ideje dolgozik adatbázisokkal, és késznek érzi magát arra, hogy új adatbázisokat hozzon létre. Az ilyen embereknek általában egészen pontos elképzelésük van arról, milyen is egy jó adatbázis, de többségük rendszerint bizonytalan azzal kapcsolatban, hogyan lehet azt megvalósítani. Így aztán sokan szembesültek már azzal a problémával, hogy utólag rengeteg kódot kellett írniuk ahhoz, hogy az általuk tervezett adatbázis valóban jól működjön. Nos, éppen ezt kerülheti el az, aki végigolvassa ezt a könyvet.

Hasznos olvasmány lehet azután ez a könyv azoknak is, akik már rendelkeznek némi tervezési háttérrel, tanultak adatbázis-tervezést az egyetemen, de egyes részekre talán nem emlékeznek biztosan. Ezek a kérdések bizonyosan letisztulnak majd, ha a könyvben bemutatott tervezési folyamatokat végigkövetjük.

Végezetül hasznos olvasmány lehet ez a könyv a tapasztalt adatbázis-fejlesztők és programozók számára is. Bár számukra a bemutatott tervezési folyamat sok részlete ismerős lesz, valószínűleg ők is találnak néhány olyan elemet, amelyekkel eddig még nem találkoztunk. Előfordulhat az is, hogy a könyv anyagának áttekintése után új ötleteik támadnak hiszen korábbi ismereteiket itt egészen más nézőpontból vizsgálhatják meg.

Bevezető

Az egyszerű főzést nem lehet egyszerű szakácsokra bízni.
- Countess Morphy

A múltban az adatbázisok tervezése az informatikai szakemberek és a hivatásos adatbázis-fejlesztők feladata volt. Ezek az emberek általában matematikai, számítástechnikai vagy rendszertervezői háttérrel rendelkeztek, és többnyire nagygépes adatbázisrendszerekkel dolgoztak. Sokan közülük tapasztalt programozók voltak, akik számos, több ezer sorból álló adatbázis-alkalmazás fejlesztését tudhatták maguk mögött. (Ezek az emberek munkájuk természetéből és fontosságából adódóan rendszerint igen túlterheltek voltak.)

Akkoriban az adatbázisok tervezése szilárd oktatási hátteret igényelt, mivel e rendszerek nagy részét egy teljes vállalat használta. Még abban az esetben is, ha csak egy részleg vagy egy kisebb cég számára kellett adatbázist tervezni, a tervezők felkészítése sokrétű oktatást igényelt, mivel meglehetősen összetett programozási nyelveket és adatbázis-alkalmazásokat kellett használniuk. Az eszközök fejlődésével azonban ezek a követelmények megváltoztak.

Az 1980-as évek közepétől kezdve sok szoftvergyártó foglalkozott asztali gépeken futtatható adatbázisprogramok fejlesztésével. Ezen eszközök programozása sokkal egyszerűbb volt, mint nagygépeken futó társaikéi. Megjelentek azok a programok is, amelyek lehetővé tették, hogy emberek egy csoportja központosított adatokat osszon meg egymással a helyi hálózat ügyfél-kiszolgáló rendszerein, nagyterületű hálózatokon vagy akár az Interneten keresztül. A cégek és a különféle szervezetek nem függtek többé a nagygépes adatbázisoktól, adatigényeik kielégítéséhez pedig nem volt szükség központi IT részlegekre. Az évek során a gyártók sok új szolgáltatással egészítették ki eszközeiket, így egyre hatékonyabb és egyre rugalmasabb adatbázis-alkalmazások fejlődtek ki. Lényegesen leegyszerűsödött a programok használata is, ami egyre inkább arra ösztönözte az embereket, hogy maguk tervezzék meg adatbázisaikat. A mai adatbázis-alkalmazások hihetetlen mértékben leegyszerűsítik a hatékony adatbázis-szerkezetek és a hozzájuk kapcsolódó felhasználói felületek létrehozásának folyamatát.

A legtöbb program mintaadatbázisokat tartalmaz, amelyeket lemásolhatunk, és saját igényeinkre szabhatunk. Bár első ránézésre igen előnyösnek tűnik, hogy saját adatbázisainkat ezek alapján készítsük el, érdemes megállni és elgondolkozni egy kicsit. Miért? Azért, mert ezzel a módszerrel könnyen előfordulhat, hogy a létrejövő adatbázisterv nem lesz elég hatékony vagy éppen nem lesz teljes. Végül, komoly gondokba ütközhetünk az addig megbízhatónak hitt adatbázisunkban. Ez természetesen felveti a kérdést: milyen gondokról van szó?

A legtöbb probléma, amellyel egy adatbázisban találkozhatunk, két csoportra osztható: alkalmazásbeli problémák és adatproblémák. Az alkalmazásbeli probléma lehet például az adatbevitel nehézkessége, a menük átláthatatlansága, a párbeszédablakok zavarossága és a fárasztó munkafolyamatok szükségessége. Ezek a gondok általában akkor jönnek elő, ha a tervező nem elég tapasztalt, nincs tisztában a jó alkalmazás-tervezés módszereivel, vagy nem ismeri eléggé az adatbázis megvalósításához használt programot. Az ilyen jellegű problémák igen gyakoriak, és foglalkoznunk kell velük, ebben a könyvben azonban nem térünk ki erre a témára.

Megjegyzés: az alkalmazásbeli problémák egyik megoldása lehet, ha beszerzünk néhány, a fejlesztéshez használt programról írt tankönyvet. Ezekből a könyvekből sokat megtanulhatunk az alkalmazás-tervezésről, a haladó programozási megoldásokról és az alkalmazások jobbá tételéhez kapcsolódó tippekről és trükkökről. Az új ismeretek birtokában kijavíthatjuk adatbázis-alkalmazásunk hibáit.

Az adatokkal kapcsolatos problémák között megemlíthetjük a hiányzó, a helytelen, az egymáshoz nem illeszkedő és a pontatlan adatokat. Az ilyen típusú gondok hátterében általában a nem megfelelő adatbázis-tervezés áll. Az adatbázis nem fogja tudni kielégíteni a szervezet igényeit, ha nem megfelelő a szerkezete. Bár a rossz tervezésért általában az adatbázis-tervezés elveit nem ismerő adatbázis-fejlesztő okolható, nem szükségszerű, hogy ez rossz fényt vessen a fejlesztőre. Sok olyan fejlesztő van, még a legtapasztaltabbak között is, akik soha nem tanultak adatbázis-tervezést. Sokan még azt sem tudják, hogy különféle tervezési módszerek léteznek. A könyvben az adatokhoz kapcsolódó problémákkal és a rossz tervezéssel foglalkozunk.

A második kiadás újdonságai

Az új kiadásban igyekeztünk javítani az anyag olvasmányosságát, frissíteni és kibővíteni a meglévő témákat, új tartalommal egészíteni ki azt és növelni a könyv oktatási értékét. A második kiadásban a következő változásokkal találkozhatunk:

     A legtöbb szöveget átírtuk, és olvashatóbbá tettük.

     Az ábrák és az illusztrációk nagy részét letisztáztuk.

     Ahogy a szöveg változása vagy az új szövegrészek megjelenése megkívánta, új ábrákat és illusztrációkat helyeztünk el az anyagban.

     Az 1. fejezetben a relációs adatbázis-kezelő rendszerekről és a relációs modellről szóló részt kiegészítettük a jelenlegi fejlesztésekről és az iparág általános haladási irányáról szóló részekkel.

     A könyvben bemutatott tervezési módszerek hátteréről a 2. fejezetben beszélünk.

     A 3. fejezetben nagyobb részletességgel beszélünk a null értékekről és a sok-sok kapcsolatokról.

     A 6. fejezetben weboldal alapú példákat találunk.

     A 7. fejezetben kibővítettük a többértékű mezőkről és a részhalmaz táblákról szóló részeket.

     A 8. fejezetben nagyobb részletességgel beszélünk az elsődleges kulcsokról.

     Frissítettük és átterveztük a mező-meghatározások táblázatát, hogy olvashatóbb legyen.

     A 9. fejezetben kibővítettük az adattípus mezőleíró elemet, hogy betekintést nyerjünk az SQL adattípusaiba.

     A 10. fejezetben szót ejtünk az önmagukra hivatkozó kapcsolatokról és a Deny, Nullify és Set Default törlési szabályokról.

     Az 1-12. fejezetek végén összefoglaló kérdéseket helyeztünk el; a válaszokat az A függelékben találjuk meg.

     A B függelékben elhelyeztünk egy folyamatábrát, amely gyors áttekintést ad a tervezési folyamatról.

     A különböző tervezési irányvonalakat a C függelékben foglaltuk össze.

     A C függelékben található szószedet a könyvben használt kifejezések gyorsabb kikeresését segíti.

     A könyvhöz mellékelt CD-n PDF formátumú fájlokat találunk. Ezek a fájlok a B-F függelékek anyagát tartalmazzák.

Kiknek ajánljuk ezt a könyvet?

A könyv elolvasásához nincs szükség semmiféle adatbázis-tervezési háttérre. Az Olvasó minden bizonnyal azért tartja a kezében ezt a könyvet, mert szeretné elsajátítani a jó adatbázis-tervezés fogásait. Ha most kezdünk el adatbázis-kezeléssel foglalkozni, és saját adatbázisaink kifejlesztésén gondolkozunk, akkor nagy hasznát vesszünk majd a könyvnek. Jobb, ha először megtanuljuk, hogyan kell megfelelő adatbázist készíteni, mintha próbálgatással jönnénk rá erre. Az utóbbi megoldás sokkal több időbe kerül,

Ha azok közé az emberek közé tartozunk, akik már jó ideje dolgoznak adatbázisokkal, és készen állunk arra, hogy új adatbázisokat hozzunk létre cégünk számára, akkor is érdemes elolvasni ezt a könyvet. Valószínűleg van valami elképzelésünk arról, milyen egy jó adatbázis, de bizonytalanok vagyunk azzal kapcsolatban, hogyan lehetne megvalósítani. Talán készítettünk már egy pár adatbázist néhány egyszerű alapelv betartásával, a végén azonban mindig oda lyukadunk ki, hogy rengeteg kódot kell írnunk ahhoz, hogy az adatbázis megfelelően működjön. Ebben az esetben is hasznos lesz a könyv elolvasása.

Jó lenne elolvasni ezt a könyvet azoknak is, akik már rendelkeznek némi tervezési háttérrel. Talán tanultunk adatbázis-tervezést az egyetemen, de nem biztos, hogy minden részletre emlékszünk még; az is lehet, hogy nem értettük tökéletesen a tervezési folyamat minden részét. A problémás kérdések bizonyosan letisztulnak majd, ha megértjük és a magunkává tesszük a könyvben bemutatott tervezési folyamatot.

Ez a könyv hasznos olvasmány a tapasztalt adatbázis-fejlesztők és programozók számára. Bár az itt bemutatott tervezési folyamat sok részlete ismerős lesz, valószínűleg találunk néhány olyan elemet is, amelyekkel eddig még nem találkoztunk. Előfordulhat az is, hogy a könyv anyagának áttekintése után új ötleteink támadnak az adatbázis-tervezéssel kapcsolatban, mivel a korábban is ismert tervezési lépéseket más nézőpontból vizsgálhatjuk meg. Végül, a könyv mindenki számára nagyszerű emlékezetfrissítő.

Megjegyzés: azoknak, akik égető vágyat éreznek arra, hogy belevessék magukat az adatbázisok világába (elsajátítsák az adatbázis-tervezés, -elemzés, -megvalósítás, és -felügyelet, illetve az alkalmazásfejlesztés stb. részleteit), célszerű elolvasni az ajánlott irodalomban felsorolt könyvek nagy részét. Bár a fenti témákat ez a könyv nem érinti, jó kiindulási pont lehet ahhoz, hogy elinduljunk az adatbázis-szakértők világába.

A könyv célja

Az adatbázis-fejlesztés folyamatát három szakaszra bonthatjuk:

1.   Logikai tervezés. Az első szakaszhoz tartozik a táblák és a mezők meghatározása, az elsődleges és az idegen kulcsok kiválasztása, a táblák közötti kapcsolatok leírása és az adatépség különböző szintjeinek megvalósítása.

2.   Fizikai megvalósítás. A második szakasz a táblák létrehozását, a kulcsmezők és a táblák közötti kapcsolatok kialakítását és az adatépség különböző szintjeinek megvalósításához szükséges eszközök használatát jelenti.

3.      Alkalmazásfejlesztés. A harmadik szakaszban egy alkalmazást hozunk létre, amely hozzáférést biztosít a felhasználó (vagy felhasználók) számára az adatbázisban tárolt adatokhoz. Az alkalmazásfejlesztési szakaszt különféle folyamatokra bonthatjuk. Ilyen többek között a végfelhasználói feladatok azonosítása, a jelentésekben feltüntetni kívánt adatok összegyűjtése és az alkalmazás bejárásához szükséges menürendszer létrehozása.

Először mindig a logikai tervet kell elkészítenünk, lehetőleg minél teljesebben. Miután kialakítottuk a szerkezetet, bármilyen adatbázis-szoftverrel létrehozhatjuk azt. A megvalósítás szakaszába lépve elképzelhető, hogy a választott adatbázisprogram tulajdonságaiból kifolyólag módosítanunk kell az adatbázis szerkezetét. Még az is lehet, hogy az adatfeldolgozás teljesítményének növelése miatt döntünk az adatbázis-szerkezet megváltoztatása mellett. A logikai terv elkészítése során tudatosan, módszeresen és megalapozott döntésektől vezérelve alakítjuk ki az adatbázis szerkezetét. Ennek eredményeképpen kicsire csökken annak a valószínűsége, hogy a fizikai megvalósítás és az alkalmazásfejlesztés szakaszában kell majd megváltoztatnunk azt.

Ez a könyv a teljes fejlesztési folyamatból kizárólag a logikai tervezéssel foglalkozik. A könyv fő célja, hogy az adatbázisokhoz kapcsolódó könyvek nagy részénél megszokott hagyományos, nehezen érthető módszerek nélkül vezesse be az Olvasót a relációs adatbázisok tervezésének folyamatába. Ezt elsősorban azzal próbáljuk elérni, hogy a tervezési folyamatról könnyen emészthető módon beszélünk. Ezen kívül egyszerű adatmodellezési megoldást választottunk, és igyekeztünk a teljes folyamatot felesleges technikai szakkifejezések nélkül bemutatni.

Számos olyan adatbázis-tervezési könyv van a piacon, amely egy meghatározott eszköz használatán keresztül mutatja be az adatbázis-készítés fortélyait, sőt olyan könyvek is léteznek, amelyek összemossák egymással a tervezés és a megvalósítás fázisait. (Én magam soha nem értettem egyet a kettő összekapcsolásával. Mindig is úgy tartottam, hogy a logikai tervezésnek és a megvalósításnak élesen el kell különülnie egymástól, mivel csak így biztosítható a megfelelő hatékonyság.) Az ilyen könyvek legnagyobb hátránya, hogy nehéz kinyerni belőlük a hasznos adatokat azok számára, akik nem szeretnének a kérdéses adatbázis-alkalmazással dolgozni. Ezért határoztam el, hogy olyan könyvet írok, amely szigorúan az adatbázisok logikai megtervezésével foglalkozik.

Megvalósítási, SQL- és alkalmazás-programozási kérdésekkel ebben a könyvben nem foglalkozunk, számos hasznos kiadványt ajánlhatunk azonban ezekhez a témákhoz. A könyvek listájáért keressük fel a http://www.ForMereMortals.com honlapot.

Szándékaink szerint ez a könyv olvashatóbb lesz, mint a témában írt egyéb kiadványok. A piacon fellelhető adatbázis-tervezéssel foglalkozó könyvek magas szakmai képzettséget feltételeznek, ezért nehéz elsajátítani az anyagukat. Az hiszem, e könyvek nagy része nehéz olvasmány azok számára, akik nem informatikai, adatbázis-elméleti vagy adatbázis-programozási szakemberek. A könyvben bemutatandó tervezési alapelvek könnyen érthetők és megjegyezhetők, a példák pedig elég mindennaposak és általánosak ahhoz, hogy széles körben alkalmazhatók legyenek.

A legtöbb ember, akikkel országjárásom során összefutottam, azt mondta nekem, hogy szeretné megtanulni, milyen a jó adatbázis-szerkezet, de anélkül, hogy át kellene rágnia magát a matematikai elméleteken. Voltak, akik nem az adatbázis megvalósításától féltek, hanem a megfelelő adatszerkezetek kiválasztásától és az adatok épségének biztosításától. A könyv segít megismerni a hatékony adatbázis-szerkezeteket, segít megvalósítani adatbázisainkban a többszintű adatépséget, és kiderül belőle az is, hogyan nyerhetünk ki adatokat az egymással összekapcsolt táblákból. Ne aggódjunk: mindez nem annyira bonyolult, mint amilyennek elsőre látszik. Néhány kulcsfontosságú fogalom és a leggyakoribb fogások elsajátítása után az Olvasó is képes lesz ezekre.

Megtanuljuk azt is, hogyan elemezhetjük és tehetjük jobbá meglévő adatbázisainkat, hogyan határozhatjuk meg az adatokkal kapcsolatos követelményeket, és hogyan valósíthatjuk meg a működési szabályokat. Fontos témák ezek, mivel sokszor régi adatbázisokra kell majd alkalmaznunk a könyvben tanultakat. Nem kevésbé fontosak azonban ezek a kérdések akkor sem, amikor nulláról kell felépítenünk egy adatbázist.

A könyv elolvasása után birtokunkban lesz az a tudás és azok az eszközök, amelyekre egy jó relációs adatbázis-szerkezet kialakításához szükségünk lehet. Bízom benne, hogy bemutatott folyamat a legtöbb fejlesztő és a legtöbb adatbázis számára megfelelő lesz.

Hogyan olvassuk a könyvet?

Melegen ajánlom ezt a könyvet mindenki számára a kezdőktől a haladókig, függetlenül attól, milyen szinten foglalkoztak eddig adatbázis-tervezéssel. Mivel összefüggésükben olvashatunk a különböző lépésekről, nem fordulhat elő, hogy egyszerre csak elveszítjük a fonalat. Célszerű a teljes folyamatot áttekinteni, mielőtt elmerülnénk a részletekben.

Ha azért olvassuk ezt a könyvet, hogy felfrissítsük tervezési ismereteinket, akkor elég, ha azokra a részekre összpontosítunk, amelyek valóban érdekelnek bennünket. A lehetőségekhez mérten igyekeztem úgy megírni az egyes fejezeteket, hogy megálljanak a saját lábukon; ennek ellenére érdemes minden fejezetbe belelapozni, hogy biztosak lehessünk abban, hogy egyetlen új ötletről sem maradunk le.

A könyv felépítése

Tekintsük át röviden, mit találunk az egyes fejezetekben.

I. rész: Relációs adatbázis-tervezés

Ebben a részben bevezetést kapunk az adatbázisok, illetve az adatbázis-tervezés világába, és megismerünk néhány olyan fogalmat, amelyekre szükségünk lesz ahhoz, hogy megérthessük a könyvben bemutatott tervezési folyamatot.

1. fejezet. A relációs adatbázis című fejezetben áttekintjük az adatbázisok típusait, a gyakori adatbázis-modelleket és a relációs adatbázisok rövid történetét.

2. fejezet. A Tervezési célok című fejezetben megnézzük, miért olyan fontos a tervezés, kitűzzük a célokat, megismerkedünk a jó tervezés előnyeivel és rövid összefoglalást kapunk a normalizálásról és a normálformákról.

3. fejezet. A Fogalmak című fejezetben megtaláljuk azokat a kifejezéseket, amelyekre szükségünk lesz ahhoz, hogy megértsük és megtanuljuk a könyvben bemutatott tervezési módszereket.

II. rész: A tervezési folyamat

A II. részben részletesen foglalkozunk az adatbázis-tervezés folyamatának szakaszaival, többek között a táblaszerkezetek kialakításával, az elsődleges kulcsok létrehozásával, a mező-meghatározások megadásával, a táblák közötti kapcsolatok felépítésével, a nézettáblák elkészítésével és az adatépség különböző szintjeinek létrehozásával.

4. fejezet. A Fogalmi áttekintés áttekintést ad a tervezési folyamatról, így láthatjuk, hogyan illeszkednek egymáshoz annak részei.

5. fejezet. A tervezési folyamat kezdete című fejezetből kiderül, hogyan fogalmazhatjuk meg az adatbázis céljait meghatározó leírást (küldetési leírás) és az adatbázis részfeladatait (küldetési célok). A tervezési folyamat elején kizárólag erre a két dologra kell összpontosítanunk.

6. fejezet. Az Adatbázis-elemzés című fejezet a meglévő adatbázishoz kapcsolódó kérdéseket boncolgatja. Megismerjük az adatbázis elemzését indokoló okokat, megnézzük az érvényben lévő adatgyűjtési és megjelenítési megoldásokat, beszélünk a felhasználók és a menedzsment kikérdezéséről és a kezdeti mezőlista kialakításáról.

7. fejezet. A táblaszerkezetek kialakítása olyan témákat takar, mint az adatbázis témájának meghatározása, a mezők elhelyezése a táblákban és a táblaszerkezetek finomítása.

8. fejezet. A Kulcsok című fejezetben megismerkedünk a kulcs fogalmával és a tervezési folyamatban betöltött jelentőségével. Megtudhatjuk, hogyan készíthetünk kulcsjelölteket és elsődleges kulcsokat a táblákhoz.

9.fejezet. A Mező-meghatározások olyan témával foglalkozik, amellyel az adatbázis-fejlesztők általában nem szeretnek. A mező-meghatározások azon kívül, hogy jelzik, hogyan jön létre a mező, megadják a mezőben tárolt értékek típusát is. A fejezetben szó lesz a mező-meghatározások fontosságáról, a meghatározás jellemzőinek típusairól, és a meghatározások elkészítésének mikéntjéről.

10. fejezet. A Táblakapcsolatok című fejezetben a táblák közötti kapcsolatok fontosságával, a kapcsolatok típusaival, létrehozásával és jellemzőivel foglalkozunk.

11. fejezet. A Működési szabályok című fejezet a működési szabályok típusaival, azok meghatározásával és az érvényesítő táblák használatával foglalkozik. A működési szabályok nagyon fontosak az adatbázisban, mivel jól elkülönülő adatépségi szintet biztosítanak.

12. fejezet. A Nézettáblák című fejezetben megismerhetjük a nézettábla fogalmát, jelentőségét, a nézettáblák típusait és létrehozásuk módját.

13. fejezet. Az adatépség áttekintése az előző fejezetekben megismert adatépségi szinteket veszi számba. A fejezetből megtudhatjuk, hogy az adatbázis végleges tervének átvizsgálásakor minél teljesebb adatépségre kell törekednünk.

III. rész: Egyéb adatbázis-tervezési kérdések

Ebben a részben olyan témákról lesz szó, mint a rossz tervezés megelőzése és a tervezési folyamatban megfogalmazott szabályok megkerülése.

14. fejezet. A Rossz tervezés - mit ne csináljunk? című fejezet az elkerülendő tervezési megoldásokat veszi számba, többek között az egyszintű és a táblázatos módszert.

15. fejezet. A szabályok megkerülése vagy megszegése azokat a ritka eseteket gyűjti össze, amelyekben kénytelenek leszünk eltérni a tervezési folyamatban lefektetett alapelvektől. A fejezetből kiderül, mikor hághatjuk át a szabályokat és az is, hogy hogyan.

IV. rész: Függelékek

A függelék. A Válaszok az áttekintő kérdésekre függelék az 1-12. fejezetek végén található kérdések válaszait gyűjti össze.

B függelék. Az adatbázis-tervezés folyamatábrája egy ábrát tartalmaz, amely a teljes adatbázis-tervezési folyamatot felöleli.

C függelék. A Tervezési irányelvek egy jól áttekinthető hivatkozási anyag a könyvben megjelenő tervezési irányelvekhez.

D függelék. A Dokumentációs űrlapok című függelékben kitöltetlen mező-meghatározásokat, működésiszabály-leírásokat és nézetleírásokat találunk, amelyeket lemásolva felhasználhatunk.

E függelék. A Szimbólumok az adatbázis-tervezésben gyors áttekintést ad a könyvben használt különféle szimbólumokról.

F függelék. A Mintatervek című függelék minta adatbázisterveket tartalmaz, amelyeket saját adatbázisaink alapjául is felhasználhatunk.

G függelék. Az Ajánlott irodalom egy könyvlista, amelyet érdemes elolvasni, amennyiben mélyebben érdeklődünk a különféle adatbázis-megoldások iránt.

A Szószedet a könyvben használt szavak és kifejezések meghatározásait gyűjti össze.

A könyvben szereplő példák és megoldások

Látni fogjuk, hogy a könyv számos különféle példát tartalmaz. Igyekeztünk általános, ugyanakkor jól használható példákat készíteni. Ennek ellenére észrevesszük majd, hogy számos példa túlságosan is le van egyszerűsítve, nem teljes, sőt időnként még helytelen is. Akár hiszi az Olvasó, akár nem, ezeket pontosan ilyenre szerettem volna elkészíteni.

A hibás példák különféle fogalmak és megoldások bemutatására szolgálnak. E példák nélkül nem láthatnánk, hogyan használhatjuk ezeket a megoldásokat a valóságban, és nem láthatnánk azt sem, milyen eredményre számíthatunk a használatuk során. Egyes példákat azért egyszerűsítettem le, hogy az Olvasó magára a megoldásra vagy az alapelvre összpontosíthasson, és ne vonja el a figyelmét a példa. Sokféleképpen megvalósíthatunk például egy megrendeléseket nyilvántartó adatbázist, a könyvben használt példa szerkezete azonban nagyon egyszerű, mivel a cél a tervezési folyamat bemutatása, nem pedig egy kidolgozott adatbázis-rendszer elkészítése volt.

A következőt szeretném tehát kihangsúlyozni: mindig az alapelvekre és a megoldásokra összpontosítsunk, ne pedig az azok bemutatásához használt példákra.

Új megközelítés a tanuláshoz

A következőkben egy olyan megközelítést mutatok be, amely az adatbázis óráimon nagyon hasznosnak bizonyult a tervezési folyamat elsajátításához.

Gondoljunk a tervezési folyamat során használt megoldásokra mint szerszámokra; minden szerszám (vagy megoldás) egy meghatározott célt szolgál. Ha egyszer megtanultunk használni egy szerszámot, akkor később számos különféle helyzetben alkalmazhatjuk azt. Ennek oka az, hogy a szerszámot mindig ugyanúgy kell használni.

Vegyük például egy állítható csavarkulcsot. Ezt általában arra használjuk, hogy meghúzzunk vagy meglazítsunk vele egy csavart. A kulcs nyílásának méretét a fejénél elhelyezett csavarral állíthatjuk be. Miután ezzel tisztában vagyunk, próbáljuk ki az eszközt néhány csavarral. Nézzük meg a kerti szék lábait, egy motor szelepfedelét, a kültéri hűtőegység oldalát vagy a kapu sarokvasait. Észrevettük, hogy bárhol is található a csavar, mi a kulcs segítségével mindig ugyanúgy meg tudjuk húzni, és ki tudjuk lazítani?

Az adatbázisok tervezéséhez használt eszközök pontosan ugyanígy működnek. Ha egyszer megtanuljuk az eszköz használatát, akkor ugyanúgy használjuk majd, függetlenül attól, milyen körülmények között kell dolgoznunk. Nézzünk például egy eszközt, amely egy mező értékének felbontására szolgál. Tegyük fel, hogy a Vásárlók tábla tartalmaz egy Cím nevű mezőt, amely az adott vásárló utcáját, városát, államát és irányítószámát foglalja össze. Az ilyen mezők használata meglehetősen körülményes, mivel több adatelemet tartalmaznak; a problémák azonnal jelentkeznek, ha megpróbáljuk a tábla tartalmát például az irányítószámok szerint rendezni.

A helyzetet úgy oldhatjuk meg, hogy a Cím mezőt kisebb mezőkre bontjuk. Ehhez azonosítanunk kell a mezőt felépítő értékeket, majd saját mezőt kell készítenünk azoknak. Ennyi az egész. A bemutatott folyamat olyan „eszköz”, amelyet bármelyik, több adattagból álló mezőnél használhatunk.

A mezőértékek felbontásával részletesebben a 7. fejezetben foglalkozunk.

A könyvben bemutatandó megoldásokat („eszközöket”) ugyanígy használhatjuk. Ezekkel az eszközökkel jó adatbázis-szerkezeteket alakíthatunk ki, függetlenül attól, milyen típusú adatbázisról van szó. Ne felejtsük el a következőt:

Mindig az alapelvekre és a megoldásokra összpontosítsunk, ne pedig az azok bemutatásához használt példákra.

A könyv tartalomjegyzéke

Vissza a lap tetejére | A könyv ismertetése

Michael J. Hernandez:
Adatbázis-tervezés

1.

A relációs adatbázis

A fejezet témája

Adatbázistípusok

Korai adatbázismodellek

A hierarchikus adatbázismodell

A hálózati adatbázismodell

A relációs adatbázismodell

Adatok lekérdezése

A relációs adatbázisok előnyei

Relációs adatbázis-kezelő rendszerek

A relációs modellen túl

Mit tartogat a jövő?

Végszó

Összegzés

Áttekintő kérdések

 

2.

Tervezési célok

A fejezet témája

Miért kell adatbázis-tervezéssel foglalkozni?

Az elmélet fontossága

A jó tervezési módszerek elsajátításának előnyei

A jó tervezés célkitűzései

A jó tervezés haszna

Adatbázis-tervezési módszerek

Hagyományos tervezési módszerek

A könyvben bemutatott tervezési módszer

Összegzés

Áttekintő kérdések

 

3.

Fogalmak

A fejezet témája

Miért fontosak ezek a fogalmak?

Értékekkel kapcsolatos fogalmak

Adat

Információ

Null

Null értékek

Problémák a null körül

Szerkezetekkel kapcsolatos fogalmak

Tábla

Mező

Rekord

Nézettábla

Kulcsok

Index

Kapcsolatokkal kapcsolatos fogalmak

Kapcsolatok

Kapcsolattípusok

A részvétel típusai

A részvétel mértéke

Épséggel kapcsolatos fogalmak

Mező-meghatározás

Adatépség

Összegzés

Áttekintő kérdések

 

II. rész

A tervezési folyamat

4. Fogalmi áttekintés

A fejezet témakörei

A tervezési folyamat teljessége

Célok és részfeladatok az adatbázis-tervezésben

Adatbázis-elemzés

Adatszerkezetek összeállítása

Táblák közti kapcsolatok feltérképezése és kiépítése

Működési szabályok meghatározása és létrehozása

Nézettáblák meghatározása és létrehozása

Az adatépség ellenőrzése

Összefoglalás

Ismétlő kérdések

 

5. A tervezési folyamat kezdete

A fejezet témakörei

Interjúkészítés

Útmutatások interjúalanyoknak

Útmutatások az interjúkészítő számára

Esettanulmány: Miki Bringaboltja

A célok meghatározása

A célok helyes leírása

A küldetési leírás összeállítása

Esettanulmány

A részfeladatok meghatározása

A részfeladatok helyes leírása

A részfeladatok összeállítása

Esettanulmány

Összefoglalás

Ismétlő kérdések

 

6. Adatbázis-elemzés

A fejezet témakörei

Ismerkedés a meglevő adatbázissal

Az elemzés lebonyolítása

Az adatgyűjtés módjainak vizsgálata

Az adatmegjelenítés módszereinek vizsgálata

Interjúk készítése

Egyszerű interjúkészítési fogások

Mielőtt elkezdenénk az interjúkészítést...

Interjúk a felhasználókkal

Az adattípusok és használatuk áttekintése

A begyűjtött minták áttekintése

Az információs igények áttekintése

Interjúk a vezetőséggel

Az aktuális információs igények áttekintése

A további információs igények áttekintése

A jövőbeni információs igények áttekintése

Az információs igények átfogó áttekintése

Teljes mezőlista összeállítása

Az előzetes mezőlista

A számított mezők listája

A listák ellenőrzése a felhasználók és a vezetőség bevonásával

Esettanulmány

Összefoglalás

Ismétlő kérdések

 

7. A táblaszerkezetek kialakítása

A fejezet témakörei

Az előzetes táblalista meghatározása

A témakörök felderítése

A témakörök listája

A részfeladatok beépítése

A végleges táblalista meghatározása

A táblanevek átgondolása

A táblák típusának feltüntetése

A táblák leírásának elkészítése

Mezők hozzárendelése a táblákhoz

A mezők átgondolása

A megfelelő mezőnevek felkutatása

Az ideális mező segít a bajban

A többrészes mezők szétbontása

A többértékű mezők felbontása

A táblaszerkezetek átvizsgálása

Ismétlődő adatok és mezők

Az ideális tábla fogalma

Részhalmaztáblák létrehozása

Esettanulmány

Összefoglalás

Ismétlő kérdések

 

8. Kulcsok

A fejezet témakörei

A kulcsok szerepéről

Kulcsok készítése tábláinkhoz

Kulcsjelöltek

Elsődleges kulcsok

Táblaszintű adatépség

A kezdeti táblaszerkezetek áttekintése

Esettanulmány

Összefoglalás

Ismétlő kérdések

 

 

9. Mező-meghatározások

A fejezet témakörei

A mező-meghatározások fontosságáról

Mezőszintű adatépség

A mező-meghatározás felépítése

Általános tulajdonságok

Fizikai tulajdonságok

Logikai tulajdonságok

Egyedi, általános és másolat mező-meghatározások használata

Mezőjellemzők meghatározása az adatbázis minden mezőjéhez

Esettanulmány

Összefoglalás

Ismétlő kérdések

 

10. Táblakapcsolatok

A fejezet témakörei

A kapcsolatok fontosságáról

A kapcsolatok típusai

Egy-egy kapcsolatok

Egy-sok kapcsolatok

Sok-sok kapcsolatok

Önhivatkozó kapcsolatok

Meglevő kapcsolatok azonosítása

Kapcsolatok kiépítése

Egy-egy és egy-sok kapcsolatok

A sok-sok kapcsolat

Önhivatkozó kapcsolatok

A táblaszerkezetek áttekintése

Az idegen kulcsok átgondolása

Az idegen kulcs tulajdonságai

A kapcsolatok jellemzőinek meghatározása

Törlési szabályok meghatározása a kapcsolatokban

A táblák részvételi típusának azonosítása

A táblák részvételi mértékének azonosítása

A kapcsolatok ellenőrzése a felhasználók és a vezetőség bevonásával

Egy apró megjegyzés - befejezésként

Kapcsolatszintű adatépség

Esettanulmány

Összefoglalás

Ismétlő kérdések

 

11. Működési szabályok

A fejezet témakörei

A működési szabályokról

A működési szabályok típusai

A működési szabályok kategóriái

Mezőkre vonatkozó működési szabályok

Kapcsolatokra vonatkozó működési szabályok

A működési szabályok meghatározása

A felhasználók és a vezetőség bevonása

Mezőkre vonatkozó működési szabályok meghatározása

Kapcsolatokra vonatkozó működési szabályok meghatározása és érvényre juttatása

Érvényesítő táblák

Az érvényesítő táblákról

Érvényesítő táblák használata a működési szabályok támogatására

A működési szabályok jellemzőinek átgondolása

Esettanulmány

Összefoglalás

Ismétlő kérdések

 

12. Nézettáblák

A fejezet témakörei

A nézettáblákról

A nézettáblák szerkezete

Adatmegjelenítő nézettáblák

Összesítő nézettáblák

Érvényesítő nézettáblák

Nézettáblák azonosítása és meghatározása

Beszélgetés a felhasználókkal és a vezetőséggel

Nézettáblák meghatározása

A nézettáblák dokumentációjának áttekintése

Esettanulmány

Összefoglalás

Ismétlő kérdések

 

13. Az adatépség áttekintése

A fejezet témakörei

Az adatépség áttekintésének fontosságáról

Az adatépség áttekintése és átgondolása

A táblák szintjén

A mezők szintjén

A kapcsolatok szintjén

A működési szabályok szintjén

A nézettáblák szintjén

Az adatbázis dokumentációjának összeállítása

Elkészültünk!

Esettanulmány - utolsó simítások

Összefoglalás

 

14.

Rossz tervezés: mit ne csináljunk?

A fejezet témája

Lapos fájl tervezés

Táblázatos tervezés

Szabaduljunk meg a táblázatos elképzeléstől

Adatbázisprogramon alapuló adatbázis-tervezés

Végszó

Összegzés

 

15.

A szabályok megkerülése vagy megszegése

A fejezet témája

Mikor kerülhetjük vagy szeghetjük meg a szabályokat?

Analitikus adatbázis tervezése

A feldolgozás sebességének javítása

A műveletek dokumentálása

Összegzés

Vissza a lap tetejére