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

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

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

Transkrypt

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

2 Przechowywanie danych w bazie 1. Dane przechowywane są w pamięci zewnętrznej podzielonej logicznie na segmenty składające się z jednostek o stałej długości nazywanej stronami. Dla każdej tabeli tworzony jest jeden segment. 2. Każdy plik F(R) krotek typu R pamiętany jest w jednym segmencie. 3. Spójny obszar pamięci zewnętrznej, w której może być przechowywana jedna strona nazywamy blokiem. Jest to najmniejsza jednostka pamiętania danych. W jednym bloku może być pamiętanych wiele krotek. 2009/ Notatki do wykładu "Podstawy baz danych" 2

3 Przechowywanie danych w bazie W pamięci operacyjnej wydzielony jest obszar zwany buforem zdolnym do pomieszczenia stron. Przesyłanie danych pomiędzy pamięcią operacyjną i zewnętrzną przedstawia następujący schemat: 2009/ Notatki do wykładu "Podstawy baz danych" 3

4 Odwzorowanie krotek na stronie Na każdą krotkę należącą do pliku F(R):={ r 1, r 2,..., r N } krotek typu R może być zarezerwowana na stronie stała lub zmienna wielkość pamięci. Niektóre z możliwych metod zapisywania krotek przytoczone są w kolejnym przykładzie. Przykład. Wystąpienie krotki typu PRACOWNIK( identyfikator, nazwisko, zawód, płaca, wiek ) można zapisać na stronie w następujący sposób: a) każda wartość atrybutu zapisywana jest w polu o stałej długości (podanej w ilości znaków) Długość pola w znakach Kowalski muzyk / Notatki do wykładu "Podstawy baz danych" 4

5 Odwzorowanie krotek na stronie b) wartości wszystkich atrybutów zapisywane są w kolejnych polach o najmniejszym rozmiarze potrzebnym do ich zapamiętania i odseparowane wyróżnionym znakiem np. % 123 % Kowalski % muzyk % % 23 % c) wartości wszystkich atrybutów zapisywane są w kolejnych polach o najmniejszym rozmiarze potrzebnym do ich zapamiętania i utworzenie dla każdej krotki części przedrostkowej składającej się ze wskaźników podających adresy końców poszczególnych pól 2009/ Notatki do wykładu "Podstawy baz danych" 5

6 Dynamiczny model pamiętania danych Dynamiczny model pamiętania bazy danych pozwala każdej stronie w różnych momentach przyporządkować różne bloki w pamięci zewnętrznej co pozwala na zmianę rozmiarów segmentów. Model ten ilustruje jak można rozwiązać problem przywrócenia bazy np. po awarii. W metodzie tej dla każdego segmentu S k tworzony jest wektor V k zwany tablicą stron i wektor binarny MAP zawierający tyle pozycji ile bloków istnieje w pamięci zewnętrznej. Model ten można dla dwóch segmentów S 1 i S 2 przedstawić przy pomocy następującego schematu: 2009/ Notatki do wykładu "Podstawy baz danych" 6

7 Dynamiczny model pamiętania danych gdzie wektory V 1 i V 2 wskazują numery bloków, w których zapamiętane są kolejne strony odpowiednio segmentów S 1 i S 2, a 1 w wektorze MAP oznacza zajętość odpowiedniego bloku. 2009/ Notatki do wykładu "Podstawy baz danych" 7

8 Dynamiczny model pamiętania danych Dynamiczny model pamiętania bazy danych pozwala na tzw. przysłanianie pamięci, które polega na zablokowaniu części pamięci na czas konieczny na wykonanie pewnych operacji na zapisanych tam danych. Metoda ta pozwala odtworzyć bazę danych, bez konieczności robienia kopii zapasowej bazy w przypadku wystąpienia w niej błędów podczas wykonywania operacji na jej danych. Omówimy model przysłaniania pamięci na przykładzie dwóch segmentów S 1 i S 2. Realizacja jego wymaga utworzenia dodatkowych wektorów V 11, V 21, CMAP, które są odpowiednio kopiami wektorów V 1, V 2, MAP, oraz wektora STATUS, służącego do oznaczenia, że segment S 1 lub S 2 są zamknięte, tzn. nie jest tworzona jego nowa wersja. Załóżmy, że segment S 1 składa się z k stron. 2009/ Notatki do wykładu "Podstawy baz danych" 8

9 Dynamiczny model pamiętania danych Stan bazy danych przed wykonywaniem operacji na zapisanych danych można przedstawić przy pomocy następującego schematu: 2009/ Notatki do wykładu "Podstawy baz danych" 9

10 Dynamiczny model pamiętania danych Przy otwieraniu segmentu S 1 do operacji zmieniającej jego stan należy: 1. Przekopiować wektory V 1, MAP odpowiednio do V 11, CMAP i podstawić STATUS(1) := 1; 2. Np. modyfikowana jest strona 1 zapisana w bloku 2; 3. Dla tej zmodyfikowanej strony szukamy w wektorze CMAP wolnego bloku do zapisania nowego stanu strony (może to być blok 3) i podstawiamy CMAP(3) := 1 oraz V 1 (1) := -3, (znak - oznacza stronę już zmienioną ); 4. Podobne kroki można przeprowadzić np. dla strony 2 (tworzenie nowej strony); 2009/ Notatki do wykładu "Podstawy baz danych" 10

11 Dynamiczny model pamiętania danych Po tych operacjach stan bazy danych można przedstawić przy pomocy następującego schematu: 2009/ Notatki do wykładu "Podstawy baz danych" 11

12 Dynamiczny model pamiętania danych 5. Możliwe są teraz dwa przypadki: (a) Jeżeli zakończono tworzenie nowej wersji i nie stwierdzono błędu to aktualne przyporządkowanie stron do bloków dane jest w wektorze V 1 ; gdy V 1 (i)<0 i V 11 (i) = n 0 to podstawiamy CMAP(n) := 0 i V 1 (i) := V 1 (i) dla i = 1, 2,..., k; (zwalniany jest tylko modyfikowany blok); aktualną mapę pamięci otrzymamy podstawiając MAP(i) := CMAP(i) dla i=1, 2,..., N; zamykamy segment S 1 podstawiając STATUS(1) := 0; (b) Jeżeli w trakcie tworzenia nowej wersji stwierdzono błąd to wracamy do pierwotnego wektora V 1 podstawiając V 1 (i) := V 11 (i) dla i=1,2,...,k; aktualna mapa pamięci dana jest w wektorze MAP; zamykamy segment S 1 podstawiając STATUS(1) := 0; W obydwu przypadkach segment zawiera stan poprawny. 2009/ Notatki do wykładu "Podstawy baz danych" 12

13 Organizacja krotek w blokach Organizacja krotek w blokach: niepodzielna dzielona 2009/ Notatki do wykładu "Podstawy baz danych" 13

14 Budowa bloku Najmniejszą jednostką do przechowywania danych jest blok. Nagłówek bloku Wolna przestrzeń Przestrzeń danych (przechowuje wartości atrybutów) Dane Wolny obszar bloku jest zarezerwowany na uaktualnianie rekordów znajdujących się w bloku. 2009/ Notatki do wykładu "Podstawy baz danych" 14

15 Zarządzanie blokiem w ORACLE W Oracle można zarządzać sposobem zapełniania bloków danymi przy pomocy parametrów PCTFREE i PCTUSED. Blok np B Nagłówek bloku Wolna przestrzeń PCTFREE Np. 20 Dane PCTUSED Np. 40 CREATE TABLE nazwa_tabeli (atrybuty ) [ PCTFREE liczba ] [ PCTUSED liczba ] [ ] 2009/ Notatki do wykładu "Podstawy baz danych" 15

16 Budowa bloku Parametry składowania (storage parametr): 1. PCTFREE liczba - określa rozmiar wolnej przestrzeni bloku w stosunku do rozmiaru całego bloku (wyrażona w % ) Np. PCTFREE PCTUSED liczba - określa rozmiar przestrzeni bloku poniżej, którego będzie dozwolone wstawianie nowej krotki (wyrażona w % ) Np. PCTUSED 50 Omówione parametry określa się przy definicji relacji. Jeżeli w definicji relacji nie podaje się wartości tych parametrów to przyjmowane są wartości domyślne. Jeżeli krotka nie mieści się w jednym bloku może być składowana w wielu blokach. 2009/ Notatki do wykładu "Podstawy baz danych" 16

17 Budowa bloku Blok np B Nagłówek PCTFREE np. 20 PCTUSED np / Notatki do wykładu "Podstawy baz danych" 17

18 Budowa bloku 2009/ Notatki do wykładu "Podstawy baz danych" 18

19 Budowa bloku 2009/ Notatki do wykładu "Podstawy baz danych" 19

20 Operacje na krotkach w bazie danych Na pliku F(R):={ r 1, r 2,..., r N } krotek typu R mogą być wykonywane następujące czynności: wprowadzanie rekordu, usuwanie rekordu, modyfikacja rekordu, poszukiwanie rekordu o określonej wartości atrybutu. Dostęp do miejsca zapamiętania w pamięci wystąpienia krotki można uzyskać np. przy pomocy identyfikatora (w Oracle jest to ROWID), którym może być np. kolejny numer przypisany według pewnych zasad rozważanemu rekordowi przez SZBD (mało użyteczne). Będzie on wykorzystywany w innych strukturach (indeksy). 2009/ Notatki do wykładu "Podstawy baz danych" 20

21 Rodzaje organizacji plików krotek Rodzaje organizacji plików krotek: Pliki nieuporządkowane. Pliki uporządkowane. Pliki haszowe. 2009/ Notatki do wykładu "Podstawy baz danych" 21

22 Rodzaje organizacji plików krotek Pliki nieuporządkowane Pliki nieuporządkowane. Jest to lista dwukierunkowa. Dopisywanie nowej krotki następuje na końcu tego łańcucha bloków. Wady: Przy wyszukiwaniu krotki może być konieczne przeszukanie liniowe wszystkich bloków. Zalety: Efektywne wstawianie krotek. Efektywne przy odczycie wszystkich krotek. Efektywne przy małych plikach krotek. Stosowane z innymi strukturami (np. indeksy). 2009/ Notatki do wykładu "Podstawy baz danych" 22

