Bazy danych • Jest to dyscyplina, która zajmuje się organizacją dużych zbiorów wiarygodnych danych, dostępnych dla licznych użytkowników, w których to zbiorach można prowadzić efektywne wyszukiwanie i aktualizację informacji. • W potocznym ujęciu baza danych to: – dane + program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych + interfejs dla użytkownika System Zarządzania Bazą Danych Dane MM materiały pomocnicze 1 Bazy danych BD to zbiór powiązanych wzajemnie danych. Powiązania są realizowane przez odpowiednie struktury danych. Wyróżnia się bazy płaskie (plane) i systemy zarządzania bazą danych (DBMS – Database Management System) Bazy płaskie to odpowiednio zorganizowany zbiór plików, struktura jest zakładana i eksploatowana przez określone narzędzie GIS. Pliki są uporządkowane w drzewo katalogów i są widoczne dla użytkownika. Niski poziom bezpieczeństwa. DBMS są specjalistycznymi programami do obsługi baz danych wykorzystywanymi przez m.in. programy GIS. Wykonują one typowe, powtarzalne działania operacyjne na BD zlecane przez program GIS. Jedną z funkcji jest chronienie dostępu do danych. MM materiały pomocnicze 2 Bazy danych • Podstawowe funkcja baz danych to przechowywanie informacji oraz umożliwianie szybkiego przetwarzania i wyszukiwania danych, w tym: – edycja (dopisywanie, usuwanie, poprawianie danych w zbiorze) – sortowanie według dowolnych kryteriów – wyszukiwanie i selekcja danych – tworzenie raportów – drukowanie – … MM materiały pomocnicze 3 Inne funkcje bazy danych • Ochrona – Nie każdy użytkownik powinien mieć dostęp do wszystkich danych, np. osoba sprzedająca bilety nie musi nic wiedzieć o przeglądach samolotu • Integralność i poprawność – Dane powinny być spójne i poprawne, np. ilość rezerwacji nie powinna przekraczać pojemności samolotu • Synchronizacja – Zabezpieczenie przed prawie jednoczesnym, wielokrotnym wykonaniem operacji na danych, np. dwukrotne zarezerwowanie tego samego miejsca w samolocie MM materiały pomocnicze 4 Typy baz danych Bazy proste (płaskie) Obiekty reprezentowane są za pomocą struktury rekordów zgrupowanych w strukturach plików. Głównymi dostępnymi operacjami : odczytaj rekord, zapisz rekord. Rodzaje DBMS wg stosowanych struktur danych 1. Hierarchiczne 2. Relacyjne (RDBMS) 3. Obiektowe Obecnie najczęściej stosuje się bazy relacyjne Rozwijają się obiektowe MM materiały pomocnicze 5 Przykłady Systemów Zarządzania Bazami Danych • MS Access – www.microsoft.com • MySQL – www.mysql.org • PostgreSQL – www.postgresql.org • IBM DB2 – www-306.ibm.com/software/data/db2/ • Oracle – www.oracle.com MM materiały pomocnicze 6 Bazy relacyjne • Wszystkie dane przechowywane są w postaci tabel – każda tabela zawiera zero lub więcej wierszy – każda tabela ma stałą ilość kolumn – w każdej kolumnie można zapisywać proste typy danych (np. liczby całkowite, rzeczywiste, napisy, zmienne logiczne – prawda / fałsz, data, godzina, itd.) • W tabelach przechowywane są informacje o elementach rzeczywistość – samochodach, hotelach, pracownikach, klientach, itp.. MM materiały pomocnicze 7 Bazy danych Baza relacyjna – organizacja tablicowa ID Kolumna_1 … Kolumna_N rekord_1 ….. .…. rekord_M MM materiały pomocnicze 8 Bazy danych Baza relacyjna – organizacja tablicowa, wiele tablic wzajemnie powiązanych ID_L Wp Wk Pl Pp ID_W NR_W X Y 1 100 101 10 12 1 100 X100 Y100 2 101 105 13 21 2 101 X101 Y101 … … … … … 3 102 X102 Y102 M_L … … … … … … … … M_W … … … Kolumny wiążące tablice MM materiały pomocnicze 9 Bazy danych Baza relacyjna Kluczową rolę odgrywa projekt podziału danych na tablice. Do wyszukiwanie danych w tablicach stosowany jest język zapytań SQL (Structured Query Language). Organizacja tablicowa narzuca sztywną strukturę każdej tablicy, jest w praktyce uciążliwa – trzeba przeszukiwać i analizować wiele tablic. MM materiały pomocnicze 10 Przykład • Tabela z informacjami o pacjentach – podstawowe dane tekstowe: nazwisko, imię, numer telefonu, miejscowość, ulica, kod pocztowy … – unikalny klucz dla każdego pacjenta MM materiały pomocnicze 11 Relacje • Bazy danych składają się z wielu tabel, które można ze sobą łączyć przy pomocy relacji MM materiały pomocnicze 12 Rodzaje relacji • 1 do 1 – jednemu rekordowi w tabeli może odpowiadać tylko jeden w innej tabeli • 1 do wielu – na ulicy może być wiele budynków, jeden budynek nie może mieć więcej niż jednego adresu • wiele do wielu – Jeden nauczyciel może prowadzić kilka przedmiotów, a jeden przedmiot może mieć kilku prowadzących MM materiały pomocnicze 13 Integralność i poprawność danych w bazie • Więzy integralności stanowią system reguł zapewniający poprawność związków między rekordami tabel powiązanych relacją i uniemożliwiający przypadkowe usunięcie lub zmianę powiązanych danych • Jeśli wprowadzane dane nie spełniają warunku zawartego w regule sprawdzania poprawności, nie zostaną zapisane w bazie danych MM materiały pomocnicze 14 Zapytania SQL Zapytanie „wybór”– najczęściej używana instrukcja języka SQL. Proste zapytanie składa się z trzech podstawowych składników: • wyrażenia SELECT ... FROM, • klauzuli WHERE • klauzuli ORDER BY. Nazwy pól, jakie zapytanie ma zwracać, są wpisane po słowie kluczowym SELECT, a tabele, do których pola te należą – po słowie FROM. Następnie do jednego lub większej liczby pól możemy zastosować kryteria wyboru wpisane w klauzuli WHERE, a wyniki posortować według zawartości dowolnego pola (lub pól) stosując klauzulę ORDER BY. MM materiały pomocnicze 15 Operatory • Operatory relacyjne: = Równy <> lub != Nierówny < Mniejszy > Większy <= Mniejszy lub równy >= Większy lub równy MM materiały pomocnicze 16 Operatory logiczne w SQL • AND – logiczne i • OR – logiczne lub • XOR – logiczna operacja wyłączenia MM materiały pomocnicze 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 17 SQL w GIS • Znajomość SQL dla końcowego użytkownika nie jest konieczna, ponieważ aplikacje GIS udostępniają gotowe interfejsy. select * from powiaty where nazwa = ‘brzeski’; MM materiały pomocnicze 18 Zapytanie atrybutowe select * from powiaty where nazwa = ‘brzeski’; Wynik zapytania w postaci graficznej tabelarycznej MM materiały pomocnicze 19 Zapytanie atrybutowe MM materiały pomocnicze 20