Adatbzistervezs Adat Adat DATA lehet brmi ami krlttnk
Adatbázis-tervezés
Adat • Adat (DATA): lehet bármi, ami körülöttünk van, ami számunkra jelent valamit, valamilyen tulajdonsággal rendelkezik, mástól megkülönböztethető és a számítógépen valahogyan hosszú időre tárolni szeretnénk, azért, hogy később többször is vagy rendszeresen valamilyen formában visszakaphassuk, kombinálva a többi hasonlóan tárolt adatokkal.
Információ • Információ: valamilyen új ismeret, amit a tárolt adatokból kaphatunk. Nem azonos az adattal, hanem az a jelentés, amit mi tulajdonítunk az adatnak, amit az adat a számunkra hordoz.
• Az Információs rendszer lehetőséget nyújt nagy mennyiségű adatok számítógépes tárolására a megfelelő hardware eszközök használatával, abból a célból, hogy a különböző felhasználók a hardware valamint a software eszközök (programcsomagok) segítségével különböző információt kaphassanak a tárolt adatokból. • Az információs rendszer az adatokat tárolja a hardware eszközökön, ahonnan a software segítségével a felhasználók információt kaphatnak.
Egyed, Tulajdonság, Kapcsolat • Egyed (entity, entitás): Az a valami, dolog, amit ismeretekkel akarunk leírni; valami van és megkülönbözhető. Az egyedek a valóság azon elemei, melyek számunkra valamilyen lényeges információt hordoznak, egymástól megkülönböztethetőek. • Az egyed egy konkrét értékét egyed előfordulásnak, az előfordulások összességét pedig egyedhalmaznak nevezzük.
• Tulajdonság (attribútum): A tulajdonság az, amivel az egyedet leírjuk, ami alapján az egyedhalmaz egyedei megkülönböztethetőek a többi egyedtől. • A tulajdonság egy konkrét értéke a tulajdonság előfordulása. • A tulajdonság előfordulások összességét tulajdonsághalmaznak nevezzük.
• Kapcsolat (relationship): Az egyedek vagy tulajdonságaik közötti viszony. A kapcsolatokat megkülönböztethetjük annak megfelelően, hogy az egyedhalmazok közötti viszonyt vizsgáljuk, vagy az egyes egyedek tulajdonsághalmazai közötti viszonnyal foglalkozunk. • Az egyedhalmazok közötti kapcsolat, a táblák (relációk) közötti kapcsolatban fog megjelenni. • Az egyedhalmaz tulajdonsághalmazai közötti kapcsolatokat pedig a relációs modellnél vizsgáljuk, amikor meghatározzuk a funkcionális függőséget.
Adatbázis (DATABASE, DB) • Adatbázis alatt egymással valamilyen szempontból kapcsolatban lévő adatok jól szervezett halmazát értjük, mely számítógépen tartósan, hosszabb ideig tárolt és egyidejűleg több felhasználó párhuzamosan használhatja.
Séma és előfordulás. • Adatbázis séma: az adatbázis szerkezete, amit tervezéskor, egyszeri alkalommal hozunk létre, ritkán változtatjuk. • Az adatbázis séma megadja, hogy az adatbázisban milyen egyedhalmazok vannak, ezek milyen tulajdonsághalmazokkal és kapcsolatokkal rendelkeznek. • A szerkezet leírásához különböző adatmodellek állnak a rendelkezésünkre.
• Adatbázis előfordulás alatt az adatbázis pillanatnyi tartalmát értjük. • Általában a tervezés befejezésekor, az adatbázis használatba vételekor történik az adatok elsődleges betöltése az adatbázisba. A mindennapi használat során az adatbázis előfordulás, a tartalom az, ami állandóan változik.
Fogalmi Adatmodell Conceptual Data Model CDM • Adatbázis tervezéskor a tervezés normális esetben a fogalmi szinttel kezdődik, a CDM létrehozásával. • A fogalmi modell szintjén nem foglalkozunk a fizikai megvalósítással. • Ez a modell az adatbázis általános logikai struktúráját adja meg, amely független bármilyen szoftvertől (adatbáziskezelő rendszertől) vagy tárolási struktúrától. • Grafikus reprezentációját adja egy szervezet adatainak. • Lehetőséget ad a tervezés validitásának ellenőrzésére. • Lehetővé teszi a fizikai adatmodell (PDM) generálását, amely specifikálja az adatbázis fizikai megvalósítását.
A CDM objektumai I. A CDM grafikusan ábrázolja a következő objektumok egymással való kapcsolatát: Objektum Leírás Adatelem (Data item) A tervezésnél az információ legelemibb része Domain Egy értékhalmaz, melyből az adatelem felveheti az értékét (melyre az adatelem valid) Egyed (Entity) Bármilyen dolgot reprezentálhat, amely érdekes a feladat szempontjából, melyről információt szeretnénk tárolni. Egyed attribútum (Entity attribute) Elemi része az információnak, olyan adatelem, melyet az egyedhez rendeltünk, mint az egyed jellemzőjét
A CDM objektumai II. Objektum Leírás Azonosító Identifiers Az azonosító egyed attribútuma, vagy attribútumainak kombinációja, melynek értéke egyértelműen azonosítja az egyed minden előfordulását, azaz azonosítja az egyedet. Minden egyednek van legalább egy azonosítója. Elsődleges Azonosító Primary Identifiers Az az azonosító, amelyet kiemelünk a lehetséges azonosítók közül, és a továbbiakban az egyed azonosítására használunk. Csak egy elsődleges azonosító van.
Azonosítók Az azonosító egyed attribútuma vagy attribútumainak kombinációja, melynek értéke egyértelműen meghatározza az egyedet.
Ø Egy vagy több attribútum alkotja Ø Egy egyednek több azonosítója lehet, ezek közül egyet kiválasztunk elsődleges azonosítónak Ø PDM generálásakor ebből lesz az elsődleges kulcs Ø Kötelező legalább egy azonosítót megadni Ø Megadása történhet az egyed tulajdonság lapján az attribútum melletti P (primary) bejelölésével.
Ø Kötelező értéket adni az elsődleges azonosítónak, ezért az M (mandatory) is automatikusan bejelölésre kerül. Ø Diagramon az attribútumok utáni vonal alatt jelenik meg az azonosító (ha beállítottuk, hogy meg akarjuk jeleníteni), <pi> jelöli. Ø Az azonosítónak is van tulajdonság lapja, ezen vagy az egyed tulajdonság lapjának Attribútum fülénél tudunk nevet adni.
Ø Elsődleges azonosítót nem lehet többszörösen használni, azaz a REUSE opció nem vonatkozik rá. Ø Több azonositó megadása az egyed tulajdonság lapján az Attribútum fülnél történhet. Ø Ha több attribútum alkotja az elsődleges azonosítót, akkor ezeknél az attribútumoknál az egyed tulajdonság lapján „pipát” teszünk a P tulajdonsághoz.
Ø Az azonosítók tulajdonság lapja elérhető: • Egyed tulajdonság lapja Azonosítók fül -nél • Modell menüpont, azonosítók listájából Ø Az azonosítók listája megmutatja: • Milyen azonosítók vannak • Melyik azonosító, melyik egyedhez tartozik
A CDM objektumai III. Objektum Leírás Kapcsolat Relationship REFLEXIVE kapcsolat Névvel ellátott viszony vagy összefüggés egy vagy több egyed között. Kifejezi, azt a tényt, hogy a két egyed valamiképp viszonyul egymáshoz. Például, a KIADOK és a KONYVEK egyedek között létezik egy kapcsolat, mert a KIADOK adják ki a KONYVEK-et. Amikor egyed saját magával áll kapcsolatban. Pl. , DOLGOZOK és VEZETOK egyedek között
A kapcsolat jellemzői I. Kardinalitás • Kardinalitás (cardinality) megadja azt a maximális számot (1 vagy n), amely megmutatja, hogy az egyik egyed egy előfordulásához a másik egyed hány előfordulása tartozhat. • Meghatározásához a következő kérdést kell feltennünk: • Tartozhat-e több, mint egy előfordulása az adott egyednek a másik egyed egy előfordulásához? • Példák: – KIADOK – KONYVEK – SZERZOK – KEP KONYVEK KIADOK KEP SZERZOK Egy kiadó több könyvet is kiadhat Adott könyvet kiadhat-e több kiadó? Egy szerzőnek van-e több képe tárolva? Adott képhez tartozhat-e több szerző?
A kapcsolat jellemzői II. Mandatory • A kapcsolatnak ez a tulajdonsága megadja azt a minimális számot (0 vagy 1), amely megmutatja, hogy az egyik egyed egy előfordulásához kötelezően kell-e tartoznia a másik egyed legalább egy előfordulásának, vagy megengedett, hogy előfordulás sem tartozik az adott egyed előfordulásához • Azt vizsgáljuk mindkét egyed irányából hogy a kapcsolat kötelező-e. Ha nem kötelező, akkor azt mondjuk, hogy a kapcsolat az adott irányba opcionális (tetszőleges). • Példák: – KIADOK – KONYVEK – SZERZOK – KEP KONYVEK KIADOK KEP SZERZOK Lehet-e kiadó, mely nem ad ki egy könyvet sem? Minden könyvhöz tartozik kiad. Lehet-e szerző akinek nincs képe tárolva? Minden képhez tartozik szerző.
A kapcsolatok megvalósulása a fizikai modellben
A kapcsolatok fajtái I. REFLEXIVE kapcsolat • Amikor egyed saját magával áll kapcsolatban. • Pl. , DOLGOZOK és VEZETOK egyedek között
A kapcsolatok fajtái II. Domináns vagy uralkodó kapcsolat • Egy – egy kapcsolat esetén meghatározhatjuk a kapcsolat egyik irányát dominánsként (uralkodóként). • Ennek hatása a Fizikai modell generálásakor látszik, mert ebben az esetben csak egy hivatkozás lesz generálva. • A domináns egyedből lesz a szülő tábla, és csak ennek a táblának az azonosítója kerül be idegen kulcsként a másik generált táblába. • Ha nem definiálunk domináns kapcsolatot, mind a két generált táblába bekerül a hivatkozás a másik táblára.
Egy-egy kapcsolat megvalósulása a fizikai modellben
Domináns kapcsolat megvalósulása a fizikai modellben
A kapcsolatok fajtái III. Függő vagy alárendelt kapcsolat • A függő kapcsolatban egyedet egy másik egyeden keresztül azonosítunk. • Mindegyik egyed rendelkezik azonosítóval, de van olyan eset, amikor egyednek az azonosítója nem elegendő, hogy azonosítsa az egyed előfordulásait. • Ezeknél az egyed azonosítója a másik, – vele függő kapcsolatban lévő – egyed azonosítójával együtt jelenik meg. Példa: MUNKA (Munka_neve, Munka_ara) PROJECT (Project_azonosito, Pr_nev, Egyeb) A Munka_ara függ attól, hogy melyik PROJECTben vesz részt. • Sok-sok kapcsolat nem lehet függő.
Függő kapcsolat megvalósulása a fizikai modellben
Nem függő - függő kapcsolat fizikai modelljének összehasonlítása
Kapcsolat átalakítása asszociatív egyeddé • Két egyedet összekötő kapcsolatot átalakíthatjuk egy un. kapcsoló (asszociatív) egyeddé, mely kapcsolódik az eredeti két egyedhez. • Az átalakítás után a kapcsolat helyett lesz: – egyed (ezt nevezzük asszociatív egyednek) – egy kapcsolat az asszociatív egyedtől az egyik eredeti egyedhez – egy kapcsolat az asszociatív egyedtől a másik eredeti egyedhez
Kapcsolat átalakítása asszociatív egyeddé • Előnye: Az így kapott új egyedhez attribútumok rendelhetők, melyeket a kapcsolathoz nem fűzhettünk volna hozzá. Ezek az attribútumok fontosak lehetnek a két egyed közti eredeti kapcsolat pontosításában, egyértelműbbé tételében. • Általában, ha a két egyed közötti kapcsolat nem elegendő az összes jellemzők pontos leírására akkor érdemes használni az asszociatív egyedet a plusz információk megadására.
Példák • KONYVEK – SZERZOK közötti kapcsolat nem fejezi ki pontosan, hogy, ha a könyvnek több szerzője van, akkor mekkora az egyes szerzők részesedése az eladásból, vagy melyik szerző hányadiknak számít. Ezt a kapcsolat átalakítható asszociatív egyeddé, melynek két attribútuma lesz, a RÉSZESEDÉS és a SORREND. • VERSENYZOK – PALYAK között sok – sok kapcsolat van, mivel egy versenyző több pályán is versenyezhet és egy pályán több versenyző is szerepelhet. Meg szeretnénk adni, hogy az adott pályán mikor versenyzik a versenyző és milyen eredménnyel szerepel, azaz a létrehozott asszociatív egyednek két tulajdonsága lesz, az IDŐPONT és a HELYEZÉS.
Az asszociatív egyed létrehozása • Az asszociatív egyed neve és kódja a annak a kapcsolatnak a neve és kódja lesz melyből létrejött. • Az új egyednek adhatók attribútumok. • Nem kötelező, de lehet azonosítót megadni. (A Fizikai model generálásakor az elsődleges kulcsát a két egyed azonosítójából létrejött elsődleges kulcsok fogják alkotni, melyek egyben idegen kulcsok is lesznek. ) • A két keletkezett kapcsolatot meg kell határozni, mint általában a kapcsolatokat. • Az asszociatív egyedet létrehozhatjuk menü pontból vagy Varázsló segítségével.
Öröklődés • Lehetőség van arra, hogy meghatározzunk egy vagy több egyedet, mint egy (általános) egyed speciális eseteit. • Az általános egyed a szülő (parent) vagy szupertípus (supertype) egyed, a speciális egyedek a gyermek (children) vagy altípus (subtype) egyedek. • A szülő és gyermek egyedek között létrehozhatjuk az öröklődési kapcsolatot. • A szülő egyed definiálja az összes közös jellemzőket, a gyerek egyedek specifikálják az egyedi eltéréseket, speciális jellemzőket.
Öröklődés • Az öröklődési kapcsolatnak fizikai szintre történő átalakításakor, a gyerek egyedek öröklik a szülő egyed valamennyi tulajdonságát, és ezenkívül rendelkezhetnek további speciális, csak az egyes gyerek egyedekre jellemző attribútumokkal is. • Jelölés: • Egymást kölcsönösen kizáró öröklődési kapcsolat, létrehozása. • Jelölés:
Példák • KONYVEK, mint általános egyed lehet rendszeres, PERIODIKUS kiadvány és NEM RENDSZERES (egyedi) kiadvány. A periodikus egyednek egyedi attribútuma lehet, hogy milyen GYAKORISÁGgal jelenik meg. • HIRLAP egyed esetében gyermek egyedek lehetnek: NAPILAP, HETILAP, FOLYÓIRAT, stb. • HALLGATOK egyednél, gyermek egyedek lehetnek: NAPPALI, LEVELEZŐ, ESTI
Példák • BANKSZÁMLA (BANKKÁRTYA) egyed esetében, megkülönböztethetünk FOLYÓSZÁMLÁT, HITELSZÁMLÁT, stb. l • Banknál az UGYFELek esetében különbséget tehetünk, hogy BANKI DOLGOZOK –e vagy nem dolgozok. • EDZŐK egy fittness centrumban lehetnek SZEMÉLYI EDZŐK vagy ÓRATARTÓK
Az öröklődési kapcsolat létrehozása PDESben. Meg kell határozni, hogy generáláskor mi történjék, milyen egyedekből legyen tábla generálva. Lehetőségek: – Csak a szülő egyedből – Csak a gyermek egyedből – A szülő és a gyermek egyedből is • a gyermek a szülő összes attribútumát örökölje • a gyermek csak a szülő azonosítóját örökölje
Példa
Üzleti szabályok - Business Rules • Azok a szabályok, amelyeket az üzleti élet, a valóság követ. • Lehet törvény, valamilyen követelmény, feltétel, belső szabályzat, stb. • Az üzleti szabályok feltárása, megismerése, megfogalmazása, elemzése majd a tervbe való beillesztése egy folyamat, melynek lépései a következők: – Megfigyelés. Például a könyveknek több szerzőjük is lehet és ebben az esetben valamilyen szabály alapján osztani kell a szerzői jogdíjat. Másik példa: A vásárlók számos megrendelést adhatnak fel, de később a megrendelések feladását valamilyen feltételhez lehet kötni, meghatározni az egyszerre feladható rendelések számát vagy összegét, vagy az egyes vásárlók hitelkeretét , stb.
– Az üzleti szabályok vezetik és dokumentálhatják a modell létrehozását. Az interjúk során megtudott, feltárt információkat, rögzíthetjük és később felhasználhatjuk az üzleti szabályokban. Például a diagramokon ábrázoljuk, hogy a kiadók kiadnak könyveket, kötelező-e, hogy minden kiadó kiadjon legalább egy könyvet, vagy ugyanazt a könyvet több kiadó is kiadhatja. Ezek üzleti szabályok, melyeket a tervezésnél figyelembe kell venni, mert befolyásolják a rendszer működését. – Az üzleti szabályok szöveges kiegészítést adhatnak a diagramokhoz. Ami nem ábrázolható, azt leírjuk, például formulákban, kifejezésekben, validálási szabályokban vagy szövegesen. Ezeknek nincs grafikus ábrázolásuk. – A fizikai modell (PDM) CDM–ből történő generálásakor az üzleti szabályok átkerülnek közvetlenül a PDM-be, ott tovább specifikálhatóak figyelembe véve a fizikai adottságokat.
Vannak üzleti szabályok, melyek megmaradnak szöveges leírásnak és csak a program írásakor vesszük figyelembe. Mások specifikálódnak a PDM-ben és constraint-ek, szabályok, Check paraméterek formájában beépülnek a modellbe és megjelennek az SQL utasításokban – adatbázis szinten rögzítődnek.
Az üzleti szabályok típusai • Definició (Definition) Jellemzőket, tulajdonságokat ír le – A kiadó egy vállalat, mely könyveket ad ki, neve címe, stb. van. • Tény (Fact) Bizonyosság vagy létezés az információs rendszerben, ami van – A szerzőkhöz könyvek tartoznak. – A kiadók egy vagy több könyvet adhatnak ki. – A vásárlók egy vagy több rendelést adhatnak fel. • Formula Számítások, melyeket alkalmazunk az információs rendszerben – A szerzők előlege a becsült szerzői díj valahány százaléka. – A szerzői díj függ az eladástól, az eladott könyvek mennyiségének növekedésével arányosan növekszik.
• Érvényességi Korlátokat határoz meg az szabály (Validation) értékekre – A szerzői jogdíj részesedésének összege adott könyvre 100% • Megszorítás (Constraint)Kiegészítő check constraint egy értéken. Ez használt a PDM-ben és generálva lesz az adatbázisban is. – A könyv kiadásának dátuma kisebb legyen, mint az eladás dátuma. (Csak miután kiadták a könyvet kezdődhet az eladás. ) • Követelmény (Requirement) Funkcionális specifikáció az információs rendszerben – A modellt úgy kell tervezni, hogy a teljes szerzői díj nem lehet több, mint a teljes eladás 10%-a.
Objektumok generálása CDM-ből PDM-be.
CDM objektumok lefordítása PDM objektumokra a fizikai modell generálásakor • Objektum a CDM-ben Generált objektum a PDM-ben • Egyed attribútum • Elsődleges azonosító Tábla oszlop Elsődleges vagy idegen kulcs attól függően, hogy a kapcsolat függő vagy független Alternatív kulcs Hivatkozás • Azonosító • Kapcsolat • Az oszlopnév automatikusan megváltozik, ha a táblába migrált idegen kulcs neve megegyezne, valamelyik már meglévő oszlopnévvel. Az új név alapértelmezés szerint az eredeti egyed nevének első három karakteréből és az idegen kulcsként generált attribútum kódjából fog állni.
- Slides: 48