SIZE rozmiar [ K | M ]
Transkrypt
SIZE rozmiar [ K | M ]
PODSTAWY BAZ DANYCH Wykład 8 6. Podstawowe obiekty bazy danych Oracle 2005/2006 Wykład "Podstawy baz danych" 1 Przestrzenie tabel i pliki danych CREATE TABLESPACE nazwa_przestrzeni DATAFILE ‘plik’ SIZE rozmiar [ K | M ] [ONLINE | OFFLINE ] [ PERMANENT | TEMPORARY ] DEFAULT STORAGE ( [ INITIAL rozmiar [ K | M ] ] [ NEXT rozmiar [ K | M ] ] [ MINEXTENTS liczba ] [ MAXEXTENTS liczba | UNLIMITED ] [ PCTINCREASE liczba ] ); Przy pomocy DEFAULT STORAGE określamy parametry każdego segmentu tworzonego w definiowanej przestrzeni tabel. 2005/2006 Wykład "Podstawy baz danych" 2 Tworzenie tabel CREATE TABLE nazwa_tabeli ( atrybut typ [ DEFAULT wyrażenie] [,........] ] [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ TABLESPACE nazwa_przestrzeni ] [ STORAGE ( [ INITIAL liczba [ K | M ]] [ NEXT liczba [ K | M ] ] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] [ MAXEXTENS liczba ] ) ]; 2005/2006 Wykład "Podstawy baz danych" /*przestrzeń użytkownika*/ /*domyślna UNLIMITED*/ 3 Tworzenie tabel CREATE TABLE nazwa_tabeli ( atrybut typ [ DEFAULT wyrażenie] [,........] ] [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ TABLESPACE nazwa_przestrzeni ] [ STORAGE storage ] [ CLUSTER nazwa_klastra (column [, column] ...) ] [ AS query ]; Usuwanie tabeli DROP TABLE nazwa_tabeli [ CASCADE CONSTRAINTS ]; 2005/2006 Wykład "Podstawy baz danych" 4 Tabele-indeksy Można utworzyć tabelę zorganizowaną w postaci indeksu. CREATE TABLE nazwa_tabeli ................ ORGANIZATION INDEX; 2005/2006 Wykład "Podstawy baz danych" 5 Ograniczenia integralnościowe PRIMARY KEY UNIQUE NOT NULL CHECK FOREIGN KEY Przykład. CREATE TABLE osoby ( id NUMBER CONSTRAINT osoba_id_PK PRIMARY KEY, nazwisko VARCHAR2(15) NOT NULL, … plec CHAR(1) CHECK(plec=‘K’ OR plec=‘M’) ); 2005/2006 Wykład "Podstawy baz danych" 6 Modyfikowanie tabel Modyfikowanie parametrów tabel: ALTER TABLE nazwa_tabeli [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ STORAGE ( [ NEXT liczba [ K | M ]] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] ]; [ MAXEXTENS liczba ] ) ]; 2005/2006 Wykład "Podstawy baz danych" 7 Tworzenie indeksu CREATE [ BITMAP ] INDEX nazwa_indeksu ON { nazwa_tabeli ( atrybut [,atrybut [...] ] ) | CLUSTER nazwa_klastra } [ PCTFREE liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ TABLESPACE nazwa_przestrzeni ] [ STORAGE ( [ INITIAL liczba [ K | M ]] [ NEXT liczba [ K | M ] ] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] [ MAXEXTENS liczba ] ) ] [ REVERSE ]; 2005/2006 Wykład "Podstawy baz danych" 8 Modyfikowanie indeksu ALTER INDEX nazwa_indeksu [ PCTFREE liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ STORAGE ( [ NEXT liczba [ K | M ] ] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] [ MAXEXTENS liczba ] ) ] [ REBUILD ] ); DROP INDEX nazwa_indeksu; 2005/2006 Wykład "Podstawy baz danych" 9 Widoki (Perspektywy) Widok (perspektywa) jest to logiczna tabela bazująca na jednej lub wielu tabelach. Utworzyć widok może właściciel tabel, użytkownik posiadający do nich co najmniej uprawnienia SELECT lub administrator. CREATE VIEW [user.]view [(alias [, alias] ...)] AS query [ WITH CHECK OPTION ] ; 2005/2006 Wykład "Podstawy baz danych" 10 Widoki (Perspektywy) Parametry: query - identyfikuje kolumny i wiersze tabel, na których bazuje widok. Zapytanie może być dowolnym poprawnym rozkazem SELECT nie zawierającym klauzul ORDER BY ani FOR UPDATE. informuje, że wstawienia i zmiany wykonywane poprzez widok, są niedozwolone jeśli spowodują wygenerowanie wierszy, które będą niedostępne dla widoku. WITH CHECK OPTION - Klauzula WITH CHECK OPTION może być użyta w widoku bazującym na innym widoku. 2005/2006 Wykład "Podstawy baz danych" 11 Widoki (Perspektywy) CREATE VIEW v_osoby AS SELECT * FROM osoby WHERE plec=‘M’ WITH CHECK OPTION ; INSERT INTO v_osoby VALUES ( 50, ‘Murek', ‘Jan',NULL,TO_DATE('03/05/1980','dd/mm/yyyy'), 'M'); INSERT INTO v_osoby VALUES ( 60, ‘Murek', ‘Janina',NULL, TO_DATE('03/05/1980','dd/mm/yyyy'), ‘K'); BŁĄD w linii 1: ORA-01402: naruszenie klauzuli WHERE dla perspektywy z WITH CHECK OPTION 2005/2006 Wykład "Podstawy baz danych" 12 Klastry Indeksowy Haszowy CREATE CLUSTER nazwa_klastra CREATE CLUSTER nazwa_klastra ( atrybut typ [,atrybut typ [,........] ] ( atrybut typ [,atrybut typ [,........] ] [ PCTFREE liczba ] [ PCTFREE liczba ] [ PCTUSED liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ MAXTRANS liczba ] [ SIZE liczba [ K | M] ] [ SIZE liczba [ K | M] ] [ TABLESPACE nazwa_przestrzeni ] [ TABLESPACE nazwa_przestrzeni ] [ STORAGE [ STORAGE ( [ INITIAL liczba [ K | M ]] ( [ INITIAL liczba [ K | M ]] [ NEXT liczba [ K | M ] ] [ NEXT liczba [ K | M ] ] [ PCTINCREASE liczba ] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] [ MINEXTENS liczba ] [ MAXEXTENS liczba ] ) ]; [ MAXEXTENS liczba ] ) ] HASHKEY liczba; 2005/2006 Wykład "Podstawy baz danych" 13 Klastry Tworzenie indeksu na klastrze: CREATE INDEX nazwa_indeksu ON CLUSTER nazwa_klastra; Usuwanie klastra: DROP CLUSTER nazwa_klastra [ INCLUDE TABLE [ CASCADE CONSTRAINTS ] ]; 2005/2006 Wykład "Podstawy baz danych" 14 Klastry Systemowa funkcja haszowa to x mod liczba. 1 13 6, 2 Funkcja haszowa x mod 5 3 13, 18, 4 9, 13 mod 5 = 3 2005/2006 Wykład "Podstawy baz danych" 15