You are on page 1of 12

Adatbázisok I.

előadás

Először is kezdjük az adatok közötti kapcsolatokkal,


amelyek fontosak az adatbázisok megértéséhez. Ezeket hívjuk
adatmodelleknek, és bár nem közvetlen az adatokkal
foglalkoznak, hanem az azok közötti kapcsolatokkal, fontos
részét képezik a adatbázisok alapjainak.

Alapfogalmak:
Először is próbáljuk meg a rendelkezésünkre álló adatokat
csoportokba sorolni.
Ezt tehetjük például strukturáltsági szint szerint.

 Strukturálatlan: pl. Digitális kép, videó.


Ezek nem mások mint bájtsorozatok, az ezekben való
tartalmi keresés nehézkes.
 Kereshető: pl. egyszerű szövegfájlok (txt)
 Hierarchizaszintek: pl. formázott szövegek (doc),
ezekben a fejezetek, bekezdések segítik a keresést.
 Hivatkozások: pl. Hypertext, HTML, xml, konkrét
hivatkozások, referenciák vannak a szöveg egyes részeire.
 Rendezhető, lekérdezhető: pl. adattáblázatok (Excel)
 Adatmodell, bonyolult kapcsolatrendszerrel:
RELÁCIÓS ADATBÁZISOK.
Sok adat, sok felhasználó, és fontos az adatbiztonság.

Vagy mondjuk típusaik szerint:

 Egyszerű, atomi adatok: Szám, string, dátum, bool


 Összetett adat: Egyszerű adatokból képződik. Például:
o Halmaz: ugyanolyan típusú adatok együttese
o Lista: Hasonló a halmazhoz, de rendezett
o Struktúra: ilyenkor már többféle, különféle elemek
sorozatát tároljuk
 Illetve, a fentieket kombinálhatjuk, pl. struktúrába
ágyazott halmaz.
 NULL: definiálatlan adat.
Pár alapvető elnevezés:

 Adatbázis (DB=Database): Adott formátum és


rendszer szerint tárolt adatok együttese.
 Adatbázisséma: csakis az adatbázis STRUKTÚRÁJÁT
írja le!
 Adatbázis-kezelő rendszer (DBMS =Database
Management System)
 Rekord (sor,feljegyzés): Az adatbázisok alapvető
adategysége.

Egy DBMS főbb feladatai:

Tudjon…

 definiálni az adatstruktúrákat (adatbázisséma)


 adatokat aktualizálni (felvinni, törölni, módosítani,
lekérdezni)
 nagy mennyiségű adatot biztonságosan tárolni
 sok felhasználót egyidejűleg kiszolgálni
 több feladatot (lekérdezés, beszúrás, stb) egyidejűen
tudjon végezni.

Néhány ismertebb DBMS: MySQL, Oracle, Access

Ha egy adatbázis-alkalmazást akarunk készíteni, tudnunk


kell, hogyan épül fel:

Fizikai adatstruktúra: Ahol az adatok tárolódnak, fizikailag

DBMS: Ami az alatta lévő részt kezeli


Logikai adatstruktúra: Nem foglalkozik a fizikai tárolással,
hanem az adatok kapcsolatai alapján fogalmaz meg
lekérdezéseket. Ezen lekérdezéseket pedig a DBMS feladata,
hogy leképezze a fizikai szintre.

Felhasználói felület: Magáért beszél.


Adatmodellek:
Hierarchikus modell:
Fa struktúrában rendezett adatok. Egy szülőnek több
gyereke is lehet, de gyereknek csak egy szülője. Az
adatkeresés egyszerű, a fabejáró algoritmusok miatt. Törlés,
módosítás, beszúrás általában nem megy valami gyorsan
benne.

Hálós modell:
Hierarchikus továbbfejlesztése; A rekordok pointerekkel
kapcsolódnak egymáshoz, emiatt egy rekord akár több másik
rekordhoz is kapcsolódhat. A műveletek továbbra is lassúak.
set: egy szülő, és annak összes gyereke által alkotott csoport,
ahol a pointerek „körbefutnak” (piros)

Relációs modell:
Az adatokat és a köztük lévő kapcsolatokat 2 dimenziós
táblában tárolja; az azonos sorban lévő adatok alkotnak egy
relációt.
Az ilyen modellre épülő adatbáziskezelők az ún. RDBMS-ek.
Lekérdező nyelvük az SQL.
Objektumorientált modell:
Az OOP segítségével reprezentálja az adatokat, és azok
kapcsolatait.

Adatok definiálása: ODL (Object Definition Language)

Adatok lekérdezése: OQL (Object Query Language)

Adatbáziskezelő rendszerei az OOBDMS-ek.

Objektum-relációs modell:
A relációs modellt bővíti az objektumorientált lehetőségekkel.
ORDBMS: Object-Relational DBMS

Leíró/lekérdező nyelv: SQL3 szabvány

Egyed-kapcsolat diagram:
A relációs adatelemzés grafikus eszköze az effajta diagram.

