380 likes | 565 Views
Adatbázis-kezelés. Alapfogalmak. Követelmények az adatkezelő rendszerekkel szemben. A legalapvetőbb feladatok megoldása (bevitel, módosítás, törlés, lekérdezés) Redundancia „mentes” tárolás („nincs” adatismétlődés) Adatintegritás megőrzése (az adatok érvényesek és ellentmondás-mentesek)
E N D
Adatbázis-kezelés Alapfogalmak
Követelmények az adatkezelő rendszerekkel szemben • A legalapvetőbb feladatok megoldása (bevitel, módosítás, törlés, lekérdezés) • Redundancia „mentes” tárolás („nincs” adatismétlődés) • Adatintegritás megőrzése (az adatok érvényesek és ellentmondás-mentesek) • Program és adatfüggetlenség (az adattárolás módja és a kezelő program teljesen elkülöníthető)
Az adatbázis fogalma: • Hétköznapi értelemben rendezett, valamilyen szempont szerint tárolt adatok összessége. • Az adatbázisban az adatok között meghatározott kapcsolatok vannak. • Nemcsak az adatok rendezett tárolását, hanem azok kezelését is lehetővé teszi, (mert) a kapcsolatok nélkül az adatok eltérően értelmezhetők. • Az eltárolt adatokat, azok jellemzőit METAADATOK-nak nevezzük • Az adatbázis adott célból összeállított adatok rendezett szerkezete, mely lehetővé teszi adatok és segédinformációk tárolását és visszanyerését. • Az eltárolt adatok struktúrája és a kezelő rendszer együttese.
Adatbázis-kezelő rendszer jellemzői: • Óriási adatmennyiséget tárolhat (nincs határ) • Rendszerezett és hatékony adatkinyerés elengedhetetlen Alapfunkciók: • Létrehozás, elemek definiálása • Adatok mentése, tárolása, megnyitása • Lekérdezések • Adatvédelem, kódolás, hozzáférési jogok
Adatbázis-kezelő rendszer fogalma: Olyan speciális szoftverrendszer, amellyel lehetséges az adatbázisokban tárolt adatok • definiálása • kezelése • karbantartása • felügyelete
Adatbázis-kezelő rendszerekkel szemben támasztott követelmények: • Adatintegritás (az adatok és kapcsolatok helyessége, érvényessége és ellentmondás-mentessége) • Rugalmasság (az adatok egyszerű módosíthatósága) • Hatékonyság (gyors keresés és módosítás) • Adatfüggetlenség (hardver és szoftverfüggetlenség) • Adatbiztonság (védelem hardver és szoftverhibákkal szemben) • Adatvédelem (illetéktelen felhasználókkal szemben) • Osztott hozzáférés (több felhasználó egyidejű hozzáférésének biztosítása)
Adatbázis-kezelő rendszerek segédprogramjai • Adatbázis adminisztrátor (a rendszer működéséhez szükséges paraméterek beállítása) • Adatbázis-kezelő segédprogramok(adattáblák, eljárások, indexelések kezelése) • Archiváló, biztonsági mentést szolgáló segédprogramok • Alkalmazásfejlesztés eszközei • SQL alapú kliensprogramok(más adatbázis-kezelők adatainak lekérdezése SQL utasítások segítségével)
Adatmodellezés • Az adatmodellezés segítséget nyújt a környező világ megértésében és leképezésében, a lényeges jellemzők kiemelésében. • Az adatmodell az adatok és az azok közötti összefüggések leírására szolgál. • A modell olyan mesterséges rendszer, amely felépítésében és viselkedésében megegyezik a vizsgált létező rendszerrel • Adatmodellnek nevezzük az adatok struktúrájának (felépítésének) leírására szolgáló modelleket.
Egyed-tulajdonság-kapcsolat • Az adatmodell a fenti három fogalom együttese • Egyed-nek nevezzük az információs rendszert felépítő személyeket, tárgyakat, eseményeket • Az egyedeket a tulajdonság-aik jellemzik A tulajdonság egy érték, amelynek tulajdonságtípusa van. pl: név tulajdonságtípus János tulajdonság
Egyed-tulajdonság-kapcsolat A tulajdonság lehet: • Azonosító, mely minden egyednél különböző értéket vesz fel, az egyedek közt nem ismétlődhetpl: személyi szám (1 661215 1122) • Leíró tulajdonság, mely az egyed egy jellemzőjét írja le, több egyednél is előfordulhat pl: név (Kovács János) • Gyengén jellemző tulajdonság,mely az előzőhöz hasonló, de nem kötelező megadni (üres is lehet)pl: kedvenc sportága (úszás) • Kapcsoló tulajdonság, mely egyik egyedben leíró,a másikban azonosító funkciót tölt be • Pl: születési hely (Siófok)
Egyed-tulajdonság-kapcsolat • Egy rendszerben az egyedek nem elszigetelten vannak jelen, hanem kapcsolatban állnak más egyedekkel és objektumokkal. • A kapcsolatrendszer többszintű, bonyolult struktúra, melyben több rendszer is kapcsolatban állhat egymással. • Az ETK (egyed- tulajdonság- kapcsolat) modellben két egyedtípus egyedei közötti viszonyt kapcsolat-nak nevezzük
Kapcsolatok típusai: • „egy-az-egyhez” (1-1)egy egyedtípus egy egyedéhez egy másik egyedtípus csak egyetlen egyede kapcsolódhat és fordítva is igaz (osztály-osztályfőnök) • „egy-a-többhöz” (1-N)egy egyedtípus egy egyedéhez egy másik egyedtípus több egyede is kapcsolódhat de fordítva nem igaz (osztály-tanuló) • „több-a-többhöz” (N-M)egy egyedtípus egy egyedéhez egy másik egyedtípus több egyede is kapcsolódhat de fordítva is igaz (osztály-tanár) Az adatbázis fogalma a kapcsolatok alapján:Az adatbázis véges számú egyedek, azok egyenként is véges számú tulajdonságainak és kapcsolatainak adatmodell szerinti szervezett együttese.
Normalizálás Az adatbázis tervezése során a legfontosabb feladat a logikai adatmodell kialakítása, mely azt jelenti, hogy:az adatok laza halmazából egy jól felépített, átlátható logikai adatstruktúrát hozunk létre. Ezt a folyamatot nevezzük NORMALIZÁLÁS-nak.
Normalizálás lépései • Az egyedeken belüli kapcsolatok meghatározása(Az egyedeket tulajdonságaikkal jellemezzük) • Egyedtípusok meghatározása:Azokat az egyedeket, amelyeket azonos tulajdonságokkal írhatunk le, egyedtípusoknak nevezünk. • Azonosító meghatározása:A tulajdonságtípusok közül kiemelhető, az egyedre kizárólagosan jellemző tulajdonságtípus az azonosító. • Egyedtípuson belüli kapcsolatok meghatározása:Egy egyed azonosítója és egy tulajdonsága közti kapcsolatot egyértelműen meg tudjuk-e határozni?
Egyedtípuson belüli kapcsolatok fajtái: • Funkcionális függés (egyirányú):Egy egyedtípuson belül az azonosító egyértelműen meghatározza a tulajdonságtípus értékét. (személyi szám név) • Kölcsönös funkcionális függés:Az azonosító egyértelműen meghatározza a tulajdonságtípus értékét, és a tulajdonságtípus is az azonosítót. (szem.szám adószám)Ezek a tulajdonságtípusok lehetnek azonosítók. • Funkcionális függetlenség:Az azonosító nem határozza meg egyértelműen a tulajdonságtípus értékét. (személyi szám X tanult tantárgy) • Fordított funkcionális függés:Az azonosító nem határozza meg egyértelműen a tulajdonságtípus értékét, de a tulajdonságtípus egyértelműen meghatározza az azonosítót. (anya személyi száma / gyermek személyi száma)
Normálformák Az adatmodellek létrehozásakor jól meghatározott és egyértelmű kapcsolatokkal rendelkező egyedtípusokat kell kialakítani.Ehhez meg kell határoznunk az egyedtípus normálformáját. • Egyedtípus nulladik normálformája:Ha egy egyedtípuson belül van olyan tulajdonságtípus, amely funkcionálisan független az azonosítótól. • Feladatunk a funkcionális függetlenség feloldása. Összetett azonosítóval javítható lenne, de ez adatismétlődéssel jár. • Redundancia:adatismétlődés, mely felesleges helyfoglalást és inkonzisztenciát eredményez. • Inkonzisztencia: egyes adatok az adatbázisban több helyen fordulnak elő, ezek javítása nagy figyelmet igényelne, hibalehetőséget okoz.
Normálformák • Első normálforma:Egy egyedtípuson belül minden tulajdonságtípus funkcionális függésben áll az összetett azonosítóval, de van olyan tulajdonságtípus, amely az összetett azonosítónak csak egy részétől függ.Ez részleges funkcionális függés, tovább kell normalizálni, pl. új egyedtípus bevezetésével.
Normálformák • Második normálforma:Ha egy egyedtípuson belül minden tulajdonságtípus csak az azonosítóval áll funkcionális függésben, de van olyan tulajdonságtípus, amely függ egy másik leíró jellegű tulajdonságtípustól is.Ennek oka a „tranzitív függés”, ami azt jelenti, hogy az egyedtípusnak van olyan tulajdonságtípusa, amely függ egy másik leíró jellegű tulajdonságtípustól.
Normálformák • Harmadik normálforma:Ha egy egyedtípuson belül valamennyi tulajdonságtípus kizárólag az azonosítótól függ funkcionálisan. Létezik negyedik és ötödik normálforma is, de általában a harmadik normálforma elérése elegendő.
Adatbázis-szerkezetek Adatbázisok kialakításánál olyan szerkezetet kell kialakítani, amelyben a leghatékonyabban dolgozhatjuk fel az adatokat. A leggyakoribb adatszerkezetek: • Hierarchikus • Hálós • Relációs
A hierarchikus modellen alapuló adatbázisokban az adatokat alá-fölérendeltségi viszonnyal meghatározott szerkezettel írjuk le. Csak egy a többhöz (1:N) típusú kapcsolatok képezhetők le. Az adatok csak a tárolt hierarchiának megfelelő sorrendben érhetők el. Fastruktúrával szemléltethető. Hierarchikus adatbázismodell
Az egyes adategységek közötti kapcsolat gráffal írható le. A gráfban csomópontok találhatók, melyeket élek kötnek össze. Két csomópont között akkor van kapcsolat, ha őket él köti össze. Egy csomópontból tetszőleges számú él indulhat, de egy él csak két csomópontot köthet össze. Ezzel a modellel egy a többhöz (1:N) és több a többhöz (N:M) kapcsolatok is leírhatók Csak a tárolt kapcsolatok mentén bejárható. Hálós adatbázismodell János Zoltán Kati Tibi Orvos Könyvtár Autó
Relációs adatbázismodell • Az adatok tárolása táblázatos formában, a táblázat soraiban és oszlopaiban valósul meg. • Nincsenek előre meghatározott kapcsolatok, a kapcsolatok létrehozásához szükséges adatokat tároljuk és használjuk fel. A relációs adatmodell jellemzői: • Egyszerűen értelmezhető, átlátható. • Rugalmas, könnyen kezelhető. • A relációk kezelése matematikai műveletekkel leírható.(Relációs algebrának nevezzük.)
Relációs adatbázismodell • A reláció egy adattábla,(táblázat), a soraiban tárolt adatokkal együtt. • A reláció sorait rekordoknak, oszlopait attribútumoknak (tulajdonságtípusoknak), egy sor és egy oszlop metszéspontjában található adatot tartalmazó elemet mezőnek nevezzük. Tulajdonságtípusok Rekordok Mezők
Relációk (táblák) jellemzői • A relációk rekordjaiban tároljuk a logikailag összetartozó adatokat • A relációban tárolt rekordok számát a reláció számosságának nevezzük. • A relációk oszlopaiban (attribútumaiban) az azonos tulajdonságokra vonatkozó adatok jelennek meg. • Egy tábla nem tartalmazhat két azonos nevű oszlopot. • Az oszlopok (attribútumok) számát a reláció fokának nevezzük. Négyfokú reláció Számossága kettő
Relációk (táblák) jellemzői Egy relációra vonatkozó követelmények: • Minden rekordja különböző • Nem tartalmazhat két azonos attribútumot • Minden rekord mezőszerkezete azonos • A rekordok és attribútumok sorrendje tetszőleges lehet
Relációs adatbázisok kezelése A relációkon végzett műveletek két csoportra oszthatók: • Adatkezelő műveletek • Adatbevitel • Törlés • Adatmódosítás • Adatlekérdező műveletek • A relációs algebra műveleteivel végezzük • A lekérdezés eredményeként mindig egy újabb relációt kapunk, mely része az adatbázisnak.
A relációs algebra műveletei A műveletek két csoportra oszthatók aszerint, hogy egy, vagy több reláción hajthatók végre. • Egy reláción végrehajtható (egyoperandusú) műveletek: • Szelekció • Projekció • Kiterjesztés • Csoportosítás
A relációs algebra műveletei • Több reláción végrehajtható (többoperandusú) műveletek: • Descarters-szorzat • Összekapcsolás • Unió • Metszet • Különbség • Osztás
A szelekció (kiválasztás) művelet(egy reláción végzett művelet) A szelekció (kiválasztás) művelete egy relációból csak egy adott feltételnek megfelelő sorokat jeleníti meg az eredmény relációban. Az eredmény számossága 0 és N között lesz, az eredmény reláció számossága nem változik. A TANULO relációból a VAROS mező értéke =‘Siófok’
A projekció (vetítés) művelet(egy reláción végzett művelet) A művelet során egy reláció oszlopai közül csak bizonyosakat őrzünk meg az eredmény relációban. Az eredmény attribútumok (oszlopok)száma 1 és a műveletben résztvevő reláció attribútumai között változhat.
Kiterjesztés(egy reláción végzett művelet) A lekérdezésben nem egyes konkrét mezőértékeket, hanem az azokból matematikai műveletekkel képzett eredményeket jelenítünk meg. Az eredmény relációban újabb mezőt képezünk a kiinduló reláció mezőivel végzett műveletek eredményének megjelenítésére.
Csoportosítás(egy reláción végzett művelet) A relációk rekordjait valamely attribútumok alapján meghatározott csoportokba foglaljuk, majd a csoportokhoz különböző függvényekkel meghatározott éréket rendelünk. (Pl: összeg, átlag, min, max, elemszám, szórás,)
Descartes-szorzat(két reláción végzett művelet) Két reláció sorait minden variációban egymás mellé teszi az eredmény relációban.
Összekapcsolás(két reláción végzett művelet) • Két relációt kapcsol össze egy-egy attribútumuk alapján. • Az eredmény relációba azok a rekordok kerülnek, amelyhez található adott feltételt kielégítő sor a második relációban.
Relációkon végezhető halmazműveletek A halmazműveleteket csak azonos szerkezetű relációk között lehet elvégezni. Azonos szerkezetű két reláció, ha oszlopaik száma és a tárolt adatok típusa megegyezik. UNIÓ: • Az eredmény reláció tartalmazni fogja azokat a rekordokat, amelyek legalább az egyik relációban szerepelnek. • Azonos rekordok az eredmény relációban csak egyszer szerepelnek.
Relációkon végezhető halmazműveletek METSZET • Az eredmény reláció csak azokat a rekordokat tartalmazza, amely a két reláció mindegyikében szerepel. • Ha a metszet reláció üres, akkor a műveletben szereplő relációkban nincsenek azonos rekordok. • A relációk sorrendje felcserélhető
Relációkon végezhető halmazműveletek KÜLÖNBSÉG • Az eredmény reláció csak azokat a sorokat tartalmazza, amelyek az első relációban megtalálhatók, de a másodikban nem. • Csak két, azonos szerkezetű relációra végezhető el. • A műveletben szereplő relációk sorrendje nem cserélhető fel.