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

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

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

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

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

Laboratorium Bazy danych SQL 3 1

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

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

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie 8 DDL. Sekwencje, indeksy, perspektywy. Ćwiczenie 8 DDL. Wymagania: Bazy Danych

Widok Connections po utworzeniu połączenia. Obszar roboczy

Paweł Rajba

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

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

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

Relacyjne bazy danych. Podstawy SQL

ACESS- zadania z wykorzystaniem poleceń SQL

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Optymalizacja poleceń SQL Metody dostępu do danych

Przestrzenne bazy danych Podstawy języka SQL

Relacyjne bazy danych. Podstawy SQL

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

Wprowadzenie do języka SQL

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

Oracle PL/SQL. Paweł Rajba.

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Wykład 8. SQL praca z tabelami 5

"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Systemy GIS Tworzenie zapytań w bazach danych

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

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

Procedury wyzwalane. Rozdział 13. Procedury wyzwalane. Cele stosowania procedur wyzwalanych. Definiowanie procedury wyzwalanej DML

Optymalizacja poleceń SQL

Oracle11g: Wprowadzenie do SQL

Uprawnienia, role, synonimy

Język PL/SQL. Rozdział 6. Procedury wyzwalane

Język SQL. Rozdział 2. Proste zapytania

Baza danych inside. Biologiczne Aplikacje Baz Danych

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

Język SQL, zajęcia nr 1

Bazy Danych i Usługi Sieciowe

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

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

Grupowanie i funkcje agregujące

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Bazy danych 10. SQL Widoki

Bazy danych - Materiały do laboratoriów VIII

Procedury i funkcje składowane

Bazy danych i usługi sieciowe

Język SQL, zajęcia nr 2

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Wprowadzenie. Tworzenie widoków

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

PL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń

SQL do zaawansowanych analiz danych część 1.

Ćwiczenie 6 - DML. Tworzenie, modyfikacja i usuwanie krotek. Podstawy poleceń COMMIT i ROLLBACK. Ćwiczenie 6 DML. Wymagania: Bazy Danych

1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

1. Wyzwalacze BD (ang. triggers)

Wykład 5. SQL praca z tabelami 2

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

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

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

Cwiczenie 4. Połączenia, struktury dodatkowe

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

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

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

SQL w praktyce. Miłej i owocnej nauki!!!

Pakiety podprogramów Dynamiczny SQL

Optymalizacja poleceń SQL Wprowadzenie

Modelowanie wymiarów

bazy danych - heterogeniczność producenci funkcjonalność modele danych protokoły komunikacyjne

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

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

Bazy danych. dr inż. Arkadiusz Mirakowski

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

Ćwiczenie 14 autoryzacja

Optymalizacja poleceń SQL Indeksy

SQL Structured Query Language

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

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

Rozproszone bazy danych 1

Bazy danych. Dr inż. Paweł Kasprowski

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

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

Relacyjne systemy baz danych i język SQL

Kursory i wyjątki. (c) Instytut Informatyki Politechniki Poznańskiej 1

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Transkrypt:

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

Perspektywa Perspektywa (ang. view) jest strukturą logiczną udostępniającą wybrane informacje przechowywane w relacjach bazy danych Własności definiowana w oparciu o relacje (relacje bazowe) lub inne perspektywy (perspektywy bazowe), nie posiada własnych danych, nie jest materializowana na dysku przechowywana w postaci zapytania Cel stosowania ograniczenie dostępu do danych - zabezpieczenie przed nieautoryzowanym dostępem uproszczenie schematu bazy danych, uproszczenie zapytań uniezależnienie aplikacji od zmian w strukturze bazy danych prezentowanie danych w inny sposób niż dane w relacjach i perspektywach bazowych (m.in. zmiana nazw atrybutów, formatów danych, itp.) dodatkowa kontrola poprawności wprowadzanych danych (perspektywy z kontrolą ograniczeń integralnościowych) 2

Rodzaje perspektyw proste Oparte na jednej relacji bazowej Nie zawierają: operatorów zbiorowych, operatora DISTINCT, funkcji grupowych i analitycznych, grupowania, sortowania, klauzul CONNECT BY i START WITH, kolekcji i podzapytań w klauzuli SELECT złożone Oparte na wielu relacjach i perspektywach bazowych Wykorzystują operatory zbiorowe, funkcje, grupowanie, sortowanie, połączenia, funkcje analityczne, itd. Perspektywy proste mogą służyć do wstawiania, modyfikowania i usuwania krotek z relacji bazowej. Perspektywy złożone służą tylko i wyłącznie do odczytu (istnieją nieliczne wyjątki od tej reguły). 3

