Module also offered within study programmes:
General information:
Annual:
2017/2018
Code:
AMA-2-104-MZ-s
Name:
Databases
Faculty of:
Applied Mathematics
Study level:
Second-cycle studies
Specialty:
Matematyka w zarządzaniu
Field of study:
Mathematics
Semester:
1
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr inż. Orzechowski Tomasz Marcin (tomeko@agh.edu.pl)
Academic teachers:
dr inż. Orzechowski Tomasz Marcin (tomeko@agh.edu.pl)
dr Mielczarek Dominik (dmielcza@wms.mat.agh.edu.pl)
Module summary

Bazy danych. Działania na bazach danych. SQL, DDL, DQL, DML, inne.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Samodzielnie posługuje się dokumentacją i rozwiązuje zagadnienia problemowe MA2A_W11 Activity during classes,
Project
M_K002 Współpracuje z innymi w trakcie rozwiązywania zagadnień problemowych. MA2A_W11 Activity during classes,
Project
Skills
M_U001 Stosuje algebrę relacji tworząc złożone zapytania bazodanowe. MA2A_W11 Project,
Execution of laboratory classes
M_U002 Tworzy samodzielnie projekt bazy danych i stosuje normalizacje (1-3 postać normalna) MA2A_W11 Project,
Execution of laboratory classes
Knowledge
M_W001 Rozumie podstawy relacyjnych baz danych MA2A_W11 Test
M_W002 Zna obszary zastosowań relacyjnych baz danych oraz systemów nierelacyjnych baz danych. MA2A_W11 Execution of laboratory classes
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Samodzielnie posługuje się dokumentacją i rozwiązuje zagadnienia problemowe - - - - + - - - - - -
M_K002 Współpracuje z innymi w trakcie rozwiązywania zagadnień problemowych. - - - - + - - - - - -
Skills
M_U001 Stosuje algebrę relacji tworząc złożone zapytania bazodanowe. - - - - + - - - - - -
M_U002 Tworzy samodzielnie projekt bazy danych i stosuje normalizacje (1-3 postać normalna) - - - - + - - - - - -
Knowledge
M_W001 Rozumie podstawy relacyjnych baz danych - - - - + - - - - - -
M_W002 Zna obszary zastosowań relacyjnych baz danych oraz systemów nierelacyjnych baz danych. - - - - + - - - - - -
Module content
Conversation seminar:
  1. 1. Wprowadzenie

    A. Część teoretyczna
    1. omówienie kryteriów oceniania.
    2. przedstawienie literatury
    3. przedstawienie programu zajęć na cały semestr
    4. Zadania na kolejne zajęcia – podstawowe pojęcia: Thomas Connolly, Carolyn Begg, Systemy baz danych – Praktyczne metody projektowania, implementacji i zarządzania. Tom 1
: rozdział 1, 3 i 4.

    B. Zajęcia praktyczne
    1. zakładanie/odnowienie kont w laboratoriach.
    2. przygotowanie środowiska do pracy:
    2.1 pobranie i uruchomienie maszyny wirtualnej
    2.2 możliwości konfiguracji VMware
    2.3 zdalne logowanie do systemu poprzez putty
    2.4 sposób integracji systemów: host-guest

  2. 2. Relacyjna baza danych na przykładzie SZBD mySQL

    A. Część teoretyczna
    1. Omówienie pojęć: baza danych, system zarządzania bazą danych, system bazodanowy, baza relacyjna, języki DML, DQL, DDL i DCL.
    2. Algebra relacji: relacje matematyczne i relacje baz danych, rachunek relacyjny. Stopień i moc relacji.
    3. Zadania na kolejne zajęcia – podstawy SQL: Thomas Connolly, Carolyn Begg, Systemy baz danych – Praktyczne metody projektowania, implementacji i zarządzania. Tom 1
: rozdział 5.

    B. Zajęcia praktyczne
    1. Podstawy korzystania z mySQL.
    1.1. Lokalne i zdalne nawiązanie połączenia z bazą danych.
    1.2. Zmiana bazy danych (use BAZA)
    1.3. Wyświetlanie listy baz i tabel (podstawowe polecenia: show tables, show databases).
    1.3 Korzystanie z dokumentacji mySQL

    2. Podstawy SQL – zadania praktyczne
    2.1 operacje selekcji
    2.2 operacje rzutowania (zastosowanie DISTINCT)
    2.3 sortowanie wyników (ORDER BY)
    2.4 porządkowanie wyników (GROUP BY)

    C. Sprawdzenie wiadomości – kolokwium 1

    UWAGA:
    Treść zadań praktycznych jest prezentowana na stronie prowadzącego “Ćwiczenia – cz.1”

  3. 3. Działania na bazach danych – przykłady zastosowań DQL i DML

    A. Część teoretyczna
    1. Definiowanie skryptów i ich struktura
    1.1 Tworzenie tabel (określanie dziedzin atrybutów)
    1.2 Typy liczbowe: FLOAT i INT, oraz tekstowe: CHAR, VARCHAR
    1.3 Wprowadzanie danych
    1.4 Usuwanie tabel
    1.5 Warunkowe tworzenie/usuwanie tabel (IF EXISTS/IF NOT EXISTS)

    2. Zadania na kolejne zajęcia, rozszerzające przedstawione tematy: Thomas Connolly, Carolyn Begg, Systemy baz danych – Praktyczne metody projektowania, implementacji i zarządzania. Tom 1
