Logo UAB
2022/2023

Databases

Code: 102744 ECTS Credits: 6
Degree Type Year Semester
2502441 Computer Engineering OB 2 1

Contact

Name:
Carles Sanchez Ramos
Email:
carlos.sanchez.ramos@uab.cat

Use of Languages

Principal working language:
catalan (cat)
Some groups entirely in English:
No
Some groups entirely in Catalan:
No
Some groups entirely in Spanish:
No

Other comments on languages

Although lessons will be imparted in Catalan, students will be able to make questions in Spanish or English

Teachers

Carles Sanchez Ramos

Prerequisites

We recommend that students have the following knowledge and skills:
• Programming in third-generation languages (C, Pascal, Basic, etc.)
• Basic data structures.
These concepts correspond to the contents of the subjects:
• Fundamentals of Informatics
• Programming Methodology

Objectives and Contextualisation

This course introduces basic database (BD) concepts that are necessary for users as well as for designers.


KNOWLEDGE: At the end of the course, students must be able to:

  • Know and understand the important technological leap that databse systems represent in terms of computer information processing, as well as designing and maintaining information processing applications.
  • Know the architecture of database systems, the functions of each module and the personnel making use of them (users, programmers and DB administrators). This architecture will be studied from either a local or remote point of view.
  • Know the Entity/Relationship model (E-R), widely used in database design.
  • Study the properties of the relational model of databases, used in most DB engines.
  • Know the SQL standard language of relational DBs.
  • Understand the BD design methodology, including the standardization techniques of relational DBs.
  • Know the main data structures that are used in relational DB, such as indexing and hashing functions.


SKILLS: We intend for students to acquire the following skills:

  • Use the rules of integrity of the DB relational model, as well as be able to formulate any query to a DB through relational algebra.
  • Perform simple and medium-complexity level queries to a DB through SQL.
  • Design a DB using the E-R Model based on real-world specifications.
  • Convert the E-R Model into a real DB using a set of relationships and attributes and applying standardisation techniques.
  • Working with an example of DB engine (i.e. ORACLE) widely used in the professional field, both as user and administrator.

Competences

  • Acquire personal work habits.
  • Capacity to design, develop, evaluate and ensure the accessibility, ergonomics, usability and security of computer systems, services and applications, as well as of the information that they manage.
  • Know and apply the characteristics, functionalities and structure of Databases for their suitable use and the design, analysis and implementation of applications based on these.
  • Know and apply the functional and structural characteristics of distributed systems and computer and Internet networks, and design and implement applications based on these.
  • Know and apply the necessary tools for the storage of, processing of and access to information, including web based tools.

Learning Outcomes

  1. Critically evaluate the work done.
  2. Know and apply the client server model and service oriented architectures.
  3. Know and understand the important role of Database systems in terms of the treatment of the information in a computer, as well as the design and maintenance of applications for treating this information.
  4. Know and understand the important role representing systems databases regarding the processing of information in a computer , as well as the design and application maintenance treatment information.
  5. Know the architecture of Database systems, the functions of each module and the staff that work on these systems (DB users, programmers and administrators) from a local and remote point of view.
  6. Know the entity–relationship model and the properties of the DB relational model.
  7. Know the main data structures used in relational DB.
  8. Make one's own decisions.
  9. Manage time and resources available. Work in an organized manner .
  10. Understand and use the SQL language.
  11. Understand data standards and their persistence.
  12. Understand the entity–relationship model and the properties of the DB relational model.

Content

BLOCK 1. DATA BASES PARADIGMS


1. Introduction. Basics

  • Introduction and definitions
  • Components of a database system
  • Historical evolution
  • Advantages and disadvantages of a database system


2. Architecture

  • The ANSI-SPARC Architecture
  • DBA and DBMS
  • Back-end/Front-end Architecture


BLOCK 2. RELATIONAL DATABASES


3. Relational data Model

  • Introduction
  • Data structure
  • Rules of Integrity
  • Data manipulation


BLOCK 3. MODEL ENTITY-RELATIONSHIP


4. The Entity-relationship model

  • The design of a database
  • The Entity/Relationship (E-R) model
  • E-R Extended Model
  • Design criteria of an E-R schema
  • Designing an E-R schema


BLOCK 4. RELATIONAL DATABASE DESIGN


5. Design of a database

  • Design Phases of a DB
  • Recruitment and analysis of requirements
  • The conceptual design of a BD
  • Logical design
  • Physical design


6. Normalization

  • Normalization theory
  • Functional dependencies
  • Normal forms of Codd (1NF, 2NF, 3NF)
  • Normal form of Boyce-Codd (BCNF)
  • Standardisation process


BLOCK 5. FILE ACCESS


7. Internal level

  • Access to the physical database. Files
  • Storage structures
  • Indexing
  • Hashing (dispersion)
  • Compression techniques

