„Relacyjne Bazy Danych (Oracle)”

Slides:



Advertisements
Podobne prezentacje
Indeksy w bazie danych Oracle
Advertisements

Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
SQL INJECTION Wykorzystanie błędów w językach skryptowych
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
WPROWADZENIE DO BAZ DANYCH
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001.
25/08/ Bazy danych II Piotr Górczyński MS Access – Action Query.
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
Wycofywanie potwierdzonych transakcji
Rozdział 13: Architektura systemu Oracle
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 8: Perspektywy i sekwencery.
Bezpieczeństwo Procedury składowane Funkcje i Wyzwalacze
ZSBD PL/SQL CZĘŚĆ 3 Wykład 5 Prowadzący: dr Paweł Drozda.
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.
Zapytania SQL: wydajność i optymalizacja
BD-LAB6 Wojciech Pieprzyca
Wykład 5 Wojciech Pieprzyca
Rozproszone bazy danych
SQL - język relacyjnych i obiektowo-relacyjnych baz danych
Projektowanie fizycznej bazy danych
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
Modele baz danych - spojrzenie na poziom fizyczny
„Relacyjne Bazy Danych (Oracle)”
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Relacyjne Bazy Danych (Oracle) Prezentacja jest współfinansowana.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Relacyjne Bazy Danych (Oracle) Prezentacja jest współfinansowana.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Relacyjne Bazy Danych (Oracle) Prezentacja jest współfinansowana.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Projektowanie warstwy klienckiej aplikacji internetowych JavaScript.
Rozproszone bazy danych – 1 Replikacja danych
Język SQL (Structured Query Language) DDL (Data Definition Language)
Bezpieczeństwo baz danych
PRACA W DOMENIE Różnice użytkowe między pracą w domenie i grupie roboczej. 1. Ekran logowania. - wciśnięcie klawiszy [Ctrl+Alt+Delete], a następnie podanie.
SQL – Structured Query Language (3)
Podstawy programowania
MySQL – ODBC - ACCESS.
Podstawy programowania
Administracja serwerem bazy danych Oracle 11g Zarządzanie strukturą bazy danych Wykład nr 2 Michał Szkopiński.
Administracja serwerem bazy danych Oracle 11g Zarządzanie obiekami bazy danych Wykład nr 4 Michał Szkopiński.
dr hab. Ryszard Walkowiak prof. nadzw.
Użytkownicy i przywileje Sesja - przykład Błędy Komunikacja międzyskryptowa Wykład 83PD Technologie internetowe.
Prezentacja i szkolenie
SQL - Structured Query Language
Aplikacje bazodanowe ADO.NET PHP i MySQL
Zarządzanie informacją
Wybrane zagadnienia relacyjnych baz danych
Systemy Zarządzania Bazami Danych Laboratorium 05 Widoki i eksport tabel/widoków 1.
Komendy SQL do pracy z tabelami i bazami
Bazy danych Microsoft access 2007.
Opracowanie ćwiczeń dotyczących zapewniania niezawodności baz danych na przykładzie Oracle Opiekun : dr inż. Agnieszka Landowska Dyplomant : Tomasz Krzyżanowski.
PL/SQL – dalsza wędrówka
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
Model obiektowy bazy danych
1 SBD, L.Banachowski Zaawansowane cechy SQL Powtórzenie wyk ł adu 5.
Autor: Damian Urbańczyk
1 SBD, L.Banachowski Oprogramowanie strony serwera cz. 1 Powtórzenie wyk ł adu 6.
Komendy SQL do pracy z danymi
Optymalna konfiguracja Microsoft SQL Server 2014
BAZY DANYCH MS Access.
Wykład 3 Prowadzący: dr Paweł Drozda. Użytkownik bazy danych – osoba lub aplikacja, mająca dostęp do części danych zgromadzonych w bazie Uprawnienia –
Portal edukacyjny A.Ś. Tworzenie kwerend w programie Access.
BAZY DANYCH Microsoft Access Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Temat: Tworzenie bazy danych
Przewodnik
Widoki (views) - Perspektywy:
Strukturalny język zapytań SQL - historia
Technologie Informacyjne Bazy danych
Rozproszone bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

„Relacyjne Bazy Danych (Oracle)” Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. „Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych” Prezentacja dystrybuowana jest bezpłatnie 1 Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 www.kapitalludzki.p.lodz.pl 1

Przestrzenie tabel Przestrzeń tabel jest logiczną strukturą w bazie danych będącą pośrednikiem pomiędzy bazą danych a systemem plików na dysku lokalnym Każdy obiekt utworzony przez użytkownika (tabela, indeks itd..) musi znajdować się w pewnej przestrzeni tabel Reprezentacją przestrzeni tabel na dysku jest plik lub zestaw plików *.dbf Korzystanie z wielu przestrzeni tabel pozwala na uzyskanie fizycznego podziału bazy danych na systemie plików Każda aplikacja może korzystać se swojej przestrzeni tabel, różne przestrzenie tabel mogą być zlokalizowane na różnych dyskach

