Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska
Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania bazą danych to program zarządzający danymi w bazie i umożliwiający ich przetwarzanie. Bazą danych stają się dane, zapisane w ściśle określony sposób według założonego modelu danych
Zalety korzystania z komputerowych baz danych Szybkie wyszukiwanie informacji Łatwe wykonywanie obliczeń Możliwość przechowywania dużej ilości danych na małej powierzchni Szybkie porządkowanie danych
Modele baz danych Model bazy danych – zbiór zasad (specyfikacji), opisujących strukturę danych w bazie danych. Określane są również dozwolone operacje. Definiuje się strukturę danych poprzez specyfikację reprezentacji dozwolonych w modelu obiektów (encji) oraz ich związków. W informatyce głównymi modelami baz danych są: hierarchiczny model danych, relacyjny model danych, sieciowy (grafowy) model danych, obiektowy model danych,
Model hierarchiczny W modelu hierarchicznym dane są przechowywane na zasadzie rekordów nadrzędnych-podrzędnych, tzn. rekordy przypominają strukturę drzewa. Każdy rekord (z wyjątkiem głównego) jest związany z dokładnie jednym rekordem nadrzędnym.
Sieciowy model danych Model sieciowej bazy danych – zmodyfikowana wersja modelu hierarchicznego, pozwalająca na definiowanie relacji wiele-wiele w postaci struktury drzewiastej bez powtarzania poszczególnych wartości w ramach obiektu danych. Model sieciowy korzysta z dwóch podstawowych elementów: rekordów i zbiorów
Obiektowy model baz danych Model obiektowy łączy cechy programów komputerowych tworzonych w językach programowania obiektowego z cechami aplikacji bazodanowych. Obiekt w bazie reprezentuje obiekt w świecie rzeczywistym.
Relacyjny model baz danych Relacyjna baza danych - zbiór danych w postaci tabel połączonych relacjami. Opis relacyjnego modelu danych można podzielić na trzy części: ■ struktury danych – czyli, w jaki sposób i według jakich zasad organizujemy przechowywanie danych oraz według jakich zasad należy je projektować; ■ języki manipulowania danymi – czyli, w jaki sposób zapisywać, modyfikować, usuwać oraz pobierać dane znajdujące się w bazie danych ■ integralność danych – czyli, w jaki sposób zapewnić poprawność przechowywanych danych.
Relacyjny model baz danych Zasady dla poprawnie działającego relacyjnego modelu baz danych: Każda tabela w bazie danych ma jednoznaczną nazwę Każda kolumna tabeli ma jednoznaczną nazwę w obrębie tej tabeli Wszystkie wartości w kolumnie są tego samego typu
W tabeli nie mogą istnieć dwa identyczne wiersze, każdy wiersz jest różny, tabela może istnieć bez wierszy W tabeli relacyjnej są przechowywane dane oparte na typach prostych (dane elementarne)
Kolejność wierszy i kolejność kolumn w tabeli relacyjnej nie ma żadnego znaczenia – czyli położenie danej w tabeli nie wpływa na jej znaczenie
Podstawowe pojęcia dotyczące relacyjnych baz danych Tabela
Klucz podstawowy (główny) Definiowanie klucza podstawowego
Cechy klucza podstawowego Jednoznacznie identyfikuje dany rekord Nigdy nie jest pusty ani nie ma wartości NULL – wartość zawsze istnieje Jest niezbędny przy zakładaniu relacji Jest rzadko zmieniany (najlepiej nigdy)
Indeks Przykład Ustawienia indeksowania dla pola
Relacje Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do systemu bazy danych informacje na temat sposobu poprawnego łączenia powiązanych danych w logiczną całość. W tym celu definiuje się relacje między tabelami. Przykładowe relacje miedzy tabelami Widok związku tabel na karcie relacje
Rekord (ang.record) zwany także krotką lub wierszem, to pozioma struktura danych opisująca jeden obiekt. Rekord składa się z pól opisujących dokładnie cechy obiektu np. pojedynczego pracownika. Atrybut (cecha, pole, kolumna) to struktura danych opisująca pojedynczą daną w rekordzie np. nazwisko pracownika System zarządzania bazą danych, SZBD (ang. Database Management System, DBMS) – oprogramowanie bądź system informatyczny służący do zarządzania bazą danych. System zarządzania bazą danych może być również serwerem bazy danych (SBD) lub też może udostępniać bazę danych lokalnie – na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft SQL Server itp.
Encja to reprezentacja wyobrażonego lub rzeczywistego obiektu (grupy obiektów) stosowana przy modelowaniu danych podczas analizy informatycznej. Formalnie jest to pojęcie niedefiniowalne, a podstawową cechą encji jest to, że jest rozróżnialna od innych encji. Przykłady encji (i atrybuty w encji): Osoba (imię, nazwisko, PESEL) Pojazd (wysokość, szerokość, długość, sposób poruszania się) Klucz obcy - w modelu relacyjnym bazy danych kombinacja jednego lub więcej atrybutów tabeli, który wyraża się w dwóch lub większej liczbie relacji. Wykorzystuje się go do tworzenia relacji pomiędzy parą tabel. Np. jeśli mamy bazę "Firma" składającą się z tabel: Oddział (id_oddziału, miejscowość, telefon, ...) Pracownik (id_pracownika, imię, nazwisko, id_oddziału, ...) to kolumna Pracownik.id_oddziału mogłaby być kluczem obcym związanym z kolumną Oddział.id_oddziału
Typy danych
Właściwości pól
Maska wprowadzania
Przykłady masek wprowadzania
Typ danej (ang. data type) - rodzaj danej, czyli forma zapisu informacji: znakowy (ang.character) dana może przybierać tylko wartości znaków pisarskich liczbowy (ang.number) dana może przechowywać tylko liczby logiczny (ang.logical) dana może przybierać tylko dwie wartości: prawda, fałsz (tak, nie) data (ang.date) dana może przyjmować postać daty i czasu np. rok.miesiąc.dzień godz:min:sek alfanumeryczny (ang.alphanumeric) dana może przybierać wartości znaków ASCII oraz cyfry numeryczny (ang.numeric) wartościami danej mogą być tylko cyfry i znaki: + (plus), - (minus). walutowy (ang.currency) dana może przyjmować wartości liczbowe razem z symbolem waluty notatnikowy (ang.memo) dana może być oddzielnym zbiorem tekstowym służącym do przechowywania dowolnych opisów. binarny (ang.binary) dana może być np. plikiem dźwiękowym lub filmowym. graficzny (ang.graphic) dana przechowuje grafikę np. rysunki. obiektowy (ang.OLE) dana przechowuje obiekty do których dostęp dokonuje się za pomocą techniki OLE (ang. object linking and embleding), czyli obiektów tworzonych przez inne aplikacje.
Relacje i ich typy Relacja jeden-do-jednego 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 części tabeli ze względów bezpieczeństwa, albo do przechowania informacji odnoszącej się tylko do podzbioru tabeli głównej. 2. Relacja jeden-do-wielu Relacja jeden-do-wielu jest najbardziej powszechnym typem relacji. W relacji jeden-do-wielu 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. 3. Relacja wiele-do-wielu W relacji wiele-do-wielu, 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ą. Na przykład, tabele "Zamówienia" i "Produkty" są powiązane relacją wiele-do-wielu zdefiniowaną przez utworzenie dwóch relacji jeden-do-wielu z tabelą "Opisy zamówień„.
Normalizowanie baz danych, redundancje, postaci normalne Normalizacja bazy danych jest to proces mający na celu eliminację powtarzających się danych w relacyjnej bazie danych. Główna idea polega na trzymaniu danych w jednym miejscu, a w razie potrzeby linkowania do danych. Taki sposób tworzenia bazy danych zwiększa bezpieczeństwo danych i zmniejsza ryzyko powstania niespójności. Istnieją sposoby ustalenia czy dany schemat bazy danych jest "znormalizowany", a jeżeli jest to jak bardzo. Jednym ze sposobów jest przyrównanie danej bazy do schematów zwanych postaciami normalnymi
Więzy integralności Więzy integralności mają na celu zapobieganie powstawaniu rekordów odłączonych i synchronizowanie odwołań. Wymusza się je przez włączenie opcji Wymuszaj więzy integralności podczas definiowania relacji między tabelami. (kaskadowo usuń rekordy pokrewne, kaskadowo aktualizuj pola pokrewne)
Sprawdzanie poprawności danych Wartość domyślna Maska wprowadzania Reguły poprawności dla pola i rekordu
Obiekty bazy danych (np. MS Access) tabele kwerendy formularze raporty makra