Rozdzia 14 Struktury danych c 2000 Instytut Informatyki

  • Slides: 23
Download presentation
Rozdział 14: Struktury danych (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Rozdział 14: Struktury danych (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Organizacja przestrzeni danych • struktury logiczne - przestrzenie tabel (ang. tablespaces), schematy, obiekty (relacje,

Organizacja przestrzeni danych • struktury logiczne - przestrzenie tabel (ang. tablespaces), schematy, obiekty (relacje, indeksy, klastry haszowe (ang. hash cluster), perspektywy, sekwencery, synonimy, moduły PL/SQL); • struktury pośrednie - odzworowujące struktury logiczne w fizyczne; bloki, rozszerzenia (ang. extents), segmenty; • struktury fizyczne - zależne od własności systemu operacyjnego (systemy plikowe, urządzenia surowe (ang. raw devices)), trzy kategorie struktur: pliki danych, dzienniki (ang. redo log), pliki kontrolne; (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Organizacja przestrzeni danych (cd. ) baza danych przestrzeń tabel system plik 1 plik 2

Organizacja przestrzeni danych (cd. ) baza danych przestrzeń tabel system plik 1 plik 2 (c) 2000, Instytut Informatyki Politechniki Poznańskiej przestrzeń tabel dane plik 3

Przestrzenie tabel • przeznaczenie: – zarządzanie przestrzenią dyskową, – określanie limitów zasobów dla użytkowników

Przestrzenie tabel • przeznaczenie: – zarządzanie przestrzenią dyskową, – określanie limitów zasobów dla użytkowników (ang. quota), – zarządzanie dostępnością danych, stany: online i offline, – wykonywanie częściowej kopii bezpieczeństwa (ang. backup) lub częściowego odtwarzanie (ang. recovery), • przestrzeń tabel SYSTEM; • powiększanie przestrzeni tabel: ALTER TABLESPACE system ADD DATAFILE 'data 3. ora' SIZE 10 M • powiększanie bazy danych: CREATE TABLESPACE kadry DATAFILE 'data 4. ora' SIZE 4 M (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Manipulowanie przestrzeniami tabel • tworzenie przestrzeni tabel CREATE TABLESPACE nazwa DATAFILE ’ plik’ SIZE

Manipulowanie przestrzeniami tabel • tworzenie przestrzeni tabel CREATE TABLESPACE nazwa DATAFILE ’ plik’ SIZE int [K|M] AUTOEXTEND OFF ON NEXT int [K|M] MAXSIZE DEFAULT STORAGE opis składowania TEMPORARY UNLIMITED int [K|M] • usunięcie przestrzeni tabel DROP TABLESPACE nazwa INCLUDING CONTENTS (c) 2000, Instytut Informatyki Politechniki Poznańskiej CASCADE CONSTRAINTS

Manipulowanie przestrzeniami tabel • dodanie pliku, zmiana domyślnego składowania , ALTER TABLESPACE nazwa ADD

Manipulowanie przestrzeniami tabel • dodanie pliku, zmiana domyślnego składowania , ALTER TABLESPACE nazwa ADD DATAFILE ’ plik’ SIZE int [K|M] AUTOEXTEND OFF ON NEXT int [K|M] MAXSIZE DEFAULT STORAGE opis składowania • włączanie i wyłączanie przestrzeni tabel ALTER TABLESPACE nazwa ONLINE OFFLINE NORMAL IMMEDIATE TEMPORARY (c) 2000, Instytut Informatyki Politechniki Poznańskiej UNLIMITED int [K|M]

Schematy • schematy - zbiorniki opisów obiektów (opisy relacji, perspektyw, synonimów, etc. ); posiadają

Schematy • schematy - zbiorniki opisów obiektów (opisy relacji, perspektyw, synonimów, etc. ); posiadają rozłączne przestrzenie identyfikatorów obiektów schemat kowalski tabela pracownicy tabela zespoly schemat nowak tabela pracownicy synonim płace • tworzenie schematu CREATE USER malinowski IDENTIFIED BY alfa 13 (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Obiekty • • relacje, perspektywy, sekwencery, synonimy, indeksy - B* - drzewa, bitmapowe, klastry

Obiekty • • relacje, perspektywy, sekwencery, synonimy, indeksy - B* - drzewa, bitmapowe, klastry haszowe (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Indeksy Matysiak Morzy Stefanowski Czyżak Grzybowski Biały Błażewicz Grzybowski Jezierski Matysiak Mizgajski Morzy Pawlak

Indeksy Matysiak Morzy Stefanowski Czyżak Grzybowski Biały Błażewicz Grzybowski Jezierski Matysiak Mizgajski Morzy Pawlak Czyżak Frankowski dane (c) 2000, Instytut Informatyki Politechniki Poznańskiej Stefanowski Wożniak

Manipulacje indeksami • tworzenie indeksów , CREATE INDEX nazwa ON tabela ( atrybut )

Manipulacje indeksami • tworzenie indeksów , CREATE INDEX nazwa ON tabela ( atrybut ) UNIQUE CLUSTER klaster • usuwanie indeksów DROP INDEX nazwa (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Klastry • klastry - grupa relacji współdzieląca te same dane, alternatywny sposób składowanie relacji

Klastry • klastry - grupa relacji współdzieląca te same dane, alternatywny sposób składowanie relacji tabela pracownicy 120 Jezierski 10 130 Matysiak 10 220 Słowiński 11 140 Koszlajda 10 330 Czyżak 11 440 Stefanowski 11. . . . . klaster zesp_prac tabela zespoły 10 BD Piotrowo 3 a 11 KSWD Piotrowo 3 b. . . . . (c) 2000, Instytut Informatyki Politechniki Poznańskiej 10 BD Piotrowo 120 Jezierski 130 Matysiak 140 Koszlajda 11 KSWD Piotrowo 3 b 220 Słowiński 330 Czyżak 440 Stefanowski. . . . .

Klastry haszowe • klastry haszowe - grupa relacji współdzieląca te same dane, dodatkowo dostęp

Klastry haszowe • klastry haszowe - grupa relacji współdzieląca te same dane, dodatkowo dostęp przez funkcję haszową klaster zesp_prac 10 funkcja haszowa id_zesp=10 fm=0 fm(id_zesp)= id_zesp mod 10 (c) 2000, Instytut Informatyki Politechniki Poznańskiej BD Piotrowo 120 Jezierski 130 Matysiak 140 Koszlajda 11 KSWD Piotrowo 3 b 220 Słowiński 330 Czyżak 440 Stefanowski. . . . . blok 0 blok 1

Manipulowanie klastrami • tworzenie klastrów , CREATE CLUSTER nazwa ( atrybyt typ ) INDEX

Manipulowanie klastrami • tworzenie klastrów , CREATE CLUSTER nazwa ( atrybyt typ ) INDEX HASHKEYS integer • przypisanie tabeli do klastra , CREATE TABLE nazwa_tabeli. . . CLUSTER nazwa_klastra ( atrybut ) • usuwanie klastra DROP CLUSTER nazwa_klastra INCLUDING TABLES (c) 2000, Instytut Informatyki Politechniki Poznańskiej CASCADE CONSTRAINTS

Struktury pośrednie • blok danych - najmniejsza jednostka dyskowa używana przez bazę danych, odpowiada

Struktury pośrednie • blok danych - najmniejsza jednostka dyskowa używana przez bazę danych, odpowiada określonej liczbie bajtów; • rozszerzenie - ciągły zbiór bloków danych, przydzielany jednorazowo przez system dla danych pojedynczego obiektu; • segment - zbiór rozszerzeń przydzielony obiektowi; segment danych, segment indeksów, segment wycofania transakcji (ang. rollback segment), segment tymczasowy. (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Struktury pośrednie (cd. ) segment 80 KB rozszerzenie 16 KB 2 KB 2 KB

Struktury pośrednie (cd. ) segment 80 KB rozszerzenie 16 KB 2 KB 2 KB 2 KB rozszerzenie 2 KB 64 KB 2 KB 2 KB 2 KB 2 KB 2 KB bloki bazy danych (c) 2000, Instytut Informatyki Politechniki Poznańskiej 2 KB 2 KB

Zarządzanie blokami danych PCTUSED=40% brak wypełniania PCTFREE=10% wypełnianie 100 -PCTFREE=90% 0% PCTUSED=40% CREATE TABLE

Zarządzanie blokami danych PCTUSED=40% brak wypełniania PCTFREE=10% wypełnianie 100 -PCTFREE=90% 0% PCTUSED=40% CREATE TABLE nazwa_tabeli. . . PCTFREE integer PCTUSED integer (c) 2000, Instytut Informatyki Politechniki Poznańskiej 100%

Zarządzanie rozszerzeniami • • • INITIAL = 100 NEXT = 10 PCTINCREASE = 20

Zarządzanie rozszerzeniami • • • INITIAL = 100 NEXT = 10 PCTINCREASE = 20 pierwsze rozszerzenie drugie rozszerzenie trzeci rozszerzenie 100 KB 12 KB segment (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Opis składowania STORAGE( INITIAL int [K|M] NEXT int [K|M] OPTIMAL int [K|M] MINEXTENTS int

Opis składowania STORAGE( INITIAL int [K|M] NEXT int [K|M] OPTIMAL int [K|M] MINEXTENTS int MAXEXTENTS int PCTINCREASE int FREELIST int (c) 2000, Instytut Informatyki Politechniki Poznańskiej )

Segmenty • segmenty danych - przechowują dane użytkowe tablic oraz klastrów; • segmenty indeksów

Segmenty • segmenty danych - przechowują dane użytkowe tablic oraz klastrów; • segmenty indeksów - przechowują indeksy; • segmenty tymczasowe - zawierają dane tymczasowe, np. wyniki pośrednie zapytań; • segmenty wycofania - zawierają dane zmodyfikowane przez aktywne transakcje; służą do: – zagwarantowania spójności odczytu dla transakcji typu read-only, – wycofywania transakcji, – do odtworzenie systemu po awarii; – jedyne segmenty jawnie tworzone przez administratora bazy (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Manipulowanie segmentami wycofania • tworzenie segmentu wycofania (parametr ROLLBACK_SEGMENT) CREATE ROLLBACK SEGMENT nazwa TABLESPACE

Manipulowanie segmentami wycofania • tworzenie segmentu wycofania (parametr ROLLBACK_SEGMENT) CREATE ROLLBACK SEGMENT nazwa TABLESPACE przestrzeń tabel STORAGE opis składowania OPTIMAL NULL int [K|M] • usuwanie segmentu wycofania DROP ROLLBACK SEGMENT nazwa (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Manipulowanie segmentami wycofania • modyfikacja segmentu wycofania ALTER ROLLBACK SEGMENT nazwa TABLESPACE przestrzeń tabel

Manipulowanie segmentami wycofania • modyfikacja segmentu wycofania ALTER ROLLBACK SEGMENT nazwa TABLESPACE przestrzeń tabel STORAGE opis składowania OPTIMAL NULL TO int [K|M] ONLINE OFFLINE SHRINK TO int [K|M] (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Struktury fizyczne • pliki danych - zawierają wszystkie dane użytkowe bazy danych, jeden plik

Struktury fizyczne • pliki danych - zawierają wszystkie dane użytkowe bazy danych, jeden plik może należeć tylko do jednej bazy danych, • dzienniki (ang. redo log) - przechowują wszystkie zmiany zachodzące w bazie danych, informacja niezbędna do odtworzenia stanu spójnego po awarii; • pliki kontrolne - przechowują informacje o fizycznej strukturze bazy danych, przykładowo: – nazwa bazy danych, – nazwy i lokalizacje plików danych oraz dzienników, – etykietę czasową utworzenia bazy danych. (c) 2000, Instytut Informatyki Politechniki Poznańskiej

Tworzenie bazy danych CREATE DATABASE , LOGFILE GROUP int nazwa ’ plik’ SIZE int

Tworzenie bazy danych CREATE DATABASE , LOGFILE GROUP int nazwa ’ plik’ SIZE int [K|M] DATAFILE ’ plik’ SIZE int [K|M] REUSE ARCHIVELOG NOARCHIVELOG CHARACTER SET zestaw_znaków CONTROLFILE REUSE (c) 2000, Instytut Informatyki Politechniki Poznańskiej REUSE AUTOEXTEND. . .