Cuando el pedido se entrega al cliente, se genera la factura correspondiente.



Documentos relacionados
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

CERTAMEN 2 90 minutos 20 puntos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Normalización. El diseño que hemos recibido está compuesto de estas dos relaciones:

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

EJERCICIO SOBRE EMPRESA DE MATERIALES DE CONSTRUCCIÓN

I. T. en Informática de Sistemas. Facultad de Informática

Tema 6: Diseño de bases de datos relacionales.

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Antes de entrar a definir la forma normal de Boyce-Codd, necesitamos conocer qué se entiende por determinante.

Este es un ejemplo muy sencillo, un esquema de empleados que trabajan en proyectos, en una relación muchos a muchos.

DISEÑO DE FUNCIONES (TRATAMIENTOS)

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Transacciones y bloqueos en SQL-Server

Tema 5: Teoría de diseño de Bases de Datos Relacionales.

TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

- Bases de Datos - - Diseño Físico - Luis D. García

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

Repaso de Conceptos Básicos de Bases de Datos

DISEÑO DE BASES DE DATOS RELACIONALES: NORMALIZACION

Tema 6: Teoría de la Normalización

En primer lugar se obtiene el modelo lógico de alto nivel, independiente del modelo de base de datos y los objetivos a conseguir son:

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

NORMALIZACIÓN DE BASES DE DATOS RELACIONALES

EL MODELO ENTIDAD-RELACIÓN:

Bases de datos relacionales y el modelo entidad-relación

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

Base de Datos Práctica 1.

UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INFORMATICA BASE DE DATOS

MANUAL DE AYUDA MODULO TALLAS Y COLORES

SINAUTO. (Captura Requirimientos) GRUPO 03

Base de datos relacional

SISTEMA DE REGISTRO DE TRANSACCIONES BURSATILES BAGSA MANUAL DE USUARIO

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Del MER al MR. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Unidad II: Diseño de Bases de Datos y el modelo E-R. 2.1 El Proceso de Diseño

1.- Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 2.- Transformación del esquema conceptual al lógico estándar

Que es normalización? Normalización de una base de datos Grados de normalización: Primera Forma Grados de normalización: Segunda Forma Grados de

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

Técnica - Diagrama de Flujo de Datos (DFD)

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

SE PIDE: 1. Suponiendo que partimos del siguiente grafo relacional que recoge parte de los supuestos anteriores,

Patrones para persistencia (I) Ingeniería del Software II

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

GENERACIÓN DE ANTICIPOS DE CRÉDITO

Práctica 3. Consultas SQL

MANUAL DE USUARIO SISTEMA DE ALMACEN DIF SONORA

Bibliotecas Escolares. Perfil de Lector.

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas.

Tutorial: Primeros Pasos con Subversion

MÓDULO 3 HERRAMIENTAS EN LA NUBE: ANFIX

Elementos requeridos para crearlos (ejemplo: el compilador)

Un ejemplo simple de normalización de bases de datos relacionales (hasta 3FN)

Guía de referencia para mytnt. mytnt. C.I.T Tecnología Aplicada al Cliente

Sistema Ventanilla Manual Solicitud Compra DIMERC

- MANUAL DE USUARIO -

NOTAS TÉCNICAS SOBRE EL SIT: Documentos de Gestión

Paso del E-R a tablas

INTRODUCCION A LAS BASES DE DATOS Procesamiento de Archivos vs Bases de Datos ARCHIVOS BASES DE DATOS

Teórico 9 Del MER al MR

Capítulo VI. Diagramas de Entidad Relación

Base de datos en Excel

2 Diseño lógico: Modelo Relacional

T12 Vistas y tablas temporales

CÓMO ENVIAR DOCUMENTOS POR INTERNET DE FORMA SEGURA

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

Manual para la utilización de PrestaShop

Diseño de bases de datos Diapositiva 1

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

TARIFAS DE VENTA Y DESCUENTOS

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES

INDICE. 1. Introducción El panel Entities view El panel grafico Barra de botones Botones de Behavior...

FOCO- LIQUIDACIÓN: DUDAS MÁS FRECUENTES

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Servicio de administración de pautas publicitarias en Internet

Tema 2: Modelo Entidad-Relación(ER)

VJALQUILER VJALQUILER

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

Ecuaciones de primer grado con dos incógnitas

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

