alvaro.gonzalezsotillo@educa.madrid.org

GESTIÓN DE BASES DE DATOS

Álvaro González Sotillo

Created: 2024-09-08 dom 17:51

1. Cómo serán las clases

  • Teoría
    • Basada en apuntes
    • Con un libro de texto
  • Ejercicios
    • Se realizan en clase o en casa
    • Se ponen en común al día siguiente
  • Práctica
    • Máquinas virtuales
  • Trabajos

2. Materiales

  • Memoria USB
  • Correo electrónico
  • Acceso a Internet fuera del aula
  • Portátil propio (opcional)
    • No se puede usar la red del centro
    • Se puede usar la wifi

2.1. Libro de texto

  • Gestión de Bases de Datos
  • Editorial: Garceta
  • Autor: Iván López Montalbán; Mª Jesús Castellano Pérez
  • ISBN: 978-84-1545-294-2

3. Entrega de Trabajos

4. Normas

  • Retrasos y faltas
  • Uso de los ordenadores
    • No pueden utilizarse para tareas distintas de las encargadas por el profesor
    • Se respetará a otros alumnos
  • Móviles
    • No.
    • Un smartwatch se considera un móvil.

4.1. Averías de los ordenadores

  • Los problemas se comunican al profesor en cuanto se detectan
  • Se deben hacer copias de seguridad para no perder los datos de los discos
    • Pen Drive
    • Disco Externo
    • Correos enviados a uno mismo
    • Copias en los ordenadores de otros compañeros
  • Norma fundamental:

Si se pierde porque no hay copia, es que no era importante

5. Cómo será la evaluación

  • Trabajos
  • Actitud
    • Puntualidad, interés, preguntas al profesor, puesta en común de resultados, comportamiento…
  • Exámenes
    • Dos parciales y un final por evaluación
    • Se necesita un mínimo de 3,5 en cada parcial para hacer media
  • Entrega de trabajos
    • Individuales
    • Un trabajo entregado tarde puntua como máximo 6

5.1. Cálculo de la nota

  • Nota de la evaluación

      trabajos*0.20 + exámenes*0.80
    
    • Nota de exámenes: La mayor de las siguientes:
      • Media de la nota de los parciales
      • Examen final
    • Nota de trabajos:
      • La media de los trabajos de la evaluación
      • Todos los trabajos tienen que estar entregados
  • Nota del módulo
    • Media de las notas de las evaluaciones
    • Todas las evaluaciones tienen que estar aprobadas

5.2. Detalles sobre la calificación

  • Son necesarios todos los trabajos para poder aprobar
  • Las colaboraciones en clase pueden premiarse con aumento de nota de la parte de trabajos
  • En un problema de un trabajo o examen, se necesita la totalidad para poder puntuar el problema
    • Los conocimientos y esfuerzo para conseguir el 80% de un problema suelen ser bajos
    • La dificultad real suele estar en el 20% restante del problema
    • Ejemplo: ¿Dónde está la dificultad?
      1. Instala Windows (10% de dificultad)
      2. Instala Linux junto a Windows (20% de dificultad)
      3. Haz que cada S.O. pueda ver los ficheros del otro (70% restante)

6. Temas del libro de referencia

6.1. Sistemas de almacenamiento de la información

  • Ficheros
  • Bases de Datos
  • Los Sistemas Gestores de Base de Datos

6.2. Diseño lógico de bases de datos

  • Representación del problema
  • El modelo de datos
  • Diagramas E/R
  • El modelo E/R ampliado
  • Construcción de un diagrama E/R
  • El modelo relacional
  • Transformación de un diagrama E/R al modelo relacional
  • Normalización

6.3. Diseño físico de bases de datos

  • Notación para la sintaxis
  • Herramientas gráficas proporcionadas por los SGBD
  • Intérpretes de comandos de los SGBD
  • El lenguaje de definición de datos
  • Creación de bases de datos
  • Modificación de una base de datos
  • Borrado de bases de datos
  • Creación de tablas
  • Modificación de tablas
  • Borrado de tablas
  • Renombrado de tablas

6.4. Realización de Consultas

  • El lenguaje DML
  • La sentencia SELECT
  • Consultas básicas
  • Filtros
  • Ordenación
  • Consultas de resumen
  • Subconsultas
  • Consultas multitabla
  • Consultas reflexivas
  • Consultas con tablas derivadas

