Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Podobne dokumenty
Technologia informacyjna

Współczesne systemy baz danych

Baza danych. Modele danych

Język SQL, zajęcia nr 1

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Bazy danych - wykład wstępny

Wykład I. Wprowadzenie do baz danych

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Systemy baz danych. mgr inż. Sylwia Glińska

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

Ref. 7 - Język SQL - polecenia DDL i DML

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Podstawowe informacje o bazach danych. Technologie Informacyjne

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Oracle11g: Wprowadzenie do SQL

Bazy danych i usługi sieciowe

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

WPROWADZENIE DO BAZ DANYCH

Relacyjne bazy danych. Podstawy SQL

P o d s t a w y j ę z y k a S Q L

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Hurtownie danych. 31 stycznia 2017

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Wprowadzenie do baz danych

Dr Michał Tanaś(

Relacyjne bazy danych. Podstawy SQL

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Wykład 5. SQL praca z tabelami 2

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Bazy danych. Dr inż. Paweł Kasprowski

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Alicja Marszałek Różne rodzaje baz danych

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Adam Cankudis IFP UAM

Wprowadzenie do baz danych

Pojęcie bazy danych. Funkcje i możliwości.

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Systemy GIS Tworzenie zapytań w bazach danych

Programowanie obiektowe

Usługi analityczne budowa kostki analitycznej Część pierwsza.

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

Projektowanie systemów baz danych

Porównanie systemów zarządzania relacyjnymi bazami danych

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,


SZKOLENIE: Administrator baz danych. Cel szkolenia

Pojęcie systemu informacyjnego i informatycznego

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Przestrzenne bazy danych Podstawy języka SQL

2017/2018 WGGiOS AGH. LibreOffice Base

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Baza danych. Baza danych to:

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Technologia informacyjna

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Bazy danych. Polecenia SQL

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Relacyjne bazy danych

WPROWADZENIE DO BAZ DANYCH

Imię i Nazwisko Data Ocena. Laboratorium 7

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Wstęp do relacyjnych baz danych. Jan Bartoszek

Bazy danych 7. SQL podstawy

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Model semistrukturalny

Oracle PL/SQL. Paweł Rajba.

Wykład 8. SQL praca z tabelami 5

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

SQL (ang. Structured Query Language)

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Wykład 05 Bazy danych

Hurtownie danych - przegląd technologii

Spis treści. Przedmowa

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Bazy danych Wykład zerowy. P. F. Góra

Wprowadzenie do Hurtowni Danych

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Transkrypt:

Informatyka I BAZY DANYCH dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017

Plan wykładu Definicja systemu baz danych Modele danych Relacyjne bazy danych Język SQL Hurtownie danych

Baza danych Baza danych (ang. Database, DB) zbiór uporządkowanych informacji przechowywanych w postaci cyfrowej Database

Charakterystyki baz danych Trwałość Dane są przechowywane w pamięci stałej, zawartość której nie jest kasowana po wyłączeniu komputera Dane są przechowywane przez wiele lat Złożoność Baza danych przechowuje informacje o obiektach oraz powiązania między nimi Struktury danych są złożone Powiązania są również złożone Ograniczenia na przechowywane dane Wielkość Dane nie mogą być umieszczone w RAM Stosowana jest pamięć zewnętrzna Rozmiar danych nie pozwana na liniowe przeglądanie ich przez użytkowników Niezależność Dane istnieją niezależnie od użytkowników oraz aplikacji ich wykorzystujących

System zarządzania bazą danych System zarządzania bazą danych (SZBD, ang. Database Management System, DBMS) oprogramowanie realizujące funkcje dostępu do bazy danych, zarządzanie danymi oraz zapewniające bezpieczeństwo danych System baz danych SBD = BD + SZBD System baz danych (SBD) SZBD BD

Zadania SZBD BD SZBD Aplikacja Kopia zapasowa

Aplikacja bazodanowa Aplikacja bazodanowa program komputerowy realizujący określone zadanie (algorytmy) oraz wykorzystujący SZBD w celu zapisywania, przetwarzania oraz pobierania danych z BD Aplikacje systemowe: zarządzanie BD Aplikacje stosowane: zorientowane na końcowego użytkownika

Użytkownik SBD Użytkownik aplikacji bazodanowej (może nie wiedzieć że BD istnieje) Analityk systemowy Korzysta z gotowych narzędzi oraz zgromadzonych danych Fachowcy od informatyki: Administrator bazy danych Operator kopii zapasowych Programista aplikacji bazodanowej Administrator sieci lub serwera na którym jest zainstalowana baza danych Etc.

System informatyczny bazodanowy System informatyczny Aplikacja System bazy danych (SBD) Użytkownik aplikacji bazodanowej Aplikacja Kli SZBD BD Aplikacja SBD = Baza danych + System zarządzania SIBD = SBD + Aplikacja + Użytkownik

Modele baz danych Baza danych przechowuje informacje o obiektach świata rzeczywistego (ich uproszczone abstrakcje) model bazy danych - sposób odwzorowania obiektów świata rzeczywistego na struktury i powiązania w BD Student Analiza obiektowa Imię Nazwisko Grupa Rok Świat rzeczywisty Grupa Wykładowca Model (abstrakcja)

Elementy modelu danych Struktury danych W jakim formacie są przechowywane dane w bazie (tabela, graf, drzewo, lista, etc.) Operacje na danych Dodawanie, usuwanie, edycja, przeglądanie (tzw. CRUD) Nawigacja (np. w grafie lub drzewie) Ograniczenia Rekord BD musi zawierać określone wartości (ograniczenie dziedziny) Wartość pola nie może być pusta Krawędź grafu musi łączyć dwa wierzchołki itp.

Hierarchiczny model danych Koncepcja kartoteki hierarchia przodek potomek (struktura drzewa) Administracja Rektorat Dziekani Uczelnia Edukacja Wydział Transportu Wydział Elektryczny Studia stacjonarne Studia niestacjonarne Jan Kowalski Anna Nowak

Hierarchiczny model danych (c.d.) Zalety dobrze odzwierciedla wybrane struktury świata rzeczywistego (np. organizacje, system plików itp.) szybkie wyszukiwanie od góry w dół Wady jeden obiekt należy tylko do jednej kategorii Dobrze się nadaje do systemu plików ale co z wykładowcą który może prowadzić zajęcia na kilku wydziałach?! problemy z implementacją innych niż rodzicpotomek zależności Np. powiązania pomiędzy przedmiotami na uczelni

Obiektowy model danych Klasa szablon do tworzenia obiektów o identycznych cechach oraz zachowaniu np. Student { Imię, Nazwisko, NumerAlbumu } Obiekt egzemplarz pewnej klasy Jan Kowalski : Student o konkretnych cechach Imię := Jan, Nazwisko := Kowalski, NumerAlbumu := 12345 Dziedziczenie cech klas Student jest klasą pochodną klasy Osoba i ma cechy Imię i Nazwisko Powiązania pomiędzy obiektami Student należy do Grupy

Obiektowy model danych (c.d.) Zalety: możliwość przechowania obiektów w bazie w takiej postaci jak są one przetwarzane w programie Ścisła integracja z kodem programu Wady: Problemy współbieżnego dostępu do danych przez różnych użytkowników Problemy nadania uprawnień dostępu

Grafowy model danych Struktura: graf (wierzchołki, krawędzie, atrybuty) Operacje: CRUD + wyszukiwanie ścieżki Grafowa bazy danych komunikacji miejskiej

Grafowy model danych (c.d.) Zalety: Naturalna forma reprezentacji dla wielu problemów transportowych Wbudowane operacje wyszukiwania ścieżek w grafie Wady: Ograniczony zakres zastosowania Małe doświadczenie dot. wykorzystania w komercyjnych systemach

Relacyjny model danych Najbardziej rozpowszechniony model danych Podstawy matematyczne: teoria zbiorów Dane są przechowywane w tabelach Tabele są połączone ze sobą Student należy Grupa Imię Nazwisko NumerGrupy Przedmiot studiuje Indeks wykłada Wykładowca

Tabele Dane są przechowywane w tabelach Każda tabela ma własną nazwę niepowtarzalną w skali całej BD Kolumny tabeli przechowują atrybuty (pola) obiektów Każdy wiersz (syn. rekord) przechowuje informacje o jednym obiekcie (instancja) Indeks Imię Nazwisko NumerGrupy 262345 Jan Nowak T5 274568 Alicja Kowalska T5 258905 Piotr Lesiak T2 Tabela STUDENT

Kolumny tabeli Kolumna = atrybut obiektu (pole klasy) W kolumnie Imię są przechowywane imiona studentów Rodzaj wartości przechowywanych zależy od atrybutu: Nazwisko: Tekst Grupa: Tekst Indeks: Liczba całkowita NumerGrupy: tablica char[2] Etc. Tabela zawiera przynajmniej jedną kolumnę Liczba kolumn w tabeli nie jest ograniczona

Wybrane typy danych kolumn SQL Server varchar, nvarchar char(n) int, numeric decimal, real bit datetime, date Odpowiednik w Java String char[n] int double, float boolean Date * na przykładzie SBD Microsoft SQL Server

Rekordy tabeli Rekordy tabeli przechowują informacje o obiektach (w programowaniu: egzemplarze klas) Jeden rekord = 1 obiekt Student: { Jan, Nowak, T5, 262345 } Kolejność rekordów w tabeli nie ma znaczenia Tabela może nie zawierać żadnych rekordów Liczba rekordów w tabeli nie jest ograniczona

Klucz własny tabeli Kolumna przechowująca wartości jednoznacznie identyfikujące obiekt nazywa się kluczem własnym tabeli Student: kolumna Indeks Tabela nie może zawierać dwóch rekordów o tej samej wartości w kolumnie klucza własnego Klucz własny (identyfikator)

Klucz obcy tabeli W tabeli STUDENT kolumna NumerGrupy przechowuje wartości z kolumny NumerGrupy tabeli GRUPA Kolumna NumerGrupy w tabeli STUDENT jest kluczem obcym Wartości klucza obcego mogą się powtarzać Wiele studentów należy do tej samej grupy Wartości klucza obcego muszą pochodzić ze zbioru wartości klucza głównego innej tabeli Dopuszcza się wartość specjalna NULL (student nie należy do żadnej grupy)

Powiązania tabel Relacje pomiędzy tabelami są budowane za pomocą powiązań kluczy własnych z kluczami obcymi Grupa składa się ze Student należy do. Kolumna Student.NumerGrupy może zawierać tylko te wartości, które występują w kolumnie Grupa.NumerGrupy

Przykład struktury RBD Student należy do jednej grupy Grupa składa się z wielu studentów Grupa należy do jednego wydziału Wydział składa się z wielu grup

Komunikacja z bazą danych - SQL Użytkownik potrzebuje interfejsu umożliwiającego wykonanie operacji zapisu, odczytu oraz modyfikacji danych w bazie Uniwersalnym standardem komunikacji z bazą danych stał się język SQL (ang. Structured Query Language) Zbiór zapytań (kwerend) Użytkownik określa w zapytaniu co chce uzyskać, a nie jak Jest uniwersalnym językiem programowania stosowanym przez większość RBD

Interakcja z RBD za pomocą SQL Polecenie SQL (tekst) System bazy danych SZBD BD Wynik: - Tabela - Pojedyncza wartość - Brak

Podstawowe polecenia języka SQL INSERT UPDATE DELETE SELECT Wstawianie danych Modyfikacja danych Usuwanie danych Odczyt danych

Przykład polecenia SELECT SELECT Nazwisko, Imie, Indeks FROM STUDENT WHERE NumerGrupy > 'T2' AND NumerGrupy<'T6' AND Imie LIKE '_a%' ORDER BY Imie DESC Kolumny (w dowolnej kolejności) Tabela (lub lista tabel) Warunek, który muszą spełniać znalezione rekordy Sortowanie wyniku

Przykład polecenia INSERT Tabela Kolumny INSERT INTO STUDENT ( Imie, Nazwisko, Indeks, NumerGrupy ) VALUES ( 'Mikołaj', 'Nowak', 26523, 'T5' ) Wartości (zgodnie z kolejnością kolumn)

Przykład polecenia UPDATE Tabela UPDATE STUDENT SET Imie = 'Piotr', Nazwisko = 'Kowalski' WHERE Indeks=26523 Kolumny modyfikowane Rekordy, których dotyczy modyfikacja

Przykład polecenia DELETE Tabela DELETE FROM STUDENT WHERE Indeks BETWEEN 26500 AND 27000 AND GRUPA='T7' Warunek, który muszą spełnić rekordy usuwane

Infrastruktura aplikacji bazodanowej Aplikacja Interfejs wprowadzania danych Interfejs prezentacji danych Logika aplikacji SQL SBD Raporty

Interfejs użytkownika aplikacji bazodanowej Język SQL nie posiada wbudowanych mechanizmów wprowadzania / wyświetlania danych Aplikacja bazodanowa musi realizować interfejs użytkownika Możliwości: Opracowanie własnego interfejsu Wykorzystanie interfejsu udostępnianego przez SBD: Oracle Forms Microsoft Access Etc.

Raporty Większość współczesnych SBD posiadają zaawansowane mechanizmy tworzenia raportów ( kreatory ) Microsoft Reporting Services Oracle Reporting

Bazy danych przetwarzania transakcyjnego OLTP ang. Online Transactional Processing Charakteryzują się dużą liczbą jednocześnie wykonywanych transakcji Wiele równolegle działających użytkowników Operacje wstawiania, modyfikacji oraz usuwania danych Operacje są stosunkowo proste oraz krótkie Domyślny tryb działania większości współczesnych BD

Bazy danych przetwarzania analitycznego OLAP ang. Online Analytical Processing Bazy danych zorientowane na przechowanie (bardzo) dużych zbiorów danych (hurtownie) Przeznaczenie pozyskiwanie informacji zagregowanych, trendów oraz wniosków na bazie zgromadzonych w bazie faktów Operacje wstawiania danych są rzadkie i są wykonywane grupowo (np. raz na koniec miesiąca) Priorytetową operacją jest operacja wybierania danych

Hurtownia danych Hurtownia danych (ang. Data Warehouse) bardzo duża baza danych zawierająca dane historyczne oraz bieżące Dane są uzupełniane okresowo W trybie codziennym dane są dostępne tylko do odczytu Dane mogą być zagregowane (przechowanie podsumowań zamiast danych bieżących) Dane są pogrupowane tematycznie

Architektura hurtowni danych

Wielowymiarowy model danych FAKTY informacje podlegające analizie, charakteryzują się ilościowo za pomocą miar Cena, liczba sztuk, etc. WYMIARY hierarchia kategorii wg których odbywa się analiza Lokalizacja (np. wg sklepów -> miast -> państw) Czas (np. Rok, Miesiąc) inne

Fakty i wymiary (przykład) Samochód Wymiar Lokalizacja Sprzedaż Marka samochodu Miasto Data sprzedaży Cena jedn. Liczba sztuk Fakty Czas Wymiar Wymiar

Reprezentacja danych w postaci tzw. kostki analitycznej Źródło: http://wazniak.mimuw.edu.pl/index.php?title=zsbd-2st-1.2-w12.tresc-1.1-slajd21

Rozwijanie danych Źródło: http://wazniak.mimuw.edu.pl/index.php?title=zsbd-2st-1.2-w12.tresc-1.1-slajd21

Zwijanie danych Źródło: http://wazniak.mimuw.edu.pl/index.php?title=zsbd-2st-1.2-w12.tresc-1.1-slajd21

Wycinanie danych Źródło: http://wazniak.mimuw.edu.pl/index.php?title=zsbd-2st-1.2-w12.tresc-1.1-slajd21

Popularne współczesne relacyjne SBD Komercyjne ORACLE Microsoft SQL Server IBM DB2 Sybase Enterprise Server Informix (IBM) Niekomercyjne MySQL Firebird PostgreSQL