|Department||ING.ELECTR.DE SIST. Y AUTOMATI
|General description||In this course, students will learn basic concepts about databases and will obtain some practical skills with two commercial DBMS, as are Oracle and Microsoft SQL Server. The student will learn: - Fundamentals about databases. - How to design a database using the Entity-Relationship Model. - How to implement a database using a Relational Model. - To use the SQL (Structured Query Language) to create databases and to query a database. - Some concepts about indexes and hash functions.|
|Tribunales de Revisión||
|To understand and be able to use basic concepts related to databases. To be able to create an Entity-Relationship diagram from a database description problem and later to be able to translate it into a Relational diagram. To be able to implement a database using a graphical user interface. To understand and to use the primary SQL(Structured Query Language) sentences. To implement a database using SQL. To recover information from a database using SQL queries. To know and to understand the indexation concepts and to know how to apply them in a database implementation. To understand and to know how to use transactions, locks and concurrency concepts.||A8445
|THEORY I. Concepts||I. Basic concepts
Database Management Systems, Data, Models, Languages, Transactions, Users, Systems structure.
II. Entity-Relationship Model
Basic Concepts, Design, Constraints, Keys, ER Diagram, Weak entities.
III. Extended Entity-Relationship Model
Extended features. EER to Relational Model transformation. Constraints. The student's problem.
Flat tables. Normal Forms. Advantages and disadvantages. De-normalization.
|II. Structured Query Language (SQL)||V. SQL
Tools. Select. Where. Columns and functions. Aggregates. Totals and subtotals. Joins. Subqueries. Inserting and creating data. Stored Procedures. Triggers.
|III. Concurrency and indexes||VI. Indexes
Introduction. Ordered indexes. Hashing functions.
Introduction. Transactions. Transactions recovering.
VIII. Hashig functions and B+ trees
Ordered indexes. Hashing functions.
IX. Concurrency control
Concurrency problems. Locks. Dead locks. Seriability.
|LAB||The practical sessions will take place in the F3 Lab using Microsoft SQL Server and Oracle DBMSs
a) Using the graphical interface in SQL Server:
Database design. Database implementation. Tables, index, views and constraints creation.
b) Using SQL command line:
(Both using M. SQL Server and Oracle)
Database creation. Tables, indexes and views creation.
Stored procedures and triggers
|Methodologies :: Tests|
|Class hours||Hours outside the classroom||Total hours|
|Problem solving, classroom exercises||25||0||25|
|(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.|
|Laboratory practicals||Will take place in the lab F3, using a computer in most cases for implementing and querying databases|
|Problem solving, classroom exercises||The instructor will resolve a set of problems during the lectures, interacting with the students for answering doubts and to clarify questions.|
|Personal tuition||Students attention will take place on person and on-line. The student will ask for an appointment using a specific agora forum prepared for this fact.|
|Lecture||Will take place in the classroom using slides and the blackboard.|
|Lecture||The student will take two test to assess some of the theoretical concepts explained during the lectures:
- One test about the basic databases concepts (5% overall grade)
- Another test about indexes, concurrence and transactions (5% of overall grade)
|Laboratory practicals||It will be a test about SQL. For passing the course it is necessary to obtain at least half of the maximum grade of this exam.
It will be necessary to submit the solutions for some practical sessions.
|Problem solving, classroom exercises||The student will need to pass a test with two problems: a Entity-Relationship diagram and later a Relacional diagram created from a text proposed by the teacher.
To pass the course it is mandatory to pass this part obtaining at least half the maximum grade.
|Others||All the students will carried out a practical project in groups of three.
This project will have several deliverables with fixed dates. No presentation of one deliverable will means a 20% of penalty in the final grade of the project.
|Other comments and second call|
|Sources of information|
|Access to Recommended Bibliography in the Catalog ULE|
Silberschatz, A. Korth, H.F. y Sudarshan, S. (2010). Database System Concepts, 6th edition, McGraw Hil.
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. (2006). Fundamentos de bases de datos, 5ª edición, McGraw Hil.
Date, C. J. (1999). An Introduction to Database Systems. Prentice-Hall.
Elmasri, RA & Navathe S., (2003). Fundamentals of Database Systems (4th Edition). Addison Wesley
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.
|Subjects that it is recommended to have taken before|