You are on page 1of 643

1.

Történeti háttér

Tt
Történeti háttér,
fejlődéstörténet

Bevezetés az adatbázis-kezelésbe
Adatbázisrendszerek és alkalmazásaik

Bu 1 isptng . ma
1. Történeti háttér

1950-es évek TIEVOC

e Kezdetleges adattárolási technikák


e Nagymennyiségű adat hatékonykezelésérelétrejött
rendszerek
o szekvenciális fájlok
o nem szekvenciális eléréstbiztosító fájlrendszerek

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 2

Bu veismne
1. Történeti háttér

1960-as évek TEO

Harmadik generációs nyelvek megjelenése


Cobol - adatkezelés céljábóllétrejött nyelv
Első adatkezelő rendszerek megjelenése
Hierarchikus adatmodell megjelenése
Hálós adatmodell alapjainak kidolgozása
SABRE - Azelső hálózatos, konkurens hozzáférést
biztosító adatbank - 1965

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 3

Bu veismne
1. Történeti háttér

1970-es évek TEO

e A malegelterjedtebb adatbáziskezelő típus alapjául


szolgáló relációs adatmodell kialakulása.
e A hálós adatmodell megjelenése.
e Jelentősek a fizikai és koncepcionális szintek
elválasztására tett erőfeszítések és a megfelelő
matematikai formalizmus használata.
e Magasszintű lekérdezőnyelvek kidolgozása.

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 4

Bu veismne
1. Történeti háttér

1980-as évek TEO

e A relációs adatbáziskezelők SOL (Structured Cuery


Language) kezelőfelülete szabvánnyáválik
e Negyedik generációs (4GL) nyelvek megjelenése - az
adatbázis-kezelő eszközök hatékonyabb fejlesztése
(Visual FoxPro, Oracle Power Forms, Magic)
e Kereskedelmi termékek: Oracle, Ingres, Informix
e PC-s adatkezelők

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 5

Bu veismne
1. Történeti háttér

1990-es évektől napjainkig TEVOC

e SOL elterjedése és meghatározó szerepe napjainkig


e Új elvek: objektum orientáltság, logikai programozás
o OGCL - Object Cuery Language
o Az 00 elvek leképzése ORMtechnikákkal
e Hálózatokelterjedése, elosztott adatbáziskezelők
szerepe növekszik
e Információs rendszerekelterjedése

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 6

Bu veismne
1. Történeti háttér

1990-es évektől napjainkig TEVOC

e A 2000-es évek új paradigmákatis hoztak:


o NOSOL - kulcs/érték párok használata
o XML - natív XML tárolás és lekérdezés
o gráf - gráfokon alapuló megoldások
e NewSOL: hatékonyság és skálázhatóságkialakítása a
relációs megoldásoknál a NoSOL erőteljes
teljesítményéhez

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe

B 3 ispring Ké.aA
M0,
Adatbázisrendszerek
szükségessége
és a CODASVLajánlás
Bevezetés az adatbázis-kezelésbe
Adatbázisrendszerek és alkalmazásaik

Ea Ez eisotma
Az adatkezelés problémái TIEWOC

állománykezelés
a9a5on a

gépi hatékonyság
redundancia 6 inkonzisztencia
rugalmas változtatás lehetőségének hiánya
adatvédelem hiánya
o sérülés
o jogtalan hozzáférés
konkurens hozzáférés hiánya
No

. egysíkú hozzáférés

Adatbázisrendszerek és alkalmazásaik 57 Bevezetés az adatbázis-kezelésbe 2

E Ez veisotma
CODASYL - 1965 TEO
Adattárolás fejlődése
Nagy mennyiségű adatesetén is megoldódott
Állományszerkezetek, rekordok
Műveletek definiálása vált szükségessé
1959 - CODASYL (Conference/Committee on Data
Systems Languages) konzorcium
e 1965 - CODASYLspeciális munkacsoportot hozlétre
(List Processing Task Force)
e 1967 átnevezik: Data Base Task Group (DBTG)

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 3

Ez EI e spena
A CODASYL-ajánlás TEVOC
1969 - első változat, 1971-ben végleges jelentés, amelynek célja
olyan rendszerdefiniálása volt, amely támogatja:
e összetett logikai adatszerkezetek kezelése
e irányított redundancia
o alapvetően tiltja, de ha kézben tartott a hatékonyság
érdekében akkor engedi
o cél az inkonzisztencia elkerülése
e jogosultságkezelés
e almodell szemlélet (nézetek)

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 4

Ez Ez e spena
A CODASYL-ajánlás (folyt.) TIEVOC
konkurens hozzáférés
többféle hozzáférés
magas szintű nyelvek támogatása
emberi hatékonyság
visszaállíthatóság
program-adat függetlenség
o logikai: Ha az adatok szerkezete megváltozik, ne kelljen a program
szerkezetét megváltoztatnom.
o fizikai: Egy adott program tudja feldolgozni az adathalmazt
függetlenülattól, hogy holvan fizikailag.

Adatbázisrendszerek és alkalmazásaik 57 Bevezetés az adatbázis-kezelésbe 5

E Ez veisotma
A CODASYL-ajánlás TEVOC
E célok elérésére három nyelvretettek javaslatot:
e Sémaleíró nyelv: az adatmodellt ésa fizikai tárolás módja.
e Alsémaleíró nyelv: kapcsolatot létesít a séma ésa felhasználói
program között, ezért szintaxisának összhangban kell lennie
azokkal a programnyelvekkel, amelyekbőlhívható (az akkor
javasolt nyelv a COBOL-hozilleszkedik). Alséma leírásakor a DBA
rögzíti, hogy az alsémával dolgozó program teljes adatbázisnak
mely részéhezférhet hozzá.
e Adatkezelő nyelv: adatok manipulációját végzi (beszúrás, törlés,
módosítás, rendezés,keresésstb.)

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 6

Ez KI e spena
Megjegyzések TEV

1. Az adatbázis több fájlban való tárolásának támogatása.


2. Ha egy adat csak egy helyenvan tárolva, akkor nem
léphetfel inkonzisztencia. Ha több helyen szerepel,
akkor ki kell kényszeríteni, hogy konzisztens legyen.
3. Adabázis adminisztrátor (DBA). Feladata a felhasználók
és jogosultságaik definiálása. Minden adatbázis
műveletellenőrzésalatt hajtódik végre különböző
jogosultságok mellett.
Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 7

Ez KI e spena
Megjegyzések TEV

4. Alapvető igény, hogy egyidejű (konkurens) hozzáférés


esetén is konzisztens maradjon az adatbázis.
5. Többféle felhasználó:
csak olvasás, vagy írhat és módosíthatis.
Lekérdezés: lekérdező nyelvvel (SOL), menü
vezérelten, illetve természetesnyelvifelülettel (GU1).
6. Objektum-orientált adatbázis rendszerek kompatibilisek
C-44-szal és a JAVA-val. Adatstruktúra kompatibilitás.

Adatbázisrendszerek és alkalmazásaik 52 Bevezetés az adatbázis-kezelésbe 8

Ez EI esotna
Megjegyzések TEV

7. Nincs szükség többszöri tárolásra.


Egy felhasználó több célra több nézetet hozhatlétre.
8. A szabványokkikényszerítése
Csökkenazalkalmazásfejlesztés ideje.
Felixibiliás: az igények változásával szükséges az adatbázis
szerkezetének megváltoztatása.
A legfrissebb információk rendelkezésre állása
hatékonyságnövelő.
Gazdaságosskálázhatóság az emberi erőforrásokban.

Adatbázisrendszerek és alkalmazásaik 27 Bevezetés az adatbázis-kezelésbe 9

E Ez veisotma
Megjegyzések TIE

9. A hagyományosfáljkezelésnél a fálj szerkezetének


megváltozása az összes program megváltozását
eredményezi. A fáljszerkezet a DBMS katalógusban
van elkülönítve az elérést biztosító programoktól. Egy
adott fáljban minden további nélkül szúrhatunk be új
attribútumot. A felhasználói program képes működni az
adatokon függetlenül a művelet konkrét
implementációjától.

Adatbázisrendszerek és alkalmazásaik 2. Bevezetés az adatbázis-kezelésbe 10

E Ez veisotma
Adatbázis - Adatbáziskezelő TWO
Adatbázis
e Logikai kapcsolatban álló adatok kollekciója
e A valós világ néhányelemétreprezentálja (kisvilág)
e Speciális céllal jön létre
e Bármilyen méretű és összetettségű lehet
Adatbáziskezelő
e Programokkollekciója, amely lehetővé teszi adatbázisok
létrehozását és fenntartását
e Általános célú szoftver, amely az adatbázis definiálás,
létrehozás, manipulálás és megosztásfolyamatát segíti
Adatbázisrendszerek és alkalmazásaik Bevezetés az adatbázis-kezelésbe n1

E Ez veisatna
Adatbáziskezelő rendszer feladatai TC
e adatbázisok
o létrehozása
o tartalmának definiálása
e adatok
o tárolása
o lekérdezése
o védelme
o titkosítása
e hozzáférési jogok kezelése
e fizikai adatszerkezet szervezése
Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 12

Ez KI e spena
Megszorítások kikényszerítése TEVOC

e Az adatbáziskezelő rendszernek gondoskodnia kell az


integritási, hatékonysági és védelmi feltételek
megőrzéséről
e A fenti feltételek ellenőrzését és betartatását az
adatbáziskezelő rendszer a háttérben végziel, a
felhasználó beavatkozása nélkül
e Ily módon a felhasználó sem véletlenül, sem
szándékosan nemtudja elrontani az adatbázist

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 13

Ea E e sotna
M0,
Adatbázisrendszerek
előnyei

Bevezetés az adatbázis-kezelésbe
Adatbázisrendszerek és alkalmazásaik

Ea Ez eisotma
Az adatbázisrendszerek előnyei TIENWOC
e Az adatkezelés másik fő variánsa a hagyományos
fájlkezelő rendszer
e Használata bizonyos esetekben előnyösebbnek
bizonyul az adatbázisrendszer alkalmazásánál
e Arendszerfejlesztő egyik fontos feladata a megfelelő
adatkezelési módszer kiválasztása
e A döntés helyes meghozatalához ismerni kell mindkét
rendszer előnyeit és hátrányait is
e Az adatbázisrendszer előnyeit tekintjük át a
következőkben
Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 2

E Ez Mé soing
Egységes tárolási rendszer TEVOC

e Egy adatbázis több alkalmazói program adatait is


összefoghatja
e Ezért az adatbázisban tárolt adatokatintegrált
adatoknak is szokás nevezni
e A normál fájlkezelésnél minden alkalmazói programhoz
saját adatrendszert kell készíteni

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 3

Ez Ez e spena
Adatfüggetlenség TEV

e Fizikai adatfüggetlenség: a fizikai adatszerkezet, az


elérési mód megváltoztatható anélkül, hogy a
programotis módosítani kellene.
e Logikai adatfüggetlenség: a letárolt logikai adatmodell
maga is bővíthető, illetve bizonyos mértékben
módosítható anélkül, hogy az alkalmazói programokat
módosítani kellene.
o Például, ha egy objektumtípushozegy újabb tulajdonságot
kívánok letárolni, nem kell egyetlen egy meglévő alkalmazói
programot sem módosítani.
Adatbázisrendszerek és alkalmazásaik 55 Bevezetés az adatbázis-kezelésbe 4

E Ez veisotma
Nagyobb adatabsztrakció TWO

e Az adatok a felhasználó szemszögéből tekintve


adatmodellben tárolódnak
e Következésképpen, a felhasználónak nem kell törődnie
a fizikai tárolás részleteivel
e A felhasználó egy magasabb absztrakciós szinten
értelmezheti az adatrendszert
e A részletek rejtve maradnak a felhasználó és a
programfejlesztő előtt is
Adatbázisrendszerek és alkalmazásaik 3: Bevezetés az adatbázis-kezelésbe 5

E Ez veisotma
Adatmegosztás TIE

e ADBMS felkészült az integrált adatokhoz történő


osztott hozzáférések kezelésére
e Ahagyományosfájlkezelő alkalmazásoknál igen nagy
energiabefektetéssel tudnánk konkurens hozzáférést
támogató koncepciótbiztosítani
e Az adatmegosztás révén a helyigény is csökkenthető
e Mindenkia legaktuálisabb adatokhozférhet hozzá

Adatbázisrendszerek és alkalmazásaik 27 Bevezetés az adatbázis-kezelésbe 6

Ez EI esotna
Ellenőrzött redundancia TEO

e Mivel több alkalmazásis ugyanazt az adatbázist


használja, ezért a felhasznált adatok is egy helyen
összpontosulnak
e A agyományosfájlkezelésnél az adat több fájlban is
letárolásra kerül, ha több alkalmazásnak is szüksége
van
e EZ a redundancia számoshátránnyal járt, kezdve a
felesleges helyfoglalástól a konzisztencia
megőrzésénekproblémájáig

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 7

Ez EI e spena
Adatvédelem TEO

e A DBMS az operációs rendszerekhez hasonlóan


nyilvántartja a jogosult felhasználókat
e Nyilvántartja az azonosító nevet, a jelszót, a
tulajdonában lévő adatokat, az engedélyezett
műveleteket
e Az adatvesztés okozta károk minimalizálására mind
statikus mind dinamikus védelem használható
e A statikus védelem egyik eszköze a mentés, a
dinamikus védelemhez pedig a naplózás tartozik

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 8

Ez Ez Mé soing
Optimalizált adatszerkezetek TVOr

e Hatékony adatstruktúrák kezelésére (hashing,


indexelés, stb.) alkalmas algoritmusok beépítve a
DBMS-be
e Műveletek hatékonyságának, gyorsaságának növelése
e Normál fájlkezelés esetén a programozónak kellene
mindezen hatékonyabb adatstruktúrákat
megvalósítania, amennyiben szükséges

Adatbázisrendszerek és alkalmazásaik: Bevezetés az adatbázis-kezelésbe 9

E Ez veisotma
Integritási feltételek érvényesítése." TÍVO
e Az adatok közötti integritási szabályok megadása, tárolása
e Az adatbázis módosításakor automatikusan ellenőrzi a
DBMS, hogy nem sérült-e megazintegritási szabály
e Ha megsérülne, akkor nem hajlandó elfogadni a változtatást
e A felhasználói programnak nemkell törődnie azintegritási
problémák teljességével
e A hagyományosfájlkezelésnél a programozóvállán van
minden felelőség

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 10

Ez KI e spena
Adatbázis használatának előnyei TÍNVO

e Szabványokkikényszerítése
o Az adatbázis adminisztrátor definiálja szabványokat és
kikényszeríti azoknak a betartásáta vállalat összes
felhasználójától
e Csökkentett alkalmazásfejlesztési idő
o Ha használunk valamilyen adatbázist, az jelentősen
lecsökkenti az alkalmazásfejlesztés idejét.
o Például ha szükségünk van valamilyen információra egy
jelentéshez, azt könnyedénkinyerhetjük az adatbázisból

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 11

Ez En Mé soing
Adatbázis használatának előnyei fÍf0C
e Rugalmasság
o Ha megváltozik a követelmény, akkor az adatbázis
szerkezetét is megkell változtatni
e Naprakész információ
o ADBMS lehetővéteszi, hogy ha egy felhasználó frissíti
az adatok az adatbázisban, akkor többi felhasználó
azonnal látja
e Skálázhatóság
o Csökkenti a működés és menedzselés összköltségét

Adatbázisrendszerek és alkalmazásaik 57 Bevezetés az adatbázis-kezelésbe 12

Ez EI esotna
M0,
Információs
rendszerek
Bevezetés az adatbázis-kezelésbe
Adatbázisrendszerek és alkalmazásaik

Ea Ez eisotma
Információs rendszerek TEO

e Rohamosan növekvő adatmennyiség


e Az információs rendszerek alkalmazásiterülete szinte az élet
mindenterületérekiterjed:
kereskedelem: raktári készlet és megrendelések nyilvántartása,
0900000000

kultúra, oktatás: könyvtári információs rendszerek, hallgatói adminisztráció


közigazgatás: adónyilvántartások
közlekedés: jegyhelyfoglalási rendszerek
egészségügy: beteg nyilvántartás
tudomány: szakadatbázisok
posta: ügyfelek, számlák nyilvántartása
vállalat: termelésirányítási rendszerek
mérnöki munka: tervezői rendszerek

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 2

Ez Ez e spena
Információs rendszerek jellemzői TTV

e Az adatbáziskezelő rendszerek egyik legfontosabb


felhasználási területe az információs rendszerek.
e Nagy adathalmaztkezelnek.
e Az adatok között is bonyolult kapcsolatok állhatnak
fenn.
e A kapcsolatokat hosszabb időszakon át megkell őrizni.

További fontos követelmények következnek:

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 3

Ez Ez e spena
Nagymennyiségű adatokkezelése TIEWOC

e Gyors válaszidő a felhasználók által kiadott utasításokra.


e Redundancia elkerülése: ugyanazon adattöbbszöri, -
felesleges- eltárolása.
o A rendundancia csökkentésével változhat az időbeli
hatékonyságésaz adatbiztonság...
e Optimalizálás: A fejlesztőnek megkell találnia a
hatékonyság különböző szempontjainak helyes
súlyozását.
o Ezek a szempontok gyakran egymássalellentétes lépéseket
követelnek.

Adatbázisrendszerek és alkalmazásaik 57 Bevezetés az adatbázis-kezelésbe 4

E Ez veisotma
Konkurens hozzáférés támogatása TV

e Egyidejűleg több felhasználó is használja, dolgozik vele.


e A párhuzamosváltoztatások, műveletek, ha nincsenek
összehangolva, egymáshatásait kiolthatják vagy elferdíthetik.
e Megoldás:
o elvégzett műveleteknyilvántartása
o műveletek szabályozott sorrendbentörténő végrehajtása
e Izoláció
o bármely tranzakció elkülönítvefut le a többi tranzakcióktól
e Atomosság
o vagy az összes műveletlefut, vagy egy művelet semfutle a
tranzakción belül

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 5

Ez KI e spena
Integritás megőrzés TEVOC

e A modellezett valóság mindig rendelkezik belső


törvényszerűségekkel.
e Integritási szabályok nyilvántartása.
e Ellenőrzés minden műveletnél, hogy a kapott
adathalmaz megfelel-e a letárolt szabályoknak -
hatékony végrehajtási idő mellett.
A letárolt adatok helyessége, integritása alatt azt értjük,
hogy az adatok minden megadott belső szabálynak
megfelelnek.
Adatbázisrendszerek és alkalmazásaik 55 Bevezetés az adatbázis-kezelésbe 6

Ez EI esotna
Integritás megőrzés TIEWOC

Példa integritási szabályokra


e Egyszerű:
o Az ember életkora nem lehet negatív.
e Bonyolultabb:
o Egy kereskedő csak akkor szállít, ha a kért áruból
legalább X mennyiség a raktáron marad, és a rendelő
már mindenelőző számláját kiegyenlítette.

Adatbázisrendszerek és alkalmazásaik 52 Bevezetés az adatbázis-kezelésbe 7

E Ez veisotma
Védelem TEO

e A felhasználó az összes adatát az információs


rendszerre bízza, a legtöbb adat csak ott tárolódik.
o tárolt adatok elvesztése szinte pótolhatatlan veszteséget
okozhat.
o A rendszernekfelkell készülnie olyan veszélyekre, mint az
adathordozó megsérülése, az operációs rendszer vagy a
program összeomlása.

e Másik veszély: az adatokilletéktelen személyekhez


történő kerülése.
Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 8

Ez KI e spena
Védelem TEO

e A rendszernek szabályoznia ésellenőriznie kell a


hozzáféréseket.
e Különbségetkell tenni az egyes felhasználók között az
elvégezhető műveletek tekintetében.
e Jogosult felhasználók nyilvántartása, privilégiumok
ellenőrzése minden műveletnél.

e A hozzáférési védelem egy másik elterjedt módszere a


titkosítás.
Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 9

Ez Ez e spena
Hatékony programfejlesztés TEV0C

e A rendszernek elég rugalmasnak kell lennie azért, hogy


a modellezett valóság változása esetén ne kelljen új
rendszert készíteni.
e A rugalmasság és a gyorsaság igényei hatékony
fejlesztő eszközök használatátteszik szükségessé.
e futtató környezetek sokféleségefelveti a
szabványosságkérdésétis.
e A szabványos eszközök használatának számos előnye
van.
Adatbázisrendszerek és alkalmazásaik . Bevezetés az adatbázis-kezelésbe 10

E Ez veisotma
M0,
Alapfogalmak

Bevezetés az adatbázis-kezelésbe
Adatbázisrendszerek és alkalmazásaik

Ea Ez eisotma
Alapfogalmak- adat TIIOC

Adat
Olyan ismert tény, amely számszerűsíthető ésimplicit
jelentése van.

Kisvilág
A valós világ egy része, amelyről az adatbázis adatokat
tárol.

Adatbázisrendszerek és alkalmazásaik: Bevezetés az adatbázis-kezelésbe 2

Ez EI esotna
Alapfogalmak- adatbázis TEV

Adatbázis
1. Az adatbázis speciális célra tervezett, felépített és
közzétett adatok összessége
2. Egymással logikailag összefüggő, egymáshoz
kapcsolódó, belső jelentéssel bíró adatok összessége

Megjegyzés
Véletlen adatok összegzése nem adatbázis.
Adatbázisrendszerek és alkalmazásaik Bevezetés az adatbázis-kezelésbe 3

E Ez veisotma
apfogalmak - DBMS TIVOC AI

atbázis-kezelő rendszer ( Database Management System - DBMS ) Ad

ran szoftvercsomagírendszer, amely számítógépes 1.


atbázisok létrehozásátés karbantartását támogatja.

atbázisrendszer
adatbázis-kezelő rendszer az adatokkal együtt. Me
1 amikor az alkalmazásokatis beleértjük. Vé

izisrendszerek és alkalmazásaik: Bevezetés az adatbázis-kezelésbe 4 Adatbi

Ez EI esotna
Adatbázisrendszer (egyszerűsített ábra) TEOC

Adatbázisrendszerek és alkalmazásaik 52 Bevezetés az adatbázis-kezelésbe 5

E Ez veisatna
Adatbázis példák TEV
e Egyetem:
o egyedek: diákok, oktatók, kurzusok, tanszékek
o kapcsolatok: egy diák felvesz egy kurzust, egy oktató egy
tanszék oktatója
e Helyfoglalási rendszerek:
o egyedek: ügyfelek, járatok, járművek (buszok,repülők),
sofőrök, utazási irodák
o kapcsolatok: egyutas foglal egy járatra, egy sofőr egy
buszt vezet

Adatbázisrendszerek és alkalmazásaik 37 Bevezetés az adatbázis-kezelésbe 6

E Ez veisotma
Alapfogalmak - egyed TEVOC

Egyed
A valós világnak az az eleme(tárgy, jelenség, elképzelés,
személy, fogalom stb.), amely a modellezéstárgyát képezi.

Példa - Egyedek:
e Kovács Péter, másodévesPTI-s hallgató
e Egy IHJ-818 rendszámú piros Suzuki autó
e Az INDK501 kódú, Adatbázisrendszerek nevű, 5 kredites tantárgy

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 7

Ea Ez jen
apfogalmak- tulajdonság TIVOC Al

lajdonság Eg
egyednek a modellezés szempontjából lényeges AN
emzője. SZt

Ida - Tulajdonságok: Pé
A Kovács Péter név, a második évfolyam, a PTI szak .
Az IHJ-818 rendszám, a piros szín, a Suzuki márka .
Az INDK501 kódot, az Adatbázisrendszerek név, az 5 kreditet .

ázisrendszerek és alkalmazásaik :2 Bevezetés az adatbázis-kezelésbe 8 Adatb

Ez EI esotna
5. Alapfogalmak

lapfogalmak- tulajdonságtípus IVO A

ilajdonságtípus T
z azonos szerepű tulajdonságok absztrakciója. Az
jel

íIda - Tulajdonságtípusok: Pt
A hallgató neve, évfolyama, szakja .
Az autó rendszáma,színe, márkája .
A tantárgy kódja, neve, kreditszáma .

bázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 9 Adat

E Ez veisotma
5. Alapfogalmak

lapfogalmak- egyedtípus TIEVOC A

jyedtípus Tu
: azonostulajdonságtípusokkal rendelkező egyedek Az
"ssztrakciója.

Ida - Egyedtípusok: Pe
Hallgató .
Autó .
Tantárgy .

Dázisrendszerek és alkalmazásaik 2 Bevezetés az adatbázis-kezelésbe 10 Adat

E Ez veisotma
5. Alapfogalmak

lapfogalmak- kapcsolattípus TIEVOC A

ipcsolattípus Er
:t vagy több egyedtípus közötti jól meghatározott viszony. Az
ab

ilda - Kapcsolattípusok: Pé
A hallgató és az autó között fennálló birtoklási viszony .
A hallgató és a tantárgy között fennálló felvételi viszony .
A hallgató ésa tantárgy között fennálló teljesítési viszony .

Dázisrendszerek és alkalmazásaik 2 Bevezetés az adatbázis-kezelésbe 11 Adat

E Ez veisotma
5. Alapfogalmak

Alapfogalmak- kapcsolat TIE

Kapcsolat
A két vagy több egyedtípus egyedei között fennálló
viszony.

Példa - Kapcsolatok:
e Kovács Péter felvette az Adatbázisrendszerektárgyat
e Szabó Ferencbirtokol egy piros Suzukit

Adatbázisrendszerek és alkalmazásaik 27 Bevezetés az adatbázis-kezelésbe 12

E Ez veisotma
5. Alapfogalmak

achman-féle fogalomrendszer TIw0C A

Bachman-féle fogalomrendszer áttekintése: Ki


A
absztrakt konkrét vis

egyed egyedtípus ! egyed-előfordulás

tulajdonság tulajdonságtípus tulajdonság-előfordulás Pe

kapcsolat kapcsolattípus kapcsolat-előfordulás :

bázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 13 Adat

E Ez veisotma
5. Alapfogalmak

Alapfogalmak - séma TEV I

Koncepcionális adatmodell (séma) /


/éges számú tulajdonságtípussal megadott véges számú
:gyedtípus és a közöttük fennálló véges számú
capcsolattípus összessége.

Adatbázis (modellezés szerint)


sz adatmodell, valamint az egyed-előfordulások, tulajdon-
ság-előfordulások és kapcsolat-előfordulások együttese.
datbázisrendszerek és alkalmazásaik 7 Bevezetés az adatbázis-kezelésbe 14

Ez EI esotna
M0,
Modellezés

Bevezetés az adatbázis-kezelésbe
Adatbázisrendszerek és alkalmazásaik

Ea Ez eisotma
A Bachman-féle fogalomrendszer" TÍrw0l

A Bachman-féle fogalomrendszer

absztrakt konkrét

egyed egyedtípus egyed-előfordulás

tulajdonság tulajdonságtípus tulajdonság-előfordulás

kapcsolat kapcsolattípus kapcsolat-előfordulás

Adatbázisrendszerekés alkalmazásaik s. Bevezetés az adatbázis-kezelésbe 2

Ez KI e spena
t modellezés folyamata TIE0C /

