Educational guide
IDENTIFYING DATA 2023_24
Subject DATABASES Code 00717015
Study programme
0717 - GRADO INGENIERÍA DATOS INTELIGENCIA ARTIFICIAL
Descriptors Credit. Type Year Period
6 Compulsory Second First
Language
Castellano
Prerequisites
Department ING.ELECTR.DE SIST. Y AUTOMATI
Coordinador
GONZÁLEZ CASTRO , VICTOR
E-mail vgonc@unileon.es
ealeg@unileon.es
efidf@unileon.es
Lecturers
ALEGRE GUTIÉRREZ , ENRIQUE
GONZÁLEZ CASTRO , VICTOR
FIDALGO FERNANDEZ , EDUARDO
Web http://agora.unileon.es
General description The general objective of this course is to provide the student with basic knowledge about databases and database management systems. The goal is that the student learns about relational databases and can design one, as well as to implement it, using the SQL language. As particular objectives, we propose that the students: (a) Obtain basic concepts about databases and database management systems. (b) Learn how to design relational databases using the Extended Entity-Relationship model. (c) Understand and learn how to normalize and denormalize databases. (d) Learn and use structured query language (SQL) to create and modify databases, and execute queries against them. (e) Understand indexes and to be able to create them. (f) Understand the importance of the concepts of concurrency and database transactions. (g) Know the main types of NoSQL databases. (h) Are able to access databases from a software and persist objects in a database. Even though this teaching of this subject will be in English, all materials used and provided in the course will be in English. Personalized attention and assessments will also be provided in English for those who need them.
Tribunales de Revisión
Tribunal titular
Cargo Departamento Profesor
Presidente ING.ELECTR.DE SIST. Y AUTOMATI MORAN ALVAREZ , ANTONIO
Secretario ING.ELECTR.DE SIST. Y AUTOMATI BENITEZ ANDRADES , JOSE ALBERTO
Vocal ING.ELECTR.DE SIST. Y AUTOMATI BLAZQUEZ QUINTANA , LUIS FELIPE
Tribunal suplente
Cargo Departamento Profesor
Presidente ING.ELECTR.DE SIST. Y AUTOMATI GARCIA RODRIGUEZ , ISAIAS
Secretario ING.ELECTR.DE SIST. Y AUTOMATI BENAVIDES CUELLAR , MARIA DEL CARMEN
Vocal ING.ELECTR.DE SIST. Y AUTOMATI ALONSO CASTRO , SERAFIN

Competencias
Code  
A18965
A18984
B5800
B5802
B5808
B5810
C2 CMECES2 That students know how to apply their knowledge to their work or vocation in a professional manner and possess the skills that are usually demonstrated through the development and defense of arguments and the resolution of problems within their area of study.
C3 CMECES3 That students have the ability to gather and interpret relevant data (normally within their area of study) to make judgments that include reflection on relevant issues of a social, scientific or ethical nature.

Learning aims
Competences
To know the fundamental concepts about databases. A18965
A18984
B5800
B5802
B5808
C2
To know how to design and build relational databases using the most commonly used models and diagrams. A18965
A18984
B5800
B5802
B5808
B5810
C2
To know how to create relational databases, execute queries aganist them and maintain them through database languages (SQL). A18965
B5800
B5802
B5808
B5810
C2
To know the characteristics, functionalities and structure of the databases as well as the Database Management Systems that allow their use and enable the design, analysis and creation of applications based on them. A18965
A18984
B5800
B5802
B5810
C3

Contents
Topic Sub-topic
Block I: CONCEPTS Lesson I: BASIC CONCEPTS
Interest of database systems. Data vision. Data models. Database languages. Transaction management. Users. General system structure.

Lesson II: ENTITY-RELATIONSHIP MODEL.
Basic concepts. Design. Bindings. Keys. Entity-relationship diagram. Set of weak entities.

Lesson III: EXTENDED ENTITY-RELATIONSHIP (EER) MODEL.
Extended characteristics. EER to Relational Transformation. Constraints. The student's problem.

Lesson IV: NORMALIZATION.
Flat tables. Normal forms. Advantages and disadvantages. Denormalization.
Block II: STRUCTURED QUERY LANGUAGE (SQL) Lessson V: SQL
Tools. SELECT. WHERE. Columns and functions. Aggregates. Totals and Subtotals. Joins, subqueries, data creation and insertion. Stored procedures. Triggers.
Block III: ACCESS AND CONSULTATION Lesson VI: INDEXES
Introduction. Ordered indexes. Recommendations of use.

Lesson VII: TRANSACTIONS
Basic concepts. States of a transaction. Atomicity and durability. Sequentiality. Recoverability. Isolation

Lesson VIII: CONCURRENCY CONTROL
Introduction. Problems of concurrency. Blocking. Again the three concurrency problems. Deadlock. Seriabilty

Lesson IX: NON-RELATIONAL DATABASE MANAGEMENT SYSTEMS.
Block IV: PRACTICES The practices are carried out in the F3 laboratory using Relational Database Management Systems.

During these sessions the students will perform practices focused on:

- Database design.
- Database implementation.
- Creation of tables, indexes, views and restrictions (check, primary and foreign keys, default, etc.).
- Making queries
- Creating stored procedures and triggers.
- Accessing databases from software
- Object persistence

