Wprowadzenie do Informatyki. Bazy Danych. mgr inż. Michał Grygierzec mgry@agh.edu.pl. http://home.agh.edu.pl/~horzyk/lectures/pi/ahdydpiwykl10.



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

Przestrzenne bazy danych Podstawy języka SQL

Bazy danych. Dr inż. Paweł Kasprowski

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

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Systemy GIS Tworzenie zapytań w bazach danych

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

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

Projektowanie systemów baz danych

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Paweł Rajba

Oracle11g: Wprowadzenie do SQL

Baza danych. Baza danych to:

Bazy danych - wykład wstępny

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

Język SQL, zajęcia nr 1

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Język SQL podstawy zapytań

Model relacyjny bazy danych

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

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

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

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

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Wstęp do relacyjnych baz danych. Jan Bartoszek

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

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

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

Baza danych. Modele danych

Bazy danych i usługi sieciowe

Zalew danych skąd się biorą dane? są generowane przez banki, ubezpieczalnie, sieci handlowe, dane eksperymentalne, Web, tekst, e_handel

Data mininig i wielowymiarowa analiza danych zgromadzonych w systemach medycznych na potrzeby badań naukowych

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

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

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

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

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

Wprowadzenie do baz danych

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

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

Technologie baz danych

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

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

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

Podstawowe informacje o bazach danych. Technologie Informacyjne

1 Przygotował: mgr inż. Maciej Lasota

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

BAZY DANYCH. NIERELACYJNE BAZY DANYCH NoSQL I ASOCJACYJNE STRUKTURY DANYCH. Adrian Horzyk. Akademia Górniczo-Hutnicza

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

SIECI KOMPUTEROWE I BAZY DANYCH

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

1 Wstęp do modelu relacyjnego

OBSŁUGA PROGRAMU SWD ST W ZAKRESIE STATYSTYCZNYM st. kpt. mgr inż. Wiktor Gawroński

Przedmioty do wyboru oferowane na stacjonarnych studiach I stopnia (licencjackich) dla II roku w roku akademickim 2015/2016

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

dr inż. Olga Siedlecka-Lamch 14 listopada 2011 roku Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Eksploracja danych

Wprowadzenie do Hurtowni Danych

Relacyjne bazy danych. Podstawy SQL

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

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

Co to jest Baza Danych

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Tworzenie baz danych i tabel

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Bazy danych. Informatyczne systemy zarządzania

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

Technologia informacyjna

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2011/2012

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

SQL (ang. Structured Query Language)

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Relacyjne Systemy Baz Danych

Bazy danych 2. Wykład 1

Wykład :45 BD-1 W_3

Technologia informacyjna

SQL Structured Query Language

Wprowadzenie do języka SQL

Język SQL, zajęcia nr 2

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

Zależności funkcyjne c.d.

PRZEWODNIK PO PRZEDMIOCIE

Bazy Danych i Usługi Sieciowe

SIECI KOMPUTEROWE I BAZY DANYCH

Lab.8: Podstawy języka SQL.

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

Wprowadzenie do SQL Użycie kwerend i SQL

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

Transkrypt:

Wprowadzenie do Informatyki Bazy Danych mgr inż. Michał Grygierzec mgry@agh.edu.pl http://home.agh.edu.pl/~horzyk/lectures/pi/ahdydpiwykl10.html

WDI Bazy Danych Agenda: 1) Wstęp 2) Relacyjne bazy danych teoria 3) Relacyjne bazy danych praktyka 4) NoSQL 5) Eksploracja danych 6) AAI

Bazy Danych - Zastosowania Sektor finansowy Sektor publiczny Marketing Wojsko Ośrodki badawcze Telekomunikacja Social media...

Bazy Danych - definicja BAZA DANYCH: Kolekcja danych, istniejących przez długi czas. Zarządzana za pomocą systemu DBMS (ang. DataBase Management System)

Bazy Danych - wymagania

