GEIAL Kovács László. GEIAL Kovács László

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "GEIAL Kovács László. GEIAL Kovács László"

Átírás

1 Adatbázis rendszerek I Adatkezelés és adatbázis kezelés alapfogalmai ME- GEIAL Dr. Kovács LászlL szló Informáci ciós rendszerek Adatok mindenütt NSA telekommunikáci ció bankszektor kereskedelem kutatás 1

2 Informáci ciós rendszerek Adatkezelés szerepe alkalmazás szerver adatbázis szerver Web szerver kliensek Informáci ciós rendszerek Hatalmas üzlet rejlik az adatbáziskezel ziskezelésben sben Oracle folyamatos áll llásk skínálat VIR 2

3 Adatkezelés alapjai Szintek állom llománykezel nykezelő tábl blázat kezelő desktop adatbázis multiuser adatbázis elosztott adatbázisok adattárh rházak funkciók API rugalmasság Excel adatkezelés alapjai Adatok tárol t rolása: tábl blázatok Tábl blázat szerkezete: sorok oszlopok cella c(s,o) Közvetlen műveletek: m sorba rendezés szűrő (szelekció) aggregálás Ért rtékellen kellenőrz rzés: cella adattípus Főmen menü Adatok Sorba rendezés Szűrő Rész szösszegek sszegek Érv rvényes nyesítés megszorítások sok (érv( rvényes nyesítés) s) 3

4 Excel adatkezelés alapjai Szelekció megadása külön táblt blázatban elemi(qbe) formula mező1 >érték mező2 =érték mező3 <érték soron belül l AND kapcsolat sorok között k OR kapcsolat A mezőhivatkoz hivatkozás a képletbe k kerül (=oszlopcimke oszlopcimke) rsz r11 r5 r2 tipus skoda skoda opel ar 39,00 38,00 36,00 tipus tipus ar =opel >30.0 =fiat >30.0 =C2 > 24 Excel adatkezelés alapjai összetett műveletekm makro programozás VB makro megírása Főmen menü Eszközök Makró Makrók Létrehoz trehozás Szerkesztés indító nyomógomb Főmen menü Nézet Eszközt ztárak Űrlapok Nyomógomb 4

5 Excel adatkezelés alapjai Makro mintaprogram: a rendszám egyediségének ellenőrz rzése Sub ellen1() ss1 = 0 For i = 3 To 10 k1 = Sheets(1).Cells(i, 1) s1 = 0 For j = i + 1 To 10 k2 = Sheets(1).Cells(j, 1) If k1 = k2 Then s1 = 1 End If Next j If s1 = 1 Then ss1 = 1 MsgBox (k1 & " nem egyedi") End If Next i If ss1 = 0 Then MsgBox ("egyediseg rendben") End If End Sub dinamikus változ v ltozók ciklus cella hivatkozás elágaz gazás üzenet kiírás pozíci ciók bebetonozása Adatkezelés követelm vetelményei Az Excel adatkezelése nem támogatja t az alábbi funkciókat: kat: Nagy adatmennyiség kezelése Dinamikus adatmennyiség Kapcsolatok nyilvántart ntartása Megszorítások sok kezelése Adatvédelem delem Hatékony lekérdez rdezés Nyílt kapcsolódási si felület let Párhuzamos hozzáférés 5

6 Adatbázis fogalma Olyan adatkezelő kell, ami minden igényelt funkciót biztosít Az adatbázis egy integrált adatrendszer, mely több t különb nböző egyed előfordul fordulásainak adatait adatmodell szerinti struktúrában, perzisztens módon tárolja t a kapcsolat leíró elemek mellett a metaadatokkal együtt, melyek a hatékonys konyság, integritásőrz rzés, az adatvédelem delem biztosítását t szolgálj lják. megkötések adatok szerkezet DB kapcsolatok jogosultság napló Adatbáziskezel ziskezelő fogalma Az adatrendszer megfelelő eléréséről l is gondoskodni kell Az adatbázis kezelő rendszer olyan programrendszer, Amelynek feladata az adatbázishoz törtt rténő szabályozott hozzáférés biztosítása sa és az adatbázis belső karbantartási műveleteinekm végrehajt grehajtása. A DB csak a DBMS-en keresztül érhet rhető el legálisan lisan védelem integritás ellenőrz rzés naplózás optimalizálás művelet végrehajtv grehajtás párhuzamos hozzáférés ellenőrz rzés DBMS 6

7 Adatbázisrendszer fogalma Az adatbázis kezelő, az adatbázis és az alkalmazói programok együttes ttesét t adatbázis zis-rendszernek nevezik SQL/... kliens adatbázis zis-kezel kezelő adatbázis ANSI SPARC modell Az adatbázis logikai felépítése, referencia modellje felhasználó Küls lső szint Felh1 Felh2 Felh9 egyed tervező Fogalmi szint Globális lis sémas tábla programozó Fizikai szint Fizikai szerkezet Index, rekord Függetlens ggetlenségi gi szintek: - logikai : a külsk lső szint és a globális lis szint közöttk - fizikai : a globális lis szint és a fizikai szint közöttk - hálózati : fizikai szinten belül 7

