systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze....

31
Systemy baz danych Wykład 1 Wykład 1 mgr inż. Sylwia Glińska

Upload: dotruc

Post on 01-Mar-2019

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Systemy baz danych

Wykład 1Wykład 1

mgr inż. Sylwia Glińska

Page 2: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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

Page 3: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Zalety korzystania z komputerowych

baz danych

• Szybkie wyszukiwanie informacji

• Łatwe wykonywanie obliczeń

• Możliwość przechowywania dużej ilości

danych na małej powierzchnidanych na małej powierzchni

• Szybkie porządkowanie danych

Page 4: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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. 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,

Page 5: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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 (z wyjątkiem głównego) jest związany z

dokładnie jednym rekordem nadrzędnym.

Page 6: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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 obiektu danych. Model sieciowy korzysta z dwóch podstawowych elementów: rekordów i zbiorów

Page 7: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Obiektowy model baz danych

Model obiektowy łączy cechy programów

komputerowych tworzonych w językach

programowania obiektowego z cechami

aplikacji bazodanowych. Obiekt w bazie aplikacji bazodanowych. Obiekt w bazie

reprezentuje obiekt w świecie rzeczywistym.

W bazach obiektowych dane

przechowywane są w strukturach obiektowych

(zdefiniowanych jako klasy).

Page 8: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Model relacyjno-obiektowy

Bazy relacyjno-obiektowe pozwalają na

manipulowanie danymi jako zestawem

obiektów, posiadają jednak bazę relacyjną jako

wewnętrzny mechanizm przechowywania wewnętrzny mechanizm przechowywania

danych.

Page 9: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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 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.

Page 10: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Relacyjny model baz danychZasady 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• Wszystkie wartości w kolumnie są tego samego typu

Page 11: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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

Page 12: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

• 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

Page 13: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Podstawowe pojęcia dotyczące relacyjnych baz danych

Tabela

Page 14: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Klucz podstawowy (główny)

Definiowanie klucza podstawowego

Page 15: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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 niezbędny przy zakładaniu relacji

� Jest rzadko zmieniany (najlepiej nigdy)

Page 16: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Indeks

Przykład

Ustawienia indeksowania dla pola

Page 17: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

RelacjePo 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

Page 18: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft
Page 19: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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. DatabaseManagement System, DBMS) – oprogramowanie bądź

System zarządzania bazą danych, SZBD (ang. DatabaseManagement 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.

Page 20: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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

Page 21: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Typy danych

Page 22: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Właściwości pól

Page 23: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft
Page 24: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Maska

wprowadzania

Page 25: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Przykłady

masek wprowadzania

Page 26: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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).(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.

Page 27: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Relacje i ich typy1. 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. 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ń„.

Page 28: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Normalizowanie baz danych,

redundancje, postaci normalne

Normalizacja bazy danych jest to proces mający nacelu eliminację powtarzających się danych wrelacyjnej bazie danych. Główna idea polega natrzymaniu danych w jednym miejscu, a w raziepotrzeby linkowania do danych. Taki sposóbtworzenia bazy danych zwiększa bezpieczeństwopotrzeby linkowania do danych. Taki sposóbtworzenia bazy danych zwiększa bezpieczeństwodanych i zmniejsza ryzyko powstania niespójności.Istnieją sposoby ustalenia czy dany schemat bazydanych jest "znormalizowany", a jeżeli jest to jakbardzo. Jednym ze sposobów jest przyrównaniedanej bazy do schematów zwanych postaciaminormalnymi

Page 29: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

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 przez włączenie opcji Wymuszaj więzy

integralności podczas definiowania relacji

między tabelami. (kaskadowo usuń rekordy

pokrewne, kaskadowo aktualizuj pola

pokrewne)

Page 30: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Sprawdzanie poprawności danych

• Wartość domyślna

• Maska wprowadzania

• Reguły poprawności dla pola i rekordu

Page 31: Systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze. Przykładem systemu zarządzania bazą danych: MS Access, MySQL, Firebird, Oracle, Microsoft

Obiekty bazy danych (np. MS Access)

• tabele

• kwerendy

• formularze

• raporty• raporty

• makra