71. Kolejki priorytetowe i metody ich realizacji

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

Download "71. Kolejki priorytetowe i metody ich realizacji"

Transkrypt

1 71. Kolejki priorytetowe i metody ich realizacji Kolejka priorytetowa to struktura danych służąca do przechowywania zbioru S elementów, z których każdy ma przyporządkowaną wartość, zwaną kluczem. Kolejka priorytetowa ma zastosowanie tam, gdzie obiekty są pobierane z dynamicznej struktury i przetwarzane w kolejności od obiektu o najwyższym priorytecie do obiektu o najniższym priorytecie. Przy czym, w trakcie procesu przetwarzania nowe obiekty mogą być dodawane do kolejki. Kolejka priorytetowa to jedna z podstawowych abstrakcyjnych struktur danych, wykorzystywana między innymi w takich zastosowaniach jak: - algorytm Dijkstry wyznaczania najkrótszych ścieżek w grafach - algorytm Prima znajdowania minimalnego drzewa rozpinającego - symulacja sterowana zdarzeniami - metoda zamiatania w geometrii obliczeniowej - kodowanie Huffmana - sortowanie (algorytm Heapsort) Na kolejce priorytetowej można wykonać następujące operacje: INSERT(S,x) - wstawia element x do zbioru S. Ta operacja może być zapisana jako S<-S U {x} (x jest elementem o kluczu z pewnego liniowo uporządkowanego uniwersum) MAXIMUM(S) - daje w wyniku element S o największym kluczu EXTRACT-MAX(S) - usuwa i daje w wyniku element S o największym kluczu. Ten zestaw operacji często rozszerza się o: DECREASE-KEY(S,x,y): nadaje kluczowi elementu x w zbiorze S nową, mniejszą wartość y Jeśli struktura danych udostępnia dodatkowo operację łączenia kolejek MELD(S1,S2): zwraca nową kolejkę, zawierającą wszystkie elementy ze zbiorów S1 i S2 to nazywamy ją złączalną kolejką priorytetową. Jednym z zastosowań kolejki priorytetowej jest przydzielanie zasobów na komputerze wykonującym zadanie współbieżnie. W kolejce priorytetowej są zapamiętane zadania, które mają być wykonane, a ich priorytety względem siebie. Kiedy zadanie kończy się lub zostaje przerwane, zadanie o największym priorytecie jest wybierane przez EXTRACT-MAX spośród zadań czekających. Nowe zadanie może zostać dodane do kolejki w dowolnej chwili za pomocą operacji INSERT. Kolejka priorytetowa może również być użyta jako symulator zdarzeń. Elementami kolejki są zdarzenia, które należy symulować, każde z przyporządkowanym czasem występowania, który służy jako klucz. Zdarzenia muszą być symulowane w kolejności ich zajścia, ponieważ symulacja zdarzenia może spowodować, że inne zdarzenia będą symulowane w przyszłości. W tym zastosowaniu naturalnym rozwiązaniem jest odwrócenie liniowego porządku kolejki i wykorzystanie operacji MINIMUM i EXTRACT-MIN w miejsce operacji MAXIMUM i EXTRACT-MAX. Program symulacyjny korzysta w każdym kroku z operacji EXTRACT-MIN do wybierania zdarzenia, które będzie symulował. Kiedy zachodzą nowe zdarzenia, zostają one dodane do kolejki za pomocą operacji INSERT. Najprostszą, choć niezbyt efektywną implementację kolejki priorytetowej stanowi zwykła lista. Znacznie efektywniejszy jest kopiec binarny (wykorzystywany w algorytmie HeapSort), nie pozwala on jednak na szybkie łączenie kolejek. Przedstawione na tym wykładzie struktury danych: kopiec dwumianowy i kopiec Fibonacciego, umożliwiają efektywne wykonywanie wszystkich operacji złączalnej kolejki priorytetowej.

2 Oto tabela kosztów poszczególnych operacji w wymienionych implementacjach, przy założeniu, że w kolejce(ach) jest aktualnie n elementów: Operacja Lista Kopiec Binarny Kolejka Dwumianowa Fibonacciego(*) MakePQ Insert 1 1 FindMin 1 1 DelMin DecreaseKey 1 1 Delete 1 Meld 1 1 (*) - koszt zamortyzowany Uwaga: wyszukiwanie elementu nie należy do zestawu operacji (złączalnej) kolejki priorytetowej, dlatego w przypadku operacji DecreaseKey i Delete zakładamy, że jako parametr przekazywane jest dowiązanie do elementu, którego ma dotyczyć operacja. Drzewa i kolejki dwumianowe Wynaleziona w roku 1978 przez J. Vuillemina [V] kolejka dwumianowa to kolekcja drzew dwumianowych o następującej rekurencyjnej definicji: jest drzewem jednowęzłowym, a korzeń drzewa (drzewa dwumianowego stopnia ) ma synów stanowiących korzenie drzew,..., (w tej właśnie kolejności, idąc od prawej do lewej). Poniższy lemat dotyczy podstawowych własności drzew dwumianowych: LEMAT [LEMAT 1] Drzewo dwumianowe (a) ma węzłów;

