Az adatbázis kezelés alapjai
description
Transcript of Az adatbázis kezelés alapjai
1
Az adatbázis kezelés alapjai
2
A kezdetek
• Kézi (papíralapú) adatfeldolgozás
• Fájl szintű gépi adatfeldolgozás
• Adatbázis kezelő rendszerek
3
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.
4
Alapvető adattípusok
• Numerikus típusú adat
• Karakter típusú adat
• Dátum típusú adat
• Logikai adattípus
5
Az MS-Access adattípusai
• Numerikus• Karakteres• Dátum• Logikai• Számláló• Pénznem• Feljegyzés• OLE objektumok• Hyperhivatkozás
6
Adattár karbantartó műveletek
• Létrehozás
• Adatkarbantartás
• Visszakeresés
• Újraszervezés
7
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
8
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
9
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.
10
Logikai adatmodellek típusai
• Hierarchikus adatmodell
• Hálós adatmodell
• Relációs adatmodell
11
Példa hálós adatmodellre
12
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.
13
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.
14
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
Készlet
Példa relációs adatbázisra
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 991201Bpest. Barna u.1
Julius Meinl
991201 0001 Barna kenyér 35 991201Bpest. Barna u.1
Julius Meinl
991202 0002 Fehér kenyér 24 991201Bpest Fehér u.2
Penny Market
Megrendelés
16
Példa relációs adatbázisra
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
Vevő
17
Normalizálás
18
Normalizálás
Szállítókód Telephely Telepcím Bankszámla
S1
T11T12T13
C11C12C13
B1
S2T21T22
C21C22 B2
Kiindulási állapot (Táblák vannak a táblában)
0NF
19
Normalizálás
Szállítókód Telephely Telepcím Bankszámla
S1 T11 C11 B1
S1 T12 C12 B1
S1 T13 C13 B1
S2 T21 C21 B2
S2 T22 C22 B2
Megszüntetjük az ismétlődő csoportokat
1NF
20
Normalizálás
Egy reláció első normál formában van (1NF), ha nem tartalmaz ismétlődő csoportokat
21
Normalizálás
Rendelés- Szám Cikkszám Mennyiség Cikknév Egys.ár
R1R1R2R3
C1C2C1C1
50100200200
cs.anya /HLAlátét cs.anya/HL cs.anya/HL
12,001,0012,0012,00
Megrendeléstétel
22
NormalizálásFunkcioná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
Rendelés- Szám
Cikkszám Mennyiség
R1R1R2R3
C1C2C1C1
50100200200
Cikkszám Cikknév Egys.árC1C2
cs.anya /HLAlátét
12,001,00
Megrendeléstétel
Cikk
2NF
2NF
24
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.
25
NormalizálásA 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.
26
Táblák közti kapcsolatok
Egy-az-egyhez kapcsolat 1:1
27
Táblák közti kapcsolatok
Egy-a-többhöz kapcsolat 1:N
28
Táblák közti kapcsolatok
Több-a-többhöz kapcsolat M:N
29
Vége
30
A harmadik normálformaRendszám Típus Tulajdonosnév Foglalkozás Telephely Főhatóság Férőhely
ABC 134 Lada Kovács Róza Keramikus Budapest - 5 fő BCD 265 BMW AB Kft - Szeged - 5 fő DEF 896 Polski Kovács Róza Mérnök Pécs - 4 fő FHG 333 Lada XY vállalat - Budapest Z 5 fő
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ő).
31
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.
32
Rendszám Típus Tulajdonosnév Foglalkozás Telephely Főhatóság Férőhely
ABC 134 Lada Kovács Róza Keramikus Budapest - 5 fő BCD 265 BMW AB Kft - Szeged - 5 fő DEF 896 Polski Kovács Róza Mérnök Pécs - 4 fő FHG 333 Lada XY vállalat - Budapest Z 5 fő
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.
33
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.
34
Típus Férőhely Lada 5 fő BMW 5 fő Polski 4 fő
KOCSITÍPUS
Rendszám Típus Tulajdonosnév Foglalkozás Telephely Főhatóság
ABC 134 Lada Kovács Róza Keramikus Budapest - BCD 265 BMW AB Kft - Szeged - DEF 896 Polski Kovács Róza Mérnök Pécs - FHG 333 Lada XY vállalat - Budapest Z
KOCSI
3NF
35
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.
36
Ö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
37
Most már tényleg vége