2. Lecke: Az adatbázisok elemei, az adatbázis-tervezés
2.3 Adatbázisok strukturális elemei
Az üzenet struktúrája nagyban befolyásolja az aszinkron kommunikáció ha-tékonyságát, ezért az adatbázisok szerkezete alapvetően meghatározza hasz-nálhatóságukat. A struktúra jelentőségét még tovább fokozza, hogy az adatbá-zisokat több adó és több vevő is használhatja, akár egyidejűleg is.
Az adatstruktúra kiemelt jelentősége miatt az adatbázis-kezelést két nagy feladatcsoportra, az adatbázisok tervezésére és létrehozására, valamint azok használatára bonthatjuk.
A tervezés során megtervezzük az adatbázis leendő struktúráját, majd lét-rehozzuk az adatbázist. A felhasználáskor adatokat helyezünk el és kérdezünk le az adatbázisból.
Ahhoz, hogy később világosan értsük az adatbázis-tervezés lépéseit, tekint-sük át, milyen szerkezeti elemekből alakíthatjuk ki azok struktúráját!
2.3.1 Egyed és tulajdonság
Az információ egy objektum valamely tulajdonságának jelentése, az adat annak formalizált ábrázolása. Az adatbázisok alapvető építőköve tehát a tulaj-donságot leíró adat. A tulajdonságok az objektumok jellemzői, ezért értelmezé-sük csak az objektum ismeretében lehetséges. Az adatbázisokban együtt kell tárolnunk az objektumokat és az azokat jellemző tulajdonságokat.
Az adatbázis-kezelésben az objektum szó helyett az egyed kifejést alkal-mazzuk. Az adatbázisok első két fontos strukturális eleme tehát az egyed és a tulajdonság.
A ’924180OF’,Andrássy Mária,(60) 832-4378,1011 Budapest,Kassa u. 94,andrassy.maria@gabriel.hu mind tulaj-donságok. Az a személy, akit jellemeznek, maga az egyed.
Az egyed olyan objektum, amelynek valamilyen tulajdonságait tá-roljuk az adatbázisban. A tulajdonság olyan adat, amely az egyed valamilyen jellemzőjét írja le.
2.3.2 Egyedtípus, tulajdonságtípus
Az adatbázisok különböző egyedeinek egyes tulajdonságai gyakran azonos jellemzőket írnak le. Az ilyen tulajdonságok azonos tulajdonságfajtába, úgyne-vezett tulajdonságtípusba tartoznak. Az Andrássy Mária és Dallos Re-beka tulajdonságok például nevek, a név tulajdonságtípusba tartoznak. A (60) 832-4378, és a (30) 584-4036 számsorok a telefonszám tulajdon-ságtípusba sorolhatók.
Azok az egyedek, amelyek tulajdonságai azonos tulajdonságtípusba tartoz-nak, közös objektumhalmazba, úgynevezett egyedtípusba sorolhatók.
Az alábbi táblázat három egyed tulajdonságait tartalmazza. Az oszlopok tetején a tulajdonságtípusok megnevezése olvasható. Az egyedek egyes tulajdonságai ugyanazokba a tulajdonságtípusokbatartoznak, ezért ezeket az egyedeket egy egyedtípusba soroljuk. Az egyedtípus neve lehet például személyek.
A tulajdonságtípus azonos jellemzőket leíró tulajdonságok halmaza, amelyre egy elnevezéssel hivatkozunk. Az egyedtípus az azonos tí-pusú tulajdonságokkal jellemezhető egyedek halmaza.
Az adatbázisokban egyedeket és tulajdonságaikat tároljuk úgy, hogy a tulajdonságokat megnevezett tulajdonságtípusokba, az azo-nos típusú tulajdonságokkal rendelkező egyedeket pedig szintén névvel ellátott egyedtípusokba rendezzük.
2.3.3 Kapcsolat, kapcsolattípus
Az objektumok közötti viszonyok szintén ismereteink szerves részét képe-zik, ezért az adatbázisoknak az egyedek közötti kapcsolatokat is tükrözniük kell.
Mivel egy egyed valamilyen másik egyedhez fűződő kapcsolata valójában az egyed tulajdonsága, a kapcsolatok tárolása nem okoz gondot.
Azt azonban tudnunk kell, hogy a tulajdonságokhoz és egyedekhez hason-lóan a kapcsolatok is tipizálhatók. Amikor egy egyedtípus valamelyik egyede egy másik egyedtípus egyedeivel van viszonyban, a kapcsolat a kapcsolat fontos jellemzője a számosság.
A számosság azt határozza meg, hogy az ’A’ egyedtípus egyes egyedei a ’B’
egyedtípus hány egyedéhez kapcsolódhatnak, illetve fordított irányban milyen a viszony.
Egy-egy kapcsolat
Egy-egy kapcsolatról beszélünk, ha bármely ’A’ egyedtípushoz tartozó egyed a ’B’ egyedtípusnak csak egyetlen egyedéhez kapcsolódhat és ez fordított irányban is igaz. Az egy-egy kapcsolatot 1:1 jelöléssel jelezzük.
4. ábra 1:1
Egy-több kapcsolat
1:n formában jelöljük, és egy-több kapcsolatnak nevezzük azt a viszonyt, amikor az ’A’ bármelyik egyede ’B’-nek több egyedéhez is kapcsolódhat, de ’B’
egyedei csak egyetlen ’A’-hoz tartozó egyeddel lehetnek kapcsolatban.
5. ábra 1:n
Több-több kapcsolat
A több-több kapcsolat esetén mindkét egyedtípus egyedei több egyedhez kapcsolódhatnak a másik egyedtípusban. A ezt a kapcsolattípust n:m módon jelöljük.
6. ábra n:m
Az, hogy két egyedtípus között milyen kapcsolattípus van, elsősorban a kapcsolat jellegétől, okától függ.
Tegyük fel például, hogy egy munkahely osztályainak ada-tait tároljuk az egyik egyedtípusban, a dolgozók jellemzőit pedig a másikban. Az egyedtípusok között azért van kapcsolat, mert min-den osztálynak van a dolgozók egyedtípushoz tartozó osztályveze-tője. A kapcsolat ilyenkor 1:1 típusú, hiszen egy osztálynak egy osz-tályvezetője van, és egy dolgozó csak egy osztályt vezethet.
Ha azonban azért beszélünk kapcsolatról, mert minden dolgozó dolgozik valamilyen osztályon, akkor egy-több a kapcsolat típusa.Egy osztályon ugyanis többen dolgoznak, de egy dolgozó csak egy osztályhoz tartozik.
Tételezzük fel, hogy van egy különböző projektek adatait tároló egyedtípusunk is, dolgozóink pedig különböző projektekben tevé-kenykednek. A két egyedtípus között n:m kapcsolat van, hiszen egy dolgozó vélhetően több projekthez, egy projekthez pedig több dol-gozó is kapcsolódik.A fenti dolgozó-osztály kapcsolat jól mutatja, hogy két egyedtípus között akár több kapcsolat is lehetséges. Az itt bemutatott példák természete-sen csak a jellemző esetekre épülnek. Speciális körülmények között ugyanaz a kapcsolat lehet más típusú is. Ha például egy munkahelyen előfordul, hogy ugyanaz a dolgozó több osztályt is vezethet, akkor dolgozó-osztály kapcsolat nem 1:1, hanem 1:n.
Később látni fogjuk, hogy minden ilyen tényezőt komolyan figyelembe kell venni az adatbázisok tervezésekor.