Dane przestrzenne w relacyjnych bazach danych



Podobne dokumenty
DANE PRZESTRZENNE W BAZACH DANYCH SYSTEMU MICROSOFT SQL SERVER 2008 R2 WPROWADZENIE

Przestrzenne bazy danych. Definicja i cechy przestrzennych baz danych

Baza danych. Modele danych

Wykład I. Wprowadzenie do baz danych

Bazy danych Wykład zerowy. P. F. Góra

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Przestrzenne bazy danych. Wstęp do przestrzennych baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Paweł Kurzawa, Delfina Kongo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Wykład 2. Relacyjny model danych

Charakterystyka przestrzennych typów danych. do tworzenia raportów. Using spatial data types in reports.

Systemy baz danych. mgr inż. Sylwia Glińska

Bazy danych - wykład wstępny

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Baza danych. Baza danych to:

Język SQL, zajęcia nr 1

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

WPROWADZENIE DO BAZ DANYCH

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Podstawowe zagadnienia z zakresu baz danych

Przestrzenne bazy danych. Funkcje geometryczne

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

2017/2018 WGGiOS AGH. LibreOffice Base

Programowanie w Ruby

Technologia informacyjna

QUERY język zapytań do tworzenia raportów w AS/400

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

GML w praktyce geodezyjnej

SIECI KOMPUTEROWE I BAZY DANYCH

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

Relacyjne bazy danych a XML

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel

Bazy danych TERMINOLOGIA

Wykład 05 Bazy danych

Alicja Marszałek Różne rodzaje baz danych

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Struktura drzewa w MySQL. Michał Tyszczenko

z dnia r. w sprawie bazy danych obiektów topograficznych oraz mapy zasadniczej

Ref. 7 - Język SQL - polecenia DDL i DML

serwisy W*S ERDAS APOLLO 2009

KURS ACCESS 2003 Wiadomości wstępne

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Multimedialne bazy danych. Andrzej Łachwa, WFAiIS UJ 2011

Relacyjny model baz danych, model związków encji, normalizacje

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

WPROWADZENIE DO BAZ DANYCH

Fizyczna struktura bazy danych w SQL Serwerze

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Relacyjne bazy danych. Podstawy SQL

Pojęcie bazy danych funkcje i możliwości

Pojęcie bazy danych. Funkcje i możliwości.

Bazy danych. Dr inż. Paweł Kasprowski

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

1 XML w bazach danych

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Oracle11g: Wprowadzenie do SQL

Shapefile, GeoPackage czy PostGIS. Marta Woławczyk (QGIS Polska)

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

15. Funkcje i procedury składowane PL/SQL

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Wykład 8. SQL praca z tabelami 5

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Przestrzenne bazy danych. Typy obiektów przestrzennych

Projektowanie relacyjnych baz danych

Technologia informacyjna

INTERNETOWY KURS PODSTAW IT

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Spis treści. Przedmowa

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

SIECI KOMPUTEROWE I BAZY DANYCH

TI - Bazy TECHNOLOGIE INFORMACYJNE

