Wstęp do problematyki baz danych

Transkrypt

Wstęp do problematyki baz danych
Bazy danych i usługi sieciowe
Wstęp do problematyki baz danych
Paweł Daniluk
Wydział Fizyki
Jesień 2016
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
1 / 17
Plan wykładu
1
Bazy danych
1
2
3
4
5
6
7
2
Motywacja
Podstawowe pojęcia
Model relacyjny
Normalizacja
Modelowanie związków encji
SQL (Structured Query Language)
Wydajność
Usługi sieciowe
1
2
3
4
5
6
7
8
Sieci lokalne i internet
Model klient-serwer
Wybrane protokoły sieciowe (RPC, HTTP)
Aplikacje internetowe (PHP, AJAX)
Język XML
Bezpieczeństwo
Publiczne bazy danych i usługi związane z bioinformatyką
Komputery dużej mocy
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
2 / 17
Użytkownicy
System informatyczny
Baza danych
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
3 / 17
Wymagania
1
Dane są niezależne od korzystających z nich aplikacji
2
Długi czas przechowywania (kilkadziesiąt lat)
3
Ilość danych przekracza rozmiar pamięci operacyjnej
4
Równoczesny dostęp wielu użytkowników
5
Wydajność
6
Bezpieczeństwo
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
4 / 17
Użytkownicy
System informatyczny
Aplikacja
Aplikacja
Aplikacja
System Bazy Danych
System Zarządzania Bazą
Danych
Schemat
Baza danych
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
5 / 17
Spójność bazy danych
1
Zgodność danych z rzeczywistością
2
Zgodność zależności między danymi z przyjętym modelem
3
Odporność na błędy i awarie
4
Brak anomalii związanych ze współbieżnym dostępem
5
Odporność na błędy użytkowników
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
6 / 17
Transakcje
Atomic – wykonują się w całości albo wcale
Consistent – nie naruszają spójności bazy danych
Isolated – są od siebie niezależne
Durable – wynik zakończonej transakcji nie może zostać utracony
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
7 / 17
Zastosowania
Przetwarzanie transakcyjne (On-Line Transaction Processing) - OLTP
I
systemy ewidencyjne
Przetwarzanie analityczne (On-Line Analytical Processing) - OLAP
I
hurtownie danych
Inne
I
I
I
Computer Aided Desing - CAD
Geographical Information Systems - GIS
Protein Data Bank - PDB
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
8 / 17
Pierwsze maszyny
1
US Census
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
9 / 17
Pierwsze maszyny
1
US Census
I
W 1880 spisano 50 mln ludzi.
Wyniki sumowano 7 lat.
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
9 / 17
Pierwsze maszyny
1
US Census
I
I
W 1880 spisano 50 mln ludzi.
Wyniki sumowano 7 lat.
W 1890 spisano 62 mln.
Wyniki sumowano 2.5 roku.
Zastosowano wynalazek
Hermana Holleritha.
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
9 / 17
Pierwsze maszyny
1
US Census
I
I
2
W 1880 spisano 50 mln ludzi.
Wyniki sumowano 7 lat.
W 1890 spisano 62 mln.
Wyniki sumowano 2.5 roku.
Zastosowano wynalazek
Hermana Holleritha.
Tabulatory
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
9 / 17
Pierwsze maszyny
1
US Census
I
I
W 1880 spisano 50 mln ludzi.
Wyniki sumowano 7 lat.
W 1890 spisano 62 mln.
Wyniki sumowano 2.5 roku.
Zastosowano wynalazek
Hermana Holleritha.
2
Tabulatory
3
Lyons Electronic Office (LEO)
(8 KB pamięci)
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
9 / 17
Modele baz danych
1
Pliki
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
10 / 17
Modele baz danych
1
Pliki
2
Model hierarchiczny
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
10 / 17
Modele baz danych
1
Pliki
2
Model hierarchiczny
3
Model sieciowy
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
10 / 17
Modele baz danych
1
Pliki
2
Model hierarchiczny
3
Model sieciowy
4
Model relacyjny
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
10 / 17
Modele baz danych
1
Pliki
2
Model hierarchiczny
3
Model sieciowy
4
Model relacyjny
5
Model obiektowy
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
10 / 17
Przykład
Pracownicy
id_prac
100
110
120
130
140
150
160
170
180
190
200
210
220
230
nazwisko
Marecki
Janicki
Nowicki
Nowak
Kowalski
Grzybowska
Krakowska
Opolski
Makowski
Kotarski
Przywarek
Kotlarczyk
Siekierski
Dolny
imie
Jan
Karol
Pawel
Piotr
Krzysztof
Maria
Joanna
Roman
Marek
Konrad
Leon
Stefan
Mateusz
Tomasz
etat
DYREKTOR
PROFESOR
PROFESOR
PROFESOR
PROFESOR
ADIUNKT
SEKRETARKA
ASYSTENT
ADIUNKT
ASYSTENT
DOKTORANT
DOKTORANT
ASYSTENT
ASYSTENT
id_szefa
NULL
100
100
100
130
130
130
130
100
140
140
130
110
120
zatrudniony
1968-01-01
1973-05-01
1977-09-01
1968-07-01
1975-09-15
1977-09-01
1985-03-01
1992-10-01
1985-02-20
1993-09-01
1994-07-15
1993-10-15
1993-10-01
1992-09-01
placa_pod
4730.00
3350.00
3070.00
3960.00
3230.00
2845.50
1590.00
1839.70
2610.20
1971.00
900.00
900.00
1889.00
1850.00
placa_dod
980.50
610.00
NULL
NULL
805.00
NULL
NULL
480.50
NULL
NULL
NULL
570.60
NULL
390.00
id_zesp
10
40
30
20
20
20
20
20
10
20
30
30
20
NULL
Klucze podstawowe – id_prac, (nazwisko, imie)
Klucze obce – id_szefa, id_zesp
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
11 / 17
Przykład c.d.
Pracownicy
id_prac
100
110
120
...
nazwisko
Marecki
Janicki
Nowicki
...
imie
Jan
Karol
Pawel
...
etat
DYREKTOR
PROFESOR
PROFESOR
...
Etaty
nazwa
PROFESOR
ADIUNKT
ASYSTENT
DOKTORANT
SEKRETARKA
DYREKTOR
id_szefa
NULL
100
100
...
zatrudniony
1968-01-01
1973-05-01
1977-09-01
...
placa_pod
4730.00
3350.00
3070.00
...
placa_dod
980.50
610.00
NULL
...
id_zesp
10
40
30
...
Zespoły
placa_od
3000.00
2510.00
1500.00
800.00
1470.00
4280.00
placa_do
4000.00
3000.00
2100.00
1000.00
1650.00
5100.00
id_zesp
10
20
30
40
50
nazwa
Administracja
Systemy rozproszone
Systemy eksperckie
Algorytmy
Badania operacyjne
adres
Piotrowo 2
Piotrowo 3a
Strzelecka 14
Wieniawskiego 16
Mielzynskiego 30
Klucze podstawowe – id_prac, (nazwisko, imie), nazwa, id_zesp
Klucze obce – id_szefa, nazwa, id_zesp
Więzy – placa_od ≤ placa_pod ≤ placa_do
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
12 / 17
Język SQL (Structured Query Lanquage)
Opracowany w latach siedemdziesiątych w IBM
Ustandaryzowany
Deklaratywny
Przykład
SELECT nazwisko, etat, placa_pod
FROM pracownicy
WHERE id_zesp=30 AND etat=’kierownik’;
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
13 / 17
SQL DML(Data Manipulation Language)
Operacje na danych. Między innymi:
Wyszukiwanie SELECT
P. Daniluk (Wydział Fizyki)
Przykład
SELECT nazwisko, etat,
placa_pod
FROM pracownicy
WHERE id_zesp=30
AND etat=’kierownik’;
BDiUS w. I
Jesień 2016
14 / 17
SQL DML(Data Manipulation Language)
Operacje na danych. Między innymi:
Wyszukiwanie SELECT
Wstawianie INSERT
P. Daniluk (Wydział Fizyki)
Przykład
INSERT INTO zespoly
(id_zesp, nazwa, adres)
VALUES
(60, ’Marketing’, ’Aferalna 18
BDiUS w. I
Jesień 2016
14 / 17
SQL DML(Data Manipulation Language)
Operacje na danych. Między innymi:
Wyszukiwanie SELECT
Wstawianie INSERT
Aktualizacja UPDATE
P. Daniluk (Wydział Fizyki)
Przykład
UPDATE pracownicy
SET pensja_pod =
pensja_pod * 1.5
WHERE etat=’dyrektor’;
BDiUS w. I
Jesień 2016
14 / 17
SQL DML(Data Manipulation Language)
Operacje na danych. Między innymi:
Wyszukiwanie SELECT
Przykład
Wstawianie INSERT
DELETE FROM pracownicy
WHERE imie = ’Jan’
AND nazwisko = ’Kowalski’;
Aktualizacja UPDATE
Usuwanie DELETE
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
14 / 17
SQL DDL(Data Definition Language)
Operacje na definicjach elementów.
Między innymi:
Tworzenie CREATE
tabel, baz danych, indeksów, ...
P. Daniluk (Wydział Fizyki)
Przykład
CREATE TABLE zespoly (
id_zesp int(11) NOT NULL,
nazwa varchar(50) NOT NULL,
adres varchar(100) NOT NULL,
PRIMARY KEY (id_zesp)
)
BDiUS w. I
Jesień 2016
15 / 17
SQL DDL(Data Definition Language)
Operacje na definicjach elementów.
Między innymi:
Tworzenie CREATE
tabel, baz danych, indeksów, ...
Usuwanie DROP
j.w.
P. Daniluk (Wydział Fizyki)
Przykład
DROP TABLE pracownicy
BDiUS w. I
Jesień 2016
15 / 17
SQL DDL(Data Definition Language)
Operacje na definicjach elementów.
Między innymi:
Tworzenie CREATE
tabel, baz danych, indeksów, ...
Usuwanie DROP
j.w.
Przykład
ALTER TABLE pracownicy
ADD telefon VARCHAR(255);
Modyfikacja ALTER
np. dodawanie kolumny
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
15 / 17
SQL DCL(Data Control Language)
Operacje uprawnieniach do obiektów bazodanowych. Między innymi:
GRANT
REVOKE
DENY
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
16 / 17
Strona wykładu
http://bioexploratorium.pl/wiki/
Bazy_danych_i_usługi_sieciowe_-_2016z
P. Daniluk (Wydział Fizyki)
BDiUS w. I
Jesień 2016
17 / 17