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.

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

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

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

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

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

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

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

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

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

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

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

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

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

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(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

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

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

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

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

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

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

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

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

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

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

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

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

Organizacja przestrzeni danych (2) Struktura bazy danych Oracle. Przestrzenie tabel. baza danych. tabel. tabel. struktury. (relacje, schematy,

Organizacja przestrzeni danych (2) Struktura bazy danych Oracle. Przestrzenie tabel. baza danych. tabel. tabel. struktury. (relacje, schematy, Organizacja przestrzeni danych Struktura bazy danych Oracle struktury logiczne - przestrzenie tabel (ang. tablespaces), schematy, obiekty (relacje, indeksy, klastry, klastry haszowe (ang. hash cluster),

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

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 2. SQL 1 Structured Query Lenguage

Wykład 2. SQL 1 Structured Query Lenguage Wykład 2 SQL 1 Structured Query Lenguage SQL (Structured Query Language) Język zapytań do bazy danych. IBM lata osiemdziesiąte. Stosowany w systemach zarządzania bazami danych (DBMS); Oracle, Paradox,Access,

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

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Kursory w SQL Serverze Wprowadzenie Modele kursorów Używanie kursorów Rodzaje kursorów Praca

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

XML w bazie danych IBM DB2

XML w bazie danych IBM DB2 Instytut Informatyki Politechnika Śląska Gliwice, ul. Akademicka 16 XML w bazie danych IBM DB2 Dr inż. Dariusz Mrozek Wykład: IBM DB2 uniwersalna platforma przetwarzania danych O czym dzisiaj? XML w relacyjnej

Bardziej szczegółowo

1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1

1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1 Spis treści Przedmowa... ix Podziękowania... x Wstęp... xiii Historia serii Inside Microsoft SQL Server... xiii 1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1 Wymagania SQL Server 2005...

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Typy danych wbudowane użytkownika Tabele organizacja wiersza przechowywanie dużych danych automatyczne

Bardziej szczegółowo

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia). POZIOMY IZOLACJI TRANSAKCJI 1. Microsoft SQL Server 2012 (od SQL Server 2005) W systemie SQL Server można wybrać sposób sterowania współbieżnością. Podstawowy sposób to stosowanie blokad. Wykorzystywane

Bardziej szczegółowo

Bazy danych 2. Wykład 3. Metodologia projektowania baz danych (projektowanie fizyczne)

Bazy danych 2. Wykład 3. Metodologia projektowania baz danych (projektowanie fizyczne) Bazy danych 2 Wykład 3 Metodologia projektowania baz danych (projektowanie fizyczne) Projektowanie fizyczne - przegląd krok po kroku 1. Wybór systemu zarządzania bazą danych (BDMS) 2. WyraŜenie logicznego

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Wyzwalacze TWORZENIE WYZWALACZY

Wyzwalacze TWORZENIE WYZWALACZY Wyzwalacze: podobnie jak procedury i funkcje, są nazwanymi blokami PL/SQL zawierającymi sekcje deklaracji, wykonania i obsługi wyjątków; nie akceptują argumentów; muszą być składowane jako samodzielne

Bardziej szczegółowo

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

Zarządzanie kontami użytkowników w i uprawnieniami 106 Plan prezentacji 107 Zarządzanie kontami użytkowników w i uprawnieniami Schematy a użytkownicy Tworzenie użytkowników, uwierzytelnianie Przywileje systemowe i obiektowe, role Profile kontrola wykorzystania

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wyzwalacze Wprowadzenie Tworzenie wyzwalacza Wyzwalacze typu,,po'' Wyzwalacze typu,,zamiast''

Bardziej szczegółowo

DECLARE typ [( )] [ NOT NULL ] [ { := DEFAULT } ];

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ]; Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server

Bardziej szczegółowo

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

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL Bazy danych 2 Wykład 5 Structured Query Language (SQL) c.d. DDL Dziedzina (DOMAIN) Dziedzina to zdefiniowany przez uŝytkownika zbiór dopuszczalnych wartości definiowany niezaleŝnie od definicji tabel Składnia

Bardziej szczegółowo

Optymalizacja poleceń SQL

Optymalizacja poleceń SQL Optymalizacja poleceń SQL Przetwarzanie polecenia SQL użytkownik polecenie PARSER słownik REGUŁOWY RBO plan zapytania RODZAJ OPTYMALIZATORA? GENERATOR KROTEK plan wykonania statystyki KOSZTOWY CBO plan

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Procedury składowane c.d. Parametry tablicowe w Transact-SQL. W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Zadanie 1. Proszę napisad procedurę składowaną, która

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

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

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE Instrukcje SQL dzielimy na następujące kategorie: 1) Instrukcje języka manipulowania danymi (DML) SELECT, INSERT, UPDATE, DELETE, SET TRANSACTION, EXPLAIN PLAN 2) Instrukcje języka definicji danych DDL

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna

Bardziej szczegółowo

Ładowanie i reorganizacja

