SQL, Relációs adatmodell Adatbázis kezelés SQL, Relációs adatmodell
SQL története Edgar F. Codd - relációs adatmodellt 1970 Edgar F. Codd - relációs adatmodellt 1974-75 IBM – SEQUEL Structured English Query Language 1986-87 IBM, ORACLE – ANSI szabványosítás 1987 ISO szabványosítás SQL86 1989-99 SQL89, SQL92, SQL99
Structured Query Language szabványosított lekérdező nyelv Relációs algebrán alapszik Halmaz orientált Felhasználási területek Önálló SQL Beágyazott SQL
Adatmodellek általában Az adatmodellekben az entitások tulajdonságokból épülnek fel és különféle kapcsolatban vannak egymással.
Entitás Minden olyan dolgot, ami más dolgoktól megkülönböztethető entitásnak nevezünk. Személy > Entitás Egy konkrét személy pedig ennek az előfordulása
Entitás példák Termék TV Hi-Fi Rádió PC Állat Kutya Macska Mongúz Tigris Medve Épület Ház Vár Kastély Stadion
Tulajdonság Az entitások szerkezetét a tulajdonságok képezik. Személy tulajdonságai lehetnek: név, születési dátum, lakcím, telefonszám
Kapcsolat A kapcsolatok az egyedek közti relációt fejezik ki. Egy személy és egy vállalat entitás között egyértelmű kapcsolat létesíthető
1:1 1:N N:M Kapcsolat típusok egy előforduláshoz (pl. főváros) csak egy másik előfordulás (pl. ország) kapcsolódik 1:N egy előforduláshoz (pl. iskolai osztály) több másik előfordulás (pl. iskola tanulói) kapcsolódik N:M több előforduláshoz (pl. iskola diákjai) több másik előfordulás (pl. iskola tanárai) kapcsolódik
Relációs adatmodell Az adatok táblákban helyezkednek el. Nincs előre definiált kapcsolatrendszer az adatok között, ezt később is kialakíthatjuk, illetve módosíthatjuk. Az oszlopok felelnek meg a tulajdonságoknak míg a sorok az előfordulásnak.
Relációs adattábla Tábla Táblázat Oszlop Tulajdonság Mező id név szül_idő szül_hely Sor Előfordulás Rekord 1 Kiss Éva 1999.01.18 Eger 2 Nagy Béla 2003.05.07 Vác
Jellemzők Nem lehet 2 teljesen azonos sora A sorok sorrendje lényegtelen Kell lennie egy (önálló vagy öszetett) tulajdonságnak, amiben minden sora különbözik, ez a kulcsmező Az oszlopokra a nevükkel hivatkozhatunk ezért nem lehet két azonos nevű tulajdonság egy reláción belül A táblákra is a nevükkel hivatkozunk így ebből sem lehet két azonos egy adatbázison belül