Funkcje bazy danych

advertisement
Informatyka
Zakres rozszerzony
TEMAT :
BAZY 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
To 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
• 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
• szybkiego wyszukiwania i kojarzenia informacji
przechowywanych w odrębnych tabelach.
• pola lub ich zestawy jednoznacznie identyfikująceg
każdy rekord zapisany w tabeli.
• Pole to lub ich zestaw nosi nazwę klucza
podstawowego tabeli (primary key).
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. 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)
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
Random flashcards
123

2 Cards oauth2_google_0a87d737-559d-4799-9194-d76e8d2e5390

bvbzbx

2 Cards oauth2_google_e1804830-50f6-410f-8885-745c7a100970

Pomiary elektr

2 Cards m.duchnowski

Create flashcards