online kép - Fájl  tubefájl feltöltés file feltöltés - adja hozzá a fájlokat onlinefedezze fel a legújabb online dokumentumokKapcsolat
  
 

Letöltheto dokumentumok, programok, törvények, tervezetek, javaslatok, egyéb hasznos információk, receptek - Fájl kiterjesztések - fajltube.com

Online dokumentumok - kep
  

Informatika Adatbazis tervezés

számítógépes



felso sarok

egyéb tételek

jobb felso sarok
 
Tablazatok szerkesztési műveletei
Halózati operaciós rendszerek
A szöveg specialis objektumainak kezelése
Az operaciós rendszer
Be és Kivitel
Processzus ütemezése
Formalis nyelvek a gyakorlatban
Web mail és e-mail IP alapon
 
bal also sarok   jobb also sarok


Informatika

Adatbázis tervezés




Mérés Célja


A mérés során a hallgatók megismerkednek az adatbázisok logikai tervezése során használatos Egyed/Kapcsolat (E/K)diagrammokkal, valamint az elkészült adatbázis terv relációs adatmodellé történő leképezésével. A mérés során egy szöveges specifikációból kiindulva adatbázis tervet kell készíteni, a megtervezett adatbázist relációs sémává kell alakítani, és a sémát létre is kell hozni Oracle Serveren.

2. Szükséges ismeretek


A mérés elvégzéséhez a következő ismeretek szükségesek:

  • Egyed/Kapcsolat diagrammokon használt jelölések
  • Egyed/Kapcsolat diagrammok leképezése relációs adatmodellé
  • SQL utasítások, melyek relációs séma létrehozására szolgálnak

2.1 Egyed/Kapcsolat diagrammok

Az Egyed/Kapcsolat diagrammok az adatbázisban található elemek logikai struktúrájának modellezésére szolgálnak. A modellezés során az alábbi elemek találhatók meg egy E/K diagrammban:

  • Egyed: Azon objektumok modellezésére szolgál, melyről információt szeretnénk tárolni az adatbázisban.
  • Attribútum: Egyedekhez vagy kapcsolatokhoz tartozó leíró tulajdonság. Azaz az attribútumok jelenítik meg a tárolandó tulajdonságokat.
  • Kapcsolat: A kapcsolatok az egyede 828f59i k egymáshoz való viszonyát írják le .Azaz egy egyed milyen, ill. hány másik egyeddel áll kapcsolatban.

Az E/K diagrammok ábrázolására nincs egységesen elfogadott szabvány, ezen dokumentációban az egyik elterjedt jelölésrendszert ismertetjük.


2.1.1 Egyed

Az egyedeket tulajdonképpen az információ hordozóinak lehet tekinteni, azaz az egyedek azok a fogalmak/dolgok amikről információt szeretnénk tárolni. Egyedek közt megkülönböztetünk egyed típust és egyed példányt. Az egyed típus egy gyűjtő fogalom, azaz adott típusú egyedeket tárolunk az adatbázisban és az egyed példány az egyed típus egy konkrét előfordulása. Például: a személy az egy egyedtípus és Kiss Béla egy konkrét egyedpéldány. Az E/K diagrammokon egyed típusokat ábrázolunk. Az egyed típusokat a következőképpen szokás jelölni:



2.1.2 Attribútum

Attribútumok szolgálnak a leíró tulajdonságok tárolására, azaz ezek írják le azt, hgy mit szeretnénk tárolni. Önmagukban nem állhatnak,csak egyedhez vagy kapcsolathoz kapcsolódva. Attribútumok között megkülönböztetünk egyszerű és összetett attribútumokat, valamint egyértékű és többértékű attribútumokat:

  • egyszerű attribútum: Egyszerű attribútum egy elemi információt jelent, amit tárolni szeretnénk. Például: Vezetéknév
  • összetett attribútum: Olyan attribútum, amely több másik attribútumból áll. Például: Lakcím
  • egyértékű attribútum: Olyan attribútum mely egy egyed példány esetén egyszerre csak egy értéket vehet fel. Például: Személyi szám
  • többértékű attribútum: Olyan attribútumok, melyek egy egyed példány esetén egyszerre akár több értéket is felvehet.

Az attribútumokat az alábbi módon szokás jelölni az E/K diagrammon:



2.1.3 Kapcsolat

A kapcsolatok az egyede 828f59i k egymáshoz való viszonyát írják le. Ezek az összekötő elemei az adatmodellnek, ezek adják meg, hogy az egyes egyedek milyen kapcsolatban állnak egymással. Egy kapcsolat összeköthet akár egy egyedtípus több példányát (ezeket rekurzív kapcsolatoknak is hívják), általában két egyedtípus példányait rendeli össze, de elképzelhetők olyan kapcsolatok is, melyek több egyedtípust kapcsolnak össze. Az összetartozó egyedek alapján beszélhetünk:

  • egy - egy kapcsolatról: Egy egyedpéldányhoz legfeljebb egy másik egyedpéldány kapcsolódhat. Például:



