Top Banner
BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski
40

BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Mar 01, 2019

Download

Documents

ngohanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

BAZY DANYCH

wprowadzenie

Opracował:

dr inż. Piotr Suchomski

Page 2: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Prowadzący

Katedra Systemów Multimedialnych

dr inż. Piotr Suchomski (e-mail:

[email protected]) (pok. 730)

dr inż. Andrzej Leśnicki (e-mail:

[email protected] ) (pok. 636)

mgr inż. Dariusz Tkaczuk (e-mail:

[email protected]) (pok.

636)

Page 3: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Materiały

Materiały do wykładu i laboratorium

będą umieszczane w portalu:

http://www.sound.eti.pg.gda.pl

Login: student

Hasło: lab@kaesem

Page 4: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Zaliczenie

40% z wykładu + 60% laboratorium

Wykład - zaliczenie na podstawie

kolokwium.

Laboratorium – punkty za wykonywane

ćwiczenia + projekt i wykonanie bazy

danych (szczegółowe informacje

zostaną podane przez prowadzących

na zajęciach).

Page 5: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Lista prezentowanych zagadnień

Zagadnienia ogólne

Model związków encji

Relacyjny model danych

Inne modele danych

Multimedialne bazy danych

Język SQL

Projektowanie baz danych

Programowanie baz danych

Page 6: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Co to jest baza danych?

Jest to skomputeryzowany system

przechowywania rekordów z danymi.

Podstawowa funkcjonalność tego

systemu wymaga:

– Możliwość dodawania i usuwania zbiorów

danych,

– Możliwość dodawania, usuwania i

modyfikacji pojedynczych rekordów

danych,

– Możliwość wydobywania danych

Page 7: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Z czego składa się baza danych

Dane – przechowywane są w bazie w

sposób trwały, zintegrowany i mogą być

współdzielone.

Sprzęt – głównie to urządzenia pamięci

masowej (dyski magnetyczne,

optyczne) oraz procesory i

stowarzyszone z nimi pamięci

operacyjne, w których wykonywane są

programy.

Page 8: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Z czego składa się baza danych?

Programy – tworzą warstwę

pośredniczącą między użytkownikami a

fizyczną strukturą i magazynami

danych. Oprogramowanie to nazywane

jest systemem zarządzania bazą

danych (SZBD lub ang. DBMS –

database managment system). Uwalnia

użytkowników bazy od jej szczegółów

technicznych.

Page 9: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Z czego składa się baza danych?

Użytkownicy – zasadniczo można

wyróżnić 3 grupy:

– Programiści aplikacji – tworzą aplikacje

wykorzystujące bazy danych,

– „Użytkownicy końcowi” (end uesers) – za

pomocą specjalnie przygotowanych

interfejsów użytkownika (np. formularze)

korzystają z zasobów bazy danych,

bardziej zaawansowana grupa potrafi

korzystać z języka zapytań do bazy danych

Page 10: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Z czego składa się baza danych?

– Administrator danych (DA) i administrator

bazy danych (DBA) – wyznaczone osoby

pełniące funkcję kierowniczą. Administrator

danych jest osobą kompetentną w kwestii

definiowania danych (zna specyfikę danej

dziedziny danych), natomiast administrator

bazy danych jest specjalistą IT i nadzoruje

bazę danych od strony technicznej,

decyduje o sposobie implementacji struktur

danych

Page 11: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Cechy bazy danych

Trwałe i nezawodne przechowywanie

dużej ilości informacji,

Szybki dostęp do żądanych informacji,

Możliwość modyfikacji informacji,

Zapewnienie logicznej spójności

(integralności) danych,

Ochrona (bezpieczeństwo)

zgromadzonych danych.

Page 12: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Integracja danych

W bazie danych dane powinny tworzyć

logiczną całość. Projektując schemat

bazy danych należy tak zdefiniować

zbiory danych aby uniknąć redundancji

danych (należy unikać wielokrotnego

przechowywania tych samych danych).

Operacje wykonywane na bazie danych

nie mogą powodować przypadkowego

usuwania potrzebnych danych oraz

pozostawiania danych niepotrzebnych.

Page 13: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Składniki bazy danych

Język zapytań

System DBMS

Pamięć zewnętrzna

Page 14: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Pamięć zewnętrzna

Trwała – dane powinny być

przechowywane tak długo jak wymagają

tego użytkownicy bazy danych.

Niezawodna – częstotliwość

występowania awarii powinna być

pomijalna

– Zwielokrotnianie urządzeń pamięci (np.

macierze),

