Baza danych inside. Biologiczne Aplikacje Baz Danych

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

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

Uprawnienia, role, synonimy

Ćwiczenie 14 autoryzacja

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

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Użytkownicy, uprawnienia, role, obserwacja bazy danych. (c) Instytut Informatyki Politechniki Poznańskiej 60

Zaawansowane bazy danych i hurtownie danych semestr I

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu

Zarządzanie kontami użytkowników w i uprawnieniami

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

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

CREATE USER

Technologie baz danych WYKŁAD 7: Wyjątki

Oracle PL/SQL. Paweł Rajba.

SQL> startup pfile=./admin/pfile/initdbx.ora. SQL> create spfile from pfile='$home/admin/pfile/initdbx.ora' create user bolek identified by bolek;

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

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

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

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

Tworzenie u ytkownika. ORACLE (Wykład 6) Uwierzytelnianie u ytkowników. Przył czenie u ytkownika do bazy. Nadawanie uprawnie systemowych

Oracle11g: Wprowadzenie do SQL

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

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

SQL 4 Structured Query Lenguage

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

Pakiety podprogramów Dynamiczny SQL

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

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

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

Paweł Rajba

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

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

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

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

Instrukcja instalacji aplikacji PlanSoft.org

Przestrzenne bazy danych Podstawy języka SQL

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

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1)

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

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

Rozproszone i obiektowe systemy baz danych Charakterystyka rozproszonego systemu baz danych

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

Bazy danych - Materiały do laboratoriów VIII

Zarządzanie użytkownikami bazy danych Oracle11g

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

Instrukcja instalacji aplikacji Plansoft.org

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

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

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

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. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

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

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

Wykład 8. SQL praca z tabelami 5

Systemowe aspekty baz

SQL język zapytań (query language) cz.1

Składowane procedury i funkcje

Użytkownicy, uprawnienia, role w SQL Server (W oparciu o SQL Server 2008R2 Books Online)

Aby stworzyć widok, należy mieć uprawnienia do wszystkich obiektów do których odnosi się widok.

Bazy Danych i Usługi Sieciowe

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

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

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

15. Funkcje i procedury składowane PL/SQL

BAZA DANYCH SIECI HOTELI

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

Aspekty aktywne baz danych

Zarzdzanie uytkownikami Uytkownicy, przywileje, role, audyt

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

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

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

Autor: Joanna Karwowska

1. Wyzwalacze BD (ang. triggers)

Bazy danych i usługi sieciowe

Procedury i funkcje składowane

Bazy danych i usługi sieciowe

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

Hurtownia Świętego Mikołaja projekt bazy danych

Język SQL, zajęcia nr 1

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

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

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

Bazy danych 10. SQL Widoki

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

PODSTAWY BAZ DANYCH 13. PL/SQL

Oracle PL/SQL. Paweł Rajba.

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

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Oracle 12c: Nowości w SQL i PL/SQL

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Systemowe aspekty baz danych

Transkrypt:

Baza danych inside Biologiczne Aplikacje Baz Danych dr inż. Anna Leśniewska alesniewska@cs.put.poznan.pl

Użytkownicy i schematy Użytkownik osoba lub aplikacja, uprawniona do dostępu do danych zgromadzonych w bazie danych. Schemat kolekcja logicznych struktur danych (relacji, perspektyw, ograniczeń, indeksów, programów składowanych, itd.), schemat posiada swoją nazwę, schemat jest własnością określonego użytkownika

Użytkownicy i schematy baza danych: BIO99 SELECT * FROM zespoly; schemat: ALA schemat: OLEK użytkownik: ALA SELECT * FROM OLEK.zespoly; użytkownik: OLEK SELECT * FROM zespoly;

Informacje o użytkownikach ALL_USERS DBA_USERS USER_USERS Zawiera nazwy i daty utworzenia wszystkich użytkowników w bazie danych Zawiera nazwę, identyfikator, zakodowane hasło, nazwę domyślnej przestrzeni tabel,nazwę tymczasowej przestrzeni tabel, datę utworzenia i profil każdego użytkownika bazy danych Zawiera nazwę, identyfikator, domyślną przestrzeń tabel, tymczasową przestrzeń tabel i datę utworzenia aktualnego użytkownika SELECT * FROM user_users; SELECT username FROM all_users;

