Professional Documents
Culture Documents
10 Adatbelm Nyh PDF
10 Adatbelm Nyh PDF
elads vzlat
Tartalom
TARTALOM..............................................................................................................................................................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
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
Ajnlott irodalom
Quittner 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
Bevezets
A 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.
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 szemllet
Ez 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 rendszer
3.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).
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.2 Komponensei
DDL (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)
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
Eseti felhasznl
Alkalmazi programozk
Rendszeres felhasznl
DDL programok
DCL programok
interaktv lekrdezsek
alkalmazi programok
DML utastsok
alkalmazi interfsz
koncepcionlis szint
Eseti felhasznl
Alkalmazi programozk
Rendszeres felhasznl
DDL programok
DCL programok
interaktv lekrdezsek
alkalmazi programok
DML utastsok
alkalmazi interfsz
koncepcionlis szint
DDL fordt
interpreter
elfordt, fordt
DML fordt
3.6 Adatfggetlensg
3.6.1 Logikai adatfggetlensg
Az adatbzis logikai szerkezetben vgrehajtott vltozsok az adatbzist felhasznli programokat nem befolysoljk. A kls szint s a koncepcionlis szint fggetlen egymstl.
4. Adatmodellek
4.1 Adatmodell
Nem 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
Entity
Hls modell
Relcis modell
A magas szint adatmodellbl az alacsony szint adatmodellre val ttrst n. lekpezsi szablyok teszik automatikuss (CASE5 TOOLS).
Kulcs attribtum: Olyan attribtum, amely egyrtelmen azonostja az egyedtpus brmely elfordulst. Pl.: ISBN, cm, szerz stb. a knyv egyed esetben.
4.2.4 Kapcsolattpus
Az 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.
10
hal
tulajdonos
Kapcsolattpusok brzolsa:
tulajdonos
van neki
hal
1:N kapcsolat specilisan gyenge egyedtpussal. A gyenge egyedtpus a hal, azonost egyedtpusa a tulajdonos, N oldal teljes, 1 oldal parcilis.
Entity Relationship
11
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
o_azon
1
olvas
N beir_dat
klcsnz
van 1 eljegyez
M
knyv
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 tekintendk
lelt_szam ar kolcs_dat vnev o_azon unev pldny kolcs_e
1
olvas
N beir_dat
klcsnz
van 1 eljegyez
M
lakcim
knyv
kiadja
kiad
ISBN kiad_dat
rta
telszam
Vev
Rendels
A 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.
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
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
Tantrgy
fizika
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.
VIRG vnv
LNY lszsz, nv
FI fszsz,nv
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.6.1 Alapfogalmak
rekordtpus szl-gyerek kapcsolattpus (Parent - Child Relationship/PCR) brzols: hierarchiadiagrammal ISKOLA nv, cm, igazgat = = egyedtpus 1:N kapcsolattpus
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
Megjegyzs: A fentiek miatt a klasszikus hierarchikus modellben csak 1:1 s 1:N kapcsolatok valsthatk meg.
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 TANR
VPCR virtulis szl
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.
18
Dn
1 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
19
4.7.3 Normalizls
Egy 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.
A fenti relci nem els normlformj, mert ismtld csoportot tartalmaz (a C,D,E attribtumok rtkei).
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
B E
D F G
A H C
21
22
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
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
tulajdonos
van neki
hal
tulajdonos id, nv
24
pldny
van
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)
olvas
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
eljegyez
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)
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.
26
1
olvas
N beir_dat
klcsnz
van 1 eljegyez
M
lakcim
knyv
kiadja
kiad
ISBN kiad_dat
rta
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
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 Mgneslemez
Fizikai 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
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.)
28
5.2.1 Soros
Az 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)
5.2.2 Szekvencilis
Szekvencilis 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 Indexels
Indexelni 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 Hashing
Az 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 fzisai
Az 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
Specifikci
CASE eszkzk
DDL
32
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.
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 Megvalsts
SQL 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
Fggelk
Fggelk 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
LAKCIM -------------------DEBRECEN FAL U. 1. APAFA FA U. 12. SARAND FELFAL U. 9. SZOB TINTA U.13. EGER DOBO U.21.
KIAD _AZON -------------------- ---TUSKEVAR K002 EGRI CSILLAGOK K001 KOSZIVU EMBER FIAI K001 EMPATIA K003 ANATOMIA K002 RECEPTEK K003
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
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
UNEV TELSZAM ---------- -----------ISTVAN GEZA MOR BELA EMIL JULIA IREN
Unev
beosztas
belepes
fizetes fonok
36
Fggelk C Tematika
I2924 Adatbzis-kezels
Tematika: 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