Przestrzenie tabel Przestrzenie tabel mogą mieć postać Trwałą (Permanent Tablespace)‏ Tymczasową (Temporary Tablespace)‏ Przestrzeń wycofań (Undo Tablespace)‏

Trwała przestrzeń tabel Przestrzeń używana do przechowywania trwałych obiektów (tabele, indeksy)‏ Można utworzyć kilka przestrzeni tabel z różną wielkością bloku CREATE TABLESPACE ts1 DATAFILE '/home/oracle/ts1_1.dbf' SIZE 100M AUTOEXTEND OFF BLOCKSIZE 8192

Tymczasowa przestrzeń tabel Tymczasowa przestrzeń tabel przechowuje dane tylko na okres trwania sesji danego użytkownika Może być wykorzystywana np: w operacjach sortowania dużych tabel, które nie mogą być wykonane w pamięci operacyjnej Tymczasowa przestrzeń tabel nie generuje redo CREATE TEMPORARY TABLESPACE temp2 TEMPFILE '/home/oracle/temp2.dbf' SIZE 50m;

Standardowe przestrzenie tabel System Sysaux Temp Undotbs1 Users

Procedury składowe Procedura to program przechowywany w bazie danych Oracle Procedury w bazie danych mogą służyć do wykonywania operacji niedostępnych dla standardowego języka SQL Oracle udostępnia możliwość pisania procedur składowych w wielu językach programowania Najpopularniejszym jest jednak język PL/SQL Procedury przetrzymywane są w segmencie współdzielonym (Shared Pool) jeżeli jest dostępne wystarczająco dużo miejsca

Pakiety Pakiety pozwalają na grupowanie niektórych obiektów (procedury, zmienne, kursory) w logiczne komponenty Standardowa instalacja Oracle EE posiada kilkaset pakietów, część z nich posiada procedury przydatne do administracji serwerem, inne pomagają w pisaniu procedur składowych

Wyzwalacze Wyzwalacze (Trigger) to procedury uruchamiane przy wykonywaniu określonych czynności Operacje typu DML Część operacji typu DDL Zdarzenia w bazie danych Wyzwalacze złożone uruchamiane przy kilku zdarzeniach

Wyzwalacze Najczęściej wykorzystuje się wyzwalacze powiązane z operacjami DML (INSERT, UPDATE, DELETE)‏ Wyzwalacze DML można podzielić na dwie grupy: Wyzwalacze uruchamiane na każdym wierszu Wyzwalacze uruchamiane przy każdym zapytaniu

Wyzwalacze Ponadto wyzwalacze DML mogą być uruchamiane na kilka sposobów Przed wykonaniem DML (Before Trigger)‏ Po wykonaniu DML (After Trigger)‏ Zamiast wykonania DML (Instead of Trigger)‏ Do wersji Oracle 11g baza nie gwarantowała kolejności uruchamiania wyzwalaczy W 11g pojawiła się klauzula FOLLOWS pozwalająca na ustalenie kolejności wykonywania

Wyzwalacze Pozostałe wyzwalacze mogą być uruchamiane przy wykonywaniu operacji CREATE, ALTER, DROP Logowanie/Wylogowanie użytkownika Uruchamianie/Zatrzymywanie bazy danych Pojawieniu się błędu Przełączaniu się bazy danych na inną (Data Guard)‏

Łącza Łącza pozwalają na uzyskanie dostępu do obiektów znajdujących się w innej bazie danych Łącza są jednokierunkowe Typy łącz Łącze stałe – użytkownik i hasło są zdefiniowane na stałe przy definicji łącza Łącze obecnego użytkownika - użytkownik posiada takie samo konto w drugiej bazie danych Korzystanie z łącza SELECT * FROM tabela@lacze

Perspektywy Perspektywa jest uproszczoną formą przeglądania wyników zapytania, często określana jest mianem tabeli wirtualnej Wynik wykonania kwerendy typu SELECT może być dostępny w formie tabeli dostępnej pod określoną nazwą Użytkownik musi posiadać przywilej systemowy CREATE VIEW Perspektywy przechowywane są w formie tekstowej w słowniku danych (Data Dictionary)‏ Wykonanie zapytania do perspektywy łączy zapytanie oryginalne z zapytaniem definiującym perspektywę create view emp_v as select empno,ename from emp; select * from emp_v;

