Wydział Informatyki - Informatyka (S1)
Sylabus przedmiotu Bazy danych:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | nauk technicznych, studiów inżynierskich | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Bazy danych | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Inżynierii Systemów Informacyjnych | ||
Nauczyciel odpowiedzialny | Bożena Śmiałkowska <Bozena.Smialkowska@zut.edu.pl> | ||
Inni nauczyciele | Magdalena Krakowiak <Magdalena.Krakowiak@zut.edu.pl>, Bożena Śmiałkowska <Bozena.Smialkowska@zut.edu.pl> | ||
ECTS (planowane) | 4,0 | ECTS (formy) | 4,0 |
Forma zaliczenia | egzamin | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Znajomość podstawowych zagadnień z zakresu systemów operacyjnych, sieci komputerowych, programowania komputerów. |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z zasadami projektowania, tworzenia, ochrony, wykorzystania systemów relacyjnych scentralizowanych i rozproszonych baz danych |
C-2 | Zapoznanie studentów z nowymi trendami rozwojowymi z zakresu baz danych |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Omówienie zasad dostępu i korzystania z systemu baz danych (PostgreSQL). | 2 |
T-L-2 | Wejściówka. Analiza zastosowań baz danych w trybie interakcji i wsadowym– prezentacja możliwości systemów baz danych. | 2 |
T-L-3 | Sprawozdanie z poprzedniego laboratorium. Wejściówka. Projektowanie relacyjnych baz danych z użyciem diagramów ERD. Transformacja diagramów ERD do tabel relacyjnej bazy danych. Przykładowe zadania. | 4 |
T-L-4 | Sprawozdanie z poprzedniego laboratorium. Wejściówka. Ćwiczenia z normalizacji baz danych – sprowadzanie do 3NF. Ćwiczenia z normalizacji baz danych – redukcja wielowartościowości i zależności połączeniowej. | 6 |
T-L-5 | Sprawozdanie z poprzedniego laboratorium. Wejściówka. Tworzenie baz danych w środowisku PostgreSQL w trybie interakcji. | 2 |
T-L-6 | Sprawozdanie z poprzedniego laboratorium. Wejściówka. Komendy SELECT i funkcje agregujące – tworzenie zapytań SQL’owych. Tworzenie zapytań z operacjami złączania w trybie interakcji. Użycie w zapytaniach SQL’owych operacji teoriomnogościowych na bazie danych. Ćwiczenia w definiowaniu więzów integralności referencyjnej i dziedzinowej. Tworzenie więzów krotkowych i asercji. | 8 |
T-L-7 | Sprawozdanie z poprzedniego laboratorium. Wejściówka. Tworzenie aplikacji w wybranym języku programowania z dostępem do bazy danych poprzez SQL. | 4 |
T-L-8 | Sprawozdanie z poprzedniego laboratorium. Wejściówka. Analiza wydajności systemów z bazą danych. Sprawozdanie z laboratorium. | 2 |
30 | ||
wykłady | ||
T-W-1 | W1: Podstawowe pojęcia : baza danych, system bazy danych, system zarządzania bazą danych. Przykłady komercyjnych systemów z bazami danych. Zadania systemu zarządzania bazą danych (zarządzanie danymi, współbieżność, redundancja, spójność-integralność bazy danych, ochrona baz danych). Przykłady zastosowań. Przetwarzanie plików a systemy baz danych. | 2 |
T-W-2 | W2: Model logiczny i fizyczny bazy danych. Modele logiczne baz danych oparte na rekordach - modele sieciowych, hierarchicznych i relacyjnych baz danych. Model obiektowy. Rys historyczny w rozwoju systemów baz danych. Nowe kierunki rozwoju systemów baz danych - czas, przestrzeń logika. Relacyjne bazy danych. Przykłady zastosowań. Podstawy teoretyczne baz relacyjnych. Pojęcie atrybutu, dziedziny, krotki, relacji, tabeli. Rodzaje dziedzin w relacyjnych bazach danych. Operacje w relacyjnej bazie danych (wstawianie, aktualizacja, łączenie, projekcja, selekcja, restrykcja, kasowanie danych). Pojęcie klucza w relacyjnej bazie danych. Rodzaje kluczy. Związki między danymi w tabelach i tabelami bazy danych. | 4 |
T-W-3 | W3: Zasady projektowania relacyjnych baz danych. Diagramy strukturalne i obiektowe w projektowaniu struktury logicznej bazy danych. Diagramy ERD. Transformacja diagramów ERD na tabele relacyjnej bazy danych. Anomalie błędnie zaprojektowanej struktury danych. Normalizacja i projektowanie relacyjnych struktur baz danych. Fazy normalizacji. Definicja zależności funkcyjnych zwykłych, przechodnich, wielowartościowych i połączeniowych. Przykłady normalizacji tabel. | 4 |
T-W-4 | W4: Zasady i metody dostępu do relacyjnych baz danych – interfejs zapytań, program w języku programowania z wywołaniem operacji na bazie danych. Zarządzanie danymi. Języki zapytań w relacyjnych bazach danych – podział języków i krótka ich charakterystyka. Języki definiowania i manipulacji danymi (DDL, DML). Język SQL. Podstawowe konstrukcje języka DDL i DML w SQL. Zapytanie selekcyjne. Operatory logiczne i arytmetyczne, operator „in”, „exists”, „like”, „between”. Funkcje agregujące. Klauzule „group by”, „order by” oraz „having”. Zapytania zagnieżdżone. Kasowanie, wstawianie i aktualizacja danych bazy danych w SQL. Suma, różnica i iloczyn mnogościowy tabel. Nadawanie i odbieranie uprawnień w SQL. Perspektywy w relacyjnej bazie danych. Tworzenie perspektyw w SQL. Operacje na perspektywach. | 6 |
T-W-5 | W5: Ochrona baz danych. Metody ochrony integralności baz danych – asercje, więzy domenowe i więzy globalne. Przykłady. Ochrona baz danych przed niepowołanym dostępem i przed awarią – metody. Przykłady. Współbieżność i wielodostęp do bazy danych. Pojęcie transakcji. Przykłady transakcji. Zarządzanie transakcjami. Metody blokowania elementów bazy danych. Protokół dwufazowego blokowania i wypełnienia. Szeregowalność transakcji. Zakleszczenia | 2 |
T-W-6 | W6: Bazy danych scentralizowane a rozproszone. Rodzaje rozproszenia baz danych. Klasyfikacja systemów rozproszonych. Fragmentacja i replikacja w systemach rozproszonych baz danych. Rola sterowników w dostępie do baz danych. Sterowniki ODBC, JDBC, CGI. Podstawowe zasady stosowalności sterowników. Metody projektowania rozproszonych baz danych. Zarządzanie współbieżnością w bazach rozproszonych | 4 |
T-W-7 | W7: Przykłady. Wiązanie SQL z językami programowania. Wiązanie z C++ oraz PL/SQL. Tworzenie aplikacji odwołujących się do bazy danych wraz z ochroną i opracowaniem dostępu do bazy danych z wykorzystaniem sterowników. | 2 |
T-W-8 | W8: Model obiektowej bazy danych. Ramowa architektura systemu z obiektową bazą danych. Polecenia w OQL. Dostęp do obiektów, metod i atrybutów. Wyrażenia ścieżkowe. | 4 |
T-W-9 | W9: Wprowadzenie do hurtowni i magazynów danych. Modele danych w hurtowniach danych – wymiary i fakty. Metody projektowania magazynów i hurtowni danych. Narzędzia OLAP w bazach i hurtowniach danych. | 2 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Przygotowanie do laboratoriów - praca własna studenta | 12 |
A-L-2 | Przygotowanie sprawozdań z 14 laboratoriów - praca własna studenta | 14 |
A-L-3 | Udział w konsultajach i zaliczeniu formy zajęć | 4 |
A-L-4 | laboratorium | 30 |
60 | ||
wykłady | ||
A-W-1 | Przygotowanie do egzaminu 15 godz - praca własna studenta | 15 |
A-W-2 | Egzamin | 2 |
A-W-3 | Udział w wykładach | 30 |
A-W-4 | Konsultacje do wykładu | 2 |
49 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład z prezentacją |
M-2 | Laboratorium - Metoda przypadków z dyskusją |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena podsumowująca: Wykład: ocena podsumowująca - Egzamin pisemny z pytaniami praktycznymi, pytaniami w formie wyboru i opisu - łącznie 10 pytań; Ocena z przedmiotu = 0,5 * ocena z egzaminu + 0,5 * ocena z laboratorium |
S-2 | Ocena formująca: Laboratorium : Ogólna ocena formująca oraz ocena sprawozdań, wejściówek i aktywnej obecności |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_C/9_W01 Wiedza z zakresu projektowania relacyjnych baz danych | I_1A_W08 | T1A_W03, T1A_W05, T1A_W06, T1A_W07 | InzA_W01, InzA_W02, InzA_W05 | C-1 | T-W-3 | M-1 | S-1 |
I_1A_C/9_W02 Wiedza o typowych architekturach systemów baz danych ze szczególnym uwzględnieniem rozproszenia | I_1A_W08 | T1A_W03, T1A_W05, T1A_W06, T1A_W07 | InzA_W01, InzA_W02, InzA_W05 | C-1 | T-W-6 | M-1 | S-1 |
I_1A_C/9_W03 Wiedza z zakresu języków zapytań do baz danych a w szczególności znajomość języka SQL i zasad jego użycia | I_1A_W08 | T1A_W03, T1A_W05, T1A_W06, T1A_W07 | InzA_W01, InzA_W02, InzA_W05 | C-1, C-2 | T-W-7, T-W-4 | M-1 | S-1 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_C/9_U01 Umiejętność projektowania schematu relacyjnej bazy danych | I_1A_U11 | T1A_U09, T1A_U14, T1A_U15, T1A_U16 | InzA_U02, InzA_U06, InzA_U07, InzA_U08 | C-2, C-1 | T-W-3, T-L-3, T-L-4, T-W-2 | M-2, M-1 | S-2, S-1 |
I_1A_C/9_U02 Umiejętność formułowania zadań do bazy danych w języku SQL wraz z umiejętnością wywołania zapytań SQL z poziomu innych języków programowania, | I_1A_U11 | T1A_U09, T1A_U14, T1A_U15, T1A_U16 | InzA_U02, InzA_U06, InzA_U07, InzA_U08 | C-1 | T-L-5, T-L-6, T-W-7, T-W-4 | M-1, M-2 | S-2, S-1 |
I_1A_C/9_U03 Umiejętność oceny i doboru zasad rozproszenia bazy danych w aspekcie jakości dostępu do danych | I_1A_U11 | T1A_U09, T1A_U14, T1A_U15, T1A_U16 | InzA_U02, InzA_U06, InzA_U07, InzA_U08 | C-2, C-1 | T-W-6 | M-1 | S-1 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_C/9_W01 Wiedza z zakresu projektowania relacyjnych baz danych | 2,0 | nie zna metody projektowania relacyjnej bazy danych na poziomie dostatecznym |
3,0 | zna metodę projektowania relacyjnej bazy danych i potrafi wymienić istotne elementy tej metody oraz rozumie potrzebę projektowania bazy relacyjnej na ogólnym poziomie | |
3,5 | zna szczegółowo procedurę projektowania relacyjnej bazy danych i potrafi wymienić tzw. anomalia w projektowaniu bazy danych | |
4,0 | zna szczegółowo procedurę projektowania relacyjnej bazy danych, potrafi wymienić tzw. anomalia w projektowaniu bazy danych, potrafi scharakteryzować zasady normalizacji relacyjnej bazy danych, zna definicje własności zależności funkcjonalnej na poszczególnych etapach normalizacji | |
4,5 | zna szczegółowo procedurę projektowania relacyjnej bazy danych, potrafi wymienić tzw. anomalia w projektowaniu bazy danych, potrafi scharakteryzować zasady normalizacji relacyjnej bazy danych, zna definicje własności zależności funkcjonalnej na poszczególnych etapach normalizacji, umie wskazać przykład tabel, które nie spełniają zasad normalizacji, zna zasady eliminacji warunków przy których nie są zachowane tzw. postaci normalne | |
5,0 | zna szczegółowo procedurę projektowania relacyjnej bazy danych, potrafi określić na zadanym przykładzie czy zostały zachowane zasady poprawnego projektowania bazy danych oraz potrafi udowodnić i uzasadnić swoją wypowiedż | |
I_1A_C/9_W02 Wiedza o typowych architekturach systemów baz danych ze szczególnym uwzględnieniem rozproszenia | 2,0 | nie ma wiedzy n.t. typowych architektur systemów z bazą danych na poziomie dostatecznym (3,0) |
3,0 | potrafi wymienić i opisać podstawowe elementy architektury scentalizowanego systemu z bazą danych oraz systemu z rozproszoną bazą danych z fragmentacją i replikacją, potrafi wymienić podstawowe architektury klient-serwer oraz klient-broker-serwer stosowane w dostępie do bazy danych | |
3,5 | ma wiedzę na poziomie dostaecznym (3,0) , potrafi wymienić rolę sterowników w systemach baz danych i potrafi wymienić podstawowe sterowniki stosowane w tym dostępie | |
4,0 | ma wiedzę na poziomie dst plus (3,5), potrafi scharakteryzować systemy sfederowanych baz danych i podać ich klasyfikację | |
4,5 | ma wiedzę na poziomie dobrym (4.0), potrafi scharakteryzować architektury systemów z dostępem do bazy danych via Internet, zna technologie takiego dostępu | |
5,0 | ma wiedzę na poziomie dobrym (4.5), potrafi wymienić wady i zalety architektur systemów z bazą danych, potrafi zaproponować architekturę do zadanego przypadku i uzasadnić ten wybór | |
I_1A_C/9_W03 Wiedza z zakresu języków zapytań do baz danych a w szczególności znajomość języka SQL i zasad jego użycia | 2,0 | nie zna formalnych zasad języka zapytań do baz danych |
3,0 | zna klasyfikację języków zapytań do relacyjnych baz danych, potrafi wymienić i zastosować podstawowe konstrukcje języka SQL zgodnie z obowiązującą składnią i semantyką tych konstrukcji | |
3,5 | zna klasyfikację języków zapytań do relacyjnych baz danych, potrafi wymienić i zastosować podstawowe konstrukcje języka SQL zgodnie z obowiązującą składnią i semantyką tych konstrukcji oraz potrafi zinterpretować przykładowe zapytanie niezagnieżdzone, | |
4,0 | zna klasyfikację języków zapytań do relacyjnych baz danych, potrafi wymienić i zastosować podstawowe konstrukcje języka SQL zgodnie z obowiązującą składnią i semantyką tych konstrukcji, potrafi zinterpretować przykładowe zapytanie niezagnieżdzone oraz potrafi zinterpretować przykładowe zapytanie zagnieżdzone, potrafi przewidzieć odpowiedż i uzasadnić ją | |
4,5 | zna klasyfikację języków zapytań do relacyjnych baz danych, potrafi wymienić i zastosować podstawowe konstrukcje języka SQL zgodnie z obowiązującą składnią i semantyką tych konstrukcji, potrafi zinterpretować przykładowe zapytanie niezagnieżdzone, potrafi zinterpretować przykładowe zapytanie zagnieżdzone, przewidzieć odpowiedż i uzasadnić ją oraz potrafi uzasadnić potrzebę zachowania spójności w bazie danych i zna mechanizmy umożliwiające definiowanie więzów spójności w języku SQL | |
5,0 | zna klasyfikację języków zapytań do relacyjnych baz danych, potrafi wymienić i zastosować podstawowe konstrukcje języka SQL zgodnie z obowiązującą składnią i semantyką tych konstrukcji, potrafi zinterpretować przykładowe zapytanie niezagnieżdzone, potrafi zinterpretować przykładowe zapytanie zagnieżdzone, przewidzieć odpowiedż i uzasadnić ją, potrafi uzasadnić potrzebę zachowania spójności w bazie danych i zna mechanizmy umożliwiające definiowanie więzów spójności w języku SQL oraz potrafi ocenić i podać uzasadnienie "jakości" zapisu zapytania w języku SQL oraz wpływu tego zapisu na interpretację i wykonanie zapytania |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_C/9_U01 Umiejętność projektowania schematu relacyjnej bazy danych | 2,0 | nie potarfi zaprojektować prostej relacyjnej bazy danych |
3,0 | potrafi zaprojektować prostą bazę danych (kilka tabel modelu relacyjnego) i uwzględni powiązania między tabelami bazy danych | |
3,5 | potrafi zaprojektować prostą bazę danych i przeprowadzić noramalizację zaproponowanego rozwiązania | |
4,0 | potrafi zaprojektować bazę danych z wieloma powiązaniami i tabelami oraz potrafi przeprowadzić noramalizację zaproponowanego rozwiązania | |
4,5 | potrafi zaprojektować bazę danych z wieloma powiązaniami i tabelami, potrafi przeprowadzić noramalizację zaproponowanego rozwiązania, potrafi ocenić przydatność rozwiązania, potrafi ocenić gotowy projekt logicznego modelu danych i uzasadnić tę ocenę | |
5,0 | potrafi zaprojektować bazę danych z wieloma powiązaniami i tabelami, potrafi przeprowadzić noramalizację zaproponowanego rozwiązania, potrafi ocenić przydatność rozwiązania, potrafi ocenić gotowy projekt logicznego modelu danych i uzasadnić tę ocenę - potrafi dostrzec potrzebę denormalizacji i uzasadnić jej zastosowanie w praktyce | |
I_1A_C/9_U02 Umiejętność formułowania zadań do bazy danych w języku SQL wraz z umiejętnością wywołania zapytań SQL z poziomu innych języków programowania, | 2,0 | nie umie formułować zapytań w jeżyku SQL na podstawowym poziomie |
3,0 | potrafi sformułować zapytanie do relacyjnej bazy danych zgodnie z obowiązującą składnią i semantyką tego języka | |
3,5 | potrafi sformułować zapytanie do relacyjnej bazy danych zgodnie z obowiązującą składnią i semantyką tego języka oraz potrafi wybrać i ocenić sposób zapisu tego zapytania z punktu widzenia dostępu do bazy danych | |
4,0 | potrafi sformułować zapytanie do relacyjnej bazy danych zgodnie z obowiązującą składnią i semantyką tego języka, potrafi wybrać i ocenić sposób zapisu tego zapytania z punktu widzenia dostępu do bazy danych a także potrafi wywołać to zapytanie w trybie interakcji | |
4,5 | potrafi sformułować zapytanie do relacyjnej bazy danych zgodnie z obowiązującą składnią i semantyką tego języka, potrafi wybrać i ocenić sposób zapisu tego zapytania z punktu widzenia dostępu do bazy danych a także potrafi wywołać to zapytanie w trybie interakcji i z poziomu języka programowania | |
5,0 | potrafi sformułować zapytanie do relacyjnej bazy danych zgodnie z obowiązującą składnią i semantyką tego języka, potrafi wybrać i ocenić sposób zapisu tego zapytania z punktu widzenia dostępu do bazy danych potrafi wywołać to zapytanie w trybie interakcji i z poziomu języka programowania oraz potrafi utworzyć procedurę wyzwalającą do zadanego przykładu | |
I_1A_C/9_U03 Umiejętność oceny i doboru zasad rozproszenia bazy danych w aspekcie jakości dostępu do danych | 2,0 | nie zna i nie potrafi zastosować rozproszenia w dostępie do bazy danych |
3,0 | potrafi zastosować ogólne zasady i metody rozproszenia (fragmentacja, replikacja) bazy danych do przykładowego zadania | |
3,5 | potrafi dobrać i zastosować adekwatne do przykładowego zadania zasady i metody rozproszenia bazy danych (wybór sposród fragmentacji, replikacji, federacji) | |
4,0 | potrafi dobrać i zastosować adekwatne do przykładowego zadania zasady i metody rozproszenia bazy danych (wybór sposród fragmentacji, replikacji, federacji), podać możliwe rozwiązania, ocenić je i wybrać najlepsze w sensie dostępu do bazy danych | |
4,5 | potrafi zastosować zasady i metody rozproszenia bazy danych (fragmentacja, replikacja, system z federacją), podać możliwe rozwiązania, ocenić je i wybrać najlepsze w sensie dostępu do bazy danych z preferencjami | |
5,0 | potrafi zaprojektować złożony system rozproszony wraz z dowodem wyboru rozwiązania |
Literatura podstawowa
- Beynon-Davies P, Systemy baz danych., WNT, Warszawa, 2003
- Ullman J., Podstawowy wykład z systemów baz danych, WNT, Warszawa, 2000
- Lausen G., Vossen G., Obiektowe bazy danych, WNT, Warszawa, 2000
- Riordan R., Projektowanie systemów relacyjnych baz danych, RM Warszawa 2000., RM, Warszawa, 2000
Literatura dodatkowa
- Kim W., Wprowadzenie do obiektowych baz danych, WNT, Warszawa, 1996
- Mendrola D., Szeliga M., Praktyczny kurs SQL, Helion, 2011, II