Diseño  de  bases  de  datos

+Info
DEPARTAMENTO PROFESOR/ES
MATEMÁTICAS Y COMPUTACIÓN Arturo Jaime Elizondo
César Domínguez Pérez
TITULACIONES EN LAS QUE SE IMPARTE LA ASIGNATURA
Titulación Carácter Curso Semestre Créditos Guía Docente
Grado en Ingeniería Informática Obligatoria 2 Primer Semestre 6 pdf
Grado en Matemáticas Optativa 4 Primer Semestre 6 pdf
BIBLIOGRAFÍA RECOMENDADA
Elmasri, R.; Navathe, S. B., "Fundamentos de Sistemas de Bases de Datos", Addison-Wesley. 2007
COMENTARIO PROFESOR
Libro básico y extenso sobre bases de datos. Muy utilizado en las universidades a escala internacional. Se actualiza muy a menudo (cada dos o tres años) y se traduce a español con relativa rapidez. Es el libro básico de la parte teórica de la asignatura y cubre en buena proporción la parte práctica.
J. Rumbaugh, I. Jacobson, G Booch “El Lenguaje Unificado de Modelado. Manual de Referencia”. 1999
COMENTARIO PROFESOR
Libro específico para el tema sobre diagramas de clase UML. Se trata de un manual de referencia del lenguale de modelado UML. Sólo nos interesa del mismo todo aquello relacionado con los diagramas de clase que van a ser utilizados en la asignatura para diseñar conceptualmente bases de datos como alternativa al EER.
T.M. Connolly, C.E. Begg “Sistemas de bases de datos. Un enfoque práctico para diseño, implementación y gestión” 2005
COMENTARIO PROFESOR
Libro alternativo al de Elmasri y Navathe. Es también extenso y se actualiza periódicamente. Es interesante el tratamiento metodológico que hace del diseño físico de las bases de datos y la utilización de notación UML para el diseño conceptual en lugar de alguna de las alternativas usuales de ER o EER.
Material didáctico para teoría y prácticas disponible en el aula virtual


CONTEXTO


Esta es la segunda de tres asignaturas obligatorias dedicadas al estudio de las bases de datos. La asignatura "programación de bases de datos" asume que se conocen los contenidos y competencias sobre modelo relacional y lenguaje SQL adquiridos en la asignatura de primero denominada "bases de datos" y los contenidos y competencias que se van a adquirir en la presente asignatura. Básicamente los alumnos deben conocer los pasos de diseño de bases de datos en sus tres niveles principales: conceptual, lógico y físico y adquirir las competencias que le permitan desarrollar estas tres actividades con garantías. El carácter de esta asignatura es práctico y está íntimamente emparentada con su predecesora. Se seguirán trabajando competencias ya adquiridas y utilizando conceptos que ya deberían haberse asumido por los alumnos. Las competencias de la asignatura también son requisitos para la asignatura optativa de bases de datos administración de SGBD. Las habilidades y la tecnología a adquirir son imprescindibles en el desarrollo de cualquier base de datos, y por tanto central al desarrollo de sistemas de información, de ahí el interés de la correcta adquisición de sus competencias para el resto de asignaturas relacionadas con la ingeniería del software y de los sistemas de información.
Esta asignatura tiene como requisitos previos la práctica totalidad de las trabajadas en la asignatura "bases de datos" de primer curso. Tanto interesa el correcto control del modelo relacional, lenguaje de manipulación de bases de datos SQL, como el dominio de conceptos generales de bases de datos y de las operaciones del álgebra relacional.

COMPETENCIAS
COMPETENCIAS GENERALES:
CG1-Estar capacitado para analizar, razonar y evaluar de modo crítico, lógico y, en caso necesario, formal, sobre problemas que se planteen en su entorno.
CG2-Estar capacitado para, utilizando el nivel adecuado de abstracción, establecer y evaluar modelos que representen situaciones reales.
CG3-Estar capacitado para encontrar, relacionar, estructurar e interpretar datos, información y conocimiento provenientes de diversas fuentes.
CG7-Haber desarrollado aquellas habilidades de aprendizaje necesarias para continuar su formación.
CG8-Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, la concepción, el desarrollo o la explotación de sistemas, servicios y aplicaciones informáticas.
CG9-Capacidad para dirigir las actividades objeto de los proyectos del ámbito de la informática.
CG10-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.
CG14-Capacidad para conocer, comprender y aplicar la legislación necesaria durante el desarrollo de la profesión de Ingeniero Técnico en Informática y manejar especificaciones, reglamentos y normas de obligado cumplimiento.
CG15-Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.