3 (b) ma wysokość ; (c) ma dokładnie węzłów na poziomie, dla (stąd nazwa 'drzewo dwumianowe'); (d) można otrzymać dołączając do drzewa drugie drzewo jako skrajnie lewego syna korzenia. Kolejka dwumianowa to lista drzew dwumianowych uporządkowana ściśle rosnąco względem stopni (idąc od prawej do lewej), przy czym każde drzewo spełnia warunek kopca: klucz w ojcu jest niewiększy niż klucze w synach. Z lematu 1(a) wynika, że w skład kolejki dwumianowej zawierającej kluczy drzewo wchodzi wtedy i tylko wtedy, gdy -tym bitem rozwinięcia binarnego liczby jest 1; w szczególności łączna liczba drzew to. Operacje na kolejce dwumianowej Ponieważ z warunku kopca wynika, że w każdym drzewie wchodzącym w skład kolejki element najmniejszy znajduje się w korzeniu, operacja FindMin wymaga jednokrotnego przejścia listy drzew. Jej koszt to dla -elementowej kolejki. Najważniejszą operacją na kolejce dwumianowej, za pomocą której definiuje się większość pozostałych, jest Meld (łączenie kolejek).jej działanie przypomina mechanizm dodawania liczb binarnych, przy czym sumowaniu jedynek na pozycji w dodawanych liczbach odpowiada łączenie dwóch drzew dwumianowych stopnia (zobacz lemat 1(d)): korzeń z mniejszym kluczem (w celu zachowania warunku kopca) zostaje korzeniem wynikowego drzewa ('przeniesienia'), a drugi korzeń zostaje jego skrajnie prawym synem. Łączenie dwóch kolejek polega na przejściu obydwu list drzew i złączeniu drzew jednakowych stopni. Jego koszt jest proporcjonalny do sumy długości list. Operacja Insert (wstawienie węzła) stanowi w zasadzie szczególny przypadek Meld (łączenie z kolejką jednoelementową).operacja DelMin(H) polega na znalezieniu i usunięciu z listy H drzewa z najmniejszym kluczem, odcięciu jego korzenia (ten klucz jest wynikiem całej operacji) i połączeniu listy jego synów (stanowiącej poprawną kolejkę dwumianową) z H. Łączny koszt to dla -elementowej kolejki. Operację DecreaseKey wykonuje się podobnie jak poprawianie kopca binarnego przy wstawianiu elementu: zmniejszony klucz wędruje w górę swojego drzewa dwumianowego, zamieniając się miejscami z ojcem dopóty, dopóki nie zostanie odtworzony warunek kopca. W myśl lematu 1(b) maksymalna wysokość drzewa w -elementowej kolejce to, więc koszt takiej operacji jest logarytmiczny.operacja Delete sprowadza się do przesunięcia klucza, który mamy usunąć, do korzenia (jak w DecreaseKey), a potem usunięcia tego korzenia (jak w DelMin). Kopce Fibonacciego Ta struktura danych, wynaleziona przez Fredmana i Tarjana w roku 1984 [FT], stanowi ulepszenie kolejki dwumianowej, które pozwala uzyskać stały (w sensie zamortyzowanym) koszt operacji DecreaseKey, dominującej w algorytmie Dijkstry i jemu pokrewnych. Podstawowy pomysł polega tu na leniwym wykonywaniu operacji, tzn. odkładaniu pracy związanej z zarządzaniem strukturą danych do momentu, kiedy jest to naprawdę niezbędne. Podobnie jak kolejka dwumianowa, kopiec Fibonacciego to lista drzew, z których każde spełnia warunek kopca. Drzewa te nie są już jednak drzewami dwumianowymi (chociaż są im na tyle bliskie, że mają zbliżone własności) i nie są uporządkowane względem stopni korzeni. Operacja Meld (łączenie kolejek) to po prostu sklejenie dwóch list drzew, bez prób porządkowania względem stopni korzeni czy eliminacji powtórzeń. Jej koszt to oczywiście O(1). Tak jak poprzednio, Insert stanowi szczególny przypadek Meld (łączenie z kolejką jednoelementową). Podczas operacji DelMin przychodzi czas na wykonanie odkładanej wcześniej pracy. Najpierw usuwany jest korzeń zawierający najmniejszy klucz, a jego synowie są dołączani do listy korzeni. Następnie odbywa się konsolidacja listy drzew, mająca na celu doprowadzenie do sytuacji, w której wszystkie korzenie na liście będą miały różne stopnie. Polega ona na przejściu przez listę korzeni i łączeniu drzew jednakowego stopnia - tak samo, jak łączyło się drzewa dwumianowe - a przy okazji uaktualnieniu wskaźnika do korzenia zawierającego najmniejszy klucz. Można ją zrealizować w czasie proporcjonalnym do liczby konsolidowanych drzew, jeśli skorzystamy z pomocniczej tablicy indeksowanej stopniami korzeni: pod indeksem przechowujemy w niej wskaźnik do (jedynego) korzenia stopnia w przetworzonej części listy, albo NULL, jeśli w tym fragmencie

