Categories: All - adatbázis - tervezés

by Zoltán Szabó 7 years ago

296

5.EA_Gondolatterkep

Az adatbázisok tervezése során fontos, hogy egy rendszer több lépésben kerüljön elemzésre, beleértve a tárolandó adatok és kapcsolataik meghatározását. A logikai tervezés célja, hogy létrehozzuk az adatbázis modelljét, mely a fizikai szinten a használt szoftver és hardver függvényében kerül leképezésre.

5.EA_Gondolatterkep

Atomi attribútum

Azokat az attribútumokat, amelyeket nem bontunk részekre, egyszerű vagy atomi attribútumoknak nevezzük.

Indexek

"An index is an optional structure, associated with a table or table cluster, that can sometimes speed data access." - Az index egy szerkezet, amely kapcsolatba hozható táblákkal vagy táblacsoportokkal, ezáltal felgyorsítva az adatokhoz való hozzáférést.

Forrás: https://docs.oracle.com/cd/E11882_01/server.112/e40540/indexiot.htm#CNCPT721


"A relációkban tárolt információk visszakeresését az indexek nagymértékben meggyorsíthatják, így a tervezés során nagy hangsúlyt kell fektetni a helyes indexek kiválasztására, szem előtt tartva azt is, hogy az indexek számának növelésével az adatok beviteléhez illetve módosításához szükséges idő megnövekszik az indexek frissítése miatt. A relációkhoz kapcsolt indexek segítségével az index kulcs ismeretében közvetlenül megkaphatjuk a kulcsot tartalmazó sor fizikai helyét az adatbázisban. Az indexek képzésére két módszer terjedt el, a hash kódok és a bináris fák."

Forrás: http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.6.1

Redundancia

A logikai adatbázis tervezés egyik fő célja a redundanciák megszüntetése. Redundanciáról akkor beszélünk, ha valamely tényt vagy a többi adatból levezethető mennyiséget ismételten (többszörösen) tároljuk az adatbázisban. A redundancia, a szükségtelen tároló terület lefoglalása mellett, komplikált adatbázis frissítési és karbantartási műveletekhez vezet, melyek könnyen az adatbázis inkonzisztenciáját okozhatják. Egy adatbázis akkor inkonzisztens, ha egymásnak ellentmondó tényeket tartalmaz. Megjegyezzük, hogy a fizikai tervezés során az adatbázis műveletek gyorsítása érdekében esetleg redundáns attribútumokat is bevezetünk.

A redundancia egyik fajtája amikor ugyanazt a tényt többször tároljuk.


Forrás: http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.4

Elemző/Tervező


Forrás: Előadás diasor

Rendundáns

Rendundáns


Forrás: http://idegen-szavak.hu/redund%C3%A1ns

Normálformák

Ahhoz, hogy elkerülhessük az anomáliákat, a relációink sémái meghatározott feltételeket kell, hogy teljesítsenek.



Forrás: Előadás diasor

BCNF

Boyce/Codd normál forma (BCNF)


A normál formák tárgyalása során eddig olyan relációkra mutattunk példákat, melyeknek csak egy reláció kulcsa van. A normál formák definíciója természetesen alkalmazható a több kulccsal rendelkező relációkra is. Ebben az esetben minden attribútum, mely valamely kulcsnak a része, elsődleges attribútum, de ez az attribútum függhet egy másik, ezt nem tartalmazó kulcs részétől. Ha ez a helyzet fennáll, redundanciát tartalmaz a reláció. Ennek a felismerése vezetett a harmadik normál forma egy szigorúbb definíciójához, a Boyce/Codd normál formához.


Forrás: http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.5.4

3NF

Harmadik normálforma (3NF)



Forrás: Előadás diasor


A második normál formájú relációkban nem lehetnek olyan tények, amelyek a reláció kulcs részeihez kapcsolódnak. Azonban ennek ellenére is lehet bennük redundancia, ha olyan tényeket tartalmaznak, amelyek a nem elsődleges attribútumokkal állnak kapcsolatban. Ezt a lehetőséget szünteti meg a harmadik normál forma. Egy reláció harmadik normál formában van, ha:

