Ostatnia aktualizacja:
Dydaktyka - BD18L Laboratorium

<-Powrót do poprzedniej strony

Data

Tematyka

Punktacja

07.03.2018r

Laboratorium wprowadzające

14.03.2018r 21.03.2018r

Model konceptualny bazy danych (model ER - bez kluczy obcych)
Model powinien składać się z minimum 5 encji. Każda encja musi mieć klucz główny oraz minimum 3 atrybuty. Należy również uwzględnić różne typy relacji: jeden do jeden, jeden do wielu, wiele do wielu. Zadanie należy zrealizować w dowolnym narzędziu do modelowania BD (np.Oracle Data modeler, MySQL Workbench, PgModeler).


(0-3)

21.03.2018r

Model relacyjny bazy danych (fizyczny - z kluczami obcymi)
Model ten powinien zawierać również encje wyodrębnione z relacji wiele do wielu, tzw. encje relacyjne, pośredniczące. Zadanie należy zrealizować w dowolnym narzędziu do modelowania BD (np.Oracle Data modeler, MySQL Workbench, PgModeler).

(0-3)

28.03.2018r

Skrypt DDL
Należy wygenerować skrypt w języku SQL tworzący bazę danych według ustalonego wcześniej schematu. Jest to skrypt tworzący tabele za pomocą polecenia CREATE TABLE. Skrypt musi zawierać kod tworzący klucze obce dla tabel oraz typy atrybutów (DATE, VARCHAR2(), NUMBER). Proszę zwrócić szczególną uwagę na minimalizowanie przydzielanych zasobów do atrybutów (atrybut musi mieć przydzielony tylko taki typ oraz wielkość, jaka jest mu niezbędna). Zadanie należy zrealizować w dowolnym narzędziu do modelowania BD (np.Oracle Data modeler, MySQL Workbench, PgModeler).

(0-3)

11.04.2018r

Procedura INSERT
Należy napisać skrypt w języku SQL, który za pomocą poleceń INSERT do każdej z tabel wstawi minimum 10 wierszy. Należy zwrócić szczególna uwagę na dodawanie wierszy do tabel powiązanych ze sobą kluczem obcym, tzw. tabel nadrzędnych i podrzędnych.

(0-3)

18.04.2018r

Procedura SELECT
Należy napisać w SQL do utworzonego schematu bazy danych polecenia select:

  • 2 polecenia select używające klauzuli where,
  • 2 polecenia select używające złączeń (join),
  • 2 polecenia select z podzapytaniem,
  • 2 polecenia select wykorzystujące funkcje agregujące oraz grupowanie.

(0-3)

25.04.2018r

Procedura TRIGGER
Należy napisać w języku SQL dwa dowolne triggery.

(0-3)

09.05.2018r
16.05.2018r
23.05.2018r

Program realizujący GUI
Program ma być aplikacją kliencką zbudowaną na bazie modelu projektowanego na poprzednich ćwiczeniach. Wybór języka programowania jest dowolny (np. Java lub Python). Aplikacja może być napisana za pomocą programów pomagających modelowanie graficznego interfejsu np. NetBeans lub PyQt z Qt Designer. Niewskazane jest używanie bibliotek ORM. Projekt oddawany jest w całości.

Program ma mieć interfejs graficzny, za pomocą którego należy móc realizować:

  • Program powinien wyświetlać zawartość min. 2 tabel. (select na dwóch tabelach),
  • powinien implementować min. jedną funkcję do wstawienia rekordu (insert), jedną do usunięcia rekordu (delete) oraz jedną do aktualizacji zawartości rekordu (update),
  • powinien zawierać min 2 dodatkowe funkcje. Np. liczyć wartość wszystkich kosztów produktów, zliczać liczbę pracowników, wyliczać ich średnią pensję itp.

Punktacja:

Wyświetlanie zawartości tabel (0-1)
Insert + Update + Delete (0-3)
Dodatkowe funkcje (0-2)
Styl kodowania (0-3)



(0-9)

30.05.2018r

Procedura INSERTv2
Należy napisać skrypt SQL insertujący do wybranych dwóch powiązanych ze sobą tabel minimum 10000 rekordów.

(0-3)

06.06.2018r

Procedura INDEX
Napisać zapytanie sql do tabel, w których jest wstawionych 10000 rekordów. Przeanalizować plan zapytania, najlepiej jakby to zapytanie było nieefektywne. Utworzyć indeks na tabeli i sprawdzić czy pomógł on w uzyskaniu lepszego planu zapytania. Dobór właściwego indeksu należy do Państwa zadania. Należy wykazać (np. przez pomiar czasu), że poprawne zakładanie indeksów znacząco optymalizuje czas dostępu do danych, w stosunku do bazy bez indeksów.

(0-3)



Ogólne zasady laboratorium z BD
  1. Zaliczenie zajęć laboratoryjnych jest koniecznym warunkiem zaliczenia przedmiotu. Warunkiem wystarczającym do zaliczenia zajęć laboratoryjnych jest realizacja pełnego programu laboratorium, co jest równoznaczne z warunkiem wykonania z wynikiem pozytywnym każdego ćwiczenia z sekwencji tworzącej ten program.
  2. Za każdą z 11 laboratoriów można uzyskać 3pkt, czyli łącznie sumuje się to do 33pkt.
  3. W ramach laboratorium z BD realizowane będą kolejne etapy budowy systemu bazy danych, realizujące zadany projekt.
  4. Tematy projektów przydzielone zostaną na pierwszych zajęciach.
  5. Technologia realizacji projektu (System zarządzania bazą danych DBMS) jest dowolna. Na komputerach w laboratorium jest zainstalowane oprogramowanie SQL Developer, które umożliwia połączenie się z bazą danych Oracle. Instrukcja jak połączyć się z bazą za pomocą SQL Developera
  6. Zadania można realizować na komputerach w pracowni lub własnych.
  7. Oddawanie kolejnych etapów projektu odbywa się na wydziale, w czasie konkretnego laboratorium. Istnieje możliwość oceny kilku etapów naraz.
  8. Każdy tydzień opóźnienia w oddaniu etapu skutkuje zmniejszeniem maksymalnej do osiągnięcia liczby punktów z tego etapu o 1.



Zasady BHP korzystania z pracowni 139
  1. Gdzie znajduje się tablica informacyjna laboratorium?
    W PRZEDSIONKU PRZY WEJŚCIU DO SAL LABORATORYJNYCH
  2. Gdzie znajduje się wyłącznik prądu?
    GŁÓWNY WYŁĄCZNIK ZASILANIA JEST W SZAFCE Z WYŁĄCZNIKAMI NA ŚCIANIE PRZY WYJŚCIU Z SALI
  3. Gdzie znajduje się wyjście awaryjne?
    W RAZIE ODCIĘCIA WYJŚCIA PRZEZ DRZWI WYJŚCIE AWARYJNE PRZEZ OKNA - KLUCZ OD KRAT (KŁÓDKI) JEST NA ŚCIANIE NAPRZECIWKO OKIEN
  4. Gdzie znajduje się gaśnica?
    W KĄCIE SALI
  5. Gdzie znajduje się apteczka pierwszej pomocy?
    U OBSŁUGI LABORATORIUM, DYŻURKA MIĘDZY SALAMI 9 i 10
  6. Kto z pracowników jest przeszkolony w udzielaniu pierwszej pomocy?
    INFORMACJA NA TABLICY W PRZEDSIONKU PRZY WEJŚCIU DO SAL LABORATORYJNYCH