Course title, code: Database Systems, GAINBAN-ADATBARE-2

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: 5
Theory: 50 %
Practice: 50 %
Recommended semester: 4
Study mode: full-time
Prerequisites: Databases + Programming 1
Evaluation type: term mark
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 a deeper understanding of principles of the database systems; implementing these principles in the process of solving database problems; understanding the analysis and optimization of the background processes of database systems.
Course content - lectures:

(1) A review of the SQL language. (2-3) SQL as a plug-in language (cursors, cycles). (4-5) Stored procedures, functions, triggers. (6-7) Data storage, representation of data elements and indexes. (8-9) Execution mechanism of queries, cost estimation. (10-11) Transactions, locks. Transaction management - schedules, histories. (12-13) Data warehouses, OLAP applications. Data mining.


Course content - labs:

(1) A review of the SQL language. (2) Basic knowledge of Informix DBMS. Calculated and conditional fields in Informix. (3) Connecting to the Oracle Server with the Oracle SQL Developer environment. (4-5) Implementation of cursors and cycles in PL/SQL. (6-7) Implementing stored procedures and functions. (8) Making packages, (9) error handling. (10-11) Implementing triggers. (12) Query plans, cost estimate. (13) Transaction management in practice.

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.

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 the lectures, reviewing the heard content, and supplementing it based on the recommended literature. Participating in lab sessions. Carrying out paper-based or computer-based tasks given by the leader of lab. Carrying out tasks assigned by the leader of lab for homework. Writing a lecture test in the penultimate week of the semester (contains data storage, representation of data elements and indexes, execution mechanism of queries, cost estimation, transaction management). 30 points can be obtained by Carrying out the test without errors. In case of an unsuccessful test (below 15 points), the student can repeat the test once, in the last week of the semester. Planning and implementing a practical homework, for 20 points. Carrying out two sets of practical tasks at the lab sessions in the 6th and the penultimate week of the semester. 25 points can be obtained by Carrying out the practical tasks without errors at each set. Unsuccessful practical tasks (below 25 points summarized) can be repeated, at the lab session of the last week of semester. The lecture test is successful if the student achieves at least 15 points. The practical homework is successful if the student achieves at least 10 points. The practical tasks are successful if the student achieves a total of at least 25 points on the two sets of practical tasks. In case of a successful test, practical homework and practical tasks the student can be marked.
Exam requirements:

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. The necessary software for the lab sessions is available on the university's computer network. The software for home practice is available free of charge.

Compulsory readings:

[1] C. Thompson: Database Systems: Design and Management. Murphy & Moore Publishing, 2022. ISBN: 1639871519 [2] B. Rosenzweig: Oracle Pl/SQL by Example. Osborne, 2023. ISBN 9780138062835

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 [4] R. de Graaf: SQL Cookbook. O'Reilly Media, Inc, USA, 2020. ISBN 1492077445