Adatbázisok* tulajdonságai



Hasonló dokumentumok
Gazdasági folyamatok térbeli elemzése. 5. elıadás

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

BEVEZETÉS Az objektum fogalma

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

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

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte

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

ADATBÁZISKEZELÉS ADATBÁZIS

Adatbázisok I. Az SQL nyelv

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

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

Adatbázisok I A relációs algebra

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

A könyv tartalomjegyzéke

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

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

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

Adatbázis használat I. 5. gyakorlat

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

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

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

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

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

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

Adatbázis rendszerek SQL nyomkövetés

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

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

SQL parancsok feldolgozása

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

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ázisok-1 előadás Előadó: dr. Hajas Csilla

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

INFORMATIKA. PRÓBAÉRETTSÉGI május KÖZÉPSZINT. Pontozási és javítási útmutató

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

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Óravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft Budapest, Szőlő u 21. Tel/fax: / krea@krea.

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

Adatok szűrése, rendezése

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

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

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

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

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv).

1. Az adatbázis fogalma, fontosabb összetevÿi, felhasználási módjai

Készítette: Szabóné Nacsa Rozália

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

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

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

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

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján

Gazdasági informatika vizsga kérdések

ADATBÁZIS-KEZELÉS ALAPOK I.

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adatbázisok, térképek, információs rendszerek. Elek István

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

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

Elemi alkalmazások fejlesztése IV.

Paraméteres-, összesítı- és módosító lekérdezések

3. Előadás. Az SQL adatbázisnyelv (Tartalom) Az SQL története. Az SQL felépítése. Adattípúsok. SQL utasítások

Bevezetés: az SQL-be

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

2. Az adatbázis-kezelés alapjai

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

Keskeny Zoltán 2007/08 SQL. Structured Query Language. (gyakorlat az SQL2 szabvány alapján) Keskeny Zoltán tanév

Webfejlesztés 4. alkalom

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

Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL

Adatbázis, adatbázis-kezelő

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

Relációs algebrai lekérdezések átírása SQL SELECT-re (példák)

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

Java és web programozás

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék INFORMATIKA 2 ADATBÁZISOK

A térinformatika t. Az informáci. ciós s rendszerek funkciói. Az adatok vizsgálata

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték

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

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

Adatbáziskezelés - SQL. Forrás: dr. Kovács László: Adatbázisok tervezésének és kezelésének módszertana Computerbooks

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

Informatikus informatikus Térinformatikus Informatikus T 1/9

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

SQL DDL-2 (aktív elemek) triggerek

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

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

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

Java és web programozás

Adatbázis használat I. 2. gyakorlat

ADATBÁZIS RENDSZEREK I BEADANDÓ

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

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

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5.

Adatbázis használata PHP-ből

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

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

Adatbázisrendszerek Radványi, Tibor

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

Átírás:

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 adatok között kapcsolatok és kényszerek állnak fenn Nem csak az adatok tárolására szolgál, hanem lehetővé teszi a kapcsolatokon keresztül az adatok kezelését Az adatbázis szerkezetét mindig a megoldandó feladathoz, az elérni kívánt célhoz határozzák meg és implementálják Az adatbázis a tárolt adatok és az adatbáziskezelő rendszer együtteseként értelmezendő. *Adatbázis = Data Base, DB

