Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
2
(A logikai adatmodell kialakítása)
Adatmodellezés (A logikai adatmodell kialakítása) Barna Róbert KE GTK Informatika Tanszék
3
Adatbázis tervezés lépései
1. Követelmény analízis, feladat specifikáció 2. Adatbázis-kezelő rendszer (DBMS) kiválasztása 3. Adatmodellezés a. Szemantikai adatmodell elkészítése b. A szemantikai adatmodell konverziója a megfelelő adatbázis adatmodellre c. Normalizálás d. Az adatbázisban tárolt adatok típusának, integritási feltételeinek meghatározása 4. Kódolás, implementálás
4
A valós világ modellezése
ADATMODELL
5
A valós világ modellezése
(ez található a természetben) Elméleti modell (kiválasztjuk, hogy mi érdekel minket: entitások tulajdonságai) Logikai modell (meghatározzuk a minket érdeklő dolgok számítógépi leírását: táblák szerkezete) Fizikai modell (a valódi dolgok számítógépi megfelelőit feltöltjük a természetben található jellemzőikkel: táblák feltöltése adatokkal)
6
A valós világ modellezése
6
7
A valós világ modellezése
ANSI-SPARC adatbázis modell 7
8
Adatmodell Azt az eljárást, mely során a valós világ (egy részének) tényeit és az összefüggéseit tükröző adatok lényeges dolgait kiemeljük, adatmodellezésnek hívjuk. A modellezés eredménye az adatmodell. Adatmodell: azon formalizmus, melynek segítségével megadhatók a vizsgált problémakör adatelemeinek szerkezete, viselkedése. Séma: az adatmodell felhasználásával létrehozott adatszerkezet
9
Adatmodellek típusai absztrakciós szint szerint
szemantikai adatmodellek: emberközeli, lényeget emelik ki, pontatlan adatbázis adatmodellek: gépközeli, megadja a részleteket, teljes az egyes szinteken több különböző eszközkészletű modell él
10
Adatmodellek típusai absztrakciós szint szerint
szemantikai adatmodellek: emberközeli, lényeget emelik ki, pontatlan adatbázis adatmodellek: gépközeli, megadja a részleteket, teljes az egyes szinteken több különböző eszközkészletű modell él 10
11
Adatmodellek típusai szemantikai: ER, EER, IFO, UML, …
ER Entity-relationship model 1976 EER Enhanced Entity-Relationship Model 1980 IFO 1987 UML Unified Modeling Language 1996 szemantikai: ER, EER, IFO, UML, … - adatbázis szintű: hierarchikus, hálós, relációs, OODB, … 1960 1970 1980 1990 2000 idő Hierarchikus: Created by IBM in the 1960s Hálós: Charles Bachman (standard specification published in 1969) Relációs: Edgar F. Codd ,1969 OODB: object-oriented database: first appeared around 1985
12
Hierarchikus adatmodell
Az 1970-es évek végéig számított elterjedtnek. Az adatok között fennálló kapcsolat szülő-gyermek (1:N) kapcsolatnak felel meg. Fa struktúrával szemléltethető Hátránya: - nem ábrázolhatók benne közvetlenül N:M típusú kapcsolatok - adatok elérése csak a hierarchiának megfelelő sorrendben történhet. Térbeli és sík alakzatok grafikus adatainak leírásához ma is használjuk!
13
Hálós adatmodell Az 1970-es évek elején terjedt el.
Az adatok közötti kapcsolatokat gráfok írják le. A gráf csomópontok és ezeket összekötő élek együttese. Két csomópont között akkor van kapcsolat, ha él köti őket össze. Egy csomópontból tetszőleges él indulhat ki. Könnyen ábrázolhatók az N:M típusú kapcsolatok
14
Relációs adatmodell Napjaink legelterjedtebb adatbázismodellje.
1980-as években kezdte meg térhódítását. Halmazelméleti alapokra épülő modell. A „Reláció” egy táblázat, annak összes tartalmával együtt. Minden reláció egyedi nevet kap. Az oszlopokban a Reláció tulajdonságai találhatók. Az oszlopok egy táblán belül egyedi nevet kapnak. Sorai a logikailag összetartozó adatokat tartalmaznak. Reláció=tábla, Sor=rekord, Oszlop=attribútum A rekordok sorrendje tetszőleges lehet, de egy tábla nem tartalmazhat két azonos adatokkal feltöltött rekordot. Képes ábrázolni 1:1, 1:N és M:N kapcsolatot.
15
Relációs adatmodell
16
Objektumorientált adatmodell
OO Object-oriented SDM Semantic Data Model RDBMS Relational Database Management System OODBMS Object Oriented Database Management System
17
Objektumorientált adatmodell
Az objektumorientált adatmodell az objektumorientált programozás módszertanának egy része. Olyan adatbázis, amely intelligens elemekből épül fel. Az intelligencia itt azt jelenti, hogy az egyes adatbázis elemek (objektumok) „tudják”, hogy kik ők, mire használhatók, s miként kapcsolódnak a többi adatbázis-elemhez. Az objektumorientált adatbázisok az objektumorientált programozási nyelvek térhódításával terjedtek el. Hatékonyságukban jelenleg még alulmaradnak a relációs adatbázisokkal szemben.
18
Objektumorientált adatmodell
Fő jellemzői: becsomagolás (encapsulation): az objektum adatok és műveletek összessége öröklődés (inheritance): az alacsonyabb szinteken lévő objektumokból (szülő) levezetett magasabbszintű objektumok (gyerek) öröklik a szülők tulajdonságait és metódusait. többalakúság (polymorphism): ugyanazt az utasítást az egyes objektumok saját előírásaiknak megfelelően értelmezik.
19
Objektumorientált adatmodell
Becsomagolás (encapsulation) Osztály KERÉKPÁR objektum neve attribútumok metódusok tulajdonos típus mozog Előfordulás (KERÉKPÁR) Péter István mountain bike (KERÉKPÁR) Tóth Tamás kemping
20
Objektumorientált adatmodell
Öröklődés (inheritance): KERÉKPÁR KISMOTOR tulajdonos típus tulajdonos típus hajtóanyag mozog mozog pöfög Class Subclass
21
Objektumorientált adatmodell
Többalakúság (polimorfizmus) Ugyanazt a műveletet a hierarchia különböző szintjein más-más konkrét tartalommal végezhető el. Például másként mozog egy kerékpár, mint egy kismotor. Ami közös: mindegyik mozog. A művelet külső formája (az alprogram neve és paraméterei) azonos, de a tartalom (algoritmus és kód) más.
22
ER - Egyed-Kapcsolat modell
egyszerűsített szemantikai adatmodell kidolgozója: Chen (1976) csak strukturális részt és elemi statikus integritási részt tartalmaz egyszerű grafikus jelölésrendszert alkalmaz nem teljes adatmodell, de egyszerűsége révén elterjedt, és ma is széles körben használatos tervezési segédeszköz a relációs adatbázis tervezéséhez
23
ER - Egyed-Kapcsolat modell
Egyedtípusokból, a köztük levő kapcsolatokból és az egyes egyedtípusokhoz tartozó attribútumokból épül fel. A feladat az igényeket figyelembe véve, az egyedtípusok kialakítása és megfelelő attribútumokkal való ellátása, valamint a köztük levő kapcsolatok pontos feltérképezése. Ez alapján már fel lehet rajzolni az ER-sémát ( Egyed-Kapcsolat séma)
24
ER - Egyed-Kapcsolat modell
Modellezés menete ER-ben
25
ER - Egyed-Kapcsolat modell
Többfajta jelölésrendszer van használatban! Egyed (téglalap) Egyed típusok: normál egyed (önmagában azonosítható): dolgozó, autó gyenge egyed (más egyedhez való kapcsolatán keresztül azonosított): dolgozó felesége, autó motorja
26
ER - Egyed-Kapcsolat modell
Tulajdonság (ellipszis) Tulajdonság típusok: normál: egyértékű ember.szülidő kulcs: azonosító szerepű ember.TAJszám összetett: több tagból áll ember.lakcim(irsz,varos) többértékű: több értéke is lehet ember.hobbi származtatott: értéke kiszámítható ember.életkor
27
ER - Egyed-Kapcsolat modell
Kapcsolatok (rombusz) ember dolgozója munkahely Meghatározó kapcsolat (duplavonalas rombusz) Gyenge entitást határoz meg macska kié tulajdonos k k
28
ER - Egyed-Kapcsolat modell
Példa meghatározó kapcsolatra 28
29
ER - Egyed-Kapcsolat modell
Kapcsolatok típusai (számosság szerint) a). Két egyed közötti (bináris) 1:1 kapcsolat, amikor minden A-egyedhez csak legfeljebb egy B-egyed tartozhat, és fordítva. 1:N kapcsolat, amikor egy A-egyedhez több B-egyed tartozhat, de ez fordítva nem igaz, vagyis egy B-egyedhez csak legfeljebb egy A-egyed tartozhat. N:M kapcsolat, amikor mindkét egyedhez tetszőleges számú másik egyed tartozhat. b). Kettőnél több egyed közötti (sokágú) kapcsolat. Ez a típus ritkábban lép fel, szükség esetén visszavezethető bináris kapcsolatokra. 29
30
ER - Egyed-Kapcsolat modell
Jelölés nyíllal (A nyíl az 1-et jelöli) és felirattal 1:1 1:N N:M kapcsolat 30
31
ER - Egyed-Kapcsolat modell
Jelölés varjúlábbal (1:N) Megye Település Hol van? Kapcsolat jelölése csak szöveggel 1:N N:M kapcsolat 31
32
ER - Egyed-Kapcsolat modell
Könyvtár példa 32
33
ER - Egyed-Kapcsolat modell
Ha a 0 előfordulást is jelölni kell! kör jelenti a 0-t (néha 1 függőleges vonal) varjúláb jelenti a sokat 1 függőleges vonal jelenti az 1-et (néha 2 függőleges vonal) Ezek kombinációi adják meg az összes esetet. Pl.: Zéró, vagy több az egyhez (egy olvasó nem minden könyvet kölcsönöz ki) Könyv Olvasó 33
34
ER - Egyed-Kapcsolat modell
A színész, film, stúdió példa 34
35
ER - Egyed-Kapcsolat modell
Sokágú kapcsolat helyettesítése gyenge egyeddel és bináris kapcsolatokkal Példa sokágú kapcsolatra 35
36
ER - Egyed-Kapcsolat modell
Hierarchikus felépítésű intézmény szervezeti egységeinek Modellezése (valójában 1:N kapcsolat) 36
37
ER - Egyed-Kapcsolat modell
Kapcsolatok típusai (kötelező jelleg szerint) opcionális: létezhet olyan egyedelőfordulás, melyhez nem kapcsolódik egyedelőfordulás a kapcsolatban (jelölése: egyvonalas nyíl; pl. nem minden könyvet kölcsönöznek ki a könyvtárból) kötelező: minden egyedelőforduláshoz kell kapcsolódnia egyedelőfordulásnak a kapcsolatban (jelölése: kétvonalas nyíl, pl.: minden könyvnek van kiadója) 37
38
ER - Egyed-Kapcsolat modell
Példány Kiadta Könyvtár Könyv Kiadó Beirat-kozott Írta Olvasó Szerző
39
ER - Egyed-Kapcsolat modell
Specializáló kapcsolat (háromszög): Hierarchiát, öröklődést valósítanak meg egyedek között 39
40
ER - Egyed-Kapcsolat modell
Példa Specializáló kapcsolatra Számítógép Memória Processzor Laptop PC Monitor méret Gépház méret 40
41
Az Entity-Relationship modell
A rugalmasság ellenére, számos esetben nem lehet egzaktul megoldani az adatrendszer leírását. Problémát jelent a specializációk, általánosítások, tartalmazási relációk ábrázolása, hiszen az ER csak az asszociációt ismeri. Az egyfajta jelölési mód elmossa a különbségeket! Asszociáció ideiglenes szimmetrikus laza ember jármű autó Specializáció állandósult nem szimmetrikus fogalmi szinten él csak Tartalmazás szoros kapcsolat nem szimmetrikus állandósult motor 41
42
A kiterjesztett ER modell
Az ER modell kibővítése a specializáció és a tartalmazás kapcsolat elemekkel. (Enhanced Entity-Relationship Model – EER) A tartalmi különbség megmutatkozik a formában is. Asszociáció ideiglenes szimmetrikus laza ember jármű the car is a vehicle IS_A autó Specializáció állandósult nem szimmetrikus fogalmi szinten él csak Tartalmazás szoros kapcsolat nem szimmetrikus állandósult HAS_A motor the car has an engine 42
43
Könyvtár példa Könyvleírás Példányadatok Könyvkód ISBN Szerző Kiadó
Cím KiadásiÉv Állapot Példánya 0..1 1..M Törzsszám Vonalkód Lelőhely Kölcsönözhető Nyelv Szak Kölcsönzők Kölcsönzés 0..M Leltárszám Név fénykép Cutter BeiratkÉv Kölcsönözhet Letiltva Datumig Dátum Határidő Visszahozva
44
Könyvtár példa Megvalósítás ACCESS-ben 44
45
Könyvtár példa Megvalósítás OpenOffice Base-ben 45
46
Könyvtár példa Megvalósítás MySQL Workbenchben 46
47
Példák: EK modell → táblák
Az alábbi link az EK modell → adatbázis átalakítására ad példát: 47
48
Köszönöm a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.