Course title, code: Databases, GAINBAN-ADATBAZI-1

Name and type of the study programme: Computer science engineering, BSc
Curriculum: 2021
Number of classes per week (lectures+seminars+labs): 2+0+2
Credits: 4
Theory: 50 %
Practice: 50 %
Recommended semester: 3
Study mode: full-time
Prerequisites: -
Evaluation type: exam
Course category: compulsory
Language: english
Responsible instructor: Dr. Pap-Szigeti Róbert
Responsible department: Department of Information Technologies
Instructor(s): Dr. Pap-Szigeti Róbert , Agg Péter András
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.


Course content - 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, 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. - Processing two Moodle course and passing the tests included in them for a maximum of 15 points by the end of the 11th week of the semester. The solution cannot be substituted. Condition of signature: a) getting a total of at least 30 points in the practical tests and passing the tests in the two Moodle modules (with a minimum of 80%) or b) a total of at least 30 points in the practical tests and at least 20 points in the theoretical test
Exam requirements:

Those who have got signature by the option a) may take a preliminary examination in the last week of the semester (with the same content as the theoretical test, for 40 points). The points obtained by the theoretical test together with the points obtained during the semester will determine the final result. Those who have got signature by the option b) may take a 100-point written test (comprising theoretical and practical questions). The final result is determined by the average of the points obtained during the semester and the points obtained in the exam.

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.

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