: rozdział 6.1.1, 6.1.2, 6.3.2-4.

    B. Zajęcia praktyczne
    1. Samodzielne tworzenie struktur tabel
    2. Wprowadzanie danych do tabel.
    3. Iloczyn kartezjański
    4. Zapytania zagnieżdżone (IN, NOT IN, =)
    5. Funkcje agregujące (MAX, MIN, AVG, COUNT)
    6. Wyrażenia warunkowe i operatory dla wartości liczbowych i tekstu.
    7. Zadania do samodzielnego wykonania – dotyczą wszystkich omawiaanych tematów: “Ćwiczenia – cz.3”

    UWAGA:
    Treść zadań praktycznych jest prezentowana na stronie prowadzącego “Ćwiczenia – cz.2”

  4. 4. Działania na bazach danych – przykłady zastosowań DDL

    A. Część teoretyczna
    1. Omówienie zadań z poprzednich ćwiczeń (WHERE a HAVING) oraz zadania domowego (UNION, EXCEPT a NOT IN, LIKE).
    2. Funkcje operujące na tekście (TRIM, SUBSTRING, CONCAT) i możliwości zastosowania.
    3. Funkcje operujące na typie DATE (MONTH, YEAR)
    4. Modyfikacja struktury tabeli – dodanie/usunięcie atrybutu (ALTER TABLE)
    5. Zadania na kolejne zajęcia, rozszerzające przedstawione tematy: Thomas Connolly, Carolyn Begg, Systemy baz danych – Praktyczne metody projektowania, implementacji i zarządzania. Tom 1
: rozdział 6.1.3 oraz 6.2 i 6.3).

    B. Zajęcia praktyczne
    1. Modyfikacja wartości atrybutów za pomocą polecenia UPDATE i z wykorzystaniem funkcji operujących na tekście.
    2. Modyfikacja dziedziny atrybutu
    3. polecenie desc TABELA i jego zastosowanie.
    4. Zadania do samodzielnego wykonania – dotyczą wszystkich omawianych tematów: “Ćwiczenia – cz.4 pkt: 2-13”

    C. Sprawdzenie wiadomości – kolokwium 2

    UWAGA:
    Treść zadań praktycznych jest prezentowana na stronie prowadzącego “Ćwiczenia – cz.4”

  5. 5. Działania na bazach danych – Zastosowanie kluczy głównych i obcych

    A. Część teoretyczna
    1. Omówienie zadania domowego.
    2. Omówienie wyników kolokwium.
    3. Klucz główny i obcy tabeli
    4. Perspektywy i ich zastosowanie.
    5. Złączenia i ich zastosowanie
    6. Zadania na kolejne zajęcia, rozszerzające przedstawione tematy: Thomas Connolly, Carolyn Begg, Systemy baz danych – Praktyczne metody projektowania, implementacji i zarządzania. Tom 1
: rozdział 6.4).

    B. Zajęcia praktyczne
    1. Definiowanie tabel wraz z kluczem głównym i obcymi.
    2. Iloczyn kartezjański a złączenia
    3. Tworzenie i posługiwanie się perspektywami
    4. Zadania do samodzielnego wykonania – dotyczą wszystkich omawianych tematów: “Ćwiczenia – cz.5 pkt: 5-14”

    UWAGA:
    Treść zadań praktycznych jest prezentowana na stronie prowadzącego “Ćwiczenia – cz.5”

  6. 6. Działania na bazach danych – Zastosowanie perspektyw

    A. Część teoretyczna
    1. Omówienie zadania domowego.
    2. Utrwalenie wiadomości o iloczynie kartezjańskim i złączeniach.
    3. Więzy integralności a usuwanie rekordów.
    4. Zadania na kolejne zajęcia: trigger w mySQL (definiowanie, miejsce wywołania).

    B. Zajęcia praktyczne
    1. Praktyczne posługiwanie się perspektywami
    2. Wykorzystywanie więzów integralności.
    3. Tworzenie i posługiwanie się rozbudowanymi skryptami tworzącymi strukturę bazy danych z kilkoma tabelami wypełnionymi treścią, oraz zastosowanymi więzami integralności.

    C. Sprawdzenie wiadomości – kolokwium 3

    UWAGA:
    Treść zadań praktycznych jest prezentowana na stronie prowadzącego “Ćwiczenia – cz.6”

  7. 7. Działania na bazach danych – Zastosowanie wyzwalaczy

    A. Część teoretyczna
    1. Omówienie wyników kolokwium.
    2. Utrwalenie wiadomości o więzach integralności.
    3. Utrwalenie wiadomości o stosowaniu perspektyw.
    4. Posługiwanie się triggerami w środowisku mySQL.
    5. Zadania na kolejne zajęcia – tworzenie użytkowników i nadawanie uprawnień: Thomas Connolly, Carolyn Begg, Systemy baz danych – Praktyczne metody projektowania, implementacji i zarządzania. Tom 1