4 listy korzenia o stopniu nie ma. Oto oszacowanie kosztu zamortyzowanego operacji DelMin: Każdemu drzewu w kopcu Fibonacciego w chwili jego pojawienia się na liście przypisujemy jednostkę kredytu. Niech oznacza liczbę drzew w kopcu przed wykonaniem operacji, - stopień korzenia zawierającego najmniejszy klucz, zaś - liczbę wykonań operacji łączenia drzew. Żeby wykonać Delmin, musimy wykonać pracę proporcjonalną do. Ponieważ przy każdym połączeniu drzew uwalniana jest jednostka kredytu, uzyskujemy w ten sposób jednostek. Jak pokażemy później (Tw. 2), rozmiar drzewa w kopcu Fibonacciego jest wykładniczy względem stopnia korzenia. Wynika z tego, że po konsolidacji, kiedy wszystkie drzewa w kopcu będą miały różne stopnie, ich liczba będzie, gdzie to rozmiar kopca po operacji. Tak więc do wykonania koniecznej pracy i utrzymania niezmiennika "jedna jednostka kredytu związana z każdym drzewem w kopcu" wystarczy dodatkowych jednostek kredytu - i taki właśnie jest koszt zamortyzowany operacji DelMin. Operacja DecreaseKey mogłaby polegać na zmniejszeniu wartości klucza oraz - o ile został naruszony warunek kopca - odcięciu poddrzewa o korzeniu i dołączeniu go do listy korzeni. To jednak, zbyt gwałtownie zmniejszając rozmiary poddrzew, powodowałoby, że twierdzenie 2 nie byłoby prawdziwe, a nasza analiza operacji DelMin przestałaby działać. Bedziemy zatem odcinać poddrzewa, ale w sposób kontrolowany: każdy nie będący korzeniem węzeł może stracić co najwyżej jednego syna. Jeśli sytuacja wymaga odcięcia drugiego syna, to taki węzeł sam zostaje odcięty od swojego ojca (co może oczywiście spowodować dalsze rekurencyjne odcięcia). Do utrzymywania informacji o stanie węzła wystarcza znacznik logiczny, który ma wartość TRUE wtedy i tylko wtedy, gdy dany węzeł stracił dokładnie jednego syna od czasu, kiedy sam stał się synem innego węzła (w wyniku łączenia drzew). Argumentacja, że koszt zamortyzowany operacji DecreaseKey to, jest następująca: Oprócz kredytu przypisywanego do drzew będziemy dodatkowo przypisywać dwie jednostki kredytu każdemu węzłowi, który traci jednego syna, kosztem kredytu obciążając operację, która spowodowała odcięcie (dla każdej operacji jest co najwyżej jeden taki węzeł). Kiedy następuje odcięcie drugiego syna (a więc także i odcięcie samego węzła od ojca), koszt tego zabiegu pokrywa jedna jednostka kredytu, a druga pozostaje przypisana do nowo wstawionego na listę drzewa o korzeniu (w celu utrzymania niezmiennika "jedna jednostka kredytu związana z każdym drzewem w kopcu"). Podczas jednej operacji DecreaseKey może nastąpić cała seria odcięć, ale wszystkie (oprócz być może ostatniego) są już wcześniej z góry opłacone. Operacja Delete polega na odcięciu węzła od ojca (o ile nie jest korzeniem) - jak w DecreaseKey - a następnie usunięciu, będącego teraz korzeniem - jak w DelMin. Koszt zamortyzowany tej operacji to dla -elementowego kopca. 72. Pojęcie bazy danych funkcje i możliwości. Baza danych to zbiór informacji zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. W potocznym ujęciu obejmuje dane oraz program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych. Program taki (często zestaw programów) nazywany jest Systemem zarządzania bazą danych (ang. DataBase Management System, DBMS). W ścisłej nomenklaturze baza danych oznacza zbiór danych, opisujący pewien wybrany fragment rzeczywistości. Przykładowo bazą danych może być zbiór danych banku na temat klientów, ich rachunków, operacji na rachunkach, udzielanych kredytach. Dane w bazie danych posiadają dwie podstawowe cechy. Po pierwsze, odzwierciedlają rzeczywistość w sposób z nią zgodny (prawidłowy). Po drugie, są zorganizowane w specyficzny sposób, zgodnie z tzw. modelem danych. Struktura danych i powiązania między nimi są opisane przez tzw. schemat bazy danych. Z DBMS współpracują programy użytkowników, zwane aplikacjami. Zadaniem tych programów jest przetwarzanie danych, tj. wstawianie nowych danych, modyfikowanie danych już istniejących, usuwanie danych nieaktualnych, wyszukiwanie danych.

5 Charakterystyka baz danych: Do głównych cech charakteryzujących bazę danych zalicza się: trwałość danych, rozmiar wolumenu danych i złożoność danych. Trwałość danych oznacza, że dane przechowywane w bazie danych nie są ulotne. W konsekwencji, okres przechowywania danych jest ograniczony wyłącznie okresem żywotności nośnika danych. "Czas życia" danych, po ich zapisaniu do bazy danych jest niezależny od istnienia i działania bądź niedziałania aplikacji. Trwałość danych jest również niezależna od platformy sprzętowo-programowej. W ogromnej większości zastosowań, dane zgromadzone w bazie danych nie mieszczą się w pamięci operacyjnej, więc do ich składowania jest wymagana pamięć zewnętrzna (dyskowa, optyczna, taśmowa). Tak duże ilości danych nie mogą być przeglądane liniowo ze względu na niewielką efektywność tej techniki. W konsekwencji konieczne jest wykorzystanie innych zaawansowanych mechanizmów efektywnego dostępu do danych. Dane gromadzone w bazie danych często są złożone ze względu na: - złożoność ich struktur i zależności pomiędzy danymi (np. projekt samochodu, złożony z tysięcy elementów), - złożoność semantyczną danych (np. fakt przyznania kredytu mieszkaniowego jest uzależniony od spełnienia lub niespełnienia wielu wymagań przez petenta). Ponadto, na dane są często nakładane tzw. ograniczenia integralnościowe gwarantujące, że w bazie danych pojawią się wyłącznie dane spełniające te ograniczenia. Ograniczenia takie mogą być również bardzo złożone. Bazie danych stawia się 6 podstawowych wymagań: 1. Spójność bazy danych jest definiowana jako poprawność danych z punktu widzenia pewnych przyjętych kryteriów. Definiując spójność wymienia się trzy takie kryteria, tj.: - wierne odzwierciedlenie danych rzeczywistych - dane przechowywane w bazie danych są takie jak w świecie rzeczywistym, który ta baza reprezentuje. Przykładowo, w bazie danych dziekanatu są przechowywane dane tylko tych studentów, którzy kiedykolwiek ukończyli studia i dane tylko studentów aktualnie studiujących. Innymi słowy, baza ta nie zawiera danych studentów nieistniejących. Ponadto, zależności między danymi wiernie odzwierciedlają zależności pomiędzy obiektami świata rzeczywistego. Przykładowo, grupa studencka G1 w bazie danych dziekanatu składa się ze studentów należących do tej grupy w świecie rzeczywistym., - spełnienie ograniczeń nałożonych przez użytkowników - wszystkie dane w bazie, na które nałożono

6 pewne ograniczenia integralnościowe muszą te ograniczenia spełniać. Przykładowo, w bazie danych dziekanatu zdefiniowano ograniczenie na możliwe wartości oceny i określono, zbiór dozwolonych ocen jako {2, 3, 4, 5}. Oznacza to, że w bazie danych nie pojawi się żadna inna ocena niż dozwolona., - brak anomalii wynikających ze współbieżnego dostępu do danych - w przypadku baz danych, z których korzysta przynajmniej dwóch użytkowników mogą powstać dane niepoprawne na skutek równoczesnego modyfikowania tego samego zbioru danych. Baza danych musi być odporna na takie sytuacje niepoprawne.. Spójność to również poprawność danych w przypadku awarii sprzętowo-programowych. W sytuacji wystąpienia awarii, w bazie danych nie mogą powstać dane niepoprawne. Ponadto, żadne dane nie mogą zostać utracone. Baza danych powinna być również odporna na przypadkowe błędy użytkowników, np. usunięcie danych. W takiej sytuacji musi istnieć mechanizm naprawienia błędu, wycofania akcji użytkownika. 2. Drugim wymaganiem stawianym bazie danych jest zapewnienie efektywnego przetwarzania danych, tj. wstawiania nowych danych, modyfikowania istniejących, usuwania i wyszukiwania danych. W tym celu koniecznej jest wykorzystywanie efektywnych metod dostępu do danych z wykorzystaniem specjalizowanych struktur i optymalizacja metod dostępu. Ponadto, program, czy użytkownik korzystający z bazy danych nie zna fizycznej organizacji danych na nośniku. W związku z tym, optymalizacja dostępu powinna być realizowana przez wyspecjalizowany moduł programowy i powinna być niewidoczna dla użytkownika. 3. Trzecim wymaganiem stawianym bazie danych jest poprawne modelowanie świata rzeczywistego. Oznacza to, że struktura bazy danych musi odzwierciedlać we właściwy/poprawny sposób obiekty świata rzeczywistego i powiązania pomiędzy tymi obiektami. Przykładowo, jeżeli dealer samochodowy sprzedaje samochody osobowe i dostawcze w różnych konfiguracjach, to baza danych dla tego dealera musi umożliwiać przechowywanie danych na temat samochodów i osobowych i dostawczych, oraz konfiguracji poszczególnych modeli. Producenci systemów zarządzania bazami danych oferują narzędzia wspomagające procesy modelowania danych, projektowania bazy danych i transformacje pomiędzy różnymi modelami. 4. Czwartym wymaganiem jest autoryzacja dostępu do danych. Oznacza to, że dostęp do bazy danych mają tylko jej użytkownicy identyfikowani unikalną nazwą i hasłem. Ponadto, każdy użytkownik posiada określone uprawnienia w bazie danych. 5. Piątym wymaganiem jest zagwarantowanie możliwości równoczesnej pracy wielu użytkownikom tej samej bazy danych. Co więcej, użytkownicy ci mogą jednocześnie pracować z tym samym zbiorem danych. W takim przypadku mogą powstać konflikty w dostępie do danych, gdy jeden użytkownik modyfikuje zbiór danych, a drugi próbuje ten sam zbiór odczytać lub zmodyfikować. Baza danych musi zapewnić poprawne rozwiązanie tego typu konfliktów. 6. Szóstym wymaganiem jest wsparcie dla tzw. metadanych. Metadane to najprościej mówiąc dane o bazie danych. Dane te opisują m.in.: dane przechowywane w bazie, struktury danych, użytkowników i ich uprawnienia. Technologie baz danych: Omówione wymagania odnośnie baz danych są zapewniane w ramach tzw. technologii baz danych. Oferuje ona m.in. fizyczne struktury i metody dostępu. Do fizycznych struktur wykorzystywanych w bazach danych zalicza się pliki uporządkowane, pliki haszowe, pliki zgrupowane, indeksy drzewiaste i indeksy bitmapowe. Do metod dostępu zalicza się: połowienie binarne, haszowanie statyczne i dynamiczne, algorytmy łączenia, sortowania i grupowania. Dostęp do danych z wykorzystaniem struktur fizycznych i metod dostępuj jest optymalizowany za pomocą zaawansowanych technik optymalizacji składniowej i kosztowej. Ponadto, fizyczna organizacja danych na dysku nie ma wpływu na działanie aplikacji/programów użytkowników korzystających z bazy danych. Oznacza to, że zmiana fizycznej organizacji danych np. o

7 klientach banku, po pierwsze, jest niewidoczna dla użytkownika i po drugie, nie wymaga zmiany kodu aplikacji. Innymi słowy aplikacja działa tak samo dobrze jak poprzednio. Technologia baz danych oferuje wsparcie dla tzw. przetwarzania transakcyjnego, zapewniającego spójność całej bazy danych. W ramach tego przetwarzania każdy dostęp do bazy danych jest realizowany w ramach pewnej jednostki interakcji, zwanej transakcją. Posiada ona cechy atomowości, spójności, izolacji i trwałości (problematyka transakcji zostanie omówiona w osobnym wykładzie). Transakcje działające równocześnie w systemie muszą być synchronizowane za pomocą specjalizowanych algorytmów (2PL, znaczników czasowych) i stosowania wersji danych. Zapewnienie spójności danych, np. w przypadku konfliktu transakcji lub awarii sprzętowoprogramowych, często wymaga wycofania zmian w bazie danych. Do tego celu konieczne są dodatkowe struktury danych, algorytmy i mechanizmy systemowe. Awaria sprzętowo-programowa nie może spowodować utraty żadnych danych. W celu zapewnienia tego wymagania stosuje się techniki i systemowe mechanizmy archiwizowania bazy danych i jej odtwarzania po awarii. Technologia baz danych oferuje wsparcie dla wielu modeli danych, czyli wielu sposobów reprezentowania danych. Wyróżnia się tu: - modele pojęciowe (np. związków-encji, UML), - modele logiczne (np. relacyjny, obiektowy, obiektowo-relacyjny, semistrukturalny, hierarchiczny, sieciowy). Oprócz technik związanych z zarządzaniem danymi, technologia baz danych oferuje narzędzia programistyczne do budowania aplikacji, modelowania i projektowania bazy danych. Narzędzie te wspierają uznane metodyki projektowania. Jak wspomniano wcześniej, jednym z komponentów systemu bazy danych jest tzw. System Zarządzania Bazą Danych (DBMS). Z technologicznego punktu widzenia jest to moduł programowy, którego zadaniem jest zarządzanie całą bazą danych oraz realizowanie żądań aplikacji użytkowników. Podstawowa funkcjonalność DBMS obejmuje: - wsparcie dla języka bazy danych, który umożliwia m.in. wstawianie, modyfikowanie, usuwanie i wyszukiwanie danych oraz tworzenie, modyfikowanie i usuwanie struktur danych; - wsparcie dla struktur danych zapewniających efektywne składowanie i przetwarzanie dużych wolumenów danych; - optymalizację dostępu do danych; - synchronizację współbieżnego dostępu do danych; - zapewnienie bezpieczeństwa danych w przypadku awarii sprzętowo-programowej; - autoryzację dostępu do danych; - wielość interfejsów dostępu do bazy danych. Model danych. Obiekty ze świata rzeczywistego są reprezentowane w bazie danych za pomocą tzw. modelu danych. Wyróżnia się następujące modele danych: hierarchiczny, sieciowy, relacyjny, obiektowy, obiektoworelacyjny, semistrukturalny. Model hierarchiczny i sieciowy nie są już stosowane w nowobudowanych systemach. Obecnie w bazach danych najczęściej stosuje się model relacyjny, obiektowo-relacyjny lub semistrukturalny. Każdy model danych definiuje trzy podstawowe elementy, tj. struktury danych, operacje na danych i ograniczenia intergralnościowe nakładane na dane. Struktura danych służy do reprezentowania w bazie danych obiektów ze świata rzeczywistego. Przykładowo, grupa pracowników firmy może być reprezentowana w modelu obiektowym jako klasa, lub w modelu relacyjnym jako relacja. Poszczególni pracownicy są reprezentowani odpowiednio jako wystąpienia klasy (w modelu obiektowym) lub krotki relacji (w modelu relacyjnym). Każdy model danych posiada zbiór predefiniowanych operacji na danych. Przykładowo, w modelu relacyjnym operacje na danych oferowane przez model to: selekcja, projekcja, połączenie i operacje na zbiorach. Ponadto, model danych umożliwia nałożenie ograniczeń integralnościowych na dane

8 reprezentowane w nim dane. Przykładowo, dla relacji ze slajdu można zdefiniować ograniczenie integralnościowe zapewniające, że data rozpoczęcia projektu będzie zawsze mniejsza niż data jego zakończenia. Interakcja z bazą danych: Jakakolwiek interakcja programu użytkowego (aplikacji) z bazą danych odbywa się za pomocą języka SQL. Jest to jedyny sposób komunikowania się aplikacji z bazą danych. SQL jest językiem deklaratywnym. Oznacza to, że posługując się nim specyfikujemy tylko co chcemy otrzymać. Nie specyfikujemy sposobu (algorytmu) w jaki ma być zrealizowane zadanie. Przykładem polecenia SQL może być zapytanie do bazy danych poszukujące informacje o klientach banku z Poznania, którzy w ciągu ostatniego miesiąca wypłacili z bankomatu łącznie powyżej 8000 PLN. W tym zapytaniu specyfikujemy tylko jakie dane nas interesują. Sposób ich wyszukania jest automatycznie dobierany przez DBMS. SQL jest językiem ustandaryzowanym. Jego standardyzacją zajmuje się specjalny międzynarodowy komitet, w skład którego wchodzą przedstawiciele największych producentów DBMS (IBM, Microsoft, Oracle). Dotychczas opracowano trzy standardy języka SQL, kolejno rozszerzające jego funkcjonalność. Standardy te to: SQL-92, SQL-99, SQL Producenci systemów komercyjnych i niekomercyjnych starają się implementować przynajmniej standard SQL-92. Należy jednak pamiętać, że nie ma 100% zgodności implementacji. Język SQL jest narzędziem dostępu do bazy danych stosowanym głównie przez projektantów aplikacji, projektantów baz danych i administratorów baz danych. Standardowym sposobem korzystania z bazy danych przez użytkowników końcowych są aplikacje. Należy jednak pamiętać, że na poziomie programistycznym aplikacje również komunikują się z bazą danych za pomocą poleceń SQL. Ze względu na funkcjonalność, wyróżnia się dwa rodzaje aplikacji, tj. formularze i raporty. Aplikację pierwszego rodzaju należy postrzegać jako elektroniczny formularz (z polami, listami, elementami wyboru) wypełniany przez użytkownika. Formularze umożliwiają pełną obsługę danych, tj. wstawianie, modyfikowanie, usuwanie i wyszukiwanie. Raporty umożliwiają wyłącznie odczytywanie danych z bazy i prezentowanie ich w różnej postaci, głównie tekstu lub wykresu. Podział baz danych: Podziału systemów BD można dokonać w oparciu o kilka kryteriów. Najważniejszymi są: wykorzystywany model danych, liczba węzłów, czyli liczba baz danych wchodzących w skład systemu i cel stosowania systemu bd. Ze względu na model danych SBD dzieli się na: relacyjne, obiektowe, obiektowo-relacyjne, semistrukturalne, hierarchiczne, sieciowe. Ze względu na liczbę wykorzystywanych BD, wyróżnia się systemy scenralizowane z jedną bazą danych i systemy rozproszone z więcej niż jedną bazą wchodzącą w skład systemu. Ze względu na cel stosowania wyróżnia się bazy danych przetwarzania tranaskcyjnego, BD przetwarzania analitycznego, wspomagania projektowania, informacji geograficznej, wytwarzania oprogramowania. Bazy danych przetwarzania transakcyjnego (OLTP) stosuje się w typowych zastosowaniach ewidencyjnych, np. w rezerwacji i sprzedaży biletów, w bibliotekach i wypożyczalniach, w systemach ewidencji ludności, pojazdów, mienia nieruchomego, w bankowości w obsłudze bieżącej, w systemach handlu internetowego i bankowości elektronicznej. Zastosowania tego typu charakteryzują się ogromną liczbą jednocześnie działających użytkowników (tysiące, dziesiątki tysięcy). Interakcja pojedynczego użytkownika z bazą danych jest krótka - kilka kilkanaście sekund. Bazy danych przetwarzania analitycznego (OLAP) stosuje się w systemach wspomagania zarządzania. Zastosowania tego typu charakteryzują się niewielką liczbą użytkowników (kilku, kilkunastu) ale czas interakcji użytkownika z bazą danych jest długi (godziny, dziesiątki godzin). Bazy danych dla wspomagania projektowania umożliwiają przechowywanie projektów złożonych obiektów, np. konstrukcji mostów, budynków, schematy urządzeń. W bazach danych informacji geograficznej przechowuje się zarówno dane tekstowe (np. dane triangulacyjne, opisy terenu) jak i dane przestrzenne (mapy). Tego typu systemy wymagają zaawansowanych technik przeszukiwania map i operacji na nich.

9 Bazy danych służące do wspomagania wytwarzania oprogramowania przechowują wyniki poszczególnych faz realizacji projektów. Wyniki te są najczęściej reprezentowane w postaci specjalizowanych modeli (diagramów), obiektów i ich własności, projektów i kodów oprogramowania. Tego typu systemy, oprócz standardowej funkcjonalności, wspierają wyszukiwanie zależności pomiędzy obiektami oraz wywodzenie wersji obiektów (np. oprogramowania) i zarządzanie tymi wersjami. Dostępne DBMS: Na rynku istnieje wiele komercyjnych systemów BD. Do najpopularniejszych producentów zalicza się Oracle, IBM, Microsoft i Sybase. Oracle oferuje SZBD o nazwie Oracle 9i, Oracle10g. IBM oferuje systemy DB2 i Informix(R) Dynamic Server. Microsoft oferuje popularny SQL Server w wersjach 2000 i Sybase jest producentem systemu Adaptive Server Enterprise i Adaptive Server Anywhere. Ponadto, dostępne są rozwiązania niekomercyjne, spośród których najpopularniejszymi są MySQL, PostgreSQL i FireBird. 73. Relacja, atrybuty relacji. Relacja w bazach danych jest wydzielonym logicznie zbiorem danych, zorganizowanych w formie tabeli składającej się z wierszy dzielonych na kolumny. Jest to obiekt teoretyczny i nie należy go mylić z jej graficzną reprezentacją, czy miejscem zajmowanym w pamięci komputera. W zależności od typu bazy danych wewnętrzna organizacja podziału danych na kolumny i wiersze jest różna i często umowna. Pojedyncza tabela może być reprezentacją pewnej encji (np. książek, mieszkań, ludzi), relacji między nimi, albo może stanowić zawartość całej bazy danych. Pojedynczy wiersz tabeli nazywany jest rekordem i stanowi najczęściej zbiór danych o pojedynczym obiekcie (ew. grupie obiektów). W relacyjnym modelu baz danych i podobnych, kolumny stanowią zwykle atrybuty jakiegoś obiektu (np. wielkość, grubość, tytuł, nazwisko) i stąd dane zawarte w kolumnach mają najczęściej jeden określony typ. Dodatkowo w bazach obsługiwanych przez język SQL kolumnom nadawane są nazwy, także poza etapem projektowym i nazwy te są unikatowe w obrębie jednej tabeli. Do identyfikacji wierszy stosuje się klucz główny (ang. primary key), czyli jedna z kolumn lub ich grupę, których wartości są unikatowe w całej tabeli (dzięki czemu jednoznacznie identyfikują wiersz). Klucz główny może być: - ukrytym przed użytkownikami identyfikatorem, który jest nadawany automatycznie przez system obsługujący bazę danych; w szczególności wiersz może być wówczas identyfikowany poprzez położenie w zbiorze danych (stosowany zwykle wtedy, gdy wszystkie rekordy mają stała, taką samą wielkość); - jawnym numerycznym kluczem, wybranym w procesie projektowania bazy dancych, a w trakcie jej używania automatycznie zwiększanym przez system obsługujący bazę danych; - jawnym kluczem składającym się z pojedynczej lub wielu kolumn; taka kolumna (kolumny) może być teoretycznie dowolnego typu, czy to numerycznego, czy tekstowego, czy nawet binarnego, niektóre systemy bazodanowe narzucają jednak pewne ograniczenia, wynikające z tego, że klucze te są indeksowane. Rodzaje relacji: 1. Relacja jeden-do-jednego. Charakteryzuje się tym,że dla każdej instancji jednej z dwóch encji istnieje dokładnie jedna instancja drugiej encji pozostająca z nią w równoważnym związku np. czek i opłata ( opłata jest realizowana za pomocą jednego czeku i za pomocą jedego czeku można zrealizować tylko jedną opłatę).ten typ relacji spotyka się rzadko, ponieważ większość informacji powiązanych w ten sposób byłoby zawartych w jednej tabeli. Relacji jeden-do-jednego można używać do podziału tabeli z wieloma polami, do odizolowania części tabeli ze względów bezpieczeństwa, albo do przechowania informacji odnoszącej się tylko do podzbioru tabeli głównej. Na przykład, można by utworzyć tabelę do wyszukiwania pracowników uczestniczących w rozgrywkach piłkarskich.

10 2. Relacja jeden-do-wielu. Charakteryzuje się tym,że dla każdej instancji jednej encji istnieje wiele instancji drugiej encji pozostającej z nią w rozważanym związku. Relacja jeden-do-wielu jest realizowana poprzez utworzenie atrybutu w encji po stronie wiele aby umieścić w nim klucz encji znajdującej się po stronie jeden. Tak utworzony atrybut encji po stronie wiele nosi nazwę klucza obcego ponieważ jest on głównym kluczem w innej tabeli. Relacja jeden-do-wielu jest najbardziej powszechnym typem relacji. 3. Relacja wiele-do-wielu. W relacji wiele-do-wielu, rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B i tak samo rekord w tabeli B może mieć wiele dopasowanych do niego rekordów z tabeli A. Jest to możliwe tylko przez zdefiniowanie trzeciej tabeli (nazywanej tabelą łącza), której klucz podstawowy składa się z dwóch pól - kluczy obcych z tabel A i B. Relacja wiele-do-wielu jest definiowana jako dwie relacje jeden-do-wielu z trzecią tabelą. Na przykład, tabele "Zamówienia" i "Produkty" są powiązane relacją wieledo-wielu zdefiniowaną przez utworzenie dwóch relacji jeden-do-wielu z tabelą "Opisy zamówień".

11

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 Baza danych to zbiór informacji zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. W potocznym ujęciu obejmuje dane

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

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

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: 1.1. Podstawowe pojęcia Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: informatykę (włącznie ze sprzętem komputerowym oraz oprogramowaniem używanym do tworzenia, przesyłania,

Bardziej szczegółowo

Pojęcie bazy danych funkcje i możliwości Charakterystyka baz danych:

Pojęcie bazy danych funkcje i możliwości Charakterystyka baz danych: Pojęcie bazy danych funkcje i możliwości Baza danych to zbiór informacji zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. W potocznym ujęciu obejmuje dane

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

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

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Adam Cankudis IFP UAM

Adam Cankudis IFP UAM W s t ę p d o r e l a c y j n y c h b a z d a n y c h Adam Cankudis IFP UAM B i b l i o g r a f i a T. Morzy i in., Bazy danych, [w:] Studia Informatyczne, Pierwszy stopie ń, http://wazniak.mimuw.edu.pl/

Bardziej szczegółowo

Wprowadzenie do problematyki baz danych

Wprowadzenie do problematyki baz danych Wprowadzenie do problematyki baz danych Wykład przygotował: Robert Wrembel BD wykład 1 (1) Niniejszy cykl 13 wykładów będzie poświęcony bazom danych. 1 Plan wykładu Podstawowa terminologia Charakterystyka

Bardziej szczegółowo

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

mail: strona:   konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) 1 Organizacyjne Kwestie organizacyjne Kontakt: mail: olga.siedlecka@icis.pcz.pl strona: http://icis.pcz.pl/~olga konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) Zaliczenie wykładu -

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

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

Porównanie systemów zarządzania relacyjnymi bazami danych

Porównanie systemów zarządzania relacyjnymi bazami danych Jarosław Gołębiowski 12615 08-07-2013 Porównanie systemów zarządzania relacyjnymi bazami danych Podstawowa terminologia związana z tematem systemów zarządzania bazami danych Baza danych jest to zbiór danych

Bardziej szczegółowo

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

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

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych 2005/2006 Wykład "Podstawy baz danych" 1 Statyczny model pamiętania bazy danych 1. Dane przechowywane są w pamięci zewnętrznej podzielonej

Bardziej szczegółowo

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Oczekiwania? 2 3 Bazy danych Jak przechowywać informacje? Jak opisać rzeczywistość?

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Literatura i inne pomoce Silberschatz A., Korth H., S. Sudarshan: Database

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

Pojęcie systemu informacyjnego i informatycznego

Pojęcie systemu informacyjnego i informatycznego BAZY DANYCH Pojęcie systemu informacyjnego i informatycznego DANE wszelkie liczby, fakty, pojęcia zarejestrowane w celu uzyskania wiedzy o realnym świecie. INFORMACJA - znaczenie przypisywane danym. SYSTEM

Bardziej szczegółowo

2017/2018 WGGiOS AGH. LibreOffice Base

2017/2018 WGGiOS AGH. LibreOffice Base 1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,

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

2010-10-06 ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

2010-10-06 ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO ORGANIZACJA ZAJĘĆ Wykładowca dr inż. Agnieszka Bołtuć, pokój 304, e-mail: aboltuc@ii.uwb.edu.pl Liczba godzin i forma zajęć: 30 godzin wykładu oraz 30 godzin laboratorium Konsultacje: czwartek 10:15-12:00

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

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

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

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

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

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

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania

Bardziej szczegółowo

Usługi sieciowe i bazy danych w ochronie zdrowia z elementami telemedycyny. Dr hab. Jacek Pniewski 2017/18, semestr letni, piątki około 14:00

Usługi sieciowe i bazy danych w ochronie zdrowia z elementami telemedycyny. Dr hab. Jacek Pniewski 2017/18, semestr letni, piątki około 14:00 Usługi sieciowe i bazy danych w ochronie zdrowia z elementami telemedycyny Dr hab. Jacek Pniewski 2017/18, semestr letni, piątki około 14:00 Badania medyczne zrobiły tak niebywały postęp, że dziś praktycznie

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

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje

Bardziej szczegółowo

Bazy danych TERMINOLOGIA

Bazy danych TERMINOLOGIA Bazy danych TERMINOLOGIA Dane Dane są wartościami przechowywanymi w bazie danych. Dane są statyczne w tym sensie, że zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces.

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

Haszowanie (adresowanie rozpraszające, mieszające)

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

Bardziej szczegółowo

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail.

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail. Wrocławska Wyższa Szkoła Informatyki Stosowanej Bazy danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Literatura: Connoly T., Begg C., Systemy baz danych Praktyczne metody projektowania,

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

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

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

Bardziej szczegółowo

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w

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

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

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

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012 PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS Obowiązuje od roku akademickiego: 2011/2012 Instytut Techniczny Kierunek studiów: Informatyka Kod kierunku: 11.3 Specjalność: Informatyka Stosowana

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

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

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

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

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

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 3: Model związków encji. dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl Co to jest model związków encji? Model związków

Bardziej szczegółowo

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych. 22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych. Baza danych zbiór informacji opisujący wybrany fragment rzeczywistości. Właściwości baz

Bardziej szczegółowo

Paweł Kurzawa, Delfina Kongo

Paweł Kurzawa, Delfina Kongo Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management

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

RELACYJNE BAZY DANYCH

RELACYJNE BAZY DANYCH RELACYJNE BAZY DANYCH Aleksander Łuczyk Bielsko-Biała, 15 kwiecień 2015 r. Ludzie używają baz danych każdego dnia. Książka telefoniczna, zbiór wizytówek przypiętych nad biurkiem, encyklopedia czy chociażby

Bardziej szczegółowo

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 LITERATURA Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 Systemy baz danych. Pełny wykład H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom;WNT Warszawa 2006 Wprowadzenie do systemów

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

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

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego. Kolejki Kolejka priorytetowa Kolejka priorytetowa (ang. priority queue) to struktura danych pozwalająca efektywnie realizować następujące operacje na zbiorze dynamicznym, którego elementy pochodzą z określonego

Bardziej szczegółowo

Podstawowe zagadnienia z zakresu baz danych

Podstawowe zagadnienia z zakresu baz danych Podstawowe zagadnienia z zakresu baz danych Jednym z najważniejszych współczesnych zastosowań komputerów we wszelkich dziedzinach życia jest gromadzenie, wyszukiwanie i udostępnianie informacji. Specjalizowane

Bardziej szczegółowo

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017 Informatyka I BAZY DANYCH dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Plan wykładu Definicja systemu baz danych Modele danych Relacyjne bazy danych Język SQL Hurtownie danych

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

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej

Bardziej szczegółowo

Pojęcie systemu baz danych

Pojęcie systemu baz danych Pojęcie systemu baz danych System baz danych- skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki. Składa się z zasadniczych elementów: 1) Danych 2) Sprzętu 3) Programów 4)

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

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access. Konspekt do lekcji informatyki dla klasy II gimnazjum. Opracowała: Mariola Franek TEMAT(1): Baza danych w programie Microsoft Access. Cel ogólny: Zapoznanie uczniów z możliwościami programu Microsoft Access.

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

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu

Bardziej szczegółowo

KURS ACCESS 2003 Wiadomości wstępne

KURS ACCESS 2003 Wiadomości wstępne KURS ACCESS 2003 Wiadomości wstępne Biorąc c udział w kursie uczestnik zapozna się z tematyką baz danych i systemu zarządzania bazami danych jakim jest program Microsoft Access 2003. W trakcie kursu naleŝy

Bardziej szczegółowo

FUNKCJE SZBD. ZSE - Systemy baz danych 1

FUNKCJE SZBD. ZSE - Systemy baz danych 1 FUNKCJE SZBD ZSE - Systemy baz danych 1 System zarządzania bazami danych System zarządzania bazami danych (SZBD, ang. DBMS) jest zbiorem narzędzi stanowiących warstwę pośredniczącą pomiędzy bazą danych

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

Projektowanie Systemów Informacyjnych

Projektowanie Systemów Informacyjnych Projektowanie Systemów Informacyjnych Wykład II Encje, Związki, Diagramy związków encji, Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło

Bardziej szczegółowo

Relacyjne bazy danych

Relacyjne bazy danych Relacyjne bazy danych W roku 1970 dr Edgar Ted Codd z firmy IBM zaprezentował relacyjny model danych. W modelu tym dane miały być przechowywane w prostych plikach liniowych, które to pliki nazywane są

Bardziej szczegółowo

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie

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

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

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

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

Podstawowe informacje o bazach danych. Technologie Informacyjne

Podstawowe informacje o bazach danych. Technologie Informacyjne Podstawowe informacje o bazach danych Technologie Informacyjne dr inż. Michna Michał, Politechnika Gdańska 2010/2011 Przykłady systemów baz danych Książka telefoniczna, książka kucharska Zarządzanie magazynem/hurtownią

Bardziej szczegółowo

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J. Bazy Danych Wykład II Encja, atrybuty, klucze Związki encji Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło 1 Encja Byt pojęciowy

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

Bardziej szczegółowo

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne

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

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika Prowadzący: Dr inż. Jacek Habel Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów

Bardziej szczegółowo

Bazy danych i usługi sieciowe

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

Bardziej szczegółowo

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

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

010 BAZY DANYCH. Prof. dr hab. Marek Wisła

010 BAZY DANYCH. Prof. dr hab. Marek Wisła 010 BAZY DANYCH Prof. dr hab. Marek Wisła Baza danych pojęcie sięgające wieków Dane pewien zasób ludzie od zawsze próbują gromadzić dane i wnioskować (uzyskiwać informacje) na ich podstawie komputery tylko

Bardziej szczegółowo

Sortowanie. Bartman Jacek Algorytmy i struktury

Sortowanie. Bartman Jacek Algorytmy i struktury Sortowanie Bartman Jacek jbartman@univ.rzeszow.pl Algorytmy i struktury danych Sortowanie przez proste wstawianie przykład 41 56 17 39 88 24 03 72 41 56 17 39 88 24 03 72 17 41 56 39 88 24 03 72 17 39

Bardziej szczegółowo

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST) Drzewa ST i VL Drzewa poszukiwań binarnych (ST) Drzewo ST to dynamiczna struktura danych (w formie drzewa binarnego), która ma tą właściwość, że dla każdego elementu wszystkie elementy w jego prawym poddrzewie

Bardziej szczegółowo