143
1 Adatbázis-kezelés Alapfogalmak Összeállította: Nagy Zsolt (fejlesztés alatt)

Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

1

Adatbázis-kezelés

Alapfogalmak

Összeállította:

Nagy Zsolt

(fejlesztés alatt)

Page 2: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

2

Adat:

Autó:

– Típus,

– Rendszám,

– Szín,

– Évjárat.

Az ismereteink megjelenési formája!

Bármi, amiről ismeretet tudunk szerezniadatként van jelen.

Page 3: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

3

Adat:

Az adat tények, fogalmak, eligazítások

olyan formai megjelenése, amely

alkalmas az emberi vagy az

automatikus eszközök által történő

értelmezésre vagy feldolgozásra.

Page 4: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

4

Adat:

Hogyan jutunk adatokhoz (ismerethez)?

• Társalgás,

• Olvasás,

• Mérés,

• Feldolgozás,

• Stb.

Page 5: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

5

Információ

Adat + meglévő tudás Információ

Értelmezett adat!

Következtetés,

gondolkodás

Page 6: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

6

Információ

Az adatnak tulajdonított jelentés.

Olyan tény, amely a befogadó ember

számára új ismeretet tartalmaz és ezáltal

bizonytalanságunkat csökkenti.

Az információ a tartalmi, az adat a formai

megjelenését jelenti ugyanannak a

közleménynek.

Page 7: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

7

Adatkezelés

Az adatkezelés során adatokkal dolgozunk, amelyek a feldolgozó ember számára információvá válhatnak.

Király kincstárnoka VIR

Adatkezelést azért végzünk, hogy a meglévő ismereteinket eltároljuk, később visszakeressük, feldolgozzuk.

Vállalati Információs

RendszerFejlődés

Page 8: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

8

Adatkezelés formái

• Szöveges szövegszerkesztők

• Táblázatos táblázatkezelők

• Adatszerű adatbázis-kezelők

• A jövő Adattárházak, Adatbányászat

Óriási méretű egységes adathalmazokból,

statisztikai és egyéb eljárásokkal új ismeretek

kinyerése.

Page 9: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

9

Adatkezelés alkalmazási területei• kereskedelem: raktári készlet és megrendelések

nyilvántartása,

• kultúra, oktatás: könyvtári információs rendszerek, hallgatói adminisztráció

• közigazgatás: adónyilvántartások

• közlekedés: jegy helyfoglalási rendszerek

• egészségügy: betegnyilvántartás

• tudomány: szak-adatbázisok

• posta: ügyfelek, számlák nyilvántartása

• vállalat: termelés irányítási rendszerek

• mérnöki munka: tervezői rendszerek.

Page 10: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

10

Információs rendszerek

követelményei

• Nagymennyiségű adatok hatékony kezelése.

A felhasználónak elfogadható időn belül kell választ kapnia a feltett kérdéseire.

• Konkurens hozzáférés támogatása.

Egyidejűleg több felhasználó is használja. A párhuzamos változtatások, műveletek, ha nincsenek összehangolva, akkor egymás hatását kiolthatják. Banki tranzakció.

• Integritásőrzés.A modellezett valóság belső törvényszerűségeinek megtartása. A letárolt adatok megfelelnek a belső szabályrendszernek. Nem lehet negatív életkor.

Page 11: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

11

Információs rendszerek

követelményei II.

• Védelem.

Mi ellen?– Adathordozó megsérülése.

– Operációs rendszer vagy a program összeomlására.

– Illetéktelen személyek adatokhoz férése.

Módszerek:– RAID (független lemezek redundáns tömbje)

– Hozzáférések szabályozása (felh. Név + jelszó)

– Titkosítás

Ehhez viszont nyílván kell tartani a jogosult felhasználókat, azok

jogait és minden műveleti igény kiadásakor ellenőrizni kell, hogy elvégezhető-e a művelet.

Page 12: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

12

Információs rendszerek

követelményei III.

• Hatékony programfejlesztés.

Cél a rendszerfejlesztési idő lerövidítése!

Piaci verseny miatt.

A gyorsaság bizonyos értelemben alapkövetelmény is,

hiszen a rendszer mindig a valóság egy modelljének

felel meg, s a modellezett valóság elég gyakran változik,

pl. megváltoznak a szabályozók, a törvények.

Legyenek képesek a kisebb változtatásokat elviselni!

Adatszerkezet módosítása.

Page 13: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

13

Adatbázis (DB)

Adatoknak kapcsolataikkal együtt való ábrázolása és tárolása.

Adatbázisban tárolódnak továbbá az adatok szerkezetére, ellenőrzésére, védelmére vonatkozó adatok (metaadatok) is.

(Az adatbázis egy integrált adatrendszer, amely több különböző objektum előfordulási adatait, adatmodell szerint szervezetten, perzisztens módon tárolja a kapcsolatleíró elemek mellett a metaadatokkal együtt, melyek a hatékonyság, integritásőrzés, és az adatvédelem biztosítását szolgálják.)

Page 14: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

14

Adatbázison elvégzendő műveletek

• Az adatbázis és szerkezetének kialakítása, karbantartása,

• Adatok karbantartása (beszúrás, módosítás, törlés),

• Adatok lekérdezése,

• Adatvédelem, adatbiztonság megoldása (hozzáférési jogok, titkosítás, jelszó, stb.),

• Konzisztencia biztosítása integritási megszorítások alkalmazásával,

• Konkurens hozzáférések kezelése.

Page 15: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

15

Konzisztencia: Az adatbázis épsége. Ne

tartalmazzon az adatbázis hibás értékeket,

logikai ellentmondásokat.

pl.: Egy személy életkora nem lehet negatív érték!

Integritási megszorítások: Szabályok melyek

biztosítják az adatbázis konzisztenciáját.

pl.: életkor > 0

Konkurens hozzáférés: Egy adatbázishoz

egyszerre többen is hozzáférjenek.

pl.: Egy vonat helyfoglalásnál egyszerre több

pénztáros is adhasson el jegyet.

Page 16: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

16

Adatbázist kezelő szoftverek

készítésére használt programozási

nyelvek, eszközök fejlődése:

• Kezdetben kis tárkapacitás főleg numerikus

számítások: Assembly, Fortran

Mágnesszalag szekvenciális hozzáférés.

• 1960-as évek: megjelent egy adatorientált nyelv: Cobol

IBM winchester közvetlen hozzáférés.

Adatmodellek kidolgozása: hálós, hierarchikus.

• 3GL (3. gen. Eszközök): dBase, Clipper, FoxBase

• 4GL (negyedik generációs fejlesztőeszközök): Access,

Oracle, Visual C++, Visual Basic, Visual FoxPro, Delphi

Page 17: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

17

Page 18: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

18

Adatbáziskezelő rendszer

(ABKR, DBMS)

DBMS (Data Base Management System)

Az a szoftverrendszer, amely az adatbázis

műveletek elvégzésére szolgál.

Részei:

• File kezelő (támaszkodhat az operációs

rendszerre),

• Adatvédelmi rész,

• Felhasználói kapcsolat

Page 19: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

19

DBMS

Egy felhasználó több összetevőn éri el az

adatokat:

felhasználó felhasználói alkalmazás

(raktárnyilvántartó) DBMS (Access)

operációs rendszer (file kezelés,

lemezkezelés) adat

Page 20: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

20

DBMS komponensei

Sokszor az operációs

rendszer háttértár

kezelésére

támaszkodik.

Műveletek

Fizikai

tárolás

Page 21: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

