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

Podobne dokumenty
Oracle PL/SQL. Paweł Rajba.

Post-relacyjne bazy danych

PRZEWODNIK PO PRZEDMIOCIE

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

15. Funkcje i procedury składowane PL/SQL

SZKOLENIE: Administrator baz danych. Cel szkolenia

Model semistrukturalny

PODSTAWY BAZ DANYCH. 17. Obiektowość w Oracle. 2009/2010 Notatki do wykładu "Podstawy baz danych"

Paweł Kurzawa, Delfina Kongo

Obiektowe bazy danych

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

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

Monika Kruk Mariusz Grabowski. Informatyka Stosowana WFiIS, AGH 13 grudzień 2006

Język SQL, zajęcia nr 1

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Bazy danych i usługi sieciowe

Spis treści. Przedmowa

Projektowanie struktury danych

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

Projektowanie warstwy danych

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Programowanie w Ruby

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Oracle11g: Wprowadzenie do SQL

Obiektowe bazy danych

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

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

Baza danych. Baza danych to:

PODSTAWY BAZ DANYCH 13. PL/SQL

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

PRZEWODNIK PO PRZEDMIOCIE

Bazy danych. Dr inż. Paweł Kasprowski

Przestrzenne bazy danych. Definicja i cechy przestrzennych baz danych

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

Technologia informacyjna

Systemowe aspekty baz

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Programowanie obiektowe

Pakiety podprogramów Dynamiczny SQL

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

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

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

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

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

Bazy danych - wykład wstępny

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

Programowanie obiektowe

WPROWADZENIE DO BAZ DANYCH

Hurtownie danych wykład 5

Wykład 8. SQL praca z tabelami 5

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Procedury i funkcje składowane

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

Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych

Projektowanie systemów baz danych

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

Database Connectivity

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

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

PL/SQL. Zaawansowane tematy PL/SQL

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

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

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

Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

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

Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie.

Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu

Plan wykładu BAZY DANYCH II WYKŁAD 9. Dynamiczny SQL. Dynamiczny SQL

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Imię i Nazwisko Data Ocena. Laboratorium 7

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Microsoft SQL Server Podstawy T-SQL

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

NARZĘDZIA WIZUALIZACJI

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Nowe technologie baz danych

Kowalski Marcin Wrocław, dn Jaśkiewicz Kamil Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Struktura drzewa w MySQL. Michał Tyszczenko

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Relacyjne bazy danych. Podstawy SQL

Oracle11g: Programowanie w PL/SQL

Wykład 5. SQL praca z tabelami 2

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

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

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

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

Obiektowe bazy danych

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

Autor: Joanna Karwowska

Transkrypt:

Bazy Danych i Systemy informacyjne Wykład 14 Piotr Syga 18.01.2019

Motywacja Ograniczenia relacyjnych baz danych proste typu i struktury klucze (w tym sztuczne) relacje między tabelami uwzględniane w triggerach problem z modelowaniem dziedziczenia przenoszenie funkcjonalności poza bazę danych

Motywacja Dlaczego obiektowość? rozwój obiektowych języków programowania hierarchiczna struktura danych rozszerzalność modelu zarządzanie widocznością danych przejście z modelu abstrakcyjnego do fizycznej implementacji

OODB Historia Object Database Management Group Java Data Objects obiektowo relacyjny SQL3 (99/03/06/08/11/16)

OODB Przykład obiektu CREATE TYP Student as OBJECT( imie String, nazwisko String, indeks Integer, member procedure zapisz(przedmiot String), member procedure ocen(przedmiot String, ocena Integer), member function konczsemestr return Integer ); CREATE TABLE Grupa OF Student; INSERT INTO Grupa VALUES (new Student( Jan, Kowalski, 1 )); CREATE TABLE Kurs OF Grupa;

OODB Przykład obiektu CREATE TYP Student as OBJECT( imie String, nazwisko String, indeks Integer, member procedure zapisz(przedmiot String), member procedure ocen(przedmiot String, ocena Integer), member function konczsemestr return Integer ); CREATE TABLE Grupa OF Student; INSERT INTO Grupa VALUES (new Student( Jan, Kowalski, 1 )); CREATE TABLE Kurs OF Grupa; Możliwe użycie utworzonego typu jako pole w nowym typie odwołania kropkowe.

OODB OODB vs OOPL obiekty tworzone autonomicznie obiekty nie są usuwane wraz z czyszczeniem zmiennych związki między obiektami definiowane w klasie obiekty tej samej klasy tymczasowe i trwałe, ich typ można zmieniać (persistance manager)