23 Rodzaje organizacji plików krotek Pliki uporządkowane Pliki uporządkowane. Atrybuty porządkujące Burek Adam Burek Karol Krawczyk Karol Nowak Maria Blok-1 Nowak Zenon Piotrowski Marian Piotrowski Zbigniew Zając Maria Blok-n. 2009/ Notatki do wykładu "Podstawy baz danych" 23

24 Rodzaje organizacji plików krotek Pliki uporządkowane Zalety: Efektywny odczyt krotek według atrybutów porządkujących. Znalezienie następnej krotki według atrybutów porządkujących. Wyszukiwanie według atrybutów porządkujących metodą połowienia binarnego. Wady: Nieefektywny gdy odczyt krotek jest według atrybutów nie porządkujących. Kosztowne wstawianie i usuwanie krotek, które jest spowodowane koniecznością zachowania uporządkowania. 2009/ Notatki do wykładu "Podstawy baz danych" 24

25 Rodzaje organizacji plików krotek Pliki haszowe Pliki haszowe polegają na rozmieszczeniu krotek w różnych szufladach według pewnych zasad wyznaczonych przez funkcje haszowe stosowane do wybranego atrybutu. Przykład. Funkcja haszowa to np. h(x) = x mod liczba. 13 Szuflada Funkcja haszowa h(x) = x mod 4 13 mod 5 = 3 0 4, 8 1 5, 11, , 18, 3 7, 2009/ Notatki do wykładu "Podstawy baz danych" 25

26 Indeksy W celu przyspieszenia wyszukiwania w plikach krotek (uporządkowanych lub nieuporządkowanych) tworzone są obiekty zwane indeksami będące dodatkową strukturą fizyczną tzn. plikiem zdefiniowanym dla atrybutu według, którego będzie realizowane wyszukiwanie. Podział indeksów: indeks podstawowy, zgrupowany, wtórny indeks rzadki, gęsty Indeks wielopoziomowy statyczny (ISAM) Indeks wielopoziomowy dynamiczny (B*-drzewo) 2009/ Notatki do wykładu "Podstawy baz danych" 26

27 Pojęcie indeksu pliku krotek Definicja. Indeksem pliku F(R) nazywamy zbiór I:={ (x,a) ( r F(R) ) (x = key(r) a = kbd(r) ) }, gdzie key(r) jest wartością np. klucza głównego w wystąpieniu krotki r, a kbd(r) kluczem bazy danych (adresem) wystąpienia krotki r (w Oracle jest to ROWID). Każdą parę (x,a) I nazywamy elementem indeksu. Indeks może być zorganizowany w różny sposób. Dla jednej relacji może istnieć wiele indeksów. Dla uproszczenia rozważań zajmiemy się organizacją pliku indeksowego o strukturze B-drzewa, a później rozszerzymy to na organizację indeksu w postaci B*-drzewa. 2009/ Notatki do wykładu "Podstawy baz danych" 27

28 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Definicja. Niech h 0 i m 1. Drzewo T nazywamy B-drzewem klasy t(h,m), co zapisujemy T t(h,m), gdy T = lub spełnione są następujące warunki: 1. Wszystkie drogi prowadzące z korzenia do liści są jednakowej długości równej h; 2. Każdy wierzchołek, z wyjątkiem korzenia i liści, jest początkiem co najmniej m+1 krawędzi; 3. Korzeń jest liściem lub jest początkiem co najmniej dwóch krawędzi; 4. Każdy wierzchołek jest początkiem co najwyżej 2m+1 krawędzi. Wartość h nazywamy wysokością drzewa. 2009/ Notatki do wykładu "Podstawy baz danych" 28

29 Organizacja dostępu do pliku krotek za pomocą B-drzewa Przykład. Przykład B-drzewa klasy t(3,2), h=3, m=2 korzeń wierzchołki wierzchołki liście 2009/ Notatki do wykładu "Podstawy baz danych" 29

30 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Organizując indeks pliku F(R) w postaci B-drzewa należy każdemu wierzchołkowi przyporządkować jedną stronę danych w następujący sposób: p 0 x 1 a 1 p 1 x 2 a 2 p 2... x l a l p l gdzie 1. 1 l 2m w przypadku korzenia i m l 2m dla wierzchołków pośrednich i liści; wartość l jest liczbą elementów indeksu na stronie, 2. x i wartością klucza głównego wystąpienia rekordu, a i kluczem bazy danych odpowiadającym wystąpieniu rekordu o wartości klucza głównego x i, 1 i l, 3. p i wskaźnikiem na wierzchołek będącym końcem krawędzi wychodzącej z tego wierzchołka, 0 i l, 2009/ Notatki do wykładu "Podstawy baz danych" 30

31 Organizacja dostępu do pliku rekordów za pomocą B-drzewa przy czym dla każdego wierzchołka muszą być spełnione następujące warunki: 1. x 1 x 2... x l, 2. Niech P(p i ) oznacza wierzchołek wskazywany przez wskaźnik p i, 0 i l, a X(p i ) niech będzie zbiorem wartości klucza głównego zawartym w poddrzewie, którego korzeniem jest P(p i ). Wtedy: a) ( x X(p 0 ) ) (x x 1 ), b) ( x X(p i ) ) (x i x x i+1 ), dla 1 i < l, c) ( x X(p l ) ) (x l x ). 2009/ Notatki do wykładu "Podstawy baz danych" 31

32 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Przykład. Przykład organizacji indeksu w postaci B-drzewa klasy t(2,2) można przedstawić graficznie w następujący sposób: Dla uproszczenia w wierzchołkach drzewa umieszczono tylko wartości klucza głównego pomijając związane z nim adresy (wartości klucza bazy danych). 2009/ Notatki do wykładu "Podstawy baz danych" 32

33 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Algorytm wyszukiwania w pliku indeksowym zorganizowanym w postaci B-drzewa jest oczywisty. Mamy indeks I zorganizowany w postaci B-drzewa i wartość klucza głównego x. Indeks I jest zapamiętany na stronach. Należy wyznaczyć wartość klucza bazy danych a, takiego że (x,a) I lub stwierdzić, że x nie występuje w indeksie I. W przypadku, gdy wyszukiwanie zakończyło się niepowodzeniem (w indeksie I brak poszukiwanego elementu ) możliwe jest dołączenie elementu x do indeksu I. Ma być dołączona para (x,a). Dołączanie to może być bezkolizyjne lub może spowodować przepełnienie strony (tzn. na stronie s zapamiętanych jest już 2m elementów indeksu). W pierwszym przypadku element (x,a) dołączany jest w ten sposób by zachować rosnące uporządkowanie wartości klucza głównego na stronie, natomiast w drugim przypadku zastosować należy metodę kompensacji lub podziału. 2009/ Notatki do wykładu "Podstawy baz danych" 33

34 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Algorytm kompensacji. Metodę tę stosujemy wtedy gdy jedna ze stron sąsiadujących ze stroną s zawiera j elementów indeksu, j<2m. Oznaczmy tą stronę przez s 1. Elementy ze stron s i s 1 z uwzględnieniem dołączanego elementu (x,a) i elementu (x ',a ' ), dla którego wskaźniki po obu stronach wskazują strony s i s 1 porządkujemy w ciąg 2m + j +2 elementów. Element "środkowy" (x i,a i ), gdzie i:=entier((2m+j+2)/2) wstawiamy w miejsce elementu (x ',a ' ). Strony s i s 1 wypełniamy następująco: 1. Jeżeli s 1 leży na lewo od strony s, to elementy (x k,a k ), k = 1, 2,..., i-1 wstawiamy na stronę s 1, a elementy (x k,a k ), k = i+1, i+2,..., 2m+j+2 na stronę s. 2. Jeżeli s 1 leży na prawo od strony s, to elementy (x k,a k ), k = 1, 2,..., i-1 wstawiamy na stronę s, a elementy (x k,a k ), k = i+1, i+2,..., 2m+j+2 na stronę s / Notatki do wykładu "Podstawy baz danych" 34

35 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Przykład. Dany jest fragment B-drzewa: S S Chcemy dołączyć element indeksu o wartości klucza głównego 27. Po uporządkowaniu ciągu wartości klucza głównego otrzymamy ciąg 20, 22, 26, 27, 34, 40, 45, / Notatki do wykładu "Podstawy baz danych" 35

36 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Po zastosowaniu metody kompensacji otrzymamy następujący fragment B-drzewa: S S / Notatki do wykładu "Podstawy baz danych" 36

37 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Algorytm podziału. Niech strona s zawiera 2m elementów i strony sąsiednie (obie) są zapełnione. Należy dołączyć element (x,a) do strony s. W tym celu elementy ze strony s z uwzględnieniem dołączanego elementu (x,a) porządkujemy rosnąco otrzymując ciąg 2m + 1 elementów. Elementy o numerach 1, 2,..., m umieszczamy na stronie s, a elementy o numerach m + 2, m + 3,... 2m +1 na nowo utworzonej stronie s / Notatki do wykładu "Podstawy baz danych" 37

38 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Element (x m+1, a m+1 ) dołączamy do strony będącej wierzchołkiem krawędzi, której końcem jest wierzchołek odpowiadający stronie s w ten sposób, aby wskaźnik będący po lewej stronie elementu (x m+1,a m+1 ) wskazywał stronę s, a wskaźnik będący po prawej stronie od tego elementu stronę s 1. Może się zdarzyć, że strona ta jest zapełniona (zawiera już 2m elementów). Wówczas należy dokonać jej podziału lub kompensację. 2009/ Notatki do wykładu "Podstawy baz danych" 38

