Bazy danych. Plan wykładu. Metody organizacji pliku rekordów przypomnienie wiadomości. Pojęcie indeksu. Wykład 11: Indeksy. Język DDL i DML.

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Bazy danych. Plan wykładu. Metody organizacji pliku rekordów przypomnienie wiadomości. Pojęcie indeksu. Wykład 11: Indeksy. Język DDL i DML."

Transkrypt

1 Plan wykładu Bazy danych Wykład 11: Indeksy. Język DDL i DML. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krętowska Wydział Informatyki PB 2 Metody organizacji pliku rekordów przypomnienie wiadomości Plik nieuporządkowany Plik posortowany Plik haszowany Pojęcie indeksu Indeks to struktura danych na dysku umożliwiająca szybkie wyszukiwanie danych w bazie danych na podstawie wartości klucza wyszukiwania jak np. nazwisko osoby. Indeks = skorowidz w książce. W najprostszej postaci wyszukiwanie polega na tym, że mając wartość poszukujemy rekordów, w których ta wartość występuje w danym polu. 3 4

2 Klucz wyszukiwania Plik indeksowy Klucz wyszukiwania (wartość indeksowana) dla indeksu jest to wybrane pole lub pola rekordu, względem których ma odbywać się wyszukiwanie. Indeks jest to struktura danych składająca się z węzłów, w których są zapisywane rekordy indeksu w następującej postaci: pozycje danych k* określane względem wartości klucza wyszukiwania k tzn sam rekord o kluczu k para (k,w) gdzie k jest kluczem rekordu, a w jest wskaźnikiem do rekordu o tym kluczu para (k,w 1,.., w n ), gdzie k jest kluczem rekordu, a w 1,.., w n są wskaźnikami do rekordów o kluczu k (wymaga zmiennej liczby pól) pozycje indeksu kierujące wyznaczeniem właściwej pozycji danych k* w oparciu o wartość klucza wyszukiwania k (np. para (wartość klucza, wskaźnik do węzła w indeksie) 5 Zawartość indeksu jest przechowywana w pliku indeksowym W skład pliku indeksowego wchodzą rekordy indeksu będące pozycjami danych lub pozycjami indeksu. Węzeł odpowiada na ogół stronie dyskowej i zawiera albo pozycje danych albo pozycje indeksu. 6 Rodzaje indeksów Indeks główny (podstawowy) Indeks główny lub podstawowy (primary index) założony na atrybucie porządkującym unikalnym Indeks zgrupowany (clustering index) założony na atrybucie porządkującym nieunikalnym Indeks wtórny (secondary index) założony na atrybucie nieporządkującym Podział ze względu na liczbę wskazań do pliku danych: Indeks gęsty (dense) posiada rekord indeksu dla każdego rekordu indeksowanego pliku danych Indeks rzadki (sparse) posiada rekordy tylko dla wybranych rekordów indeksowanego pliku danych 7 8

3 Indeks zgrupowany Indeks zgrupowany z blokami nadmiarowymi 9 10 Indeks wtórny Złożone klucze wyszukiwania Pojedyncze klucze wyszukiwania - wyszukiwanie według pojedynczego pola Złożone klucze wyszukiwania - wyszukiwanie według kombinacji większej liczby pól 29, , , ,3000 <wiek, zarobki> 1500, , , ,29 <zarobki, wiek> Adamski Bakun Molski Wilczak Rekordy danych posortowane względem imienia <wiek> <zarobki> 11 12

4 Metody implementacji indeksów Indeksy statyczne Indeksy dynamiczne Statyczne drzewo ISAM (indexed sequential access method) Wyszukiwanie binarne - (pliki posortowane) porównujemy poszukiwany klucz z kluczem rekordu znajdującym się w środku ciągu i w zależności od wyniku porównania poszukujemy klucza albo w lewej części albo w prawej, stosując rekurencyjnie opisywaną metodę Poszukiwanie binarne łatwiej zastosować jest nie bezpośrednio do pliku rekordów, ale do pliku zawierającego same klucze rekordów k 1 <k 2 <...<k N, gdzie k i jest najmniejszym kluczem na stronie o numerze i. Plik z kluczami stanowi plik indeksowy Po wyznaczeniu najbliższego pasującego klucza wystarczy przejść do strony z rekordami, na której znajduje się rekord o danym kluczu. Jednopoziomowy plik indeksowy k1 k2 kn Plik indeksowy Strona 1 Strona 2 Strona 3 strona N Plik danych Statyczne drzewo ISAM Strona indeksu jednopoziomowego (węzeł) składa się z pozycji indeksu <k i, P i >, gdzie k i jest kluczem, a P i jest wskaźnikiem na stronę zawierającą wartości klucza >= od klucza k i. Wskaźnik P 0 stanowi wskaźnik na stronę o wartościach klucza <k 1. Pozycja indeksu p 0 k 1 p 1 k 2 p 2... k m p m Strona indeksu k 1 <k 2 <...<k m Zasady poszukiwania danego klucza Indeks wielopoziomowy (drzewo ISAM) Strona indeksu wielopoziomowego (węzeł) składa się z pozycji indeksu <k i, P i >, gdzie k i jest kluczem, a P i jest wskaźnikiem do węzła wyższego poziomu zawierającego wartości kluczy >= od klucza k i. Wskaźnik P 0 stanowi wskaźnik do węzła wyższego poziomu zawierającego wartości klucza <k 1. Pozycja indeksu p 0 k 1 p 1 k 2 p 2... k m p m Wskaźniki na węzły wyższego poziomu Strona indeksu k 1 <k 2 <...<k m Do strony z wartościami klucza <21 Do strony z 21<=k <34 Do strony z 34<=k <56 Do strony z k >=

5 Struktura drzewa ISAM Problemy Węzły wewnętrzne Dodawanie i usuwanie rekordów w przypadku indeksu głównego jest to problem złożony, gdyż musimy wstawić rekord na odpowiedniej pozycji w pliku. Wiąże się to z przeniesieniem części rekordów w pliku, a co za tym idzie zmiany wpisu w indeksie, gdyż przesunięcie rekordów powoduje zmiany wartości kluczy w danym bloku. liście Strony nadmiarowe Strony główne Próby rozwiązania problemu: Wykorzystanie nieuporządkowanego pliku przepełnienia Użycie listy jednokierunkowej rekordów przepełnienia dla każdego bloku w pliku danych (przykład indeksu - kolejny slajd) Podsumowanie drzew ISAM Dynamiczne indeksy wielopoziomowe Drzewa ISAM dobrze sprawdzają się do wyszukiwania rekordu na podstawie wartości jego klucza, a także rekordów z zakresu wartości klucza: A<=klucz<=B; A<=klucz, klucz<=b Gdy liczba rekordów w pliku jest mniej więcej stała struktura ISAM jest dobra B-drzewa B + - drzewa Niebezpieczeństwo grupowania się kluczy w ciągi na stronach nadmiarowych (rozwiązanie struktury dynamiczne) 19 20

6 B-drzewo B-drzewo B-drzewo rzędu p: każdy wierzchołek wewnętrzny na postać: <P 1, <K 1, Pr 1 >, P 2, <K 2, Pr 2 >,...,<K q-1, P q-1 >, P q > gdzie q<=p. Każde P i oznacza wskaźnik drzewa - wskaźnik na inny wierzchołek w B-drzewie. Każde Pr i oznacza wskaźnik danych - wskaźnik na rekord, którego wartość pola klucza wyszukiwania jest równa K i (lub blok w pliku zawierający ten rekord) w każdym wierzchołku K 1 <K 2 <...<K q-1 dla wszystkich wartości pola wyszukiwania X w poddrzewie, na które wskazuje wskaźnik P i mamy K i-1 <X<K i, dla 1<i<q oraz K i-1 <X dla i=q Każdy wierzchołek prócz korzeni i liści posiada co najmniej ceil(p/2) wskaźników drzewa Wszystkie liście znajdująsię na tym samym poziomie. Liście posiadają taką samą strukturę co wierzchołki wewnętrzne poza tym, że ich wskaźniki drzewa są zerowe P 1 K 1 Pr 1 P 2 K i-1 Pr i-1 P i K i Pr i K q-1 Pr q-1 P q Wskaźnik danych Wskaźnik Wskaźnik Wskaźnik danych danych danych X<K 1 Ki-1 <X<K i K q-1 <X Z powodu niejednolitosci węzłów dla B drzew operacje INSERT i DELETE są bardziej skomplikowane => B + - drzewa B + - drzewo Wykorzystywane przez większość implementacji dynamicznych indeksów Wyróżniamy wierzchołki wewnętrzne i liście (różne struktury danych) Wymagana zajętość strony indeksu wynosi minimum 50% ( z wyjątkiem korzenia) Zajętość każdej strony liścia wynosi minimum 50%. Wierzchołki liści są zwykle połączone razem, co zapewnia możliwość uzyskiwania uporządkowanego dostępu do rekordów względem pola wyszukiwania B + - drzewo jest wyważone tzn. każdy liść znajduje się na tej samej głębokości Wierzchołki wewnętrzne Struktura wierzchołków wewnętrznych B+ - drzewa rzędu p: Każdy wierzchołek wewnętrzny ma postać <P 1, K 1, P 2,K 2,..., P q-1, K q-1, P q > gdzie q<=p i każde p i jest wskaźnikiem drzewa W każdym wierzchołku wewnętrznym K 1 <K 2 <...<K q-1. Dla wszystkich wartości pola wyszukiwania X w podrzewie, na które wskazuje wskaźnik p i mamy: K i-1 <X<=K i, dla 1<i<q oraz K i-1 <X dla i=q Każdy wierzchołek wewnętrzny posiada najwyżej p wskaźników drzewa Każdy wierzchołek wewnętrzny oprócz korzenia i liści posiada co najmniej ceil(p/2) wskaźników drzewa. Korzeń posiada co najmniej 2 wskaźniki drzewa. Wierzchołek wewnętrzny o q wskaźnikach drzewa, gdzie q<=p posiada q-1 wartości pola wyszukiwania 23 24

7 Wierzchołki wewnętrzne P 1 K 1 P i-1 K i K q-1 P q Wskaźniki drzewa X<=K 1 Ki-1 <X<=K i K q-1 <X Wierzchołki liści Struktura wierzchołków liści B + - drzewa rzędu p: Każdy wierzchołek liścia ma postać: <<K 1, Pr 1>,<K 2,Pr 2 >,..., <K q-1, Pr q-1 >, P nast > gdzie q<=p i każde Pr i jest wskaźnikiem danych, zaś P nast wskazuje na następny wierzchołek liścia w B + -drzewie. W każdym wierzchołku liścia K 1 <K 2 <.., K q-1, dla q<=p Każde Pr i jest wskaźnikiem danych wskazujących na rekord, którego wartość pola wyszukiwania jest równa k i lub na blok pliku zawierający dany rekord (lub na blok rekordu wskaźników wskazujących na rekordy, których wartością pola wyszukiwania jest K i, jeżeli pole wyszukiwania nie jest kluczem) Każdy wierzchołek liścia posiada co najmniej ceil(p/2) wskaźników drzewa Wszystkie wierzchołki znajdują się na tym samym poziomie Wierzchołki liści K 1 Pr 1 K 2 Pr 2 K i Pr i K q-1 Pr q-1 P nast Wskaźnik danych Wskaźnik danych Wskaźnik na następny wierzchołek liścia w drzewie Podsumowanie drzew Zastosowania indeksów o strukturze drzewiastej wyszukiwanie zakresowe wyszukiwanie równowartościowe sortowanie (order by) wyszukiwanie przy uzgadnianiu wierszy w trakcie złączania tabel Drzewo ISAM - struktura statyczna struktura prostsza niż B + -drzewa modyfikowane są tylko liście wymagane są strony nadmiarowe, mogące pogorszyc czas wykonywania wyszukiwania B + -drzewo - struktura dynamiczna w praktyce wysokość<=3 zakładając, że korzeń drzewa jest zawsze trzymany w buforze RAM, koszt wyszukania pozycji dancyh rekordu wynosi co najwyżej 3 operacje we/wy 27 28

8 Tworzenie tabel CREATE TABLE nazwa_tabeli (kolumna1 typ_danych(rozmiar) [DEFAULT wartość_domyślna] [NULL NOT NULL] [CONSTRAINT nazwa_ogr] ograniczenie_atr], kolumna2 typ_danych(rozmiar) [DEFAULT wartość_domyślna] [NULL NOT NULL] [CONSTRAINT nazwa_ogr] ograniczenie_atr...); Przykład: CREATE TABLE Departament (nr_departamentu number(2), nazwa varchar2(12), lokalizacja varchar(12)); CREATE TABLE Departament (nr_departamentu number(2) not null, nazwa varchar2(12), lokalizacja varchar(12)); Typy kolumn char(rozmiar) - ciąg znaków stałej długości. Rozmiar (liczba znaków) określany w nawiasach o długości nie większej niż 255 bajtów. varchar2(rozmiar) - ciąg znaków zmiennej długości. Rozmiar (liczba znaków, max 2000, domyślnie 1) określany jest w nawiasach. number(rozmiar) - typ numeryczny. Rozmiar określa liczbę cyfr w kolumnie. number(rozmiar,d) - typ numeryczny. Rozmiar określa liczbę znaków w kolumnie, "d" określa maksymalną liczbę cyfr na prawo od kropki dziesiętnej. Skala "d" nie może być większa od precyzji "rozmiar" date do reprezentacji dat i czasu long rozszerzenie typu varchar2, które pozwala przechowywać napisy do 2GB Klauzula CONSTRAINT Służy do definiowania innych niż NOT NULL warunków integralności CREATE TABLE nazwa_tabeli (kolumna1 typ_danych(rozmiar) [DEFAULT wartość_domyślna] [NULL NOT NULL] [CONSTRAINT nazwa_ogr] ograniczenie_atr]...); CREATE TABLE nazwa_tabeli (kolumna1 typ_danych(rozmiar) [DEFAULT wartość_domyślna] [NULL NOT NULL]... CONSTRAINT nazwa_ogr typ_ograniczenia CONSTRAINT nazwa_ogr typ_ograniczenia...); Klauzula CONSTRAINT [CONSTRAINT nazwa_ogr] typ_ograniczenia Nazwa_ograniczenia - identyfikator warunku integralności, występujący np. w komunikatach o błędach spowodowanych przez niedozwoloną operację naruszającą to ograniczenia Typ_ograniczenia: CHECK, PRIMARY KEY, UNIQUE, FOREIGN KEY Ograniczenie - dodatkowe informacje, jego postać zależy od typu ograniczenia 31 32

