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
[email protected] — 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