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 ewidencyjno-
Rola baz danych
Baza danych
Zbiór danych zorganizowany według określonej
struktury, przechowywany na nośniku komputerowym.
Sposób organizacji danych nazywa się modelem danych
prosty, hierarchiczny, sieciowy, relacyjny, obiektowy, wielowymiarowych baz danych (wykorzystywany
w hurtowniach danych) etc.
Modele danych
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 AdresKontr IdPrac NazwiskoPrac Stanowisk o
firma A Łódź 1 Kowalski niższe
firma B Pabianice 2 Iksiński wyższe
firma C Zgierz 3 Kowalska wyższe
firma X Stryków 3 Kowalska wyższe
firma Y Stryków 1 Kowalski niższe
firma Z Łódź 2 Iksiński 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
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)?
Kontrahenci
Kontrahent AdresKontr IdPrac
firma A Łódź 1
firma B Pabianice 2 firma C Zgierz 3 firma X Stryków 3 firma Y Stryków 1
firma Z Łódź 2
Pracownicy
Stanowisk o
1 Kowalski niższe
2 Iksiński wyższe
3 Kowalska wyższe
IdPrac NazwiskoPrac
Przykład 2
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)?
Kontrahenci Pracownicy Przydziały
Kontrahent AdresKontr IdPrac NazwiskoPrac Stanowisko Kontrahent IdPrac
firma A Łódź 1 Kowalski niższe firma A 1
firma B Pabianice 2 Iksiński wyższe firma B 2
firma C Zgierz 3 Kowalska wyższe firma C 3
firma X Stryków firma X 3
firma Y Stryków firma Y 1
firma Z Łódź firma Z 2
firma A 2 firma C 1
Przykład 2 – c.d.
Schemat bazy danych z poprzedniego slajdu:
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