Introduction to Databases (581328-9)

Contents of the Course


Introduction to the Databases

This module explains what is the difference between files and databases. It lists advantages of using databases and discusses about the components of a database system.

Lecture handouts (pdf)

Reading material: Elmasri & Navathe: Chapter 1, pages 3-21

 

Data Models and The Relational Model of Data

This module discussed about how to define data. Various concept frameworks have been developed for this purpose. Most important is the relational model of data.

Lecture handouts (pdf)

Review questions (questions will open a new window, close the window when you are ready with the question)

 

Reading material: Elmasri & Navathe: Chapters 7.1 and 7.2 (pages 196-208)
 

Relational Algebra

This module introduces how to work with relations.

Lecture handouts (pdf)
Revision handouts (pdf)

E-Lerning material:

Review questions (there will be more)

Reading material: Elmasri & Navathe: Chapters 7.4.1- 7.4.6, 7.5.3 (pages 211-224, 228-234)

 

 

Principles of database design

This module presents the principles of  how to design databases. 

Lecture handouts

Review questions

Reading material: Elmasri&Navathe: Chapters 14.1, 14.2.1,14.2.2, 14.3.1, 14.5 (pages 465-473, 476-479, 483-485,493-495).

 

SQL data definition language

This module introduces the SQL database language. It outlines in detail how a database is defined in SQL. 

 

Lecture handouts

E-learning material

Review questions(questions will open a new window, close the window when you are ready with the question)

Reading material: Elmasri & Navathe: Chapters 7.4.1- 7.4.6, 7.5.3 (pages 211-224, 228-234)

 

SQL query language - querying details

This module introduces the SQL query language. It explains how to make queries to retrieve detailed data stored in the database. You may use SQL-Trainer to practice queries and to execute the examples of the course material. You get credits by doing the exercises before the deadline.

 


E-learning material
SQL-Trainer tasks will be published here.
Reading material: Elmasri & Navathe: Chapter 8.2 and 8.3.1-8.3.4  (pages 251-268)

 

SQL query language - summary queries

This module explain how to make  summary queries in SQL.  You may use SQL-Trainer to practice queries and to execute the examples of  the material. You get credits by doing the exercises before the deadline. 

  SQL-Trainer tasks will be published here.
Lecture handouts

E-learning material

Note: Some examples of the e-learning material use right and left outer joins as defined in the SQL standard. This syntax does not however work in Oracle. Thus, you cannot execute these queries in SQL-Trainer. Oracle has a syntax of its own for outer joins. In this syntax the symbol (+) after the column name in the where condition indicates that this column may have a null value. Thus the example:

select Name, CustomerId, count(orderID)
from Ordered right outer join Customer on
Ordered.Customer=Customer.CustomerID
group by Name, CustomerID

would be expressed in Oracle as

select Name, CustomerId, count(orderID)
from Ordered, Customer where
Ordered.Customer (+) =Customer.CustomerID
group by Name, CustomerID

If you execute this query in Trainer, you may also see that group by does not always sort the records in the same way as order by would

Reading material: Elmasri & Navathe: Chapter 8.3.5 (pages 269-274)
 

SQL data manipulation language

This module explains how to make modifications on the contents of the database in SQL.  You may  use SQL-Trainer to practice operations. You get credits by doing the exercises before the deadline. 

  SQL-Trainer tasks will be published here.
Lecture handouts
E-learning material
Reading material: Elmasri&Navathe: Chapter 8.4 (pages 273-278)

 

SQL views

This module discussed about SQL-views, a means to define derived tables. There are no exercises in this module.

E-learning material
Reading material: Elmasri&Navathe: Chapter 8.5 (pages  278-282)

 

Programming Database Applications

This module outlines how to use a relational database in applications and how to program database applications.

 

Lecture handouts
E-learning material
Reading material: Elmasri&Navathe: Chapter 27.1 (pages  873-880)

 

Databases and WWW

This module outlines how to use a relational database in web applications and how to program database applications.

 

Lecture handouts
Reading material: Elmasri&Navathe: Chapter 27.1 (pages  873-880)

 


Harri Laine 16.01.2005