BAZY DANYCH. Wykłady dla studentów Wydziału Matematyki i Informatyki UAM. Dr inż. Anna Stachowiak B4-27

Podobne dokumenty
S y s t e m y. B a z D a n y c h

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

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Baza danych. Modele danych

Bazy danych 2. Wykład 1

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

Model relacyjny. Wykład II

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

Wykład I. Wprowadzenie do baz danych

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Podstawowe informacje o bazach danych. Technologie Informacyjne

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

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

1 Wstęp do modelu relacyjnego

Model relacyjny. Wykład II

Wykład 2. Relacyjny model danych

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

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

Wprowadzenie do Hurtowni Danych

Bazy danych i usługi sieciowe

PRZEWODNIK PO PRZEDMIOCIE

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

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

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Bazy danych. Dr inż. Paweł Kasprowski

PRZEWODNIK PO PRZEDMIOCIE

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

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

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

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

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

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

Opisy efektów kształcenia dla modułu

Wykład :45 BD-1 W_3

Technologia informacyjna

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

Bazy danych. Dr Henryk Telega. BD 10/11 Wykład 1 1

Bazy danych - wykład wstępny

Model relacyjny bazy danych

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

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Bazy danych. Andrzej Łachwa, UJ, /15

Adam Cankudis IFP UAM

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

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

Mechanika i Budowa Maszyn II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Relacyjny model baz danych, model związków encji, normalizacje

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

Bazy danych 1. Podstawowe pojęcia

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

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

Język SQL, zajęcia nr 1

Zasady transformacji modelu DOZ do projektu tabel bazy danych

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Technologia informacyjna

Wprowadzenie do języka SQL

KARTA PRZEDMIOTU 1,5 1,5

Współczesne systemy baz danych

WPROWADZENIE DO BAZ DANYCH

Krzysztof Kadowski. PL-E3579, PL-EA0312,

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego

Projektowanie systemów baz danych

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

Relacyjne bazy danych

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Tworzenie aplikacji bazodanowych

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

Opisy przedmiotów do wyboru. oferowane na stacjonarnych studiach I stopnia dla 3 roku matematyki semestr letni, rok akademicki 2017/2018

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Relacyjny model danych

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

Co to jest Baza Danych

Agnieszka Ptaszek Michał Chojecki

SZKOLENIE: Administrator baz danych. Cel szkolenia

2017/2018 WGGiOS AGH. LibreOffice Base

Przestrzenne bazy danych Podstawy języka SQL

Podstawowe informacje o bazach danych. Technologie Informacyjne

Matematyka kodem nowoczesności. Zaproszenie do składania ofert

PODSTAWY BAZ DANYCH 2009/ / Notatki do wykładu "Podstawy baz danych"

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014

Język SQL. Rozdział 2. Proste zapytania

Semestr Wykład Ćwiczenie Laboratorium Projekt Seminarium Łącznie. V Forma zaliczenia Liczba punktów ECTS

Baza danych. Baza danych to:

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Pojęcie systemu baz danych

Bazy danych. Algebra relacji

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

KURS ACCESS 2003 Wiadomości wstępne

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

WPROWADZENIE DO BAZ DANYCH

Wstęp do relacyjnych baz danych. Jan Bartoszek

Transkrypt:

BAZY DANYCH Wykłady dla studentów Wydziału Matematyki i Informatyki UAM Dr inż. Anna Stachowiak aniap@amu.edu.pl B4-27

Wprowadzenie

Plan wykładu Informacje organizacyjne Przegląd poruszanych zagadnień na przedmiocie Bazy danych Pojęcie bazy danych Rola systemu zarządzania bazą danych

Informacje organizacyjne Przedmiot Bazy Danych obejmuje: wykład zakończony egzaminem laboratoria Kontakt i materiały: Anna Stachowiak pokój B4-27 aniap@amu.edu.pl https://git.wmi.amu.edu.pl/ania/bazy-danych

Informacje organizacyjne c.d. Literatura H. Garcia-Molina, J. D. Ullman, J. Widom, " Systemy baz danych. Kompletny podręcznik. Wydanie II ", Helion 2011 R. Elmasri, S. B. Navathe "Wprowadzenie do systemów baz danych", Helion 2005 C. J. Date Wprowadzenie do systemów baz danych, WNT 2000 M. Lis, SQL. Ćwiczenia praktyczne", Helion 2011 Itzik Ben-Gan "Microsoft SQL Server 2012. Optymalizacja kwerend T-SQL przy użyciu funkcji okna" Joe Celko "SQL zaawansowane techniki programowania" Dan Tow "SQL. Optymalizacja" Inne źródła: http://wazniak.mimuw.edu.pl http://www.sqlservercentral.com/ www.sqlpedia.pl https://docs.microsoft.com/