Uwierzytelnianie użytkowników Uwierzytelnianie to proces weryfikacji tożsamości użytkownika bazy danych. Metody uwierzytelniania, wykorzystywane przez SZBD: uwierzytelnianie przez SZBD, uwierzytelnianie przez system operacyjny, uwierzytelnianie przez usługę sieciową (Kerberos, RADIUS, ), uwierzytelnianie wielowarstwowe.

Autoryzacja użytkowników Autoryzacja jest procesem weryfikacji uprawnień użytkownika do wykonania określonej operacji: ograniczenia co do obiektów i operacji, jakie użytkownik może na nich realizować: system przywilejów, role bazodanowe, ograniczenie wykorzystania zasobów systemowych (czasu procesora, czasu połączenia, itd.) przy realizacji operacji: profile.

Przywileje Przywilej prawo wykonywania przez użytkownika określonej akcji w bazie danych lub dostępu do określonego obiektu, np.: przyłączenie się do bazy danych, odczyt danych określonej relacji, wykonanie dowolnej składowanej w bazie danych procedury, utworzenia perspektywy, itd.. Rodzaje przywilejów: systemowe, obiektowe.

Przywileje systemowe Prawa wykonania: określonej akcji w bazie danych, lub określonej operacji na wskazanym typie obiektu we wskazanym/dowolnym schemacie bazy danych. Przykłady: CREATE SESSION CREATE TABLE CREATE ANY TABLE SELECT ANY TABLE INSERT ANY TABLE DROP ANY VIEW

Przywileje systemowe Nadawanie przywilejów systemowych: GRANT <lista_przywilejów_systemowych> TO <lista_użytkowników> PUBLIC [WITH ADMIN OPTION]; REVOKE <lista_przywilejów> Odbieranie przywilejów systemowych: FROM <lista_użytkowników> PUBLIC; GRANT CREATE SESSION, SELECT ANY TABLE TO OLEK; GRANT CREATE TABLE TO ALA; Przykład: REVOKE SELECT ANY TABLE FROM OLEK;

Informacje o przywilejach systemowych USER_SYS_PRIVS - uprawnienia systemowe nadane użytkownikowi bezpośrednio SESSION_PRIVS - uprawnienia systemowe nadane użytkownikowi zarówno bezpośrednio jak i przez role SQL> SELECT * FROM user_sys_privs; USERNAME PRIVILEGE ADMIN_OPTION -------------------- ----------------------------------------- ------------------------ OLEK CREATE SESSION NO OLEK INSERT ANY TABLE NO OLEK UNLIMITED TABLESPACE YES OLEK CREATE VIEW YES

Przywileje obiektowe Prawa wykonania określonej operacji na wskazanym obiekcie w określonym schemacie bazy danych. Przykłady: SELECT ON pracownicy ALTER ON zespoly EXECUTE ON PoliczPracownikow REFERENCES ON etaty Uwaga! Użytkownik posiada wszystkie uprawnienia do obiektu, którego jest właścicielem! Nie można mu tych przywilejów odebrać.

Przywileje obiektowe Przywilej Relacja Perspektywa Procedura/ funkcja/pakiet Sekwencja ALTER + + DELETE + + EXECUTE + INDEX + INSERT + + REFERENCES + + SELECT + + + UPDATE + +

Nadawanie przywilejów obiektowych Polecenie: GRANT <lista_przywilejów> ALL ON <nazwa_obiektu> TO <lista_użytkowników> PUBLIC [WITH GRANT OPTION]; przywileje INSERT, UPDATE i REFERENCES mogą dodatkowo specyfikować kolumny relacji, np.: INSERT(id_prac, nazwisko)

Odbieranie przywilejów obiektowych Polecenie: REVOKE <lista_przywilejów> ALL ON <nazwa_obiektu> FROM <lista_użytkowników> PUBLIC [CASCADE CONSTRAINTS]; brak możliwości specyfikacji kolumn relacji przy odbieraniu przywilejów INSERT, UPDATE i REFERENCES odebranie przywileju REFERENCES wymaga dodania opcji CASCADE CONSTRAINTS, powodującej automatyczne usunięcie kluczy obcych zdefiniowanych w czasie obowiązywania przywileju

