37
 ADATBÁZIS-KEZELÉS elôadás vázlat   Összeállította: Várady Lajos [email protected]

10 Adatbelm Nyh PDF

Embed Size (px)

Citation preview

ADATBZIS-KEZELSelads vzlat

sszelltotta: Vrady Lajos [email protected]

TartalomTARTALOM..............................................................................................................................................................2 AJNLOTT IRODALOM.......................................................................................................................................4 BEVEZETS..............................................................................................................................................................4 1. MIRT VAN SZKSG ADATBZIS-KEZELKRE.................................................................................5 2. ADATBZIS SZEMLLET............................................................................................................................... 5 3. ADATBZIS RENDSZER..................................................................................................................................5 3.1 ADATBZIS RENDSZER (ABR/DBS) ............................................................................................................ 5 3.2 ADATBZIS...................................................................................................................................................... 5 3.3 ADATBZIS-KEZEL RENDSZER (DBMS).................................................................................................. 6 3.3.1 Feladata ..................................................................................................................................................6 3.3.2 Komponensei .......................................................................................................................................... 6 3.4 DBA/A DATBZIS ADMINISZTRTOR .........................................................................................................6 3.5 ABR ARCHITEKTRA HROM SZINTJE ...................................................................................................... 7 3.5.1 Kls szint (sma) .................................................................................................................................7 3.5.2 Koncepcionlis szint (sma) ............................................................................................................... 7 3.5.3 Bels szint ............................................................................................................................................... 7 3.6 ADATFGGETLENSG.................................................................................................................................... 8 3.6.1 Logikai adatfggetlensg .................................................................................................................... 8 3.6.2 Fizikai adatfggetlensg (eszkzfggetlensg) ..............................................................................8 4. ADATMODELLEK ............................................................................................................................................... 9 4.1 ADATMODELL ................................................................................................................................................ 9 4.2 AZ ADATMODELLEK ALAPELEMEI ............................................................................................................ 9 4.2.1 Egyedtpus (entits) ..............................................................................................................................9 4.2.2 Tulajdonsgtpus (attribtum) .........................................................................................................10 4.2.3 Tpus s elforduls ............................................................................................................................10 4.2.4 Kapcsolattpus .....................................................................................................................................10 4.2.5 Gyenge egyedtpus ..............................................................................................................................10 4.3 ER (EGYED KAPCSOLAT) MODELL .............................................................................................................11 4.3.1 ER diagram komponensei ..................................................................................................................11 4.3.2 Plda ER modellre...............................................................................................................................11 4.4 A SULI -KNYVTR ER MODELLJE ............................................................................................................12 4.4.1 Feladat specifikcija ........................................................................................................................12 4.5 HLS ADATMODELL ..................................................................................................................................13 4.5.1 Settpus (halmaztpus), setelforduls............................................................................................13 4.5.2 N:M kapcsolat ......................................................................................................................................14 4.5.3 N-g kapcsolat ..................................................................................................................................15 4.5.4 CODASYL DBTG javaslat...................................................................................................................15 4.5.5 Lekpezs ER modellrl hls modellre .........................................................................................16 4.6 HIERARCHIKUS ADATMODELL...................................................................................................................16 4.6.1 Alapfogalmak .......................................................................................................................................16 4.6.2 A klasszikus hierarchikus modell tulajdonsgai ..........................................................................17 4.6.3 Az N:M kapcsolatok megvalstsa.................................................................................................17 4.6.4 Lekpezs ER modellrl a hierarchikus modellre.........................................................................18 4.7 RELCIS ADATMODELL ............................................................................................................................19 4.7.1 Relci fogalma ...................................................................................................................................19 4.7.2 Kulcsok, funkcionlis fgg sg........................................................................................................19

2

4.7.3 Normalizls ........................................................................................................................................20 4.8 A SULI -KNYVTR RELCIS ADATBZISNAK MEGTERVEZSE NORMALIZLSSAL................. 23 4.9 LEKPEZSI SZABLYOK, TTRS ER MODELLRL RELCIS MODELLRE.................................... 24 4.9.1 Egyedtpus lekpezse ........................................................................................................................24 4.9.2 Gyenge egyed lekpezse ...................................................................................................................24 4.9.3 1:1 kapcsolattpus lekpezse ..........................................................................................................24 4.9.4 1:N kapcsolat lekpezse...................................................................................................................25 4.9.5 N:M kapcsolat, n -g kapcsolat lekpezse..................................................................................26 4.9.6 Tbbrtk attribtum lekpezse...................................................................................................26 4.10 A SULI -KNYVTR RELCIS ADATBZISNAK MEGTERVE ZSE ER MODELLBL ..................... 26 5. FIZIKAI TROLSI, ELRSI MD...........................................................................................................28 5.1 MGNESLEMEZ .............................................................................................................................................28 5.2 SZERVEZSI MDOK S E LRSEK ............................................................................................................28 5.2.1 Soros......................................................................................................................................................29 5.2.2 Szekvencilis ........................................................................................................................................29 5.2.3 Indexels................................................................................................................................................30 5.2.4 Hashing .................................................................................................................................................30 6. AZ ADATBZIS-TERVEZS FZISAI........................................................................................................32 6.1 A FELADAT SPECIFIKCI JA ...................................................................................................................... 32 6.2 KONCEPCIONLIS TERV ..............................................................................................................................32 6.2.1 Globlis stratgia ................................................................................................................................33 6.2.2 Nzet integrl stratgia ...................................................................................................................33 6.3 ADATBZIS-KEZEL RENDSZER KIVLASZTSA ...................................................................................33 6.4 MAGAS SZINT MODELL LEKPEZSE ..................................................................................................... 33 6.5 FIZIKAI TERV................................................................................................................................................. 33 6.6 MEGVALSTS.............................................................................................................................................34 FGGELK .............................................................................................................................................................35

FGGELK A FGGELK B SULI-KNYVTR ADATBZIS ..................................................................... 35 FGGELK C TEMATIKA ...................................................................................................................................37 FGGELK D RVIDTSEK............................................................................................................................... 37

3

