Está en la página 1de 63

Programación de Bases de Datos © Carlos de Mesa Mansilla

Programación de Bases de
Datos
2º Curso de I.T. de Gestión
Ciencias de la Computación e I.A.

Carlos de Mesa Mansilla

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

• MÓDULO I. Diseño de bases de datos.

• MÓDULO II. Programación de BD en el


modelo relacional.

3
MÓDULO I. Diseño de bases de
datos

1. Introducción al diseño de BD.

2. Metodología para el diseño conceptual.

3. Análisis funcional usando el modelo de flujo


de datos.

4. Análisis conjunto de datos y funciones.

4
MÓDULO II. Programación de
BD en el modelo relacional

5. Implantación de BD en el modelo relacional.

6. Lenguajes para el desarrollo de aplicaciones.

7. Programación de la integridad.

8. Optimización.

5
Bibliografía Básica

• Batini, Ceri, Navathe. Diseño conceptual de bases


de datos. Mc-Graw Hill.
• James R. Groff, Paul N. Weinberg. Aplique SQL.
Mc-Graw Hill.
• ORACLE DATABASE 10g. Guía de aprendizaje.
Mc-Graw-Hill.
• Oracle9i2 Server. Application Developer’s Guide
• Oracle 8i : Programación avanzada con PL/SQL
• Oracle9i2 PL/SQL. User’s guide and reference
• Libros de la serie Oracle Press de Mcgraw-hill

6
Programa de Prácticas

• Manejo de lenguajes de datos procedurales.


PL/SQL
• Programación de integridad. Procedimientos
almacenados y disparadores.
• Otras herramientas de programación:
» SQL inmerso ó embebido en C, Java,
PHP,…
» API
» Herramientas RAD o de desarrollo
rápido.
» Herramientas Case
7
Evaluación y Tutorías

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

• Un Sistema de Información es un conjunto de procesos informatizados


que resuelven una serie de necesidades funcionales de una empresa.
• Elementos:
» Un esquema de BD. Los datos de la empresa.
» Aplicaciones que lo usan. Requisitos funcionales.
• Enfoques de un S.I.: Estructurado y Orientado a objeto.
» Usaremos variante enfoque estructurado.
• Metodología: Procedimientos, técnicas y ayudas de documentación para
desarrollo de S.I.
» Análisis y diseño:
» Diseño conceptual BD con E/R.
» Análisis funcional con modelo flujo datos.
» Refinamiento conjunto.
» Implantación:
» BD en modelo Relacional.
» Técnicas y lenguajes para implantación aplicaciones.

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.

Ciclo de Vida Clásico (En cascada). 12


Etapas del desarrollo de un S.I.
• Ciclos de Vida Evolutivos.

» Ciclo de Vida Iterativo. Repetición de


varios ciclos de vida en cascada. Al final de cada ciclo se
entrega una versión completa del software mejorada
respecto a la anterior.

» Ciclo de Vida Incremental. Repetición de varios ciclos de vida en cascada. Al


final de cada ciclo se entrega una versión parcial del software incrementada con
cierta funcionalidad nueva respecto a las entregas anteriores. 13
Etapas del desarrollo de un S.I.

• Ciclo de Vida Iterativo con Prototipos.


Prototipo: Desarrollo no definitivo.

» Los prototipos se pueden


usar como una herramienta
para obtener y validar los
requisitos de clientes y
usuarios en cualquier ciclo
de vida.
» Lo habitual es usar
prototipos de interfaz de
usuario, que pueden
reutilizarse (ejecutables) o
desecharse (papel).

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

• E/R modelo para identificar las estructuras de datos


relevantes problema.
» Facilita representación, comprensión y
transmisión características esquema conceptual.
» Lenguaje gráfico. Diagramas E/R.
• Modelo flujo de datos orientado a procesamiento de
datos.
» Lenguaje gráfico.
• Herramientas CASE
» Basadas en diferentes metodologías.
» Soporte para todas las etapas desarrollo.
» Generación automática diseño físico y aplicaciones.

17
Metodología para el diseño
conceptual de BD
1. Introducción.

2. Notación para el modelo E/R.

3. Primitivas del diseño conceptual.

4. Estrategias para el diseño de esquemas.

5. Criterios de elección entre conceptos.

6. Entradas, salidas y actividades del diseño


