Materiały z zajęć – 9.02

Download Report

Transcript Materiały z zajęć – 9.02

Slide 1

Systemy baz danych
Wykład 1

mgr inż. Sylwia Glińska


Slide 2

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


Slide 3

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


Slide 4

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,


Slide 5

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.


Slide 6

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


Slide 7

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.


Slide 8

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.


Slide 9

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


Slide 10

• 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)


Slide 11

• 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


Slide 12

Podstawowe pojęcia dotyczące relacyjnych baz danych

Tabela


Slide 13

Klucz podstawowy (główny)

Definiowanie klucza podstawowego


Slide 14

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)


Slide 15

Indeks

Przykład

Ustawienia indeksowania dla pola


Slide 16

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


Slide 17


Slide 18

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.


Slide 19

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


Slide 20

Typy danych


Slide 21

Właściwości pól


Slide 22


Slide 23

Maska
wprowadzania


Slide 24

Przykłady
masek wprowadzania


Slide 25

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.


Slide 26

Relacje i ich typy
1. 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 jedendo-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ń„.


Slide 27

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


Slide 28

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)


Slide 29

Sprawdzanie poprawności danych
• Wartość domyślna
• Maska wprowadzania
• Reguły poprawności dla pola i rekordu


Slide 30

Obiekty bazy danych (np. MS Access)






tabele
kwerendy
formularze
raporty
makra