Nazwa przedmiotu Relacyjno-obiektowe bazy danych
Kod przedmiotu 02 59 4871 00
Typ przedmiotu Obowiązkowy
Poziom przedmiotu studia I stopnia
Rok studiów 3
Semestr studiów 5
Liczba przyznanych punktów ECTS 4
Nazwisko wykładowcy/wykładowców dr hab. inż. Adam Pelikant
dr inż. Paweł Drzymała, dr hab. inż. Adam Pelikant, dr inż. Henryk Welfle
Cele przedmiotu
Celem przedmiotu jest przedstawienie metod przetwarzania transakcyjnego w silnych serwerach baz danych z wykorzystaniem rozszerzenia proceduralnego.
Efekty kształcenia przedmiotu
1. wymieniać elementy składniowe zapytań oraz elementów proceduralnych PL/SQL
2. opisywać  zadania realizowane przez skrypty, procedury, funkcje
3. tłumaczyć sposób przetwarzania w relacyjno-obiektowej bazie danych
4. stosować poznaną składnie do tworzenia proceduralnych obiektów bazy danych oraz rozwiązywania zadań z zakresu przetwarzania 
5. interpretować funkcje, procedury składowane i wyzwalane oraz rozumieć ich rolę
Forma realizacji kształcenia (sala wykładowa, on-line)
sala wykładowa
Wymagania wstępne
Podstawy informatyki, Bazy danych
Zalecane fakultety nie dotyczy
Treści merytoryczne przedmiotu
WYKŁAD
Zasady projektowania baz relacyjnych, normalizacja i denormalizacja, projektowanie struktur logicznych (z wykorzystaniem diagramów zależności) i fizycznych, strojenie bazy danych.
Architektura i funkcje Systemu Zarządzania Relacyjną Bazą Danych
Wprowadzenie do relacyjno-obiektowych i obiektowych baz danych
Język SQL, zapytania do baz danych proste i złożone, relacje proste i zagnieżdżone
Struktura fizyczna i logiczna bazy danych Oracle, instancja Oracle, tworzenie, otwieranie i zamykanie bazy danych Oracle
Narzędzia dostępu do bazy danych Oracle - SQL Plus
Nowe metody realizacji złączeń JOIN…USING, NATURAL JOIN.
Zapytania z wielopoziomowymi złączeniami, podzapytania i podzapytania skorelowane.Różnice w wydajności.
Zapytania do struktur hierarchicznych - samozłączenie za pomocą operatora CONNECT BY.
Ograniczenia na poziomie tabel więzy natychmiastowe i odroczone - kopiowanie masowe - bulk copy.
Podstawy programowania bazy danych Oracle - PL/SQL
Typy danych w PLSQL i ich mapowanie na typy SQL.
Elementy składni proceduralnej - pętle, instrukcje warunkowe, instrukcja pusta.
Struktura bloku anonimowego, deklaracje zmiennych i typów, typy rekordowe.
Procedury i funkcje - obsługa wyjątków i hierarchiczna ich obsługa.
Procedury wyzwalane z poziomu obiektów bazy danych, schematu i serwera.
Transakcyjność bazy danych. Tworzenie, zatwierdzanie i wycofywanie transakcji. Punkty wycofania transakcji (SAVE).
Tworzenie kursorów i ich rola w bazie danych. Porównanie modelu przetwarzania w oparciu o mechanizmy wymiany danych (DAO, ADO) i kursory.
Inkapsulacja procedur i funkcji w pakiety. Przeciążanie procedur i funkcji. Globalne i lokalne typy i zmienne.
ĆWICZENIA LABORATORYJNE
Wykonywanie krótkich aplikacji pozwalających na poznanie możliwości projektowania i zarządzania bazami danych w środowisku Oracle
Spis zalecanych lektur Literatura podstawowa:
A. Pelikant: Programowanie serwera Oracle 11g SQL I PL/SQL, HELION 2011
B. Lakshman: Oracle9i PL/SQL, Poradnik programisty, Mikom 2003.
B. Pribyl, S. Feuerstein: Oracle PL/SQL. Wprowadzenie, Helion 2002
S. Urman: Oracle9i. Programowanie w języku PL/SQL, Helion 2003
Wrembel R., Bębel B.: Oracle. Projektowanie rozproszonych baz danych, Helion, Warszawa 2003.

Literatura uzupełniająca:
PL/SQL - Leksykon kieszonkowy, Helion, 2002
SQL- Leksykon kieszonkowy, Helion, 2004
Joe Celko: SQL. Zaawansowane techniki programowania, MIKOM, 1999
Joe Greene: Oracle 8 Server - księga eksperta, Helion, 2000
Jan L. Harrington: SQL dla każdego, MIKOM, 2004
Formy i metody kształcenia
Wykład Ćwiczenia Laboratorium Projekt Seminarium Inne Suma godzin w semestrze
30 15 45
Metody i kryteria weryfikacji efektów kształcenia
1, 2, 3, 5 Test pojedynczego wyboru, generowany losowo z szerokiej puli pytań ze zmiennym zestawem odpowiedzi.
1, 4, 5 Sprawdzenie umiejętności praktycznych na podstawie dwóch zadań problemowych.
3, 5 Obserwacja zaangażowania na zajęciach.

Zaliczenie części wykładowej na podstawie testu. Zaliczenie części laboratoryjnej na podstawie dwóch sprawdzianów praktycznych w połowie i na koniec semestru. Zaliczenie przedmioty składa się w 50% z zaliczenia wykładu i laboratorium.
Język prowadzenia zajęć polski
Praktyki nie dotyczy