Adatbázisok követelményrendszere Új adat létrehozása, meglévő adatok módosítása vagy törlése, adatok különböző szempont szerinti szűrése Ugyanaz az adat csak egyszer szerepeljen (redundancia ne legyen) Adatok integritásának biztosítása (az adatok érvényesek és ellentmondásmentesek (konzisztensek) legyenek Az adattárolás és az adatok kezelésére szolgáló program teljesen elkülöníthető legyen Adatbázis-kezelő* rendszerek jellemzői Adatok struktúrált tárolása Adatkapcsolatok ábrázolása Adatok összekapcsolhatósága tekintet nélkül a forrásra Adatok módosításának felügyelete Adatmódosítási események naplózása ( logolás ) Felhasználói oldali programfüggetlenség Jogosultságkezelés Egyidejűleg többszörös hozzáférés Konfigurálhatóság Szabványos lekérdezőnyelv Adatvédelmi funkciók (titkosítás) Redundancia-mentes tárolás Konzisztencia biztosítása Interface (külső kommunikációs csatorna) Hibakezelés *Adatbázis kezelő rendszer = Data Base Management System, DBMS

Adatbázis elemek közötti viszony Adatbázis elemei - egyedtípusok (analógia: objektumosztályok) - tulajdonságtípusok (analógia: attribútumok) - kapcsolattípusok (analógia: topológia) Kapcsolattípusok 1:1 kapcsolat: az adatbázis elemei kölcsönösen egyértelmű hozzárendeléssel feletethetők meg egymásnak 1:N kapcsolat: az adatbázis elemei között a kapcsolat egyik irányban egyértelmű, másik irányban többértelmű M:N kapcsolat: az adatbázis elemei között mindkét irányból többértelmű kapcsolat Kapcsolattípusok I. 1:1 kapcsolat A halmaz: Magyarország településeinek neve B halmaz: Magyarországi települések belterülete súlypontja koordinátái

Kapcsolattípusok II. 1:N kapcsolat A halmaz: Magyarország megyéi B halmaz: Magyarországi települései (irányítószámmal!) Kapcsolattípusok III. M:N kapcsolat A halmaz: Magyarország ingatlanjainak helyrajzi száma és címe B halmaz: Magyarországi ingatlantulajdonosok névjegyzéke

Relációs adatbázismodell Adatbázis = relációk összessége Reláció = tábla (n x m mátrix), egyed Reláció (tábla) sorai rekordok (összetartozó mezők) Reláció oszlopai tulajdonságok (attribútum) Mező (cella) = a tábla i. oszlopában és j. sorában található elem Tulajdonság Azonosító Település Terület Népesség Rekord 1 2 Debrecen Tát 46165 1177 205910 5540 Mező (cella) Relációk jellemzői Reláció logikailag összetartozó adatok Reláció számossága = rekordok száma Reláció foka = oszlopok száma Szabályok egy relációban nem lehet két azonos oszlop minden rekordra ugyanazok a tulajdonságok vonatkoznak egy relációban nem lehet két azonos rekord a relációban tárolt rekordok és oszlopok sorrendje tetszőleges az oszlopok mezői az értékeiket egy definiált értékhalmazból vehetik fel a mezők csak 1 elemi értéket vehetnek fel, a nem definiált értéket NULL azonosítóval látja el

Relációkulcsok Azt az attribútumot (oszlopot, tulajdonságot) vagy attribútum halmazt (több oszlopot) melynek értékei egyértelműen azonosítják a relációt, a reláció kulcsának nevezzük. Egyszerű kulcs Összetett kulcs Elsődleges kulcs Másodlagos (idegen) kulcs egy attribútumból álló kulcs több attribútumból álló kulcs Az az attribútum, ami kizárólagosan azonosítja a táblát a teljes adatbázis szerkezetben. Értéke egyértelműen azonosítja a táblában lévő rekordokat, nem vehet fel NULL értéket. olyan attribútum vagy attribútum halmaz egy adott relációban, amelyik egy másik relációban elsődleges kulcsként szerepel Alapvető adattípusok Az adatbázis attribútumaihoz típust kell rendelnünk, éppúgy, mint az excel táblában a cellákhoz. Fontos lépés, ugyanis befolyásolja a bekerülő adatokkal kapcsolatos műveleteket! INTEGER, INT FLOAT, DOUBLE DECIMAL DATE TIME CHAR VARCHAR, TEXT BOOLEAN Egész (szám) Lebegőpontos szám Lebegőpontos szám karakterként tárolva Dátum Idő Szöveg (0-255) Szöveg (0-65535) Logikai

SQL SQL = Structured Query Language Az SQL a relációs adatbáziskezelők lekérdező nyelve Az SQL részei - adatdefiníciós nyelv DDL Data Definition Language - adatmanipulációs nyelv DML Data Modification Language (INSERT, UPDATE, DELETE) - adatlekérdező nyelv - adatvezérlő nyelv SELECT utasítás I. SELECT (mit?) FROM (mely táblából) WHERE (milyen feltételekkel?) Minden információ megjelenítése esetén SELECT * FROM <TÁBLA> ; Feltételekkel SELECT <ATTRIBÚTUM> FROM <TÁBLA> WHERE <FELTÉTEL>; Hivatkozásokkal SELECT <ATTRIBÚTUM> <ALIAS> FROM <TÁBLA> WHERE <FELTÉTEL>; Rendezéssel SELECT <ATTRIBÚTUM> <ALIAS> FROM <TÁBLA> WHERE <FELTÉTEL> ORDER BY <ATTRIBÚTUM>; Csoportosítással SELECT AGGREGÁLÓFGV(<ATTRIBÚTUM>), <ATTRIBÚTUM> <ALIAS> FROM <TÁBLA> WHERE <FELTÉTEL> ORDER BY <TÁBLANÉV> GROUP BY <ATTRIBÚTUM> <ALIAS>;

Összetett lekérdezések I. AND OR IS NULL IS NOT NULL LIKE BETWEEN AND IN NOT IN UNION UNION ALL INTERSECT és jelentésű, abban az esetben használatos, amikor az információk szűrése során az eredménynek 2 feltételt kell egyszerre kielégítenie vagy jelentésű, abban az esetben használatos, amikor az információk szűrése során az eredmény megfelelő bármely megadott feltétel teljesülése esetében érték nélküli jelentésű, a táblákban lévő NULL elemek szűrését teszi lehetővé olyan mint jelentésű, szöveg típusú mezőknél kereshetünk tetszőleges karaktersorozatra között jelentésű, használható dátumokra/időre, illetve numerikus értékekre vonatkozó -tól -ig feltétel megadásához benne van jelentésű, használata során egyetlen lépésben szűrhetjük a megadott halmaznak megfelelő rekordokat Halmazműveletek: egyesítés, különbség Összetett lekérdezések II. COUNT GROUP BY HAVING ABS, MIN, MAX, AVG, SUM +, -, /, *, <, >, <=, >=, DISTINCT hány darab jelentésű, az adott feltételeknek megfelelő rekordok számosságát adja meg csoportosít jelentésű, az adott feltételeknek megfelelő rekordok csoportosíthatók akkor, ha valamilyen aggregáló függvény szerepel a lekérdezésekben feltéve, ha jelentésű, a GROUP BY utasítással együtt használatos az általa előállított csoportokra adható meg keresési feltétel Aggregáló függvények Aritmetikai operátorok egy adott tulajdonságú elemet egyszer jelentésű

SELECT utasítás II. SELECT (mit?) FROM (mely táblákból) WHERE (milyen feltételekkel?) Amennyiben a lekérdezés nem csak egy táblát, hanem több táblát is érint, akkor a feltételek között meg kell adni azon attribútumok egyenlőségét, amelyek a táblák közötti kapcsolatokat definiálják! Ebben az esetben a mit? részbe nem csak az attribútum nevét kell megadni, hanem a <TÁBLA>.<ATTRIBÚTUM> értékeket, ugyanis a lekérdező nyelv nem tiltja a különböző relációkban az attribútumnevek azonosságát és csak ilyen formában tudja eldönteni, hogy melyik relációból vegye ki az megadott attribútum értékeket. DML utasítások UPDATE A művelettel egy adott tábla egy bizonyos sorában lévő mező(ke)t lehet módosítani UPDATE <TÁBLA> SET <ATTRIBÚTUM1=ÉRTÉK1, ATTRIBÚTUM2=ÉRTÉK2,...> WHERE <FELTÉTEL>; INSERT segítségével újabb sorokat hozhatunk létre egy adott táblában) INSERT INTO <TÁBLA> VALUES < >; DELETE segítségével sorokat törölhetünk egy adott táblából DELETE FROM <TÁBLA> WHERE <FELTÉTEL>;