21

• Tárkezelő: Nagyobb rendszereknél közvetlen lemezkezelés. Részei: fájlkezelő (lemezblokkok olvasása/írása), puffer-kezelő (memória munkaterületek kezelése).

• Lekérdezés feldolgozó: magas szintű lekérdezések átalakítása egyszerű műveletek sorozatára, optimalizálással. (A lemezblokk-műveletek számát kell minimalizálni.)

• Tranzakció kezelő: adatbiztonság támogatása (párhuzamos hozzáférések kezelése, változások naplózása, rendszerhiba esetén adat rekonstrukció).Tranzakció: Egy egységként kezelendő művelet sorozat!

Pl.: bankban pénzfelvételnél egyenleg ellenőrzése + pénzfelvétel. egy műveletnek számít!

Page 22: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

22

DBS - Adatbázisrendszer

DBS Data Base System

DBS = DB + DBMS + segédprogramok

• DB: Adatbázis,

• DBMS: Adatbáziskezelő rendszer,

• Felhasználói alkalmazás

Page 23: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

23

DBS szerkezete

ANSI / SPARC architektúra

Nevét onnan kapta, hogy az ANSI/SPARC Study

Group on Data Base Manegement Systems

bizottság dolgozta ki. A vizsgálat eredményeként

megszületett egy általános DBS modell,

melyben kiemelt hangsúlyt kaptak az egyes

komponensek közötti interface-ek.

Az ANSI / SPARC architektúra az adatbázis

leírására három szintet tartalmaz: az külső

(external), a koncepcionális (conceptual) és a

fizikai (internal) szintet.

Page 24: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

24

ANSI / SPARC architektúra I.

Az egyes szintek az adatbázisrendszer, mint egység, különböző megvilágításainak, megközelítéséinek felelnek meg. Ezért a szinteket szokás nézeteknek (view) is nevezni.

Page 25: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

25

ANSI / SPARC architektúra II.

• Külső Szint: Amit egy felhasználó az

adatbázisból lát, ami számára az adatbázist

jelenti. A teljes adatbázis egy-egy része.

Pl.: pénzügy, raktár, management, marketing,

stb.

• Koncepcionális szint: A teljes adatbázis,

amelyet az adatbázis adminisztrátor, vagy az

adatbázis-tervező lát.

• Belső szint: Az adatbázis valamilyen fizikai

adatstruktúrában letárolva a háttértárolón.

Adattárolási nézet.

Page 26: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

26

Egy ABR

architektúra

3 szintje

Page 27: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

27

ANSI / SPARC architektúra III.

Ez a szerkezeti felosztás a következők miatt fontos:

• Az adatfüggetlenség, mint az adatbáziskezelés egyik legfontosabb követelménye, a koncepcionális és a fizikai szint éles különválasztásának köszönhető.– Logikai adatfüggetlenség: metaadatokkal.

– Fizikai adatfüggetlenség: A tárolási szerkezet megváltozása nem vonja maga után a koncepcionális séma megváltozását.

• A fizikai és elvi struktúra megkülönböztetése a fejlesztés során munkamegosztást tesz lehetővé.

Page 28: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

28

Adatbázis adminisztrátor (AB)

Feladatai:

• Felhasználók létrehozása, kezelése,

• Jogosultságok kiosztása,

• A rendszer működésének figyelése,

• Rendszerhibák kezelése,

• Adatbázis tervezés figyelemmel kísérése.

Page 29: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

29

Modellezés szerepe az

adatbázis-kezelésben

Page 30: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

30

Rendszer

A valós világban lévő dolgok kapcsolatban vannak

egymással, hatnak egymásra, viselkednek.

Ezek rendszert alkotnak!

A rendszert rendszerelemek alkotják, amelyek

kapcsolatban vannak egymással és a külvilággal.

A valós világ elemzésekor egyértelműen meg kell tudnunk

határozni az összetartozó részeket, kapcsolatokat,

viselkedéseket. Vagyis meg kell tudnom határozni

vizsgált rendszert.

Pl.: könyvtár: olvasók, könyvek, kölcsönzések

A rendszerek általában bonyolultak és változnak.

Page 31: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

31

Milyen területeken készítenek

modelleket?

• Autógyártás,

• Repülőgépgyártás,

• Épületek tervezése

Miért? Túl nagy, vagy túl bonyolult a

feladat!

Page 32: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

32

Modellezés

Absztrakció (elvonatkoztatás).

Modellezés (a lényeg kiemelése).

A modellel mindig egy rendszert elemzünk.

A modellek elősegítik a valós világ objektumainak

a könnyebb megértését.

Az elkészítendő modellben kiemeljük az általunk

fontosnak tartott részeit az adott rendszernek,

illetve az azt alkotó objektumoknak.

Ha nagyméretű a feladat, akkor részekre bontjuk.

Page 33: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

33

Adatmodell I.Azokat a modelleket, amelyek az adatok struktúrájának

(szerkezetének) leírására alkalmasak, adatmodelleknek

nevezzük.

Nem a konkrét adatokkal, hanem azok típusaival illetve a

közöttük lévő kapcsolatokkal foglalkozik.

Vagyis a valós világ objektumainak csak a feladat

megoldása szempontjából fontos jellemzőit emeljük ki és

szerepeltetjük az adatmodellünkben.

Adatmodell:

• Egy eszközrendszer, amellyel leírható a valóság.

• Több absztrakciós szinten is létezik.

Absztrakt

szint

Page 34: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

34

Adatmodell II.Az adatmodellnek a valóság teljes értékű

megadásához az alábbi komponenseket kell tartalmaznia:

• Strukturális rész: az adattípusok és kapcsolatok megadására. Statikus

Pl.: rendszerelemek, kapcsolatok feltérképezése.

• Műveleti rész: különböző módosítási vagy lekérdezési tevékenység elvégzésére. Dinamikus

• Integritási rész: az adatbázis belső törvényszerűségeinek betartására ad szabályokat.Konzisztens legyen az adatbázis!

Pl.: nem lehet negatív életkor.

Page 35: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

35

Adatmodellek fajtái

Felhasználóhoz közeli (szemantikai):

• Egyed-kapcsolat modellezés (EK),

• Objektum-orientált,

DBMS-hez közeli:

• Hierarchikus,

• Hálós,

• Relációs

• Objektum-orientált

Page 36: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

36Példa

Egyed-kapcsolat

modellezés

EK-modell: Egyed-kapcsolat modell

ER-model: Entity-relationship model

Egy grafikus leíró eszköz, mely diagram

segítségével adja meg az adatbázis

szerkezetét (struktúráját).

Page 37: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

37

EK modell elemei I.

• Egyed, Egyedtípus: Minden olyan dolog, ami minden más dologtól megkülönböztethető és amiről adatokat akarunk tárolni. Tulajdonságokkal akarjuk leírni.Az egyedtípust sok konkrét dolog általánosításaként hozzuk létre. absztrakció

• A konkrét értékek az egyed-előfordulások.

Pl.: könyvtári nyilvántartásban:könyv – olvasó egyedtípus

Isaac Asimov Én a robot – Kovács Pál egyed előfordulás

Absztrakt

Konkrét

Page 38: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

38

Egyedtípusok

• Erős egyedtípus: Amelyet egyértelműen

tudunk azonosítani. Van azonosító jellegű

tulajdonsága.Pl.: személy személyi-szám azonosítja.

• Gyenge egyedtípus: A tulajdonságai nem

határozzák meg egyértelműen, csak a

