Po zakończeniu tej lekcji będziesz w stanie:

Wielkość: px
Rozpocząć pokaz od strony:

Download "Po zakończeniu tej lekcji będziesz w stanie:"

Transkrypt

1 Zarządzanie danymi wycofania Cele Po zakończeniu tej lekcji będziesz w stanie: Opisać zastosowanie danych wycofania Opisać zastosowanie danych wycofania Stosować automatyczne zarządzanie segmentami wycofania Tworzyć i konfigurować segmenty wycofania Uzyskiwać ze słownika danych informacje o segmentach wycofania

2 Przegląd metod zarządzania segmentami wycofania Dostępne są dwie metody zarządzania segmentami wycofania Zarządzanie automatyczne Zarządzanie Z d i ręczne Wykład omawia zarządzanie automatyczne Termin undo zastępuje w Oracle10g/11g termin rollback z poprzednich wersji

3 Segment wycofania Stary obraz danych Tabela Nowy obraz Segment wycofania Modyfikacja danych

4 Segmenty wycofania: zastosowania Wycofanie transakcji Odtwarzanie transakcji? Spójność odczytu Segment Odtwarzanie bloków wycofania danych przez powtarzanie zmian i wycofanie transakcji po otwarciu bazy

5 Spójność odczytu Tabela SELECT * FROM table Nowy obraz danych Obraz z czasu uruchamiania polecenia SELECT

6 Typy segmentów wycofania SYSTEM: wykorzystywany przez obiekty z przestrzeni tabel SYSTEM (zawsze w przestrzeni SYSTEM) Niesystemowe: wykorzystywane przez obiekty z innych przestrzeni tabel: Tryb Auto: wymaga przestrzeni tabel wycofania Tryb ręczny (segmenty są tworzone przez administratora): Prywatne: pobierane przez pojedynczą instancję Publiczne: pobierane przez wiele instancji Opóźnione: tworzone automatycznie podczas wyłączania przestrzeni eni tabel w trybach immediate, temporary lub for recovery

7 Koncepcja automatycznego zarządzania segmentami wycofania Dane wycofania są umieszczane w przestrzeni tabel wycofania (undo tablespace). Pojedyncza instancja może się posługiwać jedną przestrzenią wycofania o rozmiarze dostosowanym do obciążenia systemu. Serwer Oracle automatycznie zarządza danymi wycofania umieszczonymi w przestrzeni wycofania (undo tablespace).

8 Konfiguracja automatycznego zarządzania segmentami wycofania Automatyczne zarządzanie segmentami wycofania konfigurujemy poprzez parametry inicjalizacyjne: UNDO_MANAGEMENT UNDO_TABLESPACE UNDO_RETENTION Należy utworzyć przynajmniej jedną przestrzeń wycofania. undo1db01.dbf Plik parametrów inicjlizacyjnych Przestrzeń wycofania

9 Parametry automatycznego zarządzania segmentami wycofania UNDO_MANAGEMENT: Określa, czy system ma pracować w trybie AUTO czy MANUAL. UNDO_TABLESPACE: Określa aktywną dla instancji przestrzeń wycofania. UNDO_MANAGEMENT=AUTO UNDO_TABLESPACE=UNDOTBS UNDO_RETENTION Pozwala na kontrolę danych wycofania wykorzystywanych dla uzyskania spójności odczytu UNDO_SUPPRESS_ERRORS Ustawiony na wartość TRUE, umożliwia uniknięcie ę błędów ę wykonania poleceń SQL charakterystycznych dla ręcznego zarządzania segmentami wycofania.

10 Modyfikowanie przestrzeni wycofania Zmiany w przestrzeni wycofania można realizować przy pomocy polecenia ALTER TABLESPACE. Przykład: Dodanie nowego pliku danych do przestrzeni wycofania UNDOTBS: ALTER TABLESPACE undotbs ADD DATAFILE 'undotbs2.dbf' SIZE 30M AUTOEXTEND ON;

11 Zmiana aktywnej przestrzeni wycofania Można zmienić aktywną przestrzeń wycofania dla instancji. Tylko jedna przestrzeń wycofania jest w danej chwili aktywna dla danej instancji. Można utworzyć więcej niż jedną przestrzeń wycofania, ale tylko jedna może być przestrzenią aktywną. By dynamicznie zmienić aktywną przestrzeń wycofania należy wykonać polecenie ALTER SYSTEM: ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2; UNDOTBS2

12 Usuwanie przestrzeni wycofania Przestrzeń wycofania usuwamy przy pomocy polecenia DROP TABLESPACE. DROP TABLESPACE UNDOTBS2; Przestrzeń wycofania może zostać usunięta, jeżeli nie jest wykorzystywana przez instancję. Aby usunąć aktywną przestrzeń wycofania należy: Przełączyć instancję na inną przestrzeń wycofania Po zakończeniu wszystkich transakcji piszących do danej przestrzeni tabel można ją wyłączyć lub usunąć

13 Statystyki danych wycofania SELECT end_time,begin_time,undoblks FROM v$undostat; END_TIME BEGIN_TIME UNDO JAN-01 13:44:18 22-JAN-01 13:43: JAN-01 13:43:04 22-JAN-01 13:33: JAN-01 13:33:04 22-JAN-01 13:23: JAN-01 13:23:04 22-JAN-01 13:13: JAN-01 13:13:04 22-JAN-01 13:03: JAN-01 13:03:04 22-JAN-01 12:53: JAN-01 12:53:04 22-JAN-01 12:43: JAN-01 12:43:04 22-JAN-01 12:33: JAN-01 12:33:04 22-JAN-01 12:23:

14 Tworzenie przestrzeni wycofania Przestrzeń wycofania można utworzyć podczas tworzenia bazy danych przez zastosowanie odpowiedniej d i klauzuli li polecenia CREATE DATABASE CREATE DATABASE db01... UNDO TABLESPACE undo1 DATAFILE 'undo1db01.dbf' SIZE 20M AUTOEXTEND ON Można też utworzyć ją później przy pomocy polecenia CREATE UNDO TABLESPACE CREATE UNDO TABLESPACE undo1 DATAFILE 'undo1db01.dbf' SIZE 20M;

15 Ustalanie rozmiaru przestrzeni wycofania Wyznaczenie rozmiaru przestrzeni wycofania wymaga następujących informacji (UR) UNDO_RETENTION w sekundach (UPS) Liczby bloków wycofania generowanych na sekundę (DBS) Rozmiar bloku danych wycofania Narzutu zależnego od rozmiarów ekstentów i plików danych UndoSpace = [UR * (UPS * DBS)] + (DBS * 24)

16 Kwoty wycofania Długie i źle zaimplementowane transakcje mogą konsumować znaczną ilość zasobów systemowych Gdy korzystamy y z kwot wycofania Resource Managera, użytkownicy mogą zostać przypisani do grup dla których określamy maksymalną ilość jednocześnie utrzymywanych danych wycofania Dyrektywa UNDO_POOL Resource Managera pozwala na zdefiniowanie maksymalnej ilości miejsca, którą mogą zajmować dane wycofania danej grupy konsumentów zasobów. Po przekroczeniu ograniczenia nie można w danej grupie uruchamiać nowych transakcji do momentu zredukowania ilości danych wycofania poniżej przyznanej kwoty.

