Plan rozdziału. Architektura systemu baz danych. Schemat i instancja. Model danych



Podobne dokumenty
Bazy danych i usługi sieciowe

Bazy danych 2. Wykład 1

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

15. Funkcje i procedury składowane PL/SQL

Oracle11g: Wprowadzenie do SQL

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

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

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

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

Bazy Danych i Usługi Sieciowe

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

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

Przykładowa baza danych BIBLIOTEKA

Projektowanie systemów baz danych

Wykład :45 BD-1 W_3

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

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

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

Bazy danych i usługi sieciowe

Składowane procedury i funkcje

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

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

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga

Język SQL. Rozdział 2. Proste zapytania

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Programowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

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

Procedury i funkcje składowane

Przestrzenne bazy danych Podstawy języka SQL

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

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

Podstawowe informacje o bazach danych. Technologie Informacyjne

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Post-relacyjne bazy danych

Wykład I. Wprowadzenie do baz danych

Paweł Rajba

Język PL/SQL Procedury i funkcje składowane

Systemy GIS Tworzenie zapytań w bazach danych

Język SQL podstawy zapytań

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

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

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

Pakiety podprogramów Dynamiczny 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. Dr inż. Paweł Kasprowski

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

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

Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL

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

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

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

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

Ćwiczenia 2 IBM DB2 Data Studio

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

SZKOLENIE: Administrator baz danych. Cel szkolenia

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Język SQL, zajęcia nr 1

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

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

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

Cele. Definiowanie wyzwalaczy

Co to jest Baza Danych

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

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

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

Język SQL. Rozdział 8. Język manipulowania danymi DML

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

Bloki anonimowe w PL/SQL

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

Relacyjne bazy danych. Podstawy SQL

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

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

Podstawy Systemów Zarządzania Baz Danych

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

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

Systemowe aspekty baz

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Bazy danych i ich aplikacje

PODSTAWY BAZ DANYCH 13. PL/SQL

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

PL/SQL. Lidia Małkiewicz i Cezary Skubała

Widok Connections po utworzeniu połączenia. Obszar roboczy

Wprowadzenie do języka SQL

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

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

Systemy GIS Systemy baz danych

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

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

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

BAZA DANYCH SIECI HOTELI

Transkrypt:

1 Plan rozdziału 2 Architektura systemu baz danych Modele danych, schematy i instancje Architektura ANSI/SPARC systemu baz danych Języki i interfejsy bazy danych Środowisko systemu baz danych Klasyfikacja systemów zarządzania bazą danych Model danych 3 Schemat i instancja 4 Definicja Model danych to zbiór pojęć używanych do opisu struktury bazy danych. Na model danych składają się: typy danych, związki między danymi, ograniczenia operacje definiowania, wyszukiwania i uaktualniania bazy danych aspekt behawioralny danych Schemat bazy danych to opis struktury bazy danych definiowany w trakcie tworzenia bazy danych za pomocą konstruktów, rzadko podlega zmianom, wyświetlany najczęściej w postaci diagramów. Studenci Przedmioty Nazwisko Indeks Kierunek PrzNumer PrzNazwa PKr Wydział Kategorie modeli danych modele koncepcyjne (wysokiego poziomu) modele reprezentacyjne (implementacyjne) modele fizyczne (niskiego poziomu) Wykłady Oceny WNumer PrzNumer Semestr Rok Wykładowca Indeks WNumer Ocena Instancja bazy danych (stan bazy danych) to obraz danych w określonym punkcie w czasie każda modyfikacja danych tworzy nowy stan bazy danych, SZBD gwarantuje, że każdy stan bazy danych jest spójny ze schematem i poprawny (spełnia wszystkie ograniczenia).

Architektura ANSI/SPARC (1/2) 5 Architektura ANSI/SPARC (2/2) 6 widok zewnętrzny odwzorowanie widok zewnętrzny schemat koncepcyjny schemat wewnętrzny poziom zewnętrzny widok zewnętrzny poziom koncepcyjny poziom wewnętrzny Poziom wewnętrzny schemat wewnętrzny opisuje fizyczną organizację bazy danych, schemat wewnętrzny stosuje fizyczny model danych i opisuje ścieżki dostępu do danych oraz fizyczną organizację danych Poziom koncepcyjny (pojęciowy) schemat koncepcyjny opisuje strukturę bazy danych z punktu widzenia globalnego użytkownika, opisuje encje, związki między encjami, atrybuty i ograniczenia Poziom zewnętrzny schemat zewnętrzny opisuje strukturę bazy danych z punktu widzenia wybranej grupy użytkowników DB DB DB baza danych Przykład architektury trójpoziomowej 7 Korzyści architektury trzypoziomowej 8 emp# dept# age salary emp# fname lname emp# dept# fname lname dob salary Własności wynikające z trzypoziomowej architektury systemów baz danych obejmują: niezależność aplikacji i danych, abstrakcyjną reprezentację danych, różnorodność sposobów widzenia danych, logiczną niezależność danych struct Employee { int emp#; int dept#; char fname[15]; char lname[30]; struct date dob; float salary; struct Employee *boss; }; index emp#; logiczna niezależność danych to możliwość zmiany schematu pojęciowego bez konieczności zmiany schematu zewnętrznego lub zmiany aplikacji fizyczną niezależność danych. fizyczna niezależność danych to możliwość zmiany schematu wewnętrznego bez konieczności zmiany schematów pojęciowego i zewnętrznego

