Wykład 5 Fizyczne projektowanie bazy danych (Paul Beynon-Davies, Systemy baz danych )

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

Download "Wykład 5 Fizyczne projektowanie bazy danych (Paul Beynon-Davies, Systemy baz danych )"

Transkrypt

1 Zawartość wykładu: Wykład 5 Fizyczne projektowanie bazy danych (Paul Beynon-Davies, Systemy baz danych ) 1) Logiczne projektowanie bazy danych 2) Fizyczne projektowanie bazy danych 3) Zdefiniowanie wydajności 4) Przykład projektowania wydajnej relacyjnej bazy danych Zofia Kruczkiewicz, I-6, p325 C3 1 Internetowe bazy danych, Wykład 5

2 1. Logiczne projektowanie bazy danych - niezależnie od implementacji Konstruowanie modelu reguł działalności stosowanych w pewnej organizacji w postaci relacji czyli tabel 2. Fizyczne projektowanie bazy danych - zależnie od implementacji Analiza wyników logicznego projektu Uwzględnienie wymagań wydajnościowych Uwzględnienie wymagań pamięciowych Implementacja przy użyciu mechanizmów wybranego Systemu Zarządzania Bazą Danych Produkty wejściowe projektowania fizycznego 1. Model logiczny typu relacyjnego (diagramy związków encji, tabele jako odwzorowanie diagramu związków encji) 2. Przybliżone oszacowanie liczby wierszy w tabelach analiza ilości 3. Szacunkowa analiza sposobów użycia tabel za pomocą rodzaju i częstości występowania operacji, które będą prawdopodobnie oddziaływać na tabele w naszej bazie danych analiza użycia 4. Lista więzów integralności analiza więzów integralności 5. Lista najczęściej wykonywanych raportów Produkty wyjściowe projektowania fizycznego 1. Struktury plików zadeklarowane w wybranym języku definiowania danych (Data Definition Language - DDL) 2. Indeksy na strukturach plików 3. Klastry plików 4. Zbiór powiązań wewnętrznych wyrażony w DDL i dodatkowych więzów integralności wyrażony w wybranym języku integralności danych (Data Integrity Language - DIL) 5. Zbiór zapytań zoptymalizowany do działania w konkretnej bazie danych (zapytanie zoptymalizowane taka forma zapytania, która podaje odpowiedź w możliwie najkrótszym czasie). Wybór zapytania do optymalizacji jest dokonywany na podstawie analizy użycia, ilości i integralności. Przyjmuje się dalej, że zapytanie to zarówno czytanie jak zmiana stanu bazy danych (wstawianie, usuwanie i modyfikacja) Zofia Kruczkiewicz, I-6, p325 C3 2 Internetowe bazy danych, Wykład 5

3 3. Zdefiniowanie wydajności Wydajność jest wyrażana za pomocą: czasów reakcji systemu (czas oczekiwania na wykonanie zapytania oraz czas wykonania zapytania) przepustowości (średnia liczba zapytań obsłużonych przez system w określonym czasie) itp Wydajność zależy od: złożoności obliczeniowej zapytania liczby zapytań oczekujących na wykonanie algorytmów szeregowania zapytań parametrów czasowych sprzętu zapotrzebowania na zasoby (pamięć operacyjną, dyski) Aby zdefiniować wydajność systemu, trzeba zdefiniować misję aplikacji: analiza ilości maksymalna i średnia liczba krotek, zmienność liczby krotek analiza użycia- priorytetowa lista najważniejszych zapytań, bo najczęściej wykonywanych należy określić oczekiwaną minimalną częstotliwość tych zapytań analiza integralności sposób obsługi więzów integralności Decyzje dotyczące dostrajania bazy danych pod względem wydajności 1. podziały pionowy i poziomy tabel 2. tworzenie mechanizmów dostępu związanych z przechowywaniem 3. dodawanie indeksów 4. denormalizacja 5. więzy integralności 6. wykorzystanie SZBD Zofia Kruczkiewicz, I-6, p325 C3 3 Internetowe bazy danych, Wykład 5

