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