Tétel adatlapja

CÍMLAP

Halassy Béla

Az adatbázistervezés alapjai és titkai

TARTALOM, ELŐSZÓ



Tartalom

ELŐZMÉNYEK
ELŐSZÓ

BEVEZETÉS - I.

1. ADAT ÉS INFORMÁCIÓ
1.1 Az alapfogalmak szemléletmódja
1.2 Az adat - első megközelítésben
1.3 Az ismeretszerzés momentumai
1.4 Az adat és az információ lényege illetve viszonya
1.5 Szintaktika, szemaktika, pragmatika
1.6 Miért hibádzik a kommunikáció?
1.7 Mit lehet megtudni?
Ellenőrző kérdések - 1

2. AZ ISMERETKEZELÉS KÉT MÓDJA
2.1 Az ismeret hordozó közegei
2.2 Az ismeret négy dimenziója
2.3 Történeti kitérő: A "szemantikai adatbázis"
2.4 Kétféle mondat
2.5 Adatszerű ismeretkezelés
2.6 Szövegszerű ismeretkezelés
2.7 A kétféle ismeretkezelés viszonya
Ellenőrző kérdések - 2

3. AZ ADATBÁZIS LÉNYEGE
3.1 Állomány, adatbank, adatbázis
3.2 Egyedtípus, -előfordulás, -halmaz
3.3 Tulajdonságtípus, -érték, -értékhalmaz
3.4 Két relativitás
3.5 A bináris relációk modellje
3.6 Az azonosítás problémaköre
3.7 Kapcsolattípus, -előfordulás, -(al)halmaz
3.8 Az adatbázis
3.9 Három további kérdés
Ellenőrző kérdések - 3

4. AZ ADATBÁZIS HÁROM SZINTJE
4.1 Egy alapvető probléma: az eszközorientáltság
4.2 Az adatok két aspektusa
4.3 Az adatbázis kétféle tartalma
4.4 Az adatbázis fogalmi és logikai szerkezete
4.5 Két lényeg határán
4.6 Az adatbázis fizikai szerkezete
4.7 A fizikai függetlenség
4.8 A vertikális leképezés
Ellenőrző kérdések - 4

5. AZ ADATBÁZIS VETÜLETEI
5.1 Egy alapvető probléma: a nézetorientáltság
5.2 A nézetorientáltság káros következményei
5.3 Globális és parciális adatbázisszemlélet
5.4 Az "adatmodell" jelentése és tartalma
5.5 Az ANSI-SPARC architektúra
5.6 A szintek megfeleltetése, modellek és sémák
5.7 Adatmodell-elmélet és adatbázis-gyakorlat
5.8 Adatmodell-reprezentációk
Ellenőrző kérdések - 5

6. A MODELL ALAPVETŐ SZERKEZETE
6.1 Az adatmodell, mint rendszer
6.2 Az egyedek kétféle struktúrája
6.3 A tulajdonságok alapvető szerepei
6.4 Abszolút és relatív szerep
6.5 Hierarchikus inhomogén kapcsolatok
6.6 Hálós egyedviszonyok - 1
6.7 Hálós egyedviszonyok - 2
6.8 Újabb tulajdonság szerepek
6.9 A kölcsönös egyedviszony
6.10 Gyorsmérleg az adatszerkezetről
Ellenőrző kérdések - 6

7. SZERKEZETI FINOMSÁGOK
7.1 Az adatmodell sokszínűsége
7.2 A "száz-százalékos elv"
7.3 Az értéktartomány
7.4 A szerepnév
7.5 Ismétlődés és szerepnév
7.6 A visszamutató egyedviszony
7.7 A hierarchikus homogén viszonyok
7.8 Családfa és házastárs viszonyok
7.9 Háromféle "üres" érték
7.10 Egyedaltípusok
7.11 Szerkezeti összefoglalás
Ellenőrző kérdések - 7

