5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:



Hasonló dokumentumok
Adatbázisok I Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

SEGÉDLET ADATBÁZISKEZELÉS I. című tantárgy gyakorlataihoz. Összeállította: Baksáné Varga Erika. egyetemi tanársegéd.

ADATBÁZIS-KEZELÉS. Relációs modell

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

Adatbázisok I. Egyed-kapcsolat formális modell. Egyed-kapcsolat formális modell. Kapcsolatok típusai

Adatmodellek. 2. rész

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

Adatbázis, adatbázis-kezelő

Adatbázisok gyakorlat

Adatbáziskezelés. Indexek, normalizálás NZS 1

Adatmodellezés. 1. Fogalmi modell

ADATBÁZISKEZELÉS ADATBÁZIS

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Adatbázis rendszerek 1. 5.Gy: ER relációs konverzió

Informatikai alapismeretek Földtudományi BSC számára

1. Gyakorlat. Metaadat: az elsődleges adatokra vonatkozó információ (adat a normál adatról).

Adatbázisrendszerek 7. előadás: Az ER modell március 20.

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

ADATBÁZIS-KEZELÉS ALAPOK I.

Adatbázis-kezelés. 2. Ea: Kirakós (2013) Adatbázis-kezelési alapok. v: Szűcs Miklós - ME, ÁIT. 1.o

A relációs adatmodell

Adatbázis-kezelés. alapfogalmak

Adatbázis-kezelés alapjai 1. Ea: Kirakós. Adatbázis-kezelési alapok

ABAP dictionary objektumok SAP adatmodell Táblák kezelése. Az SAP programozása 1. Tarcsi Ádám

B I T M A N B I v: T M A N

Adat és folyamat modellek

7. Gyakorlat A relációs adatmodell műveleti része

Adatbázis rendszerek Definíciók:

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Adatbázis rendszerek Ea: Kirakós. Adatbázis-kezelési alapok

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Adatbázis rendszerek 1. 4.Gy: ER modell

Adatbázismodellek. 1. ábra Hierarchikus modell

8. előadás. Az ER modell. Jelölések, az ER séma leképezése relációs sémára. Adatbázisrendszerek előadás november 14.

Adatigények. Koncepcionális séma (magas szintű modell) Logikai séma (alacsony szintű modell) Belső séma (fizikai szerkezet, hozzáférési módok)

II. év. Adatbázisok és számítógépek programozása

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatbázis rendszerek. dr. Siki Zoltán