17 Informacje o segmentach wycofania Perspektywy słownika danych DBA_ROLLBACK_SEGS Dynamiczne perspektywy wydajności V$ROLLNAME V$ROLLSTAT V$UNDOSTAT$ V$SESSION V$TRANSACTION

18 Podsumowanie Zostały omówione następujące zagadnienia: Konfigurowanie automatycznego zarządzania segmentami wycofania Tworzenie przestrzeni wycofania Ustalanie odpowiedniego rozmiaru przestrzeni wycofania

19 Obsługa segmentów tabel i indeksów Cele Po zakończeniu tej lekcji będziesz w stanie: Wymienić różne metody składowania danych Opisać typy danych Oracle Znać różnice pomiędzy rozszerzonym i ograniczonym ROWID Opisać strukturę wiersza Tworzyć tabele Zarządzać przestrzenią tabeli Reorganizować, ć obcinać ć i usuwać ć tabele Usuwać z tabeli niepotrzebne kolumny

20 Składowanie danych użytkowników Zwykła tabela Tabela partycjonowana Tabela indeksowa Klaster

21 Typy danych Oracle Typy danych Zdefiniowane Wbudowane Skalarne CHAR(N), NCHAR(N) VARCHAR2(N), NVARCHAR2(N) NUMBER(P,S) DATE TIMESTAMP RAW(N) BLOB, CLOB, NCLOB, BFILE LONG, LONG RAW ROWID, UROWID Kolekcje VARRAY TABLE Powiązania REF

22 Tabele SQL> CREATE TABLE orders ( 2 orderid NUMBER(3)NOT NULL, 3 orderdate DATE, 4 shipdate DATE, 5 client VARCHAR2(3)NOT NULL, 6 amount_due NUMBER(10,2), 7 amount_paid NUMBER(10,2)) 8 PCTFREE 5 PCTUSED 65 9 STORAGE ( 10 INITIAL 5M 11 NEXT 5M 12 PCTINCREASE 0 13 MINEXTENTS 2 14 MAXEXTENTS 50) 15 TABLESPACE users; Table created.

23 Struktura wiersza Blok danych Oracle Nagłówek wiersza Długość kolumny Wartość kolumny

24 Tabele struktura bloku Nagłówek Bloku Nagłówek wiersza Długość kolumny 1 Dane kolumny 1 Długość kolumny 2 Dane kolumny 2 Dane kolumny 2 Długość kolumny 3 Dane kolumny 3 Długość kolumny 4-NULL Długość kolumny 5 Dane kolumny 5 Dane kolumny 6 Długość kolumny 6 Dane kolumny 6 Wskaźnik do Reszty Wiersza Wiersz w łańcuchu Dane kolumny 6 Nagłówek Bloku Łańcucha Dane kolumny 7 ciąg dalszy

25 Struktura bloku tabeli Blok Nagłówek PCTFREE Rośnie od góry do dołu Rośnie od dołu do góry DANE PCTUSED

26 Struktura nagłówka bloku Wskaźnik wiersza Wskaźnik wiersza Wskaźnik wiersza Wskaźnik wiersza Wskaźnik wiersza Wkź Wskaźnik wiersza Wkź Wskaźnik wiersza Zapis transakcji Zapis transakcji Zapis transakcji Zapis transakcji

27 Format ROWID Format rozszerzonego ROWID OOOOOO FFF BBBBBB RRR Numer obiektu danych Względny nr pliku Numer bloku Numer wiersza Format ograniczonego ROWID BBBBBBBB. RRRR. FFFF Numer bloku Numer wiersza Numer pliku

28 Tworzenie tabel CREATE TABLE schema. table, ( ) column datatype table_constraint DEFAULT expr column_constraint PCTFREE integer PCTUSED integer INITRANS integer MAXTRANS integer TABLESPACE name STORAGE storage_clause LOGING NOLOGING, CLUSTER cluster ( column ) PARALLEL parallel_clause ENABLE enable_clause DISABLE disable_clause AS subquery CACHE NOCACHE

29 Tworzenie tabel STORAGE ( INITIAL integer ) K M NEXT integer K M MINEXTENTS integer MAXEXTENTS integer PCTINCREASE integer FREELISTS integer FREELISTS GROUPS integer

30 Tworzenie tabeli CREATE TABLE hr.employees( employee_id NUMBER(6), first_name VARCHAR2(20), last_name VARCHAR2(25) VARCHAR2(25) phone_number VARCHAR2(20) hire_date DATE DEFAULT SYSDATE job_id VARCHAR2(10) salary NUMBER(8,2) commission_pct NUMBER (2,2) manager_id NUMBER(6) department_id NUMBER(4) );

31 Tworzenie tabel SQL> CREATE TABLE dept 2 (deptno NUMBER (7), 3 name 4 location NUMBER (3)) 5 PCTFREE 20 PCTUSED 75 VARCHAR2(30) PRIMARY KEY, 6 STORAGE (PCTINCREASE 0 7 MAXEXTENTS 99)) 8 TABLESPACE Table created. users;

32 Tworzenie tabel: wskazówki Umieszczaj tabele w osobnych przestrzeniach tabel. W celu uniknięcia fragmentacji stosuj lokalnie zarządzane przestrzenie tabel. W celu uniknięcia fragmentacji stosuj kilka standardowych rozmiarów ekstentów.

33 Modyfikacja tabel (1) ALTER TABLE schema. table, ADD ( column datatype ) table_constraint DEFAULT expr, column_constraint MODIFY ( column datatype DEFAULT expr column_constraint ) PCTFREE integer PCTUSED integer INITRANS integer MAXTRANS integer STORAGE storage_clause DROP drop_clause

34 Modyfikacja tabel (2) ENABLE enable_clause TABLE LOCK DISABLE disable_clause TABLE LOCK PARALLEL parallel_clause NOCACHE CACHE

35 Modyfikacja tabel - alokacja extentów (przestrzenie zarządzane ą przez słownik danych) ALLOCATE EXTENT ( SIZE integer K ) M DATAFILE filename INSTANCE integer DEALLOCATE UNUSED KEEP integer K M SQL> ALTER TABLE reserve 2 STORAGE (MAXEXTENTS PCTINCREASE 100); Table altered. SQL> ALTER TABLE too_small 2 ALLOCATE EXTENT ( SIZE 800K 3 DATAFILE /u02/oracle/test/user01.dbf ); /O 0 Table altered.

36 Reorganizacja tabel niepartycjonowanych ALTER TABLE hr.employees MOVE TABLESPACE data1; Powyższe polecenie przenosi dane tabeli do nowego segmentu wraz z indeksami, więzami integralności, przywilejami itp. Jest ono stosowane do przenoszenia tabeli do innej przestrzeni tabel lub reorganizacji ekstentów

37 Zmiana parametrów składowania (dotyczy przestrzeni zarządzanych przez słownik danych) ALTER TABLE hr.employees PCTFREE 30 PCTUSED 50 STORAGE(NEXT 500K MINEXTENTS 2 MAXEXTENTS 100);

38 Obcięcie tabeli TRUNCATE TABLE hr.employees; Obcięcie tabeli powoduje usunięcie z niej wszystkich danych i zwolnienie i zajętej j przestrzeni. Indeksy obcinanej tabeli są również obcinane.