Języki bazy danych (1/2) 9 Języki bazy danych (2/2) 10 Storage Definition Language (SDL) służy do definiowania schematu wewnętrznego Data Definition Language (DDL) służy do definiowania schematu pojęciowego (i wewnętrznego) CREATE TABLE countries ( country_id CHAR(2) CONSTRAINT country_pk PRIMARY KEY, country_name VARCHAR2(40) NOT NULL, region VARCHAR2(15) ) ORGANIZATION INDEX INCLUDING country_name PCTTHRESHOLD 10 STORAGE ( INITIAL 4K NEXT 2K PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS 10 ) OVERFLOW STORAGE ( INITIAL 4K NEXT 2K PCTINCREASE 50 MINEXTENTS 1 MAXEXTENTS 10 ); View Definition Language (VDL) służy do definiowania widoków zewnętrznych i ich odwzorowania na model pojęciowy, bardzo rzadko implementowany Data Manipulation Language (DML) służy do odczytywania, wstawiania, modyfikowania i usuwania danych SELECT nazwa, AVG(placa_pod), SUBSTR(adres,1,10) AS adres FROM zespoly FULL OUTER JOIN pracownicy USING (id_zesp) GROUP BY nazwa HAVING COUNT(*) > 5; UPDATE pracownicy p SET placa_pod = ( SELECT AVG(placa_pod) FROM pracownicy a WHERE a.etat = p.etat ) WHERE id_szefa IN ( SELECT id_prac FROM pracownicy WHERE etat = 'PROFESOR' ); Rodzaje języka DML (1/2) 11 Rodzaje języka DML (2/2) 12 Nieproceduralny język DML (język DML wysokiego poziomu) wprowadzany bezpośrednio z konsoli Proceduralny język DML (język DML niskiego poziomu) zanurzony w języku ogólnego przeznaczenia query language host language set-at-a-time record-at-a-time private static void displaycustomers( ) { CustomerIteratorClass iterator; #sql iterator = { SELECT id_prac, nazwisko FROM pracownicy ORDER BY nazwisko }; while (iterator.next( )) { System.out.println("Nazwisko: " + iterator.nazwisko() );... DECLARE CURSOR c IS SELECT * FROM pracownicy JOIN zespoly USING (id_zesp) FOR UPDATE OF placa_dod; BEGIN FOR c_rec IN c LOOP CASE c_rec.nazwa WHEN 'ALGORYTMY' THEN UPDATE pracownicy SET placa_dod = placa_dod + 100 WHERE CURRENT OF c; WHEN 'ADMINISTRACJA' THEN UPDATE pracownicy SET placa_pod = placa_pod + 150 WHERE CURRENT OF c; ELSE IF (c_rec.etat = 'STAZYSTA') THEN DELETE FROM pracownicy WHERE CURRENT OF c; END IF; END CASE; END LOOP; END;

Architektura klient-serwer 13 Architektura serwera transakcyjnego 14 Funkcjonalność bazy danych podzielona back-end: scentralizowany serwer bazy danych front-end: formularze, raporty, GUI, OLAP, konsola interfejs: SQL lub API Wariacja klasycznej architektury klient-serwer klienci przesyłają żądania na serwer transakcje wykonują się po stronie serwera wyniki zakończonych transakcji są przesyłane do klientów Przesyłanie żądań żądania SQL są przesyłane przez RPC (ang. remote procedure call) TRPC (ang. transactional RPC) wspiera transakcje Architektury systemów równoległych 15 Połączenia w systemach równoległych 16 System równoległy charakteryzuje się obecnością wielu procesorów i dysków połączonych szybką siecią Dwa rodzaje równoległości coarse-grain parallel: niewielka liczba mocnych procesorów fine-grain parallel (massive parallel): tysiące małych procesorów Miary systemu przyspieszenie (ang. speedup): iloraz czasu wykonania ustalonego problemu na małym systemie i systemie n razy większym skalowalność (ang. scaleup): iloraz czasu wykonania problemu na małym systemie i czasu wykonania problemu n razy większego na n razy większym systemie skalowanie wsadowe: n-krotne zwiększenie rozmiaru problemu skalowanie transakcyjne: n-krotne zwiększenie liczby transakcji Shared Nothing Shared Memory Shared Disk Hierarchical

Interfejsy do SZBD (1/2) 17 Interfejsy do SZBD (2/2) 18 Interfejsy oparte na menu użytkownik konstruuje zapytanie przechodząc przez szereg opcji, interfejs eliminuje konieczność zapamiętywania składni i komend Interfejsy graficzne użytkownik pracuje ze schematem bazy danych wyświetlonym w postaci diagramu, interfejs często implementuje QBE Interfejs języka naturalnego interfejs przetwarza zdania języka angielskiego (lub innego języka naturalnego) i tłumaczy je na operacje na schemacie pojęciowym, często zdania języka naturalnego są ograniczone "schematem" i "operacjami" Interfejs dla użytkowników parametrycznych Interfejsy formularzowe użytkownik wykonuje zapytania, wstawia dane i manipuluje zawartością bazy danych za pomocą predefiniowanego formularza okienkowego, najczęstszy interfejs dla użytkowników naiwnych i zamkniętych transakcji (ang. canned transactions); wiele systemów baz danych posiada specjalny język/narzędzie do budowy formularzy ekranowych specjalizowany interfejs dla szczególnej grupy użytkowników naiwnych (obsługa banku, obsługa okienka pocztowego), głównym celem jest przejrzystość i minimalizacja liczby uderzeń w klawisze, rzadko wykorzystywana myszka Interfejs dla DBA większość SZBD posiada wyodrębniony zbiór komend dostępnych tylko dla administratora i możliwych tylko w specjalnym narzędziu dostępu DDL kompilator DDL Środowisko systemu baz danych DBA ADM data dictionary użytkownicy zaawansowani zapytanie ad hoc kompilator zapytań runtime processor aplikacja prekompilator DML kompilator DML użytkownicy naiwni zamknięte transakcje 19 Programy użytkowe SZBD Większość SZBD posiada zestaw programów użytkowych, które wykonują poniższe czynności ładowanie danych: import/eksport zawartości bazy danych (cała baza danych/użytkownik/tabela) do plików (tekstowe, cvs, binarne, specyficzne dla SZBD, ftp), kopia zapasowa: możliwość tworzenia kopii zapasowych (inkrementalnych i pełnych) z wybranych fragmentów bazy danych, reorganizacja plików danych, monitorowanie wskaźników efektywności SZBD, audyt działań użytkowników. 20 stored data manager backup/recovery concurrency baza danych

Klasyfikacja systemów baz danych 21 Podsumowanie 22 Podstawowe kryteria klasyfikacji systemów baz danych model danych: podział na systemy relacyjne, obiektowe, hierarchiczne, sieciowe, inne liczba użytkowników: podział na systemy jedno- i wielostanowiskowe liczba węzłów: podział na systemy scentralizowane i rozproszone (homo- i heterogeniczne, sfederowane) przeznaczenie: podział na systemy specjalistyczne i ogólnego przeznaczenia cena przykładowo: Oracle 11g Enterprise Edition kosztuje 47 000$ plus 10000$ (wsparcie techniczne) plus 950$ za każdego użytkownika w bazie danych. Dodatkowe opcje kosztują 10 000$ - 20 000$ (OLAP, RAC, Spatial, Label Sec) Koszt SQL Server to około 25 000$. Koszt specjalistycznej bazy danych Teradata dla ogromnych hurtowni danych to ok. 490 000$ Wyróżniamy trzy podstawowe kategorie modeli danych modele pojęciowe (modele wysokiego poziomu) modele implementacyjne modele fizyczne (modele niskiego poziomu) Istotne różnice między modelem, schematem i instancją Trzypoziomowa architektura ANSI/SPARC schemat zewnętrzny schemat pojęciowy schemat wewnętrzny Języki bazy danych: DDL, SDL, VDL, DML Interfejsy do bazy danych Klasyfikacja systemów baz danych Pytania 23 Zdefiniuj poniższe pojęcia: model danych, schemat bazy danych, stan bazy danych, schemat zewnętrzny, pojęciowy i wewnętrzny, niezależność danych, DML, język zapytań, język-gospodarz, architektura klient-serwer Podaj podstawowe różnice między schematem i stanem bd. Czy łatwiej jest uzyskać fizyczną czy logiczną niezależność danych? Dlaczego? Jaka jest różnica między proceduralnym i nieproceduralnym językiem DML? Wymień programy/systemy komputerowe z którymi współpracuje system zarządzania bazą danych. Opisz interfejsy do bazy danych i grupy użytkowników, które najczęściej korzystają z każdego interfejsu.