Databases

Year
3
Academic year
2016-2017
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

Programming.

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. The Theoretical-Practical (TP) classes will have 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.

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
11.    Global overview of alternative technologies: NoSQL databases, CEP, etc

Head Lecturer(s)

Marco Paulo Amorim Vieira

Assessment Methods

Assessment
Exam: 35.0%
Project: 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