kapcsolatai révén lesz meghatározott.Pl.: Számítógép szervizben a számítógépet a

tulajdonosával azonosítják.

Pl.: szülő – gyerek (14 év alatt) viszony.

Page 39: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

39

EK modell elemei II.

• Tulajdonság, tulajdonság típus, attribútum: Az egyed jellemzői. Meghatározza az egyed egy részletét.

könyv (könyvszám, szerző, cím)

könyv ( 2312, Isaac Asimov, Én a robot) –> tul. előford.

olvasó (olvasószám, név, lakcím)

olvasó ( 001, Kovács Pál, Szerencs) tul. előford.

Tehát az egyedeket a tulajdonságaikkal írjuk le.

Absztrakt

Konkrét

Page 40: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

40

Példák egyedre, tulajdonságra

• Vevő (név, vásárlás ideje, vásárolt termék)

• Termék (termékkód, terméknév, mennyiség)

• Eladó (név, műszak, eladott termék)

• Autó (rendszám, típus, évjárat, szín, ár)

• Tulajdonos (szem_szám, rendszám)

• Személy (szem_szám, név, lakhely)

Page 41: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

41

EK modell elemei III.

• Kapcsolat: Egyedek közötti viszony.

Mindig valóságos objektumok közötti viszonyt

fejez ki.

autó tulajdonlás személy

könyv kölcsönzés olvasó

A kölcsönzést jellemezheti a könyv

kikölcsönzésének és visszahozásának dátuma.

kapcsolat

Page 42: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

42

Könyvtári nyilvántartás EK

diagramja

Page 43: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

43

Tulajdonságok lehetnek:

• Leírók: csak az egyed jellemzésében vesznek

részt.

Pl.: autó (…, típus, szín,…)

• Azonosítók: egyértelműen meghatározzák az

egyed egy előfordulását. Állhat több

tulajdonságból is.

Pl.: autó (rendszám,…)

• Összetett tulajdonság: a tulajdonság

résztulajdonságokból áll.

Pl.: lakcím helység, utca, házszám, irsz

Page 44: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

44

Tulajdonságok lehetnek:

• Többértékű tulajdonságok: Egy egyed-

előforduláshoz köthetően több értéke is

lehet az adott tulajdonságnak.

PL.:

– Egy személynek a végzettség tulajdonsága

lehet: lakatos, asztalos, stb.

– A könyv szerzői lehetnek többen is.

Page 45: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

45

Tulajdonságok lehetnek:

• Leszármaztatott tulajdonság: olyan

tulajdonság, amelynek értéke más

tulajdonságokból vezethető le.

Pl.: egy termék bruttó (ÁFÁ-s) ára kiszámítható

a termék árából és az ÁFA-kulcs mértékéből.

Page 46: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

46

EK diagram jelölése:

• Erős egyedtípus: téglalap,

• Gyenge egyedtípus: kettős téglalap,

• Tulajdonságtípus: ellipszis,

– Azonosító: aláhúzás,

– Összetett tulajdonság: A fő tulajdonság ellipsziséhez kapcsolódó ellipszisek.

– Többértékű tulajdonság: kettős ellipszis,

– Leszármaztatott tulajdonság: szaggatott vonallal határolt ellipszis,

• Kapcsolat: rombusz vagy egyenes vonal.

Page 47: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

47

Példák (egyedre)

Könyv (ISBN, szerző, cím)

könyv

szerzőISBN cím

Többértékű tulajdonság

(kettőzött ellipszis)Azonosító

(aláhúzva)

Page 48: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

48

Példák (egyedre)

Olvasó (olvasószám, név lakcím)

olvasó

névolvasószám lakcím

irsz

helység

utca

házszám

Összetett

tulajdonság

Page 49: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

49

Példák (egyedre)

Autó (rendszám, típus, évjárat, szín, ár)

autó

típus

rendszám

évjáratszín

ár

Page 50: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

50

Példák (egyedre)

Ábrázold az egyedeket! Mik az azonosítók?

• Tanterem (sorszám, férőhely, osztály)

• Számítógépterem (sorszám, gépszám)

• Filmek (filmnév, szereplők, rendezte, típus,

gyártás ideje)

• Színész (azonosító, sz_név, született, filmek)

• Utazás (hely, dátum_kezd, dátum_vége,

férőhely, utazás módja, extrák)

Page 51: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

51

Kapcsolat jellemzői

• Kapcsolat: egyedek közötti viszony

• Kapcsolat foka: Megmutatja, hogy a kapcsolat hány egyedet köt össze. Leggyakoribb a bináris kapcsolat, amely két egyedet kapcsol össze.

könyv kölcsönzés olvasó

A könyv és az olvasó egyedet a kölcsönzés nevű kapcsolat köti össze. Bináris, mert két egyed közötti viszonyt fejez ki.

Page 52: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

52

Kapcsolat jellemzői

• Kapcsolat fajtái: Két egyedtípus egyed-

előfordulásai közötti viszony számosságát

adja meg.

Attól függően, hogy az egyik egyedtípus

egyed-előfordulásához hány egyed-

előfordulás kapcsolódik a másik

egyedtípusból, három esetet

különböztetünk meg:

Page 53: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

53

Kapcsolat fajtái I.

1. Egy – egy típusú kapcsolat (1:1)Az egyik egyedtípus egyed-előfordulásai a

másik egyedtípus legfeljebb egy egyed-

előfordulásával létesítenek kapcsolatot.

pl.: Személy és Személyigazolvány egyedtípusok

között.

Személy Személyigazolvány

Egyed-

előfordulások

Page 54: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

54

Kapcsolat fajtái II.

2. Egy – több típusú kapcsolat (1:N)Az egyik egyedtípus egyed-előfordulása a

másik egyedtípus több egyed-előfordulásához

kapcsolódik.

Megye Település

Borsod

Pest

Szerencs

Miskolc

Szentendre

BP

Page 55: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

55

Kapcsolat fajtái III.

3. Több – több kapcsolat (N:M)Az egyik egyedtípus egyed-előfordulása a

másik egyedtípus több egyed-előfordulásához

kapcsolódhat és ugyanúgy a másik egyedtípus

egy egyed-előfordulása az egyik egyedtípus

több egyed-előfordulásához kapcsolódhat.

Könyv Olvasó

Page 56: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

56

Kapcsolat fajtái IV.

4. Rekurzív (visszamutató) kapcsolat:Egy egyedtípus előfordulásai saját

egyedtípusuk előfordulásaihoz kapcsolódnak.

Személy

Házastársa

Dolgozó

Főnök

Page 57: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

57

Kapcsolat jellemzői• Teljes a kapcsolat, ha az adott egyedtípus minden

egyed-előfordulása részt vesz a kapcsolatban.

Megye – Település

Minden megyéhez tartozik település és minden település tartozik valamelyik megyéhez. Nincs olyan megye, amelyhez ne tartozna település és nincs olyan település amelyhez ne tartozna megye.

Jelölése: folytonos vonal.

• Részleges, opcionális a kapcsolat, ha az egyedtípus nem minden előfordulása vesz részt a kapcsolatban.

Személy – SzemélyigazolványVan olyan személy egyed-előfordulás, amelyhez nem tartozik a személyigazolvány egyedtípusból előfordulás.

Jelölése: a teljes oldalról folytonos, az opcionális oldal felől szaggatott.

Page 58: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

58

Kapcsolatok jelölése

• 1:1 kapcsolat:Egy vállalat dolgozóinak és sportcsapatának kapcsolatát

mutatja be.

Dolgozó Sportoló