6.5. Edición de los datos

  • Herramientas gráficas para la edición de los datos
  • La sentencia INSERT
  • La sentencia INSERT extendida
  • INSERT y SELECT
  • La sentencia UPDATE
  • La sentencia DELETE
  • La sentencias UPDATE y DELETE con subconsultas
  • Borrado y modificación de registros con relaciones
  • Transacciones
  • Acceso concurrente a los datos

6.6. Construcción de Guiones

  • ¿Por qué PL/SQL?
  • Otros lenguajes de programación
  • Bloques de Código Anóonimos en PL/SQL
  • Tipos de datos en PL/SQL
  • Operadores y expresiones
  • Entrada y salida para la depuración
  • Estructuras de Control
  • Estructuras funcionales: procedimientos y funciones
  • Sentencias SQL en PL/SQL
  • Acceso a la Base de Datos. Cursores
  • Excepciones en PL/SQL
  • Disparadores o Triggers

6.7. Seguridad de los datos

  • Recuperación de fallos
  • Tipos de copias de seguridad
  • Copias de seguridad y restauración en MySQL
  • Copias de seguridad y restauración en Oracle
  • Restauración de copias en Oracle con RMAN
  • Copias de seguridad y restauración en DB2
  • Exportación e importación de datos. Transferencia de datos entre sistemas gestores
  • Herramientas gráficas para la salvaguarda de la información

7. Contenidos

  • Decreto 12/2010, de 18 de marzo

7.1. Sistemas de almacenamiento de la información:

  • Ficheros (planos, indexados y acceso rápido, de marcas, entre otros).
  • Bases de Datos (BD). Conceptos, usos y tipos según el modelo de datos, la ubicación de la información.
  • Sistemas gestores de bases de datos (SGBD): funciones, componentes y tipos.

7.2. Diseño conceptual y lógico de bases de datos:

  • Modelos de datos: relacional y orientado a objetos.
  • La representación del problema. El modelo conceptual: los diagramas E/R (Entidad/Relación).
    • Entidades y atributos. Identificadores principales.
    • Relaciones: cardinalidad y correspondencia.
    • Relaciones de dependencia en existencia y en identificación.
  • El modelo E/R ampliado:
    • Atributos multivaluados y compuestos.
    • Jerarquías y generalizaciones.
    • Asociaciones.
  • El modelo relacional: Terminología del modelo relacional. Características de una relación. Claves primarias y claves ajenas.
  • Paso del diagrama E/R al modelo relacional.
  • Normalización. Dependencias funcionales. Formas normales. Conveniencia de la desnormalización.
  • El modelo orientado a objetos. Conceptos generales.
    • Diagramas de clases y de objetos.

7.3. Diseño físico de bases de datos:

  • Herramientas gráficas proporcionadas por el sistema gestor para la implementación de la base de datos.
  • Lenguaje estándar de consulta SQL (Standard Query Language).
    • Lenguaje de definición de datos DDL (Data Definition Language): Creación, modificación y eliminación de objetos de la base de datos.
    • Lenguaje de manipulación de datos DML (Data Manipulation Language): Selección, inserción, modificación y eliminación de registros.
    • Lenguaje de control de datos DCL (Data Control Language): Confirmación/anulación de transacciones.
  • Creación, modificación y eliminación de bases de datos.
  • Creación, modificación y eliminación de tablas. Tipos de datos.
  • Implementación de restricciones sobre tablas: clave primaria, clave ajena, unicidad, chequeo, valores por defecto.
  • Truncado de tablas.

7.4. Realización de consultas:

  • Herramientas gráficas, proporcionadas por el sistema gestor o externas, para la realización de consultas.
  • Selección de registros:
    • Elección de origen de datos: tablas, vistas, selecciones.
    • Filtrado de registros.
    • Orden de los resultados devueltos.
  • Tratamiento de valores nulos.
  • Consultas de resumen. Agrupamiento de registros. Filtrado sobre agrupaciones.
  • Operaciones de conjuntos sobre consultas: unión, intersección y diferencia.
  • Vinculación de tablas: claves primarias y ajenas. Composiciones internas y externas.
  • Subconsultas:
    • Devolución de valores individuales.
    • Devolución de listas de valores.
    • Devolución de tuplas de valores.
    • Correlacionadas.
  • Consultas jerárquicas.

