Unidad II Fundamentos de Bases de Datos

download Unidad II Fundamentos de Bases de Datos

of 22

Transcript of Unidad II Fundamentos de Bases de Datos

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    1/22

    Unidad II2.1 El Proceso de Diseo

    "El diseo de bases de datos es el proceso por el que se determina la organizacin de una base de

    datos, incluidos su estructura, contenido y las aplicaciones que se han de desarrollar. Durante

    mucho tiempo, el diseo de bases de datos fue considerado una tarea para expertos: ms un arteque una ciencia. Sin embargo, se ha progresado mucho en el diseo de bases de datos y ste se

    considera ahora una disciplina estable, con mtodos y tcnicas propios. Debido a la creciente

    aceptacin de las bases de datos por parte de la industria y el gobierno en el plano comercial, y a

    una variedad de aplicaciones cientficas y tcnicas, el diseo de bases de datos desempea un

    papel central en el empleo de los recursos de informacin en la mayora de las organizaciones. El

    diseo de bases de datos ha pasado a constituir parte de la formacin general de los informticos,

    en el mismo nivel que la capacidad de construir algoritmos usando un lenguaje de programacin

    convencional."

    Si usa un proceso de diseo de base de datos establecido, puede crear de forma rpida y efectiva

    una base de datos bien diseada que le proporciona acceso conveniente a la informacin que

    desea. Con un diseo slido tardar menos tiempo en construir la base de datos y obtendrresultados ms rpidos y precisos.

    Nota Los trminos "base de datos" y "tabla" no son sinnimos. El trmino base de datos se refiere

    a una base de datos relacional que almacena informacin sobre una o ms tablas.

    La clave para obtener un diseo de base de datos eficaz radica en comprender exactamente qu

    informacin se desea almacenar y la forma en que un sistema de administracin de bases de datos

    relacionales, almacena los datos. Para ofrecer informacin de forma eficiente y precisa, debe tener

    almacenados los datos sobre distintos temas en tablas separadas. Por ejemplo, puede haber una

    tabla donde slo se almacenen datos sobre empleados y otra tabla que slo contenga datos de

    ventas.

    Al organizar los datos de forma apropiada, proporciona flexibilidad a la base de datos y tiene la

    posibilidad de combinar y presentar informacin de muchas formas diferentes.Al disear una base de datos, en primer lugar debe dividir la informacin que desea almacenar

    como temas distintos y despus indicar cmo se relacionan estos temas para que pueda recuperar

    la informacin correcta cuando sea necesario. Si mantiene la informacin en tablas separadas

    facilitar la organizacin y el mantenimiento de los datos y conseguir aplicaciones de alto

    rendimiento.

    El proceso de diseo consta de los pasos siguientes (pueden variar segn la fuente de

    informacin):

    Determinar la finalidad de la base de datos

    Esto le ayudar a estar preparado para los dems pasos.

    Buscar y organizar la informacin necesaria

    Rena todos los tipos de informacin que desee registrar en la base de datos, como los nombresde productos o los nmeros de pedidos.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    2/22

    Dividir la informacin en tablas

    Divida los elementos de informacin en entidades o temas principales, como Productos o Pedidos.

    Cada tema pasar a ser una tabla.

    Convertir los elementos de informacin en columnas

    Decida qu informacin desea almacenar en cada tabla. Cada elemento se convertir en un campo

    y se mostrar como una columna en la tabla. Por ejemplo, una tabla Empleados podra incluircampos como Apellido y Fecha de contratacin.

    No incluir datos calculados.

    Almacene la informacin en sus partes lgicas mas pequeas

    Especificar claves principales

    Elija la clave principal de cada tabla. La clave principal es una columna que se utiliza para

    identificar inequvocamente cada fila, como Id. de producto o Id. de pedido.

    Definir relaciones entre las tablas

    Examine cada tabla y decida cmo se relacionan los datos de una tabla con las dems tablas.

    Agregue campos a las tablas o cree nuevas tablas para clarificar las relaciones segn sea

    necesario.

    Ajustar el diseoAnalice el diseo para detectar errores. Cree las tablas y agregue algunos registros con datos de

    ejemplo. Compruebe si puede obtener los resultados previstos de las tablas. Realice los ajustes

    necesarios en el diseo.

    Aplicar las reglas de normalizacin

    Aplique reglas de normalizacin de los datos para comprobar si las tablas estn estructuradas

    correctamente. Realice los ajustes necesarios en las tablas.

    2.2 Modelo Entidad - Relacin

    1.Un modelo de datos es una coleccin de herramientas conceptuales para la descripcin de

    datos, relaciones entre datos, semntica de los datos y restricciones de consistencia. Podemoscitar dos modelos de datos el modelo entidad-relacin y el modelo relacional.

    El modelo entidad-relacin (E-R) es un modelo de datos de alto nivel. Est basado en una

    percepcin de un mundo real que consiste en una coleccin de objetos bsicos, denominados

    entidades, y de relaciones entre estos objetos.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    3/22

    El modelo relacional es un modelo de menor nivel. Usa una coleccin de tablas para representar

    tanto los datos como las relaciones entre los datos. Su simplicidad conceptual ha conducido a su

    adopcin general; actualmente, una vasta mayora de productos de bases de datos se basan en el

    modelo relacional. Los diseadores formulan generalmente el diseo del esquema de la base de

    datos modelando primero los datos en alto nivel, usando el modelo E-R, y despus traducindolo al

    modelo relacional.

    Otro modelo de datos es el orientado a objetos, por ejemplo, extiende la representacin de

    entidades aadiendo nociones de encapsulacin, mtodos (funciones) e identidad de objeto. El

    modelo de datos relacional orientado a objetos combina caractersticas del modelo de datos

    orientado a objetos y del modelo de datos relacional.

    Se desarroll para facilitar el diseo de bases de datos permitiendo la especificacin de un

    esquema de la empresa que representa la estructura lgica completa de una base de datos. El

    modelo de datos E-R es uno de los diferentes modelos de datos semnticos; el aspecto semntico

    del modelo yace en la representacin del significado de los datos. El modelo E-R es

    extremadamente til para hacer corresponder los significados e interacciones de las empresas del

    mundo real con un esquema conceptual. Debido a esta utilidad, muchas herramientas de diseo de

    bases de datos se basan en los conceptos del modelo E-R.

    Hay tres nociones bsicas que emplea el modelo de datos E-R: conjuntos de entidades, conjuntos

    de relaciones y atributos.

    Una entidades una cosa u objeto en el mundo real que es distinguible de todos los dems

    objetos. Por ejemplo, cada persona en un desarrollo es una entidad. Una entidad tiene un conjunto

    de propiedades, y los valores para algn conjunto de propiedades pueden identificar una entidad

    de forma unvoca. Por ejemplo, el D.N.I. 67.789.901 identifica unvocamente una persona particular

    en la empresa. Anlogamente, se puede pensar en los prstamos bancarios como entidades, y un

    nmero de prstamo P-15 en la sucursal de Castellana identifica unvocamente una entidad de

    rstamo. Una entidad puede ser concreta, como una persona o un libro, o puede ser abstracta,

    como un prstamo, unas vacaciones o un concepto.

    Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten las mismas

    propiedades, o atributos.

    El conjunto de todas las personas que son clientes en un banco dado, por ejemplo, se pueden

    definir como el conjunto de entidades cliente.

    Las entidades individuales que constituyen un conjunto se llaman la extensin del conjunto de

    entidades. As, todos los clientes de un banco son la extensin del conjunto de entidades cliente.

    Una entidad se representa mediante un conjunto de atributos. Los atributos describen

    propiedades que posee cada miembro de un conjunto de entidades. La designacin de un atributo

    para un conjunto de entidades expresa que la base de datos almacena informacin similar

    concerniente a cada entidad del conjunto de entidades; sin embargo, cada entidad puede tener su

    propio valor para cada atributo. Posibles atributos del conjunto de entidades cliente son id-cliente,

    nombre-cliente, calle-cliente y ciudad-cliente. En la vida real, habra ms atributos, tales como el

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    4/22

    nmero de la calle, el nmero del portal, la provincia, el cdigo postal, y la comunidad autnoma,

    pero no se incluyen en el ejemplo simple. Posibles atributos del conjunto de entidades prstamo

    son nmero-prstamo e importe.

    Para cada atributo hay un conjunto de valores permitidos, llamados el dominio, o el conjunto devalores, de ese atributo. El dominio del atributo nombrecliente podra ser el conjunto de todas las

    cadenas de texto de una cierta longitud. Anlogamente, el dominio del atributo nmero-prstamo

    podra ser el conjunto de todas las cadenas de la forma P-n, donde n es un entero positivo.

    Ejemplo:

    Entidad: Empleado

    Nombre de atributo: Cdigo

    Descripcin: Cdigo nico por empleado

    asignado por la empresa

    Funcin: Identificacin (+Definicin)

    Dominio: Nmeros positivos de dos cifras

    Atributos monovalorados y multivalorados. Los atributos que se han especificado en los ejemplos

    tienen todos un valor slo para una entidad concreta. Por ejemplo, el atributo nmero-prstamo

    para una entidad prstamo especfico, referencia a un nico nmero de prstamo. Tales atributos

    se llaman monovalorados. Puede haber ocasiones en las que un atributo tiene un conjunto de

    valores para una entidad especfica. Considrese un conjunto de entidades empleado con el

    atributo nmero-telfono. Cualquier empleado particular puede tener cero, uno o ms nmeros de

    telfono. Este tipo de atributo se llama multivalorado. En ellos, se pueden colocar apropiadamente

    lmites inferior y superior en el nmero de valores en el atributo multivalorado.

    Como otro ejemplo, un atributo nombresubordinado del conjunto de entidades empleado sera

    multivalorado, ya que un empleado en concreto podra tener cero, uno o ms subordinados.

    Cuando sea apropiado se pueden establecer lmites superior e inferior en el nmero de valores de

    un atributo multivalorado. Por ejemplo, un banco puede limitar el nmero de nmeros de telfono

    almacenados para un nico cliente a dos. Colocando lmites en este caso, se expresa que el

    atributo nmero-telfono del conjunto de entidades cliente puede tener entre cero y dos valores.

    Considrese que el conjunto de entidades empleado tiene un atributo edad, que indica la edad del

    cliente. Si el conjunto de entidades cliente tiene tambin un atributo fechade-nacimiento, se puede

    calcular edad a partir de fecha-de-nacimiento y de la fecha actual. As, edad es un atributo

    derivado.

    Un atributo toma un valor nulo cuando una entidad no tiene un valor para un atributo. El valor nulo

    tambin puede indicar no aplicable, es decir, que el valor no existe para la entidad. Por ejemplo,

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    5/22

    una persona puede no tener segundo nombre de pila. Nulo puede tambin designar que el valor de

    un atributo es desconocido. Un valor desconocido puede ser, bien perdido (el valor existe pero no

    se tiene esa informacin) o desconocido (no se conoce si el valor existe realmente o no).

    Por ejemplo, si el valor nombre para un cliente particular es nulo, se asume que el valor es perdido,

    ya que cada cliente debe tener un nombre. Un valor nulo para el atributo piso podra significar que

    la direccin no incluye un piso (no aplicable), que existe piso pero no se conoce cul es (perdido),

    o que no se sabe si el piso forma parte o no de la direccin del cliente (desconocido).

    Una relacines una asociacin entre diferentes entidades. Por ejemplo, se puede definir una

    relacin que asocie al cliente Lpez con el prstamo P-15. Esta relacin especifica que Lpez es

    un cliente con el prstamo nmero P-15. Un conjunto de relaciones es un conjunto de relaciones

    del mismo tipo. Formalmente es una relacin matemtica con n > = 2 de conjuntos de entidades

    (posiblemente no distintos). Si E1, E2,,En son conjuntos de entidades, entonces un conjunto de

    relaciones R es un subconjunto de:

    {(e1, e2,,en) | e1 E1, e2 E2,,en En}

    donde (e1,e2,en) es una relacin.

    Considrense las dos entidades cliente y prstamo. Se define el conjunto de relaciones prestatario

    para denotar la asociacin entre clientes y prstamos bancarios que los clientes tengan. Esta

    asociacin se describe en la siguiente figura:

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    6/22

    La funcin que desempea una entidad en una relacin se llama papel de la entidad. Debido a que

    los conjuntos de entidades que participan en un conjunto de relaciones son generalmente distintos,

    los papeles estn implcitos y no se especifican normalmente. Sin embargo, son tiles cuando el

    significado de una relacin necesita aclaracin. Tal es el caso cuando los conjuntos de entidades

    de una relacin no son distintos; es decir, el mismo conjunto de entidades participa en una relacin

    ms de una vez con diferentes papeles. En este tipo de conjunto de relaciones, que se llama

    algunas veces conjunto de relaciones recursivo, es necesario hacer explcitos los papeles para

    especificar cmo participa una entidad en un ejemplar de relacin. Por ejemplo, considrese unaconjunto de entidades empleado que almacena informacin acerca de todos los empleados del

    banco. Se puede tener un conjunto de relaciones trabaja-para que se modela mediante pares

    ordenados de entidades empleado. El primer empleado de un par toma el papel de trabajador,

    mientras el segundo toma el papel de jefe. De esta manera, todas las relaciones

    trabaja-para son pares (trabajador, jefe); los pares (jefe, trabajador) estn excluidos.

    El nmero de conjuntos de entidades que participan en un conjunto de relaciones es tambin

    el grado del conjunto de relaciones. Un conjunto de relaciones binario tiene grado 2; un conjunto de

    relaciones ternario tiene grado 3.

    Otro ejemplo:

    Una relacin tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, un

    huesped(entidad), se aloja(relacin) en una habitacion(entidad).

    Dados los conjuntos de entidades"Habitacin" y "Husped", todas las relaciones de la forma

    habitacin-husped, permiten obtener la informacin de los huspedes y sus respectivas

    habitaciones.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    7/22

    La dependencia o asociacin entre los conjuntos de entidades es llamada participacin. En el

    ejemplo anterior los conjuntos de entidades "Habitacin" y "Husped" participanen el conjunto de

    relaciones habitacin-husped.

    2.3 Restricciones

    Una restriccin es una condicin que obliga el cumplimiento de ciertas condiciones en la base de

    datos. Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el

    simple hecho de que la base de datos sea relacional. Algunas otras restricciones las puede definir

    el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.

    Las restricciones proveen un mtodo de implementar reglas en la base de datos. Las restricciones

    restringen los datos que pueden ser almacenados en las tablas. Usualmente se definen usando

    expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la

    restriccin o no.

    Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol

    de organizar mejor los datos.

    Un esquema de desarrollo E-R puede definir ciertas restricciones a las que los contenidos de la

    base de datos se deben adaptar.

    Examinemos la correspondencia de cardinalidades y las restricciones de participacin, que son dos

    de los tipos ms importantes de restricciones.

    La correspondencia de cardinalidades, o razn de cardinalidad, expresa el nmero de entidades a

    las que otra entidad puede estar asociada va un conjunto de relaciones.

    Uno a uno. Una entidad en A se asocia con a lo sumo una entidad en B, y una entidad en B se

    asocia con a lo sumo una entidad en A.

    Ej. Una persona tiene un coche y un coche es de una sola persona.

    Uno a varios. Una entidad en A se asocia con cualquier nmero de entidades en B (ninguna o

    varias). Una entidad en B, sin embargo, se puede asociar con a lo sumo una entidad en A

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    8/22

    Ej. Una persona tiene varios coches y un coche es de una sola persona.

    Varios a uno. Una entidad en A se asocia con a lo sumo una entidad en B. Una entidad en B,

    sin embargo, se puede asociar con cualquier nmero de entidades (ninguna o varias) en A

    Ej. Una persona tiene un coche y un coche es de varias personas.

    Varios a varios. Una entidad en A se asocia con cualquier nmero de entidades (ninguna o

    varias) en B, y una entidad en B se asocia con cualquier nmero de entidades (ninguna o varias)

    en A.

    Ej. Una persona tiene varios coches y un coche es de varias personas.

    Como ilustracin considrese el conjunto de relaciones prestatario. Si en un banco particular un

    prstamo puede pertenecer nicamente a un cliente y un cliente puede tener varios prstamos,

    entonces el conjunto de relaciones de cliente a prstamo es uno a varios. Si un prstamo puede

    pertenecer a varios clientes (como prstamos que se toman en conjunto por varios socios de un

    negocio) el conjunto de relaciones es varios a varios.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    9/22

    Restricciones Parciales

    La participacin de un conjunto de entidades E en un conjunto de relaciones R se dice que es total

    si cada entidad en E participa al menos en una relacin en R. Si slo algunas entidades en E

    participan en relaciones en R, la participacin del conjunto de entidades E en la relacin R se llama

    parcial. Por ejemplo, se puede esperar que cada entidad prstamo est relacionada con al

    primamenos un cliente mediante la relacin prestatario. Por lo tanto, la participacin de prstamo

    en el conjunto de relaciones prestatario es total. En cambio, un individuo puede ser cliente de un

    banco tenga o no tenga un prstamo en el banco. As, es posible que slo algunas de las

    entidades cliente estn relacionadas con el conjunto de entidades prstamo mediante la relacin

    prestatario, y la participacin de cliente en el conjunto de relaciones prestatario es por lo tanto

    parcial.

    Tiempo de TAREA, ups!!!!!!!, revisar el apartado de tareas y elaborar la nmero 3.

    2.4 Diagramas E-R

    2.5 Diseo con Diagramas E-R

    La estructura lgica de una Base de Datos se puede representar graficamente a travs de un

    diagrama, el cual llamaremos Diagrama E-R. Estos diagramas se apoyan de diferentes smbolos

    los cuales tienen un significado particular. Los diagramas se usan para que la informacin se

    presente de forma clara y sencilla. Los componentes principales son:

    Breve recordatorio:

    Entidad: Representa un objeto que tiene vida propia en el sistema que se est modelando, tanto

    tangible como intangibles. Ejemplo: cliente, producto, estudiante, vacacin.

    Conjunto de entidades: Grupo (conjunto) de entidades del mismo tipo. Ejemplo: Todos los

    estudiantes de un curso, representan el conjunto de entidades estudiante.

    Relacin: Asociacin o vinculacin entre dos o ms entidades. Ejemplo: La relacin comprar entre

    las entidades cliente y producto. Generalmente representa acciones entre las entidades.

    Conjunto de relaciones: Son relaciones del mismo tipo.

    Atributos: Caractersticas o propiedades asociadas al conjunto de entidades o relaciones y que

    toman valor en una entidad en particular. Ejemplo: nombre, cdula, telfono. Los posibles valores

    puede tomar un atributo para un conjunto de entidades se denomina dominio.

    Los atributos se pueden clasificar en:

    - Simples o atmicos: Son aquellos que no contienen otros atributos

    - Compuestos:Son los que incluyen otros atributos simples.. Ejemplo: direccin (Se puede dividir

    en calle, nmero, ciudad).

    - Monovalorados o Univalorados:Atributo que toma un solo valor, para una entidad en particular.

    - Multivalorados:Atributo que para una misma entidad puede tomar muchos valores.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    10/22

    - Derivados o calculados:Son aquellos atributos cuyos valores se pueden conseguir con

    operaciones sobre valores de otros atributos.

    - Nulos:Son aquellos atributos para los cuales en algn momento no existe o no se conoce su

    valor.

    Diagrama Entidad - Relacin.

    Es la representacin grfica del Modelo Entidad-Relacin y permite ilustrar la estructura de la base

    de datos del negocio modelado.

    Escribe Johnson "los diagramas ER constituyen una notacin para documentar un diseo tentativo

    de bases de datos. Los analistas los utilizan para facilitar el proceso de diseo" [Joh00].

    Est compuesto por los siguientes elementos.

    Rectngulos: representan conjuntos de entidades.

    Elipses: representan atributos.

    Rombos: representan relaciones. Lneas: unen atributos a conjuntos de entidades y conjuntos de entidades a conjuntos de

    relaciones.

    Elipses dobles: representan atributos multivalorados.

    Elipses discontinuas:que denotan atributos derivados.

    Lneas dobles: indican participacin total de una entidad en un conjunto de relaciones.

    Rectngulos dobles: representan conjuntos de entidades dbiles.

    Tomaremos el ejemplo del Libro, Fundamentos de Bases de Datos

    Considrese el diagrama entidad-relacin de la siguiente figura, que consta de dos conjuntos de

    entidades, cliente y prstamo, relacionadas a travs de un conjunto de relaciones binarias

    prestatario. Los atributos asociados con cliente son id-cliente, nombre-cliente, calle-cliente, yciudad-cliente. Los atributos asociados con prstamo son nmero-prstamo e importe. Como se

    muestra en la figura, los atributos de un conjunto de entidades que son miembros de la clave

    primaria estn subrayados. El conjunto de relaciones prestatario puede ser varios a varios, uno a

    varios, varios a uno o uno a uno. Para distinguir entre estos tipos, se dibuja o una lnea dirigida ()

    o una lnea no dirigida () entre el conjunto de relaciones y el conjunto de entidades en cuestin.

    Una lnea dirigida desde el conjunto de relaciones prestatario al conjunto de entidades prstamo

    especifica que prestatario es un conjunto de relaciones uno a uno, o bien varios a uno, desde

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    11/22

    cliente a prstamo; prestatario no puede ser un conjunto de relaciones varios a varios ni uno a

    varios, desde cliente a prstamo.

    Una lnea no dirigida desde el conjunto de relaciones prestatario al conjunto de relaciones

    prstamo especifica que prestatario es o bien un conjunto de relaciones varios a varios, o bien uno

    a

    varios, desde cliente a prstamo. Volviendo al diagrama E-R de la figura anterior, se ve que el

    conjunto de relaciones prestatario es varios a varios.

    Si el conjunto de relaciones prestatario fuera uno a varios, desde cliente a prstamo, entonces la

    lnea desde prestatario a cliente sera dirigida, con una flecha apuntando al conjunto de entidades

    cliente.

    Si el conjunto de relaciones prestatario fuera varios a uno desde cliente a prstamo, entonces la

    lnea desde prestatario a prstamo tendra una flecha apuntando al conjunto de entidades

    prstamo.

    Si el conjunto de relaciones prestatario fuera uno a uno, entonces ambas lneas desde prestatario

    tendran flechas: una apuntando al conjunto de entidades prstamo y otra apuntando al conjunto

    de entidades cliente

    Diagrama E-R con un atributo unido a un conjunto de relaciones.

    http://1.bp.blogspot.com/-SqrG7RdPnP0/UEA25ihux-I/AAAAAAAAAEo/OOBzvi8DV0Q/s1600/imagen242.JPG
  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    12/22

    Diagrama E-R con atributos compuestos, multivalorados y derivados.

    Diagrama E-R con indicadores de papeles.

    Los conjuntos de relaciones no binarias se pueden especificar fcilmente en un diagrama E-R. La

    siguiente figura consta de tres conjuntos de entidades cliente, trabajo y sucursal, relacionados a

    travs del conjunto de relaciones trabaja-en. Se pueden especificar algunos tipos de relaciones

    varios a uno en el caso de conjuntos de relaciones no binarias. Supngase un empleado que tenga

    a lo sumo un trabajo en cada sucursal (por ejemplo, Santos no puede ser director y auditor en la

    misma sucursal). Esta restriccin se puede especificar con una flecha apuntando a trabajo en el

    borde de trabaja-en.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    13/22

    Lmites de cardinalidad en conjuntos de relaciones.

    Veamos otra forma de poder representar las relaciones:

    2.6 Conjunto de entidades dbiles

    Las entidades que hemos considerado hasta ahora tienen un conjunto de atributos que forman su

    claves primarias y que permiten identificarlas completamente. Estas entidades se denominan, de

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    14/22

    forma ms especfica, entidades fuertes. En este subapartado consideraremos otro tipo de

    entidades que denominaremos entidades dbiles.

    Una entidad dbil es una entidad cuyos atributos no la identifican completamente, sino que slo la

    identifican de forma parcial. Esta entidad debe participar en una interrelacin que ayuda a

    identificarla.

    Una entidad dbil se representa con un rectngulo doble, y la interrelacin que ayuda a identificarla

    se representa con una doble lnea.

    Para que un conjunto de entidades dbiles tenga sentido, debe estar asociada con otro conjunto de

    entidades, denominado el conjunto de entidades identificadoras o propietarias. Cada entidad dbil

    debe estar asociada con una entidad identificadora; es decir, se dice que el conjunto de entidades

    dbiles depende existencialmente del conjunto de entidades identificadoras. Se dice que el

    conjunto de entidades identificadoras es propietaria del conjunto de entidades dbiles que

    identifica. La relacin que asocia el conjunto de entidades dbiles con el conjunto de entidades

    identificadoras se denomina relacin identificadora. La relacin identificadora es varios a uno del

    conjunto de entidades dbiles al conjunto de entidades identificadoras y la participacin del

    conjunto de entidades dbiles en la relacin es total.

    Ejemplo: Consideremos las entidades edificio y despacho de la figura siguiente. Supongamos que

    puede haber despachos con el mismo nmero en edificios diferentes. Entonces, su nmero no

    identifica completamente un despacho. Para identificar completamente un despacho, es necesario

    tener en cuenta en qu edificio est situado. De hecho, podemos identificar un despacho mediante

    la interrelacin situacin, que lo asocia a un nico edificio. El nombre del edificio donde est

    situado junto con el nmero de despacho lo identifican completamente.

    La interrelacin situacin nos ha permitido completar la identificacin de los despachos. Para toda

    entidad dbil, siempre debe haber una nica interrelacin que permita completar su identificacin.Esta interrelacin debe ser binaria con conectividad 1:N, y la entidad dbil debe estar en el lado N.

    De este modo, una ocurrencia de la entidad dbil est asociada con una sola ocurrencia de la

    entidad del lado 1, y ser posible completar su identificacin de forma nica. Adems, la entidad

    del lado 1 debe ser obligatoria en la interrelacin porque, si no fuese as, alguna ocurrencia de la

    entidad dbil podra no estar interrelacionada con ninguna de sus ocurrencias y no se podra

    identificar completamente.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    15/22

    Veamos y anilicemos el siguiente ejemplo:

    El discriminantede un conjunto de entidades dbiles es un conjunto de atributos que permite

    que sea distinguido. Por ejemplo, el discriminante del conjunto de entidades dbiles pago es el

    atributo nmero-pago, ya que, para cada prstamo, un nmero de pago identifica de forma nica

    cada pago para ese prstamo. El discriminante de un conjunto de entidades dbiles se denomina

    la clave parcialdel conjunto de entidades. La clave primaria de un conjunto de entidades dbiles

    se forma con la clave primaria del conjunto de entidades identificadoras, ms el discriminante del

    conjunto de entidades dbiles. En el caso del conjunto de entidades pago, su clave primaria

    es {nmero-prstamo, nmero-pago}, donde nmero-prstamo es la clave primaria del conjunto

    de entidades identificadoras, es decir, prstamo, y nmero-pago distingue las entidades pago

    dentro del mismo prstamo.

    Observe el siguiente modelo E-R y analicelo:

    2.7 Modelo E-R extendido

    En algunos casos, hay ocurrencias de una entidad que tienen caractersticas propias especficas

    que nos interesa modelizar. Por ejemplo, puede ocurrir que se quiera tener constancia de qu

    coche de la empresa tienen asignado los empleados que son directivos; tambin que, de los

    empleados tcnicos, interese tener una interrelacin con una entidadproyecto que indique en qu

    proyectos trabajan y se desee registrar su titulacin. Finalmente, que convenga conocer la

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    16/22

    antigedad de los empleados administrativos. As mismo, habr algunas caractersticas comunes a

    todos los empleados: todos se identifican por un DNI, tienen un nombre, un apellido, una direccin

    y un nmero de telfono.

    La generalizacin/especializacin permite reflejar el hecho de que hay una entidad general, que

    denominamos entidad superclase, que se puede especializar en entidades subclase:

    a) La entidad superclase nos permite modelizar las caractersticas comunes de la entidad vista de

    una forma genrica.

    b) Las entidades subclase nos permiten modelizar las caractersticas propias de sus

    especializaciones.

    Es necesario que se cumpla que toda ocurrencia de una entidad subclase sea tambin una

    ocurrencia de su entidad superclase.

    Denotamos la generalizacin/especializacin con una flecha que parte de las entidades subclase y

    que se dirige a la entidad superclase.

    Ejemplo de entidades superclase y subclase

    En la figura siguiente estn representadas la entidad superclase, que corresponde al empleado del

    ejemplo anterior, y las entidades subclase, que corresponden al directivo, al tcnico y al

    administrativo del mismo ejemplo.

    En la generalizacin/especializacin, las caractersticas (atributos o interrelaciones) de la entidad

    superclase se propagan hacia las entidades subclase. Es lo que se denomina herencia de

    propiedades.

    En el diseo de una generalizacin/especializacin, se puede seguir uno de los dos procesos

    siguientes:

    1) Puede ocurrir que el diseador primero identifique la necesidad de la entidad superclase y,

    posteriormente, reconozca las caractersticas especficas que hacen necesarias las entidades

    subclase. En estos casos se dice que ha seguido un proceso de especializacin.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    17/22

    2) La alternativa es que el diseador modelice en primer lugar las entidades subclase y, despus,

    se d cuenta de sus caractersticas comunes e identifique la entidad superclase. Entonces se dice

    que ha seguido un proceso de generalizacin.

    La generalizacin/especializacin puede ser de dos tipos:

    a) Disjunta. En este caso no puede suceder que una misma ocurrencia aparezca en dos entidades

    subclase diferentes. Se denota grficamente con la etiqueta D.

    b) Solapada. En este caso no tiene lugar la restriccin anterior. Se denota grficamente con la

    etiqueta S.

    Adems, una generalizacin/especializacin tambin puede ser:

    1) Total. En este caso, toda ocurrencia de la entidad superclase debe pertenecer a alguna de las

    entidades subclase. Esto se denota con la etiqueta T.

    2) Parcial. En este caso no es necesario que se cumpla la condicin anterior. Se denota con la

    etiqueta P.

    La generalizacin/especializacin de los empleados es total porque suponemos que todo

    empleado debe ser directivo, tcnico o administrativo. Se denota con la etiqueta T.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    18/22

    Notaciones usadas en el Modelo E-R

    Notaciones del Modelo E-R alternativas

    Tarea: Lectura del tema 2.7 Caractersticas del modelo E-R Extendido del libro Fundamentos de

    Bases de Datos de Abraham Silberschatz

    2.8 Otros aspectos del diseo de bases de datos

    Lectura del tema 2.8 Diseo de un esquema de Bases de Datos E-R, del libro Fundamentos de

    Bases de Datos de Abraham Silberschatz.

    Reduccin de diagr amas E-R a tablas

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    19/22

    Un diagrama E-R, puede ser representado tambin a travs de una coleccin de tablas. Para cada

    una de las entidades y relaciones existe una tabla nica a la que se le asigna como nombre el del

    conjunto de entidades y de las relaciones respectivamente, cada tabla tiene un nmero de

    columnas que son definidas por la cantidad de atributos y las cuales tienen el nombre del atributo.

    La transformacin de nuestro ejemplo Venta en la que intervienen las entidades de Vendedor con

    los atributos RFC, nombre, puesto, salario y Artculo con los atributos Clave, descripcin, costo.

    Cuyo diagrama E-R es el siguiente:

    Ntese que en la tabla de relacin - Venta -, contiene como atributos a las llaves primarias de las

    entidades que intervienen en dicha relacin, en caso de que exista un atributo en las relaciones,

    este atributo es anexado como una fila ms de la tabla.

    Por ejemplo si anexamos el atributo fecha a la relacin venta, la tabla que se originaria sera la

    siguiente:

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    20/22

    Reglas que se deben seguir para poder crear dicho esquema.

    Modelo e-r conversin a tablas

    una tabla por cada conjunto de entidades

    nombre de tabla = nombre de conjunto de entidades

    una tabla por cada conjunto de relaciones m-m

    nombre de tabla = nombre de conjunto de relaciones

    definicin de columnas para cada tabla

    conjuntos fuertes de entidades

    columnas = nombre de atributos

    conjuntos dbiles de entidades

    columnas = llave_primaria (dominante) U atributos(subordinado)

    conjunto de relaciones R (m-m) entre A, B

    columnas (R) = llave_primaria (A) U llave_primaria (B) U atributos(R)

    conjunto de relaciones R (1-1) entre A y B

    columnas (A) = atribs(A) U llave primaria(B) U atributos(R)

    conjunto de relaciones R (1-m) entre A y B

    columnas (B) = atribs(B) U llave primaria(A) U atributos(R)

    Lectura del tema 2.9 Reduccin de un esquema E-R a Tablas, del libro Fundamentos de Bases de

    Datos de Abraham Silberschatz.

    2.9 La Notacin E-R con UML

    Los diagramas entidad-relacin ayudan a modelar el componente de representacin de datos de

    un sistema software. La representacin de datos, sin embargo, slo forma parte de un diseo

    completo de un sistema. Otros componentes son modelos de interaccin del usuario con el

    sistema, especificacin de mdulos funcionales del sistema y su interaccin, etc. El lenguaje de

    modelado unificado (UML, Unified Modeling Language) es un estndar propuesto para la creacin

    de especificaciones de varios componentes de un sistema software. Algunas de las partes de UML

    son:

    Diagrama de clase. Un diagrama de clase es similar a un diagrama E-R. Ms adelante en este

    apartado se mostrarn algunas caractersticas de los diagramas de clase y cmo se corresponden

    con los diagramas E-R.

    Diagrama de caso de uso. Los diagramas de caso de uso muestran la interaccin entre los

    usuarios y el sistema, en particular los pasos de las tareas que realiza el usuario (tales como

    prestar dinero o matricularse de una asignatura).

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    21/22

    Diagrama de actividad. Los diagramas de actividad describen el flujo de tareas entre varios

    componentes de un sistema.

    Diagrama de implementacin. Los diagramas de implementacin muestran los componentes del

    sistema y sus interconexiones tanto en el nivel del componente software como el hardware.

    La figura siguiente muestra varios constructores de diagramas E-R y sus constructores

    equivalentes de los diagramas de clase UML. Ms abajo se describen estos constructores. UML

    muestra los conjuntos de entidades como cuadros y, a diferencia de E-R, muestra los atributos

    dentro del cuadro en lugar de como elipses separadas. UML modela realmente objetos, mientras

    que E-R modela entidades. Los objetos son como entidades y tienen atributos, pero adems

    proporcionan un conjunto de funciones (denominadas mtodos) que se pueden invocar para

    calcular valores en trminos de los atributos de los objetos, o para modificar el propio objeto. Los

    diagramas de clase pueden describir mtodos adems de atributos.

    Los conjuntos de relaciones binarias se representan en UML dibujando simplemente una lnea que

    conecte los conjuntos de entidades. Se escribe el nombre del conjunto de relaciones adyacente ala lnea. Tambin se puede especificar el papel que juega un conjunto de entidades en un conjunto

    de relaciones escribiendo el nombre del papel en un cuadro, junto con los atributos del conjunto de

    relaciones, y conectar el cuadro con una lnea discontinua a la lnea que describe el conjunto de

    relaciones. Este cuadro se puede tratar entonces como un conjunto de entidades, de la misma

    forma que una agregacin en los diagramas E-R puede participar en relaciones con otros

    conjuntos de entidades. La relaciones no binarias no se pueden representar directamente en UML

    se deben convertir en relaciones binarias (vease Apartado 2.4.3). Las restricciones de cardinalidad

    se especifican en UML de la misma forma que en los diagramas E-R, de la forma i..s,

    donde i denota el mnimo ys el mximo nmero de relaciones en que puede participar una entidad.

    Sin embargo, se debera ser consciente que la ubicacin de las restricciones es exactamente el

    inverso de la ubicacin de las restricciones en los diagramas E-R, como muestra la figura. La

    restriccin 0..* en el lado E2 y 0..1 en el lado E1 significa que cada entidad.

  • 7/25/2019 Unidad II Fundamentos de Bases de Datos

    22/22