You are on page 1of 34
Cémo mejorar la calidad de un esquema de base de datos Igual que otros productos industriales, e] esquema de una base de datos de- be validarse antes de convertirse en un producto estable del diseno. Este pro- ceso de validacién se realiza revisando varias cualidades del esquema que se examinan en este capitulo: complecién, correccién, expresividad, legibilidad, minimalidad, autoexplicacién, extensibilidad y normalidad. Estas cualidades deben revisarse periédicamente durante el proceso de disetio, y en realidad de- ben guiar dicho proceso, La prueba de estas cualidades es mas eficaz cuando el diseito esté completo, porque se tiene una visién global de! esquema con- ceptual Las herramientas fundamentales disponibles para mejorar las cuali- dades de un esquema son las transformaciones de esquemas. Se ha visto, en el capitulo 3, como las transformaciones primitivas se pueden utilizar en el proceso de diseho; ahi, su papel es enriquecer el esquema con informacion nueva, Se han expuesto otras transformaciones en el capitulo 5, que se usan para alcanzar compatibilidad entre esquemas. En este capitulo, el objetivo de la aplicacion de las transformaciones es reestructurar el esquema para producir una version mejor, en términos de las cualidades recién mencio- nadas. El capitulo se organiza como sigue. En e! apartado 6.1 se definen formal- mente las cualidades de un esquema de base de datos. E] apartado 6.2 describe los tipos de transformaciones que pueden usarse para mejorar la calidad global del esquema. Los apartados 6.3, 6.4 y 6.5 tratan sobre cualidades especificas (minimalidad, autoexplicacion, expresividad, legibilidad, normalidad) y definen varias reglas y métodos para lograrlas. El apartado 6.6 expone un ejemplo de reestructuracion de esquemas: se utilizard el esquema final (Fig. 5.8) resultante de la actividad de integracion del capitulo 5 160 DISENO CONCEPTUAL DE BASES DE DATOS 6.1. Cualidades de un esquema de base de datos En este apartado se da una respuesta a la pregunta: {qué es un buen esquema’? Se distinguen varias cualidades tipicas de un esquema conceptual. Complecién. Un esquema es completo cuando representa todas las carac- teristicas pertinentes del dominio de aplicacion. La complecién puede, en prin- cipio, comprobarse: |) mirando con detalle todos los requerimientos del domi- nio de aplicacion y verificando que cada uno de ellos esté representado en algun lugar del esquema (en este caso, se dice que el esquema es completo respecto a Jos requerimientos), y 2) revisando el esquema para ver que cada concepto se mencione en los requerimientos (en este caso, se dice que los requerimientos es- tan completos respecto al esquema). La complecin puede comprobarse mas eficazmente comparando el es- quema de datos con el esquema de funciones. Se tratard este aspecto en ¢l ca- pitulo 9, que se refiere al andlisis conjunto de datos y funciones. Por esta razon, no se insiste mas en la complecién en este capitulo. Correceién. Un esquema es correcto cuando usa con propiedad los con- ceptos del modelo ER. Se puede distinguir dos tipos de correccién, sintactica y semantica, Un esquema es sintacticamente correcto cuando los conceptos se de- finen con propiedad en el esquema; por ejemplo, los subconjuntos y las gene- ralizaciones se definen entre entidades pero no entre interrelaciones. Un es- quema es semanticamente correcto cuando los conceptos (entidades, interrelaciones, etc.) se usan de acuerdo con sus definiciones. Por ejemplo, es tun error semantico usar un atributo para representar los productos en la base de datos de una empresa manufacturera cuando se necesita representar varias propiedades de los productos (por ejemplo, cédigo-de-producto, precio, partes, etc), porque un atributo es una propiedad elemental. La siguiente lista muestra los errores seménticos mas frecuentes: 1. Usar un atributo en lugar de una entidad 2. Olvidar una generalizacion (0 un subconjunto) 3. Olvidar la propiedad de herencia de las generalizaciones 4, Usar una interrelacion con un nimero erréneo de entidades (por ejemplo, una interrelacidn binaria en lugar de una ternaria) 5. Usar una entidad en lugar de una interrelacién 6. Olvidar algan identificador de una entidad, especialmente identificadores compuestos externos 7. Omitir alguna especificacién de cardinalidad minima o maxima Minimalidad. Un esquema es minimo cuando cada aspecto de los requeri- mientos aparece solo una vez en el esquema. También se puede decir que un ‘esquema es minimo si no se puede borrar del esquema un concepto sin perder COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 161 1—@ Novene }—@ NOMBRE empreano [0 cpa empLeado |--O EDAD Gn) Ga TRABALA _— TRABAIAD EN, EN. an cr) }—@ conco }-@ c001G0 proyecto [+0 oRECTOR Provecto [-O piecrTon JO NUNERO_DE EMPLEADOS Figura 6.1. Un esquema redundante. alguna informacién. El esquema de la figura 6.1 representa cmpleados y los Proyectos en los que trabajan. Uno de los atributos de la entidad PROYECTO es. NUMERO_DE.EMPLEADOS, que se puede derivar del esquema simplemente con- tando los empleados relacionados con el proyecto. Por tanto, el esquema no es minimo y el atributo NUMERO_DE_EMPLEADOS se puede borrar sin cambiar el contenido de informacién del esquema. Cabe sefialar que algunas veces es acon- sejable permitir alguna redundancia en el esquema; sin embargo, esta redun- dancia debe documentarse. Esto se logra, por lo regular, afiadiendo al esquema conceptual una tabla que indica cémo se calculan los datos derivados a partir de otros datos. La minimalidad se tratard en el apartado 6.2. Expresividad. Un esquema es expresivo cuando representa los requeri- mientos de una forma natural y se puede entender con facilidad a través del nificado de las construcciones de los esquemas ER, sin necesidad de explicacio- nes adicionales. Como ejemplo de expresividad, considérese el esquema de la figura 6.2, el cual describe la ensefanza y calificacion de seminarios y cursos. La expresividad mejora al introducir las nuevas entidades PERSONAL_DE_ENSE- NANZA (una generalizacion de las entidades PROFESOR ¢ INSTRUCTOR) y ofertas (generalizacion de las entidades CURSO y SEMINARIO) y relacionandolas me- diante la tinica interrelacién ENSENA. Legibilidad. Esta es una propiedad del diagrama que representa grafica- mente al esquema. Un diagrama tiene buena legibilidad cuando respeta ciertos criterios estéticos que hacen el diagrama elegante. Los principales criterios son los siguientes: 1. Los diagramas deben trazarse en hojas cuadriculadas, para que los cuadros que representan entidades y los rombos que indican interrelaciones tengan 162 DISENO CONCEPTUAL DE BASES DE DATOS: PROFESOR SEMNARIO INSTRUCTOR curso "ASISTENTE_OF_ ENSENANZA PERSONAL_DE_ ENSERANZA_ mroreson | | nemucron | curso] | sevmuno ‘ASISTENTE_DE_ ENSENANZA, Figura 6.2, Mejoramiento de la expresividad. aproximadamente el mismo tamafo y las conexiones sean trazos horizon- tales y verticales. 2. Se debe destacar las estructuras simétricas. 3. Se minimiza el numero global de cruces (los cruces frecuentes disminuyen el ancho de banda de percepcion del lector). 4. Debe minimizarse el nimero global de esquinas a lo largo de las conexiones. 8. En las jerarquias de generalizacién, la entidad padre debe situarse arriba de las entidades hijo, y los hijos deben situarse simétricamente respecto al pa- dre. De forma similar, en las interrelaciones de subconjunto, la entidad pa- dre debe situarse arriba y la entidad subconjunto abajo. Como demostraci6n de legibilidad, considérese el esquema de la figura 6.3. COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS: 163 ) & R KE KD EJ] CC) GC 65 BC 8 6 Figura 6.3. Mejoramiento de la legibilidad. La legibilidad mejora en la figura 6.3b, al omitir los cruces y destacar la sime- tria. Autoexplicacién. Un esquema se explica a si mismo cuando puede repre- sentarse un gran numero de propiedades usando el modelo conceptual por si mismo, sin otros formalismos (por ejemplo, anotaciones en lenguaje natural). Como ilustracién de un esquema que no es autoexplicativo, considérese la re- presentacidn de estudiantes y sus consejeros de maestria (master) y doctorado. Supéngase que cada estudiante posee como maximo un consejero de maestria y una de doctorada, y que el mismo estudiante puede (en momentos distintos) ser tanto estudiante de maestria (master) como de doctorado. Esta restricciéa no puede representarse por completo en el esquema de la figura 6.4a, porque 164 DISENO CONCEPTUAL DE BASES DE DATOS ESTUDIANTE PROFESOR (oni ny © Figura 6.4. Ejemplo de interrelaciones autoexplicativas. ningiin concepto del modelo permite declarar que «si un objeto estudiante per- tenece a dos casos de la interrelacién POSEE_UN_CONSEJERO, el atributo TIPO debe adoptar dos valores distintos». Si, en cambio, se usan dos interrelaciones dife- rentes entre estudiantes y profesores (Fig.6.4b), se podra imponer la restriccién definiendo los valores adecuados de las cardinalidades minima y maxima‘de las interrelaciones. La expresividad y la autoexplicacién se tratan en el apartado 6.3. Extensibilidad. Un esquema se adapta faicilmente a requerimientos cam- biantes cuando puede descomponerse en partes (médulos o vistas), a fin de apli- car los cambios dentro de cada parte. Se tratard la extensibilidad en el capitulo 7, donde se definen criterios para la modularizacién y la documentaci6n des- cendente de esquemas y se usan esos conceptos para el mantenimiento de es- quemas. Normalidad. El concepto de normalidad viene de la teoria de la normaliza- cidn, asociada al modelo relacional. Las formas normales (primera, segunda, COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 165 0 nowsne © nowene © SPELLIDO © APELLOO persona [9 £00 EAD $530 ‘Qudao. ve NAciaEn CS srvAcON nLTAR 0.7 ms: FROVNEA DE AGNENTO [ener van —o NoWBAE ciuoan [5 pRovINc”A S srucovcman (@) Primer esquema {b) Segundo esquema Figura 6.5. Dos esquemas con el mismo contenido de informacion. tercera, cuarta, y una variaci6n de la tercera forma normal llamada forma nor- mal de Boyce-Codd), pretenden mantener la estructura logica de los datos en una forma normal limpia, «purificadan, mitigando los problemas de las ano- malias de insercién, borrado y actualizacién que ocasionan trabajo innecesario porque deben aplicarse los mismos cambios a varios casos de datos, asi como el problema de la pérdida accidental de datos o Ia dificultad de representacion de determinados hechos. Si desea un tratamiento completo de Jas formas normales y la normalizacién, el lector debera consultar los capitulos 13 y 14 del texto de Elmasri/Navathe (véase la bibliografia del capitulo 1). La teoria de la normalizacion relacional utiliza los conceptos de clave y de- pendencia funcional. Se introduciran estos conceptos en el apartado 6.5, y luego se aplicardn en el modelo EX. Notese que, implicitamente, se ha captado la ma yor parte de la informacion de dependencias en el modelo ER, en términos de Jas cardinalidades minima y maxima y de los identificadores. 6.2. Transformas mes de esquemas Las transformaciones de esquemas se aplican a un esquema de entrada S; y pro- ducen un esquema resultante S>. Pueden clasificarse de acuerdo con el tipo de mejora de calidad que producen. Inicialmente, las transformaciones se analizan en términos de cémo cambian el contenido de informacion de un esquema, Es muy dificil definir formalmente el contenido de informacién del esquema o probar que el contenido de informacion de dos esquemas es idéntico, Una forma de comparar el contenido de informacion de dos esquemas S; y S; ¢s comparar su capacidad para responder a consultas: se dice que S; y Sz poseen el mismo contenido de informacién (0 que son equivalentes) si, por cada consulta Q que pueda expresarse sobre S;, existe una consulta Q” que puede expresarse sobre $2 dando la misma respuesta, y viceversa. 166 DISENIO CONCEPTUAL DE BASES DE DATOS. Por ejemplo, los dos esquemas de la figura 6.5 tienen el mismo contenido de informacién, pues por cada consulta que puede expresarse sobre PERSONA CIUDAD en el primer esquema, existe una pregunta correspondiente en el se- gundo esquema que proporciona la misma respuesta (como puede comprobarse intuitivamente). De forma similar, se dice que el contenido de informacién de un esquema A es mayor que el de un esquema B si existe alguna consulta Q sobre A que no tenga una consulta correspondiente sobre B, pero no viceversa. Ahora estamos en condiciones de clasificar las transformaciones como si- gue 1, Transformaciones que preservan la informacién: el contenido de informa- cidn del esquema no es alterado por la transformaci 2, Transformaciones que cambian la informacién, clasificadas mas en detalle como sigue: 4) Transformaciones de aumento: el contenido de informacion del esquema resultante es mayor que el del esquema de entrada. b) Transformaciones de reduccién: el contenido de informacién del es- quema resultante es menor que el del esquema de entrada. ©) Transformaciones no comparables, en cualquier otro caso. Hasta ahora hemos tratado principalmente con transformaciones de au- mento o no comparables, aplicadas durante el proceso de disefio e integracién. Por ejemplo, cuando se introduce una nueva propiedad interesquematica en un esquema integrado, aumenta el contenido de informacién del mismo; cuando se cambia un nombre por otro para eliminar un homénimo, se produce un con- cepto nuevo, no comparable. La comprobacién de la calidad hace uso frecuente de las transformaciones que preservan la informacion: el contenido de informacién del esquema con- ceptual no debe variar, pero la onganizacién de los conceptos debe mejorar. Las transformaciones de reduccién sélo se usan cuando el esquema conceptual con- tiene conceptos superfluos que no estan expresados en los requerimientos y, por tanto, deben eliminarse. La tabla 6.1 resume los tipos de transformaciones usa- das mas comunmente durante el disefio conceptual. 6.3. Transformaciones para lograr minimalidad La redundancia en los esquemas ER puede surgir por varias razones. Una de las mis comunes es que los requerimientos poseen una redundancia inherente, y ésta a veces se comunica al esquema. También, en una metodologia ascendente, la redundancia puede surgir cuando se expresan en diferentes esquemas concep- tos relacionados, y se hace evidente cuando los esquemas se fusionan. La redun- COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 167 ‘Tabla 6.1. Transformaciones de esquemas usadas durante el diseno conceptual. Tipo de transformacion Usadas en Aumento Disefto descendente (capitulos 3-4) Aumento Diseno ascendente (capitulos 3-4) No comparable Resoluci6n de conflictos (capitulo 5) Aumento Aumento de propiedades interesquematicas (capitulo 5) Preservacion Reestructuracién para lograr minimalidad, legibilidad y normalidad (capitulo 6) dancia en esquemas conceptuales ER esta inmersa en los siguientes aspectos de Ios esquemas. Ciclos de interrelaciones. La redundancia se da cuando una interrelacion R, entre dos entidades posee el mismo contenido de informacién que una ruta de interrelaciones Rz, Rs, ... Ry que conecta exactamente los mismos pares de casos de entidades que R,. Es claro que no todos los ciclos de interrelaciones son fuentes de redundancia; como ejemplo, considérese el esquema de la figura 6.6, que representa empleados, administradores y teléfonos. Si la interrelacion POSEE.TEL_2 conecta a cada empleado con el teléfono o teléfonos de su admi- eveuero | EMPLEADO wo iro irIGi00- POR Por on AousTRADOR <> ADvetasTRADOR wa Tene TEL oa ro) TELEFONO. TELEFONO Figura 6.6, La minimalidad depende del significado. 168 DISENO CONCEPTUAL DE BASES DE DATOS oa DEPARTAMENTO (a) La interrelacién TRABAJACON es equivalent a la ruta TRABAJA.EN, CONTROLA. La interretaclen CONTROLA es oquivaiente@ la ruta TRABAJA CON, TRABAJA_EN. Figura 6.7. Ejemplo de ciclo redundante de interrelaciones. nistrador, el esquema es redundante; de lo contrario, el esquema es minimo. De forma mids general, los ciclos de entidades ¢ interrelaciones en un esquema pue- den 0 no introducir redundancia, dependiendo de su significado. Considérese ahora el esquema de la figura 6.7. E] esquema representa datos acerca de los empleados, directores y departamentos; un director puede contro- lar varios departamentos, pero cada departamento tiene solamente un director. Las interrelaciones TRABAJA.CON y CONTROLA son mutuamente redundantes, mientras que la interrelacién TRABAJA_EN no lo ¢s. Cuando un ciclo contiene varias interrelaciones mutuamente redundantes, es posible eliminar cualquiera de elas. A pesar de que la redundancia en los ciclos de interrelaciones depende del significado, existen obvias comprobaciones sintacticas que pueden realizarse para detectar la redundancia, Por ejemplo, la interrelacién que se obtiene al combi- nar dos o mas interrelaciones de uno a uno es, asimismo, una interrelacion de uno a uno. Por tanto, no puede ser equivalente a una interrelacion de uno a muchos, de muchos a uno o de muchos a muchos. De manera similar, la inte- trelacién obtenida al combinar dos 0 més interrelaciones de uno a muchos es también de uno a muchos; de modo que no puede ser equivalente a una inte- rrelacion de uno a uno, de muchos a uno o de muchos a muchos. En todos los demas casos, la cardinalidad de la interrelacion combinada no se puede deducir; COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS: 169 por ejemplo, la combinacién de una interretacién de uno a muchos con una interrelacién de muchos a uno puede producir cualquier tipo de interrelacion (puede ser de uno a uno, uno a muchos, muchos a uno o muchos a muchos). Ademés de la equivalencia, los ciclos pueden generar algin tipo de restri ciones de contencion, Por ejemplo, supongase que ESTUDIANTE y CURSO estén relacionados por la interretacion binaria MATRICULADO_EN y EXAMINADO; en- tonces, a pesar de que las interrelaciones no son equivalentes (y por tanto el ci- clo no es redundante), se tiene la clara restriccién de que un estudiante no puede ser examinado en un curso en el que no esté matriculado, Por ende, la interre- lacin EXAMINADO estd contenida dentro de la interrelacién MATRICULADO_EN. Este tipo particular de redundancia puede evitarse incluyendo un atributo boo- Jeano EXAMEN_TOMADO en la interrelacién MATRICULADO.EN y eliminando la interrelacién EXAMINADO. Atributos derivados. La redundancia puede deberse a la existencia de un algoritmo para calcular los valores de datos derivados de los otros datos; de aqui que los datos derivados puedan omitirse de un esquema ER minimo. Ya vimos varios ejemplos de datos derivados en el capitulo 4, en el ejemplo del impuesto sobre la renta, Los datos derivados pueden ser extremadamente titiles para me- jorar la eficiencia de una base de datos; este criterio decidir, en ultima instan- cia, la conveniencia de almacenar datos derivados durante un disefo logico. Se recomienda incluir los datos derivados redundantes en el esquema conceptual, pero indicando con claridad las reglas pertinentes para su calculo, Subconjuntos implicitos. Después de la integracién de esquemas, algunos de los subconjuntos podrian derivarse de otros subconjuntos presentes en el es- quema. Como ejemplo, considérense los dos esquemas de la figura 6.8: el sub> conjunto entre EMPLEADO y ANALISTA en el esquema despues de la integracion, es derivable; por tanto, se puede eliminar el subconjunto del esquema sin cam- iar su contenido de informacion. En resumen, es tarea del disefador decidir si acepta la redundancia en el es- quema conceptual o la elimina. En cualquier caso. la redundancia puede ser fuente de anomalias en la administracién de datos; por ello, debe estar clara- mente indicada en el esquema, Se presenta un estudio sistematico sobre el tra- tamiento de las redundancias en el capitulo 11 6.4. La autoexplicacién se logra cuando las propiedades de los datos se expresan usando solamente el propio modelo conceptual, en vez de anotaciones adicio- nales; la expresividad se realza simplificando el esquema. Se describen aqui algunas transformaciones tipicas efectuadas para mejorar la expresividad. 170 DISERIO CONCEPTUAL DE BASES DE DATOS EMPLEADO- EXPERTO.EN., ‘COMPUTADORES| + ANALISTA (a) Primer esquema EMPLEADO f ‘ANALISTA (b) Segundo esquema EMPLEADO EXPERTO.EN. (COMPUTADORES f ANALISTA {(¢) Esquema integrado Figura 6.8. Ejempio de subconjunto implicito. COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS: 174 ‘HEMBRO_ DELCUERFO., DOCENTE t vrorn | warnvoron | | ESEUBANTE. AERO} wie oe sae Figura 6.9. Eliminacién de una jerarquia de generalizacién no representativa. Eliminacién de subentidades colgantes en las jerarquias de generaliza- cién. Puede suceder que el disehador cree una generalizacion en el proceso de asignar diferentes propiedades a entidades de la jerarquia. Si, al final del proceso de disefio, las subentidades no se distinguen por ninguna propiedad especifica, pueden reducirse a la superentidad. La diferencia entre las distintas entidades se expresa entonces mediante un atributo. Un ejemplo de eliminacién de un sub- tipo se muestra en la figura 6.9; los valores del dominio del atributo NiveL son (PROFESOR, INSTRUCTOR, ESTUDIANTE_GRADUADO) 0 cualquier esquema de codificacion que incluya estas opciones. Esta transformacion se puede aplicar también cuando las subentidades tie- nen s6lo unas cuantas propiedades distintivas; en este caso, la superentidad ad- quiere todas las propiedades de las subentidades colapsadas. Esta transforma- cin produce un esquema mas simple y genera una tipica situacion de conflicto entre la expresividad y la autoexplicacién: un esquema compacto es a veces mds comprensible que uno mas grande; sin embargo, al colapsar entidades se puede perder precision en la descripcién de sus propiedades, Eliminacién de entidades colgantes. Considérese co/gante una entidad E si posee pocos (posiblemente uno) atributos Ai y una conexién con otra entidad (la entidad principal) a través de una interrelacién R; en este caso, puede ser conveniente simplificar el esquema eliminando la entidad colgante y la interre- lacion de conexion, pasando los atributos A; de la entidad colgante a la entidad principal, Como en el caso anterior, las entidades colgantes pueden haberse ge- nerado durante el proceso de asignarles mds propiedades. La figura 6.10 mues- ira un ejemplo de esta transformaci6n: el concepto CIUDAD_DE_NACIMIENTO S¢ 172 DISERIO CONCEPTUAL DE BASES DE DATOS 6.5. wn vo iE mo wn ve Kea] (QUOAD.DE.NAGIMENTO © Figura 6.10. Eliminacién de una entidad colgante, ha representado temporalmente como una entidad, pero puede sintetizarse como un simple atributo de la entidad PERSONA. Las cardinalidades minima y maxima de un atributo A nuevo (respecto a la ‘entidad principal) pueden calcularse facilmente como una combinacion de las cardinalidades anteriores de la entidad colgante E en la interrelacion Ry del atributo original A dentro de la entidad, Por ejemplo, sila cardinalidad maxima de Ees 1 y lade A es n, la cardinalidad maxima de! nuevo atributo es n. Creacién de una generalizacién. Esta transformacion se aplica cuando se descubren dos entidades distintas con propiedades similares, que pertenecen en realidad a la misma jerarquia de generalizacién. Ya vimos un ejemplo de esta transformacién en la figura 6.1. La adicion de una generalizacin proporciona sencillez y concisién al esquema resultante mediante el uso de la propiedad de herencia, Creaci6n de un nuevo subconjunto. Esta transformacién destaca el papel de una entidad. Se puede aplicar a entidades con cardinalidad minima de cero en una interrelacién; esto significa que la interrelacién se aplica a un subconjunto de los casos de la entidad. Esta transformacién debe aplicarse cada vez que se- mejante subconjunto posea una identidad clara y sea significativo para el di- sefio. Por ejemplo, en la figura 6.11, la entidad EMPLEADO puede o no ser un conductor de vehiculos. Esto puede modelarse introduciendo un subtipo espe- cial de los empleados, llamado CONDUCTOR. Transformaciones para lograr normalizaci6n En el modelo relacional, la normalizacin de relaciones es un proceso de apli- cacién de transformaciones progresivas para lograr la forma normal deseada. El proceso esta gniado por las dependencias funcionales. En este apartado se ana- COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 173, Nowane Of on on 170, OEE ST coe - F cocwe_oz_ [8 fiero. oe waTRCULA EMPLEADO ASConPafa FB aN Nowane O—f NUM.EMP O41 eMpLeAgo. 10, (1 F cocte_o€. 5 nyueno.oe waraicua CONDUCTOR [ge LACOMPARAA TO ARO Figura 6.11. Creacién de un nuevo subconjunto. liza como tos conceptos de dependencia funcional y formas normales pueden aplicarse al modelo ER. 6.5.1. Dependencias funcionales Existe una dependencia funcional (DF) entre dos atributos monovalentes, Ai y Az, de una entidad E 0 de una interrelacién R, si cada valor de A, corresponde exactamente a un valor de Az. Esta propiedad se estudia mejor con ejemplos de casos. Sean Aj, Az dos atributos de una entidad E; supOngase que existe un caso de entidad e; de E, que tiene los valores a, para A, y ax para Ax: SO By By on La dependencia funcional entre A, y A2 implica que si existe otro caso de entidad, es, en el que A; adopta el valor a;, entonces Az debe adoptar el valor ax Or Bh oe Be > Decimos que A, determina funcionalmente a A), lo cual se denota también como A; > Az ; el atributo a la izquierda de la oF se llama el determinante, Las DF se establecen de forma similar entre conjuntos de atributos; por ejemplo, A,, Az As (el par de atributos [Ar, A2] es, en este caso, el determinante) 0 A, —> Az, A; . Cuando el lado derecho de una DF es un conjunto S de n atributos, la DF original es equivalente a n dependencias funcionales individuales, cada una con un atributo sencillo de $ como lado derecho. Por ejemplo, la dependencia At Az As es equivalente a las dos DF Ai > A y Ai —> As por separado, Las dependencias funcionales se establecen, asimismo, entre atributos de interrela- ciones, exactamente con la misma interpretacion. 174 6.5.2. DISENO CONCEPTUAL DE BASES DE DATOS NoMaRE FECHA DE_NACIMIENTO PERSONA NUM_SEG_SOC DIRECCION GUDAD TO PROVINCIA L_ 6 conigo-PosTAL Figura 6.12. Entidad Persona. El lector cuidadoso debe haberse dado cuenta en este punto de que, en un esquema correcto, todos los identificadores internos de las entidades determinan_ funcionalmente a los otros atributos monovalentes, El ejemplo de la figura 6.12 muestra la entidad PERSONA con dos identificadores internos, NUM.SEG_SOC y el par (NOMBRE, FECHA_DE_NACIMIENTO). Otros atributos son DIRECCION, CIU- DAD, PROVINCIA y CODIGO_POSTAL. Por tanto, tenemos las siguientes DF: NUM_SEG_SOC -» NOMBRE, FECHA_DE_NACIMIENTO, DIRECCION, CIUDAD, PROVINCIA, CODIGO_POSTAL, NOMBRE, FECHA _DE_NACIMIENTO- ~» DIRECCION, CIUDAD, NUM_SEG_SOC, PROVINCIA, CODIGO_POSTAL Estas dependencias dicen que si se asigna el valor de los atributos determi- nantes, se encontrara en la base de datos un valor de los atributos determina- dos. Esto es una consecuencia trivial del hecho de que los identificadores son también determinants. Asimismo, se tiene una DF adicional, CODIGO_POSTAL — CIUDAD, PROVINCIA que expresa la propiedad de que las personas con el mismo CODIGO_POSTAL vi- ven en la misma CIUDAD y PROVINCIA. Anomalias de actualizacion Si bien las dependencias funcionales que corresponden a identificadores no cau- san problemas, otras dependencias que pueden existir en una entidad pueden causar las llamadas anomalias de actualizacién, que se presentan de modo in- formal en este apartado. Considérese el ejemplo de la figura 6.13, que describe PEDIDO en términos de ndmeros de pedido, piezas pedidas, fecha de pedido, costo de cada pieza y cantidad pedida de cada pieza. La figura 6.13b muestra algunos casos de entidad. El identificador de la entidad esta dado por el par (NUM_PED, NOMBRE_DE- _PIEZA); de aqui, se deduce la siguiente dependencia: NUM_PED, NOMBRE_DE_PIEZA —> COSTO, CANTIDAD, FECHA COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 175 NUM-DE_ PED. NOMBRI 1E_DE-PIEZA PEDIDO § F-OcosTO [9 éantioan OFECHA (a) La entidad PEDIDO £02: 1518, LAPICERO, 05.15, 3.8.90: £03: 1521, LAPIGERO, 0.5, 18, 2-9-89> £04: 1407, BOLIGRAFO, 1, 15, 2-6:89> 1-05 : 1407, BORRADOR, 0:2, 28, 26-69 206 1407, PIZARRA, 5,'3, 2.5:89> £08: 1728, OISQUETE, 2, 10. 3-1-90° <09: 1728, LAPICERO, 05, 15, 91-90 {(b) Casos de la entidad PEDIDO Figura 6.13. Anomalias de actualizacién. Sin embargo, el costo de una pieza esta determinado de manera tinica por su ntimero de pieza; esto se afirma mediante la siguiente dependencia funcio- nal: NOMBRE_DE_PIEZA -» COSTO Esta es la causa de la redundancia mostrada en los casos de la entidad; por ejemplo, el costo de los lépices se repite tres veces. Mas aun, se reconocen las siguientes anomalias: 1. Anomalia de insereién: No se puede indicar el costo de una pieza, a menos que tenga algunos pedidos pendientes. 2. Anomalia de climinacién: Cuando se borra el tiltimo pedido pendiente para una pieza, también se borra la informacion sobre su costo. 3. Anomalia de actualizacién: Si cambia el costo de algunas piezas, todos los pedidos referentes a esas piczas cambian también; la operacién de actuali- zacién se propaga a varios casos de la entidad. Todas estas anomalias se relacionan con la presencia de una dependencia funcional indeseable, a saber, NOMBRE_DE_PIEZA —> CosTo. Una anomalia se- mejante se debe a la dependencia NUM_PED — FECHA. El proceso de normali- zacign es una progresiva deteccion y eliminaciGn de esas dependencias indesea- das. 176 DISENO CONCEPTUAL DE BASES DE DATOS 6.5.3. Al utos pertinentes de las entidades e interrelaciones Las mayores dificultades para extender el tratamiento de la normalizacion del modelo relacional al modelo ER surgen de las distintas formas de expresar la identificacion. Los identificadores externos de una entidad proven dependen- cias funcionales entre atributos de la entidad. De forma similar, dada una inte- rrelacion entre varias entidades, los identificadores de las entidades proveen de- pendencias funcionales entre atributos de la interrelacion. Por estas razones se necesita definir, para cada entidad o interrelaci6n, el conjunto de atributos que son pertinentes para el proceso de normalizaci6n; este conjunto contiene los atributos originales de la entidad o interrelacién, pero por lo general es mas grande, Se empieza por considerar la identificacion externa. Atributos pertinentes de una entidad, Considérese una entidad E; para cada identificacién externa a partir de una entidad E,, s¢ incorpora en el conjunto de atributos pertinentes de E un identificador interno de E). Este proceso es itera- tivo si a su vez E; pose identificadores externos. Por ejemplo, considérese la entidad detalle—pedido de la figura 6.14a, con los atributos NUM_DE_LINEA, CANTIDAD, PRECIO_POR_UNIDAD y los identificadores externos provistos por la entidad PepIDo. De acuerdo con la definicién anterior, los atributos pertinentes de DETALLE_PEDIDO Son NUM_DE_PEDIDO, NUM.DE_PEDIDO, CANTIDAD y PRE- C1O_PORLUNIDAD. Notese que, como resultado de incluir NUM_DE_PEDIDO entre los atributos pertinentes, se puede ahara considerar el par (NUM_DE_PEDIDO, NUM_DE_LI- NEA) como un identificador de la entidad DETALLE_PEDIDO. En el resto de este capitulo, simplemente se denotara como identificador de una entidad a cualquier subconjunto de los atributos pertinentes que identifi- que de manera tinica los casos de la entidad, sin tener en cuenta la diferencia entre identificacién externa e interna. Atributos pertinentes de una interrelacién. Sea R una interrelaci6n binaria entre las entidades E, y E,; m, y m2 denotan las cardinalidades maximas de E y E>, respectivamente, en R. Se consideran tres casos; 1. Interrelacion de uno a uno (m, = 1 y m; = 1). Se incorpora en los atributos pertinentes de R un identificador elegido arbitrariamente, sea de E; 0 de E>, 2. Interrelacién de uno a muchos (m, = 1 y m2 = n). Se incorpora en Ios atri- butos pertinentes de R un identificador de E,. 3. Interretacién de muchos a muchos (m, = ny m2 = n). Se incorpora en los atributos pertinentes de R un identificador de E; y uno de Ep. Estas reglas se extienden con facilidad a las interrelaciones n-arias. Considérese el ejemplo de la figura 6.14b, que describe las entidades EM- PLEADO y DEPARTAMENTO y Ia interrelacion de muchos a muchos TRABAJA, en- tre ellas. En este caso, los identificadores NUM_SEG_SOC para EMPLEADO y NUM- COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 177 } 9 NUM_DE_PEDIDO PEDO [+0 FECHA [+0 PRECIO_TOTAL 7 aan © NUMLOE_LINEA [--0 CANTIDAD 1-0 PRECIO_POR_UNDAD DETALLE, PEDIDO (a) Atibutos pertinentes de una entidad }—-@ NUMLsEG soc EMPLEADO [~O NOMBRE NALPROYECTO PRESUPUESTO NUM.HORAS.TRABAJADAS. NUM_DEPT [9 aso (b) Atributos pendientes de una interrelacion, Figura 6.14, Atributos pertinentes. DEPT para DEPARTAMENTO, se incorporan en los atributos pertinentes de TRABAJA, Que SON: NUM_SEG_SOC, NUM_DEPT, NUM_PROYECTO, PRESUPUESTO Y NUM_HORAS.TRABAJADAS. Ahora se tienen las hertamientas apropiadas para aplicar la normalizacién a los atributos ampliados de las entidades e interrelaciones. En la teoria relacional de la normalizaci6n, se definen varias formas normales progresivas (primera, segunda, tercera, Boyce-Codd, cuarta y otras). La primera forma normal la lo- gra automaticamente cualquier relacién plana; es decir, una sin entradas ani- dadas y en la cual todos los valores sean atémicos, lo que implica que los valo- res repetitivos o las listas no estén permitidas. Cada normalizacién posterior impone la eliminacién de ciertos tipos de anomalias. Estudiaremos la primera forma normal en el capitulo 12, en el contexto de la correspondencia del mo- delo ER al modelo relacional; en particular, se tratardn los atributos polivalen- tes, con cardinalidad maxima > 1. En este capitulo se limita la atencién a los atributos monovalentes, Cada entidad o interrelacion, ampliada adecuada- mente con los atributos pertinentes y considerada como aislada del resto del es- ‘quema, es equivalente estructuralmente a una relacién plana y puede normali- zarse. 178 DISENO CONCEPTUAL DE BASES DE DATOS [9 he ne ren00 NUM DE-PEDIDO PeDi0o [0 FECHA reno ES EMe — 9 canvas |e Nutt DE PIEZA peza Lo costo {(@) Primer ejemplo }~@ NUMLESTUDIANTE. | NUMLESTUDIANTE ESTUDIANTE PROFESOR _- GALFICACION ‘CALFIGAGION. }-@ wum.cunso Je numt.curso ‘curso curso [0 PROFESOR (b) Segundo ejemplo Figura 6.45. Cémo lograr la segunda forma normal. 6.5.4. Segunda forma normal Antes de introducir la segunda forma normal, es necesario definir los atributos primos: un atributo no es primo (es no primo) si no pertenece a ningun identi- ficador, es primo en caso contrario, Una entidad o interrelacion estd en segunda forma normal sino existe ninguna DF cuyo determinante esté propiamente con- tenido en un identificador y cuyo atributo del lado derecho sea no primo. Como ejemplo de entidad que viola la segunda forma normal considérese ta entidad PEDIDO, de la figura 6.15a, en la que NUM_DE_PIEZA reemplaza a NOMBRE_DE- -PIEZA de la figura 6.13. Aqui, el par (NUM_DE_PEDIDO, NUM_DE_PIEZA) es el Unico identificador. COSTO, CANTIDAD y FECHA son atributos no primos. Se de- finen las siguientes DF: d,:NUM_DE_PEDIDO, NUM_DE_PIEZA > CANTIDAD dz: NUM_DE_PIEZA > COSTO d: NUM_DE_PEDIDO > FECHA COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS: 179 La entidad PEDIDO no esta en segunda forma normal porque tas dependen- cias d, y ds tienen un determinante que esta contenido propiamente en cl iden- tificador, y COSTO y FECHA son no primos. La violaci6n de la segunda forma normal indica un mal disefio conceptual; en realidad, se ha representado en la entidad PEDIDO tres conceptos diferentes: pedidos, piezas y la interrelacién entre ellos. Se logra la segunda forma normal al introducir exactamente un concepto de! esquema por cada objeto del domi- nio de aplicacién. El esquema resultante se muestra a la derecha de la figura 6.15a. La introduccién de una entidad pleza origina la introduccién de una in- terrelacin muchos a muchos, DETALLE, entre PEDIDO y PIEZA. Un ejemplo de segunda forma normal para interrelaciones se muestra en la figura 6.15b. En este caso, se tiene las dos entidades ESTUDIANTE y CURSO, y una interrelacién EXAMEN entre ellas; los atributos pertinentes de EXAMEN son NUM_ESTUDIANTE, NUM_CURSO, PROFESOR Y CALIFICACION. El par (NUMLES- TUDIANTE, NUM_CURSO) es el tinico identificador. Por tanto, NUM_ESTUDIANTE, NUM_CURSO -> PROFESOR, CALIFICACION Sin embargo, si cada curso tiene solo un profesor, la siguiente DF se cumple: NUM.CURSO — PROFESOR. Como PROFESOR ¢s un atributo no primo, se viola la segunda forma normal, De nuevo, la violacién de la normalizacién indica un mal diseito conceptual, que se puede mejorar trasladando el atributo PROFESOR a la entidad CURSO, como muestra la figura 6.1 5b. 6.5.5. Tercera forma normal Antes de presentar la tercera forma normal, hay que definir las dependencias transitivas. Una DF, A->C, es transitiva si existen dos dependencias A-»B, B>C, tales que A, B y C sean grupos diferentes de atributos. Entonces, la dependencia AC se puede inferir como una combinacién de A->B, B->C; como tal, esta dependencia es redundante y una causa de anomalias. Considérese el ejemplo de la figura 6.16, que describe la entidad EMPLEADO con los atributos NUM- -EMP, NOMBRE, NUM_DEPT, NUM_DIVISION, ADMINISTRADOR, NUMLEMP es el nico identificador; por lo que se deduce la DF NUM_EMP —>» NOMBRE, NUM_DEPT, NUM_DIVISION, ADMINISTRADOR: Se observa que cada departamento pertenece exactamente a una division y que cada division tiene un administrador, de aqui se deduce que existen las si- guientes DF: dy: NUM_DEPT->NUM_DIVISION d,: NUM_DIVISION ~» ADMINISTRADOR: Se deducen, entonces, varias dependencias transitivas: 180 DISERIO CONCEPTUAL DE BASES DE DATOS Figura 6.16. EMPLEADO NUMLEMP ———_L-3 toe [-o numperr NUNLOWISION LE 8 ontario (a) Primer esquema [2 NuLENeL Lo wowere >> DEPARTAMENTO © NuM.oeeT he wacomson FO ADMNISTAADOR {b) Segundo esquema EMPLEADO }-@ NUMLENPL [0 NowaRE SS DEPARTAMENTO }-@ NuM.nert <> DMsiON 1~e NuMLowison [6 ADMINSTRADOR (6) Tercer esquema Logro de la tercera forma norm COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 181 }-@ Ns EMPLEADO [0 NOMBRE NUMLPROYECTO © PRESUPLESTO NUNLHORAS.TRABAJADAS. (1.9) }-@ NDP DEPARTAMENTO. }-~-O PISO (a) Primer esquema ? NUMLHORAS_TRABAJADAS. NSS aa) (9) (0 nor NOMBRE EMPLEADO TRABAIA DEPARTAMENTO. -—O PISO (ay }—@ NUMPROYECTO PROYECTO | —-© PRESUPUESTO. (@) Segundo esquema Figura 6.17. Logro de la tercera forma normal: segundo caso, NUM_EMP —> NUM_DIVISION, ADMINISTRADOR NUM_DEPT — ADMINISTRADOR Una entidad o interrelacién esta en tercera forma normal si se encuentra en ‘egunda forma normal y no tiene ninguna DF transitiva. Claramente, la entidad :MPLEADO del ejemplo viola la tercera forma normal. Una vez més, la viola- +i6n de la normalizacién indica un mal disefio, ya que la entidad EMPLEADO ncorpora los conceptos de DEPARTAMENTO y DIVISION. La normalizacién pro- sresiva de EMPLEADO se Hleva a cabo en las figuras 6.16b y 6.16c. Se introducen Jos nuevas entidades, cada una de ellas correspondiente a un concepto dife- ‘ente de la realidad; de esta manera, se climinan las dependencias transitivas. ‘Como otro ejemplo de una interrelacién que viola la tercera forma normal, considérese la interrelacion TRABASA de Ia figura 6.17. Puesto que el par (NSS, xppr) es et identificador de TRABAIA, se deducen las siguientes dependencias: d,: NSS, NDPT — PRESUPUESTO dh: NSS, NDPT — NUM_PROY 182 DISENO CONCEPTUAL DE BASES DE DATOS 3: NSS, NDPT -» NUM_HORAS_TRABAJADAS, Sin embargo, cada proyecto (con su NUM_PROY asociado) tiene un presu- puesto unico; de aqui deducimos la dependencia d: NUM_PROY ~» PRESUPUESTO. Por tanto, la dependencia d; es transitiva y la interrelacion no esté en tercera forma normal. Se puede lograr la tercera forma normal introduciendo la nueva entidad proyecto y transformando la interrelacién TRABArA en una interrela- cidn ternaria (véase la figura 6.17b). Notese que, una vez mas, la normalizaci6n se logra al introducir un concepto aparte por cada objeto del dominio de apli- cacién. 6.5.6. Forma normal de Boyce-Codd Otra forma normal muy conocida en el modelo relacional es la forma normal de Boyce-Codd, Una entidad o interrelacién esta en la forma normal de Boyce- Codd (ocr), si cada determinante de sus DF es un identificador, Un ejemplo de relaci6n en BCNF es la entidad ESTUDIANTE, con dos identificadores, mimero de seguro social (NSS) y mimero de estudiante (NESTU), y dos atributos no primos, NOMBRE y DIRECCION. En este caso, s¢ tienen las dependencias ,: NSS —> NESTU, NOMBRE, DIRECCION ,: NESTU ~» NSS, NOMBRE, DIRECCION Estas DF no violan la BCNF. ‘Considérese ahora el esquema de Ja figura 6.18, que representa estudiantes, cursos y profesores; supongase que cada profesor imparte exactamente un curso, ‘que el mismo curso puede ser impartido por varios profesores, y que cada es- tudiante asiste a un determinado curso con un tinico profesor. Las restricciones antes sefaladas pueden expresarse en términos de las siguientes DF: STUDIANTE, NCURSO —> PROFESOR di: PROFESOR — NCURSO La entidad ESTRUCTURA_DE_CURSOS tiene dos identificadores alternativos: el par (ESTUDIANTE, NCURSO) y el par (ESTUDIANTE, PROFESOR). Entonces, la DF d) viola la BCNF, ya que PROFESOR es un determinante pero no un identifi- cador. ‘Ya que la violacion de la BCNF se sigue del hecho de que PROFESOR no es un determinante, se puede tratar de separar el concepto de PROFESOR y el NCURSO asociado, que juntos se denominan una oferta de curso, del concepto de ESTU- DIANTE; esta transformacion se muestra en la figura 6.18b. Sin embargo, la in- (COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS: 183 ESTRUCTURA, one ‘ouRSO DE_CURSOS: froreson Dependorias uncon: ESTUDIANTE, NCURSO -+ PROFESOR PROFESOR -» NOURSO (8) Esquema iniciat }~@ PROFESOR cunsos._ oFREcIDOs JO *CURSO © Nomane ESTUDIANTE (b) Primera solucién wos a “> curso 1@ +cuRso (€) Segunda solucién Figura 6.18. Intentos de lograr la forma normal de Boyce-Codd. terselacion ASISTE es equivalente a la entidad original ESTRUCTURA_DE_CURSOS y,asu vez, viola la BNF. ‘Como una segunda solucién, se puede separar los conceptos de PROFESOR y 184 6.5.7. DISENO CONCEPTUAL DE BASES DE DATOS ESTUDIANTE del concepto de CURSO, introduciendo una entidad MATRICULA- CURSO con los atributos PROFESOR y ESTUDIANTE (Fig. 6.18c). En este caso, surge un problema nuevo, pues la dependencia funcional PROFESOR —> NCURSO ya no esta representada en el esquema, No es posible deducirla ni de las enti- dades ¢ interrelaciones internas ni de los identificadores externos. De hecho, d2 no es una dependencia ni de la entidad MATRICULA.CURSO, ni de la entidad ‘CURSO, ni de la interrelacién RELACIONADO_CON. Asi pues, el esquema nuevo no puede considerarse equivalente al antiguo, porque se ha perdido una depen- dencia. Todas las posibles soluciones reproducen la violacién o implican la pérdida de una dependencia; por tanto, no hay forma de transformar el esquema en uno huevo en BCNF que mantenga dependencias. Este es el equivalente, en el mo- delo ER, de un conocido resultado de la teoria de la normalizacién relacional, a saber, que algunos esquemas no se pueden llevar a la forma normal de Boyce- Codd manteniendo las dependencias funcionales. Como regla general, se debe tratar siempre de lograr la forma normal de Boyce-Codd, si ello €3 posible, pero esto es algo que no se puede lograr en todos los casos. ‘Como razonar respecto a Ja normalizacién Las formas normales subsecuentes requieren la identificacion y el empleo de nuevos tipos de dependencias (como las dependencias multivaluadas, de domi- nio, de reunion y de inclusién). El enfoque utilizado en los apartados anteriores puede ampliarse para tratar estos tipos de dependencias, pero no se trataran en este libro; mas bien, se evaluara la importancia de la normalizacién en el marco del disefto conceptual de bases de datos. En el enfoque de este libro, la normalizacién es una herramienta para vali- dar la calidad del esquema, mas que un método para diserar el esquema. Esto es discutible, porque varios enfoques proponen la normalizacién como el tinico metodo aceptable para disenar bases de datos. Estos enfoques sugieren el uso del propio modelo relacional como modelo de disefio; suporten un conjunto de DF como entrada al proceso de disefto y producen una serie de relaciones en una forma normal dada como resultado. ‘Aunque creemos que la normalidad es una propiedad importante de un es- quema, pensamos que las dependencias son medios inadecuados y poco claros para captar los requerimientos en el dominio de la aplicacién. Preferimos los mecanismos de abstraccién que ofrece el modelo ER, pues son faciles de enten- der y se pueden representar mediante diagramas en forma natural. Al mismo tiempo, se subraya que el modelo ER y los métodos de disefio des- critos en el capitulo 3 tienden a producir, con naturalidad, esquemas normali- zados. El objetivo de la normalizacién, hasta la forma normal de Boyce-Codd, es mantener las dependencias funcionales separadas, al asociar con cada grupo de DF homogéneas un elemento del modelo (entidad o interrelacién) que tenga los determinantes de las DF como identificadores. Asi, cada concepto de! do- minio de aplicacién corresponde exactamente a un concepto del esquema. COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 185 COMPARIA. ‘EDITORA ny Figura 6.19. Redundancia en el ejemplo de la figura 5.8, Esta separacién de conceptos es el resultado natural del uso de abstracciones de clasificacion, agregacion y generalizacién, y de la aplicacién de una meto- dologia descendente para producir un esquema mediante refinamientos sucesi- vos. En todos los ejemplos que violan la normalizacion, se ha observado que el esquema correspondiente estuvo mal diseiiado, Esto concuerda con nuestra vi- sion de la normalizacién como herramienta de validacién, 6.6. Ejemplo de reestructuracién de un esquema Considérese de nuevo el esquema obtenido al final del capitulo 5 (Fig. 5.8), como resultado de la actividad de integracion, para verificar su calidad. Considerando primero la minimalidad, se descubre un ciclo redundante de interrelaciones (Fig, 6.19): cada libro pertenece a una serie de una determinada compaiia editora; por tanto, se puede deducir la interrelacion PUBLICADO_POR entre LIBRO y COMPANIA_EDITORA como la combinacién de las dos interrelacio- es PERTENECE_A y DE. La decision de mantener PUBLICADO_POR en el es quema 0 no depende de su importancia en Ja aplicacion: aqui hay un conflicto entre expresividad y minimalidad, En ausencia de argumentos contundentes, se puede eliminar la fuente de redundancia o simplemente indicarla en el esquema conceptual, posponiendo la decision hasta la fase de disetto légico (véase el car pitulo 11). Luego se considera la expresividad. Se puede aplicar dos transformaciones, Primero, considérese el fragmento del esquema en a figura 6.20. Se nota que LIBRO y ARTICULO comparten las mismas interrelaciones con AUTOR y CIENTI- Fico. La expresividad global mejora al introducir un concepto mas general que LIBRO Y ARTICULO, llamado TRABAJO_AUTOR, que hereda las interrelaciones 186 DISERO CONCEPTUAL DE BASES DE DATOS ‘IENTIRICO, an (io) ony BRO an ARTICULO (ny Escarto Esoauro™ POR, POR, on) AUTOR on aa) on va a TRABAJO, TRABAIOD AUTOR enn? nace DE Nee ClENTIFICO wo] [meus Figura 6.20. Mejoramiento de la expresividad y la autoexplicacién en el ejemplo. anteriores. Notese que, de esta forma, LIBRO es una entidad subconjunto tanto de PUBLICACION como de TRABAJO_AUTOR (técnicamente, esta situacién suele denominarse herencia muiltiple), Esta transformacion mejora también la au- toexplicacién; en el esquema anterior, la participacién de la entidad AUTOR era opcional tanto en la interrelaci6n con Ja entidad LIBRO como en la interrelacién con la entidad ARTICULO; sin embargo, se necesitaba una restriccién adicional que afirmara que todo autor tiene que estar conectado con un libro o bien con un articulo. Esta restriccion no estaba expresada explicitamente en el esquema. Después de la reestructuracion, se cambia a | el valor de cardinalidad minima de la entidad autor en la interrelaci6n ESCRITO_POR. COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 187 mute [posresor 0 > Concens ruaucacon [iA Ler (oe ApeLu00 q (ox) POSICION ESTANTE OAD, @uD0 : }-oe010 JO NOMBRE TRAB_DE TEMA Qs cewteco | an my] Jon] oA a Lonrooe. TRABAIO_AUTOR PUBLICACION. OTF oy o> G00 Concienne> |" Conran Beano fin) POR, _—— ‘CDAD_DE_ NACHT. om KO S sromeu (a) NTERES 16 sowere WOLUe uero |] arrono | : SouiorT cn DOA Qn . om aan ‘TmULo on MASS TREAD POR, sNVESTGACON wo Tg on Newer (0.n) on an Fearn ‘urO.0e. ‘INTERESADO™ {0.n) CEA {Tan} | INVESTIGAGION Ey tin) - 7 ] nEccion ] orneccon P2400 Nowane Figura 6.21. Esquema global después de la reestructuracion. Otra accién de reestructuracion se puede aplicar al fragmento del esquema ue incluye las entidades REVISTA y ANALES (Fig. 5.8). Al tener estas entidades las mismas propiedades, pueden fusionarse en una nica entidad, llamada PU- BLICACION.COLECTIVA, con el atributo adicional 11P0_DE_PUBLICACION, (véase el esquema final en la figura 6.21). 188, DISENO CONCEPTUAL DE BASES DE DATOS MATAIGULA MARCA PAIS_DE_ORIGEN TPO VELOCIDAD MAXIA coLoR NUNERO_DE_ASENTOS PROVINCIA Figura 6.22, Base de datos propietarios de coches. Finalmente, se considera la normalizacion. La unica violacion de la nor- malizaci6n se observa en la entidad CIENTIFICO: si se supone, como de costum- bre, que CIUDAD_DE_NACIMIENTO determina PROVINCIA_DE_NACIMIENTO, la entidad no estard en tercera forma normal. La normalizacion se obtiene intro- duciendo la nueva entidad CIUDAD_DE_NACIMIENTO, con los atributos NOMBRE y PROVINCIA. La figura 6.21 muestra el esqucma conceptual final después de la reestructuracién, 6.7. Resumen Las cualidades de un esquema conceptual son complecién, correccién, mini- malidad, expresividad, legibilidad, autoexplicacion, extensibilidad y normali- dad. Estas cualidades deben guiar el proceso de disefto; deben comprobarse va- rias veces mientras se disefia una base de datos y deben considerarse cuidadosamente al final del diseito conceptual, En particular, se presentan va- rias técnicas para mejorar la minimalidad, expresividad, autoexplicacién y nor- malidad; estas técnicas se basan en el uso de transformaciones que deben apli- carse a los esquemas. Las transformaciones para el logro de la normalidad se aplican a las enti dades para eliminar las anomalias de actualizacién. Este proceso se basa en el uso de dependencias funcionales. La normalizacién se desarrollo originalmente para el modelo de datos relacional, y se usd como técnica auténoma para cons truir esquemas relacionales. En este libro, la técnica se aplica al modelo ER, pero se usa para reestructurar esquemas mds que para construirlos. Sin embargo, las COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 189 nowene ['fimnce (0.n) CIUDAD 2 (cauond Nowane APELL00 toad OF] NOMERO_05_CUENTAS 4 7 , 0 1169, SECRETO GucunsAL.| RE TT cen a>] ears gta TRSAINTERES © BANCARIA DeLBANCO an & precoion 9] S capra, SaNcARO <> NINERS Nonene on Nuneno 0 cavToaD S| raaysaccion Figura 6.23. Base de datos de un banco. operaciones de reestructuracién que concentran la atencidn en la normaliza- cién y los conceptos de tercera forma normal y forma normal de Boyce-Codd son muy importantes y utiles para los disehadores de bases de datos. Ejercicios 6.1, Extienda las reglas para buscar atributos pertinentes de interrelaciones bi- narias (véase el apartado 6.6) a las interrelaciones n-arias. 6.2, Considere los esquemas producidos para los ejercicios 5.3 y 5.4 y revise sus cualidades. Escriba una evaluacion de cada cuslidad. 6.3. Revise la expresividad del esquema del impuesto sobre Ja renta de la figura 4.16. 6.4. Revise la normalidad de] esquema del impuesto sobre la renta. (Notese que 190 DISERIO CONCEPTUAL DE BASES DE DATOS la presencia de datos derivados produce un gran numero de dependencias funcionales.) 6.5. Revise la normalidad del esquema de la figura 6,22. Haga todas las supo- siciones razonables que necesite y entincielas. 6.6. Revise la redundancia y normalidad del esquema de Ja figura 6.23. Haga todas las suposiciones razonables que necesite y eniincielas. Bibliografia P. Bernstein, «Synthesizing Third Normal Form Relations from Functional Dependen- cies», ACM Transactions on Database Systems, 1, num. 4, 1976. E,F. Codd. «Further Normalization of the Database Relational Modeb». En R. Rustin, ed., Database Systems, Prentice-Hall, 1972. R, Fagin, «The Decomposition versus the Synthetic Approach to Relational Database Design». En Proc. Third International Conference on Very Large Databases, Tokio, 1977. Estos articulos se mencionan aqui por razones hist6ricas y por su importancia al ofre- ‘cer un tratamiento formal de las formas normales. El articulo pionero de Codd introduce Jas formas normales. El articulo de Bernstein describe un procedimiento de sintesis. A partir de un conjunto de atributos y de dependencias funcionates, ofrece un algoritmo para sintetizar relaciones en tercera forma normal. El articulo de Fagin parte de las mis- mas entradas y descompone una relacion universal inicial, formada por todos los atri- butos. Las regias de descomposicion estan guiadas por las dependencias funcionales. Los dos enfoques, el de Fagin y el de Bernstein, pueden clasificarse como estrategias de disco ascendentes, porque toman como punto de partida el conjunto completo de atributos y dependencias funcionales. Un largo debate se ha centrado en los pros y con- tras del modelado conceptual frente al uso de la normatizacién basado en el modelo re- lacional. La experiencia en el disefto de grandes bases de datos ha mostrado que el mo- delado conceptual es, en realidad, mucho mas efectivo; muchas metodologias modernas de diseno, incluyendo la de este libro, utilizan ta normalizacion como técnica de verifi- cacion para los esquemas conceptuales. C. Beeri, P.A. Bernstein y N. Goodman, «A Sophisticate’s Introduction to Database ‘Normalization Theory». En Proc. Fourth International Conference on Very Large Databases, Berlin, 1978. Este articulo es un estudio completo de la teoria de la normalizacion, ALY. Aho, C. Beeri y J.D. Ullman, «The Theory of Joins in Relational Databases». ACM Transaction on Database Systems, 4, nism, 3, 1979, 297-314. C. Beeri, «On the Membership Problem for Functional and Multivalued Dependencies in Relational Databases», ACM Transaction on Database Systems, 5, nim, 3, sept. 1980, 241-59. C. Beri y P.A. Bernstein, «Computational Problems Related to the Design of Normal Form Relational Schemas», 4CM Transaction on Database Systems, 4, nim. 1, mar. 1979, 30-59. COMO MEJORAR LA CALIDAD DE UN ESQUEMA DE BASE DE DATOS 191 C. Zaniolo y M.A. Melkanoff, «On the Design of Relational Database Schematan, ACM Transaction on Database Systems, 6, nim. 1, mar. 1981, 1-47. Estos articulos describen la complejidad computacional de la construccién de relacio- nes normatizadas. Beri trata las dependencias multivaluadas y la cuarta forma normal, que no se consideran en este libro. Aho, Beeri y Ullman estudian las dependencias de reunion, un tipo de dependencia general, no considerada en este libro, y la propiedad de reunion sin pérdidas de las descomposiciones. W. Kent, «A Simple Guide to Five Normal Forms in Relational Database Theory», Communications of the ACM, 26, nim. 2, feb. 1983, 120-25. Este articulo oftece una introduccién de orientacién practica a las formas normales. R, Brown y D'S, Parker, «LAURA: a Formal Data Model and Her Logical Design Met- hodology». En Proc. Ninth International Conference on Very Large Databases, Flo- rencia, 1983, D, Embley y T. Ling, «Synergistic Database Design with an Extended Entity-Relations- hip Model». En F, Lochovsky, ed., Proc. Eighth International Conference on Entity Relationship Approach, Toronto, North-Holland, 1988. Estos articulos presentan un enfoque de normalizacién similar al seguido en el apar- tado 6.6. El esquema ER, en vez de transformarse en un esquema relacional y luego nor- malizarse, primero se transforma en un esquema normalizado, lo que garantiza la gene- racion de un esquema relacional normalizado. S. Ceri y G. Gottlob, «Normalization of Relations and PROLOG», Communications of the ACM, 29, niim. 6, jun. 1986, 524-44. Este articulo ofrece una definicion autonoma de las formas normales y una especifi- cacién en PROLOG de los algoritmos de normalizacién; también se incluye el cddigo PROLOG de los algoritmos de normalizacién.

You might also like