systemy baz danych 1 - zst-czest.cba.pl · bazę danych lokalnie –na określonym komputerze....
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/11.jpg)
• 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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/12.jpg)
• 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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/18.jpg)
![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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/23.jpg)
![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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022052320/5c79528609d3f2c9458c19bf/html5/thumbnails/31.jpg)
Obiekty bazy danych (np. MS Access)
• tabele
• kwerendy
• formularze
• raporty• raporty
• makra