4 Ad. 1) Podział tabel powinien prowadzić do zmniejszenia czasu wykonania najczęściej wykonywanych zapytań (przykład 1) Ad. 2) sekwencyjność (małe tabele, średnie i duże tabele, gdy należy udostępnić ponad 20% wierszy, dla dowolnych tabel w przypadku zapytań o niskim priorytecie)- pętle zewnętrzne zapytań powinny być krótsze o zagnieżdżonych haszowanie (jako główna ścieżka dostępu do pliku, zbudowana na kluczach głównych) klastry (umieszczanie w jednym klastrze dane używane w operacji złączeń) Ad. 3) Kompromis między czasem wykonywania zapytań oraz czasem modyfikowania, wstawiania i usuwania danych indeksy na kluczach głównych (obowiązkowe) indeksy na kluczach obcych indeksy wtórne Ad. 4) Stosowanie denormalizacji jest stosowane, gdy inne metody zawiodą Np. Wprowadzenie tablicy łączącej tablicę tytul i tablice ksiazka Ksiazka_i_tytul (Id_ksiazka_tytul, tytul, autor, ISBN, cena, numer) Ad. 5) Implementowanie więzów integralności: a) wewnętrznie: określa się więzy integralność encji (ze względu na klucz główny), więzy integralność referencyjnej (klucze obce w zasadzie nie powinny być równe null), więzy integralności dziedziny (np. wartości typ_tytulu muszą pochodzić z dziedziny {Techniczna, Beletrystyczna} proceduralnie: np. procedury wyzwalane nieproceduralnie: zastosowanie centralnych słowników danych, co umożliwia utrzymywanie więzów integralności niezależnie od programów użytkowych Ad. 6) Wybór Systemu Zarządzania Bazą Danych może mieć różny wpływ na wydajność bazy danych typ optymalizacji praca wielowątkowa zapytania interpretowane podczas wykonywania zapytania są wolniejsze- jednak poprawia się ich wydajność, gdy baza jest zmienna lub dostęp do danych ma charakter losowy zapytania skompilowane są szybsze od interpretowanych Zofia Kruczkiewicz, I-6, p325 C3 4 Internetowe bazy danych, Wykład 5

5 4. Przykład projektowania wydajnej relacyjnej bazy danych 4.1. Produkty wejściowe Model relacyjny (pominięto etap analizy czyli tworzenia diagramu związków encji i odwzorowania w tabele) Baza Katalog książek składa się z następujących tabel: Tytul (Id_tytulu, tytul, autor, ISBN, typ_ksiazki) Ksiazka (Id_ksiazki, numer_ksiazki, Id_tytulu_) Rezerwacje(Id_rezerwacji, data, Id_tytulu_) Uwaga: atrybut typ_ksiazki umożliwia klasyfikację książek na książki techniczne i beletrystyczne Analiza ilości Oszacowanie maksymalnej liczby krotek (danych) czyli maksymalnego rozmiaru tabeli pozwala oszacować rozmiar pamięci dyskowej Oszacowanie średniej liczby krotek (średniego rozmiaru tabeli), które mogą być zapisane w bazie danych, daje możliwość oceny modelu dostępu do danych Tabela Maksymalna liczba wierszy a Średnia liczba wierszy b Rozmiar kolumn (krotki) c Maksymalny rozmiar tabeli a*c Zofia Kruczkiewicz, I-6, p325 C3 5 Internetowe bazy danych, Wykład 5 Średni rozmiar tabeli b*c Tytul Ksiazka Rezerwacje Suma Analiza użycia Identyfikacja podstawowych zapytań, wymaganych w bazie danych jako ciągi operacji: wstawiania, modyfikowania, wyszukiwania i usuwania, Zmienność pliku w ciągu roku w tym samym czasie usuwa się 50 i dodaje 50 tytułów, czyli 50/5000=1% w tym samym czasie usuwa się 1000 i dodaje się 1000 książek, czyli 1000/100000=1% w tym samym czasie usuwa się rezerwacji i zakłada nowych rezerwacji, czyli 10000/10000=100%. Tabela Zmienność Tytul Mała Ksiazka Mała Rezerwacja duża

6 Analiza wymagań dotyczących dostępu Rozmiar i zmienność pliku mają wpływ na dostęp do bazy danych: Im większy plik, tym większa konieczność zastosowania specjalnych struktur dostępu do baz danych Im bardziej zmienny plik, tym bardziej konieczne są jak najmniej czasochłonne struktury dostępu do baz danych Zapytanie Częstotliwość wykonywania Podaj tytuły książek Raz na rok - Podaj autorów książek Raz na rok - Podaj tytuły książek technicznych Raz na miesiąc - Podaj numery książek technicznych Podaj tytuły beletrystyczne Podaj zarezerwowane tytuły beletrystyczne Rezerwacje tytułów technicznych lub beletrystycznych Podaj książki beletrystyczne Analiza integralności Raz dziennie - Wiele razy dziennie Wiele razy dziennie Wiele razy dziennie Wiele razy dziennie Konieczność zapewnienia najkrótszego czasu wykonania zapytania + (przykład) + (przykład) + + (przykład) Trzy typy więzów integralności wewnętrznej: klucza głównego (np. Id_ksiazki w tabeli Ksiazka nie może być równy null) klucza obcego (np. Id_tytulu_ w tabeli Ksiazka nie może być równy null) dziedziny wartości np. atrybut typ_tytulu {Techniczna, Beletrystyczna} może przybierać tylko dwie wartości: Techniczna lub Beletrystyczna Typy więzów integralności dodatkowej: więzy przejścia np. jeśli żadna książka o danym tytule nie była wypożyczona przez rok, należy te książki wraz tytułem usunąć z bazy danych więzy statyczne: liczba rezerwacji danego tytułu nie może przekroczyć podwójnej liczby książek o tym tytule Obsługa więzów integralności jest czasochłonna. Zofia Kruczkiewicz, I-6, p325 C3 6 Internetowe bazy danych, Wykład 5