WDI Klasy dostępności... Typ systemu Czas niedostępności w roku Dostępność Klasa dostępności Unmanaged 50000 min 90% 1 Managed 5000 min 99% 2 Well Managed 500 min 99,9% 3 Fault Tolerant 50 min 99,99% 4 High-Availability 5 min 99,999% 5 Very-High- Availability 30 s 99,9999% 6 Ultra-Availability 3 s 99,99999% 7 Tab. 1 Klasy dostępności systemów informatycznych.

Bazy Danych opis Główne założenia i cechy: Złożone są z wielu powiązanych ze sobą tablic (relacji). Tablice są w postaci dwuwymiarowej (krotki x kolumny). Wszystkie wartości oparte są na prostych typach danych (int, float, text, datetime, money,...). Schemat relacji: R(A1,, An) Rekord (komponent relacji) Egzemplarz relacji (zestaw krotek) Operacje wykonywane są w oparciu o algebrę relacji. Język zapytań baz danych SQL Rys. 1 Relacja

Bazy Danych model relacyjny Model relacyjny: 1) Struktura danych 2) Operacje na danych (elementy manipulacyjne) 3) Więzy danych (integralność) place_no place_town place_country 1 Manchester England 2 Edinburgh Scotland 3 Salzburg Austria Tab. 2 Tabela dwuwymiarowa zbiór

Bazy Danych klucze Klucz: 1) Kandydujący taki zestaw atrybutów, że dwie krotki w egzemplarzu relacji nie mogą mieć tych samych wartości we wszystkich atrybutach klucza 2) Główny - Jeśli relacja (tabela) posiada jeden klucz kandydujący, to staje się on automatycznie kluczem głównym. W przeciwnym wypadku trzeba dokonać wyboru. 3) Obcy - Klucz obcy jest zbiorem atrybutów jednej relacji (tabeli) i wskazuje wartości klucza kandydującego innej lub tej samej relacji (tabeli). place_no place_town place_country 1 Manchester England 2 Edinburgh Scotland 3 Salzburg Austria Tab. 2 Tabela z kluczem głównym place_no.

Bazy Danych anomalie Anomalie: 1) Nadmiarowość (redundancja) 2) Anomalie aktualizacji 3) Anomalie usuwania tytuł rok długość gatunek nazwastudio nazwiskogwiazdy Gwiezdne wojny 1977 124 SF Fox Carrie Fisher Gwiezdne wojny 1977 124 SF Fox Mark Hamill Gwiezdne wojny 1977 124 SF Fox Harrison Ford Tab. 2 Tabela zawierająca anomalie.

Bazy Danych normalizacja Normalizacja: Pozwala uniknąć anomalii Dekomponuje tabelę na pomniejsze relacje Może przyczynić się do pogorszenia wydajności dla bardzo złożonych danych tytuł rok nazwiskogwiazdy Gwiezdne wojny 1977 Carrie Fisher Gwiezdne wojny 1977 Mark Hamill Gwiezdne wojny 1977 Harrison Ford tytuł rok długość gatunek nazwastudio Gwiezdne wojny 1977 124 SF Fox Tab. 2 Tabele po dekompozycji

Bazy Danych - SQL SQL (ang. Structured Query Language) to deklaratywny, strukturalny język zapytań. Sposób pobierania i przechowywania danych wybierany jest przez DBMS. Podzbiory zapytań: SQL DML (ang. Data Manipulation Language język manipulacji danymi ), SQL DDL (ang. Data Definition Language język definicji danych ), SQL DCL (ang. Data Control Language język kontroli nad danymi ), SQL DQL (ang. Data Query Language język definiowania zapytań ).

Bazy Danych SQL - DML SQL DML przeznaczony do manipulacji danymi. Najważniejsze polecenia: INSERT umieszcza dane w tabeli UPDATE zmienia dane w tabeli DELETE usuwa dane z tabeli

