Database Systems and Cloud Storages (FSI-VDC-K)

Academic year 2021/2022
Supervisor: prof. RNDr. Ing. Miloš Šeda, Ph.D.  
Supervising institute: ÚAI all courses guaranted by this institute
Teaching language: Czech
Aims of the course unit:
The course aims to acquaint the students with basic database technologies for an efficient design and management of applications with large data structures in web environment.
Learning outcomes and competences:
The course familiarises students with theoretical aspects of database application design and its implementation in web environment including programming in PHP and MySQL. They will be able to create an application for an efficient management of large scale data structures and they also will learn to use cloud services.
Prerequisites:
Successful completion of the course "Database Systems" is conditional on basic knowledge of algoritmization.
Course contents:
The course provides an introduction to DBS.
It deals with the following topics:
Data processing, redundancy, inconsistency, integrity, security, data sharing.
Index-sequential organisation. Relationship integrity constraints.
DBS architecture, data models. Entity-relationship model, relational algebra.
MySQL Workbench.
Theoretical fundamentals of information system design. Functional dependencies, normal forms, decomposition theorem.
Structured Query Language (SQL).
Web databases. HTML, PHP and MySQL.
Data security.
Clouds and grids.
NoSQL databases.
Teaching methods and criteria:
The course is taught through lectures explaining the basic principles and theory of the discipline. Exercises are focused on practical topics presented in lectures.
Assesment methods and criteria linked to learning outcomes:
The course-unit credit is awarded on condition of having implemented a nontrivial database application in HTML/PHP/MySQL. The exam has a written form and tests knowledge of students in database design, relational algebra, SQL, and programming in HTML/PHP/MySQL environment.
Controlled participation in lessons:
Since the attendance at seminars is required, it will be checked systematically by the teacher supervising the seminar. If a student misses a seminar, an excused absence can be compensated for via make-up topics of exercises.
Type of course unit:
    Guided consultation in combined form of studies  1 × 17 hrs. compulsory                  
    Guided consultation  1 × 35 hrs. optionally                  
Course curriculum:
    Guided consultation in combined form of studies Seminars in computer labs:
1. HTML. References, tables, frames.
2. HTML. Pictures, forms, cascade styles.
3. Organisation of web application HTML-PHP-MySQL.
4. Installation of web environment using local disc – WampServer, console communication.
5. Table creation and definition of item properties (data types, primary key, null values, string sort).
6. Modification of table structure, insertion into table and its modification (update and delete operation).
7. PHP. User-defined functions.
8. PHP. File processing, e-mail sending.
9. PHP. Pictures in PHP, creation of .pdf files.
10. MySQL. Connection to MySQL in PHP, selection of database, specification of SQL statement from data sent from a form and execution of the SQL statement.
11. MySQL. Evaluation of SQL SELECT query and formatting of the results into table.
12. Realisation of web application (e-shop, information and reservation system, …)
12. Review and practice - SQL: subqueries, realisation of 'at least 1', 'none' and 'all' expressions.
13. Clouds and grids, software support.
    Guided consultation 1. Introduction to DBS. Data sorting. Drawbacks of the classical file processing.
2. Database systems, data definition language (DDL) and data manipulation language (DML). Database system architecture. Physical and logical independence. Data models. Integrity constraints for relationships.
3. Relational algebra, basic operations, relational algebra as a query language.
4. Design of data structures. Normal forms of relations.
5. Structured Query Language (SQL). SQL SELECT. Aggregate functions. Multisegment aggregate key.
6. SQL. Subqueries. Multiple opening a table, relationship 1 to N within one table. Nested aggregations, query implementation using a sequence of queries.
7. SQL. Computing with NULL value. Existential and universal qualifier in SQL. Crosstab query. Update (action) queries. Definition queries.
8. Web databases. Communications among HTML, PHP and MySQL.
9. PHP. Data types, string functions, text and binary files, file locking.
10. Assignment statement, conditional statements, loop statements, user-defined functions, call by value and reference. Objects in PHP.
11 MySQL. User rights, data types, functions in MySQL, calling MySQL queries in PHP, password coding, realisation of complex database applications in criteria forms, insertion, updates and deletion of data.
12. NoSQL databases.
13. Clouds and grids.


Literature - fundamental:
1. Connoly, T.M. and Begg, C.E.: Database Systems : A Practical Approach to Design, Implementation and Management. Pearson Education, 2004 (4th edition).
2. Date, C.J.: An Introduction to Database Systems. Addison Wesley, New York, 2003 (8th edition).
3. Fortier, P.J.: Database Systems Handbook. McGraw-Hill, 1997.
4. Lacko, L.: SQL. Hotová řešení pro SQL Server, Oracle a MySQL. Computer Press, Brno, 2003.
7. Pratt, J.P.: A Guide to SQL. Course Technology, 2003 (6th edition).
8. Ullman, L.: PHP and MySQL for Dynamic Web Sites. Pearson Education, 2003 (český překlad: PHP a MySQL: Názorný průvodce tvorbou dynamických www stránek. Computer Press, Brno, 2004).
10. Williams, H.E. and Lane, D.: Web Database Applications with PHP and MySQL. O’Reilly, 2002 (český překlad: Programujeme webové aplikace pomocí PHP a MySQL. Computer Press, Praha, 2002).
11. Holubová, I, Kosek, J., Minařík, K., Novák, D.: Big Data a NoSQL databáze. Grada, Praha, 2015.
12. Velte, T. A., Velte, T. J., Elsenpeter, R: Cloud Computing. A Practical Approach. McGraw Hill, New York, 2010.
13. Stanoevska-Slabeva, K., Wozniak, T., Ristol, S. (eds.): Grid and Cloud Computing. A Business Perspective on Technology and Applications. Springer-Verlag, Berlin, 2010.
14. Redmond, E., Wilson, J. R.: Seven Databases in Seven Weeks. A Guide to Modern Databases and the NoSQL. Movement-Pragmatic Bookshelf, 2012.
Literature - recommended:
1. Date, C.J.: An Introduction to Database Systems. Addison Wesley, New York, 2003 (8th edition).
2. Elmasri, R., Navathe, S.B.: Fundamentals of Database Systems. Addison Wesley, 4th edition, 2003.
The study programmes with the given course:
Programme Study form Branch Spec. Final classification   Course-unit credits     Obligation     Level     Year     Semester  
N-AIŘ-K combined study --- no specialisation -- Cr,Ex 5 Compulsory 2 2 S