8. ADATBÁZISKEZELÉS
8.1 Az ismeretek természete
8.2 Az adatkezelés szintjei
8.3 Történeti kitekintés: Az adatbázisgépek
8.4 Adatkezelés és adatfeldolgozás
8.5 Szabad-e ...?
8.6 Állomány- és adatbáziskezelés
8.7 A természetes adatfeldolgozási lánc
8.8 Technikai adatok
8.9 Az adatbázis alapvető titka
Ellenőrző kérdések - 8

9. A METAADATBÁZIS
9.1 Az adatbázisok két szemléleti síkja
9.2 A metaadatbázis lényege
9.3 Történeti kitekintés: Az adatszótár
9.4 A metarendszerek természete
9.5 A metaismeretek fajtái
9.6 Passzív, félaktív és aktív adatszótár
9.7 Tervezés ábra alapján

10. ADATBÁZIS-MENEDZSELÉS
10.1 Mitől lehet rossz az adatbázis?
10.2 Hány az adatbázis?
10.3 Alkalmazási adatszabványok
10.4 Fejlesztési adatszabványok
10.5 Fejlesztési eljárászabványok
10.6 Menedzselési szabványok
10.7 Változásmenedzselés
10.8 Szervezeti feltételek

11. AZ ÚT
11.1 Előrehozott zárszó
11.2 Fogalom születik
11.3 Több szem ...
11.4 Adat születik
11.5 Az ismeretek szerkesztése és első betöltése
11.6 Bizonylatok
11.7 Adatbevitel
11.8 "Új" ismeret születik
11.9 Adatkimenet és behangolás
11.10 A hosszú és kanyargós út

BEVEZETÉS - II.

12. AZ ADATMODELLEK HIBÁI
12.1 Az adatbázis hibáinak a forrásai
12.2 Az adatmodell lényege
12.3 Ábrázolási konvencióink
12.4 Tipikus adatmodellezési hibák
12.4.1 Nyílt logikai átfedés
12.4.2 Látszólagos logikai átfedés
12.4.3 Rejtett logikai átfedés
12.4.4 Jelsor-ellentmondások
12.4.5 A logikai átfedés hiánya
12.4.6 Fizikai átfedés
12.4.7 Kiegyensúlyozatlanság
12.4.8 Tisztázatlan tartalmak
12.4.9 A modell kettős arculata
12.4.10 A hibák emberi következményei
12.5 Az adatmodellezési hibák gyökerei
12.5.1 Nézetvakság
12.5.2 Szintvakság
12.5.3 Szerepvakság
12.5.4 Bemenet/kimenet vakság
12.6 Az adatmodellezés céljai
Ellenőrző kérdések - 12

13. FÜGGÉSEK ÉS NORMALIZÁLÁS
13.1 Egyszerű szabályok
13.2 Funkcionális függés
13.3 Tartományfüggés
13.4 Nem-normalizált egyedtípusok
13.4.1 Az ismétlődés és káros hatása
13.4.2 Az ismétlődés elvi alapja
13.4.3 A normalizálás első lépése
13.4.4 További tudnivalók az ismétlődésről
13.5 A normalizálás lényege
13.6 Normalizálás és struktúra
13.7 Ismétlődés és kétségek
Ellenőrző kérdések - 13

14. ALAPVETŐ NORMÁLFORMÁK
14.1 A normalizálás alapjai
14.2 A második normálforma
14.2.1 A részleges függés és következményei
14.2.2 A normalizálás második lépése
14.2.3 Normálforma és szemantika
14.2.4 A második normálforma és a modellstruktúra
14.3 A harmadik normálforma
14.3.1 A tranzitív függés és következményei
14.3.2 A normalizálás harmadik lépése
14.4 A normalizálás természete
14.5 Normalizálási sorrend
14.6 A dekompozíció sajátosságai
14.7 Az alternáló kulcs
Ellenőrző kérdések - 14