39 Usuwanie kolumny Aby usunąć ć kolumnę z tabeli należy ż wykonać ć następujące polecenie: ALTER TABLE hr.employees DROP COLUMN comments CASCADE CONSTRAINTS CHECKPOINT 1000; Usunięcie kolumny wraz z danymi powoduje zwolnienie miejsca w blokach danych Usuwanie kolumny z dużej tabeli może zająć znaczącą ą ą ilość czasu

40 Stosowanie opcji UNUSED Zaznaczenie kolumny jako nieużywanej ALTER TABLE hr.employees SET UNUSED COLUMN comments CASCADE CONSTRAINTS; Usunięcie nieużywanych kolumn ALTER TABLE hr.employees DROP UNUSED COLUMNS CHECKPOINT 1000; Kontynuacja operacji usuwania kolumn ALTER TABLE hr.employees DROP COLUMNS CONTINUE CHECKPOINT 1000;

41 Usuwanie tabel DROP TABLE schema. table CASCADE CONSTRAINTS Przykład: DROP TABLE hr.department CASCADE CONSTRAINTS;

42 Uzyskiwanie informacji o tabelach Informacje o tabelach w bazie danych można uzyskać z perspektyw słownika danych: DBA_TABLES DBA_OBJECTS DBA_SEGMENTS

43 Podsumowanie W lekcji tej omówiono następujące zagadnienia: Różnice pomiędzy rozszerzonym i ograniczonym ROWID Struktura wiersza Tworzenie tabel Zarządzanie strukturami składowania wewnątrz tabeli Reorganizacja, obcięcie i i usunięcie i tabeli Usuwanie kolumny z tabeli

44 Zarządzanie indeksami Cele Po zakończeniu tej lekcji będziesz w stanie: Wymienić różne typy indeksów i ich zastosowania Tworzyć indeksy różnych typów Reorganizować indeksy Usuwać indeksy Uzyskiwać ze słownika danych informacje o indeksach Uzyskiwać ze słownika danych informacje o indeksach Monitorować wykorzystanie indeksów

45 Klasyfikacja indeksów Logiczna Oparte o pojedynczą kolumnę lub skonkatenowane Unikalne lub nieunikalne ik Wyrażeniowe(oparte na wyrażeniach) Domenowe (np. w opcji SPATIAL) Fizyczna Partycjonowane lub niepartycjonowane B-drzewowe Zwykłe lub z kluczem odwróconym Bitmapowe

46 Indeks b-drzewowy Zapis indeksowy w bloku liścia Korzeń Węzeł Liść Nagłówek zapisu Długość kolumny klucza Wartość kolumny klucza ROWID

47 Przykład B*- drzewa (B*-Tree) SEGMENT INDEKSU Blok korzenia indeksu JONES Bloki pośrednie ALLEN FORD JONES MARTIN SMITH WARD Bloki- liście ADAMS ALLEN BLAKE-rowid CLARK-rowid FORD-rowid JAMES JONES KING MARTIN MILLER SCOTT SMITH TURNER WARD Wskaźniki następny/poprzedni liść Wyszukiwanie po ROWID SEGMENT DANYCH 7782 CLARK 7698 BLAKE 7902 FORD

48 Indeksy bitmapowe Alternatywa dla normalnych indeksów typu B*-Tree w sytuacjach gdy: Tabele są bardzo duże (miliony wierszy). Tabele mają kolumny z niską kardynalnością - kolumny, w których liczba różnych wartości jest mała (np. płeć, wiek, stan cywilny, kod pocztowy). Zapytania mają indeksy bitmapowe na wszystkich kolumnach zwykle używanych w klauzulach WHERE. Zapytania mają klauzule WHERE z warunkami spełnianymi przez tysiące wierszy.

49 Koncepcja indeksów bitmapowych Mapa bitowa dla każdej wartości, zapis dla każdego wiersza. Efektywna kombinacja bitmap korzystająca z operacji logicznych (AND, OR,...). Znaczna redukcja zużycia przestrzeni w porównaniu z innymi metodami indeksowania. y Duża poprawa wydajności dla niektórych zapytań.

50 Indeksy bitmapowe : Kiedy z nich korzystać? Zapytania zawierające: Kolumny o niskiej kardynalności Kombinację wielu warunków WHERE Każdy predykat daje dużą liczbę wierszy Alternatywa dla indeksów skonkatenowanych dająca: Dużo lepsze wykorzystanie y przestrzeni Niezależna od kolejności kolumn Jeśli działania polegają głównie na odczycie danych, a mało jest modyfikacji Indeksy bitmapowe są kosztowne przy modyfikacjach

51 Indeks bitmapowy Tabela Plik 3 Blok 10 Blok 11 Indeks Blok 12 klucz Pocz. ROWID Koń. ROWID mapa botowa <Blue, , , > <Green, , , > <Red, , , > <Yellow, , , >

52 Porównanie indeksów b-drzewowych z bitmapowymi B-drzewowe Dobre dla kolumn o wysokiej kardynalności Modyfikacje klucza względnie tanie Nieefektywne dla zapytań z OR-ami Użyteczne w OLTP Bitmapowe Dobre dla kolumn o niskiej kardynalności Modyfikacje klucza bardzo kosztowne Efektywne dla zapytań z OR-ami Użyteczne w DSS

53 Tworzenie indeksu b-drzewowego CREATE INDEX hr.employees_last_name_idx ON hr.employees(last_name) PCTFREE 30 TABLESPACE indx; Tworzenie indeksów bitmapowych Aby określić ilośc pamięci przeznaczoną do tworzenia indeksów bitmapowych należy ustawić parametr CREATE_BITMAP_AREA_SIZE. CREATE BITMAP INDEX orders_region_id_idxregion id idx ON orders(region_id) PCTFREE 30 TABLESPACE indx;

54 Tworzenie indeksów: wskazówki Porównaj wymagania zapytań i operacji DML Umieść indeksy w innej przestrzeni tabel niż tabele Stosuj standardowe rozmiary ekstentów: klauzule MINIMUM EXTENT lub UNIFORM SIZE dla przestrzeni tabel Rozważ stosowanie opcji NOLOGGING dla dużych indeksów INITRANS powinien być zwykle ustawiany w indeksach na wartość większą niż w tabelach.

55 Indeksy unikatowe Indeks na EMP (EMPNO) KLUCZ ROWID EMPNO (BLOCK# ROW# FILE#) F F F F F F F Tabela EMP EMPNO ENAME JOB ALLEN 7369 SMITH 7521 WARD 7566 JONES SALESMAN CLERK SALESMAN MANAGER 7654 MARTIN SALESMAN 7698 BLAKE 7782 CLARK MANAGER MANAGER

56 Indeksy nieunikatowe Indeks na EMP (ENAME) KLUCZ ROWID ENAME (BLOCK# ROW# FILE#) ALLEN BLAKE CLARK JONES JONES F F F F F MARTIN F SMITH F SMITH SMITH F F WARD F Tabela EMP ENAME JOB SAL DEPNO SMITH ALLEN WARD JONES JONES CLERK SALESMAN SALESMAN MANAGER CLERK MARTIN SALESMAN BLAKE CLARK SMITH MANAGER MANAGER MANAGER SMITH MANAGER

57 Indeksy skonkatenowane Indeks na EMP (DEPTNO, ENAME) KLUCZ ROWID Tabela EMP DEPTNO ENAME (BLOCK# ROW# FILE#) ADAMS F CLARK 10 FORD 10 KING 10 MILLER 20 JONES F F F F F ENAME JOB SAL DEPNO SMITH ALLEN WARD JONES MARTIN BLAKE... CLARK CLERK SALESMAN SALESMAN MANAGER SALESMAN MANAGER MANAGER

58 CREATE ON Tworzenie indeksu INDEX UNIQUE schema. BITMAP index table ( column ) schema. ASC DESC CLUSTER cluster schema., INITRANS integer MAXTRANS integer TABLESPACE name STORAGE storage_clause PCTFREE integer NOSORT LOGING NOLOGING PARALLEL parallel_clause STORAGE ( INITIAL integer ) K NEXT integer MINEXTENTS integer MAXEXTENTS integer PCTINCREASE integer FREELISTS integer K FREELISTS GROUPS integer M M

59 Tworzenie indeksu SQL> CREATE INDEX ind_emp_empno ON EMP(EMPNO); SQL> CREATE INDEX ind_emp_empno empno ON EMP(EMPNO) 2 TABLESPACE users 3 STORAGE (INITIAL 500K NEXT 500K PCTINCREASE 75); SQL> CREATE INDEX ind_parts ON PARTS(set_no, part_no) 2 TABLESPACE tbs_ind 3 STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0) PCTFREE 0;

60 Obsługa indeksów Przy korzystaniu z indeksów wyważamy wydajność pomiędzy Prędkością pobierania danych z tabeli. Prędkością modyfikowania tabeli. Parametry storage dla indeksów INITRANS MAXTRANS PCTFREE INITIAL NEXT MAXEXTENTS MINEXTENTS PCTINCREASE (PCTUSED nie może zostać podany dla indeksu)

61 Baza danych klienta USER DISK 1 SYSTEM DISK USER DISK 3 USER DISK 2 TABLESPACE SYSTEM TABLESPACE TBS_DATA TABLESPACE TBS_INDEX

62 Obsługa indeksów Wartość PCTFREE Powinna być duża jeśli do poindeksowanej tabeli będzie wstawiane dużo wierszy. Powinna być mała, jeśli do poindeksowanej tabeli wiersze nie będą wstawiane w ogóle lub będzie ich wstawianych niewiele. Wartości INITRANS i MAXTRANS mogą być niskie jeśli: Wartości INITRANS i MAXTRANS mogą być niskie jeśli: Pozycje indeksu są duże (np. klucz złożony, długie kolumny klucza). Niewielu użytkowników równocześnie odwołuje się do poindeksowanej tabeli, a więc i do indeksu.

63 Sprawdzenie poprawności indeksów ANALYZE INDEX orders_ region _ id_ idx VALIDATE STRUCTURE; INDEX_STATS

64 Monitorowanie indeksów SQL> SELECT btree_space, used_space, pct_used 2 FROM index_stats 3 WHERE name = TAB TAB_INDEX INDEX ; BTREE_ SPACE USED_ SPACE PCT_ USED

65 Modyfikacja indeksów ALTER INDEX schema. index PCTFREE integer INITRANS integer MAXTRANS integer STORAGE storage_clause ALLOCATE EXTENT ( SIZE integer ) K M DATAFILE `filename` INSTANCE integer DEALLOCATE UNUSED KEEP integer K M REBUILD PARALLEL integer NOPARALLEL LOGING NOLOGING TABLESPACE tablespace ONLINE

66 Ręczna alokacja i dealokacja ekstentów w indeksach (przestrzenie zarządzane przez słownik danych) ALTER INDEX orders_region_id_idx ALLOCATE EXTENT (SIZE 200K DATAFILE /DISK6/indx01.dbf ); ALTER INDEX orders_id_idx DEALLOCATE UNUSED;

67 Przebudowa indeksów Polecenia ALTER INDEX należy użyć w celu: przeniesienia indeksu do innej przestrzeni tabel zwiększenia stopnia utylizacji przestrzeni poprzez skasowanie usuniętych wpisów indeksowych przebudowania indeksu z kluczem odwrotnym na zwykły indeks b-drzewowy i odwrotnie zebrania nowych statystyk Bez klauzuli li online wydaje żądania d i w trybie no wait ALTER INDEX orders_region_id_idx REBUILD TABLESPACE indx02;

68 Przebudowa indeksów Online Przebudowa indeksów ONLINE wymaga założenia jedynie minimalnych, dzielonych blokad na tabeli ALTER INDEX orders_id_idx REBUILD ONLINE; Wydawane są żądania w trybie wait wait pozwalające na oczekiwanie na zwolnienie blokad Pewne ograniczenia nadal istnieją

69 Scalanie indeksów Przed scaleniem Po scaleniu ALTER INDEX orders_id_idx COALESCE;

70 Usuwanie indeksów Usuń indeks przed masowym załadunkiem danych. Usuwaj indeksy, które nie są zbyt często potrzebne, twórz je kiedy zajdzie potrzeba ich wykorzystania. Usuwaj i ponownie twórz indeksy uszkodzone. DROP INDEX schema. index DROP INDEX hr.deptartments_name_idx;

71 Identyfikacja nieużywanych indeksów Aby uruchomić obserwację stosowania indeksu: ALTER INDEX summit.orders_id_idx id id MONITORING USAGE Aby zatrzymać ć obserwację stosowania indeksu: ALTER INDEX summit.orders_ id_ idx NOMONITORING USAGE Perspektywa V$OBJECT_USAGE zawiera informację o wykorzystaniu indeksów w okresie monitorowania

72 Uzyskiwanie informacji o indeksach Informacje o indeksach mogą zostać uzyskane przy pomocy słownika danych. DBA_INDEXES: zawiera informacje o indeksach DBA_ IND_ COLUMNS: zawiera informacje o kolumnach kluczy indeksowych DBA_IND_EXPRESSIONS: _ zawiera informacje o indeksach opartych na wyrażeniach. V$OBJECT_USAGE: zawiera informacje o stosowaniu indeksów

73 Podsumowanie W lekcji tej omówiono następujące zagadnienia: Tworzenie indeksów różnych typów Reorganizacja indeksów Usuwanie indeksów Uzyskiwanie ze słownika danych informacji o indeksach Monitorowanie stosowania indeksów

74 Zarządzanie alternatywnymi segmentami danych (klastry) Zakres wykładu Opisanie zalet i wad stosowania klastrów. Tworzenie klastra. Opisanie metody haszowania. Tworzenie klastra haszującego.

75 Przegląd Typ Segmentu Danych Klaster indeksowy Klaster haszujący Funkcja Zawiera wiersze jednej lub wielu tabel pogrupowane fizycznie na podstawie wartości pewnej kolumny tabeli. Zawiera wiersze pewnej tabeli pogrupowane fizycznie przez zastosowanie algorytmu haszowania.

76 Klastry Indeksowe Klaster Klucz klastra (DEPTNO) 10 DNAME LOC SALES BOSTON EMPNO ENAME 1000 SMITH 1321 JONES 1841 WARD 20 DNAME LOC ADMIN NEW YORK EMPNO ENAME 932 KEHR 1139 WILSON 1277 NORMAN Tabela EMP EMPNO ENAME DEPTNO KEHR SMITH WILSON NORMAN JONES WARD 10 DEPTNO DNAME LOC SALES BOSTON 20 ADMIN NEW YORK Sklastrowane tabele Samodzielne tabele

77 Zarządzanie ą klastrami Tabele Kandydujące do Klastra Najczęściej przeszukiwane, rzadko aktualizowane. Zawierające powtarzające się wartości w kolumnach klucza obcego. Tabele często ę łączone. Indeks Klastra Używany do szybkiego znalezienia wartości klucza klastra (wiersze o danej wartości klucza). Wskazuje blok danych zawierający wartość klucza klastra (wiersze o danej wartości klucza). Pozwala na dostęp do wiersza w minimum dwóch operacjach I/O.

78 Baza danych EMP_DEPT _CLU DYSK SYSTEMOWY DYSK UŻYTKOWNIKA 1 EMP_DEPT _CLU_IND DYSK UŻYTKOWNIKA 2 SYSTEM TBS_DATA TBS_INDEX

79 Zarządzanie klastrami Parametr SIZE Argument opcjonalny. Określa przybliżoną liczbę bajtów potrzebną na przechowywanie przeciętnego klucza klastra i wszystkich związanych z nim wierszy. Wyznacza liczbę kluczy klastra przechowywanych w pojedynczym bloku. Domyślnie serwer Oracle przechowuje jeden klucz klastra i związane z nim wiersze w jednym bloku danych.

80 Tworzenie klastra, CREATE CLUSTER schemat. klaster ( kolumna typ ) PCTFREE numer PCTUSED numer INITRANS numer MAXTRANS numer SIZE numer K M TABLESPACE przestrzeń_tabel STORAGE klauzula_przestrzeni INDEX PARALLEL ( DEGREE numer ) DEFAULT CACHE NOCACHE INSTANCES numer DEFAULT NOPARALLEL

81 Tworzenie indeksu klastra CREATE INDEX schemat. indeks ON CLUSTER schemat. klaster INITRANS numer MAXTRANS numer TABLESPACE przestrzeń_tabel STORAGE klauzula_przestrzeni PCTFREE numer NOSORT LOGING NOLOGING PARALLEL klauzula_równoległości

82 Tworzenie klastra SQL> CREATE CLUSTER cluster_t1_t2 T2 (dept NUMBER(3)) 2 SIZE TABLESPACE tbs_data 4 STORAGE ( INITIAL 30K ); Cluster created. SQL> CREATE INDEX i_clu_t1_t2 T2 2 ON CLUSTER cluster_t1_t2 3 TABLESPACE tbs_index; Index created. SQL> CREATE TABLE T1 (name VARCHAR2(20), hire_date DATE, 2 deptno NUMBER(3)) 3 CLUSTER cluster_t1_t2 (deptno); Table created. SQL> CREATE TABLE T2 (deptno NUMBER(3), deptname VARCHAR2 (15)) 2 CLUSTER cluster_t1_t2 ( deptno ); Table created.

83 Modyfikowanie klastra W klastrze można zmodyfikować: Parametry zarządzania ą pamięcią. ę ą Parametry wykorzystania przestrzeni bloku danych (PCTFREE i PCTUSED). Średni rozmiar klucza klastra (SIZE). Ustawienia zapisów transakcji (INITRANS i MAXTRANS).

84 Modyfikowanie klastra ALTER CLUSTER schemat. klaster PCTFREE numer PCTUSED numer SIZE numer INITRANS numer MAXTRANS numer K M STORAGE klauzula_przestrzeni ALLOCATE EXTENT ( SIZE numer K ) M DATAFILE nazwapliku INSTANCE numer

85 Modyfikowanie klastra SQL> ALTER CLUSTER clu1 2 STORAGE (NEXT 200K PCTINCREASE 33); Cluster altered. SQL> ALTER CLUSTER clu2 2 SIZE 512; Cluster altered. SQL> ALTER CLUSTER clu3 2 PCTFREE 40 PCTUSED 10; Cluster altered.

86 Usuwanie klastra DROP CLUSTER schemat. klaster INCLUDING TABLES CASCADE CONSTRAINTS SQL> DROP CLUSTER clu1 2 INCLUDING TABLES; SQL> DROP TABLE t1; SQL> DROP TABLE t2; SQL> DROP CLUSTER t1 _ t2;

87 Zalety i wady klastrów indeksowych Klastry indeksowe umożliwiają szybszy y dostęp do wielu rekordów o tej samej wartości klucza klastra. Szybsze są operacje wybierania, aktualizacji i usuwania. Pojedyncza operacja wstawiania jest nieco wolniejsza niż w przypadku tabeli samodzielnej. Ładowanie danych do tabeli jest znacznie wolniejsze. Dla każdego rekordu musi być odczytywany indeks klastra w celu odszukania bloku w którym powinien wstawiony być wiersz. Ładowanie danych do tabel w klastrze wymaga wcześniejszego utworzenia indeksu.

88 Zalety i wady klastrów indeksowych Indeks klastra musi być częściej modyfikowany, więc generowanych jest więcej informacji wycofania i dziennika powtórzeń. Bloki mogą nie mieścić ś ić się w SGA i wtedy muszą być ć odczytywane wielokrotnie. Klastry indeksowe będą potencjalnie potrzebowały więcej przestrzeni niż zwykła tabela. Klastry indeksowe potencjalnie oszczędzają przestrzeń na indeksy i kolumny klucza. Ładowanie bezpośrednie nie jest możliwe.

89 Klaster haszujący zawierający tabelę ę TRIAL Z klastrem haszującym zwykle pojedyncza operacja I/O Klucz Klastra SELECT...FROM trial WHERE trialno = TRIALNO Kolumny Funkcja haszująca X 11103

90 Funkcja haszująca Funkcja haszująca Może być stosowana do jednej j kolumny lub klucza złożonego. Powinna powodować optymalne rozłożenie wierszy na wartości haszujące. Próbuje zminimalizować liczbę niepożądanych kolizji. Może być zdefiniowana przez użytkownika.

91 Tworzenie klastra haszującego, CREATE CLUSTER schemat. klaster ( kolumna typ ) PCTFREE liczba PCTUSED liczba INITRANS liczba MAXTRANS liczba SIZE liczba TABLESPACE przestrzeń_tabel STORAGE klauzula_przestrzeni INDEX K M HASHKEYS liczba HASH IS wyraż. CACHE PARALLEL ( DEGREE liczba ) NOCACHE DEFAULT INSTANCES liczba DEFAULT NOPARALLEL

92 Tworzenie klastra haszującego Blok dla kluczy haszujących 0, 1, 2 Nagłówek Wiersze, klucz haszujący = 1 Blok dla kluczy 3, 4, 5 Nagłówek Wiersze, klucz = 5 Wiersze, klucz = 4... Blok dla kluczy 39, 40 Blok nadmiarowy Nagłówek Wiersze, klucz = 3 Wiersze, klucz = 40 Nagłówek Wiersze, klucz = 39 Wiersze, klucz = 40

93 Tworzenie klastra haszującego SQL> CREATE CLUSTER emp_h_clu (JOB VARCHAR2(9)) 2 TABLESPACE ts_users 3 SIZE HASHKEYS 40; Cluster created.

94 Klauzula HASH IS (opcjonalna) Określa funkcję haszującą definiowaną przez użytkownika - jedyną kolumną klucza klastra. Klucz klastra składa się z pojedynczej kolumny typu NUMBER, która zawiera tylko liczby naturalne. Jeśli te warunki nie są spełnione, używana jest wewnętrzna ę funkcja haszująca.

95 SQL> Klauzula HASH IS CREATE CLUSTER emp_raise (employee_number NUMBER(4)) 2 TABLESPACE ts_user 3 HASHKEYS HASH IS employee_number 5 SIZE 55; Cluster created. SQL> CREATE TABLE compensation 2 (empno 3 ename NUMBER(4), VARCHAR2(10), 4 sal NUMBER(10, 2), 5 com NUMBER(9, 0)) 6 CLUSTER emp_raise(empno); Table created.

96 Funkcja haszująca definiowana przez użytkownika HASH IS MOD((home _ area _ code + home_prefix + home_suffix), 101)

97 Modyfikacja klastra haszującego ALTER CLUSTER schemat. klaster PCTFREE numer PCTUSED numer INITRANS numer MAXTRANS numer STORAGE klauzula_przestrzeni ALLOCATE EXTENT ( SIZE liczba K ) M DATAFILE nazwapliku INSTANCE liczba SQL> ALTER CLUSTER emp_raise 2 STORAGE (NEXT 400K PCTINCREASE 0 MAXEXTENTS 5); Cluster altered.

98 Usuwanie klastra haszującego DROP CLUSTER schemat. klaster INCLUDING TABLES CASCADE CONSTRAINTS SQL> DROP CLUSTER emp_raise 2 INCLUDING TABLES; Cluster dropped.

99 Zalety i wady klastrów haszujących Klastry haszujące to bardzo szybka metoda dostępu do pojedynczego rekordu. Klastry haszujące to bardzo szybka metoda dostępu do wielu rekordów o tej samej wartości klucza. Szybsze są ą operacje wybierania, aktualizacji i wyszukiwania, a pojedyncze wstawianie nie jest wolniejsze niż w przypadku zwykłej tabeli. Ładowanie danych do tabeli jest nieco wolniejsze. Cała przestrzeń musi być od razu rezerwowana, co sprawia, że klastry haszujące mają zastosowanie tylko gdy liczba rekordów szybko nie wzrasta.

100 Zalety i wady klastrów haszujących Pełny przegląd tabeli wymaga przejrzenia wszystkich przydzielonych y bloków, nawet jeśli nie zawierają wierszy. Klastry haszujące są używane tylko dla kryteriów przeszukiwań z równością. Istnieje ryzyko przepełnienia jeśli funkcja haszująca nie rozkłada równomiernie i danych. Klastry haszujące wymagają zwykle więcej przestrzeni niż zwykła tabela gdy liczba i/lub rozmiar rekordów z tym samym kluczem klastra jest zmienna. Klastry haszujące potencjalnie oszczędzają miejsce na indeks. Niemożliwe jest bezpośrednie ładowanie do tabeli w klastrze.

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

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji

Bardziej szczegółowo

Administracja bazy danych Oracle 10g

Administracja bazy danych Oracle 10g Administracja bazy danych Oracle 10g Oracle Database Administration część 5 Zmiana przestrzeni tabel użytkownika Za pomocą SQL*Plus alter user USER_NAME temporary tablespace TEMPOR_NAME; gdzie: USER_NAME

Bardziej szczegółowo

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

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678'); polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {

Bardziej szczegółowo

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

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)

Bardziej szczegółowo

startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora';

startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora'; Administrowanie systemami baz danych Ćwiczenia laboratoryjne (1) Podstawy uruchamiania serwera bazy danych 1. Przy pomocy programu Putty, połącz się z serwerem miner.cs.put.poznan.pl. Dla wygody otwórz

Bardziej szczegółowo

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi 1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) Tworząc tabelę nie możemy określić, do którego pliku trafi, lecz możemy określić do której grupy plików trafi Zawsze istnieje grupa zawierająca

Bardziej szczegółowo

Zarządzanie obiektami bazy danych Oracle11g

Zarządzanie obiektami bazy danych Oracle11g Zarządzanie obiektami bazy danych Oracle11g Wstęp Obiekty to struktury przechowujące, porządkujące lub operujące na danych takie jak: Tabele Więzy integralności Indeksy Widoki Sekwencje Procedury Linki

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze

Bardziej szczegółowo

Zbiór pytań nr 2. 1 Tabela DEPARTMENTS ma następującą strukturę:

Zbiór pytań nr 2. 1 Tabela DEPARTMENTS ma następującą strukturę: Zbiór pytań nr 2 1 Tabela DEPARTMENTS ma następującą strukturę: Nazwa kolumny Typ danych Uwagi dept_id NUMBER(4) NOT NULL, PRIMARY KEY dept_name VARCHAR2(30) mgr_id NUMBER(6) location_id NUMBER(4) Które

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,

Bardziej szczegółowo

Architektura Systemu Zarządzania Bazą Danych Oracle

Architektura Systemu Zarządzania Bazą Danych Oracle Architektura Systemu Zarządzania Bazą Danych Oracle Dane są przechowywane w plikach (miejsce na dysku wraz z przypisaną mu nazwą), których rozmiar z reguły nie jest stały jeśli zostaną wprowadzone jakieś

