Students will be able to design and implement moderate sized databases, program queries in SQL and understand the basics of data protection.
- define basic concepts of databases
- describe main parts of database management systems
- explain principles of data modelling
- explain and understand syntax and semantics of the SQL
- explain and understand basic principles of database protection
- apply the knowledge about data modelling to simple practical examples
- use relational algebra and SQL in problem solving
Forms of Teaching
Theoretical fundations and paradigms exposed during the lectures are illustrated with practical examples and demonstrated using a database management system.Laboratory Work
Applying the knowledge acquired on lectures on previously unknown practical examples.
|Type||Threshold||Percent of Grade||Threshold||Percent of Grade|
|Laboratory Exercises||0 %||20 %||30 %||0 %|
|Homeworks||0 %||5 %||50 %||0 %|
|Quizzes||0 %||5 %||0 %||0 %|
|Mid Term Exam: Written||0 %||30 %||0 %|
|Final Exam: Written||20 %||40 %|
|Exam: Written||50 %||50 %|
|Exam: Oral||50 %|
Week by Week Schedule
- Introduction to the course. Introduction to databases; Relational data model.
- Relational data model (continued), relational operations, relational algebra. Missing information, NULL values.
- Relational query language - SQL.
- Structured Query Language - SQL (continued).
- Introduction to relational database design, functional dependencies; Normal forms, normalization
- Normal forms, normalization - Continued Introduction to physical organization, indexes, B-trees;
- Database integrity, integrity constraints, integrity rules.
- Midterm exam
- Temporary and virtual tables. Triggers and stored procedures.
- Fundamentals of query optimization. Introduction to ER model.
- Entity-relatioship data model; Entity-relatioship model design.
- Database management systems, transactions. Database recovery.
- Database security. Concurrency control.
- NoSQL databases. Big data.
- Final exam