9 Bazy danych Przegląd Wprowadzenie do Oracle wykład

background image

Oracle – podstawowe właściwości

Ogólne informacje o programie

-

zaliczany do grupy tzw. SQL-owych baz danych

-

obecnie wersja Oracle12 (Oracle Database 12c wprowadza nową architekturę wielodostępu, która
ułatwia wdrażanie i zarządzanie chmurami baz danych)

-

obsługa nowego typ danych: typ przestrzenny (Oracle7 Spatial Data Option, Oracle8 Spatial
Cardrige, Oracle Spatial)

-

sprzedawany w różnych zestawieniach: Oracle Enterprise Edition, Oracle Standard Edition,
Oracle Standard Edition One, Oracle Express Edition, Oracle Personal, Oracle Lite.

-

dostępny na wiele platform sprzętowych, duża przenoszalność i skalowalność

-

oprócz serwera Oracle: Oracle Forms, Oracle Reports, Oracle Power Object

Zastosowanie

-

duże systemy bazodanowe

-

systemy wielodostępne o dużym obciążeniu

-

systemy wymagającego wysokiej jakości zabezpieczeń danych przed zniszczeniem i
nieuprawnionym dostępem

-

duże, przestrzenne bazy danych

Zarządzanie danymi przestrzennymi

Oracle Spatial, Oracle Locator

Oracle Spatial jest produktem firmy Oracle o charakterze platformy bazodanowej wykorzystywanej do
zarządzania danymi przestrzennymi.

Oracle Spatial posiada od wersji 10 dodatkowo funkcje typowe dla platformy typu GIS :

- Georaster Data Type (zaawansowana obsługa danych rastrowych np. indeksowanie danych
rastrowych, generowanie piramidy rozdzielczości – kafelkowanie, mozaikowanie, udostępnianie
danych rastrowych na zewnątrz poprzez serwisy WMS),
- Topology Data Model (obsługa topologii sieci np. definiowanie w ramach serwera danych
przestrzennych relacji topologicznych: przyległości, stref połączeń),
- Network Data Model (obsługa modelu danych sieciowych np. możliwość przechowywania w bazie
danych struktury grafu sieci, edytowanie i zarządzanie połączeniami sieciowymi, analizowanie
połączeń sieciowych – określanie źródeł zasilania dla odbiorcy z uwzględnieniem stanów łączników
lub określanie odbiorców dla źródła zasilania),
- Geocoding (obsługa geokodowania np. możliwość określenia współrzędnych obiektu na podstawie
podanego adresu lub odwrotnie),
- Routing (wyznaczanie i optymalizacji tras przejazdu lub przepływu np. możliwość określenia
optymalnej trasy dla zadanych punktów pośrednich trasy, przy uwzględnieniu różnych parametrów
wpływających na czas lub koszt dojazdu/przepływu. W przypadku dystrybucji energii elektrycznej
funkcja jest przydatna przy określeniu optymalnej drogi zasilenia odbiorcy),
- Coordinate Transforms (możliwość transformacji współrzędnych pomiędzy różnymi układami
współrzędnych np. możliwość wyświetlania wartości współrzędnych przeliczonych do zadanego
układu współrzędnych, innego niż układ współrzędnych, w którym zapisane są oryginalne
współrzędne obiektów sieci elektroenergetycznej).

background image

Oracle – podstawowe właściwości

Oracle Locator to jedynie wydzielony fragment funkcjonalności Oracle Spatial, służący
głównie do zapisu danych przestrzennych w odpowiednich strukturach bazy danych.

Z tego powodu Oracle Locator dodawany jest przez firmę Oracle bezpłatnie do swoich platform
bazodanowych, a Oracle Spatial wymaga zakupu znacznie bardzie rozbudowanej (a tym samym
znacznie bardziej kosztownej) wersji Oracle Enterprise i dodatkowej specjalnej, kosztownej licencji.
Orientacyjna różnica cen dla 25 stanowisk (minimalna liczba dla Oracle Enterprise) wynosi ok 70 000
zł. (2013 rok)

Architektura systemu Oracle

Instancja Oracle’a.

Programy rezydujące w pamięci operacyjnej komputera pracującego jako serwer Oracle’a,
zapewniające mechanizmy kontroli i dostępu do danych zapisanych w bazie (tzw. procesy
drugoplanowe)

Zarezerwowany dla w/w programów obszar pamięci operacyjnej (grupa buforów)

Struktura fizyczna bazy danych

Baza składa się z następujących rodzajów plików:
-

plików bazy danych (Database Files) – miejsce gdzie fizycznie przechowuje się dane

-

plików dziennika powtórzeń (Redo Log Files) – dane do awaryjnego odtwarzania bazy danych

-