conceptual.
18
Notación para el modelo E/R.
Hay tres conceptos básicos:
• Entidades.
• Atributos.
• Conjuntos de relaciones.
• Entidades:
Una entidad es un objeto en el mundo real que es distinguible de todos los demás y que posee un
conjunto de propiedades (atributos). Va a haber un subconjunto de propiedades cuyos valores
van a determinar de una manera unívoca a una entidad.
• Atributos:
» Atributos simples y compuestos. Los atributos simples son aquellos que no tienen
capacidad de ser descompuestos, mientras que los atributos compuestos son aquellos que
permiten descomponerse en otros atributos conformando lo que se denominan jerarquías. Un
ejemplo de atributo simple podría ser la edad, mientras que uno compuesto podría ser la dirección
de un cliente
» Atributos nulos. Un atributo es nulo cuando para una
determinada entidad ese atributo no tiene valor.
» Clave Primaria. Es el conjunto de atributos que es elegido
para identificar a cada una de las entidades de un conjunto de
entidades.

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)

Una entidad E es una generalización de un grupo de


entidades E1, E2, ... En, si cada ocurrencia de cada
una de esas entidades es también una ocurrencia de E.
Todas las propiedades de la entidad genérica E son heredadas por las subentidades.
Cada jerarquía es total o parcial, y exclusiva o superpuesta. Una jerarquía es total si cada
ocurrencia de la entidad genérica corresponde al menos con una ocurrencia de alguna subentidad.
Es parcial si existe alguna ocurrencia de la entidad genérica que no corresponde con ninguna
ocurrencia de ninguna subentidad. Una jerarquía es exclusiva si cada ocurrencia de la entidad
genérica corresponde, como mucho, con una ocurrencia de una sola de las subentidades. Es
superpuesta si existe alguna ocurrencia de la entidad genérica que corresponde a ocurrencias de
dos o más subentidades diferentes.
Un subconjunto es un caso particular de generalización con una sola entidad como subentidad. Un
subconjunto siempre es una jerarquía parcial y exclusiva.

21
Primitivas del diseño conceptual

• Características de una transformación:


» Esquema inicial + transformación = esquema resultante
» Correspondencia entre los nombres de conceptos del esquema inicial y los del
resultante.
» Conceptos esquema resultante heredan conexiones presentes en esquema inicial.
• Primitiva: transformación elemental.
» Primitivas descendentes
– Concepto E.I.->conjunto conceptos E.F.
– Nombres se refinan pasando a conjunto de nuevos nombres.
– Conexiones lógicas heredadas un solo concepto E.R.
» Primitivas ascendentes
– Introducen nuevos conceptos o propiedades en el E.R.
– Adaptar esquema con nuevos rasgos dominio no percibidos inicialmente.
– Para fusionar esquemas en uno global.
22
Primitivas descendentes

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

• Propiedades de las Primitivas


» Las primitivas descendentes no son mínimas: T5 se puede expresar
usando T1 - {T1,T2,T3,T4,T6,T7}, este conjunto si es mínimo.
» Las primitivas descendentes no son completas: sólo pueden generar
gráficos que se puedan reducir a conexiones serie o paralelo de
interrelaciones.
» Las primitivas ascendentes son mínimas y completas.
» Todos los esquemas pueden generarse con primitivas ascendentes.
» Esquemas producibles descendentemente los que se pueden generar
con primitivas descendentes.
27
Estrategias para el diseño de
esquemas. Estrategia descendente

• Se aplican las primitivas


descendentes en sucesivos
pasos de refinamiento.
• Todos los conceptos
están presentes en todos
los planos de refinamiento.
• El proceso termina
cuando están
representados todos los
requerimientos.

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.

• Caso particular ascendente.


