Bazy danych

Język wykładowy Polski
Semestr Letni
Status Poddana pod głosowanie
Opiekun Piotr Wieczorek
Liczba godzin 30 (wyk.) 30 (ćw-prac.)
Rodzaj Informatyczny 1
ECTS 6
Polecany dla I roku Nie
Egzamin Tak
Tagi BD (Bazy danych)
Grupy efektów kształcenia Bazy danych

Opis przedmiotu:

Celem wykładu jest omówienie zasad konstrukcji relacyjnych baz danych oraz opanowanie przez słuchaczy umiejętności profesjonalnej obsługi systemu baz danych od strony użytkownika, czyli: * umiejętności projektowania i tworzenia relacyjnych baz danych dla rzeczywistych zagadnień; * sprawnego wyszukiwania i odzyskiwania informacji z baz danych przy pomocy języków SQL. * pisania aplikacji z dostępem do baz danych; * efektywnego wykorzystania dodatkowych możliwości systemu (perspektyw, transakcji, więzów, itp.). Ponadto wykład pozwala słuchaczom poznać elementy systemów baz danych spoza warstwy użytkownika (system nadzoru transakcji, zapewnienia bezpieczeństwa i optymalizacji) oraz zapoznać się z innymi koncepcjami baz danych wykraczającymi poza standard relacyjny (np. grafowe bazy danych, elementy rozproszonych baz danych). **Program wykładu:** 1. Podstawowe pojęcia baz danych i modelowanie konceptualne. 2. Relacyjne bazy danych. Języki opisu danych i języki zapytań. SQL. 3. Elementy aktywnych baz danych (więzy integralności, wyzwalacze). 4. Elementy systemów baz danych (transakcje, bezpieczeństwo i autoryzacja danych, połączenie relacyjnych języków zapytań z językami macierzystymi). 5. Teoria relacyjnych baz danych (zależności funkcyjne, normalizacja i denormalizacja). 6. Metody pisania aplikacji z dostępem do baz danych. 7. Inne modele baz danych (m.in. bazy grafowe, przetwarzanie dużych danych). **Program ćwiczeń i pracowni:** 1. Zajęcia konwersatoryjne pomagające w praktycznym opanowaniu projektowania relacyjnych baz danych. 2. Opanowanie zapytań w językach SQL. 3. Zajęcia laboratoryjne pozwalające zapoznać się z systemami zarządzania bazami danych (PostgreSQL itp.). 4. Wykonanie kompletnego projektu niewielkiej bazy danych. **Wymagania:** Podstawowa znajomość logiki nabyta np. na Logice dla informatyków lub Wstępie do matematyki; Podstawowa znajomość algorytmiki, np. Algorytmy i struktury danych (L); Umiejętność programowania wystarczająca do napisania aplikacji.