– Kontrola poprawności zapisu,

– Kody detekcji i korekcji błędów

Page 15: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Funkcje DBMS

Realizacja operacji dostępu do danych

na poziomie fizycznym (np. sterowniki,

algorytmy dostępu, struktury danych itp.)

Zapewnienie integralności danych

(przetwarzanie transakcyjne, kontrola

ograniczeń nałożonych na dane itp.),

Obsługa współbieżności przetwarzania

(rozstrzyganie konfliktów przy próbie

dostępu do tych samych danych)

Page 16: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Funkcje DBMS

Ochrona danych (kontrola praw dostępu

dla określonych grup użytkowników,

Restart po awariach (przywracanie z

kopii zapasowej),

Przetwarzanie danych rozproszonych,

Przetwarzanie równoległe (przetwarzanie

przy wykorzystaniu wielu procesorów).

Page 17: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Język zapytań

Dla użytkowników typu „end user”

polecenia wybierane z menu lub

polecenia wydawane z wiersza poleceń.

Dla programistów:

– Kompletny język programowania baz

danych (4GL),

– Typowy język trzeciej generacji (np.

C/C++, Pascal) rozbudowany o funkcje

obsługi baz danych

Page 18: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Język zapytań

Składa się z:

– Język definiowania danych (DDL – data

definition language),

– Język manipulowania danymi (DML – data

manipulation language),

– Język kontrolowania danych (DCL – data

control language).

Page 19: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Architektura systemu baz danych

Poziom

użytkownika

Poziom

pojęciowy

Poziom

fizyczny

aplikacje

DBMS

Page 20: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Niezależność od danych

Oddzielenie poziomu użytkowników od

poziomu fizycznego bazy danych

pozwala uniezależnić logikę aplikacji od

struktury danych. Korzyści:

– można zmienić urządzenia pamięciowe,

– można modyfikować/tworzyć nowe

struktury danych,

– można zmienić fizyczną reprezentację

danych

bez zmian w kodzie aplikacji bazodanowej

Page 21: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Poziom zewnętrzny

Poziom indywidualnego użytkownika,

jego widok bazy jest nieco abstrakcyjny

w stosunku do fizycznego sposobu

przechowywania danych.

Indywidualny użytkownik może nie mieć

pojęcia o istnieniu w bazie innych

danych, niż te które go nie interesują.

Page 22: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Poziom pojęciowy

Pojęciowy model danych stanowi

reprezentację zawartości informacyjnej

bazy danych.

Dane prezentowane są takimi jakimi są

naprawdę a nie jakimi widzi je

użytkownik.

Pojęciowy model danych jest sposobem

widzenia całej zawartości bazy danych.

Page 23: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Poziom wewnętrzny

Wewnętrzny model danych opisywany

jest za pomocą schematu

wewnętrznego, który definiuje typy

zachowanych rekordów, precyzuje jakie

są indeksy, jak reprezentowane są pola

rekordu, w jakiej kolejności zapisane są

rekordy itp.

Poziom wewnętrzny nie uwzględnia

fizycznego poziomu bazy (pliki, dyski,

cylindry itp.)

Page 24: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Rodzaje baz danych

Płaskie, jednotabelowe zbiory danych,

Hierarchiczne,

Sieciowe,

Relacyjne,

Obiektowe,

Relacyjno-obiektowe.

Page 25: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Proste bazy danych

Obejmują uporządkowane dane w

formie prostej tabeli lub tabel nie

powiązanych ze sobą (np. forma

arkusza).

W tabelach o określonej strukturze

gromadzone są przyrostowo kolejne

rekordy danych. Gromadzenie danych

polega na wypełnianiu kolejnych

wierszy tabeli danymi.

Page 26: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Proste bazy danych

Zaletą jest proste, intuicyjne

gromadzenie danych.

Mała funkcjonalność w przypadku dużej

liczby danych, dodatkowo problem

komplikuje się w przypadku dużego

zróżnicowania tych danych.

Brak łatwej identyfikacji poszukiwanego

rekordu danych.

Brak powiązań, problem redundancji.

Page 27: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Hierarchiczny model danych Dane grupowane są w postaci kolejnych

poziomów drzewa. Model typu rodzic-

potomek. Początek struktury tworzy

jeden korzeń i przez poziomy kolejnych

potomków aż do potomków „liści”.

Zbiór danych w tym modelu jest

powiązany z innymi danymi w tym

samym drzewie.

Hierarchia często budowana jest w

sposób indukcyjny: od ogółu do

szczegółu

Page 28: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Hierarchiczny model danych

Układ hierarchiczny pozwala tworzyć

proste zapytania. Zapytania mogą być

iteracyjnie uszczegóławiane.

Hierarchiczna baza danych zakłada

podstawowe warunki integralności

danych:– każdy rekord ma dokładnie jednego rodzica (z wyjątkiem

korzenia),

– jeżeli dany rekord posiada więcej rodziców niż jeden musi

być skopiowany dla każdego rodzica oddzielnie,

– jeżeli usunięty zostaje dany rekord oznacza to, że usunięte

zostają również wszystkie wywodzące się z niego rekordy -

potomkowie

Page 29: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Hierarchiczny model danych

Wadą tego modelu jest brak możliwości

budowania relacji między rekordami

różnych drzew.

Dobrym przykładem wykorzystania tego

modelu jest system plików systemu

Windows.

Page 30: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

XML – dane semistrukturalne

Obecnie popularnym formatem

zapisywania danych w modelu

hierarchicznym są dokumenty XML

(eXtensible Markup Language).

Model danych semistrukturalnych

wykorzystywany jest często do

integracji danych z różnych baz danych

zawierających podobne dane.

Page 31: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

XML a bazy danych:

1. XML jest uniwersalnym formatem składowania

danych.

2. Dokument XML zawiera logicznie uporządkowane

dane.

3. Dokument XML może zawierać opisy

wielokrotnych instancji tej samej klasy.

4. Dokument XML jest bazą danych.

5. XML nie jest systemem zarządzania bazami

danych.

6. Dokumenty XML lub dane dokumentów XML

podlegają składowaniu w bazach danych.

Page 32: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

XML a bazy danych – podstawowe zadania:

1. Składowanie danych w dokumentach XML

2. Składowanie dokumentów XML

3. Wyszukiwanie dokumentów XML

4. Wyszukiwanie danych z dokumentów XML

Page 33: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

RDB1

Synteza

dokumentu

XML

RDB2

RDB1

RDB2

Prezentacja

dokumentu XML

Składowanie

dokumentu XMLNXD1

WWW

NXD1

Rozbiór (analiza)

dokumentu

XML

XML a bazy danych – scenariusze powiązań

Page 34: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Sieciowy model danych

Nie ma nic wspołnego z sieciami

komputerowymi.

W modelu tym możliwe jest powiązanie

dowolnego zbioru danych z każdym

innym. Poprzez formę specyficznych

wskaźników zbiór A wskazuje na zbiory

B,C, zbiór C na zbiór D, zbiór D na zbiór

B, itp.

Page 35: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Sieciowy model danych

Page 36: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Sieciowy model danych

Różni się od modelu hierarchicznego tym,

że każdy rekord danych może mieć wielu

rodziców, jak również żadnego.

Sieciowa baza danych składa się z dwóch

typów zbiorów: zbioru formatów rekordów

i powiązań. Każdy typ powiązania określa

łączone ze sobą rekordy: typ rekordu

rodzica i typ rekordu dziecka.

Każde powiązanie wymaga zdefiniowania

wskaźnika.

Page 37: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Sieciowy model danych

W przypadku małych baz danych

wyszukiwanie danych jest szybkie.

W przypadku dużych baz danych z

dużą liczbą powiązań proces

wyszukiwania jest trudny i

czasochłonny.

W przypadku rozbudowanej sieci

powiązań wskaźniki mogą zajmować

więcej miejsca niż same dane!

Page 38: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Relacyjne bazy danych

Obecnie najczęściej implementowany

system baz danych.

Podstawową zasadą działania jest

gromadzenie danych w postaci tabel,

zwanych relacjami.

Identyfikacja pojedynczego rekordu

danych odbywa się na podstawie

wartości klucza (klucz definiowany jest

dla całej relacji).

Page 39: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Obiektowe bazy danych

Bazuje na modelu danych, który

wykorzystuje paradygmaty

programowania obiektowego.

W praktyce rzadko stosowane, sa

raczej przedmiotem badań

akademickich.

Model obiektowy może być

wykorzystywany w procesie

projektowania relacyjnych baz danych.

Page 40: BAZY DANYCH wprowadzenie · Integracja danych W bazie danych ... Sieciowa baza danych składa się z dwóch typów zbiorów: zbioru formatów rekordów i powiązań. Każdy typ powiązania

Bazy obiektowo-relacyjne

Połączenie zalet baz relacyjnych i

obiektowych.

Pozwalają manipulować danymi w

postaci obiektów. Mechanizm

manipulowania jest relacyny.