Ajnlott irodalomQuittner Pl: Adatbzis -kezels a gyakorlatban, Akadmiai kiad, Budapest, 1993 Dr. Halassy Bla: Az adatbzisok kezelsnek alapvet krdsei, 1978, Budapest, KSH Priskinn R. Zsuzsa s Erdlyin: ptsnk knnyen s lassan adatmodellt, 1997, Veszprm Vthy gnes, Nmeth Krisztin: Adatmodellezsi feladatok I., Veszprm 1996, Veszprmi Egyetem Stolnicki Gyula: SQL kziknyv, ComputerBooks (http://www.computerbooks.hu/sql.htm) Balogh Judit, Rutkovszky Edn: SQL Pldatr, 1994 Ecsedi-Tth Pter, : Az ORACLE relcis adatbzis -kezel rendszer, 1990, Budapest, IQSoft Rt. Juhsz I., Almsi B., Mrton ., Balogh J.,: ORACLE 6.0 referencia kziknyv http://pc123a.math.klte.hu/varadyl/oktatas.htm

BevezetsA kvetkez trgyalsra azrt van szksg, hogy a kurzus vgre magunk is el tudjunk kszteni egy jl mkd adatbzist a problma felvetstl elindulva egszen a fizikai megvalstsig. A jegyzet struktrja 1. 1. Alapfogalmak ER modell, egy adatbzis -kezeltl fggetlen magas szint adatmodell megismerse A fbb adatbzis -kezeltl fgg alacsonyabb szint adatmodellek megismerse (hls, hierarchikus, relcis) Az ER modell lekpezsi szablyai a hls, hierarchikus, relcis adatmodellre. Fizikai trols s elrsi md Az SQL nyelv

Az adatbzis-tervezs fzisai 1. 2. A feladat specifikcija Adatbzis -kezeltl fggetlen magas szint adatmodell elksztse Adatbzis -kezel rendszer kivlasztsa

1.

3.

1.

4.

A 2. fzisban elkszlt modell lekpezse a kivlasztott adatbzis -kezel rendszernek megfelel (hls, hierarchikus, relcis) modellre Fizikai tervezs Megvalsts

1. 1.

5. 6.

4

1. Mirt van szksg adatbzis-kezelkreA hagyomnyos adatkezelsnek szmos htrnya van: Tbbszrs adattrols (redundancia) sszefrhetetlensg (inkonzisztencia). s az adatok ellentmondsossga, adat-

Rugalmas vltoztathatsg hinya s magas karbantartsi igny. Felhasznli logikbl nem kvetkez feldolgozsi vagy programozsi tbblet. Az adatvdelem kvnt szintje hagyomnyos eszkzkkel nem biztosthat.

A fenti problmk csak az adatbzis szemllettel vagy az adatbzis -kezel rendszerek alkalmazsval kszblhetk ki.

2. Adatbzis szemlletEz annak az elis merst jelenti, hogy az adatok erforrsoknak tekinthetk, ezeknek erforrs jelleget tulajdontunk. Erforrsokat a kvetkezk jellemzik: biztostsuk idt s pnzt ignyel s zks termszetek racionlis felhasznlsuk elbbre visz.

Ilyen rtelemben az adatbzis -kezels nem ms, mint az adatokkal, mint erforrsokkal trtn gazdlkods. Az adatbzis -kezel rendszer mint szoftver pedig ennek az erforrs gazdlkodsnak egy bizonyos rtelemben vett, automatizlt eszkze.

3. Adatbzis rendszer3.1 Adatbzis rendszer (ABR/DBS1)Az adatbzis rendszer rszei a kvetkezk: az adatbzis (db=database), az adatbzis -kezel rendszer (dbms=database management system), az adatbzis -adminisztrtor (dba=database administrator), s a felhasznli krnyezet egytt.

3.2 Adatbzis 1

Adatoknak s a kztk lv kapcsolatoknak a trolt rendszere. Egy adatbzisba valamilyen szempontbl rokon adatok tartoznak. Az adatbzis integrlt: tbb felhasznl s/vagy tbb felhasznls adatait trolja egytt. Az adatbzis osztott: Az adatbzishoz tbb felhasznl frhet hozz, akr azonos id ben. Fizikai felptse (adatbzisfjlok + adatsztr).

Data Base System

5

Adatsztr (CDD) 2: Az adatsztr informcikat tartalmaz a: rendszer objektumairl ill. azok rszeirl az egyes objektumokhoz val hozzfrsi jogokrl az objektumok kztti fggsgekrl, kapcsolatokrl

3.3 Adatbzis-kezel rendszer (DBMS3)3.3.1 FeladataOlyan professzionlis szint szoftver, amely az adatbzissal kapcsolatban a kvetkezket tudja tenni: adatbzis -kezelsi feladatokat (az egsz adatbzis ltrehozsa, adatok visszakeresse, trolt adatokhoz j adatok hozzvtele, trolt adatokbl bizonyosak trlse, trolt adatokbl bizonyosak mdostsa, rendezs, rlapgenerls, jelentskszts stb.) adatok kzti komplex kapcsolatok ltrehozst tbbfle hozzfrsi mdot osztott adatbzisoknl a szinkronizcit adatok vdelmt (illetktelen felhasznltl) adatok integritst (a jogosult felhasznlk se tudjk elrontani az adatbzist) helyrellthatsgot adatfggetlensget eszkzfggetlensget.

3.3.2 KomponenseiDDL (Data Definition Language/adatdefincis nyelv) DML (Data Manipulation Language/adatmanipulcis nyelv) benne: QL (Query Sublanguage/Lekrdez rsznyelv)

DCL (Data Control Language/adatvezrl nyelv) Szolgltat programok: Forms (rlapgenertor) Report (Jelentskszt)

3.4 DBA4/Adatbzis adminisztrtorFeladatai: 2

az adatbzis megszervezse: adatmodell kialaktsa, az adatbzis objektumainak definilsa, keressi stratgik megvlasztsa (indexels), jogosultsgok adsa s szablyozsa, adatbzis -kezel szoftverkomponenseinek kezelse

Common Data Dictionary lsd Quittner Pl: Adatbzis -kezels a gyakorlatban, Akadmiai kiad, Budapest, 1993, 7.10 fejezet Data Base Management System Data Base Administrator

3 4

6

adatbzis karbantartsa, konzisztencia biztostsa

3.5 ABR architektra hrom szintje Kls szint Koncepcionlis szint Bels szint

3.5.1 Kls szint (sma)Kls szint az, ahogy az egyes felhasznlk ltjk az adatbzist. Ez tbbnyire a koncepcionlis szinten lert objektumok rsze.

3.5.2 Koncepcionlis szint (sma)Koncepcionlis szint rja le miknt nznnek ki mindenki szmra az adatok. Ezen a szinten rjuk le az adatbzis sszes objektumnak szerkezett, s a kzttk lv kapcsolatokat, valamint az objektumokhoz trtn hozzfrseket.

3.5.3 Bels szintLerja a fizikai trols s az elrs mdjt. bra 1 Egy ABR architektra 3 szintje (egysze)

DBA kls szint

Eseti felhasznl

Alkalmazi programozk

Rendszeres felhasznl

DDL programok

DCL programok

interaktv lekrdezsek

alkalmazi programok

DML utastsok

alkalmazi interfsz

koncepcionlis szint

bels (fizikai) szint

bels - koncepcionlis lekpezs

kls - koncepcionlis lekpezs

Opercis rendszer hvsok

Fizikai adatbzis adatfjlok adatsztr

7

bra 2 bra 3 Egy ABR architektra 3 szintje (rszletes)

DBA kls szint

Eseti felhasznl

Alkalmazi programozk

Rendszeres felhasznl

DDL programok

DCL programok

interaktv lekrdezsek

alkalmazi programok

DML utastsok

alkalmazi interfsz

kls - koncepcionlis lekpezs

koncepcionlis szint

DDL fordt

interpreter

elfordt, fordt

DML fordt

lefordtott tranzakci adatbziskezel futtat rendszerbels - koncepcionlis lekpezs

bels (fizikai) szint

Opercis rendszer hvsok

Fizikai adatbzis adatfjlok adatsztr

3.6 Adatfggetlensg3.6.1 Logikai adatfggetlensgAz adatbzis logikai szerkezetben vgrehajtott vltozsok az adatbzist felhasznli programokat nem befolysoljk. A kls szint s a koncepcionlis szint fggetlen egymstl.

3.6.2 Fizikai adatfggetlensg (eszkzfggetlensg)Az adatok trolsi s elrsi mdjnak megvltozsa nem vonja maga utn az adatbzis logikai szerkezetnek s a felhasznli programoknak a megvltoztatst. A bels szint fggetlen a koncepcionlis s a kls szinttl. Teljes adafggetlensgrl/adatfggetlensgrl a logikai s fizikai adatfggetlensg egyttes meglte esetn beszlnk.

8

4. Adatmodellek4.1 AdatmodellNem a konkrt adatokkal, azok elfordulsaival, hanem azok tpusaival illetve a kzttk lv kapcsolatokkal (egyedtpus, tulajdonsgtpus, kapcsolattpus) foglalkozik, tulajdonkppen egyedek, tulajdonsgok s kapcsolatok halmaza. Egy adatbzis -kezel rendszer mindig egy adatmodellre pl. Az adatmodellnek hrom szintje van: Kls Koncepcionlis Bels

A kls s a koncepcionlis szint adatmodellje alkotja a koncepcionlis/logikai adatmodellt, a bels szint a fizikai adatmodellt. L Magas szint (dbms -tl o fggetlen) g i k a i a d . m o d . Alacsony szint (dbms tl fgg) ER (Entity Relationship) modell

EER (Enhanced Relationship) modell Hierarchikus modell

Entity

Hls modell

Relcis modell

A magas szint adatmodellbl az alacsony szint adatmodellre val ttrst n. lekpezsi szablyok teszik automatikuss (CASE5 TOOLS).

4.2 Az adatmodellek alapelemei4.2.1 Egyedtpus (entits)Minden olyan objektum, ami minden ms objektumtl megklnbztethet, amirl adatokat trolunk, s amit tulajdonsgaival kvnunk lerni. Pl: knyv, olvas

5

Computer Aided System Engineering

9

4.2.2 Tulajdonsgtpus (attribtum)Az attribtumok az egyedek jellemz jegyei. Az attribtumok lehetnek: Csoportosts I. egyszerek sszetettek Csoportosts II. egyrtk tbbrtk

Kulcs attribtum: Olyan attribtum, amely egyrtelmen azonostja az egyedtpus brmely elfordulst. Pl.: ISBN, cm, szerz stb. a knyv egyed esetben.

4.2.3 Tpus s elfordulsA fenti absztrakcik esetn beszlnk egy adott tpus rtkrl mint elfordulsrl.

4.2.4 KapcsolattpusAz egyedek logikai viszonya, sszefggse. A kapcsolat lehet: teljes: a kapcsolatban lv egyedtpusok minden elfordulsra fennll a kapcsolat rszleges (parcilis). a kapcsolatban lv egyedtpusok nem minden elfordulsra ll fenn a kapcsolat.

A kapcsolatok a kvetkez tpusak lehetnek: A kt egyed fggetlen egymstl Nincs kapcsolat a kt egyed kztt. A kt egyed kztt klcsnsen egyrtelm kapcsolat ll fenn, 1-1 kapcsolat Egyik egyed egyedelfordulsai a msik egyed legfeljebb egy egyedelfordulsval ltestenek kapcsolatot Pl: hzastrs Egyik irnyba egyrtelm, a msik irnyba tbbrtelm a kapcsolat, 1-N kapcsolat knyv - kiad N-M kapcsolat Pl: eljegyzs: olvas - knyv esetn egy olvas tbb knyvre is eljegyezhet, s egy knyvre tbb olvas is eljegyezhet. N-g kapcsolat Pl: versenyez: a helyszn, id pont s sportol egyedek kztt. Kapcsolat fokszma megadja, hogy a kapcsolatban hny egyed vesz rszt.

4.2.5 Gyenge egyedtpusOlyan egyedtpus, aminek nincs kulcs attribtuma, de van olyan vele kapcsolatban lv ms egyedtpus (szl), amellyel val kapcsolata rvn (azonost kapcsolat) a gyenge egyedtpus egyedeit egyrtelm en azonostani lehet Pl: szl gyerek; tulajdonos - hal

10

4.3 ER6 (egyed kapcsolat) modellEgy magas szint, logikai adatmodell, amely egyedtpusokbl, a kztk lv kapcsolatokbl, s az egyes egyedtpusokhoz tartoz attribtumokbl pl fel. Modellezskor az adatbzis tervezje dnti el, hogy mit kvn tulajdonsgokkal (attribtumokkal), s mit j egyeddel lerni. Megjegyzs: Dntseikor a minl kisebb rendundancira s a minl gyorsabb adatelrsre trekszik, s kzben az adatbzis mrete sem mellkes. Kiindulskor jl kell specifiklni az egyedeket.

4.3.1 ER diagram komponenseiEgyedtpus s a gyenge egyedtpus brzolsa: tulajdonos Attribtumok brzolsa: kulcs, egyszer, sszetett s tbbrtkutca telszm szemszm lakcm hzszm milyen halakat szeret

hal

tulajdonos

Kapcsolattpusok brzolsa:

tulajdonos

1

van neki

N

hal

1:N kapcsolat specilisan gyenge egyedtpussal. A gyenge egyedtpus a hal, azonost egyedtpusa a tulajdonos, N oldal teljes, 1 oldal parcilis.

4.3.2 Plda ER modellreHa az a feladatunk, hogy egy nyilvntartst ksztsnk, akkor elszr a feladat specifikcijt kell megadni. Ezutn kerlhet sor az ER modell megalkotsra. Feladat: Csokold nyilvntarts, Vthy gnes, Nmeth Krisztin: Adatmodellezsi feladatok I. 45.old.

6

Entity Relationship

11

4.4 A Suli-knyvtr ER modellje4.4.1 Feladat specifikcijaNyilvn akarjuk tartani: a knyvtri knyveket (az egyes knyvek pldnyait) az olvaskat a pldnyok klcsnzst az eljegyzseket knyvekre.

ssze kell gyjteni a szksges tulajdonsgokat, s kapcsolatokat Az sszetartoz tulajdonsgok egyedet hatroznak meg. Indulskor legalbb a kvetkez egyedek azonosthatak: olvas pldny knyv.

A kapcsolatok: klcsnz (olvas pldnyt) eljegyez (olvas knyvre) van (knyvbl pldny).

gy az ER modell:lelt_szam ar kolcs_dat vnev unev pldny kolcs_e

N

o_azon

N

1olvasN beir_dat

klcsnz

van 1 eljegyezM

lakcim utca hazszam

varos eloj_dat kiado

knyv

ISBN cim szerzo

kiad_dat

12

Abban az esetben, ha a szerz krl s a kiadkrl tbb adatot szeretnnk nyilvntartani, akkor a szerz s a kiad az ER modell felrajzolsa eltt mr egyednek tekintendklelt_szam ar kolcs_dat vnev o_azon unev pldny kolcs_e

N

N

1olvasN beir_dat

klcsnz

varos kiad_azon kiad_nev

van 1 eljegyezM

lakcim

varos utca hazszam eloj_dat cim szerz szerzo_azon vnev unev

knyv

N

kiadja

1

kiad

ISBN kiad_dat

M

rta

N

telszam

4.5 Hls adatmodellA hls modell s a hozz kapcsold adatbzis -kezel nyelv 1971-ben kerlt a nyilvnossg el a CODASYL DBTG7 javaslata alapjn. Hls adatbzis -kezelk : ADABAS, DBMS, IDMS (IBM), SMN A modell alapvet elemei a rekord (az egyedtpus) s a halmaz (set).

4.5.1 Settpus (halmaztpus), setelfordulsA modell alapegysge a settpus, ami kt egyedtpus kztti kapcsolatot rja le. A settpust a kvetkezk alkotjk: settpust neve (pl. Rendel) tulajdonos (owner) egyedtpus (pl. Vev) tag (member) egyedtpus (pl. Rendels) A set jellse:

Vev

RendelsA rekordtpusban egyszer, sszetett s tbbrtk attribtumok is lehetnek, az utbbiakat vektormezben brzoljk. Egy settpus tulajd onkppen egy 1:N kapcsolatot (specilisan 1:1 kapcsolatot) reprezentl. Valamely settpus egy elfordulsa egy tulajdonos rekordbl s az ahhoz kapcsoldan valamennyi (0,1,2,) tagrekordbl ll. Egy settpusnak annyi elfordulsa van amennyi a tulajdonos rekordtpusnak.

7

Conference on Data Systems Languages Data Base Task Group

13

Plda: Tegyk fel, hogy a Tantrgy - Tanr egyedtpusok kztt 1:N a kapcsolat. Ekkor a kapcsolatot ler settpus s annak egy elfordulsa: Tantrgy Fizika Volt Ern

Paszkl Klmn Tanr Watt Attila

Az egyes rekordelfordulsokat mutatk lncoljk egymshoz (ciklikus lista). Mutatk: First - tulajdonostl az els tagrekordra Next - tagtl a kvetkez tagra Prior - tagtl az elz tagra owner - tagtl a tulajdonos rekordra

Ez a mutat szerkezet lehetv teszi, hogy egy adott setelforduls brmely adatelemt elrjk. A Tantrgy rekordtpus hogyan troldik ? n. rendszertulajdonos set formjban, amelyben a tulajdonos ismeretlen a felhasznl szmra. Az ilyen tpus setnek (singular set) csak egy elfordulsa van.

System

Area biolgia kmia

Tantrgy

fizika

4.5.2 N:M kapcsolatA hls adatmodellben N:M kapcsolatok is kezelhetk. Ekkor az egymssal N:M kapcsolatban lv kt rekordtpuson kvl egy n. kapcsolrekordra is szksg van, ami segtsgvel az N:M kapcsolatot kt 1:N kapcsolatt alakthatjuk. Plda Tulajdonos s az Aut egyedek kztt N:M a kapcsolat, ha az autk egsz letrl nyilvntartst szeretnnk kszteni.

Aut

DGN 353

EXS 741

AQQ 561

Kapcsol

1992.02.11

1994.12.11 1996.10.21

1996.10.22 1997.02.10

1997.02.11

1997.12.21

Tulajdonos

Kerek Ern

Kiss Istvn

Barna Pl

Nagy Tas

14

A kapcsolrekord minden egyes elfordulsa pontosan egy kapcsolatot ltest egy Aut s egy Tulajdonos rekord kztt, emellett mg trolja a mindkt egyedtl egyttesen fgg tulajdonsgokat.

4.5.3 N-g kapcsolatAz N-g kapcsolat hls adatmodellbeli realizcija a kvetkez:

VIRG vnv

LNY lszsz, nv

KAPCSOL dtum, szl

FI fszsz,nv

4.5.4 CODASYL DBTG javaslat1969 els vltozat, 1971-ben vgleges jelents, amelynek clja olyan rendszer definilsa volt, amely a kvetkez tulajdonsgokkal rendelkezik: klnbz felhasznlk s programok klnbz adatokat ignyelhessenek, redundancia nlkl lehetv teszi adatstruktrk definilst az adatbzis s lersa klnbz programnyelvekhez illeszthet legyen. lehetv teszi, hogy a programok fggetlenek legyenek az adattrolktl lehetv teszi, hogy a programok fggetlenek legyenek az adatoktl tbb felhasznl ill. program is hozzfrhessen egyidejleg az adatbzishoz adatvdelem

E clok elrsre hrom nyelvre tettek javaslatot: Smaler nyelv: lerja az adatmodellt s a fizikai trols mdjt. Egy sma lersakor meg kell adnunk a sma nevt, terletek (area) lerst, rekordok lerst, set -ek lerst. Alsmaler nyelv: kapcsolatot ltest a sma s a felhasznli program kztt, ezrt szintaxisnak sszhangban kell lennie azokkal a programnyelvekkel, amelyekbl a dbms hvhat (az akkor javasolt nyelv a COBOL-hoz illeszkedik). Alsma lersakor a dba rgzti, hogy az alsmval dolgoz program a teljes adatbzisnak mely rszhez frhet hozz. Adatkezel nyelv: adatok manipulcijt vgzi (beszrs, trls, mdosts, rendezs, keress stb.)

15

4.5.5 Lekpezs ER modellrl hls modellreAz ER modellbl hls adatmodellt hozhatunk ltre szinte automatikusan az n. lekpezsi szablyok alkalmazsval. ER modellben egyedtpus tbbrtk attribtum sszetett attribtum gyenge egyedtpus Hls modellben rekordtpus vektormez csoport a) az azonost egyedtpusnak megfelel rekordtpust egy vektormezvel egsztjk ki, amely tartalmazza a gyenge egyedtpus attribtumait (ha a gyenge egyedtpus nem szerepel tovbbi kapcsolatokban) b) ltrehozunk egy settpust, melynek tulajdonosa az azonost re kordtpus, tagja a gyenge egyedtpus 1:1 kapcsolattpus 1:N kapcsolattpus binris M:N kapcsolattpus tbbg M:N kapcsolattpus settpus (tag a teljes oldal, tulajdonos parcilis oldal) settpus (tag az N oldal, tulajdonos 1 oldal) kapcsol rekordtpus szletik kapcsol rekordtpus szletik, amely annyi setnek lesz tagja, ahny g a kapcsolat