9 Typy ograniczeń Ograniczenie CHECK - określa warunek, jaki musi spełniać wartość w kolumnie każdego wiersza tabeli. Jeśli więzy są definiowane po definicji wszystkich kolumn, warunek może dotyczyć kilku kolumn, jeśli na poziomie kolumny - tylko tej kolumny. CONSTARAINT CHECK (warunek logiczny) Warunek logiczny musi być prosty - niedopuszczalne są podzapytania, ani funkcje, których wartość zależy od okoliczności wywołania np. SYSDATE. Można używać OR i AND. Przykład W tabeli pracownik żądamy, aby nazwiska były wpisywane wielkimi literami CREATE TABLE pracownik (... nazwisko varchar2(10) CONSTRAINT wielkie_litery CHECK (nazwisko=upper(nazwisko))...); Prowizja osób innych niż sprzedawca musi być NULL. CREATE TABLE pracownik (... Definicje wszystkich kolumn, CONSTRAINT stanowisko_prowizja_spr (prowizja IS NULL OR stanowisko= SPRZEDAWCA ) ); PRIMARY KEY Definiuje klucz główny tabeli (wymusza automatycznie warunek NOT NULL). Jeżeli klucz główny stanowi pojedyncza kolumna wygodnie jest zapisać ten warunek w składni przy kolumnie:... Kolumna typ CONSTRAINT nazwa_ogr PRIMARY KEY,... Jeżeli klucz składa się z dwóch lub więcej kolumn, wtedy należy określić go w składni po kolumnach:... CONSTARINT nazwa_ogr PRIMARY KEY (kol1,kol2,...)... Przykład W tabeli pracownik kluczem jest numer pracownika: id_pracownika CREATE TABLE pracownik (id_pracownika NUMBER(4) CONSTARINT pracownik_pk PRIMARY KEY,...); lub CREATE TABLE pracownik (id_pracownika NUMBER(4) PRIMARY KEY,...); Ustalić klucz w tabeli zlecenie. CREATE TABLE zlecenie (... definicje kolumn CONSTRAINT zlecenie_pk PRIMARY KEY(nr_projektu, id_pracownika)); 35 36