7.5. Edición de los datos:

  • Herramientas gráficas, proporcionadas por el sistema gestor o externas, para la edición de la información.
  • Sentencias de inserción, eliminación y actualización de registros:
    • A partir de datos proporcionados por el usuario.
    • A partir de datos recuperados mediante subconsultas.
  • Subconsultas y combinación de órdenes de edición.
  • Transacciones. Estados temporales intermedios de la base de datos. Sentencias de procesamiento de transacciones.
  • Acceso simultáneo a los datos: políticas de bloqueo. Niveles de bloqueo (fila, tabla).

7.6. Creación de otros objetos de la base de datos:

  • Vistas. Vistas montadas sobre múltiples tablas. Operaciones sobre vistas.
  • Sinónimos de objetos.
  • Enlaces a otras bases de datos.

7.7. Optimización de consultas:

  • Creación de índices. Monocampo vs. multicampo.
  • Índices únicos y con duplicados.
  • Índices basados en funciones.
  • Criterios para la creación de índices.
  • Plan de ejecución de sentencias. Análisis comparativo.
  • Métodos de vinculación de tablas.
  • Optimización basada en costes vs. basada en reglas.
  • Sugerencias (hints) de ejecución.

7.8. Construcción de guiones:

  • Introducción. Conceptos generales del lenguaje de programación integrado en el SGBD.
  • Tipos de datos, identificadores, variables.
  • Operadores. Estructuras de control.
  • Cursores.
  • Procedimientos y funciones almacenados.
  • Excepciones.

7.9. Gestión de seguridad de los datos:

  • Tipos de fallos.
  • Recuperación de fallos.
  • Copias de seguridad.
  • Herramientas gráficas y utilidades proporcionadas por el sistema gestor para la realización de copias de seguridad.
  • Sentencias para la realización y recuperación de copias de seguridad.
  • Herramientas gráficas y utilidades para importación y exportación de datos.
  • Transferencia de datos entre sistemas gestores.

7.10. Bases de datos distribuidas:

  • Conceptos y diseño.
  • Casos de idoneidad.
  • Técnicas de fragmentación: vertical, horizontal, mixta.
  • Técnicas de distribución de datos.
  • Esquemas de asignación y replicación de datos.

8. Criterios de evaluación

8.1. Reconoce los elementos de las bases de datos analizando sus funciones y valorando la utilidad de sistemas gestores.

Criterios de evaluación:

  1. Se han analizado los distintos sistemas lógicos de almacenamiento y sus funciones.
  2. Se han identificado los distintos tipos de bases de datos según el modelo de datos utilizado.
  3. Se han identificado los distintos tipos de bases de datos en función de la ubicación de la información.
  4. Se ha reconocido la utilidad de un sistema gestor de bases de datos.
  5. Se ha descrito la función de cada uno de los elementos de un sistema gestor de bases de datos.
  6. Se han clasificado los sistemas gestores de bases de datos.

8.2. Diseña modelos lógicos normalizados interpretando diagramas entidad/relación.

Criterios de evaluación:

  1. Se ha identificado el significado de la simbología propia de los diagramas entidad/ relación.
  2. Se han utilizado herramientas gráficas para representar el diseño lógico.
  3. Se han identificado las tablas del diseño lógico.
  4. Se han identificado los campos que forman parte de las tablas del diseño lógico.
  5. Se han identificado las relaciones entre las tablas del diseño lógico.
  6. Se han definido los campos clave.
  7. Se han aplicado las reglas de integridad.
  8. Se han aplicado las reglas de normalización hasta un nivel adecuado.
  9. Se han identificado y documentado las restricciones que no pueden plasmarse en el diseño lógico.

8.3. Realiza el diseño físico de bases de datos utilizando asistentes, herramientas gráficas y el lenguaje de definición de datos.

Criterios de evaluación:

  1. Se han definido las estructuras físicas de almacenamiento.
  2. Se han creado tablas.
  3. Se han seleccionado los tipos de datos adecuados.
  4. Se han definido los campos clave en las tablas.
  5. Se han implantado todas las restricciones reflejadas en el diseño lógico.
  6. Se ha verificado mediante un conjunto de datos de prueba que la implementación se ajusta al modelo.
  7. Se han utilizado asistentes y herramientas gráficas.
  8. Se ha utilizado el lenguaje de definición de datos.
  9. Se ha definido y documentado el diccionario de datos.

8.4. Consulta la información almacenada manejando asistentes, herramientas gráficas y el lenguaje de manipulación de datos.

