Nazwa przedmiotu:
Bazy danych 1
Koordynator przedmiotu:
Rajmund Kożuszek
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty techniczne
Kod przedmiotu:
BD1
Semestr nominalny:
3 / rok ak. 2021/2022
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
Godziny kontaktowe Udział w wykładach 30 Udział w zajęciach laboratoryjnych 30 Konsultacje 2 Razem godziny kontaktowe 62 Praca własna studenta Przygotowanie do laboratorium 22 Przygotowanie do kolokwiów 16 Razem praca własna 38 Łącznie 100 Łączny nakład pracy studenta: 100 godz., co odpowiada 4 pkt. ECTS.
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
2,25 pkt. ECTS, co odpowiada 62 godz. kontaktowym
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
2 pkt. ECTS, co odpowiada 22 godz. pracy własnej przy przygotowaniu do laboratorium i 30 godzinom pracy w laboratorium
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia0h
  • Laboratorium30h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
bez wstępnych wymagań
Limit liczby studentów:
150
Cel przedmiotu:
Podstawowy przedmiot wprowadzający w tematykę baz danych i ich użytkowania, ze szczególnym uwzględnieniem baz relacyjnych.
Treści kształcenia:
Przedmiot przedstawia pojęcie bazy danych i systemu zarządzania bazą danych oraz modele danych (relacyjny i inne). Daje podstawowe wiadomości na temat budowy systemów informacyjnych z bazami danych oraz problemów występujących w takich systemach. Zawiera także wprowadzenie do tematyki fizycznej organizacji baz danych i optymalizacji zapytań. Lista zagadnień prezentowanych w formie wykładów, wraz z oszacowaniem czasu potrzebnego do ich prezentacji, została ujęta w Tablicy 1. Część praktyczna przedmiotu, obejmująca laboratorium, dotyczy języka SQL użytego w różnych środowiskach. Treści wykładowe dla przedmiotu Bazy danych 1 Sprawy organizacyjne i prezentacja regulaminu przedmiotu. 1 Pojęcie bazy danych: co jest a co nie jest bazą danych i dlaczego. 1 System zarządzania bazą danych, rola i zadania SZBD. System informatyczny z bazą danych: baza danych, słownik b.d., SZBD, języki dostępu do b.d., warstwa sieciowa, programy narzędziowe. Architektury s.i. z b.d.: klient-serwer, wielowarstwowa, rozproszone (JEE, .Net, Web services itp.). 2 Modele danych. Podstawy modelu relacyjnego, porównanie z innymi modelami: przedrelacyjnymi, obiektowym, XML itd. 2 Model relacyjny bardziej formalnie. Pojęcie klucza. Reprezentacja związków, pojęcie klucza obcego. Redundancja i dlaczego trzeba jej unikać; wprowadzenie do postaci normalnych. Wprowadzenie do rachunków relacji. 2 Język SQL. Rola SQL, typy danych, wartości NULL i logika trójwartościowa. Zapytania proste i złożone. Zapytania z funkcjami agregującymi; wprowadzenie do funkcji analitycznych. DML i DDL. 6 SQL zanurzony w inne języki programowania: embedded SQL, ODBC, JDBC, wykorzystanie SQL w oprogramowaniu biurowym (np. MS Word, Excel). 2 Aplikacje w s.i. z b.d. – przegląd najważniejszych technologii. 2 Wprowadzenie do organizacji fizycznej relacyjnych baz danych. 2 Podstawy optymalizacji zapytań. Organizacja i rola indeksów. 2 Problemy wielodostępu i ich rozwiązywanie: izolacja transakcji, blokady. Podstawy przetwarzania transakcyjnego, model ACID. Mechanizmy zarządzania transakcjami i współbieżnością w SZBD. 2 Podstawy administrowania SZBD, rola i obowiązki administratora. Prawa dostępu, role. Kopie rezerwowe, awarie i odtwarzanie. 2 Kolokwia. 4 Łącznie 30 Zakres laboratorium Laboratorium jest poświęcone głównie językowi SQL wykorzystywanemu w różnych środowiskach. • Język SQL (zaawansowany, ale bez projektowania struktur – na przygotowanych przykładach). • Wprowadzenie do optymalizacji zapytań (badania na „żywej” bazie danych): analiza planów wykonania zapytań, konsekwencje błędnego sformułowania zapytań, skutki istnienia/nieistnienia indeksów itp. • Użycie zanurzonego SQL na dwa sposoby: „klasyczny” embedded SQL oraz bezpośrednie użycie API, np. w języku Java (SQLJ oraz JDBC). • Tworzenie aplikacji klienckiej: prosty program użytkowy tworzony w znanym środowisku do tworzenia aplikacji nad bazami danych (np. PowerBuilder). • Opcjonalnie: tworzenie dynamicznej strony WWW wyświetlającej dane z bazy, np. za pomocą JSP/JSF oraz – dla porównania – w PHP.
Metody oceny:
Uwagi realizacyjne Wykład Wykład realizowany w formie tradycyjnej, z materiałami dostępnymi w sieci. Laboratorium Ćwiczenia powinny być wykonywane indywidualnie – każdy student sam realizuje swoje zadania. Formy weryfikacji efektów uczenia się Treści wykładowe Kolokwia mają zweryfikować osiągnięcie założonych efektów uczenia się w odniesieniu do zagadnień prezentowanych na wykładzie (z wyjątkiem praktycznej umiejętności wykorzystania języka SQL, co jest weryfikowane na laboratorium). Laboratorium Laboratorium ma zweryfikować osiągnięcie założonych efektów uczenia się w odniesieniu do takich zagadnień jak: umiejętność użytkowania baz danych i wykorzystania optymalizatora zapytań, umiejętność wykorzystania języka SQL w różnych środowiskach, umiejętność stworzenia prostych aplikacji korzystających z b.d.
Egzamin:
nie
Literatura:
1. Slajdy do wykładu 2. Instrukcja do laboratorium 3. Podręczniki: – Garcia-Molina, Ullman, Widom: Systemy baz danych. Helion. – Banachowski: Bazy danych. Tworzenie aplikacji. AOW PLJ. – Connolly, Begg: Systemy baz danych. Wyd. RM. – Date: Wprowadzenie do systemów baz danych. WNT. – Elmasri, Navathe: Wprowadzenie do systemów baz danych. Helion. – Garcia-Molina, Ullman, Widom: Implementacja systemów baz danych. WNT. 4. Relacyjna baza danych (np. Oracle) oraz narzędzia do wykonywania zapytań i do tworzenia aplikacji.
Witryna www przedmiotu:
https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103A-INxxx-ISP-BD1
Uwagi:
(-)

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka W01
zna pojęcie bazy danych oraz składniki i architektury systemów informacyjnych z bazami danych
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka W02
zna główne modele danych stosowane w bazach danych oraz ma szczegółową wiedzę dotyczącą relacyjnego modelu danych
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka W03
ma ogólną wiedzę dotyczącą tworzenia aplikacji w systemach informacyjnych z bazami danych
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W08
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o, III.P6S_WG
Charakterystyka W04
ma podstawową wiedzę dotyczącą fizycznej organizacji baz danych i optymalizacji zapytań
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka W05
zna problemy związane z wielodostępem oraz przetwarzaniem transakcyjnym
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o
Charakterystyka W06
zna zadania administratora baz danych i główne problemy związane z administrowaniem bazami danych
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: W10, W07
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o, III.P6S_WG