MÓDULO 2. LEYES FINANCIERAS DE CAPITALIZACIÓN Y DESCUENTO SIMPLE

DECLARACIÓN DE PRIVACIDAD DE FONOWEB

MANUAL DE FACTURACIÓN

Con esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis.

IntegraQS es el software de gestión ERP que más fácilmente se adapta a cualquier empresa

Modelos y Bases de Datos

Tratamiento del Riesgo

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES

Bases de Datos. Sistemas de Gestión de Bases de Datos

NORMALIZACION. Definición.

Utilidades de la base de datos

Carrito de Compras. Esta opción dentro de Jazz la podremos utilizar como cualquier otro carrito de compras de una página de Internet.

OPERACIONES CON BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS CURSO: IES GONZALO NAZARENO

Soporte y mantenimiento. Generalidades

MANUAL DE CS-ALMACENES

Transcripción:

(-(5&,&,26&$3Ë78/2 Una empresa compra a una serie de es diferentes piezas que posteriormente venderá a sus clientes, debiendo llevar a cabo el control de almacén (nº de piezas existentes de cada una de ellas). La aplicación debe gestionar los es, así como las piezas que proporciona cada uno ( y piezas con sus respectivos precios, corresponde al flujo de entrada ). Con los es y las piezas que proporciona cada uno de ellos, se genera una lista de precios que se corresponde con los precios que consideremos mejores para cada una de las piezas que se puedan proporcionar al cliente (como criterio de selección se encuentra entre otros la marca de la pieza). El control del almacén, es decir, las cantidades que tenemos de las diferentes piezas que hemos pedido a los es (flujo de datos de «pieza stock»), determinará si el pedido realizado por el cliente («pedido cliente») se puede satisfacer completamente o no, según tengamos o no las piezas pedidas (generando en el caso de no tener dichas piezas un listado de ellas, «lista piezas»). Cuando el pedido se entrega al cliente, se genera la factura correspondiente. Cada una de estas funciones (en el DFD 1, 2, 3 y 4) puede realizarse en cualquier momento, independientemente de las demás funciones. Se pide dibujar el diagrama de estructuras correspondiente indicando si la característica principal del DFD es de transformación o transacción. Proveedores Clientes pedido cliente aplicación Alfa 0 factura lista precios Clientes Dpto Pedidos pieza stock lista piezas Dpto Pedidos Proveedor 1 lista precios Stock 2 pieza stock pieza pieza stock validada pedido cliente Pedido Cliente 3 PRECIOS precios pedido validado lista piezas pedido validado PEDIDOS Factura 4 factura Página 8.1

Dar de Alta Proveedor 1.1 Dar de Baja Proveedor 1.2 validado validado PROVEEDORES validado lista precios Generar Lista Mejor Precio 1.4 Consultar/ Modificar Proveedor 1.1 validado pieza Figura 8.4 DFD del ejercicio 1 Se desea automatizar la gestión de un VideoClub. El funcionamiento del sistema es el siguiente: Por un lado, es necesario tratar a los es y, por otro, es necesario tratar a los clientes. El tratamiento de los es incluye, en cualquier instante y de forma independiente, la realización del registro de los catálogos de películas y la generación de pedidos de películas al. Cuando llega un cliente al videoclub, éste solicita el tipo de gestión que quiere realizar, es decir, alquiler, reserva o devolución de película. Cuando quiere realizar un alquiler de una película, el proceso, con la información del alquiler, comprobará si existe stock suficiente de esa película, así como reserva. En caso de ser satisfactorias estas comprobaciones (existe la película y no está reservada por otro cliente), se disminuirá el stock de esa película y se registrará el alquiler generando un comprobante de alquiler para el cliente. Cuando quiere realizar una devolución de una película, lo que se hace es comprobar que la película estaba alquilada por él y aumentar el stock de esa película. Cuando quiere reservar una película, se registra la reserva de la película. No se tiene en cuenta el tratamiento de los errores que pudieran ocurrir. Se pide: realizar el diagrama de estructura correspondiente, indicando si se trata de una transformación (decir cuál es su centro) o de una transacción. Página 8.2

Clientes Alquiler Reserva Devolución Comprobante Alquiler VideoClub 0 Catálogo Pedido Proveedores Alquiler Reserva Devolución Clientes 1 Proveedores 2 Catálogo Pedido PELÍCULAS Comprobante Alquiler Comprobante Alquiler ALQUILERES Alquiler Alquiler 1.1 Devolución 1.2 Devolución RESERVAS PELÍCULAS Reserva Reserva 1.3 Película 2.1 Catálogo Pedido 2.2 Pedido Figura 8.42. DFD del ejercicio 2 Dado el esquema E/R de la figura 8.43, en el que entidades tienen los siguientes atributos: JUGADOR (DNI, NOMBRE_J, FECHA_NACIMIENTO, SUELDO, NACIONALIDAD) EQUIPO (NOMBRE_EQ, CIUDAD, PRESIDENTE) PARTIDO (CÓDIGO, FECHA, RESULTADO) Se pide: 1. Pasar al modelo relacional, aplicando las reglas usuales de derivación. Página 8.3

2. Describir el esquema resultante en el lenguaje SQL, o en cualquier otro que conozca. 3. Sugeriría alguna modificación en el esquema relacional obtenido? En caso afirmativo, podría formular una nueva regla de derivación? Figura 8.43. Esquema E/R del ejercicio 3 La seguridad social desea conocer los pacientes (DNI, NOMBRE, DIRECCIÓN) que han sido atendidos en sus hospitales (CÓD_HOSP) y el doctor que los atiende (CÓD_DOC). Suponiendo que un doctor sólo puede atender en un hospital y que, aunque un paciente puede ser atendido en varios hospitales, en cada uno de ellos sólo le atiende un doctor, determinar las dependencias funcionales y la forma normal de la relación: R (DNI, NOMBRE, DIRECCIÓN, CÓD_HOSP, CÓD_DOC) Llevar esta relación hasta la forma normal que se crea más conveniente explicando los motivos. Especificar todos los supuestos adicionales que se han tenido en cuenta. Llevar las siguientes relaciones hasta la forma normal que se crea más conveniente, explicando los motivos. Especificar todos los supuestos adicionales que se han tenido en cuenta. 1. VIDEOCLUB (TÍTULO, AÑO, NOMBRE_ACTOR, NOMBRE_DIRECTOR, NACIONALIDAD_DIRECTOR) Página 8.4

Se supone que una película sólo tiene un director, pero un director puede dirigir más de una. 2. MENÚ (PERSONA, CLASE, PLATO) Se supone que existen tres clases (primero, segundo y postre), y que cada persona sólo come un plato de cada clase. Por otra parte, cada plato (por ejemplo, «sopa») sólo pertenece a una clase (primero). Dado el diagrama E/R de la figura 8.44, se pide pasarlo al modelo relacional, proponiendo varias alternativas (en lo que respecta a la jerarquía de generalización), valorando las ventajas e inconvenientes de cada una. Figura 8.44. Diagrama E/R del ejercicio 6 Página 8.5

62/8&,21(6$/26(-(5&,&,26 En este ejercicio, el enunciado refleja una transacción en el primer nivel, ya que nos dice que cualquiera de las funciones del diagrama principal «puede realizarse en cualquier momento, independientemente de las demas funciones». Esto quiere decir que en un instante determinado se puede realizar cualquiera de las funciones indicadas sin que previamente se necesite haber realizado alguna de ellas en particular. En este ejercicio no se ha contemplado el tratamiento de errores. Así, por ejemplo, no se podrá realizar una factura si no existe ningún pedido. Aunque esto pudiera indicar que sería necesario realizar primero el proceso o módulo 3 y posteriormente el 4, en la realidad no es así, ya que nosotros podemos acceder primero al módulo 4 y, en el caso de que no hubiese ningún pedido no se realizaría la factura, apareciendo el mensaje de error o de aviso que nos indicaría que no existe ningún pedido al que se le pueda hacer factura. Tal como hemos visto primero puedo procesar el módulo 4 y luego el 3 o viceversa, es decir el orden depende de la selección que haga la persona que trabaje con el programa. Así mismo, existe otra transacción en el módulo 1, ya que no podremos dar de alta, de baja o consultar/modificar a un de forma simultánea. El proceso 1.4 puede ser contemplado por algunos lectores también como parte de la transacción, sin embargo, en la solución hemos decidido que sea un proceso que se hace siempre, independientemente de la opción que se haya seleccionado. opción 0 Opción 2 3 1 4 pieza stock PSV ped cli Prec ped val lista piez Ped Val factura Piez Stock P_ S_V Ped Cliente Precios Ped Valid Imprimir Lista Piez Ped Validado Imprimir Factura Página 8.6

1 opción prov 1 Opc Prov 1.1 1.2 1.3 1.4 prov p_v prov p_v prov p_v p_v lista prec prov pieza Proveed Proveed Proveed Proveed Proveed Esc/ Proveed Imprimir List Prec Prov Piez Figura 8.45. Solución Ejercicio 1 En este ejercicio, el enunciado tiene ocultos los centros de transacción existentes en la solución propuesta. El primer centro de transacción, módulo 0, se corresponde con el párrafo «por un lado, es necesario tratar a los es y, por otro, es necesario tratar a los clientes». Evidentemente, con un conocimiento más profundo del sistema se llegaría a esta conclusión, dado que está frase pudiera ser ambigua para algunos lectores. La segunda transacción se produce con los clientes, módulo 1, y es evidente que un cliente no puede alquilar, devolver o reservar una película, simultáneamente sino que si quiere realizar estas tres acciones tendrá que hacerlas una detrás de otra. La tercera transacción, módulo 2, se produce porque el enunciado dice que tanto el registro de catálogos de películas como la generación de pedidos de películas se realizan de forma independiente, es decir, que ninguna función necesita de la otra para ejecutarse. En este ejercicio no se ha contemplado el tratamiento de errores, que, evidentemente, debe tener cualquier aplicación que se haga. Este tratamiento de errores debería contemplar, por ejemplo, que no se puede devolver una película si no se ha alquilado previamente. Esto no quiere decir que al ejecutar el programa, con la solución propuesta, no se pueda realizar primero el módulo de devoluciones y luego cualquier otra opción, ya que si primero se ejecuta el módulo de devoluciones y no hay alquileres, daría el correspondiente mensaje de error. Tanto esta solución como la del ejercicio anterior reflejan la programación de los programas basados en windows, donde se pueden tener abiertas muchas ventanas en paralelo, aunque realmente sólo se trabaja con una. La forma de expresar este tipo de programación es mediante transacciones. Página 8.7

opc1 0 Opción Opción opc2 1 opc3 2 Opción A 1.1 P Alquiler Devoluc R D P A alquiler 1.2 1.3 2.1 2.2 A alquiler película CA P Compro R Reserva P película R reservas C Catalog P P Esc/Le Películ Pdo Pedido película reserva película Figura 8.46. Solución ejercicio 2 1. Aplicando las reglas usuales, toda entidad se transforma en una relación, toda interrelación N:M se transforma en una relación y toda interrelación 1:N se traduce en el mecanismo de propagación de clave, por lo que el esquema relacional resultante es: JUGADOR (DNI, NOMBRE_J, FECHA_NACIMIENTO, SUELDO, NACIONALIDAD, NOMBRE_EQ) EQUIPO (NOMBRE_EQ, CIUDAD, PRESIDENTE) PARTIDO (CÓDIGO, FECHA, RESULTADO) JUEGA (DNI, CÓDIGO, PUESTO) DISPUTAN (CÓDIGO, NOMBRE_EQ) 2. La descripción en lenguaje SQL quedaría así: CREATE DOMAIN NOMBRES AS VARCHAR (25) CREATE DOMAIN DINERO AS INTEGER (8) CHECK (VALUE >=0) CREATE DOMAIN CODIGO AS CHAR (6) CREATE TABLE JUGADOR ( DNI CHAR (10), NOMBRE_J NOMBRES NOT NULL, FECHA_NAC DATE NOT NULL, SUELDO DINERO, NACIONALIDAD NOMBRES NOT NULL, NOMBRE_EQ NOMBRES NOT NULL, CONSTRAINT CP_JUGADOR CHECK PRIMARY KEY DNI, Página 8.8

CONSTRAINT JUGADOR_EQUIPO FOREIGN KEY NOMBRE_EQ REFERENCES EQUIPO ON DELETE RESTRICT ON UPDATE CASCADE ) CREATE TABLE EQUIPO ( NOMBRE_EQ NOMBRES, CIUDAD NOMBRES NOT NULL, PRESIDENTE NOMBRES NOT NULL PRIMARY KEY NOMBRE_EQ ).... Además, para reflejar toda la semántica del esquema, se deberían añadir restricciones y aserciones que controlaran las cardinalidades mínimas y máximas distintas de 0, 1, n. 3. Se podría sugerir transformar la relación, ya que la cardinalidad mínima y máxima de la entidad equipo es dos, de modo que resultaría: DISPUTAN (CÓDIGO_PARTIDO, EQUIPO_LOCAL, EQUIPO_VISITANTE) como su clave primaria es la misma que partido, se podrían fusionar ambas relaciones en una sola: PARTIDO (CÓDIGO, FECHA, EQUIPO_LOCAL, EQUIPO_VISITANTE, RESULTADO) Se podría incluir una nueva regla a considerar al pasar interrelaciones de cardinalidades máximas distintas de 1 o n, que consistiría en propagar tantas veces la clave de una entidad como cardinalidad tuviese en la otra entidad (en este caso, se propagaría la clave de equipo 2 veces a partido). Esta regla seria útil para casos en los que la cardinalidad es un numero pequeño y si tanto la máxima como la mínima son iguales, se garantiza evitar valores nulos. Si suponemos que los nombres de los pacientes no son únicos y que en una misma dirección podrían vivir varios pacientes, las dependencias funcionales de la relación r son: DNI NOMBRE DNI DIRECCIÓN CÓD_DOC CÓD_HOS DNI, CÓD_HOS CÓD_DOC Las claves de la relación serían {DNI, CÓD_HOS} y {DNI, CÓD_DOC}, al existir atributos no principales (nombre, dirección) que dependen de parte de las claves pero no de las claves completas, es decir, al existir dependencias funcionales no completas, la relación r no se encuentra en 2FN. Para llevarla a 2FN la descomponemos en proyecciones independientes según el principio de Rissanen: ENFERMO (DNI, NOMBRE, DIRECCIÓN) R' (DNI, CÓD_DOC, CÓD_HOS) La relación enfermo se encuentra en FNBC, ya que todo determinante es clave (DNI). Página 8.9

La relación r' se encuentra en 3FN, ya que no existen atributos no principales, pero no está en FNBC, ya que no todo determinante es clave, pues CÓD_DOC es determinante pero no es clave. Las claves, que se solapan, son {DNI, CÓD_HOS} Y {DNI, CÓD_DOC}, Para llevar la relación r' a la FNBC la podemos descomponer de tres formas distintas, la mejor es: R1 (CÓD_DOC, CÓD_HOS) R2 (DNI, CÓD_DOC) Ya que en cualquier otro caso se pierde información (apareciendo tuplas espurias). A pesar de todo se pierde la dependencia funcional DNI, COD_HOS COD_DOC, por lo que podría ser conveniente dejarla en 3FN. 1.-Si suponemos que los títulos de las películas no se pueden repetir, que un actor puede hacer varios papeles, y que en una película actúan varios actores. TÍTULO -> NOMBRE_DIRECTOR TÍTULO-> AÑO NOMBRE_DIRECTOR -> NACIONALIDAD_DIRECTOR La clave de la relación será {TÍTULO, NOMBRE_ACTOR}, por lo que al existir atributos no principales (como, por ejemplo, AÑO o NOMBRE_DIRECTOR) que dependen de parte de la clave pero no de la clave completa, la relación VIDEOCLUB no se encuentra en 2FN. Para llevarla a 2FN la descomponemos en proyecciones independientes según el principio de Rissanen: (TÍTULO, ACTOR) (TÍTULO, NOMBRE_DIRECTOR, AÑO, NACIONALIDAD_DIRECTOR) La primer relación se encuentra ya en FNBC, mientras que la segunda no se encuentra en 3FN, ya que el atributo NACIONALIDAD_DIRECTOR depende transitivamente de TÍTULO, a través de NOMBRE_DIRECTOR. Para llevarla a 3FN la descomponemos en proyecciones independientes: (TÍTULO, AÑO, NOMBRE_DIRECTOR) (NOMBRE_DIRECTOR, NACIONALIDAD_DIRECTOR) que ya se encuentran en FNBC, al ser todo determinante una clave. 2.- Las dependencias funcionales son las siguientes: (PERSONA, CLASE) -> PLATO PLATO -> CLASE Las claves de la relación serían: {PERSONA, CLASE) y (PERSONA, PLATO). Al no existir atributos no principales la relación se encuentra en 3FN, pero no está en FNBC, ya que no todo determinante es clave. En efecto, PLATO es un determinante, pero no es clave (forma parte de una, pero no ES clave). Para llevar esta relación a FNBC la podríamos descomponer de las siguientes maneras: a) (CLIENTE, CLASE) (PLATO, CLASE) Descomposición en la que perdemos información (aparecen tuplas espurias). Página 8.10

b) (CLIENTE, PLATO) (CLIENTE, CLASE) Perdemos las dos dependencias funcionales. c) (CLIENTE, PLATO) (PLATO, CLASE) Se pierde la dependencia (CLIENTE, CLASE) -> PLATO, por lo que en este caso no sería demasiado conveniente llevar la relación hasta la FNBC. Una opción posible sería transformar cada super-tipo y sub-tipo de entidad en una relación: ESQUEMA (NOMBRE_ESQ, AUTORIZACIÓN,...) OBJETO (NOMBRE_ESQ, NOMBRE_OBJETO,...) DOMINIO (NOMBRE_ESQ, NOMBRE_OBJETO, TIPO DE DATOS,...) TABLA (NOMBRE_ESQ, NOMBRE_OBJETO, NÚMERO_FILAS,...) RESTRICCIÓN (NOMBRE_ESQ, NOMBRE_OBJETO, PREDICADO,...) VISTA (NOMBRE_ESQ, NOMBRE_OBJETO, CHECK_OPTION, ACTUALIZABLE,...) ASERCIÓN (NOMBRE_ESQ, NOMBRE_OBJETO,...) RESTRICCIÓN_DOMINIO (NOMBRE_ESQ, NOMBRE_OBJETO, NOMBRE_ESQ_ DOMINIO, NOMBRE_OBJETO_DOMINIO...) RESTRICCIÓN_TABLA (NOMBRE_ESQ, NOMBRE_OBJETO, NOMBRE_ESQ_TABLA, NOMBRE_OBJETO_TABLA...) SE_BASA_EN (NOMBRE_ESQ TABLA, NOMBRE_OBJETO_ TABLA, NOMBRE_ESQ_VISTA, NOMBRE_OBJETO_VISTA ) Otra solución consistiría en transformar las jerarquías en una sola relación, pero en este caso tendríamos: ESQUEMA (NOMBRE_ESQ, AUTORIZACIÓN,...) OBJETO (NOMBRE_ESQ, NOMBRE_OBJETO, CLASE, TIPO DE DATOS, NÚMERO_FILAS, PREDICADO, CHECK_OPTION, ACTUALIZABLE, NOMBRE_ESQ_ DOMINIO, NOMBRE_OBJETO_DOMINIO, NOMBRE_ESQ_TABLA, NOMBRE_OBJETO_TABLA...) SE_BASA_EN (NOMBRE_ESQ TABLA, NOMBRE_OBJETO_ TABLA, NOMBRE_ESQ_VISTA, NOMBRE_OBJETO_VISTA ) Esta segunda opcíon presenta la ventaja de que es más eficiente ante ciertas consultas, pero la relación OBJETO presenta una gran cantidad devalores nulos, además de perder semántica respecto a la opción anterior. Una solución más adecuada podría ser la siguiente: ESQUEMA (NOMBRE_ESQ, AUTORIZACIÓN,...) DOMINIO (NOMBRE_ESQ, NOMBRE_OBJETO, TIPO DE DATOS,...) TABLA (NOMBRE_ESQ, NOMBRE_OBJETO, NÚMERO_FILAS,...) RESTRICCIÓN (NOMBRE_ESQ, NOMBRE_OBJETO, PREDICADO,...) VISTA (NOMBRE_ESQ, NOMBRE_OBJETO, CHECK_OPTION, ACTUALIZABLE,...) ASERCIÓN (NOMBRE_ESQ, NOMBRE_OBJETO,...) RESTRICCIÓN_DOMINIO (NOMBRE_ESQ, NOMBRE_OBJETO, NOMBRE_ESQ_ DOMINIO, NOMBRE_OBJETO_DOMINIO...) RESTRICCIÓN_TABLA (NOMBRE_ESQ, NOMBRE_OBJETO, NOMBRE_ESQ_TABLA, NOMBRE_OBJETO_TABLA...) Página 8.11

SE_BASA_EN (NOMBRE_ESQ TABLA, NOMBRE_OBJETO_ TABLA, NOMBRE_ESQ_VISTA, NOMBRE_OBJETO_VISTA ) en la que se aplica para la entidad OBJETO y sus sub-tipos directos la transformación consistente en eliminar el super-tipo y pasar las características comunes a los sub-tipos. Página 8.12