39 Organizacja dostępu do pliku rekordów za pomocą B-drzewa Może zaistnieć przypadek, że z podziałem dojdziemy aż do korzenia. Przy podziale korzenia istnieje potrzeba utworzenia dwóch nowych stron (wierzchołków) - jeden s 1 zgodnie z opisanym już algorytmem oraz strony, która będzie nowym korzeniem B- drzewa. Operacja ta spowoduje powiększenie wysokości B-drzewa. Przykład. Na kolejnych slajdach pokazany jest przykład wstawiania i usuwania elementów pliku indeksowego zorganizowanego w postaci B-drzewa. 2009/ Notatki do wykładu "Podstawy baz danych" 39

40 Organizacja dostępu do pliku rekordów za pomocą B-drzewa. Wstawianie A , 40, 50, 60, 70 ciąg rosnący 30 Chcemy wstawić 35. W lewym liściu brak miejsca. Możemy wykonać kompensację używając ciągu 30, 35, 40, 42, 45, 50, 60, / Notatki do wykładu "Podstawy baz danych" 40

41 Organizacja dostępu do pliku rekordów za pomocą B-drzewa. Wstawianie A , 30, 35, 40, 42 ciąg rosnący Przypuśćmy, że doszliśmy do następującego stanu: 2009/ Notatki do wykładu "Podstawy baz danych" 41

42 Organizacja dostępu do pliku rekordów za pomocą B-drzewa. Wstawianie Chcemy dopisać element o wartości klucza / Notatki do wykładu "Podstawy baz danych" 42

43 Organizacja dostępu do pliku rekordów za pomocą B-drzewa. Wstawianie Wartości klucza 95 powinna być dopisana do prawego liścia. Brak miejsca na sąsiednich wierzchołkach. Musimy dokonać podziału prawego wierzchołka używając ciągu 90, 92, 94, 95, 98 i element środkowy 94 powinien być dopisany do korzenia, w którym brak miejsca. Sąsiednich wierzchołków brak. Musimy dokonać podziału korzenia używając ciągu 35, 45, 81, 89, / Notatki do wykładu "Podstawy baz danych" 43

44 Organizacja dostępu do pliku rekordów za pomocą B-drzewa. Wstawianie 81 Nowy korzeń / Notatki do wykładu "Podstawy baz danych" 44

45 Organizacja dostępu do pliku rekordów za pomocą B-drzewa. Usuwanie A Chcemy usunąć 60. Liść nie będzie spełniał warunków B-drzewa. Należy dokonać kompensacji Chcemy usunąć 50. Liść nie będzie spełniał warunków B-drzewa i nie można dokonać kompensacji. Należy dokonać złączenia / Notatki do wykładu "Podstawy baz danych" 45

46 Organizacja dostępu do pliku rekordów za pomocą B * - drzewa Pojęcie B*-drzewa. Przykład. gdzie liczba jest wartością np. klucza i r nm może być np. kluczem bazy danych lub krotką. 2009/ Notatki do wykładu "Podstawy baz danych" 46

47 Organizacja dostępu do pliku rekordów za pomocą B * - drzewa - Wstawianie X a a a a a a a a a a a a a a a a / Notatki do wykładu "Podstawy baz danych" 47

48 Organizacja dostępu do pliku rekordów za pomocą B * - drzewa - Wstawianie X a a a a a a a 95 Chcemy wstawić a a a a a a a a / Notatki do wykładu "Podstawy baz danych" 48

49 Organizacja dostępu do pliku rekordów za pomocą B * - drzewa - Wstawianie X a a a a 65 Chcemy wstawić a a a a a a a a a a a a a / Notatki do wykładu "Podstawy baz danych" 49

50 Indeks bitmapowy Indeks bitmapowy jest zbiorem map bitowych dla każdego indeksowanego atrybutu relacji. Przykład Imie... Adam Zenon Adam Jan Karol Piotr Zbigniew Jan 2009/ Notatki do wykładu "Podstawy baz danych" 50

51 Indeks bitmapowy Zbiór map bitowych dla atrybutu Imię Adam Zenon Jan Karol Piotr Zbigniew / Notatki do wykładu "Podstawy baz danych" 51

52 Indeks bitmapowy Zbiór map bitowych dla atrybutu Imie można zorganizować przy pomocy B * -drzewa 2009/ Notatki do wykładu "Podstawy baz danych" 52

53 Indeksy z odwróconym kluczem W pliku indeksowym o strukturze B*-drzewa wartości klucza pamiętane są w postaci otrzymanej z pierwotnej wartości klucza przez odwrócenie kolejności bitów. Tak zbudowany plik indeksowy nazywamy plikiem indeksowym z odwróconym kluczem (reverse key index). Przykład. Przykład indeksu o strukturze B-drzewa i indeksu z odwróconym kluczem w którym widać, że wartości bliskie zostały rozproszone do różnych stron. 2009/ Notatki do wykładu "Podstawy baz danych" 53

54 Indeksy z odwróconym kluczem Rozproszenie bliskich wartości klucza ma duże znaczenie przy współbieżnych transakcjach operujących na rekordach o bliskich wartościach klucza. 2009/ Notatki do wykładu "Podstawy baz danych" 54