Az egyed (entitás, entity): egy való világbeli objektum,


amelyről az adatbázisban információt tárolunk.

Fogalmak, példákkal:

 Egyedtípus: A felhasználó, mint fogalom (kvázi Class)


 Egyedpéldány: Egy konkrét felhasználó (kvázi Object)
 Egyedhalmaz: Az összes regisztrált felhasználó

Az egyedeket téglalappal jelöljük:


A tulajdonság (attribútum) nem más mint ami az egyedet
jellemzi

Tulajdonságtípus: felhasználói jelszavak

Tulajdonságpéldány: egy adott felhasználói jelszó

Tulajdonsághalmaz: az összes regisztrált jelszó

Jelölése ellipszissel történik:

A kulcs egy olyan attribútum, vagy azok halmaza, amely


egyértelműen meghatároz egy egyedet. Például ez lehet egy
userID, vagy egy felhasználónév. Fontos hogy a kulcs
minimális részhalmaz.

A kulcsokat aláhúzással jelöljük a diagramban.

Végül, az egyedek között létrehozhatunk kapcsolatokat.

Kapcsolattípus: pl. egy felhasználó létrehoz/küld egy


üzenetet. Ilyenkor kapcsolat lesz a felhasználó és az üzenet
egyedtípusok között. Ez azért kapcsolattípus, mert minden
felhasználó tud üzenetet küldeni.

Kapcsolatpéldány: az XYZ felhasználó létrehozza a 21.


sorszámú üzenetet. Ilyenkor már a konkrét példányok közötti
kapcsolatról beszélünk

Kapcsolathalmaz: egy adott hírfolyam összes üzenete (összes


felhasználó kapcsolata azok között amiket üzen)

Jelölése rombusszal történik:


Példa egy kulcs-érték diagramra:
Fontos megnézni, hogy az egyedekhez kapcsolódó
attribútumok ténylegesen leképezhetőek-e egy-egy elemi
adattípussal. Ugyanis egy relációs modell celláiban csakis
elemi adattípusok lehetnek.

Viszont, egyes attribútumokat nem lehet ilyen módon leírni.

Összetett attribútumok például ilyenek. Ezek maguk is


attribútumokkal rendelkeznek, emiatt általában struktúrára
képezzük le őket. (ami már elemi adattípusokból áll)
Jelölés: A struktúrát alkotó adattagokat újabb elliszisekkel
kötjük az összetett attribútumhoz.

Többértékű attribútumok pedig halmaz, vagy lista


adattípusra képződnének le.
Ezeket kettős ellipszissel jelöljük.

Ezek alapján módosítva az előbbi ábrát:


Ezek után már csak ki kell alakítanunk az egyedek közötti

kapcsolatokat.
Kapcsolatoknak lehetnek típusai. Az esetek nagy részében
ún. bináris kapcsolatokkal dolgozunk, azaz 1:1-hez
kapcsolatról beszélünk, azaz egy-egy egyed van mindkét végén.
Ilyenkor az mindkét egyedbe mutató vonalra nyilat teszünk
jelölésként.

Lehetnek ezen kívül „egy a többhöz” kapcsolatok is. Ilyenkor az


egyoldali vonalra rakunk nyilat.

Illetve lehetnek még N:M típusú kapcsolatok, melyek azt


jelentik, hogy több egyedpéldány kapcsolódik szintén több
egyedpéldányhoz.

Ezek alapján az ábra finomítása:

Érdemes kiemelni a Felhasználó és a Hírfolyam kapcsolatát,


egy felhasználó TÖBB hírfolyamot is létre tud hozni, de
egy hírfolyamot csakis egy felhasználó hozhat létre.
Hasonlóan az üzenetekhez.

Jelölhető, de nem kötelező, hogy egy egyedtípus teljesen


részt vesz-e a kapcsolatban. Jelölése duplavonallal.
Itt a jelölés azt jelenti, hogy csakis azon hírfolyamok vannak
benne az adatbázisban, amelyeket legalább egy felhasználó
követ. Azaz, egy hírfolyamhoz KELL hogy tartozzon egy
felhasználó, hogy létezzen.

Specializáló kapcsolatok:

Legyen a moderátor egy speciális felhasználó, akinek


minden joga megvan ami egy felhasználónak, plusz a
moderálási joga. Ennek jelölése:

Gyenge entitások:

A gyenge entitások olyan entitások, amelyeknek nincs egy


kulcs attribútumuk sem, amelyek meghatározzák
egyértelműen. Ezeknek a jelölése a dupla téglalap.

Ezeket viszont muszály valahogy megtalálnunk, ezért ún.


meghatározó kapcsolatokat vezetünk be. Ezeknek a
jelölése a dupla rombusz.

PÉLDA: Egy cégnél mindenki kap egy laptopot. A laptopnak


nincs modellszáma, stb, csakis a paramétereit tároljuk el róla.
Ilyenkor a laptopot birtokló dolgozó lesz az, aki meghatározza
egyértelműen a laptopot:

You might also like