4. gyakorlat
Több felhasználó
párhuzamosan olvashatja, bővítheti, módosíthatja és törölheti az adatokat Az adatok konzisztenciájának és biztonságának biztosítása Eszközök az adatok biztonsági mentésére, vissza- és helyreállítására Nagy mennyiségű adat hatékony kezelése Nagyszámú felhasználó kiszolgálása Redundancia csökkentése
Lényege, hogy az egyedeket, tulajdonságokat
és kapcsolatokat egyaránt táblázatok, ún. adattáblák segítségével adja meg Az adattábla sorokból és oszlopokból áll. Egy sorát rekordnak nevezzük, amely annyi mezőből áll, ahány oszlopa van a táblának vevőkód
vevőnév
vevőcím
1111
Iksz Ipszilon
Budapest
2222
Lüke Aladár
Búcsúszentlászló
3333
Kukorica János
Békéscsaba
Az előbb látott adattábla adatok tárolására
szolgál. Minden ilyen táblához tartozik egy relációséma, amely annak szerkezetét írja le R(A1, ..., An), ahol R relációséma, és A1, . . . , An attribútumok. Az attribútumok egy részhalmaza lehet kulcs, ezeket aláhúzással jelöljük Az előző példa sémája: • Vevő (vevőkód, vevőnév, vevőcím)
Kulcs: egy relációséma attribútumainak egy
olyan, minimális elemszámú részhalmaza, amely az adott séma feletti tetszőleges tábla bármely két sorában különbözik A kulcs egyértelműen azonosítja a tábla egy sorát. Egy táblához több kulcs is tartozhat! Ezek közül egyet kiválasztunk, és ez lesz az elsődleges kulcs. Ezt húzzuk alá a sémában Ami nem kulcs, az másodlagos attribútum
A kulcs egyértelműen azonosítja az egyedet Az attribútumoknak azt a részhalmazát, amely egy másik adatbázisséma elsődleges kulcsára való hivatkozás, külső kulcsnak nevezzük és dőlt betűvel (írásban esetleg szaggatott vonallal) jelöljük. Ezzel teremthetünk kapcsolatot két relációséma között. Az EK-modellben megismert kapcsolatok a relációs modellben külső kulcsok formájában jelennek meg. A relációs adatbázis sémával akkor vagyunk készek, ha az összes egyedet és kapcsolatot átírtuk relációsémákra, és meghatároztuk a kulcsokat és külső kulcsokat.
Egyedek leképezése:
• Minden egyednek létrehozunk egy relációsémát • Kulcsa, az egyed kulcsattribútuma Gyenge egyedek leképezése:
• A gyenge entitás relációsémáját bővíteni kell a
meghatározó kapcsolat(ok)ban szereplő egyed(ek) kulcsával Összetett attribútumok leképezése:
• Szétbontjuk (az elemeivel helyettesítjük)
Többértékű attribútumok leképezése: • Pl. ha egy könyvnek több szerzője van Egyértékű attribútum (az értéknél vesszővel felsoroljuk a szerzőket) Több sor felvétele (annyi sort veszünk fel egy könyvhöz, ahány szerzője van) Új tábla létrehozása: KÖNYV(könyvszám, cím) SZERZŐ(könyvszám, név)
Kapcsolatok leképezése: • Vegyünk fel a kapcsolathoz egy új sémát, melynek neve legyen a
kapcsolat neve, attribútumai pedig a kapcsolódó entitások kulcs attribútumai, valamint a kapcsolat saját attribútumai. • Ha ezen séma kulcsa megegyezik valamely egyed kulcsával, akkor az attribútumokat olvasszuk be az egyed sémájába.
A kapcsolatok leképezésének menete: • 1:1 kapcsolat esetén kiválasztjuk a kapcsolatban részt
vevő két entitást egyikét (bármelyiket), és annak sémájába új attribútumként felvesszük a másik entitás kulcs attribútumait, valamint a kapcsolat attribútumait. • 1:N kapcsolat esetén az „N” oldali entitás sémájába új attribútumként felvesszük a másik entitás kulcs attribútumait, valamint a a kapcsolat attribútumait. • N:M kapcsolat esetén új sémát veszünk fel, amelynek attribútumai a kapcsolódó entitások kulcs attribútumai a kapcsolat saját attribútumai
E-K diagram vásárlásokról:
Alakítsuk át ezt az E-K diagramot relációs
adatbázissémára!
Vevő (vevőkód, név, cím) Számla (számlaszám, dátum, vevőkód)
Előfordulhat, hogy egy egyed ugyanabban a
kapcsolatban többször vesz részt. Példa: egy számítástechnikai kereskedés árul számítógép-konfigurációkat, de árul külön alkatrészeket is, melyek azonban konfigurációknak is lehetnek elemei
Árucikk(cikkszám, cikknév,
tartalmazó_árucikk)
Gyenge egyed leképezése
• A csoportnév nem kulcs (sok cégnél lehet ugyanolyan
nevű csoport), de ha a kapcsolaton belül a céget is bevesszük az azonosításba, akkor egyértelmű lesz, hogy melyik csoportról beszélünk.
Cég(név, cím) Csoport(csnév, cscím, cégnév)
Az alábbi E-K diagram vonatok induló-, közbülső- és végállomásait modellezi (egy vonatnak csak egy indulóállomása van, de erről az állomásról több vonat is indulhat, ezért ez 1:N kapcsolat)
Vonat(vonatkód, induló_állomás, indulóidő,
végállomás, érkezési_idő) Állomás(állomáskód, állomásnév) Közbülső_állomás(vonatkód, állomáskód, indulás, érkezés)
1. Készítsük el az alábbi E-K diagram sémáját!
Egy épület tervezésében több tervező is részt vehetett.
2. Hogyan néz ki a relációséma, ha csak egy
építésze lehet egy épületnek?