- 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:
W07, W10
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:
I.P6S_UW.o, III.P6S_UW.o, P6U_U, 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:
P6U_U, I.P6S_UW.o, III.P6S_UW.o, I.P6S_UO