Térinformatikai adatbázisok 4. előadás

Hasonló dokumentumok
Bevezetés: az SQL-be

Oracle Spatial. Térbeli adatot tartalmazó tábla: Geometry table Legalább 2 oszlopa van: Elsődleges kulcs, SDO_GEOMETRY típusú oszlop.

modell, amiben csak bináris sok-egy kapcsolatok (link, memberowner,

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

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

Adatbázisrendszerek. adatbázisokban. Objektumorientált és objektum-relációs adatbázisok április 24.

Bevezetés: Relációs adatmodell

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

Bevezetés: Relációs adatmodell

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

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

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

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

BEVEZETÉS Az objektum fogalma

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

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben

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

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

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

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

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Adatmodellezés. 1. Fogalmi modell

Objektum orientált programozás Bevezetés

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

OOP. Alapelvek Elek Tibor

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

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

Téradatokkal kapcsolatos elemzések és fejlesztések a FÖMI Térinformatikai Igazgatóságán

Adatbázisok - 1. előadás

10. előadás. Alapfogalmak. Adatbázisrendszerek előadás november 28.

Adatbázis, adatbázis-kezelő

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

UML (Unified Modelling Language)

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

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

Adatbázis-kezelés. alapfogalmak

Térinformatika. j informáci. ciós s rendszerek funkciói. Kereső nyelvek (Query Languages) Az adatok feldolgozását (leválogat

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Objektum relációs lehetőségek az Oracle-ben. Katona Endre Adatbázis alapú rendszerek diasorozata alapján

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)

Szoftvertechnolo gia 7. gyakorlat

S0-02 Típusmodellek (Programozás elmélet)

Vizuális programozás gyakorlat

SQL parancsok feldolgozása

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

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

Adatbázisok* tulajdonságai

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

Adatbázis rendszerek tervezése

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

Adatbázis rendszerek. dr. Siki Zoltán

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai:

Adattípusok. Max. 2GByte

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

Adattípusok. Max. 2GByte

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

Adatbázisok tavaszi félév Vizsgatételsor

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

A relációs adatmodell

Relációs algebra 1.rész alapok

Spatial a gyakorlatban

Adatbázisok gyakorlat

Objektumorientált paradigma és a programfejlesztés

ADATBÁZISOK ELMÉLETE 5. ELŐADÁS 3/22. Az F formula: ahol A, B attribútumok, c érték (konstans), θ {<, >, =,,, } Példa:

Programozási nyelvek Java

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

Eseményvezérelt alkalmazások fejlesztése II 10. előadás. Objektumrelációs adatkezelés (Entity Framework) Cserép Máté

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

TÉRINFORMATIKAI ALGORITMUSOK

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

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

Interfészek. PPT 2007/2008 tavasz.

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 szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

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

Adatbázis rendszerek Definíciók:

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

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

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

Adatbázis-kezelés az Excel 2013-ban

TÉRINFORMATIKAI ALGORITMUSOK

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

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Adatbázis rendszerek SQL nyomkövetés

Mveletek a relációs modellben. A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére.

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Programozási nyelvek Java

Objektum-relációs adatbázisok. Felhasználói típusok (User-Defined Types) Objektum ID-k Beágyazott táblák (Nested Tables)

ADATBÁZIS-KEZELÉS. Relációs modell

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

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

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

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

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

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

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

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

Átírás:

Térinformatikai adatbázisok 4. előadás Felhasználtam Dr. Benczúr András korábbi jegyzeteit, illetve Pat Browne Spatial Databases kurzusának (Dublin Institute of Technology) jegyzetét

Elérhetőségek, információk Szalai-Gindl János Márk (ELTE, Információs Rendszerek Tanszék) Email: szalaigindl@inf.elte.hu Szoba: 2.507 (déli tömb) Honlap: http://szalaigj.web.elte.hu/index.php/terinformatikaiadatbazisok-eloadas/ Irodalom: Rigaux-Scholl-Voisard: Spatial Databases with Application to GIS (Academic Press 2002.) 2

Relációs modell kiterjesztése ADTkkel A megszokott értékek mellett ADT-k kezelését is lehetővé tesszük attribútum értéke: milyen típusú és milyen műveletek vannak rajta értelmezve Az előzőekben definiált tér-adattípusokat használjuk a kiterjesztésben Referencia sémák reprezentálása: Minden entitás (egyed) típus reláció a megfelelő attribútumokkal Az 1:n kapcsolatok: szokásos elsődleges kulcs idegen kulcs reprezentálás Közigazgatási egységek: mindenütt van geometria, pedig összerakható az megyékből; hasznos redundancia, ritkán változik! másik oldalról: populáció csak megyéknél idegen kulcs hivatkozási egység ÚJ: a region adattípus megjelenése 3

Relációs modell kiterjesztése ADTkkel Közigazgatási egységek (csak ezt nézzük meg, a többi hasonlóan) Create Table Country (country_code integer, country_name varchar (30), geometry region, Primary Key (country_code)) Create Table State (state_code integer, state_name varchar (30), country_code integer, geometry region, Primary Key (state_code), Foreign Key (country_code) References Country) Create Table County (county_code integer, county_name varchar (30), state_code integer, population integer, geometry region, Primary Key (county_code) Foreign Key (state_code) References State) 4

Referencia-kérdések a kiterjesztett relációs modellben ALPHA kérdések a jól ismert SQL közönséges kérdései select from where Pl.: ALPHA-ADM3: az USA lakosságának száma: select sum(c2.population) from Country c1, State s, County c2 where c1.country_name = "USA" and s.state_code = c2.state_code and c1.country_code=s.country_code Fontos tulajdonsága a relációs modellnek: az xxx_code alapján történő tartalmazási viszony join-nal történő kifejezése 5

Referencia-kérdések a kiterjesztett relációs modellben SPAT kérdések: speciális függvényekre is szükségünk lesz (a region, line, point ADT típusok műveletei) where-ben feltételek, kifejezések select-ben kifejezések, aggregálók SPAT-ADM4: a San Francisco megyével szomszédos megyék ugyanabból az államból select c1.county_name from County c1, County c2 where c2.county_name = "San Francisco" and c1.state_code = c2.state_code and Meets (c1.geometry, c2.geometry) 6

Referencia-kérdések a kiterjesztett relációs modellben SPAT-ADM5: Kalifornia állam megjelenítése minden szinten van geometria: select geometry from State where state_name = "California" ha csak County szinten lenne: select RegionUnion(c.geometry) from County c, State s where s.state_code = c.state_code and s.state_name = "California" 7

Referencia-kérdések a kiterjesztett relációs modellben SPAT-ADM6: megyék, amelyek nagyobbak Kalifornia állam legnagyobb megyéjénél select county_name from County where Area(County.geometry) > (select max(area(c.geometry)) from County c, State s where s.state_name = "California" and s.state_code = c.state_code) SPAT-R3: az Interstate 99 autóút hossza select sum(length(s.geometry)) from Highway h1, HighwaySection h2, Section s where h1.highway_name = "I99" and h1.highway_code = h2.highway_code and h2.section_code = s.section_code 8

Referencia-kérdések a kiterjesztett relációs modellben SPAT-ADMR1: az összes autóút, amely át megy Kalifornia államon select distinct h1.highway_name from State s1, Highway h1, HighwaySection h2, Section s2 where s1.state_name = "California" and h1.highway_code = h2.highway_code and h2.section_code = s2.section_code and OverlapsLR (s2.geometry, s1.geometry) SPAT-ADM-LU1: jelenítsük meg San José megye minden lakóterületét select Intersection(l.geometry, c.geometry) from County c, Land_Use l where c.county_name = "San Jose" and l.land_use_type = "residental area" and Overlaps (l.geometry, c.geometry) 9

Referencia-kérdések a kiterjesztett relációs modellben SPAT-ADM-LU2: a közigazgatási egységek és a föld-használat témák fedése select county_name, l.land_use_type, Intersection(c.geometry, l.geometry) from County c, Land_Use l where Overlaps(c.geometry, l.geometry) INTER kérdések közül csak egyet nézzünk meg képernyő interakcióként jön a @point INTER-R6: az autóút leírása, amelynek szakaszára rámutatunk a képernyőn select h2.highway_name, h2.highway_type from HighwaySection h1, Highway h2, Section s where h1.highway_code = h2.highway_code and h1.section_code = s.section_code and PointInLine (s.geometry, @point) 10

Objektum-orientált modellek rövid OODBMS áttekintés Nincs egyetlen, szabványosított modell, bár egy kvázi standard javaslat van az Object Database Management Group ODMG modell (1993) Objektum azonosság: oid élete végéig azonosít egy objektumot, függetlenül az attribútum értékektől Típusok, osztályok, metódusok: objektum: (oid, értékek, metódusok) érték-típus: atomi értékek (string, integer) + oid (egy másik objektumé), összetett típus konstruktorok: pl. tuple (sor), set (halmaz) vagy list (rendezett halmaz/felsorolás) azonos érték-típus objektumok: egy osztályt definiálnak, viselkedés: metódusok halmazával van kifejezve, amelyek az osztályhoz tartozó objektumokon hajthatóak végre 11

Objektum-orientált modellek rövid OODBMS áttekintés Egységbezárás: osztály: absztrakt adattípus implementációja, egységbezárás eltakarja az adatokat, a szerkezetet és a metódusokat egységként: objektumokként kezeli Öröklődés: osztály alosztály (ISA hierarchia) típus öröklődik, finomodik: pl. több attribútum általánosítás specializálás többszörös öröklődés 12

Objektum-orientált modellek a referencia séma reprezentálása Minden egyes téma, és minden egyes ADT egy osztály által van materializálva Fontos eltérés: nem kell explicit azonosító (primary key), nem kellenek a xxx_code attribútumok Hivatkozás befoglalóra: pl. country_in_state, state_in_county Kétféle térbeli osztály: témák: egy-egy osztály ADT-k: egyszerű vektor spagetti modelltől kezdve a komplex topológiai modellekig lehet különböző lehetséges struktúrákat venni Class Highway tuple (highway_name: string, highway_type: string, sections: list(section)) Class Section tuple (section_name: string, number_lanes: integer, city_start: City, city_end: City, geometry: Line) Class City tuple (city_name: string, population: integer, geometry: Region) 13

Objektum-orientált modellek referencia kérdések OQL stílusban ALPHA-ADM1: lakosok száma San Francisco megyében select c.population from c in Counties where c.county_name = "San Francisco" Megjegyzés: itt a c egy OID a Counties class-ból Ha Counties típusa tuple (attribútumokkal), akkor oid.attr_név: olyan, mint egy metódus SPAT-R3: az Interstate 99 autóút hossza Tegyük fel, hogy az All_highways: set(highways) a belépési pont az adatbázishoz sum(select s.geometry length() from h in All_highways, s in h.sections where h.highway_name = "I99") 14

Feltételeket leíró adatmodell A térbeli objektumok logikai modellezésének egy alternatív megközelítése feltételeket leíró adatmodell (constaint data model) Relációs DB-k fő korlátozó tényezője térbeli adat szempontból: végtelen relációkat nem tud reprezentálni és manipulálni térbeli pontok végtelen halmazának kezelése, mint végtelen sok sorból álló reláció Feltétel DB-k (constraint database) főcélja, hogy a relációs DB-ket kiterjeszti a végtelen relációk kezelésével Eredményül olyan adatmodellt kapunk, amely felöleli a klasszikus (véges rel.) és térbeli adatokat (végtelen rel.), és a térbeli lekérdezéseket tiszta relációs nyelvvel meg tudjuk fogalmazni 15

Téradatok modellezése feltételekkel A fenti ábrán látható pontokat az alábbi bal oldali SPAT reláció reprezentálja, a konvex négyszögön belüli pontokat (végtelen sok) pedig a jobb oldali SPAT2: x y 1 1 7 3 4 4 7 1 x y 1 1 1.001.. 1 7 3 16

Téradatok modellezése feltételekkel Átmenetileg tekintsünk el a végtelen sor problémájától térobjektum ábrázolása, esetleg végtelen sorral Két objektum metszete: obj1 obj2: select x, y from obj1, obj2 where obj1.x = obj2.x and obj1.y = obj2.y Lényegtelen lett, hogy milyen típusú (tartomány, poligon vonal stb.) Hogyan lehetne a tartományokat végesen reprezentálni megtartva a fenti egyszerű relációs lehetőséget? feltételekkel 17

Téradatok modellezése feltételekkel végtelen relációk véges reprezentálása Véges ponthalmaz az előbbi ábrán: φ SPAT1 (x = 1 y = 1) (x = 7 y = 3) (x = 4 y = 4) (x = 7 y = 1) A konvex tartomány: négy egyenes által adott félsíkok metszete: φ SPAT2 (y x) (y 1) (x 7) (x + 3y 16 0) Töröttvonal: pl. az alábbi ábrán lévő vektor módban a pontok listája: L =< [4,3], [6,5], [8,2], [10,5] > 18

Téradatok modellezése feltételekkel végtelen relációk véges reprezentálása Az előbbi töröttvonal feltétel reprezentációval: φ s1 4 x 6 3 y 5 x y 1 = 0 φ s2 6 x 8 2 y 5 3x + 2y 28 = 0 φ s3 8 x 10 2 y 5 3x 2y 20 = 0 φ L φ s1 φ s2 φ s3 (Diszjunktív Normál Forma) Tartomány: ha nem konvex, akkor konvex tartományokra daraboljuk: P = T 1 T 2 T n φ T1 a konvex tartomány feltételformulája φ P φ T1 φ T2 φ Tn Az alábbiakat használjuk a formulákban: aritmetikai kifejezések között egyenlőséget, egyenlőtlenséget ilyenek diszjunkcióját és konjunkcióját 19

Téradatok modellezése feltételekkel végtelen relációk véges reprezentálása Ilyen feltétel: szimbolikus reláció-sor: végtelen pontot jelent A lekérdezés eredménye lehet-e ugyanilyen? (A klasszikus relációknál így van) például: két objektum φ obj1 és φ obj2 metszete: {x, y φ obj1 φ obj2 } uniója: {x, y φ obj1 φ obj2 } Áttértünk kalkulusra: maga a kérdés ugyanolyan, mint a feltételek. Nem vezet ki belőle, formálisan kezelhető. 20

Téradatok modellezése feltételekkel az eddigiek összefoglalása Absztrakt szint: az absztrakt relációké, amelyek lehetnek végesek vagy végtelenek a felhasználót nem foglalkoztatja egy reláció végessége, ő egységesen táblák halmazának látja az adatbázist Szimbolikus szint: támogatja a végtelen relációk véges reprezentációját az adat reprezentáció és manipulálás technikai értelmezését nyújtja Fizikai szint: tárolja a relációkat és teljesíti a lekérdezéseket adatbázis hozzáférés biztosításával (ezzel nem foglalkoztunk) 21

Köszönöm a figyelmet! 22