10 UNIQUE Definiuje klucz unikalny tabeli. Klucz unikalny pełni podobną rolę co klucz główny, z tym, że nie wymusza automatycznie warunku NOT NULL na należących do niego kolumnach Klucz unikalny składający się z jednej kolumny:... Kolumna typ CONSTRAINT nazwa_ogr UNIQUE,... Klucz dla dwóch lub większej liczby kolumn:... CONSTARINT nazwa_ogr UNIQUE (kol1,kol2,...)... Przykład W tabeli departament nazwy departamentów nie są kluczem głównym ale też nie powinny się powtarzać. CREATE TABLE departament (... nazwa NUMBER(4) NOT NULL CONSTRAINT d_nazwa_u UNIQUE,...); FOREIGN KEY Definiuje klucz obcy, reprezentujący związek z inną tabelą. Powoduje, że wartości wskazanych kolumn mogą przyjmować jedynie wartości klucza głównego (lub unikalnego) pewnej (najczęściej innej) tabeli. Jeżeli klucz obcy stanowi jedna kolumna:... Kolumna typ CONSTRAINT nazwa_ogr REFERENCES nazwa tabeli (kolumna1),... Jeżeli klucz obcy zbudowany jest z większej liczby kolumn... CONSTARINT nazwa_ogr FOREIGN KEY (lista_kolumn1) REFERENCES nazwa_tabeli (lista_kolumn2)... FOREIGN KEY Aby możliwe było zdefiniowanie klucza obcego: tabela do której odnosi się klucz musi być utworzona na wskazanym zestawie kolumn musi być utworzony klucz główny lub klucz unikalny jeśli w tabeli obcej odwołujemy się do kolumn z klucza głównego, listę kolumn z tabeli obcej można pominąć Własności kluczy obcych w tabeli z kluczem obcym nie można wstawić wiersza, którego wartość w kolumnie z klucza obcego nie ma odpowiedników w tabeli obcej, w tabeli z kluczem obcym nie można zmodyfikować wiersza, tak aby jego wartość kolumnie z klucza obcego nie miała odpowiedników w tabeli obcej, z tabeli obcej nie można usunąć wiersza, do którego odnoszą się jakiekolwiek wiersze z tabeli z kluczem obcym - wstawienie dyrektywy ON DELETE CASCADE spowoduje, że przy usuwaniu wiersza z tabeli będą usuwane wszystkie odwołujące się do niego wiersze z tabel z kluczem obcym

