BD PG 08 wstep

background image

#1

© K.Goczyła, M. Piechówka

BAZY DANYCH

BAZY DANYCH

BAZY DANYCH

Krzysztof Goczyła
Maciej Piechówka

Katedra Inżynierii Oprogramowania
Wydział Elektroniki, Telekomunikacji i Informatyki
Politechnika Gdańska

{kris, macpi}@eti.pg.da.pl

Materiały

pomocnic

ze do wyk

ładu

z baz dan

ych na Wy

dziale ETI

PG.

Ich lektura

nie zastęp

uje obecn

ości na wy

kładzie.

Wykorzys

tanie mate

riałów w in

nym celu o

raz ich

rozpowsze

chnianie je

st zabroni

one.

background image

#2

© K.Goczyła, M. Piechówka

Tre

Tre

ść

ść

wyk

wyk

ł

ł

adu

adu

1.

1.

Zagadnienia og

Zagadnienia og

ó

ó

lne

lne

2.

2.

Diagramy zwi

Diagramy zwi

ą

ą

zk

zk

ó

ó

w encji (ERD)

w encji (ERD)

3.

3.

Relacje i relacyjna baza danych

Relacje i relacyjna baza danych

4.

4.

Algebra relacji

Algebra relacji

5.

5.

J

J

ę

ę

zyk SQL

zyk SQL

6.

6.

Normalizacja relacyjnych baz danych

Normalizacja relacyjnych baz danych

7.

7.

Ochrona danych

Ochrona danych

8.

8.

Zarz

Zarz

ą

ą

dzanie transakcjami

dzanie transakcjami

9.

9.

Rozproszone bazy danych

Rozproszone bazy danych

background image

#3

© K.Goczyła, M. Piechówka

Wybrana literatura

Wybrana literatura

• Banachowski L., A. Chądzyńska, K. Matewski, Relacyjne bazy danych. Wykłady i

ćwiczenia, PJWSTK, 2004

• Beynon-Davies P., Systemy baz danych. WNT 2000.
• Connolly T., C. Begg, Systemy baz danych, T1/2 , RM, 2004
• Date C.J. Wprowadzenie do systemów baz danych. WNT 2000.
• Delobel C. , M. Adiba. Relacyjne bazy danych. WNT 1988.
• Dybowska-Dyk A., M. Bartnik. Ćwiczenia z SQL. Mikom 1999.
• Elmasri R., S.B.Navathe, Wprowadzenie do systemów baz danych, Helion, 2005
• Gruber M., SQL. Wydanie drugie. Helion 2000.
• Muller R. J., Bazy danych. Język UML w modelowaniu danych. Mikom 2000.
• Riordan R. M., Projektowanie systemów relacyjnych baz danych. Microsoft Press 2000
• D. Tsichritzis, F. Lochovsky. Modele danych. WNT 1990.
• Ullman J.D., Systemy baz danych. WNT 1988.
• Ullman J.D., J. Widom. Podstawowy wykład z systemów baz danych. WNT 1999.

background image

#4

© K.Goczyła, M. Piechówka

1. Zagadnienia og

1. Zagadnienia og

ó

ó

lne

lne

Co to jest baza danych?

Co to jest baza danych?

Architektura systemu baz danych

Architektura systemu baz danych

Podstawowe funkcje system

Podstawowe funkcje system

ó

ó

w zarz

w zarz

ą

ą

dzania

dzania

bazami danych (DBMS)

bazami danych (DBMS)

Ewolucja technologii baz danych

Ewolucja technologii baz danych

background image

#5

© K.Goczyła, M. Piechówka

Co to jest baza danych?

Co to jest baza danych?

Baza danych

Zbiór powiązanych ze sobą logicznie danych, zorganizowany zgodnie
z określonym

modelem danych

.

Model danych wyznacza logiczne reguły konstrukcji bazy danych,
bez względu na jej fizyczną reprezentację.

Baza danych jest zarządzana przez system komputerowy
(sprzęt i oprogramowanie), który powinien wypełniać następujące funkcje:

• trwałe i niezawodne przechowywanie dużych ilości informacji
• efektywny dostęp do żądanych informacji
• możliwość modyfikowania informacji
• zagwarantowanie logicznej spójności (integralności) informacji
• ochrona informacji

System baz danych

Wiele baz danych zarządzanych przez jeden system komputerowy

System zarządzania bazami danych (DBMS, Database Management System)

Oprogramowanie zarządzające systemem baz danych

background image

#6

© K.Goczyła, M. Piechówka

Sk

Sk

ł

ł

adniki systemu baz danych

adniki systemu baz danych

SYSTEM BAZ DANYCH =

Trwała pamięć zewnętrzna +
System Zarządzania Bazami Danych (DBMS) +
Język zapytań