55 Indeksy na wielu atrybutach Do tej pory rozważaliśmy przypadek indeksów dla pojedynczych atrybutów. Indeksy można tworzyć na kombinacji atrybutów np. rok, miesiąc. Wtedy porządek należy rozumieć następująco: para (2005,03) poprzedza parę (2007,01); para (2007,01) poprzedza parę (2007,03). Działanie tak zbudowanych indeksów jest analogiczne do omawianych wcześniej indeksów na pojedynczych atrybutach. 2009/ Notatki do wykładu "Podstawy baz danych" 55

56 Indeksy - Uwagi Uwaga. Na zbiorze atrybutów wchodzących w skład klucza głównego (Primary Key) indeks tworzony jest automatycznie. Uwaga. Na zbiorze atrybutów na których ustawiony jest warunek UNIQUE indeks tworzony jest automatycznie. Uwaga. Na zbiorze atrybutów wchodzących w skład klucza obcego (Foreign Key) nie jest tworzony automatycznie indeks, ale zaleca się utworzenie takiego indeksu gdyż przyspiesza to operacje złączeniowe. Uwaga. Zaleca się tworzenie indeksów na atrybutach względem których występuje często wyszukiwanie. 2009/ Notatki do wykładu "Podstawy baz danych" 56

57 PODSTAWY BAZ DANYCH 8. Architektura Systemu Zarządzania Bazą Danych na przykładzie SZBD Oracle 2009/ Notatki do wykładu "Podstawy baz danych" 57

58 Struktura bazy danych Oracle Baza danych składa się z plików danych, które logicznie podzielone są na pewne obszary zwane przestrzeniami tabel ( tablespace ). Każda przestrzeń tabel składa się z co najmniej jednego pliku danych. Przestrzeń dyskowa zajmowana przez każdy plik danych jest logicznie podzielona na mniejsze jednostki bloki, rozszerzenia, segmenty. W SZBD Oracle obiekty: tabele, indeksy i inne przechowywane są w segmentach. 2009/ Notatki do wykładu "Podstawy baz danych" 58

59 Przestrzenie tabel ( tablespace ) W typowej instalacji Oracle obowiązkowo występują przestrzenie tabel: System przeznaczona na tabele systemowe, Sysaux przeznaczona na tabele systemowe, Undo przeznaczona na dane służące do wycofywania transakcji (nie można w niej pamiętać danych), Users przeznaczona na dane użytkowników, Temp przeznaczona na wyniki częściowe zapytań. 2009/ Notatki do wykładu "Podstawy baz danych" 59

60 Segment i rozszerzenie Rozszerzenie jest to ciągły obszar bloków, który musi znajdować się w jednym pliku dyskowym. plik1 B0 B1 B2 B3 B4 B8 B12 B16 Rozszerzenie 0 Rozszerzenie 1 B0 B3 B6 B9 plik2 Rozszerzenie 2 Segment 2009/ Notatki do wykładu "Podstawy baz danych" 60

61 Segment Dla segmentu (tabeli lub indeksu) występują następujące parametry: 2009/ Notatki do wykładu "Podstawy baz danych" 61

62 Adresowanie rekordu w bazie AAAmbdAAJAAAAAkAAA AAAmbdAAJAAAAAkAAB AAAmbdAAJAAAAAkAAC AAAmbdAAJAAAAAkAAD AAAmbdAAJAAAAAkAAE 2009/ Notatki do wykładu "Podstawy baz danych" 62

63 Architektura systemu Oracle R A M 2009/ Notatki do wykładu "Podstawy baz danych" 63

64 Struktura pamięci SGA (System Global Area ) Database buffers Bufor danych Redo buffers Bufor dziennika powtórzeń Shared pool - Obszar współdzielony Shared SQL Area Współdzielony obszar poleceń SQL Dictionary cache Bufor słownika danych Inne Bufor danych przechowuje dane odczytane z dysku. Bufor dziennika powtórzeń buforuje informacje o zatwierdzonych zmianach w bazie danych. Obszar współdzielony zawiera między innymi współdzielony obszar poleceń SQL (analizę składniową i plany wykonania poleceń SQL). 2009/ Notatki do wykładu "Podstawy baz danych" 64

65 PODSTAWY BAZ DANYCH 9. Podstawowe obiekty bazy danych Oracle 2009/ Notatki do wykładu "Podstawy baz danych" 65

66 Przestrzenie tabel i pliki danych CREATE TABLESPACE nazwa_przestrzeni DATAFILE plik SIZE rozmiar [ K M ] [ ONLINE OFFLINE ] [ PERMANENT TEMPORARY ] DEFAULT STORAGE ( ); [ INITIAL rozmiar [ K M ] ] [ NEXT rozmiar [ K M ] ] [ MINEXTENTS liczba ] [ MAXEXTENTS liczba UNLIMITED ] [ PCTINCREASE liczba ] Przy pomocy DEFAULT STORAGE określamy parametry każdego segmentu tworzonego w definiowanej przestrzeni tabel. 2009/ Notatki do wykładu "Podstawy baz danych" 66

