Bazy danych I I-SI7O>BD-I
A. Wykłady - szczegółowe treści kształcenia:
1. Wprowadzenie, rodzaje i klasyfikacja baz danych, charakterystyka poszczególnych rodzajów baz danych, zastosowania baz danych, cechy, funkcje i wymagania stawiane bazom danych, przegląd nowoczesnych systemów RDBMS (Relational Database Management Systems).
2. Relacyjne bazy danych: wprowadzenie i opis podstawowych pojęć (relacja, tabela, rekord, krotka, atrybut, domena, klucz podstawowy, klucz obcy, unikalność, ograniczenia integralnościowe, zapytanie, podzapytanie, widok, złączenie, operacje algebry relacji itp.), typy danych w SQL Server 2016.
3. Podstawy tworzenia zapytań i programowania w języku T-SQL.
4. Operatory zbiorowe. Złączenia (JOINs): krzyżowe, wewnętrzne, wielokrotne, zewnętrzne.
5. Projektowanie wyrażeń tabelowych – część I: tabele pochodne, CTE.
6. Projektowanie wyrażeń tabelowych – część II: widoki, wbudowane funkcje zwracające tabele.
7. Zaawansowane zagadnienia tworzenia zapytań: funkcje okna, przedstawianie danych, odwrotne przedstawianie danych, zbiory grupujące.
8. Modyfikowanie danych: wstawianie, aktualizacja, usuwanie, scalanie.
9. Elementarne polecenia DDL – tworzenie i modyfikacja tabel.
10. Tworzenie tabel temporalnych.
11. Struktury danych i indeksów w SQL Server.
12. Obiekty programowalne – część I: zmienne, wsady, elementy kontroli przepływu wykonania.
13. Wprowadzenie do zagadnienia tworzenia funkcji definiowanych przez użytkownika, procedur składowanych oraz wyzwalaczy.
14. Obiekty programowalne – część II: kursory, tabele tymczasowe, dynamiczny kod SQL, obsługa błędów.
15. Zaliczenie wykładu (sprawdzian pisemny).
B. Ćwiczenia laboratoryjne:
1. Zajęcia wprowadzające – szkolenie BHP w laboratorium komputerowych, wyjaśnienie zasad obowiązujących w pracowni informatycznej. Wprowadzenie do środowiska zarządzania relacyjnymi bazami danych MS SQL Server. Zapoznanie z przykładowymi bazami danych wykorzystywanymi w dalszej części zajęć. Realizacja najprostszych zapytań do pojedynczych tabel wybranej, przykładowej bazy z wykorzystaniem polecenia SELECT.
2. Tworzenie i modyfikacja tabel, polecenia CREATE DATABASE, CREATE TABLE oraz ich opcje, polecenie ALTER (ALTER DATABASE oraz ALTER TABLE), polecenie DROP (DROP DATABASE oraz DROP TABLE), tworzenie skryptów z wykorzystaniem w/w poleceń oraz równoległa realizacja powyższych zadań z wykorzystaniem graficznego interfejsu użytkownika systemu MS SQL Server.
3. Ograniczenia, krótka rekapitulacja materiału teoretycznego przedstawionego na wykładzie, ograniczenia kluczy (ograniczenia PRIMARY KEY, FOREIGN KEY oraz UNIQUE), ograniczenia CHECK oraz DEFAULT, wyłączanie ograniczeń, tymczasowe wyłączanie istniejącego ograniczenia, reguły i wartości domyślne, wprowadzenie do idei wyzwalaczy.
4. Tworzenie i modyfikacja zapytań SQL do pojedynczych tabel. Składnia polecenia SELECT, wykorzystanie klauzuli WHERE (wprowadzenie pojęcia operatorów relacyjnych, arytmetycznych, teoriomnogościowych, logicznych), Wykorzystanie klauzuli ORDER BY do wyświetlania wyników zapytań w żądanym porządku.
5. Wyjaśnienie pojęcia agregacji danych (wykorzystanie klauzuli GROUP BY oraz HAVING), prezentacja dostępnych predefiniowanych funkcji agregujących (MIN, MAX, COUNT, AVG, SUM, STDEV, VAR), wyjaśnienie pojęcia „alias”, wprowadzenie predykatów DISTINCT i ALL, rozszerzających możliwości zapytań wybierających.
6. Wprowadzanie danych do tabel za pomocą polecenia INSERT, zastosowanie słowa kluczowego INTO oraz VALUES, wykorzystanie polecenia INSERT INTO … SELECT. Wprowadzanie zamian za pomocą polecenia UPDATE. Usuwanie danych z tabeli za pomocą polecenia DELETE.
7. Złączenia, krótkie przypomnienie materiału z wykładu na temat klauzuli JOIN, złączenie wewnętrzne (INNER JOIN), złączenie zewnętrzne (OUTER JOIN), złączenia zewnętrzne lewo- i prawostronne, złączenia pełne (FULL JOIN).
8. Sprawdzian pisemny nr 1. Złączenia krzyżowe (CROSS JOIN), pojęcie unii (UNION).
9. Zapytania rozszerzone, tworzenie podzapytań zagnieżdżonych i skorelowanych, tabele pochodne, operator EXISTS, mieszanie typów danych (funkcje CAST i CONVERT).
10. Struktury danych i indeksów w MS SQL Server, krótkie przypomnienie materiału przedstawionego na wykładzie, tworzenie, modyfikacja i usuwanie indeksów (polecenie CREATE INDEX), zalety i wady stosowania indeksów.
11. Widoki proste i złożone, tworzenie, edycja i usuwanie widoków. Wykorzystanie graficznego interfejsu użytkownika systemu MS SQL Server w celu realizacji powyższych czynności. Realizacja przykładowych ćwiczeń pod nadzorem prowadzącego
12. Procedury składowane – krótkie przypomnienie materiału przedstawionego na wykładzie, tworzenie (CREATE PROC), zmiana (ALTER PROC) i usuwanie (DROP PROC) procedur składowanych, określanie parametrów procedur.
13. Instrukcje (polecenia) sterujące przepływem programów (IF..ELSE, CASE, WHILE, WAITFOR, TRY/CATCH), pozostałe polecenia, instrukcje obsługi błędów, zagadnienie rekurencji przy tworzeniu procedur składowanych.
14. Funkcje definiowane przez użytkownika, tworzenie, zmiana i usuwanie funkcji. Wyzwalacze – przykłady różnych rodzajów wyzwalaczy, zastosowanie, wady i zalety, dobre praktyki tworzenia i stosowania wyzwalaczy.
15. Sprawdzian pisemny nr 2.
W cyklu 2021/2022-Z:
Tematyka zajęć skupia się na podstawowych zagadnieniach tworzenia i wykorzystania relacyjnych baz danych. Studenci zostają zapoznani z najważniejszymi pojęciami należącymi do teorii baz danych, klasyfikacją baz, ich strukturą oraz funkcjonowaniem mechanizmów silnika bazodanowego. W ramach zajęć przedstawiany i omawiany jest szczegółowo język SQL, jako podstawowe narzędzie przeznaczone do pracy z bazami danych. Ponadto prezentowane są zagadnienia dotyczące podstaw prawidłowego modelowania i tworzenia struktur bazodanowych z uwzględnieniem normalizacji tabel, integralności danych, wierności odwzorowania rzeczywistości oraz dobrych praktyk. Zarówno wykłady, jak i ćwiczenia prowadzone są w oparciu o środowisko zarządzania relacyjnymi bazami danych MS SQL Server. |
W cyklu 2022/2023-Z:
Tematyka zajęć skupia się na podstawowych zagadnieniach tworzenia i wykorzystania relacyjnych baz danych. Studenci zostają zapoznani z najważniejszymi pojęciami należącymi do teorii baz danych, klasyfikacją baz, ich strukturą oraz funkcjonowaniem mechanizmów silnika bazodanowego. W ramach zajęć przedstawiany i omawiany jest szczegółowo język SQL, jako podstawowe narzędzie przeznaczone do pracy z bazami danych. Ponadto prezentowane są zagadnienia dotyczące podstaw prawidłowego modelowania i tworzenia struktur bazodanowych z uwzględnieniem normalizacji tabel, integralności danych, wierności odwzorowania rzeczywistości oraz dobrych praktyk. Zarówno wykłady, jak i ćwiczenia prowadzone są w oparciu o środowisko zarządzania relacyjnymi bazami danych MS SQL Server. |
W cyklu 2023/2024-Z:
Tematyka zajęć skupia się na podstawowych zagadnieniach tworzenia i wykorzystania relacyjnych baz danych. Studenci zostają zapoznani z najważniejszymi pojęciami należącymi do teorii baz danych, klasyfikacją baz, ich strukturą oraz funkcjonowaniem mechanizmów silnika bazodanowego. W ramach zajęć przedstawiany i omawiany jest szczegółowo język SQL, jako podstawowe narzędzie przeznaczone do pracy z bazami danych. Ponadto prezentowane są zagadnienia dotyczące podstaw prawidłowego modelowania i tworzenia struktur bazodanowych z uwzględnieniem normalizacji tabel, integralności danych, wierności odwzorowania rzeczywistości oraz dobrych praktyk. Zarówno wykłady, jak i ćwiczenia prowadzone są w oparciu o środowisko zarządzania relacyjnymi bazami danych MS SQL Server. |
W cyklu 2024/2025-Z:
Tematyka zajęć skupia się na podstawowych zagadnieniach tworzenia i wykorzystania relacyjnych baz danych. Studenci zostają zapoznani z najważniejszymi pojęciami należącymi do teorii baz danych, klasyfikacją baz, ich strukturą oraz funkcjonowaniem mechanizmów silnika bazodanowego. W ramach zajęć przedstawiany i omawiany jest szczegółowo język SQL, jako podstawowe narzędzie przeznaczone do pracy z bazami danych. Ponadto prezentowane są zagadnienia dotyczące podstaw prawidłowego modelowania i tworzenia struktur bazodanowych z uwzględnieniem normalizacji tabel, integralności danych, wierności odwzorowania rzeczywistości oraz dobrych praktyk. Zarówno wykłady, jak i ćwiczenia prowadzone są w oparciu o środowisko zarządzania relacyjnymi bazami danych MS SQL Server. |
Koordynatorzy przedmiotu
<b>Ocena końcowa</b>
W cyklu 2022/2023-Z: student uzyskuje ocenę końcową, jeżeli uzyskał zaliczenia z: wykładu i laboratorium. Ocena końcowa jest ustalana na podstawie średniej arytmetycznej z ocen OW i OL.
| W cyklu 2023/2024-Z: student uzyskuje ocenę końcową, jeżeli uzyskał zaliczenia z: wykładu i laboratorium. Ocena końcowa jest ustalana na podstawie średniej arytmetycznej z ocen OW i OL.
| W cyklu 2024/2025-Z: 1. Student uzyskuje zaliczenie wykładu na podstawie pozytywnej oceny ze sprawdzianu pisemnego przeprowadzonego na ostatnim wykładzie w semestrze – ocena zaliczająca wykład OW jest ustalana na podstawie oceny ze sprawdzianu. W przypadku zajęć prowadzonych zdalnie, sprawdzian będzie przeprowadzony online na platformie elearning.ubb.edu.pl.
2. Student uzyskuje zaliczenie laboratorium na podstawie pozytywnych ocen z dwóch sprawdzianów pisemnych w semestrze (w przypadku zajęć prowadzonych zdalnie – w formie zadań odsyłanych na platformę elearning.ubb.edu.pl) – ocena zaliczająca laboratorium OL jest ustalana na podstawie średniej arytmetycznej ocen ze sprawdzianów.
3. Zaliczenia poprawkowe (wykład, laboratorium) studenci mogą uzyskać w sesji poprawkowej lub w terminach późniejszych, za zgodą dziekana.
4. Student uzyskuje ocenę końcową OK, jeżeli uzyskał zaliczenia z wykładu i laboratorium. Ocena końcowa OK jest ustalana na podstawie średniej arytmetycznej z ocen OW i OL. |
<b>Wymagania wstępne</b>
W cyklu 2022/2023-Z: student osiągnął efekty uczenia się w zakresie modułów: Programowanie I (IDI.19 – sem. I), Programowanie II (IDI.20 – sem. II), Podstawy interakcji człowiek-komputer (IDI.23 – sem. I) oraz Algorytmy i struktury danych (IDI.24 – sem. II). Wymagań dodatkowych brak.
| W cyklu 2023/2024-Z: student osiągnął efekty uczenia się w zakresie modułów: Programowanie I (IDI.19 – sem. I), Programowanie II (IDI.20 – sem. II), Podstawy interakcji człowiek-komputer (IDI.23 – sem. I) oraz Algorytmy i struktury danych (IDI.24 – sem. II). Wymagań dodatkowych brak.
| W cyklu 2024/2025-Z: 1.Student osiągnął efekty uczenia się w zakresie modułów:
- Programowanie I (IDI.19 – sem. I),
- Programowanie II (IDI.20 – sem. II),
- Podstawy interakcji człowiek-komputer (IDI.23 – sem. I),
- Algorytmy i struktury danych (IDI.24 – sem. II).
2. Wymagania dodatkowe: brak. |
<b>Literatura podstawowa</b>
- Dewson R.: SQL Server. Wstęp dla programistów, Helion, wyd. IV, Gliwice 2016
- Ben-Gan I.: Podstawy języka T-SQL. Microsoft SQL Server 2016 I Azure SQL Database, APN Promise, Warszawa 2016
<b>Literatura uzupełniająca</b>
- Garcia-Molina H., Ullman J.D., Widom J.: Systemy baz danych. Pełny wykład, WNT, Warszawa 2006
- Campbell L., Majors C.: Inżynieria niezawodnych baz danych. Projektowanie systemów odpornych na błędy, Helion, Gliwice 2018
<b>Inne informacje</b>
Efekty kształcenia
Wiedza
Posiada wiedzę dotyczącą struktury języka zapytań SQL, składni poszczególnych poleceń, klauzul i technik tworzenia większości składników relacyjnych baz danych.
Powiązane efekty kierunkowe:
IF1A_W04
Metody weryfikacji:
Kolokwium:Posiada wiedzę dotyczącą struktury języka zapytań SQL, składni poszczególnych poleceń, klauzul i technik tworzenia większości składników relacyjnych baz danych
Wiedza
Posiada niezbędną wiedzę z zakresu modelowania struktur danych za pomocą wybranych narzędzi informatycznych, ma świadomość istnienia i konieczności stosowania dobrych praktyk w tworzeniu systemów bazodanowych
Powiązane efekty kierunkowe:
IF1A_W09
Metody weryfikacji:
Kolokwium:Posiada niezbędną wiedzę z zakresu modelowania struktur danych za pomocą wybranych narzędzi informatycznych, ma świadomość istnienia i konieczności stosowania dobrych praktyk w tworzeniu systemów bazodanowych.
Umiejętności
Potrafi sprawnie posługiwać się językiem SQL w zakresie uzyskiwania żądanych informacji z systemu bazodanowego. Potrafi w tym celu dobrać i wykorzystać właściwe narzędzie informatyczne.
Powiązane efekty kierunkowe:
IF1A_U03
Metody weryfikacji:
Kolokwium:Potrafi sprawnie posługiwać się językiem SQL w zakresie uzyskiwania żądanych informacji z systemu bazodanowego. Potrafi w tym celu dobrać i wykorzystać właściwe narzędzie informatyczne.
Umiejętności
Potrafi prawidłowo modelować struktury baz danych, właściwie dobierając i wykorzystując znane metody, techniki i narzędzia informatyczne, uwzględniając przyjęte założenia projektowe.
Powiązane efekty kierunkowe:
IF1A_U24, IF1A_U25
Metody weryfikacji:
Kolokwium:Potrafi prawidłowo modelować struktury baz danych, właściwie dobierając i wykorzystując znane metody, techniki i narzędzia informatyczne, uwzględniając przyjęte założenia projektowe.
Umiejętności
Ma świadomość i umiejętność właściwego i precyzyjnego dokumentowania tworzonych systemów baz danych oraz zrozumiałego dla innych formułowania zasad ich działania.
Powiązane efekty kierunkowe:
IF1A_U04
Metody weryfikacji:
Kolokwium:Ma świadomość i umiejętność właściwego i precyzyjnego dokumentowania tworzonych systemów baz danych oraz zrozumiałego dla innych formułowania zasad ich działania.
Kompetencje społeczne
Jest świadomy społecznej roli jaką pełni wykształcony inżynier informatyk, wykazuje odpowiedzialność za tworzone przez siebie dzieła oraz posiada umiejętność przekazywania swojej wiedzy innym w sposób jasny i zrozumiały.
Powiązane efekty kierunkowe:
IF1A_K07
Metody weryfikacji:
Ocena aktywności na zajęciach:Jest świadomy społecznej roli jaką pełni wykształcony inżynier informatyk, wykazuje odpowiedzialność za tworzone przez siebie dzieła oraz posiada umiejętność przekazywania swojej wiedzy innym w sposób jasny i zrozumiały.
Kryteria oceniania
1. Student uzyskuje zaliczenie wykładu na podstawie pozytywnej oceny ze sprawdzianu pisemnego przeprowadzonego na ostatnim wykładzie w semestrze – ocena zaliczająca wykład OW jest ustalana na podstawie oceny ze sprawdzianu. W przypadku zajęć prowadzonych zdalnie, sprawdzian będzie przeprowadzony online na platformie elearning.ubb.edu.pl.
2. Student uzyskuje zaliczenie laboratorium na podstawie pozytywnych ocen z dwóch sprawdzianów pisemnych w semestrze (w przypadku zajęć prowadzonych zdalnie – w formie zadań odsyłanych na platformę elearning.ubb.edu.pl) – ocena zaliczająca laboratorium OL jest ustalana na podstawie średniej arytmetycznej ocen ze sprawdzianów.
3. Zaliczenia poprawkowe (wykład, laboratorium) studenci mogą uzyskać w sesji poprawkowej lub w terminach późniejszych, za zgodą dziekana.
4. Student uzyskuje ocenę końcową OK, jeżeli uzyskał zaliczenia z wykładu i laboratorium. Ocena końcowa OK jest ustalana na podstawie średniej arytmetycznej z ocen OW i OL>.
Literatura
A. Wykaz literatury podstawowej:
1. Ben-Gan I.: Podstawy języka T-SQL. Microsoft SQL Server 2022 I Azure SQL Database, APN Promise, Warszawa 2023
2. Elmsari R., Navathe S.B.: Wprowadzenie do systemów baz danych, wyd. VII, Helion, Gliwice 2019
B. Wykaz literatury uzupełniającej:
1. Ben-Gan I.: Funkcje okna w języku T-SQL dla SQL Server 2019, APN Promise, Warszawa 2019
2. Dewson R.: SQL Server. Wstęp dla programistów, Helion, wyd. IV, Gliwice 2016
3. Garcia-Molina H., Ullman J.D., Widom J.: Systemy baz danych. Pełny wykład, WNT, Warszawa 2006
4. Pelikant A.: MS SQL Server. Zaawansowane metody programowania, wyd. II, Helion, Warszawa 2022