Motywacja Harvard Business Review (10/2012): Data Scientist is the sexiest job of the 21st century. https://hbr.org/2012/10/ data-scientist-the-sexiest-job-of-the-21st-century Data Scientist Data Researcher Data Developer Data Architect Database Administrator Data Engineer Data Analyst Data Modeler Data Steward Data Officer

Motywacja

Skąd się biorą i czym są dane Dane wszystko, co może być przetwarzane umysłowo/komputerowo Zalew danych 3 miliony maili na sekundę 15 milionów aukcji na Allegro

Cel od danych do wiedzy Składowanie danych Przetwarzanie danych Statystyka Algorytmy eksploracji danych Wizualizacja danych i raportowanie

Dane informacja wiedza mądrość 559 Dane fakty: liczby, znaki, obrazy, dźwięki,

Dane informacja wiedza mądrość 559 - cena butów [zł] Informacja + interpretacja 559 Dane fakty: liczby, znaki, obrazy, dźwięki,

Dane informacja wiedza mądrość drogo! Wiedza + doświadczenie 559 - cena butów [zł] Informacja + interpretacja 559 Dane fakty: liczby, znaki, obrazy, dźwięki,

Dane informacja wiedza mądrość poczekam na przecenę Mądrość + wykorzystanie drogo! Wiedza + doświadczenie 559 - cena butów [zł] Informacja + interpretacja 559 Dane fakty: liczby, znaki, obrazy, dźwięki,

Dane informacja wiedza mądrość poczekam na przecenę drogo! Mądrość + wykorzystanie Wiedza + doświadczenie c z ł o w i e k 559 - cena butów [zł] 559 Informacja + interpretacja Dane fakty: liczby, znaki, obrazy, dźwięki, k o m p u t e r

Plan przedmiotu Bazy danych Aplikacje bazodanowe Współbieżny dostęp użytkowników Transakcje ACID Autoryzacja SQL Język SQL select pesel, nazwisko from Kursanci where adres = 1 Optymalizacja zapytań SQL Organizacja fizyczna Indeksy Strojenie bazy danych Odporność na awarie Model relacyjny Kursanci Adresy Normalizacja Projektowanie koncepcyjne Diagramy ER pesel nazwisko kursant id adres miasto wojewodztwo

Czym jest baza danych Baza danych - zbiór danych zapisanych zgodnie z określonymi regułami Baza danych zatem: odzwierciedla fragment świata rzeczywistego, ma określone znaczenie zawiera spójny i trwały zbiór danych ma określony cel i odbiorców jest zorganizowana zgodnie w wybranym modelem baza danych = dane + schemat

Baza danych c.d. Każda baza danych posiada: źródło danych użytkowników zainteresowanych jej zawartością związek z reprezentowaną rzeczywistością

Schemat i stan bazy danych Schemat bazy danych to opis bazy danych: struktura rekordów, typy danych, związki, ograniczenia; nie zmienia się często Stan bazy danych to informacje przechowywane w bazie danych w konkretnym momencie czasu

Czy sama baza danych wystarczy? Użytkownik bazy danych chciałby:

Czy sama baza danych wystarczy? Użytkownik bazy danych chciałby: przechowywać dużą liczbę danych tworzyć i uwzględniać powiązania między danymi szybko uzyskiwać różnorodną informację kontrolować poprawność wprowadzanych danych udostępniać dane innym osobom zapewnić danym bezpieczeństwo

System zarządzania bazą danych System zarządzania bazą danych (SZBD) (Database Management System DBMS) jest zbiorem programów umożliwiających tworzenie i utrzymywanie bazy danych SZBD = dane + schemat + programy

System zarządzania bazą danych Zadania SZBD: definiowanie bazy danych: określanie typów i i struktury danych oraz ograniczeń, wspomaganie procesu projektowania i utrzymywania bazy danych konstruowanie bazy danych: fizyczne zapamiętanie danych na nośniku obsługiwanym przez SZBD manipulowanie bazą danych: generowanie (optymalnych) zapytań do bazy, uaktualnianie danych udostępnianie bazy danych: umożliwia operowanie na danych wielu użytkownikom (współbieżność); zapewnienie spójności danych; odporność na błędy i anomalie (transakcje) ochrona bazy danych: ochrona systemowa (odporność na awarie) i zabezpieczenia (autoryzacja dostępu) udostępnianie metadanych: dane o danych, strukturach dostępu, użytkownikach i ich prawach konserwowanie bazy danych

SZBD w systemie informatycznym

Model danych Obiekty ze świata rzeczywistego są reprezentowane w bazie danych za pomocą tzw. modelu danych. Przykłady modeli danych: Hierarchiczny Sieciowy Relacyjny Obiektowy Obiektowo-relacyjny Semistrukturalny (XML)

Przykłady Model hierarchiczny Model sieciowy

Przykłady Model relacyjny

Przykłady

Przykłady

Przykłady XML <XML> <projekt id="10" nazwa="e-learning"> <stawka>100</stawka> <kierownik> "Różycka" </kierownik> <pracownicy> <pracownik nazwisko="różycka" stanowisko="profesor"></pracownik> <pracownik nazwisko="andrzejewicz" stanowisko="adiunkt"></pracownik> <pracownik nazwisko="wróbel" stanowisko="techniczny"></pracownik> </pracownicy> </projekt> <projekt id="20" nazwa="web service"> <stawka>90</stawka> <pracownicy> <pracownik nazwisko="mielcarz" stanowisko="profesor"></pracownik> <pracownik nazwisko="mikołajski" stanowisko="doktorant"></pracownik> <pracownik nazwisko="wróbel" stanowisko="techniczny"></pracownik> </pracownicy> </projekt> </XML>

Przykłady JSON { } "projekt":[ {"id": 10, "nazwa": "e-learning", "stawka": 100, "kierownik": "Różycka", "pracownicy":[ {"nazwisko": "Różycka", "stanowisko": "profesor"}, {"nazwisko": "Andrzejewicz", "stanowisko": "adiunkt"}, {"nazwisko": "Wróbel", "stanowisko": "techniczny"}, ]}, {"id": 20, "nazwa": "web service", "stawka": 90, "pracownicy":[ {"nazwisko": "Mielcarz", "stanowisko": "profesor"}, {"nazwisko": "Mikołajski", "stanowisko": "doktorant"}, {"nazwisko": "Wróbel", "stanowisko": "techniczny"}, ]} ]

Model danych c.d. Trzy podstawowe elementy modelu danych: struktura danych np. w modelu relacyjnym - relacja język opisu danych DDL i język manipulowania danymi DML np. w modelu relacyjnym selekcja, projekcja, złączenie, operacje mnogościowe ograniczenia integralnościowe nakładane na dane np. w modelu relacyjnym klucze podstawowe i obce

Języki baz danych DDL (Data Definition Language) język definicji danych SDL (Storage Definition Language) język definicji składowania VDL (View Definition Language) język definicji perspektyw DML (Data Manipulation Language) język manipulowania danymi DCL (Data Control Language) język kontroli danych Przykład: SQL

Przyszłość? Big Data SQL + NoSQL (Polybase, Splice Machine) In-memory Rozproszone Analityczne Real-time Kolumnowe?

Wybrane relacyjne systemy bazodanowe Produkty komercyjne: Oracle (9i, 10g, 11g) IBM: DB2 (Express-C), Informix Microsoft SQL Server Sybase: Adaptive Server Enterprise, SQL Anywhere Produkty niekomercyjne: MySQL PostgreSQL Firebird

Relacyjny model danych

Relacyjny model danych Relacyjny model danych został po raz pierwszy wprowadzony w 1970 roku przez Teda Codda Opiera się na pojęciu matematycznej relacji schemat relacji: R(A1, A2,..., An) składa się z nazwy relacji R i listy jej atrybutów: A1, A2,..., An dla każdego atrybutu określany jest zbiór dopuszczalnych wartości, zwany dziedziną atrybutu relacja (stan relacji) jest zbiorem n-krotek porządek krotek w relacji nie ma znaczenia (relacja jest zbiorem)

Relacyjny model danych Struktura danych Tabela (relacja) Operacje na danych język SQL Integralność danych klucz podstawowy (primary key) klucz obcy (foreign key) unikalność (unique) zawężenie dziedziny (check) wartość pusta/niepusta (null/not null) 37

Elementy modelu relacyjnego Relacja (tabela) Model relacyjny oparty jest na matematycznym pojęciu relacji (podzbiór iloczynu kartezjańskiego skończonej liczby zbiorów), np.: KLIENCI PESEL IMIĘ NAZWISKO MIASTO KLIENCI pesel imię nazwisko miasto 78020806063 Karol Nowak Poznań 88021816060 Joanna Malińska Kraków 81120811163 Renata Kowal Poznań spoza relacji KLIENCI: 11122233344 John Malkovich Christopher 38

