Bazy danych. Andrzej Łachwa, UJ, /14

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

Model relacyjny. Wykład II

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Model relacyjny. Wykład II

Wykład 2. Relacyjny model danych

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

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

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

1 Wstęp do modelu relacyjnego

Bazy danych. Algebra relacji

Bazy danych - wykład wstępny

Bazy danych 2. Algebra relacji Zależności funkcyjne

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

Bazy danych 2. Wykład 1

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

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

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

Projektowanie relacyjnych baz danych

Bazy danych. Wykład III Tabele. Copyrights by Arkadiusz Rzucidło 1

Baza danych. Baza danych to:

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

WPROWADZENIE DO BAZ DANYCH

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Zasady transformacji modelu DOZ do projektu tabel bazy danych

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Wykład 4. SQL praca z tabelami 1

FUNKCJE SZBD. ZSE - Systemy baz danych 1

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

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

Bazy danych 1. Podstawowe pojęcia

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

Model relacyjny bazy danych

Relacyjny model danych

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Systemy GIS Tworzenie zapytań w bazach danych

Co to są relacyjne bazy danych?

Baza danych. Modele danych

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

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Alicja Marszałek Różne rodzaje baz danych

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Dr Michał Tanaś(

Relacyjne bazy danych

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

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

Bazy danych TERMINOLOGIA

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

Bazy danych. Andrzej Łachwa, UJ, /15

Oracle11g: Wprowadzenie do SQL

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

S y s t e m y. B a z D a n y c h

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

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

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

Projektowanie Systemów Informacyjnych

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013

Technologia informacyjna

Bazy danych Ćwiczenia projektowe

Bazy danych. Dr inż. Paweł Kasprowski

Agnieszka Ptaszek Michał Chojecki

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Normalizacja. Pojęcie klucza. Cel normalizacji

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

WYKŁAD 1. Wprowadzenie do problematyki baz danych

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

WPROWADZENIE DO BAZ DANYCH

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Bazy danych Algebra relacji Wykład dla studentów matematyki

BAZY DANYCH Podstawowe pojęcia

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

Cel normalizacji. Tadeusz Pankowski

Program nauczania. Systemy baz danych. technik informatyk

Aspekty aktywne baz danych

Zadanie 1. Suma silni (11 pkt)

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego

Wykład I. Wprowadzenie do baz danych

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

2 Przygotował: mgr inż. Maciej Lasota

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

P o d s t a w y j ę z y k a S Q L

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

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Plan. Raport. Tworzenie raportu z kreatora (1/3)

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

RELACYJNE BAZY DANYCH

MySQL. Darmowa baza danych. Æwiczenia praktyczne

Normalizacja baz danych

Transkrypt:

Bazy danych Andrzej Łachwa, UJ, 2016 andrzej.lachwa@uj.edu.pl 4/14

Własności SZBD: możliwość bezpiecznego przechowywania przez długi czas danych mierzonych w tera- i petabajtach, istnienie mechanizmów masowego wprowadzania danych, zapewnienie bezpieczeństwa danych, efektywny dostęp do danych (m. in. możliwość tworzenia zapytań o dane oraz aktualizowania danych za pomocą odpowiedniego języka operacji na danych), sterowanie współbieżnością, trójwarstwowa struktura (jądro, interfejs i narzędzia). możliwość tworzenia nowej bazy danych, tzn. określenia jej schematu i więzów integralności za pomocą jakiegoś języka definiowania danych.

Zalety podejścia bazodanowego: niezależność między danymi a programami, ukrywanie szczegółów dotyczących sposobu przechowywania danych w pamięci fizycznej, przechowywanie metadanych, dostarczanie wielu widoków (perspektyw) danych dla różnych grup użytkowników, zapewnienie integralności danych, współdzielenie danych i współbieżne transakcje wielu użytkowników, wysoka niezawodność i bezpieczeństwo...

Tabele Codda Teoretyczne podstawy relacyjnych baz danych zostały wprowadzone przez Edwarda Codda w 1970 roku. Zaproponował on przechowywanie danych w tabelach. Tabela jest tutaj czymś podobnym do matematycznej relacji, a zarazem do zwykłej tabeli złożonej z nagłówka, kolumn i wierszy. W nagłówku występuje nazwa tabeli oraz nazwy kolumn. W polach wierszy występują wartości atrybutów. W tabeli Codda nie jest ustalony ani porządek kolumn, ani porządek wierszy! Tabela pusta zawiera tylko nagłówek!

Kryteria Codda Informacje są reprezentowane (na poziomie logicznym) w tabelach. Dane są (na poziomie logicznym) dostępne przez podanie nazwy tabeli, wartości klucza głównego i nazwy kolumny. Wartości null są traktowane w jednolity sposób jako brakujące informacje. Nie mogą być traktowane jako puste łańcuchy znaków, puste miejsca, czy zera. Metadane (dane dotyczące bazy danych) są umieszczone w bazie danych dokładnie tak, jak zwykłe dane.

Język obsługi danych ma możliwość definiowania danych, perspektyw i więzów integralności, przeprowadzenia autoryzacji, obsługi transakcji i manipulacji danymi. Perspektywy reagują na zmiany swoich tabel bazowych. Odwrotnie, zmiana w perspektywie powoduje automatycznie zmianę w tabeli bazowej. Istnieją pojedyncze operacje pozwalające na wyszukanie, wstawienie, uaktualnienie i usunięcie danych. Operacje użytkownika są logicznie oddzielone od fizycznych danych i metod dostępu do danych. Operacje użytkownika pozwalają na zmianę struktury bazy bez konieczności tworzenia od nowa bazy czy aplikacji ją obsługującej.

Więzy integralności są umieszczone i dostępne w metadanych, a nie w programie obsługi bazy danych. Język manipulacji danymi powinien działać bez względu na to, jak i gdzie są rozmieszczone fizyczne dane oraz nie powinien wymagać żadnych zmian, gdy fizyczne dane są centralizowane lub rozpraszane. Operacje na pojedynczych wierszach tabel przeprowadzane w systemie podlegają tym samym zasadom i więzom, co operacje na zbiorach danych.

Definicja Relacyjna baza danych jest zbiorem danych tworzących tabele (w sensie Codda) i spełniających określone warunki integralności danych. Tabela Codda reprezentuje relację. Kolumny i wiersze tabel odpowiadają atrybutom i krotkom relacji. Kolumny i wiersze nie są uporządkowane! Nagłówek tabeli odpowiada schematowi relacji.

Niech dany będzie zbiór atrybutów {A1, A2, An}, a z każdym atrybutem Ai związana będzie dziedzina Di wartości tego atrybutu. Dowolny podzbiór iloczynu kartezjańskiego D1 x D2 x x Dn nazywamy relacją rozpiętą na schemacie F(A1, A2, An). Schematem relacyjnej bazy danych nazywamy zbiór pustych tabel oraz więzów integralności danych, które można do tych tabel wprowadzić. Tabela wypełniona danymi będzie kojarzona z relacją opartą na danym schemacie.

Konwencja 1 Osoba (Pesel*, Nazwisko, DataUr) Pracownik (PeselPracownika, NazwaWydziału) Wydział (Nazwa*, Adres) Symbolem * oznacza się atrybuty tworzące klucz główny tabeli (wartości klucza głównego służą do identyfikowania wierszy tabeli). Strzałki pokazują związek referencyjny między wartościami zwany kluczem obcym.

Konwencja 2 OSOBY Pesel* Nazwisko DataUr... PRACOWNICY PeselPracownika NazwaWydziału WYDZIAŁY Nazwa* Adres...

Konwencja 3 OSOBY Pesel* Nazwisko DataUr... PRACOWNICY PeselPracownika NazwaWydziału WYDZIAŁY Nazwa* Adres...

Więzy WIĘZY DOMENOWE WIĘZY KLUCZY PODSTAWOWYCH WIĘZY INTEGRALNOŚCI REFERENCYJNEJ (WIĘZY KLUCZA OBCEGO) ZALEŻNOŚCI FUNKCYJNE ZALEŻNOŚCI WIELOWARTOŚCIOWE ZALEZNOŚCI ZŁACZENIOWE WARTOŚCI WYMAGANE WIĘZY OGÓLNE

Konwencja 4

Wybrane rozwiązania

Dane aktualne czy historyczne?

Część DDL języka MySQL zob. http://dev.mysql.com/doc/refman/5.6/en/sql-syntax-datadefinition.html

SQL 2 (1992), SQL 3 (1999-2002) Liczbowe typy danych: INTEGER (INT), SMALLINT, BIGINT, [TINYINT] DECIMAL(p,s), NUMERIC(p,s) FLOAT(p), REAL, DOUBLE PRECISION [BIT, BYTE] W różnych implementacjach różne zakresy. Należy również uważać na zaokrąglanie, obcinanie i konwersje. Cztery operacje arytmetyczne są rozszerzane o różne funkcje matematyczne, np. kwadrat, pierwiastek kwadratowy, modulo, logarytm, funkcje trygonometryczne etc.

Koncepcja elementu danych jako pojedynczej (atomowej) wartości nie zawsze ma sens! Przykład 1: PUNKTY NA PŁASZCZYŹNIE Położenie punktu na płaszczyźnie możemy określić parą liczb w odniesieniu do ustalonego układu współrzędnych. Modelowanie tego w jednej kolumnie (jako wartości atrybutu POŁOŻENIE) byłoby niewygodne. Lepsze jest modelowanie w dwóch kolumnach: ODCIĘTA, RZĘDNA.

Przykład 2: PUNKTY NA ZIEMI Położenie punktu na Ziemi można określić przy pomocy współrzędnych geograficznych: wielkości kątowych liczonych względem równika (szerokość geograficzna, ang. Latitude, Lat) i południka zerowego (długość geograficzna, ang. Longitude, Lng). Np. wejście do tego budynku to 50 01' 46.0'' N 19 54' 21.9'' E (format DMS) Lat: 50.029451 Lng: 19.906082 (format WGS84) N: 50 01.7670600', E: 19 54.3649200' (format GPS) Modelowanie formatu DMS można wykonać w 8 kolumnach, a formatu WGS84 w 2 kolumnach.

Przykład procedury Aby obliczyć odległość między dwoma punktami na Ziemi można użyć wzoru ze strony http://pl.wikibooks.org/wiki/astronomiczne_podstawy_geografii/ Odleg%C5%82o%C5%9Bci Potrzebne funkcje (pierwiastek, kwadrat, cos) są dostępne w SQL w większości serwerów. Sprawdzić poprawność na GoogleMaps.

Przykład 3: ADRESY IP Przechowywanie adresu IP można zrealizować na trzy sposoby: jako łańcuch, jako liczbę całkowitą lub jako cztery oktety. Ten ostatni sposób jest wygodny i czytelny. Przykład 4: WALUTY Waluty można przechowywać z rozbiciem na wartość i kod waluty. Trzeba ustalić liczbę miejsc po przecinku branych pod uwagę w trakcie obliczeń. Przy transakcjach międzynardowych trzeba również uwzględniać tabelę kursów walut i dokonywać przeliczeń. Zob. http://www.nbp.pl/home.aspx?f=/statystyka/kursy.html

Przykład 5: PESEL Sprawdzanie poprawności: Procedura, zob. https://msw.gov.pl/pl/sprawyobywatelskie/centralne-rejestry-pan/32,pesel.html http://www.kalkulatory.gofin.pl/sprawdzanie-pesel-weryfikacjapesel,12.html

Przykład 6: Przekształcanie liczb na liczebniki Procedura byłaby zbyt skomplikowana. W języku angielskim najlepszym kompromisem między wielkością kodu procedury i wielkością tabeli jest przygotowanie tabeli tłumaczenia liczb mniejszych od 1000 na liczebniki, a potem kolejne obliczanie: liczby mniejszej od tysiąca, liczby tysięcy, milionów, miliardów i na koniec wykonanie konkatenacji odpowiednich liczebników i słów thousand, million, billion (ewentualnie z końcówką s). W języku polskim sprawa znacznie się komplikuje. Prosta procedura dla angielskiego produkowałaby takie niegramatyczne wyrażenia, jak dla przykładu: pięć miliony trzysta dwa tysięcy sto jedenaście