11 Przykład Utworzyć klucze obce w tabeli pracownik. Jakie to będą klucze? CREATE TABLE pracownik( nr_pracownika number (4) PRIMARY KEY, nazwisko varchar2(10), stanowisko varchar2(9), kierownik number(4) CONSTARAINT pracownik_fk_pr REFERENCES pracownik (nr_pracownika), data_zatrudnienia date, pensja number(7,2), prowizja number (7,2), nr_departamentu number(2) NOT NULL CONSTRAINT pracownik_fk REFERENCES departament ON DELETE CASCADE ); Klauzula DEFAULT Służy do wskazania jaka wartość ma być wstawiona w polu kolumny jeśli w poleceniu wstawiania nie określono wartości tej kolumny.... Kolumna typ DEFAULT wyrażenie,... Podane wyrażenie musi być zgodne z typem kolumny. Wyrażenie musi być proste, nie mogą występować podzapytania Dozwolone są funkcje typu SYSDATE Tworzenie tabeli przez zapytanie CREATE TABLE nazwa_tabeli [nazwa_kolumny [NULL/NOT_NULL],...] AS SELECT zapytanie nowa tabela składa się z kolumn oraz wierszy określonych poleceniem SELECT jeśli pozycje występujące na liście SELECT mają prawidłowe nazwy (nie są to wyrażenia) lub mają aliasy, lista nazw kolumn nowej tabeli może zostać pominięta jeśli podana jest lista nazw nowej tabeli, liczba pozycji musi się pokrywać z liczbą pozycji, występujących po poleceniu SELECT Przykład Utworzyć tabelę zawierającą nazwisko, pensję i grupę zaszeregowania każdego pracownika. CREATE TABLE pracownik_pensja (nazwisko, pensja, stopien) AS SELECT nazwisko, zarobki, nr_przedziału FROM pracownik, poziom_zarobkow WHERE pensja between dolna_granica and gorna_granica; 43 44

