You are on page 1of 20
9 Andlisis conjunto de datos y funciones En este capitulo se enfoca el diseio conceptual y el andlisis funcional de manera conjunta. Se extienden los DFD para incorporar los esquemas externos, a saber, la descripcion de Ex de los datos que se usan en los procesos 0 que se guardan en los almacenes de datos. Después se introduce una metodologia conjunta para el diseno de datos y funciones, en la que los desarrollo de los esquemas de da- tos y de funciones influyen uno sobre el otro a través de refinamientos mutuos y verificaciones de complecién, Finalmente se muestra el uso de los esquemas externos como punto de partida para especificar operaciones de bases de datos, que son esenciales para seguir el diseito légico y fisico. Desde un punto de vista terminologico, la expresin andlisis de datos se usa para resumir todas las actividades que previamente se han denominado disenio conceptual de base de datos, porque este término es normalmente usado en con- traposicién con el de andlisis funcional. Se usan los términos esquema D para designar un esquema conceptual (de base de datos) y esquema F para denotar un esquema de funciones. La idea basica de la metodologia de diseio conjunta es alternar los refinamientos del esquema D y del esquema F; cada refinamiento 5 influido por la version previa de ambos esquemas, e| D y el F. En concreto, se ilustran algunos refinamientos propuestos después de aplicar transformacio- nes primitivas a esquemas elementales. Después de cada par de etapas de refi- namiento realizadas sobre el esquema D y el F, una verificacién de congruencia mutua asegura que las dos especificaciones son coherentes. La prueba de la con- gruencia mutua se facilita por el uso de esquemas externos, que describen la ¢s- tructura de los almacenes de datos y los requerimientos de datos de Jos proce- sos. En seguida, los procesos se analizan para determinar las operaciones de base de datos, que son pequefias unidades de interaccién con ta base de datos. En la practica, cada proceso puede incluir varias operaciones; por otro lado, una ope- racion de base datos puede ser usada por varios procesos. Las operaciones se especifican usando esquemas de navegacién: esquemas ER anotados con sim- bolos especiales que muestran cémo se obtiene acceso a las entidades y cOmo se 258 DISERO CONCEPTUAL DE BASES OE DATOS recorren las relaciones. Los esquemas externos se usan como punto de partida para la extraccion de los esquemas de navegacién. El apartado 9.1 presenta los esquemas externos; el apartado 9.2 introduce el enfoque conjunto del andlisis de datos y funcional, y aplica este enfoque a un pequeito caso de estudio, El apartado 9.3 sugiere cOmo escoger los refinamien- tos para los esquemas D y F y cémo retener el beneficio de los refinamientos previos en el otro esquema, El apartado 9.4 explica como seleccionar las ope- raciones de base de datos a partir de los procesos y cémo asociarlas con los es- ‘quemas de navegacion. Los diversos métodos que se presentan en este capitulo se aplican en el siguiente a un caso de estudio mas grande. 9.1. Esquemas externos para los diagramas de flujo de datos En la literatura de bases de datos, el término exquema externo se usa para desig- nar una vista particular de la base de datos que se presenta a una aplicacin especifica o a un grupo de aplicaciones. En una arquitectura compleja de base de datos, varios esquemas externos se pueden construir sobre un esquema con- ceptual unico; cada esquema externo incluye solo los datos concernientes a la aplicacién o aplicaciones consideradas. Asi, en la terminologia ER, un esquema externo puede omitir porciones enteras del esquema conceptual ¢ incluir sola- mente aquellas entidades ¢ interrelaciones que se usan en la aplicacién perti- nente. El esquema externo puede también omitir de las entidades ¢ interrelacio- nes aquellos atributos que no son mencionados por la aplicacién. En general, los esquemas externos se definen para bases de datos en operacién; no se usan durante el diserio conceptual de bases de datos. En esta seccién se propone el uso de esquemas externos durante el disco funcional. En este marco, un esquema externo es un esquema ER que incluye s6lo los datos que conciernen a una porcién especifica de un DFD; en concreto, se propone asociar un esquema externo con algunos de los procesos y almace- nes de datos de un DFD, Por ello, algunas veces nos referiremos a él como es- quema externo de proceso. Diseiiar un esquema extemno es, por tanto, un caso muy simple del diseno conceptual, cuyo objetivo es desarrollar un esquema ER Pequeio, pero completo y correcto. En la figura 9.1 se presentan algunos ejemplos de esquemas externos para el DFD que se utiliz6 en el ultimo capitulo, con objeto de mostrar las diversas es- trategias de disefio de DFD. La figura 9.1a muestra el esquema externo asociado con el almacén de datos BITACORA_DE PEDIDOS, un archivo que guarda solici- tudes de libros hechas por cientificos; como tal, el esquema externo correspon- diente (usando el modelo ER) tiene las dos entidades LIBRO y CIENTIFICOS, co- nectadas por la interrelacion SOLICITADO_POR. De manera similar, las figuras 9.1b y 9.1 muestran los esquemas externos de los almacenes de datos SUBVEN- CIONES y CATALOGO_DE_LIBROS y la figura 9. 1d muestra el esquema externo del ANALISS CONJUNTO DE DATOS Y FUNCIONES 259 BITACORA., “SUBVENCONES ‘CATALOGO. = PEDDOS ‘BROS 4 }—» 10.suBvenc, Fo canna. ACTUAL CENTIFCO 9) Esquema externo de (b) Esquema extemo de (6) Esquema externo de BITACORA_DE_PEDIDOS ‘SUBVENCIONES, CATALOGO_DE_LIBROS reco. ow Feo of um bs i Gx 8] FEOoO usro £3 ¥o,, wun {(@) Esquema externo de ORDENAR_LIBRO Figura 9.1. Esquema externo para el oro de la figura 8.4d {y también 8.5¢, 8.6¢, 8.7). proceso ORDENAR_LIBRO. Obsérvese que cada esquema externo esta enmarcado ‘en un hexagono conectado con uno de Jos elementos del DFD. La introducci6n de esquemas externos durante el andlisis funcional tiene va- “ rias ventajas: 260 DISENO CONCEPTUAL DE BASES DE DATOS 9.2. 1. Ayuda a identificar los datos que deben llegar a formar parte de la base de datos; tal conocimiento puede influir sobre los refinamientos del esquema D. 2, Los esquemas externos sirven para realizar cuidadosas verificaciones de complecion del esquema D, pues aseguran que todos los conceptas de los esquemas externos estén también mencionados en el esquema D. 3. Los esquemas externos pueden llegar a ser utiles para una fase subsecuente del disefto: la identificacion y especificacién de las operaciones de base de datos. Si adoptamos una posicion extrema, podemos imaginar una metodologia ascendente pura de disefto de datos, que se obtiene al diseiar primero cada es- quema externo y, luego, integrarlos todos en el esquema conceptual, siempre y cuando cada parte del esquema sea parte de un almacén de datos 0 lo use un proceso. Sin embargo, una metodologia asi tiene todos los inconvenientes del diseno ascendente, incluidas la falta de una vision global de los requerimientos de datos y la necesidad de una resolucion frecuente de conflictos, ademas de indeseables efectos colaterales. Se propone, en su Ivgar, que Jos esquemas exter- nos sean usados para la verificacién de complecién del esquema conceptual, como se mostrard en el préximo apartado. Una metodologia para el andlisis conjunto de datos y funcional En el capitulo 8 se observaron varias similitudes entre el andlisis funcional y el disefio conceptual de base de datos; esas similitudes sugieren que el andlisis de datos y funciones puede realizarse de manera conjunta. La principal razon para un anélisis conjunto es que cada planteamiento puede apoyar y completar al otro. E] proceso de analizar un sistema de informacién se realiza a través de re- finamientos progresivos, y éstos se simplifican si las especificaciones de los da- tos y funciones se praducen conjuntamente. Ast, tenemos que los refinamientos de los esquemas de datos pueden sugerir refinamientos de los esquemas de fun- ciones, los que a su vez pueden sugerir refinamientos de los esquemas de datos; este proceso puede repetirse varias veces. Esto es similiar a lo que hacen ios es- caladores de montanas, que normalmente alternan el movimiento de los miem- bros izquierdos y derechos; cada movimiento hace posible el siguiente. Una segunda razon para adoptar un enfoque integrado es que ayuda a al- canzar la complecién mutua. Se puede estar seguro de que los esquemas de datos y funciones son mutuamente completos sélo si se hace una comparacién cru- zada de su contenido de informacion. Por ejemplo, se verifica que los almace- nes de datos de los DFD estén representados en el esquema conceptual, ¢ igual- mente que las operaciones de manipulacién de datos pertenezcan a algin ANALISIS CONJUNTO DE DATOS ¥ FUNCIONES: 261 4. Identifier as interfaces 2, Identiticar los flujos de entradaysalida entre las intertaces y et sistema. 3. (dentifcar un primer esquema de datos armazén y un esquema funcional armazén. 4, Repeti 4.1. Fetinar el esquema D a partir del esquema D previo, observando simulténeamente el es- quera F anterior. 4.2. Reefinar el esquerna F a partir del esquema F previo, observando simulténeamente el es- ‘quema D anterior 4.3. (Paso opcional) Probar la congruencia mutua de los esquemes D y F, hasta que todos los conceptos de fos requerimientos hayan sido expresados en el esquema 5. Verificar las cualidades de los esquemas D y F: complecién propia y mutua. correccién, legibik- dad, rinimalidad, independencia funcional (slo para el esquema F); modificar los esquemas D 1 F para que tengan las cualidades arriba citadas. Figura 9.2, Metodologia para el andlisis conjunto de datos y funcional proceso, La complecién mutua es una propiedad requerida solamente en las versiones finales del esquema; aun asi, se puede alcanzar de manera mas facil (y puede realmente guiar el proceso de refinamiento) si es probada continuamente en las versiones intermedias de los esquemas. Una metodologia descendente de anilisis conjunto de datos y funciones se muestra en la figura 9.2. En este enfoque el esquema de datos y el de funciones (abreviados a esquema D y esquema F) se diseftan concurrentemente; la activi- dad de disefo esta organizada en las siguientes fases: 1. Disefto inicial, que es la determinacion de esquemas D y F armazén. Estas son representaciones iniciales de datos y funciones que pueden ser refinadas descendentemente en fases subsecuentes del diseo. En concreto, se debe dar prioridad al esquema F armazén y concentrar la atencién en la descripcién de entradas-salidas del sistema, identificando todas las interfaces y flujos de entrada-salida. 2. Refinamientos progresivos descendentes, realizados en paralelo para los es- quemas D y F. El proceso de identificar los refinamientos de cada esquema esta influido por las versiones previas de ambos. En este apartado, mas ade- lante, se daran varias indicaciones para ejecutar tales refinamientos coordi- nados. 3. Verificacién de complecién mutua, que se realiza frecuentemente durante el disefio conjunto (quiza después de cada refinamiento). Definimos la comple- ci6n mutua como sigue: a) El esquema D esté completo en relacién con el esquema F si cada con- cepto expresado implicitamente en los flujos de datos y en los almacenes de datos del esquema F aparece en el esquema D. Para demostrar la com- pleci6n del esquema D, resulta muy itil considerar los esquemas exter- 262 DISERIO CONCEPTUAL DE BASES DE DATOS nos y verificar que cada concepto mencionado en cualquiera de ellos esté también presente en el esquema D. 4) El esquema F esta completo respecto al esquema D si cada operacion de recuperacidn 0 manipulacién que deba ser realizada con los datos es en verdad realizada por un proceso del esquema F. En particular, para cada elemento de datos almacenado, debe haber un proceso encargado de su creaciOn, y se espera que algun proceso se ocupe de su recuperacion y eli- minacién. 4. Andlisis final de los esquemas D y F: aqui se prueban las cualidades de los esquemas, y puede ser que se realice la reestructuracién de algunos esque- mas. Este planteamiento descendente puro se puede modificar de acuerdo con las necesidades del diseador; en particular, en el caso de aplicaciones com- plejas, los esquemas armazén pueden ser usados como punto de partida de una estrategia mixta que implique datos y funciones. En este caso, es esencial que cada par de refinamientos progresivos de datos y funciones se relacione con la misma vista de la aplicacién. La integraci6n final es guiada entonces por los esquemas armazén. Alternativamente, cada etapa de refinamiento puede Ile- varse a cabo con una estrategia diferente de la estrategia descendente pura; por ejemplo, los pasos del disefto funcional pueden realizarse con un plantea- miento centrifugo. En el curso de diseftar una aplicacién particular, se puede destacar el disefio de datos o el disefio de funciones, dandole mas realce a las decisiones de disefto producidas por cualquiera de ellos. Si se da mas importancia a los datos 0 a las funciones, se dice que el diserio esta orientado a los datos u orientado a las fun- ciones, respectivamente. Asi, la metodologia de disefio conjunto de datos y fun- cional que se presenta en este capitulo representa una soluci6n equilibrada den- tro de un continuo cuyos extremos estan representados por un disefio conceptual de datos puro o por un andlisis funcional puro. Este planteamiento se demues- tra por medio de un pequesio ejemplo de una oficina de registro; en el proximo capitulo se presenta un caso de estudio mas grande. Considérese un sistema de informacién de estudiantes con los siguientes requerimientos. La oficina de registro de una universidad tiene informacion sobre el plan de estudios de cada estudiante, donde se indican los cursos que éstos han se- guido o van a seguir; también se registra cudndo completardn cada curso, in- formacién sobre la nota final, y la fecha de finalizacién. Para los estudiantes de doctorado, el departamento mantiene los nombres de los asesores y el ti- tulo y la fecha del examen de grado. Esta informacion se modifica cuando el estudiante presenta su plan de estudio para el siguiente periodo, cuando los profesores entregan las calificaciones al final del periodo y cuando los estu- diantes de doctorado escogen a sus asesores o definen sus exdmenes de grado. Los estudiantes pueden solicitar informacion de sus calificaciones o de su avance en pos del doctorado. Se empieza por proporcionar un esquema F armaz6n, que se muestra en la ANALISS CONJUNTO DE DATOS Y FUNCIONES 263 parte superior de la figura 9.3a, La primera representacin es bastante simple: se incluye un proceso Unico OFICINA_DE_REGISTRO; la interfaz ESTUDIANTE, que presenta solicitudes a la oficina (concernientes al registro de lista de estudios 0 al desarrollo del doctorado); la interfaz PROFESOR, que entrega las calificacio- nes, y el almacén de datos DATOS_DE_ESTUDIANTES. Teniendo en cuenta el es- quema F, derivamos un esquema D armaz6n muy simple con las entidades ES- TUDIANTE y CURSO, y la interrelacién SEGUIDO_POR entre ellas. Ahora se considerard de nuevo el esquema F, Se refina el proceso OFICINA- _DE-REGISTRO para dar dos procesos, ATENDER_SOLICITUDES @ INTRODUCIR- UCALIFICACIONES. Esto muestra, entre otras cosas, que la seleccién de cursos en el plan de estudio es obligacion del estudiante, mientras que introducir las cali- ficaciones es obligacidn de los profesores. Esto sugiere un refinamiento en el es- quema D, que consiste en dividir la interrelaci6n SEGUIDO_PoR entre ESTU- DIANTE y CURSO en las dos interrelaciones PLANEADO_POR (que indica todos los cursos insertados en el plan de cada estudiante) y COMPLETADO_POR (que in- dica los cursos que ya han sido completados por un estudiante, con la califica- cién final). Se procede en seguida con el esquema F. El proceso ATENDER SOLICITUDES se refina posteriormente para dar tres procesos, SELECCIONAR_SOLICITUD, PRE- PARAR_PLAN-DE.ESTUDIO, DIRIGIR_ESTUDIANTES_DE_DOCTORADO, De esta manera se han identificado los procesos para tratar los planes de estudio, los da tos de los estudiantes de doctorado y las calificaciones de los cursos; se acepta este DFD como esquema F final; no se necesitan refinamientos posteriores. ‘A continuacion se refina el esquema D. Como una consecuencia de la divi- sin del proceso ATENDER_SOLICITUDES, ahora se reconoce que algunas solici- tudes son hechas por un subconjunto especifico de estudiantes, ¢ introducimos la entidad subconjunto ESTUDIANTES_DE_DOCTORADO. En seguida se refinan las, entidades ¢ interrelaciones afadiendo atributos. La interrelacion PLANEADO- -POR tiene un atributo OPCION_DEL_ESTUDIANTE (que puede ser una califica- ion de letra o aprobar/sin crédito); la interrelacién COMPLETADO_POR tiene los atributos FECHAFINAL y CALIFICACION. También se definen los atributos Co- DIGO, PROFESOR y NOMBRE para CURSO, ID_DEL_ESTUDIANTE y NOMBRE para ESTUDIANTE; y FECHA_ORAL, TITULO_DE_TESIS y ASESOR para ESTUDIANTES- -DE_DOCTORADO. Se selecciona CODIGO como identificador de CURSO € ID- “DEI_ESTUDIANTE como identificador de ESTUDIANTE. De esta manera, se producen los esquemas D y F finales como resultado de dos refinamientos de los esquemas armaz6n iniciales, con influencia mutua. Los dos esquemas representan los requerimientos por completo y tienen las cuali- dades deseadas; en particular, la complecién mutua se alcanza porque todos los datos mencionados en los esquemas F son modelados en los esquemas D; a la inversa, todas las funciones requeridas para la manipulacion de los datos del es- quema D existen en el esquema F. Las figuras 9.4a, b y c muestran los esquemas externos de los tres procesos PREPARAR.PLAN_DE_ESTUDIO, INTRODUCIR_CALIFICACIONES, DIRIGIR_ESTU- DIANTES_DE_DOCTORADO. La complecién del esquema D puede ser compro- 264 DISENO CONCEPTUAL DE BASES DE DATOS: Esquema F armazon ESTUDIANTE, sacones proreson |p} OCIA DE Esquems D armazén DATOS.DE ESTUDUNTES curso | EsquemaF: refinamiento 4 se, ana conus Lo Sea —1— OATOS_OE ESTUDIANTES. Esquema D: refiamiento 1 ry calli reson [eo ("ENTRAR CURSO; PROFES! ‘CALIFICAC ESTUDIANTE. (a) Estructura de los esquemas D y F y primer refinamiento de ambos Diseo conjunto de datos y funciones para el ejemplo de la oficina de registro, Figura 9. ANALISIS CONJUNTO DE DATOS Y FUNCIONES 265 Exquoma D:refinamiento 1 Esquema F refinamverta 1 Esquema F: rfinamionto 2 (asquera F final) solita sELECC_ esTuoiaNTe |——m | SELECC ereoanan.—) (omer esrupantes OE ESTUBO ‘8 DOCTORADO TOs. 08 OATOS DE esrupanres | EST_DE-DOCTORADO. 7 PROFESOR — Esquema D;ralinaiento 2 fesquema D fal) Tr DE_TESIS ESTUDIANTE_, ASESOR, DEDOCTORAGO [-OASESOR (b) Segundo refinamiento de los esquemas F y D Figura 9.3.Bis Disefio conjunto de datos y funciones para el ejempio de la oficina de registro (continuacién). 266 PREPARAR. PLAN DE ESTUDIO 1+ copico Eo nowsre BSc area ONOMERE @0DELesT. (a) Esquema extemo para FREPARAR_PLAN_DE_ESTUDIO. \ ISERNO CONCEPTUAL DE BASES DE DATOS INTRODUCIR. ‘CALIFICA- ‘Clones FECHALFINAL ESTUBRNTE LO Tr De 158 De FO: ‘CALFICACION pOcTOAADO FO FECHALORAL Lonowsre estuointe [eID DELEsTO, (B) Esquema extermo para (6) Esquema externo para INTRODUGIA..CALIFICACIONES DIRIGIR_ESTUDIANTES_0F_DOCTORADO }-2 co0ico Lo NowsRe FECHA FINAL ‘CALFICACION [8 0oeLestuo, estuoanTe [FO NONBRE 1-0 T1.0e TESS ESTUOINNTE, Fo aseson DE-DOCTORADO E'S FECHA ORAL (€) Inegracion 6 los esquernas externos| Figura 9.4. Verificacién de complecién de! esquema D usando esquemas externos. ANALISIS CONJUNTO DE DATOS Y FUNCIONES: 267 bada verificando que todos los conceptos mencionados en el esquema externo estén representados en el esquema D-final. Efectivamente, al integrar los esque- mas externos de los tres procesos se obtiene exactamente el esquema D final. 9.3. Sugerencias para refinamientos mutuos La principal ventaja de disedar los esquemas de datos y funciones conjunta- mente es la posibilidad de alternar los refinamientos de cualquiera de los esque- mas, de acuerdo con el estado actual de ambos. En este apartado se considera- ran Ios cambios elementales que pueden ocurrir en cualquiera de los esquemas y se sugeriran los refinamientos que correspanden al otra. Se considerara primero el caso en el cual se aplica una primitiva de refina- miento al esquema F. Supongase que se aplica dicho refinamiento a un proceso P de un pr y que EE es el esquema externo asociado con P; veremos como se puede hacer la modificacién correspondiente a EE. Se supone que el esquema externo EE consiste inicialmente en una sola entidad E, y se refina P aplicando cualquiera de las primitivas T,, T2 0 T; para ta descomposicién del proceso (Fig. 8,3), con lo que se generan dos procesos, P; y P2. Se tienen los siguientes casos, que se ilustran en la figura 9.5: 1. Los dos procesos P, y P; se aplican a subconjuntos especificos de ios casos de la entidad E. En este caso se puede refinar ‘a entidad E para dar una je- rarquia de generalizacion entre las tres entidades E, E), y E>. Si E; y Ez no companten propiedades comunes, se puede refinar E para dar dos entidades separadas E; y Eo 2. P; se aplica a todos los casos de E, pero P, se aplica sélo a un subconjunto de E. En este caso se puede refinar E, introduciendo una interrelacién sub- conjunto entre E y una nueva entidad Ey. 3. Uno de los dos procesos, digamos P;, opera sobre todos los casos de la enti- dad E, sin importar la generalizacién. En este caso ef refinamiento del es- quema F no sugiere un refinamiento correspondiente en el esquema externo. Obsérvese que hablamos de refinamientos del esquema externo EE ; estos refinamientos serdn transferidos después al esquema D. Cuando el refinamiento de P se hace usando la primitiva T3, se coloca un nuevo almacén de datos entre P, y Ps, Este almacén de datos, por lo general, debe incluir un subconjunte del esquema externo de P; sin embargo, es también muy probable que tal primitiva pueda generar nuevos datos. Esto introduce una etapa ascendente en el desarro- No det esquema D. Una situacién similar ocurre cuando una entidad E del esquema D se refina a través de una jerarquia de generalizacién; supongamos, como antes, que el es- quema externo EE del proceso P consiste solo en la entidad E, pero ahora se deja que dicha entidad sea refinada a través de una generalizacion que conecta 268 DISEKIO CONCEPTUAL DE BASES DE DATOS Suacon wii Co J—(Le}) ween O=EE Akematva 2 Ateratva 3 Refinamsentos induces del esauomaD t & 5 Esquemas externos nuevos = ‘ old Sa Figura 8.5. Ejemplos de refinamientos de datos inducidos por refinamientos de fun- clones. E con las subentidades E, y E2. Los siguientes casos son entonces posibles, como se muestra en Ja figura 9.6: 1, El proceso P es tambign dividido en dos procesos, P, y P2, cada uno centrado en el uso de cualquiera de las nuevas subentidades. P, y P; pueden ser in- dependientes (producidos por la primitiva Ts, véase la figura 8.3) 0 estar co- nectados a través de un flujo (primitiva T2) 0 un almacén de datos (primitiva T,)s los procesos estén conectados cuando los casos de una de las dos suben- tidades, digamos E,, se usan antes que los datos de Ja otra subentidad Ex. ANALISIS CONJUNTO DE DATOS ¥ FUNCIONES: 269 sus nt CG) (Ee) € Aetnaente dl esque 0 7] = 4 E, & Alternativ 4 Atornatva 2 Retinamianta inducido det esauema D Esquemas extemos nuevos 4 Figura 8.6. Ejemplo de refinamientos de funciones inducidos por refinamientos de datos. 2. El proceso P no necesita ser dividido, porque todos los casos de E, sin im- portar la existencia de subentidades, son usados por P. Se puede considerar un esquema externo EE ligeramente mas complejo, que consiste en dos entidades, E, y Ex, conectadas por una interrelacién R. En este caso P usa la interrelacién R para tener acceso a una de las dos entidades, di- gamos E;, partiendo de la otra. Entonces el refinamiento del proceso P para dar P, y P2 puede indicar que la interrelacion R debe ser refinada para dar R, y Ry cuando los dos procesos, P; y Pz, usen criterios diferentes para tener acceso a la entidad E;. A la inversa, el refinamiento de R para dar R, y R; puede indicar que el proceso P debe ser refinado para dos procesos P; y P;, de manera que cada proceso use s6lo una de las dos interrelaciones. En el ejemplo de la oficina de registro, se usaron las transformaciones antes comentadas. Concretamente: 1) la division de la funcién OFICINA_DE_REGISTRO en dos funciones, ATENDER_SOLICITUDES € INTRODUCIR_CALIFICACIONES, que corresponden a la division de la interrelacién SEGUIDO_POR en PLANEADO_POR, 270 DISENO CONCEPTUAL DE BASES DE DATOS Por cada PROCESO conectado con un ALMACEN DE DATOS: "+ Determiner es operaciones de base de doe, on dec, ntracsonesnvidules co a bane de datos. 2, Para cada operacién: 2.1. Determinar el esquema de la operacién, que es el subconjunto del esquema que contiene todos los datos mencionados por la operacién. 2.2. Determinar el esquema de navegacién, que es un nuevo esquema con flachas que indican las condiciones de acceso y las navegaciones, y simbolos que indlcan las operaciones de acceso de base de datos realizadas (Seleccionar, insertar, actualizar, suprimi. Figura 9.7. Metodologia para producir esquemas de navegacién. Y COMPLETADO_POR, y 2) la generaci6n de la funci6n DIRIGIR_ESTUDIANTES- “DE_DOCTORADO por la division de la funci6n ATENDER_SOLICITUDES corres- ponde a la creaciGn de la entidad subconjunto ESTUDIANTE_DE_DOCTORADO. Los dos refinamientos han sido inducidos en el esquema D después de una rees- tructuracién del esquema F; en este sentido se puede decir que el ejemplo del apartado 9,2 se obtuvo emprendiendo acciones més decisivas sobre el esquema de funciones, es decir, con un enfoque (moderado) orientado a las funciones. Conviene hacer hincapié en que los ejemplos que se consideran en este apar- tado son sdlo los refinamientos tipicos sugeridos, en general, los refinamientos reales son mucho mas complejos. Los ejemplos nos dan un menti de patrones de refinamientos posibles que se pueden usar como marcos de referencia; el di- sefiador puede ser capaz de ajustarlos y adaptarlos al problema especifico en consideracién. 9.4. Esquemas de navegacién para operaciones con bases de datos En esta secci6n se introducen los conceptos nuevos de operacién, esquema de operacion y esquema de navegacién, y luego se presenta una metodologia pro- gresiva para especificar esquemas de navegacién de cada operacién de base de datos, Esta metodologia se ilustra en la figura 9.7. Derivar esquemas de nave- gaciGn resulta util para las fases subsecuentes del disefto de base de datos, en particular para el disetto logico (descrito en la tercera parte). La primera etapa consiste en identificar las operaciones de base de datos. Una operacién de base de datos es una interaccién elemental con la base de datos, que no incluye enunciados de control (por ejemplo, si-entonces-si no, mientras- hacer, repetir- hasta que) sino exclusivamente operaciones de recuperacion o de actualizacion, Estas operaciones se pueden efectuar a través de una sola llamada aun sistema de base de datos (en el caso de un sistema relacional, a través de una sola consulta en sat), La complejidad de la llamada puede variar, pero tarde 6 temprano resultaré en la recuperaci6n o actualizacién de algunos registros. Las operaciones se realizan como parte de las actividades que tienen lugar ANALISIS CONJUNTO DE DATOS Y FUNCIONES. 271 dentro de un proceso; en consecuencia, para identificar las operaciones se ne- cesita detectar los procesos que las producen. Los procesos candidatos estén di- rectamente vinculados con algin almacén de datos. Se analizan entonces los procesos (complejos), para extraer de ellos varias operaciones (simples). En este capitulo no se considerara cémo interactuan las operaciones para construir apli- caciones complejas; se considerara, en consecuencia, cada operacin de base de datos de forma independiente. Como quedara claro en los proximos capitulos, esta especificacion es suficiente para el diseito légico de la base de datos. Para cada operaci6n identificada se dibuja un esquema de operacién, que consiste en el subconjunto de] esquema externo del proceso que utiliza real- mente la operaci6n. El esquema de operaci6n contiene todos los elementos del esquema externo mencionados en el esquema de especificacién o requeridos para la navegacién, en caso de que no estén explicitamente mencionados. Si no se cuenta con el esquema externo del proceso, el esquema de operacién debe ser extraido del esquema D completo. Un esquema de operacion incluye: 1) atri- butos que se usan para las condiciones que gobiernan el acceso a las entidades ¢ interrelaciones, 0 su sclecci6n; 2) atributos que usan las operaciones de recu- peracion o actualizaci6n; 3) entidades o interrelaciones que son insertadas 0 su- primidas; y 4) interrelaciones o jerarquias de generalizacién que se usan para la navegacion. El esquema de Ja operacin es una estructura plana que no representa como se realiza el procesamiento de la base de datos; de hecho, una operacién usa los conceptos de la base de datos en una secuencia dada, proporcionando las con- diciones de acceso (predicados de seleccién), especificando navegaciones por las interrelaciones; y finalmente ejecutando acciones de lectura, modificaci6n, eli- minacion 0 inserciGn sobre las entidades o interrelaciones seleccionadas. Tal se- cuencia de acciones esta representada en un esquema de navegacion, que es una modificacion del esquema de operacién previo que incluye simbolos especiales: 1) las flechas que apuntan a los atributos indican atributos usados en las con- diciones de seleccién; 2) las flechas entre las interrelaciones 0 generalizaciones indican navegacion; y 3) los simbolos R, M, I, y D dentro de las entidades 0 interrelaciones indican respectivamente las acciones leer, modificar, insertar y suprimir. Adviértase que la misma entidad o interrelacién puede ser usada de diferen- tes maneras por la misma operacién y esto puede derivar en una repeticion de la entidad o interrelacion en el esquema de navegacion. De hecho, después de repetirse las entidades e interrelaciones, los ciclos dentro del esquema de ope- racién se eliminan y, consecuentemente, las entidades ¢ interrelaciones quedan parcialmente ordenadas por la relacién de precedencia asociada con las flechas tipo 2; en la mayoria de los casos, este orden parcial se reduce a una secuencia simple 0 a un arbol. Obsérvese que los esquemas de navegacién son un medio de indicar graficamente qué es lo que est implicado en una operacién de alto nivel; no decimos que la notacién del esquema de navegacién sca completa 0 correcta. Es decir, no podemos afirmar que la notaci6n sea adecuada para re- presentar todas las operaciones. 272 DISENIO CONCEPTUAL DE BASES DE DATOS Proceso P,: INTRODUGIR_LAS_CALIFICACIONES, DE_UN_CURSO ©, :Introducir las caificaciones de un curso ©, : Cambiar las calificaciones de un curso , : Determinar la curva de calficaciones de un curso y calcular su desviacién con respecto a tuna curva normal Proceso P;: PREPARAR_PLAN_DE_ESTUDIO ‘0, :Insertar o suprimir un estudiante ©! :Introducir el plan de estudio de un estudiante (para un semestre en particular) ‘0, Cambiar la opcién del estudiante para un curso , : Retirar una materia del plan de estudio de un estudiante Proceso Py: DIRIGIR_ESTUDIANTES_DE_DOCTORADO ©, :Introducir un nuevo estudiante de doctorado y su asesor ©, :Introducir el titulo de la tesis y la fecha del examen oral (,: Detectar todos los estudiantes que han recibido una 8 0 menos en un curso impartido por un profesor dado Figura 9.8. Operaciones para el ejemplo de la oficina de registro. La metodologia antes mencionada se aplicard en el ejemplo de la oficina de registro que se introdujo en el apartado anterior. Una lista de las operaciones se ofrece en la figura 9.8; la lista se explica por si misma con la excepcién de la operacién Ojo, que sera desarrollada posteriormente en el resto de este apar- tado. La operacion Ojo se especifica como sigue: «Detectar todos los estudiantes que han recibido una B 0 menos en un curso impartido por un profesor dado». El esquema de operacion correspondiente se muestra en la figura 9.9 incluye Ios atributos PROFESOR, CALIFICACION, y NOMBRE, extraidos respectivamente de CURSO, COMPLETADO_POR, y ESTUDIANTE. Este esquema da lugar al esquema de navegacién que se muestra en Ia figura 9.10. Respecto al esquema de operacién, se aftaden las siguientes caracteristica 1) la anotaci6n R esta presente en todos los conceptos de los esquemas para in- curso | PROFESOR a (CALIFCACION Puen estuoiante [© NOMBRE Figura 9.9. Ejemplo de un esquema de operacién. ANALISIS CONJUNTO DE DATOS ¥ FUNCIONES 273 ESTUDIANTE Figura 9.10, Ejemplo de esquema de navegacion. dicar que se usan para la recuperacion; 2) hay flechas que apuntan a los atri- butos CALIFICACIONES Y PROFESOR, utilizados para las condiciones de recupe- raciOn; y 3) las flechas a lo largo de la interrelacion COMPLETADO_POR que an que la interrelacion se recorre de CURSO a ESTUDIANTE. Obsérvese que el tercer punto arriba mencionado se debe al juicio subjetivo del disetador. La flecha puede dibujarse en cualquier sentido cuando hay condiciones en los dos lados de la interrelacion. Otros ejemplos de esquemas de operaciGn y navegacién se construyen a par- tir del esquema D en Ia figura 9.11 (véase el ejercicio 9.6). Considérese la ope- racién: «Seleccionar los nombres de los médicos que viven en la misma ciudad donde nacieron». El esquema de operacién se muestra en la figura 9.12; incluye todas las imterrelaciones, las entidades PERSONA y CIUDAD, y los atributos NOM- BRE Y PROFESION de PERSONA y NOMBRE de CIUDAD. El esquema de navegacion se muestra en la figura 9.13, y presenta una estructura notablemente diferente; indica que Ja condicién inicial esta en PROFESION de PERSONA, para seleccionar FECHA.DE_NAGIMIENTO (on NUMLSEG.SO | NOMBRE © }-# nomen pROFESION O—| PERSONA [>> —=" —]_cudad_ "5 provincia FECHA.DE_NACAMEENTO © varon | [ HEMBRA smack. 6 APELUCO. MuTAR DELSOLTERA x OE Figura 9.11. Esquema de datos para ejemplificar esquemas de navegacién, 274 DISENO CONCEPTUAL DE BASES DE DATOS NOMBRE 1-0 NOMBRE Prereen SL PERSONA ve EN ‘GiUDAD Figura 9.12. Ejemplo de esquema de operacién. aquellas personas que son médicos; entonces, se recorren las interrelaciones NA- CIO_EN y VIVE_EN para seleccionar dos casos de CIUDAD. Si estas ciudades tie- nen el mismo nombre, la persona seleccionada satisface todas las condiciones, y el nombre puede ser recuperado. Asi, el esquema de navegacion representa una posible manera (entre otras) de derivar los nombres de los médicos que cumplen todas las condiciones. Se proporcionarén muchos otros ejemplos de esquemas de navegacion al final de! siguiente capitulo. 9.5. Resumen En este capitulo se ha mostrado una metodologia para vincular los esquemas de datos, denominados esquentas D, y los de funciones, denominados esquemas F, a través de esquemas externos, refinamientos mutuos y esquemas de navega- cién, para producir una especificacion conceptual conjunta de datos y funcio- nes, Este proceso es similar al de un escalador de montaias, que alterna los mo- vimientos de los miembros izquierdos y derechos. El mimero de movimientos y su selecci6n para un proceso de diseo especifico son altamente subjetivos, pero afirmamos que este enfoque facilita el entendimiento progresivo de la na- turaleza de los datos y funciones, asi como la comparacién cruzada para lograr complecién y coherencia. oe NOMBRE <— co NOMBRE <— NOMBRE OY —> PROFESON o— Figura 9.13. Ejemplo de esquema de navegacion. ANALISIS CONJUNTO DE DATOS ¥ FUNCIONES: 275, Ejercicios 9.1. Disefie los esquemas externos para el DFD de futbol que se muestra en la figura 8.12; haga suposiciones explicitas cuando se necesite. 9.2. Explique la diferencia entre los esquemas externos usados en las arquitec- turas de base de datos (por ejemplo, las tres arquitecturas de esquemas) y los introducidos en este capitulo. 9.3. Considere el ejemplo de la oficina de registro; proponga un desarrollo di- ferente de este caso de estudio, en el que los refinamientos para este es- quema D induzcan refinamientos en el esquema F. 9.4. Aplique la metodologia de diseio conjunto de datos y funciones al si- guiente caso de estudio: En un amplio valle alpino bien comunicado, todas las sillas para esquia- dores y teleféricos estan sujetos a un sistema Gnico de billetes, aunque per- tenecen a distintos propietarios. Los billetes tienen una banda magnética que puede ser leida por un dispositive magnético cuando cada esquiador espera su turno para subir. Los dispositivos magnéticos estén conectados a un computador central, que mantiene informacién sobre el uso de las si- llas y teleféricos. Cada semana los beneficios de la venta de billetes se dis- tribuyen entre los propietarios, proporcionalmente al uso. Los esquiadores son identificados por un ntimero iinico, y se conservan datos estadisticos en relacion a cuantas veces cada silla 0 teleférico es usado por los esquia- dores que han comprado su billete en una taquilla especifica. Esta infor- macién se usa para determinar lo lejos que viaja cada esquiador en el valle, suponiendo que los esquiadores compran las billetes en un lugar cercano a sus residencias. 9.5, Derive los esquemas de operacién y navegacién para las tres operaciones del caso de estudio del ejercicio 9.4. 9.6. Traduzca a esquemas de navegaci6n, usando transformaciones paso por paso, las siguientes operaciones con esquema de la figura 9.11. @) Recupere los nombres y direcciones de todos los programadores que vi- ven en ciudades con menos de 1000 habitantes. b) Recupere los nombres y direcciones de todos los programadores que vi- ven en Milén y tienen més de 50 aitos de edad, ©) Inserte el hecho de que una mujer determinada, con cierto numero de seguro social, tiene un apellido de soltera que anteriormente se dejo sin especificar. 4) Inserte la informacion de que el capitan John Dow nacié en Minnea- polis en 1955. ©) Recupere el nimero de habitantes de las ciudades en las que vive una alcaldesa. 276 DISENO CONCEPTUAL DE BASES DE DATOS: Bibliografia T.W. Olle, H.G. Sot, y A.A. Verrijn-Stuart, eds., Information Systems Design Methodo- logies: A Comparative Review, North-Holland, 1982 (conferencia CRIS 1). TW, Olle, H.G. Sol, y C.J. Tully, eds. Information Systems Design Methodologies: A Feawure Analysis, North-Holland, 1983 (conferencia CRIS 2). Estos dos libros presentan una comparacién de varias metodologias para andlisis de datos y funcional. Todas las metodologias se ven trabajando con el mismo caso de est. dio, la organizacién de una conferencia de trabajo IFIP. El primer libro presenta la apli- cacion de siete metodologias al caso de estudio; el segundo presenta varios trabajos de repaso que comparan esas metodologias detalladamente. J.L. Carswell, jr. y S.B. Navathe, «SA-ER: A Methodology That Links Structured Analy- sis and Entity-Relationship Modeling for Database Design». En S. Spaccapietra, ed., Proc. Fifth International Conference on Entity-Relationship Approach, Dijon, Fran- cia, North-Holland, 1986. Este trabajo presenta un enfoque metodologico para el analisis y diseno de sistemas de informaci6n e integra diagramas de flujo de datos y esquemas ER. En el enfoque pro- puesto, los DFO son modelados inicialmente, uno para cada «unidad» del sistema de in- formacién; luego, para cada unidad, se produce una representacién ER de los datos. Asi, después de estas actividades de modelado, el sistema de informacién se describe por me- dio de varios DFD, producidos con un planteamiento descendente, y varios esquemas de datos ER independientes. Al final, todos los esquemas de datos se integran en uno solo, usando las técnicas de integraciOn de esquemas presentadas en el capitulo 5, con un Pplanteamiento ascendente, A. Cornelio y $.B, Navathe, «Database Support for Engineering CAD and Simulation». En Proc. Second International Conference on Data and Knowledge Systems for Ma- nufacturing and Engineering, ACM-SIGMOD, IEEE, NIST, Gaithersburg, Md., 1989. A. Cornelio y $.B, Navathe, «Modeling Engineering Data By Complex Structural Ob- jects and Complex Functional Objects», En Proc. International Conference on Exten- ding Data Base Technology, Venecia, Italia, 1990. ‘A. Comelio, S.B. Navathe y K-L. Doty, «Extending Object-Oriented Concepts to Sup- port Engineering Applications». En Proc. IEEE Sixth International Conference on Data Engineering, Los Angeles, IEEE, 1990. 5.B. Navathe y A. Cornelio, «Database Integration for Engineering Design». Proc. First International Conference on System Integration, Morristown, N.J., IEEE, 1990. Estos trabajos presentan un planteamiento para modelar entornos complejos, siste- ‘mas fisicos, sistemas de ingenierla, o cualquier entorno similar pot medio del paradigma estructura funcién (S-F). Este enfoque es una extension del planteamiento de modelado orientado a objetos para lograr una mejor caracterizacion de las interacciones complejas y de la dinamica de los sistemas complejos. En el paradigma S-F, estructura y funcion se Tepresentan usando distintos tipos de objeto; la correspondencia general de muchos a muchos entre estructuras y funciones se capta mediante un tetcer tipo de objeto, deno- minado tipo de abjeto de interaccién, Las reglas para abstraer estructuras y funciones para agregaciones y generalizaciones se desarrollan detalladamente.

You might also like