Adatbázis rendszerek Molnár Bence Szerkesztette: Koppányi Zoltán és Berényi Attila
A tárgyról
A tárgyról 2 kredit 1 zárthelyi 2 házi feladat 70%-os jelenlét hibrid előadások http://web.fmt.bme.hu/abr http://www.fmt.bme.hu/fmt/htdocs/oktatas/ tantargy.php?tantargy_azon=bmeeoftmkt3
A tárgyról Molnár Bence molnar.bence@fmt.bme.hu e-mail tárgya: [ABR] konzultáció (K 131) vélemények, visszajelzések
A tárgy célja Az adatbázisok elméletével kapcsolatos alapvető fogalmak megismertetése Az adatbázisok használatának bemutatása mérnöki alkalmazásokban MS Access alapjainak bemutatása, használatának elsajátítása (szerk, infra) Az ún. objektum relációs téradatbázisok alapjainak és használatának elsajátítása PostgreSQL + PostGIS eszközökkel (földmérő)
Tematika (lite) Adatbázisok elmélete alapfogalmak relációs algebra adatbázis-tervezés Adatbázisok gyakorlati alkalmazása SQL térinformatikai adatbázisok
Házi feladat (szerk, infra) Adatbázis tervezés: alfanumerikus adatbázis (plusz pont jár, ha a mérnöki gyakorlatból vett példán alapul) megvalósítás: a megtervezett adatbázis létrehozása, feltöltése, és lekérdezések MS Access segítségével
Házi feladat (földmérő) Adatbázis tervezés: gyakorlati térinformatikai adatbázis tervezése megvalósítás: megtervezett adatbázis létrehozása, feltöltése, és térbeli lekérdezések (PostgreSQL + PostGIS, ehhez szervert biztosítunk) megjelenítés QGIS-ben
Miből tanulhattok? Jeffrey D. Ullmann - Jennifer Widom : Adatbázisrendszerek, Alapvetés, PANEM, 2008
Miből tanulhattok? A diasorokat folyamatosan (előadás után) feltöltjük a honlapra Segédlet a házi feladatokhoz (dokumentum és video) PostgreSQL: http://www.postgresql.org/ PostGIS: http://postgis.refractions.net/ Google...
Adatbázisok a mindennapokban
Adatbázisok a hétköznapokban Hol használjuk őket? mindenhol... vásárlás, utazás, telefonálás, internetezés, sportolás, stb... Jelentőségük Knight Capital Group...
Adatbázisok a hétköznapokban
Adatbázisok a hétköznapokban A világ legnagyobb adatbázisai Helyezés Név Cél 1 Max Planck Intézet Tudományos kutatás 2 NERSC Tudományos kutatás 3 AT&T Távközlés 4 Google Internetes keresés 5 Sprint Távközlés 6 ChoicePoint Kormányzati, közösségi és üzleti jellegű információk megosztása 7 YouTube Videomegosztás 8 Amazon Kiskereskedelem 9 CIA Titkosszolgálat 10 USA Kongresszusi Könyvtár Könyvtári szolgáltatások
Adatbázisok az építőmérnöki gyakorlatban Folyóiratok, cikkek adatbázisai: ASCE: http://cedb.asce.org/ Szabványok (IEEE, ISO, EN, MSz,...) Szakági adatbázisok: Talajtani: http://mta-taki.hu/hu/osztalyok/kornyezetin formatikai-osztaly/terkepi-adatszolgaltatas http://www.geoshop.hu kutatás
Táblázatkezelőktől az adatbázisokig
Táblázatok
Hogyan néz ki egy táblázat? Név Lakcím Telefonszám Végzettség Munkahely Holnap Péter Budapest 999-9999 Gépészmérnök Szerszámgyártó Zrt. Tóth István Cegléd 999-9928 Építőmérnök Út kivitelező Nyrt. Nagy Ferenc Budapest 999-9954 Közgazdász Elszámolok Kft. Kiss Pista Budapest 999-5864 Érettségi Út kivitelező Nyrt.
Hogyan nézz ki egy táblázat? Oszlop=Attribútum Név Lakcím Telefonszá m Holnap Péter Végzettség Munkahely Budapest 999-9999 Gépészmérnök Szerszámgyártó Zrt. Tóth István Cegléd 999-9928 Építőmérnök Út kivitelező Nyrt. Nagy Ferenc Budapest 999-9954 Közgazdász Elszámolok Kft. Kiss Pista Budapest 999-5864 Érettségi Út kivitelező Nyrt. Sor=Rekord Cella=Mező
Mit könnyű benne csinálni? Kitölteni (azaz előnyök :) Oszlopot törölni, hozzáadni Sort törölni, hozzáadni Származtatott cellákat számítani Keresni, bonyolult számításokat végezni, speciális adatok levezetni? Nagy adathalmazokat kezelni?
Problémák a táblázatokkal Nagyméretű tábla nehezen kezelhető sok oszlop sok sor Nehézkes keresés a táblában Különböző táblák összekapcsolása Konzisztencia Speciális keresések (lekérdezések)
Adatbázis? Az adatbázisok használata indokolt, ha: nagy mennyiségű adatunk van, az adatoknak sok attribútuma definiált, fontos a konzisztencia, inhomogén típusú adatok, összetett lekérdezéseket kívánunk végrehajtani. A gyakorlatban nem csak nagy adattömegek esetén alkalmazzák.
Alapfogalmak
Alapfogalmak Adat: (adatbázisban tárolt) érték. statikus: kézi vagy automatikus beavatkozásig változatlan (pl. bankszámla-egyenleg). önmagában nincs jelentése. Információ: olyan adat, amely a feldolgozás során értelmet nyer. Dinamikus: a tárolt adatok függvényében és a feldolgozás, megjelenítés (képernyő/nyomtatott jelentés) hatására is változik/változhat. Összefoglalva: az adat az, amit tárolunk, az információ pedig, amit kinyerünk (GIS új adat levezetése).
Alapfogalmak Metaadat: adat az adatról. A metaadat koncepció általában az elektronikusan archivált vagy megjelenített adatra vonatkozik és leírja az adat fájlok definícióját, struktúráját és kezelésének módját, hogy a rögzített és archivált adatok használatát megkönnyítse. Adatbázisok esetén pl.: az adatbázisban található összes tábla nevét, méretét és sorainak számát tartalmazó tábla.
Alapfogalmak Adatmodell: tulajdonképpen az adatok logikai szerkezetének a leírása Az adatmodell a logikai adatbázis szerkezeti leírását foglalja magában, nevezetesen azonos jellemzőjű információk logikai modellezését a rajtuk végezhető logikai műveletek meghatározását tartalmazza. Az adatmodell tehát mindig szerkezeti és műveleti részből tevődik össze. Az adatmodell feladata, hogy a világban található dolgokról, individuumokról számítógéppel könnyen feldolgozható formálisan leírható adatok tárolásához megfelelő szerkezetet, keretet adjon, illetve ezek lekérdezhetőségét, visszakeresését is biztosítani tudja zárt matematikai alakban. (Wikipédia) Logikai modell: az adatmodell alapján az felhasznált adatok rendszerét és kapcsolatait írja le.
Adatmodellek Hierarchikus Hálós Relációs Objektum orientált
Adatbázis vs. Adatbázis kezelő Adatbázis (AB, vagy Database, DB): az adatok és azok rendszere. németül adatbank: Datenbank Adatbázis kezelő rendszer (ABKR vagy Database Managment System, DBMS): az adatok manipulálást, tárolását, létrehozását, stb... végző programok. Gyakorlatban az adatbázisokat ABKR-rel hozzuk létre. Az egyes ABKR-ek bizonyos adatmodelleket támogatnak, így az ABKR meghatározza az adatbázis adatmodelljét is.
Példák Adatbázisok: világ legnagyobb adatbázisai dia Adatbázis kezelő rendszerek: MS Access, SQL Server (Microsoft) PostgreSQL (Open Source, közösségi) MySQL (GPL, kereskedelmi, Oracle) Oracle (kereskedelmi, Oracle) CouchDB (Open Source, Apache) SQLite (Open Source, Richard Hipp)
Adatbázis szintjei - fizikai A fizikai szinten az adatok tényleges tárolása és elérése történik hagyományosan a háttértáron (merevlemezen).
Adatbázis szintjei - fogalmi A fogalmi (logikai) szinten írjuk le a az adatok típusát, kapcsolódási módját, stb..., melyeket az adatmodell határoz meg. Vagyis az adatmodell segítségével írjuk le az adatbázis fogalmi modelljét (értsd: ami a táblák tulajdonságai, oszlopnév, típusok, kapcsolatok, stb...).
Adatbázis szintjei - nézet A megalkotott adatmodellen keresztül az adatokat különböző módon tudjuk megjeleníteni; ezek a nézetek. A nézetek megválasztásának a módját a konkrét alkalmazás dönti el ill. az igények specifikálják.
Adatbázis! No widely accepted exact definition exists for DBMS (Wikipedia)
Adatbázisok története
Adatbázisok története Mikortól? 1960-as évek eleje (első hivatalos említés 1962, Oxford szótár: data-base) Az adatbázisok történetét a hozzájuk kapcsolódó adatmodellekkel mutatjuk be.
Korai adatbázismodellek hierarchikus modell
Korai adatbázismodellek hálós adatmodell
Relációs adatmodell 1969 (1980-) rugalmas, könnyen bővíthető széles körben elterjedt áttekinthető a kapcsolatok nem definiáltak a modellben matematikailag jól definiált (relációs algebra), halmazelméletből levezetett
Objektum orientált adatmodell A gyakorlati adatbázis kezelő rendszerekben (ABKR) az adatok tárolására félig, vagy ritkán alkalmazott paradigma (nem elég hatékony tárolás, keresés) A programozási gyakorlatban terjedt el
NoSQL adatbázisok Not only SQL napjainkban indultak hódító útjukra eltérő tárolási módszerek nem SQL alapú lekérdezések Példák: dokumentum adatbázisok: félig strukturált adatok tárolására, a web (2.0) inspirálta; gráf adatbázisok.
Gráf adatbázisok
CouchDB Apache CouchDB has started. Time to relax. dokumentum alapú web-es környezetben alkalmazott curl http://127.0.0.1:5984/ { } "couchdb": "Welcome", "version":"1.1.0"
Összefoglalás Adatbázisok a mindennapokban Táblázatkezelők és adatbázisok Alapfogalmak információ, adat, metaadat, adatmodell adatbázis adatbázis kezelő Adatbázisok története
Jövő órán Relációs algebra alapjai Miért fontos?
Forrás Wikipedia http://hu.wikipedia.org/wiki/adatb%c3%a1zis http://en.wikipedia.org/wiki/graph_database http://en.wikipedia.org/wiki/database http://guide.couchdb.org J. D. Ullman J. Widom: Adatbázisrendszerek M. J. Hernandez: Adatbázis-tervezés Gajdos Sándor: Adatbázisok Dominich Sándor: Adatbáziskezelő rendszerek http://www.bigonehost.com
Köszönöm a figyelmet! Adatbázis rendszerek