Egy alkalmazottnak egy parkolóhelye van és egy parkolóhelyet egy alkalmazott használhat

  • egy - több kapcsolatról: Egy egyedpéldányhoz több másik egyedpéldány is kapcsolódhat. Az egy - több kapcsolatban az szülőnek hívják azt az egyedet, melyből egy példány kapcsolódik, és gyereknek azokat az egyedeket, melyből több is lehet. Például:



Egy
termék egy kategóriába tartozik, de egy kategóriába több termék is tartozhat. A kategória a szülő és a termék a gyerek ebben a .példában

  • több - több kapcsolatról: Mindkét irányban megengedett, hogy egy egyedpéldányhoz több másik egyedpéldány kapcsolódjon. Például:



Egy diák több tantárgyra is járhat, és egy tantárgyra több diák jár.


Általában a több - több kapcsolatokat, összekapcsoló entitásokkal szokták modellezni, mivel ekkor a több - több kapcsolat átalakul két darab egy - több kapcsolattá. Például:

A kapcsolatok jellemzéséhez tartozik a minimum és maximum kardinalitásnak a meghatározása. Ezeket részben már meghatározza a kapcsolat típusa (egy - egy, egy - több, több -több). A kardinalitások meghatározásánál a következő típusokat szokták megkülönböztetni:

  • minimum kardinalitás 0: Azaz opcionális kapcsolat, nem feltétlenül kötelező, hogy legyen kapcsolódó elem
  • minimum kardinalitás 1: Kötelező kapcsolat, minden esetben kell hivatkozás a másik entitásra
  • maximum kardinalitás 1: Legfeljebb egy hivatkozás tartozhat hozzá
  • Maximum kardinalitás n: Sok hivatkozás tarozhat hozzá.

Jelölésük az E/K diagrammon a következő:


Egy kórtörténet bejegyzés minimum egy, maximum egy (azaz kötelezően egy) betegre vonatkozik, és egy betegnek egy vagy több kórtörténeti bejegyzése van




Egy alkalmazott több projekten is dolgozhat, de nem feltétlenül dolgozik projekten. Viszont egy projekten több alkalmazott is dolgozhat, de legalább egy alkalmazott dolgozik rajta.




Egy személy egy másik személlyel léphet házasságra, és legfeljebb egy házastársa lehet, mivel a házasság nem kötelező ezért nem feltétlenül van házastársa.

2.2 Egyed/Kapcsolat diagrammok leképezése relációs adatmodellre


Az elkészült E/K diagrammot relációs adatmodellé transzformálni viszonylag egyszerű algoritmussal lehet. Viszont az E/K diagrammok tartalmazhatnak olyan részeket, melyek nem ábrázolhatók közvetlenül relációs adatmodellben, ezeket előbb meg kell szüntetni:

  • Összetett attribútumok: Összetett attribútumoknál el kell dönteni, hogy szükséges-e önállóan az összetett attribútum. Ha igen akkor entitássá és kapcsolattá kell átalakítani, ha nem akkor egyszerűen az egyes tagokat közvetlenül az egyedhez kell kapcsolni.
  • Több értékű attribútumok:Entitássá és több - több kapcsolattá kell alakítani.
  • Több - több kapcsolatok: Összekapcsoló entitás segítségével egy - több kapcsolatokká kell átalakítani.

A fenti átalakítások következtében a transzformált E/K diagramm már csak egyszerű attribútumokat tartalmaz valamint egy - egy és egy - több kapcsolatokat. A transzformáció menete:

Egyedekből lesznek a táblák

Az egyedekhez tartozó attribútumok adják a táblák oszolpait

Egy - egy kapcsolatok esetén az egyik táblába idegen kulcsot kell elhelyezni a másik táblába

Egy - több kapcsolatok esetében a gyerek táblában kell elhelyezni egy idegen kulcsot a szülő táblára.


2.3 Relációs séma létrehozása SQL nyelven


A relációs séma létrehozására az SQL nyelv DDL (Data Definition Language) utasításai szolgálnak. A táblák létrehozásakor meg kell adni az egyes oszlopok típusát. Az egyes Oracle Server adattípusokról ad rövid áttekintést a következő táblázat.


Típus

Leírás

Char(n)

Fix (n karakter) hosszúságú szöveg.

Varchar(n)

Változó hosszúságú szöveg, a szöveg maximális hossza n.

Varchar2(n)

Ugyan az mint a Varchar, kompatibilitási okok miatt a Varchar2 típus használata ajánlott.

Number(sz,p)