Bardziej szczegółowo

Przed modyfikacją buforów danych proces serwera zapisuje w buforze dziennika powtórzeń wszystkie zmiany dokonane w bazie danych.

Przed modyfikacją buforów danych proces serwera zapisuje w buforze dziennika powtórzeń wszystkie zmiany dokonane w bazie danych. Zapewnianie spójności i współbieżności transakcji Treść wykładu Rola procesu sekretarza dziennika (LGWR) w rejestrowaniu i zatwierdzaniu transakcji w plikach dziennika powtórzeń. Identyfikowanie i składników

Bardziej szczegółowo

Zarządzanie obiektami bazy danych Oracle11g

Zarządzanie obiektami bazy danych Oracle11g Zarządzanie obiektami bazy danych Oracle11g Wstęp Kontynuując ćwiczenia dotyczące obiektów w bazie Oracle, na dzisiejszych zajęciach zajmiemy sie: Indeksami Technologią Flashback Indeksy Indeksy to struktury,

Bardziej szczegółowo

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

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy

Bardziej szczegółowo

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

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu Zbiór pytań nr 5 1 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu connect athos/musketeer grant select,insert,update,delete on athos.services to porthos with grant option; grant

Bardziej szczegółowo

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

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

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

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska SQL TECHNOLOGIE BAZ DANYCH Wykład 5: Język DDL i DML. SQL (ang. StructuredQueryLanguage) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania

Bardziej szczegółowo

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

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie

Bardziej szczegółowo

Wydajność hurtowni danych opartej o Oracle10g Database

Wydajność hurtowni danych opartej o Oracle10g Database Wydajność hurtowni danych opartej o Oracle10g Database 123 Plan rozdziału 124 Transformacja gwiaździsta Rozpraszanie przestrzeni tabel Buforowanie tabel Różnicowanie wielkości bloków bazy danych Zarządzanie

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

System Oracle podstawowe czynności administracyjne

System Oracle podstawowe czynności administracyjne 6 System Oracle podstawowe czynności administracyjne Stany bazy danych IDLE nieczynna, pliki zamknięte, procesy tła niedziałaja NOMOUNT stan po odczytaniu pfile-a, zainicjowaniu SGA i uruchomieniu procesów

Bardziej szczegółowo

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

Bazy danych - Materiały do laboratoriów VIII

