Az adatbázis kezelés alapjai
A kezdetek Kézi (papíralapú) adatfeldolgozás Fájl szintű gépi adatfeldolgozás Adatbázis kezelő rendszerek
Adatbázis Az adatbázis egy adott célból, tervszerűen összeállított adatok összessége. Általában több adattárból áll, és az adattárak közötti logikai kapcsolat - hardver és szoftver eszközök segítségével - érvényesítésén keresztül, lehetővé teszi az adatok hatékony feldolgozását és elérését.
Alapvető adattípusok Numerikus típusú adat Karakter típusú adat Dátum típusú adat Logikai adattípus
Az MS-Access adattípusai Numerikus Karakteres Dátum Logikai Számláló Pénznem Feljegyzés OLE objektumok Hyperhivatkozás
Adattár karbantartó műveletek Létrehozás Adatkarbantartás Visszakeresés Újraszervezés
Bonyolult adattárak feldolgozási nehézségei A változásokat minden fájlon végig kell vezetni Egyidejű (konkurens) hozzáférés A bonyolult adatrendszerek feldolgozása nehézkes
Az adatbázis-kezelők fontosabb alapelvei Konkurens hozzáférés korrekt kezelése Rugalmasság Adatfüggetlenség Hatékonyság Adatbiztonság Adatintegritás Adathozzáférési szintek differenciált módja
Adatmodellezés Az adatmodellezés az az eljárás, amelynek során a valós világ tényeit és azok összefüggéseit tükröző adatok közül, kiemeljük az - adott alkalmazáshoz (adatfeldolgozáshoz) szükséges és elégséges - adatokat és összefüggéseiket.
Logikai adatmodellek típusai Hierarchikus adatmodell Hálós adatmodell Relációs adatmodell
Példa hálós adatmodellre
A relációs adatmodell A relációs adatmodellezésben a táblázat sorait (tételeit) rekordoknak nevezzük. Az oszlop-fejléceket adatmezőnek szokás nevezni.
Relációs adatmodell főbb tulajdonságai A halmazelméleti megfontolások miatt a táblában: - a sorok sorrendje nem számít, - az oszlopok sorrendje sem számít és - nem lehet két azonos sor.
Példa relációs adatbázisra Készlet CIKK-SZÁM CIKK- MEGNEVEZÉS EGYSÉG-ÁR RAKTÁR-KÓD KÉSZLET 0001 Barna kenyér 100,00 01 1035 0002 Fehér kenyér 110,00 02 1045 0003 Kifli 010,00 03 1140
Példa relációs adatbázisra Megrendelés RENDELÉS-SZÁM CIKK- SZÁM CIKK MEGNEVE-ZÉS REND. MENNYISÉG HATÁR- IDŐ SZÁLL. CÍM VEVŐ- NÉV 991201 0001 Barna kenyér 25 Bpest. Barna u.1 Julius Meinl 35 991202 0002 Fehér kenyér 24 Bpest Fehér u.2 Penny Market
Példa relációs adatbázisra Vevő VEVŐ- KÓD VEVŐNÉV VEVŐCÍM / SZÁLL. CÍM v001 Julius Meinl Bpest., Barna u. 1 v002 Penny Market Bpest, Fehér u. 2
Normalizálás
Normalizálás Kiindulási állapot (Táblák vannak a táblában) Szállítókód Telephely Telepcím Bankszámla S1 T11 T12 T13 C11 C12 C13 B1 S2 T21 T22 C21 C22 B2 0NF
Normalizálás Megszüntetjük az ismétlődő csoportokat Szállítókód Telephely Telepcím Bankszámla S1 T11 C11 B1 T12 C12 T13 C13 S2 T21 C21 B2 T22 C22 1NF
Normalizálás Egy reláció első normál formában van (1NF), ha nem tartalmaz ismétlődő csoportokat
Normalizálás Megrendeléstétel Rendelés- Szám Cikkszám Mennyiség Cikknév Egys.ár R1 R2 R3 C1 C2 50 100 200 cs.anya /HL Alátét cs.anya/HL 12,00 1,00
Normalizálás Funkcionális függőség Funkcionális függőség akkor áll fenn, ha egy tulajdonság értékét egy másik tulajdonság értéke egyértelműen meghatározza. A funkcionális függés egyirányú kapcsolatot jelent. Például: Városnév-megyenév Magyarországon, hiszen Miskolc esetén biztosan tudjuk, hogy a kapcsolódó megye neve Borsod.
Normalizálás Megrendeléstétel 2NF Rendelés- Szám Cikkszám Mennyiség R1 50 100 200 Cikk 2NF Cikkszám Cikknév Egys.ár C1 C2 cs.anya /HL Alátét 12,00 1,00
Normalizálás Ha a funkcionális függőség nem áll fenn, akkor a második normál formára hozás (2NF) szükséges és az pedig megköveteli a funkcionális függetlenség megszüntetését.
Normalizálás A második normál forma előnyei: - Csak egyszeresen szerepelnek azok az adatok, amelyek az 1NF - ben többször ismétlődnek. A két reláció együttes mérete kisebb. - Törlés esetén sem veszhet el információ - A 2NF relációk konzisztensen bővíthetők - Minden módosítás könnyebb és gyorsabban hajtható végre.
Táblák közti kapcsolatok Egy-az-egyhez kapcsolat 1:1
Táblák közti kapcsolatok Egy-a-többhöz kapcsolat 1:N
Táblák közti kapcsolatok Több-a-többhöz kapcsolat M:N
Vége
A harmadik normálforma Mivel a KOCSI egyedben nincs ismétlődő tulajdonság és az egyed Rendszám azonosítója nem összetett, a KOCSI legalább második normál alakú. Azonban még most is azonos ismeret-részsorok találhatók az egyedben. (Lada – 5 fő).
Az E egyedtípus nem-kulcs C tulajdonsága akkor és csak akkor függ tranzitívan az egyed A kulcsától, ha meghatározza az azonosítótól függő B tulajdonság is.
A Rendszám meghatározza a Típus és Férőhely tulajdonságot, viszont a Típus önmagában meghatározza a Férőhelyet. Ezért a KOCSI egyed tranzitív függést tartalmaz.
A harmadik normálforma kialakítása Az egyedtípusból el kell távolítani a tranzitívan függő tételeket. Ezt úgy tesszük, hogy új egyedtípusba visszük leíróként a helytelen függésű tulajdonságot, azonosítóként pedig annak meghatározóját.
KOCSITÍPUS 3NF KOCSI
Definíció Az egyed akkor és csak akkor van legalább 3NF alakban, ha minden nem-kulcs tulajdonsága függ a teljes azonosítótól és csakis attól függ.
Összegzés Ha a reláció 0NF-ben van és nem tartalmaz ismétlődő tulajdonságot, akkor legalább 1NF-ben van Ha a reláció 1NF-ben van, és nem tartalmaz részleges funkcionális függést, akkor legalább 2NF-ben van Ha a reláció 2NF-ben van, és nem tartalmaz tranzitív funkcionális függést, akkor legalább 3NF-ben van
Most már tényleg vége