1:1

A dolgozó oldaláról a kapcsolat részleges,

vagyis nem minden dolgozó sportol.

Mivel a sportoló egyed-előfordulásai a

dolgozó egyed-előfordulásai közül kerültek

ki, ezért minden egyed-előfordulása részt

vesz a kapcsolatban.

Page 59: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

59

Kapcsolatok jelölése

• 1:N kapcsolat: • N:M kapcsolat:

Osztály Tanuló

1:N

Szerző Könyv

N:M

Az osztály egyed egy

előfordulásához a

tanuló egyed több

előfordulása

kapcsolódhat.

Egy szerző több

könyvet is írhat és egy

könyvnek több szerzője

is lehet.

Page 60: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

60

EK-feladatok

Személy és az Autó egyed kapcsolatának modellezése: (autókereskedésben)

Személyi-

szám

Név

Rendszám

Típus

Ár

Személy Autó1 N

Egy személy több

autót is birtokolhat.

Page 61: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

61

EK-feladatok

Egy iskola osztályainak és tanulóinak kapcsolata:

Osztály

azonosító

Szak Osztály-

főnök

Személyi-

szám

Név

Osztály Tanuló1 N

Egy osztályba több

tanuló jár, de egy

tanuló csak egy

osztályhoz tartozik.

Létszám

Page 62: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

62

EK-feladatok

Vásárlásnál az eladó és a vevő kapcsolata:

Mivel egy eladó több vevőt is kiszolgálhat , illetve egy

vevő több eladótól is vásárolhat, ezért a két egyed

viszonya több : több típusú.

Eladó

Azonosítója

NévVevő

Azonosítója

Név

Eladó VevőN M

Értékesítési

osztály

Eladás

Vásárlás

dátuma

Vásárolt

termék

Page 63: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

63

EK-feladatok

Vásárlásnál az eladó és a vevő kapcsolata (folytatás):

Az Eladó és a Vevő egyedeket az Eladás kapcsolat köti össze. A vásárlás dátuma és a vásárolt termék tulajdonságok ezt az eseményt jellemzik. Vagyis nem kapcsolható külön sem az Eladó sem a Vevő egyedekhez.

Megjegyzés: Az ilyen (N:M) típusú viszony adatbázisban történő megvalósításakor egy új egyedet hozunk létre. Ez a kapcsoló egyed tartalmazni fogja a kapcsolatot jellemző tulajdonságokat és a kapcsolt egyedek azonosítóit.

Page 64: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

64

EK-feladatok

Egy adott stúdiónak szeretnénk elkészíteni az EK-modelljét:

A stúdió filmeket gyárt (többet), a filmekben színészek szerepelnek (többen). De egy színész ugyanannak a stúdiónak több filmjében is szerepelhet.

1. Az egyedek megkeresése: Stúdió, Film, Színész

2. Az egyedek közötti kapcsolatok megkeresése:

a) Stúdió – Film: 1:N

b) Stúdió – Színész: 1:N Feltesszük, hogy egy színész csak egy stúdióval áll kapcsolatban.

Page 65: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

65

EK-feladatok

c) Film – Színész: N:M

Mivel egy filmben több színész is szerepelhet és egy színész

több filmben is játszhat.

Stúdió

FilmSzínész

1

N

1

N MN

Játszik

Page 66: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

66

EK-feladatok

3. Az egyedek tulajdonságainak összegyűjtése:

Stúdió: (Név, Cím)

Film: (Azonosító, Címe, Gyártási év, Hossz)

Színész: (Színész neve, Lakcím)

Feladat: Ábrázolás tulajdonságokkal, kapcsolatokkal együtt.

Page 67: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

67

EK-feladatok

Egy számítógép

szerviz nem

bajlódik azzal, hogy

egyedi azonosítót

rendeljen a javított

gépekhez, hanem

azokat

tulajdonosaik

szerint tartja

nyílván.

Gyenge

egyedtípus és

kapcsolat

Page 68: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

68

A Suli-könyvtár ER modellje Feladat specifikációja• Nyilván akarjuk tartani:

– a könyvtári könyveket (az egyes könyvek példányait)

– az olvasókat

– a példányok kölcsönzését

– az előjegyzéseket könyvekre.

Össze kell gyűjteni a szükséges tulajdonságokat, és kapcsolatokat.

Az összetartozó tulajdonságok egyedet határoznak meg.

• Induláskor legalább a következő egyedek azonosíthatóak:– olvasó

– példány

– könyv.

• A kapcsolatok:– kölcsönöz (olvasó példányt)

– előjegyez (olvasó könyvre)

– van (könyvből példány).

Page 69: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

69

A Suli-könyvtár ER modellje

olvasó

példány

könyv

kölcsönöz

előjegyez

1

N

N

M

van

N1

ISBN

cim

kiado

kiad_dat

lelt_szam

kolcs_e

beir_dat

lakcim

o_azon

szerzo

vnev

unev

varos

utca

hazszam

kolcs_dat

eloj_dat

ar

Page 70: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

70

Relációs

adatmodellezés

Page 71: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

71

Relációs adatmodell

A relációs adatmodellt 1970-ben definiálta E. F. Codd amerikai kutató, de gyakorlati alkalmazása csak az 1980-as években vált általánossá.

Lényege, hogy az egyedeket, tulajdonságokat és kapcsolatokat egyaránt táblázatok, úgynevezett adattáblák (relációk) segítségével kezeli.

Dolgozó reláció:

Személyi szám Név Fizetés

18310012143 Kis Pista 200000

27804034356Kalandos

Zsuzsanna180000

Page 72: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

72

Relációs adatmodellA relációs modell elemei:

• Relációs séma Absztrakt, általánosított szint.

• Relációk, Táblázatok Konkrét, reláció előfordulások.

• Tulajdonságok Absztrakt szint.

• Tulajdonság-előfordulás Konkrét tulajdonság értékek.

• A kapcsolatnak csak a lehetősége jelenik meg.

A relációs adatmodellnél a tulajdonságok kapják a fő hangsúlyt, a tulajdonságokkal definiáljuk az adatmodell szerkezetét.

Page 73: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

73

Relációséma

Relációsémának nevezünk egy attribútum halmazt, amelyhez azonosító nevet rendelünk.

Jelölése: R (A1, A2, A3, …, An)R: a séma neve,An: attribútumok

Mivel logikailag az attribútumokat is halmazként kezeljük, így a sorrendiség nincs értelmezve közöttük.

Page 74: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

74

Relációs séma - Reláció

Bármely relációs sémához tetszőleges számú

reláció értelmezhető.

r(R) „R” relációs séma „r” relációja nem más,

mint az attribútumok tartományaiból alkotott

Descartes-szorzat egy részhalmaza.

r(R) (dom(A1)…dom(An))

A reláció rekordok halmaza, közöttük sorrend

nem értelmezhető, és minden sor különböző.

Page 75: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

75

Táblázatok (Relációk)

• Az Egyed-kapcsolat modellt táblázatokká alakítjuk.

• A táblázat sorokra és oszlopokra bontható.

• Az oszlopok lesznek az egyed tulajdonságai, amelyeket attribútumoknak nevezünk.

Az oszlopok számát a reláció fokának nevezzük.

• A táblázat sorai pedig az egyed-előfordulásokat tükrözik.

A sorok számát a reláció számosságának hívjuk.

• A reláció a sorokat halmazként kezeli, vagyis a sorrend nem számít. (Tárolásnál igen!)

Page 76: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

76

Attribútum I.