7 4.2. Produkty wyjściowe zoptymalizowane zapytania (p.1-3, str. 3) Zastosowania różnych metod dostępu do danych poprawiające wydajności bazy danych (1) podział tabel, (2) sekwencyjność w dostępie do baz danych, klastry, (3) użycie indeksów Pytanie zawierające selekcję na tabeli Tytul często zadawane pytanie o tytuły beletrystyczne Tytul (Id_tytulu, tytul, autor, ISBN, typ_ksiazki) a) liczba krotek w tabeli Tytul jest równa n, b) 0.9 n to krotki zawierające wartość atrybutu typ_tytulu= Techniczna c) 0.1 n to krotki zawierające wartość atrybutu typ_tytulu= Beletrystyczna d) na stronie pliku przechowuje się t krotek, stąd mamy n/t. Zakłada się najgorszy wariant, w którym każda krotka jest na innej stronie, czyli t=1 Pytanie Select * From Tytul Where typ_tytulu= Techniczna Czasochłonność w technice sekwencyjnej Do i:= 1 to n if Tytul[i].typ_ksiazki= Beletrystyczna Dodaj krotkę Tytul[i] do wynikowej tabeli T1 =t1 +t2 t1 = n - czasochłonność czytania krotek z tabeli Tytul t2 =0.1n - czasochłonność zapisu krotek z tabeli Tytul o typ_tytulu= Beletrystyczna T1 =1.1n Czasochłonność po dodaniu indeksu na atrybucie typ_tytulu w tabeli Tytul Do i:= 1 to 0.1n //następuje bezpośrednie odwołanie poprzez indeks Beletrystyczna do 0.1n krotek w tabeli Tytul if Tytul[i].typ_ksiazki= Beletrystyczna Dodaj krotkę Tytul[i] do wynikowej tabeli T1 =t1 +t2 t1 = 0.1n - czasochłonność czytania krotek z tabeli Tytul t3 = 0.1n - czasochłonność zapisu krotek z tabeli Tytul jako wyniku selekcji T1 =0.1n+0.1=0.2n T1 =0.2n Zofia Kruczkiewicz, I-6, p325 C3 7 Internetowe bazy danych, Wykład 5

8 Czasochłonność po podziale tabeli Tytul poziomy (podział na tytuly techniczne i beletrystyczne) i pionowy (odrzucenie atrybutu typ_tytulu) Tytul_Techniczny(Id_tytulu, tytul, autor, ISBN) Tytul_Beletrystyczny(Id_tytulu, tytul, autor, ISBN) Do i:= 1 to 0.1n // if Tytul[i].typ_ksiazki= Beletrystyczna nie jest wykonywane, gdyż następuje // bezpośrednie odwołanie do 0.1n krotek w tabeli Tytul_Beletrystyczny dedykowanej // typ_tytulu= Beletrystyczna Dodaj krotkę Tytul_Beletrystyczny[i] do wynikowej tabeli T1 =t1 +t2 t1 = 0.1n - czasochłonność czytania krotek z tabeli Tytul_Beletrystyczny t3 = 0.1n - czasochłonność zapisu krotek z tabeli Tytul_Beletrystyczny T1 =0.1n+0.1n=0.1n T1 =0.2n T1 =T1 Różnica między rozwiązaniami: delta T = T1 -T1 =0.9n Wniosek: podział tabeli Tytul oraz założenie indeksu dają identyczną czasochłonność wykonania zapisu w przypadku, gdy zostanie pominięta obsługa indeksu. W przeciwnym wypadku rozwiązanie z podziałem tabeli Tytul jest najlepsze Pytania zawierające złączenia dwóch tabel często zadawane pytanie o zarezerwowane tytuly beletrystyczne Tytul (Id_tytulu, tytul, autor, ISBN, typ_tytulu) Rezerwacje(Id_rezerwacji, data, _Id_tytulu) Np. Pytanie: Select * From Tytul, Rezerwacje Where typ_ksiazka= Beletrystyczna And Id_tytulu=_Id_tytulu; e) liczba krotek w tabeli Tytul jest równa n, gdzie 0.1 n to krotki zawierające wartość atrybutu typ_tytulu= Beletrystyczna f) w tabeli Rezerwacje znajduje się r krotek oraz r>n g) w tabeli Rezerwacje znajduje się p krotek jako zarezerwowanych książek beletrystycznych oraz p 0.1r h) na stronie pliku przechowuje się t krotek, stąd mamy r/t oraz n/t. Zakłada się najgorszy wariant, w którym każda krotka jest na innej stronie, czyli t=1 Zofia Kruczkiewicz, I-6, p325 C3 8 Internetowe bazy danych, Wykład 5