» 1 Se fijan los conceptos más evidentes o importantes.
» 2 Se modelan los conceptos más próximos a estos.
» 3 Se modelan sucesivamente los más lejanos.
• Ventaja: Orden en la aplicación de refinamientos.
• Inconveniente: Grado de abstracción similar para cada
refinamiento.
30
Estrategias para el diseño de
esquemas. Estrategia mixta
• Combina descendente con
ascendente para particionar el
problema.
» 1 Se dividen los requerimientos
en dos subconjuntos.
» 2 Se produce un esquema
armazón que aglutina los
conceptos más importantes y las
conexiones entre las particiones.
» 3 Se modela cada partición.
» 4 Se integran utilizando el
armazón.
• Ventaja: El esquema armazón
permite una integración ascendente
más fácil de las particiones.
• Aplica el enfoque de “divide y
vencerás”.
31
Estrategias para el diseño de esquemas.
Comparación de Estrategias.
• Cada estrategia puede conducir a un esquema diferente
» Dada una estrategia y unos requerimientos pueden
obtenerse resultados diferentes.
• Estrategia descendente para entornos de desarrollo
altamente estructurados. Debe usarse siempre que sea
posible.
• Estrategia ascendente para organizaciones informales en
las que integrar a posteriori los diferentes aproximaciones
parciales.
• Generalmente se adopta una mezcla de estrategias
» Se parte de una estrategia descendente y se utiliza
estrategia ascendente para incorporar conceptos
ignorados en fases iniciales.
• En teoría no todos los esquemas pueden ser generados
descendentemente; en la práctica es aplicable a la mayoría
de los diseños.
32
Criterios para elección entre
conceptos
• Entidad o atributo simple
» Entidad: si el objeto va a llevar asociadas
características.
» Atributo: si no le es aplicable ninguna
propiedad.
• Generalización o atributo.
» Generalización: se espera utilizar alguna
característica entidad de bajo nivel.
• Atributo compuesto o conjunto atributos simples
» Compuesto: resulta natural asignarle un
nombre.
» Conjunto simples: representan
propiedades independientes.
33
Entradas, salidas y actividades del
diseño conceptual. Entradas.
• Esquema de caja negra. La Metodología utiliza las entradas
de requerimientos para obtener los resultados perseguidos.
• Entradas-> requerimientos (especificaciones de la aplicación
de la base de datos).
» Requerimientos de datos: estructura de datos.
» Requerimientos de funciones: funciones y actividades
del sistema y flujos de información.
» Requerimientos de aplicación: operaciones sobre los
datos.
• Lenguajes de descripción de requerimientos:
» Lenguaje natural.
» Formularios. Para recabar información de usuarios
» Formatos de registros y de pantallas. Para desarrollo
sobre sistemas antígüos.
» Esquemas de datos. Describen las estructuras de
datos. Para cambiar de SGBD.
34
Salidas y actividades
del diseño conceptual.
• Salidas:
» Esquema conceptual de la base de datos.
» Esquema de funciones.
» Especificaciones de alto nivel de la aplicación.
» Documentación de diseño
• Actividades:
» Análisis de requerimientos. Producir descripciones claras a partir de
los requerimientos obtenidos.
» Conceptualización inicial. Selección de los conceptos a representar
inicialmente (estrategias descendentes, centrífugas y mixtas)->
esquema preliminar incompleto.
» Conceptualización incremental. Aplicación de las estrategias para
refinar el esquema.
» Integración. (Estrategias mixtas y ascendentes) fusión de
esquemas. Se descubren conflictos y propiedades interesquemáticas.
» Reestructuración. Evaluar la bondad del esquema conceptual y
mejorar la calidad del mismo.

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

• Análisis funcional. Modelado de


actividades de una empresa.
• Cómo cada función utiliza la información
y como se intercambia la información entre
las funciones.
• Primer paso para el diseño de programas
de
aplicación sobre la BD.
• Es útil para diseño conceptual. Permite
verificar la compleción.
• Visión procedimental de la base de datos.
37
Modelo de flujo de datos

• MFD elaborar esquema funcional de


sistemas de procesamiento de datos.
• Conduce a la elaboración del
Diagrama de Flujo de Datos (DFD).
• Elementos:
» Proceso: actividad dentro de un sistema
– Generar, usar, manipular o destruir información.
» Flujo de datos: intercambio información entre
procesos.
– Flechas indican dirección del flujo.
» Almacén de datos: depósito de información.
– Archivos, tablas consulta, formularios, papel,
electrónicos.
– Flecha hacia proceso: el proceso utiliza
los datos.
– Flecha hacia almacén: el proceso modifica el
contenido almacén.
» Interfaz: usuario externo al sistema.
– Puede originar o recibir los flujos de datos o de

los almacenes de datos.


38
Modelo de flujo de datos. Ejemplo.

• HACER_RESERVAS: El pasajero solicita una reserva; si se


acepta se almacena la reserva y al pasajero se le entrega un
billete.
• ACEPTAR_REGISTROS: El pasajero con billete solicita
cerrar vuelo; si existen billetes libres se le da la tarjeta de
embarque; si no, se le asigna un vuelo posterior.
• pasajeros_para_ser_programados: indicación de pasajero,
destino y vuelo reservado originalmente.
39
Primitivas para el análisis funcional

40
Estrategias para el análisis
funcional. Descendente

• T1, T2 y T3 son las más


utilizadas
• Descomposición de un
proceso
en subprocesos
» Debe existir independencia
funcional.
41
Estrategias para el análisis
funcional. Ascendente
• El DFD se construye a partir de
conceptos elementales:
1 Se incluyen los procesos elementales.
2 Se incluyen las interfaces y se
conectan a los procesos.
3 Se interconectan los procesos y se
introducen los almacenes de datos.

42
Estrategias para el análisis
funcional. Centrífuga.