Przykłady operacji z przywilejami obiektowymi Nadawanie przywilejów: ALA> GRANT SELECT ON zespoly TO OLEK; ALA> GRANT REFERENCES(id_prac) ON pracownicy TO OLEK; OLEK> GRANT UPDATE(placa_pod, placa_dod) ON pracownicy TO ALA; Odbieranie przywilejów: OLEK> REVOKE UPDATE ON pracownicy FROM ALA; ALA> REVOKE REFERENCES ON pracownicy FROM OLEK CASCADE CONSTRAINTS;

Informacje o przywilejach obiektowych USER_TAB_PRIVS USER_TAB_PRIVS_MADE USER_TAB_PRIVS_RECD USER_COL_PRIVS USER_COL_PRIVS_MADE USER_COL_PRIVS_RECD Uprawnienia do obiektów, których użytkownik jest właścicielem oraz uprawnienia obiektowe, które użytkownik otrzymał lub przyznał Uprawnienia do obiektów, będących własnością użytkownika Uprawnienia obiektowe, które użytkownik otrzymał Uprawnienia do atrybutów, których użytkownik jest właścicielem oraz uprawnienia do atrybutów, które użytkownik otrzymał lub przyznał Uprawnienia do atrybutów będących własnością użytkownika Uprawnienia do atrybutów, które użytkownik otrzymał SELECT * FROM user_tab_privs_made; SELECT * FROM user_tab_privs_recd;

Opcja administracyjna przywilejów umożliwia użytkownikowi przekazanie innym użytkownikom otrzymanego przywileju (systemowego lub obiektowego), przywileje systemowe: ADMIN: GRANT SELECT ANY TABLE TO SCOTT WITH ADMIN OPTION; SCOTT: GRANT SELECT ANY TABLE TO JONES; odebranie przywileju systemowego użytkownikowi SCOTT nie powoduje odebrania przywileju użytkownikowi JONES przywileje obiektowe: SCOTT: GRANT INSERT ON ETATY TO JONES WITH GRANT OPTION; JONES: GRANT INSERT ON SCOTT.ETATY TO SMITH; odebranie przywileju obiektowego użytkownikowi JONES powoduje odebranie przywileju również użytkownikowi SMITH

Przywilej EXECUTE Domyślnie kod składowany wykonywany jest z zestawem przywilejów użytkownika definiującego (domyślna klauzula AUTHID DEFINER) ALA> CREATE FUNCTION Ile RETURN NUMBER AUTHID DEFINER IS vile number; BEGIN SELECT count(*) INTO vile FROM RETURN vile; END Ile; ala.pracownicy; ALA> GRANT EXECUTE ON Ile TO olek; OLEK> SELECT count(*) FROM ala.pracownicy; ORA-00942: tabela lub perspektywa nie istnieje OLEK> SELECT ala.ile FROM dual; 14

Przywilej EXECUTE Można zdefiniować kod składowany wykonywany z zestawem przywilejów użytkownika wykonującego (dodatkowa klauzula AUTHID CURRENT_USER) ALA> CREATE FUNCTION Ile AUTHID CURRENT_USER ALA> GRANT EXECUTE ON Ile TO olek; ALA> GRANT SELECT ON pracownicy TO olek; OLEK> SELECT count(*) FROM ala.pracownicy; ORA-00942: tabela lub perspektywa nie istnieje OLEK> SELECT ala.ile FROM dual; ORA-00942: tabela lub perspektywa nie istnieje OLEK> SELECT ala.ile FROM dual; 14

Role Rola nazwany zbiór powiązanych przywilejów. Ułatwiają zarządzanie systemem przywilejów. Użytkownik może mieć nadanych wiele ról, rola może zostać przyznana wielu użytkownikom lub rolom. Przykłady zastosowań: role aplikacyjne grupują przywileje niezbędne do działania określonej aplikacji, role użytkowników tworzone dla grup użytkowników, wymagających tych samych przywilejów.

Role Predefiniowane role w SZBD Oracle (niektóre): CONNECT przywilej: CREATE SESSION, RESOURCE przywileje: CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE TYPE DBA wszystkie przywileje systemowe z opcją administracyjną (WITH ADMIN OPTION).