Attribútumnak nevezünk egy tulajdonságot, amelyet a

megnevezésével azonosítunk, és értéktartományt

rendelünk hozzá. A Z attribútum értéktartományát

dom(Z) jelöli (az angol domain szó rövidítése).

Korlátozás: a relációs adatmodellnél az értéktartomány

csak atomi értékekből állhat, vagyis elemei nem lehetnek

struktúrák, halmazok, multihalmazok, listák.

Az értéktartomány megadása rendszerint típus és hossz

megadását jelenti, például a könyvszám attribútum

értéktartománya a legfeljebb 4-jegyű decimális számok

halmaza lehet.

Page 77: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

77

Attribútum II.Könyv (ISBN, Szerző, KCím)

Az egyes attribútumok értéktartománya:

• Dom (ISBN): 10 jegyű decimális számok halmaza.

• Dom (Szerző): legfeljebb 30 hosszú karaktersorozat.

• Dom (KCím): legfeljebb 50 hosszú karaktersorozat.

Tekinthető az attribútum egy változónak, ami az

oszlopba írt értékeket "veszi fel" a tartományban

szereplő értékek közül, azaz a tartományt az

adott attribútum értéktartományának

tekinthetjük. (DBMS sorváltozói)

Page 78: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

78

Adatbázis-séma

A relációs adatmodell lényege, hogy a

különböző relációsémák azonos attribútumokat

tartalmaznak, ezáltal kerülnek kapcsolatba

egymással, és így a különálló adattáblák

együttese egy szervesen összefüggő adatbázist

alkot.

Relációsémák kapcsolata absztrakt szint.

Relációk, táblák kapcsolata konkrét szint.

Pl.: következő dia.

Page 79: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

79

Példa relációsémára:

Séma: KÖNYV (ISBN, szerző, KCím)

Séma előfordulásai:

• (1121, Sályi, Adatbázisok)

• (3655, Radó, Világatlasz)

• (2276, Karinthy, Így írtok ti)

• (1782, Jókai, Aranyember)

Táblázatban ábrázolva (Reláció):

ISBN Szerző KCím

1121 Sályi Adatbázisok

3655 Radó Világatlasz

1782 Jókai Aranyember

Absztrakt

Konkrét

Rekord

Page 80: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

80

Kulcs attribútumAmennyiben egy tulajdonság, vagy tulajdonságok

egy csoportja egyértelműen meghatározza, hogy az egyedtípus melyik előfordulásáról van szó, akkor ezeket a tulajdonságokat együttesen kulcsnak nevezzük.

Vagyis egy táblában a kulcs attribútummal a sorokat (rekordokat) tudjuk azonosítani és így megkülönböztetni.

Pl.: Könyv (ISBN, szerző, KCím)

Az ISBN tulajdonság alkalmas azonosítónak, mert egyértelműen megkülönbözteti a könyv példányokat.

Page 81: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

81

Kulcs jellemzői:

• Az attribútumok olyan csoportja, melyek csak egy sort azonosítanak.

• A kulcsban szereplő attribútumok egyetlen valódi részhalmaza sem alkot kulcsot.

• A kulcsban szereplő attribútumok értéke nem lehet definiálatlan (Not Null).

• Az egy attribútumból álló kulcsot egyszerűnek nevezzük, ha nem ilyen akkor összetett.

Page 82: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

82

Relációk kapcsolataRelációk kapcsolata alkot egy adatbázist, amely egy

általunk kiválasztott jelenségkör leírására alkalmas.

EK modellezésben a vonalas összekötés jelölte a

kapcsolatot, a Relációs modellezésben a

kapcsolatban lévő táblák azonos jelentésű

tulajdonságai biztosítják.

Kapcsoló kulcs (Külső kulcs): A relációk közötti

kapcsolatot adja meg.

Olyan tulajdonság, amely az egyik relációban

azonosító, a másikban azonosító vagy leíró típusú.

Értéke vagy üres, vagy egy létező kulcsra mutat.

Jelölése: Szaggatott vonalas aláhúzás.

Page 83: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

83

Relációk kapcsolata

Azonosító Név Fizetés

001 KP 36000

006 NL 46000

Sorszám Összeg Dátum Azonosító

01 18000 05.03. 001

02 17000 05.04. 006

03 15000 10.08. 001

04 20000 10.09. 006

Dolgozó tábla:

Prémium tábla:

Külső

kulcs

Kulcs

Page 84: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

84

Külső kulcs 1:1 kapcsolatban:

Teljes kapcsolat esetén:Ilyen esetben kiválasztjuk a kapcsolatban résztvevő két reláció egyikét (bármelyiket), és annak sémájába új attribútumként felvesszük a másik reláció meghatározó (kulcs) attribútumait, valamint a kapcsolathoz rendelt attribútumokat.

Vegyes (teljes – részleges) kapcsolat esetén:A teljes oldalhoz kapcsoljuk a részleges kapcsolatban lévő reláció kulcsát. Így nem lesznek NULL értéket is tartalmazó mezők.

Részleges kapcsolat: Bármelyik oldalhoz lehet.

Page 85: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

85

Példa 1:1 kapcsolatra:

Egy vállalat dolgozóinak és sportolóinak kapcsolata.

Eredeti reláció sémák:

Dolgozó (DAzon, Név, Beosztás) részleges kapcs.

Sportoló (SAzon, Sportkör) teljes kapcsolatEK példa

Mivel a két reláció között 1:1 típusú vegyes kapcsolat van, ezért a teljes oldalra teszem a részleges oldal kulcs attribútumait.

Dolgozó (DAzon, Név, Beosztás)Sportoló (SAzon, Sportkör, DAzon)

Page 86: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

86

Külső kulcs 1:N kapcsolatban:

• 1:N kapcsolat esetén az ‘N’ oldali reláció

sémájába új attribútumként felvesszük a másik

reláció kulcs attribútumait, valamint a kapcsolat

attribútumait. (Az ‘N’ oldali részleges kapcsolat

esetén is.)

Page 87: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

87

Példa 1:N kapcsolatra:

Személy és az Autó egyed kapcsolata.Adóhatóságnál : személy (részleges) autó (teljes) kapcsolat. (tulajdonlási kapcsolat)

Autó kereskedésnél : személy (teljes) autó (részleges) kapcsolat. (vételi kapcsolat)

Eredeti relációsémák:

Személy (Személy_azon, Név)

Autó (Rendszám, Típus, Ár)

Kapcsolat létrehozása:

Személy (Személy_azon, Név)

Autó (Rendszám, Típus, Ár, Személy_azon)

1: N

Külső kulcs.

Kapcsolatot

biztosít egy másik

táblával.

Kulcs

Azonosítja a

rekordot.

Page 88: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

88

Példa 1:N kapcsolatra:

Személy_azon Név

16703121234 KR

27612012345 OS

Rendszám Típus Ár Személy_azon

ISR-334 Lada 210000 16703121234

CMY-123 Honda 1100000 27612012345

ABG-654 Trabant 440000 27612012345

Személy tábla:

Autó tábla:

Page 89: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

89

Külső kulcs N:M kapcsolatban:

• N:M kapcsolat esetén új sémát (relációt)

veszünk fel, melynek attribútumai:

– A kapcsolódó relációk kulcs attribútumai.

– A kapcsolat saját attribútumai.

Page 90: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

90

Példa N:M kapcsolatra:

Eladó és vevő kapcsolata (EK modell):

Eladó

Azonosítója

NévVevő

Azonosítója

Név

Eladó VevőN M