67 Tworzenie tabel CREATE TABLE nazwa_tabeli [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] ( atrybut typ ) [ TABLESPACE nazwa_przestrzeni ] [ STORAGE ( ) ]; [ INITIAL liczba [ K M ]] [ NEXT liczba [ K M ] ] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] [ MAXEXTENS liczba ] /*domyślna UNLIMITED*/ 2009/ Notatki do wykładu "Podstawy baz danych" 67

68 Tworzenie tabel CREATE TABLE nazwa_tabeli ( atrybut typ [,...] ) [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ TABLESPACE nazwa_przestrzeni ] [ STORAGE storage ] [ CLUSTER nazwa_klastra (atrybut [, atrybut]...) ] [ AS query ]; Usuwanie tabeli DROP TABLE nazwa_tabeli [ CASCADE CONSTRAINTS ]; 2009/ Notatki do wykładu "Podstawy baz danych" 68

69 Tabele - indeksy Można utworzyć tabelę zorganizowaną w postaci indeksu (B*-drzewa). CREATE TABLE nazwa_tabeli... ORGANIZATION INDEX; 2009/ Notatki do wykładu "Podstawy baz danych" 69

70 Ograniczenia integralnościowe PRIMARY KEY UNIQUE NOT NULL CHECK FOREIGN KEY Przykład. CREATE TABLE osoby ( id NUMBER PRIMARY KEY, ); nazwisko VARCHAR2(15) NOT NULL, plec CHAR(1) CHECK (plec= K OR plec= M ) 2009/ Notatki do wykładu "Podstawy baz danych" 70

71 Modyfikowanie parametrów składowania tabel Modyfikowanie parametrów tabel: ALTER TABLE nazwa_tabeli [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ STORAGE ( [ NEXT liczba [ K M ]] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] ]; [ MAXEXTENS liczba ] ) ]; 2009/ Notatki do wykładu "Podstawy baz danych" 71

72 Tworzenie indeksu CREATE [ BITMAP ] INDEX nazwa_indeksu ON { nazwa_tabeli ( atrybut [,atrybut [...] ] ) CLUSTER nazwa_klastra } [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ TABLESPACE nazwa_przestrzeni ] [ STORAGE ( [ INITIAL liczba [ K M ]] [ NEXT liczba [ K M ] ] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] [ MAXEXTENS liczba ] ) ] [ REVERSE ]; 2009/ Notatki do wykładu "Podstawy baz danych" 72

73 Modyfikowanie indeksu ALTER INDEX nazwa_indeksu [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ STORAGE ( [ NEXT liczba [ K M ] ] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] [ MAXEXTENS liczba ] ) ] ) [ REBUILD ]; DROP INDEX nazwa_indeksu; 2009/ Notatki do wykładu "Podstawy baz danych" 73

74 Widoki (Perspektywy) Widok (perspektywa - view) jest to logiczna tabela bazująca na jednej lub wielu tabelach. Utworzyć widok może właściciel tabel, użytkownik posiadający do nich co najmniej uprawnienia SELECT lub administrator. CREATE VIEW nazwa [(alias [, alias]...)] AS query [ WITH CHECK OPTION ] ; 2009/ Notatki do wykładu "Podstawy baz danych" 74

75 Widoki (Perspektywy) Parametry: query - identyfikuje atrybuty i wiersze tabel, na których bazuje widok. Zapytanie może być dowolnym poprawnym rozkazem SELECT nie zawierającym klauzuli ORDER BY. WITH CHECK OPTION - informuje, że wstawienia i zmiany wykonywane poprzez widok, są niedozwolone jeśli spowodują wygenerowanie wierszy, które będą niedostępne dla widoku. Uwaga. Możliwości wstawiania wiersza poprzez widoki podlega różnym ograniczeniom. 2009/ Notatki do wykładu "Podstawy baz danych" 75

76 Widoki (Perspektywy) Przykład. CREATE VIEW v_mezczyzni AS SELECT * FROM osoby WHERE plec= M WITH CHECK OPTION ; INSERT INTO v_mezczyzni VALUES ( 50, 'Murek','Jan', NULL, TO_DATE('03/05/1980','dd/mm/yyyy'), 'M'); INSERT INTO v_mezczyzni VALUES ( 60, 'Murek', 'Anna', NULL, TO_DATE('03/05/1980','dd/mm/yyyy'), 'K'); BŁĄD w linii 1: ORA-01402: naruszenie klauzuli WHERE dla perspektywy z WITH CHECK OPTION 2009/ Notatki do wykładu "Podstawy baz danych" 76

77 Klastry Klastry są obiektami do przechowywania tabel. Projektowana tabela Rok Miesiac Wpłaty Klaster o atrybutach Rok i Miesiac Rok Miesiac Klaster o atrybutach Rok i Miesiac ze zdefiniowaną na nim tabelą Rok Miesiac / Notatki do wykładu "Podstawy baz danych" 77