15. MAGASABB NORMÁLFORMÁK
15.1 Hány, melyik és milyen a kulcs?
15.2 A Boyce-Codd normálforma (BCNF)
15.2.1 A több összetett kulcsjelöltből fakadó gondok
15.2.2 A kulcstörő függés
15.2.3 BCNF problémák
15.2.4 A normalizálás negyedik lépése
15.3 A negyedik normálforma
15.3.1 A többértékű függés és az általa okozott problémák
15.3.2 A normalizálás ötödik lépése
15.3.3 Megjegyzések a többértékű függéshez
15.4 Az ötödik normálforma
15.4.1 A kapcsolásfüggés és az általa okozott problémák
15.4.2 A normalizálás hatodik lépése
15.4.3 Megjegyzések a végső normálformához
Ellenőrző kérdések - 15

16. A CSOPORTOK CSAPDÁI
16.1 Eltérő gondolkozásmódok
16.2 A függéstáblázat
16.3 Két egyszerű és három ismert függési helyzet
16.4 A belső kulcstörő függés
16.5 A metszetfüggés
16.6 A csoportfüggés
16.7 Tanulságok és a döntési táblázat kiegészítése
16.8 Pszeudo-tranzitivitás
Ellenőrző kérdések - 16

17. NORMALIZÁLÁSI ELJÁRÁSOK
17.1 A normalizálás, mint feldolgozás
17.2 Kapcsolathiány
17.3 A dekompozíció összefoglalása
17.4 Az "univerzális reláció"
17.5 Normálforma szintézis
17.6 Kérdezni tudni kell
17.7 Függések és szerkezetek
17.8 Két összetett szerkezeti probléma
17.9 Az adatmodell "fonalai"
17.10 Apró szerkezeti titkok
17.11 A kulcsmátrix

18. SAJÁTOS SZERKEZETI TÉNYEZŐK
18.1 Minőségi adatmodellezés
18.2 Többszörös inhomogén kapcsolatok
18.3 A szerepnevek függései
18.4 Homogén viszonyok
18.5 A feltételes függés és az egyedaltípus
18.6 Unáris egyedek
18.7 Szinguláris egyedek
18.8 Konstansok és tulajdonságstruktúrák
18.9 Az osztályozás kérdésköre

19. TIPIKUS TERVEZÉSI HIBÁK
19.1 Fegyelmezett fantázia
19.2 Általános tervezési problémák
19.2.1 Név-variációk
19.2.2 Absztrakciós gondok
19.2.3 A körülírás hiánya
19.3 A "CSAK" szindróma
19.4 Egyéb csacskaságok
19.5 Statikus szemlélet
19.5.1 Az idő modellezése
19.5.2 Esemény, változás, állapot
19.6 Modell-sablonok
19.7 Szinttévesztés

20. ELEMZÉS ÉS DOKUMENTÁLÁS
20.1 Egy mintapélda
20.2 A mintapélda tartalmi hibái
20.3 Az adatmodell dokumentálása

21. TERVEZÉSI ESETTANULMÁNY
21.1 A példa kerete
21.2 A kiinduló modell
21.3 Az esettanulmány megoldása elé
21.4 Ismerkedés az elemzendő tervvel
21.5 Az egyértelműség elemzése
21.6 Azonosító- és azonosságelemzés
21.7 A példa átmenetileg javított változata
21.8 A rejtett redundanciák elemzése
21.9 Kapcsolatelemzés
21.10 A példa időleges megoldása
21.11 Zárszó

FELADATMEGOLDÁSOK
IRODALOMJEGYZÉK
FOGALOMJEGYZÉK


Előszó