4.6 Hierarchikus adatmodellAz els hierarchikus adatbzis-kezel program az IBM ltal kifejlesztett Information Management System (IMS) volt 1968-ban.

4.6.1 Alapfogalmakrekordtpus szl-gyerek kapcsolattpus (Parent - Child Relationship/PCR) brzols: hierarchiadiagrammal ISKOLA nv, cm, igazgat = = egyedtpus 1:N kapcsolattpus

TANTRGY nv, tanterem

TANR nv, szsz, cm

KI TANTJA nv, szsz, cm

Megjegyzs: A PCR kapcsolatoknak nincs nevk.

16

A fenti hierarchiadiagram egy effordulsdiagramja egy n. elfordulsi fa (rekordtpus=csompont, PCR kapcsolattpus =g): I 2. sz lt. Isk.

T matek

T magyar

N Fekete

N Kiss

N Nagy

K Kiss

K Nagy

K Fekete

Egy elfordulsi ft a fa inorder bejrsa alapjn troljuk.

4.6.2 A klasszikus hierarchikus modell tulajdonsgai1. 2. 3. Egyetlen rekordtpus a gykr nem vehet rszt PCR kapcsolatban Minden rekordtpus gyerekknt pontosan egy PCR kapcsolatban vehet rszt. Brmely rekordtpus szlknt tetszleges szm PCR kapcsolatban rszt vehet.