emel
Aazmásoszázz
bolállítánaamalteke
A
Adatkövetelmények
4. a
Köndepcionális tervezés
Musa melt an Tnálts sé
tranzakciánpocifiktetó menet 7.
DBMS-füsgetlen a FF
Lagükai tervezén
Í DDMS-tegő :
[ Alkalmazót program ke me Lost méne
neee Fizikai tervezén
:
Trenszkeiőimpiszseztázió BelaT néma
:
Alkalinnzót progrnaok

itbázisrendszerek és alkalmazásaik 55 Bevezetés az adatbázis-kezelésbe 3 hd

E Ez veisatna
modellezés lépései TIOC A

Mi a kisvilág? - (Gon vita)


Határozzuk meg a probléma A köret
területét, és .
a konkrétfeladatot. ——e — Adnalábve
Mit tudjon a rendszer?
Igények, követelmények, elvárások meghatározása.
A szükséges és lehetséges adatok számbavétele.
A kívánt funkciók végiggondolása.
Elemzésés tervezés
Csoportmunka másterületek szakértőivel, iteráció.
zisrendszerek és alkalmazásaik 7 Bevezetés az adatbázis-kezelésbe 4 Adatbá

E Ez veisotma
A modellezés lépései TEVOC

5. Koncepcionális adatmodell elkészítése:


az egyed-, tulajdonság- és kapcsolattípusok meghatározása.
6. Az elkészített adatmodellen műveletek/ tranzakciók
definiálása. e küldtél
7. Logikai tervezés
a DBMS leíró nyelvén.
8. Logikai séma (konkrét)
kialakítása.
9. A logikai sémából belső (fizikai)
sémalétrehozása (soksz.
Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 5

Ez Ez e spena
Példa modellezésre TIENWOC
Repülőgép helyfoglalási rendszer
Cél: Gépek, a személyzetés az utasok nyilvántartása mindenjárat esetében.
e Adatkövetelmények:
o menetrend - járatok
o erőforrások- repülőgépek
o utasok
o személyzet
e Funkcionális követelmények:
o helyfoglalása, illetve szabad hely keresése adott járaton
o egy járat utasainak kilistázása
o egy pilóta menetrendjének megállapítása

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 6

Ez Ez esotna
A tulajdonságtípusok osztályozása TEVOC

1. Szerkezete szerint:
a. egyszerű/atomi
b. összetett

2. Mennyiértéketvehetfel egyszerre:
a. egyértékű
b. többértékű/halmazértékű

3. Minden esetben megjelenik-e a háttértárolón:


a. tárolt
b. származtatott - példa: születési dátumból kor meghatározása

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 7

Ez Ez e spena
Tulajdonság-előfordulás: NULL TEVOC

e nem alkalmazható
e nem értelmezett
e ismeretlen
o létezik, de hiányzik
o nem tudjuk, hogylétezik-e
e Példa:
o regisztráció esetén a telefonszámot nem kötelező
megadni, de a felhasználónevetésa jelszót igen.
o ebben az esetben a telefonszám helyénállhat NULL
érték áll, ha a felhasználó nem adta meg.
Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 8

Ez KI e spena
"apcsolat foka TEVOC

ee ela
apcsolat foka
eghatározza, hogy mennyi egyedtípus veszrészt a
ipcsolatban. (bináris, ternáris, .. .)

ílda e.
Másodfokú kapcsolat: a hallgató által felvett tantárgyak,
két hallgató csoporttársi viszonya
Harmadfokúkapcsolatállhat fenn
a bank, az ügyfél és a számla között
tbázisrendszerek és alkalmazásaik: Bevezetés az adatbázis-kezelésbe 9 Ada

E Ez veisotma
Kapcsolat számossága Two,
Kapcsolat számossága
Meghatározza, hogylegfeljebb hány kapcsolat-
előfordulásban vehetrészt egy egyedelőfordulás.
(1:1,1:N, N:M)
Példa
e A házassági kapcsolat Magyarországon 1:1 számosságú
e A tulajdonlási kapcsolat az autó és a személy között 1:N
e A hallgató és tantárgy közötti tantárgyfelvétel kapcsolat M:N
számosságú
Adatbázisrendszerek és alkalmazásaik 57 Bevezetés az adatbázis-kezelésbe 10

E Ez veisotma
Kapcsolat szorossága TIEVOC

Kapcsolat szorossága
Meghatározza, hogy a kapcsolatban részt vevő egyed-
típusok minden egyedénekrésztkell-e vennie legalább egy
kapcsolat-előfordulásban.
(lehet: kötelező,félig kötelező, opcionális)

Adatbázisrendszerek és alkalmazásaik 22 Bevezetés az adatbázis-kezelésbe 11

Ez Ez e spena
apcsolat szorossága TÍTVOC K

"da Ki
elé; 24 a Lao Fálo köz z Mi
A tulajdonlási kapcsolat az autó és a személy között félig kötelező ;
szorosságú. (Minden autó egyednekrésztkell vennie egy kapcsolat- típ
előfordulásban, de nem minden személynekkell lennie autójának.) ka
A tulajdonlási kapcsolat az autó és az autótulajdonos között (le
kötelező szorosságú. (A szemantika hordozza a miértet.)
A könyv ésa könyvtártag közötti kölcsönzésiviszony opcionális
szorosságú. (Nem minden könyv kölcsönzött, és nem mindenki kölcsönöz)

Dázisrendszerek és alkalmazásaik :7 Bevezetés az adatbázis-kezelésbe 12 Adat

E Ez veisotma
Thos
Az ER modell
alapjai
Az ER modell
4. Az ER modell alapjai

Az ER modell bemutatasa Tet0e

Egyed-kapcsolat modell (Entity-Relationship, ER)


Alapjai 1976-ban jelentek meg: Chen publikacidja
Egyszerisitett szemantikai adatmodell
EgyszerG grafikus jelélésrendszer
Nem teljes adatmodell, de egyszerisége révén
elterjedt, 6s ma is széles kérben hasznalatos
Tervezési segédeszk6z adatbazisok tervezéséhez
Kénnyen konvertalhat6 relacids modellre

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao “pn
4. Az ER modell alapjai

Az ER modell bemutatasa Tet0e

e A valdésag strukturdlis leirasan alapszik


© megengedbizonyos egyszertibb integritasi feltételeket is
e Codd szerint nem igazi adatmodell:
o Egy adatmodellnek tébbetkell tudnia az adatbazis-
tervezés tamogatasanal, és precizebbnek kell lennie.
e Date szerint:
o Az ER modell valdban egy adatmodell, amely csak egy
vékony rétegét képezi az alapveté relacids modell felsé
szintjének.

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao “pn
4. Az ER modell alapjai

Koncepcié: egyedek és kapcsolatok Tri

e Peter P. Chen: Entity - Relationship Modeling


EGYED ES KAPCSOLAT

szemeLy szeMeLy
{ (eGyeD) ) { (eGyED)

FER FELESEG
(SZEREPKOR) (SZEREPKOR)
HAZASSAG
FONEV ---> EGYED
IGE ---> KAPCSOLAT
Forrds: http:/iwww.csc Isu.edu/~chenipdfiChen_Pioneers pdf

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao 2 pg
4. Az ER modell alapjai

Formalis halmazelméleti definiciok Till


R= {lyr Lor wr Fy}
Egyed e
vrs = {lair Siar er Sin) |
Egyedtipus Ey 2:. © Ey, « Gi, € EB, }

Tulajdonsag v ROE, x E,x 2. xE


Vi: Es P(D); P(D): hatvanyhalmaz,
Tulajdonsagtipus v; Vv Daz értékkészlet (NULL is)

Osszetett attributum esetén:


Kapcsolat r
D = B(B(D,) x B(D,) x .. x P(D,))
Kapcsolattipus Re r
Vie): az e egyed V attribtttumaénak

az értéke
Adatbazisrendszerekés alkalmazasaik > AZER modell
4. Az ER modell alapjai

Formalis halmazelméleti definiciok Tr


Egyed e, 65 pl 3
Egyedtipus €, © ALKALMAZOTT és p; € PROJEKT . fo"

Tulajdonsag v = Kovacs L. (D:String) i yy

Tulajdonsagtipus v € Nev; Nev:ALK. + P(String);


Nev(e,) = "Kovacs L.”
Kapcsolat r, = {€,, pi}
fopectennen: —-NAKUAZOTT
Kapcsolattipus R:DOLGOZIK_RAITA={r,,%,,+--} New Kor, Rene

Eaves hema
CenTattometen|(Adenbo A, 38, 90009| 220, Osbrecen
Medes,“

Adatbazisrendszerekés alkalmazasaik

ao 2 pg
4. Az ER modell alapjai

ER modell kontra relaciés modell Tr


Mindkett6 Descartes-szorzatot hasznal szerkezetnek,de
e ER modell:
© az egyedek kozotti kapcsolatokatfejezi ki a relacidban
°o egy kapcsolatot egyedek rendezett listajaként
definialhatunk (halmazelméleti definicid)
o egyedek Descartes-szorzata alkotja a kapcsolatokat
e Relacios modell:
© adatok tartomanyainak Descartes-szorzata alkotja a
relaciot
o adatértékek alkotjak a strukturat

Adatbazisrendszerek és alkalmazasaik >> AZER modell

eo 2a
4. Az ER modell alapjai

ER modell kontra relacios modell Tri"


Mindkett6 Descartes-szorzatot hasznal szerkezetnek,de
e ER modell:
° az egyedek k6z6tti kapcsolatokatfejezi ki a relacidban
o egy kapcsolatot egyedek rendezett listajaként
definialhatunk (halmazelméleti definicio)
o egyedek Descartes-szorzata alkotja a kapcsolatokat
e Relacids modell:
o adatok tartomanyainak Descartes-szorzata alkotja a
relaciot
o adatértékek alkotjak a strukturat

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao “pn
4. Az ER modell alapjai

ER modell kontra relacios modell Tri"


Mindkett6 Descartes-szorzatot hasznal szerkezetnek,de
e ER modell:
° az egyedek k6z6tti kapcsolatokatfejezi ki a relacidban
o egy kapcsolatot egyedek rendezett listajaként
definialhatunk (halmazelméleti definicio)
o egyedek Descartes-szorzata alkotja a kapcsolatokat
e Relacids modell:
o adatok tartomanyainak Descartes-szorzata alkotja a
relaciot
o adatértékek alkotjak a strukturat

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao “pn
4. Az ER modell alapjai

ER modell kontra relacios modell Tri"


e ER modell:
o Nagyobb jelentéstartalommal, szemantikaval bird
informacidkat tartalmaz, mint a relacids modell
o Az adatszerkezethez csatolja az adatok szemantikajat is
o Az egyedek kézott egyértelmi, jelélésben is
megmutatkoz6 ésszekéttetés van, ami a relacids
modellnél viszont implicit
o Aszamossaggal kapcsolatos informacidkatis jeldli, mig a
relacids modellben ennek csak egy része, implicit modon
van jelen

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao “pn
4. Az ER modell alapjai

Kitekintés Tet0e
Az XML és az ER modell k6zétti hasonldsagok:
e AzZRDF és az ER modell
o RDF: A web metaadatainak leirasa
e Az XLink és az ER modell
© igen hasonl6 az ER modell n-ed foku kapcsolatainak
koncepcdjahoz
e A Web elmélete
o az ER modell a web(hianyz6) elméletének egyik alapja
lehetne

Adatbazisrendszerekés alkalmazasaik >> AZER modell

eo ae
Tie

Az ER modell
alapjai - Elemek
Az ER modell
2. Az ER modell alapjai- Elemek

Modellezés Mety0

Az ER modell harom alapeleme:


e Egyed(Entity)
e Kapcsolat (Relation)
e Tulajdonsag (Attribute)
Induljunk ki a modellezett vilagbdl:
e Hogyan irnank le példaul egy egyetem szerkezetét?
e Egyetem: hallgaték, tanarok, tantargyak, 6rak
e Minden hallgatot meg tudunk kilénbéztetni egymastdl,
hasonloan a tanarokhoz, tantargyakhoz vagy 6rakhoz
e Mindegyik a vilag egy 6nallé darabja, szerepldje, objektuma
Adatbazisrendszerekés alkalmazasaik >> AZER modell

= a s"¢ ispring
2. Az ER modell alapjai- Elemek

Az ER modell elemei (Egyed) Meroe


e Egyed (Entity)
° amodellezett vilag azon szerepléit, amelyek onalld léttel
birnak és amelyekrél kUlénb6z6 informacidkat tartunk
nyilvan
e Egyedtipus: Hasonl6 felépitésG egyedek alkotjak
© példaul: HALLGATO egyedtipus
o minden egyedtipus t6bb egyedeléfordulast dlel at
1. HALLGATOegyedtipus abrazolva: 2. HALLGATO egyed:

hallgato1
HALLGAT
Kovacs Janos 20 H9U83N

Adatbazisrendszerekés alkalmazasaik >> AZER modell

= 7 s"¢ ispring
2. Az ER modell alapjai- Elemek

Az ER modell elemei (Tulajdonsag) Tr!


e A valdsagban jél meg tudjuk kUl6nbdéztetni az egyik
hallgatét a masiktdl, az egyik tantargyat a masiktol
o példaul név, neptunkdd, vagy egyéb tulajdonsagokalapjan
co mindegyik hallgaté rendelkezik egy sor olyan tulajdonsaggal,
amelyek mas-masértékeket vehetnekfel az egyes hallgatoknal
e Tulajdonsag (Attribute)
o egyedhez kapcsolddoleirdé szerepet betdlt6, értéketjel6l6 elem
© az egyedeléfordulasokat is az egyed tulajdonsagai alapjan
azonosithatjuk be (kulcstulajdonsag)
o ésszetett,tobbértékti (pl. lakcim),szarmaztatott tulajdonsagok (kor)
o példa tulajdonsagok: ‘Kovacs Janos’, 20, H9U83N
Adatbazisrendszerekés alkalmazasaik >> AZER modell

= = s"¢ ispring
2. Az ER modell alapjai- Elemek

Az ER modell elemei (Tulajdonsag) Tr!


e Az egyes egyedtipusok elsédlegesen a tipushoz tartoz6
tulajdonsagok kérében térnek el egymastol
o mas adatokattartunk nyilvan egy tanarrdl, és egy targyrdl
© az egyedtipus lényegesjellemzdje a hozza tartozo
tulajdonsagok kére
e Tulajdonsagtipus
o példa tulajdonsagtipusok: név, életkor, neptun kéd
1. Tulajdonsagtipusokjelélése: 2. Tulajdonsagtipusok, és a hozzajuk tartoz6 értékek:

Nev Eletkor Neptun kod


Kovacs Janos 20 H9U83N

Adatbazisrendszerekés alkalmazasaik >> AZER modell

= rw s"¢ ispring
2. Az ER modell alapjai- Elemek

Az ER modell elemei (Kapcsolat) _Tri\i/


e Az egyedeldéfordulasok és az egyedtipusok nem
elszigetelt szerepléi a modellezett vilagnak.
e Az egyedek kapcsolatban allnak mas egyedekkel, igy
ésszetettebb strukturat hozvalétre.
e Példaul: egy hallgaté t6bb tantargyhoz is kétédik, egy
tanar is kapcsoldédhat t6bb tantargyhoz.

Adatbazisrendszerekés alkalmazasaik >> AZER modell

= re s"¢ ispring
2. Az ER modell alapjai- Elemek

Az ER modell elemei (Kapcsolat) _Tri\i/


e Kapcsolat (Relationship)
° az egyedek kézétti asszociacids viszonyt abrazolja
o példaul: egy hallgaté és egy tantargy k6zétti kapcsolat
o az ER modell megkiilénbdézteti mind az egyedeknek,
mind a kapcsolatoknak tobb valtozatat
o akapcsolatok is rendelkezhetnekattribUtumokkal
Példa kapcsolat a HALLGATO és a TANTARGYegyedtipusok
k6zott:

Adatbazisrendszerekés alkalmazasaik >> AZER modell

= re s"¢ ispring
Objektumok abrazolasa MeNg0C

Az ER modell nem egyértelmG (nem egzakt): ugyanaz az


objektum mas-mas modon is abrazolhaté a modellben:
e Egy objektum lehet egyed és tulajdonsagis:
o példaul: a tanszék lehet egyed, vagy az oktatd egy
tulajdonsaga
e Egy objektum megjelenhet kapcsolatként és egyedként
is:
o példaul a k6nyvkdélcs6nzés, ha azonositéval, vagy
sorszammal akarjuk ellatni akkor egyed, egyébként
kapcsolat
Adatbazisrendszerek és alkalmazasaik >> Az ER modell

= a s"¢ ispring
2. Az ER modell alapjai- Elemek

Objektumok abrazolasa MeNg0C

e Egy objektum megjelenhet kapcsolatként és


tulajdonsagkéntis:
o példaul: a tulajdonosi viszony az aut6 és az ember egyed
k6zott abrazolhatd az autd tulaj}donsagakéntis,
amennyiben a tulajdonosadataira nincs szUkség
e Az objektumok abrazolasat a Fogalmak megjelenésének
alternativai cimG leckében fejtjiik ki.

Adatbazisrendszerekés alkalmazasaik >> AZER modell

= s"¢ ispring
Tec
Egyedek es
tipusaik
Az ER modell
Adatbazisrendszerekés alkalmazasaik
3, Egyedekés tipusaik

Egyed(Entity) Meroe
Egyed
Egy objektum tipus, egy a kilvilag t6bbi részétél
egyértelmGien megkilénbéztetett, 6nalld léttel bird dolog,
amir6l az informacidkattarolni kivanjuk.

Egyedtipusok:
e Normal egyed
e Gyenge egyed

Adatbazisrendszerekés alkalmazasaik >> AZER modell


3. Egyedek és tipusaik

Egyed (Entity) Metioe


Az egyedlehet
1. fizikai szinten létez6 objektum:
o példdul személy, autd, haz, dolgozé
2. fogalmi szinten létez6 objektum:
o példaul vallalat, foglalkozas vagy egy egyetemi tantargy
Egy egyedattributumai az 6t lefrd tulajdonsagok:
o példdul egy dolgoz6 egyedetleirhatunk a dolgozé
nevével, életkoraval, cimével, fizetésével, foglalkozasaval;
o egy konkrét egyed minden egyesattributumahoztartozik
egy érték.
Adatbazisrendszerek és alkalmazasaik >> Az ER modell
3, Egyedekéstipusaik

Példa egyedek Meroe


DOLGOZOegyed:
el

Név cim Eletkor Otthoni telefonszam

Kovacs Janos 4032 Debrecen, 55 52/123456


virdg utca 18.

VALLALAT egyed:
el

Név székhely E1ndk


Fiastyuk Bt. Debrecen Kovacs Janos

Adatbazisrendszerek és alkalmazasaik >> Az ER modell


3, Egyedekéstipusaik

Példa egyedtipusok Meroe

DOLGOZOegyedtipus: VALLALATegyedtipus:

Adatbazisrendszerekés alkalmazasaik >> AZER modell


3, Egyedekés tipusaik

Egyedtipusok MeN0e

Azokat a (hagyomanyos) egyedtipusokat, amelyeknek van


kulcsattribUtumuk, normal, vagy er6s egyedtipusoknak
nevezzuik
Azokat az egyedtipusokat, amelyek nem rendelkeznek
sajat kulcsattribUtumokkal, gyenge egyedtipusoknak
nevezzuk

Egyedtipusok jelélése: | “”" "*** [covet


veve
. . pe d d

normal egyed gyenge egyed

Adatbazisrendszerekés alkalmazasaik >> Az ER modell


3, Egyedekés tipusaik

Példa erés és gyenge egyedtipusok Ti


Erés egyed:
e Egy személy normal egyed lesz, hiszen a személyi szama
egyedi azonositéként szolgalhat.
Gyenge egyed:
e Egy hozzatartoz6 esetén pusztan annak nevének ésrokoni
kapcsolatanak megadasa nembiztosit 6énmagaban
egyértelmG azonositast, mert nem taroljuk az azonosité
adatait, csak a nevét (ami ismétlédhet) és azt hogy egy
- azonositott (létez6) - személynek valamilyen rokona.
Az egyértelmuisitést az ismert személy megadasajelenti!
Adatbazisrendszerekés alkalmazasaik >> AZER modell
3, Egyedekés tipusaik

Egyedtipusok és egyedhalmazok MeNg0C

e Alapvetéen az adatbazis hasonl6 egyedek csoportjait


(+ kapcsolataikat) tartalmazza.
e Egy egyedtipus olyan egyedek egy kollekcidjat (vagy
halmazat) definialja, amelyek azonosattribUtumokkal
rendelkeznek.
e Az adatbazisban minden egyedtipus a nevével és az
attributumaival van megadva.

Adatbazisrendszerekés alkalmazasaik >> AZER modell


3, Egyedekés tipusaik

Egyedtipusok és egyedhalmazok TMhenooe

Egyedtipus neve: DOLGOzO VALLALAT


Név Eletkor Fizezés Név K6ézpont ElInok

Egyedhalmaz Kovacs Janos 55 800000 Dzsungel Kovacs


(extenzid): kertészet DePrecen Janos
Barna Péter 40 300000
Virus PC Kiraly
Szabo Judit 25 200000 druhaz Budapest Robert
e Azadatbazis egy konkrét egyedtipusa 6sszes egyedének egy
adott id6pillanatban vett kollekcidja az egyedhalmaz.
e Azegyedhalmazra altalaban ugyanazzal a névvel hivatkozunk,
mint az egyedre.
Adatbazisrendszerekés alkalmazasaik >> AZER modell

s"¢ iSpring
Gyengeés erés egyedtipusok Meroe

Er6és egyedtipus: sajat kulcs attributummal rendelkezik,


6nalldan azonosithatdak.
Gyenge egyedtipus: nem rendelkezik sajat
kulcs attribdtum(okk)al, mastdl fgg.

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao 2
Gyengeés erés egyedtipusok Meroe

e A gyenge egyedtipushoz tartoz6 egyedek azonositasa:


© egy masik egyedtipus bizonyos egyedeinek
o és sajat attribUtumértékeik (k6zil altalaban egynek
a) felhaszndalasaval.

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao 2
Gyengeés erés egyedtipusok Mtoe

e A gyenge egyedtipushoz tartoz6 egyedek azonositasa:


o részleges kulcs (diszkriminator), amely azon
attributumok halmaza, amelyek egyértelmGien
azonositjak azokat a gyenge egyedeket, amelyek
ugyanazontulajdonos egyed(ek)hez kapcsolddnak.

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao tn
Gyenge egyedtipus azonositasa Meroe

e Amasik (nem kételez6en erdés) egyedtipust azonositd


vagy tulajdonos egyedtipusnak nevezziuk.
© agyenge egyedtipust a tulajdonosaval é6sszek6té
kapcsolattipust a gyenge egyedtipus azonosito
kapcsolatanak hivjuk.

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao 2
Gyenge egyedtipus azonositasa Meroe

e Agyenge egyedtipus mindig totalis résztvevdje az


azonosité kapcsolatanak, mert egy gyenge egyedet nem
lehet azonositani tulajdonos egyed nélkil.

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao 2
Létezésfiigg6ség (szorossag) Meroe
e Aszorossag megadja, hogy egy egyed létezése fiigg-e attdl,
hogy kapcsolatban all-e egy masik egyeddel.
e Meghatarozza azon kapcsolat-eléfordulasok minimalis
szamat, amelyekben az egyes egyedek részt vehetnek.
e Arészvételi megszoritasoknak két tipusa létezik:
co Ké6telezé (totalis kapcsolat):
Minden egyedeléfordulashozkell kapcsolédnia egyedeldéfordulasnak a
kapcsolatban
© Opcionalis (parcialis) kapcsolat
Létezhet olyan egyedeléfordulas, amelyhez nem kapcsoldédik
egyedeléfordulas a kapcsolatban

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao tn
Létezésfiiggdség Mtoe

e Nem minden létezésfiiggdség eredményez kételezéen


gyenge egyedtipust a kapcsolatban.

e Példaul egy JOGOSITVANY egyed nem létezhet egy


kapcsolédé SZEMELYegyed nélkil:
o aJOGOSITVANYegyednekis van sajat kulcsa
(a Vezetdi_engedély_szama)
o ezért nem gyenge egyed.
Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao tn
Példa Meto0e
e HOZZATARTOZO,gyenge egyedtipus: a DOLGOZO
egyedtipushoz kapcsolddik, 1:N kapcsolattipuson keresztil
e AHOZZATARTOZOattributumai: Nev, Szdatum, Nem
e Két kul6nb6z6 dolgoz6 két hozzatartozdjanak véletlentl
lehet ugyanaz a Neve, Szdatuma, Neme, annak ellenére,
hogy ktil6nb6z6 egyedekrél van sz6
(ez) Gam Cree

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao tn
Példa Meto0e
e Csak azutan azonosithatok kul6nb6z6 egyedekként, ha mar
meghataroztuk azokat a konkrét dolgozé egyedeket,
amelyekhez az egyes hozzatartozdk kapcsolédnak
o AHOZZATARTOZO egyedtotélis résztvevéje az azonositd
kapcsolatnak.
© Azegyes DOLGOZO egyedek a hozzajuk kapcsolod6
HOZZATARTOZOegyedektulajdonosai.
Gz) & Cane)

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao 2
Részleges kulcs - diszkriminator MeN0e

A gyenge egyedtipusoknak részleges kulcsuk (diszkriminatoruk)


van, amely azon attribUtumok halmaza, amelyek egyértelmtien
azonositjak azokat a gyenge egyedeket, amelyek ugyanazon
tulajdonos egyed(ek)hez kapcsolddnak.

e E1626 példa: ha feltételezziik, hogy ugyanazon alkalmazott két


hozzatartozdjanak nem lehet azonos a keresztneve, akkor a
HOZZATARTOZO Név attributuma a részlegeskulcs.
e Legrosszabb esetben a gyenge egyedtipus dsszes
attributumabol képzett dsszetett attributum lesz részleges kulcs.
Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao 2 ig
Reprezentacio attribitumként MeN0e
e A gyenge egyedtipusokat néha komplex (6sszetett,
tébbértékti) attributumokként is reprezentalhatjuk.
e Az eléz6 példaban megadhatnank a DOLGOZO
egyedtipushoz egy tébbérték Hozzatartozok attributumot
o 6sszetett attribitum: Név, Sztiletési idé, Nem
o Az adatbazis tervezdje dénti el, hogy melyik reprezentacidt
hasznaljuk.
o Agyenge egyedtipus reprezentacidt célszerti hasznalni akkor,
ha sokattributumunk van.

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao tn
Reprezentacids alternativak Meroe

Hozzatartoz6 abrazolasa Hozzatartoz6 abrazolasa


gyenge egyedtipusként: tobbérték, dsszetett
attributumként:

—_ ow

©)
Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao 2
Gyenge egyedtipusok tébb szintje Mtoe
e Haagyenge egyedtipus az azonosit6 kapcsolattipusan
kivil mas kapcsolattipusokban is részt vesz, akkor nem
célszert komplex attributumként modellezni
e Altalanossagban gyenge egyedtipusok tetszéleges szamu
szintjét definialhatjuk
°o a tulajdonos egyedtipusis lehet gyenge egyedtipus
© egy gyenge egyedtipus egynél tébb azonosité
egyedtipussal is rendelkezhet, igy az azonosité
kapcsolattipusa kett6nél magasabb foku is lehet
Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao tn
Gyenge egyedt6l valo fiiggés MeN0e

Az E/R modell nem korlatozza a tulajdonos egyedtipust egy


létezésfiiggd kapcsolat esetén kizardlagosan erés
egyedtipusra.
Példa: az EXCEL felépitése
Egyedek:fajl, munkaftizet(ek), oszlop(ok)
Munkafiizetfajlban van, nem létezhet fajl nélkull: gyenge egyedtipus
Oszlop munkafiizetben van: gyenge egyedtipus
Azaz: oszlop csak a munkafizetés a fajl segitségével egyitt
azonosithatd, ahol a munkafiizetis fuggd

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao tn
Tdbb azonosito kapcsolat Meroe
e SZALLITAS gyenge egyedtipusanak egy egyedeéttehat a
BESZALLITO, az ALKATRESZ és a PROJEKT
egyedtipusokbdl vett harom tulajdonos egyedének
kombinacidja azonositja
© =)
BESZALLITO S

ALKATRESZ

Adatbazisrendszerekés alkalmazasaik >> AZER modell

ao 2
Tin.
Tulajdonságok és
típusaik
Az ER modell
Adatbázisrendszerek és alkalmazásaik

Bu 1 san
5. Tulajdonságokéstípusaik

Tulajdonság(Attribútum) TEVOC
Matematikailag egy E egyedtípus A attribútumát, amelynek
az értékkészlete D, egy E-ből D-nek a P(D)
hatványhalmazábaképező függvénykéntdefiniálhatjuk:
A:E— P(D)
e Aze egyed attribútumának az értékére A(e) formában
hivatkozunk.
e A definíció az egyértékű és többértékűattribútumokat,
valamint a NULL értékeketis lefedi.
Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Hm jen
5. Tulajdonságokéstípusaik

Normál/ egyszerű attribútum TIrVOC

e Egy elemi értékkel leírható attribútum


e Például: testmagasság, mint skalár szám
Jelölése:
EE] ZD
Lm
— me
t )

Adatbázisrendszerek és alkalmazásaik 2. Az ER modell

Hm ze spne
Tulajdonság(Attribútum) TEVOC
Egy A összetett attribútum esetén a D értékkészlet:

V - P(D) x P(D2) X ... x PCD))


A modell kezeli
e az egyszerű és összetett,
e az egyértékű és halmazértékű (többértékű), valamint
e atárolt és származtatott
tulajdonságtípusokat.
Komplexattribútum: több egymásba ágyazható.
Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Em vetsping
5. Tulajdonságokéstípusaik

Összetett attribútum TWO


e Olyan attribútum, amely több elemi attribútum
együttesére bontható.
e Például lakcím: felbontható a város, utca, házszám,
lakásszám elemi adatok együttesére.
Jelölése:
SEZEÖN

ATB t [EN
et

datbázisrendszerek és alkalmazásaik :- Az ER modell

Hm ze spne
Többértékűattribútum TIEWOC
e Nem egy, hanem több elemi értéket, az értékek egy
listáját veheti fel.
e Például: a SZEMÉLYegyed Diplomák tulajdonságának
leírására többelemi értéket is meg lehet adni.
o Egy SZEMELYegyedrendelkezhetnulla, egy, vagy több
diplomával is.

Jelölése: May Példa: 6


Eletkor— SZEMELY

Adatbázisrendszerek és alkalmazásaik 57 Az ER modell

Hm ze spne
5. Tulajdonságokéstípusaik

Származtatottattribútum TEWOC

e Olyan attribútum, amelynekértéke másattribútumokból


vezethető le, származtatható.
e Például: az Életkor attribútum származtatott, mert a
Szülidő-ből származtatható, kiszámolható az
aktuális dátum alapján. (Nem jelölhető a köztük lévő
összefüggés!)
e Tárolt attribútumok: amelyekből származtathatunk
o példáula Szülidő )

Jelölése: be, Példa:


Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Em vetsping
5. Tulajdonságokéstípusaik

Komplexattribútum TEVOC
e Az összetett és a többértékűattribútumok tetszőlegesen
egymásba ágyazhatók
e Az összetett attribútumok komponenseit kerek zárójelek
között csoportosítjuk, és a komponenseket vesszővel
választjuk el
e A többértékű attribútumokat kapcsos zárójelek közé
írjuk
Példa:
(CímTelefon(Cím(Irányítózám, Település, Lakcím (Utca,
Házszám, Emelet, Ajtó)), (Telefon(Körzetszám, Telefonszám) )))

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Em vetsping
Tin.
Kulcstulajdonság,
értékkészlet és a
NULL érték
Az ER modell
Adatbázisrendszerek és alkalmazásaik
6. Kulcstulajdonság, értékkészlet és NULLérték

ilcs attribútum TV

70x
A kulcs attribútum:
o az egyed egyértelmű azonosítására szolgáló attribútum
o értékei különbözőek az egyedhalmaz minden egyes
egyede esetén
o értékeit az egyes egyedek egyedi azonosítására
használhatjuk
Néha több attribútum együttalkotkulcsot:
jelölés összetett attribútumként. A

Ki
Gyenge egyedtípusok: nem rendelkeznek kulccsal!
zisrendszerek és alkalmazásaik 5 Az ER modell Adatbé

Hm ze spne
6. Kulcstulajdonság, értékkészlet és NULLérték

Kulcsattribútum - egyszerű Tin.


Jelölése: EE

Példa: ,
e A DOGOZOegyedtípus
Szsz attribútuma a
kulcs. ; Születési dátum

. A HOZZÁTARTOZÓ (Születési dátum). (Rem) (Bolgoző)


gyenge egyedtípus (Eren, s T/7— a
ellenben nem rendelkezik ——— HOZZÁTARTOZÓ S —
kulcs attribútummal.
Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Hm ze spine
6. Kulcstulajdonság, értékkészlet és NULLérték

Kulcs attribútum - összetett Tiun


Jelölése: MEZ
Példa: SES E
Oszéztóg) Getsorozat
e Az AUTO egyednek a Rendszám
attribútum két része, az Országkód ez
és a Jelsorozat együttesen alkotják AUTO
1F— Mocos
ml
a kulcsát. l(társa)
( ev
haz

Adatbázisrenászerek és alkalmazásaik Az ER modell

Hm zesspin
6. Kulcstulajdonság, értékkészlet és NULLérték

Kulcs attribútum - több kulcs TIEVOC


Bizonyos esetekben egy egyedtípus egynél több kulcs
attribútummal is rendelkehet.
Példa:
e Az AUTO egyednek a Rendszám
és az Alvázszám attribútuma is
önamgában kulcsa.
e A HALLGATÓesetén a Személyi-
szám és Neptun kód.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Em vetsping
6. Kulcstulajdonság, értékkészlet és NULLérték

NULLérték TEV
e Egy adott egyed valamelyik attribútumának nincs használható
értéke. Ilyenkor speciális értéket alkalmazunk: NULL érték
o Például: A Diplomák attribútum csak diplomával rendelkező személyeknél
érdekes
o Diplomával nem rendelkező személy eseténa Diplomák attribútum NULL
értékű lesz

e Az érték NULL lehet, mert


o nem alkalmazható
o ismeretlen.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Em vetsping
6. Kulcstulajdonság, értékkészlet és NULLérték

NULLérték TEV
e Az érték NULL lehet, mert
o nem alkalmazható- pl. leánykori név férfiak esetén
o ismeretlen:
m tudjuk, hogy azattribútumértéklétezik, de hiányzik
pl.: születési dátum
m azt sem tudjuk, hogy az adott érték létezik-e
pl: mobiltelefon száma

e Nem alkalmazható KULCSattribútum esetén, mert értelmét


veszetené a kulcs mivolta.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Em vetsping
6. Kulcstulajdonság, értékkészlet és NULL érték

Az attribútumok értékkészlete TEWOC

e Az egyedtípusok minden egyszerűattribútumához


kapcsolódik egy értékkészlet (tartomány)
e Az értékkészlet azon értékek halmaza, amelyeket az
attribútumhoz hozzárendelhetünk az egyes konkrét
egyedekben
o Például: DOLGOZÓegyedÉletkorattribútumának
értékkészlete: a 16 és 70 közötti egész számok
e Az értékkészleteket nem tüntetjük fel az ER diagramokon
e Az értékkészletekettipikusan az alapvető adattípusokkal
adjuk meg
Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Hm vetsping
6. Kulcstulajdonság, értékkészlet és NULLérték

Példa TWO
e Az AUTO egyedtípus kétkulcs attribútummal, a
Rendszámmal és az Alvázszámmal:
o a Rendszám összetett attribútum
o a Szín többtékűattribútum
(Országróg) (eisorozat

s
5 F— ooo

Ax
5 Tr MT
s ( anárra )
(ey 577
Adatbázisrenászerek és alkalmazásaik 57 Az ER modell

Hm ze spne
6. Kulcstulajdonság, értékkészlet és NULLérték

Példa TIEVOC

Rendszám (országkód,jelsorozat) Alvázszám Márka Modell Év (Szín)

AUTÓ,
(HU, HKL-008) TKB29 BugattiVeyron nyitható tetejű 2004 (vörös, fekete)

AUTÓ;
(SK, BL-976AA) WP9872 Volkswagen Golf 4 ajtós 2005 (kék)

AUTÓ;
(HU, KKD-006) TD729 Suzuki Swift 4 ajtós 2002 (fehér, kék)

Adatbázisrendszerekés alkalmazásaik s. Az ER modell

Am 1 san
Ti,

A kapcsolatalapjai

Az ER modell
Adatbázisrendszerek és alkalmazásaik

Bu ze isprng
7.A kapcsolatalapjai

Kapcsolat (Relationship) TIEVOC


Kapcsolat
Az egyedek között fennálló ideiglenes vagy tartós asszociáció.

e Valahányszoregy egyedtípus egyattribútuma egy másik egyedtípusra


hivatkozik, valamilyen kapcsolatáll fenn. Az ER modellben ezeket a
hivatkozásokat kapcsolatokként érdemesreprezentálni

1. (Gaz) (Csap Oszam Kapcsolat 2. (s szan


TE] TETT ábrázolása, TET hez TETT
7 T I I
Adatbázisrendszerek és alkalmazásaik az Az ER modell

3 iSpring Ké.aA
7.A kapcsolat alapjai

Kapcsolat (Halmazelméletileg) Two


e Rkapcsolattípus: n darab egyedtípus (E., E. , ..., E. )
közötti asszociáció halmaza, másnéven kapcsolathalmaz
e Egy kapcsolattípusra és a neki megfelelő
kapcsolathalmazra ugyanazzal a névvel szokás
hivatkozni (jelen esetben R)
e R — (r., I, .., I)

e r; — [ejy, €ez2, -- n ej. € E,,..., ejn € E,


eRC E X E, -.X E,
Adatbázisrendszerek és alkalmazásaik 2. Az ER modell

BE ae isping
7.A kapcsolatalapjai

Kapcsolat (Halmazelméletileg) TIEVOC


e AZE., E., ... , E, egyedtípusok részt vesznek az R
kapcsolattípusban
e AZ e; , er ...r en egyedekről azt mondjuk, hogy részt
vesznek az r,— (e; ; , ..., es.) kapcsolatelőfordulásban
e Az BR-beli r; kapcsolatelőfordulások egyedek olyan
asszociációi, amelyek minden részt vevő egyedtípusból
pontosan egy egyedettartalmaznak
e :r; kapcsolatelőfordulás azta ténytfejezi ki, hogy az r;-ben
részt vevő egyedek valamilyen módon kapcsolat- ban állnak
egymással a megfelelő minivilágban
Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Bu 1 spring
7.A kapcsolat alapjai

Kapcsolat (Halmazelméletileg) TIVI


DOLGOZÓ MUNKAHELYE OSZTÁLY
(Egyedtípus) (Kapcsolattípus) (Egyedtípus)

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Bu sr ispino
7.A kapcsolatalapjai

Kapcsolat ábrázolása TIEVOC

A DOLGOZOés OSZTALYegyedtípusokközötti
MUNKAHELYE kapcsolattípus ábrázolása az ER modellben:

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Bu ze isprng
7.A kapcsolatalapjai

A kapcsolat foka TEVOC


e Egy kapcsolattípus foka: a kapcsolatban részt vevő
egyedtípusok száma.
e A wKkapcsolatok általában bármilyen fokúak lehetnek.
e Másodfokú kapcsolat: bináris kapcsolat, két egyedtípus
között:
o példa: A DOLGOZOés az OSZTÁLYközötti
MUNKAHELYEkapcsolatfokakettő

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Bu 1 spring
7.A kapcsolatalapjai

A kapcsolat foka TEVOC


e Harmadfokú kapcsolat: ternáris kapcsolat
o példa: A SZALLITAS kapcsolat az ALKATRESZ,
PROJEKT, és BESZALLITO egyedtípusok között:

]
e A leggyakoribbak a bináris kapcsolatok.
e A magasabb fokú kapcsolatok általában komplexebbek,
mint a bináris kapcsolatok.
Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

B 1 spring
M0,
Ternáris kontra
bináris kapcsolatok
Az ER modell
Database Systems and Applications
8. Ternáris kontra bináris kapcsolatok

SEGÍTSÉG AZ ÁBRÁK FORDÍTÁSÁHÓZI


Az ábrákatitt rajzoltuk meg: https://www.draw.io/
A megrajzolt ábrákat kimentettük xm! fájlokba, amiketitt érsz el:
https://drive.google.com/folderview?id-OBTwIUtFTZPoZRDROWEFCc1UIFYSGc8.
usp-sharing
Innenle tudod tölteni őket, és meg tudod nyitni draw.io-ba majd pedig ki tudod
exportálni képként, így csak a szövegetkell átírni, nem kell újra megrajzolni,
illetve így egységesebbeklesznek azábrák is. A fájlok nincsenek
kategorizálva, kivéve 11-es lecke ábrái, annak külön mappája van, de a nevek
alapján szerintem nem lesz nehéz megtalálni az ábráhoztartozófájlt.

Haesetleg lenne kérdésed, írj nyugodtan: david3355Agmail.com

Database Systems and Applications 3. Az ER modell


8. Ternáris kontra bináris kapcsolatok

Ternáris kapcsolattípus TEVOC

Ternáris kapcsolattípus:
e A SZÁLLÍT kapcsolathalmaz olyan
(s, j, P) kapcsolat előfordulások —
a halmaza, ahol s egy BESZÁLLÍTÓ,
OL auramesz aki szállít egy pALKATRESZ-t a j
PROJEKT-hez.
e Általánosságban egy n-edfokú R kapcsolattípusból n vonal
indul ki egy ER diagramban, amelyek R-etkötik össze az
egyesrészt vevő egyedtípusokkal.
Database Systems and Applications 3. Az ER modell
8. Ternáris kontra bináris kapcsolatok

Három bináris kapcsolattípus TIENWOC

s Három bináris kapcsolattípus:


(TUDSZÁLLÍTANI, —
FELHASZNÁL, SZÁLLIT)
e Egy ternáris kapcsolattípus más
információt reprezentál, mint
három bináris kapcsolattípus.

Database Systems and Applications 3. Az ER modell


8. Ternáris kontra bináris kapcsolatok

Három bináris kapcsolattípus TEVOC

e ATUDSZÁLLÍTANI kapcsolat akkor


tartalmaz egy(s, p) előfordulást, ha
az s szállító tud szállítani p alkatrészt
(valamely projekthez);

e A FELHASZNÁLkapcsolatakkor tartalmazegy (j, p)


előfordulást, ha j projekt felhasználja a p alkatrészt;

e A SZÁLLÍT kapcsolatakkortartalmaz egy(s, j) előfordulást,


ha az s szállító szállít valamilyen alkatrészta j projekthez.
Database Systems and Applications 3. Az ER modell
8. Ternáris kontra bináris kapcsolatok

Három bináris kapcsolattípus TIENWOC


S e AxKkapcsolatokban szereplő(s, p), (j, p)
és (s, j) kapcsolat-előfordulások
a szasz ovo létezéséből nem feltétlenül következik,
ma CT ege hogy a SZÁLLÍTÁSternáris kapcsolatban
létezik egy (s, j, p) előfordulás
e Gyakran nem egyszerűeldönteni, hogy egy konkrét
kapcsolatot egy n-edfokú kapcsolattípusként, vagy több
alacsonyabb fokú kapcsolattípussal célszerű-e reprezentálni.
e A döntést szemantika vagyjelentés alapján kell meghozni.
Database Systems and Applications 3. Az ER modell
Ábrázolás gyenge egyedtípusként fÍrW0
e Aternáris kapcsolathoz hozzávehetünk még egyet vagy
többeta bináris kapcsolatok közül is:
o ha azok másjelentéstartalommal bírnak,
o és az alkalmazásnak mindegyikre szüksége van.
e Egyes adatbázis-tervezési eszközöknél csak bináris
kapcsolatok használhatóak.
o Ebbenaz esetbena ternáris kapcsolatokat részleges
kulcs nélküli gyenge egyedtípusként kell reprezentálni,
három azonosító kapcsolattal.
Database Systems and Applications 3. Az ER modell
8. Ternáris kontra bináris kapcsolatok

Ábrázolás gyenge egyedtípusként fÍrW0

[/oornesz]
e Tulajdonos egyedtípusok:
BESZÁLLÍTÓ, ALKATRÉSZ, PROJEKT
e A SZÁLLÍTÁS gyenge egyedtípusának egy egyedét a
ezen egyedtípusokból vett három tulajdonos egyedének
kombinációja azonosítja.
Database Systems and Applications 3. Az ER modell
8. Ternáris kontra bináris kapcsolatok

Ábrázolás: hagyományos egyedtípusfÍ0C

e Aternáris kapcsolatot hagyományosegyedtípussal is


reprezentálhatjuk egy mesterséges vagy helyettesítő
kulcs bevezetésével.
e Példánkban egy SzállításID kulcs attribútumot
használhatunk a SZÁLLÍTÁS egyedtípushoz, amellyel
hagyományosegyedtípussáalakítjuk azt.
e Ekkor három bináris 1:N kapcsolat kapcsolja a
SZÁLLÍTÁS-t a három részt vevő egyedtípushoz.
Database Systems and Applications 3. Az ER modell
8. Ternáris kontra bináris kapcsolatok

Ternáris és bináris kapcsolatok TEVOC

e HIRDET ternáris kapcsolattípus:


olyan oktatókról ad információkat,
akik bizonyos félévekben bizonyos
tantárgyakathirdetnek.

e Akkortartalmaz egy (i, s, c) kapcsolat-előfordulást, ha


az i oktató az s félévben meghirdeti a c tantárgyat

Database Systems and Applications 3. Az ER modell


Ternáris és bináris kapcsolatok TEVOC

zés Bináris kapcsolattípusok:


s e TARTHAT: egytantárgyat kapcsol
össze azokkal az oktatókkal, akik
tarthatják az adott tárgyat.

e OKTAT/OKTATOTT: egy félévet kapcsol össze azokkal az


oktatókkal, akik az adott félévben tartanak/tartottak órákat.
e MEGHIRDETVE: egy félévet kapcsol össze azokkal a
tantárgyakkal, amelyeket az adott félévben hirdetett meg
bármelyik oktató.
Database Systems and Applications 3. Az ER modell
8. Ternáris kontra bináris kapcsolatok

Ternáris és bináris kapcsolatok TEVOC

e A wKkapcsolatok között bizonyos megszorításoknak kell


fennállniuk:
o Egy(i, s, c) kapcsolat-előfordulás csak akkor szerepelhet a
HIRDETkapcsolatban, ha egy(i, s) előfordulás szerepel az
OKTAT/OKTATOTT kapcsolatban, egy(s, c) előfordulás szerepel
a MEGHIRDETVEkapcsolatban, valamint egy
(i, c) előfordulás szerepel a TARTHAT kapcsolatban
o A fordítottja azonban nem mindig igaz:
előfordulhat, hogy van egy(i, s), egy (s, c) és egy(i, c)
előfordulásunk a három bináris kapcsolattípusban, de nincs
ezeknek megfelelő (i, s, c) előfordulás a HIRDET kapcsolatban.

Database Systems and Applications 3. Az ER modell


8. Ternáris kontra bináris kapcsolatok

Ternáris és bináris kapcsolatok TEVOC

e AHIRDETkapcsolatelőfordulásaiból következtethetünk
az OKTAT/OKTATOTT és a MEGHIRDETVE
előforulásaira, de nem következtethetünk a TARTHAT
előfordulásaira
o emiatt az OKTAT/OKTATOTTés a MEGHIRDETVE
redundánsak és elhagyhatók
e Általában három bináris kapcsolat nem helyettesíthet egy
ternáris kapcsolatot, bizonyos további megszorítások
fennállása esetén ezt mégis megtehetik.
Database Systems and Applications 3. Az ER modell
8. Ternáris kontra bináris kapcsolatok

Ternáris és bináris kapcsolatok TEVOC

e Ha a TARTHATkapcsolat 1:1 számosságú akkor a


HIRDETternáris kapcsolat elhagyható, mert
kikövetkeztethető a TARTHAT, az OKTAT/OKTATOTT
és a MEGHIRDETVEbináris kapcsolatokból.
e A sématervezőnek minden konkrétszituáció jelentését
elemeznie kell ahhoz, hogyel tudja dönteni, hogy mely
bináris és ternáris kapcsolattípusok szükségesek.

Database Systems and Applications 3. Az ER modell


E "e ispring
TE,
A kapcsolatok
megszorításai,
típusai
Az ER modell
Adatbázisrendszerek és alkalmazásaik
9. A kapcsolatok megszorításai, típusai

A kapcsolattípusok megszorításai "TITO


e A rKkapcsolattípusok rendelkezhetnek bizonyos
megszorításokkal, amelyek korlátozzák azokat a
lehetséges egyedkombinációkat, amelyek részt
vehetnek a megfelelő kapcsola mazban.
e E/R eszközök:
o számosság
o szorosság
Példa: Tegyük fel, hogy minden dolgozónak
pontosan egy osztályonkell dolgoznia. Ezt a
megszorítást szeretnénk a sémán is megjeleníteni.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
9. A kapcsolatok megszorításai, típusai

A bináris kapcsolatok számossága fi


e A számosság meghatározza azon kapcsolat előfordulások
maximális számát, amelyekben egy egyedrésztvehet.
A MUNKAHELYEbináris kapcsolattípus esetén például az
OSZTÁLY:DOLGOZÓviszonyában1:N számosságú:
mindenosztály akárhány dolgozóhoz kapcsolódhat, viszont egy
dolgozó csak egy osztályhoz kapcsolódhat.
e A bináris kapcsolattípusok lehetséges számosságai:
o 1-1
1-N
M:N
Adatbázisrenászerek és alkalmazásaik 57 Az ER modell

Ez Ez esnie
9. A kapcsolatok megszorításai, típusai

Bináris 1:1 kapcsolat TIENWOC

e Egy egyedelőforduláshoz maximum egy egyedtársul a


kapcsolatban, mindkét viszonylatban
e Például: a férfi és a nő egyedtípusok közti házassági
kapcsolat, vagy egy dolgozóésa vezetett osztály között
JOLGOZO vezen OSZTALY
Jelölése: Szemléltetés:

DOLGOZO OSZTALY

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
Bináris 1:N (egy-több) kapcsolat "TIVI
e Egy egyedelőforduláshoz több egyed társulhat, de a
másik irányban csak egy kapcsolódó egyedelőfordulás
létezhet.
e Példa: A DOLGOZOés az OSZTALYközötti
MUNKAHELYEkapcsolat. KN
Jelölése: Szemléltetés: :

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
Bináris N:M (több-több) kapcsolat ÍV.
e Mindkétirányban több kapcsolódó előfordulás létezhet.
e Példa: DOLGOZO és PROJEKTközötti kapcsolat, mely
megadja, hogyki melyik projekteken dolgozik, és melyik
projekten kik dolgoznak
DOLGOZO DOLGOZIK RAJTA PROJEKT

Jelölése: Szemléltetés: az

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
Részvételi megszorítások és TWOC
létezésfüggőség (szorosság)
e A részvételi megszorítás megadja, hogy egy egyed
létezése függ-e attól, hogy kapcsolatban áll-e egy
másik, a kapcsolattípuson keresztül elérhető egyeddel.
e Meghatározza azon kapcsolat-előfordulások minimális
számát, amelyekben az egyes egyedek részt vehetnek.
o Minimum számossági megszorításnak is nevezzük.
e A részvételi megszorításoknak kéttípusalétezik:
o totális
o részleges

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez jen
9. A kapcsolatok megszorításai, típusai

Kötelező (totális) kapcsolat TIVI

e Minden egyedelőforduláshozkell kapcsolódnia


egyedelőfordulásnak a kapcsolatban.
e Például: az autó (E.) totális kapcsolatban van az
emberrel(E) a tulajdonosi kapcsolatban.
e Létezésfüggésnek is nevezzük.
Jelölése: dupla vonal

[ E ET az E2 egyedtípustotális
1 2] résztvevője a R kapcsolatnak

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
Opcionális (parciális) kapcsolat TIENWOC

e Létezhet olyan egyedelőfordulás, amelyhez nem


kapcsolódik egyedelőfordulás a kapcsolatban
e Például: az ember csak parciálisan vesz részt az autó
tulajdonlási kapcsolatban
Jelölése: szimpla vonal

E. R E2

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
9. A kapcsolatok megszorításai, típusai

Azonosító kapcsolat TIENWOC


e A gyenge egyedtípushoztartozó egyedek azonosítása egy
másik egyedtípus bizonyos egyedeinek éssaját
attribútumértékeik felhasználásával történik.
e Ezt a másik egyedtípust azonosító vagytulajdonos
egyedtípusnak nevezzük.
e A gyenge egyedtípusta tulajdonosával összekötő
kapcsolattípust azonosító kapcsolatnak hívjuk.
e Az azonosító kapcsolattípust duplakeretű rombusszaljelöljük.
e A gyenge egyedtípus mindig totális résztvevője az azonosító
kapcsolatának (létezésfüggőség).

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez jen
9. A kapcsolatok megszorításai, típusai

Azonosító kapcsolat TIEWOC

M
DOLGOZÓ DOLGOZIK RAJTA PROJEKT

(normál) kapcsolattípus

DOLGOZÓ HOZZÁTARTOZÓJA HOZZÁTARTOZÓ

azonosító kapcsolattípus

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez resume
9. A kapcsolatok megszorításai, típusai

Számosság, szorosság jelölése TIVI

(min, max) az E egyedtípus R-beli rész-


En E vételére vonatkozó strukturális
megszorítás (min, max)
e Minden E-beli e egyed esetén e-nek legalább min,
legfeljebb max R-beli kapcsolat előfordulásban kell részt
vennie bármelyidőpillanatban.
áld: 0.1 141
Példa: DOLGOZO 60 OSZTALY

Adatbázisrendszerek és alkalmazásaik az Az ER modell

2 e sprna
Tt
A kapcsolatok
attribútumai,
szerepkörök és rekurzió
Az ER modell
Adatbázisrendszerek és alkalmazásaik

Ez Ez estre
Szerepkörök TEV
e Minden egyedtípus egy konkrét szerepetjátszik abban a
kapcsolatban, melybenrészt vesz.
e Szerepkörnév: az a szerep, amelyet az egyedtípusnak a
kapcsolatban részt vevő egyedei játszanak az egyes
kapcsolatelőfordulásokban.
e A szerepkörnevektechnikailag nem szükségesek
azokban a kapcsolattípusokban, ahol az összesrészt
vevő egyedtípus különböző.
Szerepkör: L map] ,. Szerepkör:
alkalmazott M 1 j osztály

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
Rekurzív kapcsolatok TEV
e Ugyanazon egyedtípus egynél többször vehetrészt egy
kapcsolattípusban, különböző szerepekben.
e Az ilyen kapcsolattípusokat rekurzív kapcsolatoknak
nevezzük.
e A FŐNÖKEkapcsolattípus összeköt egy alkalmazottat
egy főnökkel, ahol mind az alkalmazott, mind a főnök
egyedek ugyanazon DOLGOZÓegyedtípusból valók.
BeosztottS
DOLGOZO C FONOKE D
Főnök

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez KI e sorna
Rekurzív kapcsolatok TIENWOC
FŐNÖKE:rekurzív kapcsolat
DOLGOZÓ FŐNÖKE
e Minden kapcsolat
előfordulásnakkét vonallalkell
rendelkeznie:
o Főnök szerepkörű
DOLGOZÓ(1-es vonalak)
o Beosztott szerepkörű
DOLGOZÓ(2-es vonalak)

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ea Ez e sptna
A kapcsolattípusokattribútumai TEV
e A rKkapcsolattípusoknak is lehetnek attribútumaik.
o hasonlóak az egyedtípusokattribútumaihoz
e Példa: egy dolgozó hetente hány órát dolgozik egy
konkrétprojekten:
o felvehetünk egy Órák attribútumot a
DOLGOZIKRAJTAkapcsolattípushoz.

DOLGOZI PROJEKT

Adatbázisrendszerek és alkalmazásaik 52 Az ER modell

iSpring
1:1 kapcsolattípusok attribútumai TEVOC
e Az 1:1 számosságú kapcsolattípusok attribútumait
hozzácsatolhatjuk a részt vevő egyedtípusok
egyikéhez.
o Minden, a kapcsolatban résztvevő egyed
legfeljebb egy kapcsolat-
előfordulásban veszrészt.

o Emiatt a kapcsolathoztartozóattribútum
értéke külön is meghatározható
bármelyik egyedenkeresztül.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
1:N kapcsolattípusok attribútumai TEO
e A wKkapcsolatattribútuma csak a kapcsolat N oldali
egyedtípusáhozcsatolható.
o AKezdődátumattribútumot a
DOLGOZÓegyattribútumakéntis
felvehetnénk.

Minden dolgozó csak egy osztályon


dolgozik, így a MUNKAHELYEkapcsolat
legfeljebb egy előfordulásában vesz
részt.
Adatbázisrendszerek és alkalmazásaik 52 Az ER modell

iSpring
M:N kapcsolattípusok attribútumai TEVOC
e Bizonyosattribútumok csak a kapcsolat előfordulásokban
részt vevő egyedek kombinációja segítségével
határozhatók meg.
o Definiálás a kapcsolatattribútumaiként.

Példa: Az egy dolgozóáltal egy projektre


fordított heti munkaórák számát egy dolgozó- Hi
projekt kombináció alapján tudjuk csak
meghatározni.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell


TE,
Fogalmak
megjelenésének
alternatívái
Az E/R modell
Adatbázisrendszerek és alkalmazásaik
11. Fogalmak megjelenésénekalternatívái

Modellek közötti eltérések TEWOC


e A helyes ER modellek sem egyformák, azaz egy
problémakörre több, egymástól valamelyesteltérő
megoldásis létezik.
e Miből fakadnak a különbségek?
o A modell emberközeli fogalmakkal dolgozik, ezekhez
gyakran pontatlan értelmezések ésjelentések társulnak.
o Például: a cím, vagy a név fogalma.
o Egy fogalom mástés mástjelenthet különböző
modellekben.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
11. Fogalmak megjelenésénekalternatívái

Modellek közötti eltérések TEWOC


e Mennyire részletesen vegyük a tulajdonságok
szerkezetét?
e Lakcím példa: egyszerű lakcím mezőt, vagy egy
összetett lakcím mezőtszerepeltessük?
e Egy fogalom ábrázolásárais több lehetőség van.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
11. Fogalmak megjelenésénekalternatívái

Egyed vagy tulajdonság? TE,


1. Az ügyosztály, mint egyed:

DOLGOZÓ PROJEKT

e Az első esetben az ügyosztály a problémakör önálló


egységekéntvan jelen, mint egyed.

Adatbázisrendszerek és alkalmazásaik 52 Az ER modell

2 iSpring
Egyed vagytulajdonság? TIE

e A másik esetben az ügyosztály nem létezik önállóan,


csak a dolgozókhoz kötődve annak egyik jellemzőjeként
él, mint tulajdonság.

2. Az ügyosztály, mint tulajdonság:

€ DOLGOZÓ KÖNYV

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez az ves
11. Fogalmak megjelenésénekalternatívái

Egyed vagytulajdonság? TENWOC


1. Az ügyosztály, mint egyed: [doe—G Das sefszvegpez[/ maar]

2. Az ügyosztály, mint
tulajdonság:
e AwKkétféle megközelítés a fontosság, az önállóság
tekintetébentérel egymástól.
e Ennek tükrében lesz önálló egyed vagy épp válik
pusztán csak egy tulajdonságszintű jellemzővé.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
11. Fogalmak megjelenésénekalternatívái

Egyed vagy kapcsolat? TIE

1. A házasság, mint egyed:


C SE
dőpont )

e Az első esetben a házasság, mintönálló léttel bíró


fogalom, mint egyed szerepelhet, amelyen önálló
kérdéseket, műveleteket végezhetünk el.
Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez az ves
Egyed vagy kapcsolat? TEVOC

e A másik esetben a házasság, mint kapcsolat jelenik meg


e A házasság fogalomból azért lett kapcsolat, mert nem a
fogalom közvetlen előfordulásai, hanem azáltala kijelölt
kapcsolatok játszanak szerepet a modellben

2. A házasság, mint kapcsolat:

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
11. Fogalmak megjelenésénekalternatívái

Tulajdonság vagy kapcsolat? TIE

1. A tulaj, mint az autó tulajdonsága:


enaszám C Twa (Szszám)
—t ű

AUTÓ POLGÁR

e A tulajdonosi viszonyt úgy is nyilván lehettartani, hogy


az autóhoz bejegyezzük a tulajdonos azonosítóját.
e A tulajdonosi viszonyt egy tulajdonságon keresztül
tartjuk nyilván.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez az ves
11. Fogalmak megjelenésénekalternatívái

Tulajdonság vagy kapcsolat? TIE

e A másik megoldás, hogya tulajdonlást egy kapcsolaton


keresztül ábrázoljuk.
e E megoldásazt emeli ki, hogy kapcsolatban áll a két
egyed egymással.

2. A tulaj, mint kapcsolat az autó és a polgár között:


ek JT
Énasza
DS
AUTÓ KTULAD POLGÁR

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

3 ispring
11. Fogalmak megjelenésénekalternatívái

Tulajdonság vagy kapcsolat? TEVOC

e A második megoldásjavasolt az első változattal


szemben
o szemantikailag helyesebb, és többet mond.
e Csak azon fogalmakat vegyük tulajdonságként,
amelyekkizárólagosan az egyedhez kapcsolódnak,
annak elválaszthatatlan részei.
e A tulaj mező csak akkor kell az autóhoz, ha vannak
tulajdonosok- ha az autó csak önmagában létezne,
akkor nem lenne szükségtulajdonosjellemzőre sem.
Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
11. Fogalmak megjelenésénekalternatívái

Tulajdonság és kapcsolat egyszerre TI

e Ne kövessük el azitt látható hibát:

(Fenaszám) (Szszám) Cszszám


A
AUTÓ ATULAJ POLGÁR

Hátrányai:
e felesleges tulajdonságfelvétel
e redundáns adatok tárolása a modellben

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez az ves
11. Fogalmak megjelenésénekalternatívái

Az ER modell értelmezése TEWOC

e AzER modell értelmezése nem túl szigorú, számos


esetben többféle változatis létezik a valóság
modellezésére.
e EZek a változatok egymástól bizonyos hangsúly
eltolódásban különböznek, amelyekre érdemes
odafigyelni a tervezés során.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

B hatna
Mo,

ER modell mintapélda
- Etterem
Az ER modell
Adatbázisrendszerek és alkalmazásaik

Ez Ez estre
Tervezés menete TEO

e A problémakör adatstruktúrájának szemantikai leírását


az ER modellel szokás létrehozni.
e Először a fontosabb, lényegesebb elemek
meghatározása.
e Majd ezekre alapozva kibővítjük a modellt egyéb,
kevésbéfontos elemekkel.
e A rKközponti szerepet az egyedek játsszák.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
Tervezés menete TEO

1. Célszerű elsőként a problématerületen megjelenő


egyedeket számba venni.
2. Egyedek között fennálló kapcsolatokkijelölése.
3. Tulajdonságok kijelölése:
o milyen információkra van szükség az egyes egyedekre
és kapcsolatokra vonatkozóan.

e A tervezés lépései nem szigorú szekvencia mentén


mennek végbe.
e A tervezés jellemzőenciklikus, iteratív.
Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
Modellezésifeladat TIENWOC
e A feladat egy képzeletbeli étterem nyilvántartás egy
részletének modellezzése.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez estre
A modell elemei TIENWOC

e Egyedek:
o az étel, a nyersanyagésa szállító
o mindegyik erős egyed
e Tulajdonságok:
összetett, többértékű: rendelés — dátum, mennyiség
9000

összár: származtatott — készlet és egységárból


kulcstulajdonságok: név és azonosító
a többi egyszerű

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e sorna
A modell elemei TIENWOC

e Kapcsolatok:
o a nyersanyagésa szállító között 1:N
o az étel és nyersanyag között N:M
o "benne" kapcsolat: tulajdonságotis rendelhetünk hozzá

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez estre
Az étterem E/R modellje TV

Recept
Gw)

7
ape
kösszám NYERSANYAGEZ
N. SZÁLLÍT,
1 SZÁLLÍTÓ

Adatbázisrendszerek és alkalmazásaik az Az ER modell

Ea 7 ispíng
TE,
ER modell mintapélda
- Vállalat
Az ER modell
Adatbázisrendszerek és alkalmazásaik

Ez Ez resotna
13. ER modell mintapélda - vállalat

Adatkövetelmények TIENWOC

e A VÁLLALATadatbázis egyvállalat dolgozóit, osztályait


és projektjeit tartja nyilván.
e Tegyük fel, hogy a követelménygyűjtési és elemzési
fázis után az adatbázis-tervezők megadták a minivilág
leírását.
e A minivilág a vállalat azon része, amelyet az
adatbázisban reprezentálni szeretnénk.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
13. ER modell mintapélda - vállalat

Osztályok TEVOC
e A vállalat osztályokból áll.
e Minden osztálynak egyedi neve és egyedi
azonosítószáma van, valaminttartozik hozzá egy
konkrét dolgozó, aki az osztályt vezeti.
e Nyilvántartjuk azt a kezdő dátumot, amikor ez a dolgozó
vezetni kezdte az osztályt.
e Egy osztály számoshelyszínnel rendelkezhet.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
13. ER modell mintapélda - vállalat

Projektek TEV

e Egy osztály számosprojektetirányít, amelyek


mindegyikének van egy egyedi neve, egy egyedi száma
és egyetlen helyszíne.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez resotna
13. ER modell mintapélda - vállalat

Dolgozók TEVOC

e Tároljuk az egyes dolgozók nevét, személyi számát,


lakcímét, fizetését, nemét és születési dátumát.
e Egy dolgozó egy osztályhoz van hozzárendelve,
azonban több projekten is dolgozhat, amelyeket nem
feltétleül ugyanaz az osztály irányít.
e Nyilvántartjuk, hogy egy dolgozó az egyes projekteken
hetente hány órát dolgozik.
e Nyilvántartjuk az egyes dolgozók közvetlen főnökétis.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
13. ER modell mintapélda - vállalat

Hozzátartozók TEWVOC

e Nyilván szeretnénk tartani az egyes dolgozók


hozzátartozóitis biztosítási célokból.
e Tároljuk az egyes hozzátartozók keresztnevét, nemét,
születési dátumát, valamint azt, hogy milyen
kapcsolatban áll a dolgozóval.

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ez Ez e ping
13. ER modell mintapélda- vállalat

A VÁLLALATadatbázis ER diagramja ff

Adatbázisrendszerek és alkalmazásaik 22 Az ER modell

Ea Ez resp
1. Bevezetés

Bevezetés

A relációs modell
Adatbázisrendszerek és alkalmazásaik

Ez Ez estre
1. Bevezetés

A relációs modell kialakulása

A relációs modellt Edgar "Ted" Codd tervezte 1970-ben


az IBM Research-nél
e munkásságáért Turing díjat kapott
e Codd, E., A Relational Model for Large Shared
Data Banks Communication of the ACM 13:6,
june 1970
o ebben a cikkbenírta le a relációs modellt először
e SYSTEMIRprojekt
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 2

2) teni
1. Bevezetés

SystemIRprojektkét fázisa TEVOC

1. 1970-es évek közepérekifejlesztettek egy prototípus


RDBMS-t
o egyfelhasználós
o fizikai elérési módszerek kidolgozása
o kezelő nyelv kialakítása
o műveletek optimalizálása
2. 1976-ra zárult le a projekt
o többfelhasználós
o gyakrolatban is alkalmazható RDBMS rendszer

Adatbázisrendszerek és alkalmazásaik 22 relációs modell 1. rész 3

Ez Ez e sorna
1. Bevezetés

A relációs modell előnyei

e egyszerűség
e matematikai megalapozottság:
o alapja a matematikai reláció fogalma
o a matematikai reláció hasonlít egy értékekkelkitöltött
táblázathoz/mátrixhoz

Adatbázisrendszerek és alkalmazásaik 22 relációs modell 4

Ez Ez e sorna
1. Bevezetés

A relációs modell elméleti alapja

e halmazelmélet
e elsőrendű predikátumkalkulus
o matematikai logika
e A relációs modellben az adatbázis relációknak egy
halmaza.
e Mindenreláció durván egy flat fájlként foghatófel.

Adatbázisrendszerek és alkalmazásaik 22 relációs modell 5

Ez Ez e sorna
1. Bevezetés

SOL szabványok

Elméleti háttér:
e SAL89 vagy SOL1
e SOL92 vagy SOL2
e SAL99 vagy SOL3
Első üzleti implementácók: (80-as évek eleje)
e SOL/DS, majd később DB2 (IBM)
o MVS operációs rendszeren futott
e Oracle V2 DBMS (Oracle) VAx operációs rendszerre
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 6

Ez Ez e sorna
1. Bevezetés

A relációs modell alkalmazásai

Az utóbbi 20 évben a relációs modellt implementáló


szoftverek:
DB2 és Informix Dynamic Server (IBM)
Oracle, Rdb, MySOL (Oracle)
Sybase DBMS (Sybase)
SOLServer és Access (Microsoft)
PostgreSOL (Open Source)

Adatbázisrendszerek és alkalmazásaik 22 relációs modell

B 3 ispring £ PREV
Alapfogalmak

A relációs modell
Adatbázisrendszerek és alkalmazásaik

Ez Ez estre
2. Alapfogalmak

Heurisztikus definíciók

Reláció
A reláció értékek egy táblázata, amely sorok egy
halmazából áll.

Sor
Minden egyessor adatelemei a modellezett kisvilág egy
egyed-előfordulásáról vagy kapcsolat-előfordulásáról
tartalmaznak tényeket.
A sorokformálisan a modellben elem n-esekvagyrekordok.
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 2

2) teni
2. Alapfogalmak

Heurisztikus definíciók

Oszlop
Minden oszlop egy oszlopfejléccel rendelkezik, amely az
illető oszlopban lévő adatok jelentéséről ad információt.
Az oszlopfejléceketa formális modellben attribútumoknak nevezzük.

Reláció kulcsa
Minden sor rendelkezik egy olyan adatelem értékkel (vagy
azok egy halmazával), ami egyértelműen azonosítja a sort
a táblázatban. Ezt nevezzük kulcsnak.
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 3

Ez Ez e sorna
2. Alapfogalmak

Heurisztikus definíciók

Példa
Vegyük példaként a Neptun rendszert.
e A Neptunban van Hallgatók tábla, melynek a kulcsa a
Neptun-kód

Mesterséges kulcs
Akkor beszélünk mesterségeskulcsról, ha sorazonosítót
vagy egy szekvenciális számsorozatot használunk
kulcsként. (ennek generálására minden DBMSadlehetőséget)
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 4

2) teni
Értékek

Atomi érték
Atominak nevezünk egyolyan értéket, amely már nem
bontható tovább a relációs modell szempontjából.

Relatív fogalom
Olyan érték, amely lehet atomi vagy összetett is.
Példa: lakcím (irányítószám, település, utca, házszám)

Adatbázisrendszerek és alkalmazásaik 22 relációs modell 5

Ez Ez e sorna
2. Alapfogalmak

NULLérték

e Azon attribútumokértékét reprezentáljuk NULL értékkel,


amelyeket nem tudunk vagy nincs megadva a
rekordban.
e NULL értéket értelmezhetjük:
o ismeretlen értékként,
o olyan értékként, ami létezik, de nem elérhető számunkra,
o olyan értékként, amely nincs megadva.

Adatbázisrendszerek és alkalmazásaik az relációs modell 6

Ez Ez e sorna
2. Alapfogalmak

Értékek és NULLértékek
e Mindenértéknek atomi értéknekkell lennie a
rekordokban.
e A relációs modellben relációk használata:
o nem tartalmazhat összetett vagy többértékű
attribútumokat;
o első normálforma (lásd később)
e Többértékű attribútumok:
o külön relációkban kell reprezentálni
e Összetett attribútumok:
o az egyszerű részattribútumaitkell tárolni
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 7

BB 3 ispring
2. Alapfogalmak

Tartomány

Tartomány
Egy D tartományatomi értékek egy halmaza.

Jellemzői
név
adattípus
formátum
korlátozás
további információk az értelmezéshez

Adatbázisrendszerek és alkalmazásaik 22 relációs modell

iSpring
2. Alapfogalmak

Tartomány

Példák
e Tömegek:
o nemnegatív valós szám mértékegységgel(font vagy kg)
e Nevek:
o tetszőleges hosszúságú karaktersorozat
e Személyi számok:
o 11 decimális számjegy d dddddd dddd formátumban
e Mobiltelefonszámok:
o 11 decimális számjegy tdd-dd-ddddddd formátumban

Adatbázisrendszerek és alkalmazásaik 22 relációs modell

B hsaina
Relációséma és
gy

reláció
A relációs modell
Adatbázisrendszerek és alkalmazásaik

Ez Ez estre
Relációséma

Definició
Relációséma alatt az R(A, , A., ..., A.) jelölést értjük,
ahol R a relációséma neve, A, A, .., A, pedig
attribútumok.
Minden A,attribútum egy szerepkör neve, amelyet
valamely D, tartományjátszik. D,-t az A, attribútum
tartományának nevezzük és dom (A,) -veljelöljük,
n pedig a reláció foka.
Adatbázisrendszerek ésalkalmazásaik 22 relációs modell 2

Ez Ez e sorna
Relációséma

Példa
e AUTO(marka, tipus, gyartasiev, rendszam)
e HALLGATOK(nev,lakcim, szak, evfolyam, neptunkod)
e TANSZEK(azonosito, tanszeknev, tanszekvezeto, kar)

Megjegyzés
Előfordulhat, hogy több attribútumnakis azonos a tartománya. Az
attribútumok különböző szerepköreit,interpretációit jelölik ki a
tartományoknak.

Adatbázisrendszerek és alkalmazásaik 22 relációs modell 3

Ez Ez e sorna
3. Relációsémaésreláció

Reláció

Definició
AZ R(A,, A,, ..., A.) relációséma egyr relációja
- jelölése r(R) - m darab elem n-esnek egy halmaza:
r — (t,, to, .., ta).
Minden t; elem n-es (17 S i S m) n darab értéknek egy
rendezett listája: t; — Cv.., V.2, co, Vin?
ahol minden v;; érték (1 S j S n) vagy dom(A5)-nek az
eleme, vagy egy speciális NULL érték.
Adatbázisrendszerek ésalkalmazásaik 22 relációs modell 4

Ez Ez e sorna
3. Relációsémaésreláció

Reláció

Definició más megközelítésben


A relációs modell egy r (R) relációja nem más, mint egy
dom(A.), dom(A,), .., dom(A,) tartományokon
értelmezett n-ed fokú matematikai reláció, amely
részhalmaza azon tartományok Descartes-szorzatának,
amelyek R-etdefiniálják:
r(R) S dom(Aj) x dom(A,) x .. x dom(A)
Ebbena definícióban a NULLértéketbeleértjük az A,
attribútumok tartományaiba.
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 5

Ez Ez e sorna
Relációséma ésreláció

Értelmezés
e raz relációséma egy konkréttartalma (intension)
e R az reláció kiterjesztése, absztrakciója (extension)

Heurisztikusan

e R egy táblázatnak az üres váza


e raz adatokkal feltöltött táblázat
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 6

Ea Ez e sptna
3. Relációsémaésreláció

Reláció és rekord

Megjegyzések

e A definícióban említett elem n-eseket rekordoknakis


nevezzük.

e Egyt rekordban szereplő j-edik értékre, amely az Az


