Gazdasági informatika II (SZIE GTK GVAM 1. évfolyam) 2009/2010. tanév 2. félév
2 Egyed: minden olyan dolog, amit minden más dologtól jól meg tudunk különböztetni és amiről adatokat akarunk tárolni. (pl. egyetemi adatbázis: a ABC123 Neptun-kódú személy) Lásd még: objektum, rekord, egyedtípus-előfordulás Egyedtípus: a konkrét egyedeket közös vonásaik alapján magukba foglaló kategóriák (pl. egyetemi adatbázis: hallgatók) Lásd még: (adat)tábla Tulajdonság: azok a fontos jellegzetességek, amelyekkel az egyedeket le akarjuk írni (pl. egyetemi adatbázis : név, születési dátum, anyja neve, képzés) Lásd még: attribútum Tulajdonság-érték: egy tulajdonságnak az adott objektumra vonatkozó értéke (pl. egyetemi adatbázis : név → Kiss Andrea) Lásd még: mező
3
4 Kulcs: Olyan tulajdonság (vagy tulajdonság- halmaz), amely segítségével az egyedek egyértelműen azonosíthatók (pl. egyetemi adatbázis: Neptun-kód) Egyszerű kulcs: Hallgató → Neptun-kód Összetett kulcs: Vizsga → Neptun-kód, Kurzuskód, Dátum Kapcsolatok: Az egyedek közötti viszonyok (az egyetemi adatbázis példáján) 1:1 (egy-egy): Szervezeti egységek – Tisztségviselők 1:N (egy-sok): Szervezeti egységek – Tantárgyak N:M (sok-sok): Hallgatók – Tantárgyak
5 Van neki Felvé- tel Van neki Neptun Név Szül. idő
6 Feladat: Készítsük el azt a adat-struktúrát, amiben nyilván- tartható a tantárgyakkal kapcsolatos adatok (tantárgy, hallgató, oktató, helyszín időpont stb.) Tantárgyi adatok Mi ezzel a probléma???
7 Problémák: Több jelenséget (egyedtípust) mosunk egybe: tárgy, hallgató, képzés, oktató stb. – elvi hiba Többszörösen tároljuk ugyanazokat az adatokat (redundancia), ami több okból is problémás: A többszörös tárolás fizikailag is többletkapacitást igényel A többszörös rögzítés során többszöröződik a hibázás lehetősége is A karbantartás szinte lehetetlen, ha egy változást nem javítunk ki minden előfordulásnál, inkonzisztens állapot jön létre. Kulcs: tulajdonképpen a teljes rekord szolgál azonosítóként, hiányzik egy ID-oszlop
8
9 Kapcs_hallg Kapcs_okt Kurzus Hallgato Tantargy Oktato
10 SELECT Tantargy.Név, Oktato.Név, Hallgato.Neptun_kód, Hallgato.Név, Hallgato.Szül_dátum FROM Tantargy INNER JOIN Kurzus ON Tantargy.Neptun_kód = Kurzus.Tantárgy INNER JOIN Kapcs_hallg ON Kurzus.Kurzuskód = Kapcs_hallg.Kurzus_id INNER JOIN Kapcs_okt ON Kurzus.Kurzuskód = Kapcs_okt.Kurzus_id
11 Célja: Az adatbázis ne tartalmazzon ismétlődő, redundáns adatokat, mert ez a feltöltést, módosítást, törlést jelentősen megnehezíti, inkonzisztens adatbázis eredményezhet. Normalizálási szintek: 1. normálforma: Minden mező csak egyetlen adatot tartalmaz, nincsenek ismétlődő tartalmú sorok (létezik egyedi azonosító) 2. normálforma: 1.NF+ minden nem-kulcs tulajdonság a kulcs egészétől függ (egyszerű kulcs esetében 1.NF=2.NF) 3. normálforma: 2.NF+ minden nem-kulcs tulajdonság kizárólag csak a kulcstól függ 4.NF: … 5.NF: …
Elsődleges kulcs 1.NF 2.NF 3.NF
13 A szó szoros értelmében nem, mert Az előzőekben leírt adatmodellezés (egyedtípusok, egyedek, kapcsolatok stb.) nem valósítható meg. A tárolt adatok homogenitását, ellenőrzöttségét, formátummának helyességét semmi sem biztosítja. Azonban sok olyan eszközt tartalmaz, amelyek adatbázis-szerű műveleteket tesznek lehetővé: Adatbázis-szerű formában tárolt adatok Adatbázisfüggvények Szűrés és kimutatás-készítés Adatrögzítés űrlapokkal (Adatok > Űrlap)
14 A táblázat oszlopai : Azonosító, Objektum, Tulajdonság, Érték, Mértékegység, Dátum, Forrás, Rögzítő, Rögzítés ideje. Egy sor (rekord) így tartalmazza egyetlen adat minden leíró jellemzőjét. Ebből következik, hogy minden cellát ki kell tölteni.
Az eddigiek alapján tehát a feladatban: Egy 1.NF-nak megfelelő „adatbázis” jön létre. Ez sok „fölöslegesen” ismétlődő, redundáns adatot tartalmaz. Ügyelni kell arra, hogy pontosan rögzítsük az adatainkat, mivel az elgépelésekből új és új mezőértékek (pl. új objektumok vagy tulajdonságok) keletkeznek. Ugyanakkor ez a megközelítés sem szakmaiatlan, mivel Egy „komoly” adatbázis lekérdezése után is egy ilyen adattábla jön létre Pontos adatfeltöltés esetén így egy jól használható adattáblát kapunk, ami megfelel a tantárgy céljainak. 15
Halassy Béla: Információmenedzselés (sorozat), Marketing & Management, 1997 Siki Zoltán: Adatbáziskezelés és szervezés, Műegyetemi Kiadó