Database Connectivity

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Wstęp do relacyjnych baz danych. Jan Bartoszek

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Dr Michał Tanaś(

Wykład 5. SQL praca z tabelami 2

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Transkrypt:

Jacek BARTMAN Uniwersytet Rzeszowski, Polska Dariusz SOBCZYŃSKI Politechnika Rzeszowska, Polska Dane przestrzenne w relacyjnych bazach danych Wstęp Nowoczesne społeczeństwo to społeczeństwo informacyjne, w którym informacja jest najbardziej wartościowym i pożądanym towarem. Dlatego konieczne jest gromadzenie i szybkie oraz efektywne przetwarzanie danych w celu uzyskania z nich niezbędnych informacji. Aktualnie gromadzimy coraz to większe ilości danych, ale co bardzo charakterystyczne, dane te pochodzą z bardzo różnych źródeł. Do klasyczne źródeł danych, takich jak dokumenty czy pomiary, w ostatnich latach dołączyły również zdjęcia, mapy, dźwięk, strony internetowe czy filmy. Dane te mają zupełnie inny charakter i właściwe ich gromadzenie oraz przetwarzanie stanowi poważne wyzwanie. W niniejszej publikacji przedstawimy konsekwencje tych zmian korzyści, jakie uzyskujemy z poszerzenia zakresu przechowywanych i przetwarzanych danych, oraz problemy z tym związane. Bazy danych jako źródło informacji Informacja może zostać należycie wykorzystana jedynie wtedy, gdy jest pełna, wiarygodna, uporządkowana i posiada odpowiednią formę. Pełną informację możemy uzyskać tylko wtedy, gdy gromadzone dane w pełni opisują wszystkie interesujące nas cechy rzeczywistości, gdy stanowią wierne odzwierciedlenie swego obszaru analizy. Dane niekompletne mogą być przyczyną wprowadzenia w błąd, jeżeli użytkownik nie jest świadom ich niekompletności. Natomiast gdy użytkownik ma świadomość niekompletności danych, musi szukać dodatkowych informacji w innych źródłach, jeżeli pragnie zminimalizować swoją niepewność (swój stopień niewiedzy) w interesującym go obszarze rzeczywistości. Z punktu widzenia komplementarności informacji możliwość zapisu w bazach danych danych w nowych formatach (obrazy, dźwięk, filmy) jest bardzo pożądana. Informacja niewiarygodna to informacja bezwartościowa. Trudno ją nazwać nawet informacją. Przyczyną niewiarygodności informacji jest niewiarygodność danych i tu mamy kolejny atut nowych rodzajów formatów danych, które pozwalają zapisać w bazie materiał nieprzetworzony, np. mapę zamiast jej opisu. 244

Posortowanie, czyli uporządkowanie danych, ułatwia ich analizę oraz przeszukiwanie, dzięki czemu dostęp do informacji jest łatwiejszy. W celu gromadzenia, przetwarzania i udostępniania informacji stosuje się bazy danych, które winny być odpowiednio zaprojektowane zgodnie z wymogami modelu danych, który chcemy zastosować [Bartman 2013: 1]. Odpowiednia forma danych służy przede wszystkim zachowaniu zawartych w nich informacji. Jednocześnie forma danych winna ułatwiać proces ich gromadzenia oraz przetwarzania. Poszczególne właściwości modelowanej rzeczywistości zapisuje się w danych w postaci atrybutów, które ze względu na rodzaj przechowywanej w nich informacji dzielimy na (rys. 1): atrybuty opisowe mające charakter zapisów w postaci słów, liczb, dat itp. symbolicznie wyrażających określoną cechę, atrybuty multimedialne mające charakter złożony, wyrażające często w sposób niepodzielny wiele cech modelowanej rzeczywistości. Rys. 1. Podział danych gromadzonych we współczesnych bazach danych Specyfika relacyjnego modelu danych Relacyjny model danych został opublikowany w 1970 r. przez E. Codda. Jego siłą są mocne podstawy teoretyczne gwarantujące przewidywalność przetwarzania danych [Bartman 2013: 1]. Model zbudowany został na bazie teorii zbiorów oraz teorii predykatów i stanowi podstawę relacyjnych baz danych. Zasadą, na której został zbudowany model relacyjny, jest założenie, iż typowa baza danych składa się z szeregu nieuporządkowanych relacji, którymi można manipulować, używając nieproceduralnych operacji zwracających całe relacje. Zgodnie z założeniami modelu relacja służy do reprezentowania różnych rzeczy ze świata rzeczywistego i każda powinna reprezentować tylko jedną taką rzecz relacja powinna opisywać tylko jeden rodzaj rzeczy. Rzeczy mogą być rzeczywistymi podmiotami bądź zdarzeniami. Na przykład rzeczywistym obiektem może być klient, przedmiot z inwentarza lub faktura. Przykładami zdarzeń 245

mogą być wizyty pacjentów, zlecenia czy rozmowy telefoniczne. Relacje stanowią zbiór jednakowych rekordów zapisanych w formie tablic spełniających następujące warunki: każda relacja w bazie danych ma jednoznaczną nazwę, każda kolumna ma jednoznaczną nazwę w ramach relacji, wszystkie wartości w kolumnie są tego samego rodzaju, porządek kolumn w relacji nie jest istotny, kolejność wierszy nie jest istotna, wiersze mają unikalne wartości (są różne), każde pole relacji winno zawierać elementarne wartości. Większość z wymienionych wyżej cech wydaje się oczywista, jedynie dwie ostatnie stanowią wyróżnik relacji wobec zwykłych tabel. W celu zapewnienia unikalności wierszy stosuje się w modelu relacyjnym klucze pierwotne (klucze główne), które umożliwiają jednoznaczną identyfikację krotek i pozwalają niezależnie od struktury rekordu i charakteru gromadzonych w jego polach danych uniknąć niejednoznaczności. Wypełnienie więc tego warunku jest możliwe również w sytuacji, gdy w polach rekordu wpisywane są wartości o charakterze nierelacyjnym. Wymóg, aby każde pole zawierało wartości elementarne, jest bardzo ważny, gdyż spełnienie go ułatwia proces wyszukiwania danych w tabelach. Podczas projektowania baz danych wymóg ten jest wymuszany poprzez pierwszą postać normalną mówiącą o funkcyjnej zależności atrybutów niekluczowych od klucza głównego. Oczywiście elementarność danych należy traktować w sensie semantycznym, co sprowadza się do tego, iż pewne dane mogą w jednej bazie być elementarne, a w innej już nie. Tym niemniej wymóg ten jest praktycznie nie do spełnienia przez dane zaawansowane, a więc również dane przestrzenne. Obowiązujący standard najpopularniejszego języka dedykowanego do obsługi relacyjnych baz danych języka SQL nie przewidywał konstrukcji, które pozwalałyby na obsługę danych przestrzennych czy jakichkolwiek danych multimedialnych. Podczas prac nad uzupełnieniem standardu o obsługę zaawansowanych typów danych zwyciężyła koncepcja opracowania nowego standardu zawierającego specyfikacje bibliotek opartych na typach obiektowych SQL99, które byłyby dedykowane do obsługi specjalistycznych typów danych i aplikacji [Jankiewicz 2014: 2]. Nowy standard funkcjonuje pod nazwa SQL/MM. Wykorzystanie w specyfikacji standardu SQL/MM obiektowych typów SQL daje możliwość wykorzystania bibliotek z poziomu języka SQL, co zwiększa funkcjonalność systemu. Dane przestrzenne i relacyjna baza danych Klasyczne bazy danych zawierające tylko dane o charakterze opisowym nie są praktycznym narzędziem do obrazowania przestrzennego położenia obiektów. 246

Kłopotliwe jest bezpośrednie ich wykorzystanie w celu np. planowania zabudowy, zarządzania infrastrukturą itp. Systemy uwzględniające geograficzną lokalizację opisywanych obiektów określa się mianem Systemów Informacji Geograficznej (GIS). Najprościej GIS można zdefiniować jako połączenie mapy z klasyczną bazą danych. Mapa przechowuje dane przestrzenne w postaci graficznej, zaś baza danych (tablice) przechowuje dane opisowe, przedstawia cechy atrybutowe obiektów i zjawisk. Oba te elementy są ze sobą połączone w taki sposób, aby dostarczać najpełniejszej informacji: zarówno w postaci graficznej, jak i opisowej (rys. 2). Rys. 2. Przykład powiązania danych opisowych i przestrzennych W ostatnich latach większość z najpopularniejszych systemów zarządzania relacyjnymi bazami danych (np. MS SQL, Oracle) została wyposażona w możliwość zapisu danych przestrzennych pomimo ich nieelementarności i niemożliwości zadośćuczynienia formalnym wymogom podanym przez Codda. Dane przestrzenne w MS SQL MS SQL Server oferuje dwa typy danych przestrzennych: typ GEOMETRY oraz typ GEOGRAPHY. Są one dostarczane w bibliotekach SqlServerSpatial.dll oraz Microsoft.SqlServer.Types.dll. Oba typy są zgodne ze specyfikacją stworzoną przez konsorcjum OGC (Open Geospatial Consortium). Model OGC wprowadza (rys. 3): klasy abstrakcyjne: obiekt geometryczny, powierzchnia, krzywa, kolekcja, multipowierzchnia, multikrzywa, klasy zwykłe: punkt, łamana, odcinek, pierścień, wielobok, multipunkt, multikrzywa, multiwielobok, 247

Rys. 3. Model danych przestrzennych zaproponowany przez OGS Dane przestrzenne o charakterze geometrycznym w MS SQL Server przechowywane są jako kolumny typu GEOMETRY zapisane w płaskim euklidesowym układzie współrzędnych, nieposiadające jednostki miary [Microsoft 2014: 4]. Dane przestrzenne o charakterze geograficznym w MS SQL Server przechowywane są jako dane typu GEOGRAPHY zapisane w układzie elipsoidalnym (w układzie okrągłej ziemi ) [Microsoft 2014: 4]. Do ich zapisu wykorzystywane są współrzędne geograficzne długość i szerokość. Dla obu typów danych przestrzennych podczas ich tworzenia konieczne jest podanie wartości identyfikatora SRID (Spatial Reference System Identifier). Dla typu GEOMETRY jego domyślna wartość wynosi 0 (identyfikator ten jest praktycznie bez znaczenia), zaś dla danych typu GEOGRAPHY domyślną wartością identyfikatora SRID jest 4326. Dostępne w MS SQL Server wartości identyfikatora SRID (oprócz wartości 0) można przeglądać, wykonując zapytania do widoku katalogowego sys.spatial_reference_systems: SELECT * FROM sys.spatial_reference_systems W kolumnie zawierającej wartość identyfikatora SRID mogą występować różne wartości, jednak w przypadku wykonywania operacji na dwóch instancjach o różnych identyfikatorach SRID metody typów przestrzennych MS SQL zwracają wartość NULL. Typ GEOMETRY (podobnie jak typ GEOGRAPHY) jest typem abstrakcyjnym. Rodzaj danych przestrzennych (krzywa itd.) użytkownik określa dopiero podczas tworzenia obiektu. Przykładowo, jeżeli zdefiniowaliśmy tabelę: CREATE TABLE Geo (id int primary key, g geometry); to w celu wprowadzenia do niej danych należy zastosować zapis: INSERT INTO Geo VALUES (0, geometry::stpointfromtext('point(1 2)',0)); 248

Powyższy zapis korzysta z formatu tekstowego WKT (Well Known Text), zgodnie z którym polecenia zbudowane są według schematu: ST[rodzaj] FromText, gdzie w miejsce [rodzaj] wstawiana jest nazwa tworzonego obiektu zgodna z nazwami podanymi na rys. 3. Podczas definiowania danych oprócz systemu WKT możemy wykorzystać WKB (Well Known Binary) w przypadku danych binarnych oraz system GML (Geography Markup Language) w przypadku dokumentów XML [Microsoft 2014: 4]. Obiektowy charakter zmiennych czy kolumn implikuje konieczność korzystania z zapisów pozwalających na odwołanie się do metod dla nich dostępnych. Przykładowo wykonajmy zadanie polegające na zadeklarowaniu, utworzeniu oraz zwróceniu współrzędnych punktu na płaszczyźnie: DECLARE @punkt geometry; SET @punkt = geometry::stgeomfromtext('point(1 2)', 0); SELECT @punkt.stastext() AS OpisPunktu Podsumowanie Wprowadzenie obsługi danych zaawansowanych (multimedialnych) poprzez systemy zarządzania oparte o relacyjne bazy danych było koniecznością i krok ten został wykonany. Jednak jego realizacja wymagała odstąpienia od pewnych wymogów stawianych relacjom. W konsekwencji uzyskaliśmy konstrukcję, która zapełnia powstałą lukę, jest ona jednak protezą i należy oczekiwać rozwiązań, które wprowadzą nowy architektoniczny model danych pozwalający w jednolity sposób korzystać z różnorakich formatów zapisu. Literatura Bartman J. (2013): Bazy danych, Rzeszów. Jankiewicz K., Wojciechowski M. (2004): Standard SQL/MM: SQL Mulimedia and Application Packages, IX Seminarium PLUG Przetwarzanie zaawansowanych struktur danych: Oracle intermedia, Spatial, Text i XML DB. Litwin P. (1995): Podstawy projektowania relacyjnych baz danych, Software. Microsoft (2014): Books Online for SQL Server 2014, msdn.microsoft.com/en-us/library/ ms130214.aspx. Streszczenie Do klasyczne danych zapisywanych w bazach danych w formie opisowej w ostatnim okresie dołączyły dane zaawansowane o zupełnie innym charakterze. Właściwe ich gromadzenie oraz przetwarzanie stanowi poważne wyzwanie. W niniejszej publikacji przedstawiamy korzyści, jakie uzyskujemy z poszerzenia typów przechowywanych i przetwarzanych danych, oraz problemy z tym związane. Jako przykład zaprezentowano implementację danych przestrzennych systemie MS SQL. 249

Słowa kluczowe: relacyjne bazy danych, dane przestrzenne. Spatial Data in Relational Databases Summary To the classic data stored in databases in a descriptive, recently joined Advanced data of a completely different nature. Competent their collection and processing is a major challenge. In this publication we present the benefits we get from the expansion of the types of data stored and processed, and problems associated with it. As an example of the implementation of spatial data presented MS SQL. Keywords: relational database, spatial data. 250