Profil ogólnoakademicki - umiejętności

Charakterystyka U01
ma umiejętności potrzebne do użytkowania typowych baz danych
Weryfikacja: ćwiczenia lab.
Powiązane charakterystyki kierunkowe: U01, U08
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o, I.P6S_UO
Charakterystyka U02
umie formułować zapytania w języku SQL ze zrozumieniem problemów związanych z wydajnością
Weryfikacja: ćwiczenia lab.
Powiązane charakterystyki kierunkowe: U01, U03, U08
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o, I.P6S_UO
Charakterystyka U03
umie używać języka SQL do manipulowania danymi
Weryfikacja: ćwiczenia lab.
Powiązane charakterystyki kierunkowe: U01, U08
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o, I.P6S_UO
Charakterystyka U04
umie korzystać z języka SQL w różnych środowiskach
Weryfikacja: ćwiczenia lab.
Powiązane charakterystyki kierunkowe: U01, U08
Powiązane charakterystyki obszarowe: P6U_U, I.P6S_UW.o, III.P6S_UW.o, I.P6S_UO
Charakterystyka U05
umie za pomocą wybranych technologii stworzyć aplikacje korzystające z baz danych
Weryfikacja: ćwiczenia lab.
Powiązane charakterystyki kierunkowe: U01, U08
Powiązane charakterystyki obszarowe: III.P6S_UW.o, P6U_U, I.P6S_UO, I.P6S_UW.o