attribútumhoztartozik, t[A,1-val vagy röviden t[j]-

vel hivatkozunk.
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 7

Ez Ez e sorna
3. Relációsémaésreláció

Reláció és rekord

Megjegyzés
A Descartes-szorzattartalmazza a tartományok értékeinek
összes lehetséges kombinációját.
ID1-vel jelöljük egy D tartomány számosságát.
A Descartes-szorzatban szereplő elem n-esek (rekordok)
számossága:
Idom(A,) I : ldom(A,) I : .. :" Idom(A) I
Teljes indukcióval bizonyítható!
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 8

Ez Ez e sorna
3. Relációsémaésreláció

Reláció és rekord

Rendezés

e A rekordokat nem feltételezzük rendezettnek az elméleti


modellben, viszonta fizikai tárolón átlalában rendezve

helyezkednekel (indexálás).
e Arelációsémán belül és így az összes rekordban is az
értékek rendezetten helyezkednekel.

Adatbázisrendszerek és alkalmazásaik 22 relációs modell 9

Ez Ez e sorna
3. Relációsémaésreláció

Reláció és rekord

Megjegyzések
e Az összes lehetséges kombináció közül a reláció egy
adott pillanatban csak azokat a rekordokattartalmazza,
amelyeka valósvilág pillanatnyiállapotát tükrözik. Ez a
reláció aktuális állapota. Ahogyan a valósvilág
változik, úgy változik a reláció is.
e A reláció sémája viszonylag statikus, azaz nem
változik, néhányritka esetet leszámítva.
Adatbázisrendszerek és alkalmazásaik 22 relációs modell 10

E Ez Mesa
3. Relációsémaésreláció

Reláció és rekord

e A reláció interpretációja (jelentése)


o Állítás
m Mindenrekorda relációban egyténynekfeleltethető meg
vagy egy konkrét példánya azállításnak
m Példa: HALLGATO sémaegykonkréthallgatója: nev Kovács
Péter, neptunkod HFJ345, szul datum 1991-05-12

o Feltétel
m Az értékek minden rekordbankielégítenek egyfeltételt
m Példa: a HALLGATO séma igaz a HALLGATO reláció 5 rekordjára,
mert 5 különbözőtényt reprezentál a valós világból

Adatbázisrendszerek és alkalmazásaik 22 relációs modell 11

Ez Ez e sorna
3. Relációsémaésreláció

Jelölések

R(A,, A, ..., A.) egy n-ed fokú relációséma


OO, R, Srelációsémák nevei
a, r, sr relációk/relációállapotok nevei
t, u, v rekordok
Egyreláció nevea reláció aktuális állapotátjelöli, míg
AZR(A,, A, ..., A,) alak kizárólag a relációsémára
hivatkozik.
e Egy attribútum minősíthető annak az R
relációsémának a nevével, amelyheztartozik: R. A

Adatbázisrendszerek és alkalmazásaik 22 relációs modell 12

Ez Ez e sorna
3. Relációsémaésreláció

Jelölések

e t — Cv., vo, .., v,2 egy t elem n-es egy r (R)


relációban, ahol v. az A, attribűtumnak megfelelő
érték.
o €tI[AJ] és t.AjazAJ attribútumnak megfelelő vi érték
a t rekordban
o EIA, Au -, AL ÉSt.(Au, Au, .., A.) a listában
megadott attribútumoknak megfelelő
Llv., Var -r Vv.2 értékű részrekord
a t rekordból
Adatbázisrendszerekés alkalmazásaik s. A relációs modell 13

Ea Ez Mesa
3. Relációsémaésreláció

A HALLGATÓreláció

Attribútumok

Brók Emő 1 730817 2818 (3756 Varbóc PTI 1. JHRBOFX 1.36-20-4779833


Hiszt Erika 2 800922 8420 19122 Felpéc! PTI 2 JCCISSG [/.36-30-1545493
fr Ödön 1 671011 2057 (7757 Babarc [MI 2 KJZ9U9[ 1.36-20-2542208
NY szöke Barna) 1 481209 0753 12668 Patvarc] PTI 1. (R2D2XX[.36-70-4981212
vre Dóra 2 860502 3495. 14967 Csaholc] MI 1 C3POOS [/1-36-70-3881795.

Adatbázisrendszerek és alkalmazásaik 22 relációs modell 14

Ea az mesotna
Tartomány- és
kulcsmegszoritás
A relációs modell
Tartománymegszorítás

Definició
A tartománymegszorítás kimondja, hogy minden
rekordban minden egyes A attribútumhoz tartozó értéknek
a dom(A) tartományból kell származnia, és ezen dom (A)
tartományok minden elemének atomi értéknek kell lennie.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell 2


Tartománymegszorítás

Megjegyzés
A tartományokra jellemző adattípusok:
numerikus (egész, valós)
karakter
logikal
sztring (fix vagy változó hosszúságú)
dátum
egyéb speciális adattípusok
(idő, időbélyeg, pénz, stb.)
Adatbázisrendszerek és alkalmazásaik 5 A relációs modell
Szuperkulcs

Definició
Az R relációsémának létezik egy olyan attribútum-
halmaza, amely olyan tulajdonságú, hogy tekintve R
bármelyik r relációját, az adott relációban nincs két olyan
rekord, amelynek az értékei azonosak lennének ezen
attribútumokra vonatkozóan.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Szuperkulcs

Definició
Az attribútumoknak egy ilyen részhalmazát SK-val jelölve,
bármely két különböző t, és t. rekordot kiválasztva R
unum Fan.

t.[SKI £ t. [SK]
Minden ilyen SK attribútumhalmaz az R relációséma
szuperkulcsa.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Szuperkulcs

Megjegyzések
e Definició szerint egy relációban minden rekord
különböző, azaz egy relációban sincs két olyan rekord,
amelynek minden attribútumértéke páronként azonos
lenne.
e Minden relációnak van legalább egy szuperkulcsa,
az összes attribútumának a halmaza.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell 6


Kulcs

Definíció
Egy R relációséma K kulcsa R-nek egy olyan szuper-
kulcsa, amelyből egy A attribútumot elhagyva, az így
kapott K" attribútumhalmaz már nem szuperkulcsa R-
nek.

A K kulcs egyszerű, ha egyetlen attribútum alkotja,


egyébként összetett.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Kulcs

Egy kulcs kielégíti a következő két feltétel:


1. Bármilyen relációt tekintve, a reláció két különböző
rekordjának nem lehetnek azonosak a kulcsban
szereplő attribútumokhoz tartozó értékel.
2. Minimális szuperkulcs, azaz egy olyan szuperkulcs,
amelyből nem tudunk úgy eltávolítani egyetlen
attribútumot sem, hogy az egyediségre vonatkozó feltétel
továbbra is fennálljon.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Kulcs

Megjegyzés
Egy szuperkulcsnak lehetnek szükségtelen attribútumai,
igy sokkal hasznosabb fogalom a kulcsé, amely nem
tartalmaz felesleges attribútumokat.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Kulcsjelölt

Definíció
Egy relációsémának több kulcsa is lehet.
Ilyen esetben a kulcsok mindegyikét kulcsjelöltnek hívjuk.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell 10


Elsődleges kulcs

Definíció
e A modellező feladata, hogy a kulcsjelöltek közül kivá-
lasszon egyet a relációséma elsődleges kulcsának.
e Ez a kulcsjelölt lesz az, amelynek az értékeit a
relációkban szereplő rekordok azonosítására fogunk
használni.
e A kulcsmegszorítás szerint a relációsémának mindig
rendelkeznie kell elsődleges kulccsal.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell 11


Kulcsjelölt, elsődleges kulcs

Megjegyzések

e Egy relációséma elsődleges kulcsát alkotó


attribútumokat aláhúzással szoktuk jelölni.
e Amikor egy relációsémának több kulcsjelöltje is van,
tetszőlegesen lehet közülük elsődleges kulcsot
választani.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell 12


Példa relációsémák

DOLGOZÓ

OSZTÁLY

OSZT HELYSZÍNEK

Adatbázisrendszerek és alkalmazásaik 5. A relációs modell 13


Egyed- és hivatkozási
integritás megszoritás

A relációs modell
Egyedintegritási megszorítás

Definíció
Az egyedintegritási megszorítás kimondja, hogy egyetlen
elsődleges kulcs érték sem lehet NULL érték.

Ha az elsődleges kulcs összetett, akkor annak egyik


komponense sem lehet NULL érték.

Adatbázisrendszerek és alkalmazásaik 5. A relációs modell 2


Egyedintegritási megszorítás

Megjegyzés
Megengedve a NULL értékeket az elsődleges kulcs
számára, akkor nem tudnánk egyértelműen azonosítani
minden rekordot.
Példa
Ha két vagy több rekordnál NULL érték tartozna az
elsődleges kulcsukhoz, akkor nem tudnánk
megkülönböztetni őket, ha megpróbálnánk más relációkból
hivatkozni rájuk.
Adatbázisrendszerek és alkalmazásaik 5. A relációs modell
Megszorítások kapcsolata

Fontos
e A kulcsmegszorítások és az egyedintegritási
megszorítások az egyes relációkra vonatkoznak.

e A hivatkozási integritási megszorítást pedig


két reláció között értelmezzük.
e Hivatkozni külső kulccsal tudunk.

Adatbázisrendszerek és alkalmazásaik 5. A relációs modell


Hivatkozási integritási megszorítás

Definíció - Külső kulcs


Egy R. relációséma FK-val jelölt attribútumhalmaza külső
(idegen) kulcsa R. -nek, amely hivatkozik az R.
relációsémára, ha eleget tesz a következő feltételeknek:
e Az FK-beli attribútumoknak és az R. PK-val jelölt
elsődleges kulcsattribútumainak páronként azonos a
tartománya.
Ekkor azt mondjuk, hogy az FK attribútumok hivatkoznak
az R- relációsémára.
Adatbázisrendszerek és alkalmazásaik 5. A relációs modell 5
Hivatkozási integritási megszorítás

Definíció - Külső kulcs (folyt.)


e Bármely r., (R.) aktuális állapotának egy t.; rekordjában
egy FK-beli érték vagy megjelenik egy r. (R.) aktuális
állapotának valamely t: rekordjában PK értékeként,
vagy az értéke NULL.
Az előbbi esetbent. [FK] — t-IPKI], és ekkor azt
mondjuk, hogy a t; rekord hivatkozik a t- rekordra.

Adatbázisrendszerek és alkalmazásaik 5. A relációs modell


Hivatkozási integritási megszorítás

Megjegyzések
e A hivatkozási integritási megszorítást két reláció között
értelmezzük, és a két relációban lévő rekordok közötti
konzisztencia megteremtése érdekében használjuk.
e Ha a definícióban említett két feltétel teljesül, egy
hivatkozási integritási megszorítás áll fenn R. -ről R--re
vonatkozóan. Ebben a definícióban R. -et hivatkozó,
R; -t hivatkozott relációnak nevezzük.
Adatbázisrendszerek és alkalmazásaik 5. A relációs modell
Hivatkozási integritási megszorítás
Megjegyzések
e Nincs kapcsolatok leírására, tárolására szolgáló elem.
e A kapcsolatok nem szerkezeteken keresztül valósulnak
meg, hanem adatokon keresztül:
o kétrekord között kapcsolat áll fenn, ha létezik két kulcs
attribútum, amely utal a kapcsolatra.
e Informálisan a hivatkozási integritási megszorítás
kimondja, hogy egy reláció egy rekordjának, amely egy
másik relációra hivatkozik, egy létező rekordra kell
hivatkoznia abban arelációban.
Adatbázisrendszerek és alkalmazásaik 5. A relációs modell
Rekurzív kapcsolatok

Megjegyzés
Egy külső kulcs hivatkozhat a saját relációjára is.

Példa
A főnök szsz attribútum a DOLGOZÓ-ban a dolgozó
főnökére hivatkozik; ez egy másik dolgozó, akit a DOLGOZÓ
relációban egy rekord szemléltet.
Ennélfogva a főnök szsz egy olyan külső kulcs, amely a
DOLGOZÓ relációra önmagára hivatkozik.
Adatbázisrendszerek és alkalmazásaik 5. A relációs modell
Hivatkozási integritási megszorítás

Mi történik egy rekord törlése esetén?


e Egy rekordra hivatkozhatnak más rekordok külső kulcsa
által.
e Törlés esetén sérülhet a hivatkozási integritási
megszorítás.

Adatbázisrendszerek és alkalmazásaik 5. A relációs modell 10


Hivatkozási integritási megszorítás

Megoldások
e RESRIICI
o nem hajtjuk végre a törlést
e CASCADE.
o azokat a rekordokat Is töröljük, amelyek hivatkoznak a
rekordra
e SET NULL vagy SET DEFAULT
o a hivatkozó attribútum értékét alapértelmezettre vagy
NULL értékre állítjuk, ezzel elkerülve a sérülést

Adatbázisrendszerek és alkalmazásaik 5. A relációs modell 11


Táblázatok közötti kapcsolat

AUTÓK EMBEREK
rsz (tipus [tulaj sz [név
r1 ]! Lada 3 1 Péter
r4 ! Fiat 2 Ilona
r2 ] Skoda d Ld
v"
3 Gábor
rk
az szl
6 g éa?
s, pe

r8 ] Opel 4 László
te -
— -
u

ró ] Skoda 5 Éva
Ah

r5 ] Fiat 6 Tibor
a

Adatbázisrendszerek és alkalmazásaik aa A relációs modell 12


Adatbázisséma és
adatbázis
A relációs modell
Relációs adatbázisséma

Definició
Egy S relációs adatbázisséma az
S — (R), R., .., R)
relációséma halmaz, valamint integritási megszorítások
(IC) halmazának az együttese.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Relációs adatbázis

Definíció
S egy DB relációs adatbázisa/lrelációs
adatbázisállapota olyan
DB (ri, Por ..r End
relációk/relációállapotok halmaza, ahol minden r; az R;
séma egy relációja, és minden r. reláció kielégíti az IC-
ben megadott integritási megszorításokat.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Adatbázisséma és adatbázis

Megjegyzés
Egy relációs adatbázis rendszerint számos relációt
tartalmaz, a relációkban rekordokat találunk, amelyek
különböző módon vannak egymással kapcsolatban.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Relációs adatbázis és relációsémái

E gzeleés Haz jasssz a Tvt


9 SZA
1 ETT
TAM. jadzati TT ETNNE
1 E9VEZN
Lalika Kiel va n FV veve
1 gft1m
4 ambi ( NRA2 sanpanmálen A nam vág
Bak Mine TACM ét FÜL jádnen M tet Fo átare rwign

.
1 4enatt "
ETL Tt]

Adatbázisrendszerek és alkalmazásaik s. A relációs modell


Adatbázisok feltöltése
e Minden relációnak több rekordja lehet az aktuális
reláció állapotában.
e A relációs adatbázis állapota az összes
reláció/relációállapot uniója.
e Amikor az adatbázis változik új állapotok jönnek létre.
e Alapvető műveletek az adatbázis megváltoztatására:
o INSERT egy új rekord beszúrása/llétrehozása
o DELETE egy létező rekord törlése
o MODIFY egy létező rekord attribútumainak módosítása
Adatbázisrendszerek és alkalmazásaik 5 A relációs modell
Adatbázisok feltöltése

e Az integritási megszorítások nem sérülhetnek ezen


műveletek alkalmazásakor.
e Számos adatbázis-frissítési művelet használható
csoportosan.
e Számos ilyen művelet kiválthatja más hasonló művelet
automatikus végrehajtását, amely azért szükséges,
hogy az integritási megszorításokat megőrizzük.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Adatbázisok feltöltése

e Az integritási megszorítások esetleges megsérülése


esetén az alábbi akciók váltódhatnak ki:
o azon művelet törlése, amely a sérülést okozza
N RESTRICT, REJECT opciók
o a művelet végrehajtása de a felhasználó tájékoztatása a
sérülésről
o további műveletek kiváltása (triggerek), amelyek
helyrehozzák a sérülést
u" CASCADE,SET NULL opciók
o felhasználó által írt hibakorrigáló rutin futtatása
Adatbázisrendszerek és alkalmazásaik 5 A relációs modell
Tranzakció

Tranzakció
e egy futó program, amely adatbázis műveleteket tartalmaz
e érvényes vagy konzisztens állapotban kell hagynia az
adatbázist végrehajtás után
Online tranzakció feldolgozó rendszerek (OLTP)
e OnLine Tranzaction Processing systems
e akár néhány száz tranzakciót is végrehajthat
másodpercenként
Adatbázisrendszerek és alkalmazásaik 5 A relációs modell
integritási megszorítás sérülések

e INSERT művelet:
o tartomány megszorítás
um ha az új rekord egyik attribútum értéke nem a megadott
tartományba esik
o kulcs megszorítás
mum ha az új rekord kulcs attribútum értéke már létezik a reláció egy
másik rekordjánál

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


integritási megszorítás sérülések

e INSERT művelet:
o hivatkozási integritás
mum ha a külső kulcs érték az új rekordban egy olyan elsődleges kulcs
értékre hivatkozik, amely nem létezik a hivatkozott relációban
o egyed integritás
um ha az elsődleges kulcs érték NULL az új rekordban

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


integritási megszorítás sérülések

e A DELETE művelet csak a hivatkozási integritás


megszorításnál okozhat sérülést
o olyan elsődleges kulcs értékkel bíró rekordot törlünk,
amelyre más relációból hivatkozás van
o ilyen esetben sérül a hivatkozási integritási megszorítás
o megoldások
RKESIRICI, CASCADR, SEI NULL Vagy SEI DEFAULTI

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


integritási megszorítás sérülések

Megoldások
e RESRIICI
o nem hajtjuk végre a törlést
e CASCADE.
o azokat a rekordokat is töröljük, amelyek hivatkoznak a
rekordra
e SET NULL vagy SET DEFAULT
o a hivatkozó attribútum értékét alapértelmezettre vagy
NULL értékre állítjuk, ezzel elkerülve a sérülést

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


integritási megszorítás sérülések

e Az UPDATE művelet a tartomány megszorítás és a


NULL érték megszorítást sértheti meg.

Adatbázisrendszerek és alkalmazásaik 5 A relációs modell


Relációs adatbázis
tervezése
Funkcionális függések
Relációs adatbázis-tervezés

e Olyan módszerek és formális mutatók szükségesek,


amelyek segítenek annak eldöntésében, hogy az
attribútumok egyik csoportja miért lesz jobb, mint a
másik?
e Milyen a jó relációs séma?
e Feltételezzük, hogy a relációt alkotó attribútumoknak
jelentésük van.

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések


Relációs adatbázis-tervezés

e A jelentés (szemantika) mondja meg egy relációbeli


rekord megfelelő attribútum értékének a jelentését,
interpretációját.
e Szemantikus réteg: Hogyan viszonyul az egyik
attribútum a másikhoz?
e A funkcionális függés a következő lépés a
koncepcionális, azaz nem ad-hoc adatbázistervezés
felé.

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések


Relációsémák jósága

e Logikai (vagy koncepcionális) szint:


o leírja, hogy a felhasználók hogyan értelmezik a
relációsémákat és az attribútumaik jelentését.
e Implementációs (vagy tárolási) szint:
o leírja, hogy hogyan tárolódnak és módosulnak a rekordok
az alaprelációkban.

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések 4


Relációsémák jósága
e Általánosságban elmondható, hogy minél egyszerűbb
megmagyarázni egy reláció szemantikáját, annál jobb a
relációséma-terv.
e Az a könnyedség, amellyel a relációk attribútumainak a
jelentését elmagyarázhatjuk, annak az informális
mérőszáma, hogy milyen jól van megtervezve a reláció.
e A megfelelő sémákba történő csoportosítás eszköze az
itt tárgyalandó formális megszorítás, a funkcionális
függés segítségével végezzük el.
e Erre épül a következő fejezet normalizálási eljárása.
Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések 5
Tervezési irányelvek

(Nem hivatalos) tervezési irányelvek:


[A relációs sématervezés minőségére vonatkozó informális
mérőszámkért is felfoghatóak. 7
e az attribútumok szemantikájának az érthetősége
e a rekordokban megjelenő redundáns információk
mennyisége
e a rekordokban megjelenő NULL értékek mennyisége
e az álrekord-generálási lehetőség kizárása
( nem teljesen függetlenek egymástól!

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések


Tervezési megközelítések
Az adatbázis-tervezés két megközelítése:
e Alulról felfelé tervezési módszer:
o az egyes attribútumok közötti alapvető kapcsolatokat tekinti
kiindulópontnak, és azokat használja fel a relációsémák
építéséhez.
e Felülről lefelé tervezési módszer:
o számos, relációkba szervezett attribútumcsoportból indul ki,
amelyek természetes módon összetartoznak
o a relációkat ezután külön-külön és együtt is elemezzük, amely
további dekompozíciókhoz vezet mindaddig, amíg el nem érjük
az összes kívánt tulajdonságot.
Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések
A funkcionális
függés - Bevezetés
Funkcionális függések
Funkcionális fü gg és (functional dependency)

A funkcionális függés egy olyan megszorítás, amely az


adatbázis két attribútumhalmaza között áll fenn.

Tegyük fel, hogy a relációs adatbázissémánknak n db


attribútuma van: A, A, ..., A,
és gondoljunk az egész adatbázisunkra úgy, hogy azt -
csak a formális elmélet kialakításához - egyetlen
univerzális
R — (A ,Ao, .. , A.) relációsémával írjuk le.

Adatbázisrendszerek és alkalmazásaik :: Funkcionális függések


Funkcionális függés

Az R két attribútumhalmaza, X és Y között, x -— r-nalpjelölt


funkcionális függés előír egy megszorítást azokra a lehetséges
rekordokra, amelyek egy R fölötti r relációt alkothatnak.
A megszorítás az, hogy bármely két, r-beli t, és t- rekord
esetén, amelyekre t. (X] — t.([X] teljesül, teljesülnie kell
t,[Y] — t.-[(Y]-nakis.

Más szavakkal: egy R relációsémában X akkor és csak akkor határozza meg


funkcionálisan Y-t, ha valahányszor r (R) két rekordja megegyezik az X
értékeken, szükségszerűen megegyezik az Y értékeken is.

Adatbázisrendszerek és alkalmazásaik s Funkcionális függések


Funkcionális függés

Szabadfordításban:
Az r-beli rekordok Y komponensének az értékei függnek az X
komponens értékeitől, azaz egy rekord X komponensének az
értékei egyértelműen (vagy funkcionálisan) meghatározzák az Y
komponens értékelt.
Azt is mondhatjuk: X funkcionálisan meghatározza Y-t, vagy
Y funkcionálisan függ X-től.
A funkcionális függésnél X attribútumhalmazt a Dal oldalának,
az Y-t pedig a Jobb oldalának nevezzük.
Adatbázisrendszerek és alkalmazásaik s Funkcionális függések
Megjegyzés

Abból, hogy egy R-re előírt megszorítás szerint bármely


r(R) relációban nem szerepelhet több, mint egy rekord
egy adott X értékkel — azaz X egy szuperkulcsa R-nek —,
ebből egyenesen következik, hogy X a Y az R
attribútumainak bármely Y részhalmazára teljesül
o miután a kulcsmegszorításból következik, hogy egyetlen
legális r (R) állapotban sem lehet két olyan rekord,
amelyeknek azonosak lennének az X
attribútumhalmazon felvett értékeik

Adatbázisrendszerek és alkalmazásaik s Funkcionális függések 5


Megjegyzés

HaX - Y teljesül R-ben, még semmit sem tudunk mondani


arról, hogy Y — X is teljesül-e R-ben.

e Ha mindX - Y, mindY —- X teljesül R-ben, akkor


kölcsönös funkcionális függésről beszélünk. (ritka)

e HasemX - Y, semyY - X nem teljesül, akkor azt


mondjuk, hogy X és Y funkcionálisan független
attribútumhalmazok.
Adatbázisrendszerek és alkalmazásaik s Funkcionális függések 6
Funkcionális függés jelölése

Funkcionális függések felírásakor a halmazt jelölő nyitó és záró zárójelek,


valamint a halmaz elemeit elválasztó vesszők megállapodás szerint
elhagyhatók, ha az attribútumokat egybetűs nevekkel azonosítjuk.
(Illetve ha egyelemű a halmaz.)
így például (A,B ) — (C) helyett AB — C,
(A, BC ) S (DE) helyett ABC 6 DE írható.
Ha X és Y attribútumhalmazokat jelölnek, akkor a funkcionális függések
mindkét oldalán alkalmazható az XY egyszerűsítés a két attribútumhalmaz
uniójának jelölésére. Így például:
X UuY—a Z helyett XY— Z írható

Adatbázisrendszerek és alkalmazásaik z2 Funkcionális függések


Példa funkcionális függések

5]
DOLG PROJ
Szsz ! Pszám ! Órák ! Dnév ! Pnév ! Phelyszín

FD2
FD3

Funkcionális függések:
1.Szsz a Dnév
2.PSzám - ( Pnév, Phelyszínl
3.(Szsz, Pszám) - Órák

Adatbázisrendszerek és alkalmazásaik z2 Funkcionális függések


A funkcionális függés magyarázata

e A relációs adatbázisok egyik legfontosabb fogalma.


e A szemantikának egy tulajdonsága, azaz kizárólag az
attribútumok jelentésétől függ.
e Ha a szemantika azt mondja, hogy az attribútumok két
halmaza között funkcionális függés van, akkor ezt a
függést megszorításként kell specifikálni:
o kikell mondani, le kell Írni az adatbázis-kezelő DDL
nyelvén.

Adatbázisrendszerek és alkalmazásaik z2 Funkcionális függések


A funkcionális függés magyarázata

e A funkcionális függésnek eleget tevő relációsémákat


legális kiterjesztésnek nevezzük.
o A reláció állapotok szintén csak legálisak lehetnek.
e A funkcionális függés néha automatikusan teljesül
o Pélául:
Irányítószám — Körzetszám

Adatbázisrendszerek és alkalmazásaik z2 Funkcionális függések 10


Lezárt fogalma,
levezethetőség
Funkcionális függések
Explicit és implicit függések

e F: az R relációséma feletti funkcionális függések


nalmaza.
e A sématervező tipikusan csak a szemantikailag
nyilvánvaló funkcionális függéseket adja meg.
e Általában számos további funkcionális függés is fennáll
különböző attribútumhalmazok között.
e A további függések levezethetők vagy következnek az
F-beli funkcionális függésekből.

Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések


Explicit és implicit függések

e Lehetetlen megadni az összes lehetséges funkcionális


függést egy konkrét esetben
Például:
Oszam 6 Ovez szsz Oszám 5 Ovez telefon
Ovez szsz - Ovez telefon

e EZ egy levezetett funkcionális függés, így nem kell explicit


módon megadni a két említett funkcionális függés mellett
e Egy fogalom definiálása, mely az F halmazból levezethető
összes lehetséges függést tartalmazza: lezárt

Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések 3


Lezárt definíciója

Formálisan azt a függéshalmazt, amely tartalmazza az


összes F-beli függést éppúgy, mint azokat a függéseket,
amelyek levezethetők F-ből, F lezártjának nevezzük.
Jelölése: HF"

Például:
F — (Oszám - Ovez szsz, Ovez szsz c Ovez telefon)
E" — (Oszám - Ovez szsz, Ovez szsz c Ovez telefon,
Oszám - Ovez telefon)

Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések


Levezetés

Az X G Y funkcionális függés levezethető az R-re vonatkozó


F függéshalmazból, ha X — Y teljesül R minden r relációjában
e Azaz ha valahányszor r kielégíti az F-ben lévő összes
függést, mindannyiszor X — Y is teljesül r-ben.
e Az F függéshalmaz F" lezártja az összes, F-ből levezethető
funkcionális függés halmaza.
e Szisztematikus módszer megadása:
levezetési szabályok bevezetése (következő lecke).
e FHXG Y jelölés: az F függéshalmazból az X GY
funkcionális függés levezethető
Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések 5
Jelölés

Funkcionális függések felírásakor a halmazt jelölő nyitó és


vég zárójelek, valamint a halmaz elemeit elválasztó
vesszők megállapodás szerint elhagyhatók, ha az
attribútumokat egybetűs nevekkel azonosítjuk
e Például: (A, B) —- (C) helyettAB — C,
míg (A, B,C) - (D,E) helyett ABC - DE (Írható

Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések


Jelölés

Ha X és Y attribútumhalmazokat jelölnek, akkor a


funkcionális függések mindkét oldalán alkalmazható az XY
egyszerűsítés a két attribútumhalmaz uniójának jelölésére.
e Például:X U Y - zZhelyettXxY — Z írható.

Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések


A funkcionális
függések levezetési
szabályai
Funkcionális függések
Levezethetőség: szisztemaikus út

Az F függéshalmaz F" lezártja az összes, F-ből levezethető


funkcionális függés halmaza.
Ahhoz, hogy megadjuk a függések levezetésének egy
szisztematikus módszerét, levezetési szabályok egy
halmazát kell bevezetnünk, amelyek segítségével új
függéseket vezethetünk le egy adott függéshalmazból.
Jelölése: FEX5SY

Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések


A funkcionális függések tulajdonságai

Levezetési szabályok:
1. A reflexivitás szabálya:
HaY c X akkorX — Y
1. Az augmentivitás szabálya:
(X a Y) EF XZ — Y2

1. A tranzitivitás szabálya:

Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések


A funkcionális függések tulajdonságai

Levezetési szabályok:
4. A dekompozíció szabálya:
(X a YZj EX aaY

4. Az additivitás szabálya:
(IX GY, Xa ZzZy FOX
a YZ

4. A pszeudotranzitivitás szabálya:
(X 5 Y, 5 Z)
WY FO WX Z
Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések
További tulajdonságok

Egy X — Y funkcionális függés triviális, haY C X,


egyébként nemtriviális.

Megjegyzés
Bár(XOAésXO B 5X— AB (additivitás szabálya)
De. XOAésYoOBÓó XY—a AB]
Hasonlóan: XY OG A; X—a A,
jYoOA
Nem alkalmazhatóak tetszőlegesen a szabályok!
Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések
A funkcionális függések tulajdonságai

e Reflexivitás: egy attribútumhalmaz mindig meghatározza


önmagát, vagy saját maga bármilyen részhalmazát.
e Augmentivitás: egy funkcionális függés mindkét oldalának
ugyanazzal az attribútumhalmazzal történő bővítése
újabb érvényes funkcionális függést eredményez.

e !Iranzitivitás: a funkcionális függések tranzitívak.

Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések


A funkcionális függések tulajdonságai

e Dekompoziíció: egy funkcionális függés jobb oldaláról


eltávolíthatunk attribútumokat
o Egymás után többször alkalmazva:
X 6 ( Aj, An, .., A. n ) funkcionális függés felbontható
az( X 6 Aj, X c A, .., X - A, ) függéshalmazra.
e Additivitás: funkcionális függések egy
(X 5 A, X 6 A, ... , X c A) halmazát
összevonhatjuk egyetlenX —- (A,A-, ... ,A)
funkcionális függéssé
Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések
Az Armstrong-axiómák

A reflexivitás, az augmentivitás és a tranzitivitás szabályait


együtt Armstrong-axiómáknak nevezzük.

e A reflexivitás, az augmentivitás és a tranzitivitás


szabálya együtt helyes és teljes. (William W. Armstrong,
1974)

Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések


Helyesség fogalma

Helyesség: ha adott egy R relációsémán fennálló


funkcionális függéseknek egy F halmaza, akkor bármilyen
függés, amely levezethető F-ből a három szabály
segítségével, fenn fog állni R minden olyan r relációjában,
amely kielégíti az F-beli függéseket.

Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések


Teljesség fogalma

Teljesség: a három szabályt mindaddig ismételten


alkalmazva, míg már nem kapunk újabb függéseket,
előállítható az F-ből levezethető összes lehetséges függés
teljes halmaza.

Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések


Teljesség

e Más szavakkal, F-ből kiindulva kizárólag a három


szabály alkalmazásával meghatározható az F"
függések halmaza, amit F lezártjának hívunk.

Például:
F — (Oszám - Ovez szsz, Ovez szsz - Ovez telefon)
E" — (Oszám - Ovez szsz, Ovez szsz - Ovez telefon,
Oszám c Ovez telefon)

Adatbázisrendszerek és alkalmazásaik 55 Funkcionális függések


A funkcionális függések
tulajdonságainak
bizonyítása
Funkcionális függések
A reflexivitás bizonyítása

e Tegyük fel, hogy Y S X, és hogy léteznek t;. és t-


rekordok R valamely r relációjában úgy, hogy t([X] — t-[X]
e Ekkort[Y] —- t[YI, mivel Y S X; ezért X — Y-nak
teljesülnie kell r-ben.

Adatbázisrendszerek és alkalmazásaik Funkcionális függések


Az augmentivitás bizonyítása
Tegyük fel, hogy X — Y fennáll R egy r relációjában, de XZ 6 YZ
nem áll fenn. Ekkor léteznie kell t, és t; rekordoknak úgy, hogy
1. t.IXI — toIXI
2.t.[Y] — t.o[Y]
3. tt, [XZ] — t.[XZ]
4. t[YZ] A t.[YZ]
Ez nem lehetséges, mert a (3)-ból kapjuk:
5. t.[Z] — t.[Z]
míg (2)-ből és (5)-ből kapjuk, hogy
6. t,.[YZ] — t.[YZ], ami ellentmond (4)-nek.
Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések
A tranzitivitás bizonyítása

Tegyük fel, hogy


1.X 5 Yés
2.Y - 7
fennáll egy r relációban. Ekkor tetszőleges t. és t. r-beli
rekordokra, melyekre Igaz, hogy t. IX] — t.I[XI, az (1) miatt
kapjuk, hogy
3. t1[Y] — t2[Y];
így (3)-ból és a (2)-es feltevésünkből azt is kapnunk kell, hogy
4. t1[IZ] — t2[Z];
ezért X — 2-nek fenn kell állnia r-ben.
Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések
Az eddigi szabályok felhasználása
e Hasonló bizonyítási lépéseket felhasználva bebizonyíthatjuk
a dekompozíció, az additivitás és a pszeudotranzitivitás
szabályát.
e Sokkal egyszerűbb úgy bebizonyítani egy levezetési
szabályról azt, hogy érvényes a funkcionális függésekre, ha
felhasználjuk a korábbi, érvényes levezetési szabályokat.
e A dekompozíció, az additivitás és a pszeudotranzitivitás
szabályát az eddigi szabályok felhasználásával bizonyítjuk.

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések


A dekompozíció bizonyítása

1.X - YZ adott.

2.YZ - Y, felhasználva a reflexivitás szabályát, és tudva,


hogy Y CG YZ.
3.X - Y, alkalmazva a tranzitivitás szabályát (1)-re és
(2)-re.

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések


Az additivitás bizonyítása

1.X - Y adott.

2.X -. 7 adott.
3.X - XY, alkalmazva az augmentivitás szabályát (1)-re,
azt X-szel bővítve; megjegyezve, hogy XX — X.
41.XY - YZ, alkalmazva az augmentivitás szabályát (2)-
re, azt Y-nal bővítve.
5.X . YZ, alkalmazva a tranzitivitás szabályát (3)-ra és
(4)-re.
Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések
A pszeudotranzitivitás bizonyítása

1.X - Y adott.

2.WY -. 7 adott.

3.WX - WY, alkalmazva az augmentivitás szabályát (1)-


re, azt W-vel bővítve.
41.WX - Z, alkalmazva a tranzitivitás szabályát (3)-ra és
(2)-re.

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések


Attribútumhalmaz
lezártja, halmazok
ekvivalenciája
Funkcionális függések
Funkcionális függések megadása
1. Azon funkcionális függések F halmaza, amelyek könnyen
meghatározhatók R relációséma attribútumainak a
szemantikájából.
2. Az Armstrong-axiómák segítségével további funkcionális
függések vezethetőek le, amelyek szintén fennállnak R-en.
o Szisztematikusan ezeket a funkcionális függéseket úgy
lehet meghatározni, hogy először meghatározzuk azon X
attribútumhalmazokat, amelyek megjelennek valamely F-
beli funkcionális függés bal oldalán, és azután
meghatározzuk az összes olyan attribútumot, amelyek
függnek X-től - bevezetve az attribútum lezárt fogalmát.
Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések
Egy attribútumhalmaz lezártja

Minden egyes X attribútumhalmazra meghatározzuk az


attribútumoknak egy olyan X!t halmazát, amelyet X
funkcionálisan meghatároz fe alapján;
X"-t az XF alatti lezártjának nevezzük.

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések


Algoritmus Xt meghatározására

X : X
repeat
oldX" — X;
for minden F-beli Y — Z funkcionális függésre do
IfX. 2YthenX —- XI U Z;
until (X" - oldX");
Az algoritmus négyzetes idejű. Létezik egy vele ekvivalens,
de összetettebb, lineáris idejű algoritmus is.
Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések
Példa lezárt meghatározására
DOLG PROJ
Szsz ] Pszám ! Órák ! Dnév ! Pnév ! Phelyszín
FD1 !
FD2
FD3

Legyen F — (
(Szsz, Pszám) - Órák,
Szsz - Dnév,
PSzám —- ( Pnév, Phelyszínl

)
Adatbázisrendszerek és alkalmazásaik aa Funkcionális függések
Példa lezárt meghatározására

Ekkor Et — (
(Szsz, Pszám)t — (Szsz,Pszám,Dnév,Pnév, Phelyszín, Órák),
(Szsz)! —- ([(Szsz, Dnév),
(PSzám)" —- í(Pszám, Pnév, Phelyszín)

]
Adatbázisrendszerek és alkalmazásaik s. Funkcionális függések
Függéshalmazok ekvivalenciája

Azt mondjuk, hogy a funkcionális függések F halmaza lefedi a


funkcionális függések egy másik, E halmazát, ha minden £E-beli
funkcionális függés benne van Ft-ban;
azaz ha minden E-beli függés levezethető F--ből.

A funkcionális függések E és F halmaza ekvivalens egymással,


ha E" - F-. Így az ekvivalencia azt jelenti, hogy minden E-beli
funkcionális függés levezethető /-ből, és minden F-beli
funkcionális függés levezethető E-ből;
azaz E ekvivalens F-fel, ha E lefedi F-et és F lefedi E-t.

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések


Függéshalmazok ekvivalenciája

e F lefedi-e E-t?
o kiszámítjuk Xt-t F-re nézve minden E-beli X S Y
funkcionális függésre, majd ellenőrizzük, hogy Xt
tartalmazza-e az Y-beli attribútumokat,
o ha ez minden E-beli funkcionális függésre igaz, akkor F
lefedi E-t.
e E és F ekvivalensek-e?
o megvizsgáljuk, hogy E is lefedi-e F-et, és F is lefedi-e E-t.

Adatbázisrendszerek és alkalmazásaik 5 Funkcionális függések


Minimális halmaz

Funkcionális függések
Adatbázisrendszerek és alkalmazásaik
Minimális lefedés (informálisan)

e Funkcionális függések egy E halmazának a minimális


lefedése (informálisan):
o funkcionális függéseknek egy olyan F halmaza, amelyre
teljesül, hogy minden E-beli függés az F-nek az F"
lezártjában is megtalálható,
o ráadásul ez a tulajdonság nem teljesül, ha FH-ből
bármelyik függést kivesszük,
o H-ben nem lehet redundancia, ugyanakkor az HF-beli
függések standard formájúak.
Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések
Minimális halmaz

Funkcionális függések egy F halmazát minimálisnak


nevezzük, ha:
e MindenX - Y funkcionális függésre F-ben Y egyszerű,
azaz egy attribútumból áll.
e Nem hagyhatunk el egyetlen funkcionális függést sem
F-ből úgy, hogy F-fel ekvivalens halmazt kapjunk.
e /Vem helyettesíthetünk (törölhetünk) egyetlen egy
X a A-tF-benegy Y - Adfunkcionális függéssel, ahol
Y c X, úgy, hogy F-el ekvivalens halmazt kapjunk.
Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések
Minimális lefedés

Funkcionális függések egy E halmazának minimális


lefedése alatt (standard kanonikus alakban lévő
redundancia mentes) funkcionális függések egy olyan
halmazát értjük, amely minimális és ekvivalens E-vel.

Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések


Minimális halmaz meghatározása
Input: Funkcionális függések egy E halmaza
1. Legyen F — E
2. Helyettesítsünk minden X- (A, , . . . , A ) funkcionális
függést n darab X c A), ... ,X - A, funkcionális
függéssel.
Minden olyan F-beli X - A funkcionális függésre és X-beli B
attribútumra, amelyre (FXIX — A)) UV ((XXIB)) — A)
ekvivalens F-fel, helyettesítsük X - A-t (XX(B))- A-val F-
ben.
4. Minden fennmaradó F-beli X - A funkcionális függésre, ha
Adatbáztréndszetekés atkalráázásalk ekvivalens dor! sak KOT töröljük X A-t F-ből.
Példa - Minimális halmaz
Legyen adottE :- (B - A, D - A, AB — D).
Határozzuk meg az F minimális lefedést:
e Minden funkcionális függés kanonikus alakban van. (2. lépés kész)
e Lehet-e a AB-D -t kiváltani B-D vagy A-D valamelyikével?
Mivel B -—- A így az augmentálás szabálya alapján B - AB, amia
tranzitivitással együtt adja B — D.
Ezért AB - D helyettesíthetőB — D-vel. Eredményül
F —- (B - A, D - A, B - D)-t kapunk, ahol a baloldalon már
mindenütt csak egy attribútum szerepel, a 3. lépés kész.
e Redundancia keresése F-ben: B - D és D —- A, így
tranzitivitás alapján B - A, azaz elhagyható. Ezzel
kész a 4. lépés.

Eredmen
szer k és a kalrzazásáik
D - A,B mát
Funkcioná s függések
Minimális halmaz jellemzői

e Funkcionális függések minden halmazának van vele


ekvivalens minimális halmaza.
e Több, egymással is ekvivalens minimális halmaz létezhet.
e A minimális halmaz (nem egyértelmű) standard kanonikus
alak, redundanciák nélkül.
e Amikor attribútumok egy halmazából relációkat állítunk elő a
tervezés folyamán, akkor feltételezzük, hogy funkcionális
függések egy minimális halmazából indulunk ki.
o Pontosabban, először előállítjuk ezt a minimális halmazt a
szemantika által adott funkcionális függésekből.

Adatbázisrendszerek és alkalmazásaik .2 Funkcionális függések


Tervezési irányelvek -
attribútum szemantika

Normalizálás, normálformák
Tervezési irányelvek
e A relációsémák két szintje:
o logikai , felhasználói nézet" szint,
o tárolási (fizikai) ,alapreláció" szint.
e A tervezés elsősorban az alaprelációkkal foglalkozik
e A pjó relációs tervezés 4 db nem hivatalos irányelve
e A funkcionális függések és a normálformák formális definíciói
1NF (első normálforma)
OD

2NF (második normálforma)


3 NF (harmadik normálforma)
OOO

BCNF (Boyce—-Codd-féle normálforma)


További normálformák

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Attribútumok szemantikája

1. (nem hivatalos) irányelv


Egy reláció minden egyes rekordja egy egyedet vagy
kapcsolat-előfordulást reprezentáljon. (Az egyes relációkra
és azok attribútumaira külön-külön vonatkozik.)

Olyan sémát kell tervezni, ami könnyen magyarázható relá-


cióról relációra. Az attribútumok szemantikájának könnyen
értelmezhetőnek kell lennie, különben félreérthető,
kimondottan akkor, ha több egyedet kever egybe.
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
Reláció attribútumok szemantikája
DOLG Ke

TVE T TEV SET STT TETT [NEZ FEET FESTETT 7ő57] A VÁLLALAT séma egyes egyedei,
T ááá

OSZTÁLY
melyek jelentése roppant egyszerű
! ÜOnév I Os zám
ft
Vez kezdő. dátum )
[vez .SIST és egy-két rövidítéstől eltekintve
OSZT HELY SZÍNEK
önmagát leíró természettel bírnak
! Oszám Í Ohelyszín ] az attribútumok.
PROJEKT
Az egyedüli rész talán az implicit
! Pnév Í Pszám ! Phelyszín Í Osz !
t KSS A kapcsolatok kezelése, amely a
kenszyzozej

DOLGOZIK RAJTA
séma alapját nyújtó szakterület
! Diszsz T sz Órák áttekintését követően bárki számára
HOZZÁTARTOZÓ
nyilvánvalóvá válhat.
( Dszsz
em
i Hozzátartoazó
Mntönmmezaemzandlllltnzan
mév ( Nem Szdátum Kapcsolat )

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


Reláció attribútumok szemantikája

e Különböző egyedek (pl. DOLGOZÓ-k, OSZTÁLY-ok,


PROJEKT-ek) attribútumai nem keverendők egyazon
relációban.
e Más egyedekre való hivatkozás csak külső kulcsok
használatával történjen.
e Az egyedekre és a kapcsolatokra vonatkozó
attribútumokat a lehető legjobban el kell különíteni
egymástól.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Túlterhelt relációsémák

Könnyen érthető, de túlterhelt relációsémák:


DOLG PROJ e Az 1. irányelvet megsértik, mert
Szsz ] Pszám ! Órák ] Dnév ! Pnév ( Phelyszín több egyedet kevernek össze
FD1 ! egy egyedbe.
12 e Használhatóak esetleg majd
4 198 nézetnek, de alaprelációként
problematikusak.
DOLG OSZT I I
Dnev ] Szsz Szdat. ! Lakcim OSzam ONev OVez szsz

KA Kh A ,
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
Túlterhelt relációsémák

Könnyen érthető, de túlterhelt relációsémák:


DOLG PROJ Problematikusak:
Szsz ] Pszám ) Órák [ Dnév ) Pnév ( Phelyszín e minden dolgozónál megismétli
FD1 ! az OSZTÁLY összes jellemzőjét
FD2 e ez redundanciát jelent
FD3 ho e karbantartási
léphetnek fel anomáliák

DOLG OSZT
Dnev ! Szsz Szdat. / Lakcim OSzam ! ONev OVez szsz
A A A h A A

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Tervezési irányelvek -
karbantartási
anomáliák
Normalizálás, normálformák
Tervezési irányelvek
e A relációsémák két szintje:
o logikai , felhasználói nézet" szint,
o tárolási (fizikai) ,alapreláció" szint.
e A tervezés elsősorban az alaprelációkkal foglalkozik
e A pjó relációs tervezés 4 db nem hivatalos irányelve
e A funkcionális függések és a normálformák formális definíciói
1NF (első normálforma)
OD

2NF (második normálforma)


3 NF (harmadik normálforma)
OOO

BCNF (Boyce—-Codd-féle normálforma)


További normálformák

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Túlterhelt relációsémák

Könnyen érthető, de túlterhelt relációsémák:


DOLG PROJ Problematikusak:
Szsz ] Pszám ) Órák [ Dnév ) Pnév ( Phelyszín e minden dolgozónál megismétli
FD1 ! az OSZTÁLY összes jellemzőjét
FD2 e ez redundanciát jelent
FD3 ho e karbantartási
léphetnek fel anomáliák

DOLG OSZT
Dnev ! Szsz Szdat. / Lakcim OSzam ! ONev OVez szsz
A A A h A A

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Karbantartási anomáliák
Amikor az információt redundánsan tároljuk, az tárhelyet pazarol,
karbantartási anomáliákat okoz, amelyek lehetnek:
e beszúrási anomáliák,
e törlési anomáliák és
e módosítási anomáliák.

2. (nem hivatalos) irányelv


Olyan sémát tervezzünk, amelyben nem jelennek meg beszúrási,
törlési és módosítási anomáliák.
Ha mégis előfordulnak anomáliák, akkor jegyezzük fel azokat, hogy az
alkalmazások számításba vehessék őket. (Irányított redundancia)

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Módosítási anomália

e Módosítási anomáliáról beszélhetünk, amikor egy


információegység módosításához több helyen is
módosítani kell az adatbázisban.
e Ez nem csak többletmunkát jelent, de megnöveli az
inkonzisztens állapot valószínűségét is, ha valahol
elmaradna a módosítás.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Példa módosítási anomáliára

Tekintsük az alábbi relációt:


DOLG PROJ(Dszsz, Pszám, Dnév, Pnév, Órák)

Példa:
Ha megváltoztatjuk a Pi számú projekt nevét , Számlázás -ról
például , Ugyfél-számlakezelés"-re, akkor ezt a módosítást az
összes olyan dolgozó esetén végre kell hajtanunk, aki a P1
projekten dolgozik.
(könnyen kivédehető: egyetlen egy módosító utasítás kiadása)
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
Beszúrási anomália

e Beszuúrási anomáliáról beszélhetünk, ha egy rekord


felvételekor felesleges, már letárolt információkat is újra
fel kell venni, vagy épp nem tudunk felvenni új rekordot.

e Kétféle probléma is felléphet, így két típusa van

Tekintsük az alábbi relációt:


DOLG PROJ(Dszsz, Pszám, Dnév, Pnév, Órák)

Adatbázisrendszerek és alkalmazásaik Normalizálás, normálformák


Példa beszúrási anomáliára

Példa:
Nem tudunk új projektet beszúrni, ha nincs hozzárendelve egyetlen
dolgozó sem.

e Egyetlen mód: ha NULL értékeket írunk a dolgozó


attribútumaihoz — Problémát okoz, mert:
o Az Szsz a DOLG PROJ elsődleges kulcsának része, és
minden rekordnak egy dolgozó egyedet kellene reprezentálnia.
o Ráadásul amikor az első dolgozót hozzárendeljük ehhez a
projekthez, onnantól kezdve nincs szükségünk erre a NULL
értékeket tartalmazó rekordra.
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
Példa beszúrási anomáliára

Példa - fordítva:
Nem tudunk új dolgozót beszúrni, ha nincs hozzárendelve egyetlen
projekthez sem.

e Uj dolgozó rekord DOLG PROJ-ba való beszúrásához:


o Annak a projektnek az attribútumértékeit kell megadni,
amin ez a dolgozó dolgozik, vagy pedig NULL értékeket
(ha a dolgozó még semelyik projekten sem dolgozik).

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Törlési anomália

e A törlési anomália azt jelenti, hogy egy információelem


megszűnésekor más, hozza nem tartozó információk is
elvesznek.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Példa törlési anomáliára

Tekintsük az alábbi relációt:


DOLG PROJ(Dszsz, Pszám, Dnév, Pnév, Órák)

Példa:
Ha törlünk egy projektet, akkor az összes olyan dolgozó is
törlődik, aki az adott projekten dolgozik.

Példa - a másik oldalról:


Ha egy dolgozó egyedüliként dolgozik egy projekten, akkor a
dolgozó törlése a szóban forgó projekt törlését is maga után vonja.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Tervezési irányelvek -
NULL értékek

Normalizálás, normálformák
Tervezési irányelvek
e Arelációsémák két szintje:
o logikai , felhasználói nézet" szint,
o tárolási (fizikai) ,alapreláció" szint.
e A tervezés elsősorban az alaprelációkkal foglalkozik
e A pjó relációs tervezés 4 db nem hivatalos irányelve
e A dfunkcionális függések és a normálformák formális definíciói
1NF (első normálforma)
OLD

2NF (második normálforma)


3 NF (harmadik normálforma)
OOO

BCNF (Boyce—-Codd-féle normálforma)


További normálformák

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


NULL értékek a rekordokban

e Ha sok attribútum van, amely nem értelmezhető a


reláció minden rekordjában — rengeteg NULL érték
o helypazarlás (tárolási szinten)
o problémákhoz vezethet összekapcsolásnál
o a csoportosító műveletek speciális kezelése

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


NULL értékek a rekordokban

A NULL értékek okai:


e Az attribútum nem értelmezhető vagy érvénytelen.
o Pl: leánykori név
e Az attribútumérték ismeretlen (de létezhet).
o Pl: telefonszám
e Az érték biztosan létezik, de nem elérhető.

o Pl: születési dátum

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


NULL értékek a rekordokban

3. (nem hivatalos) irányelv


A relációkat úgy kell megtervezni, hogy a rekordjaik a
lehető legkevesebb NULL értéket tartalmazzák.
Azok az attribútumok, amelyek gyakran vesznek fel NULL
értéket, külön relációkba tehetők (az elsődleges kulccsal).

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


NULL értékek a rekordokban

e Tárhely hatékony kihasználása € összekapcsolások


elkerülése
o meghatározzák, hogy bevegyük-e a NULL értékeket
tartalmazó oszlopokat a relációba, vagy külön relációt
hozzunk létre ezen oszlopok számára
e Például: csak a dolgozók 1590-ának van külön irodája:
o Bevegyünk egy Szobaszám attribútumot a DOLGOZÓ
relációba?
o Inkább egy DOLG SZOBÁK(Dszsz, Szobaszám) relációt
hozzunk létre e kevés dolgozónak?
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
NULL értékek a rekordokban

e Összekapcsolás NULL értékeket tartalmazó oszloppal:


oO alapja a Descartes szorzás a relációs modellben
oO ez értékkekel dolgozik - a NULL nem érték!
oO az eredmény kevesebb lehet, mint várjuk
oO csak azon párok szerepelnek, ahol mindkét oldalon valós
érték szerepel
létezik speciális változat ennek feloldására:
oO

külső összekapcsolás — részletesen a relációalgebra


öszzekapcsolását bemutató leckében

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Tervezési irányelvek -
álrekordok

Normalizálás, normálformák
Tervezési irányelvek
e A relációsémák két szintje:
o logikai ,felhasználói nézet" szint,
o tárolási (fizikai) ,alapreláció" szint.
e A tervezés elsősorban az alaprelációkkal foglalkozik
e A pjó relációs tervezés 4 db nem hivatalos irányelve
e A funkcionális függések és a normálformák formális definíciói
1NF (első normálforma)
OG O0GEO

2 NF (második normálforma)
99

3 NF (harmadik normálforma)
BCNF (Boyce—-Codd-féle normálforma)
További normálformák

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Álrekordok generálása
DOLG PROJ DOLG HELYSZÍNEK -PROJI

—PszámI JTórák4 ! Dnév! ! Pnév ]Phelyszin ár etjeetsi SRL Üaám [884 [ fv [ admátn
FD1 1 650400 0812 1
Kovács László Tiszafüred — L66000005812 2 7.4 (Y termék " Tiszafáred
FD2/ Horváth Erzdbet Budapost (2 GXMAGJIM 3! 400 ÍZ termék Budapcst
FD3 j TáthJáms Vác) JR TI0931
2985 1) MO (X.termék Vas !
Túth Jánas " Tiszafüred 1 720731 29862 200
"Y termék Tszafárod
Szabó Mária Tiszafüred 251706 2210 2 0 (OHIO (Y termék Tiszafired
Dolg PROJ felbontása: Nznbó Mári Budaposz (ESMMKZNO 3 0! 0 Z termék - Budapost
Szabó Márin — Kvczkeemét —— ZO01708 2219 10" 100" Koznputerizáció
. Koczienyét
, Kiss ketván "Kocirmét 255108 ZNI 20 100 " Roorgazázáció — Budapost !
e . DOLG HELYSZINEK Facckas Donna Köcekemét 1 GKONIO
GT 30" 300 Új fejkesztósek Köcskemedt!
, , Tükáes Jázzel — Körelkrenét 1 GOND GIN 10) 100! Köznpüterizáeió Körelemeét
(Dnév, Phelyszín) Tükács közzel Budapest 2 G00XI0 1000 10 38.60 Komputerisádó . Korkemét /
Nagy Zoltán Budapest 2 690370 1090 30! 5.0 Új fejlosztisek — Köcsiemüt
(1 410620 4902 30! TOO (ÚJ fejlosztósek . Kocskemét/
e DOLG PROJ1 (1 410620 4602 20! 1.0 Rtovzgasázáció Budapest !
3TINIO 439 20 NULL Roorgazázáció Budapest
(Szsz, Pszám, Órák, Pnév, Phelyszín)

Adatbázisrendszerek és alkalmazásaik aa Normalizálás, normálformák


Álrekordok generálása
e A DOLG PROJ helyett a DOLG PROJ1-et és a
DOLG HELYSZÍNEK-et használjuk alaprelációkként —
különösen rossz sématerv
o A DOLG PROJ1-ből és a DOLG HELYSZÍNEK-ből nem
tudjuk visszanyerni azokat az információkat, amelyek
eredetileg a DOLG PROJ-ban voltak
o DOLG PROJ1 és DOLG HELYSZÍNEK természetes
összekapcsolása: az eredmény sokkal több rekordot fog
tartalmazni, mint amennyi eredetileg a DOLG PROJ-ban volt

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Álrekordok generálása
bora.tem nos Vnten [Övék mmm mást
Date] Patr [ Fiatot
(0(1 G3ANODSmma 0812 ]Pstána]
1
Örák] Paáy Tinta [Da]
326 Xtermák 7 Vác Kováns László
VKONGYOBIZ 9) 305 ( Kentn láneló (Xvermek Ve "[1 650100 así2 1 326 X termék Vác ÍTÓth János
1 601 ús 12 1 TB 0 Karán László V termel Tedafarra Tt § Hi !
TEZMNSALM OZ! 400 Hagváth Erszdtet
Z terek Hadupne [4 OSON0DOSIZ] 2) 78 ]Y tennék LEE ee e tt
ia i 96 PA ká ÍX samák vaz [1 650109 0512 2 78 V termék Tiszafüred Tóth János
ÜTAOTJAZBSS 7 BAD Táek lása WV smmk Tiseafüree 211 G5OIODOSIZI 2 7.5." V termék Tiszafáred Szabó Mása)
1 MANSZNO TO 100 Szabó Mária — V memék . Tezaftord (2 ezis s131 3 400 Z termék . Badapost Horváth Erzsébet
9 SELANS ATS 9 E VAS [docAuthtán dő azt [ől 12 GANG SIM] 3 AN0 (Z termék Hadapcst Szabó Mária 0 /
1 ama na 10 MO Sénleb Mária Beta
fate 4 lada ta Ren ele tel 1 4 x 4 4
Í ML MÉZTI9 90 100 SzabólMáris —Rrorgantoáció — Budape s] (E TZOTBAZOSB 1 MMOÍX termék Vá Kovács László)
LESONIHOZAN AN ING Köelbtvám ÚJ ejkosztémek Koralrmmét [4 720734 2966) 1 200 (X termék —— Vár Tóth János
1 ESÜLLHATE 10" 100"
Kiza letván Mutazartet detó Kevale tését sÍr 7agzan 3885] 2 200 "V termék Tiszafáred (Kovács László
1 ? TA i t 4 í
károd 52 ha rtésezezzáeeszt zá 1 720731 2956 21 200 Y termék Tiszafüred Tóth János 3
1 eszöá östű 4 Tikó size jáezi tj ájászzászó Meet (1 TXVTSI 2956( 2 IMO (Y termék Tiszafüred (Szabó Mária!
1 akadó tú? B 140
Tudás Másef " inngazázáctó - Budapcé 72 551208 2219 2 0 "V ternek Tiszafűred Kewiscs [ászló ;
VATINO ASIN B NULL Nagy Zoltán Roorgazázáció — Badapoz e/TMIMAZNY] 2 10 V termék Tiszafüred Töth János !
(2 5IMSZNI9] 2 100 ÍV termék Tinafáred (Szabó Mária!
e . ADOLG PROJ1 és DOLG HELYSZÍNEK 92 55ITSZZI9/ 3 IMO (Z termék Badapost Horváth Erzsébet /
L az z [2 551208 2219 $ 10 Z termék [adna Szabó Mária !
természetes összekapcsolása — 0 / eentnnámműátázáátáátáááz
áztam est Eeen j
u (2 sazm 9 10 10 ( Komputertráció Kecskemét Szabó Mária ;
e. A DOLG PROJ-ban nem szereplő rekordok: ÍZ SIMAZNS 90 0 (Revegymázáeió
! odapent Horváth Erssébet
álrekordok (") [2 ss 2119) 20 100 Reoegamízácsó Budapest Szabó Mária

Adatbázisrendszerek és alkalmazásaik s. Normalizálás, normálformák


Álrekordok generálása
e A DOLG PROJ felbontása a DOLG HELYSZÍNEK-re és
a DOLG RPOJ1t-re nem célszerű:
o Természetes összekapcsolással nem kapjuk vissza az
eredeti helyes információkat.
o Mivel ebben az esetben a Phelyszín az az attribútum,
amely összekapcsolja a DOLG HELYSZÍNEK-et és
DOLG PROJT-et, és a Phelyszín nem elsődleges
kulcs és nem is külső kulcs sem a
DOLG HELYSZÍNEK-ben, sem a DOLG PROJ1-ben.
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
informális megfogalmazás

e Ugy kell megtervezni a relációsémákat, hogy oly módon


lehessen őket összekapcsolni (elsődleges kulcs, kulsóő kulcs)
attribútumpárok egyenlősége alapján, amely garantálja,
hogy nem keletkeznek álrekordok.
e Kerüljük azokat a relációkat, amelyek olyan, azonos szerepű
attribútumokat tartalmaznak, amik nem (külső kulcs,
elsődleges kulcs) kombinációk, mert az ilyen attribútumok
alapján történő összekapcsolás álrekordokat
eredményezhet.
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
Álrekordok
e A relációs adatbázisok rossz tervezése bizonyos összekapcsolási
műveletek esetén hibás eredményhez vezethet.
e A, veszteségmentes összekapcsolás" tulajdonsággal garantáljuk,
hogy az összekapcsolási műveletek értelmes eredményt adnak.

4. (nem hivatalos) irányelv


e Arelációkat úgy kell megtervezni, hogy kielégítsék a
veszteségmentes összekapcsolás feltételét.
e Egy tetszőleges, relációkon végrehajtott természetes
összekapcsolás nem állíthat elő álrekordokat.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Álrekordok
A dekompozíciók két fontos tulajdonsággal rendelkeznek:
a. A megfelelő összekapcsolás nemadditív vagy
veszteségmentes.
b. Megőrzik a funkcionális függéseket.

Jegyezzük meg, hogy


e az (a) tulajdonság különösen fontos, és nem áldozható
fel,
e a (b) tulajdonság kevésbé szigorú és feláldozható.
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
A normalizálás
folyamata
Normalizálás, normálformák
Tervezési irányelvek
e Arelációsémák két szintje:
o logikai ,felhasználói nézet" szint,
o tárolási (fizikai) ,alapreláció" szint.
e A tervezés elsősorban az alaprelációkkal foglalkozik
e A jó relációs tervezés 4 db nem hivatalos irányelve
e A funkcionális függések és a normálformák formális definíciói
1NF (első normálforma)
000

2 NF (második normálforma)
3 NF (harmadik normálforma)
BCNF (Boyce—-Codd-féle normálforma)
oO9O

További normálformák
906

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Visszatekintés

e Eddig informális irányelveket javasoltunk a jó relációs


tervezéshez.
e A bemutatott problémák az alábbiak:
o Beszúrási, módosítási és törlési anomáliák
o Tárpazarlás, valamint a szelekciós, a csoportosítási és
az összekapcsolási műveletek elvégzésének a
nehézsége a NULL értékeknek köszönhetően
o Érvénytelen és hamis adatok előállítása nem
megfelelően kapcsolódó alaprelációk összekapcsolása
során
Adatbázisrendszerek és alkalmazásaik
Relációséma tervezés

e Feltételezzük, hogy minden relációhoz adott funkcionális


függések egy halmaza, és hogy minden relációnak van egy
kijelölt elsődleges kulcsa
e Relációséma-tervezési megközelítések:
a. Hajtsunk végre koncepcionális sématervezést egy koncepcionális modell
(például ER vagy EER) segítségével, majd képezzük le a koncepcionális
tervet relációsémák halmazára.
b. Tervezzük meg a relációkat olyan külső ismeretek alapján, melyeket már
létező állományokból (iratokból), űrlapokból vagy jelentésekből
származtatunk.

Adatbázisrendszerek és alkalmazásaik
Relációséma tervezés

e Bármelyik megközelítést is választjuk, célszerű a


relációkat kiértékelni jóság szempontjából, és szükség
szerint tovább bontani őket a magasabb normálformák
elérése érdekében

Adatbázisrendszerek és alkalmazásaik
Relációséma tervezés

e A normalizációs folyamat (Codd 1972):


o Végigvisz egy relációsémát tesztek egy sorozatán annak
ellenőrzésére, hogy kielégít-e egy bizonyos
normálformát.
o Ezt a folyamatot, amely felülről lefelé haladva minden
relációt kiértékel a normálformákra vonatkozó kritériumok
szerint, és ha szükséges, fölbontja őket, analízis alapú
relációs tervezésnek tekinthetjük.

Adatbázisrendszerek és alkalmazásaik
Relációsémák normalizációja
FF m

A normalizáció az a folyamat, amelynek során szétbontjuk


a nem kielégítő, ,rossz" relációsémákat úgy, hogy az
attribútumaikat több kisebb relációsémába helyezzük át.

A normálforma a relációsémák kulcsai és a bennük


fennálló funkcionális függések segítségével
megfogalmazott feltétel, amellyel megállapítható, hogy a
relációséma egy adott normálformában van-e.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Relációsémák normálformái

e 2NF, 3NF, BCNF


a relációsémák kulcsai és a bennük fennálló
funkcionális függések alapján
e 4NF
kulcsok és többértékű függések alapján
e 5NF
kulcsok és join függések alapján
e További tulajdonságok lehetnek szükségesek a jó
relációs tervezés biztosításához (veszteségmentes
összekapcsolás, függésmegőrzés)
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
Normálformák
használata, kulcsok

Normalizálás, normálformák
Normalizálás folyamata
e Az adatok normalizálása egy olyan folyamatnak tekinthető,
amely elemzi az adott relációsémákat a funkcionális
függéseik és elsődleges kulcsaik alapján:
o minimalizálja a redundanciát ,
o minimalizálja a beszúrási, törlési és módosítási anomáliákat.
e A nem megfelelő relációsémákat, amelyek nem felelnek
meg a normálformateszteknek, felbontjuk kisebb
relációsémákra:
o ezek megfelelnek a teszteknek,
o rendelkeznek az elvárt tulajdonságokkal.
Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák
Normalizációs eljárás, normálforma
F mu

e A normalizációs eljárás tehát az adatbázistervezők


számára a következőket biztosítja:
o egy formális keretrendszert a relációsémák elemzéséhez,
amely a relációsémák kulcsain és az attribútumaik között
fennálló funkcionális függéseken alapszik,
o normálformatesztek egy sorozatát, amelyek egy-egy
relációsémán hajthatók végre.
Egy reláció normálformája a legmagasabb olyan normálforma,
amely feltételének a reláció megfelel, és így jelzi a reláció
normalizáltságának a fokát.
Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák
Normalizálás további tulajdonságai
e A normálformák önmagukban, más tényezőktől
elkülönítve, nem garantálnak jó adatbázistervet.
e Általában nem elegendő külön ellenőrizni, hogy az
egyes relációsémák az adatbázisban pl. BCNF-ben
vagy 3NF-ben vannak-e.
e Dekompozíción alapuló normalizálási folyamat további
tulajdonságainak biztosítása (a relációsémák
együttesére kell, hogy teljesüljenek):
o veszteségmentes join,
o függésmegőrző tulajdonság.
Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák
Normalizálás további tulajdonságai
e Veszteségmentes join (vagy nemadditív join) tulajdonság:
o garantálja, hogy az álrekordgenerálási probléma nem lép
fel a felbontás során keletkező relációsémák tekintetében.
e Függésmegőrző tulajdonság
o biztosítja, hogy minden funkcionális függés megmarad a
felbontást követően kapott valamelyik relációban.
A nemadditív join tulajdonság különösen fontos és bármi
áron biztosítani kell, míg a függésmegőrző tulajdonságot, bár
kivánatos, néha feláldozzuk.
Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák
Normálformák a gyakorlatban

e A nnormalizációt úgy hajtják végre a gyakorlatban, hogy


a kapott tervek magas színvonalúak legyenek, és
rendelkezzenek az elvárt tulajdonságokkal.

e A normálformák gyakorlati alkalmazhatósága


megkérdőjelezhetővé válik, ha az alapjukat képező
megszorítások nehezen értelmezhetők vagy nehezen
ismerhetők fel.

Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák


Normálformák a gyakorlatban
e Az adatbázis-tervezőknek nem szükséges a lehető
legmagasabb normálformáig normalizálniuk (általában
csak 3NF-ig, BCNF-ig vagy 4NFH-ig).
e A relációkat alacsonyabb normalizációs szinten is
hagyhatjuk (például 2NF-ben) a teljesítmény növelése
érdekében.
Denormalizáció: a magasabb normálformájú relációk
összekapcsolását letároljuk alap relációként — alacsonyabb
normálformában.
Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák
Normálformák a gyakorlatban
e A tervezési irányelveket néha muszáj megsértenünk,
hogy növeljük bizonyos lekérdezések hatékonyságát.
e Denormalizáció: hatékonyság növelése
e Tanácsos anomáliamentes alaprelációkat használni, és
nézeteket megadni a fontos lekérdezésekben gyakran
hivatkozott attribútumok összekapcsolására.
e Ezzel csökkenthetjük a lekérdezésekben szereplő
összekapcsolási műveletek számát, egyszerűbbé téve
ezzel a lekérdezés helyes felírását, ráadásul sok
esetben ez a hatékonyságot is növeli.
Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák
Szuperkulcs, kulcs fogalma

EgyR — (A,A, ... , A) relációséma szuperkulcsa


minden olyan $ C R attribútumhalmaz, amelyre igaz, hogy
bármely R feletti legális r relációban nincs két olyan t. és
t. rekord, amelyekret [S] — t-[S] teljesül.

A K kulcs egy olyan szuperkulcs, amelyből bármely


attribútum eltávolítása azt eredményezi, hogy K már nem
lesz szuperkulcs többé.

Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák


Kulcsjelölt, elsődleges kulcs

Ha egy relációsémának egynél több kulcsa van, akkor


ezeket kulcsjelölteknek nevezzük.
A kulcsjelöltek közül egy tetszőlegesen kiválasztott lesz az
elsődleges kulcs, a többit másodlagos kulcsoknak
nevezzük. Minden relációsémának kell, hogy legyen
elsődleges kulcsa.

Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák


Elsődleges, másodlagos attribútum

Az R relációséma egy attribútumát R egy elsődleges


attribútumának nevezzük, ha eleme R valamely
kulcsjelöltjének.
Egy attribútumot másodlagos (leíró) attribútumnak hívunk,
ha nem elsődleges attribútum, azaz nem eleme egyetlen
kulcsjelöltnek sem.

Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák


Elsődleges, másodlagos attribútum

DOLGOZÓ(Dnév, Szsz, Szdátum, Lakcím, Oszám)


PROJEKT(Pnév, Pszám, Phelyszín, Osz)
DOLGOZIK RAJTA(Szsz, Pszám, Órák)

e Az Szsz is és a Pszám is elsődleges attribútumai a


DOLGOZIK RAJTA relációsémának, míg a
DOLGOZIK RAJTA többi attribútuma leíró attribútum.

Adatbázisrendszerek és alkalmazásaik .2 Normalizálás, normálformák


Az első
normálforma
Normalizálás, normálformák
Adatbázisrendszerek és alkalmazásaik
Első normálforma definíciója

e A reláció definíciójának részét képezi.


o A relációs modell az integritási megszorításaival
kikényszeríti az első normálformát.
e Tiltja:
o az összetett attribútumokat,
o a többértékű attribútumokat,
o a beágyazott relációkat (az olyan attribútumokat,
amelyek értékei a különálló rekordokban nem atomiak).

Adatbázisrendszerek és alkalmazásaik s Normalizálás, normálformák


Reláció, mely nincs 1NF-ben

OSZTÁLY

OSZTÁLY

Kutatás 2 551208 2219 ] ( Vác, Tiszafüred, Budapest)


Humán erőforrás 4 2 690329 1099 ! ( Kecskemét)
Központ 1 1 371110 4518 1 ( Budapest)

Adatbázisrendszerek és alkalmazásaik s. Normalizálás, normálformák


Reláció, mely nincs 1NF-ben

Kétféleképpen tekinthetünk az Ohelyszínek attribútumra:


1. Az Ohelyszínek tartománya atomi értékekből áll ugyan, de
egyes rekordok ezen értékek halmazát tartalmazhatják.
Ebben az esetben az Ohelyszínek nem függ
funkcionálisan az Oszám elsődleges kulcstól.
2. Az Ohelyszínek tartománya értékhalmazokból áll, ezért
nem atomi. Ebben az esetben fennáll az Oszám-tól
Ohelyszínek függés, mert minden ilyen értékhalmaz az
attribútum tartományának egyetlen elemeként tekinthető.
Adatbázisrendszerek és alkalmazásaik s Normalizálás, normálformák
Technikák az 1NF elérésére - 1.

Első módszer:
e Távolítsuk el az első normálformát sértő Ohelyszínek
attribútumot, és helyezzük el egy külön
OSZT HELYSZÍNEK relációban az OSZTÁLY Oszám
elsődleges kulcsával együtt:
o az új reláció elsődleges kulcsa az (Oszám, Ohelyszín?
páros lesz,
o az OSZT HELYSZÍNEK relációban az egyes osztályok
minden helyszínéhez külön rekord tartozik.

Adatbázisrendszerek és alkalmazásaik s Normalizálás, normálformák


Technikák az 1NF elérésére - 1.
Az OSZTALY reláció 1NF--re normalizálva darabolással:
Onév Oszám] Ovez szsz Ohelyszínek
Kutatás 5 2 551208 2219 1 ( Vác, Tiszafüred, Budapest)
Humán erőforrás 4 2 690329 1099 1 ( Kecskemét)
Központ 1 1 371110 4518 1 ( Budapest)
OSZTÁLY OSZT HELYSZÍN
Oszám ] Ohelyszín
Onév Oszám] Ovez szsz 5 Vác
Kutatás 5 2 551208 2219 5 Tiszafüred

Humán erőforrás! — 4 — ]2 690329 1099 EG (RERESESSRTRREERE


4 Kecskemét
Központ 1 1 371110 4518
1 Budapest

Adatbázisrendszerek és alkalmazásaik
Technikák az 1NF elérésére - 2.

A második módszer:
e Bővítsük ki a kulcsot az eredeti OSZTÁLY relációban
úgy, hogy külön rekord tartozzon az osztályok minden
egyes helyszínéhez, ahogy a következő ábrán látható:
o az elsődleges kulcs az (Oszám, Ohelyszín? páros lesz.
e Hátrány: redundanciát vezet be a relációba.

Adatbázisrendszerek és alkalmazásaik s Normalizálás, normálformák


Technikák az 1NF elérésére - 2.
Az OSZTALY reláció 1NF-re normalizálva, redundanciával:
Onév Oszám] Ovez szsz Ohelyszínek
Kutatás 5 2 551208 2219 1 ( Vác, Tiszafüred, Budapest)
Humán erőforrás 4 2 690329 1099 1 ( Kecskemét)
Központ 1 1 371110 4518 1( Budapest)

Onév Oszám ] Ovez szsz ]) Ohelyszín


Kutatás 2 551208 2219 Vác

ke [da] Ca Í en
Kutatás 2 551208 2219 ) Tiszafüred
Kutatás 2 551208 2219 ] Budapest

Ca
Humán erőforrás 2 690329 1099 ! Kecskemét

Központ 1 371110 4518 ! Budapest

Adatbázisrendszerek és alkalmazásaik s. Normalizálás, normálformák


Technikák az 1NF elérésére - 3.

A harmadik módszer:
e Ha tudjuk, hogy az attribútum egy maximális számú
értéket vehet fel - például legfeljebb három helyszín
tartozhat egy osztályhoz -, akkor helyettesítsük az
Ohelysziínek attribútumot három atomi attribútummal:
Ohelyszín1, Ohelyszín2 és Ohelyszín3
e Hátrányok:
o NULL értékeket vezet be, ha a legtöbb osztálynak
háromnál kevesebb helyszíne van,
o nehezebbé válik a lekérdezés is ezen attribútum alapján.
Adatbázisrendszerek és alkalmazásaik s Normalizálás, normálformák
Technikák az 1NF elérésére - 3.
Az OSZTALY reláció 1NF-re normalizálva több oszloppal:
Onév Oszám]! Ovez szsz Ohelyszínek
Kutatás 5 2 551208 2219 ( Vác, Tiszafüred, Budapest)
Humán erőforrás 4 2 690329 1099 ( Kecskemét)
Központ 1 1 371110 4518 1 ( Budapest)

OSZTÁLY

Onév —— [ Oszám [ Ovez szsz ] Ohelyszíni — [ Ohelyszín? ] Ohelyszín3


Kutatás 5 2 551208 2219] Vác Tiszafüred Budapest
Humán erőforrás 4 2 690329 1099] Kecskemét null null
Központ l 1 371110 4518] Budapest null null

Adatbázisrendszerek és alkalmazásaik s. Normalizálás, normálformák


Beágyazott relác iók
(aj

e Az 1NF tiltja a beágyazott relációkat DOLG PROJ Pmjektek

Szá Dnév Pszám " Órák


e Beágyazott relációk: olyan többértékű
attribútumok, amelyek maguk is (b)
DOLG PHROJ
összetettek. Sas Dnev Pszám " Órák

A DOLG PROJ reláció sémájába L 650109 0812" Kovács László 1 al.

beágyazva található a PROJEKTEK 2 620915 3134 " Horváth Erzsébet 4 11.(1

reláció.(Pszám részleges kulcs.) 1 720731 2085 " Táth János 1 A.

e 1NF normalizálás:
(€)

Vegyük ki azt az attribútumot, amely DOLG PROJI1

beágyazott relációként szerepel, készítsünk


Sze DHraí-v

DOLG PROJ2
új relációt belőle, és vegyük hozzá az Szuz Pszűri . Örúk

eredeti reláció elsődleges kulcsát


Adatbázisrendszerek és alkalmazásaik a Normalizálás, normálformák
A második
normálforma
Normalizálás, normálformák
2NF-hez kötődő fogalmak

Egy X — Y funkcionális függés teljes funkcionális függés, ha X-


ből bármely A attribútumot eltávolítva a függés a továbbiakban
már nem áll fenn, azaz bármely A € X attribútum esetén
(X - (A)) már nem határozza meg funkcionálisan Y-t.

Egy X — Y funkcionális függés részleges függés, ha valamely


A € X attribútum eltávolítható X-ből úgy, hogy a függés továbbra
is fennáll, azaz valamely A € X esetén (X - (Ah) GY

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


2NF-hez kötődő fogalmak
DOLG PROJ
( Szsz ] Pszám Tórák ! Dnév ] Pnév ]Phelyszín
FD1 4 A a a
FD2
FD3

( Szsz, Pszám ) — Órák: teljes függés


( Szsz, Pszám ) — Dnév: részleges függés

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


Második normálforma definíciója

Egy R relációséma második normálformában (2 NF) van, ha R


minden másodlagos (leíró) attribútuma teljesen funkcionálisan
függ R elsődleges kulcsától.

Általános definíció:
Egy R relációséma második normálformában (2NF-ben) van, ha
R-nek nincs olyan másodlagos (leíró) attribútuma, amely
részlegesen függne R bármely kulcsától.

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


Második normálforma tesztelése

e A második normálforma tesztelése az olyan funkcionális


függések tesztelését jelenti, amelyeknek a bal oldali
attribútumai az elsődleges kulcs részei.
e Ha az elsődleges kulcs egyetlen attribútumot tartalmaz,
akkor a tesztet egyáltalán nem kell alkalmazni.

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


2NF normalizálás

e A DOLG PROJ reláció első normálformában van, de nincs


második normálformában.
e A Dnév másodlagos attribútum sérti a második normálformában az
FD2 funkcionális függés miatt, mint ahogy a Pnév és a Phelyszín
másodlagos attribútumok is az FD3 miatt.
e Az FD2 és FD3 funkcionális függések a Dnév, Pnév és Phelyszín
attribútumokat részlegesen függővé
teszik a DOLG PROJ (Szsz, PSZÁM) — gegműrmmtnmmtKKEKKHHN
elsődleges kulcsától, megsértve ezzel
a második normálforma tesztet .
Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák
2NF normalizálás

e Ha egy relációséma nincs második normálformában, akkor


második normálformára hozhatjuk, azaz felbonthatjuk több,
második normálformában lévő relációsémára:
o ezekben a másodlagos attribútumok az eredeti elsődleges
kulcsnak csak azon részével szerepelnek együtt, amelyektől
teljesen funkcionálisan függnek.
e Az új (DP1, DP2, DP3) relációsémák mindegyike második
normálformában van.
DP1 DP2 DP3

MLSZ Pszám Órák SIESS Dnév Pszám Pnőv Pholyszin


4 4 4 4
FDI Pr? FDI

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


2NF általános definíció
F un

Egy R relációséma második normálformában van, ha


egyetlen R-beli másodlagos (azaz leíró) A attribútum sem
függ részlegesen R egyetlen kulcsától sem.

e A 2NF ellenőrzése magában foglalja mindazoknak a


funkcionális függéseknek az ellenőrzését, amelyeknek
a bal oldali attribútumai az elsődleges kulcs részei
e Ha az elsődleges kulcs egyetlen attribútumot tartalmaz,
akkor az ellenőrzést egyáltalán nem kell elvégezni
Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák
2NF normalizálás

PARCELLÁK / EAT e Funkcionális függések:


MENNYRN 7 a E 7. FD1, FD2, FD3, FD4
NN j AKA e Két kulcsjelölt:
FO3 I ; o Ingatlan IDH
FD4 Ti o (Megye, Parcellattb

e A cwkulcsjelölteket figyelembe véve tudjuk, hogy az FD1 és


FD2 funkcionális függések fennállnak
e Az Ingatlan ID$-t választjuk elsődleges kulcsnak

Adatbázisrendszerek és alkalmazásaik Normalizálás, normálformák


2NF normalizálás

e Tegyük fel, hogy a következő két további funkcionális


függés is fennáll a PARCELLÁK sémában:
o FD3: Megye 6 Adó
o FDA: Terület 5 Ár
e Más szóval:
o FD3 függés: az adó mértéke rögzített egy adott
megyében
o FDA függés: egy parcella árát meghatározza a terület
nagysága, függetlenül attól, hogy melyik megyében is
található.
Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák
2NF normalizálás

e A PARCELLÁK relációséma megsérti a 2NF általános


definícióját, mert az Adó részlegesen függ a (Megye,
Parcellat, kulcsjelölttől, az FD3 miatt.
e A PARCELLÁK 2NF-re történő normalizálásához
felbontjuk a sémát két relációra:
PARCELLÁK1
Megye Parcellai Területi Ár PARCELLÁK2
ingatlan IDő
ED , , A 4 Megye Adó
Fo2 d j j 4 ! FD3 Í
FD4 4

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


2NF normalizálás

e A 2NF-et megsértő Adó attribútumnak a PARCELLÁK-ból


történő eltávolításával létrehozzuk a PARCELLAK1-et
e Az Adót pedig a Megyével (a részleges függést okozó
FD3 bal oldalával) együtt a másik, PARCELLAK2
relációba tesszük.
e Ezzel mind a PARCELLÁK1, mind a PARCELLÁK2 2NF-
ben lesz.
e Az FD4 nem sértette meg a 2NF-et, és továbbra is
érvényes maradt a PARCELLÁK1-ben.
Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák
A harmadik
normálforma
Normalizálás, normálformák
Tranzitív függés fogalma

Egy R relációséma X — Y funkcionális függése tranzitív


függés, ha létezik egy olyan Z attribútumhalmaz, amely
nem kulcsjelölt és nem része R egyetlen kulcsának sem,
és fennál X—ÖZésZ o Y.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Tranzitív függés
(b)
DOLG OSZT
Dnév Szaz Szalá tu Lakcím Oszám ÖOnév Övez szaz
á a a a 4 4

A Szsz - Ovez szsz tranzitív függés az Oszámon


keresztül, mivel fennállnak a következő függések:
e Szsz — Oszám
e Oszám — Ovez szsz

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


Harmadik normálforma definíciója

Egy R relációséma harmadik normálformában (3NHF-ben) van,


ha 2NF-ben van, és nincs R-nek olyan másodlagos (leíró)
attribútuma, amely tranzitívan függne az elsődleges kulcstól.

Általános definíció:
Egy R relációséma harmadik normálformában (3NHF-ben) van,
ha valahányszor egy X — A nemtriviális funkcionális függés
fennáll R-en, akkor:
(a) X egy szuperkulcsa R-nek, vagy
(b) A egy elsődleges attribútuma R-nek
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
3NF normalizálás

e ADOLG OSZI relációséma második normálformában


van, mivel nincsen benne kulcstól való részleges függés
e Nincs azonban harmadik normálformában, mert az
Ovez szsz (és az Onév is) tranzitívan függ az Szsz-től
az Oszámon keresztül
(b)
DOLG OSZT
Dnív Szaz Szrkáturm Lakcím ! Oszárm ! Onév Övez szaz

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


3NF normalizálás

Normalizálás:
e ADOLG OSZI relációsémát felbontjuk két, harmadik
normálformában lévő relációsémára (DO1 és DO2)
e A DO1-en és DO2-n végrehajtott természetes
összekapcsolás álrekordok előállítása nélkül visszaadja
az eredeti DOLG OSZT relációt
DO1 D02

Dnív Szet Szeláturm Lakcím ! Oszám Oszám Önév Övez szsi


d 4 4 4 a 4

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


3NF normalizálás
PARCELLÁK1 PARCELLÁK2
Ingatlan ID ] Megye Parcella (Területi Ár Megye Adó

For ! b 1! ] Fo ]
02 ( LL 1! 1
FD4 A

e A PARCELLÁK2 3NF-ben van.


e Ugyanakkor az FD4 a PARCELLÁK1-ben megsérti a 3NF-
et, mert a Terület nem szuperkulcs, és az Ár sem
elsődleges attribútum a PARCELLÁK1-ben.
Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák
3NF normalizálás

e PARCELLÁK1 3NF-re hozása:


o A 3NF-et megsértő Ár attribútumnak a PARCELLÁK1-ből
történő eltávolításával létrehozzuk a PARCELLÁK1A-t
o Az Árat pedig a Területtel (a tranzitív függést okozó FD4 bal
oldalával) együtt a másik, PARCELLÁKLHB relációba tesszük.
e PARCELLÁK1A, és PARCELLÁKTHB is 3NF-ben lesz.
PARCELLÁK1A PARCELLÁK1B
Ingatlan IDí Megye Parcellai Terület Terület Ár

FD1 I : 4 A Foa] !
FD2 4 J 4

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


3NF normalizálás

1. A PARCELLÁK1 megsérti a 3NF-et, mert az Ár


tranzitívan függ a PARCELLÁK1 kulcsjelöltjeinek
mindegyikétől a másodlagos Terület attribútumon
keresztül.
2. Az általános definició közvetlenül alkalmazható annak
eldöntésére, hogy egy relációséma 3NF-ben van-e;

o nem kell megvizsgálnunk előbb a 2NF teljesülését.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


3NF normalizálás

PARCELLÁK — ! .e Haa3NF általános definícióját


menta [ sar] Tett bee §- 185
f-[D alkalmazzuk a PARCELLÁK
FD2 t Il t t ?! relációsémára:
FDO3 A

FOG í
o FD3 és FD4 is megsértik a 3NF-et

e A PARCELLÁK sémát közvetlenül is felbonthatjuk


PARCELLÁK1A-ra, PARCELLÁK1B-re és PARCELLÁK2-
re
o Így tetszőleges sorrendben távolíthatók el azok a tranzitív és
részleges függések, amelyek megsértik a 3NF-et
Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák
Alternatív 3NF általános definíció

e Egy R relációséma megsérti a 3 NF definícióját, ha egy R-


beli X — A funkcionális függés megsérti a 3 NF általános
definíciójának mind az (a), mind pedig a (b) feltételét
o A (b) megsértése: A egy másodlagos (leíró) attribútum
o Az (a) megsértése: X-nek nem részhalmaza R egyetlen kulcsa
sem; Így X másodlagos (leíró), vagy valódi részhalmaza R egy
kulcsának
o Ha X nem elsődleges, akkor tipikusan egy tranzitív függésünk
van, amely megsérti a 3 NF-et
o Ha X egy valódi részhalmaza R valamely kulcsának, akkor
részleges függéssel megsérti a 3NF-et (és a 2NF-et is)

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Alternatív 3NF általános definíció

A 3NF egy alternatív általános definíciója:


Egy R relációséma 3NF-ben van, ha R minden másodlagos
(leíró) attribútumára teljesül a következő két feltétel:
e Az attribútum teljesen funkcionálisan függ R minden
kulcsától.
e Az attribútum nemtranzitívan függ R minden kulcsától.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Z2NF és 3 NF

e Intuitiívan láthatjuk, hogy minden olyan funkcionális


függés problematikus, amelynek:
o a bal oldala része az elsődleges kulcsnak
o a bal oldala egy nem kulcs attribútum
e AZNF és 3NF normalizálás megszünteti ezeket a
problémás funkcionális függéseket.
e A normalizálási folyamat szempontjából nem szükséges
a részleges függéseket a tranzitív függések előtt
eltüntetni.

Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák


Példa normalizálás

Normalizálás, normálformák
Adatbázisrendszerek és alkalmazásaik
Összefoglalva
Normálforma Tesztelés Megoldás (normalizáció)

A relációnak nincs többértékű attribútuma, és Képezzünk új relációt minden egyes többértékű


Első (1NF) nincs benne beágyazott reláció. attribútumhoz és beágyazott relációhoz.

Bontsuk szét a relációt, és hozzunk létre új


relációt minden egyes részleges kulcshoz az
Azon relációkban, amelyeknek az elsődleges
általuk meghatározott attribútumokkal.
Második (2NF) kulcsa több attribútumból áll, egyetlen leíró
attribútum sem függ az elsődleges kulcs egy
Győződjünk meg róla, hogy megtartunk egy
relációt az eredeti elsődleges kulccsal és
részétől.
azokkal az attribútumokkal, amelyek teljesen
függnek tőle.

A relációnak nincs olyan leíró attribútuma, amely


Bontsuk szét a relációt, és hozzunk létre egy új
funkcionálisan függ egy másik leíró attribútumtól
relációt, amely tartalmazza az(okajt a leíró
Harmadik (3NF) (vagy leíró attribútumok egy halmazától). Azaz
attribútumo(ka)t, amely(ek) funkcionálisan
egyetlen leíró attribútum sem függ tranzitívan az
meghatároz(ínak) más leíró attribútumo(ka)t.
elsődleges kulcstól.

Adatbázisrendszerek és alkalmazásaik 55 Normalizálás, normálformák


Kiindulás
Kulcsjelölt
PARCELLÁK 1 3 e Funkcionális függések:
Inaatlan ID Megye Parcellat (Területi Ár Adó
FD1, FD2, FD3, FDA
FD1 1 § 4 f
e Két kulcsjelölt:
FD2 1 I 1] ]
FO3 o Ingatlan IDB
FD4 o (Megye, Parcellatt

e A cwkulcsjelölteket figyelembe véve tudjuk, hogy az FD1 és


FD2 funkcionális függések fennállnak
e Az Ingatlan ID$-t választjuk elsődleges kulcsnak

Adatbázisrendszerek és alkalmazásaik Normalizálás, normálformák


Kiindulás

e Tegyük fel, hogy a következő két további funkcionális


függés is fennáll a PARCELLÁK sémában:
o FD3: Megye — Adó
o FDA: Terület — Ár
e Más szóval:
o FD3 függés: az adó mértéke rögzített egy adott
megyében
o FDA függés: egy parcella árát meghatározza a terület
nagysága, függetlenül attól, hogy melyik megyében is
található.
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
Normalizálás 2NF-be

e A PARCELLÁK relációséma megsérti a 2NF általános


definícióját, mert az Adó részlegesen függ a (Megye,
Parcellat kulcsjelölttől, az FD3 miatt.
e A PARCELLÁK 2NF-re történő normalizálásához
felbontjuk a sémát két relációra:
PARCELLÁK1
PARCELLÁK2
ingatlan ID8 Megye Parcellaw Terület

4
! ! Megye Adó

Lm]
FD1 1
A
FD2 ?
! -FD3

FD4
s

Adatbázisrendszerek és alkalmazásaik Normalizálás, normálformák


Normalizálás 2NF-be

e A 2NF-et megsértő Adó attribútumnak a PARCELLÁK-ból


történő eltávolításával létrehozzuk a PARCELLÁK1-et
e Az Adót pedig a Megyével (a részleges függést okozó
FD3 bal oldalával) együtt a másik, PARCELLAK2
relációba tesszük.
e Ezzel mind a PARCELLÁK1, mind a PARCELLÁK2 2NF-
ben lesz.
e Az FD4 nem sértette meg a 2NF-et, és továbbra is
érvényes maradt a PARCELLÁK1-ben.
Adatbázisrendszerek és alkalmazásaik 5 Normalizálás, normálformák
Normalizálás 3NF-be
PARCELLÁK1 PARCELLÁK2
Ingatlan ID§ Megye Parcellat (Területi Ár Megye Adó

or] ! b 1 1 FDa ]
02 ( LL. 1! 1
FD4 a
——nm

e A PARCELLÁK2 3NF-ben van.


e Ugyanakkor az FD4 a PARCELLÁK1-ben megsérti a 3NF-
et, mert a Terület nem szuperkulcs, és az Ár sem
elsődleges attribútum a PARCELLÁK1-ben.
Adatbázisrendszerek és alkalmazásaik s Normalizálás, normálformák
Normalizálás 3NF-be

e PARCELLÁK1 3NF-re hozása:


o A 3NF-et megsértő Ár attribútumnak a PARCELLÁK1-ből
történő eltávolításával létrehozzuk a PARCELLÁK1A-t
o Az Árat pedig a Területtel (a tranzitív függést okozó FDA bal
oldalával) együtt a másik, PARCELLÁKLBHB relációba tesszük.
e PARCELLÁK1A, és PARCELLÁKBHB is 3NF-ben lesz.
PARCELLÁK1B
PARCELLÁKTA
FD4 ] 4
1 1 !
8
4 j
FD2

Adatbázisrendszerek és alkalmazásaik s Normalizálás, normálformák


Végeredmény

PARCELLÁK 1NF

MS
PARCELLÁK1 PARCELLÁK2 2NF

PARCELLÁKIA
LOS e] PARCELLÁKIB PARCELLÁK2 3 NF

Adatbázisrendszerek és alkalmazásaik s Normalizálás, normálformák


Boyce-Codd-féle
normálforma
Magasabb normálformák
BCNF tulajdonságai

e látszólag a 3NF egy egyszerűbb alakja


e erősebb lett, mint a 3NF

e Minden BCNF-ben lévő reláció egyúttal 3NF-ben is van.


o Ez fordítva nem szükségképpen igaz!

Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák


BCNF definíció

Egy R relációséma Boyce—Codd-féle normálformában


(BCNF-ben) van, ha valahányszor egy X — A nemtrriviális
funkcionális függés fennáll R-en, akkor X egy szuperkulcsa
R-nek.

Egy X — Y funkcionális függés triviális, ha Y c X,


egyébként nemtriviális.

Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák


Példa

Olyan reláció, amely 3NF-ben van viszont nincs BCNF-


ben:
e Legyen R(A B, C) reláció AB kulccsal és a következő
funkcionális függésekkel
o FD1:AB6OC
o FD2:C56B
e Ekkor R 3NF-ben van, hiszen AB szuperkulcs (FD1) és
B elsődleges attribútum (FD2), viszont nincs BCNF-ben
mivel C nem szuperkulcs
Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák
BCNF normalizálás szükségessége
e Intuitívan beláthatjuk a szükségességét egy olyan normálformának,
ami erősebb a harmadik normálformánál, ha megtekintjük
PARCELLÁK relációsémát.
e Felvehetnénk egy újabbm FD5 funkcionális függést, mely szerint a
Terület-től funkcionálisan függ a Megye. Ha hozzáadjuk ezt a többi
függéshez, a PARCELLÁK1A relációséma még mindig harmadik
normálformában marad, mert a Megye elsődleges attribútum.
PARCELLÁK "VE PARCELLÁKIA
Ingatlan ID ! Megye ! Parcellas " Terület Ár Ndó Ingatlan ID Megye ! Parcellas Terület
FDI h 4 a a ú FT a a

FDI
FD4 Tf FDs"

Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák


BCNF kontra 3NF

e A BCNF formális definíciója alig különbözik a harmadik


normálforma definíciójától
e A különbség a BCNF és a 3NF definíciói között az,
hogy a harmadik normálforma (b) feltétele hiányzik a
BCNFH-ből, amely megengedi, hogy X— A (BCNE
definíciójában) nemtriviális funkcionális függésből A
elsődleges legyen.

Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák


BCNF normalizálás

e Az előző példában FD5 megsérti a BCNF-et a


PARCELLÁK1A-ban, mert a Terület nem szuperkulcsa
a PARCELLÁK1A-nak
e Az FD5 kielégíti a harmadik normálformát a
PARCELLÁK1A-ban, mert a Megye elsődleges
attribútum, de ez a feltétel nem szerepel a BCNF
definíciójában

Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák


BCNF normalizálás

e A PARCELLÁK1A-t felbonthatjuk két BCNF-relációra,


PARCELLÁK1AX-re és PARCELLÁK1AY-ra
e EZ a felbontás elveszíti az FD2 funkcionális függést

PARCELTLÁKIA
Ingntlan
ID Megye ( Parcellas Terület BCNF normalizálás PARCELLÁKIAX PAHCELLÁKIAY
4 4.
FDI ) p Ingatlan ID Terület ! Parcelkat Terület : Megye
a a v
FD2
a
FOS

Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák


BCNF normalizálás

e A gyakorlatban a legtöbb relációséma, amely harmadik


normálformában van, egyúttal BCNHF-ben is van.
e Ha X — A függés úgy áll fenn egy R relációsémában, hogy X
nem szuperkulcs és A elsődleges attribútum:
o akkor R 3NH--ben lesz, de nem lesz BCNH--ben.
e Az ábrán látható R relációséma illusztrálja egy ilyen
relációnak az általános esetét.
e Ideális esetben a relációsadatbázis-tervnek arra
kellene törekednie, hogy elérje a BCNF-et vagy
a 3NF-et minden relációséma esetén.

Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák


TANÍT reláció
maz zero e A TANÍT reláció 3NF-ben van, de nincs
zás [fdottászászk [Adszl BCNF-ben
"mm e Az alábbi függések érvényesülnek:
eke táea o FD1: ( Hallgató, Kurzus ) — Gyakvezér
A — id o FD2: GyakvezérS Kurzus

ks Hallgató, Kurzus ) kulcsjelölt a relációban, és hogy


a bemutatott függések a baloldali mintát követik, ahol
A a Hallgató, B a Kurzus és C a Gyakvezér. A reláció
ezért 3N---ben van, de nincs BCNH-ben.
Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák
TANÍT reláció
A TANÍT relációsémának a felbontása két sémára nem
egyértelmű, mivel az alábbi három lehetséges pár
bármelyikére bontható:
1. ( Hallgató, Gyakvezér) — ( Hallgató, Kurzus)
2. ( Kurzus, Gyakvezér ) — ( Kurzus, Hallgató )
3. ( Gyakvezér, Kurzus ) — ( Gyakvezér, Hallgató )
Mindhárom felbontás hatására megszűnik az FD1
funkcionális függés. A 3. a leginkább megfelelő felbontás.
Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák
telacioósemak nemaddiltív join
tulauddonságú dekompozíciója
Következő algoritmus:
e Adott egy univerzális, R — (fA4, AZ, ..., An) relációséma,
illetve R attribútumain értelmezett funkcionális
függéseknek egy F halmaza
e Az algoritmus felbontja R-t: D — (R4, R2., ..., Rn)
nemadditív join dekompozícióvá, ahol
o minden R relációséma BCNF-ben van
o D veszteségmentes join tulajdonságú F-re
vonatkozólag
Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák
telacioósemak nemaddiltív join
tulauddonságú dekompozíciója
Bemenet: Egy R univerzális relációséma és az R attribútumain
értelmezett funkcionális függéseknek egy F halmaza
1. LegyenD :-(R),
2. Amíg van olyan Ő relációséma D-ben, ami nincs BCNF-ben
t
válasszunk egy Ő relációsémát D-ben, ami nincs BCNF-ben;
keressünk O-ban egy olyan X — Y funkcionális függést, amely
megsérti a BCNF-et;
helyettesítsük D-ben O-ta(2- Y) és az(XuUY)
relációsémákkal;
j;
Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák
BCNF normalizálás

e Általában egy nem BCNF-ben lévő relációt úgy


célszerű szétbontani, hogy megfeleljen a
dekompozíciók nemadditív (veszteségmentes)
tulajdonságának
o Esetleg lemondunk arról, hogy a szétbontott relációkban
az összes funkcionális függést megőrizzük
o Ezt csinálja az előző algoritmus, amely használatával
megkapjuk a TANÍT séma harmadik dekompozícióját:
(Gyakvezér, Kurzus) és (Gyakvezér, Hallgató) — BCNF
Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák
BCNF normalizálás

e Ha a TANÍT relációban a ( Gyakvezér, Hallgató ) párt


jelöljük ki elsődleges kulcsnak:
o A Gyakvezér 6 Kurzus funkcionális függés részleges
(nem teljes funkcionális) függést okoz, mivel a Kurzus az
összetett kulcs egy részétől függ
o Ezt a funkcionális függést eltávolíthatjuk a 2NF-re
alakítás közben: ugyanazt a két relációt kapjuk

Adatbázisrendszerek és alkalmazásaik 55 Magasabb normálformák


Relációalgebra -
Bevezetés
kelációalgebra
Bevezető

Relációs adatbázisséma
Relációsémák egy halmaza és az integritási megszorítások
összessége.
Nem csak adatokat akarunk tárolni
Információkat is akarunk kinyerni
e Műveletekre van szükség, amelyekkel manipulációkat
hajthatunk végre a relációkon
e Lekérdezések specifikálása
e A műveletek eredménye új reláció (zártság)
Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra
Lekérdező nyelvek

Absztrakt lekérdező nyelvek:


e relációalgebra
e relációkalkulus
o rekordalapú
o tartományalapú

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


Lekérdező nyelvek

e A relációalgebrában egy eljárást adunk meg (a hogyant


mondjuk meg) a kinyerni kívánt információ előállítására.
Procedurális nyelv.
e A relációkalkulusban deklaratív kifejezéssel adjuk meg
(a mit mondjuk meg) a kinyerni kívánt információt.
Nemprocedurális nyelv.

Megjegyzés
A nyelvek megegyeznek kifejezőerejük tekintetében.

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


Relációalgebra

e A matematikai halmazelméleten alapuló lekérdező


nyelv
e A ekérdezés egy kifejezés, amelyben az operátorok
re ációalgebrai műveletek, az operandusok pedig
re ációk
e A ekérdezés eredménye szintén egy reláció

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


Relációkalkulus

e Az elsőrendű predikátumkalkulusra épülő lekérdező


nyelv
e A lekérdezés egy speciális alakú kifejezés, amely egy
halmazt definiál
e A lekérdezés eredménye az előbb említett halmaz által
meghatározott reláció

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


A relációalgebra műveletei

szelekció (o)
projekció (Tr)
átnevezés (p)
halmazműveletek
o unió (U), metszet (M), különöbség( - vagy x)
o Descartes-szorzat (belső szorzat, x)

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


A relációalgebra műveletei

e összekapcsolás (join)
o általános összekapcsolás (theta join, M)
o egyenlőségalapú összekapcsolás (egduijoin);
o természetes összekapcsolás (natural join, ")
o bal oldali/jobb oldali/teljes külső összekapcsolás
(left/right/full outer join, M, M,-K)-
e hányados (-)
A műveletek egy sorozata a Relációalgebra egy kifejezése.

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


Relációalgebra -
Szelekció
kelációalgebra
A szelekció művelete

e Szelekció : kiválaszthatjuk a rekordoknak egy olyan


részhalmazát, amely eleget tesz egy szelekciós
feltételnek
o Tekinthetünk a szelekcióra úgy is, mint egy
szűrésre, amely csak azokat a rekordokat tartja
meg, amelyek kielégítenek egy minősítő feltételt

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Szelekció általános alakja

Általános alakja:
Ő (szelekciós feltéte (R)

R azt a relációt jelöli, amelyből a (szelekciós feltételb-nek


eleget tevő rekordokat válogatjuk ki. A (szelekciós feltétel)
egy logikai kifejezés, amely logikai operátorokkal
összekapcsolt részkifejezésekből épül fel.

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Szelekció általános alakja
A részkifejezések alakja a következők valamelyike lehet:
e (attribútumXhasonlító op.Xkonstans) vagy
e (attribútumXhasonlító op.Xattribútum),
ahol az (attribútum) az R egy attribútumának neve, a
(hasonlító op.) a (-, A, c, 5, S, 2) operátorok egyike, a
(konstans) pedig egy konstans érték az attribútum
tartományából.
Egy általános szelekciós feltételben a részkifejezéseket az
és, a vagy és a nem logikai operátorokkal kapcsolhatjuk
össze.
Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra
Szelekció

Megjegyzés:
A (zZ, A, c, 5, S, 2) halmaz operátorait csak olyan
attribútumok esetén használhatjuk, amelyek tartományai
egymással összehasonlítható elemeket tartalmaznak (pl.
számok, dátumok). Ha nem összehasonlítható értékek
alkotják az attribútum tartományát, akkor csak a (-, 7?)
halmazbeli operátorok használhatók (pl. színek). Egyes
tartományok esetén további hasonlító operátorokat is
használhatunk (pl. RÉSZSZTRING operátor).

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Megvalósítás SOL-ben

A szelekció megvalósítása SÖL-ben:

SELECT $ FROM R WHERE szelekciós feltétel;

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


A szelekció tulajdonságai
e A szelekció unáris művelet.
e Az eredményül kapott reláció foka és sémája
megegyezik R fokával, illetve sémájával.
e Az eredményül kapott reláció számossága mindig
kisebb vagy egyenlő R számosságánál, azaz bármely f
feltétel esetén
10; (R)I SÍRI

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


A szelekció tulajdonságai
e Két egymásba ágyazott szelekciós művelet
végrehajtási sorrendje felcserélhető (kommutatív):
Ofelt1(Ofert2(R)) — Oren2(Orem(R))
e Minden többszörösen egymásba ágyazott (kaszkádolt)
szelekció átírható egyetlen szelekcióvá, amelynek a
feltétele az eredeti feltételek konjunkciója:
Ofelt (Ofelt.( . ..(Ofett.(R))...)) — oret, AND tet, AND ... AND tet, (R)

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Példa

Válasszuk ki azokat a dolgozókat, akik vagy a 4-es osztályon


dolgoznak, és többet keresnek 325 000 Ft-nál, vagy az 5-ös
osztályon dolgoznak, és többet keresnek 390 000 Ft-nál!

0 (Osz-4 AND Fizetész325000) OR (Osz-5 AND


Fizetész390000( (DOLGO 0)
Erarm Ara Tr"

Vnév Knév Szsz Szdátum Lakcím Nem ] Fizetési Főnök szsz ! Osz
Szabó Mária 2 551208 2219 11955. december 8. 1097 Budapest! N 1520000/1 371110 4519] 5
Takács !József 1 410620 4902 ! 1941. június 20. 4027 Debrecen! F 1559000/1 3711104519] 4
Horváth ! Erzsébet ! 2 620915 3134 ! 1962. szeptember 15.] 1092 Budapest! N ]494000/2 551208 2219] 5

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Példa

A feladat megoldása SÖL-ben:

SELECT $ FROM DOLGOZÓ


WHERE (Osz-4 AND Fizetéss3325000)
OR (Osz-5 AND Fizetész3390000);

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Relációalgebra -
Projekció
kelációalgebra
A projekció művelete

e Szelekció: néhány sort választ ki a táblából, míg a


több sort elveti
e Projekció: bizonyos oszlopokat választ ki a táblából,
míg a többi oszlopot elveti
e Ha csak bizonyos attribútumai érdekelnek minket a
relációnak, a projekció műveletét használjuk arra, hogy
a relációt projektáljuk (levetítsük) ezekre az
attribútumokra.
Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra
Projekció általános alakja

Általános alakja:
TTattribútumlista) ( R)

e Az (attribútumlista) az R reláció lekérdezni kívánt


attribútumainak listája.
e A projekció műveletének az eredménye csak az
(attribútumlista) attribútumaival rendelkezik
o abban a sorrendben, ahogyan a listában szerepelnek
o Az eredmény foka egyenlő az (attribútumlista)-beli
attribútumok számával
Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra
Megvalósítás SOL-ben

A projekció megvalósítása SOL-ben:

SELECT attribútumlista FROM R;

ahol az attribútumlista elemeit vesszővel választjuk el és a


tulajdonos reláció azonosítására, ha több relációt sorolunk
fel, alkalmazható a pontozott jelölés, R.A.

Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra


Duplikáció elimináció

Duplikáció elimináció:
e Ha az attribútumlista kizárólag R nem kulcs attribútumait
tartalmazza, valószínűleg akadnak majd duplikált rekordok
e A projekció művelete eltávolítja a duplikált rekordokat,
így a művelet eredménye egy rekordhalmaz, és ennélfogva
egy érvényes reláció lesz

Adatbázisrendszerek és alkalmazásaik Relációalgebra


Duplikáció elimináció példa
DOLGOZÓ ;
Vaév ] Knév ] Szasz ] Szadát ur Lakcím — ] Nem ) Fizetés) Főnök szesz ! Osz Nem ) Fizetés
Kortcs Lászk L 650109 06172 / 191 MüK1 Iktevcen E 00000 [2 G51ZA 2219 5 E AMIN)
szad Márta 2 5516 TI19 1905. december A 1097 Budapest N SZ00U0 ! 1 371110 4519 I I Nem, ! N 5000
Fr
Kin kiván 1 650119 6740! IJŐ5. január 19 1172 Biuclagoi E KIS" 1 410030 4000 í - HET 1
Í 1 . z E 325000
Takátácrr Jéázef 1 dídspa 4907! 1941. jámánm B HIT? Deterren F ArAÓ 1 971110 4510 § A 4
? 55000)
Horváth , Ertadtet ) 2 620015 3134 / 1962. szegácerzbet 15. 1082 Budagrost NN) 4940 [2 SAMA 2NN9 5 1 5
Tóih J ize i T3OT31 7065 ! 1972 TI Szegvel E KISAMÓ (2 KSIAR 2 N 194004)

Fazckas Ike 2 600029 1099 19641. márciiaa 2 KKI Minkirk N KM 1 410620 4900 ú N 125000

Natv Zoltán 1 371110 4519" 1997. navveenter 1 tO61 Buclagort F 71540 ! NULI 1 E TIS5ÚÓÓ

e A (F, 325000) rekord csak egyszer jelenik meg az


eredmény ábrán, habár ez az értékkombináció kétszer is
előfordul a DOLGOZÓ relációban.
e Ha a duplikációkat nem távolítanánk el, az eredmény
rekordoknak egy multihalmaza lenne egy halmaz helyett.
Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra
Duplikáció elimináció

TNem, ,
Fizetés( DOLGOZO)
SOL -beli megvalósítás:
SELECT DISTINCT Nem, Fizetés FROM DOLGOZÓ

Megjegyzés:
A DISTINCT kulcsszó nélkül a duplikátumok nem
eliminálódnak.

Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra


A projekció tulajdonságai

e A projekció unáris művelet.


e Az eredményül kapott reláció fokát és sémáját az
attributumlistában szereplő attribútumok határozzák
meg:
o az eredmény sémájában az attribútumok sorrendje
megegyezik a listában megadott attribútumok
sorrendjével,
o a fokszám a listában megadott attribútumok
darabszáma lesz.

Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra


A projekció tulajdonságai
e Ha az attribútumlista nem tartalmaz kulcs attribútumot, akkor
az eredményül kapott reláció számossága kisebb lehet R
számosságánál, ugyanis az eredményben nem jelenhetnek
meg duplikált rekordok. Ha az attribútumlista R
szuperkulcsa, akkor az eredmény számossága megegyezik
R számosságával.
e Két egymásba ágyazott projekciós művelet eredménye
megegyezik a külső projekció eredményével:
TTiista, (TTiista.(R)) — TTiista.(R)
ha lista; 2 lista, egyébként a baloldal nem értelmezhető.
Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra
Példa

A DOLGOZÓK relációból adjuk meg a Eredmény:


dolgozók vezetéknevét, keresztnevét és Vnév Knév !Fizetés
fizetését! Kovács I! László 390000
Szabó ] Mária 520000

Tynév, Knév, Fizetés (DOLGOZÓ) Kiss [István 325000


Takács !József "559000
Megoldás SÖL-ben: Horváth ! Erzsébet I 494000
"Tóth — (János — !325000

SELECT Vnév, Knév, Fizetés Fazekas ! Ilona 325000

FROM DOLGOZÓ; Nagy — Zoltán 715000

Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra


Példa

Adjuk meg az 5-ös osztályon dolgozók vezetéknevét,


keresztnevét és fizetését!

TTynév.Knév Fizetés(Dosz-5(DOLGOZÓ)

Eredmény: Vnév ]! Knév ] Fizetés


Kovács ! László 390000
Szabó (Mária — ! 520000 !
Horváth ! Erzsébet ! 494000

Tóth — !János — !325000

Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra


Példa

Megoldás 2 részben:

OSZT5 DOLG — 0057-5(DOLGOZÓ)


EREDMÉNY € Tfynév.Knév.
Fizetés (0SZT5 DOLG)

A feladat megoldása SOL -ben:

SELECT Vnév, Knév, Fizetés FROM DOLGOZÓ


WHERE Osz5ó5;

Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra


Relációalgebra -
Atnevezés
kelációalgebra
Az átnevezés művelete

e Altalában különféle relációalgebrai műveleteket


szeretnénk alkalmazni egymás után
e Felírhatjuk a műveleteket egyetlen relációalgebrai
kifejezésként a műveletek egymásba ágyazásával, vagy
megtehetjük, hogy egyszerre csak egy műveletet
alkalmazunk, és létrehozhatunk közbenső eredmény
relációkat
e Ez utóbbi esetben neveket kell adnunk azoknak a
relációknak, amelyek a közbenső eredményeket tárolják
Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra
Az átnevezés művelete

e Például: az összes olyan dolgozó vezetéknevének,


keresztnevének és fizetésének a lekérdezése, akik az 5-
ös osztályon dolgoznak (egyetlen relációalgebrai
kifejezéssel):
TMynév, Knév, Fizetés (Josz-5(DOLGOZÓ))

e Másik lehetőség: Nevet adunk minden egyes közbenső


relációnak: i
OSZT5 DOLG — 005-5(DOLGOZÓ)
EREDMÉNY — Trynév. Knév. Fizetés (OSZT5. DOLG)
Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra
Az átnevezés művelete

e Gyakran egyszerűbb felbontani egy összetett


műveletsorozatot közbenső eredmény relációk megadásával
e Ezt a ttechnikát a közbenső és az eredmény relációkban
szereplő attribútumok átnevezésére is használhatjuk
e Hasznos lehet az összetettebb műveleteknél, mint például
az egyesítés (unió) vagy az összekapcsolás (join)
e Az attribútumok átnevezéséhez egy relációban egyszerűen
csak fel kell sorolnunk az új attribútumneveket zárójelek
között, ahogyan azt később látni fogjuk
Adatbázisrendszerek és alkalmazásaik 5 Relációalgebra
Átnevezés általános alakja

Általános alakja:
DS(B..B;, -.. B)(R) vagy ps(R) vagy DB. B; ... B)(R)

Az S a reláció jelölésére használt új szimbólum,


B1.B2, ... Ban az Új attribútumnevek.

e Könnyebben átláthatóvá teheti az eredményt, illetve


annak további felhasználását is megkönnyíti

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Az átnevezés tulajdonságai

e Az átnevezés unáris művelet.


e Az eredményül kapott reláció foka és számossága
megegyezik R fokával, illetve számosságával.
e Az eredményül kapott reláció sémája
o a B1,B2, ... Ba attribútumokkal meghatározott séma lesz,
ha megadtuk őket,
o megegyezik az R sémájával, ha a B1,B2, ... ,B.
attribútumokat nem soroltuk fel.

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Példa

Megváltoztathatjuk a relációnk jelölését és átnevezhetjük


az attribútumait is értékadás végrehajtásakor:
TEMP — O0sz-5(DOLGOZÓ)
TEMP
Vnév Knév Szsz Szdátum Lakcím Nem Fizetés! Főnök szsz ]! Osz
Kovács !László 1 650109 0812 1 1965. január 9. 4033 Debrecen! F )390000/72 551208 2219] 5
Szabó Mária 2 551208 2219 / 1955. december 8. 1097 Budapest! N ])520000/1 371110 4519] 5
Horváth ! Erzsébet ! 2 620915 3134 ! 1962. szeptember 15. 11092 Budapest! N 7494000/2 551208 2219] 5
Tóth János 1 720731 2985 / 1972. július 31. 16726 Szeged F 13250007/2 551208 2219] 5

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Példa - folytatás

