Az adatbázis tervezésének módja a modellezés. Ennek segítségével lehet megtervezni a szükséges sémát, megállapítani, hogy mi kell és mi nem. A legnépszerűbb modell a relációs adatmodell, amin a relációs adatbázis-kezelő szoftverek alapulnak.
Papír alapú tervezéshez az egyed-kapcsolat modellt szokás alkalmazni, ami egy köztes eszköz. Az egyed-kapcsolat modellben létrehozott reprezentáció könnyen implementálható relációs és objektumorientált adatbázisban is.
Az egyed-kapcsolat modell grafikus leíró eszköz. Nevét a modell két alapfogalmáról kapta. Egyednek nevezünk egy, a valóságban is létező dolgot, amit tulajdonsággal szeretnénk leírni. Az egyed mindig két részből áll: egy egyed típusból és egy egyed példányból. Például típus az Ember, egyed példány pedig a szomszéd Sándor.
A tulajdonság, attribútum az egyed egy adott jellemzője. Úgy érdemes őket megválasztani, hogy egyértelműen meghatározzák az egyedet.
A tulajdonságok közül kiemelkedő szerepű a kulcs tulajdonság, vagy röviden kulcs. Ez az egyed tulajdonságainak egy olyan részhalmaza, amely egyedileg, egyértelműen képes azonosítva meghatározni az egyedet. Például ilyen Sándor esetében a személyi igazolvány- vagy a TB száma.
A tulajdonságok és a kulcs is lehet összetett. Az összetett tulajdonság attól összetett, hogy felbontható több elemi tulajdonságra. Például ilyen a lakcím, ami felbontható irányítószámra, városnévre, utcanévre, házszámra.
Kulcsok esetén törekedni kell arra, hogy ne legyen összetett. Az összetett kulcsok problémája az, hogy lassítják a rendszer működését, valamint redundanciát okozhatnak, ami azt jelenti, hogy feleslegesen tárolunk adatokat. A kulcsok megfelelő kialakítása a normálforma szabályok segítségével lehetséges. Ezekről később lesz szó.
Az egyed-kapcsolat modell jelölőkészletét az alábbi ábra mutatja be:
Több értékű attribútum esetén az értékek vagy halmazban, vagy listában tároltak lehetnek. Az ilyen attribútumoknál lehet alsó és felső korlátról is beszélni.
Az egyed akkor gyenge, ha a tulajdonságai nem határozzák meg egyértelműen. Ő a kapcsolatai révén válik meghatározottá.
A kapcsolat két egyedtípus egyed-előfordulásai közötti viszony számosságát adja meg. Attól függően, hogy hány egyed-előfordulás kapcsolódik a másik egyedtípusból, három esetet tudunk megkülönböztetni:
-
Egy-egy típusú kapcsolat (1:1)
Az egyik egyedtípus egyed-előfordulásai a másik egyedtípus legfeljebb egy egyed-előfordulásával létesítenek kapcsolatot.
-
Egy-több típusú kapcsolat (1:N)
Az egyik egyedtípus egyed-előfordulása a másik egyedtípus több egyed-előfordulásához kapcsolódik.
-
Több – több kapcsolat (N:M)
Az egyik egyedtípus egyed-előfordulása a másik egyedtípus több egyed-előfordulásához kapcsolódhat és ugyanúgy a másik egyedtípus egy egyed-előfordulása az egyik egyedtípus több egyed-előfordulásához kapcsolódhat.
Normalizálás
A megvalósítás előtt normalizálni kell az adatbázist. Ezen eljárás lényege, hogy az adatbázis felépítése eleget tegyen biztonságot növelő szabályoknak és a lehető legkevesebb redundanciát tartalmazza. A folyamat több lépcsős, amely során az adatbázis különböző normál formákba kerül át. A folyamat célja, hogy minél magasabb szintű normál formába jusson el az adatbázis.
-
Normálforma (1NF)
- A sorok, rekordok sorrendje tetszőleges.
- Minden oszlopnak, mezőnek egyedi neve van.
- Az egyes oszlopokban azonos típusú és tulajdonságot leíró értékek vannak.
- Egy cellában csak egy elemi tulajdonságérték szerepelhet.
Az első feltételből következik, hogy az egyedi azonosíthatóság miatt szerepelnie kell egy kulcs tulajdonságnak, ami alapján megkülönböztethetőek az adatok. A további szabályok az adatok táblázatba rendezésének feltételeit írják le. Amennyiben az egyed-kapcsolat modellünkben összetett tulajdonságok is szerepelnek, akkor azokat meg kell szüntetnünk, méghozzá oly módon, hogy a fő tulajdonság gyerek tulajdonságait tároljuk el a táblában.
-
Normálforma (2NF)
- Legyen az adatbázis első normál formában (1NF).
- Minden nemkulcs mező teljes függőségben álljon a kulcstól.
A teljes függőség azt jelenti, hogy egy A tulajdonság teljesen függ egy másik B tulajdonsághalmaztól. Ha a kulcs egy mezőből áll, akkor az adatbázis második normálformában van. Ha a kulcs több mezőből áll (összetett kulcs), akkor ne legyen olyan nem kulcs mező, amely csak a kulcs egy részétől függ.
-
Normálforma (3NF)
- Legyen az adatbázis második normál formában (2NF)
- Nincs az adatbázisban tranzitív függőség
A tranzitív függőség azt jelenti, hogy az adatbázisban egy tulajdonság függ az elsődleges kulcstól, de olyan tulajdonságtól is függ, amely nem része a kulcsnak.