Introductory Databases and Database Programming
Overall Course Objectives
The aims and objectives of the course is to make the student able to design and implement persistence using a relational database. Furthermore, the student shall be able to use and access a relational database via a Java program and JDBC.
Learning Objectives
- develop a conceptual data model for a given problem description
- create a logical data model for a relational database from a conceptual data model
- transform a relational model to 3rd normal form
- carry out a physical database design
- use a relational database language for implementing a physical database design
- explain and apply techniques for optimizing the physical access of data in databases
- use a relational database language for manipulating and querying relational databases
- access databases from a programming language
Course Content
• Conceptual database design:
– ER-modelling with ER-diagrams showing entities and their relationships, keys, domains and other constraints.
• Logical database design, including:
– mapping from ER-model to relational model
– normalisation of relational models to 3NF
• Physical database design, including:
– conversion of a logical model’s relations to tables
– definition of constraints
• Implementation of a physical database design in SQL
• Indexing techniques for optimizing the physical access of data in databases
• Structured Query Language, SQL:
– SQL Commands for defining, manipulating and querying databases
– Advanced SQL language constructs such as triggers, stored procedures and views
• Accessing a SQL database from a Java program using JDBC.
Recommended prerequisites
01904/02314/02326, or equivalent knowledge about
(1) discrete mathematics: set theory and logical operators,
(2) Java programming, and
(3) algorithms and data structures.
Teaching Method
Lectures and exercises and a project.
Faculty
Remarks
In case of overbooking, diplom students shall be preferred.