9 Czasochłonność w technice sekwencyjnej Do i:= 1 to n if Tytul[i].typ_tytulu= Beletrystyczna Do k:=1 to p1 //prawda dla 0.1n krotek //liczba krotek zarezerwowanych dla danego tytułu beletrystycznego if Tytul[i].Id_tytulu = Rezerwacje[k]._Id_tytulu //następuje bezpośredni odczyt //w tabeli Rezerwacje dzięki indeksowi na kluczu obcym _Id_tytulu Dodaj krotkę Tytul[i]*Rezerwacje[k] do wynikowej tabeli T1 =t1 +t2 +t3 t1 = n - czasochłonność czytania krotek z tabeli Tytul t2 = 0.1np - czasochłonność czytania krotek z tabeli Rezerwacje i testowań warunków (drugi argument to testowanie zaindeksowanych kluczy obcych dla (w sumie) p krotek z tabeli Rezerwacje) t3 = p - czasochłonność zapisu złączonych krotek z tabel Rezerwacje i Tytul T1 = n +0.1np+p Uwaga: Jeśli r <n, czyli gdy liczba wszystkich rezerwacji jest mniejsza niż liczba tytułów Do k:= 1 to r //istnieje tylko jeden tytul posiadający klucz główny równy kluczowi obcemu w tabeli Rezerwacje //Tytul[i].Id_tytulu = Rezerwacje[k]._Id_tytulu Do i:=x[k] to X[k] //X[k] - indeks Id_tytulu if Tytul[i].typ_tytulu= Beletrystyczna Dodaj krotkę Tytul[i]*Rezerwacje[k] do wynikowej tabeli T1 =t1 +t2 +t3 t1 =r - czasochłonność czytania krotek z tabeli Rezerwacje t2 =r*1 - czasochłonność czytania indeksowanych krotek (klucz główny) z tablicy Tytul czyli Tytul[i].Id_tytulu = Rezerwacje[k]._Id_tytulu t3 =p - czasochłonność zapisu złączonych krotek z tabel Rezerwacje i Tytul T1 =2r+p Zofia Kruczkiewicz, I-6, p325 C3 9 Internetowe bazy danych, Wykład 5