Reláció és attribútumok átnevezése:


R(Vezetéknév Keresztnév, Fizetés) — TTynév.Knév.Fizetés( TEMP)

Végeredmény: R
Vezetéknév ! Keresztnév ! Fizetés
Kovács László 390000
Szabó Mária 520000 /
Horváth Erzsébet 494000 /
Tóth János 325000 -

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Példa - folytatás

A feladat megoldása SOL -ben:

SELECT Vnév AS "Vezetéknév", Knév AS


"Keresztnév"
, Fizetés
FROM DOLGOZÓ WHERE Osz55;

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Átnevezés
e Ha nem alkalmazunk átnevezést, egy szelekció művelet
eredményeképpen kapott relációban az attribútumok nevei
ugyanazok lesznek, mint az eredeti relációban voltak,
ugyanabban a sorrendben
e Egy projekció művelet esetén, ha nincs átnevezés, az
eredmény relációnak az attribútumnevei a projekciós
listában lévőkével lesznek azonosak, és abban a
sorrendben fognak szerepelni, ahogyan a listában is
megjelennek

Adatbázisrendszerek és alkalmazásaik 5. Relációalgebra


Uniókompatibilitás,
halmazműveletek
Relációalgebra
Uniókompatibilitás

e Halmazelméleti műveletek: két halmaz elemeinek


