Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modulo 1
Modulo 1
Programación de Bases de
Datos
2º Curso de I.T. de Gestión
Ciencias de la Computación e I.A.
1
Introducción
• Diseño, creación y desarrollo de BD y aplicaciones de
gestión.
• Estudiaremos técnicas y herramientas para desarrollo
de pequeños S.I.
• Partimos de diseño orientado a los datos.
» Utilizamos E/R para el esquema de BD.
» Obtenemos un esquema funcional.
» Integramos ambos esquemas.
• Implantamos el esquema de BD en el Modelo
Relacional.
• Programamos las aplicaciones del esquema funcional.
» Lenguajes de programación de BD.
» Programación de Integridad y optimización de
programas.
• Herramientas avanzadas de ayuda al desarrollo.
2
Programa de la Asignatura
3
MÓDULO I. Diseño de bases de
datos
4
MÓDULO II. Programación de
BD en el modelo relacional
7. Programación de la integridad.
8. Optimización.
5
Bibliografía Básica
6
Programa de Prácticas
Evaluación:
Asistencia a clase.
Ejercicio teórico.
Desarrollo de proyecto de prácticas.
Tutoría:
Despacho en dpto. CCIA.
Despacho nº1. Jueves 18:30 a
19:30.
Avisar previamente.
8
Introducción al diseño de BD
• Introducción.
» Metodología a seguir.
• Sistemas de Información.
» Etapas del desarrollo de un S.I.
• Enfoque de diseño orientado a los datos y a las
funciones.
» Fases del diseño de Bases de Datos.
» Enfoque orientado a las funciones.
» Herramientas: El modelo E/R y el modelo
de flujo de datos.
9
Introducción
10
Sistemas de Información
• Componentes:
» Configuración hardware.
» Topología de comunicación.
» Base de datos.
» SGBD.
» Aplicaciones de Gestión.
• Algunos vienen impuestos:
» Sólo incidiremos en el desarrollo de la BD y de
las aplicaciones que la gestionan.
• Herramientas para el desarrollo:
» Lenguajes de programación.
» Herramientas CASE.
11
Etapas del desarrollo de un S.I.
• Ciclo de vida del software
» Un marco de referencia que contiene los procesos, las actividades
y las tareas involucradas en el desarrollo, la explotación y el mantenimiento
de un producto software, abarcando la vida del sistema desde la definición
hasta la finalización de su uso (ISO 12207).
» El ciclo de vida de un proyecto especifica el enfoque general del
desarrollo, indicando los procesos, actividades y tareas que se van a realizar
y en qué orden, y los productos que se van a generar, los que se van a
entregar al cliente y en qué orden se van a entregar.
14
Enfoque de diseño orientado a
los datos y a las funciones
• Fases del diseño de bases de datos
» Diseño conceptual:
– Requerimientos de datos-> Esquema conceptual
– Descripción abstracta del contenido de la BD
– Modelo conceptual, lenguaje para la descripción del
esquema conceptual
» Diseño lógico:
– Esquema conceptual-> Esquema lógico
– Descripción estructura usando un modelo lógico:
Relacional, Redes, Jerárquico o distribuido.
» Diseño físico:
– Esquema lógico-> Esquema físico
– Relativo a un SGBD concreto.
– Estructuras almacenamiento y métodos de acceso a los
datos.
15
Enfoque de diseño orientado a
los datos y a las funciones
• Enfoque orientado a las funciones
» Análisis funcional.
– Requerimientos de las aplicaciones-> Esquema funcional
– Diferentes lenguajes y modelos de representación esquema
funcional.
– BD depósitos de información para intercambio entre
actividades.
» Diseño funcional.
– Esquema funcional-> Especificaciones de aplicación
» Implantación.
– Especificaciones de aplicación-> Especificación detallada del
programa.
• Enfoque orientado a los datos y a las funciones.
» Diferentes perspectivas del problema.
» Metodología conjunta:
– Desarrollo esquemas conceptual y funcional paralelamente.
– Influidas mutuamente.
– Comprueba no existan conflictos entre enfoques.
16
Herramientas: El modelo E/R y
el modelo de flujo de datos
17
Metodología para el diseño
conceptual de BD
1. Introducción.
19
Notación para el modelo E/R.
• Relaciones:
Relación.- Una relación es una asociación entre diferentes entidades.
» (participación, cardinalidad)
- La Participación de un conjunto de entidades E en un conjunto de
relaciones R es total si cada entidad en E participa en al menos una
relación de R. Si sólo algunas entidades en E participan en relaciones
en R, la participación se denomina parcial.
Participación parcial-> 0
Participación total-> 1
- Cardinalidad:
Cardinalidad 1-> Cada entidad participa una sola vez en la
interrelación.
Cardinalidad n-> Cada entidad puede participar varias veces en la
interrelación.
20
Notación para el modelo E/R.
• Jerarquía de generalización
» ({t,p},{e,o})
» Clasificación total (t) o parcial (p)
» Clasificación exclusiva (e) o superpuesta (o)
21
Primitivas del diseño conceptual
23
Primitivas descendentes:Ejemplos
24
Primitivas descendentes:
Ejemplo complejo
25
Primitivas ascendentes
• Tras primitiva B3
comprobar si las
propiedades pasan
de una entidad a
otra.
26
Primitivas ascendentes:Ejemplos
28
Estrategias para el diseño de esquemas.
Estrategia ascendente.
• Se aplican las primitivas
ascendentes para pasar de
conceptos elementales a otros
más complejos.
• Ventaja: sencillez inicial,
permite introducir versiones
preliminares del problema.
• Inconveniente: hay que
reestructurar el esquema.
» Para esquemas complejos
reestructuración difícil.
• Descendente vs Ascendente
» Descendente si se percibe
bien el bosque pero no el árbol.
» Ascendente si se percibe
bien el árbol pero no el bosque.
29
Estrategias para el diseño de
esquemas. Estrategia Centrífuga.
35
Análisis funcional usando el
modelo de flujo de datos.
• Introducción.
• El modelo de flujo de datos.
• Primitivas del modelo de flujo de datos.
• Estrategias:
» Descendentes.
» Ascendentes.
» Centrífuga.
» Mixta.
• Metodología para el análisis funcional.
• Cualidades de un esquema funcional.
• Documentación y mantenimiento de un Esq.
Funcional.
36
Introducción
40
Estrategias para el análisis
funcional. Descendente
42
Estrategias para el análisis
funcional. Centrífuga.
1 Identificar interfaces.
2 Identificar flujos entrada/salida entre interfaces y
sistema.
3 Diseñar un esquema armazón.
4 Repetir:
» Refinar los procesos con estrategias diseño vistas
hasta que: requerimientos se vean reflejados sin entrar en
rasgos procedimentales.
5 Verificar las cualidades del esquema: independencia,
compleción, exactitud, legibilidad y minimalidad.
45
Cualidades de un esquema funcional.
• Legibilidad: entendible.
» Legibilidad conceptual y gráfica.
48
Análisis conjunto de datos y
funciones.
• Introducción.
50
Esquemas externos para los
diagramas de flujo de datos.
51
Esquemas externos para los diagramas
de flujo de datos. Ejemplo
52
Metodología para el análisis conjunto
de datos y funcional.
• Facilita verificar la compleción mutua en etapas intermedias.
• Metodología descendente:
1 Identificar interfaces.
2 Identificar flujos E/S entre interfaces y sistema.
3 Encontrar un primer esquema armazón para los datos y para
las funciones.
4 Repetir:
– Refinar el esquema D con esquema D previo, considerando
esquema F anterior.
– Refinar el esquema F con esquema F previo, considerando
esquema D anterior.
– (Opcional) Probar compleción mutua esquemas D y F.
hasta que: Todos los requerimientos estén expresados.
5 Verificar las cualidades de los esquemas D y F.
Modificarlos hasta que cumplan las cualidades.
• Compleción mutua:
» Cada concepto expresado en los flujos y almacenes de datos está en
el esquema D.
» Para cada elemento de datos debe haber un proceso que lo cree
53
y posiblemente que lo manipule.
Metodología para el análisis conjunto
de datos y funcional.
55
Metodología para el análisis conjunto
de datos y funcional. Ejemplo
56
Metodología para el análisis conjunto
de datos y funcional. Ejemplo
57
Sugerencias para refinamientos mutuos.
58
Sugerencias para refinamientos mutuos.
59
Esquemas de navegación para
operaciones con BD.
• Esquema de navegación: esquema ER anotado con símbolos especiales
que indican como se accede a las entidades y como se recorren las
relaciones.
• Metodología:
» Por cada proceso conectado con un almacén de datos:
1 Determinar las operaciones de BD.
2 Por cada operación:
– Determinar el esquema de la operación. Subconjunto
del esquema que interviene en la operación.
– Determinar el esquema de la navegación. Esquema con
flechas que indican las condiciones de acceso y
símbolos que indican las operaciones (seleccionar,
insertar, actualizar, suprimir).
• Esquema operación incluye:
» Atributos usados en las condiciones.
» Atributos usados en operaciones de recuperación o
actualización.
» Entidades o interrelaciones que son insertadas o suprimidas.
» Interrelaciones o jerarquías que intervienen en la navegación.
60
Esquemas de navegación para
operaciones con BD.
61
Esquemas de navegación para
operaciones con BD. Ejemplos.
• Operaciones para el ejemplo 1:
» Proceso P1: INTRODUCIR LAS CALIFICACIONES DE UN CURSO
– O1: Introducir las calificaciones de un curso.
– O2: Cambiar las calificaciones de un curso.
– O3: Determinar la curva de calificaciones de un curso y calcular su
desviación respecto a una curva normal.
» Proceso P2: PREPARAR PLAN DE ESTUDIO
– O4: Insertar o suprimir un estudiante.
– O5: Introducir el plan de estudio para un estudiante (para un semestre
en particular).
– O6: Cambiar la opción para un estudiante en un curso.
– O7: Retirar una materia del plan de estudio de un estudiante.
» Proceso P3: DIRIRIGIR ESTUDIANTES DE DOCTORADO
– O8: Introducir un nuevo estudiante de doctorado y su asesor.
– O9: Introducir el titulo de la tesis y fecha de defensa.
– O10: Detectar todos los estudiantes que han recibido un notable o
menos en un curso impartido por un profesor dado.
• Ejemplo2: Seleccionar los nombres de los médicos que viven en la misma
ciudad donde nacieron.
62
Esquemas de navegación para
operaciones con BD. Ejemplos.
63