Adatbázisok bevezetés
Fogalom:
Összefüggő adatok praktikusan rendezett gyűjteménye
Adathalmaz \(\ne\) Adatbázis
Naiv megközelítés - Nyers fájlok
- Jellemző CSV fájlkiterjesztés
- Szintaktikus elemzés szükséges minden művelethez
- Nincsenek a "típusinvariánsok" betartatva
- Írási hibák lehetségesek
- "Nem megfelelő" típusú érték lehetséges
- Nincsenek valóban függő kapcsolatok
- Egy ponton végzett változtatás nem hat ki a kapcsolódó rekordokra
CSV - Példa
Előadók(név, év, ország)
Did you notice anything sus?
Album(név, előadó, év)
"First \big One","Grego the Punk",1992
"Another \Big","Grego the Punk",23,
"\Large one","Ha tuan nguyen",1999,
...
Valyon a kisbetűs
nguyen-t megtaláljuk?
Érdemes megfontolni az adat integritását, tartósságát, valamint egyidejű többszörös hozzáférhetőségét a naiv megközelítés esetén.
DBMS
Database Managment System
Adatbázis modern megfogalmazása:
Olyan adatok együtese, melyről egy adatbázis-kezelő rendszer gondoskodik
Tulajdonságok
- Új logikai szekezetek (sémák) létrehozása
- Adatdefiníciós nyelv
- DDL - (Data Definition Language)
- Adatdefiníciós nyelv
- Adatok lekérdezése, módosítása
- Adatmanipulációs nyelv
- DML - (Data Manipulation Language)
- Adatmanipulációs nyelv
- Adatok ideális tárolása
- Hosszútávú
- Biztonságos
- Hatékony
- Egyszerre több felhasználó is egyidejűen férhet hozzá
Régebbi megközelítések
- Hierarchikus és hálós adatmodell
- fa-, illetve gráfszerkezet
- CODASYL szabvány
- Committee on Data Systems and Languages
Hátrányuk leginkább a magasabb szintű lekérdezőnyelvek hiánya volt, így a mutatók mentén kellett pontról-pontra haladni, így minden lekérdezéshez külön lekérdező programot kellett írni.
Relációs adatbázisok
- Ted Codd 1970-es publikációja alapján
- Táblázatos, relációs tárolási forma
- Továbbra is a legelterjettebb séma
- Did I mention that MongoDB is web scale?
- Magasszintű lekérdező nyelv
- SQL (Structured Query Language)
- That's what we'll talkin' about today
- SQL (Structured Query Language)