Bazy danych - Materiały do laboratoriów VIII Bazy danych - Materiały do laboratoriów VIII dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 23 kwietnia 2011 roku Polecenie COMMIT i ROLLBACK Polecenie

Bardziej szczegółowo

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się

Bardziej szczegółowo

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

Server Oracle - System Zarządzania Bazą Danych - składa się z instancji Oracle i bazy danych Oracle Instancja Oracle - pewne procesy drugoplanowe i

Server Oracle - System Zarządzania Bazą Danych - składa się z instancji Oracle i bazy danych Oracle Instancja Oracle - pewne procesy drugoplanowe i Server Oracle - System Zarządzania Bazą Danych - składa się z instancji Oracle i bazy danych Oracle Instancja Oracle - pewne procesy drugoplanowe i struktury pamięciowe - aby użytkownik mógł uzyskać dostęp

Bardziej szczegółowo

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

1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12 Plan wykładu Spis treści 1 Projekt fizyczny 1 2 Transformacja ML do PF 2 2.1 Definiowanie tabel............................... 2 2.2 Więzy integralności............................... 4 2.3 Modyfikacja

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Indeksowanie w bazach danych

Indeksowanie w bazach danych w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy

Bardziej szczegółowo

Uprawnienia, role, synonimy

Uprawnienia, role, synonimy Uprawnienia, role, synonimy Schemat, użytkownicy, autoryzacja użytkowników, uprawnienia systemowe i obiektowe, nadawanie i odbieranie uprawnień, tworzenie ról, przywileje, synonimy Schematy i użytkownicy

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

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

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 7. Metody Implementacji Baz Danych. 2009/ Notatki do wykładu "Podstawy baz danych" 1

PODSTAWY BAZ DANYCH. 7. Metody Implementacji Baz Danych. 2009/ Notatki do wykładu Podstawy baz danych 1 PODSTAWY BAZ DANYCH 7. Metody Implementacji Baz Danych 2009/2010 - Notatki do wykładu "Podstawy baz danych" 1 Przechowywanie danych w bazie 1. Dane przechowywane są w pamięci zewnętrznej podzielonej logicznie

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Optymalizacja poleceń SQL Metody dostępu do danych

Optymalizacja poleceń SQL Metody dostępu do danych Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,

Bardziej szczegółowo

Fizyczna struktura bazy danych w SQL Serwerze

Fizyczna struktura bazy danych w SQL Serwerze Sposób przechowywania danych na dysku twardym komputera ma zasadnicze znaczenie dla wydajności całej bazy i jest powodem tworzenia między innymi indeksów. Fizyczna struktura bazy danych w SQL Serwerze

Bardziej szczegółowo

Aspekty aktywne baz danych

Aspekty aktywne baz danych Aspekty aktywne baz danych Aktywne aspekty baz danych Baza danych powinna zapewniać pewne własności i niezmienniki; Własności te powinny mogą być zapisane do bazy danych, a baza danych powinna zapewniać

Bardziej szczegółowo

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

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2. Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny

Bardziej szczegółowo

Bazy danych 6. Klucze obce. P. F. Góra

Bazy danych 6. Klucze obce. P. F. Góra Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:

Bardziej szczegółowo

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

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2)

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wprowadzenie do projektowania i wykorzystania baz danych Relacje Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

Zarządzanie wolną przestrzenią w bloku. Rozszerzenia

Zarządzanie wolną przestrzenią w bloku. Rozszerzenia 73 Plan prezentacji 74 Struktury fizyczne i logiczne bazy danych Pliki bazy danych i kontrolne, i dziennika powtórzeń, i konfiguracyjne, i tymczasowe, i danych Bloki dyskowe format, struktura, zawartość,

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:

Bardziej szczegółowo

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem. Typy numeryczne Typy daty i czasu. W celu uniknięcia niejasności czy zapis 11-08-2005 oznacza - 11 sierpnia 2005, czy może 8 listopada 2005, należy ustalić sposób interpretacji daty (europejski lub amerykański).

Bardziej szczegółowo

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

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną

Bardziej szczegółowo

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

SQL - DDL. 1 Tabele systemowe. 2 Typy danych SQL - DDL DDL (ang. data definition language) jest częścią języka zapytań SQL obejmująca tworzenie i zarządzanie (modyfikację, usuwanie i przydzielanie uprawnień) obiektami w bazie danych (tabelami, perspektywami,

Bardziej szczegółowo

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu. Plan wykładu Spis treści 1 Dynamiczny SQL 1 2 Wyzwalacze 2 3 Podsumowanie 9 4 Źródła 9 1 Dynamiczny SQL Dynamiczny SQL Dynamiczny SQL - technika programowania umożliwiająca generowanie instrukcji SQL dynamicznie

Bardziej szczegółowo

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie

Bardziej szczegółowo

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

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą

Bardziej szczegółowo

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

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli SPOOL moj_plik SPOOL OFF @ moj_ plik edit CREATE TABLE DESCRIBE ALTER TABLE RENAME DROP TABLE CONNECT CONNECT USER_NAME DISCONNECT EXIT zapisuje wszystkie wydane polecenia oraz ich wyniki do pliku moj_plik,

Bardziej szczegółowo

Ile rekordów będzie zawierała tabela przy założeniu, że na początku była pusta?

Ile rekordów będzie zawierała tabela przy założeniu, że na początku była pusta? Gr Masyla: 1. Zaznacz poprawne stwierdzenia dotyczące opcji recovery model w MS SQL Server a) Ustawienie Simple pozwala zaoszczędzid miejsce na dysku b) Model full jest zalecany dla baz danych, w których

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

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

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Zadania do wykonania na laboratorium

Zadania do wykonania na laboratorium Lab Oracle Katowice 2013v1 Fizyczna i logiczna struktura bazy danych 1 http://platforma.polsl.pl/rau2/mod/folder/view.php?id=9975 RB_lab2_v04st Przykładowe pomocne strony www: Zadania do wykonania na laboratorium

Bardziej szczegółowo

Optymalizacja poleceń SQL Indeksy

Optymalizacja poleceń SQL Indeksy Optymalizacja poleceń SQL Indeksy Indeksy Dodatkowe struktury służące przyspieszaniu dostępu do danych. Tworzone dla relacji, są jednak niezależne logicznie i fizycznie od danych relacji. O użyciu indeksu

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Bazy danych wykład szósty Więzy i wyzwalacze. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Bazy danych wykład szósty Więzy i wyzwalacze. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa) Bazy danych wykład szósty Więzy i wyzwalacze Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa szósty Więzy i wyzwalacze 1 / 35 Wstęp Wiemy jak nakładać pewne ograniczenia (więzy) w

Bardziej szczegółowo

(c) Politechnika Poznańska, Instytut Informatyki

