Rola baz danych

advertisement
Rola baz danych
Systemy informatyczne stosowane w obsłudze
działalności gospodarczej pełnią funkcję polegającą
na gromadzeniu i przetwarzaniu danych.
Typowe operacje wykonywane na danych
w systemach ewidencyjno-sprawozdawczych
(transakcyjnych) są stosunkowo proste.
Główne wyzwania: wierne odwzorowanie zdarzeń
gospodarczych, zapewnienie jednoznaczności
i bezpieczeństwa danych etc.
Wobec tego kluczowe znaczenie mają bazy danych
a systemy zarządzania bazą danych realizują
większość funkcji systemu ewidencyjnosprawozdawczego.
Baza danych
Zbiór danych zorganizowany według określonej
struktury, przechowywany na nośniku komputerowym.
Sposób organizacji danych nazywa się modelem
danych
Modele danych
prosty, hierarchiczny, sieciowy, relacyjny, obiektowy,
wielowymiarowych baz danych (wykorzystywany
w hurtowniach danych) etc.
System zarządzania bazą danych
Ang. DataBase Management System (DBMS)
Oprogramowanie do kompleksowej obsługi b.d. –
umożliwia tworzenie b.d., wprowadzanie, modyfikację,
wyszukiwanie i prezentację danych, zarządzanie
dostępem do danych itd.
Relational DBMS (RDBMS) – system zarządzania
relacyjną bazą danych.
Popularne komercyjne RDBMS: Oracle, DB2 (IBM),
Microsoft SQL Server, Microsoft Access
i wiele innych.
Popularne darmowe RDBMS: MySQL, PostgreSQL.
Relacyjna baza danych (RBD)
Jest to baza danych oparta na modelu relacyjnym,
sformułowanym przez E. Codda (1970).
RBD jest to zestaw tabel (relacji) o następujących
własnościach:
Każda tabela w b.d. posiada unikalną nazwę.
Każda kolumna w tabeli posiada unikalną (w ramach
tej tabeli) nazwę. Kolumny to inaczej atrybuty (np.
nazwisko pracownika, data urodzenia itp.).
Poszczególne pozycje w kolumnie reprezentują ten
sam typ danych (np. tekstowy, liczby całkowite itd.).
Zbiór wszystkich możliwych wartości atrybutu tworzy
tzw. dziedzinę. Na wartości atrybutów mogą być
nałożone różnego rodzaju ograniczenia.
Relacyjna baza danych – c.d.
Porządek kolumn w tabeli nie ma znaczenia.
Każdy wiersz (in. krotka, rekord) tabeli zawiera zestaw
powiązanych danych – na temat określonej jednostki
(np. pojedynczego studenta w tabeli studentów) lub
określonego związku (np. o zapisie danego studenta
na daną specjalność).
Porządek wierszy w tabeli nie ma znaczenia – nie
niesie informacji (np. o kolejności zapisów na wykład).
Przecięcie wiersza i kolumny nazywane jest polem
tabeli.
Pole może zawierać wartość nieokreśloną (NULL),
oznaczającą brak danych.
Normalizacja bazy danych
Normalizacja to proces przekształcenia bazy danych
do takiej postaci, która – głównie dzięki eliminacji
powtórzeń danych – będzie w jak najmniejszym
stopniu narażona na powstawanie niespójności
w trakcie korzystania z b.d.
Normalizacja bazy danych prowadzi zwykle do
podziału początkowego zbioru danych na wiele tabel.
Normalizacja opiera się na określonych regułach,
których omówienie pominiemy.
Przykład – przed normalizacją
Kontrahent
firma A
firma B
firma C
firma X
firma Y
firma Z
AdresKontr
Łódź
Pabianice
Zgierz
Stryków
Stryków
Łódź
IdPrac
1
2
3
3
1
2
NazwiskoPrac
Kowalski
Iksiński
Kowalska
Kowalska
Kowalski
Iksiński
Stanowisko
niższe
wyższe
wyższe
wyższe
niższe
wyższe
Dane o kontrahentach i pracownikach oraz
o przypisaniu pracowników do obsługi kontrahentów
(założenie: za danego kontrahenta odpowiedzialny
jest 1 pracownik).
Przykład – po normalizacji
Pracownicy
IdPrac NazwiskoPrac
1
Kowalski
2
Iksiński
3
Kowalska
Stanowisk o
niższe
wyższe
wyższe
Kontrahenci
Kontrahent
firma A
firma B
firma C
firma X
firma Y
firma Z
AdresKontr
Łódź
Pabianice
Zgierz
Stryków
Stryków
Łódź
IdPrac
1
2
3
3
1
2
IdPrac w tablicy Kontrahenci jest atrybutem
pozwalającym powiązać dane z tej tabeli z danymi
pracowników.
Jak wyglądałaby b.d. zakładając, że jednym
kontrahentem może się opiekować kilku pracowników
(i pracownik może obsługiwać wielu kontrahentów)?
Klucze
W relacyjnej bazie danych rekordy znajdujące się
w różnych tabelach można powiązać za pomocą
kluczy.
Klucz główny (podstawowy) – atrybut lub zestaw
atrybutów, który jednoznacznie identyfikuje każdy
wiersz tabeli (np. IdPrac jednoznacznie identyfikuje
pracownika). Wartości klucza głównego nie mogą się
powtarzać [w przykładzie: IdPrac w tabeli Pracownicy
oraz Kontrahent w tabeli Kontrahenci].
Klucz obcy – atrybut lub zestaw atrybutów, który pełni
funkcję klucza głównego w innej (obcej) tabeli. Służy
do powiązania rekordu w danej tabeli z rekordem
w innej tabeli [w przykładzie: IdPrac w tabeli
Kontrahenci].
Download