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