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



Hasonló dokumentumok
Adatbázisok* tulajdonságai

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

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

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

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

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

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

BEVEZETÉS Az objektum fogalma

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

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

Adattípusok. Max. 2GByte

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

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

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

Adatbáziskezelés alapjai. jegyzet

Adattípusok. Max. 2GByte

Adatbázis, adatbázis-kezelő

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

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

SQL parancsok feldolgozása

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

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

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

Bevezetés: az SQL-be

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

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

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

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

A könyv tartalomjegyzéke

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

Adatbázisok I A relációs algebra

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

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

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

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

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

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.

Lekérdezések az SQL-ben 1.rész

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

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.

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

Adatbázis rendszerek SQL nyomkövetés

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

Webfejlesztés 4. alkalom

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

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

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

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

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

Alkalmazói rendszerek ACCESS ZH - javítókulcs Informatika tanár MSC, levelező tagozat, január 06.

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

Az SQL adatbázisnyelv: DML

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

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

Lekérdezések az SQL-ben 1.rész

Elemi alkalmazások fejlesztése IV.

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

Adatbázisok I. Az SQL nyelv

Adatigények. Koncepcionális séma (magas szintű modell) Logikai séma (alacsony szintű modell) Belső séma (fizikai szerkezet, hozzáférési módok)

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

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

Csoportosított adatok megjelenítése összesítı függvények használatával. Copyright 2004, Oracle. All rights reserved.

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

BEVEZETÉS Az objektum fogalma

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

ADATBÁZISKEZELÉS ADATBÁZIS

Adatbázis használat I. 5. gyakorlat

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

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

SQL DDL-1: táblák és megszorítások

INFORMATIKA INGYENES ELEKTRONIKUS TANANYAG ADATBÁZIS-KEZELÉS

Adatbáziskezelés alapjai ADATBÁZISKEKZELÉS 1

Adatmodellek. 2. rész

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

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Indexek és SQL hangolás

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

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

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

(Cikksorozat a portálról. Átszerkesztette és kiegészítette: Szentendrey Péter) TARTALOM

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adatbázis rendszerek. dr. Siki Zoltán

Adatmodellezés. 1. Fogalmi modell

INFORMATIKA INGYENES ELEKTRONIKUS TANANYAG ADATBÁZIS-KEZELÉS FELADATOK

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

ADATBÁZIS RENDSZEREK I BEADANDÓ

SQL DDL-2 (aktív elemek) triggerek

Java és web programozás

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

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

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

Adatbázisok - 1. előadás

Adatmodellezés, alapfogalmak. Vassányi István

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

Adatbázis tartalmának módosítása

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

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

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

Átírás:

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

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) 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 Rekord Azonosító Település Terület Népesség 1 Debrecen 46165 205910 2 Tát 1177 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 Egész (szám) FLOAT, DOUBLE Lebegıpontos szám DECIMAL Lebegıpontos szám karakterként tárolva DATE Dátum TIME Idı CHAR Szöveg (0-255) VARCHAR, TEXT Szöveg (0-65535) BOOLEAN Logikai

Példa kereskedelmi nyilvántartó rendszer létrehozása (tea)

Kialakítás (MS Excel) TEA_ID TEA_NEV TEA_TIPUS TEA_TIPUS_ID SZARM_HELY 1 Bi Lou Chun "Tai Hu" zöld 1 Kína 2 Huang Shan Mao Feng zöld 1 Kína 3 Wei Shan Mao Jian sárga 2 Kína 4 Shou Mei fehér 3 Kína 5 Tie Guan Yin oolong 4 Kína 6 Pu Erh Cha puerh 6 Kína 7 Diang Hong Cheng Hao fekete 5 Kína 8 Gokujoucha zöld 1 Japán 9 Formosa Bi Lou Chung zöld 1 Tajvan

Kialakítás (Access) Access_ismertetes_tea.mdb

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 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 DISTINCT 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>;

Nemzetközi adatbázisok

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