Forrás: http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.5.3

2NF

Második normálforma (2NF)



Forrás: Előadás diasor


Az első normál forma nem elegendő feltétel a redundanciák megszüntetésére. Egy reláció második normál alakjában nem tartalmazhat tényeket a reláció kulcs egy részére vonatkozóan. A második normál forma definíciója két feltétellel írható le:

Forrás: http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.5.2

1NF

Első normálforma (1NF)



Forrás: Előadás diasor


"Egy reláció első normál formában van, ha minden attribútuma egyszerű, nem összetett adat. A könyvben eddig szereplő valamennyi reláció kielégíti az első normál forma feltételét."

Forrás: http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.5.1

Database Design

Az adatbázis logikai tervezése (Database Design)


Az adatbázis a "világ egy darabjának" egy leegyszerűsített képét képes visszaadni (lásd "Gajdos Sándor: Adatbázisok")

Forrás: Előadás diasor


"Az adatbázistervezés egy folyamat, mely több lépésből tevődik össze. Először az adatbázisban leképezendő rendszert elemzésnek vetjük alá és meghatározzuk a tárolandó adatok körét, azok egymás közötti kapcsolatait és az adatbázissal szemben felmerülő igényeket (fogalmi séma - Conceptual schema). Ezután következik a rendszer tervezés, melynek eredménye az adatbázis logikai modellje. Végül fizikai szinten képezzük le a logikai adatbázis modellt az alkalmazott szoftver és hardver függvényében."

Forrás: http://www.agt.bme.hu/szakm/adatb/db3.htm

Anomáliák

Ha egy relációban valamely attribútum értékét a relációban található más attribútom(ok) értékéből ki lehet következtetni, akkor a relációt redundánsnak nevezzük.


A redundáns adatok tárolásakor egy sor kellemetlen jelenség állhat elő. Ezeket anomáliáknak nevezzük.


Forrás: Előadás diasor


"Az anomália az adatbázisban olyan rendellenesség, mely valamely karbantartási műveletnél plusz műveletek beiktatását igényli, ezzel felesleges redundanciát okozva."

Forrás: http://tudasbazis.sulinet.hu/hu/informatika/informatika/informatika-9-12-evfolyam/kapcsolatok-tablak-kozott/anomaliak

Törlési anomália


Forrás: Előadás diasor


"Amennyiben egy adat törlésével

másik, hozzá logikailag nem kapcsolódó adatcsoportot is elveszítünk, törlési anomáliáról beszélünk."

Forrás: http://tudasbazis.sulinet.hu/hu/informatika/informatika/informatika-9-12-evfolyam/kapcsolatok-tablak-kozott/anomaliak

Beszúrási anomália

Forrás: Előadás diasor