Elementy modelu relacyjnego Relacja (tabela) zbiór informacji tego samego typu może reprezentować zarówno byt jak związek nazwa relacji powinna ułatwiać interpretację zawartych w niej danych KLIENCI pesel imię nazwisko miasto 78020806063 Karol Nowak Poznań 88021816060 Joanna Malińska Kraków 81120811163 Renata Kowal Poznań 39

Elementy modelu relacyjnego Krotka (wiersz, rekord) przechowuje listę powiązanych ze sobą danych reprezentujących jeden określony byt każda wartość w krotce jest atomowa (pojedyncza); może być też wartością pustą, reprezentującą wartość nieznaną, nieistotną lub niedostępną kolejność krotek nie ma znaczenia (relacja jest zbiorem!) KLIENCI pesel imię nazwisko miasto 78020806063 Karol Nowak Poznań 88021816060 Joanna Malińska Kraków 81120811163 Renata Kowal Poznań 40

Elementy modelu relacyjnego Atrybut (kolumna) nazwa pojedynczego typu danych, określonego dziedziną nazwy atrybutów muszą być unikalne dziedzina definiuje zbiór wartości, jaki może przyjmować atrybut KLIENCI pesel imię nazwisko miasto 78020806063 Karol Nowak Poznań 88021816060 Joanna Malińska Kraków 81120811163 Renata Kowal Poznań 41

Elementy modelu relacyjnego Klucz podstawowy (główny) PRIMARY KEY atrybut (lub zbiór atrybutów) jednoznacznie identyfikujący każdą krotkę przykłady: adres e-mail, NIP, PESEL, nr dowodu, nr projektu, kod towaru KLIENCI pesel imię nazwisko miasto 78020806063 Karol Nowak Poznań 88021816060 Joanna Malińska Kraków 81120811163 Renata Kowal Poznań 42

Elementy modelu relacyjnego Klucz obcy FOREIGN KEY KLIENCI atrybut (lub zbiór atrybutów), który wskazuje na klucz podstawowy tej samej lub innej relacji służy do reprezentowania powiązań między danymi (łączenia relacji) pesel imię nazwisko adres 75010106222 Tomasz Górski Poznań 78020806063 Karol Nowak Poznań 81120811163 Renata Kowal Poznań 88021816060 Joanna Malińska Kraków 80120811199 Maciej Zięba Kraków 90101022233 Aneta Romanowska Olkusz ZAMÓWIENIA idzam idkli Data_zam Data_realiz Wartosc 12345566 75010106222 2015-10-10 2015-10-12 920,00 10203040 80120811199 2015-10-10 2015-10-12 130,00 23242385 75010106222 2015-12-01 2015-12-10 200,00

Elementy modelu relacyjnego unikalność (UNIQUE) atrybut unikalny wartości nie powtarzają się; mogą mieć wartość NULL zawężenie dziedziny (CHECK) wartości przyjmowane przez atrybut są zawężone do zbioru lub przedziału na przykład: dzień tygodnia: poniedziałek, wtorek, środa, czwartek, piątek; temperatura <-100, +100> wartość pusta/niepusta (NULL/NOT NULL) 44

Zapamiętaj Jakie są zadania systemu baz danych Jakie są podstawowe elementy modelu relacyjnego

Ćwiczenia Jakie widzisz zalety stosowania modelu relacyjnego? Porównaj: Model relacyjny KLIENCI pesel imię nazwisko adres 75010106222 Tomasz Górski Poznań 78020806063 Karol Nowak Poznań 81120811163 Renata Kowal Poznań 88021816060 Joanna Malińska Kraków 80120811199 Maciej Zięba Kraków 90101022233 Aneta Romanowska Olkusz ZAMÓWIENIA idzam idkli Data_zam Data_realiz Wartosc 12345566 75010106222 2015-10-10 2015-10-12 920,00 10203040 80120811199 2015-10-10 2015-10-12 130,00 23242385 75010106222 2015-12-01 2015-12-10 200,00 Arkusz danych

Ćwiczenia c.d. Do relacji KLIENCI ZAMÓWIENIA dodaj tabelę PRODUKTY z informacją o zamówionym produkcie; zaproponuj klucz podstawowy tej relacji i ew. inne ograniczenia integralnościowe Jak połączyć ZAMOWIENIA z PRODUKTAMI?