Három kérdéskör motoszkál a fejemben. Az egyik az, hogy mikor is írom ezt a könyvet? 1983-ban jelent meg az "Adatmodellezés a rendszerfejlesztésben" című munkám. Nagyon sok barátom és kedves kollégám szerint túlzottan korán. Szerintük tíz évvel ezelőtt még nem érett meg a helyzet mondanivalóm befogadására. Bezzeg most, amikor minden vállalat átalakítja, korszerűsíti az információs rendszerét, amikor már megvehet egy csinos gépet és egy valódi relációs adatkezelőt, most szükség lenne az adatbázistervezés ismereteire. Vagyis ezzel a könyvvel szerintük végül is elkéstem.

Én pedig nagyon félek attól, hogy még mindig túl korai ez a kiadvány. Legalábbis bizonyos részeinek a befogadására, megemésztésére még nem mindenki lesz képes. A veréb, a varjú és a sas dilemmájával kell szembenéznem. Azok, akik még csak az xBASE-szerű adatkezelő verebekkel bíbelődnek, nem fogják megérteni, hogy miért van szükség ilyen "bonyolult" adatbázistervezési módszerekre. Még több bajuk lesz velem azoknak, akik láttak már karón varnyút, azaz megamini kategóriájú relációs adatkezelő rendszert. "Hát már az is gond? Húzok egy indexet, aztán annyi." módon gondolkoznak. A valóban sokféle technikai lehetőségtől elbűvölve nem éreznek rá, hogy én miért mindig a valóság ismereteinek a hű és természetes tükrözését helyezem előtérbe a technikai megoldásokkal (pl. index) szemben. Én a jelenlegieknél sokkal, de sokkal jobb kezelőket is el tudok képzelni, amelyek úgy viszonyulnak a relációsakhoz, mint sas a varjúhoz. Mondanivalómat e legfelső szinthez szabtam és ezért félek, hogy nem fog mindenki velem szárnyalni.

A második kérdés az, hogy kinek is írom ezt a könyvet? Az adatbázistervezés komoly technikai tudást feltételez. Ezért jogosan tűnik úgy, hogy ez a kiadvány elsősorban a mai és a leendő fejlesztőnek, a szakembernek szól. Csakhogy az információs rendszerek fejlesztésének van két további résztvevője is. Az egyik, a kulcsfigura, a vezető. Ha a menedzser nincs tisztában az adatbázis tervezésének a buktatóival, ha azt hiszi, hogy egy ma megálmodott bizonylat alapján holnap már élő adatbázis fog működni, akkor a fejlesztő hiába ismeri az adattervezés titkait. Egyszerűen nem kap elég időt arra, hogy érvényesítse a tervezés minimális követelményeit. A vezető már x alkalommal tapasztalta, hogy gyorsan nem lehet jó adatbázist építeni. Ennek ellenére az y-dik helyzetben is az azonnali megoldást sürgeti. Nemigen pozitív a harmadik résztvevő, a felhasználó szerepe sem. Elhamarkodott igényekkel áll elő, amelyeket azután nap mint nap módosít. Pedig tudjuk, hogy az adatbázis leginkább a strukturális változásra érzékeny. Tegyük mindehhez a felhasználói önzést. Az én adatom az én váram! Abba ne szóljon bele senki, csak legfeljebb az én fejlesztőm, mert nélküle semmire sem megyek. A valójában közös adatokat alkalmazó felhasználók úgy rejtegetik egymás elől az "adatbázisaikat", mint a legértékesebb kincset.

A jó adatbázis kialakításának a sikere a három szereplő értelmes együttműködésétől függ. Ezért ez a könyv elvileg mindhárom partinak szól. Gyakorlatilag nem bízom abban, hogy a kiadvány megtalálja a címzetteket és eléri a kívánt változást. Hiszen még saját kollégáimmal, a fejlesztőkkel is meg kell küzdenem.

Persze három réteggel nem fogok sokra menni. Az első csapatot azok az aggcsecsemők alkotják, akik még mindig a hetvenes évek számítástechnikai emlőit szopogatják. Ők már vén motorosok a szakmában, nekik ne mondjanak már semmit, mert nincs új a nap alatt. A beverklizett módon, az újabb eszközökre, módszerekre, lehetőségekre fittyet hányva tákolgatják össze ósdi "rendszereiket" a "jól bevált" sablonok szerint.