Ładowanie i reorganizacja Ładowanie i reorganizacja danych Cele Ładowanie danych za pomocą wstawiania ścieżką bezpośrednią Ładowanie danych do tabel Oracle za pomocą ścieżki konwencjonalnej oraz bezpośredniej SQL*Loader Reorganizacja

Bardziej szczegółowo

Fizyczna organizacja danych w bazie danych

Fizyczna organizacja danych w bazie danych Fizyczna organizacja danych w bazie danych PJWSTK, SZB, Lech Banachowski Spis treści 1. Model fizyczny bazy danych 2. Zarządzanie miejscem na dysku 3. Zarządzanie buforami (w RAM) 4. Organizacja zapisu

Bardziej szczegółowo

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

2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH PLAN WYKŁADU Bezpieczeństwo w języku SQL Użytkownicy Uprawnienia Role BAZY DANYCH Wykład 8 dr inż. Agnieszka Bołtuć OGRANICZENIA DOSTĘPU DO DANYCH Ograniczenie danych z tabeli dla określonego użytkownika

Bardziej szczegółowo

Ćwiczenie 2. Struktura bazy danych Oracle

Ćwiczenie 2. Struktura bazy danych Oracle Ćwiczenie 2. Struktura bazy danych Oracle 1. Zamykanie i uruchamianie bazy danych w konsoli tekstowej Czas trwania: 20 minut 1. Uruchom środowisko wirtualizacji kliknij na umieszczoną na pulpicie komputera-gospodarza

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

Bardziej szczegółowo

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Nr ćwiczenia: 9 Praca z bazą danych MySQL wersja 2.0 Temat: Cel ćwiczenia:

Bardziej szczegółowo

Język zapytań SQL- język relacyjnych baz danych

Język zapytań SQL- język relacyjnych baz danych Język SQL Język zapytań SQL- język relacyjnych baz danych SQL (Structured Query Language),czyli Strukturalny Język Zapytań. SQL jest standardowym językiem do kierowania poleceń do relacyjnej bazy danych

Bardziej szczegółowo

Administracja bazami danych

Administracja bazami danych Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Wstęp do problematyki baz danych Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. I Jesień 2014 1 / 17 Plan wykładu 1 Bazy danych 1 Motywacja

Bardziej szczegółowo

Performance Tuning. w środowisku RAC/WebLogic na maszynach Sun T5220

Performance Tuning. w środowisku RAC/WebLogic na maszynach Sun T5220 Performance Tuning w środowisku RAC/WebLogic na maszynach Sun T5220 OPITZ CONSULTING Kraków Nowoczesne techniki konsolidacji i optymalizacji środowisk opartych o rozwiązania Oracle (2011) Piotr Sajda (kierownik

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 9. Dynamiczny SQL. Dynamiczny SQL 2012-01-20

Plan wykładu BAZY DANYCH II WYKŁAD 9. Dynamiczny SQL. Dynamiczny SQL 2012-01-20 Plan wykładu BAZY DANYCH II WYKŁAD 9 Dynamiczny SQL, NDS, EXECUTE IMMEDIATE, Pakiet DBMS_SQL, Obiekty w PL/SQL, Tworzenie, wywoływanie, dziedziczenie, etc. dr inż. Agnieszka Bołtuć Dynamiczny SQL Pozwala

Bardziej szczegółowo

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

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw

Bardziej szczegółowo

- 307 W Oracle instrukcja SELECT Ename FROM Emp WHERE Empno=4567: [ ] zakłada blokadę do odczytu dla jednego wiersza tabeli Emp [ ] zakłada blokadę

- 307 W Oracle instrukcja SELECT Ename FROM Emp WHERE Empno=4567: [ ] zakłada blokadę do odczytu dla jednego wiersza tabeli Emp [ ] zakłada blokadę - 307 W Oracle instrukcja SELECT Ename FROM Emp WHERE Empno=4567: [ ] zakłada blokadę do odczytu dla jednego wiersza tabeli Emp [ ] zakłada blokadę do odczytu dla wszystkich wierszy tabeli Emp [ ] zakładę

Bardziej szczegółowo

Block Change Tracking

Block Change Tracking Czym jest i czy warto stosować? OPITZ CONSULTING Kraków Przybliżenie technologii i analiza testów Jakub Szepietowski (Młodszy konsultant SE) OPITZ CONSULTING Kraków 2011 Strona 1 Agenda 1. Plik BCT 2.

Bardziej szczegółowo

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych Paweł Paduch paduch@tu.kielce.pl 06-04-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach zajmiemy się projektem bazy danych.

Bardziej szczegółowo

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

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL, Mój projekt przedstawia bazę danych noclegów składającą się z 10 tabel. W projekcie wykorzystuje program LibreOffice Base do połączenia psql z graficznym interfejsem ( kilka formularzy przedstawiających

Bardziej szczegółowo

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się

Bardziej szczegółowo

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

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach Indeksy dodatkowe struktury służące przyśpieszeniu dostępu do danych o użyciu indeksu podczas realizacji poleceń decyduje SZBD niektóre systemy bazodanowe automatycznie tworzą indeksy dla kolumn o wartościach

Bardziej szczegółowo