Role Tworzenie roli: bez autoryzacji: CREATE ROLE <nazwa_roli> [NOT IDENTIFIED]; autoryzowanej przez SZBD: CREATE ROLE <nazwa_roli> IDENTIFIED BY <hasło>; autoryzowanej przez aplikację CREATE ROLE <nazwa_roli> IDENTIFIED USING <nazwa_pakietu>; Usunięcie roli: DROP ROLE <nazwa_roli>;

Role Nadawanie przywilejów roli: GRANT <lista_przywilejów> [ON <nazwa_obiektu>] TO <lista_ról>; Nadawanie roli użytkownikowi/roli: GRANT <lista_ról> TO <lista_użytkowników> <lista_ról> PUBLIC [WITH ADMIN OPTION]; Odbieranie przywilejów roli: REVOKE <lista_przywilejów> [ON <nazwa_obiektu>] FROM <lista_ról>; REVOKE <lista_ról> FROM <lista_użytkowników> <lista_ról> PUBLIC; Odbieranie roli użytkownikowi/roli:

Role Zablokowanie/odblokowanie roli dla bieżącej sesji: SET ROLE [ <nazwa_roli> [ IDENTIFIED BY <hasło> ] ALL [EXCEPT <nazwa_roli> NONE ]; Przykład: CREATE ROLE KASJER IDENTIFIED BY pass123; GRANT SELECT, UPDATE, DELETE ON PRACOWNICY TO KASJER; GRANT KASJER TO KOWALSKI; użytkownik KOWALSKI włączy rolę poleceniem: SET ROLE KASJER IDENTIFIED BY pass123;

Informacje o rolach USER_ROLE_PRIVS Role przyznane użytkownikowi ROLE_ROLE_PRIVS Role przyznane innym rolom ROLE_SYS_PRIVS Uprawnienia systemowe przyznane rolom ROLE_TAB_PRIVS Uprawnienia obiektowe przyznane rolom SESSION_ROLES Role użytkownika aktywowane w bieżącej sesji SELECT role, table_name, privilege FROM role_tab_privs; SELECT * FROM session_roles;

Efekty operacji GRANT i REVOKE Efekty operacji nadawania i odbierania przywilejów systemowych i obiektowych komukolwiek (użytkownikom, rolom, grupie PUBLIC) wchodzą w życie natychmiast w bieżącej sesji użytkownika. ALA> GRANT SELECT ON pracownicy TO olek; OLEK> SELECT count(*) FROM ala.pracownicy; ORA-00942: tabela lub perspektywa nie istnieje OLEK> SELECT count(*) COUNT(*) ---------- FROM ala.pracownicy; 14

Efekty operacji grant i revoke Efekty operacji nadawania i odbierania ról komukolwiek (użytkownikom, innym rolom, grupie PUBLIC) wchodzą w życie, gdy użytkownik: w bieżącej sesji wykona polecenie SET ROLE włączając rolę, lub zakończy bieżącą sesję i rozpocznie nową. ALA> CREATE ROLE dla_olka; ALA> GRANT SELECT ON pracownicy TO dla_olka; ALA> GRANT dla_olka TO olek; Uwaga! Usunięcie roli powoduje natychmiastowe odebranie związanych z nią przywilejów. OLEK> SELECT count(*) FROM ala.pracownicy; ORA-00942: tabela lub perspektywa nie istnieje OLEK> SET ROLE dla_olka; OLEK> SELECT count(*) COUNT(*) ---------- FROM ala.pracownicy; 14

Synonimy Synonim alternatywna nazwa dla obiektu. Cele stosowania: uproszczenie konstrukcji poleceń SQL, ukrycie nazwy oryginalnego obiektu, ukrycie lokalizacji oryginalnego obiektu (np. z innego schematu, ze zdalnej bazy danych). Rodzaje synonimów: synonim prywatny jest własnością określonego użytkownika, dostępny tylko dla właściciela oraz użytkowników, którzy uzyskają prawo dostępu, synonim publiczny dostępny dla każdego użytkownika bazy danych.

Synonimy Tworzenie: CREATE [PUBLIC] SYNONYM <synonim> FOR <nazwa_obiektu>; Usuwanie: DROP [PUBLIC] SYNONYM <synonim>;

Synonimy Przykład: użytkownik OLEK wykonuje: OLEK> GRANT SELECT, INSERT ON pracownicy TO ALA; użytkownik ALA wykonuje: ALA> SELECT * FROM OLEK.pracownicy; ALA> CREATE SYNONYM prac_olek FOR OLEK.pracownicy; ALA> SELECT * FROM prac_olek;

Informacje o synonimach ALL_SYNONYMS USER_SYNONYMS Synonimy publiczne i prywatne dostępne dla użytkownika Synonimy prywatne, będące własnością użytkownika SELECT synonym_name, table_name FROM user_synonyms;

polecenie CREATE TABLE CREATE TABLE nazwa_relacji Tworzenie relacji (tabeli) (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr], nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna]... [ [CONSTRAINT nazwa_ogr] ograniczenie_atr], [ [CONSTRAINT nazwa_ogr] ograniczenie_rel,...] ); Nazwa relacji: musi zaczynać się od litery A-Za-z może zawierać litery, cyfry, znaki _ $ # (ostatnie dwa nie są zalecane) jest nieczuła na wielkość użytych znaków (chyba że użyto cudzysłowu) nie może przekroczyć 30 znaków musi być jednoznaczna i różna od nazw innych relacji, perspektyw i synonimów w schemacie danego użytkownika nie może być słowem zastrzeżonym języka SQL 32