Értékesítési

osztály

Eladás

Vásárlás

dátuma

Vásárolt

termék

Page 91: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

91

Példa N:M kapcsolatra:

Kapcsolat nélküli relációsémák:Eladó (Elad_azon, Név, Érték_oszt)

Vevő (Vevő_azon, Név)

Eladás (V_dátum, V_termék)

Relációs kapcsolat létrehozása:Eladó (Elad_azon, Név, Érték_oszt)

Vevő (Vevő_azon, Név)

Eladás (Rendelésszám, V_dátum, V_termék,

Elad_azon, Vevő_azon)

Kapcsolat

tulajdonságai

Az Eladás táblát az

Elad_azon kulső kulcs az

Elad táblához a Vevő_azon a

Vevő táblához kapcsolja

Page 92: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

92

Példa N:M kapcsolatra:

Elad_azon Név Érték_oszt

E001 Szabi cipő

E002 Bea illatszer

Eladó tábla:

Vevő_azon Név

V001 Feri

V003 Éva

Vevő tábla:

Rendelésszám V_dátum V_termék Elad_azon Vevő_azon

001 2006.01.12. sport cipő E001 V001

002 2006.01.18. szandál E001 V003

003 2006.0212. sampon E002 V003

Eladás tábla:

Page 93: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

93

Példa N:M kapcsolatra:

2. megoldás

Kapcsolat nélküli relációsémák:Eladó (Elad_azon, Név, Érték_oszt)

Vevő (Vevő_azon, Név)

Eladás (V_dátum, V_termék)

Relációs kapcsolat létrehozása:Eladó (Elad_azon, Név, Érték_oszt)

Vevő (Vevő_azon, Név)

Eladás (Elad_azon, Vevő_azon, V_dátum, V_termék,)

Kapcsolat

tulajdonságai

Az Eladás táblát az

Elad_azon kulső kulcs az

Elad táblához a Vevő_azon a

Vevő táblához kapcsolja

Page 94: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

94

Példa N:M kapcsolatra:

Elad_azon Név Érték_oszt

E001 Szabi cipő

E002 Bea illatszer

Eladó tábla:

Vevő_azon Név

V001 Feri

V003 Éva

Vevő tábla:

Elad_azon Vevő_azon V_dátum V_termék

E001 V001 2006.01.12. sport cipő

E001 V003 2006.01.18. szandál

E002 V003 2006.0212. sampon

Eladás tábla:

Page 95: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

95

Külső kulcs ugyanabban a táblában

A relációs adatbázisban megengedjük, hogy a külső kulcs ugyanabban a táblában szerepeljen, amiben maga a kulcs. Más névvel, de azonos jelentéssel (szinonima).Értéke vagy üres, vagy az adott táblában létező kulcs érték.

Dolgozó (D_azon, Név, Fiz, Főnök)

Page 96: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

96

Külső kulcs ugyanabban a táblában:

D_azon Név Fiz Főnök

D001 Péter 200000

D002 Kálmán 80000 D001

D003 Tódor 120000 D001

D004 Gábor 100000 D002

D001-es dolgozó a nagyfőnök

D002-es a kisfőnök, akinek a felettese

a D001-es dolgozó

Dolgozó tábla:

Page 97: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

97

Külső kulcs párhuzamos kapcsolatban:

A külső kulcs egy táblában többféle minőségben, jelentéssel is szerepelhet. Ilyenkor a külső kulcsnak annyi nevet adunk, amennyi jelentése van.

Pl.: A gépjármű táblában kétféleképpen is szerepelhet a személy azonosítója. Egyszer mint a gépjármű tulajdonosa (tul_azon), másodszor mint az üzembentartója (üzem_azon).

Személy (Azonosító, Név, …)

Gépjármű (Rendszám, Tul_azon, Üzem_azon, …)

Page 98: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

98

Egyed - Kapcsolat modell

átalakítása

Relációs modellre

Page 99: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

99

EK modell Relációs modell

Egy adatbázis relációs adatmodelljének

megalkotásához két út vezet:

• Leképezési szabályok alkalmazásával EK

modellből.

• Feladat specifikációból (feladat leírás)

kiindulva normalizálással.

Page 100: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

100

Relációs modell létrehozása

Egyed-kapcsolat modellből,

leképezési szabályokkal

Page 101: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

101

Egyedek leképezése

Az EK modell minden egyedéhez felírunk egy

relációsémát, amelynek neve az egyed neve,

attribútumai az egyed attribútumai, kulcsa az

egyed kulcs-attribútumai.

A sémára épülő adattábla minden egyes sora

egy egyed-előfordulásnak felel meg.

Pl.: könyv – olvasó egyedekből kapott

relációséma:

Könyv (ISBN, Szerző, Kcím)

Olvasó (Olvasószám, Név, Lakcím)

Page 102: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

102

Összetett attribútumok leképezése

Az összetett attribútumot ugyanabban a sémában felbontjuk rész-tulajdonságaira.

Pl.: Olvasó (Olvasószám, Név, Lakcím)Ahol a lakcím: helység, utca, házszám tulajdonságokból állhat.

A fenti séma kibővítve:Olvasó (Olvasószám, Név, Helység, Utca, Házszám)

Page 103: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

103

Összetett attribútumok leképezése

Olvasószám Név Helység Utca Házszám

122 Kiss István Bekecs Virág u. 10

612 Nagy Ágnes Szerencs Petőfi út 38

355 Tóth András Szerencs Jókai út 1

Olvasó tábla:

Page 104: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

104

Többértékű attribútumok leképezése

A reláció egy rekordjának valamely attribútumához

több érték tartozik.

Pl.: KÖNYV (ISBN, szerző, KCím)

Egy könyvnek több szerzője is lehet.

Leképezés: A többértékű tulajdonságot kiemeljük

egy másik táblába és hozzávesszük az

azonosító tulajdonságát is.

Könyv (ISBN, KCím)

Szerzők (ISBN, szerző)

Page 105: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

105

Többértékű attribútumok leképezése

A két tábla között az „ISBN” tulajdonság tartja a

kapcsolatot.

ISBN KCím

1121 Adatbázisok

3655 Világatlasz

2276 Így írtok ti

1782 Aranyember

ISBN Szerző

1121 Sályi

1121 Szelezsán

3655 Radó

2276 Karinthy

1782 Jókai

Könyv tábla: Szerzők tábla:

Page 106: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

106

Kapcsolatok leképezése I.

Általános szabály:

• Vegyünk fel a kapcsolathoz egy új sémát,

amelynek neve a kapcsolat neve, attribútumai

pedig a kapcsolódó egyedek kulcs attribútumai

és a kapcsolat saját attribútumai.

• Ha ezen séma kulcsa megegyezik valamely

kapcsolódó egyed kulcsával, akkor a kapcsolat

sémája az egyed sémájába beolvasztható.

Page 107: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

107

Kapcsolatok leképezése II.

• Példa a Könyv – Olvasó közötti kapcsolat

leképezésére.

ISBN

Szerző

Olvasó-

számNév

Könyv OlvasóN M

KCím

Kölcsönzés

Kölcsönzés

dátuma

Visszahozás

dátuma

Lakcím

Page 108: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

108

Kapcsolatok leképezése III.

Egy új séma felvétele a kapcsolat alapján:

Kölcsönzés (ISBN, Olvasószám, Kölcsönzés

dátuma, Visszahozás dátuma)

Az ISBN

tulajdonság a

Könyv táblából. Az Olvasószám

tulajdonság az

Olvasó táblából.