78 Klastry Indeksowy CREATE CLUSTER nazwa_klastra ( atrybut typ [,atrybut typ [,...] ] [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ TABLESPACE nazwa_przestrzeni] [ STORAGE ( [ INITIAL liczba [ K M ]] ]; [ NEXT liczba [ K M ] ] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] [ MAXEXTENS liczba ] ) CREATE CLUSTER nazwa_klastra ( atrybut typ [,atrybut typ [,...] ] [ PCTFREE liczba ] [ PCTUSED liczba ] [ INITRANS liczba ] [ MAXTRANS liczba ] [ TABLESPACE nazwa_przestrzeni ] [ STORAGE ] Haszowy ( [ INITIAL liczba [ K M ]] [ NEXT liczba [ K M ] ] [ PCTINCREASE liczba ] [ MINEXTENS liczba ] [ MAXEXTENS liczba ] ) HASHKEY liczba; 2009/ Notatki do wykładu "Podstawy baz danych" 78

79 Klastry Tworzenie indeksu na klastrze (obowiązkowe): CREATE INDEX nazwa_indeksu ON CLUSTER nazwa_klastra; Usuwanie klastra: DROP CLUSTER nazwa_klastra [ INCLUDE TABLE [ CASCADE CONSTRAINTS ] ]; Uwaga. Na jednym klastrze można tworzyć wiele tabel. ( W Oracle 10g maksymalnie 32 tabele). Uwaga. Wydajnie jest tworzenie klastrów na atrybutach złączeniowych i umieszczać w nim te tabele. 2009/ Notatki do wykładu "Podstawy baz danych" 79

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

Indeksy. Schematyczne ujęcie organizacji pamięci i wymiany danych systemu pamiętania.

Indeksy. Schematyczne ujęcie organizacji pamięci i wymiany danych systemu pamiętania. Indeksy Statyczny model pamiętania bazy danych Bazy danych są fizycznie przechowywane jako pliki rekordów, które zazwyczaj są składowane na twardych dyskach. Dane przechowywane są w pamięci zewnętrznej,

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

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów. Plan wykładu 2 BAZY DANYCH Wykład 4: Indeksy. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krętowska Wydział Informatyki PB Pojęcie

Bardziej szczegółowo

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1) Indeksy Wykład przygotował: Robert Wrembel BD wykład 7 (1) 1 Plan wykładu Problematyka indeksowania Podział indeksów i ich charakterystyka indeks podstawowy, zgrupowany, wtórny indeks rzadki, gęsty Indeks

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

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1 2 3 Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4 Bufory bazy danych. STRUKTURA PROSTA

Bardziej szczegółowo

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 > Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski : idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Bardziej szczegółowo

2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew 0-0-6 PLAN WYKŁADU Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew BAZY DANYCH Wykład 9 dr inż. Agnieszka Bołtuć INDEKSY - DEFINICJE Indeksy to pomocnicze struktury

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

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

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

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

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 15/15 PYTANIA NA EGZAMIN LICENCJACKI 84. B drzewa definicja, algorytm wyszukiwania w B drzewie. Zob. Elmasri:

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. 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

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

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

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

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

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

(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

Podstawy Informatyki. Metody dostępu do danych

Podstawy Informatyki. Metody dostępu do danych Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie

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

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

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

Przykładowe B+ drzewo

Przykładowe B+ drzewo Przykładowe B+ drzewo 3 8 1 3 7 8 12 Jak obliczyć rząd indeksu p Dane: rozmiar klucza V, rozmiar wskaźnika do bloku P, rozmiar bloku B, liczba rekordów w indeksowanym pliku danych r i liczba bloków pliku

Bardziej szczegółowo

Haszowanie (adresowanie rozpraszające, mieszające)

Haszowanie (adresowanie rozpraszające, mieszające) Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy

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

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

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

Wykład 4. SQL praca z tabelami 1

Wykład 4. SQL praca z tabelami 1 Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

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

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

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

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

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie

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

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

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych. Program szkolenia: Administracja Oracle Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Administracja Oracle ora-admin Oracle admini 4 dni 50% wykłady / 50% warsztaty Szkolenie

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

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

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

Definicja pliku kratowego

Definicja pliku kratowego Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,

Bardziej szczegółowo

Struktura drzewa w MySQL. Michał Tyszczenko

Struktura drzewa w MySQL. Michał Tyszczenko Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu

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

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

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

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

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

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

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

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

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

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

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

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

Indeksy. Indeks typu B drzewo

Indeksy. Indeks typu B drzewo 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

"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

CREATE USER

CREATE USER Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość

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

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

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

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

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL Tutorial PostgreSQL 1. Instalacja na własnym komputerze: a. Zainstaluj program ze strony: https://www.postgresql.org/download/ Wersja odpowiednia dla systemu operacyjnego Linux, Mac, Windows Przy pierwszym

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

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

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

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele

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

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

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami

Bardziej szczegółowo

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny

Bardziej szczegółowo

Bazy danych wykład ósmy Indeksy

Bazy danych wykład ósmy Indeksy Bazy danych wykład ósmy Indeksy Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy Wyszyńskiego, danych wykład Warszawa) ósmy Indeksy

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

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

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