Database Development

Database Development

Course title
Database Development
Course tag
10017
Semester
3
Course status
Mandatory
ECTS
4
Lectures
30
Practice
15
Independent work
75
Total
120
Teachers and associates
dr. sc. Goran Đambić, dipl. ing.
mr. sc. Mario Fabijanić, dipl. ing.
The course aims
Broaden knowledge of databases and SQL language, learn to prepare database for access from programming code and learn to do basic administrative activities with database.
Content
SQL programming. Views, procedures, functions and triggers. Indices and optimization. XML and user defined table data types. Transactions and isolation levels. Backups and restores. Security.
Literature:
1. Goran Đambić: Oblikovanje baza podatakaj, Algebra, 2009.
2. Toby J. Teorey, Sam S. Lightstone, and Tom Nadeau: Database modeling and design: Logical design 4th Edition, Morgan Kaufmann, 2005.
Supplementary literature
1. Alan Beaulieu: Learning SQL, OReilly Media, 2005.
2. Robin Dewson, Beginning SQL Server 2008 for Developers: From Novice to Professional, Apress, July 2008.
3. Itzik Ben-gan, Microsoft SQL Server 2008 T-SQL Fundamentals (PRO-Developer), Microsoft Press, October 2008.

Minimum learning outcomes

  1. Create SQL query for data retrieval and modification in relational database.
  2. Manage user defined views in relational database.
  3. Analyze mapping of logical model of relational database to physical model.
  4. Manage user defined stored procedures and functions in relational database.
  5. Manage simple user defined triggers in relational database.
  6. Use complex data types in relational database.
  7. Organize SQL queries in transactions in relational database.
  8. Apply methods for preventing data loss in relational database.

Preferred learning outcomes

  1. Suggest a relational model with constraints and implement it by using SQL queries.
  2. Determine the need for additional options in managing user defined views and use them in relational database.
  3. Recommend usage of indexes in order to optimize performance of relational database and implement them.
  4. Recommend an implementation of CRUD operations by using user defined stored procedures and/or functions in relational database and implement them.
  5. Justify the need for used defined triggers in relational database.
  6. Design a solution by using complex data types in relational database.
  7. Justify the choice of isolation level in relational database.
  8. Apply methods for authentication and authorization in relational database.