Logo UAB
2022/2023

Bases de Datos

Código: 102744 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2502441 Ingeniería Informática OB 2 1

Contacto

Nombre:
Carles Sanchez Ramos
Correo electrónico:
carlos.sanchez.ramos@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
catalán (cat)
Algún grupo íntegramente en inglés:
No
Algún grupo íntegramente en catalán:
No
Algún grupo íntegramente en español:
No

Otras observaciones sobre los idiomas

Aunque las clases se impartirán en catalán, los estudiantes podrán usar el castellano o el inglés para hacer preguntas, escribir informes o cualquier otra interacción

Equipo docente

Carles Sanchez Ramos

Prerequisitos

Se recomienda que los estudiantes tengan los siguientes conocimientos y habilidades:
• Programación en lenguajes de tercera generación (C, Pascal, Basic, etc.).
• Estructuras de datos básicas.
Estos conceptos corresponden al contenido de las asignaturas:
• Fundamentos de informática
• Metodología de la programación

Objetivos y contextualización

En esta asignatura se introducen los conceptos básicos de bases de datos (BD) necesarios tanto a nivel de diseño de BD como de usuario.


CONOCIMIENTO: Al final del curso, los estudiantes deberán ser capaces de:

  • Conocer y comprender el importante salto tecnológico que representan los sistemas de bases de datos en materia de procesamiento de información informática, así como en el diseño y mantenimiento de aplicaciones de procesamiento de información.
  • Conocer la arquitectura de un sistema de base de datos, las funciones de cada módulo y el personal que trabaja en estos sistemas (usuarios, programadores y administradores de bases de datos). La arquitectura se estudiará desde un punto de vista local o remoto.
  • Conocer el modelo Entidad/Relación (E-R), ampliamente utilizado en el diseño de bases de datos.
  • Estudiar las propiedades del modelo relacional de BDs, muy extendido en la mayoría de los motores de BDs.
  • Conocer el estándar del lenguaje SQL en BDs relacionales.
  • Comprender la metodología de diseño de BDs, incluyendo las técnicas de normalización de una BD relacional.
  • Cnocer las principales estructuras de datos que se utilizan en una BD relacional, así como las funciones de indexación y hash.


HABILIDADES: Se pretende que los estudiantes adquieran las siguientes habilidades:

  • Ser capaz de utilizar las de reglas de integridad del modelo relacional BD, así como también de formular cualquier consulta a una BD a través del álgebra relacional.
  • Ser capaz de realizar consultas simples y de cierta complejidad a una BD a través del lenguaje SQL.
  • Ser capaz de diseñar una BD en el modelo E-R basándose en especificaciones del mundo real.
  • Ser capaz de convertir el modelo E-R en el conjunto de relaciones y atributos de un BD relacional real, aplicando técnicas de estandarización.
  • Ser capaz de trabajar con un ejemplo de motor BD como es ORACLE, ampliamente utilizado en el campo profesional, tanto en el rol de usuario como de administrador.

Competencias

  • Adquirir hábitos de trabajo personal.
  • Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así como de la información que gestionan.
  • Conocimiento y aplicación de las características, funcionalidades y estructura de las bases de datos, que permitan su adecuado uso, y el diseño y el análisis e implementación de aplicaciones basadas en ellos.
  • Conocimiento y aplicación de las características, funcionalidades y estructura de los Sistemas Distribuidos, las Redes de Computadores e Internet y diseñar e implementar aplicaciones basadas en ellas.
  • Conocimiento y aplicación de las herramientas necesarias para el almacenamiento, procesamiento y acceso a los Sistemas de información, incluidos los basados en web.

Resultados de aprendizaje

  1. Comprender la metodología de diseño de BD, realizar este diseño utilizando el lenguaje UML y conocer las técnicas de normalización de una BD Relacional.
  2. Comprender los estándares de datos y persistencia de los mismos.
  3. Conocer el modelo Entidad / Relación y las propiedades del modelo relacional de BD.
  4. Conocer la arquitectura de los sistemas de Bases de Datos (BD), las funciones de cada módulo y el personal que trabaja en estos sistemas (usuarios, programadores y administradores de BD) desde un punto de vista local o remoto.
  5. Conocer las principales estructuras de datos que se utilizan en BD relacionales.
  6. Conocer y aplicar el modelo cliente servidor y las arquitecturas orientadas a servicios.
  7. Conocer y aplicar las características, funcionalidades y estructura de los Sistemas Distribuidos software para diseñar e implementar aplicaciones basados en ellos.
  8. Conocer y comprender el importante papel que representan los sistemas de Bases de Datos en cuanto al tratamiento de información en un computador, así como en el diseño y mantenimiento de aplicaciones de tratamiento de esta información.
  9. Conocer y utilizar el lenguaje SQL.
  10. Evaluar de forma crítica el trabajo realizado.
  11. Gestionar el tiempo y los recursos disponibles. Trabajar de forma organizada.
  12. Tomar decisiones propias.

