Module also offered within study programmes:
General information:
Name:
Databases
Course of study:
2019/2020
Code:
AMAT-2-103-MZ-s
Faculty of:
Applied Mathematics
Study level:
Second-cycle studies
Specialty:
Mathematics in Management
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)
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: is able to
M_K001 Samodzielnie posługuje się dokumentacją i rozwiązuje zagadnienia problemowe MAT2A_K04, MAT2A_W11 Activity during classes,
Project
M_K002 Współpracuje z innymi w trakcie rozwiązywania zagadnień problemowych. MAT2A_K03, MAT2A_W11 Activity during classes,
Project
Skills: he can
M_U001 Stosuje algebrę relacji tworząc złożone zapytania bazodanowe. MAT2A_W11 Project,
Execution of laboratory classes
M_U002 Tworzy samodzielnie projekt bazy danych i stosuje normalizacje (1-3 postać normalna) MAT2A_W11 Project,
Execution of laboratory classes
Knowledge: he knows and understands
M_W001 Rozumie podstawy relacyjnych baz danych MAT2A_W11 Test
M_W002 Zna obszary zastosowań relacyjnych baz danych oraz systemów nierelacyjnych baz danych. MAT2A_W11 Execution of laboratory classes
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
30 0 0 0 0 30 0 0 0 0 0 0
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
Prace kontr. przejść.
Lektorat
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. - - - - + - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 55 h
Module ECTS credits 2 ECTS
Udział w zajęciach dydaktycznych/praktyka 30 h
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 20 h
Contact hours 5 h
Module content
Conversation seminar (30h):
  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

Additional information
Teaching methods and techniques:
  • Conversation seminar: Nie określono
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Participation rules in classes:
  • Conversation seminar:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Nie określono
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%)

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Student powinien zgłosić się do prowadzącego w celu ustalenia indywidualnego sposobu nadrobienia zaległości.

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:

- Orzechowski Tomasz, "The system for data exchange among databases oriented on CORBA standard and mobile agent technology”, SIBCOM-2001, The IEEE-Siberian workshop of students and young researches, Russia, Tomsk, November 28–29, 2001, S. 14–19

- Orzechowski Tomasz, Dziech Andrzej, “Communication between end-users and databases using mobile agent technology”, the IASTED International Conference, August, 13–16, 2001, Honolulu, Hawaii, USA, ACTA Press, 2001, S. 433–436
(ISBN 0-88986-299-0)

- Orzechowski Tomasz, “Concepts of systems for information retrieval”, The second international workshop of Central and Eastern Europe on Multi-Agent Systems, 26–29 September 2001, S. 363–370
(ISBN 83-915953-0-7)

- Orzechowski Tomasz, "Updating system for distributed databases”, The IASTED International Conference, May 20–22, 2002, Cancun, Mexico, Acta Press, 2002, S. 421–425

(ISSN 1482-7905; ISBN 0-88986-332-6)

- Orzechowski Tomasz, “Meta-data distribution in intelligent databases system”, 3rd Siberian Russian workshop on Electron devices and materials proceedings, Vol. 2 : Erlagol, Altai, July 1–5, 2002, Novosibirsk State Technical University, 2002, S. 21–24
(ISBN 5-7782-0380-2)

- Orzechowski Tomasz, Dziech Andrzej, “Inteligentne wyszukiwanie informacji”, Systemy wspomagania decyzji, Instytut Informatyki Uniwersytetu Śląskiego w Katowicach, Katowice, 2010, S. 421–437

(ISBN: 978-83-62462-01-8)

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.