különféle módokon történő összefésülése
o egyesítés (unióképzés)
o metszet
o különbség (kivonást)
e Bináris műveletek: két halmazra (relációra) alkalmazzuk
e Ezen műveletek alkalmazásakor a két relációnak,
amelyekre e műveletek valamelyikét alkalmazzuk,
azonos típusú rekordokkal kell rendelkeznie
o ezta feltételt hívják uniókompatibilitásnak.
Adatbázisrendszerek és alkalmazásaik s. Relációalgebra
Uniókompatibilitás

Az R(A4 Az, ... An) és S(B1,B2, ... Bn) relációkat egymással


uniókompatibilisnek (típuskompatibilisnek) mondjuk, ha
e azonos a fokszámuk, és
e dom(A;) -— dom(B;) minden 1 Si S n esetén.

Megjegyzés:
Az uniókompatibilitás tehát azt jelenti, hogy a két
relációnak ugyanannyi attribútuma van, és attribútumaik
tartományai páronként megegyeznek egymással.
Adatbázisrendszerek és alkalmazásaik ss Relációalgebra
Példa uniókompatibilis relációk

A HALLGATO és az OKTATO HALLGATÓ OKTATÓ


relációk uniókompatibilisek, mivel: z:Tg TNNTNE
e Láthatóan azonos
a fokszámuk ÍKkovács ! László Nagy — ÍZoltán
e Es attribútumaik tartománya Szabó (Mária ] (Varga (Gábor
áronként mede ezik Kiss István Kovács !lLászló

p g gy Takács !József Dudás !DPéter

o dom(Vn) - dom(Vnev) Horváth ! Erzsébet Szabó Mária

o dom(Kn) - dom(Knev) Tóth [János


Fazekas Ik na

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Unió, metszet, különbség

Definíció:
e unió: RUS
e metszet RNS
e különbség:R -S

Ahol R és S relációk

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Halmazműveletek tulajdonságai

A műveletek tulajdonságai:
e Az unió, a metszet és a különbség bináris műveletek.
e Az eredményül kapott reláció sémája — megállapodás
szerint — az első (R) reláció sémájával egyezik meg.
e Az unió és a metszet műveletek kommutatívak:
RuS-zSuRésRNS-ZSNR

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


Halmazműveletek tulajdonságai

e Az unió és a metszet műveletek asszociatívak:


RU(SUT)J—-(RUS)UT
és
RA(SATD-(RAS
ANT
e A különbség művelet általában nem kommutatív:
R -SZS -R

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


Példa

Példa relációk: (a) HALLGATÓ OKTATÓ


Vn Kn Vnév Knév
Kovács !László Nagy Zoltán
Szabó /Mária Varga ] Gábor
Kiss István Kovács ) László
Takács ]József Dudás ]Péter
Horváth / Erzsébet Szabó ] Mária
Tóth János
Fazekas Ilona

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