10 Czasochłonność po dodaniu indeksu na atrybucie typ_tytulu w tabeli Tytul Do i:= 1 to 0.1n //następuje bezpośrednie odwołanie poprzez indeks Beletrystyczna do 0.1n krotek w tabeli Tytul if Tytul[i].typ_ksiazki= Beletrystyczna Do k := 1 to p1 //liczba krotek odpowiadająca danemu tytułowi typu Beletrystyczna //następuje bezpośredni odczyt w tabeli Rezerwacje dzięki indeksowi na kluczu obcym _Id_tytulu if Rezerwacje[k]._Id_tytulu=Tytul[i].Id_tytulu Dodaj krotkę Rezerwacje[k] * Tytul[i] do wynikowej tabeli T1 =t1 +t2 +t3 t1 = 0.1n - czasochłonność czytania krotek z tabeli Tytul t2 =0.1n*p - czasochłonność czytania krotek z tabeli Rezerwacje i testowań warunków (drugi argument to testowanie zaindeksowanych kluczy głównych dla (w sumie) p krotek z tabeli Rezerwacje) t3 = p - czasochłonność zapisu złączonych krotek z tabel Rezerwacje i Tytul T1 =0.1n+0.1np+p Czasochłonność w technice sekwencyjnej po podziale tabeli Tytul poziomy (podział na tytuly techniczne i beletrystyczne) i pionowy (odrzucenie atrybutu typ_tytulu) Tytul_Techniczny(Id_tytulu, tytul, autor, ISBN) Tytul_Beletrystyczny(Id_tytulu, tytul, autor, ISBN) Rezerwacje(Id_rezerwacji, numer, _Id_tytulu) Do i:= 1 to 0.1n //mamy 0.1n krotek w tabeli Tytul_Beletrystyczny //instrukcja nie wykona się, gdyż następuje bezpośrednie odwołanie do 0.1n krotek w tabeli //Tytul_Beletrystyczny dedykowanej typ_tytulu= Beletrystyczna //if Tytul[i].typ_ksiazki= Beletrystyczna - Do k := 1 to p1 //liczba krotek odpowiadająca danemu tytułowi typu Beletrystyczna // następuje bezpośredni odczyt w tabeli Rezerwacje dzięki indeksowi na kluczu obcym _Id_tytulu if Rezerwacje[k]._Id_tytulu_=Tytul_Beletrystyczny[i].Id_tytulu Dodaj krotkę Rezerwacje[k] * Tytul_Beletrystyczny[i] do wynikowej tabeli T1 =t1 +t2 +t3 t1 = 0.1n - czasochłonność czytania krotek z tabeli Tytul_Beletrystyczny t2 = 0.1np - czasochłonność czytania krotek z tabeli Rezerwacje i testowań warunków (drugi argument to testowanie zaindeksowanych kluczy głównych dla p (w sumie) krotek z tabeli Rezerwacje) t3 = p - czasochłonność zapisu złączonych krotek z tabel Rezerwacje i Tytul_Beletrystyczny T1 =0.1n+0.1np+p Zofia Kruczkiewicz, I-6, p325 C3 10 Internetowe bazy danych, Wykład 5

11 T1 = T2 Różnica między rozwiązaniami: delta T = T1 -T1 =0.9n Wniosek: Rozwiązanie z dodatkowym indeksem na atrybucie typ_tytulu i podziałem tabeli Tytul ma tę samą czasochłonność, jeśli pominie się czasochłonność obsługi indeksu. W przeciwnym wypadku czasochłonność obsługi indeksu powoduje, że podział tabel Tytul jest najlepszy. Najgorszy przypadek to odczyt sekwencyjny bez indeksu i podziału tabel Pytania zawierające złączenia dwóch tabel często zadawane pytanie o ksiązki beletrystyczne Tytul (Id_tytulu, tytul, autor, ISBN, typ_tytulu) Ksiazka (Id_ksiazki, numer, Id_tytulu_) Np. Pytanie: Select * From Tytul, Ksiazka Where typ_ksiazka= Beletrystyczna And Id_tytulu=Id_tytulu_; i) liczba krotek w tabeli Ksiazka jest równa m j) liczba krotek w tabeli Ksiazka odpowiadająca tytułom o wartości atrybutu typ_tytulu równym Beletrystyczna jest równa q k) na stronie pliku przechowuje się t krotek, stąd mamy m/t. Zakłada się najgorszy wariant, w którym każda krotka jest na innej stronie, czyli t=1 Czasochłonność w technice sekwencyjnej Do i:= 1 to n if Tytul[i].typ_ksiazki= Beletrystyczna Do j:=1 to q1 //prawda dla 0.1n krotek //liczba krotek zarezerwowanych dla danego tytułu beletrystycznego if Tytul[i].Id_tytulu = Ksiazka[j].Id_tytulu_ //następuje bezpośredni odczyt //w tabeli Ksiazka dzięki indeksowi na kluczu obcym Id_tytulu_ Dodaj krotkę Ksiazka[j] * Tytul[i] do wynikowej tabeli T1 =t1 +t2 +t3 t1 = n - czasochłonność czytania krotek z tabeli Tytul t2 =0.1nq - czasochłonność czytania krotek z tabeli Ksiazka i testowań warunków (drugi argument to testowanie zaindeksowanych kluczy obcych dla (w sumie) q krotek z tabeli Ksiazka) t3 = q - czasochłonność zapisu złączonych krotek z tabel Ksiazka i Tytul T1 =n+0.1nq+q Zofia Kruczkiewicz, I-6, p325 C3 11 Internetowe bazy danych, Wykład 5

