Databases

Year
2
Academic year
2022-2023
Code
01000213
Subject Area
Computer Science
Language of Instruction
Portuguese
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
6.0
Type
Compulsory
Level
1st Cycle Studies

Recommended Prerequisites

Computer Programming and Data Structures and Algorithms. 

Teaching Methods

The Theoretical classes (T) will have detailed exposition, using audiovisual media, of the main concepts, principles and theories of Database Systems, complemented with practical examples that create awareness and interest from the students on the topics at hand and are illustrative real world systems, with detailed exposition of the SQL and the presentation of conceptual data modeling techniques. These classes include problem-solving activities. In Practical-Laboratorial (PL) classes, students execute a group project with also the goal of fostering critical reasoning.

Learning Outcomes

This unit consists of a basic course on databases, which are an essential component of computer systems, which represent the majority of computer applications in companies, enterprises and other organizations. Besides exposing the foundations of relational databases, including the relational model, normalization, relational operations, the SQL language, transactions and concurrency control, indexing, etc..., the course also intends to practice these concepts through the analysis, modeling and implementation of relational databases in a client-server setting. The course intends to promote the acquisition of competences in analysis and synthesis, practical application of the theoretical knowledge, autonomous learning, oral and written communication, communicating with experts and non-experts, problem solving, critical thinking and decision making.

Work Placement(s)

No

Syllabus

1. Overall View of the Database Systems: DBS, SQL, DB Applications, etc...

2. Relational Model: Basic aspects

  a. Data integrity

  b.Keys and relational integrity constraints

  c. Complex relational integrity constraints: business rules

  d.Examples and Case Studies

3. Relational Algebra and basic aspects of SQL

4. Database Modeling Conception:

  a. Entity-Relationship Diagrams

  b. Inheritance and other advanced modeling techniques

  c. Translation of ER Driagrams to Relational models

  d. Functional dependencies and normalization

  e. Examples and Case Studies

5. Transactions and concurrency control

6. Indexes and Table indexes

7.Views: definition and different usages

8.Execution and optimization of queries: basic aspects

9.Architecture and implementation details of a Database Server

10.Basic aspects of PL/SQL.

Head Lecturer(s)

João Rodrigues de Campos

Assessment Methods

Assessment
Project: 35.0%
Exam: 65.0%

Bibliography

Database Systems: The Complete Book. Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer D. Widom, "Database Systems: The Complete Book " Ref: Prentice Hall; 1st edition (October 2, 2001)

Database Management Systems. Raghu Ramakrishnan and Johannes Gehrke, "Database Management Systems" Ref: McGraw-Hill Science/Engineering/Math; 3 edition, August 14, 2002.