Trwała pamięć zewnętrzna:

urządzenia sprzętowe przechowujące dane

System Zarządzania Bazami Danych: (

D

ata

B

ase

M

anagement

S

ystem)

oprogramowanie zarządzające dostępem do baz danych

Język zapytań:

język wysokiego poziomu, za pomocą którego użytkownik komunikuje się z bazą

danych.

PAMIEĆ

ZEWNĘTRZNA

DBMS JĘZYK

ZAPYTAŃ

...

CREATE ...
SELECT ...
UPDATE ...

SYSTEM BAZ DANYCH

background image

#7

© K.Goczyła, M. Piechówka

Pami

Pami

ęć

ęć

zewn

zewn

ę

ę

trzna

trzna

Rola:

Przechowywanie dużej ilości danych w sposób trwały i niezawodny:

1. Trwałość

Dane powinny być przechowywane w pamięci tak długo, jak tego wymagają

użytkownicy systemu baz danych.

Urządzenia pamięci zewnętrznej:

• dyski magnetyczne
• dyski optyczne

• urządzenia do archiwizacji

2. Niezawodność

Częstotliwość występowania błędów powinna być zaniedbywalnie mała.

Środki służące zwiększeniu niezawodności:

• dublowanie urządzeń pamięci zewnętrznych
• kontrola poprawności zapisu
• kody detekcji/korekcji błędów

background image

#8

© K.Goczyła, M. Piechówka

Baza danych w systemach informatycznych

Baza danych w systemach informatycznych

Powody stosowania baz danych w projekcie i implementacji systemu:

Elementy tworzące system muszą być trwałe

Ręczne programowanie trwałości jest kłopotliwe, zawodne, nieelastyczne.
Możliwe tylko dla niewielkich zbiorów danych, w środowisku jednego
użytkownika.

Potrzeba efektywnego operowania na dużych wolumenach danych

Obszerne składnice (magazyny) ustrukturalizowanych danych, zarządzane
przez gotowe oprogramowanie.

Narzędzie implementacyjne

Środowiska wspomagające projektowanie i wdrażanie aplikacji opartych
na bazach danych, np. języki typu 4GL lub środowiska dla języków 3GL z
bibliotekami do korzystania z interfejsów ODBC/JDBC. Łączą one cechy
typowych języków programowania z funkcjami dostępu do bazy danych.

background image

#9

© K.Goczyła, M. Piechówka

Funkcje DBMS

Funkcje DBMS

Realizacja operacji dostępu do danych na poziomie fizycznym