Azután itt van az ifjútitánok hada. A mindig újabb és újabb gépek és programok mellett "elkötelezetteké". Sokszor megdöbbent, hogy velük társalogva azon kapom magam, hogy nem emberrel, hanem hardverrel vagy szoftverrel beszélek. Te, és ez a rendszer ezt csinálja, meg azt tudja... Sértődött hallgatás a válasz, amikor megkérdezem, hogy és.... És Te, fiam, személy szerint Te mit csinálsz és mit tudsz? A drága gyermek nem érti, hogy egy dolog a technika ismerete, és teljesen más annak mindenki javára való használata.

Persze vannak olyanok is, akik mindezzel nem törődnek. A hullámlovagokról van szó. A félművelt ámítástechnikus a papa pozíciója miatt bekerül a világbanki kölcsönnel támogatott projektbe. Naponta keres annyit, amennyi egy becsületes dolgozó havi bére. Persze semmihez sem ért valójában, de ez őt nem is érdekli. Mondanom sem kell, hogy ez a könyv nem neki, nem is a tanulni képtelen aggcsecsemőnek vagy a tanulás értelmét nem ismerő ifjútitánnak - aki maga is hamar koravénné válik - szól. Hát akkor kinek?

Ezzel eljutottam a harmadik kérdéshez. Miért is írom ezt a könyvet? Azért, mert Benned bízom. A lélekben fiatalban. Aki akar és tud véresen-komolyan játszani. Akit a körülmények korlátoznak; aki nem képes mindig a legjobbat alkotni; de aki egy kártyaparti után napokkal is elgondolkozik azon, hogy hol szúrta el és miként lett volna - jobb. Ez a könyv a felnőtten komoly fiataloknak, a humorra képeseknek szól. Akik tudják, hogy a humor nem vicc, hanem az élet és embertársaink mélyen bölcs, megértő, megmosolygó szeretete.

Két szép lányomnak ajánlom ezt a könyvet akkor is, ha ők nem követik az én hivatásomat. Igen, hivatást mondtam, nem szakmát. Ez az adatbázistervezés legeslegfőbb titka. Nem azért kell jó adatbázist tervezni, hogy engem megdicsérjenek (szakma). Hanem azért, hogy másokat jól el tudjunk látni az élet nélkülözhetetlen kellékével, az ismerettel (hivatás). Elsősorban nem a technikát, hanem ezt a szemléletet kell elsajátítani. Ha valamit sikerül megéreztetnem ebből a lényegből, akkor ez a könyv nem íródott hiába.

Az adatbázisok tervezéséhez, felnőtté érleléséhez éppen annyi türelem szükséges, mint a fiatalokhoz. Nem mindig látod erőfeszítéseid azonnali gyümölcsét. Nem kapod meg rögtön az annyira várt köszönő szavakat. Majd egy napon, amikor a komoly, nehéz, becsületes játék a te részedről már régen véget ért, amikor már minden a helyére rendeződött és neked már nincs szereped, amikor már nem is számítasz rá, váratlanul így szólnak hozzád: "Köszönöm". Lehet, hogy ezt a szót így soha meg nem hallod. Csak éppen a szomszéd utcában a Kovács kedves lesz a nejéhez, mert húsz helyett két másodperc alatt adták ki az információit a Te jó adatbázisterved miatt. No látod, ezért hivatás az adatbázistervezés.

Már csak annyi maradt hátra, hogy megköszönjem mindazoknak a segítségét, akik e könyv megszületéséhez hozzájárultak. Legfőképpen pedig köszönetet mondjak Annak, akitől kaptam a tudást és annak átadásának kényszerét illetve lehetőségét.

Halassy Béla


  
×