1NF (1-sza poatać normalizacyjna) to taka postać relacji której na przejściu wierszy i kolumn występują tylko dane elementarne.
Przejście do 1NF
Należy określić atrybut lub grupę atrybutów które mogą pełnić rolę klucza danej relacji. Należy zdefiniować powtarzające się grupy które powtarzają sie dla atrybutów kluczowych i występują pewne powtarzające się atrybuty. Następnie należy usunąć powtarzające się grupy przez wprowadzenie odpowiednich danych w puste komórki w wierszach lub kolumnach albo przez powtórzenie danej z innego klucza. Proces normalizacji rzadko daje w wyniku jedno rozwiązanie,najczęściej daje wiele różnych schematów relacji, z których jeden wybierany jest do wyniku bazy danych. W uzasadnionych przypadkach dopuszcza się odstępstwa od postaci normalnej.
2NF (druga postać normalna) jest oparta na pojęciu pełnej zależności funkcjonalnej, pełna zależność funkcjonalna wskazuje że jeżeli A i B są atrybutami relacji, B jest w pełni zależne funkcjonalnie od A i jeżeli B zależy od A, ale nie zależy od żadnego z jego podzbiorów.
Zbiór identyfikacyjny relacji jest to taki zbiór relacji który jednoznacznie identyfikuje wszystkie kroki tej relacji, a żaden z jego podzbiorów nie ma tej własności.
Relacja 2NF jest to relacja 1NF której każdy atrybut nie wchodzący w skład klucza głównego jest , funkcjonalnie zależny od tego klucza .
Przejście od 1NF do 2NF:
" należy określić klucz główny dla relacji w 1NF, • określić zależności funkcjonalne tej relacji, jeżeli istnieją zależności cząstkowe od klucza głównego to te atrybuty należy przenieść do nowo utworzonej relacji wraz z własnymi danymi wartościami klucza głównego.
:echy charaiŁtaryatyczne baz danych
Ha odrębnych aplikacji: i
. Każda aplikacja operuje na /l
>ddzielnym zestawie danych.
;. Niektóre dane są zapisywane do
lżytku przez wiele programów, tym
samym marnowana jest pamięć,
zwiększona łączna obj. danych a
wielokrotnie wprow. dane dotyczące
:ych samych obiektów mogą się
różnić w wyniku błędów przy
/prowadzaniu. Te same dane
opisujące te same obiekty mogą w
odrębnych zbiorach danych być
sapis. w różnych formatach, tym
samym próba wykorzystania danych
jednego programu przez inny może
>/ymagać konwersji formatu.
3. Budowa baz danych dla odr.
aplikacji charakt. się wymaganiami
stawianymi przez konkretną
aplikację. Tym samym strukt.
zbiorów danych poszcz. aplikacji
jest z reguły różna co powoduje że
jedna aplikacja nie może korzystać
bezpośrednio z danych innej
aplikacji.
4. Reprezentacja danych w zbiorach
danych utw. przy pomocy różnych
języków programowania powoduje że
dane te przy nawet jednakowym
formacie mogą być zapisywane w
pamięci w różny sposób.
5. Aplikacje zorientowane do
wykonywania konkretnych zadań mają
z reguły wbudowany zestaw funkcji i
dodanie do tych funkcji z reguły
wymaga zmiany oprogramowania i
formatu danych
Baza danych - współdzielona
kolekcja logicznie powiązanych
danych i opisu tych danych.
Kolekcja tych danych jest
projektowana dla potrzeb
przetwarzania informacji konkr.
użytkownika. Logicznie powiązane
dane zawierają opisy encji,
atrybutów oraz zależności pom.
poszczególnymi encjami.
Język definicji danych (DDL)
pozwala na wyspecyfikowanie typów
danych, struktur danych i wszelkich
ograniczeń stawianych danym.
Wszystkie specyfikacje są
przechowywane w bazie danych.
Język manipulacji danymi (DML)
stanowi narzędzie do dostępu do
danych, wyszukiwania potrzebnych
danych i przetwarzania ich.
Cechy baz danych:
1. Kontrolowany dostęp do danych;
• system zabezpieczeń,
• system kontroli interaktywnych
danych,
• system odtwarzania stanu bazy
w przypadku wystąpienia awarii,
• katalog danych dostępny dla
użytkownika.
2. Bazy danych oferują mechanizm
perspektywy - narzędzie do
przetwarzania danych w taki sposób,
jaki jest potrzebny.
3. Poprawnie zaprojektowane systemy
baz danych umożliwiają modyfikację
struktury danych bez utraty danych.
Rodzaje użytkowników baz danych
(role);
1. Administratorzy bazy danych:
• definiowanie struktury bazy
danych,
• nadzór nad jej eksploatacją,
• przydzielanie uprawnień jej
użytkownikom,
• odtwarzanie stanu bazy danych
sprzed awarii,
• systeniAtyc-- , óo'"-..y» -"' -
kopii rezerwowych bazy danych.
2. Projektanci bazy danych:
• odpowiedzialni za wykonanie
projektu który może mieć 2 rodzaje:
projekt logiczny (opis wszystkich
obiektów, atrybutów, zakresy
wartości atrybutów) oraz projekt
fizyczny.
3. Programiści systemu bazy danych:
• tworzą projekty i programują
procedury dostępu do danych.
• projektują interface
użytkownika, oprogramowują temat
raportów.
4. Użytkownicy końcowi:
• użytkownicy naiwni,
Związki^w bazie danych oprócz
wartości atrybutów dla <
poszczególnych cnej i zapisuje się
:akże informacje o łączących je
wiązkach. Związki mogą mieć
ównież swoje atrybuty. Związki
ystepuja jako zw. o różnych
topniach. Stopniem związku
nazywamy liczbę encji powiązanych w
ramach związku.
Ograniczania strukturalne dla
związków:
• ogr. związane z liczbą
możliwych związków dla każdej z
encji. Większość praktycznie
spotykanych związków to związki
binarne (łączące 2 typy endi. przy
czym mogą one występować jak;
związki typu 1:1, 1:M, M: l, M:N),
• ograniczenie które mówi o tym
czy istnienie encji występującej w
danym związku zależy od istnienia
drugiej encji z nią powiązanej.
W budowie modeli logicznych mogą
pojawić się tzw. pułapki zw. z
powiązaniami. Najczęściej biorą się
one z niejasnego określenia
rodzajów powiązań. Rodzaje
problemów:
• anomalia typu wachlarz -
występują gdy model opisuje
powiązania pomiędzy poszczególnymi
typami encji ale ścieżka która
łączy poszczególne krotki jest
nieokreślona,
• anomalia typu luka - gdy model
sugeruje istnienie powiązania
pomiędzy poszcz. grupami encji, ale
pomiędzy konkretnymi krotkami nie
ma jednoznacznej drogi przejścia.
Modela systemów baz danych:
1. Model sieciowy :
• składa się z: rekord, grupa
powtórzeniowa, wektor, dane
elementarne, oraz dowolne wiązania
pomiędzy poszcz. elementami,
• wyst. rekordy różnych typów
oraz powiązania między nimi,
• użytkowanie tak zorganizowanej
bazy danych polega na swobodr.y^.
poruszaniu się po sieci i
wyławianiu danych.
2. Model relacyjny (SZRBD):
• skł. się z dwuwymiarowych
tablic z których każda zawiera dane
elementarne i rekordy,
• w ramach tabeli wyst.
jednakowe typy rekordów,
• nie ma żadnych informacji o
wiązaniach między rekordami różnych
typów,
• można posługiwać się wieloma
tabelami.
! Podstawowe pojęcia modelu
sieciowego:
dana elementarna,
wektor,
grupa powtórzeniowa,
rekord,
wiązania
Typy wiązań:
• 1-1 - jedno jednoznaczne,
• 1-N - jedno wieloznaczne,
• N-l - wielo jednoznaczne,
" N-N - wielo wieloznaczne.
Koleiccja - ważne pojęcie sieciowych
baz danych, jej zadaniem jest
odzwierciedlenie powiązań 5:N
pomiędzy typami rekordów. Tvpv
kolekcji:
• jednostkowe,
• rekurencyj ne.
Relacyjna baza danych to baza w
której zależności między danymi są
zapisane w postaci relacji.
Pociatawowe pojęcia: 5i
relacja - dwuwymiarowa tablica^
jako sposób przedstawienia danych,
• elementy relacji - wiersze
tablicy,
• krotki - elementy relacji,
• atrybut - kolumna relacji,
• stopień tabeli - liczba kolumn
w tabeli,
• liczebność tabeli - liczba
wierszy w tabeli,
l• encja - rzecz, która w
' organizacji jest reprezentowana
• jako rzecz istniejąca niezależnie i
l jednoznacznie zdefiniowana, może
\ być: obiektem, zdarzeniem,
! pojęciem.
i
\ ; Normalizacja - jej celem jest
j |opracowanie logicznego modelu bazy
^ j relacyjnet zawierającego dokładny
| opis danych, pc^i^za^ i oc^r^cze:..
' Dla osiągnięcia tego celu należy
'•'. zaprojektować stosowny zbiór
relacji.
Technika normalizacji została
: zaprojektowana przez Coda/Colda(?)
w 1972 r.
Normalizacja składa się z szeregu
testów , dla których spełnienia
często konieczne jest podział
relacji na relację składową.
Najczęściej spotykanymi postaciami
normalnymi są postacie 1-5 (1NF,
2NF, 3NF, 4NF - Boyce-Coda, 5NF).
Wyróżnienie poszczególnych postaci
normalnych prowadzi się drogą
analizy zależności funkcjonalnych
występujących relacji. Tym samym w
każdym przypadku relacyjnej bazy
danych niezbędne jest określenie
•zbioru atrybutów (relacji) oraz
, zależności funkcjonalnych pomiędzy
i tymi atrybutami. Normalizacja
relacji ma na celu zabezpieczenie
bazy danych przed wystąpieniem
anomalii.
Jednym z głównych celów projektu
bazy danych jest takie grupowanie
atrybutów w relacje, aby
zminimalizować redundancję.
Redundancja - zapis tych samych
danych w różnych' relacjach.
W przypadku podziału relacji na
rodzaje składowe unikamy zapisu
tych samych atrybutów z wyjątkiem
atrybutów kluczowych, niezbędnych
dla identyfikacji poszczególnych
krotek danej relacji.
Typy anomalii;
• wstawiania - przy redundancji
danych konieczne jest zapisanie
tych samych danych w wielu
miejscach bazy danych,
• usuwania - wymagają
przejrzenia wszystkich relacji w
których może pojawić się
informacja usuwanego typu,
• modyfikacji.
Cele stosowania normalizacji:
• bezstratna możliwość łączenia
danych z różnych relacji
składowych,
• wykorzystanie informacji o
powiązaniach pomiędzy
poszczególnymi atrybutami i
zachowanie ich w relacjach
składowych.
Zależność funkcjonalna opisuje
; związki pomiędzy atrybutami. Żal.
' funkc. Mogą być różnych typów, w
. szczególności mogą być
:wielowarstwowe.
;uwaga: W każdym przypadku
określanie 7?>.leżności funkcjonalnej
•.» '"łii-t"-' «"»"! •>.—-• ^ •.iypi»'»a '"lon^ »^»n<»nr>
Proces normalizacji Jest to formalnie technika, która ma na celu analizowanie klucza głównego
danej relacji i zależności
funkcjonalnych tej relacji.
Normalizację prowadzi się w szeregu
bloków osiągając kolejno postacie
normalne o specyficznych
własnościach. W miarę postępu
normalizacji format danych staje
j się coraz bardziej precyzyjny i
dane są coraz mniej wrażliwe na
anomalia.
Postać nieznormalizoyana to tabela
która zawiera jedną lub więcej
powtarzających się grup. Tworzenie
takiej tabeli polega na zbieraniu
informacji z dostępnych źródeł i
zapisu ich w postaci wierszy i
kolumn.
Wymagania stawiane gygteroom baz
danych:
" wszyscy użytkownicy musza mieć
zagwarantowany jednoczesny dostęp
do danych,
• widok (perspektywa)
konkretnego użytkownika musi być
niezależny od zmian wprow. w
perspektywach innych użytkowników,
• użytkownicy nie musza znać
szczegółowego zapisu danych w
pamięci komputera,
" bazy danych powinny pozwalać
na zmianę struktury zapisywanych
^nych bez utraty danych,
• baza danych powinna pozwalać
na zmiany swojej struktury
fizycznej bez zmian w strukturze
logicznej.
Wszystkie te wymagania spełnia
trójpoziomowa struktura ansi-sparc:
• poziom zewnętrzny - sposób
widzenia bazy danych przez
użytkownika, opisuje tą część bazy
danych, do której użytkownik ma
dostęp,
" poziom pojęciowy - opisuje
zawartość bazy danych, mówi o tym
jakie dane są w baz^e danych,
• poziom wewnętrzny - fizyczna
reprezentacja danych w systemie
komputerowym, opisuje sposób zapisu
danych w pamięci komputera.
• niezależność logiczna danych,
• możliwość zmiany poziomu
pojęciowego (dodawanie i usuwanie
encji oraz ich atrybutów),
• nie wymaga zmian na poziomie
zewnętrznym.
Do tworzenia systemów baz danych
korzysta się często z języków 4.
generacji. Języki takie posiadają:
" języki do budowy zapytań,
• generatory raportów,
• gen. formularzy,
• gen. grafiki,
• gen. aplikacji.
Model danych —zbiór pojęć
używanych do opisu danych, powiązań
pomiędzy danymi, oraz ograniczeń
nakładanych na dane.
Systemy baz danych budowane są z
wykorzystaniem następujących
architektur:
• hierarchicznej,
• sieciowej,
" relacyjnej,
• obiektowej.
Encja - obiekt lub pojęcie które
dla potrzeb baz danych uznano za
niezależny byt. Typy encji:
• słaby - zależny od istnienia
innej encji,
• nocny - nie zależy od innych
encji.
Atrybut jest własnością encji lub
związku. Typy atrybutów:
• proste,
• złożone (skł. się z wielu
niezależnych składników).