Példa

HALLGATO U HALLGATÓ NI
OKTA (b)! Vn Kn OKTATÓ: Kn
Kovács László
Kovács László
Szabó (Mária
szabó ] Mária
Kiss István
Takács József
Horváth / Erzsébet
Tóth János
Fazekas ) Ilona
Nagy Zoltán
Varga [Gábor
Dudás ] Péter

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


Példa

HALLGATÓ - OKTATÓ OKTATÓ - HALLGATÓ


(d)! Vn Kn (e) ! Vnév Knév
Kiss Istán Nagy Zoltán
Takács )József Varga ]Gábor
Horváth / Erzsébet Dudás !Péter
Tóth János
Fazekas ! Ilona

Adatbázisrendszerek és alkalmazásaik s. Relációalgebra


Példa

A feladatok megoldása SOL -ben:

SELECT $ FROM HALLGATÓ UNION [ALL] SELECT $£ FROM OKTATÓ;

SELECT $ FROM HALLGATÓ INTERSECT SELECT $ FROM OKTATÓ;

SELECT $ FROM HALLGATÓ EXCEPT SELECT $ FROM OKTATÓ;

SELECT $ FROM OKTATÓ EXCEPT SELECT $ FROM HALLGATÓ;

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


Descartes szorzat,
általános
összekapcsolás
Relációalgebra
Adatbázisrendszerek és alkalmazásaik
Descartes-szorzat

e Descartes-szorzat:
az egyik reláció (mint halmaz) minden tagjának
(rekordjának) a másik reláció minden tagjával
(rekordjával) történő kombinálásával állít elő egy új
elemet
e Két tetszőleges sémájú reláció között elvégezhető
bináris művelet (az uniókompatibilitás nem feltétel).

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


Descartes-szorzat

Általános alak:
R(A1 Az; ak A.) x 5S(B1, B2, suk :Bm)

e Az eredményül kapott Ö reláció egy n t m fokszámú


reláció, melynek sémája (attribútumsorrend kötött):

O(A5 Az, ... An Bi, Bo; :.. Bm)

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Descartes-szorzat

e IRI[-rel és IS[-sel jelölve az eredeti két reláció


számosságát, az eredményül kapott reláció
számossága:
IR x SI-IRI - ISI
e Az eredményül kapott relációban az eredeti két reláció
minden rekordjának összes lehetséges kombinációja
szerepelni fog.

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


Példa

Példa:
AUTO x EMBER

AUTO EMBER
rsz o] tulaj id név
ri 3 1 Laci

v
r4 1 x 2 Ágota
ró 4 3 János
4 Zoltán

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Descartes-szorzat alkalmazása

AUTO EMBER
TTaTz Példa:
"heh ebe] AUTO EMBER — AUTO x EMBER
—-——TET AUTOTULAJOK — Oruajzig AUTO. EMBER
; p AUTOTULAJOK

Zoltan

Adatbázisrendszerek és alkalmazásaik 25 Relációalgebra


Példa

Megvalósítás SOL-ben:

SELECT " FROM auto, ember;

vagy:

SELECT " FROM auto CROSS JOIN ember;

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


n-edfokú Descartes-szorzat

e N-edfokú Descartes-szorzat: az eddigi fogalomnak egy


kiterjesztése
o n darab alaprelációból származó rekordok összes
lehetséges kombinációjának a konkatenálásával állít
elő új rekordokat

Adatbázisrendszerek és alkalmazásaik s. Relációalgebra


Általános összekapcsolás

Általános alak:
RMI tösszekapcsolási feltétel) S

e Bináris művelet, operandusai R(A/,A;, ... A.) és


5(B1, B2, ... Bm) sémájú relációk.

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Általános összekapcsolás

e Az eredményül kapott Ő egy n t m fokszámú reláció,


melynek sémája:
O(A Az, ... An Bi; Bo ... Bn)
e Az eredményül kapott relációban benne lesz az R és az
S relációk rekordjainak minden olyan kombinációja,
amely kielégíti az összekapcsolási feltételt.

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


Az összekapcsolási feltétel

A join művelet összekapcsolási feltételének általános alakja:


(feltétel) AND (feltétel) AND ... AND (feltétel)
ahol
mindegyik (feltétel) AJOB; alakú,
A; az R attribútuma,
Baz S attribútuma,
az A; és Bj attribútumok tartománya megegyezik,
0 egyike a (-, A, c, 5, S, 2) halmaz összehasonlító
műveleteinek.
Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra
Az összekapcsolási feltétel

Az ilyen összekapcsolási feltétellel megadott általános


összekapcsolási műveletet theta join műveletnek is
nevezzük.

Az általános összekapcsolás SÖL-ben:

SELECT § FROM R, S
WHERE összekapcsolási feltétel;

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


Egyenlőségen alapuló
és természetes
összekapcsolás
Relációalgebra
Adatbázisrendszerek és alkalmazásaik
Egyenlőségen alapuló összekapcsolás

Azt az általános összekapcsolási műveletet, amelynek


összekapcsolási feltételében csak az egyenlőségjel (-)
szerepel összehasonlító műveleti jelként, egyenlőségen
alapuló összekapcsolásnak vagy más szóval eguijoin
műveletnek nevezzük.

Az egyenlőségen alapuló összekapcsolás eredményeként


kapott reláció minden rekordjában van legalább egy pár
azonos érték.

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


Megvalósítás SOL-ben

A egyenlőségen alapuló összekapcsolás SÖL-ben:

SELECT § FROM R [INNER] JOIN S ON R.ID S5.ID;

Amennyiben a két reláció megegyező nevű összekapcsoló


attribútumokkal rendelkezik, úgy az SOL-92 szabvány
megengedi az alábbi egyenlőségen alapuló
összekapcsolást:
SELECT : FROM R INNER JOIN S USING(ID);

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Természetes összekapcsolás

Az egyenlőségen alapuló összekapcsolás eredményeként


kapott relációban — a rekordokban felbukkanó azonos
értékpárok miatt — mindig találhatók , felesleges" értékek.

A természetes összekapcsolás műveletét az egyenlőségen


alapuló összekapcsolás műveletéből származtatjuk oly
módon, hogy az ott kapott relációból eltávolítjuk az
összekapcsolás alapjául szolgáló, a hozzájuk tartozó
értékek egyenlősége miatt felesleges attribútumok egyikét.

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


Természetes összekapcsolás

e Az összekapcsolandó két relációban az összekapcsolás


alapjául szolgáló attribútumok nevének meg kell
egyezniük. (Ez azonban okozhat problémát is ha a
műveletet nem átgondoltan használjuk. Ezért lehetőleg
tartózkodjunk a használatától.)

Általános alak:
R "S

Adatbázisrendszerek és alkalmazásaik Relációalgebra


A természetes összekapcsolás
tulajdonságai
e Az eredményül kapott reláció sémája az eredeti két
reláció sémájának az attribútumait tartalmazza, ám az
összekapcsolás alapjául szolgáló attribútumok közül
páronként csak egyet.
e Az eredményül kapott reláció foka az eredeti két reláció
fokszámának az összegénél annyival kevesebb, ahány
azonos nevű attribútumot tartalmaznak.
e Az eredményül kapott reláció számossága 0-tól az
eredeti relációk számosságainak szorzatáig terjedhet.

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


Megvalósítás SOL-ben

A természetes összekapcsolás SOL -ben:

SELECT Y FROM R NATURAL JOIN S;

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


Műveletek teljes
halmaza, hányados

Relációalgebra
Adatbázisrendszerek és alkalmazásaik
Műveletek teljes halmaza

Bebizonyítható, hogy a következő relációalgebrai


operátorok
(o, TT, U, —, x)
halmaza teljes halmaz, azaz bármelyik másik
relációalgebrai művelet kifejezhető ezen halmazbeli
operátorokkal végzett műveletek sorozataként.

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


Műveletek teljes halmaza

Példa:
RNSEZE(RUS) — ((R - S) u (S - R))

Példa:
RMI feltéte)5 — Ofeltéten(R X 5)

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


Osztás, hányados

Általános alak:
R-S

e Jelöljük Z-vel az R sémáját alkotó attribútumok


halmazát, X-szel az S sémáját alkotó attribútumok
halmazát! Az osztás művelete akkor hajtható végre, ha
XCZ.
e Jelöljük T-vel az eredmény relációt! LegyenY —- Z
- — XI! EkkorY lesz a T sémáját alkotó
attribútumok halmaza.
Adatbázisrendszerek és alkalmazásaik
5 Relációalgebra
Osztás, hányados

e A hányados művelet az alábbi műveletek sorozataként