(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 (rozstrzyganie konfliktów przy próbach

jednoczesnego dostępu do tych samych danych)

Ochrona danych (kontrola uprawnień do wykonywania określonych

operacji przez określonych użytkowników)

Odtwarzanie po awariach (restart, przywracanie danych z kopii zapasowych)
Śledzenie operacji dokonywanych na bazie danych (efektywność,

bezpieczeństwo, niezawodność, ...)

Obsługa rozproszenia (jeśli jedna baza danych fizycznie jest umieszczona

na różnych systemach komputerowych)

Obsługa przetwarzania równoległego (jeśli zapytanie użytkownika skierowane

do bazy danych może być realizowane równocześnie przez kilka procesorów)

background image

#10

© K.Goczyła, M. Piechówka

Modu

Modu

ł

ł

y sk

y sk

ł

ł

adaj

adaj

ą

ą

ce si

ce si

ę

ę

na SZBD

na SZBD

background image

#11

© K.Goczyła, M. Piechówka

J

J

ę

ę

zyk zapyta

zyk zapyta

ń

ń

Dla użytkowników interakcyjnych:

język zapytań ad hoc, z poleceniami wybieranymi z menu lub wprowadzanymi

w wierszu poleceń.

Dla programistów aplikacyjnych:

• Kompletny język programowania (język czwartej generacji, 4GL) zawierający:

- instrukcje definiowania i operowania na danych z bazy danych,
- instrukcje wejścia/wyjście,
- instrukcje i struktury danych typowe dla języków programowania

• Typowy język programowania (PL/1, Cobol, C, Java, ...) rozszerzony

o instrukcje operujące na bazie danych (instrukcje języka zapytań zanurzonego
w języku macierzystym). Instrukcje te mogą mieć postać wywołań interfejsu
ODBC/JDBC, w których przekazywana jest tekstowo treść zapytania.

background image

#12

© K.Goczyła, M. Piechówka

J

J

ę

ę

zyki programowania a bazy danych

zyki programowania a bazy danych

1GL

2GL

3GL

4GL

Języki maszynowe

Makroassemblery

C, Java,
Fortran,
Cobol,...

Języki do tworzenia
aplikacji bazodanowych

Wymag

ana wie

dza o sy

stemie

Nie

zbęd

ny n

akła

d pr

acy

St

op

ień

ko

m

plik

acj

i

rea

liz

ow

any

ch

apl

ika

cji

background image

#13

© K.Goczyła, M. Piechówka

J

J

ę

ę

zyk zapyta

zyk zapyta

ń

ń

(cd.)

(cd.)

Język zapytań =

Język definiowania danych (

D

ata

D

efinition

L

anguage)

+

Język manipulowania danymi (

D

ata

M

anipulation

L

anguage)

+

Język kontrolowania danych (

D

ata

C

ontrol

L

anguage)

DDL - definiuje struktury danych, na których operują instrukcje DML

DML - wykonuje operacje na danych zdefiniowanych przez DDL

(pobieranie danych i ich aktualizowanie)

DCL - kontroluje uprawnienia dostępu do danych

background image

#14

© K.Goczyła, M. Piechówka

Administrator bazy danych

Administrator bazy danych

Administrator bazy danych (

D

ata

B

ase

A

dministrator) -

osoba sprawująca kontrolę nad dostępem do bazy danych
i nad jej funkcjonowaniem.

Zadania DBA

• udzielanie użytkownikom i grupom użytkowników uprawnień dostępu do bazy danych

(uprawnienia do tworzenia obiektów bazy danych, ich pobierania i modyfikowania, ...)

• monitorowanie wydajności bazy danych
• definiowanie strategii archiwizowania i odtwarzania danych po awariach
• uruchamianie nowych strategii dostępu do danych
• ...

Narzędzia do dyspozycji DBA

• program do ładowania bazy danych z plików zewnętrznych
• programy do archiwizacji danych
• programy do przywracania danych z archiwum
• programy do zbierania statystyk i ich analizowania
• procedury definiowania użytkowników i grup użytkowników
• programy do operowania na słowniku danych
• programy do analizowania dziennika bazy danych (logu)
• ...

background image

#15

© K.Goczyła, M. Piechówka

S

S

ł

ł

ownik danych

ownik danych

Słownik danych

-

specjalna baza danych zawierająca informacje o danych
przechowywanych w innych bazach danych (metadane).

Zawartość słownika danych

• opisy struktury obiektów bazy danych (np. schematów tablic, widoków, ...)
• opisy użytkowników (identyfikatory, uprawnienia, ...)
• definicje formatów danych stosowanych w bazie danych
• dane statystyczne o wartościach danych w bazie danych
• ...

Dostęp do słownika danych

• Zwykły użytkownik ma prawa tylko do odczytu, i to tylko pewnych

fragmentów słownika danych

• DBA może mieć pełniejszy dostęp do słownika, jednak jego modyfikowanie może

wykonywać tylko poprzez procedury systemowe

• DBMS ma pełen dostęp do słownika danych (np. modyfikuje go przy tworzeniu

nowego obiektu w bazie danych)

background image

#16

© K.Goczyła, M. Piechówka

Architektura systemu baz danych

Architektura systemu baz danych

Poziom
zewnętrzny

(użytkownika)

Poziom
wewnętrzny
(fizyczny)

Poziom
logiczny
(modelu
danych)

for each
{x=1;
SQL

select

for each
{x=1;
SQL

update

for each
{x=1;
SQL

update

System

zarządzania

bazami danych

(DBMS)

background image

#17

© K.Goczyła, M. Piechówka

Architektura systemu baz danych

Architektura systemu baz danych

(cd.)

(cd.)

Poziom zewnętrzny (użytkownika)

Zbiór zewnętrznych widoków, poprzez które użytkownicy widzą zawartość
bazy danych. Widok jest wyabstrahowanym fragmentem bazy danych,
zdefiniowanym w terminach języka zapytań.

Poziom logiczny (modelu danych)

Zawiera model konceptualny bazy danych. Model ten obejmuje całą zawartość
bazy danych, tak jak ją widzi administrator lub właściciel bazy danych.

Poziom wewnętrzny (fizyczny)

Fizyczna reprezentacja bazy danych w postaci plików dyskowych
i algorytmów dostępu do nich. Jest to reprezentacja niskiego poziomu
(poziomu jednostek pamięciowych, np. bajtów).

background image

#18

© K.Goczyła, M. Piechówka

Niezale

Niezale

ż

ż

no

no

ść

ść

od danych

od danych

Wyraźne odizolowanie poziomów architektury systemu baz danych (szczególnie poziomu
logicznego od fizycznego) pozwala osiągnąć

niezależność programu od danych

.

Program jest zależny od danych, jeśli wiedza na temat struktur danych i metod dostępu
do nich jest wbudowana w program, tzn. nie jest możliwa zmiana:

• struktur danych (czyli sposobu przechowywania danych)
• metod dostępu do danych

bez zmian w programie.

Niezależność programu od danych

oznacza sytuację odwrotną: logika programu

nie zależy od struktur danych i metod dostępu stosowanych w systemie baz danych.

Logiczna niezależność danych

– odporność schematów zewnętrznych

(widoków) na zmiany dokonywane w schemacie pojęciowym.

Fizyczna niezależność danych

– odporność schematu pojęciowego na zmiany

dokonywane w schemacie wewnętrznym.

Korzyści:

• można wprowadzać nowe urządzenia pamięciowe
• można wprowadzać nowe struktury danych na dysku i nowe metody dostępu
• można zmieniać fizyczną reprezentację danych

bez konieczności dokonywania zmian w kodzie aplikacji bazodanowych
(może być konieczna tylko rekompilacja).

background image

#19

© K.Goczyła, M. Piechówka

Dost

Dost

ę

ę

p do danych

p do danych

Człowiek przy terminalu, który interakcyjnie operuje
na bazie danych, formułując żądania w języku zapytań ad hoc.

UŻYTKOWNIK

Program, który oprócz innych instrukcji zawiera instrukcje operujące
na danych z bazy danych. Instrukcje te formułowane są
w języku zapytań zanurzonym w języku macierzystym.

zapytanie

odpowiedź

D

B

M

S

pamięć

zewnętrzna

lub

background image

#20

© K.Goczyła, M. Piechówka

Dost

Dost

ę

ę

p poprzez Internet

p poprzez Internet

INTERNET

Przeglądarka

WWW

Serwer

WWW

CGI lub

podobny

Aplikacja lub

skrypt

DBMS

ODBC/

JDBC

tekst, grafika, audio, ...

plik szablonu

Procesor
skryptów

background image

#21

© K.Goczyła, M. Piechówka

Ewolucja technologii baz danych

Ewolucja technologii baz danych

Relacyjne

bazy danych

Systemy

plików

Hierarchiczne

bazy danych

Sieciowe

bazy danych

1980

1960

1970

1990

1. Systemy plików:

realizacja operacji plikowych; stanowią poziom fizyczny współczesnych baz danych
ISAM, CSAM, VSAM, WiSS, inne specjalizowane

2. Hierarchiczne bazy danych

dane organizowane są w struktury drzewiaste
IMS, System 2000, ...

3. Sieciowe bazy danych

dane organizowane są w dowolne struktury sieciowe (Codasyl)
IDS, Total, Adabas, IDMS, ...

4. Relacyjne bazy danych

dane organizowane są w relacje (zbiory krotek o ustalonej, prostej strukturze)
Oracle, Informix, SyBase, DB2, Ingres, Progress, MSSQL, ...

background image

#22

© K.Goczyła, M. Piechówka

Ewolucja technologii baz danych

Ewolucja technologii baz danych

Bazy danych

obiektowo-

relacyjne

XML,

multimedia…

Bazy danych

„nowej generacji”

Relacyjne

bazy danych

2000

1980

1990

2010

Bazy danych nowej generacji - motywacje:

nowe aplikacje baz danych:

CAD, CAM, CAP, CASE, DSS, automatyzacja prac biurowych, kartografia,
multimedia, sztuczna inteligencja

niedostatki systemów tradycyjnych:

- zbyt prosty model danych, nieodpowiedni do modelowania złożonych struktur
- ograniczony, nierozszerzalny zestaw typów danych
- ograniczone możliwości obliczeniowe
- zbyt prosty model transakcji
- brak pojęcia wersji
- mała elastyczność w operowaniu schematem


Document Outline


Wyszukiwarka

Podobne podstrony:
BD PG 08 SQL
08, Youri, 1.WSTĘP TEORETYCZNY.
Wykł L 08 Podst Techniki zobrazowania wstęp
Zagadnienia zaliczenie, Studia PG, Semestr 08, Fundamenty Specjalne, Egzamin
08.Kultura polityczna, 12.PRACA W SZKOLE, ZSG NR 4 2008-2009, PG NR 5
Zadanie 1 kolokwium 1 2007-08, Budownictwo PG, Semestr 3, Matematyka, Prace domowe-rozwiązania kół
CHAP1 Pg 01 08
bd 08
08, cash, 1.WSTĘP TEORETYCZNY.
Wilkosz, Wstęp do programowania, kolokwia K2-08 09l
pytania z fundamentow-2006, Studia PG, Semestr 08, Fundamenty Specjalne, Egzamin
08-tlen, Materiały PG, Nieorgana
Opracowanie pytań 4, Studia PG, Semestr 08, Fundamenty Specjalne, Egzamin
pytania z fundamentow-2006 IT, Studia PG, Semestr 08, Fundamenty Specjalne, Egzamin
pg 2006 08 03
01 PG wstęp

więcej podobnych podstron