Educational guide
IDENTIFYING DATA 2024_25
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, both in the first and in the second call, the student must obtain an average of 5 out of 10 points, so he/she has to pass independently the evaluation of the three main parts of the course, which are: (i) The diagrams exam, which has a weight of 50%, (ii) The project of the course, which has a weight of 25%, and (iii) The theory, SQL and indexes exam, which has a weight of 25% of the mark.

Even if the average mark is higher than 5 out of 10 (or the value established for passing), the student will not pass if the above conditions are not met. If his/her average is higher than 5 out of 10 and he/she does not pass any of the parts, the grade that will appear in ACTAS will be NOT PRESENTED.


Other observations:
  • Students who do not pass an exam in the continuous assessment may take the exam again in the first ordinary exam session.
  • Students who do not pass the subject in the first ordinary exam may take the make-up exam for the parts not passed in the second ordinary exam.
  • Both in the first and in the second call, if a student does not submit any assignment, including the project or the deliverables of the laboratory practicals on the established date, he/she could submit them later, in the corresponding call but always before the deadline indicated for this purpose, although he/she will be penalised in the grade obtained for submitting it after the deadline. Each of the late submissions will also be penalised.

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