Megjegyzs: A fentiek miatt a klasszikus hierarchikus modellben csak 1:1 s 1:N kapcsolatok valsthatk meg.

4.6.3 Az N:M kapcsolatok megvalstsa a gyerek rekordok ismtld elfordulsa nagy redundancia virtulis szl - gyerek kapcsolat (VPCR8)

A VPCR megvalstshoz egy virtulis (mutat) rekordtpust kellett bevezetni, aminek az M:N kapcsolat megvalstsn tl az is a feladata, hogy mindkt rekordtpusra jellemz attribtumot troljon. Ha a Tanr s a Tantrgy rekordtpus kztt N:M a kapcsolat akkor a modellt a kvetkezkppen brzoljuk a virtulis (mutat) rekordtpus hasznlatval:szl

TANTRGY TANRVPCR virtulis szl

PCR virtulis gyerekTANRMUTAT ajnlott knyv

8

Virtual Parent Child Relationship

17

A fenti modell nhny elfordulsa a kvetkezkppen nz ki: Matematika Tth Jnos Fried Ervin: Matematika Csszr : Szmtan

Kiss Pter

Magyar

Mth Pl

Nagy: Versek

Petfi sszes

Megjegyzs: Ez a trolsi struktra hasonlt a hls modellbeli megvalstsra. A hierarchikus adatmodell az olyan feladatok megvalstsra, amelyekben sok a nem hierarchikus N:M kapcsolat nem alkalmas.

4.6.4 Lekpezs ER modellrl a hierarchikus modellreAz ER modellrl a hierarchikus modellre trtn talaktst az n. lekpezsi szablyok teszik automatikuss. ER modellben egyedtpus 1:N kapcsolat N:M kapcsolat N g kapcsolat Hierarchikus modellben rekordtpus PCR kapcsolat VPCR kapcsolat VPCR kapcsolat

18

4.7 Relcis adatmodellEz a modell van kidolgozva a legrszletesebben, ami E.F. CODD-nak ksznhet, aki a hetvenes vek elejn dolgozta ki. Ebben a modellben valsthat meg legjobban a fizikai s logikai adatfggetlensg.

4.7.1 Relci fogalmaDef: Legyenek D1,.., Dn attribtumhalmazok. Az R D1 ...Dn halmazt relcinak nevezzk, ahol n a relci foka. A relci felfoghat tblzatknt. Ha a Di elemeit di j -vel jelljk (i=1,,n), akkor D11 d1

Dn1 dn

d1m

dnm

A relci mint halmaz elemeit (a tblzat sorait) rekordoknak is nevezzk. Az attribtumhalmazok neveit (oszlopfejlceket) meznek is mondjuk. Megjegyzs: A halmazelmleti megfontolsok miatt a tblzatban a sorok sorrendje lnyegtelen, az oszlopok sorrendje is lnyegtelen, nincs kt azonos sor.

Egy adatbzis rendszerint tbb tblbl ll, a tblk kztt kapcsolatok vannak. A tblk struktrjnak illetve a kapcsolatoknak a lerst az adatsztr tartalmazza. Magas szint s a relcis adatmodell fogalmai a kvetkezkppen felelnek meg egymsnak: Magas szint adatmodell fogalmai egyed egyedelforduls attribtum/egyedtpus Relcis adatmodell relci rekord mez