12 Czasochłonność po dodaniu indeksu na atrybucie typ_tytulu w tabeli Tytul Do i:= 1 to 0.1n // następuje bezpośrednie odwołanie poprzez indeks Beletrystyczna do 0.1n krotek w tabeli Tytul if Tytul[i].typ_ksiazki= Beletrystyczna Do j := 1 to q1 //liczba krotek odpowiadająca danemu tytułowi typu Beletrystyczna //następuje bezpośredni odczyt w tabeli Ksiazka dzięki indeksowi na kluczu obcym Id_tytulu_ if Ksiazka[j].Id_tytulu_=Tytul[i].Id_tytulu Dodaj krotkę Ksiazka[j] * Tytul[i] do wynikowej tabeli T1 =t1 +t2 +t3 t1 = 0.1n - czasochłonność czytania krotek z tabeli Tytul t2 = 0.1n*q - czasochłonność czytania krotek z tabeli Ksiazka i testowań warunków (drugi argument to testowanie zaindeksowanych kluczy głównych dla (w sumie) q krotek z tabeli Ksiazka) t3 = q - czasochłonność zapisu złączonych krotek z tabel Ksiazka i Tytul T1 =0.1n+0.1nq+q Czasochłonność w technice sekwencyjnej po podziale tabeli Tytul - poziomy (podział na tytuly techniczne i beletrystyczne) i pionowy (odrzucenie atrybutu typ_tytulu) Tytul_Techniczny(Id_tytulu, tytul, autor, ISBN) Tytul_Beletrystyczny(Id_tytulu, tytul, autor, ISBN) Ksiazka(Id_ksiazki, numer, Id_tytulu_) Do i:= 1 to 0.1n //mamy 0.1n krotek w tabeli Tytul_Beletrystyczny //nie jest wykonywane, gdyż następuje bezpośrednie odwołanie do 0.1n krotek w tabeli // Tytul_Beletrystyczny dedykowanej typ_tytulu= Beletrystyczna //if Tytul[i].typ_ksiazki= Beletrystyczna Do j := 1 to q1 //liczba krotek odpowiadająca danemu tytułowi typu Beletrystyczna //następuje bezpośredni odczyt w tabeli Ksiazka dzięki indeksowi na kluczu obcym Id_tytulu_ if Ksiazka[j].Id_tytulu_=Tytul_Beletrystyczny[i].Id_tytulu Dodaj krotkę Ksiazka[j] * Tytul_Beletrystyczny[i] do wynikowej tabeli T1 =t1 +t2 +t3 t1 = 0.1n - czasochłonność czytania krotek z tabeli Tytul_Beletrystyczny t2 = 0.1n*q - czasochłonność czytania krotek z tabeli Ksiazka i testowań warunków (drugi argument to testowanie zaindeksowanych kluczy głównych dla q (w sumie) krotek z tabeli Ksiazka) t3 = q - czasochłonność zapisu złączonych krotek z tabel Ksiazka i Tytul_Beletrystyczny T1 =0.1n+0.1n*q+q Zofia Kruczkiewicz, I-6, p325 C3 12 Internetowe bazy danych, Wykład 5

13 T1 = T2 Różnica między rozwiązaniami: delta T = T1 -T1 =0.9n Wniosek: Rozwiązanie z dodatkowym indeksem na atrybucie typ_tytulu i podziałem tabeli Tytul ma tę samą czasochłonność, jeśli pominie się czasochłonność obsługi indeksu. W przeciwnym wypadku czasochłonność obsługi indeksu powoduje, że podział tabeli Tytul jest najlepszy. Najgorszy przypadek to odczyt sekwencyjny bez indeksu i podziału tabeli. Zofia Kruczkiewicz, I-6, p325 C3 13 Internetowe bazy danych, Wykład 5

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

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

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

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

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła 030 PROJEKTOWANIE BAZ DANYCH Prof. dr hab. Marek Wisła Elementy procesu projektowania bazy danych Badanie zależności funkcyjnych Normalizacja Projektowanie bazy danych Model ER, diagramy ERD Encje, atrybuty,

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

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania

Bardziej szczegółowo

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

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

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów

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

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne) Bazy danych 1 Wykład 5 Metodologia projektowania baz danych (projektowanie logiczne) Projektowanie logiczne przegląd krok po kroku 1. Usuń własności niekompatybilne z modelem relacyjnym 2. Wyznacz relacje

Bardziej szczegółowo

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina

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

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU (pieczęć wydziału) KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: 3. Karta przedmiotu ważna od roku akademickiego: 2014/2015 4. Forma kształcenia: studia pierwszego stopnia 5. Forma

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

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

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

Bardziej szczegółowo

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

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski BAZY DANYCH algebra relacyjna Opracował: dr inż. Piotr Suchomski Wprowadzenie Algebra relacyjna składa się z prostych, ale mocnych mechanizmów tworzenia nowych relacji na podstawie danych relacji. Hdy

Bardziej szczegółowo

Laboratorium nr 5. Bazy danych OpenOffice Base.