• Comienza con los interfases y determina progresivamente los procesos


que participan en los flujos.
• Estrategia orientada hacia la entrada.
» Parte de los interfases que proporcionan información.
• Estrategia orientada hacia la salida
» Parte de los interfases que reciben información mostrada como salida del
sistema.
43
Estrategias para el análisis
funcional. Mixta.

1 Esquema armazón que aglutina los principales procesos.


2 Diseño descendente sobre esos procesos.
3 Se integran de acuerdo con el esquema armazón.
• Conveniente si el sistema es complejo (divide y vencerás).
44
Diseño de un esquema funcional

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.

• Los rasgos procedimentales se introducen cuando


utilizamos: iteraciones, bucles y ejecuciones condicionales.

45
Cualidades de un esquema funcional.

• Independencia funcional: puede


realizar sus funciones
independientemente.
» Separabilidad: analizado de
forma independiente.
» Facilidad integración: el DFD
resultante se puede integrar en
esquema global.
» Flexibilidad: proceso se adapta
a los cambios sin alterar al resto
procesos.
• Compleción: representa todos los detalles de la aplicación sin entrar
en rasgos procedimentales.
• Corrección: usa correctamente elementos MFD para expresar los
requerimientos.
» Es conveniente que las conexiones a través de una
frontera se mantengan tras un refinamiento 46
Cualidades de un esquema funcional

• Legibilidad: entendible.
» Legibilidad conceptual y gráfica.

• Minimalidad: cada aspecto de los requerimientos


debe aparecer una sola vez en DFD.
» Cada actividad-> un solo proceso.
» almacenes de datos no tienen partes en
común.
• El DFD de una empresa real puede no presentar
estas cualidades:
» Análisis funcional permite estudiar los
problemas funcionales presentes en una
empresa.
47
Documentación y mantenimiento de
un esquema funcional.

• Deben documentarse de forma descendente.


• Esquema armazón incluirá pocos procesos
complejos y casi todos las interfaces.
• Los conceptos se expanden a través de varios
planos de refinamiento.
• El mantenimiento se realiza teniendo en cuenta
la documentación anterior.

48
Análisis conjunto de datos y
funciones.
• Introducción.

• Esquemas externos para los diagramas


de flujo de datos.

• Metodología para el análisis conjunto de


datos y funcional.

• Sugerencias para refinamientos mutuos.

• Esquemas de navegación para


operaciones con bases de datos.
49
Introducción

• Diseño conceptual de BD y funcional conjunto


• DFD con esquemas externos; descripción ER de los
datos que usan los procesos o presentes en los
almacenes de datos.
• Metodología de refinamientos mutuos de datos y
funciones.
• Partimos de los esquemas externos para especificar
operaciones de BD, necesario para diseño lógico y
físico.
» Obtenemos esquemas de operación y
esquemas de navegación.
• Esquema D <--> Esquema conceptual de datos
• Esquema F <--> Esquema funcional

50
Esquemas externos para los
diagramas de flujo de datos.

• Esquema externo vista particular de la BD de


una aplicación.
• Diagrama ER que incluye sólo los datos que
conciernen a un proceso o almacén de datos.
• Ventajas:
» Ayuda a ver los datos que formarán parte del
esquema conceptual.
» Ayuda a verificar la compleción del esquema D.
» Útiles para la identificación y especificación de
las operaciones de BD.

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.

• Se pueden emplear otras estrategias (mixta, centrífuga).


• Variantes: Diseño orientado a los datos y diseño orientado a las
funciones.
• Ejemplo. Requerimientos:
» Oficina registro universidad con información plan de estudios de
cada estudiante (cursos realizados y previstos).
» Registro de fechas de cursos (inicio y fin), calificaciones.
» Estudiantes doctorado: departamento, tutores, título tesis y
fecha defensa.
» La información se modifica:
– Estudiante presenta plan estudio para periodo siguiente.
– Profesores entregan calificaciones.
– Estudiantes doctorado escogen tutores y definen título tesis.
» Estudiantes pueden solicitar información de sus calificaciones o
de su situación en el doctorado.
54
Metodología para el análisis conjunto
de datos y funcional. Ejemplo

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.

• Esquema de navegación es un esquema de


operación que incluye símbolos de navegación.

• Notación esquema de navegación:


» Flechas que apuntan hacia atributos indican que
estos se usan en las condiciones de selección.
» Las flechas entre interrelaciones o jeraquías
indican como se recorren.
» Los símbolos R, M, I, D en las entidades o
interrelaciones indican leer, modificar, insertar y
suprimir, respectivamente.

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

También podría gustarte