: rozdział 6.6 oraz dokumentacja mySQL).

    B. Zajęcia praktyczne
    1. Definiowanie triggerów
    2. Określanie różnic momentu wywołania triggera

    C. Sprawdzenie wiadomości – kolokwium 4

    UWAGA:
    Treść zadań praktycznych jest prezentowana na stronie prowadzącego “Ćwiczenia – cz.7”

  8. 8. Działania na bazach danych – Uprawnienia w mySQL (DCL)

    A. Część teoretyczna
    1. Omówienie wyników kolokwium.
    2. Utrwalenie wiadomości o triggerach.
    3. Definiowanie użytkowników i uprawnień w środowisku mySQL.

    B. Zajęcia praktyczne
    1. Praktyczne posługiwanie się triggerami – c.d.
    2. Definiowanie użytkownika w środowisku mySQL
    3. Nadawanie uprawnień użytkownikom

    C. Sprawdzenie wiadomości – kolokwium 5

    UWAGA:
    Treść zadań praktycznych jest prezentowana na stronie prowadzącego “Ćwiczenia – cz.8”

  9. 9. Transakcje w mySQL

    A. Część teoretyczna
    1. Omówienie wyników kolokwium.
    2. Omówienie trzech mechanizmów składowania: InnoDB, MyISAM i Memory (HEAP).
    3. Transakcje jako mechanizm pomagający w utrzymaniu spójności bazy danych – zasada ACID (Atomicity Consistency Isolation Durability)
    4. Przebieg transakcji
    5. Zadania na kolejne zajęcia – tworzenie użytkowników i nadawanie uprawnień: Thomas Connolly, Carolyn Begg, Systemy baz danych – Praktyczne metody projektowania, implementacji i zarządzania. Tom 1
: rozdział Normalizacje baz danych).

    B. Zajęcia praktyczne
    Tworzenie przykładowych transakcji

  10. 10. Etapy projektowania bazy danych i normalizacja

    Zajęcia praktyczne
    1. Projektowanie schematu bazy danych.
    2. Normalizacja baz danych: 1NF, 2NF, 3NF – przykłady normalizacji.
    3. Omówienie narzędzi projektowania baz danych
    4. Omówienie zadań projektowych

  11. 11. Tworzenie indywidualnych projektów baz danych

    Zajęcia praktyczne
    Realizacja indywidualnych zadań – tworzenie struktury bazy danych.

  12. 12. Normalizacja indywidualnych projektów baz danych

    Zajęcia praktyczne
    Realizacja indywidualnych zadań – proces normalizacji.

  13. 13. Rozwiązania alternatywne i systemy bazodanowe (1)

    Część teoretyczna
    1. Programowanie baz danych
    1.1 SQLite jako przykład prostego systemu SZBD wspierającego SQL
    1.2 Eclipse i JDBC – prezentacja aplikacji bazodanowej.
    1.3 Zapisywanie obiektów w bazie danych (persisten object) – Hibernate.

  14. 14. Rozwiązania alternatywne i systemy bazodanowe (2)

    Część teoretyczna
    1. Omówienie rozwiązań noSQL.
    2. Systemy obiektowych baz danych.

  15. 15. Zakończenie

    Wystawienie ocen

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 58 h
Module ECTS credits 2 ECTS
Participation in conversation seminars 30 h
Completion of a project 20 h
Contact hours 8 h
Additional information
Method of calculating the final grade:

Ocena końcowa wystawiana jest na podstawie uzyskanych punktów z 5 kolokwiów (60%), oraz wykonania propozycji struktury bazy danych z zastosowaniem normalizacji (40%)

Prerequisites and additional requirements:

Prerequisites and additional requirements not specified

Recommended literature and teaching resources:

Podstawowa:
1. Thomas Connolly, Carolyn Begg, Systemy baz danych – Praktyczne metody projektowania, implementacji i zarządzania. Tom 1
, , 
Wydawnictwo  RM,

ISBN 83-7243-368-2
2. Dokumentacja do mySQL na stronach producenta:
http://dev.mysql.com/doc/refman/5.5/en/

Zalecana:
1. Thomas Connolly, Carolyn Begg, Systemy baz danych – Praktyczne metody projektowania, implementacji i zarządzania. Tom 12, , 
Wydawnictwo RM,

ISBN 83-7243-369-0

Scientific publications of module course instructors related to the topic of the module:

Additional scientific publications not specified

Additional information:

Wszelkie materiały do zajęć oraz kryteria oceny są publikowane na stronie WWW prowadzącego zajęcia.
Studenci są zachęcani do spotkań w trakcie konsultacji.