Numerikus adattípus, sz jegynyi egész részből és p jegynyi tizedes részből áll.

Date

Dátum típus


A táblák létrehozására a Create table utasítás szolgál:


CREATE TABLE táblanév (

oszlop név ADATTÍPUS [DEFAULT érték] [NULL|NOT NULL] oszlop szintű megszorítások,


oszlop név ADATTÍPUS [DEFAULT érték] [NULL|NOT NULL] oszlop szintű megszorítások,

tábla szintű megszorítások )


Tábla definiálása során megadható megszorítások:

  • PRIMARY KEY: Elsődleges kulcs definiálása
  • UNIQUE [KEY]: Kulcs jelöltek definiálása
  • [FOREIGN KEY] REFERENCES tábla(oszlopok):Idegen kulcs másik táblára
  • CHECK [CONSTRAINT] logikai kifejezés: Tetszőleges logikai kifejezést helyességét lehet ellenőrizni.

Néhány példa táblák létrehozására.


Create table diak(

Azonosito number primary key,

Nev Varchar2(50) not null,

Adoszam number not null unique,

Szak Varchar2(40) default 'Villamosmernok')


Create table tantargy(

Azonosito number primary key,

Nev Varchar2(30))


Create table vizsgaeredmeny(

DiakAZ number references diak(Azonosito),

TargyAZ number refeences tantargy(Azonosito),

VizsgaDatum date,

Erdemjegy number,

Primary key (DiakAZ, TantargyAZ, VizsgaDatum))



3. Mintafeladat


A mérés során egy hasonló specifikációból kiindulva kell megoldani a feladatsort. A laborban megoldandó feladat egy komplexebb rendszer specifikációját tartalmazza.

3.1 Specifikáció


Egy építőanyag kereskedés szeretné nyilvántartani az egyes termékeit, és azokból rendelkezésre álló raktárkészletet, beszállítóit és megrendelőit. Egy megrendelőnek több telephelye is lehet, az egyes megrendeléseket a megadott telephelyre szállítják ki. Ugyanakkor az egyes vevőknek van egy központi lepehelye is, ahova a számlákat küldik. Egy vevő egyszerre több terméket is megrendelhet egyszerre akár több különböző telephelyre is. Egyes termékeknek lehet több beszállítója is, valamint egy beszállító több terméket is szállíthat. A termékek egy részét a kereskedés saját maga állítja elő a beszállítók által hozott anyagokból. A rendszerben ezeket is nyilván szeretnénk tartani, valamint az ezek előállításához szükséges anyagmennyiségeket. Természetesen az előállított termékekből is rendelkezünk raktárkészlettel.

3.2 Egyed/Kapcsolat diagramm

3.3 Relációs adatmodell


A több - több kapcsolatokat át kell alakítani összekapcsoló entitássá. A kialakuló relációs séma:

Megrendelo(AZ, Nev, KozpontiThelyAZ)

Telephely(AZ, Varos, Utca, IrSzam, Tel, Fax, MegrendeloAZ)

Termek(AZ, Nev, Leiras, Mennyiseg

Beszallito(AZ, Nev, Cim)

Szallit(TermekAz, SzallitoAZ)

Vasarol(ThelyAZ, TermekAZ, Datum, Mennyiseg)

Alkotja(GyarmanyAZ, AlkotjaAZ, Mennyiseg )


3.5 Adatbázist létrehozó SQL script

Create table Megrendelo(

AZ number primary key,

Nev Varchar2(40) not null,

KozpontiThely number);


Create table Telephely(

AZ number primary key,

Varos Varchar2(40) not null,

Utca Varchar2(40) not null,

Irszam char(4) not null,

Tel Varchar2(15) not null,

Fax Varchar2(15) not null,

MegrendeloAZ number not null references Megrendelo(AZ))


Alter Table Megrendelo add (foreign key (KozpontiThely) references Telephely(AZ));


Create table Termek(

AZ number primary key,

Nev Varchar2(20),

Leiras Varchar2(200),

Mennyiseg number);


Creata table Alkotja(

GyartmanyAZ number references Termek(AZ),

AlkotjaAZ number references Termek(AZ),

Mennyiseg number,

Primary key(GyartmanyAZ, AlkotjaAZ));


Create table Beszallito(

AZ number primary key,

Nev varchar2(50),

Cim Varchar2(100));


Create table Szallit(

TermekAZ number not null references Termek(AZ)

SzallitoAZ number not null teferences Szallito(AZ),

Primary key (TermekAZ, SzallitoAZ));


Create table Vasarol(

ThelyAZ number not null refernces Telephely(AZ),

TermekAZ number not null references Termek(AZ),

Datum date not null,

Mennyiseg number,

Primary key (ThelyAZ, TermekAZ, Mennyiseg))






: 2292


Felhasználási feltételek