12 Zmiana definicji tabeli Dodawanie kolumn Zmiana definicji tabeli: ALTER TABLE Dodawanie kolumn: ALTER TABLE nazwa_tabeli ADD (kolumna typ [(rozmiar)], kolumna typ [(rozmiar)],...); Zmiana definicji tabeli Zarządzanie więzami integralności Dodawanie więzów integralności: ALTER TABLE nazwa_tabeli ADD (CONSTRAINT nazwa_ogr [warunek])...); Włączanie i wyłączanie sprawdzanie więzów integralności: ALTER TABLE nazwa_tabeli ENABLE CONSTRAINT nazwa_ogr; ALTER TABLE nazwa_tabeli DISABLE CONSTRAINT nazwa_ogr; Usuwanie warunku integralności: ALTER TABLE nazwa_tabeli DROP CONSTRAINT nazwa_ogr; Modyfikacja definicji kolumny ALTER TABLE nazwa_tabeli MODIFY (kolumna typ [(rozmiar)] [NULL NOT NULL]); Nie można wykonać następujących modyfikacji: kolumny, w której występują wartości NULL nie można przedefiniować z NULL na NOT NULL nie można dodać nowej kolumny o własności NOT NULL (chyba, że tabela jest pusta). Dopiero po wpisaniu wartości kolumny można ją zmodyfikować. Nie jest możliwe zmniejszenie rozmiaru kolumny lub zmiany jej typu, chyba, że kolumna jest pusta nie jest możliwa zmiana typu kolumny Usuwanie tabel DROP TABLE nazwa_tabeli; usunięcie tabeli powoduje utratę wszystkich danych zawartych w tabeli oraz wszystkich indeksów tabela może zostać usunięta przez jej właściciela albo administratora bazy danych jeżeli istnieją tabele z kluczami obcymi odwołującymi się do usuwanej tabeli, usuwanie się nie powiedzie, chyba, że na końcu dodamy dyrektywę CASCADE CONSTRAINS. Wtedy zostaną usunięte odpowiednie definicje kluczy obcych w innych tabelach