Planning
Methodologies  ::  Tests
  Class hours Hours outside the classroom Total hours
Laboratory practicals 28 34 62
 
Problem solving, classroom exercises 8 25 33
 
Lecture 20 25 45
 
Mixed tests 10 0 10
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies   ::  
  Description
Laboratory practicals The students will carry out exercises using relational database management systems. We will work with both the graphical interface and the command console to use SQL.
Problem solving, classroom exercises The students will carry out Database design exercises, creating Entity-Relationship diagrams and Relational diagrams from statements given during the lectures.
Lecture Theoretical sessions in the classroom using slides

Personalized attention
 
Laboratory practicals
Problem solving, classroom exercises
Lecture
Description
Consultations with the teacher can be made on-line or in person. Tutoring in English is available on request.

On-line consultations will be done preferably using the forums provided for this purpose in the Agora (either a general forum for doubts, or the forums provided for each specific activity).

For face-to-face tutorials, an appointment will be requested by e-mail, or through a forum provided for this purpose in the Agora.

Assessment
  Description Qualification
Laboratory practicals There will be an exam to evaluate the learned concepts of SQL.

To pass the course it is necessary to obtain a minimum grade of 3.5 points out of 10 in the SQL exam.

It may also be required that in some practices the student deliver the solutions, through a task that will be enabled for it in the agora.
15%
Problem solving, classroom exercises Solving problems/exercises in the regular lectures.

There will be an exam in which the students will have to design an Entity-Relationship diagram on a given statement and then convert it into a Relational diagram.
In order to pass the course it is necessary to obtain at least half of the marks of this exam.
50%
Lecture During the lecture sessions, theory will be explained, which in some cases will be evaluated independently and in others will be evaluated by means of an exam of problems (i.e. the SQL exam).

There will be an exam about:
- The basic concepts about databases explained in class.
- The concepts of indexes, concurrency and transactions
- The rest of the theoretical concepts (e.g. no SQL databases)

Application problems may be asked in the theory exam.

In order to pass the course, it is necessary to obtain a minimum mark of 3.5 points out of 10 in the theory exam, on the first call.
10%
Others PRACTICAL WORK in groups of three students.
From the beginning of the course the students will do a group work that will consist of designing and implementing a database.
The work will have several deliverables with specific dates. Failure to submit the assignment on the established date will result in a penalty of 20% of the grade assigned to that assignment.
 
Other comments and second call
  • In order to pass the course in the first call, it will be necessary to obtain an average of at least 5 points out of 10 taking all the exams into account. In addition, it will be necessary to pass both (1) the Entity-Relationship and Relational diagrams exam, and (2) the project of the course, and also to obtain at least 35% of the grade in the exams of the other two parts of the course.
  • In order to pass the course in the second call, it will be necessary to obtain an average of at least 5 points out of 10 taking all the exams into account. Additionally, it is necessary to pass both (1) the Entity-Relationship and Relational diagrams exam, and (2) the project of the course, and to obtain at least 35% of the grade in the exam of the SQL part.
  • Even if the average grade is higher than 5 out of 10 (or the established pass mark), the student will not pass if the above conditions are not met.
  • Students who do not pass an evaluation assessment during the continuous evaluation may sit for the recovery of this assessment in the first ordinary call.
  • Students who do not pass the course in the first ordinary call may sit for the parts that were not passed during the second ordinary call
  • In both the first and second calls, if a student does not present the PRACTICAL WORK on the established date, he/she will be able to present it later, within the corresponding call, but he/she will be penalized on the grade obtained. Each of the late submissions will also be penalized.

Sources of information
Access to Recommended Bibliography in the Catalog ULE

Basic

D. Kronenke, D. Auer, S. Vandenberg, R. Yoder (2019). Database Concepts. 9th Edition, Pearson.

C.J. Date (2019). Database Design and Relational Theory: Normal Forms and All That Jazz. 2nd edition, Apress

Alegre, E., Fernández, R.A. y Sánchez, L. (2003). Fundamentos y Prácticas de Bases de Datos. Secretariado de Publicaciones y Medios Audiovisuales de la Universidad de León.

Silberschatz, A. Korth, H.F. y Sudarshan, S. (2010). Database System Concepts, 6th edition, McGraw Hil.

Silberschatz, A. Korth, H.F. y Sudarshan, S. (2006). Fundamentos de bases de datos, 5ª edición, McGraw Hil.

Date, C. J. (2001). Introducción a los Sistemas de Bases de Datos. Prentice-Hall.

Elmasri, R.A. y Navathe, S.B. (2002). Fundamentos de los Sistemas de Bases de Datos. Prentice-Hall.

Complementary

Gary W. Hansen y J.V. Hansen (1997). Diseño y Administración de Bases de Datos, 2ª edición, Prentice Hall.

de Miguel, A. y Piattini, M. (1997). Fundamentos y modelos de Bases de Datos, RA-MA.

Beynon-Davies P. (2000). Database Systems, 2th edition, Macmillan Press Ltd.


Recommendations


Subjects that it is recommended to have taken before
PROGRAMACIÓN / 00717005
ESTRUCTURAS DE DATOS / 00717009