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. 2015/2016
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 podstawy projektowania struktury bazy danych, programowanie poleceń dostępu do danych w języku SQL i wprowadzenie do wewnętrznej organizacji systemu zarządzania bazami danych.
Treści kształcenia:
TREŚĆ WYKŁADU WSTĘP: podstawowe wiadomości o organizacji bazy danych. WPROWADZENIE DO MODELU RELACYJNEGO: Model relacyjny na tle innych modeli organizacyjnych b.d. Tabela jako struktura danych. Implementacja związków. Jednoznaczna identyfikacja rekordów, klucze. Warunki poprawności (więzy). Wprowadzenie do formalnej reprezentacji relacyjnej b.d. WPROWADZENIE DO MODELOWANIA NA POZIOMIE KONCEPTUALNYM/LOGICZNYM. Reprezentacja ER. Odwzorowanie obiektów modelowanego świata do konstrukcji modelu ER, podstawowe decyzje projektowe poziomu konceptualnego. Odwzorowanie do modelu logicznego. Normalizacja-- ujęcie intuicyjne . JĘZYK SQL. Definiowanie struktury tabel-konstrukcje DDL. Wstawianie, usuwanie, zmiana zawartości rekordów-polecenia DML. Zapytania proste: selekcja, złączenia, operacje obliczeń zbiorczych. Zapytania wielopoziomowe . Semantyka proceduralna i deklaratywna zapytań, pojęciowe schematy wykonania. Widoki wirtualne . Procedury składowane, podstawowe konstrukcje SQL/PSM. Zastosowanie procedur wyzwalanych zdarzeniami do implementacji złożonych więzów. PROGRAMOWANIE INTERAKCJI PROGRAMU UŻYTKOWEGO Z SZBD. Architektura 2-warstwowa i 3-warstwowa. Interakcja aplikacji z serwerem b.d. widziana na poziomie CLI, JDBC i na poziomie Embedded SQL TRANSAKCJE. Organizowanie sekwencji operacji w niepodzielne moduły zadaniowe, podstawowe zasady zarządzania transakcjami przez SZBD. WPROWADZENIE DO ORGANIZACJI WEWNĘTRZNEJ BAZY DANYCH I SZBD. Organizacja plików danych. Buforowanie: podstawowe wiadomości o zarządzaniu buforami. Organizacja indeksów--indeksy drzewiaste i indeksy haszowe. WYKONANIE ZAPYTAŃ Ścieżki dostępu, wykonanie podstawowych operacji na tabelach, oszacowania kosztu. Przykłady planów wykonania dla reprezentatywnych konstrukcji zapytań, porównanie szacowanych kosztów alternatywnych planów. Wprowadzenie do optymalizacji: zasady konstruowania alternatywnych planów przez optymalizator. Możliwości wpływu na decyzje optymalizatora. TEMATY ĆWICZEŃ LABORATORYJNYCH --wprowadzenie do projektowania relacyjnych baz danych --programowanie operacji dostępu do bazy danych - język SQL --wprowadzenie do programowania aplikacji klienckich współpracujących z serwerem bazy danych --wprowadzenie do programowania po stronie serwera: procedury składowane, procedury wyzwalane --wprowadzenie do zagadnień optymalizacji wykonania zapytań: badanie zależności planów wykonania od parametrów tabel i właściwości 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://studia.elka.pw.edu.pl/priv/14Z/BD.A/
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt 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 efekty kierunkowe: K_W11
Powiązane efekty obszarowe: T2A_W03, T2A_W04, T2A_W07
Efekt W_02
zna podstawowe konstrukcje modelu ER i zasady reprezentowania struktury bazy danych w tym modelu
Weryfikacja: kolokwium 1
Powiązane efekty kierunkowe: K_W11
Powiązane efekty obszarowe: T2A_W03, T2A_W04, T2A_W07
Efekt 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 efekty kierunkowe: K_W11
Powiązane efekty obszarowe: T2A_W03, T2A_W04, T2A_W07
Efekt 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 efekty kierunkowe: K_W08, K_W11
Powiązane efekty obszarowe: T2A_W07, T2A_W03, T2A_W04, T2A_W07
Efekt 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 efekty kierunkowe: K_W08, K_W11
Powiązane efekty obszarowe: T2A_W07, T2A_W03, T2A_W04, T2A_W07
Efekt 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 efekty kierunkowe: K_W11
Powiązane efekty obszarowe: T2A_W03, T2A_W04, T2A_W07
Efekt W_07
zna na poziomie ogólnym architekturę i podstawowe zadania SZBD
Weryfikacja: kolokwium 2
Powiązane efekty kierunkowe: K_W10, K_W11
Powiązane efekty obszarowe: T2A_W03, T2A_W04, T2A_W05, T2A_W07, T2A_W03, T2A_W04, T2A_W07
Efekt W_08
ma elementarną wiedzę z zakresu fizycznej organizacji plików danych i indeksów relacyjnej bazy danych
Weryfikacja: kolokwium 2
Powiązane efekty kierunkowe: K_W11
Powiązane efekty obszarowe: T2A_W03, T2A_W04, T2A_W07
Efekt W_09
zna metody wykonania przez SZBD operacji dostępu do danych i zasady szacowania czasu wykonania operacji
Weryfikacja: kolokwium 2
Powiązane efekty kierunkowe: K_W11
Powiązane efekty obszarowe: T2A_W03, T2A_W04, T2A_W07
Efekt W_10
ma elementarną wiedzę z zakresu zasad zarządzania transakcjami przez SZBD
Weryfikacja: kolokwium 2
Powiązane efekty kierunkowe: K_W11
Powiązane efekty obszarowe: T2A_W03, T2A_W04, T2A_W07

Profil ogólnoakademicki - umiejętności

Efekt U_01
potrafi zaprojektować w modelu ER strukturę prostej bazy danych na podstawie zadanych wymagań
Weryfikacja: laboratorium ćwicz. 2
Powiązane efekty kierunkowe: K_U06
Powiązane efekty obszarowe: T2A_U08, T2A_U09
Efekt 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 efekty kierunkowe: K_U06
Powiązane efekty obszarowe: T2A_U08, T2A_U09
Efekt 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 efekty kierunkowe: K_U06
Powiązane efekty obszarowe: T2A_U08, T2A_U09
Efekt 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 efekty kierunkowe: K_U06
Powiązane efekty obszarowe: T2A_U08, T2A_U09
Efekt U_05
potrafi zapisać złożony warunek poprawności w postaci procedury wyzwalanej
Weryfikacja: laboratorium ćwicz. 7
Powiązane efekty kierunkowe: K_U06
Powiązane efekty obszarowe: T2A_U08, T2A_U09
Efekt U_06
potrafi pogrupować operacje na danych w transakcje stosując kryteria zapewnienia niepodzielności sekwencji operacji
Weryfikacja: laboratorium ćwicz. 6
Powiązane efekty kierunkowe: K_U06
Powiązane efekty obszarowe: T2A_U08, T2A_U09
Efekt U_07
potrafi określić uwarunkowania i ograniczenia poszczególnych fizycznych metod wykonania operacji na tabelach
Weryfikacja: kolokwium 2
Powiązane efekty kierunkowe: K_U06, K_U12
Powiązane efekty obszarowe: T2A_U08, T2A_U09, T2A_U17
Efekt 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 efekty kierunkowe: K_U06, K_U08, K_U12
Powiązane efekty obszarowe: T2A_U08, T2A_U09, T2A_U12, T2A_U17
Efekt 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 efekty kierunkowe: K_U06, K_U13
Powiązane efekty obszarowe: T2A_U08, T2A_U09, T2A_U18