Bazy danych Wprowadzenie Wykład dla IV i V roku matematyki



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

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

Alicja Marszałek Różne rodzaje baz danych

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

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

Hurtownie danych wykład 5

Systemy GIS Systemy baz danych

Wykład I. Wprowadzenie do baz danych

Bazy danych 2. Wykład 1

Bazy danych - wykład wstępny

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

2017/2018 WGGiOS AGH. LibreOffice Base

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

Bazy danych i usługi sieciowe

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

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

WPROWADZENIE DO BAZ DANYCH

Adam Cankudis IFP UAM

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.

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

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

Bazy danych 12. Bazy NoSQL. P. F. Góra

Czym jest baza danych?

Baza danych. Modele danych

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

Więzy integralności referencyjnej i klucze obce. PYTANIE NA EGZAMIN LICENCJACKI

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

Wprowadzenie do Hurtowni Danych

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

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

Tworzenie aplikacji bazodanowych

Specjalizacja magisterska Bazy danych

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

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

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

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

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

Wykład 2. Relacyjny model danych

Bazy danych. Andrzej Łachwa, UJ, /15

Technologia informacyjna

SZKOLENIE: Administrator baz danych. Cel szkolenia

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

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

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

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

Model semistrukturalny

Oracle11g: Wprowadzenie do SQL

Pojęcie bazy danych funkcje i możliwości

Bazy danych. Andrzej Łachwa, UJ, /15

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

1 Wstęp do modelu relacyjnego

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

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

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

Podstawowy Wykład z Systemów Baz Danych

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

Baza danych. Baza danych to:

Administracja bazami danych

Podstawy Systemów Zarządzania Baz Danych

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Projektowanie Systemów Informacyjnych

Tworzenie aplikacji bazodanowych

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

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

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

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

Projektowanie systemów baz danych

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1

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

Bazy danych 6. Klucze obce. P. F. Góra

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

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

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski

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

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

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