Az utolsó két

tulajdonság a

kapcsolat saját

tulajdonságai.

Page 109: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

109

Kapcsolatok leképezése IV.

A kialakított relációsémák:Könyv (ISBN, Szerző, KCím)

Kölcsönzés (ISBN, Olvasószám, Kölcsönzés dátuma, Visszahozás dátuma)

Olvasó (Olvasószám, Név, Lakcím)

Az ISBN és az Olvasószám külső-kulcsként is szerepelnek a Kölcsönzés relációsémában.

Ha a sémákat konkrét értékekkel töltenénk ki, akkor a séma egy előfordulását kapnánk, amit reláció – előfordulásnak, vagy egyszerűen relációnak (táblának) nevezünk.

Page 110: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

110

Relációs modell létrehozása

Feladat leírásból,

Normalizálással

Page 111: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

111

Készül

Page 112: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

112

Microsoft Access

Page 113: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

113

MS Access

Negyedik generációs (4GL) programozási nyelv.

• Vizuális felületen készíthetjük az alkalmazásunkat.

• Integrált fejlesztőrendszer, vagyis tartalmaz:

– Programozáshoz szükséges szövegszerkesztőt, fordítót, linkert,

debugert.

– Grafikus felhasználói felület készítéséhez (GUI)

vezérlőelemeket.

– Az alkalmazás létrehozását gyorsító „varázslókat”

pl.: adatbázis-, tábla-, dialógus-, jelentés-varázslót.

• Programozási nyelve a Visual Basic, amely objekum-

orientált.

Page 114: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

114

Adatbázis létrehozása

• Adatbázis létrehozás (*.mdb).

• Adatbázis táblák létrehozása.

• Több tábla esetén a kapcsolatok kialakítása.

• Lekérdezések megfogalmazása és létrehozása.Lekérdezésekkel válogatjuk ki a szükséges adatokat.

• Űrlapok létrehozása.Az adatok tetszetős felvitelére, módosítására, törlésére.

• Jelentések elkészítése: Reprezentációs céllal, listák készítése, szükség esetén nyomtatás.

Page 115: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

115

Adatbázis táblák létrehozása• Adatlap nézet: Adatok felvitelével lehet

létrehozni. A bevitt adatok alapján az Access

automatikusan meghatározza az adatok típusát.

• Tervező nézet: a tábla szerkezetét (relációséma)

részletesen a mezőtulajdonságok megadásával

lehet beállítani.

• Tábla varázsló: Előre elkészített táblákból és

azok mezőiből válogathatunk.

• Tábla importálása: Más adatbázisból,

táblázatkezelőből.

• Tábla csatolása: Hivatkozás más táblára.

Page 116: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

116

Mezőtulajdonságok

• Adattípus

• Mezőméret

• Formátum

(megjelenés)

• Beviteli maszk

(beviteli minta)

• Cím

• Alapértelmezett érték

• Érvényességi szabály

• Érvényességi szöveg

• Kötelező

• Nulla hosszúság

engedélyezése

• Indexelt (keresés

gyorsítás)

Page 117: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

117

Adattípusok

A mezőkben tárolt adatok értelmezését adják meg!

• Szám

• Szöveg (1-255 byte)

• Logikai

• Dátum

• Számláló (8 byte)

• Pénznem

• Feljegyzés

• Ole objektum

• Hiperhivatkozás

Page 118: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

118

LekérdezésekA táblákból vagy másik lekérdezésből kigyűjti a

számunkra fontos adatokat.

Szerepe:

• A táblákban tárolt adatok visszakeresése.

• Megtekinthetjük az összekapcsolt táblák adatait.

• Rendezhetjük és csoportosíthatjuk az adatokat.

• Megjeleníthetünk számított mezőket.

• Megváltoztathatjuk adatainkat, rekordokat törölhetünk vagy adhatunk hozzá a táblához.

• A meglévő táblánkról (részéről) másolatot készíthetünk.

Page 119: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

119

Lekérdezések

Csoportosítás:

• Visszakereső lekérdezés:

– Választó,

– Kereszttáblás

• Akció lekérdezés:

– Táblakészítő,

– Hozzáfűző,

– Törlő,

– Frissítő.

Page 120: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

120

Lekérdezés tulajdonságok

Page 121: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

121

LekérdezésekA lekérdezés leggyakrabban:

• Oszlopok kiválogatása,

• Sorok kiválogatása, feltétel megadásával.

Feltétel: Relációs és logikai műveleteket tartalmaz.(A mezőnevek mint változók szerepelnek.)

mezőnév reláció jel érték relációs kifejezés

relációs kif. logikai művelet relációs kif.logikai kifejezés

Olyan feltételt kell megadni, amellyel a szükséges értékeket kapjuk meg.

A rekordmutató által kijelölt sor mezőinek értékei lesznek hasonlítva a feltétellel. Igaz esetén bekerül a rekord az eredménytáblába.

Page 122: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

122

FeltételekA feltételek vizsgálhatják:

• A mezők értékeinek egyezőségét (=),

• Kisebb – nagyobb relációját (< <= > >=),

• Egyenlőtlenségét (<>),

• Egy mező értéke, két határérték között van-e?mező érték BETWEEN érték1 And érték2

• Tartalmazást: mező érték IN (érték1, érték2, …)

• Szöveg mintaillesztése:mező érték LIKE illesztő szöveg

Illesztő karakterek: *, ?, #, [karakterlista], [!karakterlista]

Page 123: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

123

Relációs algebra

Page 124: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

124

Relációs algebra

Relációk absztrakt lekérdező nyelve. Halmazorientált, és

algebrai eszközökkel dolgozik. Az adatbázis

lekérdezések matematikai alapját képezi.

Műveletei:

• Halmazműveletek: unió, metszet, különbség,

• Redukciós műveletek: kiválasztás, vetítés,

• Kombinációs műveletek: Descartes-szorzat,

természetes-összekapcsolás, külső-összekapcsolás,

théta-összekapcsolás

Page 125: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

125

HalmazműveletekItt az adattáblát (relációt) sorok halmazaként kezeljük.

Definíció. Az R1(A1,...,An) és R2(B1,...,Bm) relációsémák

kompatibilisek, ha n = m és dom(Ai) = dom(Bi) minden

i-re. Két táblát kompatibilisnek nevezünk, ha sémáik

kompatibilisek.

ISBN KCím

1111 Adatbázisok

2222 Világatlasz

3333 Így írtok ti

4444 Én a robot

Könyv1 tábla:

ISBN KCím

2222 Világatlasz

3655 Mesekönyv

3333 Így írtok ti

1782 Aranyember

Könyv2 tábla:

Page 126: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

126

Unió (Egyesítés)

Unió: legyenek a T1 és T2

kompatibilis táblák. Ezek

halmazelméleti egyesítése a

T = T1 U T2 tábla lesz,

amelynek sémája szintén

kompatibilis T1 ill. T2

sémájával.

A művelet végrehajtása:

• - a két tábla egymás után

írása,

• - ismétlődő sorok kiszűrése.

Könyv1 U Könyv2

ISBN KCím

1111 Adatbázisok

1782 Aranyember

2222 Világatlasz

3333 Így írtok ti

3655 Mesekönyv

4444 Én a robot

Hat sor az eredeti nyolcból

Page 127: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

127

Metszet (Intersection)

Két kompatibilis tábla halmazelméleti metszete:

T = T1 T2.

T1: A1 A2 A3 T2: B1 B2 B3 T1T2: C1 C2 C3

