- Nazwa przedmiotu:
- Bazy danych 1
- Koordynator przedmiotu:
- Piotr PAREWICZ
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia II stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Przedmioty techniczne - podstawowe
- Kod przedmiotu:
- BD
- Semestr nominalny:
- 1 / rok ak. 2018/2019
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 125 godzin
oszacowanie czasowego wymiaru nakładu pracy studenta
--udział w zajęciach wykładowych - 30 godz.
--udział w zajęciach laboratoryjnych, wraz z uzupełnieniami projektowymi poza czasem ćwiczeń - 30 godz.
--studiowanie materiału podstawowego z materiałów podręcznikowych i przeglądanie materiałów wykładowych- 30 godz
--dodatkowe przygotowanie do ćwiczeń laboratoryjnych - 20 godz
--powtórzenie materiału przed kolokwiami - 15 godz.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- --udział w zajęciach wykładowych - 30 godz.
--udział w zajęciach laboratoryjnych, wraz z uzupełnieniami projektowymi poza czasem ćwiczeń - 30 godz.
w sumie 60 godz. co daje ok. 2 ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- --udział w zajęciach laboratoryjnych, wraz z uzupełnieniami projektowymi poza czasem ćwiczeń - 30 godz.
--dodatkowe przygotowanie do ćwiczeń laboratoryjnych - 20 godz
w sumie 50 godz. co daje nieco poniżej 2 ECTS
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- znajomość podstaw programowania
- Limit liczby studentów:
- 100
- Cel przedmiotu:
- Kurs jest wprowadzeniem do technologii baz danych. Tematyka wykładu obejmuje problematykę modelowania danych, metodykę projektowania i implementacji relacyjnych baz danych (podstawowe zagadnienia), podstawy programowania aplikacji do baz danych i wybrane zagadnienia z zakresu zarządzania bazami danych. Relacyjny model danych jest omawiany zarówno od strony podstaw teoretycznych, jak i od strony praktycznych problemów implementacyjnych. W zakresie programowania aplikacji. Wykład zawiera wprowadzenie do języka SQL oraz omówienie technik konstruowania modułów programowych po stronie serwera i po stronie klienta. Ćwiczenia projektowe polegają na skonstruowaniu prostej bazy danych wraz z programem użytkowym - z wykorzystaniem narzędzi do projektowania i konstruowania baz danych i aplikacji.
- Treści kształcenia:
- Treść wykładu
Baza danych, system zarządzania bazami danych, system bazy danych.Podstawowe własności bazy danych jako zorganizowanego zbioru danych. Dane a informacja: baza danych jako "magazyn informacji". Semantyka danych: obiekty rzeczywistego świata, atrybuty, związki, rekordy b.d. jako reprezentacja faktów. Rola SZBD. Interfejs użytkowy systemu bazy danych. Abstrakcyjny widok b.d. prezentowany na poziomie użytkowym. Model trójpoziomowy. Przegląd podstawowych zadań SZBD.
Modele danych.Pojęcie modelu danych. Wstępna charakterystyka modelu relacyjnego, porównanie z modelami "przedrelacyjnymi": struktury danych i operacje widziane na poziomie użytkowym. Główne cechy modelu obiektowego. Modele danych w kontekście historii techlogii b.d.
Model relacyjny w ujęciu nieformalnym. Własności tabeli jako implementacyjnej struktury danych w modelu relacyjnym. Dwa wymiary agregacji,przypisanie dziedzin wartości kolumnom, podstawowe operacje na tabelach, język operacji na tabelach jako język typu "set-at-a-time". Identyfikacja wierszy przez zawartość: pojecie klucza. Reprezentacja związków: pojęcie klucza obcego. Konfiguracja klas związków, min. i maks.krotność uczestnictwa (cardinality). Semantyczne warunki poprawności (Integrity constraints) dotyczące kluczy i kluczy obcych.
Wprowadzenie do projektowania baz danych. Model ER. Zasady opisu struktury bazy danych w kategoriach klas encji i klas związków. Podstawowe decyzje projektowe na poziomie konceptualnym (przekształcenie klas związków do klas encji, problem atrybutów wielowartościowych, klasy encji o identyfikacji zewnętrznej, problem atrybutów opcjonalnych, itd. Zasady normalizacji (ujęcie nieformalne). Odwzorowanie do modelu relacyjnego. Specyfikacja struktury b.d. w DDL. Definiowanie dziedzin i semantycznych warunków poprawności. Opis struktury b.d. w słowniku danych.
Język SQL.Konstrukcje DML. Konstrukcje DQL: wyrażenie SELECT jako specyfikacja sekwencji operacji na tabelach. Sładnia i semantyka podstawowych postaci wyrażenia SELECT, pojęciowa kolejność przetwarzania sekcji (klauzul). Wyrażenia akceptowalne w poszczególnych klauzulach. Konstrukcje wielopoziomowe: podzapytania skorelowane i nieskorelowane. Zasady formułowania zapytań w postaci wyrażeń SELECT: postacie równoważne. Semantya deklaratywna i semantyka proceduralna wyrażeń SELECT. Logika trójwartościowa w SQL: problem "wartości brakujących", anomalie związane ze znacznikiem NULL. Tabele wirtualne (tzw. perspektywy), dopuszczlne operacje na tabelach wirtualnych. Specyfikowanie złożonych warunków poprawności (frazy CHECK z podzapytaniami).
Zarys matematycznych podstaw modelu relacyjnego. Relacja jako matematyczny model zbioru rekordów. Relacja, zmienna relacyjna, schemat relacji. Warunki poprawności w ujęciu formalnym. Przegląd operatorów algebry relacyjnej (z rozszerzeniem Date`a).
Programowanie aplikacji do baz danych - wprowadzenie. Konstruowanie i programowanie aplikacji po stronie klienta. Poziom wywołań procedur API (CLI, ODBC...) - krótka charakterystyka. Poziom Embedded SQL: przekazywanie danych z/do programu użytkowego, kursory. Poziom wyspecjalizowanych klas obiektów w środowiskach do konstruowania aplikacji-porównanie (SQL* Forms, Visual, Basic, Delphi, Power Builder...). Programowanie aplikacji po stronie serwera. Rozszerzenia proceduralne SQL. Konstrukcja procedur wbudowanych, procedury wyzwalane zdarzeniami
Ochrona spójności baz danych. Podstawowe problemy spójności bazy danych. Pojęcie transakcji. Mechanizmy zarządzaniam transakcjami w SZBD. Mechanizmy zarządzania współbieżnym dostępem do b.d.
Wprowadzenie do organizacji fizycznej relacyjnych baz danych. Fizyczne rozmieszczenie tabel w pamięci zewnętrznej. Podział na bloki, adresowanie bloków. Rozwiązania organizacyjne i mechanizmy usprawniające dostęp do danych. Organizacja indeksów. Zasady korzystania z mechanizmów dostępu, podstawy optymalizajci zapytań.
Zakres laboratorium
Projektowanie baz danych: zaprojektowanie za pomocą narzędzia CASE struktury bazy danych dla prostego systemu informacyjnego i zdefiniowanie jej implementacji relacyjnej.
Programowanie aplikacji klienckich do baz danych: opracowanie poleceń w języku SQL realizujących zadane operacje na bazie danych i wbudowanie ich w prosty interakcyjny program użytkowy skonstruowany w środowisku narzędzia do budowy aplikacji
Programowanie aplikacji po stronie serwera: opracowanie pakietu procedur wbudowanych w bazę danych (w tym również procedur wyzwalanych zdarzeniami), realizujących zadane operacje.
Podstawy optymalizacji zapytań: zbadanie przebiegu wykonania zapytań w zależności od zdefiniowanych ścieżek dostępu i postaci zapytań.
- Metody oceny:
- --ocena wiedzy i umiejętności wykazanych w opracowaniach zadań na kolokwiach (zadania o charakterze przeglądowym, problemowym i programistycznym)
--ocena wiedzy i umiejętności wykazanych w ramach wykonania ćwiczeń laboratoryjnych
- Egzamin:
- nie
- Literatura:
- Garcia-Molina , Ullman , Widom
Database Systems
The Complete Book
ed. 2 Pearson 2009
tłumaczenie polskie:
Garcia-Molina , Ullman , Widom
Systemy baz danych. Kompletny podręcznik Wyd II
Helion 2011
- Witryna www przedmiotu:
- https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103B-INxxx-ISP-BD
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka W_01
- zna podstawowe własności relacyjnego modelu danych, zasady reprezentowania zbiorów rekordów jako relacji/tabel oraz podstawowe operacje na tabelach
Weryfikacja: kolokwium 1
Powiązane charakterystyki kierunkowe:
K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG
- Charakterystyka W_02
- zna podstawowe konstrukcje modelu ER i zasady reprezentowania struktury bazy danych w tym modelu
Weryfikacja: kolokwium 1
Powiązane charakterystyki kierunkowe:
K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG
- Charakterystyka W_03
- zna kryteria dla podstawowych decyzji projektowych podejmowanych w procesie konstruowania relacyjnych baz danych, w tym kryteria normalizacyjne
Weryfikacja: kolokwium 1, laboratorium ćwicz. 2,3
Powiązane charakterystyki kierunkowe:
K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG
- Charakterystyka W_04
- zna podstawowe konstrukcje języka SQL używane do definiowania tabel oraz do formułowania poleceń dostępu do danych
Weryfikacja: kolokwium 1, laboratorium ćwicz. 3-5
Powiązane charakterystyki kierunkowe:
K_W08, K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG, III.P7S_WG.o
- Charakterystyka W_05
- zna podstawowe konstrukcje wybranej implementacji SQL/PSM używane do zapisu procedur składowanych, w tym procedur wyzwalanych
Weryfikacja: laboratorium ćwicz. 7
Powiązane charakterystyki kierunkowe:
K_W08, K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG, III.P7S_WG.o
- Charakterystyka W_06
- zna podstawowy repertuar procedur interfejsu aplikacyjnego SZBD oraz podstawowe konstrukcje Embedded SQL używane do programowania interakcji między programem użytkowym i SZBD
Weryfikacja: kolokwium 1, laboratorium ćwicz. 5
Powiązane charakterystyki kierunkowe:
K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG
- Charakterystyka W_07
- zna na poziomie ogólnym architekturę i podstawowe zadania SZBD
Weryfikacja: kolokwium 2
Powiązane charakterystyki kierunkowe:
K_W10, K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG, III.P7S_WG.o
- Charakterystyka W_08
- ma elementarną wiedzę z zakresu fizycznej organizacji plików danych i indeksów relacyjnej bazy danych
Weryfikacja: kolokwium 2
Powiązane charakterystyki kierunkowe:
K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG
- Charakterystyka W_09
- zna metody wykonania przez SZBD operacji dostępu do danych i zasady szacowania czasu wykonania operacji
Weryfikacja: kolokwium 2
Powiązane charakterystyki kierunkowe:
K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG
- Charakterystyka W_10
- ma elementarną wiedzę z zakresu zasad zarządzania transakcjami przez SZBD
Weryfikacja: kolokwium 2
Powiązane charakterystyki kierunkowe:
K_W11
Powiązane charakterystyki obszarowe:
I.P7S_WG
Profil ogólnoakademicki - umiejętności
- Charakterystyka U_01
- potrafi zaprojektować w modelu ER strukturę prostej bazy danych na podstawie zadanych wymagań
Weryfikacja: laboratorium ćwicz. 2
Powiązane charakterystyki kierunkowe:
K_U06
Powiązane charakterystyki obszarowe:
I.P7S_UW
- Charakterystyka U_02
- potrafi przekształcić konceptualny schemat struktury prostej bazy danych w schemat implementacyjny, stosując kryteria normalizacyjne i inne podstawowe kryteria decyzji projektowych dla modelu relacyjnego
Weryfikacja: laboratorium ćwicz. 3
Powiązane charakterystyki kierunkowe:
K_U06
Powiązane charakterystyki obszarowe:
I.P7S_UW
- Charakterystyka U_03
- potrafi konstruować polecenia dostępu do tabel relacyjnej bazy danych w języku SQL
Weryfikacja: kolokwium 1, laboratorium ćwicz. 3,4
Powiązane charakterystyki kierunkowe:
K_U06
Powiązane charakterystyki obszarowe:
I.P7S_UW
- Charakterystyka U_04
- potrafi zaprogramować w podstawowym zakresie współpracę programu użytkowego z SZBD na poziomie wywołań interfejsu aplikacyjnego
Weryfikacja: laboratorium ćwicz. 5
Powiązane charakterystyki kierunkowe:
K_U06
Powiązane charakterystyki obszarowe:
I.P7S_UW
- Charakterystyka U_05
- potrafi zapisać złożony warunek poprawności w postaci procedury wyzwalanej
Weryfikacja: laboratorium ćwicz. 7
Powiązane charakterystyki kierunkowe:
K_U06
Powiązane charakterystyki obszarowe:
I.P7S_UW
- Charakterystyka U_06
- potrafi pogrupować operacje na danych w transakcje stosując kryteria zapewnienia niepodzielności sekwencji operacji
Weryfikacja: laboratorium ćwicz. 6
Powiązane charakterystyki kierunkowe:
K_U06
Powiązane charakterystyki obszarowe:
I.P7S_UW
- Charakterystyka U_07
- potrafi określić uwarunkowania i ograniczenia poszczególnych fizycznych metod wykonania operacji na tabelach
Weryfikacja: kolokwium 2
Powiązane charakterystyki kierunkowe:
K_U06, K_U12
Powiązane charakterystyki obszarowe:
I.P7S_UW, I.P7S_UO, III.P7S_UW.4.o
- Charakterystyka U_08
- potrafi oszacować porównawczo efektywność fizycznych metod wykonania operacji na tabelach dla różnych wielkości tabel i różnych konfiguracji zapytań
Weryfikacja: kolokwium 2
Powiązane charakterystyki kierunkowe:
K_U08, K_U12, K_U06
Powiązane charakterystyki obszarowe:
I.P7S_UW, III.P7S_UW.3.o, I.P7S_UO, III.P7S_UW.4.o
- Charakterystyka U_09
- potrafi ocenić-biorąc pod uwagę przewidywane operacje na tabelach-celowość utworzenia indeksów dla poszczególnych tabel
Weryfikacja: kolokwium 2, laboratorium ćwicz. 9
Powiązane charakterystyki kierunkowe:
K_U06, K_U13
Powiązane charakterystyki obszarowe:
I.P7S_UW, III.P7S_UW.3.o