1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 8. Előadás:

Slides:



Advertisements
Hasonló előadás
A Savaria Egyetemi Könyvtár Katalógusa Böngészés Keresés Találatok megjelenítése Adatbázis választás Olvasói tranzakciók.
Advertisements

ADATBÁZISOK.
Normalizáció A normalizáció egy táblázatszétbontó eljárás, mely ebből adódóan a relációs adatmodell kialakításában van segítségünkre. Hogy miért van erre.
A normalizálás az adatbázis-tervezés egyik módszere
4. gyakorlat Normalizálás.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 1. Gyakorlat Követelmények / SQL.
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
Adatbázis-kezelés.
Relációs adatbázisok készítése
A Krúdy Gyula Városi Könyvtár katalógusának használatáról…
2. GYAKORLAT E-K modellből relációs adatbázisséma.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Delphi programozás alapjai
SQL Structured Query Language
Funkcionális függés Redundancia 1NF, 2NF, 3NF
Savaria Egyetemi Könyvtár Katalógusa Böngészés Keresés Találatok megjelenítése Adatbázis választás Olvasói tranzakciók.
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
Számvitelszervezés Az adatmodelltől az adatbányászatig SZIE-KVA, október 15.
Adatbázis (alapfogalmak).
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
Szárnyas Gábor október 11.
az MSAccess programmal
Figyelem! Következő előadásunk megtekintése 100 évnél idősebb nézőink számára csak szülői felügyelet mellett ajánlott! A műsorban látható személyek és.
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 5. Nézettáblák létrehozása, módosítása és törlése.
1Gazdasági informatika II Gazdasági informatika II. Gyurkó György.
Az adatfeldolgozás forrásai
MSACCESS Bevezetés. Üzemeltetés Hozzáférés Jogosultságok Karbantartás Mentés Stb. Felhasználói felület Űrlapok Jelentések Menük Stb. Adatnézetek, funkcionalitás.
XML támogatás adatbázis-kezelő rendszerekben
Tervezés, Normalizálás
Dr. Krauszné Dr. Princz Mária Adatbázis rendszerek I.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Adatbázis kezelés.
1 Sramó András Adatbázis-technológia V. előadás Adatbázis-technológia 5. előadás Az SQL.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Adatbázis-kezelés Készítette: Asztalos Péter január 12.
Kulcsok meghatározása a táblákban
Adatbázis alapfogalmak
5. gyakorlat Fleiner Rita.
Blog Fülöp Dávid MCT, MCPD Egy blog sémája Use Case-ek – Blog áttekintése – Egy blogpost megtekintése – Blogpost írása – Blogpost.
Normálformák Takács Gábor mérnök informatikus, okl. mérnöktanár
Adatbázis-kezelés. Alapfogalmak Adat: –észlelhető, felfogható ismeret –jelsorozat –valakinek, vagy valaminek a jellemz ő je –tény, közlés Információ:
Ismerkedjünk tovább a számítógéppel
Információs rendszer fejlesztése 2. előadás
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben 2.2 Műveletek a.
Bináris kereső fák Itterátorok.
Iskolai számítógépes hálózat bővítése Készítette Tóth László Ferenc.
1 Copyright © 2004, Oracle. All rights reserved. Bevezetés.
Automatikus fizikai tervezési javaslatok XML adatbázisokhoz Balogh Bernadett Kresz Marcell Cseh Tamás.
Adatbázis-kezelés 1-2. adatbázis-kezelő rendszer 1.új adatbázisokat hozhassanak (adat definició 2.lekérdezések és módosítások (adat manipuláció) 3.Támogassa.
Adatbázisszintű adatmodellek
Adatkeresés az interneten
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke Mikroelektronika Laboratórium Tájékoztató
Adatbázisok 5. gyakorlat. Jövő hét utáni héten ZH! (Adatmodellezés, normalizálás) és kötprog doksi leadás (adatmodell rész)
Szakdolgozatok kezelése a MIDRA adatbázisban. 1. lépés Feltöltés Az elkészült, végleges szakdolgozatot a szerző, vagy megbízottja feltölti a MIDRA adatbázisba.
A TextLib használata egy felsőoktatási könyvtárban Lőrincz Andrea BGE Külkereskedelmi Kar Könyvtára V. Országos TextLib Konferencia Tatabánya, február.
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Kovács Gergely Péter Az egyed-kapcsolat modell
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Logisztikai projekt - gyakorlat Adatbázis-elmélet
Relációs adatmodell, normálformák
Adatbázis-kezelés 2. Relációs adatbázisok.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Előadás másolata:

1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 8. Előadás:

Alkalmazásvezérelt séma Legfontosabb MongoDB-ben, hogy a séma az alkalmazáshoz alkalmazkodjon. MongoDB jellemzői: Gazdag dokumentumok Beültetett, beépített, előre összekötött adatok Nincs külső JOIN Nincsenek megszorítások (FOREIGN KEY) Atomi operációk (1 dokumentumon belül) Nincs séma (de mégis jó, ha a dokumentumok hasonlítanak egymásra valamennyire) 2

QUIZ Melyik az egyedüli legfontosabb faktor, amely meghatározza a MongoDB séma készítését? o Kibővíthető legyen a séma o Ember által könnyen olvasható legyen o Az alkalmazáshoz alkalmazkodjon az adatminta o Harmadik normálformában legyen az adat 3

Normálformák és célok (poszt tábla) Poszt_idCimTestSzerzoszerzo 1“Elvis lives”“Yes, he 2“Mongolocks”“This 3“Hello 4 1.A módosítási anomáliák kiküszöbölése 2.Minimalizálni az újrakészítést, ha bővítést szeretnénk 3.Minden elérési minta egyértelmű legyen A legutolsó nem teljesül a MongoDB esetén, de nem is biztos hogy kell teljesüljön. Az elsőre ügyelünk, hogy ne forduljon elő.

{ "_id" : ObjectId("50ab0f8bbcf1bfe2536dc40b"), "body":“this is a blog body", "permalink" : "HKMCDonfjpXsVwErqiCL", "author" : "machine", "title" : "Bill of Rights", "tags" : ["kayak”, "tenor”, "parentheses”], "comments" : [ { "author" : "Barbera Lippman", "body":“This is a comment body", " " : }, { " " : "body":“This is another comment body", "author" : "Mikaela Meidinger" } ], "date" : ISODate(" T05:05:15.259Z„) } 5

QUIZ Második kollekció a users kollekció lesz: {_id:”Erlichson”,password:”ZZXXa789_”} Milyen adat-minta nincs rendesen támogatva a blog séma által. o Előhozni a legújabb blog bemenetet a blog honlaphoz o Előhozni minden információt, hogy meg lehessen jeleníteni egy blogot o Összeszedni az összes kommentet, amelyik egy személyhez tartozik o Megadni tag-ra a tartalomjegyzéket 6

Alternatív séma a bloghoz PosztokKommentektagek _id: Title:Post_id:Tag: Body:Author:Post_id: Author:Author_ Date:Order: Body: 7 Mivel nincs semmiféle JOIN lehetőség a MongoDB-ben, manuálisan kell összeszedni az infót több helyről, hogy meg lehessen jeleníteni. Ha ugyanolyan struktúrát kaptunk, mint a relációs adatbázisban, akkor valahol, valami rossz.

Megszorítások nélküli élet A beépítés segít. PREJOIN QUIZ Mire vonatkozik az a mondás, hogy megszorítás nélküli élet: o Mindennap úhu élni, mintha az utolsó lenne o Elmondani mindent, amit akarunk, amikor akarjuk o Konzisztensként tartani az adatokat, még ha a MongoDB nem támogatja az idegen kulcsokat, akkor is o Golyóálló mellény elhagyása 8

Élet tranzakciók nélkül Tranzakció – ACID (Atomicity, Consistency, Isolation, Durability) Atomi operációk (MongoDB-ben) 1 dokumentumon elvégzett operációkat nem látja addig senki, amíg meg nem történt a módosítás Újra strukturálniSzoftver imlementációval megoldani lockot Tolerálni az inkonszisztenciát

QUIZ – tranzakciók nélküli élet Mely utasítások működnek atomian egy dokumentumon belül? Pipázzuk ki mindeniket, amelyik talál.  Update  findAndModify  $addToSet (egy update-n belül)  $push egy update-n belül 10

1 az 1-hez reláció MongoDB-ben Alkalmazott: CVÉpület: földszintPáciens: beteglap Alkalmazott és cv kollekció. Alkalmazott kollekcióba beépíteni a CV kollekciót. CV kollekcióba beépíteni az alkalmazott kollekciót. Minden attól függ, hogyan kérdezzük le az adatokat, mi az elsődleges szempont. Lényeges az elérési frekvencia. Ha a CV-t keveset használjuk, lehet, hogy érdemes külön kollekcióba tenni, hogy ne hozzuk be minden alkalommal a memóriába a CV-t is, amikor az alkalmazott adatokkal dolgozunk. Másik lényeges dolog az adat kiterjedése. Adatok atomicitása 11

QUIZ: 1 az 1-hez relációk Mikor ésszerű két dokumentumot, amelyik egy-az- egyhez kötődik egymáshoz különálló kollekciókban tartani?  Mert atomi módostást szeretnénk mindkét dokumentumon egyszerre  Hogy lecsökkentsük a működő részét az alkalmazásnak  Hogy külső kulcs megszorítást idézzünk elő  Ha az egyesített dokumentum mérete meghaladja a 16 MB-ot 12

1 a sokhoz (1:n) reláció város: személy People kollekció:{name:”Otto”, city:{name:”Csikszereda”,zip:153170}} Ilyen esetben igazi összekötés javasolt. 1 a kevéshez kapcsolat Blog posztok: kommentek Blog posztok: tagek 13

QUIZ - 1 a sokhoz (1:n) reláció Mikor ajánlott az egy a sokhoz relációkat több kollekcióban tartani? o Mindig o Amikor a sok, az tényleg sokat jelent o Amikor a sok az csak egy párat jelent o Soha 14

Sok a sokhoz reláció (n:m) Könyvek: szerzők hallgatók: tanárok Kevés a kevéshez esetben haszálhatjuk a beágyazást. Nagyon meg kell gondolnunk, minden az alkalmazástól függ és attól, hogy milyen kérdésekre kell választ adjon a rendszer, s azt milyen strukturánál tudjuk a legkönyebben megadni. Pl., ha a tanárokat beágyaztuk a hallgatók kollekcióba, egy új tanárnak a rendszerbe való bevétele probléma lehet 15

A beágyazás előnyei Javított olvasási teljesítmény Egy körút az adatbázishoz 1 ms, míg megtalálja az első bitet a lemezen, de utána folytonosan olvas, mert az adatok folytonosan következnek. 16

Fák Home: outdoors: winter: snow Gyökér: házon kívül: tél: hó Gyökér: Informatika: Adatbázisok: SQL könyvadat(konyv_id, cim, szerzo) targyszo(_id,megnevezes,szulo_id) konyvtargyszo(konyv_id,targyszo_id) MongoDB-ben vagy a szülők vagy a leszármazottak listáját kell nyilvántartani. 17

QUIZ – fák Adott a következő e-kereskedelmi tipikus kategória-hierarchia kollekció, melynek neve categories { _id: 34, name : "Snorkeling", parent_id: 12, ancestors: [12, 35, 90] } Mely kérdés találja meg a snorkeling kategória összes leszármazottját: o db.categories.find({ancestors:{'$in':[12,35,90]}}) o db.categories.find({parent_id: 34}) o db.categories.find({_id:{'$in':[12,35,90]}}) o db.categories.find({ancestors:34}) 18

Mikor denormalizáljunk? 1:1 esetben Ágyazzuk be 1:N esetben Ágyazzuk be az 1-be a sokat N:M esetben (sok a sokhoz) kössük össze azonosítókkal 19

Blob-ok kezelése Nagy állományok kezelése Blob (Binary large object) GRIDFS(16MB) Darabokban (chunks) tároljuk. 20