Adatbázisok a gyakorlatban Szálláshely keresés 1. lépés

Szálláshely keresés további szűrések Szálláshely keresés találati lista

Milyen adatokból dolgozik az adatbázis? Egy szálláshelyről ismernünk kell - neve, címe (ország, település, jogállás, régió, kerület, utca, házszám) - milyen szolgáltatásokat nyújt (előre meghatározottak) - milyen jellegű a szálláshely - hány csillagos a szálláshely - milyen típusú a szálláshely - tagja-e valamilyen szállodaláncnak - 100 km-es körzeten belül lévő városoktól való távolság A foglalások általában szobákra történnek. Egy szobáról ismernünk kell: - mikor szabad és mikor foglalt - hány fő elhelyezésére alkalmas - mennyibe kerülnek az egyes szobák (/éj) - tartalmazza-e a szobaár a reggelit - milyen szolgáltatások/eszközök tartoznak a szobához Milyen kapcsolatokkal dolgozik az adatbázis? Szálláshelyek egyértelmű azonosítása a név és a cím alapján történik (ok: azonos nevű szálláshelyek lehetnek több országban, vagy különböző régiókban, településeken) Minden szálláshelynek van távolsága a 100km-en belüli városoktól (M:N kapcsolat, szélrózsaként kell elképzelni) Minden szálláshelynek vannak szolgáltatásai Minden szálláshelynek vannak attribútum adatai Minden szálláshelynek vannak szobái (1:N kapcsolat) Minden szobának van foglaltsága (1:N kapcsolat, hiszen egy adott azonosítóval rendelkező szoba egy és csak egy szálláshelyhez tartozhat) Minden szobának vannak attribútum adatai (1:N kapcsolat)

Szálláshely tábla lehetséges szerkezete SZALLASHELY tábla (reláció) ID (elsődleges kulcs) NEV ORSZAG REGIO TELEPULES JOGALLAS KERULET UTCA HAZSZAM TIPUS JELLEG CSILLAG SZALLODALANC SZOLGALTATAS_1 SZOLGALTATAS_2 Miért nem helyes így ez a szerkezet? 1. A szálláshely neve felvehet azonos értéket 2. Egy-egy országban, régióban, településen, kerületben, utcában, házszám alatt (!) lehet több szálláshely is 3. Egy-egy típusba, szállodaláncba, jellegbe sok szálláshely tartozhat Mi a megoldás? Az adatbázis felépítési követelményeinek megfelelően az értékhalmazokat ki kell emelni (egy-egy külön táblába), amely egyrészt segíti az adatok könnyű bővíthetőségét, másrészt gyorsíthatja a keresést és biztosítja az un. normál formák -nak való megfelelést.

Módosított szálláshely tábla SZALLASHELY tábla (reláció) SZALLASHELY_ID NEV CIM TIPUS JELLEG CSILLAG SZALLODALANC SZOLGALTATAS_1 SZOLGALTATAS_2 booking.com lehetséges szerkezete

Köszönöm a figyelmet! Ferencz Viktória vferencz@vati.hu