OODB OODB v RDB struktura zdefiniowana przez metody klas rozdzielenie opisu struktury od zbioru danych (rozszerzenia) typy abstrakcyjne typy użytkownika są równoprawne z systemowymi polimorfizm możliwość odwołania przez adres lub OID

OODB Wady brak uniwersalnego modelu danych brak teoretycznych podstaw pod modele danych brak powszechnie akceptowalnego standardu (także języka zapytań) problem z grantami enkapsulacja vs optymalizacja problematyczne locki (np. do backupu) brak widoków

OODB Zalety rozbudowane typy danych brak konwersji danych hierarchia typów obsługa dużych obiektów i długich transakcji ponowne użycie kodu ułatwione modelowanie

Obiektowość w RDB Cechy wykraczające poza relacyjność Podstawowe funkcjonalności: kursory set obsługa JSON/XML/.. funkcje specyficzne dla dialektów Funkcjonalności implementowane przez niektóre dialekty (głównie Oracle): obiekty wierszy (row type) ADT domeny

Obiektowość w RDB Rowtype, ADT, Domains Typ wierszowy Typ służący do pobierania wybranych atrybutów z wiersza tworząc typy złożone, czy do pobierania wiersza z kursora. CREATE ROW TYPE nazwa( kol1 typ1,... ); Typy abstrakcyjne Mają strukturę krotek oraz dodatkowe metody. Zawsze występują trzy domyślne metody: Constructor domyślny inicjalizuje wszystkie kolumny nullem, Observer pozwala na dostęp do kolumn x.k1 (lub k1(x)), Mutator pozwala na modyfikację wartości kolumny. Często używane do zarządzania plikami. Domeny Pozwalają tworzyć podtypy (pod względem długości i ograniczeń) istniejących typów.

Struktura kolokwium Test wielokrotnego wyboru: 3 5 pytań Zadania otwarte, zależnie od czasochłonności: 3 lub 4 zadania, np.: krótkie polecenie SQL (trigger, użytkownik, tabela,... ), MongoDB lub opis (np. projektowanie, 2PC, NoSQL lub SQL injection) zapytanie SQL+AR normalizacja znajomość notacji w modelowaniu wyliczenie czasu odpowiedzi

Zakres materiału SQL zapytania (cf. niżej punktowane zadanie z ćwiczeń), również algebra relacji tworzenie baz danych, użytkowników, tabel, widoków, triggerów i procedur transakcje prepared statements znajomość cursorów, indexów (w tym ich typów i cech)

Zakres materiału Bezpieczeństwo SQL injection (idea, środki ochrony, przykładowy atak) znajomość pojęcia prywatności różnicowej (idea, jak się ją zapewnia, dlaczego zaburzanie danych się sprawdza, znajomość pojęcia mechanizmu Laplace a)

Zakres materiału Schematy relacji i normalizacja pojęcia klucza, domknięcia (atrybutu i zbioru), definicje postaci normalnych (1NF, 2NF, 3NF, BCNF) znajomość konsekwencji definicji: np. wszystkie atrybuty są kluczowe, wszystkie klucze min. są jednoatrybutowe,... podział relacji identyfikacja postaci normalnej na podstawie schematu lub ustalonej notacji tabeli

Zakres materiału Projektowanie baz etapy projektowania znajomość notacji (w szczególności zależności między encjami, krotności) czytanie schematu na podstawie notacji (później opis, normalizacja, tworzenie,... ) podstawy łączenia baz z frontendem

Zakres materiału Organizacja pamięci i optymalizacja pojęcia: plik uporządkowany, nieuporządkowany, haszowy (cechy, zalety, wady), overflow file wyliczenie czasu odpowiedzi idea i etapy optymalizacji, idea ACG i heurystyki przy tworzeniu drzewa

Zakres materiału Rozproszone bazy danych relacyjne bazy w środowisku rozproszonym (w szczególności replikacja i duplikacja, podział wertykalny i horyzontalny) idea za regułami Date a zapytania w rozproszonych RBD, transakcje (w szczególności 2PC) nierelacyjne bazy danych (zalety, wady, idea CAP i BASE), przykłady działania na podstawie MongoDB

Przykład szacowania czasu SELECT Parametry: 7200 RPM, 80MB/s, rozm. bloku 4KB Schemat bazy: 9x int, varchar(29), date, varchar(30); rozmiar w B: 36 + 30 + 3 + 31 = 100 Liczba rekordów: 150 000 BF = 4000 100 = 40 rekordów w bloku, zatem 150000 40 = 3750 zajętych bloków Oczekiwanie: 7200 RPM = 120 RPS 8.(3)ms/r, zatem oczekiwanie około 4ms 4000B Czas odczytu bloku: 80000000B/s = 0.05ms Czas odczytu wszystkich bloków: 3750 0.05 187.5ms