Laboratorium nr 5. Bazy danych OpenOffice Base. Laboratorium nr 5. Bazy danych OpenOffice Base. Spis treści Wprowadzenie... 2 Ćwiczenie 1: Tabele... 3 Ćwiczenie 2: Tabele projekt tabeli... 4 Ćwiczenie 3: Tworzenie relacji... 5 Ćwiczenie 4: Formularze...

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

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

1 Wstęp do modelu relacyjnego

1 Wstęp do modelu relacyjnego Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared

Bardziej szczegółowo

Model relacyjny bazy danych

Model relacyjny bazy danych Bazy Danych Model relacyjny bazy danych Przygotował: mgr inż. Maciej Lasota Bazy Danych 1 1) Model relacyjny bazy danych Relacyjny model bazy danych pojawił się po raz pierwszy w artykule naukowym Edgara

Bardziej szczegółowo

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu Dane wejściowe Oracle Designer Generowanie bazy danych Diagramy związków encji, a w szczególności: definicje encji wraz z atrybutami definicje związków między encjami definicje dziedzin atrybutów encji

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

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

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

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

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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

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

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Bazy danych stanowią obecnie jedno z ważniejszych zastosowań komputerów. Podstawowe zalety komputerowej bazy to przede wszystkim szybkość przetwarzania danych, ilość dostępnych

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Bazy danych Wykład zerowy. P. F. Góra

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

Bardziej szczegółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

Bardziej szczegółowo

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

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

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

Wykład XII. optymalizacja w relacyjnych bazach danych Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych

Bardziej szczegółowo

Program nauczania. Systemy baz danych. technik informatyk 351203

Program nauczania. Systemy baz danych. technik informatyk 351203 Program nauczania Systemy baz technik informatyk 351203 Treści nauczania Lp. Temat Liczba godzin Efekty kształcenia 1. Zapoznanie z pojęciem baz 53 1. Pojęcie bazy podstawowe definicje 2 PKZ(E.b)11 2.

Bardziej szczegółowo

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia BAZY DANYCH LABORATORIUM Studia niestacjonarne I stopnia Gdańsk, 2011 1. Cel zajęć Celem zajęć laboratoryjnych jest wyrobienie praktycznej umiejętności tworzenia modelu logicznego danych a nastepnie implementacji

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

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

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

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

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

Technologie baz danych

Technologie baz danych Technologie baz danych Wykład 4: Diagramy związków encji (ERD). SQL funkcje grupujące. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Plan wykładu Diagramy związków encji elementy ERD

Bardziej szczegółowo

PODSTAWOWE POJĘCIA BAZ DANYCH

PODSTAWOWE POJĘCIA BAZ DANYCH Baza danych (data base) - uporządkowany zbiór danych o określonej strukturze, przechowywany na nośniku informacji w komputerze. System bazy danych można zdefiniować jako bazę danych wraz z oprogramowaniem

Bardziej szczegółowo

Bazy danych. Algebra relacji

Bazy danych. Algebra relacji azy danych lgebra relacji Model danych Model danych to spójny zestaw pojęć służący do opisywania danych i związków między nimi oraz do manipulowania danymi i ich związkami, a także do wyrażania więzów

Bardziej szczegółowo

Plan wykładu. Elementy ERD BAZY DANYCH. Proces modelowania i implementacji bazy danych. Diagramy związków encji. SQL podzapytania

Plan wykładu. Elementy ERD BAZY DANYCH. Proces modelowania i implementacji bazy danych. Diagramy związków encji. SQL podzapytania Plan wykładu 2 BAZY DANYCH Wykład 4: Diagramy związków encji (ERD). SQL podzapytania. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Diagramy związków encji elementy ERD liczności związków

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

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium BAZY DANYCH Databases Forma studiów: Stacjonarne

Bardziej szczegółowo

W tym modelu wszystkie dane przechowywane są w jednym arkuszu, tabeli, pliku.

W tym modelu wszystkie dane przechowywane są w jednym arkuszu, tabeli, pliku. Modele danych Model danych to zintegrowany zbiór zasad opisujących dane, relacje, powiązania (stosunki) pomiędzy danymi, dozwolone operacje i ograniczenia nakładane na dane i operacje. Model danych jest

Bardziej szczegółowo

Spis treści. 1 Modelowanie logiczne. Plan wykładu. 1 Modelowanie logiczne 1

Spis treści. 1 Modelowanie logiczne. Plan wykładu. 1 Modelowanie logiczne 1 Plan wykładu Spis treści 1 Modelowanie logiczne 1 2 Transformacja modelu pojęciowego do logicznego 2 2.1 Transformacja własności............................ 3 2.2 Transformacja związków............................