4.7.2 Kulcsok, funkcionlis fggsgDef (kulcs): K {D1 ,..., Dn } kulcs, ha s1,s2 sor esetn, ha s1|K=s2|K, akkor s1=s2, s ha K` K esetn teljesl a fenti tulajdonsg, akkor K`=K teljesl. Ha az utols felttel nem teljesl, akkor K szuperkulcsnak is -t mondjk. Ha a kulcs egy attribtumhalmaz, akkor egyszernek, egybknt sszetettnek mondjuk. Plda: Az ELOJEGY tblban az ISBN s az o_azon egytt alkotjk a kulcsot, hiszen egyttesen egyrtelmen meghatrozzk az eljegyzs dtumt (eloj_dat), ez nmagban sem az ISBN, sem pedig az o_azon mezre nem teljesl. (Egy knyvre tbb klnbz olvas, ms -ms id pontokban jegyezhetett el; s egy olvas tbb knyvre is eljegyezhet egy adott id pontban.) Def (kls vagy idegen kulcs): Egy relci azon attribtumai, amelyek egy msik relciban kulcsot alkotnak. Plda: Az ELOJEGY tblban az ISBN s az o_azon mezk egyenknt kls kulcsok, hiszen csak olyan ISBN szm szerepelhet a tblban, amely a KONYV tblban is ltezik (az ISBN a KONYV tblban kulcs), s csak olyan o_azon rtk szerepelhet a tblban, ami az OLVASO tblban is megvan (az o_azon az OLVASO tblban kulcs).

19

4.7.3 NormalizlsEgy adatbzis relcis adatmodelljnek (koncepcionlis modell) megalkotshoz kt t vezet lekpezsi szablyok alkalmazsval ER modellbl relcis modell (lsd ksbb) a feladat specifikcijbl (troland adatok, mveleti ignyek) kiindulva normalizlssal jutunk el az adatbzis relcis adatmodelljhez.

A normalizlssal: cskken a redundancia megsznnek a trlsi, mdostsi, beszrsi anomlik logikailag ttekinthetbb lesz az adatbzis

Def (funkcionlis fgg.): Legyen R a D1,..,Dn attribtumhalmazokon rtelmezett relci, s legyenek Ai s A j {D1 ,..., Dn } . Azt mondjuk, hogy az R relciban A j funkcionlisan fgg Ai -tl ( Ai A j ), ha s1, s2 R esetn abbl, hogy s1(Di ) = s 2(Di ) Di Ai -re kvetkezik, hogy s1( Dj ) = s2( Dj ) Dj A j -re. Def (teljes funkcionlis fggsg): Ha AB s ha A` rsze A esetn AB, akkor A`=A. Def (tranzitv fggsg): C tranzitvan fgg A-tl, ha ltezik B rsze {D1,...,Dn}, hogy AB s B C s B -/->A s C-/->B.

4.7.3.1 Els normlformaDef: Egy relci els norm lformj, ha az rtelmezsi tartomnynak egyetlen eleme sem relci, azaz ha a tblzat minden celljban csak egy attribtumrtk szerepel. Plda: Legyen a relcink a kvetkez: R( A , B, C, D,E). A kulcsjelleg tulajdonsgok al vannak hzva. A a1 B b1 C c1 c2 c3 a2 b1 c2 D d1 d2 d3 d2 E e1 e2 e3 e2

A fenti relci nem els normlformj, mert ismtld csoportot tartalmaz (a C,D,E attribtumok rtkei).

4.7.3.2 Relci els normlformra hozsa4.7.3.2.1 Sorok ismtlsvel A tbb attribtumrtket tartalmaz sort annyi sorra bontjuk ahny attribtumrtk fordul el a sorban redundancia. A a1 a1 a1 a2 B b1 b1 b1 b1 C c1 c2 c3 c2 D d1 d2 d3 d2 E e1 e2 e3 e2

20

4.7.3.2.2 Relci felbontsval A relci jabb relcikra bonthat gy, hogy az ismtld csoportot levlasztjuk az eredeti relcirl, melljk illesztve a nem ismtld rsz kulcst. A a1 B b1

A a1 a1 a1 a2

C c1 c2 c3 c2

D d1 d2 d3 d2

E e1 e2 e3 e2

4.7.3.3 Msodik normlformaDef: Egy relci msodik normlformj, ha 1NF-j s minden olyan attribtum, ami nem kulcs t ljesen e funkcionlisan fgg minden kulcstl. Tekintsk az albbi 1NF-j relcit. Az A, B, C, D, E, F, G, H, attribtumok (tulajdonsgtpusok), a relciban, az A s B tulajdonsgok a kulcsok. A relci nem msodik normlformj, mert vannak olyan msodlagos attribtumok, amelyek a kulcs rszeitl is fggnek.A H C D F G B E

4.7.3.4 Relci msodik normlformra hozsaHa egy els normlformj relciban a kulcs egyszer, akkor a relci egyben msodik normlformj is. Egybknt az sszetett kulcs relciban meg kell vizsglni azokat az attribtumokat, amelyek nem rszei a kulcsnak. Ha ezek kztt az n. msodlagos attribtumok kztt vannak olyanok, amelyek nem fggnek teljesen funkcionlisan a kulcstl (azaz nincsen a relci a msodik normlformban), akkor meg kell hatrozni, hogy ezek a tulajdonsgok mely rszkulcstl fggnek teljesen, s a tulajdonsgokat a rszkulccsal egytt kln tblzatba kell tenni gy, hogy ott a rszkulcs mr kulcs legyen.

A

B E

C

D F G

A H C

21

4.7.3.5 Harmadik normlformaDef: Egy relci harmadik normlformj, ha 2NF s nincs olyan msodlagos attribtum, ami tranzitv mdon fggne valamilyen kulcstl.

4.7.3.6 Relci harmadik normlformra hozsaA tranzitv fggsgeket gy tntetjk el, hogy azokat kln tblzatba vagy tblzatokba tesszk. A fent eredmnyl kapott relcik kzl a kzps nincs harmadik normlformban, hiszen az E s F attribtumok tranzitvan fggnek a C kulcstl. A harmadik normlformra hozshoz kszbljk ki a kzps relcibl a tranzitv fggsget.A B E C D D F G A H C

Az eredmnyl kapott ngy relci mindegyike harmadik normlformban van.

22

4.8 A Suli-knyvtr relcis adatbzisnak megtervezse normalizlssalA munka menete: 1. 2. 3. 4. Feladat specifikcija (troland adatok, mveleti ignyek sszegyjtse) kiindul relcik elksztse normalizls konszolidci

Az adatbzisunk a relcis adatmodellen fog alapulni. Normalizlatlan o_azon vnev unev lakcim beir_dat lelt_szam kolcs_e isbn cim szerzo ar kolcs_dat 1NF o_azon vnev unev lakcim beir_dat o_azon lelt_szam kolcs_e isbn cim szerzo ar kolcs_dat 2NF o_azon vnev unev lakcim beir_dat o_azon lelt_szam kolcs_dat lelt_szam kolcs_e isbn cim szerzo ar isbn cim kiad_azon kiad_nev varos kiad_dat isbn o_azon eloj_dat o_azon vnev unev okod 3NF o_azon vnev unev lakcim beir_dat o_azon lelt_szam kolcs_dat lelt_szam kolcs_e isbn ar isbn cim szerzo isbn cim kiad_azon kiad_dat kiad_azon kiad_nev varos isbn o_azon eloj_dat o_azon vnev unev okod Konszolidci o_azon vnev unev lakcim beir_dat okod o_azon lelt_szam kolcs_dat lelt_szam isbn kolcs_e ar

o_azon olv.jegy. szm olvask klcsnzse nyomtatvny

tbb knyvet is kivihet

ISBN azonostj knyvek eljegyzse nyomtatvny

isbn isbn cim cim kiad_azon kiad_azon kiad_nev kiad_nev varos varos kiad_dat kiad_dat o_azon tbb olvas vnev eljegyezhet isbn egy knyvre unev o_azon okod vnev eloj_dat unev okod eloj_dat

isbn cim szerzo kiad_azon kiad_dat kiad_azon kiad_nev varos isbn o_azon eloj_dat

23

ELOJEGY

KIADO

KONYV

PELDANY

KOLCSON

OLVASO