a b c b d e b d e

b d e a d b

f c b

Page 128: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

128

Különbség (Difference)

Két kompatibilis tábla halmazelméleti különbsége:

T = T1 – T2 .

T1: A1 A2 A3 T2: B1 B2 B3 T1-T2: C1 C2 C3

a b c b d e a b c

b d e a d b f c b

f c b

Page 129: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

129

Redukciós műveletek

A KÖNYV tábla:

Könyvszám Szerző Cím

1121 Sályi Adatbázisok

3655 Radó Világatlasz

2276 Karinthy Így írtok ti

1782 Jókai Aranyember

Page 130: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

130

Szelekció (Kiválasztás)

Adott feltételnek eleget tevő sorok kiválasztása a táblából. A feltétel általában attribútumokból és konstansokból felépülő logikai kifejezés. Az eredménytábla sémája megegyezik (vagy kompatibilis) az eredetivel.

Jelölés: feltétel (tábla)

A szelekció kommutatív művelet: f1 ( f2 (R)) = f2 ( f1(R))

Jelenítsük meg azt a sort , amelyben Karinthy a szerző!

Példa: a Szerző = Karinthy (KÖNYV) tábla

Könyvszám Szerző Cím

2276 Karinthy Így írtok ti

Page 131: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

131

Projekció (vetítés)

Adott oszlopok kiválasztása a táblából. Az új tábla sémája a megfelelő attribútumok kiválasztásával adódik.

Jelölése: attribútumlista (tábla)

Példa: A KÖNYV1 = szerző, cím (KÖNYV) tábla:

Szerző Cím

Sályi Adatbázisok

Radó Világatlasz

Karinthy Így írtok ti

Jókai Aranyember

Page 132: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

132

Kombinációs műveletek

Több táblára vonatkoztatott műveletek.

Descartes-szorzat:

Legyen R1(A1,...,An), R2(B1,...,Bm) két tetszőleges relációséma, és T1 dom(A1) x...x dom(An), T2 dom(B1) x...x dom(Bm) táblák R1, R2 felett.

Descartes-szorzat: az R(A1,...,An,B1,...,Bm) séma feletti T dom(A1) x...x dom(An) x dom(B1) x...x dom(Bm) tábla, amelyet úgy kapunk, hogy T1 minden sorát párosítjuk T2 minden sorával.

Jele: T = T1 x T2

Page 133: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

133

Descartes-szorzat

Példa:

T1: A1 A2 A3 T2: B1 B2 B3 T1xT2: A1 A2 A3 B1 B2 B3

a b c b d e a b c b d e

b d e a d b a b c a d b

f c b b d e b d e

b d e a d b

f c b b d e

f c b a d b

Page 134: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

134

Descartes-szorzat tulajdonságai

• Ha R1 és R2 attribútumai között azonos nevűek vannak, akkor R-ben az eredeti séma nevével különböztetjük meg őket (például R1.Ai, R2.Ai).

• Ha T1 és T2 sorainak száma r1 ill. r2, oszlopainak száma c1 és c2, akkor a T táblában r1*r2 sor és c1+c2 oszlop van.

• Ha két tábla Descartes-szorzatát képezzük, akkor projekcióval visszakaphatók az eredeti táblák: A1,...An(T) = T1 és B1,...,Bm(T) = T2.

• A Descartes-szorzat műveletet nem szokták alkalmazni a gyakorlatban, hiszen az adathalmaz redundanciáját növeli, az összekapcsolási műveletek definiálásánál azonban szükségünk lesz rá.

Page 135: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

135

SQL

• Készül

Page 136: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

136

SQLAz utasítások megfogalmazása során a következő

logikai út betartása ajánlott:

• A megjelenítendő adatokat milyen táblák

tartalmazzák.

• Szükség esetén, hogyan kell összekapcsolni a

táblákat.

• Milyen feltételnek eleget tevő sorokból kell az

adatokat visszakapni.

• Kell-e az adatokat csoportosítani.

• Milyen feltételnek eleget tevő csoportokat

válasszunk ki.

• Milyen oszlopokból kell adatokat visszaadni.

• Kell-e rendezni.

Page 137: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

137

Access SQL eltérések

• Access 97, 2000 SQL-89 (SQL-1)

• Access XP, 2003 SQL-92 (SQL-2)

• Beállítása:

Eszközök/Beállítások –

Táblák/Lekérdezések – SQL szerver-

kompatibilis szintaxis (ANSI 92) keret –

Ennél az adatbázisnál jelölőnégyzet

Page 138: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

Azonosítók

• Az azonosítók több szóból is állhatnak,

elválasztójel a szóköz.

• Karakter kivételek: magyar ékezet, pont,

felkiáltójel, aposztróf, zárójelek.

• Maximális hossz 64 karakter.

138

Page 139: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

Adattípusok

• BINARY – bármilyen adat

• BIT – logikai adat

• CHARACTER

• COUNTER– automatikus sorszámozás

• DATETIME

• DECIMAL – valós érték

• FLOAT

• IMAGE

• INTEGER

• MONEY – rögzített tizedes jegyű számok

• REAL, SMALLINT, TINYINT

• TEXT

• UNIQUEIDENTIFIER139

Page 140: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

Műveletek

• Hatványozás jele: ^

• Egész osztás: \

• Maradékképzés: MOD

• Karaktersorozat összefűzése: &

• Karakterlánc konstansok: ‘ ‘, ” ”

• Dátum konstans: # # ; SQL-92: ‘ ‘ is lehet

• Logikai: IMP, XOR

140

Page 141: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

SELECT utasítás módosulásai

• { DISTINCTROW | TOP n [PERCENT] }

• A DISTINCTROW utasítás hatására kimaradnak azok a

sorok, amelyeket a tábla többször is tartalmaz. Ha a

lekérdezésben csak egy tábla szerepel, vagy minden

táblából kiválasztunk mezőket, DISTINCTROW

predikátum figyelmen kívül marad.

• A TOP kulcsszóval azt jelölhetjük ki, hogy a rendezési

szempontnak megfelelően a lista elejéről hány sor

kerüljön az eredménybe.

• A PERCENT kulcsszóval a megadott szám egy

százalékérték.

141

Page 142: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

SELECT utasítás módosulásai

• A SELECT és a FROM utasítás között használható az

INTO záradék,

INTO <táblázatnév> [IN <külső adatbázis neve elérési

úttal> <adatbázis típusa>

mellyel a lekérdezés eredményét egy új táblába írhatjuk.

• A JOIN műveletben csak az INNER, RIGHT, LEFT

kulcsszavak használhatók.

• A csoportosításból a NULL értéket tartalmazó sorok sem

maradnak ki.

• Az aggregát függvények a NULL értéket figyelmen kívül

hagyják. A függvényekben a DISTINCT kulcsszó nem

használható. (Kieg.: STDEV, STDEVP, VAR, VARP, FIRST, LAST)

142

Page 143: Adatbázis kezelés - szerencsiszakkepzo.sulinet.huszerencsiszakkepzo.sulinet.hu/jegyzet/info/Adatbazis_alapfogalmak481.pdf · • Az adatfüggetlenség, mint az adatbáziskezelés

SELECT utasítás módosulásai

• Predikátumok:

– SQL-89: ?, *

– SQL-92: _, %

– # {egyetlen a számjegyet helyettesít}

– [karakterlista] {egyetlen a listában szereplő karaktert}

– [!karakterlista]

– [kezdőkarakter-zárókarakter]

• Halmazműveletek:

– UNION [ALL]

143