TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość. Zbiór struktur danych służących do organizowania i przechowywania danych. Baza danych to zestaw związanych ze sobą obiektów (tablic, formularzy, raportów, kwerend i zbiorów poleceń) utworzonych i zorganizowanych przez system zarządzania bazą danych (SZBD, ang. database manegement system - DBMS) Copyright 2014-2015, E. Busłowska 1 Copyright 2014-2015, E. Busłowska 2 System zarządzania bazą danych (SZBD) Środki sprzętowe i programistyczne umożliwiające dostęp i zarządzanie bazą danych. Zbiór komponentów służących do definiowania, konstruowania i modyfikowania bazy danych. Oczekiwania wobec SZBD Możliwość utworzenia nowej bazy danych i określenie jej schematu, Możliwość tworzenia zapytań o dane przez użytkownika Umożliwienie aktualizacji danych, Możliwość przechowywania dużej ilości danych, Możliwość zabezpieczenia przed nielegalnym dostępem. Copyright 2014-2015, E. Busłowska 3 Copyright 2014-2015, E. Busłowska 4 Najczęściej spotykane typy baz danych Oczekiwania wobec SZBD c.d. zapewnienie równoległego dostępu do BD wielu użytkownikom, zachowanie niezawodnej BD, wydajność przetwarzania BD. Bazy danych o pojedynczej tabeli, Jednostanowiskowa baza, Baza typu klient-serwer, Internetowa baza danych, Bazy rozproszone. Copyright 2014-2015, E. Busłowska 5 Copyright 2014-2015, E. Busłowska 6 1
Model relacyjny - historia Twórca E. F. Codd (rok 1970) dbaseii pierwsza relacyjna baza danych dla komputerów osobistych (rok 1980 firma Ashton Tate). DB2 pierwsza relacyjna baza danych dla dużych komputerów (rok 1983 firma IBM). Relacje Każda relacja w bazie danych ma jednoznaczną nazwę. Dwuwymiarowa tabela jest matematycznym zbiorem o jednoznacznej nazwie. Każda kolumna w relacji ma jednoznaczną nazwę w ramach jednej relacji. Każda kolumna to zbiór. Wszystkie wartości w kolumnie muszą być tego samego typu. Porządek kolumn w relacji nie jest istotny. Każdy wiersz w relacji musi być różny. Powtórzenia wierszy nie są dozwolone w relacji. Porządek wierszy nie jest istotny. Każde pole leżące na przecięciu kolumny i wiersza w relacji powinno zawierać wartość atomową. Copyright 2014-2015, E. Busłowska 7 Copyright 2014-2015, E. Busłowska 8 Relacja STUDENCI Dane są umieszczane w rekordach o określonej strukturze, z polami o określonej długości i typie Atrybuty Podstawowe pojęcia Schematem relacji nazywamy zbiór R = {A 1, A 2,..., A n } gdzie A 1, A 2,..., A n są atrybutami ( nazwami kolumn). Nr indeksu Nazwisko Imię Rok studiów 22200 Kowalski Jan 1 22201 Nowak Jerzy 2 22202 Zgoda Inga 2 22203 Gryko Piotr 1 22204 Waśkiewicz Anna 2 22205 Pelski Andrzej 1 Stopień Liczność Stopień relacji liczba atrybutów. Liczność liczba rekordów. Dziedziny (DOM) - zbiory wartości, z których pochodzą elementy występujące się w kolumnach tabeli. Wartości null - wartość nieznana. Copyright 2014-2015, E. Busłowska 9 Copyright 2014-2015, E. Busłowska 10 Klucze główne Klucze obce Klucz główny jest to jedna lub więcej kolumn tabeli, w których wartości jednoznacznie identyfikują każdy wiersz w tabeli. W tabeli może istnieć wiele kluczy kandydujących. Klucz kandydujący to kolumna lub zbiór kolumn, które mogą występować jako jednoznaczny identyfikator wierszy w tabeli. Klucze obce są sposobem łączenia danych przechowywanych w różnych tabelach. Klucz obcy jest kolumną lub grupą kolumn tabeli, która przybiera wartości z tej samej dziedziny co klucz główny tabeli powiązanej z nią w bazie danych. Copyright 2014-2015, E. Busłowska 11 Copyright 2014-2015, E. Busłowska 12 2
Wady redundancji Anomalie konieczność utrzymania spójności kopii, marnowanie miejsca, Anomalie. Związane z aktualizacją, Związane z istnieniem, Związane z wprowadzaniem, Związane z usuwaniem. Copyright 2014-2015, E. Busłowska 13 Copyright 2014-2015, E. Busłowska 14 Podział relacji Rozkład relacji i normalizacja Twierdzenie Jeżeli w relacji R={X, Y, Z} istnieją zależności funkcyjne X Y, to relacja R jest relacją rozkładalną, możemy więc zapisać: R=R1[X, Y]*R2[X, Z] redundancję usuwa się przez rozkład relacji rozkład odwracalny: można odwrócić przez naturalne złączenie rozkład relacji powinien doprowadzić do tzw. postaci normalnej rozkład relacji nie powinien powodować utraty zależności istniejących w relacji pierwotnej Copyright 2014-2015, E. Busłowska 15 Copyright 2014-2015, E. Busłowska 16 PROCES NORMALIZACJI RELACYJNEJ BAZY DANYCH Postać normalna pozwala minimalizować koszty przechowywania i aktualizowania oraz zwiększać wiarygodność danych. Wszystkie relacje znormalizowane i nieznormalizowane Pierwsza postać normalna Relacja jest w 1NF gdy wszystkie atrybuty są atomowe - prostych typów, 1NF jest wymogiem dla rachunku relacyjnego, a więc i języków zapytań. Relacja w 1NF wszystkie atrybuty mają wartości proste Relacja w 2NF nie ma zależności części klucza Relacja w 3NF nie ma zależność tranzytywnych Relacja w 4NF wiąże się z zależnościami wielowartościowymi Copyright 2014-2015, E. Busłowska 17 Copyright 2014-2015, E. Busłowska 18 3
Wady relacji w pierwszej postaci normalnej Dublowanie się danych prowadzi do niepotrzebnego zajmowania pamięci i przedłużania wykonywania operacji relacyjnych. Może również wystąpić niespójność danych problemy przy aktualizacji. Usuwając informacje możemy utracić dane. Diagramy zależności funkcyjnych Nr_ dostawcy Nazwa_części Nazwa_dostawcy Adres_dostawcy Magazyn Adres_magazyny Ilość Copyright 2014-2015, E. Busłowska 19 Copyright 2014-2015, E. Busłowska 20 Wady relacji w 2PN W przykładowej BD w relacji DOSTAWCA NA ZAMÓWIENIU dublują się dane atrybutu Nazwa dostawcy i Adres dostawcy, a w relacji CZĘŚCI W MAGAZYNIE atrybuty Adres magazynu. Wynika to z istnienia tak zwanych przechodnich zależności funkcyjnych między atrybutami. Copyright 2014-2015, E. Busłowska 21 Relacja jest w 3PN Jeśli jest w 1PN, Każdy atrybut niekluczowy jest bezpośrednio zależny funkcyjnie od całego klucza głównego, 3PN jest zazwyczaj wystarczająca Każdą relację można doprowadzić do 3PN zachowując: zależności odwracalność rozkładu Copyright 2014-2015, E. Busłowska 22 Zależności tranzytywne Z jest tranzytywnie zależny od klucza X w schemacie R=(U,F) wtedy i tylko wtedy gdy: a) X Z=, b) oraz istnieje Y U, Y X= i Y Z=, takie że X Y F + Y X F i Y Z F + Nr_ dostawcy Nazwa_dostawcy Adres_dostawcy Diagramy zależności funkcyjnych i przechodnich Nazwa_części Magazyn Adres_magazyny Ilość Copyright 2014-2015, E. Busłowska 23 Copyright 2014-2015, E. Busłowska 24 4
Czwarta postać normalna Schemat relacji R ze zbiorem zależności F jest w Czwartej postaci normalnej jeśli dla każdej zależności wielowartościowej (przy czym Y jest zbiorem niepustym lub podzbiorem X, a XY nie zawiera wszystkich atrybutów R), to X jest nadkluczem do R. Jeśli F nie zawiera zależności wielowartościowych to czwarta postać normalna pokrywa się z postacią normalną Boyce'a-Codda. Copyright 2014-2015, E. Busłowska 25 Zależność wielowartościowa Oznacza, że mając wartość jednego atrybutu, można określić wartości zbioru innego atrybutu. Oznacza się: X ->>Y, i odczytuje jako: X określa wiele Y". Przykładowo: Znając numer wykładowcy, można określić listę prowadzonych przez niego przedmiotów, Nrwykładowcy ->> Przedmiot Znając numer dostawcy można określić części, które dostarcza, Nrdostawcy ->> Część. Copyright 2014-2015, E. Busłowska 26 5