Perspektywy Wykorzystanie perspektyw Ograniczanie użytkownikom dostępu do niektórych wierszy w tabeli (wykorzystując klauzulę WHERE)‏ Ograniczanie dostępu do niektórych kolumn tabeli (SELECT col1,col2 FROM tabela)‏ Ukrywanie skomplikowanego zapytania (np: łączenia wielu tabel, skomplikowanych klauzuli WHERE) za prostą nazwą perspektywy Udostępnianie aplikacjom danych, które zostały zmienione w oryginalnej tabeli (wykorzystując funkcje), korzystając z tej opcji można np: prezentować dane w wybranym języku – np: data, czas

Perspektywy Perspektywy mogą być uaktualniane, INSERT, UPDATE, DELETE Muszą jednak być spełnione odpowiednie ograniczenia na tabeli macierzystej Perspektywa nie może być zdefiniowana z agregacjami, podzapytaniami, oraz łączeniami W niektórych przypadkach można aktualizować dane w perspektywie korzystającej z łączeń Perspektywy mogą być łączone ze sobą za pomocą zapytań SQL aby utworzyć kolejną perspektywę Można osiągnąć efekty niemożliwe do zrealizowania za pomocą jednego zapytania SQL, np: GROUP BY + JOIN

Perspektywy zmaterializowane Perspektywa, która przechowuje dane zapytania w pamięci masowej Pozwala na uniknięcie wielokrotnego wykonywania skomplikowanych i czasochłonnych zapytań SQL Agregacje na dużych tabelach, COUNT(*), AVG(), SUM(), GROUP BY Łączenie wielu tabel klauzulą JOIN Może być automatycznie aktualizowana

Perspektywy zmaterializowane Może być wykorzystana jako jedna z form replikacji – dane mogą być pobierane z innych baz za pomocą łącz W przypadku awarii bazy źródłowej perspektywa zmaterializowana zawiera dane z ostatniego odświeżenia

Perspektywy zmaterializowane Opcja przepisywania zapytań SQL Zapytanie SQL zostanie zmodyfikowane w taki sposób, aby nie wykonywać określonych operacji, a jedynie pobrać jej wynik z perspektywy zmaterializowanej Warunkiem jest istnienie perspektywy, która zawiera całość lub część zapytania Przepisywanie można włączyć klauzulą ENABLE QUERY REWRITE przy definicji perspektywy zmaterializowanej

Perspektywy zmaterializowane Metody odświeżania perspektyw zmaterializowanych Pełna (Complete) – przebudowanie perspektywy Szybka (Fast) – przebudowanie uwzględniając tylko zmiany Wymuszona (Complete) – przebudowanie zmian, w razie konieczności pełna przebudowa perspektywy zmaterializowanej

Perspektywy zmaterializowane Sposoby odświeżania perspektyw zmaterializowanych Na żądanie (On Demand)‏ BEGIN DBMS_MVIEW.REFRESH('job_avg_sal',null,null,true,false,1,0,0,true) ; END; Po zatwierdzeniu transakcji (On Commit)‏ Odświeżanie perspektywy zmaterializowanej może być zadaniem czasochłonnym Odświeżanie jest częścią procesu zatwierdzania Nigdy (Never)‏ W określonym czasie (Specify)‏

Perspektywy zmaterializowane Odświeżenie szybkie Aby śledzić na bieżąco zmiany w tabeli macierzystej należy utworzyć dziennik perspektywy zmaterializowanej (Materialized View Log)‏ Dziennik zapisuje zmiany w tabeli macierzystej, które mogą być później wykorzystane do odświeżenia szybkiego Procedura DBMS_MVIEW.EXPLAIN_VIEW pomaga sprawdzić możliwości odświeżania szybkiego Procedura wymaga uruchomienia skryptu utlxmv.sql

Synonimy Synonimy służą do nadawania innych nazw istniejącym obiektom Dany obiekt może być dostępny pod kilkoma nazwami, co eliminuje konieczność zmiany schematu bazy w celu dostosowania jej do istniejących aplikacji Synonimy występują w dwóch formach Synonimy prywatne Synonimy publiczne Synonimy mogą odnosić się do obiektów w innej bazie danych

Synonimy prywatne Synonim utworzony na potrzeby jednego użytkownika Może on jednak decydować (o ile ma do tego prawa) aby inni użytkownicy mogli z niego korzystać Użytkownik musi posiadać przywilej systemowy CREATE SYNONYM create synonym emp3 for emp; select * from emp3;

Synonimy publiczne Do synonimu publicznego mają dostęp wszyscy użytkownicy bazy danych Właścicielem synonimu publicznego automatycznie staje się specjalna grupa PUBLIC Użytkownik musi posiadać przywilej systemowy CREATE PUBLIC SYNONYM CREATE PUBLIC SYNONYM pracownicy FOR scott.emp; SELECT * FROM pracownicy;

„Relacyjne Bazy Danych (Oracle)” Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. „Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych” Prezentacja dystrybuowana jest bezpłatnie 26 Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 www.kapitalludzki.p.lodz.pl 26