Bazy Danych SQL - DDL SQL DDL umożliwia operowanie na strukturach bazy danych (bazy, tabele, indeksy, kolumny). Najważniejsze polecenia: CREATE tworzy odpowiednie struktury DROP usuwa odpowiednie struktury ALTER zmienia odpowiednie struktury

Bazy Danych SQL - DCL SQL DCL zarządzanie uprawnieniami w bazie danych. Najważniejsze polecenia: GRANT nadawanie uprawnień REVOKE odbieranie (usuwanie) uprawnień DENY zabranianie dostępu

Bazy Danych SQL - DQL SQL DQL odpytywanie bazy danych. Najważniejsze słowa kluczowe: SELECT (DISTINCT) FROM WHERE ORDER BY GROUP BY HAVING AVG, MIN, MAX, COUNT, SUM

WDI NOSQL NOSQL (ang. Not Only SQL) bazy nie relacyjne (nie operują na tabelach). Alternatywa dla baz relacyjnych Różne modele danych (key-value, graph, documents,...) Wykorzystywane w problemach BigData i nowoczesnych aplikacjach webowych Popularne ze względu na łatwość projektowania, użytkowania, skalowalność horyzontalną, lepszą kontrolę nad dostępnością

WDI Eksploracja Danych Eksploracja danych (ang. data mining) - to metodologia przeszukiwania danych (zwykle baz danych) w celu wydobycia wiedzy (czyli odpowiednio powiązanych ze sobą informacji) z eksplorowanego zbioru danych. Wobec tego eksploracja danych jest interdyscyplinarną dziedziną łączącą techniki uczenia maszynowego, rozpoznawania i klasyfikacji wzorców, statystyki, baz danych, sztucznej inteligencji oraz wizualizacji w celu uzyskania informacji z dużych baz danych.

WDI Eksploracja Danych W danych mogą występować tzw. punkty (obserwacje) oddalone (ang. outliers) zwane też czasami artefaktami danych (ang. artefacts) - które są pewnymi skrajnymi wartościami znajdującymi się blisko granic zakresu danych i występują w dużym oddaleniu od pozostałych danych lub są sprzeczne z ogólnym trendem pozostałych danych.

WDI Zadania eksploracji danych I Opis - znalezienie metod opisu wzorców i trendów, jakie występują w danych, celem ich wyjaśnienia i zwiększenia przejrzystości. Klasyfikacja - to proces przyporządkowania obiektów do klas bazując na cechach obiektów obserwacji. W klasyfikacji istnieje pewna jakościowa zmienna celu, która decyduje o przyporządkowaniu obiektu. Zwykle obiekty pewnej klasy mają pewną ilość cech podobnych i to decyduje o sklasyfikowaniu - poprawnym przyporządkowaniu obiektu do klasy. Algorytm klasyfikujący może też uczyć się takiego przyporządkowania na podstawie pewnego zbioru uczącego poprawnych przyporządkowań. Grupowanie (klasteryzacja, ang. clustering) - oznacza grupowanie obiektów (rekordów, obserwacji) w klasy podobnych obiektów, które łączy pewna ilość wspólnych lub podobnych cech. Grupowanie od klasyfikacji różni się tym, że w przypadku grupowania nie ma określonej zmiennej celu, nie ma też podanego żadnego zbioru uczącego, wg którego takie grupowanie miałoby się odbywać. W procesie grupowania zasadnicze znaczenie odgrywa relacja podobieństwa stosowana do różnych cech lub ich kombinacji, która zwykle decyduje o sposobie pogrupowania obiektów. W bardziej zaawansowanych procesach grupowania mogą zostać wykorzystane również inne relacje grupujące.