fogható fel:
[1 €my(k)
T2. —Ty((S x T[4) - R)
T €— [4 WN T2

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


Megvalósítás SOL-ben

Az előbbi műveletek megvalósítása SOL-ben:

CREATE TABLE T1l AS SELECT Y FROM R;


CREATE TABLE T2 AS (SELECT Y FROM S,T1 EXCEPT T1);
SELECT : FROM T1 EXCEPT SELECT : FROM T2;

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


Példa
(a) (b)
SZSZ PSZ KOVÁCS PSZ R
(a)
SZSZ(Szsz) — SZSZ PSZ-KOVÁCS PSZ 1 650109 0812 al! bi

[S] BIBI SÍ 921 191091 me f/ő0f 69] mi


1 650109 0812 a2 ! bi

B]Bjéjéls
2 620015 314 a3 ! bi
(b) 1 720731 2965 ad! bi
1 720731 2065
TéR-S 12 551208 2219
al ! b2
a3 ! b2
2551208 2219 1 650109 0812
a2 bi
2551208 2219 1 720731 2985
a3 ! b3
2 551208 2219
nm ! b3
1 650119 6749
al ! bi
1 650119 6749
n2 ! bi
2 690329. 1099
a3 ! bú
(2 690329 1099
1 410620 4902
1 410620 4002
1 371110 4519

Adatbázisrendszerek és alkalmazásaik s. Relációalgebra


Komplex példa

Adjuk meg azon dolgozók vezeték- és keresztnevét, akik


minden olyan projekten dolgoznak, amit az 5-ös osztály
irányít!

OSZT5S PROJ(Psz) — TTpszám(Oosz-5s (PROJEKT))


DOLG PROJ(Szsz, Psz) — Trpszsz. psz(.DOLGOZIK RAJTA)
E DOLG SZSZ —€ DOLG PROJ - OSZT5 PROJ
EREDMÉNY c Trynév.knévV(ELDOLG SZSZ " DOLGOZÓ)

Adatbázisrendszerek és alkalmazásaik 55 Relációalgebra


Külső
összekapcsolások
Relációalgebra
Külső összekapcsolás hiánya

e Bizonyos lekérdezéseket nem tudunk az eddig látott


JOIN műveletekkel specifikálni
e A korábban definiált JOIN műveletek olyan rekordokat
kapcsolnak össze, amelyek teljesítik az
összekapcsolási feltételt
e Például R " S: R-ből csak azok a rekordok jelennek meg
az eredményben, amelyeknek az összekapcsolási
feltétel alapján van párjuk S relációban, ez oda-vissza
igaz S reláció esetén is

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


Külső összekapcsolás hiánya

e Azon rekordok, melyek nem kapcsolódnak semmilyen


módon a másik reláció egyetlen rekordjához sem,
kimaradnak az összekapcsolás eredményeiből
e Azok a rekordok, ahol az összekapcsolási feltétel
attribútumai NULL értékűek, szintén kimaradnak az
összekapcsolási eredményből
e Inner join (belső összekapcsolás): Az ilyen
összekapcsolások, ahol az egyezés nélküli rekordok
eliminálódnak az eredményből

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


Külső összekapcsolás

e A cél R és S összekapcsolt reláció esetén:


o R, S, vagy mindkét reláció összes rekordja jelenjen meg
az eredményben, az összekapcsolási feltételtől
függetlenül
o Megoldás: külső összekapcsolást kell használnunk
(OUTER JOIN)

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


Példa

e Ki akarjuk listázni az összes alkalmazott nevét, illetve


az általuk vezetett osztály nevét, ha van ilyen
o Ha egy alkalmazott semmilyen osztálynak nem vezetője,
akkor a részleg neve NULL értékű lesz
o Ahhoz, hogy minden alkalmazottat megjelenítsünk, a
következő külső összekapcsolást kell alkalmaznunk:
TEMP — (DOLGOZO 2Y gi sz Vezeto. szesz OSZTALY)
EREDMENY — Tynév, Knév, onév( I! EMP)

Adatbázisrendszerek és alkalmazásaik Relációalgebra


LEFT OUTER JOIN

LEFT OUTER JOIN (baloldali külső összekapcsolás)


művelet, jelölése: Ld
e Megtart minden rekordot az összekapcsolás első, vagy
baloldali relációjából, azaz:
e R-ből, ha a két összekapcsolt tábla RRDd S
e Ha S-ben nincs az összekapcsolási feltételnek
megfelelő egyezés egy adott rekord esetén, akkor az
eredmény rekordban az 5S-hez tartozó érték NULL lesz

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


LEFT OUTER JOIN példa
Példa: Minden autó jelenjen meg:
eredmény €— TMWrsz, tipus, nev(aut d tulaj—id ember)

SELECT a.rsz, a.tipus, e.nev FROM auto a LEFT OUTER JOIN ember e ON a.tulaj — e.id

auto ember eredmény


rsz tipus tulaj ] ar id nev rsz tipus nev

1 Mercedes NULL Í 10000000 0 John 10 Suzuki NULL

——u———€———
muri.
2 Honda 3 5000000 LE FT oO U TE R 1 Andrew 1 Mercedes NULL
JOIN
3 Suzuki 2 1000000 2 George 2 Honda Linda

4 Ford 3 6000000 3 Linda 3 Suzuki George

5 Tesla 0 35000000 4 Ford Linda

10 Suzuki NULL Í 300000 5 Tesla John

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


RIGHT OUTER JOIN

RIGHT OUTER JOIN (jobboldali külső összekapcsolás)


művelet, jelölése: PC
e Megtart minden rekordot az összekapcsolás második,
vagy jobboldali relációjából, azaz:
e S-ből, ha a két összekapcsolt tábla RPC S

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


RIGHT OUTER JOIN példa
Példa: Minden ember jelenjen meg
eredmény — TT rsz, tipus, nev (autcpr tulajzia ember)
SELECT a.rsz, a.tipus, e.nev FROM auto a RIGHT OUTER JOIN ember e ON a.tulaj — e.id

auto ember eredmény


ISZ tipus tulaj ] ar id nev rsz tipus nev

1 Mercedes NULL ( 10000000 0 John 2 Honda Linda

S —m
2 Honda 3 5000000 RIG H T o U TE R 1 Andrew 3 Suzuki George
JOIN
3 Suzuki 2 1000000 2 George 4 Ford Linda

4 Ford 3 6000000 3 Linda 5 Tesla John

5 Tesla 0 35000000 NULL 1! NULL Andrew

10 Suzuki NULL ( 300000

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


FULL OUTER JOIN

FULL OUTER JOLN (teljes külső összekapcsolás) művelet,


jelölése: PL
e Minden rekordot megtart, az összekapcsolt reláció jobb,
és baloldali relációjából is
e Ahol nincs egyezés egy rekord esetén: NULL érték
e Példa: ki akarjuk listázni az összes alkalmazott nevét,
illetve az általuk vezetett osztály nevét, úgy, hogy az
összes osztály szerepeljen a lekérdezésben

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


FULL OUTER JOIN példa
Példa: Minden autó és ember jelenjen meg
eredmény — Tisz, tipus, nev(autóbT tulaj-id ember)
SELECT a.rsz, a.tipus, e.nev FROM auto a FULL OUTER JOIN ember e ON a.tulaj — e.id

auto ember eredmén Y Tisz! tipus nev


rsz tipus tulaj ] ar id nev
Be. 10 Suzuki NULL
1 Mercedes NULL Í 10000000 0 John
FULL OUTER 1 Mercedes NULL
E—
2 Honda 3 5000000 1 Andrew
JOIN 2 Honda Linda
3 Suzuki 2 1000000 2 G.
uzi corge 3 Suzuki George

4 Ford 3 6000000 3 Linda 4 Ford Linda

5 Tesla 0 35000000 5 Tesla John

10 Suzuki NULL Í 300000 NULL ( NULL Andrew

Adatbázisrendszerek és alkalmazásaik 22 Relációalgebra


SOL megfeleltetés
SOL2 szabványban:
e LEFT OUTER JOIN
e RIGHT OUTER JOIN
e FULL OUTER JOIN

Például:
SELECT Vnév, Knév, Onév FROM Dolgozo LEFT
OUTER JOIN Osztaly ON Szsz-Vezeto szsz

Adatbázisrendszerek és alkalmazásaik 2 Relációalgebra


Relációalgebra -
Példafeladatok
Relációalgebra
Példa 1

Adjuk meg az összes olyan dolgozó nevét és lakcímét, aki a


"Kutatás osztályon dolgozik!
Megoldás:
KUTATÁS OSZT — Ognévekutatás (OSZTÁLY)
KUTATÁS DOLG — (KUTATÁS OSZTMoszámsos" DOLGOZÓ)
EREDMÉNY € Tfynév.Knév.Lakcim( KUTATÁS DOLG)

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Példa 1

Egyetlen kifejezéssel felírva:


TMynév,.Knév, Lakcím (Oonév- Kutatás (OSZTÁLYZ hi Oszám-osz DO LG OZÓ ))

Ahogy a példán látható, az összekapcsolás és a szelekció


műveletek sorrendje felcserélhető, de akár az általános
összekapcsolás helyett természetes összekapcsolást is
használhatnánk egy átnevezést követően.

A feladat megoldása SOL -ben:


SELECT Vnév, Knév, Lakcím FROM OSZTÁLY o, DOLGOZÓ
d WHERE o0.Oszám—d.Osz AND Onév-" Kutatás" ;

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Példa 2

Adjuk meg azon dolgozók vezeték- és keresztnevét, akik


minden olyan projekten dolgoznak, amit az 5-ös osztály
irányít!
OSZT5 PROJ(Psz) — TTpszám(osz-s (PROJEKT))
DOLG PROJ(Szsz, Psz) — Trpszsz.psz(.DOLGOZIK RAJTA)
E DOLG SZSZ € DOLG PROJ - OSZT5 PROJ
EREDMÉNY — Trynev.knev(E DOLG SZSZ " DOLGOZÓ)

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Példa 3
Adjuk meg azoknak a dolgozóknak a vezeték- és
keresztnevét, akiknek nincs egyetlen hozzátartozójuk sem!
ÖSSZES DOLG — Trs.s.(DOLGOZÓ)
DOLG HTVAL(Szsz) — Troszsz( OZZÁTARTOZÓ)
DOLG HT NÉLKÜL — (ÖSSZES DOLG -
DOLG HTVAL)
EREDMÉNY c Tynév.knéevV(DOLG
HT NÉLKÜL "
DOLGOZÓ)
Adatbázisrendszerek és alkalmazásaik sz Relációalgebra
Példa 3
Egyetlen kifejezéssel felírva:
TTvnév.knév((TTgzsz (DOLGOZÓ) Pszsz(TToszsz(HOZZÁTARTOZÓ),)) "
DOLGOZÓ)
A példában a Dszsz attribútum Szsz-re történő átnevezése
alhanuyuhatá

A feladat megoldása SOL -ben:


SELECT Vnév, Knév, Szsz FROM DOLGOZÓ EXCEPT
SELECT Vnév, Knév, Szsz FROM DOLGOZÓ a,
HOZZÁTARTOZÓ h WHERE d.Szsz-h.Dszsz;

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Példa 4

Adjuk meg azoknak az osztályvezetőknek a nevét, akiknek


legalább egy hozzátartozójuk van!
VEZETŐK(Szsz) — Tvez szsz(OSZTÁLY)
DOLG HTVAL(Szsz) — Troszsz-( HOZZÁTARTOZÓ)
VEZETŐ HTVAL -— (VEZETŐK N DOLG HTVAL)
EREDMÉNY € 1Trynév.knev( VEZETŐ HTVAL " DOLGOZÓ)

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Példa 4

A feladat megoldása SOL -ben:


SELECT d.Vnév, d.Knév FROM DOLGOZÓ d INNER
JOIN (SELECT Vez szsz FROM OSZTÁLY INTERSECT
SELECT Dszsz AS Vez szsz FROM HOZZÁTARTOZÓ)
sz ON d.SsSzsz-sz.Vez szsz;

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Példa 5

Minden kecskeméti projekt esetén adjuk meg a projekt számát, a


projektet irányító osztály számát, valamint az osztályvezető
vezetéknevét, lakcímét és születési dátumát!
KECSKEMÉTI PROJ — Oppelyszín- Kecskemét (PROJEKT)
IR OSZT — (KECSKEMÉTI PROJMosz-oszám OSZTÁLY)
PROJ OSZT VEZ — (IR OSZTNVez szsz-szsz DOLGOZÓ)
EREDMÉNY €— Tpszám,Oszám Vnév. Lakcím, Szdátum( PROJ OSZT VEZ)

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


Példa 5

A feladat megoldását egyetlen kifejezéssel is felírhatjuk


mely alapján a feladat megoldása SOL -ben:
SELECT Pszám, Oszám, Vnév, Lakcím, Szdátum
FROM PROJEKT p, OSZTÁLY o, DOLGOZÓ d
WHERE o0.Oszám-d.Osz AND 0o0.Vez szsz-d.Szsz
AND Phelyszín-—" Kecskemét" ;

Adatbázisrendszerek és alkalmazásaik sz Relációalgebra


MEVI,
A leképzés
tulajdonságai
és menete
ER, EÉER leképzés relációs modellre
almazásaik
Szemantikai modell TIRWOC
e Adatbázis tervezés során az információkat szemantikai
modellben szokás megadni.
e A szemantikai modell az alapja az adatbázis modellnek.
e Fontos lépés a szemantikai modell adatbázis modellé
történő konvertálása.

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


ER és EER modell konverziója TIRWOC
e Relációs modell elsajátítása.
o relációs modellhez legszorosabban kapcsolódó
szemantikai modell az ER illetve EER modell
e A kkonverzió során az ER vagy EER elemeket relációs
elemekkel valósítjuk meg.
o ennek több hátránya is van

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Konverzió hátrányai TIRWOC

e Egyes ER fogalmaknak, elemeknek nincs meg a


megfelelő relációs modellbeli párjuk.
e Az ER modell szemantika orientált, míg a relációs
modellben más szempontok is érvényesülnek.
o hatékonyság, integritásellenőrzés, stb.

e Elemeznünk kell a létrejött relációs modell


hatékonyságát és jóságát.

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Egyedtípusok leképzése TÍVO,
Egyedek
1. Erős egyedtípusok leképezése

2. Gyenge egyedtípusok leképezése

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Kapcsolatok leképzése TIRWOC

Kapcsolatok
3. Bináris 1 : !t számosságú kapcsolattípusok leképezése
a. külső kulcs használata
b. összevonás
c. kereszthivatkozás (kapcsoló reláció) használata
4. Bináris 1 : N számosságú kapcsolattípusok leképezése

5. Bináris M : N számosságú kapcsolattípusok leképezése

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Speciális részek leképzése TIRWOC

Speciális részek
6. Többértékű attribútumok leképezése

T. N-edfokú kapcsolattípusok leképezése

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Leképzések TITO
ER modell Relációs modell

Egyedtípus Egyedtípusból képzett relációséma

1:1 vagy 1:N kapcsolattípus Külső kulcs (vagy kapcsoló relációséma)

M:N kapcsolattípus Kapcsoló relációséma és két külső kulcs

n-edfokú kapcsolattípus Kapcsoló relációséma és n külső kulcs

Egyszerű attribútum Attribútum

Összetett attribútum Egyszerű komponens attribútumok

Többértékű attribútum Relációséma és külső kulcs

Értékhalmaz Tartomány

Kulcs attribútum Elsődleges (vagy másodlagos) kulcs

Adatbázisrendszerek és alkalmazásaik
TEVO

Egyedek
leképzése
ER, EÉER leképzés relációs modellre
Erős és gyenge egyedtípusok TIENWOC

Erős egyedtípus:
e van kulcstulajdonsága, ami egyértelműen azonosítja az
egyedet
Gyenge egyedtípus:
e nincs olyan tulajdonsága, mely egyértelműen azonosítja
e a gyenge egyedtípusoknak részleges kulcsuk
(diszkriminátoruk) van
e Gyenge egyedet egy másik egyeddel való kapcsolata
azonosít
Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre
Erős egyedtípusok leképzése TIENWOC

e Az ER séma minden E erős egyedtípusához rendeljünk


hozzá egy R relációsémát, amely tartalmazza E összes
egyszerű attribútumát.
e Az összetett attribútumoknak először csak az egyszerű
komponenseit adjuk hozzá R attribútumaihoz.
(öszetett és magasabb fokú kapcsolatok leképzése másik leckében)
e Válasszuk E kulcs attribútumainak egyikét az R relációséma
elsődleges kulcsául. (a többire unigue jelző teendő)
e Ha az E-ből választott kulcs összetett, akkor annak egyszerű
attribútumai együttesen fogják alkotni R elsődleges kulcsát.

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Példa TIRWOC
Erős egyed leképzése:

DOLGOZO egyed: DOLGOZO reláció:

(név) — (kód)
Tb Or . beképzés DOLGOZO
DOLGOZO
el kód név munkakör

( munkakör)

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Gyenge egyedtípusok leképzése TIT

e Az ER séma minden W gyenge egyedtípusához rendeljünk


hozzá egy R relációsémát, melynek attribútumai legyenek W
összes egyszerű attribútuma és W összetett attribútumainak
egyszerű komponensei.
e Továbbá adjuk hozzá R attribútumaihoz külső kulcs
attribútumként azoknak a relációsémáknak az elsődleges
kulcs attribútumait, amelyeket a domináns egyedtípusoknak
feleltettünk meg; ezzel képezzük le a W-hez tartozó
azonosító kapcsolattípust.

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Gyenge egyedtípusok leképzése TIT

e R elsődleges kulcsa a tulajdonos egyedtípusok elsődleges


kulcsainak és a gyenge egyedtípus diszkriminátorának az
együttese.
e Ha egy E2 gyenge egyedtípus tulajdonosa a szintén gyenge
E1 egyedtípus, akkor E1-et E2 előtt kell leképezni, mert az
E2 leképezéséhez szükség van az E1-ből képzett reláció
elsődleges kulcsára.
e Gyakori a CASCADE opció használata a külső kulcson,
hiszen létezés függően kapcsolódnak a tulajdonos
egyedtípushoz.
Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre
Példa TIRWOC
Gyenge egyedtípus leképzése:
Gyenge GYEREK egyed és az őt azonosító erős DOLGOZO egyed:

DOLGOZO és GYEREK relációk:


S ( mu nkakőö 1) ITS
( név ) TT ( kád ) DOLGOZO

a] kód név munkakör


DOLGOZÓ —
., v
Leképzés

( név ) ( kor ) GYEREK


. név kor szülő
GYEREK

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


TEV
Bináris 1:1
kapcsolatok leképzése

ER, EÉER leképzés relációs modellre


kalmazásaik
Bináris 1 : ! számosságú kapcsolatokíí!0(
Határozzuk meg minden bináris 1 : 1! számosságú R
kapcsolattípus esetén az R-ben részt vevő
egyedtípusokból képzett S és T relációkat. Három
lehetséges megközelítés létezik:
1. külső kulcs használata
2. összevonás
3. keresztreferencia vagy kapcsoló reláció használata
Az első megközelítés a leghasznosabb, célszerű azt
alkalmazni, hacsak bizonyos feltételek nem állnak fenn.
Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre
Bináris 1 : 1: Külső kulcs használata TÍr"0(
e Válasszuk ki az egyik relációt (mondjuk S-t) és vegyük
fel S külső kulcsaként T elsődleges kulcsát.
o Célszerű S-nek azt a relációt választani, amelyiket abból
az egyedtípusból képeztünk le, amelyik totális
résztvevője az R kapcsolatnak.
e Vegyük fel továbbá az R kapcsolattípus egyszerű
attribútumaalt, illetve R összetett attribútumainak
egyszerű komponenseit S attribútumaiként.

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Példa: bináris1 : 1 külső kulcs TIRWOC
e Egyedtípusok: NEVEZES és VERSENYZO
e A NEVEZES külső kulcsként felvettük a Versenyzo
attribútumot
o Ez a VERSENYZO elsődleges kulcsára mutat, a Kódra

VERSENYZO

ME 7 (ne) Kod Nev Kor


(un) szeg (kod) 7 7
A b) TV, 2 : Leképzés
NEVEZES — 2 VERSENYZO NEVEZES
j ID Pozicio Versenyzo

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Bináris 1 : 1: Összevonás TÍTWOC
e A két egyedtípust és a kapcsolatot összevonhatjuk
egyetlen relációba.
e Ezt akkor tehetjük meg, ha mindkét egyedtípus totális
(kötelező) résztvevője a kapcsolatnak.

Adatbázisrendszerek és alkalmazásaik ER, EER leképzés relációs modellre


Bináris 1 : 1: Összevonás TIENWOC
Megjegyzések:
e Attól függően lesz az egyik egyed beágyazott, hogy
melyik a számunkra meghatározóbb jelentésű egyed.
(pl. több attribútum, jobb kulcs, szemantikai jelentés)
e Az eredmény: a beolvasztott" egyed összes
attribútuma beolvad a fontosabb" egyedbe.
o duplikátumok eltávolításra kerülnek
e A beolvasztott egyed kulcsa sima attribútummá válik.
e Az új nagy" egyed kulcsa többnyire a fontos" egyed
kulcsa marad.
Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre
Példa: Bináris 1 : 1 összevonás TIVI,
e Minden dolgozóhoz kell hogy tartozzon egy szerződés és
minden szerződéshez kell, hogy tartozzon egy dolgozó
e A DOLGOZO és a SZERZODES ss totális résztvevője a
kapcsolatnak

LL — Összeolvasztás:

DOLGOZÓ(Szsz, Név, Szerz szam, Kezdet, Vég, Pozíció, Fizetés)

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Bináris 1 : 1: Kereszthivatkozás TINVOC
e Új, R reláció felvétele: R két attribútuma az S és T
reláció elsődleges kulcsaira mutatnak.
e R elsődleges kulcsa a két külső kulcs egyike
o A másik pedig unigue lesz
e Az R relációt kapcsoló relációnak nevezzük, mert R
minden rekordja egy kapcsolat-előfordulást reprezentál,
amely S egy rekordját T egy rekordjával kapcsolja
össze
e Kapcsolótáblás megközelítés: bináris M : N
kapcsolatoknál is.
Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre
Kereszthivatkozás példa TIRWOC

e Kapcsolóreláció használata
e A kapcsolat leképzésére létrehozzuk az ÖSSZEKÖT
relációt
VERSENYZŐ
Kod Nev Kor

ÖSSZEKÖT
Nevezes ID Versenyzo Kod

NEVEZES a EÍVERSENYZO Leképzés :


v NEVEZES
ID Pozicio UNIGUE

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


TEV
Bináris 1:N, N:M
kapcsolatok leképzése

ER, EÉR leképzés relációs modellre


kalmazásaik
Bináris 1 : N kapcsolatok TIEWOC
1. Határozzuk meg azt az S relációt, amelyiket a
kapcsolattípus N-oldali egyedtípusából képeztünk
2. Vegyük fel S külső kulcsaként az R-ben részt vevő
másik egyedtípusból képzett T reláció elsődleges
kulcsát
a. Így az N-oldali egyed-előfordulások a másik oldalról
legfeljebb egy egyed-előforduláshoz tartoznak
3. Vegyük fel az R kapcsolattípus egyszerű attribútumait,
illetve R összetett attribútumainak egyszerű
komponenseit S attribútumaiként.
Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre
Bináris 1 : N - külső kulcs TIRWOC
e Egyedtípusok: CSAPAT és VERSENYZO
e N-oldali egyedtípus: VERSENYZO
e A VERSENYZO külső kulcsként felvettük a Csapat
attribútumot
o Ez a CSAPAT elsődleges kulcsára mutat, a Névre
j CSAPAT
SZ (aaz ex A Nev Nev Helyezes
(Ney) teny (ko) 7 T—
j / i S / a Leképzés
CSAPAT 1 / NN " VERSEN YZO VERSENYZŐ ta.
vi Kod Nev Kor Csapat

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Bináris 1 : N - kapcsolótábla TIEWOC
Másik megközelítés:
e Használjunk kapcsoló relációt (kereszthivatkozást),
ahogy az 1 : 1 kapcsolatoknál tettük.
e Ekkor egy külön R relációt hozunk létre, amelynek
attribútumai S és T elsődleges kulcsai, és amelynek
elsődleges kulcsa megyegyezik S (az N oldali reláció)
elsődleges kulcsával.
o Akkor célszerű alkalmazni, ha S-ben kevés rekord vesz
részt a kapcsolatban

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Bináris 1 : N - kapcsolótábla TIRWOC
e Kapcsolótábla: CSAPATTAGOK
e N-oldali reláció: VERSENYZO
e CSAPATTAGOK elsődleges CSAPAT
. Nev Helyezes
kulcsa: Versenyzo kod —-
NN GY CSAPATTAGOK s
( Day ) kás ko) 77 — Versenyzo Kod Csapat nev
A / " / Mag Leképzés :
L Pa KM , A £ € ep :

CSAPAT FG AM VERSENYZO y. VERSENYZO


Kod Nev Kor

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Bináris N : M számosságú kapcsolatok!
1. Minden bináris M : N számosságú R kapcsolattípus
esetén hozzunk létre egy új S relációt, amely R-et
reprezentálja.
2. Vegyük fel S külső kulcsaként a kapcsolatban részt
vevő egyedtípusokból képzett relációk elsődleges
kulcsait
a. ezek együttese alkotja S elsődleges kulcsát.
3. Vegyük fel továbbá R egyszerű attribútumatt, illetve R
összetett attribútumainak egyszerű komponenseit S
attribútumaiként.
Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre
Példa: bináris N : M kapcsolatok TIVI
e Egyedtípusok: VERSENY és VERSENYZO
e A RÉSZTVESZ reláció reprezentálja a kapcsolatot
e A RÉSZTVESZ elsődleges kulcsa a VERSENY és
VERSENYZO relációk elsődleges kulcsaira mutató
külső kulcsok együttese VERSENYZO
Kod " Nev Kor
- — j Tr —
( Hel / k , Tt,

aug Tk ) (
e
kod )
A 7Nev]
ef
RESZTVESZ
7NS ! / ( Datum
1 / ! I Mn mr / (kor) Verseny ID Versenyzo Kod

tSEN SSZNBEE VERSENYZŐ Leképzés p VERSENY


——h .
ID ! Nev Helyszin Datum

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Bináris N : M számosságú kapcsolatok!
e Egy M:N kapcsolatot nem tudunk egyetlen külső
kulccsal reprezentálni az egyik résztvevő relációban
(ahogy az 1 : 1 és 1 : N kapcsolattípusok esetén tettük)
az M : N számosság miatt;
e Mindenképpen létre kell hoznunk egy külön S kapcsoló
relációt.

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Párhuzamos kapcsolatok leképzése TINVOC
e Párhuzamos kapcsolatokról beszélhetünk, ha két vagy
több kapcsolat van két egyedtípus között
e Példa: egy dolgozó birtokolhat is egy járművet, de
szerelheti is, ez két különféle kapcsolat.
e Aleképzés során a szerepköröket úgy különböztetjük
meg, hogy különböző módon nevezzük el a külső
kulcsokat. D Ea 5)

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Párhuzamos kapcsolatok leképzése TINVOC

e JÁRMÚ reláció: két külső kulcs:


o Tulaj szsz: BIRTOKOL kapcsolat kifejezése
o Javito szsz: JAVÍT kapcsolat kifejezése

( szesz )
I
e
BIRTOKOL
7. DOLGOZÓ(Szsz)
bf...

JAVIT

JÁRMÚKRsz, Tulaj szsz, Javito. szsz)

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


Rekurzív kapcsolatok leképzése — TÍTVI(
e Példa: egy dolgozónak egy másik dolgozó a főnöke
e A FŐNÖKE kapcsolat leképzése: egy Főnök szsz külső
kulcsot adunk hozzá a DOLGOZÓ-hoz, ami a saját
elsődleges kulcsára, az szsz-re mutat
e A megadott külső kulcs mindig térjen el attól, amire
mutat, hogy megtudjuk különböztetni
§ sdáadó/

DOLGOZO FONOKE
Leképzés . . DOLGOZÓ(Szsz, Fonok szsz)
Te § A

Adatbázisrendszerek és alkalmazásaik sz ER, EER leképzés relációs modellre


TÍEN0C
Tulajdonságok, N-ed fokú
kapcsolatok leképzése

ER, EÉER leképzés relációs modellre


Adatbázisrendszerek és alkalmazásaik
Többértékű attribútumok leképzése " TI
1. Minden egyes A többértékű attribútum esetén hozzunk
létre egy új R relációt.
2. Ez az R reláció tartalmazzon egy, az A-nak megfelelű
attribútumot, valamint annak a relációnak a K
elsődleges kulcsát, amelyet az A-t tartalmazó
egyedtípusból vagy kapcsolattípusból képeztünk.
3. R elsődleges kulcsát A és K együttese alkotja. Ha a
többértékű attribútum összetett, akkor az egyszerű
komponenseit vegyük fel R attribútumaiként.

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Példa: többértékű attribútumok TÍENV0C
e A VERSENYZO többértékű attribútuma a Versenyszamok
o Ehhez létrehozzuk a VERSENYSZAMGCK relációt
o Ez a reláció tartalmazza a Versenyszam attribútumot
o Illetve tartalmazza a VERSENYZO reláció elsődleges
kulcsára mutató Versenyzo kod külső kulcsot
o Elsődleges kulcs: Versenyzo kod és Versenyszam
VERSENYSZAMOK

ft (ky Versenyzo Kod ! Versenyszam

. Leképzés , VERSENYZO
kzemenyszámot ő) Kod Nev Kor

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Többértékű, összetett attribútumok " TI
e A többértékű attribútumnak megfelelő relációséma külső
kulcsának definiálásakor: CASCADE opció
o Mind ON UPDATE, mind ON DELETE esetén
e Egy összetett, többértékű attribútum leképezése esetén R
kulcsának meghatározása a komponens attribútumok
jelentésének az elemzését követeli meg.
o Bizonyos esetekben, csak néhány komponens attribútumot kell
közülük R kulcsához hozzávenni
o Ezek az attribútumok hasonlítanak egy többértékű
attribútumnak megfelelő gyenge egyedtípus részleges
kulcsához
Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre
Többértékű, összetett attribútumok " TI
e Hozzatartozok: többértékű, összetett attribútum
e EIkell döntetnünk, hogy mely komponens attribútumokat
vesszük hozzá a HOZZATART OZO reláció kulcsához
e A példában csak a Nev attribútumot vettük hozzá

e Ha van két ugyanolyan nevű hozzátartozó, a Szdatum is kell


Szdatunm ( Nav ) Én
SA NEZ SY DOLGOZO (Szsz)
ul / §--...
(rozzatartozok) HOZZATARTOZO(Dolgozo szsz, Nev, Szdatum, Nem)

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


N-edfokú kapcsolattípusok leképezése TÍt!0C
1. Minden MN-edfokú R kapcsolattípus esetén, ahol N : 2,
hozzunk létre egy új S relációt, amely k-et
reprezentálja.

1. Vegyük fel S külső kulcsaként a kapcsolatban részt


vevő egyedtípusokból képzett relációk elsődleges
kulcsalt.

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


N-edfokú kapcsolattípusok leképezése TÍt!0C
3. Vegyük fel továbbá R egyszerű attribútumatt, illetve R
összetett attribútumainak egyszerű komponenseit S
attribútumaiként.
o § elsődleges kulcsa általában az összes külső kulcs
együttese.
4. Ha azonban az R-ben részt vevő valamely EÉ
egyedtípusból csak egy rekord vehet részt a
kapcsolatban, akkor S elsődleges kulcsának nem kell
tartalmaznia az E-ből képzett E, relációra hivatkozó
külső kulcsot.
Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre
Példa: N-edfokú kapcsolattípusok TÍTtW0
Gas ] PESZÁLLÁTÓ (Bnév) e ee KET

BESZÁLLÍTÓI Su PROJEKT [ PROJEKT (Proj név) a.

Glsarész az TETT ALKATRÉSZ (Alkatrés z azon)


A

DJ
SZÁLLÍT(Bnév, Proj név, Alkatrész azon, Mennyiség)

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Példa ER modell TÍRWOC
(Vas)
(Hat)
Sam
Úó

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Példa ER modell leképzése - egyedek " TIE!
Erős egyedtípusok leképzése:
DOLGOZÓ( Vnév, Knév, Szsz, Szdátum, Lakcím, Nem, Fizetés )
OSZTÁLY( Onév, Oszám )
PROJEKT( Pnév, Pszám, Phelyszín )

A gyenge egyedtípus leképezése:


HOZZÁTARTOZÓ( Dszsz, Hozzátartozó név, Nem, Szdátum, Kapcsolat )
a SZ 4
SZ HOZZATARTOZÓJA Sp ( Közdő dátuzzz ) Dolgazák száma HOSzTALY]

ÍV / a a
a 2 VEZETI mm
HOZZÁTARTOZÓ i I
iz m— Y

(ér T (Nam) Szdátuz ) Kapcuolat ) j 1 ( 4) 1

/ kan ts AY ra
amen] j a úz EZDOLGOZIK
sel. RAJTA
sz (PROJEKTJ]
Tt

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Példa ER modell leképzése - 1 : 1 TEV,
A bináris 1 : 1 számosságú kapcsolattípus leképezése
(külső kulcs használatával):
OSZTÁLY( Onév, Oszám, Vez szsz, Vez kezdő dátum )
fEETOZETT TVT
TT TEEETET TT 7
tg gt /

[ /(Sem) SZÍTUNKAHELYE

(Kezdő dátum) — : Dolgazók száma )— OSZTÁLY

LÍRANYÍTAA
őz) IK
Mar Mn
SZ. DOLGOZIK RAJTA FROJEKT
ton .. va ra
(B) KE TN A
OL ( Helyszín)
Szám ) —

Adatbázisrendszerek és alkalmazásaik ER, EER leképzés relációs modellre


Példa ER modell leképzése - 1 : N TÍENWOC
A bináris 1 : N számosságú kapcsolattípusok leképezése:
DOLGOZÓ (Vnév, Knév, Szsz, Szdátum, Lakcím, Nem, Fizetés, Főnök szsz,Osz)

PROJEKT( Pnév, Pszám, Phelyszín, Osz )


( Helyszínek))
stl T s feny

(Név) ( Szám)

njms
/

ér
Kezdő dátum) . Dalgazák azás

Adatbázisrendszerek és alkalmazásaik 55 ER, EER leképzés relációs modellre


Példa ER modell leképzése-M:N "TITO
A bináris M : N számosságú kapcsolattípus leképezése:
DOLGOZIK RAJTA( Dszsz, Psz, Órák )

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Példa ER modell leképzése - többértékülít!0( épü alrtátt adlttal

A többértékű attribútum leképezése:


OSZT HELYSZÍNEK( Oszám, Ohelyszín )

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Példa ER modell leképzése TÍETWOC
éeürad nírtÁTt adr kal

DOLGOZÓ (Vnév, Knév, Szsz, Szdátum, Lakcím, Nem, Fizetés, Főnök szsz,Osz)

HOZZÁTARTOZÓ ( Dszsz, Hozzátartozó név, Nem, Szdátum, Kapcsolat )


OSZTÁLY( Onév, Oszám, Vez szsz, Vez kezdő dátum )
PROJEKT( Pnév, Pszám, Phelyszín, Osz) (van) (Kknw)

OSZT HELYSZÍNEK( Oszám, Ohelyszín )[ Gees) (sv) (Lsretsz)


DOLGOZIK RAJTA( Dszsz, Psz, Órák ) (ően)

(sszl (em) (Betét) (Kapcsolat)

OSZT HELYSZÍNEK( Oszám, Ohelyszín )

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


TÍEN0C
Leképzés EER-ről relációs
modellre

ER, EÉER leképzés relációs modellre


almazásaik
A leképzés menete TÍtNV0C

1. Erős egyedtípusok leképezése


2. Gyenge egyedtípusok leképezése
3. Bináris 1 : !t számosságú kapcsolattípusok leképezése
a. külső kulcs használata
b. összevonás

c. kereszthivatkozás v. kapcsoló reláció használata

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


A leképzés menete TÍtNV0C

Bináris 1 : N számosságú kapcsolattípusok leképezése


oONOMNB

Bináris M : N számosságú kapcsolattípusok leképezése


Többértékű attribútumok leképezése
N-edfokú kapcsolattípusok leképezése
. Specializációk és generalizációk leképezése

Unió típusok (kategóriák) leképezése


o

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Specializációk és generalizációk "TI
Konvertáljunk át minden C (generalizált) szuperosztállyal
és m darab, (S,, S;, ... S n alosztállyal rendelkező
specializációt, ahol C attribútumai (Kk, as, ... , a és k az
(elsődleges) kulcs, a következő lehetőségek valamelyike
szerint relációsémákká:
1. Több reláció — szuperosztály és alosztályok
2. Több reláció — csak alosztály relációk
3. Egyetlen reláció egy típus attribútummal
4. Egyetlen reláció több típus attribútummal

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Több reláció — szuper és alosztályok TÍt!0(
1. Hozzunk létre egy L relációt a C szuperosztály számára
Attrs(L) - (k, as, ... , an) attribútumokkal és PK(L) - k
elsődleges kulccsal.
2. Hozzunk létre m darab relációt az m db alosztálynak.
L; az S; alosztályhoz (7 Si S m), ahol
Attrs(L) -— ík) UV (S; attribútumai? attribútumokkal és
PK(L) - k elsődleges kulccsal.
e Eza lehetőség mindenféle specializáció esetén
(totális vagy részleges, diszjunkt vagy átfedő) működik.
Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre
Példa leképzés: Több r. és C/S TÍENWOC
DOLGOZÓ (Szsz, Vnév, Knév, Születési dátum, Lakcím,Munka típus)

0
TITKÁR/NŐ(Szsz,
Te) (Kniz Gépelési sebesség)
Név ss ek nt ez (Munka típus ]

[DOLGOZÓ

Munka. tépus TECHNIKUS (Szsz, Fokozat)

Capeléni melsesztg)/ (Fokaszail) [ON (len tápos MÉRNÖK (Szsz, Mérn típus)
ÍTITKÁR/NŐJ ( TECHNIKUS) (MÉRNÖK

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Több reláció — csak alosztály relációkít!/0(
Hozzunk létre egy L; relációt minden egyes S; alosztályhoz
(1 Si S m), Attrs(L;) — (S; attribútumai) U (k, auJ, ... , an
attribútumokkal és PK(L.) - k elsődleges kulccsal.
e Ez a lehetőség csak olyan specializáció esetén
működik, ahol az alosztályok totálisak (minden
szuperosztálybeli egyednek legalább egy alosztályhoz
kell tartoznia).
Ha a specializáció átfedő, egy egyed több relációban
is felbukkanhat.
Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre
Példa leképzés: Több r. és csak alo. TIE épü alrtátt adlttal

AUTÓ (Alvázszám, Rendszám, Ár,Max sebesség,


szállítható
szem száma)

TEHERGÉPKOCSI (Alvázszám, Rendszám, Ár, Tengelyek száma,


Teherbírás)

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Egyetlen reláció egy típus attribútumai
Hozzunk létre egy L relációt , mely attribútuma: Attrs(L) -
ík, az, ... , ay V (S, attribútumai? u ... UV (S, attribútumai? u (ft)
és PK(L) - k elsődleges kulccsal.
e A t-t típus (vagy diszkrimináló) attribútumnak nevezzük,
amely jelzi azt az alosztályt, amelyhez az egyes
rekordok tartoznak
e Eza lehetőség csak olyan specializáció esetén
működik, amely diszjunkt, ezáltal fennáll a veszélye
annak, hogy sok NULL értéket generál, ha sok
speciális attribútum szerepel az alosztályban
Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre
Példa leképzés: egyetlen reláció TÍEWOC
tetni nlrtÁat adattal

DOLGOZÓ (Szsz, Vnév, Knév, Születési dátum, Lakcím,


Munka típus, Gépelési sebesség, Fokozat, Mérn típus)

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Egy reláció több típus attribútum" TÍtN0(
Hozzunk létre egy L relációt Attrs(L) — ík, aj, ... , an U
(S; attribútumaij U ... U (S, attribútumai) U (t4, tb, ... , tn
attribútumokkal és PK(L) - k elsődleges kulccsal
e Mindent (1 Si S m) logikai típusú attribútum, amely azt
jelzi, hogy egy adott rekord az S; alosztályhoz tartozik-e
e Ez a lehetőség olyan specializációk esetén is működik,
amely átfedő alosztályokat tartalmaz

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Példa leképzés: több típus attrib. TITO
e Az ábrán látható EER modell leképezése a logikai típusú
Gyjelző és Vjelző típus mezőkkel:
( Alkatrész szám) ( Leírás )

( Gyártás dát uma" JALKATRESZ

( Termékszám ) (a) ( Szállító neve )

( Rajzszám ) N et 0 ( Listaár )
k 4 A e Ma ha A

GYÁRTOTT. ALKATRESZ] VÁSÁROLT. ALKATRÉSZ

ALKATRÉSZ ( Alkatrész szám, Leírás,


Gyjelző, Rajzszám, Gyártás dátuma,
Termékszám,
Vjelző, Szállító neve, Listaár)
Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre
Unió típus (kategória) leképzése — " TÍt0(
e Különböző kulcsokkal rendelkező szuperosztályok által
definiált kategória leképezéséhez célszerű egy új kulcs
attribútumot bevezetni
o Ezt az új kulcsot helyettesítő kulcsnak nevezünk, a
kategóriának megfelelő relációséma létrehozásakor
e A definiáló osztályok kulcsai különbözőek, így nem
használhatjuk egyiket sem önállóan a kategóriában
szereplő egyedek azonosítására.

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre


Példa leképzés TÍEN0C
CT (alvázszám) Tara)
zs (Aúpor) — AUTÓ GT.1wax)
(A. ev) a)
Te
T
REGISZTRÁLT JÁRMŰ

ae) (értetni
Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre
Példa leképzés TÍtWOC
SZEMÉLY (Szasz, Jogosítvány száma, Név, Lakcím, Tulajdonos azon)

Té Va teete telnet
, , , k 4 pen dett
BANK (Bnév, Bcím, Tulajdonos azon) al ,
Vele en 1.4) AN mtv 1 we
VÁLLALAT (Vnév,
E.
Vcím, Tulajdonos azon) ————— ín (lán tea "Tt If TS
— i j 1 al l 1) ! mad

deszak doszák ám to ga
TULAJDONOS (Tulajdonos azon) 4 ha OT Vig j

z a PA 1wW 1 k1
REGISZTRALT JÁRMU(Alvázszám, Rendszám) ; hadeta

. met TS u há i
AUTÓ (Alvázszám, Akivitel, Amárka, Amodell, Aév) (ANAL)
; I kh A

TEHERGÉPKOCSI (Alvázszám, Tmárka, Tmodell, Teherbírás, Tév) ] ,


had Tk kh

BIRTOKOL (Tulajdonos azon, Alvázszám, Vásárlás dátuma, Finanszírozott)

Adatbázisrendszerek és alkalmazásaik 25 ER, EER leképzés relációs modellre

You might also like