13 Zmiana nazwy tabeli RENAME stara_nazwa TO nowa_nazwa 49

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

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. Plan wykładu. Klucz wyszukiwania. Pojcie indeksu. Wykład 8: Indeksy. Pojcie indeksu - rodzaje indeksów

Bazy danych. Plan wykładu. Klucz wyszukiwania. Pojcie indeksu. Wykład 8: Indeksy. Pojcie indeksu - rodzaje indeksów Plan wykładu Bazy Wykład 8: Indeksy Pojcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl

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

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

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

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Plan wykładu azy danych Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Przykład sprowadzenia nieznormalizowanej relacji do 3NF SQL instrukcja EXISTS DDL DML (insert) Małgorzata Krtowska Katedra

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

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

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 - 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. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe 1 Plan rozdziału 2 Indeksy Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny Indeksy wielopoziomowe Indeksy typu B-drzewo B-drzewo B+ drzewo B* drzewo Wprowadzenie 3 Indeks podstawowy

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

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

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

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

sprowadza się od razu kilka stron!

sprowadza się od razu kilka stron! Bazy danych Strona 1 Struktura fizyczna 29 stycznia 2010 10:29 Model fizyczny bazy danych jest oparty na pojęciu pliku i rekordu. Plikskłada się z rekordów w tym samym formacie. Format rekordujest listą

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

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

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

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

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1) Tworzenie relacji polecenie CREATE TABLE Rozdział 6 Język definiowania danych DDL CREATE TABLE nazwa_relacji (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],

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

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

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

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

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

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

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

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

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

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

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

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

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

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

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

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

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

