Post on 03-Jan-2016
description
1opr. Lech Banachowski, Jan Wierzbicki
Relacyjne Bazy Danych
Wykład I
2opr. Lech Banachowski, Jan Wierzbicki
Literatura
• Lech Banachowski: Bazy danych - projektowanie aplikacji, Akademicka OficynaWydawnicza PLJ, 1998
• Dariusz Boratyn: MS Access,
• Paul Beynon-Davies: Systemy baz danych, WNT, 1998
3opr. Lech Banachowski, Jan Wierzbicki
Baza danych
• pojęcie sięgające wieków
• Informacja, dane – pewien zasób
• ludzie od zawsze próbują gromadzić informację i wnioskować na jej podstawie
• komputery – tylko ułatwiają przetwarzanie informacji
4opr. Lech Banachowski, Jan Wierzbicki
• Dane są takim samym zasobem firmy jak każdy inny (np. pracownicy, materiały, urządzenia) i wymagającym, tak samo jak one, zarządzania.
• Informacja to dane razem z ich semantyką - znaczeniem dla firmy.
• Zarządzanie danymi jest realizowane poprzez system informacyjny obsługujący zapotrzebowania na informacje dla pewnego fragmentu rzeczywistości w firmie.
• Baza danych stała się standardową metodą wprowadzenia struktury do procesu zarządzania danymi.
• Baza danych jest częścią systemu informacyjnego firmy.
5opr. Lech Banachowski, Jan Wierzbicki
Informacja ma wartość
gdy jest:
• dokładna (nie za dużo, ani nie za mało)
• dostępna
gdy mamy „zły” sposób poszukiwania informacji możemy nie być wstanie jej odszukać
- może nam zabraknąć np. „życia”
- komputer tu nic nie pomoże
6opr. Lech Banachowski, Jan Wierzbicki
Baza danych
• metoda strukturalizacji zarządzania informacją
• dotyczy fragmentu rzeczywistości i stanowi kolekcję danych
• część systemu informacyjnego
- aplikacja bazy danych (oprogramowanie)
- system informatyczny (sprzęt)
7opr. Lech Banachowski, Jan Wierzbicki
Linia lotnicza
A
B
C
D
E
F
8opr. Lech Banachowski, Jan Wierzbicki
Inne złożone Bazy danych
• Bankowe ochrona danych
• Satelitarnetryliardy danych
9opr. Lech Banachowski, Jan Wierzbicki
Bazy danych
• Wszechobecność informacji: od serwisów działających na przeglądarkach internetowych, po aplikacje naukowe.• Zbiory danych o coraz większej różnorodności i wielkości: biblioteki elektroniczne, multimedialne bazy danych, interaktywne
video, projekty badania genomu człowieka, projekt obserwacji Ziemi (NASA).
• Przy konstrukcji systemów baz danych wykorzystuje się większość działów informatyki:
systemy operacyjne, teorię informatyki, sztuczną inteligencję, logikę, języki programowania, multimedia, inżynierię oprogramowania.
• Obszar systemów baz danych reprezentuje jeden z największych i najbardziej aktywnych segmentów rynku.
10opr. Lech Banachowski, Jan Wierzbicki
Cechy bazy danych
• trwałość (aplikacja powinna działać przez długi okres czasu – dane przechowywane „latami”)
• zgodność z rzeczywistościązmiana rzeczywistości musi być uwzględniona w
bazie danych
11opr. Lech Banachowski, Jan Wierzbicki
BIBLIOTEKA
Tytuł:
Autor:
ISBN:.......
Tytuł:
Autor:
ISBN:.......
Tytuł:
Autor:
ISBN:.......
POLE REKORD
Potop
H.Sienkiewicz H.Sienkiewicz
Quo VadisPan Tadeusz
A.Mickiewicz
12opr. Lech Banachowski, Jan Wierzbicki
Ujęcie projektowe
Dane przechowywane w tabeli:
Tytuł Autor ISBN Rok Wydania
...
Potop H.Sienkiewicz 23xc4 1970 ...Quo Vadis H.Sienkiewicz 3e45d 1985 ...Pan Tadeusz
A.Mickiewicz 231ws 1990 ...
... ... ... ... ...
13opr. Lech Banachowski, Jan Wierzbicki
W bazie danych, musimy
• kontrolować redundancję (powtarzanie się danych)
• jeden fakt powinien być reprezentowany na jeden sposób– problem dostępności i dokładności
poszukiwanych danych (czas dostępu oraz nadmiar danych)
14opr. Lech Banachowski, Jan Wierzbicki
Problem jednej tabeli
Tytuł Autor ISBN Rok Wydania
...
Potop H.Sienkiewicz 23xc4 1970 ...Quo Vadis H.Sienkiewicz 3e45d 1985 ...Pan Tadeusz
A.Mickiewicz 231ws 1990 ...
... ... ... ... ...H.Sienkiewicz ... ... ...A.Mickiewicz ... ... ...
15opr. Lech Banachowski, Jan Wierzbicki
Problem jednej tabeli
Uczeń Hobby Zachowanie Telefon domowy
...
Adaś Komputery hmmmm 123456 ...Karolina Kwiatki wzorowe 654321 ...Paweł Legia odpowiednie 876543 ...
... ... ... ... ...
... ... ... ... ...
... ... ... ... ...
16opr. Lech Banachowski, Jan Wierzbicki
Relacyjna Baza Danych
Autor
imię
nazwisko
adres...
Książka
tytuł
ISBN
rok wyd...
Wydawnictwo
nazwa
adresopis
17opr. Lech Banachowski, Jan Wierzbicki
Relacyjna Baza Danych
imię nazwisko
Henryk Sienkiewicz
Adam Mickiewicz
Autor
tytuł ISBN
Potop 12234ee4
Quo Vadis 334we2
Pan Tadeusz
23we45
Książka
18opr. Lech Banachowski, Jan Wierzbicki
Dane osobowe
imię
nazwisko
......
Hobby
nazwa
opis
.....
Przedmiot
nazwa
opis
Oceny
ocena
opis
Uczeń
19opr. Lech Banachowski, Jan Wierzbicki
Relacyjny model danych - Edgar Codd (1970)
W terminologii matematycznej - baza danych jest zbiorem relacji.
W matematyce definiuje się relację jako podzbiór iloczynu
kartezjańskiego zbiorów wartości. Reprezentacją relacji jest
dwuwymiarowa tabela złożona z kolumn i wierszy.
20opr. Lech Banachowski, Jan Wierzbicki
Założenia:
• Liczba kolumn jest z góry ustalona. • Z każdą kolumną jest związana jej nazwa oraz
dziedzina, określająca zbiór wartości, jakie mogą wystąpić w kolumnie.
• Na przecięciu wiersza i kolumny znajduje się pojedyncza (atomowa) wartość należąca do dziedziny kolumny.
• Wiersz reprezentuje jeden rekord informacji np. osobę. • W modelu relacyjnym abstrahujemy od kolejności
wierszy (rekordów) i kolumn (pól w rekordzie).
21opr. Lech Banachowski, Jan Wierzbicki
IdWykładowcy
Imię Nazwisko Tytuł
237
Jan Kowalski Doktor
3245
Maciej Jankowski Docent
8976
Artur Malinowski Profesor
Tabela wykładowców
22opr. Lech Banachowski, Jan Wierzbicki
NazwaPrzedmiotu
Kod
IdWykładowcy
Bazy danych
BDA 1237
Projektowanie systemów informacyjnych
PSI 3245
Technologie internetowe
TIN 3245
Programowanie obiektowe
POB 8976
Systemy decyzyjne
SDE 1237
Tabela przedmiotów
23opr. Lech Banachowski, Jan Wierzbicki
Znaczenie IdWykładowcy w tabeli Przedmiotów:
• Jego wartość nie opisuje cechy wykładu.
• Reprezentuje związek danego przedmiotu z wykładowcą, o którym informacja znajduje się w innej tabeli i tylko korzystając z identyfikatora możemy rozpoznać w innej tabeli wiersz właściwego wykładowcy i odczytać o nim informacje.
• Istotne jest więc, aby identyfikator ten jednoznacznie określał danego wykładowcę - w modelu relacyjnym nie ma innej możliwości identyfikacji wiersza tylko poprzez wartości kolumn, które jednoznacznie identyfikują wiersz.
24opr. Lech Banachowski, Jan Wierzbicki
Klucz główny i jednoznaczny
• Dla każdej tabeli musi być określony jednoznaczny identyfikator nazywany kluczem głównym - jedna lub więcej kolumn, w których wartości jednoznacznie identyfikują cały wiersz.
• Klucz jednoznaczny (nazywany też kluczem alternatywnym lub w skrócie kluczem) ma tę samą własność co klucz główny przy czym klucz główny jest tylko jeden, kluczy jednoznacznych w tabeli może być więcej niż jeden.
• W tabeli Przedmioty kluczem głównym jest KodPrzedmiotu, kluczem alternatywnym jest NazwaPrzedmiotu.
• W tabeli Wykładowcy kluczem głównym jest IdWykładowcy. Nazwisko nie musi być kluczem!
Każda tabela musi mieć dokładnie jeden klucz główny.
25opr. Lech Banachowski, Jan Wierzbicki
Klucz obcy
• Klucz obcy jest to jedna lub więcej kolumn, których wartości występują jako wartości ustalonego klucza głównego lub jednoznacznego w tej lub innej tabeli i są interpretowane jako wskaźniki do wierszy w tej drugiej tabeli.
• W tabeli Przedmioty kluczem obcym jest IdWykładowcy, którego wartości pochodzą z kolumny IdWykładowcy w tabeli Wykładowcy.Na przykład, wartość 1237 występująca w wierszu przedmiotu "Bazy danych" tabeli Przedmioty stanowi odwołanie do wiersza w tabeli Wykładowcy, w którym są zapisane informacje o wykładowcy o nazwisku "Kowalski":
"Przedmiot Bazy danych jest wykładany przez Jana Kowalskiego"
Każda tabela może mieć więcej niż jeden klucz obcy.
26opr. Lech Banachowski, Jan Wierzbicki
NULL – "brak wartości"
• Dziedziny kolumn są rozszerzane o specjalny obiekt Null - oznaczający brak wartości –
• chwilowy bądź • wynikający z istoty rzeczy (coś innego niż napis pusty
czy zero). • Wszystkie porównania i operacje na danych, w
których argumentem jest Null dają w wyniku Null (również Null=Null).
• Jest to więc w efekcie trzecia wartość logiczna obok True i False.
27opr. Lech Banachowski, Jan Wierzbicki
OR
True
False
Null
True True True True
False True False Null
Null True Null Null
Operator alternatywy OR
AND
True
False
Null
True True False Null
False False False False
Null Null False Null
Operator koniunkcji AND
28opr. Lech Banachowski, Jan Wierzbicki
NOT True False
Null
False True Null
Operator negacji NOT
Wartość wyrażenia logicznego jest prawdziwa na przykład dla alternatywy, której jeden argument ma wartość true a drugi ma wartość nieokreśloną NULL.
Predykaty Is Null oraz Is Not Null
Pozwalają stwierdzić, czy dana wartość jest Null czy nie: •"X Is Null" = True gdy, X jest Null •"X Is Null" = False gdy, X nie jest Null•"X=Null" = Null dla wszystkich X
Wartością wyrażenia "(Null=Null) Is Null" jest True tzn. wyrażenie jest prawdziwe.
29opr. Lech Banachowski, Jan Wierzbicki
Więzy spójności danych - warunki poprawności danych w tabelach
• Dla pojedynczych wartości w wierszu np. 0<Wiek<140 • Dla kilku wartości w wierszu np. • Data_urodzenia<Data_zatrudnienia • Więzy klucza głównego, więzy klucza jednoznacznego. • Więzy NOT NULL. • Więzy referencyjne (więzy spójności referencyjnej):
wartość klucza obcego może być albo Null albo musi występować jako wartość powiązanego z nim klucza głównego (lub jednoznacznego).
• Bardziej skomplikowane reguły wymagające zastosowania bardziej skomplikowanego języka np. Suma wszystkich zarobków pracowników działu X = Fundusz płac działu X
30opr. Lech Banachowski, Jan Wierzbicki
Perspektywa (view)- wirtualna tabela, którą posługują się użytkownicy
Przedmioty-Wykładowcy:
NazwaPrzedmiotu
Wykładowca
Bazy danych
Kowalski
Projektowanie systemów informacyjnych
Jankowski
Technologie internetowe
Jankowski
Programowanie obiektowe
Malinowski
Systemy decyzyjne
Kowalski
31opr. Lech Banachowski, Jan Wierzbicki
Zawartość zwykłej perspektywy jest na życzenie wyliczana przez
system ze źródłowych tabel. Nie jest na stałe zapisywana w bazie
danych. W pewnych sytuacjach wygodniej jest zapisać zawartość
perspektywy w bazie danych a następnie korzystać z jej
„materializacji”. Taki specjalny rodzaj perspektywy nosi nazwę
perspektywy zmaterializowanej.
Indeks
jest to dodatkowa struktura danych umożliwiająca szybki dostęp
do wierszy tabeli na podstawie wartości w określonej kolumnie
lub kolumnach np. indeks zbudowany na kolumnie Nazwisko
umożliwia szybkie wyszukiwanie danych wykładowcy w oparciu
o jego nazwisko. Przypomina indeks (skorowidz) w książce.
32opr. Lech Banachowski, Jan Wierzbicki
Poziomy relacyjnej bazy danych
• Poziom użytkowy – widoki na dane i programy, którymi posługuje się użytkownik.
• Poziom logiczny (koncepcyjny) – zbiór tabel, perspektyw i indeksów.
• Poziom fizyczny – zbiór plików z danymi i z indeksami.
Przy czym perspektywy definiuje się na poziomie logicznym a używa się na poziomie użytkowym; indeksy definiuje się na poziomie logicznym a używa się na poziomie fizycznym. Jeśli chodzi o tabele to definiuje się na poziomie logicznym a używa się zarówno na poziomie użytkowym jak i fizycznym.
33opr. Lech Banachowski, Jan Wierzbicki
Korzystanie z poszczególnych poziomów odbywa się do
pewnego stopnia w sposób niezależny. Na przykład,
można zmieniać położenie danych na dysku i ich zapis
bez potrzeby zmiany struktury logicznej tabel; można
zmieniać tabele bez konieczności zmiany programów
aplikacyjnych - o ile programy aplikacyjne są oparte na
perspektywach a nie tabelach. W pierwszym przypadku
mamy do czynienia z tak zwaną niezależnością fizyczną
danych, w drugim z niezależnością logiczną danych.
34opr. Lech Banachowski, Jan Wierzbicki
Katalog (słownik danych), metadane
jest to zbiór tabel i perspektyw opisujących schemat bazy danych
to jest definicje wszystkich jej obiektów (na każdym z trzech
poziomów bazy danych). Istotne jest użycie relacyjnego
modelu danych w tym celu. Zatem metadane są zapisywane i
przetwarzane w taki sam sposób jak zwykłe dane.
35opr. Lech Banachowski, Jan Wierzbicki
Architektura klient-serwer
Aplikacje bazodanowe składają się zwykle z co najmniej dwóch części:
• strony klienta - na stacji roboczej użytkownika, • strony serwera – na komputerze zawierającym serwer
bazy danych czyli bazę danych wraz z jej systemem zarządzania (SZBD).
36opr. Lech Banachowski, Jan Wierzbicki
Funkcje aplikacji po stronie serwera bazy danych• Przechowywanie i organizacja dostępu do danych. • Wykonywanie instrukcji języka baz danych (jest to język o
nazwie SQL omawiany w wykładzie 9). • Sprawowanie kontroli nad spójnością danych. • Zarządzanie zasobami bazy danych w tym kontami
użytkowników.
Funkcje aplikacji po stronie klienta• Kontakt z użytkownikiem (interfejs użytkownika). • Wyjaśnianie użytkownikowi stanu obliczeń w tym błędów
i sytuacji wyjątkowych. • Przyjmowanie od niego zleceń na operacje, wykonywanie
tych zleceń lub przesyłanie ich w postaci instrukcji języka SQL do serwera bazy danych.
37opr. Lech Banachowski, Jan Wierzbicki
Historia baz danych
• 1961– Integrated Data Store IDS (Charles Bachman, General Electric) - pierwszy SZBD, początek sieciowego modelu danych.
• 1965-70 – Information Management System IMS (IBM) – hierarchiczny model danych.
• 1970 – Edgar Codd, IBM – relacyjny model danych. • 1971 – CODASYL, standard sieciowego modelu danych. • 1976 – Peter Chen – model związków encji (ERD, ERM), brak
standardu do tej pory. • Początek lat siedemdziesiątych - w laboratorium badawczym IBM
w San Jose powstał prototyp języka SQL o nazwie Sequel. • 1973 - pierwszy system zarządzania relacyjną bazą danych (System
R w firmie IBM). • 1979 - firma Relational Software (później Oracle) wprowadziła na
rynek pierwszą komercyjną wersję systemu zarządzania relacyjną bazą danych.
38opr. Lech Banachowski, Jan Wierzbicki
• 1987 pierwszy standard języka SQL (ISO),
• Kolejne wersje standardu ANSI/ISO: 1989, 1992 SQL2, 1999 SQL:1999 – model obiektowo-relacyjny, trwają prace nad następnymi standardami SQL3 i SQL4.
• Lata osiemdziesiąte – badania nad dedukcyjnymi i obiektowymi bazami danych.
• 1997 - Standard obiektowych baz danych ODMG 2.0.
• Lata dziewięćdziesiąte – rozszerzenie baz danych o nowe aspekty: architektury wielowarstwowe, rozproszenie, równoległość, Internet, hurtownie danych, OLAP, multimedia, bazy dokumentów w tym XML, GIS (Geographical Information Systems), ERP (Enterprise Resource Planning) oraz MRP (Management Resource Planning) - pakiety takie jak SAP, Baan, Oracle, PeopleSoft, Siebel, CRM (Client Relationship Management).
39opr. Lech Banachowski, Jan Wierzbicki
Posługiwanie się bazą danych
• wyszukiwanie danych
• modyfikacja (aktualizacja) danych
• dopisywanie danych
• usuwanie danych
40opr. Lech Banachowski, Jan Wierzbicki
Wyszukiwanie danych
• filtr – doraźnie
• kwerenda – trwale