Databases (GAINBAN-ADATBAZI-1)

Basic data
Name and type of the study programme
Computer Science Engineering, undergraduate program
Curriculum
2022
Classes / consultation hours
2 + 0 + 2 (L+S+Labs)
Credits
4 credits
Theory – Practice
Theory: 50%, Practice: 50%
Recommended semester
Semester 3
Study mode
full-time
Prerequisites
-
Evaluation type
Colloquium
Course category
Compulsory
Language
English
Instructors
Responsible instructor
Dr. Pap-Szigeti Róbert
Responsible department
Department of Information Technologies
Instructor(s)
Agg Péter András
Checked by
Kovács Márk
Course objectives

The aim of the course is that students learn the steps and methods of logical and physical design of databases, the possibilities of increasing the efficiency of data storage, the use of the SQL language for the implementation of physical plans and of queries.

Course content
Lectures

(1) Concepts of data modeling. (2) Relational data model. (3) Creating and mapping E-R diagrams to a relational data model. (4) Normalization of relational databases. (5) Relational algebra – set operations, reductions, combinative operations, aggregation, practical examples. (6) Elements of the SQL language (DDL & DML): syntax, definition, modification, deletion (7) Special logical expressions, simple queries. (8) Implementation of queries, joining (9) Sub-queries. (10) Aggregation (11) Creating and using virtual tables. (12) Constraints, stored procedures, triggers. (13) The role and implementation of data connection layers.

Labs

(1) Creating and mapping E-R diagrams to a relational data model. (2-3) Normalization of relational databases. (4) Relational algebra, practical examples. (5) Elements of the SQL language (DDL & DML): syntax, definition, modification, deletion (6) Special logical expressions, simple queries. (7-8) Implementation of queries, joining (9) Sub-queries. (10-11) Aggregation, complex queries (12) Creating and using virtual tables. (13) Test

Acquired competences
Knowledge

- His/her English language skills will be sufficient for the level of training, and to understand English-language literature, to process professional texts, to carry out professional tasks, as well as for continuous professional development. - Knowledge of the principles and methods of natural sciences (mathematics, physics, other natural sciences) relevant to the field of IT. - He/she knows the operations of hardware and software elements, the technology of their implementation, how to solve problems related to their operation and the possibilities of the interconnection of IT and other technical systems. - He/she knows the main programming paradigms, programming languages, development tools. His/her knowledge covers the modelling of IT systems, creation of database based systems, as well as the structure, operation and implementation of computer networks. His/her knowledge covers the characteristics of intelligent systems, the specificity of mobile application development, the management of state-of-the art general purpose operating systems, as well as the aspects of IT security. - He/she has basic data security skills. - He knows the vocabulary and special terms of the engineering profession in the Hungarian and English languages at least on the basic level.

Skills

- He/she uses the principles and methods of natural sciences (mathematics, physics, other natural sciences) relevant to the field of information technology in his/her engineering work for the design of information systems. He/she can apply his/her knowledge acquired during his/her study to acquire deeper knowledge in the field of information engineering and to process special literature and solve problems related to information technology. - He/she is able to fulfill analytical, specification, planning, development and operation tasks, in addition, he/she applies the development methodology, debugging, testing and quality assurance methods in his/her field. - He/she can communicate in Hungarian and in English about professional issues, he/she uses the terms of information technology in a creative way. - He/she constantly improves his/her knowledge and keeps up with the development of the computer engineering profession.

Attitude

- He/she genuinely represents the professional principles of engineering and information technology fields. - He/she aims to see through the entire engineering system not only his/her own field. - He/she is open to acquire new methods, programming languages and develop skills to use them. - He/she is open to get to know other fields which employ information technology tools, and open to work out information technology soultions in cooperation with the experts of other areas. - He/she understands and embraces the ethical principles and legal implications of his/her profession. - He/she makes an effort to work efficiently and to high standards. - He/she keeps in mind and ensures the security of his/her employees' and customers' data and information.

Autonomy and responsibilities

- He/she feels responsible for IT systems analysis, development and operation, both individually and as part of a team. - He/she has a security-conscious attitude in posession of his/her professional knowledge, and is aware of potential threats and opportunities for attack, as well as is prepared to prevent them.

Additional professional competences

- Efficient use of digital technology, knowledge of digital solutions to fulfill educational objectives

Requirements, evaluation and grading
Mid-term study requirements

Visiting lectures, reviewing and supplementing what you have heard based on the recommended literature. Participation in lab sessions. Solving the tasks given by the tutor in the lab sessions, on paper or on computer. Solving of homework assignments given by the tutor. How to get points: - Solving two sets of practical tasks in the laboratory exercises of weeks 6 and 11 (30 points each). If the student does not achieve a total of 30 points from the two sets of tasks, he/she may make up for this by solving a combined practical task set once during the lab session on the last week of the semester. - One theoretical test in the last lecture of the semester (in data modelling, normalization, SQL commands and relational algebra). The test is worth 40 points, the unsuccesful test can be made up once. Condition of signature: - getting a total of at least 35 points in the practical tests - getting at least 15 points on the theoretical test Condition of offered mark: - getting a total of at least 51 points in the practical tests - getting at least 25 points on the theoretical test

Exam requirements

Students who have obtained a signature but have not obtained or accepted an offered mark may take a 100-point written theory exam. The exam ticket is determined by the score obtained here in accordance with the applicable TVSz.

Generative AI usage

Use of GAI tools is not permitted for solving assignments. This means GAI tools cannot be used to complete formative or summative assessments, and using GAI constitutes academic misconduct. The use of AI tools for spelling and grammar checking does not fall under this prohibition.

Study aids, laboratory background

Practical aids are uploaded to Teams. The mandatory literature, the outline of the lectures, the programs written at lab sessions, the developmental environment's help file. At the lab sessions, all students can use separate, modern computer with internet access and the necessary software.

Readings
Compulsory readings

[1] C. Thompson: Database Systems: Design and Management. Murphy & Moore Publishing, 2022. ISBN: 1639871519 [2] R. de Graaf: SQL Cookbook. O'Reilly Media, Inc, USA, 2020. ISBN 1492077445

Recommended readings

[1] J. D. Ullman, J. Widom: A First Course in Database Systems. Pearson, 2014. ISBN-13: 978-0136006374. [2] H. Garcia-Molina, J. Ullman, J. Widom: Database Systems: The Complete Book. Pearson, 2011. ISBN: 978-0133002010. [3] M. Gruber: Understanding SQL. SYBEX, US, 1990. ISBN 978-0895886446