Prezentacja

advertisement
WPROWADZENIE
DO BAZ DANYCH
Baza danych
Baza danych (database) – zbiór danych powiązanych
tematycznie, zorganizowany w sposób umożliwiający ich
wyszukiwanie według zadanych kryteriów
Pojęcie „baza danych” rozumiemy potocznie jako system
złożony z trzech elementów:
• właściwej bazy danych – zbioru danych, np. pliki na
dysku,
• systemu (oprogramowania) zarządzającego bazą
danych,
• interfejsu użytkownika, umożliwiającego dostęp do
danych
Funkcje bazy danych
Funkcje zależne od użytkownika:
• tworzenie baz danych i tabel
• dodawanie i usuwanie danych
• wyszukiwanie danych („zapytania”, kwerendy)
• czynności administracyjne
Funkcje zależne od oprogramowania:
• zarządzanie fizycznymi zbiorami danych
• wykonywanie poleceń użytkownika
• prezentacja wyników operacji
Struktura bazy danych
Dane są najczęściej uporządkowane w formie tabel.
Tabela (table) – dwuwymiarowa struktura przechowująca
dane dotyczące określonego tematu
• kolumny – atrybuty (pola), określony typ danych
• wiersze – rekordy
Typy baz danych
Najczęściej spotykane typy baz danych
• Proste bazy danych o pojedynczej tabeli (np. Excel,
własne programy)
• Jednostanowiskowa baza biurowa (np. MS Access)
• Baza typu „klient-serwer” – dostęp z wielu stanowisk
(np. Oracle)
• Internetowa baza danych – dostęp z dowolnego
komputera podłączonego do Internetu (np. MySQL)
• Bazy rozproszone
Relacyjne bazy danych
Relacyjna baza danych - zbiór danych zawartych w wielu
tabelach połączonych ze sobą relacjami (związkami)
– jedna tabela dla każdego typu informacji
• optymalizacja dla dużej ilości danych
• szybsze wyszukiwanie
Przykład – relacja między dwoma tabelami (pole IDA)
IDA
IDU
Wykonawca
Utwór
Album
Czas
Rok
IDA
Gatunek
tabela „albumy”
tabela „utwory”
Klucze tabeli
• Zaleta systemu obsługi relacyjnych baz danych polega
na zdolności do szybkiego wyszukiwania i kojarzenia
informacji przechowywanych w odrębnych tabelach.
• Realizacja tego celu wymaga obecności w tabeli pola
lub ich zestawu jednoznacznie identyfikującego każdy
rekord zapisany w tabeli.
• Pole to lub ich zestaw nosi nazwę klucza
podstawowego tabeli (primary key).
• Po zdefiniowaniu w tabeli klucza podstawowego, nie
będzie można w jego pole wprowadzić wartości już
istniejącej w tabeli ani wartości Null (pustej).
Klucze tabeli
Najważniejsze typy klucza podstawowego:
• klucze podstawowe jednopolowe
• klucze podstawowe wielopolowe – gdy żadne z pól nie
gwarantuje, że wartości w nim zawartych będą
unikatowe
• klucze typu „autonumeracja” – licznik zwiększany
automatycznie przy dodawaniu nowego rekordu
Pola unikatowe i niepuste
Pola unikatowe (unique):
• system bazy danych sprawdza, czy zawartość pola nie
pokrywa się z już istniejącymi rekordami
• niemożliwe jest wprowadzenie dwóch rekordów
o identycznej zawartości pola unikatowego
• klucz podstawowy jest z definicji polem unikatowym
Pola niepuste (not null)
• system bazy danych sprawdza, czy pole posiada
zawartość, zapobiega wprowadzeniu rekordu z polem
pustym, jeżeli pole to ma atrybut not null
• klucz podstawowy jest z definicji polem niepustym
Relacje
Relacje opisują sposób powiązania informacji zawartych
w wielu tabelach.
Relacja – związek ustanowiony pomiędzy wspólnymi
polami (kolumnami) w dwóch tabelach
Relacja działa poprzez dopasowanie danych w polach
kluczowych — zwykle są to pola o tej samej nazwie w obu
tabelach. W większości przypadków dopasowywane pola to
klucz podstawowy z jednej tabeli, który dostarcza
unikatowego identyfikatora dla każdego rekordu, oraz
klucz obcy w drugiej tabeli.
IDA
IDU
Utwór
Czas
IDA
Wykonawca
Album
Rok
Gatunek
Klucz obcy
Klucz obcy (foreign key) – jedno lub kilka pól (kolumn)
tabeli, które odwołują się do pola lub pól klucza
podstawowego w innej tabeli.
Klucz obcy wskazuje sposób powiązania tabel relacjami
• typy danych w polach klucza podstawowego i obcego
muszą być zgodne
• nazwy pól klucza podstawowego i obcego nie muszą
być identyczne (ale dla wygody często nadaje się tą
samą nazwę)
Relacja „jeden do jednego”
Relacja pomiędzy tabelami „jeden do jednego”
(one-to-one)
• W relacji jeden-do-jednego każdy rekord w tabeli A
może mieć tylko jeden dopasowany rekord z tabeli B,
i tak samo każdy rekord w tabeli B może mieć tylko
jeden dopasowany rekord z tabeli A.
• Ten typ relacji spotyka się rzadko, ponieważ większość
informacji powiązanych w ten sposób byłoby zawartych
w jednej tabeli. Relacji jeden-do-jednego można
używać do podziału tabeli z wieloma polami, do
odizolowania długiej tabeli ze względów
bezpieczeństwa, albo do przechowania informacji
odnoszącej się tylko do podzbioru tabeli głównej.
Relacja „jeden do wielu”
Relacja pomiędzy tabelami „jeden do wielu” (one-to-many):
• rekord w tabeli A może mieć wiele dopasowanych do
niego rekordów z tabeli B, ale rekord w tabeli B ma
tylko jeden dopasowany rekord w tabeli A
• najczęściej występujący typ relacji
Przykład:
• do jednego wykonawcy przypisanych jest wiele płyt CD
• każda płyta CD ma tylko jednego autora
Relacja „wiele do wielu”
Relacja pomiędzy tabelami „wiele do wielu”
(many-to-many)
• Rekord w tabeli A może mieć wiele dopasowanych do
niego rekordów z tabeli B i tak samo rekord w tabeli B
może mieć wiele dopasowanych do niego rekordów z
tabeli A.
• Jest to możliwe tylko przez zdefiniowanie trzeciej tabeli
(nazywanej tabelą łącza), której klucz podstawowy
składa się z dwóch pól — kluczy obcych z tabel A i B.
• Relacja wiele-do-wielu jest w istocie dwiema relacjami
jeden-do-wielu z trzecią tabelą.
Etapy projektowania
relacyjnej bazy danych
Etap 1 – Określenie celu, jakiemu ma służyć baza danych.
Etap 2 –Określenie tabel, które są potrzebne w bazie
danych.
Etap 3 – Określenie pól, które są potrzebne w tabelach.
Etap 4 – Przypisanie polom jednoznacznych wartości
w każdym rekordzie
Etap 5 – Określenie relacji między tabelami
Etap 6 – Wprowadzenie danych i utworzenie innych
obiektów bazy danych(raporty,formularze, strony dostępu
do danych, skrypty i moduły)
Wybór typu pola
Przy podejmowaniu decyzji, jakiego typu danych użyć
w polu tabeli, należy uwzględnić następujące czynniki:
• Jakie wartości będą dozwolone dla pola?
• Ile miejsca będą mogły zajmować dane przechowywane
w polu?
• Jakie operacje będą wykonywane na wartościach
w polu?
• Czy wartości w polu będą sortowane lub indeksowane?
• Czy pole będzie używane do grupowania rekordów
w kwerendach lub raportach?
• W jaki sposób wartości pola będą sortowane?
Internetowe bazy danych
Elementy internetowej bazy danych:
• serwer WWW (Apache) z obsługą skryptów
• baza danych (np. MySQL)
• interpreter skryptów – PHP, CGI/perl – pośredniczy
pomiędzy serwerem WWW a bazą danych
• strony WWW statyczne (HTML) – formularze
• skrypty JavaScript – kontrola poprawności danych
• skrypty PHP lub CGI – przetwarzanie danych,
generowanie dynamicznych stron WWW
Download