COMPETENCIAS ESPECÍFICAS:
CE4-Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.
CE7-Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
CE13-Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.
CE18-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.
CE19-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.
CE26-Capacidad para valorar las necesidades del cliente y especificar los requisitos software para satisfacer estas necesidades, reconciliando objetivos en conflicto mediante la búsqueda de compromisos aceptables dentro de las limitaciones derivadas del coste, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones.
CE28-Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
CE30-Capacidad para diseñar soluciones apropiadas en uno o más dominios de aplicación utilizando métodos de la ingeniería del software que integren aspectos éticos, sociales, legales y económicos.
TEMARIO
<em>Tema 1: Introducción</em>
<div style="margin-left: 40px;"><em>1.1 Sistemas de información y sistemas de BD (SBD)</em>
<div style="margin-left: 40px;"><em>1.2 Análisis, diseño e implementación de BD</em>
<div style="margin-left: 40px;"><em>1.3 Herramientas de diseño</em>
<em>Tema 2: Diseño conceptual con el modelo entidad-relación</em>
<div style="margin-left: 40px;"><em>2.1 Modelos de datos conceptuales</em>
<div style="margin-left: 40px;"><em>2.2 Tipos de entidad, atributos y claves</em>
<div style="margin-left: 40px;"><em>2.3 Tipos de relación, roles y restricciones.</em>
<div style="margin-left: 40px;"><em>2.4 Tipos de entidad débiles</em>
<div style="margin-left: 40px;"><em>2.5 Tipos de relación que unen a más de dos tipos de entidad</em>
<em>Tema 3: EER y diagramas de clase UML</em>
<div style="margin-left: 40px;"><em>3.1 Herencia de atributos y relaciones en EER</em>
<div style="margin-left: 40px;"><em>3.2 Restricciones: disjunta/solapada, total/parcial</em>
<div style="margin-left: 40px;"><em>3.3 EER versus diagramas de clase UML</em>
<em>Tema 4: Diseño lógico: transformación del modelo de datos</em>
<div style="margin-left: 40px;"><em>4.1 Transformación EER-relacional</em>
<div style="margin-left: 40px;"><em>4.2 Transformación de diagramas de clase UML a relacional</em>
<em>Tema 5: Normalización</em>
<div style="margin-left: 40px;"><em>5.1 Anomalías de actualización, valores nulos y tuplas espurias.</em>
<div style="margin-left: 40px;"><em>5.2 Dependencias funcionales</em>
<div style="margin-left: 40px;"><em>5.3 Descomposición de relaciones</em>
<div style="margin-left: 40px;"><em>5.4 Formas normales</em>
<div style="margin-left: 40px;"><em>5.5 Desnormalización</em>
<em>Tema 6: Organización interna y diseño físico</em>
<div style="margin-left: 40px;"><em>6.1 Discos magnético, bloques y registros</em>
<div style="margin-left: 40px;"><em>6.2 Organizaciones básicas: montón, ordenado y direccionamiento calculado</em>
<div style="margin-left: 40px;"><em>6.3 Hardware relacionado: RAID, SAN, NAS</em>
<div style="margin-left: 40px;"><em>6.4 Índices B+</em>
<div style="margin-left: 40px;"><em>6.5 Índices sobre clave múltiple</em>
<div style="margin-left: 40px;"><em>6.6 Pasos en el diseño físico</em>
<em>Tema 7: Optimización</em>
<div style="margin-left: 40px;"><em>7.1 Optimización sintáctica: Heurística</em>
<div style="margin-left: 40px;"><em>7.2 Optimización física: Estimación de coste</em>
Tema 8. Disparadore<em>s</em>
<div style="margin-left: 40px;"><em>8.1 Modelo básico para disparadores</em>
<div style="margin-left: 40px;"><em>8.2 Estándar e implementación en algún sistema</em>
<div style="margin-left: 40px;"><em>8.3 Diseño de disparadores</em>
<div style="margin-left: 40px;"><em>8.4 Riesgos asociados al uso de disparadores</em>
<em>Tema 9: XML y Bases de datos</em>
<div style="margin-left: 40px;"><em>9.1 Documentos XML</em>
<div style="margin-left: 40px;"><em>9.2 Cómo almacenar documentos XML en BD</em>
<div style="margin-left: 40px;"><em>9.3 Cómo extraer información de BD en formato XML</em>
<em>Tema 10: Bases de datos distribuidas</em>
<div style="margin-left: 40px;"><em>10.1 Conceptos de BDD</em>
<div style="margin-left: 40px;"><em>10.2 Diseño de BDD</em>
<div style="margin-left: 40px;"><em>10.3 Procesamiento de consultas en BDD</em>
<div style="margin-left: 40px;"><em>10.4 BDD y cliente-servidor</em>