Az előző példánál maradva (http://i.imgur.com/HDdnLFq.png) nem tudunk újabb sort felvenni, ha pl. a Pozíció oszlopban a NULL érték nem megengedett, de az új sor esetében nem áll rendelkezésünkre az az attribútum.


"Beszúrási anomáliáról beszélünk abban az esetben, amikor egy adatrekord beszúrása egy másik, hozzá logikailag nem kapcsolódó adatcsoport beszúrását kívánja meg."

Forrás: http://tudasbazis.sulinet.hu/hu/informatika/informatika/informatika-9-12-evfolyam/kapcsolatok-tablak-kozott/anomaliak

Módosítási anomália

http://i.imgur.com/HDdnLFq.png


Ha a fenti linken látható táblázat második sorában az Ország oszlop értékét megváltoztatjuk Magyarországra, akkor a második és negyedik sor egymásnak ellent fog mondani.


"Abban az esetben, ha egy relációban egy adat módosítása több helyen történő módosítást igényel, akkor módosítási anomáliáról beszélünk."


Forrás: http://tudasbazis.sulinet.hu/hu/informatika/informatika/informatika-9-12-evfolyam/kapcsolatok-tablak-kozott/anomaliak

Fizikai adatbázis

Az adatbázis fizikai szerkezete

Forrás: Előadás diasor


"A relációs adatbázisok esetében a logikai tervezés során a relációk már elnyerhetik végleges alakjukat, melyeket egyszerűen leképezhetünk az adatbázis-kezelőben. A fizikai tervezés során inkább arra koncentrálunk, hogy a logikai szerkezet mennyire felel meg a hatékony végrehajtás feltételeinek, illetve milyen indexeket rendeljünk az egyes relációkhoz. A relációkon végrehajtott művelet együttest tranzakciónak nevezzük és általában a tranzakciók gyors végrehajtását kívánjuk elérni.


A fizikai tervezés során előfordulhat, hogy a relációkba szándékosan redundanciákat építünk a hatékonyabb tranzakció kezelés érdekében. Ez visszalépésnek tűnhet a logikai tervezés során követett következetes redundancia megszüntető tevékenységünkhöz képest. A lényeges különbség viszont az, hogy itt a redundancia ellenőrzött módon kerül be a relációba, nem csak véletlenül maradt ott a hiányos tervezés miatt. Gyakran előfordul például az, hogy a sűrűn együtt szükséges adatokat egy relációban tároljuk a lehető leggyorsabb visszakeresés érdekében."

Forrás: http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.6

Adatbázis típusok

Hálós



Forrás: http://www.agt.bme.hu/szakm/adatb/db1.htm#p1.4.2


Ábra: http://i.imgur.com/sRlpw31.png (Forrás: Előadás diasor)

Relációs

A relációs az egyik legáttekinhetőbb és a 80-as évektől kezdve a legelterjedtebb adatmodell. Kidolgozása E. F. Codd (1923-2003) nevéhez fűződik, 1970-ben jelent meg alapvető műve a ""A Relational Model Data Large Shared Data Banks". A relációs modellben az adatokat táblázatok soraiban képezzük le. A legfontosabb eltérés a Hierarchikus- és Hálós modellhez képest az, hogy itt nincsenek előre definiált kapcsolatok az egyes adategységek között, hanem a kapcsolatok létrehozásához szükséges adatokat tároljuk többszörösen. Ezzel egy sokkal rugalmasabb és általánosabb szerkezetet kapunk.


Forrás: http://www.agt.bme.hu/szakm/adatb/db1.htm#p1.4.3


Ábra: http://i.imgur.com/r5h6t0g.png (Forrás: Előadás diasor)

Hierarchikus




Forrás: http://www.agt.bme.hu/szakm/adatb/db1.htm#p1.4.1


Ábra: http://i.imgur.com/qvBiGxT.png (Forrás: Előadás diasor)

E-R

Egyed-Kapcsolat (Entity-Relationship, E-R)



Forrás: Előadás diasor


Ábrázolási konvenciók: https://docs.oracle.com/cd/A87860_01/doc/java.817/a81358/05_dev1.htm

Relationship

Kapcsolat („Relationship”): entitások névvel ellátott viszonya.



A kapcsolatokat a következőkkel jellemezzük:


Forrás: Előadás diasor

Entity

Egyed („Entity”): a valós világban létező, logikai vagy fizikai szempontból saját léttel rendelkező dolog, amelyről adatokat tárolunk.



Forrás: Előadás diasor

Tulajdonság

Tulajdonság (attribútum, „Attribute”): az entitás néhány kiválasztott jellemzője, ami az entitásokat jellemzi. Ez, vagy ezek segítségével különböztetjük meg az entitásokat.


Az egyedek tulajdonságai vagy jellemzői, amelyekkel azonosítjuk, leírjuk, minősítjük, osztályozzuk vagy állapotát fejezzük ki az egyednek.


Forrás: Előadás diasor

Logikai adatbázis

Az adatbázis fogalmi szerkezete

Forrás: Előadás diasor



"A logikai tervezés célja egy redundancia mentes reláció rendszer, relációs adatbázis."

Forrás: http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.5