Interpretación de diagramas entidad/relación.
un modelo de datos es una colección de herramientas conceptuales que permiten llevar a cabo la descripción de los datos, sus relaciones, su semántica o significado y las restricciones que se les pueden aplicar. Sabemos que los SGBD cuentan con una arquitectura que simplifica, a los diferentes usuarios de la base de datos, su labor. El obetivo de esta arquitectura es separar los programas de aplicación de la base de datos f!sica, proponiendo tres niveles de abstracción" nivel interno o físico, nivel lógico o conceptual y nivel externo o de visión del usuario. 1. Análisis Análisis y diseño de bases bases de datos.
El #ivel lógico o conceptual describe la estructura completa de la base de datos a trav$s de lo que llamamos Esquema %onceptual, que se encarga de representar la información de una manera totalmente independiente del Sistema Gestor de Base de Datos. %uando %uando hemos de desarro desarrolla llarr una base de datos datos se distin distingue guen n clarame claramente nte dos fases de trabao" trabao" &nálisis &nálisis y Dise'o. (ase de &nálisis (ase de Dise'o &nálisis de entidades" entidades" Se trata de de locali)ar y definir las las entidades y sus atributos. &nálisis
de
+btención
relaciones" Se definirán las relaciones e*istentes entre entidades. del Esquema %onceptual a trav$s del modelo E.
Dise'o de tablas. #ormali)ación.
&plicación necesario.
de
retrodise'o,
si fuese
(usión de vistas" Se re-nen en un -nico esquema todos los esquemas e*istentes en función de las diferentes vistas de cada erfil de usuario.
Dise'o de trans Dise'o transaccio acciones" nes" loca locali)ac li)ación ión del conu conunto nto de operac ope racion iones es o tra transa nsacci ccione oness que op opera erarán rán so sobre bre el
&plicación del enfoque enfoque de datos datos relacional.
Dise'o de sendas de acceso" se formali)an los m$todos de acceso dentro de la estructura de datos.
es uema conce tual. tual.
una correcta fase de análisis es un paso determinante en el desarrollo de nuestras bases de datos. saltarse el esquema conceptual conlleva un problema de p$rdida de información respecto al problema real a solucionar. El esquema conceptual debe reflear todos los aspectos relevantes del mundo real que se va a modelar. eter %hen en /012 y /011 presenta dos art!culos en los que se describe el modelo Entidad3elación 4entity3relationship5. el modelo entidad3relación e*tendido 4EE5 es el más aceptado . !"u# es el $odelo %/&'
representación conceptual de problemas del mundo rea, facilita el dise'o de bases de datos permitiendo la especificación de un esquema que representa la estructura lógica completa de una base de datos. El modelo de datos E representa el significado de los datos, es un modelo semántico. se puede representar el mundo real mediante una serie de s!mbolos y e*presiones determinados. (. %ntidades.
6na entidad puede ser un obeto f!sico, un concepto o cualquier elemento que queramos modelar, que tenga importancia para la organi)ación y del que se desee guardar información. debe poseer alguna caracter!stica, o conunto de ellas, que lo haga -nico frente al resto de obetos. ee entidad llamada &768#+ podr!a ser distinguido mediante su n-mero de identificación escolar 4#9E5,En 4#9E5,Entid tidad" ad" ob obe eto to rea reall o ab abst strac racto to,, con caracter!sticas diferenciadoras capaces de hacerse distinguir de otros obetos. 6n conunto de entidades serán un grupo de entidades que poseen las mismas caracter!sticas o propiedades. ee conunto de personas que reali)an reservas para un hotel de monta'a determinado, se les puede definir como el conunto de entidades entidades cliente. %ada elemento elemento del conunto conunto de entidades entidades será una ocurrencia de entidad.un entidad.un s!mil con++, el concepto de entidad es análogo al de instancia instancia de obeto y que el concepto de conunto de entidades lo es al de clase. la representación gráfica de las entidades dentro de un rectángulo. (.1
.) )iipos* fuertes y d#b d#biles. en dos grupos* a. Entidades (uertes o egulares"tienen e*istencia por s! mismas b. Entidades d$biles" depende de la e*istencia de otras instancias de entidad. en un rectángulo doble
Entidad Entida d Déb Débil: il: Es un tip tipo o de ent entida idad d cuy cuyas as pr propi opieda edades des o atr atribu ibutos tos no la ide identi ntifca fcan n completamente, sino que sólo la identifcan de orma parcial. Esta entidad debe participar en una relación que ayude a identifcarla.
Entidades d$biles presentan dos tipos de dependencia" Dependencia en e*istencia" si desaparece una instancia de entidad fuerte desaparecerán las instancias de entidad d$biles que dependan de la primera. incluirá una E en el interior de la relación d$bil.
Dependencia en identificación" debe darse una dependencia en e*istencia y además, una ocurrencia de la entidad d$bil no puede identificarse por s! misma, debiendo hacerse mediante la clave de la entidad fuerte asociada. 7a representación de este tipo de dependencia incluirá una 9D en el interior de la relación d$bil.
+. Atributos.
7as entidades se representan mediante un conunto de atributos. :stos describen caracter!sticas o propiedades que posee cada miembro de un conunto de entidades. &tributo" %ada una de las propiedades o caracter!sticas que tiene un tipo de entidad o un tipo de relación se denomina atributo; los atributos toman valores de uno o varios dominios. son representados mediante el nombre del atributo rodeado por una elipse .7os nombres en letra min-scula. &l conunto de valores permitidos para un atributo se le denomina dominio . <./
. )ipos de atributos. a. &tributos obligatorios y opcionales. ha de estar siempre definido para una entidad o relación.para la
b.
entidad =6G&D+ será necesario tener alg-n atributo que identifique cada ocurrencia de entidad, podr!a ser su D#9. 6na clave o llave es un atributo obligatorio. &tributo opcional" es aqu$l que podr!a ser definido o no para la entidad. &tómicos o compuestos.Atributo simple o atómico: es un atributo que no puede dividirse en otras partes o atributos, presenta un nico elemento. !o es posible e"traer de este atributo partes más peque#as que puedan tener signifcado. Atributo compuesto: son atributos que pueden ser divididos en subpartes, éstas constituirán otros atributos con signifcado propio. $or e%emplo, la dirección del %ugador podr&a considerarse como un atributo compuesto por la calle, el nmero y la localidad.
c. &tributos monovaluados o multivaluados.
&tributo monovaluado" es aqu$l que tiene un -nico valor para cada ocurre ncia de entidad. 4 dni5 &tributo multivaluado" es aqu$l que puede tomar diferentes valores para cada ocurrencia de entidad. or eemplo, la dirección de email de un empleado podr!a tomar varios valores para alguien que posea varias cuentas de correo. tener en cuenta" 7a cardinalidad de un atributo indica el n-mero m!nimo y el n-mero má*imo de valores que puede tomar para cada eemplar de la entidad o relación a la que pertenece. 7a cardinalidad m!nima indica la cantidad de valores del atributo que debe e*istir para que la entidad sea válida. Este n-mero casi siempre es > o /. Si es >, el atributo podr!a no contener ning-n valor y si es /, el atributo debe tener un valor. 7a cardinalidad má*ima indica la cantidad má*ima de valores del atributo que puede tener la entidad. or lo general es / o n. Si es /, el atributo no puede tener más que un valor, si es n, el atributo puede tener m-ltiples valores y no se especifica la cantidad absoluta. d. &tributos derivados o almacenados" el valor de este tipo de atributos puede ser obtenido del valor o valores de otros atributos relacionados.eemplo la edad, Si se ha almacenado en alg-n atributo la fecha de nacimiento, la edad es un valor calculable a partir de dicha fecha. <.?
. laves.
es necesario identificar correctamente cada ocurrencia de entidad o relación, los valores de los atributos de una entidad deben ser tales que permitan identificar un!vocamente a la entidad, no se permite que ning-n par de entidades tengan e*actamente los mismos valores de sus atributos" Superclave 4Superllave5" Es cualquier conunto de atributos que permite identificar de forma -nica a una ocurrencia de entidad. 6na superclave puede tener atributos no obligatorios, es decir, que no identificar!an por si solos una ocurrencia de entidad. %lave candidata" Si de una superclave no es posible obtener ning-n subconunto que sea a su ve) superclave, decimos que dicha superclave es clave candidata. %lave primaria 4rimary @ey5" De todas las candidatas, el dise'ador escoge una, se denominará clave principal o clave primaria. es un atributo o conunto de ellos, que toman valores -nicos y distintos para cada ocurrencia de entidad, identificándola un!vocamente. #o puede tener valores nulos. %laves alternativas" son el resto de claves candidatas que no han sido escogidas como clave primaria. 7a representación en el modelo Entidad3elación de las claves primarias puede reali)arse de dos formas"
Si se usan elipses, se subrayarán aquellos que formen la clave primaria. Si se usan c!rculos, se utili)ará un c!rculo negro en aquellos que formen la clave primaria.
<.A
. Atributos de una relación.
6na relación puede tambi$n tener atributos que la describan. %onsideremos la relación %6S& entre las entidades &768#+ y &S9G#&6&. odr!amos asociar a la relación %6S& un atributo nota para especificar la nota que ha obtenido un alumno3a en una determinada asignatura.+tro t!pico son las relaciones que representan históricos. suele constar de datos como fecha y hora. %uando se emite una factura a un cliente o se le facilita un duplicado de la misma, habrá que crear un atributo asociado a la relación entre la entidad %79E#E y (&%6& que se encargue de guardar la fecha de emisión.
-. &elaciones.
o interrelación es un elemento del modelo Entidad3elación que permite relacionar datos entre s!. se asocia un elemento de una entidad con otro de otra entidad. elación" es una asociación entre diferentes entidades. En una relación no pueden aparecer dos veces relacionadas las mismas ocurrencias de entidad. 7a representación gráfica en el modelo Entidad3elación corresponde a un rombo en cuyo interior se encuentra inscrito el nombre de la relación.El rombo conectado mediante l!neas rectas, pueden o no acabar en punta de flecha seg-n el tipo de relación. imprescindible conocer los siguientes conceptos"Grado de la relación. %ardinalidad de la relación. %ardinalidades de las entidades. C./
. rado de una relación.
En / relación puede intervenir una entidad o varias. Es el n-mero de entidades que participan en una relación. En función del grado se pueden establecer diferentes tipos de relaciones" elación 6naria o de grado /" participa una -nica entidad. 4refle*ivas o recursivas.5 elación Binaria o de grado ?" participan dos entidades.el esquema conceptual buscará tener sólo este tipo elación ernaria o de grado A" participan tres entidades al mismo tiempo. elación #aria o de grado n" involucra n entidades,no son usuales,deben ser simplificadas elación doble" cuando dos entidades están relacionadas a trav$s de dos relaciones. son compleas de manear. C.?
. ardinalidad de relaciones.
Es el n-mero má*imo de ocurrencias de cada entidad que pueden intervenir en una ocurrencia de relación. Dependiendo del n-mero de ocurrencias de cada una de las entidades pueden e*istir relaciones uno a uno, uno a muchos, muchos a uno y muchos a muchos. 7E%6&" un ugador pertenece a / equipo y a / equipo pueden pertenecer varios ugadores. elaciones uno a uno 4/"/5. Sean las entidades & y B, una instancia u ocurrencia de la entidad & se relaciona -nicamente con otra instancia de la entidad B y viceversa. Eemplo cada ocurrencia de la entidad &768#+ sólo habrá una ocurrencia relacionada de la entidad EED9E#E y viceversa4un alumno tiene un e*pediente asociado y un e*pediente sólo pertenece a un -nico alumno5 uno a muchos 4/"#5. para cada ocurrencia de la entidad D+%E#E puede haber varias ocurrencias de la entidad &S9G#&6& y para varias ocurrencias de la entidad &S9G#&6& sólo habrá una ocurrencia relacionada de la entidad D+%E#E 4si se establece que una asignatura sólo puede ser impartida por un -nico docente5. muchos a uno 4#"/5. Sean las entidades & y B, una ocurrencia de la entidad & está asociada con una -nica ocurrencia de la entidad B y un eemplar de la entidad B está relacionado con muchas ocurrencias de la entidad &. eemplo, 6n =6G&D+ pertenece a un -nico E69+ y a un E69+ pueden pertenecer muchos ugadores. elaciones muchos a muchos 48"#5. Sean las entidades & y B, un eemplar de la entidad & está relacionado con muchas ocurrencias de la entidad B y viceversa. eemplo, un alumno puede estar
matriculado en varias asignaturas y en una asignatura pueden estar matriculados varios alumnos.7a cardinalidad de las relaciones puede representarse de varias ver fotos C.A
. ardinalidad de entidades.
9ndica el n-mero de relaciones en las que una entidad puede aparecer. Sean las entidades & y B, la participación de la entidad & en una relación es obligatoria 4total5 si la e*istencia de cada una de sus ocurrencias necesita como m!nimo de una ocurrencia de la entidad B 4ver figura5. En caso contrario, la participación es opcional 4parcial5. 7a cardinalidad de una entidad se representa con el n-mero m!nimo y má*imo de correspondencias en las que puede tomar parte cada eemplar de dicha entidad, entre par$ntesis. %ardinalidad m!nima. cero o uno, aunque tenga cardinalidad m!nima de más de uno, se indica sólo / %ardinalidad má*ima. n-mero má*imo de relaciones en las que puede aparecer cada ocurrencia de la entidad. uede ser uno o muchos cuando se representa la cardinalidad de una entidad, el par$ntesis y sus valores han de colocarse unto a la entidad con la que se relaciona. Es decir en el lado opuesto a la relación. . 0imbología del modelo %/&.ver fotos . %l modelo %/& %xtendido.
se han incorporado nuevas e*tensiones que permiten meorar la capacidad para representar circunstancias especiales. intentan eliminar elementos de dif!cil o incompleta representación a trav$s de la simbolog!a e*istente, como por eemplo relaciones con cardinalidad #"8, o la no identificación clara de entidades. 1./
. &estricciones en las relaciones.
7a primera e*tensión que el modelo Entidad3elación E*tendido incluye, se centra en la representación de una serie de restricciones sobre las relaciones y sus eemplares," a.
estricción de e*clusividad. %uando e*iste una entidad que participa en dos o más relaciones y cada ocurrencia de dicha entidad sólo puede pertenecer a una de las relaciones -nicamente + se produce una relación o se produce otra pero nunca ambas a la ve). E%e. msico puede dirigir una orquesta o tocar en en ella, pero no puede 'acer las dos cosas simultáneamente. E"istirán por tanto, dos relaciones dirige y toca, entre las entidades ()*+- y -/)E*0A, estableciéndose una relación de e"clusividad entre ellas.1a representación mediante un arco que engloba a todas aquellas relaciones que son e"clusivas.
b.
estricción de e*clusión. cuando las ocurrencias de las entidades sólo pueden asociarse utili2ando una nica relación. e%e, un monitor puede impartir dierentes cursos para monitores, y e puede a su ve2 recibirlos. $ero si imparte un curso, no podrá estar recibiéndolo *e establecerá, una restricción de e"clusión que se representa mediante una l&nea discontinua entre las dos relaciones,.
c.
estricción de inclusividad. cuando es necesario modelar situaciones en las que para que dos ocurrencias de entidad se asocien a trav$s de una relación, tengan que haberlo estado antes a trav$s de otra relación. para que un monitor pueda impartir cursos de cocina sea necesario que reciba previamente dos cursos" nutrición y primeros au*ilios. Se representará mediante un arco acabado en flecha, que partirá desde la relación que ha de cumplirse primero hacia la otra relación. d.
. 1.A
estricción de inclusión. si hemos de modelar que un monitor pueda impartir un curso, si previamente lo ha recibido, entonces tendremos que aplicar una restricción de inclusión. %on ella toda ocurrencia de la entidad 8+#9+ que est$ asociada a una ocurrencia determinada de la entidad %6S+, a trav$s de la relación imparte, ha de estar unida a la misma ocurrencia de la entidad %6S+ a trav$s de la relación recibe.
. enerali2ación y especiali2ación.
7a segunda e*tensión incorporada en el modelo Entidad3elación E*tendido van a permitir modelar la realidad de una manera más fiel. reciben el nombre de erarqu!as y se basan en los conceptos de generali)ación, especiali)ación y herencia. uede que nos encontremos con conuntos de entidades que
posean caracter!sticas comunes, lo que permitir!a crear un tipo de entidad de nivel más alto que englobase dichas caracter!sticas o puede que necesitemos dividir un conunto de entidades en diferentes subgrupos de entidades por tener $stas, caracter!sticas diferenciadoras. Este proceso de refinamiento ascendente3descendente, permite e*presar mediante la generali)ación la e*istencia de tipos de entidades de nivel superior que engloban a conuntos de entidades de nivel inferior. & los conuntos de entidades de nivel superior tambi$n se les denomina superclase o supertipo. & los conuntos de entidades de nivel inferior se les denomina subclase o subtipo. 7a generali)ación es la reunión en una superclase o supertivo de entidad de una serie de subclases o subtipos de entidades, que poseen caracter!sticas comunes. 7as subclases tendrán otras caracter!sticas que las diferenciarán entre ellas. odremos identificar una generali)ación cuando encontremos una serie de atributos comunes a un conunto de entidades, y otros atributos que sean espec!ficos. 7os atributos comunes conforman la superclase o supertipo y los atributos espec!ficos la subclase o subtipo. 7as erarqu!as se caracteri)an por un concepto que hemos de tener en cuenta, la herencia. & trav$s de la herencia los atributos de una superclase de entidad son heredados por las subclases. Si una superclase interviene en una relación, las subclases tambi$n lo harán. F%ómo se representa una generali)ación o especiali)ación E*isten varias notaciones la relación que se establece entre una superclase de entidad y todos sus subtipos se e*presa a trav$s de las palabras ES 6#, o en notación inglesa 9S &, que corresponder!a con ES 6# 9+ DE. artiendo de este punto, una erarqu!a se representa mediante un triángulo invertido, sobre $l quedará la entidad superclase y conectadas a $l a trav$s de l!neas rectas, las subclases. En la imagen, las subclases 9#H9&D+, EG9S&D+ y &D89#9S&D+ constituyen subclases de la superclase 6S6&9+. %ada una de ellas aporta sus propias caracter!sticas y heredan las pertenecientes a su superclase. 6na generali)ación3especiali)ación podrá tener las siguientes restricciones semánticas" otalidad" una generali)ación3especiali)ación será total si todo eemplar de la superclase pertenece a alguna de las subclases. arcialidad" una generali)ación3especiali)ación será parcial si no todos los eemplares de la superclase pertenecen a alguna de las subclases. Solapamiento" una generali)ación3especiali)ación presentará solapamiento si un mismo eemplar de la superclase puede pertenecer a más de una subclase. E*clusividad" una generali)ación3especiali)ación presentará e*clusividad si un mismo eemplar de la superclase pertenece sólo a una subclase. 1.<
. Agregación.
7a tercera de las e*tensiones del modelo Entidad3elación E*tendido, la &gregación. En modelo entidad3elación no es posible representar relaciones entre relaciones. 7a agregación es una abstracción a trav$s de la cual las relaciones se tratan como entidades de nivel más alto, siendo utili)ada para e*presar relaciones entre relaciones o entre entidades y relaciones. Supongamos que hemos de modelar una empresa de selección de personal reali)a entrevistas a diferentes aspirantes. uede ser que, de estas entrevistas a aspirantes, se derive una oferta de empleo, o no. tres soluciones, las dos primeras erróneas y una tercera correcta, utili)ando una agregación. ver otos
la representación gráfica de una agregación se caracteri)a por englobar con un rectángulo las entidades y relación a abstraer. se crea una nueva entidad agregada que puede participar en otras relaciones con otras entidades. la cardinalidad má*ima y m!nima de la entidad agregada siempre será 4/,/5 no indicándose por ello en el esquema. E*isten dos clases de agregaciones" %ompuesto3componente" 6n todo se obtiene por la unión de diversas partes, que pueden ser obetos distintos y que desempe'an papeles distintos en la agregación. esta abstracción permite representar que un todo o agregado se obtiene por la unión de diversas partes o componentes que pueden ser tipos de entidades distintas y que uegan diferentes roles en la agregación. 8iembro3%olección" 6n todo se obtiene por la unión de diversas partes del mismo tipo y que desempe'an el mismo papel en la agregación. esta abstracción permite representar un todo o agregado como una colección de miembros, todos de un mismo tipo de entidad y todos ugando el
mismo rol. Esta agregación puede incluir una restricción de orden de los miembros dentro de la colección 4indicando el atributo de ordenación5. Es decir, permite establecer un orden entre las partes.
3. %laboración de diagramas %/&.
en la fase de dise'o conceptual de la base de datos, en la que nos encontramos, hemos de generar el diagrama E3 que representará de manera más sencilla el problema real a modelar, independientemente del Sistema Gestor de Base de Datos. Saltarnos este paso supondr!a p$rdida de información.esta fase, requerirá de la creación de uno o varios esquemas más cercanos al mundo real, antes del paso a tablas del modelo relacional. la práctica es fundamental. 7os diagramas no siempre se crean del mismo modo y, en ocasiones, hay que retocarlos e incluso rehacerlos. 7uego conversión del modelo Entidad3elación al modelo elacional. I./
. Identificación de entidades y relaciones.
7o primero que hemos de tener es el conunto de requerimientos, requisitos o condiciones que nuestra base de datos ha de cumplir. se denomina el documento de especificación de requerimientos.4el enunciado del problema a modelar5 7as etapas para la creación del diagrama E3" a. 9dentificación de entidades" Es un proceso intuitivo. ara locali)ar las entidades de nuestro esquema, anali)aremos la especificación de requerimientos en busca de nombres o sustantivos. Si estos nombres se refieren a obetos importantes dentro del problema probablemente serán entidades. nombres referidos a caracter!sticas, cualidades o propiedades no se convertirán en entidades.+tra forma es locali)ando obetos o elementos que e*isten por s! mismos. or eemplo" HEJ9%67+, 9EK&, etc. En otras ocasiones, la locali)ación de varias caracter!sticas o propiedades puede dear ver la e*istencia de una entidad. ara considerarse como entidad se deben cumplir tres reglas" /. E*istencia propia. ?. %ada eemplar de un tipo de entidad debe poder ser diferenciado del resto de eemplares. A. odos los eemplares de un tipo de entidad deben tener las mismas propiedades.
seg-n se vayan identificando se les otorgará nombres, preferiblemente en may-sculas, representativos de su significado o función.. b. 9dentificación de relaciones" 7ocali)adas las entidades, debemos establecer qu$ relación e*iste entre ellas. buscar verbos o e*presiones verbales que conecten unas entidades con otras. En la gran mayor!a de ocasiones encontraremos que las relaciones se establecen entre dos entidades 4relaciones binarias5, pero prestaremos especial atención a las relaciones entre más entidades y a las relaciones recursivas o relaciones unarias. las relaciones establecidas deberá tener asignado un nombre, preferiblemente en min-sculas, representativo de su significado o acción. Dependiendo de la notación elegida, el siguiente paso será la representación de la cardinalidad 4m!nima y má*ima5 Si hemos encontrado alguna relación recursiva, refle*iva o unaria, hemos de representar en nuestro esquema los roles desempe'ados por la entidad en dicha relación.
I.?
. Identificación de atributos, claves y 4erar5uías. a.
9dentificación de atributos" buscar nombres relativos a caracter!sticas, propiedades, identificadores o cualidades de entidades o relaciones. /ui2ás no todos los atributos estén re3e%ados directamente en el documento de especifcación de requerimientos, 0endremos en cuenta si los atributos locali2ados son simples o compuestos, derivados o calculados y si algn atributo o con%unto de ellos se repite en varias entidades. *i se da este ltimo caso, deberemos detenernos y plantear la posibilidad de establecer una %erarqu&a de especiali2ación, o bien, de%ar las entidades tal y como 'an sido identifcadas.
%ada atributo deberá tener asignado un nombre, preferiblemente en min-sculas, representativo de su contenido o función. recopilar la siguiente información de cada atributo" #ombre y descripción. &tributos simples que lo componen, si es atributo compuesto. 8$todo de cálculo, si es atributo derivado o calculado. En el caso de encontrar atributos asociados a relaciones con cardinalidad uno a muchos, se valorará asignar ese atributo o atributos a la entidad con mayor cardinalidad participante en la relación. b.
9dentificación de claves" Del conunto de atributos de una entidad se establecerán una o varias claves candidatas, escogi$ndose una de ellas como clave o llave primaria de la entidad. formada por uno o varios atributos que identifcarán de manera un&voca cada ocurrencia de entidad. El proceso de identifcación de claves permitirá determinar la ortale2a 4al menos una clave candidata5 o debilidad 4ninguna clave candidata5 de las entidades encontradas.
c.
Determinación de erarqu!as"Es probable que e*istan entidades con caracter!sticas comunes que puedan ser generali)adas en una entidad de nivel superior o superclase 4erarqu!a de generali)ación5. ero tambi$n, puede ser necesario e*presar en el esquema las particularidades de diferentes eemplares de un tipo de entidad, por lo que se crearán subclases o subtipos de una superclase o supertipo 4erarqu!a de especiali)ación5. .
I.A
. $etodologías.
artiremos de una versión preliminar del esquema conceptual o diagrama E3 que, tras sucesivos refinamientos, será modificado para obtener el diagrama E3 definitivo. 7as metodolog!as para la elaboración del esquema conceptual son las siguientes" a. 8etodolog!a Descendente 4opDoLn5" Se trata de partir de un esquema general e ir descomponiendo $ste en niveles, cada uno de ellos con mayor n-mero de detalles. Se parte de obetos muy abstractos, que se refinan paso a paso hasta llegar al esquema final. b. 8etodolog!a &scendente 4Bottom6p5" 9nicialmente, se parte del nivel más bao, los atributos. Se irán agrupando en entidades, para despu$s ir creando las relaciones entre $stas y las posibles erarqu!as hasta obtener un diagrama completo. Se parte de obetos atómicos que no pueden ser descompuestos y a continuación se obtienen abstracciones u obetos de mayor nivel de abstracción que forman el esquema. c. 8etodolog!a Dentrofuera 49nside+ut5" 9nicialmente se comien)a a desarrollar el esquema en una parte del papel y a medida que se anali)a la especificación de requerimientos, se va completando con entidades y relaciones hasta ocupar todo el documento. d. 8etodolog!a 8i*ta" Es empleada en problemas compleos. Se dividen los requerimientos en subconuntos que serán anali)ados independientemente. Se crea un esquema que servirá como estructura en la que irán interconectando los conceptos importantes con el resultado del análisis de los subconuntos creados. Esta metodolog!a utili)a las t$cnicas ascendente y descendente. Se aplicará la t$cnica descendente para dividir los requerimientos y en cada subconunto de ellos, se aplicará la t$cnica ascendente. %ualquiera de ellas puede ser válida, todo dependerá de lo fácil y -til que te resulte aplicarlas. la práctica es fundamental. eali)ando gran cantidad de esquemas, anali)ándolos y llevando a cabo modificaciones en ellos es como irás refinando tu t$cnica de elaboración de diagramas E3. 3.+ &edundancia en diagramas %/&.
6na de las principales ra)ones por las que las bases de datos aparecieron edundancia" reproducción, reiteración, insistencia, reincidencia, reanudación. En bases de datos hace referencia al almacenamiento de los mismos datos varias veces en diferentes lugares. 7a redundancia de datos puede provocar problemas como" &umento de la carga de trabao" al estar almacenado en varios lugares, las operaciones de grabación o actuali)ación de datos necesitan reali)arse en varias ocasiones. Gasto e*tra de espacio de almacenamiento" al estar repetidos, los datos ocupan mayor espacio..
9nconsistencia" cuando los datos que están repetidos, no contienen los mismos valores. se ha actuali)ado su valor en un lugar y en otro no, no se sabr!a qu$ dato es válido y cual erróneo.
E*isten lugares y elementos que podr!an presentar redundancia en nuestro esquema E3" &tributos redundantes cuyo contenido se calcula en función de otros. 6n atributo derivado puede ser origen de redundancia. Harias entidades unidas circularmente o c!clica a trav$s de varias relaciones, es lo que se conoce como un ciclo. En caso de e*istir un ciclo, deberemos tener en cuenta las siguientes condiciones, antes de poder eliminar dicha relación redundante" ue el significado de las relaciones que componen el ciclo sea el mismo. ue si eliminamos la relación redundante, el significado del resto de relaciones es el mismo. ue si la relación eliminada ten!a atributos asociados, $stos puedan ser asignados a alguna entidad participante en el esquema, sin que se pierda su significado. ero hay que tener en cuenta que no siempre que e*ista un ciclo estaremos ante una redundancia. Es necesario anali)ar detenidamente dicho ciclo para determinar si realmente e*iste o no redundancia. #o toda redundancia es perudicial. E*isten ciertas circunstancias y condiciones en las que es conveniente 4sobre todo a efectos de rendimiento5 introducir cierta redundancia controlada en una base de datos. I.<
. 6ropiedades deseables de un diagrama %/&.
e*isten una serie de propiedades o caracter!sticas que $ste deber!a cumplir, conseguiremos que nuestros diagramas o esquemas conceptuales tengan mayor calidad. %ompletitud" 6n diagrama E3 será completo si es posible verificar que cada uno de los requerimientos está representado en dicho diagrama y viceversa %orrección" 6n diagrama E3 será correcto si emplea de manera adecuada todos los elementos del modelo Entidad3elación. 7a corrección puede anali)arse desde dos vertientes" %orrección sintáctica" Se producirá cuando no se produ)can representaciones erróneas en el diagrama. %orrección semántica" Se producirá cuando las representaciones signifiquen e*actamente lo que está estipulado en los requerimientos. osibles errores semánticos ser!an" la utili)ación de un atributo en lugar de una entidad, el uso de una entidad en lugar de una relación, utili)ar el mismo identificador para dos entidades o dos relaciones, indicar erróneamente alguna cardinalidad u omitirla, etc. 8inimalidad" 6n diagrama E3 será m!nimo si se puede verificar que al eliminar alg-n concepto presente en el diagrama, se pierde información. Si un diagrama es redundante, no será m!nimo. Sencille)" 6n diagrama E3 será sencillo si representa los requerimientos de manera fácil de comprender, sin artificios compleos. 7egibilidad" 6n diagrama E3 será legible si puede interpretarse fácilmente. 7a legibilidad de un diagrama dependerá en gran medida del modo en qu e se disponen los diferentes elementos e intercone*iones. Esta propiedad tiene mucho que ver con aspectos est$ticos del diagrama. Escalabilidad" 6n diagrama E3 será escalable si es capa) de incorporar posibles cambios derivados de nuevos requerimientos. 7. 6aso del diagrama %/& al modelo relacional.
Este esquema representará el punto de partida para la siguiente fase, el dise'o lógico de la base de datos. El dise'o lógico consistirá en la construcción de un esquema de la información relativa al problema, basado en un modelo de base de datos concreto. El esquema conceptual se transformará en un esquema lógico que utili)ará los elementos y caracter!sticas del modelo de datos en el que est$ basado el SGBD, para implementar nuestra base de datos. %omo pudimos ver anteriormente, estos modelos podrán ser" el modelo en red, el modelo erárquico y, sobre todo, el modelo relacional y el modelo orientado a obetos. será necesario reali)ar una serie de pasos preparatorios sobre el esquema conceptual obtenido en la fase de dise'o conceptual.Esta transformación requerirá de la aplicación de determinadas reglas y condiciones que garanticen la equivalencia entre el esquema conceptual y el esquema lógico.sobre la información del esquema lógico obtenido, será necesario llevar a cabo un proceso que permitirá dise'ar de forma correcta la
estructura lógica de los datos. Este proceso recibe el nombre de normali)ación, que se conforma como un conunto de t$cnicas que permiten validar esquemas lógicos basados en el modelo relacional. esumiendo, simplificaremos nuestro diagrama E3, lo transformaremos al modelo relacional, aplicaremos normali)ación y obtendremos lo que se conoce en el argot como el paso a tablas del esquema conceptual o esquema lógico. Desde ese momento, basándonos en este esquema, podremos llevarnos nuestra base de datos a cualquier SGBD basado en el modelo relacional e implementarla f!sicamente. Esta implementación f!sica será totalmente dependiente de las caracter!sticas del SGBD elegido. 7.1. 0implificación previa de diagramas.
E*iste un conunto de procedimientos y normas necesario aplicar a nuestros diagramas E3 para que su transformación al modelo lógico basado en el modelo relacional, sea correcta y casi automática" ransformación de relaciones narias en binarias. Eliminación de relaciones c!clicas. educción a relaciones erárquicas 4uno a muchos5. %onversión de entidades d$biles en fuertes. ransformación de atributos compuestos" han de ser descompuestos en los atributos simples ransformación de atributos multivaluados" se ha de convertir en una entidad relacionada con la entidad de la que procede. ara esta nueva entidad se elegirá un nombre adecuado y tendrá un -nico atributo 4el correspondiente al antiguo atributo m-ltiple5. Este atributo es posible que funcione correctamente como clave primaria de la entidad pero a veces es posible que no. En este caso, la entidad que hemos creado puede que sea d$bil. Deberemos austar en cualquier caso correctamente las claves primarias. ransformación a relaciones erárquicas" Se trata de transformar las relaciones con cardinalidad muchos a muchos 48 a #5 en relaciones con cardinalidad uno a muchos 4/ a # ransformación de relaciones c!clicas" De forma general, si tenemos una entidad sobre la que e*iste una relación c!clica, para eliminar dicha relación, se crea una nueva entidad cuya clave estará formada por dos atributos, que contendrán las claves de las ocurrencias relacionadas. Entre ambas entidades se establecen dos relaciones, cuya cardinalidad dependerá de la cardinalidad que tuviera la relación c!clica en un principio. ransformación de relaciones ternarias" El tratamiento de las relaciones ternarias es similar al reali)ado para atributos asociados a relaciones, ya que una relación ternaria puede considerarse como una relación binaria a a la que se le asocia una entidad. or consiguiente, si en lugar de ser un conunto de atributos los asociados a la relación es una entidad, se asociar!a $sta mediante una nueva relación a la entidad resultante de eliminar la relación binaria. ransformación de entidades d$biles en fuertes" ara esta transformación sólo es necesario a'adir a la entidad d$bil los atributos clave de la entidad que hace posible la identificación de las ocurrencias. 7a clave de esta nueva entidad fuerte estará formada por los atributos clave de la que fuera entidad d$bil más los atributos adicionales. 18. 6aso del diagrama %/& al $odelo &elacional.
Si se ha llevado a cabo el proceso preparatorio de nuestro esquema conceptual o diagrama E3, dispondremos de un Esquema %onceptual 8odificado 4E%85 en el que sólo e*istirán e*clusivamente entidades fuertes con sus atributos y relaciones erárquicas 4/ a #5. la aplicación del modelo de datos elacional es automática, se deben tener en cuenta" oda entidad se transforma en una tabla. odo atributo se transforma en columna dentro de una tabla El atributo clave de la entidad se convierte en clave primaria de la tabla,se representará subrayado %ada entidad d$bil generará una tabla que incluirá todos sus atributos, a'adi$ndose a $sta los atributos que son clave primaria de la entidad fuerte con la que est$ relacionada. Estos atributos a'adidos se constituyen como clave foránea que referencia a la entidad fuerte. 7uego,se cogerá una clave primaria para la tabla creada. 7as relaciones 6no a 6no podrán generar una nueva tabla o propagar la clave en función de la cardinalidad de las entidades. 7as relaciones 6no a 8uchos podrán generar una nueva tabla o propagar la clave
7as relaciones refle*ivas o c!clicas podrán generar una o varias tablas en función de la cardinalidad de la relación
7as erarqu!as generarán la reunión, eliminación o creación de relaciones / a /.
7as relaciones 8uchos a 8uchos se transforman en una tabla que tendrá como clave primaria las claves primarias de las entidades que asocia Si en el proceso de generación del diagrama E3 o esquema conceptual hemos aplicado correctamente las reglas de simplificación de diagramas, nuestro Esquema %onceptual 8odificado nos permitirá el paso a tablas teniendo en cuenta sólo las transformaciones asociadas a entidades, relaciones / a #, / a / y =erarqu!as.
11. 9ormali2ación de modelos relacionales.
si queremos que nuestra base de datos funcione con plena fiabilidad, es un proceso de normali)ación de las tablas #ormali)ación" roceso que consiste en imponer a las tablas del modelo elacional una serie de restricciones a trav$s de un conunto de transformaciones consecutivas. Este proceso garanti)ará que las tablas contienen los atributos necesarios y suficientes para describir la realidad de la entidad que representan, permitiendo separar aquellos atributos que por su contenido podr!an generar la creación de otra tabla. /01?, %odd establece una t$cnica para llevar a cabo el dise'o de la estructura lógica de los datos representados a trav$s del modelo relacional, a la que denominó normali)ación. ha de utili)arse como un proceso de refinamiento que debe aplicarse despu$s de lo que conocemos como Mpaso a tablasN, conseguirá" Suprimir dependencias erróneas entre atributos. +ptimi)ar los procesos de inserción, modificación y borrado en la base de datos. El proceso de normali)ación se basa en el análisis de las dependencias entre atributos. tendrá en cuenta dependencia funcional, dependencia funcional completa y dependencia transitiva. se reali)a en varias etapas secuenciales. %ada etapa está asociada a una forma normal, E*isten varias formas normales" rimera, Segunda, ercera, Boyce%odd, %uarta, uinta y Dominio%lave. el paso de una forma normal a otra es consecutivo, si no se satisface una determinada forma normal no puede pasarse al análisis de la siguiente. los requisitos a cumplir serán cada ve) más restrictivos, para garanti)ar que no e*istan problemas en la actuali)ación de datos, es recomendable aplicar hasta ercera (orma #ormal o incluso hasta (orma #ormal de Boyce%odd. /./ . )ipos de dependencias.
Dependencia (uncional" Dados los atributos & y B, se dice que B depende funcionalmente de &, s!, y solo s!, para cada valor de & sólo puede e*istir un valor de B. 7a dependencia funcional siempre se establece entre atributos de una misma tabla. El atributo & se denomina determinante, ya que & determina el valor de B. ara representar esta dependencia funcional utili)amos la siguiente notación" & O B. Jay que indicar que & y B podr!an ser un solo atr ibuto o un conunto de ellos. Dependencia (uncional %ompleta" Dados los atributos &/, &?, ...&P y B, se dice que B depende funcionalmente de forma completa de &/, &?, ...&P, si y solo si B depende funcionalmente del conunto de atributos &/, &?, ...&P, pero no de ninguno de sus posibles subconuntos. Dependencia ransitiva" Dados tres atributos &, B y %, se dice que e*iste una dependencia transitiva entre & y %, si B depende funcionalmente de & y % depende funcionalmente de B. &, B y % podr!an ser un solo atributo o un conunto de ellos. /.? . :ormas 9ormales.
/Q (orma #ormal" 6na tabla está en rimera (orma #ormal 4/(# o (#/5 s!, y sólo s!, todos los atributos de la misma contienen valores atómicos, es decir, no hay grupos repetitivos. Dicho de otra forma, estará en /(# si los atributos no clave, dependen funcionalmente de la clave. F%ómo se normali)a a rimera (orma #ormal a. Se crea, a partir de la tabla inicial, una nueva tabla cuyos atributos son los que presentan dependencia funcional de la clave primaria. 7a clave de esta tabla será la misma clave primaria de la tabla inicial. Esta tabla ya estará en 67!.
%on los atributos restantes se crea otra tabla y se elie entre ellos uno que será la clave primaria de dicha tabla. %omprobaremos si esta segunda tabla está en /(#. Si es as!, la tabla inicial ya estará normali)ada a /(# y el proceso termina. Si no está en /(#, tomaremos la segunda tabla como tabla inicial y repetiremos el proceso. ?Q (orma #ormal" 6na tabla está en Segunda (orma #ormal 4?(# o (#?5 s!, y sólo s!, está en /(# y, además, todos los atributos que no pertenecen a la clave dependen funcionalmente de forma completa de ella. Es obvio que una tabla que est$ en /(# y cuya clave est$ compuesta por un -nico atributo, estará en ?(#. F%ómo se normali)a a Segunda (orma #ormal a. Se crea, a partir de la tabla inicial, una nueva tabla con los atributos que dependen funcionalmente de forma completa de la clave. 7a clave de esta tabla será la misma clave primaria de la tabla inicial. Esta tabla ya estará en ?(#. b.
%on los atributos restantes, se crea otra tabla que tendrá por clave el subconunto de atributos de la clave inicial de los que dependen de forma completa. Se comprueba si esta tabla está en ?(#. Si es as!, la tabla inicial ya está normali)ada y el proceso termina. Si no está en ?(#, tomamos esta segunda tabla como tabla inicial y repetiremos el proceso. AQ (orma #ormal" 6na tabla está en ercera (orma #ormal 4A(# o (#A5 s!, y sólo s!, está en ?(# y, además, cada atributo que no está en la clave primaria no depende transitivamente de la clave primaria. F%ómo se normali)a a ercera (orma #ormal a. Se crea, a partir de la tabla inicial, una nueva tabla con los atributos que no poseen dependencias transitivas de la clave primaria. Esta tabla ya estará en A(#. /. %on los atributos restantes, se crea otra tabla con los dos atributos no clave que intervienen en la dependencia transitiva, y se elie uno de ellos como clave primaria, si cumple los requisitos para ello. Se comprueba si esta tabla está en A(#. Si es as!, la tabla inicial ya está normali)ada y el proceso termina. Si no está en A(#, tomamos esta segunda tabla como tabla inicial y repetiremos el proceso. (orma #ormal de Boyce %odd" 6na tabla está en (orma #ormal de Boyce%odd 4(#B% o B%(#5 s!, y sólo s!, está en A(# y todo determinante es una clave candidata. 6n determinante será todo atributo simple o compuesto del que depende funcionalmente de forma completa alg-n otro atributo de la tabla. &quellas tablas en la que todos sus atributos forman parte de la clave primaria, estarán en (#B%. or tanto, si encontramos un determinante que no es clave candidata, la tabla no estará en (#B%. Esta redundancia suele ocurrir por una mala elección de la clave. ara normali)ar a (#B% tendremos que descomponer la tabla inicial en dos, siendo cuidadosos para evitar la p$rdida de información en dicha descomposición. b.
E*isten tambi$n la %uarta (orma #ormal 4<(# o (#<5, uinta (orma #ormal 4C(# o (#C5 y (orma #ormal de Dominio%lave 4D@(#5, aunque se ha recomendado normali)ar hasta A(# o (#B%. 7a <(# se basa en el concepto de Dependencias 8ultivaluadas, la C(# en las Dependencias de =oin o de reunión y la D@(# en las restricciones impuestas sobre los dominios y las claves.