Adatbázis rendszerek Molnár Bence Szerkesztette: Koppányi Zoltán
A tárgyról
A tárgyról 2 kredit 1 zárthelyi 3 házi feladat 70%-os jelenlét http://abr.fmt.bme.hu http://www.epito.bme.hu/adatbazis- rendszerek
A tárgyról Molnár Bence molnar.bence@epito.bme.hu e-mail aktív tárgya: [ABR] e-mail cím használat a neptunban E-mail cím hivatalosra állítása a neptunban 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 használatának elsajátítása Projekt szemlélet kialakítása bemutatása,
Tematika Adatbázisok elmélete alapfogalmak relációs algebra adatbázis-tervezés Adatbázisok SQL gyakorlati alkalmazása
Házi feladat Adatbázis specifikáció: célok megfogalmazása és igények 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 Online felület 3 feladatrész Projekt jellegű folytatva megvalósítás, egymás feladatait Az együttműködéshez fontosak a határidők, ezért a határidők szigorúan betartandóak Kommunikáció az online felületen folytatható Anonimitás Egységesség Visszakövethetőség
Miből tanulhattok? Jeffrey D. Ullman - Jennifer Widom : Adatbázisrendszerek, Alapvetés, PANEM, 2008
Miből tanulhattok? A diasorokat folyamatosan (előadás után) feltöltöm a honlapra Segédlet a házi feladatokhoz PostgreSQL: PostGIS: Google... http://www.postgresql.org/ http://postgis.refractions.net/
Előző év http://abr.fmt.bme.hu?year=2015
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 (tőzsde, 2012)...
Adatbázisok a hétköznapokban
2014
2013
Adatbázisok a hétköznapokban A világ legnagyobb adatbázisai (2007) 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 http://www.hilti.hu http://www.vizugy.hu
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, ) Katalógusok Szakági adatbázisok: Talajtani: http://mta-taki.hu/hu/osztalyok/kornyezetinformati kai-osztaly/terkepi-adatszolgaltatas http://www.geoshop.hu kutatás
Mikor használunk adatbázisokat? Adat Sok Meglévő Folyamatosan bővülő (mérések) Nagy változatosság Kategóriába sorolhatóak Elemzés Statisztika Rendszeres elemzés Nem szakértők számára előkészített Sok szempont alapján egyszerre
Mikor NEM használunk adatbázisokat? Adat Becsült, jövőbeli adatok Homogén adatok Elemzés Eredmény nem lehet valószínűségi változó Egyszeri eredmény (időigény) Pár számból, feladatok képlettel számítható
Táblázatkezelőktől az adatbázisokig
Hogyan néz ki egy táblázat? Név Lakcím Telefonszám Holnap Péter Budapest 999-9999 Gépészmérnök Szerszámgyártó Zrt. Tóth István Cegléd É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. 999-9928 Végzettség Munkahely
Hogyan nézz ki egy táblázat? Oszlop=Attribútum Név Lakcím Holnap Péter Telefonszá m Végzettség Munkahely Budapest 999-9999 Gépészmérnök Szerszámgyártó Zrt. Tóth István Cegléd É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. 999-9928 Sor=Rekord Cella=Mező
Mit könnyű benne csinálni? (azaz előnyök :) Kitölteni 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? (Pivot tábla, Vlookup)
Problémák a táblázatokkal Nagyméretű sok oszlop sok sor Nehézkes tábla nehezen kezelhető 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 végrehajtani. A kívánunk 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 a felhasznált adatok rendszerét és kapcsolatait írja le.
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 Management 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) MariaDB (Open Source, közösségi) 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 Edgar Codd (1980-) rugalmas, széles könnyen bővíthető 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 Néhány éve 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" }
Relációs adatmodell alapfogalmak Szerkezeti fogalmak: tábla (kapcsolat/reláció realizálása), sor (rekord), tulajdonság/jellemző/oszlop (mező), speciális mezők (pl. összetett, számított, többértékű). mezőtulajdonságok (NOT NULL, DEFAULT)
Relációs adatmodell alapfogalmak Értékekkel kapcsolatos fogalmak: számok (smallint, int, bigint, float, double, ), szöveg/karakterlánc (varchar(x), text), logikai, NULL: nem 0, nem szóköz (' '), nem üres karakterlánc (''), pl.: név előtagok nyilvántartása, speciális típusok: bináris, geometria, egyedi.
Ö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 Miért algebra alapjai 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 https://www.db.bme.hu/sites/default/files/adatbazisok-1-3-het2013.pdf Dominich Sándor: Adatbáziskezelő rendszerek http://www.bigonehost.com
Köszönöm a figyelmet! Adatbázis rendszerek