4.9 Lekpezsi szablyok, ttrs ER modellrl relcis modellreAz ER modellrl lekpezsi szablyok hasznlatval hozhatjuk ltre az alacsonyabb szint logikai adatmodelleket (hls, hierarchikus, relcis). A lekpezsi szablyok alkalmazsa automatizlhat (CASE9 TOOLS).

4.9.1 Egyedtpus lekpezseMinden egyes egyedtpusnak (a gyenge egyed kivtelvel) egy relcit feleltetnk meg. Az egyedtpus attribtumai lesznek a relci mezi: a kulcsattribtumok az eldleges kulcsok, az sszetett attribtumokat komponenseikre kell felbontani.

4.9.2 Gyenge egyed lekpezseA gyenge egyedtpusnak olyan relcit feleltetnk meg, amelyben a gyenge egyed sszes attribtuma mellett a szl (azonost) egyedek kulcsai szerepelnek, s ezek a kulcsok a gyenge egyed parcilis kulcsval (ha van) alkotjk a relci els dleges kulcst. Az azonost egyedek kulcsai a ltrejtt relciban kls kulcsok lesznek. Plda: id nv fajta nv 1 N

tulajdonos

van neki

hal

tulajdonos id, nv

hal id, nv, fajta

4.9.3 1:1 kapcsolattpus lekpezseEsetek: totlis E1 s totlis E2 parcilis E1 vagy E2 parcilis E1 s E2

4.9.3.1 Totlis E1 s totlis E2sszevonjuk a kt egyedet egy egyedtpusba, a kt kulcs kzl az egyiket hagyjuk meg. Ha valamelyik egyed ms kapcsolatban is rszt vesz, akkor rdemes meghagyni mindkt egyedet relcinak gy, hogy az egyik relcit kiegsztjk a msik relci kulcsval mint idegen kulccsal. Plda: Az osztly alkalmazottai egyik irodban alk_azon, a msik osztlyon szig_szm szerint vannak nyilvntartva.

4.9.3.2 Parcilis E1 s totlis E2Az egyes egyedekbl relci lesz gy, hogy a teljes kapcsolatban lv relcihoz hozzvesszk a rszleges relci kulcst idegen kulcsknt. Plda: csaldf hzastrs

9

Computer Aided Software Engineering

24

4.9.3.3 Parcilis E1 s parcilis E2Az egyes egyedtpusokbl relci lesz, valamint a kapcsolattpusbl is clszer relcit kszteni (az res mezk n. NULL rtkek elkerlse vgett) gy hogy az utbbi relcihoz hozzvesszk a kt egyedhez tartoz relcik kulcsait. Plda: N - hzastrs - frfi

4.9.4 1:N kapcsolat lekpezseEsetek: totlis N oldal parcilis N oldal

4.9.4.1 totlis N oldalAz egyes egyedekbl relcik lesznek gy, hogy az N oldali relcit kiegsztjk az 1 oldali relci kulcsval mint idegen kulccsal. Pldalelt_szam kolcs_e ar N ISBN kiad_dat cim

pldny

van

1

knyv

knyv - van - pldny knyv(ISBN, cim, kiad_dat), pldny (lelt_szam ISBN, kolcs_e, ar) , knyv - kiadja - kiad kiad(kiad_azon, kiad_nev, varos), knyv(ISBN, cim, kiad_dat, kiad_azon)

4.9.4.2 parcilis N oldalAz egyes egyedekbl relcik lesznek, s a kapcsolatbl is clszer relcit kszteni (az res mezk n. NULL rtkek elkerlse vgett). A kapcsolatbl szrmaz relci az egyedek kulcsait s ha a kapcsolatnak vannak attribtumai, akkor azokat tartalmazza. A kapcsolatbl szrmaz relci kulcsa az N oldali relci kulcsa lesz. Pldavnev o_azon unev 1 kolcs_dat lelt_szam kolcs_e ar klcsnz N pldny

olvas

beir_dat lakcim varos utca hazszam

olvas - klcsnz - pldny olvas(o_azon, vnev, unev, varos, utca, hazszam, beir_dat), pldny(lelt_szam, kolcs_e, ar), klcsnz(lelt_szam, o_azon, kolcs_dat)

25

4.9.5 N:M kapcsolat, n-g kapcsolat lekpezseA lekpezsi szably rszvteltl fggetlenl az, hogy az egyedekb l s a kapcsolatbl relci lesz. A kapcsolat relci az egyes egyedek kulcsaibl (egyttesen lesznek ezen relci kulcsa) s a kapcsolat attribtumaibl ll. Pldavnev o_azon unev olvas knyv ISBN lakcim beir_dat varos utca hazszam eloj_dat kiad_dat cim

N

eljegyez

M

olvas - eljegyez - knyv olvas(o_azon, , vnev, unev, varos, utca, hazszam, beir_dat), knyv(ISBN, cim, kiad_dat), eljegyez(o_azon, ISBN, eloj_dat) szerz rta -knyv szerz(szerzo_azon, vnev, unev, telszam), knyv(ISBN, cim, kiad_dat), rta(szerzo_azon, ISBN)

4.9.6 Tbbrtk attribtum lekpezseA tbbrtk attribtumot megszntetjk, j relcit hozunk ltre belle gy, hogy ehhez a relcihoz hozzvesszk a tbbrtk attribtum egyednek kulcst. Pldaknyv kiado kiad_dat szerzo ISBN cim

Megjegyzs: Ha a szerzvel kapcsolatban a cmt, telefonszmt stb. is nyilvn akarjuk tartani, akkor clszer mr az ER modell megalkotsakor kln egyednek tekinteni, s N:M kapcsolatot felttelezni a knyv egyeddel.

4.10 A Suli-knyvtr relcis adatbzisnak megtervezse ER modellblA munka menete: 1. 2. 3. 4. 5. Feladat specifikcija (troland adatok, mveleti ignyek sszegyjtse). ER modell elksztse. Lekpezsi szablyok alkalmazsval relcik ltrehozsa. Konszolidls. Normalizls, ha tovbbi finomts szksges.

26

4.4 rszben elksztettk a kvetkez ER modellt:lelt_szam ar kolcs_dat vnev o_azon unev pldny kolcs_e

N

N

1olvasN beir_dat

klcsnz

varos kiad_azon kiad_nev

van 1 eljegyezM

lakcim

varos utca hazszam eloj_dat cim szerz szerzo_azon vnev unev

knyv

N

kiadja

1

kiad

ISBN kiad_dat

M

rta

N

telszam

Alkalmazzuk a lekpezsi szablyokat! knyv - van - pldny knyv(ISBN, cim, kiad_dat), pldny (lelt_szam ISBN, kolcs_e, ar) , knyv - kiadja - kiad kiad(kiad_azon, kiad_nev, varos), knyv(ISBN, cim, kiad_dat, kiad_azon) olvas - eljegyez - knyv olvas(o_azon, , vnev, unev, varos, utca, hazszam, beir_dat), knyv(ISBN, cim, kiad_dat), eljegyez(o_azon, ISBN, eloj_dat) szerz rta -knyv szerz(szerzo_azon, vnev, unev, telszam), knyv(ISBN, cim, kiad_dat), rta(szerzo_azon, ISBN) olvas - klcsnz - pldny olvas(o_azon, vnev, unev, varos, utca, hazszam, beir_dat), pldny(lelt_szam, kolcs_e, ar), klcsnz(lelt_szam, o_azon, kolcs_dat) olvas - eljegyez - knyv olvas(o_azon, , vnev, unev, varos, utca, hazszam, beir_dat), knyv(ISBN, cim, kiad_dat), eljegyez(o_azon, ISBN, eloj_dat) szerz rta -knyv szerz(szerzo_azon, vnev, unev, telszam), knyv(ISBN, cim, kiad_dat), rta(szerzo_azon, ISBN) Az azonos relcik unijnak vtele (konszolidls). Normalizls, ha szksges.

27

5. Fizikai trolsi, elrsi mdHa adatbzis-kezelsrl beszlnk, akkor az adatok trolsa kzvetlen elrs httrtroln, ltalban mgneslemezen trtnik. Az itt trgyaland fogalmak az adatbzis-kezel rendszer kivlasztsa utn vlnak konkrtt. lemezterlet fordtott arnyossg gyors elrs