Bardziej szczegółowo

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

Bardziej szczegółowo

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

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

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

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

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego Transformacja modelu ER do modelu relacyjnego Wykład przygotował: Robert Wrembel BD wykład 4 (1) 1 Plan wykładu Transformacja encji Transformacja związków Transformacja hierarchii encji BD wykład 4 (2)

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

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

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

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

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

Ćwiczenie 7 - DDL. Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL. Wymagania: Bazy Danych

Ćwiczenie 7 - DDL. Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL. Wymagania: Bazy Danych Bazy Danych Ćwiczenie 7 - DDL Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL Podczas dotychczasowych ćwiczeń z Systemów Baz Danych wykonywaliście Państwo zadania przy wykorzystaniu relacji PRACOWNICY,

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Instytut Mechaniki i Inżynierii Obliczeniowej  fb.com/groups/bazydanychmt/ Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl fb.com/groups/bazydanychmt/ Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 4 (Asocjacje,

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

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

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

Bardziej szczegółowo

Optymalizacja poleceń SQL Metody dostępu do danych

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

Bazy danych 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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

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

Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus

Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus Katedra Informatyki i Automatyki Politechnika Rzeszowska Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus C5.I. Wprowadzenie C5.I.1 Ogólna charakterystyka i uruchomienie systemu Język SQL jest

Bardziej szczegółowo

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

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

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) )

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) ) BAZY DANYCH laboratorium 3 tworzenie, modyfikacje i usuwanie tabel, operacje na danych Cel Stworzenie w ramach bazy danych Biblioteka nowych tabel według specyfikacji (CREATE TABLE Ustawianie właściwości

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

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

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

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

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

Systemy baz danych. mgr inż. Sylwia Glińska

Systemy baz danych. mgr inż. Sylwia Glińska Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania

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

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

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

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

Bardziej szczegółowo

SQL w praktyce. Miłej i owocnej nauki!!!

SQL w praktyce. Miłej i owocnej nauki!!! SQL w praktyce Niniejsza praca objęta jest prawami autorskimi. Nielegalne jest kopiowanie żadnej częsci tej pracy w żadnej postaci. Niezgodne z prawem tym bardziej jest udostępnianie innym tej pracy odpłatnie

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

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

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

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

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

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków

Bardziej szczegółowo

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza BAZY DANYCH Microsoft Access OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki

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

Tworzenie baz danych i tabel

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 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

Struktury danych i optymalizacja

Struktury danych i optymalizacja Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2005/06 Plan wykładu Ewolucja

Bardziej szczegółowo

Język SQL, zajęcia nr 2

Język SQL, zajęcia nr 2 Język SQL, zajęcia nr 2 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 Funkcja agregująca

Bardziej szczegółowo

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk Drzewa i struktury drzewiaste www.agh.edu.pl DEFINICJA DRZEWA Drzewo

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

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *

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