Dr Michał Tanaś(

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

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

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

Systemy GIS Tworzenie zapytań w bazach danych

Nowe technologie baz danych

INTERNETOWY KURS PODSTAW IT

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

ROZWIĄZANIA PODSTAWOWYCH IDEI BAZ DANYCH TYPU NOSQL W KONTEKŚCIE BEZPIECZEŃSTWA DANYCH

Technologia informacyjna

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

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Relacyjne bazy danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Spis treści. Przedmowa

Hbase, Hive i BigSQL

Wykład 4. SQL praca z tabelami 1

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

Bazy danych Wprowadzenie Wykład dla IV i V roku matematyki 28 lutego 2016

Literatura Podstawowy wykład z systemów baz danych, J.D.Ullman, J.Widom, wyd. WNT Systemy baz danych. Pełny wykład, H.Garcia-Molina, J.D.Ullman, J.Widom, wyd. WNT

Systemy informacyjne Komputery obecnie służa przede wszystkim do przechowywania informacji i zarzadzania nia, a nie do szybkich obliczeń numerycznych. Duże projekty informatyczne używajace baz danych to często najbardziej złożone przedsięwzięcia podejmowane przez firmy. Przykład: systemy informowania kierownictwa (MIS) moga obejmować: dane finansowe firmy; wyniki badań rynku, materiały marketingowe; informacje o aktualnych i potencjalnych klientach.

Zastosowania baz danych Tradycyjne zastosowania: Obsługa wpłat i wypłat w banku. Rezerwacja biletów lotniczych. Przegladanie katalogu bibliotek UW w internecie. Zakupy w supermarkecie. Kartoteki pracowników (kadry i płace). Księgowość

Zastosowania baz danych Obecnie coraz więcej innych zastosowań z zupełnie nowymi problemami: Multimedialne bazy danych: obrazy, muzyka, filmy. Geograficzne systemy informacyjne (Geographic Information Systems GIS). Systemy analizy danych (Online Analytical Processing OLAP) wykorzystujace hurtownie danych. Poszukiwanie prawidłowości w danych (Data mining). Naukowe i medyczne bazy danych Wyszukiwarki informacji: Google, Amazon itp.

Zastosowania baz danych Bazy danych charakteryzuja się przy tym pewna specyfika: Ograniczone języki programowania (jedyna dziedzina, gdzie używa się w praktyce języków programowania o mocy słabszej niż maszyna Turinga) Ale za to specyficzne problemy zwiazane z optymalizacja wykonania zapytań dla wielkich zbiorów danych; synchronizacja wielu transakcji wykonywanych równocześnie

Model danych Matematyczne reprezentacja danych pozwalajaca opisywać ich własności w sposób ścisły, przykłady: relacje (odpowiadajace tabelom) w modelu relacyjnym drzewa lub grafy w modelach semistrukturalnych Operacje na danych Ograniczenia (więzy) zapewniajace poprawność

Przykład relacji (tabeli) Narty model producent Cool Minx Atomic Jewel Cristal Salomon

Schemat Schemat relacji = nazwa relacji i lista atrybutów Dodatkowo można podać typy atrybutów Przykłady: Narty(model, producent) Narty(model:string, producent:string) Schemat bazy danych = schematy wszystkich relacji zawartych w bazie danych Baza danych = kolekcja relacji

Zalety relacji Bardzo prosty model Często intuicyjnie (zwłaszcza wśród biurokratów ;-) pasuje do danych Znane własności matematyczne Stanowi podstawę języka SQL

Większy przykład Narty(model, producent) Wypożyczalnie(nazwa, adres, telefon) Narciarze(nazwisko, adres, telefon) Lubi(narciarz, narty) Wypożycza(wypożyczalnia, narty, cena) Korzysta(narciarz, wypożyczalnia) Podkreśleniem zaznaczamy klucz: atrybut(y) taki, że w żadnych dwóch krotkach tabeli nie może mieć takiej samej wartości Klucz to przykład ograniczenia (więzów).

Realizacja: pliki System plików Unixa czy Macintosha to bardzo prymitywny rodzaj bazy danych Dane przechowuje się w nazwanych kawałkach (plikach), nie posiadajacych żadnej wewnętrznej struktury. Zalety: prostota zarzadzania (po prostu jest fragmentem systemu operacyjnego), wystarczy od czasu do czasu zachować kopię archiwalna na CD.

Wady plików Załóżmy, że tabelę Narciarze zapisaliśmy w osobnym pliku, każdy wiersz w osobnej linii, rozdzielajac pola na przykład znakiem pionowej kreski ( ). Pierwszy kłopot to modyfikacje Jeśli próbujemy zmienić adres jednego z narciarzy, a nowy adres jest dłuższy niż stary, to zamażemy (być może częściowo) jego telefon. A jeżeli jest dużo dłuższy, to może i następny wiersz. Wniosek: trzeba zapamiętać cała resztę pliku i zapisać na nowo. Jeśli nowy adres będzie krótszy niż stary, to z kolei powstanie dziura.

Wady plików Co się jednak stanie, gdy dwie osoby równocześnie spróbuja wykonać taka operację? Każda z nich zapamięta dotychczasowa resztę pliku, a następnie obie zaczna wpisywać nowa wartość. Być może obie zmiany wykonaja się poprawnie. A być może jedna z nich zostanie utracona. Najgorzej będzie, gdy wpisywane zmiany zostana przemieszane tak, że żadna z nich nie będzie poprawna.

Wady plików Potrzebujemy więc jakiegoś mechanizmu synchronizacji. Najprościej byłoby użyć blokad: Ten kto pierwszy zaczał modyfikować rezerwuje cały plik tylko dla siebie. Pozostali musza czekać aż skończy. Jest to świetne rozwiazanie, gdy współbieżność jest niewielka (a najlepiej, gdy wcale jej nie ma ;-) Słabo sprawdza się jednak w przypadku systemu rezerwacji biletów lotniczych, gdy kilkadziesiat żadań napływa równocześnie.

Zalety realizacji w bazie danych Skorzystanie ze specjalizowanego systemu zarzadzania bazami danych (ang. DBMS od Data Base Management System) ma szereg zalet: Abstrakcja od szczegółów fizycznej implementacji, niezależność programów od danych, zwłaszcza od sposobu ich przechowywania. Komunikacja na poziomie modelu danych relacji, z użyciem specjalizowanego języka dostępu do danych: najczęściej SQL. Opis struktury bazy danych (schemat) także przechowywany w bazie: relacje katalogowe słownik bazy danych Zawarte w katalogu informacje opisujace strukturę bazy danych nazywa się metadanymi

System zarzadzania bazami danych Dlatego potrzebujemy wyspecjalizowanego narzędzia: systemu zarzadzania bazami danych (DBMS, od Data Base Management System). W takim systemie baza danych zorganizowana jest inaczej, tak aby ułatwić modyfikacje i współbieżna pracę. Do przyśpieszenia wyszukiwania można tworzyć indeksy. Do synchronizacji zadań wielu użytkowników używa się mechanizmu transakcji.

SQL Specjalizowany język programowania z konstrukcjami zarówno do definiowania schematu danych, jak i do operowania na zawartości bazy. Definiowanie tabeli CREATE TABLE Narty ( model VARCHAR(20) PRIMARY KEY, producent VARCHAR(20) ); Usuwanie definicji tabeli DROP TABLE Narty;

Transakcje ACID Operacje na bazie danych powinny być wykonywane wewnatrz transakcji o następujacych własnościach: Atomicity czyli niepodzielność: transakcja ma być wykonana w całości albo wcale. Consistency czyli spójność: transakcja przeprowadza bazę danych z legalnego stanu w (być może inny) legalny stan. Isolation czyli izolacja: gdy dwie transakcje sa przeprowadzane jednocześnie, ich działania nie moga na siebie wpływać. Durabilityczyli trwałość: jeśli transakcja zakończy się pomyślnie, to jej wyniki nie moga zostać utracone z powodu awarii systemu.

Role (aktorzy) Administratorzy baz danych (DataBase Administrators DBA) Projektanci baz danych Użytkownicy doraźni zaawansowani Programiści Analitycy systemów (często nazywani administratorami danych).

Korzyści Niezależność danych, kontrola nadmiarowości ( redundancji ) Wydajny dostęp do danych Poufność, ograniczanie niepowołanego dostępu Współbieżny dostęp Trwała pamięć dla obiektów i struktur danych programów Wdrażanie więzów integralności Archiwizacja i odtwarzanie po awariach Automatyczne uruchamianie akcji wywoływane zmiana zawartości bazy

NoSQL = Not only SQL NoSQL = Not only SQL czyli Nie samym SQLem... RBD i SQL to nie magiczne różdżki rozwiazuj ace każdy problem to tylko narzędzia, które nie zawsze pasuja do rozwiazywanego problemu. Relacyjny model danych przewidziano od obsługi danych strukturalnych, o predefiniowanym, kompletnym schemacie (w postaci tabel wierszy). Wiele z danych używanych obecnie nie pasuje (z różnych powodów) do przyjętych założeń, zwłaszcza ze względu na brak sztywnej struktury. Swoja popularność relacyjne bazy danych zawdzięczaja uniwersalności. Zapytania sa elastyczne nie trzeba szczegółowo planować specjalnej struktury bazy danych zależnie od konkretnej aplikacji.

NoSQL Model kolumnowy: Każda kolumnę tabeli przechowujemy osobno. Bazy danych z tej rodzina obsługuja olbrzymie ilości danych. Przykłady: Google Big Table, Apache Cassandra, HBase.

NoSQL Pamięci klucz-wartość: Dane przechowywane sa w postaci odzworowań reprezentowanych parami klucz-wartość. Taka forma bazy danych bardzo dobrze pasuje do aplikacji z szybko zmieniajacymi się danymi, jak notowania giełdowe. Przykłady: Amazon Dynamo, Riak, Redis.

NoSQL Bazy dokumentów: Termin o szerokim znaczeniu. Baza dokumentów zawiera kolekcje par klucz-wartość umieszczone wewnatrz dokumentów. Jak wskazuje nazwa, dobra do gromadzenia i udostępniania dokumentów, brak nacisku na transakcje i trwałość podczas modyfikacji. Przykłady: MongoDB, CouchDB.

NoSQL Grafowe bazy danych: Zawieraja wierzchołki i powiazania między wierzchołkami. Wierzchołki moga dodatkowo zawierać własności klucz-wartość. Zwykle brak schematu, budowana ad-hoc, dobra do danych o zmiennej postaci. Dostęp do informacji przez przechodzenie grafu. Zapytanie ma postać opisu przejścia nawigacji od wierzchołków poczatkowych poprzez powiazane wierzchołki zgodnie z odpowiednim algorithmem. Przykłady: Neo4j, AllegroGraph.