optimum=kompromisszum Az adatszerkezetek fizikai trolshoz szksges lemezmennyisg nagysga s az adatok elrsnek ideje kztt fordtott arnyossg figyelhet meg, azaz minl gyorsabbra tervezzk az adatok elrst, annl tbb dolgot kell trolnunk az adatokkal kapcsolatban, gy annl nagyobb lesz az adatbzis mrete. (Pl. sok mez szerint ltrehozunk indexllomnyokat, akkor ezen llomnyok mrete nveli az adatbzis mrett.)

5.1 MgneslemezFizikai jellemz k lemezek, olvasfejek (oldalanknt legalbb egy) sv, cilinder, szektor, blokk

Blokk, fizikai trolsi egysg: az az adatmennyisg, amely egytt mozog a httrtr (mgneslemez) s az operatv tr (puffer) kztt rskor ill. olvasskor cmezhet fizikai rekordokbl ll

Hozzfrsi idt meghatrozza a(z): 1. 2. 3. 4. Fejmozgats Fejkivlaszts Forgats Adattvitel

Fizikai trolsnl figyelembe veend szempontok 1. 2. 3. A vrhatan egyidejleg vagy egyms utn hasznlt rekordok egy blokkon legyenek. Kirskor a majdan egyms utn beolvasand rekordokat, egyms utni blokkokra rjuk ki. Az egyes rekordok hossznak minimalizlsa. (Pl. cm mez 50 byte-nak van deklarlva, de csak 20 byte-ot hasznlunk egy rekordban, akkor 30 byte felesleges. Megolds: a cm mezt, gy a rekordot is vltoz hosszsgnak deklarljuk. Ekkor a rekord fizikai trolsnl a mez eltt lesz 2 byte, ami a mez aktulis hosszt trolja.)

5.2 Szervezsi mdok s elrsekAz adatok szervezsi s elrsi mdja lehet: soros (fizikai egymsutnisg szerinti) szekvencilis (vmilyen logikai sorrend szerinti) direkt (indexelt) direkt (hashing)

28

5.2.1 SorosAz adatok gy helyezkednek el egyms utn, hogy sem a kulcsok s a troln elfoglalt helyk kztt, sem az egymst kvet adatok kulcsai vagy egyb tulajdonsgai kztt

nincs semmilyen sszefggs. Az adatok feldolgozsa: sorban beszrs a vgre, vagy rendezett beszrskor sok adatot kell mozgatni mdosts sok adat mozgatst ignyelheti trls sok adat mozgatst ignyeli egy rekord megtallsa lass (ha kulcsmez alapjn keresnk, akkor tlagosan a rekordok felt, ha egyb mez szerint akkor az sszes rekordot vgig kell keresni)

Rendszerint archivlni szoktak soros szervezs s elrs trolra (pl. mgnesszalag).

5.2.2 SzekvencilisSzekvencilis szervezsnl az egymst kvet adatok kulcsa kztt logikai kapcsolat van. Pl. nvekv sorrendnl minden rekord kulcsa nagyobb (vagy egyenl) a kzvetlenl eltte lvjnl. Szekvencilis elrs: brmely adat utn csak a kzvetlenl utna kvetkezt rhetjk el ugyanazokon az adatokon tbbfle mez alapjn is ltrehozhatunk szekvencilis elrst az adatok kztt a logikai kapcsolatot mutatk hatrozzk meg, s ezek teszik lehetv a szekvencilis feldolgozst is. Szoktak mg gyrt s/vagy ktrny lncolt listt is hasznlni. bra 4 Szekvencilis szervezs listaszerkezettel

A listaszerkezet elnyei a soros szervezssel szemben: a mdosts, beszrs egyszerbb ugyanazon rekordtpuson tbbfle szekvencilis szerkezet ltrehozhat egy adott kulcs tlagosan az sszes rekord felnek vgignzse utn megtallhat.

29

A listaszerkezet htrnyai: bonyolult programmal valsthat meg a mutatk miatt nagyobb a trolignye.

5.2.3 IndexelsIndexelni a relcis adatmodellben tblzatokat/relcikat szoktak valamilyen mez(k) alapjn. Ahhoz hogy indexelni lehessen kzvetlen elrs httrtrra van szksg. Az indexels eredmnyekppen ltrejn egy a tblzathoz tartoz indexfjl (indextbla), ami a kvetkezkppen nzhet ki: bra 5 MEGRENDELS rekordok indexelse SZLLTKD szerint

Indexelni lehet els dleges kulcs alapjn els dleges index, vagy egyb mez alapjn msodlagos index. gy egy tblzathoz tbb indexfjl tartozhat. A msodlagos indexfjl felptse annyi sora van az indextblnak, ahny rtke van annak a meznek ami szerint indexeltk a tblzatot annyi sora van az indextblnak, ahny klnbz rtke van annak a meznek ami szerint indexeltk a tblzatot.

A msodik esetben az egyes mezrtkek melletti cellban egy lista kezdcme van, ami ezen mezrtkhez tartoz rekordok fizikai cmeit trolja. Ez cskkenti az indextbla mrett, de a feldolgozst nehezti. Az indexels elnyei a szekvencilis szervezssel s el rssel szemben: Egy rekord megtallsa olyan mezrtk alapjn, amelyre ltrehoztunk indexet az indexllomnyban trtnik. Ez sokkal kisebb llomny, mint a tbla, gy gyorsabban lehet benne keresni (kevesebb blokkot kell beolvasni). Az adott mezrtk megtallsakor az adott mezrtk mellet ott van az indextblban az az informci is, hogy az adott mezrtk rekord(ok) hol (melyik blokkban) tallhatk a lemezen. Tovbbi informcik Quittner Pl: Adatbzis-kezels a gyakorlatban, Akadmiai kiad, Budapest, 1993, 81.oldal

5.2.4 HashingAz indexek alapjn trtn elrs viszonylag nagy adminisztrcit jelent az adatbzis -kezel rendszer szmra, mivel: az indexllomnyokat ltre kell hozni, karban kell tartani, hogy aktulis legyen adatmanipulci utn is, s keresni kell bennk.

A hashing mdszer akkor hasznlhat jl, ha kulcs alapjn akarunk adatokat kzvetlenl elrni. Ennl a mdszernl a kulcs s a megfelel adat cme kztt majdnem klcsnsen egyrtelm megfeleltets van. Egy alkalmas n. hash lekpezs klnbz kulcsrtkhez majdnem mindig klnbz cmet (cmtartomnyt) rendel. Bizonyos esetekben

30

azonban klnbz kulcsrtkekhez ugyanazt a cmet adja, ezeket a klnbz kulcs rekordokat szinonimoknak mondjuk. A szinonim rekordokat kezelni kell (hogy hogyan azzal most nem foglalkozunk). Nyilvn annl jobb egy hash lekpezs minl kevesebb szinonim van. Plda hash lekpezsre: alkalmasan nagy prmszmmal osztjuk a numerikusnak tekintett kulcsot, s a maradk lesz a cm. Kulcs szerinti kzvetlen feldolgozsra a j hash lekpezs hatkonyabb az indexnl, ezrt a hash lekpezst elszeretettel alkalmaztk a hierarchikus s hls modellben. A relcis adatbzisoknl nem hasznljk, mert: nem tesz lehetv szekvencilis elrst csak kulcs szerint lehet keresni, egy rekord ms mezje szerint nem.

31

6. Az adatbzis-tervezs fzisaiAz adatbzis-tervezs fzisai a kvetkezk: 1. 2. 3. 4. 5. 6. A feladat specifikcija Koncepcionlis terv Adatbzis-kezel rendszer kivlasztsa A 2. fzisban elkszlt magas szint modell lekpezse (hls, hierarchikus vagy relcis modellre) Fizikai terv Megvalsts

Napjainkban a relcis adatbzis -kezelk npszersge kapcsn rendszerint a feladat elkezdsekor adott, hogy a feladatot relcis adatmodellben kell megtervezni, ilyenkor az adatbzis megtervezsnek fzisai: Az adatbzis-tervezs fzisai mr a feladat elejn a relcis adatmodellt felttelezve I. verzi 1. 2. 3. 4. 5. 6. 7. A feladat specifikcija Koncepcionlis terv A 2. fzisban elkszlt magas szint modell lekpezse Konszolidci Normalizls , ha szksges Fizikai terv Megvalsts II. verzi 1. 2. 3. 4. 5. A feladat specifikcija Normalizls Konszolidci Fizikai terv Megvalsts

