dr inż. Michna Michał, Politechnika Gdańska 2010/2011 · Bazy danych 5 dr inż. Michał ......
Transcript of dr inż. Michna Michał, Politechnika Gdańska 2010/2011 · Bazy danych 5 dr inż. Michał ......
Podstawowe informacje
o bazach danych
Technologie Informacyjne
dr inż. Michna Michał, Politechnika Gdańska 2010/2011
Przykłady systemów baz danych
2
Książka telefoniczna, książka kucharska
Zarządzanie magazynem/hurtownią
Systemy bankowe, ubezpieczeniowe
Systemy rezerwacji miejsc
Systemy obsługi administracji (ZUS, NFZ)
Powszechny Elektroniczny System Ewidencji Ludności
PESEL(od 1979)
dr inż. Michał Michna
Przykłady systemów baz danych
3
Systemy wspomagania projektowania CAD/CAM
Magazyny (hurtownie) danych
Systemy wspomagania inżynierii oprogramowania CASE
Systemy z bazami wiedzy
Systemy medyczne
Systemy kartograficzne GIS
dr inż. Michał Michna
http://www.ncddc.noaa.gov/technology/gis/view
Typy systemów baz danych
4
Kartotekowe
Hierarchiczne
Sieciowe
Relacyjne
Obiektowe
Relacyjno-obiektowe
Strumieniowe
Temporalne
1970
1980
1990
Proste typy danych
Złożone typy danych
1960
CODASYL -IDMS
Edgar F Codd RBD
IBM -IMS
BDAM, ISAM
dr inż. Michał Michna
Manifesty baz danych
Bazy danych
dr inż. Michał Michna5
Zbiór danych opisujący pewien wybrany fragment
rzeczywistości
Dane w BD
odzwierciedlają rzeczywistość w sposób z nią zgodny
(prawidłowy)
są zorganizowane w specyficzny sposób, zgodnie z tzw.
modelem danych
Baza danych jest zarządzana przez tzw. system zarządzania
bazą danych
Z systemem bazy danych współpracują programy
przetwarzające dane
Systemy baz danych
6
System informatyczny wyspecjalizowany w kierunku
wprowadzania
przechowywania
przetwarzania
udostępniania
Baza danych – zbiór informacji zapisanych w ściśle
określony sposób (DataBase)
System zarządzania bazą danych – program do
przetwarzania, zarządzania bazą danych
(DataBase Management System)
dr inż. Michał Michna
Cechy funkcjonalne SBD
7
gwarantowanie trwałości i spójności danych w bazie
danych
zapewnienie współbieżnego dostępu do danych
autoryzacja dostępu do bazy danych
efektywny dostęp do danych w środowisku
scentralizowanym i rozproszonym
dr inż. Michał Michna
Architektura baz danych
Architektura klient-serwer dwuwarstwowa
Serwer bazy danych – wykonujący np. wyrażenia SQL
Klient – wysyłających żądania do serwera
Architektura trzywarstwowa
interfejs użytkownika
logika przetwarzania
baza danych
88 dr inż. Michał Michna
Architektura baz danych
99 dr inż. Michał Michna
odpowiedź
Internet
Klient
Przeglądarka WWW
Serwer WWW
Apache
Serwer baz danych
MySQL
zapytanie
odpowiedź
Dokument
HTMLSkrypt PHP wykonajpodaj dane
Relacyjne bazy danych
11
Relacje - podstawowa struktura danych przedstawiana
w postaci tabeli
PESEL Imię Nazwisko Wykształcenie
72030400264 Adam Kowalski Podstawowe
65083104569 Marcin Kowalski Średnie
71123108664 Marcin Dąbrowski Wyższe
85041406333 Anna Kowalska Podstawowe
46111006545 Anna Dąbrowska Wyższe
krotka
rekord
(wiersz)
atrybut (kolumna)
pole
wartość
dr inż. Michał Michna
Relacyjne bazy danych - wiersze
12
Wiersze są unikalne
Każdy wiersz posiada te same atrybuty
Nie ma znaczenia kolejność wierszy
Wiersze są dynamiczne – mogą być dopisywane, usuwane,
modyfikowane
Wiersze powinny być identyfikowane przez pola
kluczowe (klucz podstawowy)
72030400264 Adam Kowalski P
dr inż. Michał Michna
Relacyjne bazy danych - kolumy
13
Kolumny są unikalne
Każdej kolumnie przypisany jest typ danych
(liczba, data, godzina, ciąg znaków, znak)
Nie ma znaczenia kolejność kolumn
Wartości pól są atomowe
Każda kolumna ma swoją nazwę
Rzadko dodaje się lub kasuje kolumny
PESEL
72030400264
65083104569
71123108664
85041406333
46111006545
dr inż. Michał Michna
Relacyjne bazy danych – klucz podstawowy
14
Klucze wykorzystuje się do tworzenia powiązań (relacji)
pomiędzy kilkoma oddzielnymi tabelami
klucz podstawowy
atrybut lub zbiór atrybutów, którego wartość
jednoznacznie identyfikuje krotkę relacji
Z definicji, wartość atrybutu, który zdefiniowano jako
klucz podstawowy jest unikalna w obrębie całej relacji i
jest niepusta
Przykłady: NIP, PESEL, nr dowodu, nr paszportu
dr inż. Michał Michna
Relacyjne bazy danych - klucze
15
KlientID Imię Nazwisko Adres
101 Joanna Kowalska Wierzbowa 25
103 Anna Kowalska Narcyzowa 1
104 Anna Dąbrowska Fiołkowa 11
ZamowienieID KlientID Wartość Data
302 101 255,2 2006-01-12
303 103 1651,1 2006-01-12
304 101 12,25 2006-01-14
305 101 1321,1 2006-01-14
Klienci
ZamowieniaKlucz podstawowy
dr inż. Michał Michna
Relacyjne bazy danych – klucz obcy
16
Klucze wykorzystuje się do tworzenia powiązań (relacji)
pomiędzy kilkoma oddzielnymi tabelami
klucz obcy
jest atrybutem lub zbiorem atrybutów, który wskazuje na
klucz podstawowy w innej relacji
służy do reprezentowania powiązań między danymi
(łączenia relacji)
dr inż. Michał Michna
Relacyjne bazy danych - klucze
17
KlientID Imię Nazwisko Adres
101 Joanna Kowalska Wierzbowa 25
103 Anna Kowalska Narcyzowa 1
104 Anna Dąbrowska Fiołkowa 11
ZamowienieID KlientID Wartość Data
302 101 255,2 2006-01-12
303 103 1651,1 2006-01-12
304 101 12,25 2006-01-14
305 101 1321,1 2006-01-14
Klienci
ZamowieniaKlucz podstawowy Klucz obcy
dr inż. Michał Michna
Relacyjne bazy danych - relacje
18
Jeden-do-Jednegokażdy wiersz w tabeli A może mieć tylko jeden dopasowany wiersz z tabeli B, i tak samo każdy wiersz w tabeli B może mieć tylko jeden dopasowany wiersz z tabeli A
KlientID Imię Nazwisko
101 Joanna Kowalska
103 Anna Kowalska
104 Anna Dąbrowska
Klienci
KlientID Ulica Miasto
101 Wierzbowa 25 Gdynia
103 Narcyzowa 1 Sopot
104 Fiołkowa 11 Gdynia
Adresy
dr inż. Michał Michna
Relacyjne bazy danych - relacje
19
Jeden-do-Wieluwiersz w tabeli A może mieć wiele dopasowanych wierszy z tabeli B, lecz wiersz w tabeli B może mieć tylko jeden dopasowany wiersz z tabeli A
KlientID Imię Nazwisko Adres
101 Joanna Kowalska Wierzbowa 25
ZamowienieID KlientID Wartosc Data
302 101 255,2 2006-01-12
304 101 12,25 2006-01-14
305 101 1321,1 2006-01-14
Klienci
Zamowienia
dr inż. Michał Michna
Relacyjne bazy danych - relacje
20
Wiele-do-Wielukażdy wiersz w tabeli A może mieć wiele dopasowanych wierszy z tabeli B, i tak samo każdy wiersz w tabeli B może mieć wiele dopasowanych wierszy z tabeli A
ZamID KlientID
302 101
304 101
305 101
Zamowienia
ZamID ProduktID
302 202
302 204
302 205
305 204
305 205
304 204
OpisZamowienia
ProuktID Nazwa Cena jedn
202 Chleb 1,60
204 Mleko 1,80
205 Masło 3,50
Produkty
dr inż. Michał Michna
SQL Structured Query Language
22
Wykorzystywany w bazach:
IBM (DB2),
Oracle, MySQL, Inter-Base, Paradox, dBase, Caché, Firebird, First SQL, HSQL, Ingres, Informix, MaxDB, Microsoft Access, Microsoft Jet, Microsoft SQL Server, Mimer SQL, mSQL, OpenLinkVirtuoso, PostgreSQL, SQL/DS, SQLite, Sybase
Składnia SQL:
DDL (Data Definition Language)
DML (Data Manipulation Language)
DCL (Data Control Language)
dr inż. Michał Michna
DDL – podstawowe komendy
23
CREATE (DATABASE, TABLE, INDEX...) – utworzenie
ALTER (DATABASE, TABLE...) – zmiana struktury
DROP (DATABASE, TABLE, INDEX...) – usunięcie
RENAME (DATABASE, TABLE) – zmiana nazwy
CREATE TABLE klienci (
klientID int NOT NULL AUTO_INCREMENT,
imie varchar(50),
nazwisko varchar(100),
adres varchar(255)
PRIMARY KEY (klientID )
);
ALTER TABLE klienci
ADD COLUMN oddzial varchar(255);
dr inż. Michał Michna
DML - podstawowe komendy
24
SELECT – pobranie danych z tabel
UPDATE – uaktualnianie danych w tabeli
DELETE – usunięcie danych w tabeli
INSERT – dodanie danych do tabeli
INSERT
INTO klienci (imie, nazwisko, adres)
VALUES ('Jan', 'Kowalski', ‘Sporna 1’);
SELECT *
FROM zamowienia
WHERE wartosc > 200
ORDER BY data DESC;
dr inż. Michał Michna
DCL - podstawowe komendy
25
GRANT – przyznanie praw
REVOKE -odebranie wszystkich praw do tabeli
użytkownikowi
DENY.
GRANT ALL
PRIVILEGES ON EMPLOYEE
TO PIOTR
WITH GRANT OPTION
dr inż. Michał Michna
Literatura
26
R. Gawron, P. Ostrowski, T. Baniak Microsoft Access - jako
narzędzie konstrukcji baz danych
http://web.pertus.com.pl/~stanley/access_pigulka/Spis_tre
sci.htm
Bazy danych (materiały dydaktyczne MIMUW na studia
informatyczne I stopnia)
http://wazniak.mimuw.edu.pl/index.php?title=Bazy_danych
dr inż. Michał Michna