WDI Zadania eksploracji danych II Szacowanie (estymacja) - to zagadnienie podobne do klasyfikacji za wyjątkiem zmiennej celu, która jest numeryczna, a nie jakościowa. Modele są budowane za pomocą "pełnych rekordów" zawierających wartości zarówno zmiennej celu jak i zmiennych estymacji. Następnie dla nowych obserwacji, szacuje się wartość zmiennej celu, opierając się na wartościach opisujących. Przewidywanie (predykcja) - to zagadnienie podobne do klasyfikacji i szacowania za wyjątkiem faktu, iż w przewidywaniu wynik dotyczy przyszłości. Odkrywanie reguł (ang. association rules) - polega na szukaniu, które atrybuty "są powiązane ze sobą" najczęściej na podstawie analizy podobieństw (ang. affinity analysis). Odkrywanie reguł może też przybierać postać różnych reguł asocjacji danych, które mogą być nie tylko relacjami podobieństwa, ale również antagonizmu, zawierania, dopełnienia, następstwa, sąsiedztwa itp.

Wstępne przetwarzanie danych Zmienne (dane) mają na ogół bardzo różne zakresy, więc może istnieć pewna trudność w ich porównywaniu czy dokonywaniu obliczeń na nich tak, żeby pewne dane nie zdominowały tego procesu. Dlatego dane bardzo często są najpierw normalizowane lub standaryzowane przed dokonaniem na nich obliczeń: Normalizacja min-max (ang. min-max normalization) określa jak bardzo wartość pola jest większa od wartości minimalnej i skalowanej na zakres zmienności danych: X* = [X - min(x)] / [max(x) - min(x)] Standaryzacja (ang. Z-score standardization) polega na obliczeniu różnicy pomiędzy daną wartością pola i średnią wartością pola oraz przeskalowaniu tej różnicy przez odchylenie standardowe wartości pól: X* = [X - średnie(x)] / odchylenie_standardowe(x)

AAI AAI (ang. Associative Artifficial Intelligence) AGDS - (ang. Associative Graph Data Structures) asocjacyjne grafowe struktury danych Ciekawa alternatywa dla relacyjnych baz danych Efektywna eksploracja danych

Relational DB AGDS Rys. 2 Transformacja relacyjnej bazy danych do postaci AGDS.

Bibliografia - literatura Jeffrey D. Ullman, Jennifer Widom: Podstawowy kurs systemów baz danych, Helion, Gliwice, 2011 Thomas Connolly, Carolyn Begg: Systemy baz danych, tom 1 i 2, Wydawnictwo RM, Warszawa, 2004 Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom: Systemy baz danych. Pełny wykład, WNT, Warszawa, 2006 Chris J. Date: Relacyjne bazy danych dla praktyków, Wydawnictwo Helion, Gliwice, 2006 Joe Celko: SQL zaawansowane techniki programowania, Wydawnictwo Naukowe PWN, Warszawa, 2008 D. T. Larose, Odkrywanie wiedzy z danych. Wprowadzenie do eksploracji danych, PWN, 2006 Data Mining K. J. Cios, W. Pedrycz, R. W. Swiniarski, L. A. Kurgan, A Knowledge Discovery Approach, Springer, 2007 Wikipedia - internetowa wolna encyklopedia

Bibliografia - odnośniki Wikipedia - internetowa wolna encyklopedia https://class.stanford.edu/courses/db/2014/selfpaced/about - solidne podstawy, ciekawe zadania http://sqlzoo.net - tutoriale, zadania http://db-engines.com/en/ - przegląd systemów baz danych (nie tylko SQL!): Oracle, SQL Server, PostgreSQL, MongoDB, CouchDB, ArangoDB, Cassandra, Riak, Titan, http://msdn.microsoft.com/en-us/library/ms143432.aspx - ograniczenia (rozmiar bazy, liczba kolumn, itp.) https://www.coursera.org/ https://www.edx.org/ http://ocw.mit.edu/index.htm https://www.codeschool.com/ - technologie webowe

Dziękuję za uwagę! mgry@agh.edu.pl

Źródła zewnętrzne: Tab. 1: https://pl.wikipedia.org/wiki/dost%c4%99pno %C5%9B%C4%87_%28niezawodno%C5%9B %C4%87%29 Rys. 1: https://pl.wikipedia.org/wiki/model_relacyjny# mediaviewer/file:relational_model_concepts_pl. png