6.1 A feladat specifikcijaA troland adatok s m veleti ignyek sszegyjtse a jelenlegi megoldsok megismersvel interjkkal az egyes felhasznlk ignyeit az adott terlettel rokon megoldsok tanulmnyozsa

Ebben a fzisban az n. CASE eszkzk segthetik a munkt.

Specifikci

CASE eszkzk

DDL

6.2 Koncepcionlis tervAdatbzis -kezeltl fggetlen koncepcionlis (pl. ER) modell kialaktsa ktfle stratgival: 1. 2. globlis stratgival nzet integrl stratgival.

32

6.2.1 Globlis stratgia1. 2. 3. Az egyes felhasznli csoportok ignyeinek sszegyjtse. Az ignyek sszefslse. Koncepcionlis (pl. ER) modell elksztse a teljes rendszerre.

6.2.2 Nzet integrl stratgia1. 2. 3. 4. A csoportok ignyeinek (nzetignyek) sszegy jtse. Minden csoportignyre koncepcionlis modellt (alsmt) ptnk. Az alsmkat sszefsljk, hogy felrajzoljuk a teljes rendszer koncepcionlis modelljt. Elvgezzk a szksges szerkezeti vltoztatsokat.

6.3 Adatbzis-kezel rendszer kivlasztsaAz adatbzis -kezel rendszer kivlasztsban leginkbb kt tnyez jtszik szerepet: 1. 2. a feladat termszete (pl. ha sok N:M kapcsolat van, akkor a hierarchikus adatbzis -kezel rendszer nem alkalmas) gazdasgossgi szempontok.

6.4 Magas szint modell lekpezseAz egyes adatbzis -kezeltl fgg adatmodellek (hls, hierarchikus, relcis) trgyalsnl szt ejtettnk azokrl a lekpezsi szablyokrl, amelyek a magas szint adatmodellt (pl. ER modell) kpezik le alacsonyabb szint (hls, hierarchikus, relcis) modellre. A lekpezs automatizlhat az n. CASE eszkzk segtsgvel.

ER modell

CASE eszkzk

DDL

A lekpezs utn kapott relcis modell ltalban harmadik normlformban van, de esetleg a normalizls tovbbi alkalmazsval tovbb finomthatjuk a kapott adatmodellt.

6.5 Fizikai tervEbben a fzisban kell megadni az adatok fizikai trolsi s elrsi mdjt. Clszer a rekordokat a rendezsi attribtum (ltalban az els dleges kulcs) szerint fizikailag is rendezni. A relcis modellben a fizikai tervezs fontos feladata az indexels: A lekrdezsek meggyorstsa miatt rdemes az egyes relcikat indexelni: a felttelekben szerepl mezk szerint sszekapcsol mezk szerint.

Nem clszer indexelni azon mezk szerint, amelyeknek gyakran vltozik az rtke. Tl sok mez szerint nem rdemes indexelni a relcikat, mert az indexfjlok mrete miatt tlzottan megnhet az adatbzis mrete.

33

6.6 MegvalstsSQL nyelvvel: DDL nyelv segtsgvel lerjuk az adatbzis sz erkezett. DCL nyelv alkalmas arra, hogy gondoskodjunk az adatvdelemrl. DML nyelv segtsgvel feltltjk az adatbzist. QL nyelv segtsgvel lekrdezsek vgezhet k

34

FggelkFggelk A Fggelk B Suli-knyvtr adatbzis Kapcsolatok

A tblk adatai OLVASO O_AZON VNEV ------ --------------001 GIPSZ 002 KEMENY 003 MINTA 004 KEREK 005 POR KIADO KIAD_AZON --------K001 K002 K003 K004 KONYV ISBN CIM -----100001 100002 100003 100004 100005 100006

UNEV ---------JAKAB HELEN MOKUS ERNO OSZKAR

LAKCIM -------------------DEBRECEN FAL U. 1. APAFA FA U. 12. SARAND FELFAL U. 9. SZOB TINTA U.13. EGER DOBO U.21.

BEIR_DAT OKOD --------- ------------04-JAN-90 27-FEB-95 30-NOV-94 7 22-MAY-93 6 12-MAY-93 6

KIAD_NEV --------------TANKONYVKIADO AKADEMIAI KIADO GONDOLAT KIADO KOSSUTH KIADO

VAROS --------------LONDON NEW YORK LONDON LONDON

KIAD _AZON -------------------- ---TUSKEVAR K002 EGRI CSILLAGOK K001 KOSZIVU EMBER FIAI K001 EMPATIA K003 ANATOMIA K002 RECEPTEK K003

KIAD_DAT --------01-JAN-93 12-FEB-97 21-JUN-94 24-NOV-91 01-JUL-90 01-JUL-92

35

PELDANY LELT_SZAM --------L001 L002 L003 L004 L005 L006 L007 L008 L009 L010 L011 L012 L013 KOLCSON LELT_SZAM --------L002 L003 L004 L005 L007 L008

ISBN KOLCS_E AR ------ --------- ---------- 100001 1 1100 100001 1 1100 100001 1 1150 100002 1 800 100002 1 800 100003 0 1200 100004 1 300 100005 1 650 100004 0 300 100004 1 340 100005 0 680 100006 1 600 100006 1 600

O_AZON -----002 003 002 001 002 001

KOLCS_DAT --------05-JAN-97 28-JUL-97 21-JUN-97 11-AUG-97 15-AUG-97 21-FEB-97

ELOJEGY ISBN O_AZON ------ -----100002 003 100005 002 SZERZO SZERZO_AZON ----------S01 S02 S03 S04 S05 S06 S07 IRTA SZERZO_AZON ----------S01 S02 S03 S04 S04 S05 S06 S07 DOLGOZO d_azon Vnev

ELOJ_DAT --------22-AUG-97 21-JUN-97

VNEV --------------FEKETE GARDONYI JOKAI BUDA TARSOLY KUDLIK PSOTA

UNEV TELSZAM ---------- -----------ISTVAN GEZA MOR BELA EMIL JULIA IREN

ISBN -----100001 100002 100003 100004 100005 100005 100006 100006

Unev

beosztas

belepes

fizetes fonok

36

------D01 D02 D03 D04 D05 D06

------NAGY KISS BARNA SZILARD KEREK FUTO

-------KLARA TEREZ PETER ISTVAN EMIL ERZSEBET

------------IGAZGATO OSZTALYVEZETO OSZTALYVEZETO KONYVTAROS KONYVTAROS ELJARO

---------30-NOV-92 13-JAN-94 23-SEP-93 17-MAR-91 10-OCT-92 01-FEB-96

------110000 82000 79000 28000 31000 30000

----NULL D01 D01 D02 D03 D01

Fggelk C Tematika

I2924 Adatbzis-kezelsTematika: Az adatbzis kezel rendszerek kialakulsa. Egy ltalnos adatbzis rendszer architektrja. adatmodellezsi stratgik. Relcis s CODASYL adatmodell. Adatdefincis s adatmanipulcis nyelvek. nll s befogad nyelv rendszerek. Az SQL. A trgy gyakorlatn ismertetsre kerl egy konkrt knyvtri informcis rendszer.

Fggelk D Rvidtsek ABR DDL DML DCL SQL DB DBA DBMS RDBMS CASE DBS ER PCR VPCR QL SQL CDD Adatbzisrendszer Data Definition Language (adatdefincis nyelv) Data Manipulation Language (adatmanipulcis nyelv) Data Control Language (adatvezrl nyelv) Structured Query Language (struktrlt lekrdez nyelv) Data Base (adatbzis) Data Base Administrator (adatbzis adminisztrtor) Data Base Management System (adatbzis-kezel rendszer) Relational Data Base Management System (relcis adatbzis-kezel rendszer) Computer Aided Software Engineering Data Base System Entity Relationship Parent Child Relationship Virtual Parent Child Relationship Query Language Structured Query Language Common Data Dictionary

37