Criterios de evaluación:

  1. Se han identificado las herramientas y sentencias para realizar consultas.
  2. Se han realizado consultas simples sobre una tabla.
  3. Se han realizado consultas que generan valores de resumen.
  4. Se han realizado consultas sobre el contenido de varias tablas mediante composiciones internas.
  5. Se han realizado consultas sobre el contenido de varias tablas mediante composiciones externas.
  6. Se han realizado consultas con subconsultas.
  7. Se han valorado las ventajas e inconvenientes de las distintas opciones válidas para llevar a cabo una consulta determinada.

8.5. Modifica la información almacenada utilizando asistentes, herramientas gráficas y el lenguaje de manipulación de datos.

Criterios de evaluación:

  1. Se han identificado las herramientas y sentencias para modificar el contenido de la base de datos.
  2. Se han insertado, borrado y actualizado datos en las tablas.
  3. Se ha incluido en una tabla la información resultante de la ejecución de una consulta.
  4. Se han adoptado medidas para mantener la integridad y consistencia de la información.
  5. Se han diseñado guiones de sentencias para llevar a cabo tareas complejas.
  6. Se ha reconocido el funcionamiento de las transacciones.
  7. Se han anulado parcial o totalmente los cambios producidos por una transacción.
  8. Se han identificado los efectos de las distintas políticas de bloqueo de registros.

8.6. Ejecuta tareas de aseguramiento de la información, analizándolas y aplicandomecanismos de salvaguarda y transferencia.

Criterios de evaluación:

  1. Se han identificado herramientas gráficas y en línea de comandos para la administración de copias de seguridad.
  2. Se han realizado copias de seguridad.
  3. Se han restaurado copias de seguridad.
  4. Se han identificado las herramientas para importar y exportar datos.
  5. Se han exportado datos a diversos formatos.
  6. Se han importado datos con distintos formatos.
  7. Se ha interpretado correctamente la información suministrada por los mensajes de error y los ficheros de registro.
  8. Se ha transferido información entre sistemas gestores.

9. Contenidos básicos

  • Incluídos solo como referencia
  • No son aplicables en la Comunidad de Madrid

9.1. Sistemas de almacenamiento de la información:

  • Ficheros (planos, indexados y acceso directo, entre otros).
  • Bases de datos. Conceptos, usos y tipos según el modelo de datos, la ubicación de la información.
  • Sistemas gestores de base de datos: funciones, componentes y tipos.

9.2. Diseño lógico de bases de datos:

  • Modelo de datos.
  • La representación del problema: los diagramas E/R entidades y relaciones. Cardinalidad. Debilidad.
  • El modelo E/R ampliado.
  • El modelo relacional: Terminología del modelo relacional. Características de una relación. Claves primarias y claves ajenas.
  • Paso del diagrama E/R al modelo relacional.
  • Normalización.

9.3. Diseño físico de bases de datos:

  • Herramientas gráficas proporcionadas por el sistema gestor para la implementación de la base de datos.
  • El lenguaje de definición de datos.
  • Creación, modificación y eliminación de bases de datos.
  • Creación, modificación y eliminación de tablas. Tipos de datos.
  • Implementación de restricciones.

9.4. Realización de consultas:

  • Herramientas gráficas proporcionadas por el sistema gestor para la realización deconsultas.
  • La sentencia SELECT.
  • Selección y ordenación de registros. Tratamiento de valores nulos.
  • Consultas de resumen. Agrupamiento de registros.
  • Unión de consultas.
  • Composiciones internas y externas.
  • Subconsultas.

9.5. Edición de los datos:

  • Herramientas gráficas proporcionadas por el sistema gestor para la edición de la información.
  • Las sentencias INSERT, DELETE y UPDATE.
  • Subconsultas y combinaciones en órdenes de edición.
  • Transacciones. Sentencias de procesamiento de transacciones.
  • Acceso simultáneo a los datos: políticas de bloqueo.

9.6. Construcción de guiones:

  • Introducción. Lenguaje de programación.
  • Tipos de datos, identificadores, variables.
  • Operadores. Estructuras de control.

9.7. Gestión de la seguridad de los datos:

  • Recuperación de fallos.
  • Copias de seguridad.
  • Herramientas gráficas y utilidades proporcionadas por el sistema gestor para la realización y recuperación de copias de seguridad.
  • Sentencias para la realización y recuperación de copias de seguridad.
  • Herramientas gráficas y utilidades para importación y exportación de datos.
  • Transferencia de datos entre sistemas gestores.

10. Referencias