Sekwencje Sekwencja to obiekt bazy danych generujący kolejne liczby. Sekwencje są stosowane przede wszystkim do tworzenia kolejnych wartości sztucznych kluczy podstawowych. Tworzenie sekwencji CREATE SEQUENCE nazwa_sekwencji [ START WITH n ] [ INCREMENT BY m ] [ MAXVALUE x NOMAXVALUE ] [ MINVALUE y NOMINVALUE ]; Modyfikowanie sekwencji ALTER SEQUENCE nazwa_sekwencji [ INCREMENT BY m ] [ MAXVALUE x NOMAXVALUE ] [ MINVALUE y NOMINVALUE ];

Korzystanie z sekwencji Pseudokolumny NEXTVAL, CURRVAL CREATE SEQUENCE myseq START WITH 300 INCREMENT BY 10; SELECT myseq.nextval FROM DUAL; SELECT myseq.currval FROM DUAL; INSERT INTO pracownicy (id_prac, nazwisko, etat) VALUES (myseq.nextval, 'BOROWIAK', 'STAZYSTA'); CREATE SEQUENCE lpseq; ALTER TABLE pracownicy ADD lp number(3); UPDATE (SELECT lp FROM pracownicy ORDER BY nazwisko) Wykorzystanie sekwencji w poleceniach DML SET lp = lpseq.nextval;

Usuwanie sekwencji Usunięcie sekwencji DROP SEQUENCE nazwa_sekwencji; Informacje o sekwencjach w słowniku bazy danych USER_SEQUENCES, ALL_SEQUENCES Uwagi: Sekwencja nie jest związana z konkretną relacją i może być wykorzystywana dla różnych atrybutów. Sekwencja jest odczytywana zawsze, nawet jeśli transakcja zostanie wycofana. Sekwencji nie można stosować w: podzapytaniach, zapytaniach z klauzulą DISTINCT, GROUP BY, ORDER BY, w klauzuli WHERE, w zapytaniach z operatorami zbiorowymi, w definicji perspektywy, w definicji wartości domyślnej DEFAULT

Podsumowanie Użytkownik zostaje uwierzytelniony przed przyłączeniem do bazy danych. Autoryzacja jest procesem weryfikacji uprawnień użytkownika do wykonania określonej operacji w bazie danych. Przywilej to prawo wykonywania przez użytkownika określonej akcji w bazie danych lub dostępu do określonego obiektu bazy danych. Rola to nazwany zbiór przywilejów, ułatwiający zarządzanie systemem autoryzacji. Synonim jest alternatywną nazwą obiektu w bazie danych. Sekwencja to obiekt bazy danych do generowania kolejnych liczb (sztucznych kluczy podstawowych)