plików kontrolnych (Control Files) – informacje o fizycznej strukturze bazy danych

-

pliku startowego (Parameter Files)

Przestrzeń tablic

(Tablespace)

Obszar na dysku zarezerwowany dla zapisu danych .Przestrzeń tablic jest miejscem
przechowywania danych w bazie danych

Serwer Oracle’a nie zapisuje danych do konkretnych plików a do przestrzeni tablic

Baza danych może składać się logicznie z jednej lub wielu przestrzeni tablic (zaleca się
stworzenie przynajmniej 1 dodatkowej przestrzeni tablic dla danych użytkownika)

Przestrzeń tablic może składać się z jednego lub kilku plików dyskowych

Jeśli przestrzeń tablic tworzy kilka plików dyskowych to dane zapisane np. w jednej tablicy mogą
być rozlokowane w jednym lub kilku plikach dyskowych

Segmenty wycofania

(Rollback Segments)

Logiczny fragment bazy danych w którym zapisywane są wszystkie zmiany w bazie
przeprowadzone w ramach jednej transakcji

Umożliwia wycofanie operacji przeprowadzonych na bazie do stanu sprzed rozpoczęcia transakcji

Nowo utworzona baza danych zawiera w sobie tylko 1 segment wycofania (systemowy)
umiejscowiony w przestrzeni tablic o nazwie SYSTEM

Wyróżnia się 3 rodzaje segmentów wycofania: Publiczne (PUBLIC), Prywatne(PRIVATE),
Odroczone

background image

Oracle – podstawowe właściwości

Schemat

Schemat – zestawienie wszystkich obiektów bazy danych przypisanych konkretnemu
użytkownikowi. Inaczej: Zbiór logicznie powiązanych ze sobą obiektów należących do 1
użytkownika

Wykreowanie tabeli przez użytkownika powoduje automatyczne jej dodanie do schematu

Podstawowe obiekty

Schemat bazy danych Oracle’a może posiadać następujące typy obiektów bazy danych:

-

tablice (TABLE)

-

indeksy (INDEX)

-

perspektywy (VIEW)

-

sekwencje (SEQUENCE)

-

synonimy (SYNONYM)

-

połączenia między bazami danych (DATABASE LINK)

-

procedury (PROCEDURE)

-

pakiety (PACKAGE)

-

migawki (SNAPSHOT)

Nazwy obiektów tego samego typu w obrębie jednego schematu muszą być unikalne.

Tablice

Typy kolumn:

-

CHAR (n) : typ znakowy o n znaków (max. 255 )

-

VARCHAR2: typ znakowy do 2000 znaków

-

NUMBER: typ numeryczny do 38 cyfr znaczących

-

NUMBER(n): typ numeryczny z ograniczeniem do cyfr o szerokości n

-

NUMBER(n,m): typ numeryczny z ograniczeniem do cyfr o szerokości n i dokładności po
przecinku -m

-

DATE: data, od 01.01.11472 r. p.n.e do 31.12 4712 r. n.e.

-

LONG: kolumna o typie zbliżonym do VARCHAR2 mogąca zawierać ciąg znaków o długości do
2GB. W tablicy może być zadeklarowana tylko 1 kolumna tego typu

Perspektywy

Definicja:

background image

Oracle – podstawowe właściwości

Perspektywa (VIEW) to zbiór kolumn jednej lub kilku tablic zdefiniowany w bazie danych pod jedną
unikatową nazwą. Użytkownik widzi perspektywę jako wirtualną tablicę zawierającą dane zebrane z
kilku tablic.

Cel użycia

-

ograniczenie dostępu do danych

-

ułatwienie formułowania zapytań

-

ułatwienie dostępu do danych poprzez ich grupowanie

Indeksy

Rodzaje:

-

UNIQUE

-

NON UNIQUE (domyślnie, najszybszy dostęp do danych)

-

SINGLE COLUMN

-

CONCATENATED (do 16 kolumn)

Zasady wykorzystania

-

dla tablic zawierających ponad 200 wierszy

-

dla kolumn o zróżnicowanych danych

-

indeksuje się kolumny najczęściej używane w klazuli WHERE zapytania

-

z reguły nie zakłada się więcej niż 3 indeksy na jednej tabeli jeżeli podstawową operacją na niej

-

wykonywaną jest SELECT

Więzy integralności

Więzy integralności mogą być sprawdzane zarówno po stronie serwera jak i po stronie klienta

Lepiej sprawdzać więzy po stronie serwera: jeden mechanizm gwarantujący spójność całej bazy
danych

Wyróżnia się dwie podstawowe metody określenia więzów spójności:

-

na poziomie definicji tabel

-

za pomocą mechanizmu wyzwalaczy

