Data Base Systems (B-KUL-H01O9A)
Aims
After study of this course the student should be able:
- to describe the basic principles of databases;
- to construct a conceptual data model;
- to describe the relational implementation model and convert a conceptual scheme to an implementation scheme;
- to build a (relational) data base;
- to work practically with the relational question languages, particularly with SQL;
- to make the connection between a database and a program, in particular in the context of a web application;
- to describe the physical organization of (dynamic) files and their use;
- to explain principles of query processing, data security, distribution of databases;
- to illustrate a few new techniques and applications (such as data warehouses, datamining)
Previous knowledge
- a basic course in programming,
- an introduction to computer organization and structure
Order of Enrolment
Mixed prerequisite:
You may only take this course if you comply with the prerequisites. Prerequisites can be strict or flexible, or can imply simultaneity. A degree level can be also be a prerequisite.
Explanation:
STRICT: You may only take this course if you have passed or applied tolerance for the courses for which this condition is set.
FLEXIBLE: You may only take this course if you have previously taken the courses for which this condition is set.
SIMULTANEOUS: You may only take this course if you also take the courses for which this condition is set (or have taken them previously).
DEGREE: You may only take this course if you have obtained this degree level.
(SIMULTANEOUS (G0N28A) OR SIMULTANEOUS (X0A06A) OR SIMULTANEOUS (H01B6B) OR SIMULTANEOUS (X0A06B))
The codes of the course units mentioned above correspond to the following course descriptions:
G0N28A : Principles of Computer Programming
X0A06A : Principles of Computer Programming
H01B6B : Fundamentals of Computer Science
X0A06B : Principles of Computer Programming
This course unit is a prerequisite for taking the following course units:
H01Q3A : Problem solving and engineering design, computer science and engineering (No longer offered this academic year)
H01Q3C : Problem Solving and Engineering Design: Computer Science
Identical courses
This course is identical to the following courses:
X0A58A : Database Systems
Is included in these courses of study
- Bachelor of Informatics (Leuven) 180 ects.
- Master of Astronomy and Astrophysics (Leuven) (Professional option) 120 ects.
- Master of Teaching in Science and Technology (Leuven) 120 ects.
Activities
3 ects. Data Base Systems: Lecture (B-KUL-H01O9a)
Content
1. Introduction:
Why databases?, general concepts about data and information, file base versus database, database models; concepts about data modeling
2. A conceptual data model:
- the entity-relationship model and the enhanced entity-relationship model
- modeling by means of ER and the EER model
3. The relational model:
- basic concepts: entities, attributes, tupels, relational database, zero values, keys, reference keys; integrity; description of a relational database;
- representation of an E(E)R-scheme on a relational scheme
- relational languages: classification of the relational languages, relational algebra, tupel calculus, domain calculus, SQL.
4. Use of relational database:
- definition of a relational database;
- definition and performance of queries on a relational database;
- access to a relational data bank starting from a program.
5. Dependencies and normalisation:
- dependencies: functional dependencies, multivalue dependencies, join dependencies, general dependencies
- vertical decomposition: lossless decomposition, decompositions that maintain dependencies; normalisation: the standard forms: 1NV, 2NV, 3NV, BCNV, 4NV, 5NV and associated decompositions.
- horizontal decomposition.
6. File structure:
- classical file organisation and file organisation forms: serial, sequential, index sequential, direct;
- mapping of relations to files;
- indexation and hashing: index-sequential files; B- and B+-boom indexes; static and dynamic hash functions;comparison of indexation and hashing.
7. Query processing: concepts about query interpretation, assessment of the query cost, optimalisation of queries.
8. Protection of data:
- concepts about transaction processing;
- concepts about concurrency control;
- recovery procedures;
- protection against abuse.
9. Distributed databanks: structure; design.
10. Introduction to recent developments:
a.o.
- data warehouses
- datamining
3 ects. Data base systems: exercises (B-KUL-H01P0a)
Content
Exercises will be made on paper and/or on computer on the following subjects:
- E(E)R modelling
- from E(E)R to relational
- Relational algebra and relational calculus
- Designing and implementing a relational database (on the computer)
- Working with SQL: definiton of tables, limitations,... (on the computer)
- Working with SQL: queries and views (on the computer)
- Connecting a (web application) program with a database by means of PHP and building a user interface (on the computer)
- Applications of hashing and of trees
- Indexes
- Normalization
- Building up a user interface for a database with PHP (on computer)
- Query optimization
- Transactions
- Distributed databases
Evaluation
Evaluation: Data Base Systems (B-KUL-H21O9a)
Explanation
The evaluation consists of a written exam during the exam period along with continuous assessment during the semester.
- The written exam is closed book. A formulary with SQL syntax is made available. The exam is a combination of open questions, closed questions and multiple choice questions.
- Continuous assessment includes a work that students have to work in groups. The continuous assessment will count for one third of the final result
Information about retaking exams
The grade for continuous assessment is transferred to the third examination period. This grade cannot be transferred to the following academic year.