Methodology

The aim of this course is for students to be able to design and manipulate relational databases in the context of modern computer applications. For this reason, classroom sessions will be highly practical and will focus on the students, trying to consolidate the knowledge that is the main objective of this course.

The teaching methodology will be divided into three main activities:


PREVIOUS PREPARATION (HOMEWORK). The aim is for students to learn the concepts that they will need in the next session through diverse activities proposed by the teachers (e.g. watching videos, reading texts, etc.) All the necessary material (problem definitions, BD scripts, problem solutions) will be available in the Caronte documentary manager (http://caronte.uab.cat).
CLASSROOM ACTIVITIES. The objective is to consolidate the concepts previously acquired and put them into practice within the context of the course. The teacher will ensure that students delve into these concepts through (more or less) guided exercises during the session. For this reason classroom activities will take place in 2-hour sessions, twice a week, in classrooms with computers and connection to the DB server. The distribution of students will be based on groups. Although there will not be roll-calls, attendance to the classroom is COMPULSORY.

In case of public health measures (e.g. COVID pandemics), lessons will be conducted on-line through teams https://teams.microsoft.com/ and any change will be notified via Caronte throughout the course.


AUTONOMOUS LEARNING. We propose two main activities to be performed outside the classroom: a "case of use" that involves design of a real database including requirements analysis and design, and the solving of problems based on typical SQL queries.

  • In the first activity, students will be presented with a real case of DB design and expected to follow all design phases. At the end of the course students will be asked to submit a technical report for evaluation.  Throughout the course we will keep track of the various stages of the technical report through problem-solving sessions and tutoring sessions. In addition, a resource will be enabled in Caronte for the students to deliver their work and obtain feedback from the teacher. This activity will be carried out in groups of 5 students (case-of-use groups) who must register via Caronte. In order to monitor the problem sessions properly, case-of-use groups should be the same as classroom groups.
  • The second activity will consist of solving a list of SQL queries using a  self-learning module (módulo de autoevaluación) available in Caronte. Individual students will upload their solutions to the queries to Caronte (following a specific format) and obtain their corresponding results automatically.

The practicals and problems statements are available through Caronte (http://caronte.uab.cat). All deliveries of autonomous (self-learning) work will be done via Caronte.


Transversal competences:
Competencies T 02.03-manage the time and resources available. Work in an organised way, T 02.05-make own decisions and T 02.08-critically evaluate the work carried out to are, both, acquired through the DB design activity in which the student works within a group of 5 people to produce a technical report on the development of a database from scratch.

Annotation: Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Activities

Title Hours ECTS Learning Outcomes
Type: Directed      
Classroom explanations 50 2 11, 12, 6, 2, 3, 4, 10, 5, 7
Type: Supervised      
Use Case Technical Report 34 1.36 1, 12, 6, 10, 9, 8
Type: Autonomous      
Previous Work 35 1.4 12, 6, 10, 7
SQL On-line Queries 17 0.68 10, 7, 9

Assessment

EVALUATION CRITERIA

The evaluation of the course consists of 4 parts: theory evaluation, problems evaluation, the writing of a technical report, practical work evaluation and autonomous resolution of SQL queries.

  • INDIVIDUAL PARTIAL EXAMS OF THEORY AND PROBLEMS (Nota_Teoria_Probl). There will be two individual written exams (the Nota_Teoria_Probl grade will be the average of these two grades, with a total weight of 40% in the final grade). The first exam will take place in the middle of the semester and the second exam will take place at the end of the semester during the exam period.
  • EVALUATION OF INDIVIDUAL PRACTICAL EXERCISES (Nota_Pract). The evaluation of the practical exercises (with a weight of 30%) will be done by means of a series of SQL queries in the last practical session, where the student will be able to obtain his/her grade at the end of the exam. The format of these will be the same as in the self-learning module.
  • INDIVIDUAL WRITTEN TESTS (Nota_PEI): The two previous grades will be averaged to calculate the grade of the individual written tests as follows:

                 Nota_PEI = (0,4*Nota_Teoria_Probl + 0,3*Nota_Pract) / 0,7

  • AUTONOMOUS WORK (Nota_InfTec and Nota_AutoAval). It will be divided into two blocks: Technical report of a case-of-use (with a weight of 20%) and resolution of autonomous queries in the SQL Query Module (with a weight of 10%). To score in the first, a technical report must be submitted consisting of 4 parts corresponding to the 4 design phases of a DB: requirements, ER diagram, logical table model and implementation / test set. The document must be delivered in a previously defined format and must be suitable for a correct reading and interpretation of the diagrams. If a diagram cannot be read clearly for reasons of resolution or quality, this part of the report will be failed, as well as those that depend on it because it cannot be evaluated. The technical report will be delivered in two parts, a first delivery in the middle of the semester and a second delivery at the end of the semester. The final grade of the technical report (with a weight of 20%) will be calculated from the two grades (grade 1 and grade 2) as follows:
               Nota_InfTec = max [(grade1 + grade2) / 2; 0.7 * note2].
    The Nota_AutoAval (with a weight of 10%) is obtained from the autonomous resolution of SQL queries (care practices) that will take place outside the class schedule. They consist of several SQL query modules available in Charon that are open for certain periods of time specified in the module itself. The grade will be proportional to the number of questions answered throughout the course and their difficulty.
  • FINAL GRADE: The final grade of the course (Notal_Final) will be the weighted average of the grades in each part (see table of assessment activities) and will be calculated as follows:

                   Nota_Final =0,4 * Nota_Teoria_Probl + 0,3 * Nota_Pract + 0,2 * Nota_InfTec + 0,1 * Nota_AutoAval

It will be a necessary condition to carry out this calculation that each of the components has a score higher than zero, and that the average mark obtained in the individual written tests (PEI mark) is equal to or higher than 4. The student who does not meet these conditions shall apply the reassessment criteria detailed below.

  • CONTINUOUS EVALUATION: The process of continuous evaluation includes these activities: Technical Report of a Use Case (supervised group activity), SQL Queries Module (supervised individual activity) and Theory and Problem Exam (recoverable synthesis test)

You must have a Nota_Final equal to or greater than 5 to pass the course. A student is considered “non-assessable” only if he or she has not completed any assessment activity.

RE-EVALUATION CRITERIA

Students who have failed the subject applying the above criteria and who are in one of the following two situations will be eligible for the re-evaluation process:

(A) Meet the conditions to be able to calculate the Nota_Final, but the total grade obtained is equal to or greater than 3.5 and less than 5; (Nota_PEI ≥ 4 but with 3.5 ≤ Nota_Final <5)

(B) They have obtained a grade lower than 5 in the set of individual written tests, but if the weights described above were applied, the final grade of the subject would be equal to or higher than 5; (Nota_PEI <4 but with Nota_Final ≥ 5)

In this re-evaluation test, which will be written and will be carried out within the last week of the semester, the student will be re-evaluated in all the contents of the subject. To pass the re-evaluation, a grade equal to or higher than 5 must be obtained. In case of approval, the final mark of the subject will be “approved” (a 5).

In the case of not fulfilling the conditions to pass the subject, the final grade will be the minimum between the individual written tests (Nota_PEI) and a 4.5.

OTHER IMPORTANT INFORMATION

  • REGISTRATION IN CARONTE: It is mandatory to register in Caronte (http://caronte.uab.cat) at the beginning of the course, as the class materials, tasks and grades will be published there. To register in Caronte, you must enter your personal details and a passport-type photo in JPG format. This information will be strictly private and will be destroyed once the course is over.
  • VALIDATIONS: There is no special treatment for students who repeat the course.
  • RE-EVALUATION OF PRACTICAL WORK: Practical work will not be re-evaluated aside from the rest of the content. However, the re-evaluation exam will contain written SQL exercises similar to those in the SQL Query Module.
  • • HONORS: Students who have a final grade of 9 or higher may have an honours degree (“Matrícula de Honor” or MH) up to the limit of 5% of registered students, in accordance with UAB regulations. If there are more than 5% of students with grades above 9, those with the highest grades will have an MH.
  • COPY / PLAGIARISM: Without prejudice to other appropriate disciplinary measures, irregularities committed by students that may lead to an unlawful change of the grade will result in a zero (0) mark. Therefore, copying, plagiarizing, deceiving, allowing others to copy, and so on in any of the evaluation activities will result in a failure with a mark of zero (0). Assessment activities qualified in this way and described in this procedure will not be recoverable. If it is necessary to pass any of these assessment activities to pass the course, the course will be failed directly, without the possibility of re-evaluation it in the same course. In the case of the technical report, all the groups involved will be graded with a zero (0), regardless of the authorship of the work.

These regulations include, among others:

    • the total or partial copy of a practice, report, or any other assessment activity.
    • allow others to copy.
    • present group work not done entirely by group members.
    • present as their own materials prepared by a third party, even if they are translations or adaptations, e.g., work containing non-original elements.
    • possess communication devices (such as mobile phones, smart watches, etc.) accessible during individual theoretical or practical assessment (exams).

CALENDAR OF EVALUATION ACTIVITIES

The dates of the different evaluation activities (in-person exercises, assignments, etc.) will be announced well in advance during the semester.

The dates of the midterm exams, final exams and re-evaluations will be shown in the official faculty exam schedule.

"The schedule of assessment tests may not be modified unless there is an exceptional reason, and it is duly justified for the purpose of an assessment. In this case, those responsible for the grades, after consulting the teachers and students affected, will propose a new program within the corresponding academic period." Section 1 of article 115. Calendar of evaluation activities (UAB Academic Regulations)

QUALIFICATION REVIEW PROCEDURE

The dates of continuous evaluation and delivery of works will be published in Caronte and may be subject to scheduling changes to adaptation to possible incidents. Caronte will always inform about these changes as it is understood that this is the usual platform for information exchange between teachers and students.

For each assessment activity, a place, date, and time of grade revision will be indicated where the student will be able to challenge the marks obtained in the activity with the teacher. In this context, students may argue to change the marks, and such claims will be evaluated by the responsible teacher. If the student does not come to this review, the activity will not be reviewed later.

RE-EVALUATION PROCESS

"To participate in the re-evaluation process, students must have been previously assessed in a set of activities that represent a minimum of two-thirds of the total grade of the subject or module." Article 3 of Article 112b. Recovery (UAB academic regulations). To be able to re-evaluate, the student must have obtained an average grade of the course between 3.5 and 4.9.

The date of this re-evaluation exam will be scheduled in the faculty exam calendar. The student who is present and passes it, will obtain a grade of 5.

IRREGULARITIES IN EVALUATION ACTS

Notwithstanding other disciplinary measures deemed appropriate, and in accordance with current academic regulations, "in the event that the student commits any irregularity that may lead to a significant variation in the grade of an assessment act, this act will be graded with zero, regardless of any other disciplinary process that may be instructed. If there are several irregularities in the assessment of the same subject, the final grade of the subject will be zero." Article 10 of Article 116. Results of the evaluation. (UAB Academic Regulations).

Assessment Activities

Title Weighting Hours ECTS Learning Outcomes
Individual exams of Theory and Problems (re-evaluation) 40% 4 0.16 11, 12, 6, 2, 3, 4, 10, 5, 7
Individual partial exams of theory and exercicies 40% 4 0.16 11, 12, 6, 2, 3, 4, 10, 5, 7
Individual pratical exercices 30% 2 0.08 6, 10, 7
SQL on-line Query Module 10% 1.3 0.05 10, 7, 9
Technical Report of a Use Case 20% 2.7 0.11 1, 12, 6, 10, 9, 8

Bibliography

COURSE MATERIAL: Caronte http://caronte.uab.cat

BASIC REFERENCES:

  • A. Silberschatz, H.F. Korth, S. Sudarshan, Fundamentos de Bases de Datos, 5a edición, McGraw-Hill, 2006. Permanent link

  • A. Silberschatz, H.F. Korth & S. Sudarshan, Database system concepts (7th ed., International ed. ed.). New York, N.Y.: McGraw-Hill, 2018. Permanent link
  • C.J. Date, Introducción a los sistemas de Bases de Datos, Vol.1, 7a edición, Prentice Hall, 2001. Permanent link
  • C.J. Date, An introduction to database systems (8th ed.). Boston, Mass.; London: Pearson/Addison-Wesley, 2004. Permanent link

EXTRA REFERENCES:

  • T.M. Connolly, C.E. Begg, Sistemas de Bases de Datos, 4a edición, Pearson-Addison-Wesley, 2005.  Permanent link
  • P.Rob, C. Coronel, Sistemas de Bases de datos. Diseño, implementación y administración, Thomson-Paraninfo, 2004. Permanent link
  • M. Celma, J.C. Casamayor, L. Mota, Bases de Datos Relacionales, Pearson-Prentice Hall, 2003. Permanent link
  • D.M. Kroenke, Procesamiento de Bases de Datos, 8ª edición, Pearson-Prentice Hall, 2003. Permanent link
  • M. Marqués, J.I. Aliaga, S. García, G. Quintana, SQL y desarrollo de aplicaciones en ORACLE 8, Col.lecció; "Treball d'Informàtica i Tecnologia, 9, Universitat Jaume I, 2001.
  • Elmasri/Navathe, Sistemas de Bases de Datos, Addison-Wesley, 3a edición, 2000.
  • A. Silberschatz, H.F. Korth, S. Sudarshan, Fundamentos de Bases de Datos, 3a edición, McGraw-Hill, 1998.
  • A. de Miguel, M. Piattini, Diseño y uso de Bases de Datos Relacionales, Ra-Ma, 1997.
  • G.W. Hansen, J.V. Hansen, Diseño y administración de Bases de Datos, 2a edición, Prentice Hall, 1997. Permanent link
  • C.J. Date, H. Darwen, A Guide to the SQL standart, 3rd edition, Addison-Wesley, 1994.

WEB SITES:

MULTIUSER DATA BASES:

Software

SQL- developer, Data Modeller, Oracle (for local BD)