Dwa podstawowe typy więzów integralności (spójności)

1) więzy spójności encji (ograniczają wartości wprowadzane do tabeli)
-

więzy klucza głównego PRIMARY KEY (jednoznaczna identyfikacja wiersza, niedopuszczalny
NULL)

-

więzy klucza jednoznacznego UNIQUE (jednoznaczna identyfikacja wiersza, dopuszczalny
NULL)

-

więzy NOT NULL

-

więzy CHECK (warunek, który ma być prawdziwy dla wszystkich wierszy w tabeli)

2) więzy spójności referencyjnej

background image

Oracle – podstawowe właściwości

Więzy integralności referencyjnej zapewniają, że zbiór wartości w kolumnach klucza obcego jest
zawsze podzbiorem zbioru wartości odpowiadającego mu klucza głównego lub jednoznacznego

- FOREIGN KEY (kolumna,...) REFERENCES tabela (kolumna,....) [ON DELETE CASCADE]

Przykłady:
Składnia:
CONSTRAINT nazwa_c PRIMARY KEY (nazwa_kol_1, nazwa_kol_2)
CONSTRAINT nazwa_c FOREIGN KEY (nazwa_kol_1) REFERENCES
nazwa_tabeli(nazwa_kol_3)
CONSTRAINT nazwa_c CHECK (warunek)

Stosowanie:
ALTER TABLE nazwa ADD (CONSTRAINT nazwa_c CHECK (warunek));
ALTER TABLE nazwa ENABLE/DISABLE CONSTRAINT nazwa_c;
ALTER TABLE nazwa DROP CONSTRAINT nazwa_c;

CREATE TABLE Pracownicy (Id_pracownika NUMBER (7) PRIMARY KEY,
Pesel NARCHAR2 (11) UNIQUE NOT NULL,
ID_dzialu VARCHAR2(5),
Zarobki NUMBER (8)
CONSTRAINT dział_fk FOREIGN KEY (id_dzialu) REFERENCES Działy (ID),
CONSTRAINT zarobki_ck CHECK (Zarobki < 24500);

Zatwierdzanie i wycofywanie transakcji

Transakcja jest dowolnym zbiorem działań obejmującym odczytywanie, przetwarzanie i
modyfikację danych, stanowiący niepodzielną całość

Jeśli którakolwiek modyfikacja wchodząca w skład transakcji nie powiedzie się, dochodzi do
unieważnienia również wszystkich innych modyfikacji

W bazie danych Oracle’a nie wszystkie zmiany wprowadzone przez użytkownika są natychmiast
zapisywane do bazy danych

Operacje takie jak: dodawanie, zmiana, usuwanie wierszy z tablicy wymagają potwierdzenia

Dopóki nie nastąpi potwierdzenie możliwe jest odwołanie wprowadzonych zmian

Komenda COMMIT powoduje zatwierdzenie transakcji

Komenda ROLLBACK powoduje wycofanie transakcji

Słownik bazy danych (Data Dictionary)

W słowniku zawarte są wszystkie informacje o strukturze bazy danych

Słownik ma postać szeregu tablic Read-Only zawierających następujące informacje:

-

nazwy użytkowników, ich prawa i przywileje

-

nazwy i definicje wszystkich obiektów bazy danych

-

informacje o więzach integralności

-

informacje statystyczne o pracy na obiektach

Tablice wchodzące w skład słownika danych powstają w czasie tworzenia bazy danych
(automatycznie) i są modyfikowane w trakcie jej pracy przez system

Właścicielem słownika jest użytkownik SYS

Dostep do danych następuje poprzez perspektywy słownika

background image

Oracle – podstawowe właściwości

Wyróżnia się 3 podstawowe grupy perspektyw: USER_, ALL_, DBA_

Przykłady:

ALL_CATALOG – wszystkie obiekty dostępne dla użytkownika,
ALL_CONSTRAINTS – definicje więzów na dostępnych tablicach
ALL_TABLES – dostępne tablice, ALL_TAB_COLUMNS
USER_CATALOG (CAT)– tablice, perspektywy i sekwencje użytkownika
USER_TABLES, USER_INDEXES, USER_TAB_COLUMNS (COLS)
DBA_USERS – informacje o wszystkich użytkownikach bazy danych,
GLOBAL_NAME – nazwa bieżącej bazy danych

Użytkownik bazy danych

Użytkownik (User) jest obiektem bazy danych Oracle’a

Pozostałe obiekty (np. tablice, perspektywy)mają jednoznacznie określonego właściciela

Standardowo w bazie danych istnieją 2 użytkownicy systemowi: SYS i SYSTEM

(SYS – właściciel słownika danych, SYSTEM – administrator, do słownika odwłuje się przez
synonimy)

Użytkownik ma pełen dostęp do obiektów w obrębie swojego schematu

Domyślna przestrzeń tablic (Tablespace Default) określa lokalizację tworzonych przez
użytkownika obiektów

Tymczasowa przestrzeń tablic (Temporary Tablespace) jest wykorzystywana przez Oracle’a do
zakładania tymczasowych obiektów

Dla każdego użytkownika można zdefiniować maksymalną ilość miejsca na dysku, jaką
użytkownik może zająć w przestrzeni danej tablic (Tablespace Quota)

Tworzenie użytkowników:
SQL> CREATE USER nazwa_użytkownika IDENTIFIED BY hasło_użytkownika
DEFAULT TABLESPACE nazwa_domyślnej_przestrzeni_tablic
TEMPORARY TABLESPACE nazwa_tymczasowej_ przestrzeni _tablic
QUOTA limit ON nazwa_ przestrzeni _tablic
PROFILE nazwa_profilu

Przywileje i role

Przywileje bazodanowe – prawo do wykonywania określonych operacji na bazie przez
uprawnionych przywilejem użytkowników

-

wyróżnia się dwa rodzaje przywilejów: SYSTEMOWE (dotyczą typów obiektów) i
OBIEKTOWE (dotyczą konkretnych obiektów)

-

nadawanie przywilejów obiektowych ma sens tylko w odniesieniu do użytkowników bazy nie
będących właścicielami obiektu

Przykłady przywilejów:
a) systemowe:
CREATE ANY INDEX, CREATE TABLE, ALTER ANY TABLE, INSERT ANY TABLE, DROP
TABLESPACE, CREATE VIEW, DROP USER
b) obiektowe:

background image

Oracle – podstawowe właściwości

SELECT , INSERT, UPDATE, DROP

Nadawanie przywilejów:
a) systemowego:
SQL > GRANT nazwa_przywileju TO nazwa_użytkownika

b) obiektowego:
SQL > GRANT nazwa_przywileju ON nazwa_obiektu TO nazwa_użytkownika

Odbieranie przywilejów:
a) systemowego:
SQL > REVOKE nazwa_przywileju FROM nazwa_użytkownika

b) obiektowego:
SQL > REVOKE nazwa_przywileju ON nazwa_obiektu FROM nazwa_użytkownika

Role bazodanowe – zbiór przywilejów powiązanych ze sobą wspólną nazwą

-

cel: ułatwienie administrowania przywilejami

-

procedura postępowania:

a) określenie grup użytkowników wykonujących na bazie podobne operacje,
b) a tej podstawie stworzenie ról z niezbędnymi przywilejami

Tworzenie ról:
SQL> CREATE ROLE nazwa_roli
Usunięcie roli:
SQL> DROP ROLE nazwa_roli

Nadanie przywilejów rolom:
SQL> GRANT nazwa_przywileju TO nazwa_roli

Nadawanie ról użytkownikom:
SQL> GRANT nazwa_roli TO nazwa_użytkownika

Odbieranie ról użytkownikom:
SQL> REVOKE nazwa_roli FROM nazwa_użytkownika

Standardowe role: CONNECT, DBA, RESOURCE, EXP_FULL_DATABASE,
IMP_FULL_DATABASE


Wyszukiwarka

Podobne podstrony:
9 Bazy danych Przegląd oprogramowania DBMS wykład
12 Bazy danych Przegląd oprogramowania DBMS wykład
Bazy danych [ skrypty na wykłady u prof. Z. Królikowski], Bazy danych 2 WSKiZ, TRANSFORMACJA DO SCHE
Wprowadzenie do psychologii - wykład-11, pedagogika
Mechatronika - wykład 2, Mechatronika, Wprowadzenie do mechatroniiki, Wykłady
Alina Kolańczy - Wprowadzenie do psychologii (wykłady), wprowadz w6, WYKŁAD IV
Bazy danych - podstawowe kroki w projektowaniu cz 2 - wyklady, Zajęcia z Baz Danych - MS Access, cz
Bazy danych - podstawowe kroki w projektowaniu cz 2 - wyklady, Zajęcia z Baz Danych - MS Access, cz
WPROWADZENIE DO FILOZOFII ( Wykład 5 )XXX
Wprowadzenie do pedagogiki wykład z dnia 12, PEDAGOGIKA
wykład 1 Wprowadzenie do pedagogiki wyklad 1, Semestr 1, Wykłady, Wprow do ped
WPROWADZENIE DO PEDAGOGIKI - WYKŁADY (14.10.2006 - 3H), PEDAGOGIKA
Wykład Mechatronika 29.11.10, Mechatronika, Wprowadzenie do mechatroniiki, Wykłady

więcej podobnych podstron