Perspektywy modyfikowalne Perspektywa jest modyfikowalna (ang. updatable) jeśli nie zawiera: operatorów zbiorowych, operatora DISTINCT, funkcji grupowej lub analitycznej, klauzul GROUP BY, ORDER BY, CONNECT BY, START WITH, połączeń (z pewnymi wyjątkami). Jeśli perspektywa zawiera formuły lub pseudokolumny to polecenia INSERT i UPDATE nie mogą dotyczyć tych pseudokolumn. Jeśli perspektywa zawiera połączenie to operacja DML musi dotyczyć tylko jednej relacji bazowej a ponadto: Dla operacji INSERT perspektywa musi prezentować wszystkie atrybuty klucza podstawowego i wszystkie atrybuty wymagane relacji zachowującej klucz (key-preserved table). Dla operacji UPDATE wszystkie modyfikowane atrybuty muszą pochodzić z relacji zachowującej klucz. Dla operacji DELETE operacja połączenia może dotyczyć tylko jednej relacji zachowującej klucz. Relacja zachowuje klucz, jeśli każda unikalna wartość w relacji jest też unikalna w perspektywie. 4

Tworzenie perspektywy Polecenie CREATE VIEW CREATE [OR [OR REPLACE] [FORCE] VIEW nazwa_perspektywy [[(( nazwa 1, 1, nazwa 2, 2,...)...)]] AS AS SELECT zapytanie definiujące perspektywę [[ WITH READ ONLY ]] [[ WITH CHECK OPTION [[ CONSTRAINT nazwa_ograniczenia ]]]; ]; CREATE OR OR REPLACE VIEW prac_zesp_30 (id, (id, nazwisko, posada, pensja) AS AS SELECT id_prac, nazwisko, etat, etat, placa_pod FROM pracownicy WHERE id_zesp = 30; 30; 5

Tworzenie perspektywy złożonej (1) Perspektywa złożona oparta na jednej relacji (niemodyfikowalna) perspektywa jest niemodyfikowalna ponieważ zawiera funkcje agregujące oraz klauzulę GROUP BY CREATE OR OR REPLACE VIEW place_etaty (etat, srednia, maksymalna, liczba) AS AS SELECT etat, etat, AVG(placa_pod), MAX(placa_pod), COUNT(*) FROM pracownicy GROUP BY BY etat etat ORDER BY BY MAX(placa_pod) DESC; 6

Tworzenie perspektywy złożonej (2) Perspektywa złożona na wielu relacjach bazowych (niemodyfikowalna) perspektywa jest niemodyfikowalna ponieważ żadna z trzech tabel nie zachowuje kluczy, krotka z każdej tabeli występuje w perspektywie wielokrotnie CREATE OR OR REPLACE VIEW prac_zesp_etat (id, (id, id_zesp, nazwisko, nazwa, etat,kategoria) AS AS SELECT p.id_prac, id_zesp, p.nazwisko, z.nazwa, p.etat, e.nazwa FROM pracownicy p JOIN zespoly z USING (id_zesp) JOIN etaty e ON ON (p.placa_pod BETWEEN e.placa_min AND e.placa_max) WHERE p.etat IN IN ('DYREKTOR','ASYSTENT','SEKRETARKA'); 7

Tworzenie perspektywy złożonej (3) Perspektywa oparta na wielu relacjach bazowych (modyfikowalna) perspektywa jest modyfikowalna ponieważ tabela Pracownicy zachowuje klucz, każdy pracownik występuje w perspektywie co najwyżej raz CREATE OR OR REPLACE VIEW prac_zesp (id, (id, nazwisko, nazwa) AS AS SELECT id_zesp, nazwisko, nazwa FROM pracownicy JOIN zespoly USING (id_zesp); Perspektywa weryfikująca ograniczenia CREATE OR OR REPLACE VIEW prac_minimum (id, (id, nazwisko, placa, etat) AS AS SELECT id_prac, nazwisko, placa_pod, etat etat FROM pracownicy WHERE placa_pod < 1000 WITH CHECK OPTION CONSTRAINT za_wysoka_placa; 8

Perspektywy wbudowane (in-line view) ROWID fizyczny adres krotki, składa się z numeru pliku, numeru bloku dyskowego wewnątrz pliku i numeru krotki wewnątrz bloku ROWNUM numer krotki w zbiorze wynikowym, przyznawany w momencie odczytywania krotki z dysku SELECT ROWID, ROWNUM, nazwisko, etat, etat, placa_pod FROM pracownicy; SELECT ROWID, ROWNUM, nazwisko, etat, etat, placa_pod FROM pracownicy ORDER BY BY placa_pod DESC; SELECT ROWNUM, T.rnum, T.nazwisko, T.etat, T.pensja FROM (( SELECT ROWNUM AS AS rnum, nazwisko, etat, etat, placa_pod AS AS pensja FROM pracownicy ORDER BY BY pensja DESC )) T WHERE ROWNUM <= <= 3; 3; 9

Kompilowanie perspektywy ALTER VIEW nazwa_perspektywy [COMPILE] [ADD MODIFY DROP CONSTRAINT ograniczenie]; Usuwanie perspektywy DROP VIEW nazwa_perspektywy [CASCADE CONSTRAINTS]; Słownik bazy danych opis zdefiniowanych perspektyw USER_VIEWS informacje o możliwości uaktualniania danych dostępnych przez perspektywę USER_UPDATABLE_COLUMNS 10