Contenido

BLOQUE 1. DATA BASES PARADIGMS


1. Introducción. Básico

  • Introducción y definiciones
  • Componentes de un sistema de base de datos
  • Evolución histórica
  • Ventajas y desventajas de un sistema de bases de datos


2. Arquitectura

  • la arquitectura ANSI-SPARC
  • DBA y DBMS
  • Arquitectura back-end/front-end


BLOQUE 2. BASES DE DATOS RELACIONALES


3. Modelo de datos relacionales

  • Introducción
  • Estructura de datos
  • Reglas de integridad
  • Manipulación de datos


BLOQUE 3. MODELO ENTIDAD/RELACIÓN


4. El modelo Entidad/Relación (E-R)

  • Diseño de una base de datos
  • Modelo Entidad/Relación
  • Modelo Extendido E-R
  • Criterios de diseño de un esquema E-R
  • Diseño de un esquema de E-R


BLOQUE 4. DISEÑO DE BASES DE DATOS RELACIONALES


5. Diseño de una base de datos

  • Fases de diseño de BD
  • Contratación y análisis de requisitos
  • Diseño conceptual del BD
  • Diseño lógico
  • Diseño físico


6. Normalización

  • Teoría de la normalización
  • Dependencias funcionales
  • Formas Normales de Codd (1NF, 2NF, 3NF)
  • Forma Normal de Boyce-Codd (BCNF)
  • El proceso de normalización


BLOQUE 5. ACCESO A ARCHIVOS


7. Nivel interno

  • Acceso a la base de datos física - Archivos
  • Estructuras de almacenamiento
  • Indexación
  • Hashing (dispersión)
  • Técnicas de compresión

Metodología

El objetivo final del curso es que los estudiantes sean capaces de diseñar y manipular bases de datos relacionales en el contexto de las aplicaciones informáticas actuales. Por esta razón, las sesiones presenciales serán muy prácticas y se centrarán en los alumnos para consolidar los conocimientos que tienen como objetivo aprender en esta asignatura.

La metodología general del curso se puede dividir en tres actividades:


PREPARACIÓN PREVIA. El objetivo es que el alumnado pueda aprender los conceptos que trabajarán en la próxima sesión a través de diversas actividades propuestas por el profesorado como puede ser la visualización de vídeos, la lectura de textos, etc. Todo el material necesario (enunciado, scripts BD, resultados del problema) estará disponible en el gestor de documentos Caronte (http://caronte.uab.cat).
CLASE PRESENCIAL. El objetivo es consolidar los conceptos adquiridos y darles valor en el contexto del sujeto. El profesor se asegurará de que los estudiantes profundicen estos conceptos a través de ejercicios (más o menos) guiados durante la sesión. Por esta razón, las sesiones del aula se llevarán a cabo en 2 reuniones semanales de 2 horas cada una en aulas con ordenadores y conexión con el servidor. La distribución de alumnos será la misma que en los grupos de problemas. Si bien no se tomará asistencia, las clases presenciales son OBLIGATORIAS.

Si por motivos de salud pública (por ej. pandemia de COVID) las clases deben realizarse en línea, estas se harán a través de Teams https://teams.microsoft.com/. Cualquier cambio a lo largo del curso será notificado a traves de Caronte.


AUTO APRENDIZAJE. Se proponen dos actividades: (1) "casos de uso", o sea crear una base de datos real, incluido el análisis de requisitos y el diseño y (2) el autoaprendizaje de consultas SQL típicas.

  • En la primera actividad se presentará al alumno un caso real para que realice todas las fases del diseño. Al final del curso los estudiantes tendrán que presentar un informe técnico que será evaluado.  A lo largo del curso realizaremos un seguimiento de las distintas etapas del informe técnico ya sea en algunas sesiones de problemas dirigidas o bien en horas de tutoría. Además, se habilitará un recurso en Caronte para poder enviar entregas parciales y obtener el feed-back del profesor. Esta actividad se llevará a cabo en grupos de 5 personas que deberán inscribirse a través de Caronte. Para monitorear las sesiones de problemas, todos los estudiantes de un grupo de informe técnico tendrán que pertenecer al mismo grupo de problemas.
  • La segunda actividad consistirá en el autoaprendizaje de consultas SQL utilizando un módulo de autoevaluación disponible en Caronte. El estudiante subirá las consultas a Caronte en un formato específico para obtener un resultado evaluado automáticamente.


Los enunciados de prácticas y problemas estarán disponibles en Caronte (http://caronte.uab.cat).
Las entregas del trabajo autónomo se realizarán siempre a través de Caronte.

Competencias transversales:

Las competencias T 02.03 gestionan el tiempo y los recursos disponibles. Trabajar de forma organizada, T 02.05-tomar decisiones propias y T 02.08-críticamente evaluar el trabajo realizado se trabajan en la actividadde diseño de un BD en el que el estudiante debe realizar en un grupo de 5 personas para hacer un informe técnico sobre la creación de una base de datos de un caso de uso

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Clases Presenciales 50 2 2, 1, 3, 6, 7, 8, 9, 4, 5
Tipo: Supervisadas      
Informe Tecnico de un Caso de Uso 34 1,36 10, 1, 3, 9, 11, 12
Tipo: Autónomas      
Modulo consultas SQL 17 0,68 9, 5, 11
Preparación Previa 35 1,4 1, 3, 9, 5

Evaluación

CRITERIOS DE EVALUACIÓN

La evaluación del curso consta de 4 partes: evaluación de teoría, evaluación de problemas, redacción de un informe técnico, evaluación de prácticas y resolución autónoma de consultas SQL.

  • EXÁMENES PARCIALES INDIVIDUALES DE TEORÍA Y PROBLEMAS (Nota_Teoria_Probl). Habrá dos exámenes escritos individuales (la Nota_Teoria_Probl será la media de estas dos notas, con un peso total del 40% en la nota final). La primera prueba se realizará aproximadamente a mitad del semestre y la segunda prueba se realizará al final del semestre durante el período de exámenes.
  • EVALUACIÓN DE EJERCICIOS PRÁCTICOS INDIVIDUALES (Nota_Pract). La evaluación de las prácticas (con un peso del 30%) se realizará mediante una prueba de consultas SQL en la última sesión de prácticas en la que el alumno podrá comprobar su nota al finalizar la prueba. El formato será el mismo que el módulo de aprendizaje autónomo.
  • PRUEBAS ESCRITAS INDIVIDUALES (Nota_PEI): De las dos calificaciones anteriores se harán medias para calcular la nota de las pruebas escritas individuales: 

               Nota_PEI = (0,4*Nota_Teoría_Probl + 0,3*Nota_Pract) / 0,7

  • TRABAJO AUTÓNOMO (Nota_InfTec y Nota_AutoAval). Se dividirá en dos bloques: Informe técnico de un caso de uso (20%) y resolución de consultas autónomas en el Módulo de Consultas SQL (10%). Para puntuar en la primera, deberá entregarse un informe técnico formado por 4 partes correspondientes a las 4 fases de diseño de una BD: requisitos, diagrama ER, modelo lógico de tablas y juego de implementación/prueba. El documento debe entregarse en el formato definido previamente y debe ser adecuado para una correcta lectura e interpretación de los diagramas. Si un diagrama no puede leerse claramente por razones de resolución o calidad, esta parte del informe quedará suspendida, así como las que dependen de ellas porque no se puede evaluar. El informe técnico se entregará en dos partes, una primera entrega a mitad del semestre y una segunda entrega a finales del semestre. La nota final del informe técnico (con un peso del 20%) se calculará a partir de las dos notas (nota1 y nota2) de la siguiente forma: Nota_InfTec = máx [(nota1 + nota2) / 2; 0,7 * nota2]. La Nota_AutoAval (con un peso del 10%) se obtiene de la resolución autónoma de consultas SQL (prácticas asistenciales) que se realizarán fuera de la programación de clases. Constan de varios módulos de consultas SQL disponibles en Caronte que están abiertos determinados períodos de tiempo especificados en el propio módulo. La nota será proporcional al número de preguntas contestadas a lo largo del curso y su dificultad.
  • NOTA FINAL: La nota final del curso (Nota_Final) será la media ponderada de las calificaciones en cada parte (ver tabla de actividades de evaluación) y se calculará de la siguiente manera:

      Nota_Final =0,4 * Nota_Teoría_Probl + 0,3 * Nota_Pract + 0,2 * Nota_InfTec + 0,1 * Nota_AutoAval

Será condición necesaria para efectuar este cálculo que cada uno de los componentes tenga una puntuación superior a cero, y que la nota media obtenida en las pruebas escritas individuales (Nota PEI) sea igual o superior a 4. El estudiante que no cumpla estas condiciones tendrá que aplicar los criterios de reevaluación que se detallan más abajo.

  • EVALUACIÓN CONTINUADA: El proceso de evaluación continua incluye estas actividades: Informe Técnico de un Caso de Uso (actividad grupal supervisada), Módulo Consultas SQL (actividad individual supervisada) y Examen de Teoría y Problemas (prueba de síntesis recuperable)

Se debe tener una Nota_Final igual o superior a 5 para aprobar la asignatura. Un estudiante se considera "no evaluable" sólo si no ha realizado ninguna actividad de evaluación.

 CRITERIOS DE REEVALUACIÓN

Se podrán acoger al proceso de recuperación que se describe más abajo los y las estudiantes que no hayan superado la asignatura aplicando los criterios mencionados y que estén en una de las dos situaciones siguientes:

(A) Reúnan las condiciones para poder realizar el cálculo de la Nota_Final, pero la calificación total obtenida es igual o superior a 3,5 e inferior a 5; (Nota_PEI ≥ 4 pero con 3,5 ≤ Nota_Final < 5)

(B) Han obtenido una nota inferior a 5 en el conjunto de pruebas escritas individuales, pero si se aplicaran las ponderaciones descritas más arriba, la nota final de la asignatura sería igual o superior a 5; (Nota_PEI < 4 pero con Nota_Final ≥ 5)

En esta prueba de reevaluación, que será escrita y se realizará dentro de la última semana del semestre, el alumno volverá a ser evaluado en todos los contenidos de la asignatura. Para aprobar la reevaluación se debe obtener una nota igual o superior a 5. En caso de aprobación, la nota final de la asignatura será "aprobado" (un 5).

En caso de incumplir las condiciones para aprobar la asignatura, se pondrá en el expediente el mínimo entre las pruebas escritas individuales (Nota_PEI) y un 4,5.

 OTRA INFORMACIÓN IMPORTANTE

  • INSCRIPCIÓN EN CARONTE: Es obligatorio inscribirse en Caronte (http://caronte.uab.cat) al inicio del curso, ya que allí se publicarán los materiales de la asignatura, se realizarán las tareas y se publicarán las calificaciones finales del curso. Para inscribirse en Caronte en la asignatura de bases de datos, es necesario introducir los datos personales y una foto tipo pasaporte en formato JPG. Esta información será estrictamente privada y se destruirá una vez finalizado el curso.
  • CONVALIDACIONES: No existe ningún tratamiento especial para los estudiantes que repiten la asignatura.
  • RECUPERACIÓN DE PRÁCTICAS: Las prácticas no se recuperarán de forma separada del resto del contenido. Sin embargo, el examen de reevaluación contendrá ejercicios escritos de SQL similares a aquellos del Módulo de Consultas SQL.
  • HONORES: Los estudiantes que tengan más de un 9 en la calificación final de la asignatura tendrán un título de honor (MH) hasta el límite del 5% de los candidatos matriculados, de acuerdo con la normativa de la UAB. En caso de tener más del 5% de los alumnos con calificaciones superiores a 9, quienes tengan las notas más altas tendrán MH.
  • COPIA/PLAGI: Sin perjuicio de otras medidas disciplinarias que se consideren oportunas, las irregularidades cometidas por los estudiantes que puedan conducir a un cambio en la calificación de un acto de evaluación se calificarán con cero (0). Por tanto, copiar, plagiar, engañar, dejarse copiar, etc. en cualquiera de las actividades de evaluación supondrá la suspensión con un cero (0). Las actividades de evaluación calificadas de esta forma y descritas en este procedimiento no serán recuperables. Si es necesario superar alguna de estas actividades de evaluación para aprobar la asignatura, quedará suspendida directamente, sin posibilidad de recuperarla en el mismo curso. En el caso del informe técnico, todos los grupos implicados serán calificados con un cero (0), independientemente de la autoría de la obra. Esta normativa incluye, entre otros:
    • la copia total o parcial de una práctica, informe, o cualquier otra actividad de evaluación;
    • dejar copiar;
    • presentar un trabajo de grupo no realizado íntegramente por los miembros del grupo;
    • presentar como propios materiales elaborados por un tercero, aunque sean traducciones o adaptaciones, y en general trabajos con elementos no originales y exclusivos del estudiante;
    • tener dispositivos de comunicación (teléfonos móviles, smart watches, o similar) accesibles durante las pruebas de evaluación teórico-prácticas individuales (exámenes).

CALENDARIO DE ACTIVIDADES DE EVALUACIÓN

Las fechas de las distintas actividades de evaluación (ejercicios presenciales, trabajos, etc.) se anunciarán con suficiente antelación durante el semestre.

Las fechas de los exámenes parciales y recuperaciones están contempladas en el calendario de exámenes de la facultad.

"La programación de pruebas de evaluación no podrá ser modificada salvo que exista un motivo excepcional y esté debidamente justificado a efectos de una evaluación. En este caso, los responsables de las notas, después de consultar a los profesores y alumnos afectados, propondrán un nuevo programa dentro del período lectivo correspondiente." Apartado 1 del artículo 115. Calendario de actividades de evaluación (Normativa académica UAB)"

 PROCEDIMIENTO DE REVISIÓN DE CALIFICACIONES

Las fechas de evaluación continua y de entrega de trabajos se publicarán en Caronte y pueden estar sujetas a cambios de programación por motivos de adaptación a posibles incidencias. Siempre se informará a Caronte sobre estos cambios ya que se entiende que ésta es la plataforma habitual de intercambio de información entre profesores y estudiantes.

Para cada actividad de evaluación, se indicará un lugar, fecha y hora de revisión en la que el estudiante podrá revisar la actividad con el profesor. En este contexto, se podrán realizar reclamaciones sobre la nota de la actividad, que serán evaluadas por el profesorado responsable de la asignatura. Si el estudiante no se presenta a esta revisión, no se revisará posteriormente esta actividad.

PROCESO DE RECUPERACIÓN

"Para participar en el proceso de recuperación, el alumnado debe haber sido previamente evaluado en un conjunto de actividades que representen un mínimo de dos tercios de la calificación total de la asignatura o módulo." Artículo 3 del artículo 112 ter. Recuperación (Normativa académica UAB). El estudiante debe haber obtenido una nota media del curso entre 3,5 y 4,9.

La fecha de esta prueba se programará en el calendario de exámenes de la facultad. El estudiante que esté presente y lo apruebe superará la asignatura con una nota de 5.

IRREGULARIDADES EN LOS ACTOS DE EVALUACIÓN

A pesar de otras medidas disciplinarias que se consideren oportunas, y de acuerdo con la normativa académica vigente, "en caso de que el estudiante cometa cualquier irregularidad que pueda conducir a una variación significativa en la calificación de un acto de evaluación, este acto de evaluación se calificará con cero, independientemente del proceso disciplinario que pueda instruirse. Si existen varias irregularidades en la evaluación de una misma asignatura, la nota final de la asignatura será cero". Artículo 10 del artículo 116. Resultados de la evaluación. (Normativa Académica UAB).

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
Ejercicios prácticos individuales 30% 2 0,08 3, 9, 5
Examen individuales de Teoría y Problemas (re-evaluación) 40% 4 0,16 2, 1, 3, 6, 7, 8, 9, 4, 5
Informe Tecnico de un Caso de Uso 20% 2,7 0,11 10, 1, 3, 9, 11, 12
Modulo de consultas SQL online 10% 1,3 0,05 9, 5, 11
examenes parciales individuales de teoría y problemas 40% 4 0,16 2, 1, 3, 6, 7, 8, 9, 4, 5

Bibliografía

MATERIAL DE LA ASSIGNATURA: Caronte http://caronte.uab.cat

BIBLIOGRAFIA BASICA:

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

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

BIBLIOGRAFIA COMPLEMENTÀRIA:

  • T.M. Connolly, C.E. Begg, Sistemas de Bases de Datos, 4a edición, Pearson-Addison-Wesley, 2005. Enlace Permanente
  • P.Rob, C. Coronel, Sistemas de Bases de datos. Diseño, implementación y administración, Thomson-Paraninfo, 2004. Enlace Permanente
  • M. Celma, J.C. Casamayor, L. Mota, Bases de Datos Relacionales, Pearson-Prentice Hall, 2003. Enlace Permanente
  • D.M. Kroenke, Procesamiento de Bases de Datos, 8ª edición, Pearson-Prentice Hall, 2003. Enlace Permanente
  • 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. Enlace Permanente
  • C.J. Date, H. Darwen, A Guide to the SQL standart, 3rd edition, Addison-Wesley, 1994.

ENLACES WEB:

BASES DE DATOS RELACIONALES MULTIUSUARIO:

Software

SQL- developer, Data Modeller, Oracle (para BD en local en lugar de acceder a servidores de l'Escola)