Bazy Danych
Wykład – 30 godz.
Laboratorium – 30 godz.
Zaliczenie:
wykład - egzamin
laboratorium - zaliczenie z oceną
dr inż. Izabela Rojek-Mikołajczak
Instytut Mechaniki Środowiska i Informatyki Stosowanej,
Akademia Bydgoska,
Pl. Weyssenhoffa 11, 85-072 Bydgoszcz, tel. +52 34 19 020, pok.
6
2
Zakres minimalnych wymagań:
Poznanie teoretycznych i praktycznych problemów
związanych z projektowaniem i zastosowaniem
systemów baz danych oraz samodzielne projektowanie
aplikacji baz danych
Metody oceny:
Laboratorium – wykonanie aplikacji baz danych,
kartkówka
Wykład
– egzamin
3
Literatura
I. Rojek-Mikołajczak, Bazy danych – kurs podstawowy dla
inżynierów informatyków, skrypt, Wydawnictwo Akademii
Bydgoskiej, Bydgoszcz, 2004
C.J. Date, Wprowadzenie do systemów baz danych, WNT, 2000
D. J. Ullman, Podstawowy wykład z systemów baz danych, WNT,
2001
P. Beynon-Davies, Systemy baz danych, WNT, 2001
J. Gnybek, Oracle – łatwiejszy niż przypuszczasz, Helion, 2000
K. Loney, M. Theriault, Oracle8i. Podręcznik administratora baz
danych, Helion, 2002
B. Pribyl, S. Feuerstein, Oracle PL/SQL. Wprowadzenie, Helion,
2002
M. Szeliga, ABC języka SQL, Helion, 2002
S. Roman, Access. Baza danych. Projektowanie i programowanie,
Helion, 2001
S. Forte, T. Howe, K. Wall, P. Kimmel, R. Mulle, Access 2002.
Projektowanie baz da-nych. Księga eksperta, Helion, 2002
4
Zagadnienia
Wprowadzenie do teorii baz danych
Motywacja do rozwoju baz danych, definicje baz danych, podstawowe cechy baz
danych, języki baz danych, systemy baz danych, koncepcja i architektura
systemów baz danych, cykl życia systemu baz danych, klasyfikacja systemów
baz danych
Wielodostęp do baz danych, wprowadzanie danych, aktualność danych,
zgodność z rzeczywistością, trwałość danych, ochrona i bezpieczeństwo
danych, wartość informacji zawartej w bazie danych
Zasady modelowania i projektowania baz danych: podstawowe pojęcia,
narzędzia CASE, etapy projektowania: zdefiniowanie problemu, budowa
modelu, specyfikacja projektu, wykonanie dokumentacji, uruchomienie systemu
Modele danych; modelowanie konceptualne: modele ER, EER, obiekty, związki,
atrybuty; modelowanie implementacyjne: relacyjny model danych, relacyjne
struktury danych, operatory algebry relacji, rachunek relacji, więzy
integralności, zależności funkcyjne, normalizacja schematów logicznych baz
danych; transformacja modelu konceptualnego (EER) na model
implementacyjny (relacyjny)
5
Zagadnienia
Język SQL, język PL/SQL
Instrukcje, operatory, definiowanie zapytań, łączenie
SQL z innymi językami np. C, C++, Pascal, Delhi
Narzędzia do budowy baz danych - MS Access XP
Baza danych: tabele, zapytania, dostęp do danych,
interfejs użytkownika: formularze, raporty,
makroinstrukcje, usuwanie błędów w aplikacjach
Optymalizacja aplikacji, Access i architektura klient-
serwer, interfejs Access do Oracle, zagadnienia
wielodostępu, serwer plików, blokowanie,
bezpieczeństwo, Access a serwer WWW
6
Zagadnienia
Narzędzia do budowy baz danych – Oracle 8i
Architektura bazy danych Oracle 8i, wewnętrzna i zewnętrzna struktura
bazy danych, podstawowa konfiguracja bazy danych, logiczny (OFA –
optymalna elastyczna architektura) i fizyczny układ bazy danych (układ
plików, obciążenie operacjami wejścia/wyjścia, odtwarzalność a wydajność,
konfiguracja sprzętowa oraz mirroring)
Zarządzanie bazą danych, zarządzanie procesem tworzenia aplikacji:
proces zarządzania (definiowanie środowiska, definiowanie ról, zadania),
technologia (narzędzia typu CASE), zarządzanie pakietami, zarządzanie
środowiskiem
Monitorowanie wielu baz danych, strojenie bazy danych: strojenie projektu
aplikacji, wykorzystania pamięci , zabezpieczenie i obserwacja bazy
danych: możliwości zabezpieczenia, wdrażanie zabezpieczeń, szyfrowanie
haseł, procedury wykonywania kopii zapasowych i odtwarzanie danych
Oracle w sieci, SQL*Net i Net8: ogólne wiadomości, stosowane narzędzia,
przykłady zastosowań
Kierunki rozwoju baz danych i przykłady zastosowań,
baza danych jako element systemu informatycznego
7
Zakres laboratorium
Tworzenie bazy danych w Oracle
Połączenie bazy danych w Oracle i
aplikacji w MS Access
Utworzenie aplikacji w MS Access
Bazy danych
Wstęp do teorii baz danych
9
Wprowadzenie
10
Motywacja do rozwoju baz
danych
• Posiadanie dużej ilości danych
• Trudności w przechowywaniu i
udostępnianiu danych
• Konieczność szybkiego dostępu do
informacji
Potrzeba:
Przechowywanie i przetwarzanie informacji
o obiektach występujących w
rzeczywistości
11
Przykład
• Firma sprzedająca pewne produkty
• Pracownicy spędzają dużo czasu na wypełnianiu
dokumentów
w formie papierowej
• Kierownictwo chce usprawnić działanie firmy
• Istnieje zapotrzebowanie na informacje
analityczne:
— Które produkty sprzedają się najlepiej?
— Którzy klienci przynoszą największe zyski?
— Jaka jest dynamika sprzedaży?
• Obecnie wykonanie takich analiz jest
czasochłonne i żmudne
• Aktualne wyniki analiz pozwolą podejmować
decyzje prowadzące do wzrostu zysków firmy
Narzędzie do realizacji zasygnalizowanych
potrzeb:
System informatyczny zastępujący
dotychczasowe prace:
baza danych klientów, sprzedaży, magazynu,
podsumowania
12
Co to jest baza danych
• Struktura do przechowywania informacji
• Związek informacji z rzeczywistością
• Określony format umożliwiający szybki dostęp
do danych
Przykład
Zbiór informacji o książkach w bibliotece:
- jednolity format kart opisujących książki
- porządek alfabetyczny wg nazwisk autorów
Przykład złej organizacji informacji
Kartki ze swobodnym opisem, odręcznym:
- brak jednolitego formatu
- utrudnienie dostępu do informacji
- różnorodność informacji
13
Wnioski
Wprowadzenie określonej struktury
(formatu) pozwala na:
• uporządkowanie informacji
• szybsze i łatwiejsze operowanie informacją
Postulat
należy skonstruować strukturę pozwalającą:
• przechowywać różne dane
• opracować jednolite reguły przetwarzania
takich danych
14
Dane a informacje
Dana
oznacza
absolutne fakty
zapamiętane w bazie danych np. dane o
osobach, miejscach, wydarzeniach, koncepcjach.
Np. 20.
Informacja
jest
przetworzoną daną
w takiej formie, która może być użyta do
podjęcia decyzji. Jest ona ujęta w kontekście.
Np. Robert ma 20 lat.
Informacja wywodzi się z pamiętanej danej przez przestawienie, selekcję,
łączenie, sumowanie lub przekształcanie innych operacji na danych.
Np.
Jeśli my prosto wydrukujemy pamiętane jednostki w bazie danych mamy
dane (rysunek tabelki). Jeśli my wydrukujemy sformatowany raport
pokazujący dane w postaci pomagającej w podjęciu decyzji mamy
informacje.
W praktyce większość ludzi używa tych terminów (dana, informacja)
zamiennie.
15
Definicje bazy danych
Baza danych jest abstrakcyjnym, informatycznym odzwierciedleniem
wybranego fragmentu rzeczywistości, nazywanego miniświatem.
Zmiany w tym mini świecie są odzwierciedlane w bazach danych.
Fragment rzeczywistości może odzwierciedlać rzeczywistość fizyczną
i konceptualną.
Rzeczywistość fizyczna
- to ta, którą postrzegamy na co dzień.
Przykładem takiej rzeczywistości jest Akademia Bydgoska w której
dostrzegamy, z jednej strony, pracowników, studentów, natomiast z
drugiej sale dydaktyczne, publikacje naukowe, indeksy itp.
Rzeczywistość konceptualna
- to ta, która istnieje zwykle w wyobraźni
osób, które chcą ją dla określonych celów odzwierciedlić w bazie
danych.
Przykładem rzeczywistości konceptualnej jest projekt nowej wersji
obrabiarki, której wizja istnieje jedynie w sferze dyskusji i wyobraźni
zespołu projektantów.
16
Definicje bazy danych cd.
Baza danych jest to
uporządkowany zbiór danych
, które:
-
są ze sobą wzajemnie powiązane,
-
pamiętane są bez zbędnej redundancji (nadmiarowości),
-
znajdują się pod wspólną kontrolą, zapewniającą ich
niesprzeczność (integralność) oraz bezpieczeństwo.
Baza danych
odnosi się do pewnego fragmentu
rzeczywistości
(np. przedsiębiorstwo, biblioteka, wydział)
oraz
posiada określony krąg użytkowników.
17
Definicje bazy danych cd.
Baza danych
składa się
z plików (zbiorów, kartotek):
Plik (tabela) –
zestaw danych odnoszących się do jednej klasy
obiektów lub do powiązań między klasami obiektów; plik
składa się z rekordów,
Rekord –
zestaw danych opisujących jeden konkretny obiekt lub
konkretne powiązanie między obiektami; rekord składa się z
pól,
Pole –
najmniejsza jednostka danych w bazie danych, posiada
wartość i nazwę.
18
System zarządzania bazą danych
(SZBD)
SZBD
jest to
zbiór programów
umożliwiających
tworzenie i
eksploatację bazy danych
. SZBD jest oprogramowaniem
ułatwiającym procesy definiowania, konstruowania i
przekazywania baz danych dla różnych aplikacji.
Definiowanie baz danych
polega na specyfikacji typów danych
przechowywanych w tej bazie.
Konstruowanie baz danych
polega na zapamiętaniu danych na
nośniku kontrolowanym przez SZBD.
Przekazywanie baz danych
polega na generowaniu zapytań do baz
danych w celu wyszukania potrzebnych danych, uaktualnianiu
danych zgodnie ze zmianami zachodzącymi w mini świecie i
generowaniu raportów o przechowywanych danych.
19
Systemy baz danych
Korzyści z zastosowania systemu
bazy danych
• ukrycie fizycznych
aspektów
przechowywania danych
• standardowy język
manipulacji danymi (SQL)
• umożliwienie
projektowania na
poziomie pojęć
odpowiadających
obiektom występującym w
rzeczywistości
System bazy
danych
Implementacja
pojęć
i związków
Interfejs
użytkownika
SQL
20
Producenci systemów baz
danych
Oracle
IBM (DB2)
Microsoft (SQL Server)
Informix
Sybase
Interbase
Microsoft Access – oprogramowanie
umożliwiające realizację prostych
jednostanowiskowych baz danych. Zawiera
pakiet do graficznego projektowania i
realizacji aplikacji
21
System baz danych
System baz danych
System bazy danych
składa się z
bazy danych
i
systemu
zarządzania bazą danych
.
22
Cechy bazy danych
1. Niezależność aplikacji i danych
Cecha ta ma dwa aspekty. Po pierwsze, dane mogą być wprowadzane
do baz danych bez konieczności modyfikacji korzystających z nich
aplikacji. Po drugie aplikacje mogą być modyfikowane np. w celu
ich ulepszenia, niezależnie od stanu bazy danych.
2. Abstrakcyjna reprezentacja danych
Przygotowanie aplikacji bazy danych jest realizowana przy użyciu tzw.
dedykowanych języków programowania. Twórcę aplikacji nie
interesuje kolejność danych w bazie danych, ani też sposób ich
reprezentacji i wyszukiwania. Pracuje jedynie w kategoriach „co
robić” a nie „jak robić”.
23
Cechy bazy danych
3. Różnorodność sposobów widzenia
danych
Te same dane mogą być „widziane” w
różny sposób przez różnych
użytkowników.
m o d e l ś w i a t a
r z e c z y w i s t e g o
z a s ó b s y s t e m u
i n f o r m a t y c z n e g o
z b i ó r s t r u k t u r
d a n y c h
e l e m e n t s k ł a d o w y
s y s t e m u
i n f o r m a t y c z n e g o
u n i v e r s u m
i n t e r p r e t a c j i
j ę z y k a d a n y c h
Model świata rzeczywistego
Zasób systemu informatycznego
(baza danych traktowana jest jako nieprzywłaszczalny zasób
SI, o którego przydział współzawodniczą procesy współbieżne)
Element składowy SI
( w tym przypadku szczególnie interesujące jest ustalenie związku między
systemem zarządzania bazą danych a systemem operacyjnym komputera oraz analiza środków
sprzętowych i programowych służących do przechowywania danych, ich transmisji i komunikacji z
człowiekiem)
Uniwersum (dziedzina) interpretacji języka bazy danych
( baza danych traktowana jest jako
zbiór wartości wyrażeń języka danych. Dane w bazie danych pojawiają się wtedy, gdy zostaje
sformułowane wyrażenie języka danych, gdyż z takim wyrażeniem związany jest określony zbiór
operacji na bazie danych: tworzenie danych, ich strukturyzowanie, usuwanie, zmiana lub
odczytywanie
Zbiór struktur danych
(zbiór struktur danych, składających się na schemat bazy danych, jej stan,
ścieżki dostępu. Struktury te przetwarzane są przez różne algorytmy: przeszukiwania, sortowania,
modyfikowania, synchronizacji, optymalizacji
24
Cechy bazy danych
4. Fizyczna i logiczna niezależność danych
Fizyczna niezależność danych
polega na tym, że rozszerzenie
systemu komputerowego, na którym pracuje SZBD o nowy
sprzęt nie narusza danych w bazach danych.
Logiczna niezależność danych
ma dwa aspekty.
Po pierwsze, wprowadzanie nowych danych do baz danych nie
dezaktualizuje starych danych.
Po drugie dane, które nie są wzajemnie powiązane tzw.
związkami integralnościowymi mogą być usuwane z baz danych
niezależnie od siebie.
25
Modele danych
Fundamentalną cechą systemów baz danych jest zapewnienie
wyższego poziomu abstrakcji widzenia danych przez użytkowników,
przesłaniając szczegóły dotyczące fizycznej organizacji danych.
Uzyskuje się to dzięki oferowanym przez bazy danych
modelom
danych
.
Przez model danych rozumiemy zbiór koncepcji stosowanych do
opisu struktury bazy danych.
Struktura ta obejmuje:
- typy danych, związki pomiędzy danymi i więzy integralnościowe
nałożone na dane,
- zbiór operacji służących do definiowania, wyszukiwania i uaktualniania
baz danych
26
Kategorie modeli danych
konceptualne modele danych
, zwane też modelami
koncepcyjnymi lub semantycznymi. Są to
modele
najbardziej zbliżone poziomem abstrakcji do wymagań
projektantów baz danych
, stosowane w pierwszych
etapach projektów w celu weryfikacji wyróżnionych w
mini świecie obiektów i związków między nimi.
implementacyjne modele danych
, stosowane
do
transformacji wcześniej przygotowanego modelu
konceptualnego do konkretnego modelu danych baz
danych
, a więc do postaci, która jest zgodna z
wymaganiami określonego SZBD. Wśród modeli
implementacyjnych wyróżniamy modele: hierarchiczny,
sieciowy, relacyjny, obiektowy i dedukcyjny.
27
Kategorie modeli danych
fizyczne modele danych
określające
sposoby
organizacji danych w pamięci zewnętrznej
komputera
. Modele te można rozpatrywać w
sposób bardziej lub mniej szczegółowy.
Przy najwyższym stopniu szczegółowości
rozważa się poszczególne bity
przechowywane w pamięci, ich znaczenie i
adres. Natomiast na niższym stopniu
szczegółowości operuje się pojęciami takimi
jak rekord i plik.
28
Projektowanie schematu bazy
danych
1.
Poziom wewnętrzny
(ma schemat wewnętrzny)
opisuje
fizyczną strukturę baz danych
używa fizycznego
modelu danych i opisuje wszystkie szczegóły o
pamiętanych danych oraz ścieżki dostępu do baz
danych.
2.
Poziom konceptualny
zawiera schemat konceptualny,
który opisuje strukturę całej bazy danych w celu
komunikacji z użytkownikiem
. Schemat konceptualny
ukrywa szczegóły pamięci fizycznej i koncentruje się
na opisie obiektów, typów danych, relacji (związków),
operacji użytkownika i ograniczeń. Na tym poziomie
może być użyty model danych wyższego poziomu lub
model implementacyjny danych.
29
Projektowanie schematu bazy
danych
3.
Poziom zewnętrzny
lub poziom widoku obrazu
zawiera schematy zewnętrzne lub obrazy
użytkowników
. Każdy schemat zewnętrzny
opisuje część bazy danych konkretnej grupy
użytkowników zainteresowanej tą częścią i
ukrywa resztę bazy danych innych grup
użytkowników.
Na tym poziomie może być użyty model
danych wysokiego poziomu lub model
implementacyjny danych.
30
Trójpoziomowa architektura systemu
baz danych
31
Języki baz danych
Użytkownik (projektant) bazy danych ma do dyspozycji zwykle cztery
różne języki.
Język definiowania danych (DDL- Data Definition Language),
który umożliwia definiowanie struktury danych przechowywanych
w bazie danych a więc tworzenie schematu implementacyjnego).
Język manipulowania danymi (DML - Data Manipulation
Language), który umożliwi wypełnienie bazy nowymi danymi, ich
aktualizację i usuwanie;
Język sterowania danymi (DCL - Data Control Language), który
umożliwia użytkownikowi bazy danych sterowanie jego
transakcjami, np. ich wycofanie i zatwierdzanie;
Język zapytań (Query Language), który umożliwia pobieranie z
bazy danych informacji zgodnie z wyspecyfikowanymi warunkami;
32
Klasyfikacja systemów baz danych ze
względu na:
1. Model danych, który jest głównym kryterium używanym do
klasyfikacji systemów baz danych
• Model sieciowy 1961 Bachman
• Model hierarchiczny 1965 - 1970
• Model relacyjny 1970 Codd
• Model obiektowy 1985
• Model dedukcyjny ’90
Na te modele nakładane są nowe możliwości baz danych.
Wyróżniamy przestrzenne (spatial) bazy danych, temporalne
bazy danych, multimedialne i hipermedialne bazy danych - ’90.
33
Klasyfikacja systemów baz danych ze
względu na:
2. Liczbę użytkowników
Systemy jednoużytkowe obsługują w danej chwili jednego
użytkownika. Najczęściej występują na PC.
Systemy wieloużytkowe, występujące w większości baz danych,
obsługują jednocześnie wielu użytkowników.
34
Klasyfikacja systemów baz danych ze
względu na:
35
Klasyfikacja systemów baz danych ze
względu na:
4. Koszt DBMSs.
5. Baza danych może być ogólnego przeznaczenia lub specjalnego.
Kiedy wyniki są podstawowym czynnikiem , specjalne
przeznaczenie (cel) DBMS może być zaprojektowane i utworzone
dla specjalnej aplikacji. Np. wiele systemów lotniczej rezerwacji
jest DBMSs specjalnego przeznaczenia.
36
Koniec wykładu