modell, amiben csak bináris sok-egy kapcsolatok (link, memberowner,

Adatbáziskezelés alapjai ADATBÁZISKEKZELÉS 1

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

17. A 2-3 fák és B-fák. 2-3 fák

Adatbázis rendszerek SQL nyomkövetés

Adatbázis rendszerek Gy: MySQL alapok

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Adatbáziskezelés 1 / 12

Relációs adatmodellezés

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

B I T M A N B I v: T M A N

Bevezetés: az SQL-be

Relációs modell és relációs algebra. ER konvertáása reációs modellre,példák relációs algebrára Személetes ismertetés

ADATBÁZIS-KEZELÉS. Modellek

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Több felhasználó párhuzamosan olvashatja, bővítheti, módosíthatja és törölheti az adatokat Az adatok konzisztenciájának és biztonságának biztosítása

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

NORMALIZÁLÁS. Funkcionális függés Redundancia 1NF, 2NF, 3NF

Adatbázis-kezelés. 3. Ea: Viszonyított betűszámtan (2013) Relációs algebra alapok (átgondolt verzió) v: Szűcs Miklós - ME, ÁIT. 1.

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

2 Access 2016 zsebkönyv

Adatbázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián. 1. gyakorlat

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázis Rendszerek II. 3. Ea: MySQL alapok

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Adatbázisrendszerek 8. előadás: Az Enhanced Entity-Relationship modell március 27.

Adatbázis rendszerek I

ADATBÁZIS RENDSZEREK I BEADANDÓ

Mezők viszonya a relációs adatbázis tábláiban

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Adatbázis-kezelés az Excel 2013-ban

AWK programozás, minták, vezérlési szerkezetek

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

BASH script programozás II. Vezérlési szerkezetek

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Óravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft Budapest, Szőlő u 21. Tel/fax: / krea@krea.

Adatbázis terv- Könyvtár

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Bevezetés: Relációs adatmodell

Webprogramozás szakkör

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

ADATBÁZIS-KEZELÉS Demetrovics Katalin

ADATBÁZISOK E-K MODELLBŐL RELÁCIÓS MODELL. Debrenti Attila

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Térinformatikai algoritmusok Elemi algoritmusok

Táblák és a közöttük / az adatmezők közötti kapcsolatok grafikusan megjelenítve. 7 tábla, adatmezőik, bennük elsődleges és külső kulcsok

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF. Adatbázisrendszerek előadás november 3.

Adatbáziskezelés alapjai. jegyzet

Adatbázis rendszerek Ea: A rendes állapot. Normalizálás

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

Adatbázisok* tulajdonságai

Térinformatikai algoritmusok Elemi algoritmusok

Adatbázis-kezelés Access XP-vel. Tanmenet

11. Gyakorlat Adatbázis-tervezés, normalizálás. Redundancia: egyes adatelemek feleslegesen többször is le vannak tárolva

Temporális adatbázisok. Kunok Balázs szakdolgozata alapján

Adatbázisok elmélete 9. előadás

Tájékoztató. Használható segédeszköz: -

Adatbázis Rendszerek II. 3. SQL alapok

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Átírás:

5. Gyakorlat 5.1 Hálós adatbázis modell műveleti része NDQL, hálós lekérdező nyelv: A lekérdezés navigációs jellegű, vagyis a lekérdezés megfogalmazása során azt kell meghatározni, hogy milyen irányban mozgassuk az egyes rekord pointereket, hogy a kívánt rekord előfordulásokat érintsük a mozgás során. A rekord pointer mozgatására a következő lehetőségek vannak: p 1 feltétel (rekord) : a megadott rekordtípuson belül az első olyan rekord előfordulásra áll rá, mely teljesíti a paraméterként megadott feltételt. p n feltétel (rekord) : a megadott rekordtípuson belül a következő olyan rekord feltételt. o (set, rekord) : a megadott set-típuson belül megkeresi a megadott rekordtípus kijelölt előfordulását, majd elmegy ezen előforduláshoz tartozó tulajdonos rekord előforduláshoz. m 1 feltétel (set, rekord) : a megadott rekordtípuson belül az első olyan rekord feltételt és benne van a set tagrekord előfordulásai között, valamint gyereke a set tulajdonos rekord előfordulásának is. m n feltétel (set, rekord) : a megadott rekordtípuson belül a következő olyan rekord feltételt és benne van a set tagrekord előfordulásai között, valamint gyereke a set tulajdonos rekord előfordulásának is. A fenti műveleteket egy gazdanyelvi programozási nyelvbe beágyazva használjuk, mert egyes lépéseket rendszerint ismételten is végre kell hajtani, egyes lépések pedig csak feltételesen kerülnek meghívásra. A hívó programban viszont tudni kell, hogy az előző lépés sikeresen végrehajtódott-e, hiszen egyes lépéseknek csak akkor van értelme, ha az előző lépések mindegyike lefutott. A sikeres végrehajtás jelzésére speciális osztott hozzáférésű változó szolgál, melyet az adatbázis állít be, és a program olvashatja, így értesülve a végrehajtás eredményességéről. Ezen változó azonosítására mi most a DB_STATUS jelölést alkalmazzuk, melynek értéke 0 ha sikeres a végrehajtás, és >0 ha sikertelen a végrehajtás. A fenti felírás pontosan megadja a végrehajtandó műveletsort, viszont formailag nem illeszkedik még a gépi feldolgozásra, hiszen például indexeket is tartalmaz. Ezért a fenti műveleteket át kell alakítani egy parancssorrá, melyben az egyes navigációs lépéseket a megfelelő NDQL utasításokkal helyettesítjük. Mintarendszerünkben az alábbi navigációs parancsok értelmezettek: FIND FIRST NEXT rekordtípus USING feltétel Keresés egy rekordtípus rekord előfordulásai között a minta szelekciós feltétel alapján. A FIRST kulcsszó az első előfordulást, NEXT a következő rekord előfordulást adja vissza. A parancs a p 1 feltétel(rekord) ill. p n feltétel(rekord) műveleteket valósítja meg.

FIND FIRST NEXT rekordtípus IN CURRENT setnév SET USING feltétel Keresés egy rekordtípus rekord előfordulásaira a megadott set-előfordulás tagrekordjai között. A FIRST kulcsszó az első rekord előfordulást, a NEXT a következő rekord előfordulást adja vissza. A parancs az m 1 feltétel(set, rekord) és m n feltétel(set, rekord) műveletet valósítja meg. Az a set-előfordulás fog kiválasztódni, amely a pointerrel kijelölt tulajdonos rekord előforduláshoz tartozik. A feltétellel szűkíthető az érintett rekordok köre. FIND OWNER OF rekordtípus IN CURRENT setnév SET Keresés a megadott típusú rekord előfordulás tulajdonos előfordulását adja vissza a megadott set-hez tartozóan. A parancs az o(set, rekord) műveletet valósítja meg. Példa: Kérdezzük le a miskolci kiadóknál megjelent könyvek szerzőinek a nevét az adott séma mellett: Rekord: Szerző (név, kód, lakcím(város, utca, hsz)) Kiadó (név, cím) Könyv(cím, kód, ár, téma(kulcsszavak*)) Set: S1 (tulajdonos: Szerző; tag: Könyv) S2 (tulajdonos: Kiadó; tag: Könyv) p 1 cim= Miskolc (kiadó) while (DB_STATUS = = 0) { while (DB_STATUS == 0) { m 1 (S2, könyv) while (DB_STATUS = = 0) { while (DB_STATUS == 0) { o(s1, könyv) printf("%s \n", név) printf("%s \n", név) m n (S2, könyv) NEXEC FIND FIRST kiadó USING cim= Miskolc NEXEC FIND FIRST könyv IN CURRENT S2 SET NEXEC FIND OWNER OF könyv IN CURRENT S1 SET NEXEC FIND NEXT könyv IN CURRENT S2 SET } } p n cim= Miskolc (kiadó) NEXEC FIND NEXT kiadó USING cim= Miskolc } } Az alap NDML utasítások az alábbi műveletekre terjednek ki: STORE rekordtípus : új rekord felvitele ERASE rekordtípus : rekord törlése MODIFY rekordtípus : rekord módosítása

5.2 Relációs adatbázis modell strukturális része Elemei: domain, mező (mindig egyértékű!), rekord, reláció, adatbázis A rekordok közötti kapcsolat mezőértékeken keresztül valósul meg! Domain: értelmezési tartomány, mely megadja az elemhez tartozó értékkészletet, és meghatározza a végrehajtható műveletek körét. - Szabvány: NUMBER(n, m), CHAR(n), DATE - Egyedi Mező: az adatbázis struktúra azon egysége, melyből a rekordok felépülnek; a mező rendszerint a legkisebb DB struktúra egység (egyértékű, atomi). A mezők megadásánál meg kell adni a domain-t (típust) és az integritási feltételeket. Rekord: adatbázis struktúra elem, mely a logikailag összetartozó, és egységként kezelhető elemi adatértékek együttesét jelöli. A mezősorrend rögzített (séma), köthetők hozzá integritási feltételek. Kulcs, rekordkulcs: a keresés, az azonosítás szempontjából meghatározó mező vagy mezőcsoport, mely a rekord azonosítására szolgál; azaz értéke nem ismétlődik és egyetlen egy rekordban sem üres az értéke. Fontosabb típusai: elsődleges kulcs, jelölt kulcs, idegen kulcs, szuper kulcs, index kulcs. Index: az állomány rekordjainak kulcsértékét és a rekord pozíciót tároló szerkezet, melyben a bejegyzések kulcsérték szerinti sorrendben helyezkednek el, gyors keresést lehetővé téve. Idegen kulcsmező: olyan mezőcsoport a relációsémában, melynek célja egy megadott másik reláció valamely rekord előfordulásának az egyértelmű kijelölése. Kapcsoló kulcs: az idegen kulcs egy másik elnevezése, utalva arra, hogy az idegen kulcs kapcsoló szerepet tölt be. Reláció: az azonos szerkezetű rekord előfordulások névvel ellátott halmaza; tárolási egység a relációs adatbázisban. Séma: az AB szerkezeti sémája; az AB elemek, objektumok szerkezetének leírása. ER modell konverziója relációsra ER Egyed Tulajdonságok Normál egyértékű Kulcs Összetett Származtatott Többértékű Relációs Reláció (azonosító kulccsal) Mező Rekordkulcs mező, aláhúzással jelöljük, integritási feltétellel biztosítjuk az azonosító szerepét Minden komponense külön mező Vagy mező, vagy nem kell letárolni Az ER-ben külön egyedként vesszük fel, elemezzük kapcsolatát az eredeti egyeddel és eszerint konvertáljuk

Kapcsolatok Mezőértékeken keresztül valósulnak meg 1:1 Kapcsoló kulcs + Unique integritási feltétel 1:N Kapcsoló kulcs N:M Az ER modellben a kapcsolatot vegyük fel egyedként, így az eredeti több-több kapcsolatból két egy-több kapcsolat lesz, és eszerint konvertáljuk Kötelező jelleg A kapcsolatot leíró kapcsoló/idegen kulcshoz Not Null integritási feltétel Objektum-orientált Kapcsolatként konvertáljuk elemek (EER: IS_A, HAS_A) Hova kerül a kapcsoló kulcs? Új mező (technikai, a kapcsolatot tárolja), az ER modellben nincs. 1:1 kapcsolat leírásakor: mindegy melyik rekordtípusba tesszük + Unique integritási feltételt kötünk hozzá 1:N kapcsolat leírásakor: abba a rekordtípusba vesszük fel, amelyikhez a kapcsolódó másik rekordtípusból biztosan egy rendelhető (pl. az Autó Ember egyedek között az ER modellben 1:N kapcsolat van, ekkor a relációs modellben az Autó rekordtípusba tesszük a kapcsoló kulcsot, ami az Ember rekordtípusra fog hivatkozni) N:M kapcsolat: át kell konvertálni 1:N kapcsolatokra; az új kapcsoló rekordba teszünk két kapcsoló kulcsot az összekapcsolt két rekordhoz Példa: Internetes könyváruház adatbázisának megtervezése. ER: Kártya: ügyfél által birtokolt internetes fizetéshez elfogadható bankkártyák

Relációs: Konverziós példa: A példában a relációs modellben az adattípusok megadása tetszőleges, a relációk harmadik sorában a mezőkhöz kötött integritási feltételeket adtuk meg (lásd a köv. gyakorlaton). Feladatok ER relációs adatmodell konverzióra: 1. Videókazetta kölcsönző Kazetta [ id, cím, szereplők[ ], kiadási év, kölcs.díj ] Kölcsönző [ szigsz, név, lakcím {irszám, város, utca, hsz} ] Kölcsönzés N:M kapcsolat [ dátum ] 2. Városnéző utazások adatbázisa Utazás [ id, cél, ind.dátumok[ ], ár, utazás módja, ellátástípus, szállástípus ] Résztvevő [ szigsz, név, lakcím {irszám, város, utca, hsz} ] Részt vesz N:M kapcsolat [ dátum ] 3. Internetes repülőjegyfoglalási rendszer Repülőjegy [ id, dátum, járatszám, osztály, ülés, ár ] Vásárló [ szigsz, név, lakcím {irszám, város, utca, hsz} ] Lefoglal 1:N kapcsolat [ fogl.dátum ]