8 DBMS funkció struktúrája Kommunikáci ciós rétegr Utasítás értelmez rtelmező Hozzáférés ellenőrz rzés Aktív szabály ellenőrz rző Optimalizáló SQL CFG gráf DAC mátrix m ECA modul QOG gráf SELECT * FROM AUTO ORDER BY RSZ Végrehajt grehajtó Tranzakció vezérl rlő Naplózó modul QEP gráf TM modul, zárol z rolás Recovery modul IO rendszer read(), write() Nagy adatmennyiség kezelése Mit jelent a nagy adatmennyiség? VLDB ( ( ) : 400 GB < kínai telefontársas rsaság: 1TB-os táblat 10 8 lap, 5 km hosszú polc > 400 év 2005: EMC Corp. : 100 Tbyte DB, Standford : 500 TByte DB 8

9 Nagy adatmennyiség kezelése A fő f probléma a hatékony keresés Kívánalmak időben: optimális válaszidv laszidő: < 2 s megtűrt válaszidv laszidő: < 20 s Elvárások hellyel: minimális redundancia szabályozott redundancia Adatrekord elérési módszerekm Keresés s gyorsítása sa Szekvenciális keresés s O(N) nem hatékony Index: (ért ( rték, pointer) bejegyzések rendezett listája Rendezett állom llományban keresés: s: O(log log(n)) O(g) = {f m,x0 : x x > x0: f(x) < m g(x) } Probléma: Lemezes állom llományok esetén majdnem minden elem Olvasás s külön k blokkolvasás 9

10 Adatrekord elérési módszerekm A blokkolvasások sok darabszámát optimalizáló index Indexet kész k szítünk az indexhez (hierarchikus index) B-fa index szerkezet kereső fa, egy csomópontban M elem és M+1 pointer jó helykihasználts ltság (min 50%) csomóponton belül l rendezett logm(n) szint, O(log log(n)) keresés Adatrekord elérési módszerekm B-fa bővítés b algoritmusa Algoritmus elve: alulról l felfelé építkezik ha megtelt egy csomópont,l pont,létrehoz trehoz egy új szülőt Algoritmus lépései: l levél l megkeresése, se, elem beszúrása sa a rendezett listába Ha megtelt a levél, l, akkor középs pső elem meghatároz rozása középs pső elem a szülőbe testvér generálás elemek szétoszt tosztása sa pointerek kiigazítása 10

11 Adatrekord elérési módszerekm B-fa bővítés b algoritmusa A F U D H B C O G R Adatrekord elérési módszerekm Hash algoritmus alapjai Algoritmus elve: A rekord helye közvetlen k zvetlenül l a kulcsért rtékb kből határoz rozódik meg A tárol t roló terület blokkokra osztott, M darab blokk A hash függv ggvény adja meg a blokk sorszámát, h(x)=x mod M A módszer m jellemzői: Elvi keresési si költsk ltség: O(1) A túlcsordull lcsordullás jelentős többletkt bbletkölts ltséget adhat Nem stabil a költs k ltség, a statikus adatokra optimális 11

12 Adatrekord elérési módszerekm Hash algoritmus alapjai h(x) = x mod 3 M=3 kapacitás=2 Kösz szönöm a figyelmet! 12

13 Adatbázis rendszerek I Szemantikai adatmodellek ek ME- GEIAL Dr. Kovács LászlL szló Modellezés szerepe Problémak makör modellezése adatbázis struktúrával Dolgozó kód név beosztás Feladat kód dolg termék Termék kód ear megnevezés 1

14 Adatbázis tervezés főbb lépései Tervezési piramis követelm vetelmény analízis aut autók és tulajdonosok szemantikai leírás A T adatmodell leírás normalizálás parancs kódol k dolás műveletek create table A create table T eredmények Adatbázis adatmodell Adatmodell : azon formalizmus, melynek segíts tségével megadhatók a vizsgált problémak makör adatelemeinek szerkezete, viselkedése. se. Séma: az adatmodell felhasználásával létrehozott l adatszerkezet Előfordul fordulás: a séma s ért rtékekkel kitölt ltött tt példp ldánya Adatmodell elemei struktúra ra leíró építő elemek definiálása művelet leíró elvégezhet gezhető operáci ciók integritási feltételek telek statikus vagy aktiv szabályok 2

15 Adatbázis adatmodellek típusai szemantikai adatmodell A T emberközeli, lényeget l emelik ki, pontatlan adatbázis modell gépk pközeli, megadja a részleteket, r teljes ER EER ODMG UML idő HDM NDM RDM ORDM MDDM Egyed-kapcsolat modell egyszerűsített szemantikai adatmodell, jele: ER (Chen( Chen) a fogalmak szintjén értelmezett csak strukturális és elemi integritási részt r tartalmaz egyszerű grafikus jelölés rendszert tartalmaz nem teljes adatmodell, de egyszerűsége ge révén r elterjedt tervezési segédeszk deszköz z a reláci ciós adatbázis tervezéséhez 3 fő f komponense van egyed kapcsolat tulajdonságok A T 3

16 Az ER modell elemei Egyed: egy objektum típus, t egy a külvilk lvilág többi t részr szétől egyértelm rtelműen en megkülönb nböztetett dolog - önáll lló léttel bírb - amikről az informáci ciókat tárolni t kivánjuk Q: mire vonatkozó informáci ciókat tároljunk t a rendszerben? Típusai: - normál egyed (önmag( nmagában azonosíthat tható): dolgozó - gyenge egyed (más egyedhez való kapcsolatán keresztül azonosított): dolgozó felesége egyed neve normál egyed egyed neve gyenge egyed Az ER modell elemei Kapcsolat: az egyedek között k fennáll lló ideiglenes vagy tartós asszociáci ció - csak az elsődleges kapcsolatokat adjuk meg Q: milyen kapcsolatban állnak az egyes egyedek egymással? Kötelez telező jelleg szerinti típusokt - opcionális: létezhet l olyan egyedelőfordul fordulás, melyhez nem kapcsolódik egyedelőfordul fordulás a kapcsolatban - kötelez telező: minden egyedelőfordul forduláshoz kell kapcsolódnia egyedelőfordul fordulásnak a kapcsolatban A B opcionális kötelez telező az A oldalon 4

17 Az ER modell elemei Számoss mosság jelleg szerinti kapcsolat típusok: t - 1:1 egy egyedelőfordul forduláshoz maximum egy egyed társul a kapcsolatban, mindkét viszonylatban - 1:N (egy-több) egy egyedelőfordul forduláshoz több egyed társulhat, de a másik m irányban csak egy kapcsolódó egyedelőfordul fordulás létezhet - N:M (több bb-több) bb) mindkét irányban több t kapcsolódó előfordul fordulás létezhetl ország - főváros tulaj - autó A B 1:1 színész - színdarab 1:N N:M Az ER modell elemei Tulajdonság: az egyedeket, kapcsolatokat jellemző mennyiség - a letároland rolandó informácóelemek tartalmazza Q: milyen informáci ciókat tároljunk t az egyedekre vonatkozólag? Típusai: - normál: egyért rtékű ember.szülid lidő - kulcs: azonosító szerepű ember.tajszám - összetett: több t tagból áll lakcim(irsz irsz, varos) - több bbért rtékű: több t ért rtéke is lehet ember.hobby - származtatott: ért rtéke kiszámíthat tható ember.életkor normál t t t több bbért rtékű t t összetett t t kulcs származtatott 5

18 Az ER modell elemei mintapélda Main Entities and Relationships supervisor Employee supervisee worksfor 1 N supervises 1 M hours startdate manages 1 N workson N 1 Project Department 1 controls N 24th November 1998 Sample Powerpoint Presentation 3 Az ER modell elemei mintapélda 6

19 Modellezés az ER-ben Követelm vetelmények összegy sszegyüjt jtése Egyedek meghatároz rozása Kapcsolatok meghatároz rozása Tulajdonságok meghatároz rozása Követelm vetelmények ellenőrz rzése Mintapélda: étterem konyha A példa p feladat egy éttermi nyilvántart ntartás: ételek, hozzával valók, nyersanyagok, raktárk rkészlet, rendelések, beszáll llítók (egy nyersanyagot csak egy beszáll llító hozhat) ételek Rendelt adagok ételek hozzával valók raktárk rkészlet árak receptek Beszállit llitó név Beszáll llító cim 7

20 Mintapélda: étterem konyha recept név étel rendelés dátum mennyiség mennyiség benne név ear nyersanyag szállít szállító összár azonosító készlet cím A kapcsolathoz is rendelhető tulajdonság DIA rendszer ingyenes diagramm rajzoló program (MS Visio-hoz hasonló) 8

21 DIA rendszer Minta séma s Modellezés az ER-ben Az ER modellben ugyanazt a objektum más-más m s módon m is ábr brázolhat zolható aszerint, hogy a tervező mit kiván hangsúlyozni Egy objektum lehet egyed és tulajdonság is - egyed : önáll lló lét, fontosság kiemelése - tulajdonság : kapcsolat már m egyedekhez ügyoszt gyosztály: egyed egy vállalati v struktúrában, de tulajdonság is lehet az olvasó egyednél ügyosztály tagja dolgozó részt vesz projekt név ügyosztály dolgozó kölcsönöz könyv telefon 9

22 Modellezés az ER-ben Egy objektum megjelenhet kapcsolatként és egyedként is házass zasság: egyed egy anyakönyvi nyvi hivatalban de kapcsolat is lehet az egyedek között k idõpont férj adószám házasság polgár házasság polgár feleség Egy objektum megjelenhet kapcsolatként és tulajdonságk gként is tulajdonos: kapcsolat egy adó hivatalban de tulajdonság is lehet egy autótelepen telepen rendszám sz.szám rendszám tulaj autó tulaj polgár autó Modellezés az ER-ben A rugalmasság g ellenére, számos esetben nem lehet egzaktul megoldani az adatrendszer leírását Problémát jelent a specializáci ciók, által ltalános nosítások, sok, tartalmazási reláci ciók ábr brázol zolása, hiszen az ER csak az asszociáci ciót ismeri ember járm rmű Asszociácó ideiglenes szimmetrikus laza Tartalmazás autó Specializáci ció álland llandósult nem szimmetrikus fogalmi szintű szoros kapcsolat nem szimmetrikus álland llandósult motor Az egyfajta jelölési módm elmossa a különbs k nbségeket 10

23 Az EER adatmodell Az ER modell kibővítése a specializáci ció és a tartalmazás Kapcsolat elemekkel. Jele: EER ember járm rmű Asszociácó autó IS_A Specializáci ció Tartalmazás HAS_A motor A tartalmi különbs k nbség megmutatkozik a formában is Az IFO szemantikai modell Újfajta fogalom orientált szemantikai modell Funkcionális modellek családj djába tartozik A struktúra ra orientálts ltság helyett a hozzárendel rendelésen alapszik Egyenrangú objektumokat tartalmaz Gazdag struktúra ra és kapcsolat készletk Elemei objektumok elemi obejktum absztrakt objektum származtatott objektum asszociáci ció A c B 11

24 Az IFO szemantikai modell Elemei struktúrák aggregáci ció csoportképz pzés specializáci ció A B A által ltalános nosítás X Y Az IFO szemantikai modell Mintapélda: utazási iroda utak turisták nyelvismeret időpont idegenvezető lakcím alkalmazottak 12

25 Az IFO szemantikai modell Mintapélda: utazási iroda személy Út,hsz varos alkalmazott név túrista id út kategória nyelv szint résztvevõ idegenvezetõ 13

26 Adatbázis rendszerek I Hálós adatmodell ME- GEIAL Dr. Kovács LászlL szló Fizikai adatmodellek Az igények és lehetőségek kompromisszuma A modellek változnak v a koncepciók és a technológia fejlődésével Megközel zelítőleg leg 10 évenk venként nt új adatmodell jelent meg 1

27 Hálós adatmodell Időszak: 1960-as évek közepek Fizikai keretfeltételek: telek: - diszklemezes tárolt rolás - osztott memória - multiprocesszoros OS Kialakulása: : MIACS (Bachman( Bachman, GE) : Honeywell (IDS) : CODASYL Előnyei: - hatékonys konyság - funkcionalitás - API felület let Hátr trányai: - alacsony szintű kezelés - procedurális kezelő felület let - rugalmatlan struktúra ra Hálós adatmodell Adatmodell elemei mező rekord rekord rekordkészlet PCR mező PCR SET adatbázis SET adatbázis 2

28 Hálós adatmodell Adatkezelő felület let Adatbázis tartalom kezelése gazdanyelvi programból törtt rténik - Adatkezelő és lekérdez rdező nyelv (DML,DQL) - Gazdanyelvbe ágyazott, rekordorientált kezelő felület let - DB rekordstruktúrával azonos felépítésű kapcsolati változv ltozók x ids_x1 vauto auto y z ids_x2 alkalmazás osztott memória DBMS DB A hálós modell elemei MEZŐ : leíró tulajdonság tárolt rolására ra szolgál a legkisebb névvel n azonosított tárolt rolási egység elnevezés, típus t jellemzi lehet összetett is - vektor: többt bbért rtékű struktúra ra - csoport: összetett egy vagy többt bbért rtékű struktúra ra lehet normál vagy kulcs könyv ISBN C(11) szerző C(50) * dátum D kiadás * ár N 3

29 A hálós modell elemei REKORD : egységk gként tárolt t mezők együttese Az ER egyed fogalmához hasonló egység szerkezet (séma) jellemzi rögz gzített mezősorrend REKORDKÉSZLET : az egy sémához s tartozó rekord-el előfordul fordulások együttese könyv Rekordkészlet ISBN szerző IS12 Nagy B rekordséma rekord-el előfordul fordulás A hálós modell elemei PCR kapcsolat : két k rekord közötti k 1:N kapcsolat egy szülő és egy gyerek rekord alkotja, nincs azonosító neve a szülő rekord minden előfordul fordulásához több t gyerek Rekord-el előfordul fordulás tartozhat egy gyerek előfordul forduláshoz egy szülő rekord-el előfordul fordulás tartozik szülő rekord ember ország gyerek rekord autó város 4

30 A hálós modell elemei SET: kapcsolatelem, azonos rekordból kiinduló PCR-ek együttese egyszintű fa struktúra ra A set-nek van azonosító neve a gyökér rekordtípus lesz a set tulajdonosa a gyermek rekordtípusok a set tagjai egy rekordtípus több t SET-ben is szerepelhet (CODASYL) Speciális SET-ek ek: szinguláris SET, rekurzív SET szülő... gyerek1 gyerek2 setnév könyvt nyvtár könyv olvasó Könyvt nyvtár CODASYL szabályok A háló h adatmodell formai leírása (1971) az adatbázis tetszőleges számú set-típust tartalmazhat minden setnek van neve és egy tulajdonosa minden setben van egy vagy több t tag rekordtípus minden sethez tartozik egy tagrekord tárolt rolási sorrend bármely egyedtípus megadható egy vagy több t set tagjaként bármely egyedtípus csak egy setben lehet tulajdonos egy tulajdonos rekord előfordul fordulás létrehoz l egy set előfordul fordulást egy setben egy rekordtípus bármely b előfordul fordulása maximum csak egyszer szerepelhet, s nem többsz t bbször egy set előfordul fordulásban a tagrekordnak tetszőleges sok előfordul fordulása szerepelhet kiadó könyvt nyvtár Honvéd K. könyv olvasó Abigél Tanoda SET-séma SET-péld ldány 5

31 A hálós modell tervezése ER modell konvertálása hálós h modellre egyed rekordtípus elemi tulajdonság mező kulcs tulajdonság kulcs mező étel nyersanyag száll llító nev cim recept név étel rendelés dátum mennyiség mennyiség benne név ear nyersanyag szállít szállító összár azonosító készlet cím A hálós modell tervezése ER modell konvertálása hálós h modellre több bbért rtékű tulajdonság vektor mező összetett tulajdonság csoport mező név étel Rendelés* dátum menny. recept név étel rendelés dátum mennyiség mennyiség benne név ear nyersanyag szállít szállító összár azonosító készlet cím 6

32 A hálós modell tervezése ER modell konvertálása hálós h modellre 1:1 kapcsolat PCR 1:N kapcsolat PCR száll llító nyersanyag recept név étel rendelés dátum mennyiség mennyiség benne név ear nyersanyag szállít szállító összár azonosító készlet cím A hálós modell tervezése ER modell konvertálása hálós h modellre N:M kapcsolat kapcsoló rekord + 2*PCR étel étel nyersanyag nyersanyag belevalók recept név étel rendelés dátum mennyiség mennyiség benne név ear nyersanyag szállít szállító összár azonosító készlet cím 7

33 A hálós modell előfordul fordulás-kezel kezelése Fizikai tárol t rolási struktúra ra séma előfordul fordulások logikai szinten előfordul fordulások fizikai szinten id ember név 1 Peti 1 Peti 3 Tomi autó rsz tipus 3 Tomi r4 Opel 2 Laci r1 Audi r3 Opel 2 Laci r4 Opel r1 Audi r3 Opel A hálós modell előfordul fordulás-kezel kezelése Fizikai tárol t rolási struktúra ra A PCR, SET pointer láncokkal l kerül nyilvántart ntartásra Kiado SET kiadó könyvt nyvtár Könyvt nyvtár SET logikai szint könyv olvasó ki1 kö1 kö2 ki2 kt1 ol1 kt2 ol2 ol3 fizikai szint kö3 kö4 kö5 8

34 A hálós h modell műveleteim Az adatkezelés navigáci ciós műveleteken m alapszik ki1 kö1 kö2 ki2 kt1 ol1 kt2 ol2 ol3 kö3 kö4 kö5 adatbázis ki1 kö3 ol1 kt1 osztott memória Adattartalom az osztott memóri rián keresztül érhet rhető el Minden rekordtípushoz saját memória ria-változ ltozó (MV) Az aktuális rekord-el előfordul fordulás (AR) érhet rhető el az MV-ben A navigáci ció a pointerlánc nc mentén n törtt rténik, új AR lesz A hálós h modell műveleteim Az adatkezelés navigáci ciós műveleteim Mozgás a szingurális SET mentén első előfordul fordulás: p 1 feltétel tel (rekord) felt tel következ vetkező elem: p n feltétel tel (rekord) felt tel Mozgás a szülőhöz szülő kiválaszt lasztása: sa: o (set set,rekord) Mozgás a tagokhoz első elem: m 1 feltétel tel (set set,rekord) felt tel Következ vetkező elem: m n feltétel tel (set set,rekord) felt tel 1 Peti 3 Tomi 2 Laci r4 Opel r1 Audi r3 Opel 9

35 A hálós h modell műveleteim Az adatkezelés navigáci ciós műveleteim Feladat: Az Opel nevű autó tulajdonosainak nevei 1 Peti P 1 tipus= Opel Opel (auto auto) while (status==ok) { o(ember_set set, auto) print nev nev= + v_ember p n tipus= Opel Opel (auto auto) } 3 Tomi 2 Laci r4 Opel r1 Audi r3 Opel 10

36 Adatbázis rendszerek I Reláci ciós adatmodell struktur trukturális és integritási rész ME- GEIAL Dr. Kovács LászlL szló Reláci ciós modell kialakulása hardver technológia robbanásszer sszerű fejlődése Moore-megfigyel megfigyelése se: évente duplázódik dik a teljesítm tmény - ma már két év a periódus - még kb. 15 évig érvényes 1

37 Reláci ciós modell kialakulása Az új adatmodell kialakításának háttere: h PC, minigépek elterjedése igény a kis erőforr forrás melletti megoldásokra igény a rugalmasabb megvalósításra sra igény az egyszerűbb kezelésre számítógépek elterjedése 1970: pár tízezer 1978: pár százezer 1981: ötmillió 1985: harmincötmillió 1989: százmillió 1996: háromszázmillió 2004: egy milliárd 2007: kétmilliárd E.F. Codd ( ) 1970: A Relational Model of Data for Large Shared Data Banks 2

38 Reláci ciós modell kialakulása Reláci ciós modell időrendi fejlődése 1970 Codd javaslata(ibm) System-R Oracle Ingres Informix DB2 RDB Sybase SQLServer Postgres mysql dbase Clipper E-SQL ODBC VFP Sequel SQL86 SQL89 SQL Oracle DB2 SQLServer mysql ADO JDBC SQL1999 SQL2003 Reláci ciós adatmodell Az adatmodell elemei mező rekord rekord séma s mező rekord-halmaz (reláció) adatbázis adatbázis egyszerű szerkezet 3

39 Reláci ciós adatmodell Az adatmodell elemei séma rekord előfordulások logikailag Rekord előfordulások fizikai szintje Dolgozó kód név beosztás 1 2 Zoli Anna főnök titkár 1 Zoli 3 Feri Auto 3 Feri portás 2 Anna rsz tulaj tipus r1 1 Fiat r2 Opel r2 3 Opel r1 Fiat r3 1 Fiat r3 Fiat A reláci ciós modell elemei mező : a leíró tulajdonság tárolt rolására ra szolgál a legkisebb névvel n azonosított tárolt rolási egység elnevezés, típus t jellemzi csak elemi ért rtékű lehet Lehet normál vagy kulcs mező REKORD : egységk gként tárolt t mezők együttese Az ER egyed fogalmához hasonló egység könyv szerző C(50) kod N ár N 4

40 A reláci ciós modell elemei RELÁCI CIÓ : az azonos típust pusú rekord-el előfordul fordulások halmaza elnevezés, típus t jellemzi nincs sorrendiség a rekordok közöttk nincs rekordpozíci ció nem lehet ismétl tlődés a rekordok közöttk rendszerint tábl t blázattal ábr brázoljuk (de ez már m több t mint halmaz) Nyersanyag 1233 Alma V Dió I Mogyi 97.II Bab X.2 A reláci ciós modell elemei A kapcsolat nyilvántart ntartás jellege nincs struktúrába épített kapcsolat asszociatív, ért rtékalap kalapú kapcsolatteremtés az kapcsolat két k mező ért rtékegyez kegyezőségén alapszik: - kulcs mező - idegen kulcs séma péld ldány A key Nyersanyag kod nev aru Rendelés ID datum 1253 Dió I.8 B f_key 4433 Mogyi

41 A reláci ciós modell elemei A kapcsolat nyilvántart ntartás jellege Idegen kulcs: ért rtéke megegyezik egy (másik) tábla t valamely rekordjának kulcsért rtékével Kijelöl ért rtéken keresztül egy rekord előfordul fordulást Az idegen kulcs csak arra az oldalra kerülhet, melyhez maximum egy előfordul fordulás kapcsolódik a másik m oldalon Idegen kulcs mutathat a saját táblt blájára is Dolgozok főnök ID nev Gabor Antal A reláci ciós modell tervezése ER modell konvertálása reláci ciós modellre egyed rekordtípus elemi tulajdonság mező kulcs tulajdonság kulcs mező étel nyersanyag száll llító nev cim recept név étel rendelés dátum mennyiség mennyiség benne név ear nyersanyag szállít szállító összár azonosító készlet cím 6

42 A reláci ciós modell tervezése ER modell konvertálása reláci ciós modellre 1:1 kapcsolat idegen kulcs 1:N kapcsolat idegen kulcs száll llító nev cim nyersanyag azonosito ear szallito recept név étel rendelés dátum mennyiség mennyiség benne név ear nyersanyag szállít szállító összár azonosító készlet cím A reláci ciós modell tervezése ER modell konvertálása reláci ciós modellre N:M kapcsolat kapcsoló rekord + 2*idegen kulcs etel nev recept nyersanyag azonosito ear szallito belevalo etel alapanyag darab recept név étel rendelés dátum mennyiség mennyiség benne név ear nyersanyag szállít szállító összár azonosító készlet cím 7

43 A reláci ciós modell tervezése ER modell konvertálása reláci ciós modellre több bbért rtékű tulajdonság új reláci ció összetett tulajdonság tagmezők etel nev recept Rendelés etel dátum menny. recept név étel rendelés dátum mennyiség mennyiség benne név ear nyersanyag szállít szállító összár azonosító készlet cím Reláci ciós adatmodell megszorítások sok Hibás adatok használhatatlann lhatatlanná teszik az adatbázist Adatbázis tartalom ellenőrz rzésére re integritási feltételek, telek, megszorítások sok hozhatók létrel Típusai: - Statikus : a felvehető adatért rtékek körét k korlátozza - Dinamikus : az elvégezhet gezhető műveletek körét k korlátozza A nem megfelelő műveletek, ért rtékek visszautasításra sra kerülnek Nyersanyag Rendelés kod nev aru ID datum 1253 Dió I Mogyi

44 Megszorítási si elemek Hatásk skör szerinti csoportosítás domain szintű CHECK feltétel tel ért rtékellen kellenőrz rzés mező szintű CHECK feltétel tel NOT NULL ért rtékellen kellenőrz rzés nem maradhat üres rekord szintű CHECK feltétel tel ért rtékellen kellenőrz rzés reláci ció szintű PRIMARY KEY UNIQUE kulcs egyediség adatbázis szintű FOREIGN KEY idegen kulcs ASSERTION feltétel tel összetett ért rték ellenőrz rzés A reláci ciós modell elemei A séma s szöveges megadása reláci ciónév (mezőnév adattípus integritási felt.,..) C(n) : szöveges N(n,m) : numerikus D : dátum d Integer Float Double Logical DateTime Time Intervall CLOB BLOB PK: kulcs REF reláci ció : idegen kulcs NN : nem üres UN : egyedi C feltétel tel : ért rtékellen kellenőrz rzés RESZLEG(kod C(4) PK, nev C(15) NN, letszam N(3) C letszam > 5) DOLGOZO(kod N(3) PK, nev C(25) NN, csoport N(4) REF reszleg) 9

45 A reláci ciós modell elemei A reláci ció formális felírása Reláci ció értelmez rtelmezései lista halmaz Descartes szorzat függv ggvények halmaza U: attribútumok tumok halmaza, A U : attribútum tum dom(a) : az A attribútum tum ért rtékeinek halmaza, domain R U : reláci ció séma r(r) : reláci ció az R sémáhozs t r(r) : egy rekord t dom(a 1 ) dom(a 2 ) dom(a ) : A n i R r(r) dom(a 1 ) dom(a 2 ) dom(a n ) A reláci ciós modell elemei A reláci ció formális felírása Reláci ció értelmez rtelmezései lista halmaz Descartes szorzat függv ggvények halmaza t : R dom(a i R ) : A : t(a i i ) dom(a i ) r(r) = {t { t : R dom(a i R ) : A : t(a i i ) dom(a )} i r(r) = {r r (R) b B: b(r (r) = 1 } bk(r(r)) = 1, ha K R t1,t2 t1,t2 r(r): t1 t2 t2 t1(k) t2(k) = 0 különben k 10

46 A reláci ciós modell elemei Speciális elemek gyenge egyed konverziója GYEREK(nev C(25), kor N(4), szulo REF DOLG, PK(nev, szulo)) kötelez telező kapcsolat konverziója BEFIZETES(kod N(25) PK, utas N(4) REF UTAS NN, datum D) kapcsolatok tulajdonságainak konverziója SZEREPEL(darab REF DARAB,szinesz REF SZINESZ, szerep C(25)) N-es kapcsolat konverziója SZALLIT(aru REF ARU, vevo REF VEVO, szallito REF SZALLITO) 11

47 Adatbázis rendszerek I Reláci ciós adatmodell műveleti rész (reláci ciós algebra) ME- GEIAL Dr. Kovács LászlL szló Reláci ciós adatmodell strukturális részr tárol rolási struktúra ra séma R(m1,m2, ) adatmodell integritási részr ért rték korlátoz tozás PK, REF, NN, C, UN műveleti részr igényelt adatelem kinyerése reláci ciós algebra művelet orientált reláci ciós kalkulus tulajdonság orientált 1

48 Reláci ciós algebra A reláci ciós algebra alaptulajdonságai Nyersanyag kod nev ar lejarat Zárt a reláci ciók halmazára Dió Mogyi Bab I.8 97.II X.2 Reláci ciókat reláci cióba képezk A műveletek m láncolhatl ncolhatók Eredmény kod nev 1253 Dió Imperatív szemlélet letű A reláci ciók egyes részeit r emeli ki Egy vagy kétoperandus toperandusú operátorai vannak 4433 Mogyi Az SQL nyelv alapját képezik Reláci ciós algebra A reláci ciós algebrai műveletek m áttekint ttekintése egy operandusú két operandusú { { szelekció projekció kiterjesztés aggregáci ció csoportképz pzés join metszet unió osztás különbs nbség 2

49 Reláci ciós algebra A szelekció művelete Szelekció: a megadott feltételnek telnek eleget tévőt rekordok kerülnek át az eredmény reláci cióba jele: σ felt (r) σ X ΘY (r) = { t r t(x) Θ t(y)} AUTÓ rsz tipus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda kék r9 Suzuki piros rsz tipus szín r2 Opel kék r4 Skoda kék r6 Mazda piros szelekció σ feltétel: szin= kék szín = 'piros' OR tipus= Mazda VAGY Mazda tipus = 'Mazda' Reláci ciós algebra A projekció művelete Projekció: a kijelölt lt mezők kerülnek csak át az eredmény reláci cióba jele: Π mlista (r) Π X (r) = {t(x) r t r} AUTÓ rsz tipus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda kék r9 Suzuki piros projekció Π kijelölt tipus, mezõk rsz = tipus, rsz rsz (AUTO) tipus Fiat Opel Mazda Skoda Suzuki szín zöld kék piros kék piros 3

50 Reláci ciós algebra A műveletek m kombinálása Az eredmény reláció bemenete lehet egy újabb műveletnek AUTÓ rsz tipus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda kék r9 Suzuki piros szelekció feltétel: szín='piros' VAGY szín='kék' projekció kijelölt mezõk = rsz rsz r2 r6 r4 r9 Π rsz (σ szin= kék OR szin= piros piros (AUTO) ) Reláci ciós algebra A join művelet Alap Join: két k reláci ció rekordjainak párosaip jele: r 1 >< r 2 Descartes-szorzat szorzat r >< r 1 2 = {(t,s) t r 1, s r 2 } AUTÓ rsz tulaj r1 3 r4 1 r6 4 EMBER id név Laci Ágota János Zoltán összekapcsolás AUTO >< EMBER rsz tulaj id név r1 3 1 Laci r4 1 1 Laci r6 4 1 Laci r1 3 2 Ágota r4 1 2 Ágota r6 4 2 Ágota r1 3 3 János r4 1 3 János r6 4 3 János r1 3 4 Zoltán r4 1 4 Zoltán r6 4 4 Zoltán 4

51 Reláci ciós algebra A join művelet Szelekciós Join: a két k reláci ció rekordpárosaib rosaiból a feltételnek telnek eleget tévő t párosokat adja eredményk nyként nt r 1 >< >< felt jele: r 1 >< felt r 2 felt r 2 = σ felt (r 1 >< r 2 ) felt Natural Join: olyan szelekciós join, mely az azonos elnevezésű mezők ért rtékegyez kegyezőségén alapszik jele: r 1 >< = r 2 r >< 1 = r 2 = Π (R1 U R2) R1 U R2) (σ r1.x = r2.x (r (r >< r 1 2 )) Reláci ciós algebra A join művelet Outer Join: olyan szelekciós join, melyben az illeszkedő pár nélk lküli li rekodok is bekerülnek az eredmény halmazba (üres étékekkel kiegész szítve) tipusai: - left outer join - right outer join - full outer join jele: r 1 +>< felt r 2 jele: r 1 ><+ felt r 2 jele: r 1 +><+ felt r 2 Az üres ért rték szimbóluma: NULL 5

52 Reláci ciós algebra A join művelet Righr outer join végrehajt grehajtása Könyv kod cim 32 c1 46 c2 Kiadó ID nev 1253 K K K3 kiadó Könyv ><+ kiado=id Kiadó kod cim kiadó ID nev 32 c K1 46 c K3 NULL NULL NULL 4433 K2 Reláci ciós algebra A join művelet Semi Join: olyan szelekciós join, melyben az illeszkedő párokb rokból csak a megadott oldal mezői szerepelnek jele: r 1 >< felt r 2 r 1 >< felt r 2 = Π R2 (r >< 1 felt r 2 ) felt R2 tipusai: - left semi join - right semi join felt Az illeszkedő párral rendelkező rekordokat adja vissza 6

53 Reláci ciós algebra A kiterjesztés művelet Kiterjesztés: s: a reláci ció kibővítése származtatott mezőkkel jele: ε mlista (r) Az mező ért rtékének a többi t mező ért rtékéből kell meghatároz rozódnia AUTÓ rsz tipus ár kiterjesztés rsz tipus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 új mezõ: ár/100 r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 ε ar/100 /100 (AUTO) r4 Skoda 1500 r9 Suzuki 1400 ár/ Reláci ciós algebra A halmaz műveletek m Unió: azonos sémájús reláci ciók rekordhalmazának egyesítése se jele: r 1 r 2 Metszet: azonos sémájú s reláci ciók rekordhalmazának metszete jele: r 1 r 2 Különbs nbség: azonos sémájús reláci ciók rekordhalmazának különbsk nbsége FIÚK id VERSENYZÕK id Laci név Erika Tibor Zoltán Éva név Tibor János jele: r 1 \ r 2 különbség Zoltán id név FIUK \ VERSENYZOK 1 3 Laci János 7

54 Reláci ciós algebra Az osztás s műveletem Osztás: s: a Descartes szorzat inverze, azon legnagyobb reláci ció, melynek Descartes szorzata r2-vel benne van r1-ben jele: r 1 r 2 HOBBY hobby név foci Laci tenisz Tibor foci János futás Zoltán futás Laci foci Zoltán tenisz Gábor SPORTÁG hobby foci futás HOBBY SPORTAG osztás név Laci Zoltán Reláci ciós algebra Az osztás s műveletem Osztás s levezetése az alapműveletekb veletekből: l: r 1 r 2 = {t t Π R1 R1\R2 R2 (r (r 1 ), t >< r 2 r 1 } a minden minden kvantorhoz kapcsolódik a jelentése Az eredmény levezetése: Jelöltek: ltek: Π R1 r 1 r 2 = Π R1 (r 1 ) R1\R2 R2 (r A jó j jelöltek ltek szorzata benne van r1-ben: Π R1 A rossz jelöltek: ltek: Π R1\R2 R2 ( (Π ( R1 R1\R2 R2 (r R1 R2 (r 1 ) \ Π R1\R2 R2 ( (Π ( R1 R1 R2 R1\R2 R2 (r (r 1 ) >< r 2 )\r 1 R1\R2 R2 (r R1\R2 R2 (r (r 1 ) >< r 2 )\r1) (r 1 ) >< r 2 8

55 jele: Γ aggregációs-lista (r) aggregáci ciós függv ggvények: SUM(mez.kif mez.kif) AVG(mez.kif mez.kif) COUNT(mez.kif mez.kif) MAX(mez.kif mez.kif) MIN(mez.kif mez.kif) AUTÓ rsz tipus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 r7 Opel 2570 r11 Fiat 850 r8 Opel 1000 Reláci ciós algebra Az aggregáci ció művelete Aggregáci ció: a reláci cióból összes sszesítő rekordot áll llít elő csoportképzés kifejezés: Count() 8 kiírandó: COUNT() Γ count(*) (*) (AUTO) Reláci ciós algebra A csoportképz pzéses aggregáci ció művelete Csoportképz pzés és aggregáci ció: a reláci ció rekodjait csoportokba rendezi, s minden csoportra egy összes sszesítő rekordot áll llít elő jele: Γ csoport képzési kifejezés aggregációs-lista (r) Azon rekordok kerülnek egy csoportba, melyekre a csoport képz pzési kifejezés azonos ért rtékű AUTÓ rsz tipus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 r7 Opel 2570 r11 Fiat 850 r8 Opel 1000 csoportképzés kifejezés: tipus tipus Fiat AVG(ár) 1025 Opel 1500 kiírandó: tipus, AVG(ár) Mazda 870 Skoda 1500 Suzuki 1400 Γ tipus, count(*) tipos (*) (AUTO) 9

56 Reláci ciós algebra Speciális szelekciós s operátorok Halmaz és logikai operátorok is élnek: : tartalmaz : nem tartalmaz : minden kvantor : létezik l kvantor Al-szelekci szelekciók: A szelekciós s feltételben telben is szerepelhet reláci ciós algebrai kifejezés Γ count(*) (σ fiz> (Γ avg(fiz) (DOLG)) (DOLG)) Reláci ciós algebra Kifejezés felépítésének lépéseil 1. Mely reláci ciókb kból emelhetők ki az igényel informáci ciók? 2. Milyen az illesztési si feltétel tel a join esetén? 3. Milyen szűkítések sek vannak az alapreláci ciókon? 4. Szüks kség van-e al-szelekci szelekciókra kra? 5. Szüks kség van-e csoportképz pzésre és ha igen, mi alapján? 6. Milyen aggregáci ciós kifejezést kell szerepeltetni? 7. Milyen mezők szerepeljenek az eredmény reláci cióban? 10

57 Reláci ciós algebra Mintapélda Séma: BOROK(kod kod, nev, gyarto, fajta, ar) VEVO(vkod vkod, nev, cim) RENDELES(vevo vevo, bor, mennyiseg,datum datum) 1. Az 5000-nél drágább borok nevei Π mev (σ ar>5000 (BOROK)) 2. A vevők neve és rendelésének nek összmennyis sszmennyisége Γ nev nev, sum(mennyiseg) (RENDELES >< rendeles.vevo = vevo.vkod VEVO) Reláci ciós algebra Mintapélda 1. azon vevők, akik rendeltek Bikavért Π nev (σ borok.kod = rendeles.bor AND rendeles.vevo = vevo.vkod AND borok.fajta = Bikaver (BOROK >< RENDELES >< VEVO)) 2. Melyik gyárt rtó termel 5-nél 5 több t vörös v bort Π gyarto (σ count(*)>5 (Γ gyarto gyarto,count(*) (σ fajta= voros (BOROK)))) 3. Az átlagn tlagnál l drágább borok darabszáma Γ count(*) (σ ar> (Γ avg(ar) (BOROK)) (BOROK)) 11

58 Adatbázis rendszerek I Az SQL nyelv alapjai ME- GEIAL Dr. Kovács LászlL szló SQL nyelv kialkulása Procedurális nyelv: költsk ltséges fejleszteni, módosm dosítani 1974 : System/R (IBM) Új parancsnyelv kidolgozása meglévő rekord orientált FIND KIADO FIRST FOR C= H DO WHILE STATUS_OK IF L> 100 SET l = l 10 STORE KIADO ENDIF FIND KIADO NEXT ENDDDO? igények: reláci ciós algebrán alapuljon egyszerűség hatékony implementáci ció 1

59 SQL nyelv kialakulása 1975: SEQUEL Structured English Query Language magas szintű műveletek egymásba ágyazhat gyazható műveletek természetes nyelvhez közelk zelít imperatív nyelv FIND KIADO FIRST FOR C= H DO WHILE STATUS_OK IF L> 100 SET l = l 10 STORE KIADO ENDIF FIND KIADO NEXT ENDDDO nem programozási nyelv bővíthet thető nyelv reláci ciós modellen alapszik szabvány UPDATE KIADO SET L = L-10 WHERE C = H A KIADO táblában legyen L = L-10, ahol C = H SQL nyelv kialakulása Több bb-résztvev sztvevős s folyamat a fejlődése termékek szabványok 1986: ANSI SQL SQL 1987: ISO SQL 1989: ANSI : SQL : SQL : SQL2003 igények Reláci ciós, aktív elemek, OO, OLAP, : SEQUEL 1977: SEQUEL/2 (SQL) 1979: system/38 SQL 1979: Oracle SQL 1983: DB2 SQL Ingres Oracle IBM DB2 Sybase Informix MS SQLServer PostgresSQL mysql Access 2

60 SQL nyelv elemei adatdefiniáló (DDL) struktúra ra létrehozl trehozás (CREATE) struktúra ra módosm dosítás s (ALTER) struktúra ra megszüntet ntetés (DROP) adatkezelő (DML) adat felvitel (INSERT) adat módos m dosítás s (UPDATE) adat törl t rlés (DELETE) lekérdez rdező (DQL) adat kiolvasása sa (SELECT) vezérl rlő (DCL) védelem, tranzakciók DDL: A tábl t blák, objektumok struktúrájának kezelésére szolgál Igényelt információk: DDL utasítások sok Milyen szerkezete legyen? Minek nevezzük el? Milyen megkötéseket tegyünk? Hozz létre egy KÖNYV nevű táblát, melynek van egy cím nevű 20 hosszú szöveges, és egy ár nevű numerikus mezője! CREATE TABLE KÖNYV K (cím CHAR(20), ár INTEGER); létrehozás: tábla megszüntetés: szerkezet módosítás: CREATE TABLE név paraméterek; DROP TABLE név; ALTER TABLE név paraméterek; 3

61 DDL utasítások sok Objektum létrehoz l trehozása: CREATE objektumtípus azonosító paraméterek; Tábla létrehozl trehozása: CREATE TABLE tnév (mnev1 tipus1 intfelt1,,intfelt intfelt) ; CHAR(n) NUMBER(n,m) DATE PRIMARY KEY NOT NULL UNIQUE CHECK felt REFERENCING tabla PRIMARY KEY(m1,m2) FOREIGN KEY(m1,m2) REFERENCING tabla CHECK felt CREATE TABLE AUTO (RSZ CHAR(6) PRIMARY KEY, AR NUMBER(9) NOT NULL, IDO DATE); DDL utasítások sok Objektum megszüntet ntetése: DROP objektumtípus azonosító; Tábla megszüntet ntetése: DROP TABLE tnév; Objektum szerkezet módos m dosítás: s: ALTER objektumtípus azonosító paraméterek; Tábla szerkezet módosm dosítás: s: ALTER TABLE tnév ADD MODIFY (mnev( tip intfelt); DROP TABLE AUTO; ALTER TABLE AUTO ADD (TULAJ REFERENCING EMBER); A műveletek m nem tranzakció hatásk skörben futnak le! 4

62 DDL utasítások sok Tábla átnevez tnevezése: ALTER TABLE nev1 RENAME TO nev2; Mező hozzáad adása: ALTER TABLE nev1 ADD (mnev ( szerkezet); Mező módos dosítása: sa: ALTER TABLE nev1 MODIFY (mnev ( szerkezet); Mező megszüntet ntetése: ALTER TABLE nev1 DROP COLUMN mnev; Mező átnevez tnevezése: ALTER TABLE nev1 RENAME COLUMN mnev1 TO mnev2; DML utasítások sok DDL: A tábl t blák, objektumok tartalmának kezelésére szolgál Igényelt információk: Mely objektumot módos m dosítjuk? Mely adatelem módosul? m Mi lesz az új ért rték? Hozz létre egy új KÖNYV rekordot, melynek van a címe Lepkefogó és az ára 2340 Ft. INSERT INTO KÖNYV K ( Lepkefog( Lepkefogó ó, 2340); rekord felvitele: INSERT INTO név n (ért( rtékek); rekord törl t rlése: DELETE FROM név n WHERE feltétel; tel; rekordért rték módosm dosítása: sa: UPDATE név n SET ért rtékad kadás WHERE feltétel tel ; 5

63 DML utasítások sok Rekord felvitele: INSERT INTO tabla VALUES (ert1, ert2,,ertn ertn); INSERT INTO tabla (mezo1,..) VALUES (ert1,..); INSERT INTO tabla VALUES (mezo( mezo=ertek ertek, ); INSERT INTO tabla SELECT ; Fontos a mezősorrend Minden szüks kséges mező kapjon ért rtéket INSERT INTO AUTO VALUES ( bju564,234, FIAT ); INSERT INTO AUTO (rsz, tipus) VALUES ( bju564, FIAT ); INSERT INTO AUTO VALUES (RSZ= bju564,...); A műveletek m tranzakció hatásk skörben futnak le! DML utasítások sok Rekord törl t rlése: DELETE FROM tabla WHERE feltétel; tel; A feltételnek telnek eleget tevő rekordok törlt rlődnek Ha elmarad a WHERE tag, minden rekord törl t rlődik A feltétel tel rész r részletesen r a SELECT-nél jön DELETE FROM AUTO; DELETE FROM AUTO WHERE AR< ; DELETE FROM AUTO WHERE (SELECT ) ; A műveletek m tranzakció hatásk skörben futnak le! 6

64 DML utasítások sok Rekord módos m dosítása: sa: UPDATE tabla SET mezo= ért rték,... WHERE feltétel; tel; A feltételnek telnek eleget tevő rekordok módosulnakm Ha elmarad a WHERE tag, minden rekord módosul m UPDATE DOLGOZO SET KOR = KOR + 1, FIZ = 10000; UPDATE AUTO SET AR = AR * 1.2 WHERE AR< ; A műveletek m tranzakció hatásk skörben futnak le! DML utasítások sok Speciális ért rtékek kezelése Üres, nem ismert ért rték jelölése: NULL A DEFAULT ért rték kerül letárol rolásra INSERT INTO AUTO VALUES(12, ALMA, NULL,..); A jel: azonosítónév határol rolása A jel: szövegkonstans határol rolása INSERT INTO AUTO( SZUL. HELY,..) VALUES( OZD,..); Dátumok felvitele konverziós függvf ggvénnyel törtt rténik INSERT INTO AUTO(DATUM,..) VALUES( TO_DATE( , YYYY.MM.DD ), ); 7

65 DQL utasítások sok DQL: A tábl t blák, objektumok tartalmának lekérdez rdezése Igényelt információk: Mely táblákból vesszük az adatokat? Mely rekordokat vegyük figyelembe? Milyen számításokat végezzünk? SELECT cim FROM könyvek k WHERE ár > 3300; SELECT * FROM könyvek k INNER JOIN kiadok ON kod = pub; rekordok lekérdezése: SELECT mezőlista FROM táblalista DQL utasítások sok A lekérdez rdezés alapjai SELECT m_kif1, FROM t_kif WHERE feltétel tel GROUP BY cskif HAVING feltétel tel UNION INTERSECT MINUS SELECT ORDER BY rkif; projekció, kiterjesztés aggregáció join szelekció csoportképzés csoport szelekció halmazműveletek rendezés A reláci ciós algebrán alapszik Tartalmaz nem reláci ciós elemeket is (pl. ORDER BY) Álland llandóan bővül, b az SQL központi k eleme 8

66 A projekció megadása DQL utasítások sok Π mlista (t (tábla) SELECT mlista FROM tábla; t Az mlista helyén * áll, ha minden mező kell AUTÓ rsz tipus szín r1 Fiat zöld r2 Opel kék r6 Mazda piros r4 Skoda kék r9 Suzuki piros projekció kijelölt mezõk = tipus, rsz tipus Fiat Opel Mazda Skoda Suzuki szín zöld kék piros kék piros SELECT RSZ, TIPUS FROM AUTO; SELECT * FROM AUTO; A szelekció megadása DQL utasítások sok σ feltétel tel (t (tábla) SELECT mlsita FROM tábla t WHERE feltétel; tel; SELECT * FROM AUTO WHERE SZIN = PIROS OR TIPUS = MAZDA ; 9

67 A kiterjesztés s megadása DQL utasítások sok ε kif nev (t (tábla) SELECT kif név,... FROM tábla; t Az előáll llító kifejezés A mezőkh khöz új nevet is rendelhetünk nk SELECT SAL FIZETES, AGE KOR FROM EMP; SELECT AR/100 UJAR FROM AUTO; SQL felületek letek Mily módon m adhatók át a DBMS-nek az SQL utasítások? sok? Hogyan érhet rhetők el az eredményt nytábla adatai? parancsértelmező DB segédprogram ESQL DBMS CLI / ODBC alkalmazói program JDBC / ADO 4GL 10

68 Oracle SQLPlus Gyakorlati eszköz: z: Oracle RDBMS Felület: let: interaktív SQL: sqlplus (Sun gépek, 105-ös lab.) WEB-es SQL felület: let: ISqlplus regisztáci ció: ://www www-db.iit.uni db.iit.uni-miskolc.hu miskolc.hu/dbreg dbreg/ sqlplus: sun> export ORACLE_HOME=/opt/OraHome1 sun> export PATH=${PATH}:${ORACLE_HOME}/bin sun> sqlplus isqlplus: ://arrakis.iit.uni arrakis.iit.uni-miskolc.hu miskolc.hu:5560/ :5560/isqlplus 11

69 Adatbázis rendszerek I Az SQL nyelv további elemei ME- GEIAL Dr. Kovács LászlL szló SQL nyelv elemei adatdefiniáló (DDL) struktúra ra létrehozl trehozás (CREATE) struktúra ra módosm dosítás s (ALTER) struktúra ra megszüntet ntetés (DROP) adatkezelő (DML) adat felvitel (INSERT) adat módos m dosítás s (UPDATE) adat törl t rlés (DELETE) lekérdez rdező (DQL) adat kiolvasása sa (SELECT) vezérl rlő (DCL) védelem, tranzakciók 1

70 DQL utasítások sok A lekérdez rdezés alapjai SELECT m_kif1, FROM t_kif WHERE feltétel tel GROUP BY cskif HAVING feltétel tel UNION INTERSECT MINUS SELECT ORDER BY rkif; projekció, kiterjesztés aggregáció join szelekció csoportképzés csoport szelekció halmazműveletek rendezés A reláci ciós algebrán alapszik Tartalmaz nem reláci ciós elemeket is (pl. ORDER BY) Álland llandóan bővül, b az SQL központi k eleme SQL SELECT funkciói Tábl blák összekapcsol sszekapcsolása, sa, Descartes-szorzat szorzat r >< r 1 2 SELECT mlista FROM r1, r2... ; Kettőnél több t tábla t is összekapcsolhat sszekapcsolható Ügyelni kell a méretproblm retproblémákra AUTÓ rsz tulaj r1 3 r4 1 r6 4 EMBER id név 1 Laci 2 Ágota 3 János 4 Zoltán összekapcsolás rsz tulaj id név r1 3 1 Laci r4 1 1 Laci r6 4 1 Laci r1 3 2 Ágota r4 1 2 Ágota r6 4 2 Ágota r1 3 3 János r4 1 3 János r6 4 3 János r1 3 4 Zoltán r4 1 4 Zoltán r6 4 4 Zoltán 2

71 SQL SELECT funkciói Tábl blák összekapcsol sszekapcsolása, sa, szelekciós join r >< 1 >< feltétel tel r 2 SELECT FROM r1 INNER JOIN r2 ON feltétel tel ; Ha több t táblt blában ban is azonos elnevezésű mező van, akkor a kibővitett mezőnevet használjuk: tábla.mez bla.mező A táblan t blanévhez alias nevet rendelhetünk: nk: tábla t alias Tábla szerepkört rt is alias névvel n jelölj ljük Visszavezethető Descartes szorzatra és szelekcióra DOLGOZO (kod ( PK, nev, beosztas,, fonok REF DOLGOZO, fizetes) SELECT f.nev, d.nev FROM dolgozo f INNER JOIN dolgozo d ON f.kod = d.fonok WHERE d.beosztas = rakt raktáros ros Az outer-join megadása SQL SELECT funkciói r 1 +>< >< feltétel tel tel + r 2 SELECT mlista FROM r1 LEFT RIGTH FULL OUTER JOIN r2 ON feltétel tel WHERE felt ; SELECT * FROM AUTO A RIGHT OUTER JOIN EMBER E ON A.TULAJ = E.IGSZ WHERE A.AR > ; T1 T2 T1 +>< >< T1.A = T2.A T2 A B A C A B A C 1 C 3 L 1 C 1 T 2 G 1 T 2 G 3 U 5 P 3 U 3 L extra rekord 3

72 Az aggregáci ció megadása SQL SELECT funkciói Γ aggregáci ciós-lista (r) (r) SELECT aggregáci ciós-lista FROM r; SUM(mez.kif mez.kif) COUNT(mez.kif mez.kif) MIN(mez.kif mez.kif) AVG(mez.kif mez.kif) MAX(mez.kif mez.kif) Aggregált és részletezr szletező kifejezések nem keveredhetnek AUTÓ rsz tipus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 r7 Opel 2570 r11 Fiat 850 r8 Opel 1000 csoportképzés kifejezés: Count() 8 kiírandó: COUNT() SELECT COUNT(*) FROM AUTO; SQL SELECT funkciói Az aggregáci ció és csoportképz pzés megadása Γ csopképkif pkif aggregáci ciós-lista (r) SELECT aggregáci ciós-lista FROM r GROUP BY csopképkif pkif; A csopképkif pkif szerepelhet az eredmény mezőlist listájában AUTÓ rsz tipus ár r1 Fiat 1200 r2 Opel 930 r6 Mazda 870 r4 Skoda 1500 r9 Suzuki 1400 r7 Opel 2570 r11 Fiat 850 r8 Opel 1000 csoportképzés kifejezés: tipus tipus Fiat AVG(ár) 1025 Opel 1500 kiírandó: tipus, AVG(ár) Mazda 870 Skoda 1500 Suzuki 1400 SELECT TIPUS, AVG(AR) FROM AUTO GROUP BY TIPUS; 4

73 SQL SELECT funkciói Szűrés az elkész szült csoportokból σ feltétel tel (Γ agg-lista cskif (r)) SELECT agg-lista FROM tábla t GROUP BY cskif HAVING feltétel; tel; SELECT TIPUS FROM AUTO GROUP BY TIPUS HAVING AVG(AR) > ; A csoportképz pzés előtti és utáni szelekció együttesen is szerepelhet SELECT TIPUS FROM AUTO WHERE SZIN= PIROS PIROS GROUP BY TIPUS HAVING AVG(AR) > ; WHERE HAVING SQL SELECT funkciói Az eredmény rekordok rendezése SELECT mlista FROM tábla t ORDER BY mezo1 mod1, mezo2...; ASC vagy DESC Nem része r a reláci ciós algebrának A második m mező szerinti szempont csak az első egyezősége ge esetén lényegesl SELECT RSZ, TIPUS, AR FROM AUTO ORDER BY AR DESC, TIPUS; Lehet sorszámmal is hivatkozni a mezőkre SELECT RSZ, TIPUS, AR FROM AUTO ORDER BY 3 DESC, 2; 5

74 SQL SELECT funkciói Tábl blák halmaz műveleteim r 1 r, r 2 1 r 2, r 1 \ r 2 SELECT FROM r1 UNION SELECT FROM r2 ; SELECT FROM r1 UNION ALL SELECT FROM r2 ; SELECT FROM r1 INTERSECT SELECT FROM r2 ; SELECT FROM r1 MINUS SELECT FROM r2 ; Csak kompatíbilis szerkezetű tábl blák vonhatók össze A rendezés csak a legvégén szerepelhet egyszer SELECT nev FROM OKTATOK WHERE varos = EGER EGER UNION ALL SELECT nev FROM HALLGATOK WHERE varos = EGER EGER ORDER BY 1; SQL SELECT funkciói Al-SELECT használata A szelekciós s feltételben telben számított ért rték is szerepelhet Γ count(*) (σ ar> (Γ avg(ar) (BOROK)) (BOROK)) A számított ért rtéket az előáll llító SELECT paranccsal adjuk meg SELECT FROM WHERE (SELECT ) GROUP BY HAVING (SELECT ) A SELECT kifejezések többszt bbszörösen sen egymásba ágyazhat gyazhatók SELECT COUNT(*) FROM BOROK WHERE ar > (SELECT AVG(ar ar) FROM BOROK); 6

75 SQL SELECT funkciói Speciális szelekciós s operátorok kif LIKE minta kif IS [NOT] NULL sztring illeszkedése se egy mintára (%,_) üres res-e e a kifejezés kif BETWEEN kif2 AND kif3 köztes ért rték vizsgálat EXISTS (al ( al_select) eredményt nytábla létezl tezése kif IN lista (al( al_select) kif op ALL lista (al( al_select) kif op ANY lista (al( al_select) tartalmazás minden kvantor létez tezés kvantor SELECT d1.kod FROM dolgozok d1 WHERE NOT EXISTS (SELECT d2.kod FROM dolgozok d2 WHERE d1.beosztas = d2.beosztas AND d1.fizetes < d2.fizetes AND d2.telep LIKE Budapest% Budapest% ) SQL SELECT funkciói Speciális szelekciós s operátorok Az alap lekérdez rdezés, szelekció eredménye nem halmazként működik, tartalmazhat ismétl tlődést Van lehetőség az ismétl tlődés megszűrésére: re: DISTINCT SELECT DISTINCT mlista FROM SELECT aggr_fv fv(distinct kif) FROM SELECT COUNT(DISTINCT varos) FROM kiadok INNER JOIN konyvek ON kiadok.kod = konyvek.kiado WHERE konyv.ar > A SELECT DISTINCT biztosítja tja az algebrai projeciót 7

76 SQL SELECT funkciói Speciális szelekciós s operátorok Az inner join esetében is több t tábla t kapcsolható össze A második m join első argumentuma az első join lesz select * from konyv ko inner join kiado ki on ko.kiado=ki.kod ki.kod inner join vallalat v on ki.kiado = v.kod where ko.ar > 3000 Támogatott a natural join is r >< 1 >< feltétel tel r 2 SELECT FROM r1 NATURAL JOIN r2 SELECT * FROM kiado NATURAL JOIN konyv SQL SELECT funkciói Speciális szelekciós s operátorok Sztring mintára való illesztés s további lehetőségei Foglalt karaktereket tartalmazó minta keresése: se: kif LIKE minta ESCAPE karakter karakter SELECT kod FROM aru WHERE nev LIKE _A#_B ESCAPE # Reguláris kifejezésen alapuló minta keresés: s: kif SIMILAR TO minta ESCAPE karakter karakter xx SIMILAR TO (sz (szöveg1) (szöveg2) veg2) xx SIMILAR TO sz szöveg[abc] veg[abc] xx SIMILAR TO sz szöveg[abc]*sz veg[abc]*szöveg[abc2]+ veg[abc2]+ 8

77 SQL SELECT funkciói Gyári függvf ggvények Az adatért rtékek feldolgozását gyári függvf ggvények támogatjt mogatják karakterkezelő függv ggvények számkezel mkezelő függv ggvények dátumkezel tumkezelő függv ggvények konverziós függvf ggvények Nincs szabvány a függvf ggvények körére k re és alakjára SELECT SUBSTR(nev,1,INSTR (nev, né, 1)) FROM dolgozok SQL SELECT funkciói Gyári függvf ggvények Karakter kezelő függv ggvények (Oracle( Oracle): INSTR(kar1, kar2, kpoz, eszaml) : rész sz-sztring sztring pozíci ció SUBSTR(kar1, kpoz, hossz) : rész sz-sztring sztring kiemelés LENGTH(kar) : sztring hossza INSTR(kar1, kar2, kpoz, eszaml) : rész sz-sztring sztring pozíci ció RTRIM(kar1) : jobboldali szóvégi szóközök k levágása RPAD(kar1,n,jel) : jobboldali szóvég kigész szítése se a jellel, hogy a teljes hossz n legyen INITCAP(kar1) :negy : kezdőbet betű, többi t kisbetű CONCAT(kar1, kar2) : sztringek összef sszefűzése se 9

78 SQL SELECT funkciói Gyári függvf ggvények Konverziós függvf ggvények (Oracle( Oracle): TO_CHAR(szam szam) : szám szöveg típust pusúra alakítása TO_CHAR(dátum, formátum) : dátum d szöveg típust pusúra alakítása TO_NUMBER(szöveg, formátum) : szöveg szám típusra t alakítása TO_DATE(szöveg, formátum) : szöveg dátum d típusra t alakítása CAST(kif AS tipus) : tetszőleges irány nyú konverzió CONVERT (szöveg, kód1, k kód2) k : kódkk dkészletek közötti k konverzió DECODE (kif1, k2,k3,..) : kif1 ért rték konvertálása TRANSLATE(szöveg,k1,k2) : k1 cseréje k2-re a szövegben SQL használata ANSI SQL kompatibilitás A különb k nböző RDBMS-ek egyedi SQL elemekkel is rendelkeznek Az SQL szabvány és az egyes SQL implementáci ciók szoros kölcs k lcsönhat nhatásban állnak egymással - ismerni kell a szabványt - ismerni kell a konkrét SQL felületet letet - egyedi objektumok - egyedi operátorok - egyedi függvf ggvények - egyedi kapcsolók - egyedi paraméterek - egyedi adattípusok - eltérő operátorok - hiányz nyzó operátorok - FROM T1 OUTER JOIN T2 ON f FROM T1 = (+) T2 WHERE f WHERE CTOD( ) WHERE TO_DATE( , ) WHERE CONVERT( , ) WHERE { } 10

79 SQL jelentősége Az SQL ez egyik legfontosabb alaptechnológia az informatiká- ban. Az SQL fejlődése során egyre több t funkciót integrál magába, globális lis adatkezelés felé halad. (Vikram Vaswani) A legkeresettebb ismeretek egyike az IT áll lláshirdet shirdetésekben sekben az SQL,amely stabilan tartja magát (mellette a C++, Java, PHP, UNIX váltakoznak) v (CWJobs.UK) Kb. évi 10%-os piacnöveked vekedés az adatbáziskezel ziskezelőkn knél, kb. 8 billió $ 2005-ben (Gartner Group) Számos feladat specifikus SQL DBMS létezik a piacon 11

80 Adatbázis rendszerek I Kovács LászlL szló Az SQL nyelv speciális elemei SQL szabványok Több bb-lépcs pcsős s folyamat a fejlődése alap DDL, DML, DQL, tranzakció,index 1986: ANSI SQL 1987: ISO SQL 1989: ANSI : SQL : SQL : SQL :? integritási elemek, védelem,view DOMAIN, CONSTRAINTS, spec. táblt blák, SELECT-ért rték OO elemek, aktív elemek,kezelő fv.-ek ek, programozás, új adattípus SQL OLAP, XML,új adattípus 1

81 SQL szabványai Az SQL szabvány több, t mint az alap DDL, DML, DQL. modulok SQL/Framework :fogalmi keretek SQL/Foundation :alap utasítások sok SQL/Bindings :beágyazott SQL SQL/CLI :ODBC SQL/PSM :tárolt eljárások SQL/OLAP :elemzési funkciók SQL/Transaction :tranzakció menedzser SQL/Temporal :ideiglenes adatok SQL/Objects :OO elvek SQL/MED :küls lső állom llományok SQL/OLB :beágyazott JSQL SQL/Schemata Schemata :séma kezelés SQL/JRT :Java felület let SQL/XML :XML felület let SQL/MM :multimédia kezelés SQL89: 300 SQL92: 1100 SQL99: 2000 SQL03: 3600 terjedelem SQL használata Az SQL több, t mint a SELECT parancs - tábla - view - domain interaktív program - snapshot - trigger - job CLI-SQL - tárolt eljárás SQL E-SQL - tárolt függvf ggvény - felhasználó - profile - role - schema - database link PL-SQL - replication T-SQL - cluster - lock... Oracle SQL referencia: www-db.iit.uni db.iit.uni-miskolc.hu miskolc.hu/ 2

82 SQL táblat blatípusok Az adatok tárol t rolása eltérő módokon, eltérő céllal törtt rténhet tábla alaptábla nézeti CREATE VIEW származtatott CREATE SNAPSHOT deklarált lt perzisztens CREATE TABLE lokáisan ideiglenes CREATE LOCAL TEMPORARY TABLE globálisan lisan ideiglenes CREATE GLOBAL TEMPORARY TABLE SQL VIEW objektum Származtatott táblt blák haszna: - parancs egyszerűsítés - egyszerűbb végrehajtv grehajtás - védelemv CREATE VIEW vnév (mnév1, ) AS SELECT ; CREATE VIEW BETEGSZAB AS SELECT nev, beosztas, reszleg FROM dolgozok WHERE status = 2; Csak az előáll llító SQL parancs tárolt rolódik, az adattábla nem Hivatkozáskor áll elő a tartalom - aktuális - lassú lehet 3

83 SQL VIEW objektum VIEW módos m dosításra sra 4

84 SQL snapshot Hozzáférés hatékonys konysága SQL hatékonys konysági elemei UPDATE.. tábla index SELECT.. lehet explicit és implicit index létrehoz l trehozás CREATE TABLE t1 (m1 Number(3) PRIMARY KEY, m2 ) CREATE INDEX i1 ON t1(m2 ASC DESC) CREATE INDEX NEVEK ON DOLGOZOK(NEV) 5

85 INDEX Explicit implicit Adat hozzáférés védelemv SQL védelmi elemei UPDATE.. objektum SELECT.. jog adományoz nyozása: GRANT jog ON objektum TO felhasználó jog visszavonása: sa: REVOKE jog ON objektum FROM felhasználó 6

86 Hozzáférés védelmi v utasítások sok SQL védelmi v elemei egy objektum (objektum jog): GRANT SELECT INSERT UPDATE DELETE ON objektum TO felh tetszőleges objektum (privilégium): GRANT művelet m TO felh mindenkinek engedélyezve: GRANT művelet m ON TO PUBLIC a kapott jog továbbadhat bbadható: GRANT TO WITH GRANT OPTION ADMIN OPTION adott jog visszavonása: sa: REVOKE FROM Objektum azonosítása sa SQL séma elemei UPDATE.. objektum séma SELECT.. katalógus adatbázis teljes azonosítás: s: adatbázis.katal zis.katalógus.s gus.séma.objektum1 ma.objektum1 ORA1.INFO.TEREMF.ORAK.KEZDES 7

87 SQL séma s elemei Séma: objektumok logikai tárolt roló egysége ge (egy tulajdonosa van) CREATE SCHEMA snév paraméterek DROP SCHEMA snév CASCADE egy felhasználónak nak több t sémája s is lehet Katalógus: sémák s adminisztráci ciós egysége ge tartalmaz egy definíci ciós és egy informáci ciós sémáts DEFINITION_SCHEMA: leíró bázist zistábl blák (pl. USERS, SCHEMATA, TABLES, VIEWS, TABLE_PRIVILEGES, ) a rendszernek szól INFORMATION_SCHEMA: informáci ciós nézetek n (pl. TABLES, VIEWS, COLUMNS,TABLE_CONSTRAINTS, ) a felhasználóknak szól SQL séma s elemei CATALOG Schema A T:ARUK DEFINITION_SCHEMA T:TABLES INFORMATION_SCHEMA V:TABLES T:VIEWS V:VIEWS USER:U SELECT * FROM INFORMATION_SCHEMA.TABLES 8

88 SQL elemei Az SQL közel k zelít az erősen típusos t nyelvekhez DOMAIN: egyedi, megkülönb nböztet ztető adattípus tábla mezőjéhez rendelhető típusk pusként CREATE DOMAIN dnév AS típus t CHECK megkötés előnyei: - automatikus megkötések - jelentésk sközeli nevek CREATE DOMAIN eletkor AS INTEGER CHECK (VALUE BETWEEN 18 AND 120); CREATE TABLE DOLGOZO (kod ( INTEGER PRIMARY KEY,.., kor eletkor,..) Az OO elemek bevonásával val jelentősége csökkent SQL elemei ASSERTION: Az összetett, többt bb-tábl blás integritási feltételek telek deklaratív megadási módjam CREATE ASSERTION név n CHECK (feltétel) tel) pénzt nztár kód nyitó záró ptár ért rték Uid forgalom a pénzt p nztárank rankénti nti készletvk szletváltoz ltozás egyezzen meg a forgalommal CREATE VIEW V1 AS SELECT kód, k SUM(COALESCE(F.ért rték,0)) ossz FROM forgalom F RIGTH OUTER JOIN pénzt p nztár P ON P.kód = F.ptár GROUP BY kód; k CREATE ASSERTION A1 CHECK ( NOT EXISTS (SELECT P.kód FROM pénztp nztár P INNER JOIN V1 ON V1.kód = P.kód WHERE (P.záró-P.nyit P.nyitó) <> v1.kód)) időig igényes végrehajtv grehajtás: - minden SQL DML parancs után - csak az érintett táblt blák DML parancsai után 9

89 Tranzakció elemei SQL tranzakció elemei A konzisztens állapot elérésére re több t műveletnek m együttesen kell lefutnia tranzakció: adatbázis műveletek m egységk gként kezelt sora tranzakció INSERT INTO dolgozo VALUES(1, ); UPDATE dolgozo SET fiz = 0; ROLLBACK; COMMIT elfogad ROLLBACK elvet egyes műveletek m (pl. DDL) rögt gtön végrehajtv grehajtódnak SQL lekérdez rdezés elemei A feltételes teles megjelenítésre is igény jelentkezik, ezért pótolt tolták ezt a hiányoss nyosságot: CASE WHEN feltétel1 tel1 THEN kif1; WHEN feltétel2 tel2 THEN kif2; ELSE kif; END A SELECT parancs projekciós részr szében használhat lható SELECT név, n fiz * (CASE WHEN fiz<1000 THEN 0.1; WHEN fiz BETWEEN 1000 AND 5000 THEN 0.2; ELSE 0.3; END) adó FROM dolgozok; A NULL ért rték kezelésére: COALESCE(kif1,kif2,kif3, ) Az első nem NULL ért rtéket adja vissza 10

90 NULL ért rték kezelése NULL ért rték NVL 11

91 Adatbázis rendszerek I Kovács LászlL szló Normalizálási alapok ME GEIAL dr Kovács Lászl szló Normalizálási alapok A szoftver az egyik legösszetettebb és legmegbízhatatlanabb ipari termék Számítási hibák Mars Climate Orbiter (1999) Ariane 5 rakéta (1996) Védelmi hiányoss nyosságok ILOVEYOU (2000), $10 billió SQLslammer (2003) Adatkezelés Y2000 és Y2038 Kezelő felület let hiányoss nyosságai 1

92 Normalizálási alapok A tervezéssel eltölt ltött tt idő sohasem elvesztegetett idő Adatbázisokn zisoknál a javítás költsk ltsége a tervezési hiányoss nyosságokn goknál egy nagyságrenddel grenddel nagyobb mint a többi t hiba esetében Mire kell ügyelni? - minden informáci cióelem meglegyen - beszédes elnevezések - érv rvényes adattípusok - érv rvényes kapcsolatok - érv rvényes integritási elemek - kezelés biztonsága - hatékonys konyság - védelem - Failure is not an option. It is a key part of a software. Normalizálási alapok Az adatbázis tervezésn snél, az egyik jól j formalizálhat lható elem a redundancia kezelése redundancia: informáci ció ismétl tlődése hátr trányai: - beszúrási si anomália - módos dosítási si anomália - törl rlési anomália előnyei: - elérési gyorsaság - hibatűrés - helyfoglalás cél: szabályozott, minimális redundancia dkod uticél dnév dcím befizetes 1 Eger Peter Miskolc 3 3 Eger Antal Baja 5 1 Ózd Peter Miskolc 2 2

93 Normalizálási alapok redundancia oka: mezők közötti k ért rték-függ ggőség dkod uticél dnév dcím befizetes 1 Eger Peter Miskolc 3 3 Eger Antal Baja 5 1 Ózd Peter Miskolc 2 függ ggőség g jele: FD A B függ ggőség értelmez rtelmezése: minden A ért rtékhez maximum egy B ért rték tartozik Az FD eltávol volítása megszünteti a redundanciát Normalizálási alapok Normalizálás: redundancia megszüntet ntetése az FD-k eliminálásával de nem mindegyik FD-t kell eldobni! dkod uticél dnév dcím befizetes 1 Eger Peter Miskolc 3 3 Eger Antal Baja 5 1 Ózd Peter Miskolc 2 Az ismétl tlődő ért rtékű mezőkb kből kiinduló FD-ket kell elvetni A kulcsból l kiinduló FD-k nem okoznak redundanciát 3

94 Normalizálási alapok A nemkívánt nt FD megszüntet ntetése a tartalmazó reláci ció felbontásával törtt rténik (dekompoz( dekompozíci ció) dkod uticél dnév dcím befizetes 1 Eger Peter Miskolc 3 dkod uticél befizetes dkod dnév dcím 1 Eger 3 1 Peter Miskolc A felbontásnak veszteségmentesnek kell lennie Az eredeti reláci ciókat elő kell tudni áll llítani a részekbr szekből Normalizálási elemek Mező elnevezéshez kapcsolódó hibák szinonima nem beszédes elnevezés homonima TILOS! DOLGOZO(nev nev,c12,fonok,f_,c12,fonok,f_cim cim,fizetes fizetes,telephely) OSZTALY(nev nev,telephely,,telephely,vezeto vezeto,v_,v_cim cim,fizetes fizetes) PROJEKT(nev nev,d_,d_nev nev,megrendelo megrendelo,fizetes fizetes,mcim mcim) technikai homonima nyilt logikai átfed tfedés 4

95 Normalizálási elemek FD fogalma: A B az R(A,B,C) sémában, s ha minden t1,t2 r(r)-beli rekordra, ha t1(a) = t2(a), akkor t1(b) = t2(b) is teljesül a definíci ció r(r) függf ggő eseti függ f ggőség g (néhány ny r-re) r re) érdemi függf ggőség g (minden r-re) r re) egy adott r(r)-ből nem lehet következtetni k az FD érdemis rdemiségére, re, de lehet következtetni k az esetiségére minden R sémához s tartozik egy érdemi FD halmaz dkod uticél dnév dcím befizetes Normalizálási elemek Cél: áttekinthet ttekinthetőség, egyszerűség dkod uticél dnév dcím befizetes felesleges FD-k jelennek meg az FD-k között k is redundancia jelenhet meg Armstrong axiómák: ha B A A B (triviális FD) A B AC BC A B, B C A C következm vetkezmények: A B, C D AC BD 5

96 Normalizálási elemek Egy FD-halmaz kibővíthet thető a származtatott FD-kel Az X FD-halmaz lezártja: X + X + : {B X B} FD-halmazok ekvivalenciája: X Y, ha X + = Y + Egy FD-halmaz egyszerűsíthet thető a redundáns ns FD-kel Az X FD-halmaz irreducibilis magja: X - X - jellemzői: - nem tartalmaz triviális FD-t - jobb oldal elemi - minimális Beláthat tható, hogy X X + és X X - és X - X + X - X X + Normalizálási elemek dkod uticél dnév dcím befizetes irreducibilis mag meghatároz rozása dkod uticél dnév dcím befizetes 6

97 Normalizálási elemek Redundancia oka: ismétl tlődő ért rtékű mezőből kiinduló FD Redundancia mentesítés: s: csak nem-ism ismétl tlődő ért rtékű mezőkb kből induljon ki FD Normalizálás: nem kívánt k FD-k megszüntet ntetése Az FD-ket a mezők szétv tválaszt lasztásával, a reláci ció felbontásával (dekompoz dekompozíci ció) szüntetj ntetjük meg Normalizálási elemek Alap normalizálási lépések: l - FD-k feltárása - 1NF : létezzen l kulcs, minden mező elemi - 2NF : 1NF + részkulcsbr szkulcsból l ne induljon ki FD - 3NF : 2NF + nem kulcsból l ne induljon ki FD dkod uticél dnév dcím befizetes 1NF 2NF 3NF dkod uticél befizetes dnév dcím dkod dnév 7

98 Normalizálási elemek A gyakorlat szinte mindig megtalálja lja az elmélet let hiányoss nyosságait Miért nem jój a 3NF? ig.szám taj-szám név A felbontás nem hoz nyereséget Szüks kségtelen a felbontás A taj_sz _szám jelölt lt kulcs, nem ismétl tlődik, nem okoz redundanciát BCNF: FD csak jelölt lt kulcsból l induljon ki Normalizálási elemek Az elmélet let a gyakorlat egy közelk zelítése, modellje Az adatbázis tervezésn snél a hatékonys konysági szempontokat is lényegesnek l kell tekinteni (JOIN költsk ltségess gessége) ge) re-decomposition decomposition: : a szétbontott táblt blák egyesítése se A normalizálás nem tervezés hanem elemzés A valós adatbáziss zisséma a 3NF és a teljes káosz k között k van 8

99 Normalizálási alapok Egyedi elemek - levezethetőség és logikai következm vetkezmény - igazságt gtétel tel bizonyítása - levezetési péld ldák - szuperkulcs - FD halmaz lezárási tételek telek - teljességi tétel tel bizonyítása - lezárási tétel t tel bizonyítása 9

100 Adatbázis rendszerek I Kovács LászlL szló Normalizálási elemek ME GEIAL dr Kovács Lászl szló Normalizálási elemek A hibás séma s megszüntet ntetése a séma s felbontásával törtt rténik Mire kell ügyelni a felbontásn snál? - mező ne szűnj njön n meg - informáci ció ne vesszen el - hibás FD eliminálódjon - új FD ne lépjen l fel - redundancia ne növekedjenn 1

101 Normalizálási elemek Veszteségmentess gmentesség: g: Az induló reláci ció helyreáll llíthat tható legyen a felbontás után is - mezők és kapcsolatok megőrz rzése - helyreáll llítás a join-nal nal Nem minden felbontás veszteségmentes Megfelelő kapcsolatot kell hagyni A FD mentén n kell felbontani A FD kiinduló mezője megfelelő kapcsoló Normalizálási elemek Független felbontás: A kapott reláci ciók tartalma egymást stól függetlenf ggetlenül kezelhető - FD nem nyúlik át másik m reláci cióba Az FD-k lokális lis megőrz rzésén alapul rsz típus gyártó rsz típus rsz gyártó ab34 Fiat ab34 FiatW gz56 Opel gz56 OpelW ag91 Opel ag91? 2

102 Normalizálási elemek Mindig adódhatnak dhatnak váratlan v események, esetek az elmélet let oldaláról l is név ital étel Peti sör lecsó Peti bor lecsó Peti sör kaviár Peti bor kaviár nincs FD, nem lehet normalizálni lni? MVD: több t bbért rtékű függ ggőség g (A > > B) egy A ért rtékhez egyértelm rtelműen en hozzárendelhet rendelhető egy B-beli B ért rtékhalmaz Normalizálási elemek Függ ggőségek gek kapcsolata FD: olyan MVD, melyben az ért rtékhalmaz egyelemű JD: az r reláci ció előáll llíthat tható az r 1,,r reláci n ciók join művelet veletével MVD: olyan JD, melyben a felbontás két k reláci cióra törtt rténik FD MVD JD A tervezés során a nem-fd függf ggőségeket geket eliminálni lni kell 3

103 Normalizálási elemek Séma tervezés összefoglal sszefoglalása sa - informáci ció igények összegy sszegyűjt jtése - integritási feltételek telek meghatároz rozása - fogalmak jelentésének nek meghatároz rozása - adatelemek elnevezése, típusa, t megkötések - kapcsolatok meghatároz rozása - reláci ciók meghatároz rozása - FD, MVD, JD meghatároz rozása - kulcsok kijelölése (1NF) - rész sz-kulcsbeli FD megszüntet ntetése (2NF) - tranzitív FD megszüntet ntetése (3NF) - csak jelölt lt kulcsból l indul ki FD (BCNF) - a nem FD jellegű MVD megszüntet ntetése (4NF) - a nem FD jellegű JD megszüntet ntetése (5NF) - hatékonys konyság elemzés - redundancia növeln velés (denormaliz( denormalizálás) - generáló kód (SQL) előáll llítása Veszteségmentes felbontás Normalizálási elemek p : az R séma s egy felbontása ( ( R = R) i (r) : az r reláci ció p szerinti felbontásának nak összekapcsol sszekapcsolása sa p veszteségmentes felbontás: r = (r) p dkod dnév dcím dkod dnév dcím dkod dnév dnév dcím 4

104 Veszteségmentes felbontás Normalizálási elemek Heath-tétele tele (veszteségmentess gmentesség g kritériuma): riuma): Ha R = R 1 R 2 R 3 és R 1 R 2 akkor a p = ({R,R 1 2 }, {R 1,R 3 }) felbontás veszteségmentes dkod dnév dcím R 1 = dkod R 2 = dnév R 3 = dcim R 1 = dkod R 2 = dcím R 3 = dnév R 1 = dnév R 2 = dcím R 3 = dcim Független felbontás Normalizálási elemek p : az R séma s egy felbontása ( ( R = R) i F : az R sémához s tartozó FD halmaz φ p (r) : az F halmaz p szerinti felbontáshoz tartozó részhalmaz szhalmazának lezártja (r) = {X Y Y (X Y) F, i: X,Y R i } φ p Független felbontás: φ (r) + p = F + dkod dnév dkod dcím dkod dnév dcím dkod dnév dnév dcím 5

105 Független felbontás Normalizálási elemek Rissanen-tétele tele (függetlens ggetlenség g kritériuma) riuma) Ha R = R 1 R 2 R 3 és R 1 R 2 és F φ p (r)+ akkor a p = ({R,R 1 2 }, {R 1,R 3 }) felbontás függetlenf dkod dnév dcím R 1 = dkod R 2 = dnév R 3 = dcim R 1 = dkod R 2 = dcím R 3 = dnév R 1 = dnév R 2 = dcím R 3 = dcim Normalizálási elemek BCNF alak jellemzése: BCNF: minden A,B R re, ahol (A B) F + és (A B) nem triviális : az A szuperkulcs beláthat tható, hogy nincs tranzitív FD ha (R,F) nem BCNF, akkor (A B) F -, hogy A nem szuperkulcs BCNF alak jelentősége: Minden (R,F) séma s felbontható BCNF reláci ciókra veszteségmentesen Felbontás algoritmusa: - nem szuperkulcsból l kiinduló FD keresése se (A B) - R = AB, R 1 2 = R\B R 6

106 BCNF felbontás példap Normalizálási elemek A B C D E (AC E) (D A) (E B) (AC C) (AC E) (D A) (E B) (CD ABE) (CD EB) (D A) B E A D E C D Normalizálási elemek Atomi séma: s nincs veszteségmentes és független f felbontása E C D Nem minden atomi séma s BCNF E C D Minden (R,F) séma s felbontható veszteségmentes, de nem feltétlen tlenül l atomi BCNF reláci ciókra E D C E Beláthat tható, hogy minden (R,F) séma s felbontható veszteségmentes és atomi 3NF reláci ciókra 7

107 Több bbért rtékű függ ggés Normalizálási elemek nev hobby etel Peter foci bab Peter foci szilva nev hobby Peter tenisz bab nev hobby Peter bab Peter tenisz szilva Peter foci Peter szilva Gabi futas alma Peter tenisz Gabi alma Gabi futas fagyi Gabi futas Gabi fagyi MVD: több t bbért rtékű függ ggőség g (A > > B) t,t 1 2 r -re, ahol t [A] = t 1 2 [A]: t,t 3 4 r: - t [AB] = t 3 1 [AB] - t 3 [R\AB] = t [R\AB] 2 - t [AB] = t 4 2 [AB] - t 4 [R\AB] = t [R\AB] 1 Normalizálási elemek Több bbért rtékű függ ggés jellemzői triviális MVD-k: - ha A B, akkor B > > A - ha AB = R, akkor A > > B - ha A > > B, akkor A > > R \ AB - ha A B, akkor A > > B MVD fontossága Fagin tétele: tele: (veszteségmentess gmentesség g elégs gséges ges feltétele) tele) Ha R = R 1 R 2 R 3 és R 1 > > R 2 akkor és csak akkor a p = ({R,R 1 2 }, {R 1,R 3 }) felbontás veszteségmentes 8

108 Normalizálási elemek Join-függ ggőség, a helyzet egyre bonyolódik.. tárgy tanár diák tárgy diák tárgy tanár tanár diák Prog. T1 D1 Prog. D1 Prog. T1 T1 D1 Prog. T1 D2 Ab. D2 Ab. T2 T3 D1 Prog. T2 D2 Prog. D2 Prog. T2 T1 D2 Opt. T1 D1 Opt. D1 Opt. T1 T2 D2 Opt T3 D1 Opt T3 Ab. T2 D2 a sémában s nincs FD és MVD (nincs benne pl. t(prog Prog., T2, D1)) viszont előáll ll a rész r reláci ciók szorzataként JD (join ( join-függ ggőség): r = r1 r2 = = r3 Normalizálási elemek Egyedi elemek - Veszteségmentess gmentesség tétele tele bizonyítása - Heath tétel tel bizonyítása - Tábla módszer m a veszteségmentess gmentességn gnél - BCNF felbontási tétel t tel bizonyítása - 3NF felbontási tétel t tel bizonyítása - normálform lformák kapcsolatának bizonyítása 9

109 Adatbázis rendszerek I mysql kezelése ME- GEIAL Dr. Kovács LászlL szló DBMS alternatívák probléma méretem otthoni feladat egyéni vállalkozv llalkozás kis vállalat v Közép vállalatv nagyvállalat nemzetközi zi cégc adatkezelő állom llomány kezelés Excel kezelés xbase/access mysql Oracle XE SQLServer Oracle DB2 Terradata 1

110 mysql áttekint ttekintése mysql: nyílt felület letű adatbáziskezel ziskezelő-rendszer (SUN) típusai: Community Server (ingyenes) Enterprise Server (fizetős) let etölt ltési hely: //dev.mysql.com dev.mysql.com/downloads mysql/marketshare/ mysql installáci ció 2

111 mysql installáci ció mysql installáci ció Instance: : futó DBMS Adatbázis DB1 Adatbázis DB2 Szolgáltat ltatás (mysql( mysql) net start mysql net stop mysql Állom llományok, katalógusok Bin (->Path Path) Data Docs Examples Include lib Share 3

112 mysql működése DBMS működése m mysql működése myisam tábla jellemzése Az alapértelmez rtelmezési tábla t tárolt rolási módm CREATE TABLE tnev (mezo tipus intfelt, ) TYPE=myISAM myisam; Minden adatbázis egy külön k katalógus Minden tábla t egy vagy több t állom llomány FRM : tábla t szerkezet leíró MYD : adatok MYI : indexek Belső tárol rolási mód: m - fixed rekordméret ret - változ ltozó rekordméret ret (TEXT, BLOB külön) k - tömörített tett (READONLY) Tábla bla-szint szintű zárol rolás 4

113 mysql működése HEAP tábla jellemzése A tábla t tartalma a memóri riában foglal helyet CREATE TABLE tnev (mezo tipus intfelt, ) TYPE=HEAP; Előny nyök: - gyorsabb módosm dosítás - szekvenciális keresés s gyorsabb - felépítés gyorsabb Hátr trányok: - temporális - lassabb az összetett lekérdez rdezés - kevesebb mezőtípust támogatt Indexelés lehetséges, de csak HASH indexet generál mysql működése innodb tábla jellemzése A legnagyobb integritáns ns védelmet biztosítja tja CREATE TABLE tnev (mezo tipus intfelt, ) TYPE=innoDB innodb; A tábl t blák együtt tárolt rolódnak (tablespace( tablespace) Tábla szerkezeti része: r FRM : tábla t szerkezet leíró Tábla tartalom (együtt) IBDATAn : tartalom, indexek Támogatott szolgáltat ltatások: - rekord szintű zárol rolás - ACID elvek - idegen kulcs 5

114 mysql használata Kliens oldali elemek: mysql parancs-fel felület let -u nev : felhasználó neve -D nev : adatbázis neve -h nev : host neve -X : XML kimenet -e parancs : parancs végrehajt grehajtás -p ertek: jelszó megadása Batch file futtatása: os> mysql < file.txt mysql> source file.txt mysql használata Kliens oldali elemek: mysql query browser 6

Adatbázis rendszerek I Relációs adatmodell műveleti rész (relációs algebra) ME- GEIAL Dr. Kovács László Relációs adatmodell strukturális rész tárolási struktúra séma R(m1,m2, ) adatmodell integritási rész

Részletesebben

GEIAL Kovács László. GEIAL Kovács László

GEIAL Kovács László. GEIAL Kovács László Adatbázis rendszerek I ciós adatmodell műveleti rész ( ) ME- GEIAL Dr. Kovács LászlL szló ciós adatmodell strukturális részr tárol rolási struktúra ra séma R(m1,m2, ) adatmodell integritási részr ért rték

Részletesebben

Adatbázis rendszerek I

Adatbázis rendszerek I Adatbázis rendszerek I Szemantikai adatmodellek ek ME- GEIAL Dr. Kovács László Modellezés szerepe Problémakör modellezése adatbázis struktúrával Dolgozó kód név beosztás Feladat kód dolg termék Termék

Részletesebben

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Adatbázisok I 1 SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés

Részletesebben

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai: 8. Gyakorlat SQL SQL: Structured Query Language; a relációs adatbáziskezelők szabványos, strukturált lekérdező nyelve SQL szabványok: SQL86, SQL89, SQL92, SQL99, SQL3 Az SQL utasításokat mindig pontosvessző

Részletesebben

Adatbázis rendszerek I Adatkezelés és adatbázis kezelés alapfogalmai ME- GEIAL Dr. Kovács Lászl szló Excel adatkezelés alapjai Excel VBA program egységek gek Program egységek: gek: Module function f()

Részletesebben

Adatbázis rendszerek I Kovács LászlL szló Az SQL nyelv speciális elemei SQL szabványok Több bb-lépcs pcsős s folyamat a fejlődése alap DDL, DML, DQL, tranzakció,index 1986: ANSI SQL 1987: ISO SQL 1989:

Részletesebben

Adatbázis-kezelés. Harmadik előadás

Adatbázis-kezelés. Harmadik előadás Adatbázis-kezelés Harmadik előadás 39 Műveletek csoportosítása DDL adat definiálás Objektum létrehozás CREATE Objektum törlés DROP Objektum módosítás ALTER DML adat módosítás Rekord felvitel INSERT Rekord

Részletesebben

Adatbázis-kezelés. 3. Ea: Viszonyított betűszámtan (2013) Relációs algebra alapok (átgondolt verzió) v: 2015.02.15 Szűcs Miklós - ME, ÁIT. 1.

Adatbázis-kezelés. 3. Ea: Viszonyított betűszámtan (2013) Relációs algebra alapok (átgondolt verzió) v: 2015.02.15 Szűcs Miklós - ME, ÁIT. 1. Adatbázis-kezelés 3. Ea: Viszonyított betűszámtan (2013) Relációs algebra alapok (átgondolt verzió) v: 2015.02.15 Szűcs Miklós - ME, ÁIT. 1.o Témakörök Relációs algebra Ellenőrző kérdések 2.o Relációs

Részletesebben

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés Adatbázisok I Szemantikai adatmodellek Szendrői Etelka PTE-PMMK Rendszer és Szoftvertechnológiai Tanszék szendroi@pmmk.pte.hu Adatmodellek komponensei Adatmodell: matematikai formalizmus, mely a valóság

Részletesebben

BEVEZETÉS Az objektum fogalma

BEVEZETÉS Az objektum fogalma BEVEZETÉS Az objektum fogalma Program (1) Adat (2) Objektum Kiadványszerkesztés Word Táblázatkezelés Excel CAD AutoCad Adatbáziskezelés Access 1 Program (1) Adat (2) Objektum Adatmodell (2) A valós világ

Részletesebben

GEIAL Kovács László. GEIAL Kovács László GEIAL Kovács László

GEIAL Kovács László. GEIAL Kovács László GEIAL Kovács László Adatbázis rendszerek I mysql kezelése ME- GEIAL Dr. Kovács LászlL szló DBMS alternatívák probléma méretem otthoni feladat egyéni vállalkozv llalkozás kis vállalat v Közép vállalatv nagyvállalat nemzetközi

Részletesebben

Adatbázis rendszerek I

Adatbázis rendszerek I Adatbázis rendszerek I Adatkezelés és adatbázis kezelés alapfogalmai ME- GEIAL Dr. Kovács Lászl szló Adatbázis témak makör tárgyai BSc: Adatbázis rendsz. I Adatbázis rendsz. II XML adatkezelés Oracle /

Részletesebben

Adatbázis-kezelés, információs-rendszerek

Adatbázis-kezelés, információs-rendszerek Adatbázis-kezelés, információs-rendszerek 3. Ea: Eskúel (2011) Structured Query Language v: 2011.09.05 Szűcs Miklós - ME, ÁIT. 1.o Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítás DCL utasítások

Részletesebben

Adatbázisok* tulajdonságai

Adatbázisok* tulajdonságai Gazdasági folyamatok térbeli elemzése 4. előadás 2010. 10. 05. Adatbázisok* tulajdonságai Rendezett, logikailag összefüggő és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az

Részletesebben

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Adatbázisok I SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés

Részletesebben

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17 Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez

Részletesebben

B I T M A N B I v: T 2015.03.01 M A N

B I T M A N B I v: T 2015.03.01 M A N Adatbázis Rendszerek MSc 2. Gy: MySQL Táblák, adatok B I v: T 2015.03.01 M A N 1/41 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítások DCL utasítások 2/41 Az SQL jellemzése Az SQL a relációs

Részletesebben

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis AB1 ZH mintafeladatok 1. Töltse ki, és egészítse ki! Matematikai formalizmus arra, hogy hogyan építhetünk új relációkat a régi relációkból. Az adatoknak egy jól strukturált halmaza, amelyből információ

Részletesebben

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv: 5. Gyakorlat 5.1 Hálós adatbázis modell műveleti része NDQL, hálós lekérdező nyelv: A lekérdezés navigációs jellegű, vagyis a lekérdezés megfogalmazása során azt kell meghatározni, hogy milyen irányban

Részletesebben

2012.05.11. Adatbázisok I A relációs algebra

2012.05.11. Adatbázisok I A relációs algebra Adatbázisok I A relációs algebra 2 3 4 1 Feladatok Tantárgy tkód cím kredit oktató Oktató oktkód név tanszék fizetés Feladatok 1. Az átlagos kreditpontszám: Γ avg(kredit) (Tantárgy) 2. A Matematika tanszéken

Részletesebben

Adatbázisok I. Az SQL nyelv

Adatbázisok I. Az SQL nyelv Adatbázisok I Az SQL nyelv SQL (Structured Query Language) Deklaratív nyelv, 1974-ben publikálták Halmaz orientált megközelítés, a relációs algebra műveleteinek megvalósítására Előzménye a SEQUEL (IBM)(Structured

Részletesebben

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei 1. Mi az elsődleges következménye a gyenge logikai redundanciának? inkonzisztencia veszélye felesleges tárfoglalás feltételes függés 2. Az olyan tulajdonság az egyeden belül, amelynek bármely előfordulása

Részletesebben

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE TINIINT 1 byte 12 SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY

Részletesebben

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázis-lekérdezés. Az SQL nyelv. Makány György Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési

Részletesebben

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY / MONEY 8

Részletesebben

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2 Tartalomjegyzék Tartalomjegyzék 1 Az SQL nyelv 1 Az SQL DDL alapjai 2 Adatbázis parancsok 2 Táblaparancsok 2 A táblázat létrehozása 2 A táblázat módosítása 3 A tábla törlése 3 Indextábla létrehozása 3

Részletesebben

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik

Részletesebben

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT ADATBÁZISOK 9-10. gyakorlat: SQL 2. rész SELECT SELECT utasítás általános alakja SELECT [DISTINCT] oszloplista FROM táblanévlista [WHERE feltétel] [GROUP BY oszloplista [HAVING feltétel] ] [ORDER BY oszloplista];

Részletesebben

Adatbázis rendszerek SQL nyomkövetés

Adatbázis rendszerek SQL nyomkövetés Adatbázis rendszerek 1. 12. SQL nyomkövetés 1/32 B ITv: MAN 2017.10.26 Nyomkövetési feladat 2/32 Gyakorló feladatok Termék-Vásárlás-Vásárló Oktató-Tantárgy-Hallgató 3/32 Gyakorló feladat: Termék-Vásárlás-Vásárló

Részletesebben

Bevezetés: az SQL-be

Bevezetés: az SQL-be Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak

Részletesebben

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.4. Relációs algebra (áttekintés) 5.1.

Részletesebben

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Bevezetés az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben Kulcsok megadása (folyt.köv.7.fej.) -- még: Relációs

Részletesebben

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31 Adatbázisok 2. gyakorlat SQL 2016. november 12. 2016. november 12. Adatbázisok 1 / 31 SQL nyelv Structured Query Language Struktúrált lekérdez nyelv A relációs adatbáziskezelés szabványos nyelve Két f

Részletesebben

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások SQL haladó Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások 1 Külső összekapcsolás Összekapcsoljuk R és S relációkat: R C S. R azon sorait,

Részletesebben

Adatbázis rendszerek Ea: Viszonyított betűszámtan. Relációs algebra alapok

Adatbázis rendszerek Ea: Viszonyított betűszámtan. Relációs algebra alapok Adatbázis rendszerek 1. 2. Ea: Viszonyított betűszámtan Relációs algebra alapok 52/1 B ITv: MAN 2015.09.08 Témakörök Relációs algebra Ellenőrző kérdések 52/2 Relációs algebra Műveletek Gyakorlás 52/3 Relációs

Részletesebben

SQL parancsok feldolgozása

SQL parancsok feldolgozása Az SQL nyelv SQL nyelv szerepe Sequental Query Language, deklaratív nyelv Halmaz orientált megközelítés, a relációs algebra műveleteinek megvalósítására Előzménye a SEQUEL (IBM) Algoritmus szerkezeteket

Részletesebben

Adatbázisok elmélete 9. előadás

Adatbázisok elmélete 9. előadás Adatbázisok elmélete 9. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázis kezelés Delphiben. SQL lekérdezések Adatbázis kezelés Delphiben. SQL lekérdezések Structured Query Language adatbázisok kezelésére szolgáló lekérdező nyelv Szabályok: Utasítások tetszés szerint tördelhetők Utasítások végét pontosvessző zárja

Részletesebben

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14 Adatbázisok 9. gyakorlat SQL: SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 14 SQL SELECT Lekérdezésre a SELECT utasítás szolgál, mely egy vagy több adattáblából egy eredménytáblát állít el

Részletesebben

Adatbázis, adatbázis-kezelő

Adatbázis, adatbázis-kezelő Adatbázisok I. rész Adatbázis, adatbázis-kezelő Adatbázis: Nagy adathalmaz Közvetlenül elérhető háttértárolón (pl. merevlemez) Jól szervezett Osztott Adatbázis-kezelő szoftver hozzáadás, lekérdezés, módosítás,

Részletesebben

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.

Részletesebben

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák A SELECT UTASÍTÁS ÁLTALÁNOS ALAKJA (ISM.) SELECT [DISTINCT] megjelenítendő oszlopok FROM táblá(k direkt szorzata) [WHERE feltétel]

Részletesebben

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14 Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) 2014. október 22. 2014. október 22. Adatbázisok 1 / 14 SQL nyelv Structured Query Language Struktúrált lekérdez nyelv A

Részletesebben

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány) Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány) 41/1 B IT v: 2017.10.30 MAN DDL Adatstruktúra definiáló utasítások DDL Data Definition Language Adatszerkezetek (elsősorban táblák) létrehozása,

Részletesebben

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT ÓBUDAI EGYETEM Neumann János Informatikai Kar Nappali Tagozat ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT NÉV: MÁK VIRÁG NEPTUN KÓD: A DOLGOZAT CÍME: Jani bácsi székadatbázisa Beadási határidő: 14. oktatási hét

Részletesebben

Adatbázisok elmélete 9. előadás

Adatbázisok elmélete 9. előadás Adatbázisok elmélete 9. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal. Adatbázis létrehozása Adatleíró műveletek CREATE DATABASE "tan1" WITH ENCODING= LATIN2 ; vagy parancssorból a terminál alatt $ createdb tan1 E=latin2 Kapcsolódás az adatbázishoz $ psql tan1 Adattábla létrehozása

Részletesebben

Adatbázis rendszerek Ea: Viszonyított betűszámtan. Relációs algebra alapok

Adatbázis rendszerek Ea: Viszonyított betűszámtan. Relációs algebra alapok Adatbázis rendszerek 1. 2. Ea: Viszonyított betűszámtan Relációs algebra alapok 1/81 B ITv: MAN 2017.10.24 Témakörök Relációs algebra Ellenőrző kérdések 2/81 Relációs algebra Műveletek Gyakorlás 3/81 Relációs

Részletesebben

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése BEVEZETÉS Célkitűzések Az Oracle10g felépítésének, használatának alapszíntű megismerése A relációs adatbázis-kezelés elméleti és gyakorlati vonatkozásainak áttekintése Az SQL, PL/SQL nyelvek használatának

Részletesebben

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére SQL PÉLDATÁR készült a PTE TTK Iskolai informatika III. kurzus teljesítésére PTE TTK Czimmermann Gergely MA matematika informatika tanár szakos hallgató 2017 Tartalomjegyzék 1. Adatleíró műveletek... 3

Részletesebben

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL 1.rész 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL története, szabványok Szabvány adatbázis-kezelő nyelv: SQL SQL (angol kiejtésben

Részletesebben

A RELÁCIÓS ADATMODELL MŰVELETI RÉSZE (RELÁCIÓS ALGEBRA ÉS KALKULUS)

A RELÁCIÓS ADATMODELL MŰVELETI RÉSZE (RELÁCIÓS ALGEBRA ÉS KALKULUS) REÁIÓS DMODE MŰVEEI RÉSZE (REÁIÓS ER ÉS KKS) Relációs algebra: reláció struktúrájának felépítése után következhet az adatk felvitele, módsítása és lekérdezése. z adatmdell műveleti része definiálja a rendelkezésre

Részletesebben

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány) Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány) 23/1 B IT v: 2018.10.31 MAN DML adatokon műveletet végző utasítások DML Data Manipulation Language Rekordok (sorok) beszúrása (felvitele) Mezők

Részletesebben

ADATBÁZISKEZELÉS ADATBÁZIS

ADATBÁZISKEZELÉS ADATBÁZIS ADATBÁZISKEZELÉS 1 ADATBÁZIS Az adatbázis adott (meghatározott) témakörre vagy célra vonatkozó adatok gyűjteménye. - Pl. A megrendelések nyomon követése kereskedelemben. Könyvek nyilvántartása egy könyvtárban.

Részletesebben

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla Adatbázisok-1 előadás Előadó: dr. Hajas Csilla Áttekintés az I.zh-ig Áttekintés az 1ZH-ig // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 Hol tartunk? Mit tanultunk

Részletesebben

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán Hogyan tároljunk nagy mennyiségű adatot? Redundáns (ismétlődő) adatok Adattípusok konzisztenciáját nem biztosítja Nem kereshető, nehezen

Részletesebben

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet 1 2 Adatbáziskezelő-szerver Általában dedikált szerver Optimalizált háttértár konfiguráció Csak OS + adatbázis-kezelő szoftver Teljes memória az adatbázisoké Fő funkciók: Adatok rendezett tárolása a háttértárolón

Részletesebben

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai 8. gyakorlat Structured Query Language Struktúrált lekérdező nyelv A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai DDL (Data Definition Language) adatstruktúra definiáló

Részletesebben

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010 INFORMATIKA ÁGAZATI ALKALMAZÁSAI Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010 2. Adatbáziskezelés eszközei Adatbáziskezelés feladata Adatmodell típusai Relációs adatmodell

Részletesebben

7. Gyakorlat A relációs adatmodell műveleti része

7. Gyakorlat A relációs adatmodell műveleti része 7. Gyakorlat A relációs adatmodell műveleti része Relációs algebra: az operandusok és az eredmények relációk; azaz a relációs algebra műveletei zártak a relációk halmazára Műveletei: Egy operandusú Két

Részletesebben

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK Az adatbázis-kezelők elvárásai közé tartozik az, hogy legyen egy olyan adatbázis-kezelőktől független nyelv, amely az adatdefiníciós, az adatmanipulációs és a lekérdező

Részletesebben

Adatbázis rendszerek 1. 4.Gy: ER modell

Adatbázis rendszerek 1. 4.Gy: ER modell Adatbázis rendszerek 1. 4.Gy: ER modell. 1/23 B ITv: MAN 2018.10.10 Az ER (Entity Relationship) modell Egyed Kapcsolat modell Kidolgozója: Chen (1976) Egyszerűsített szemantikai adatmodell Csak strukturális

Részletesebben

Adatbázis rendszerek. dr. Siki Zoltán

Adatbázis rendszerek. dr. Siki Zoltán Adatbázis rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati személyzeti

Részletesebben

B I T M A N B I v: T 2015.03.09 M A N

B I T M A N B I v: T 2015.03.09 M A N Adatbázis Rendszerek MSc 3. Gy: MySQL Lekérdezések B I v: T 2015.03.09 M A N 1/61 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítások DCL utasítások 2/61 DQL Adat lekérdező utasítás Az SQL

Részletesebben

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1 SZE INFORMATIKAI KÉPZÉS 1 ADATBÁZIS-KEZELÉS MS ACCESS 2010 A feladat megoldása során a Microsoft Office Access 2010 használata a javasolt. Ebben a feladatban a következőket fogjuk gyakorolni: Adatok importálása

Részletesebben

Adatbázisok - 1. előadás

Adatbázisok - 1. előadás Óbudai Egyetem Alba Regia Műszaki Kar (AMK) Székesfehérvár 2015. október 15. Köszönet A tárgyat korábban Kottyán László tanította. Köszönöm neki, hogy az általa elkészített

Részletesebben

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek LEKÉRDEZÉSEK SQL-BEN A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek RELÁCIÓS ALGEBRA A relációs adatbázisokon végzett műveletek matematikai alapjai Halmazműveletek:

Részletesebben

Adat vs. Információ. Adatok: Információ: Az adatok és információk közötti különbség nem strukturális, hanem funkcionális.

Adat vs. Információ. Adatok: Információ: Az adatok és információk közötti különbség nem strukturális, hanem funkcionális. Adatbázisok Adat vs. Információ Adatok: Nyers tények Feldolgozatlan információ Az információ építőelemei Tárgyak, események és környezetük tulajdonságait reprezentálják Megfigyelések eredményeként jönnek

Részletesebben

Adatbázisok I. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1

Adatbázisok I. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 Adatbázisok I. 1 Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 1-2 Ajánlott irodalom C. J. Date - An introduction to Database System (6) Békési-Geda-Holovács-Perge : Adatbázis-kezelés, EKF

Részletesebben

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL a relációs adatbázis-kezelő rendszerek ma legelterjedtebb szabványosított adatbáziskezelő nyelve. Az IBM dolgozta ki 1983-ban,

Részletesebben

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben? Adatbázis modellek 5. téma XML DB Az adatkezelés és XML kapcsolata Miért fontos az XML használata az adatbázis kezelésben? Adattárolás alapformái: - strukturált - szabad-szöveges - szemi struktúrált -

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. november 20. 10. El adás SQLite SQLite: Adatbázis kezel rendszer SQL standardokat nagyrészt követi Nagyon elterjedt, pl böngész kben is használt Nehéz olyan programnyelvet

Részletesebben

Adatmodellezés. 1. Fogalmi modell

Adatmodellezés. 1. Fogalmi modell Adatmodellezés MODELL: a bonyolult (és időben változó) valóság leegyszerűsített mása, egy adott vizsgálat céljából. A modellben többnyire a vizsgálat szempontjából releváns jellemzőket (tulajdonságokat)

Részletesebben

Informatikai alapismeretek Földtudományi BSC számára

Informatikai alapismeretek Földtudományi BSC számára Informatikai alapismeretek Földtudományi BSC számára 2010-2011 Őszi félév Heizlerné Bakonyi Viktória HBV@ludens.elte.hu Titkosítás,hitelesítés Szimmetrikus DES 56 bites kulcs (kb. 1000 év) felcserél, helyettesít

Részletesebben

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázis-kezelő rendszerek. dr. Siki Zoltán Adatbázis-kezelő rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati

Részletesebben

Adatbázisok elmélete 10. előadás

Adatbázisok elmélete 10. előadás Adatbázisok elmélete 10. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE

Részletesebben

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán Adatbázis rendszerek Molnár Bence Szerkesztette: Koppányi Zoltán A mai órán A mai órán Házi tapasztalatok SQL (és ami mögötte van) Házi tapasztalatok Házi tapasztalatok Házik besorolása megtörtént Oktatói

Részletesebben

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata: ADATSZERVEZÉS Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata: fájlrendszerek (a konvencionális módszer) és adatbázis rendszerek (a haladóbb

Részletesebben

Kliens oldali SQL-API

Kliens oldali SQL-API Adatbázis rendszerek I mysql SQL program API ME- GEIAL Dr. Kovács Lászl szló Üzleti logika elhelyezése adatbázis Kliens üzleti logika Nagy hálózati forgalom Decentralizált lt karbantartás Lassabb végrehajt

Részletesebben

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Programozás. Adatbázis-kezelés (alapok) Fodor Attila Programozás Adatbázis-kezelés (alapok) Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. április 22. Bevezetés Adatbáziskezelés

Részletesebben

Adatbázis Rendszerek II. 8. Gyakorló környezet

Adatbázis Rendszerek II. 8. Gyakorló környezet Adatbázis Rendszerek II. 8. Gyakorló környezet 1/24 B IT v: 2017.10.26 MAN Gyakorló környezet Géptermek 193.6.5.58:8080/apex H16_neptunkód ADMIN neptunkód 2/24 Jelszó váltás 1 2 3 4 3/24 Gyakorló környezet

Részletesebben

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ Lénárt Balázs tanársegéd TANTERV Hét Dátum Előadó Előadások Időpont: szerda 8:30-10:00, helye: LFSZÁMG Dátum Gyakvezető 1. 9. 11. Tokodi Adatbázis kezelés

Részletesebben

Adatbázis Rendszerek II. 3. SQL alapok

Adatbázis Rendszerek II. 3. SQL alapok Adatbázis Rendszerek II. 3. SQL alapok 22/1 B IT v: 2016.10.20 MAN Oracle adattípusok Szöveges adattípusok CHAR (1-2000) VARCHAR (1-4000) VARCHAR2 (1-4000, nemzeti karakterekhez) CLOB (max. 8 TB) NCLOB

Részletesebben

Adatbázis-kezelés. Második előadás

Adatbázis-kezelés. Második előadás Adatbázis-kezelés Második előadás 19 Adatmodell Modell: a valóság olyan matematikai vagy tárgyi leképezése, ami a modellalkotó számára fontos tulajdonságokban egyezést utat a valósággal. Adatmodell: az

Részletesebben

Adatbázis rendszerek 1. 5.Gy: ER relációs konverzió

Adatbázis rendszerek 1. 5.Gy: ER relációs konverzió Adatbázis rendszerek 1. 5.Gy: ER relációs konverzió 1/60 B ITv: MAN 2018.10.14 A féléves feladat Témakör: Relációs adatbázis tervezés, SQL Feladat részletezése: A tervezett adatbázis szöveges leírása:

Részletesebben

Relációsémák létrehozása SQL nyelvben

Relációsémák létrehozása SQL nyelvben Relációsémák létrehozása SQL nyelvben SQL (Structured Query Language) lekérdezés módosítás relációséma leírására alkalmas utasítások: attribútumnevek, attribútumok adattípusa megszorításokat is megadhatunk,

Részletesebben

Rekord adattípus. Egymásba ágyazott rekordok. With utasítás. Változó rekord. Rekord konstans

Rekord adattípus. Egymásba ágyazott rekordok. With utasítás. Változó rekord. Rekord konstans Témakörök: k: Rekord adattípus Egymásba ágyazott rekordok With utasítás Változó rekord Rekord konstans 1. A rekord adattípus Sokszor találkozunk lkozunk olyan feladattal, melyben összetartozó adatokat,

Részletesebben

Adat és folyamat modellek

Adat és folyamat modellek Adat és folyamat modellek Előadásvázlat dr. Kovács László Folyamatmodell nyersanyag miből termék mit funkció ki munkaerő eszköz mivel Objektumok Tevékenységek Adatmodell Funkció modell Folyamat modell

Részletesebben

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat 2012.03.05.

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat 2012.03.05. 1 2 Adatbáziskezelı-szerver Általában dedikált szerver Optimalizált háttértár konfiguráció Csak OS + adatbázis-kezelő szoftver Teljes memória az adatbázisoké Fő funkciók: Adatok rendezett tárolása a háttértárolón

Részletesebben

2012.02.08. Ajánlott irodalom. Adatbázisok I.

2012.02.08. Ajánlott irodalom. Adatbázisok I. Ajánlott irodalom Adatbázisok I. Szendrői Etelka főiskolai docens Rendszer- és Szoftvertechnológia Tanszék szendroi@pmmk.pte.hu Ullmann, Jeffry David, Adatbázisrendszerek: Alapvetés Kovács László (2004)

Részletesebben

SQL DDL-2 (aktív elemek) triggerek

SQL DDL-2 (aktív elemek) triggerek SQL DDL-2 (aktív elemek) triggerek Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.fej.: Megszorítások és triggerek 7.4. Önálló megszorítások 7.5. Triggerek

Részletesebben

ADATBÁZISOK I. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: 2013. március 20.

ADATBÁZISOK I. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: 2013. március 20. ADATBÁZISOK I. Szerkesztette: Bókay Csongor Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: 2013. március 20. Ez a Mű a Creative Commons Nevezd meg! - Ne add el!

Részletesebben

Adatbázis rendszerek Gy: DQL Lekérdezések

Adatbázis rendszerek Gy: DQL Lekérdezések Adatbázis rendszerek 1. 11.Gy: DQL Lekérdezések. 70/1 B IT v: 2018.11.24 MAN DQL utasítások 70/2 Projekció Szelekció Feltételek megfogalmazása Rendezés a lekérdezésben Aggregáció a lekérdezésben Csoportképzés

Részletesebben

Marton József BME-TMIT. Adatbázisok VITMAB november 11.

Marton József BME-TMIT. Adatbázisok VITMAB november 11. Marton József BME-TMIT Gajdos Sándor diasorának felhasználásával Adatbázisok VITMAB00 2016. november 11. A lekérdezés-feldolgozás folyamata I. Cél: az adatok adatbázisból való kinyerése Mivel: egyértelmű,

Részletesebben

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán Adatbázis rendszerek Molnár Bence Szerkesztette: Koppányi Zoltán A mai órán A mai órán SQL (és ami mögötte van) Mi lesz a ZH-ban? SQL Történet 1970-es évek eleje IBM SEQUEL (Structured English QUery Languge)

Részletesebben

Adatbázis rendszerek Ea: Esqúel. Structured Query Language

Adatbázis rendszerek Ea: Esqúel. Structured Query Language Adatbázis rendszerek 1. 4. Ea: Esqúel Structured Query Language 64/1 B ITv: MAN 2015.09.17 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítás DCL utasítások Gyakorló feladatok Ellenőrző kérdések

Részletesebben

A könyv tartalomjegyzéke

A könyv tartalomjegyzéke A könyv tartalomjegyzéke Elıszó Bevezetés Adatbázis-kezelı rendszerek Adatmodellezés Alapfogalmak Egyedhalmaz, egyed Kapcsolat, kapcsolat-elıfordulás, kapcsolat típusa Tulajdonság, tulajdonságérték, értékhalmaz

Részletesebben

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN B IT v: 2016.02.10 MAN SQL felületek Hatékony: SQL parancsok kiadására Eredmények megtekintésére Nehézkes: Nagyobb volumenű, rutintevékenységek

Részletesebben

Adatbázis-kezelés. alapfogalmak

Adatbázis-kezelés. alapfogalmak Adatbázis-kezelés alapfogalmak Témakörök Alapfogalmak Adatmodellek Relációalgebra Normalizálás VÉGE Adatbázis-kezelő rendszer Database Management System - DBMS Integrált programcsomag, melynek funkciói:

Részletesebben