(c) Politechnika Poznańska, Instytut Informatyki Struktura bazy danych Oracle (c) Politechnika Poznańska, Instytut Informatyki 28 Organizacja przestrzeni danych struktury logiczne - przestrzenie tabel (ang. tablespaces), schematy, obiekty (relacje, indeksy,

Bardziej szczegółowo

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

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania 1. Zmodyfikuj strukturę relacji PROJEKTY, dodając do niej definicje następujących ograniczeń integralnościowych (użyj kilku poleceń):

Bardziej szczegółowo

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

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym. Modele - konceptualne reprezentacja obiektów w

Bardziej szczegółowo

Wyzwalacze. Anna Fiedorowicz Bazy danych 2

Wyzwalacze. Anna Fiedorowicz Bazy danych 2 Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

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 (1) Użytkownicy i schematy (2) baza danych: ZESP99 Plan ćwiczenia Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych Użytkownicy i schematy bazy danych. Uwierzytelnianie i autoryzacja. Przywileje systemowe i obiektowe. Role. Synonimy. Uprawnienia,

Bardziej szczegółowo

INDEKSY. Biologiczne Aplikacje Baz Danych. dr inż. Anna Leśniewska

INDEKSY. Biologiczne Aplikacje Baz Danych. dr inż. Anna Leśniewska INDEKSY Biologiczne Aplikacje Baz Danych dr inż. Anna Leśniewska alesniewska@cs.put.poznan.pl INDEKSY dodatkowe struktury służące przyspieszaniu dostępu do danych, tworzone dla relacji, są jednak niezależne

Bardziej szczegółowo

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (a) T (b) N (c) N (d) T

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (a) T (b) N (c) N (d) T PRZYKŁADOWE PYTANIA NA EGZAMIN Z PRZEDMIOTU ADMINISTRACJA BAZAMI DANYCH - 2005/2006-1- A Nazwisko i imię: Kierunek: Rok studiów: Pytanie 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Punkty 5 5 5

Bardziej szczegółowo

Tabela wewnętrzna - definicja

Tabela wewnętrzna - definicja ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy

Bardziej szczegółowo

Statystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.

Statystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych. Statystyki (1) Informacje, opisujące dane i struktury obiektów bazy danych. Optymalizacja poleceń SQL Część 2. Statystyki i histogramy, metody dostępu do danych Przechowywane w słowniku danych. Używane

Bardziej szczegółowo

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

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

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.

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. 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. 1 polecenie CREATE TABLE CREATE TABLE nazwa_relacji Tworzenie

Bardziej szczegółowo

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

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Zarządzanie strukturą bazy danych Oracle11g

Zarządzanie strukturą bazy danych Oracle11g Zarządzanie strukturą bazy danych Oracle11g Wstęp Baza danych Oracle przechowuje dane użytkowników oraz własne dane słownikowe w następujących strukturach logicznych: przestrzenie tabel segmenty extenty

Bardziej szczegółowo

Pakiety podprogramów Dynamiczny SQL

Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?

Bardziej szczegółowo

Obiekty bazy danych DB2

Obiekty bazy danych DB2 Obiekty bazy danych DB2 Obiektem bazy danych DB2 jest każdy składnik bazy danych DB2, jak: schematy, tabele, widoki, indeksy, sekwencje, aliasy, wyzwalacze, funkcje użytkownika (UDF-y), procedury zapamiętane,

Bardziej szczegółowo

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

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Ref. 7 - Język SQL - polecenia DDL i DML

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła 060 SQL FIZYCZNA STRUKTURA BAZY DANYCH Prof. dr hab. Marek Wisła Struktura tabeli Data dane LOB - Large Objects (bitmapy, teksty) Row-Overflow zawiera dane typu varchar, varbinary http://msdn.microsoft.com/en-us/library/ms189051(v=sql.105).aspx

Bardziej szczegółowo

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

Oracle 12c: Nowości w SQL i PL/SQL Oracle 12c: Nowości w SQL i PL/SQL Marek Wojciechowski Politechnika Poznańska, PLOUG Nowe możliwości w klauzuli DEFAULT Odwołania do sekwencji Obsługa jawnie wstawianych wartości NULL Wartości na poziomie

Bardziej szczegółowo

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych 2005/2006 Wykład "Podstawy baz danych" 1 Statyczny model pamiętania bazy danych 1. Dane przechowywane są w pamięci zewnętrznej podzielonej

Bardziej szczegółowo

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1 Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane

Bardziej szczegółowo

PODSTAWY BAZ DANYCH Wykład Partycjonowanie tabel i indeksów

PODSTAWY BAZ DANYCH Wykład Partycjonowanie tabel i indeksów PODSTAWY BAZ DANYCH Wykład 10 8. Partycjonowanie tabel i indeksów 2005/2006 Wykład "Podstawy baz danych" 1 Partycjonowanie tabel i indeksów w Oracle W celu poprawienia efektywności dostępu do danych oraz

Bardziej szczegółowo

Bazy danych 9. SQL Klucze obce Transakcje

Bazy danych 9. SQL Klucze obce Transakcje Bazy danych 9. SQL Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Klucze obce Klucze obce powiazanie indeksowanej kolumny jakiejś tabeli z indeksowana kolumna

Bardziej szczegółowo

Cwiczenie 7. Retrospekcja

Cwiczenie 7. Retrospekcja Cwiczenie 7. Retrospekcja 1. Sprawdzenie środowiska Czas trwania: 15 minut Mechanizmy związane z retrospekcją wymagają spełnienia kilku warunków. W pierwszym ćwiczeniu dokonamy ich weryfikacji. Zakłada

Bardziej szczegółowo

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

Kilka słów o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz "Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie Krzysztof Jankiewicz Plan Opis schematu dla "kilku słów" Postać polecenia SQL Sposoby dostępu do tabel Indeksy B*-drzewo Indeksy

Bardziej szczegółowo

Bazy danych 10. SQL Widoki

Bazy danych 10. SQL Widoki Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela

Bardziej szczegółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny Schemat bazy danych, wczytanej z pliku create_tables.sql Relacji między tabelami klucze obce Klucz obcy jako ograniczenie dla kolumny customer_id INTEGER NOT NULL REFERENCES customer(customer_id), CONSTRAINT

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu "Podstawy baz danych"

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 10. Partycjonowanie tabel i indeksów 1 Partycjonowanie tabel i indeksów w Oracle W celu poprawienia efektywności dostępu do danych oraz ułatwieniu zarządzania bardzo dużymi zbiorami

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I, II Cel laboratorium

Bardziej szczegółowo

Archiwizacja i odtwarzanie bazy danych

Archiwizacja i odtwarzanie bazy danych Archiwizacja i odtwarzanie bazy Architektura bazy Oracle %DUWáRPLHM%XáNV]DV bbulk@ii.pb.bialystok.pl Cele archiwizacji i odtwarzania z 2FKURQDED]\GDQ\FKSU]HGUy*Q\PLW\SDPL awarii z =ZLNV]HQLHUHGQLHJRF]DVXSRPLG]\DZDULDPL

Bardziej szczegółowo

INDEKSY I SORTOWANIE ZEWNĘTRZNE

INDEKSY I SORTOWANIE ZEWNĘTRZNE INDEKSY I SORTOWANIE ZEWNĘTRZNE Przygotował Lech Banachowski na podstawie: 1. Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka i slide y). 2. Lech Banachowski,

Bardziej szczegółowo

Zaawansowane bazy danych i hurtownie danych semestr I

Zaawansowane bazy danych i hurtownie danych semestr I Podprogramy Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych semestr I Procedury do przeprowadzenia akcji Funkcje do obliczania wartości Pakiety do zbierania logicznie

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

Partycjonowanie tabel (1)

Partycjonowanie tabel (1) Partycjonowanie tabel (1) Podział tabeli na mniejsze fragmenty operacje dostępu do dysków mogą być wykonywane równolegle; jest równoważone obciążenie dysków; polecenia SQL adresujące różne partycje mogą

Bardziej szczegółowo

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

Bardziej szczegółowo