Bardziej szczegółowo

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co

Bardziej szczegółowo

1. Mapowanie diagramu klas na model relacyjny.

1. Mapowanie diagramu klas na model relacyjny. Rafał Drozd 1. Mapowanie diagramu klas na model relacyjny. 1.1 Asocjacje Wpływ na sposób przedstawienia asocjacji w podejściu relacyjnym ma przede wszystkim jej liczność (jeden-do-jednego, jeden-do-wielu,

Bardziej szczegółowo

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

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

Transformacja modelu pojęciowego. do logicznego

Transformacja modelu pojęciowego. do logicznego Transformacja modelu pojęciowego do logicznego Plan wykładu 1. Modelowanie logiczne 2. Transformacja modelu pojęciowego do logicznego Transformacja własności Transformacja związków Transformacja hierarchii

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 wprowadzenie. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

Bardziej szczegółowo

Bazy Danych egzamin 9 luty, 2012 rozwiazania

Bazy Danych egzamin 9 luty, 2012 rozwiazania Bazy Danych egzamin 9 luty, 2012 rozwiazania 1 Zadania 1. Stwórz diagram ER dla następującego opisu bazy danych drużyn i rozgrywek lig regionalnych. W szczególności oznacz słabe encje, klucze, rodzaje

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba

Bardziej szczegółowo

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych Mam nadzieję, że do tej pory przyzwyczaiłeś się do tabelarycznego układu danych i poznałeś sposoby odczytywania i modyfikowania tak zapisanych danych. W tym odcinku poznasz nieco teorii relacyjnych baz

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.

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

Dział Temat lekcji Ilość lekcji. godz. 1 Organizacja zajęć Omówienie programu nauczania 3

Dział Temat lekcji Ilość lekcji. godz. 1 Organizacja zajęć Omówienie programu nauczania 3 rzedmiot : Systemy baz Rok szkolny : 2015/2016 Klasa : INF godz. x 0 = 90 godz. Zawód : technik informatyk; symbol 5120 rowadzący : Jacek Herbut, Henryk Kuczmierczyk Henryk Kuczmierczyk Numer Dział Temat

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

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI CELE PROJEKTU Transformacja dowolnej bazy danych w min. 3 postaci normalnej do postaci Asocjacyjnej Grafowej

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

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

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

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników Słowo wstępne (13) Przedmowa i podziękowania (drugie wydanie) (15) Podziękowania (15) Przedmowa i podziękowania (pierwsze wydanie)

Bardziej szczegółowo

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu

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

Relacyjny model baz danych, model związków encji, normalizacje

Relacyjny model baz danych, model związków encji, normalizacje Relacyjny model baz danych, model związków encji, normalizacje Wyklad 3 mgr inż. Maciej Lasota mgr inż. Karol Wieczorek Politechnika Świętokrzyska Katedra Informatyki Kielce, 2009 Definicje Operacje na

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

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na Techniki indeksowania w eksploracji danych Maciej Zakrzewicz Instytut Informatyki Politechnika Poznańska Plan prezentacji Zastosowania indeksów w systemach baz danych Wprowadzenie do metod eksploracji

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

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

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

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny. PI-14 01/12 Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.! Likwidacja lub znaczne ograniczenie redundancji (powtarzania się) danych! Integracja danych!

Bardziej szczegółowo

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

Bardziej szczegółowo

Fizyczna organizacja danych w bazie danych

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

Bardziej szczegółowo

KARTA PRZEDMIOTU 1,5 1,5

KARTA PRZEDMIOTU 1,5 1,5 WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW 33/01 KARTA PRZEDMIOTU Nazwa w języku polskim BAZY DANYCH Nazwa w języku angielskim DATABASE SYSTEMS Kierunek studiów (jeśli dotyczy): INŻYNIERIA

Bardziej szczegółowo

Optymalizacja wydajności SZBD

Optymalizacja wydajności SZBD Optymalizacja wydajności SZBD 1. Optymalizacja wydajności systemu bazodanowego Wydajność SZBD określana jest najczęściej za pomocą następujących parametrów: liczby operacji przeprowadzanych na sekundę,

Bardziej szczegółowo

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Optymalizacja zapytań Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Elementy optymalizacji Analiza zapytania i przekształcenie go do lepszej postaci. Oszacowanie

Bardziej szczegółowo

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Zał. nr 4 do ZW 33/01 KARTA PRZEDMIOTU Nazwa w języku polskim: Nazwa w języku angielskim: Kierunek studiów (jeśli dotyczy): Specjalność (jeśli dotyczy): Stopień studiów

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

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo