Bazy danych 1000-213bBD
Co to jest baza danych? O czym będzie?
1. Modelowanie danych: tabele, drzewa, grafy.
2. Języki zapytań: pisanie zapytań, siła wyrazu, ewaluacja.
3. Metadane: więzy i zależności.
Języki zapytań dla relacyjnych baz danych.
1. Język deklaratywny: logika pierwszego rzędu (FO).
2. Język imperatywny: algebra relacji (RA).
3. Równoważność języków pomaga pisać zapytania w SQL-u.
Specyfika SQL-a: agregacja i nulle.
1. Zbiory a multizbiory, agregacja, funkcje okienkowe.
2. Różne role wartości NULL, semantyka w SQL-u.
3. Różne złączenia.
Rekurencja.
1. Czego się nie da wyrazić w FO: osiągalność
2. RA z iteracją (while, inflationary while).
3. Rekurencja w SQL-u.
Realizacja zapytań
1. Model I/O: pamięć zewnętrzna, przetwarzanie w blokach, sortowanie, indeksy.
2. Plan logiczny: optymalizacja wyrażenia za pomocą reguł przepisywania i heurystyk (statystyki, SIP).
3. Plan fizyczny: wybór algorytmu realizacji operacji, planowanie kolejności, zrównoleglanie, pipelining.
Pojęciowy model danych.
1. Modelowanie dziedziny jako analiza rzeczywistości.
2. Obiektowe modelowanie dziedziny (UML lub EER).
3. Pułapki modelowania.
Logiczny model danych.
1. Od modelu dziedziny do projektu bazy danych.
2. Więzy: zależności funkcyjne, klucze, zależności inkluzji.
3. Redundancja i anomalie, normalizacja.
Rodzaj przedmiotu
Koordynatorzy przedmiotu
Efekty kształcenia
Wiedza - absolwent zna i rozumie:
- teoretyczne podstawy z zakresu baz danych (K_W02),
- zasady zarządzania informacją, w tym dotyczące systemów baz danych, modelowania danych, składowania i wyszukiwania informacji (K_W08)
Umiejętności - absolwent potrafi:
- pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie (K_U02),
- samodzielnie planować i realizować własne uczenie się przez całe życie (K_U09),
- tworzyć proste, bezpieczne aplikacje internetowe z wykorzystaniem baz danych oraz projektować dla nich wygodny interfejs użytkownika (K_U14),
- budować proste systemy bazodanowe wykorzystujące przynajmniej jeden z najbardziej popularnych systemów zarządzania bazą danych oraz formułować zapytania do bazy danych w wybranym języku zapytań (K_U15)
Kompetencje społeczne - absolwent jest gotów do:
- krytycznej oceny posiadanej wiedzy i odbieranych treści (K_K01),
- pracy z poszanowaniem uczciwości intelektualnej w działaniach własnych i innych osób; przestrzegania zasad etyki zawodowej i wymagania tego od innych oraz dbałości o dorobek i tradycje zawodu informatyka (K_K02),
- uznawania znaczenia wiedzy w rozwiązywaniu problemów poznawczych i praktycznych oraz wyszukiwania informacji w literaturze oraz zasięgania opinii ekspertów (K_K03),
- wypełniania zobowiązań społecznych związanych z racjonalnym i bezpiecznym przetwarzaniem danych (K_K04)
Literatura
1. J. Ulmann, J. Widom, Podstawowy wykład z systemów baz danych, WNT 2000.
2. S. Abiteboul, R. Hull, V. Vianu, Foundations of databases , Addison - Wesley 1995
3. L. Banachowski, K. Stencel, Bazy danych. Projektowanie aplikacji na serwerze, EXIT, 2001.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: