modelación conceptual de las bases de datos

18
 II Modelación conceptual de las Bases de Datos. ¿Cuántas corrientes tenemos? ¿Cuántas cuentas de ahorro? ¿Cuántos clientes? ¿Cuántos clientes tienen ambos tipos de cuentas? ¿Qué porcentaje de nuestras cuentas de ahorro tienen un saldo superior a $1000? ¿Qué tipo de cliente tiende a tener el mayor saldo promedio en sus cuentas? ¿Cuántos clientes tienen préstamos por encima de sus cuentas corrientes de ahorros? Un presidente de un banco está frustrado porque no puede tener diariamente las respuestas a este tipo de preguntas. Mientras tanto, la jefa de contaduría, necesita estar segura de que cada cliente recibe mensualmente el estado de cuenta, y el jefe de préstamos a clientes, necesita un informe semanal de los pagos vencidos de los préstamos y necesita también una aplicación que genere automáticamente las cartas de recordatorios. Claramente cada una de estas necesidades de los usuarios puede satisfacerse con un sistema de Base de Datos. También está claro que estos tres usuarios tienen necesidades diferentes. Es fácil ver que hay bastante solapamiento en los tipos de datos que los tres usuarios requieren. La tarea durante la definición de los requisitos y el diseño conceptual es identificar las necesidades básicas de datos y crear los modelos conceptuales de los datos que nos aseguren registrar los datos necesarios y las relaciones entre éstos. 2.1 Realidad, definición de requisitos y modelado conceptual de datos. Los procesos de definición de los requisitos y el diseño conceptual exigen identificar las exigencias de la información de los usuarios y representar éstos en un modelo bien definido. Para llevar a cabo esto necesitamos observar cuidadosamente la naturaleza de las condiciones d e los usuarios y el significado preciso de la representación lógica de los mismos. 2.2 Realidad y modelos ¿Qué es un modelo? Un modelo es una representación de la realidad que conserva sólo detalles relevantes. Por ejemplo, consideremos una transacción bancaria tal como un depósito en una cuenta corriente. Contaduría desea conservar ciertos detalles (número de la cuenta, monto del depósito, tiempo, fecha, número del cajero) e ignorar otros (las palabras que se han intercambiado durante la transacción, el número de gente en el banco, el número de personas que estaban esperando en la cola, la música que estaba tocando en el audio local, las condiciones del clima fuera del banco, etc.). La realidad involucra un sinnúmero de detalles, pero Contaduría considerará a la mayoría de ellos irrelevantes para la transacción. De modo que un modelo, desde el punto de vista de Contaduría, conservará sólo aquellos detalles que ésta considere relevante. Por supuesto, algunos detalles considerados irrelevantes por el usuario pueden ser muy importantes para otros usuarios. Imaginemos, por ejemplo, que se está desarrollando un sistema de Base de Datos para un restaurante de comida rápida. Las condiciones del clima pueden ser aspectos significativos de la realidad del administrador del restaurante, puesto que un día frío debe ofertar un conjunto de ensaladas bastante diferentes del de un día cálido. Como resultado, el admi nistrador debe desear poder tener en cuenta estos cambios del clima y las órdenes que han sido suministradas de acuerdo con esto. El número de personas esperando en la cola puede ser otro aspecto importante para la realidad del administrador, puesto que éste necesita esta información para poder planificar la cantidad de cajeros y minimizar el tiempo de espera de un cliente.

Upload: caryaxo-rama

Post on 07-Jul-2015

2.547 views

Category:

Documents


0 download

TRANSCRIPT

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 1/18

II Modelación conceptual de las Bases de Datos.

¿Cuántas corrientes tenemos? ¿Cuántas cuentas de ahorro? ¿Cuántos clientes? ¿Cuántos clientes

tienen ambos tipos de cuentas? ¿Qué porcentaje de nuestras cuentas de ahorro tienen un saldosuperior a $1000? ¿Qué tipo de cliente tiende a tener el mayor saldo promedio en sus cuentas?¿Cuántos clientes tienen préstamos por encima de sus cuentas corrientes de ahorros?

Un presidente de un banco está frustrado porque no puede tener diariamente las respuestas a este tipode preguntas. Mientras tanto, la jefa de contaduría, necesita estar segura de que cada cliente recibemensualmente el estado de cuenta, y el jefe de préstamos a clientes, necesita un informe semanal delos pagos vencidos de los préstamos y necesita también una aplicación que genere automáticamentelas cartas de recordatorios.

Claramente cada una de estas necesidades de los usuarios puede satisfacerse con un sistema de Basede Datos. También está claro que estos tres usuarios tienen necesidades diferentes. Es fácil ver que haybastante solapamiento en los tipos de datos que los tres usuarios requieren. La tarea durante la

definición de los requisitos y el diseño conceptual es identificar las necesidades básicas de datos y crearlos modelos conceptuales de los datos que nos aseguren registrar los datos necesarios y las relacionesentre éstos.

2.1 Realidad, definición de requisitos y modelado conceptual de datos.

Los procesos de definición de los requisitos y el diseño conceptual exigen identificar las exigencias de lainformación de los usuarios y representar éstos en un modelo bien definido. Para llevar a cabo estonecesitamos observar cuidadosamente la naturaleza de las condiciones de los usuarios y el significadopreciso de la representación lógica de los mismos.

2.2 Realidad y modelos¿Qué es un modelo? Un modelo es una representación de la realidad que conserva sólo detallesrelevantes. Por ejemplo, consideremos una transacción bancaria tal como un depósito en una cuentacorriente. Contaduría desea conservar ciertos detalles (número de la cuenta, monto del depósito,tiempo, fecha, número del cajero) e ignorar otros (las palabras que se han intercambiado durante latransacción, el número de gente en el banco, el número de personas que estaban esperando en la cola,la música que estaba tocando en el audio local, las condiciones del clima fuera del banco, etc.). Larealidad involucra un sinnúmero de detalles, pero Contaduría considerará a la mayoría de ellosirrelevantes para la transacción. De modo que un modelo, desde el punto de vista de Contaduría,conservará sólo aquellos detalles que ésta considere relevante.

Por supuesto, algunos detalles considerados irrelevantes por el usuario pueden ser muy importantes

para otros usuarios. Imaginemos, por ejemplo, que se está desarrollando un sistema de Base de Datospara un restaurante de comida rápida. Las condiciones del clima pueden ser aspectos significativos de larealidad del administrador del restaurante, puesto que un día frío debe ofertar un conjunto deensaladas bastante diferentes del de un día cálido. Como resultado, el administrador debe desear podertener en cuenta estos cambios del clima y las órdenes que han sido suministradas de acuerdo con esto.El número de personas esperando en la cola puede ser otro aspecto importante para la realidad deladministrador, puesto que éste necesita esta información para poder planificar la cantidad de cajeros yminimizar el tiempo de espera de un cliente.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 2/18

Una Base de Datos incorpora un modelo de la realidad. El SGBD administra la Base de Datos de modoque cada usuario pueda registrar, acceder y manipular los datos que constituyen su modelo de larealidad. Manipulando los datos en una amplia variedad de formas los usuarios pueden obtener lainformación necesaria para conducir una empresa con éxito. Por lo tanto, los modelos son herramientaspoderosas para eliminar los detalles irrelevantes y comprender la realidad de los usuarios individuales.

Modelar la realidad es en muchas maneras similar a resolver un problema de una historieta. Ambosrequieren que nos desprendamos de los detalles para crear un modelo correcto de una porción de larealidad. Esto significa que se debe asociar, o identificar, elementos de la realidad con elementos en elmodelo. Si esta asociación se hace correctamente, entonces el modelo se puede usar para resolver elproblema. De lo contrario, el modelo no puede producir una solución correcta. Mucha gente encuentraque el problema de las historietas es difícil porque no se sienten cómodos con el proceso de asociaciónen sí mismo.

En el nivel más bajo se dice que el estado en curso de una Base de Datos en particular es un modelo dela realidad porque es un registro de hechos seleccionados sobre la realidad que son verdaderos. Porejemplo, la Base de Datos puede registrar el hecho: Juan Pérez vive en Avenida Garzón 845. Si Juancambia de dirección, entonces el estado de la Base de Datos debe de cambiar si quiere continuar con unmodelo preciso de la realidad.

En el próximo nivel del esquema se describe en la estructura de la Base de Datos como un modelo deun conjunto de modelos (estos es, un modelo de un conjunto de estado de la Base de Datos). Elesquema modela un enorme rango de estados de la Base de Datos, definiendo aquellas característicasque todos estos estados tienen en común. Así, nombre y dirección se registran en el modelo comocaracterísticas que se aplican a diferentes personas y que cambian de tiempo en tiempo.

Al nivel más alto, la metodología de diseño describe las construcciones y reglas que pueden serutilizadas en la formulación de un esquema. Por lo tanto, este nivel es también un modelo de unconjunto de modelos (posibles esquemas de Bases de Datos). Una metodología dada de diseño, tal

como el modelo conceptual de datos o el modelo relacional, es un modelo al nivel más alto y describeen términos generales un conjunto potencialmente enorme de esquemas En resumen, se habla delmodelo conceptual de datos como una metodología para la creación de esquemas de Bases de Datospara situaciones particulares de aplicación. Estos esquemas de Bases de Datos son en sí mismosmodelos que proveen una estructura lógica para capturar hechos sobre una porción particular de larealidad. Cuando estos hechos son capturados y registrados en un sistema de Base de Datos, entoncesla Base de Datos en sí misma es un modelo del estado actual de la realidad. Cada uno de los dos nivelessuperiores de la figura 16 es un modelo del nivel que tiene debajo.

2.3 Diseño de bases de datos relacionales.

2.3.1 Conceptos básicos.Un campo o atributo es la unidad menor de información sobre un objeto (almacenada en la base) yrepresenta una propiedad de un objeto (por ejemplo, el color).

Sin embargo, hay que distinguir entre el nombre o tipo del atributo y el valor del atributo, ya que unnombre de atributo puede tomar diferentes valores sobre un cierto conjunto que se denominadominio.A un valor de un atributo determinado o definido en el dominio dado, en un cierto momento deltiempo, se denomina ocurrencia del atributo.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 3/18

Ejemplo:

Atributo Color Categoría Docente

Dominio {Azul,Rojo,Verde,...} {PT, PA, A, I}

Ocurrencia Rojo A

Ahora bien, una colección identificable de campos asociados es un artículo o registro y representa unobjeto con sus propiedades. Una vez más, es imprescindible distinguir entre nombre o tipo de artículo yocurrencia de artículo. Una ocurrencia de artículo o tuploconsiste en un grupo de ocurrencias decampos relacionados, representando una asociación entre ellos. Por ejemplo, tenemos un artículocorrespondiente al objeto profesor , en un fenómeno o proceso de la realidad que pretenda representarel comportamiento de una Facultad. El nombre o tipo de artículo puede ser PROFESOR, que estéformado por los siguientes tipos de campos o atributos:

NUM_IDENT: número de identidad del profesorNOM_PROF : nombre del profesorCAT_DOC : categoría docente del profesorDPTO : departamento docente al que pertenece el profesor.

Una ocurrencia de este artículo puede ser :

45112801731 Juan Pérez PA Computación.

Un  fichero o archivo o conjunto de datos puede ser definido como un conjunto de ocurrencias de unmismo tipo de artículo.

En la práctica, a menudo interesan las colecciones o conjuntos de objetos similares, necesitándosealmacenar la información de las mismas propiedades para cada uno de ellos, por ejemplo, el conjuntode profesores de la Facultad.

Entonces, una Base de Datoscontendrá muchas ocurrencias de cada uno de los tipos de artículos, lo que

implica que la Base de Datos, por supuesto, también contendrá muchas ocurrencias de los distintostipos de atributos.

Uno de los momentos cruciales en el diseño de un fenómeno de la realidad objetiva que se concreta enuna Base de Datos es, precisamente, la selección de los conjuntos de objetos y sus propiedades.

Además, existe otro concepto muy importante en este nivel, que es el concepto de llave o clave

candidata, el cual no es más que un atributo o conjunto de atributos de un artículo que define que cadaocurrencia de artículo de la Base de Datos sea único. En principio, cada artículo tiene una llave, ya quese tiene como hipótesis que cada elemento u ocurrencia del artículo es diferente de las demás. Porejemplo, el número de identidad del trabajador.

2.3.2 Las relaciones.

Es importante notar que, en general, habrá asociaciones o relaciones enlazando las entidades básicas.

Estos enlaces se pueden establecer entre diferentes objetos o tipos de artículos o entre un mismo tipode artículo. Por ejemplo, cuando se tiene una Base de Datos formada por dos tipos de objetos:SUMINISTRADOR y PRODUCTO, se puede tener la relación "CANTIDAD", que establece la cantidad de

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 4/18

cada producto que abastece un suministrador dado. Otro ejemplo pudiera ser con el artículo PERSONA,sobre el que se pudiera representar la relación "SER MADRE DE", que no es más que una relación quese establece entre elementos de un mismo tipo de artículo.

Es necesario profundizar acerca de los diferentes tipos de relaciones que pueden ocurrir en la práctica.A partir de ahora, para abreviar, cuando mencionemos la palabra entidad estaremos haciendo

referencia realmente a un conjunto de entidades.2.3.3 Relaciones de correspondencia: 

Es necesario establecer la correspondencia que existe entre los datos; esta relación puede ser simple ocompleja.

Por relación simple se entiende una correspondencia biunívoca (de uno a uno) entre las ocurrencias delos objetos, o sea, entre los artículos. Si, por ejemplo, los atributos son Nro_Identidad y nombre del 

 profesor ,la correspondencia entre ellos es simple: a cada nombre corresponde un número de identidady viceversa.

Relación

Nombre Nro_Identidad de uno1 : 1 a uno

Si los atributos son Nro_identidad  y departamento, la relación es más complicada, porque a cadadepartamento corresponden varios empleados. La terminología corriente expresa que lacorrespondencia de empleado a departamento es simple (cada empleado es miembro de un únicodepartamento), mientras que la correspondencia de departamento a empleado es compleja, pues cadadepartamento tiene, por lo general, muchos empleados.

Relación

Nro_Dpto. Nro_Identidad de uno1 : M a muchos

La relación que se establece entre PROFESOR y ESTUDIANTE es más compleja por la impartición declases, ya que un profesor puede impartir clases a varios estudiantes, pero, a su vez, un estudiantepuede recibir clases de varios profesores:

Relación

PROFESOR ESTUDIANTE de muchos

N : M a muchos

Las relaciones pueden tener diferentes características:

y  Aunque la mayoría de las relaciones asocian dos tipos de entidades, éste no es siempre el caso.Por ejemplo, PROFESOR_HORARIO_ESTUDIANTE. Esto podría representar el hecho de que unprofesor imparte clases a una cierta hora a un cierto estudiante. Esto no es lo mismo que la

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 5/18

combinación PROFESOR_HORARIO y HORARIO_ESTUDIANTE, ya que la información de que "elprofesor P5 imparte clases en el horario H1 al estudiante E4" dice más que la combinación "elprofesor P5 imparte clases en el horario H1" y "el estudiante E4 recibe clases en el horario H1".

y  Las relaciones pueden establecerse entre un mismo tipo de entidad. Por ejemplo, una asociaciónentre un profesor y otro puede venir dada por el hecho de que un profesor sea el jefe de otros

profesores.

y  Es importante señalar que una asociación entre entidades puede ser considerada en sí como unaentidad, ya que una relación se puede ver como un objeto bien diferenciado sobre el cual sedesea almacenar información.

Entonces, un modelo de datos no es más que la representación de un fenómeno de la realidad objetivaa través de los objetos, sus propiedades y las relaciones que se establecen entre ellos.

El proceso de modelación conceptual es denominado también modelación semántica, ya que con estosmodelos se pretende reflejar en mayor medida la semántica, el significado de los datos y susinterrelaciones.

2.4 Modelo Entidad-Relación.

El Modelo Entidad-Relación (MER) fue propuesto en 1976 por Peter Sin ShanChen y ha encontrado unaamplia aceptación como instrumento para modelar el mundo real en el proceso de diseño de las basesde datos. El MER describe los datos en términos de entidades, atributos y relaciones.

Es importante destacar las siguientes características de los atributos en este modelo:

1. Los atributos sólo son correspondencias funcionales. Así, por ejemplo, si tenemos la entidadAUTOMÓVIL y el atributo COLOR, el hecho de que un auto pueda tener más de un color no se puederepresentar como un atributo en este modelo.

2. El único hecho que puede ser registrado sobre los valores en este modelo es su pertenencia a unconjunto valor. Si se desea representar otra propiedad, el valor tiene que ser convertido en unaentidad. Por ejemplo, si queremos registrar la longitud de onda de cada color no podemos hacerlo enel MER, sino convirtiendo el conjunto de valores COLOR en una entidad.

El MER tiene asociada una representación gráfica denominada Diagrama Entidad-Relación (DER).

En un DER, cada entidad se representa mediante un rectángulo, cada relación mediante un rombo ycada atributo mediante un círculo. Mediante líneas se conectan las entidades con las relaciones, igualque las entidades con los atributos. Los atributos llaves se representan subrayando el correspondienteconjunto de valores.

En una relación, la llave es la combinación de las llaves de todas las entidades asociadas. Para cadarelación se determina su tipo (simple o complejo) y en el DER se escribe el tipo de correspondencia.

En ocasiones, una entidad no puede ser identificada únicamente por el valor de sus propios atributos.En estos casos, se utilizan conjuntamente las relaciones con los atributos para lograr la requeridaidentificación unívoca. Estas entidades reciben el nombre de entidades débiles y se representan en elDER con un doble rectángulo. El MER restringe las relaciones a usar para identificar las entidadesdébiles a relaciones binarias del tipo 1:n. Así, por ejemplo, una ocurrencia de "trabajador" puede tenern ocurrencias "persona-dependiente" asociadas, donde además, la existencia de las ocurrencias en lasegunda entidad depende de la existencia de una ocurrencia que le corresponda en la primera entidad.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 6/18

Por ejemplo, en el modelo habrá personas dependientes de un trabajador sólo si ese trabajador existe.Para indicar esa dependencia en la existencia se usa una saeta en el DER. La llave de una entidad débilse forma combinando la llave de la entidad regular que la determina con algún otro atributo que definaunívocamente cada entidad débil asociada a una entidad regular dada. Una entidad se denominaregular si no es débil. La gran ventaja de los diagramas Entidad-Relación es que son fáciles de dibujar yfáciles de comprender.

En la figura 1.3 se muestra un ejemplo de un Modelo Entidad-Relación. Éste contiene 4 conjuntos deentidades: EMPRESA, PIEZA, MÁQUINA y TRABAJADOR y 3 relaciones. En ella puede notar cómo unaempresa puede tener varios (n) trabajadores asociados y un trabajador pertenece a una sola empresa(1). En la relación TRABAJADOR-MÁQUINA-PIEZA, un trabajador puede trabajar en n máquinas,produciendo p piezas, o una pieza puede ser producida por m trabajadores en n máquinas. Aquí, m, n y

 p no identifican un número específico, sino solamente el tipo de correspondencia que se establece en larelación. Cada uno de los conjuntos de entidades tiene asociado un conjunto de atributos y su llave.

n

Valormonetario No.Pieza

Cantidad

 Nombre-máquina

Valor mone-tario

#-máquina

Hora 

n

n

n

1

Valormonetario

Presu uestoEMPRESA

 Nombredeempresa

TRABAJADOR 

Empresa-trabajador 

 Num-id

 Nombrespropios

Apellidos

Calificación

trab-maq

trab-máq- pieza

MÁ UINA

m

m

PIEZA

Salario

Fig.1.3 Un ejemplo de Modelo Entidad-Relación.

Años Nombrespropios

n

1

Trab-Persdep

PERSONA-DEPENDIENTE

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 7/18

Es posible extender la capacidad semántica del MER aplicando sobre sus objetos básicos (entidad yrelación) diferentes operaciones:

1. Agregación: Construye una nueva entidad sobre la base de una relación.

2. Generalización: Permite formar una nueva entidad, mediante la unión de otras entidades. El procesoinverso se denomina especialización y divide una entidad en cierto número de otras entidades.

3. Agrupamiento: Define una nueva entidad, donde cada ocurrencia es un grupo de ocurrencias de laentidad fuente.

2.4.1 Agregación.

Obsérvese en el ejemplo que representa la situación de la producción en las empresas (mostrado en lafigura 1.3), que la relación ternaria Trab-Máq-Pieza representa la idea de que una actividad en laempresa se describe en términos de "un obrero en alguna máquina produce una pieza dada en algunacantidad específica". Sin embargo, la misma situación puede ser vista de forma algo diferente. En laempresa las máquinas pueden estar asignadas a los obreros y estos "equipos" producir piezas en cierta

cantidad. En el MER original esta situación no hubiera podido ser modelada correctamente, ya que unarelación no puede relacionarse con otra relación o entidad. Con la operación de Agregación estasituación se resuelve fácilmente, tal y como se muestra en la figura 1.4.

Otro ejemplo de agregación se muestra a continuación en la figura 1.5. La nueva entidad ENVÍO sedefine como una agregación de tres entidades: Suministrador, Pieza y Proyecto con los nuevos atributosFecha de envío y Cantidad enviada. Hay una diferencia importante entre estos dos atributos. Está claroque la Fecha de envío no puede pertenecer a ninguna de las entidades componentes, sin embargo, laCantidad enviada se refiere claramente a las piezas. Diremos entonces, que la Cantidad enviada es una"caracterización" de la entidad PIEZA con respecto al ENVÍO. 

nmOBRERO Obrero-máq MÁQUINA

EQUIPO

PIEZA

Cantidad1

Equipo-Pieza

Fig. 1.4 Un ejemplo de Agregación.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 8/18

 

2.4.2 Generalización / Especialización.

Por ejemplo, en el DER mostrado en la figura 1.3, puede ser necesario distinguir los trabajadores de unaempresa de acuerdo a su ocupación como obreros, dirigentes y administrativos. Esto no puede serrepresentado en el modelo anterior y sólo a través del hecho de que el conjunto de entidades OBRERO,por ejemplo, es siempre un subconjunto del conjunto de entidades TRABAJADOR, podemos deducircierta clase de dependencia entre los dos tipos. Usando la generalización podemos obtener un nuevodiagrama como se muestra parcialmente en la figura 1.6. Nótese que hemos introducido un nuevoatributo (Tipo de Trabajo) para el conjunto de entidades TRABAJADOR. Este atributo nos permitedistinguir entre los miembros de diferentes clases de trabajadores.

n

m

Suministrador -Pieza-Pro ecto

ENVÍO

SUMINISTRADOR   PIEZA PROYECTO 

Cantidad

Fecha delenví

Fig. 1.5 Otro ejemplo de agregación.

Tipo

deTrabajo

 Num-idTRABAJADOR 

ADMINISTRATIVO  DIRIGENTE 

OBRERO 

Fig. 1.6 Ejemplo de generalización.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 9/18

En una Generalización / Especialización los atributos y relaciones del conjunto de entidades"generalizado" son heredados por los conjuntos de entidades componentes (entidades especializadas).Además, se pueden definir nuevos atributos y relaciones para cada entidad especializada. Por ejemplo,la relación Obrero-Máquina se define ahora sólo para la entidad especializada OBRERO, componentedel conjunto de entidades generalizado TRABAJADOR.

2.4.3 Agrupamiento.

Si T  designa a algún conjunto de entidades y T 1, T 2 ...T n son bien conjuntos valor (dominios) asociadoscon T o conjuntos de entidades relacionados con T mediante alguna relación, entonces el operador deAgrupamiento construye un nuevo conjunto de entidades agrupado (entidad agrupada oagrupamiento) T g donde cada elemento es un conjunto de entidades (ocurrencias) de T , tales que,dentro de cada uno de tales conjuntos, todas las entidades (ocurrencias) tienen los mismos valores yentidades relacionadas desde los conjuntos de entidades T 1, T 2 ...T n asociados. Los tipos T 1, T 2 ...T n sellamarán tipos índice y T se llamará base.

Por ejemplo, podemos usar el atributo Salario del DER mostrado en la figura 1.3 para formar unconjunto entidad (entidad) agrupado a partir del conjunto entidad TRABAJADOR. Cada entidad(ocurrencia) Trabajador dentro de un grupo, que representa a una entidad (ocurrencia) en Trabajadoresde igual salario, tiene el mismo valor del salario. Observe la figura 1.7.

Para el MER, incluyendo las tres operaciones estudiadas pueden plantearse una serie de restriccionesde integridad:

1. Al aplicar la generalización/especialización, una entidad puede pertenecer a una jerarquía dediferentes conjuntos de entidades. Por ejemplo, los conjuntos de entidades PERSONA, TRABAJADOR,

OBRERO forman una jerarquía de conjuntos de entidades sucesivamente más especializados.Entonces, una entidad existente en un nivel dado, tiene que existir en todos los niveles superiores.De forma inversa, si una entidad se elimina de un conjunto en un nivel i, debe ser eliminada tambiénen los niveles más bajos.

2. La agregación constituye un conjunto entidad (entidad agregada) sobre la base de una relación, porlo que dicho conjunto se comportará de forma similar a como se comporta la relación. Entonces,para que el conjunto agregado exista, deben existir todos los conjuntos de entidades que tomanparte en la relación. Lo inverso no tiene que ocurrir necesariamente, ya que, por ejemplo, en el caso

TRABAJADOR 

Trabajadores de igualsalario

Fig. 1.7 Ejemplo de agrupamiento.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 10/18

visto del ENVÍO, pueden existir suministradores que no abastezcan a ningún proyecto, sino que seregistran como tales porque en determinado momento pudieran estar activos. Desde luego, si lapolítica de la organización es tal que un suministrador se considera como tal sólo si realmentesuministra piezas a algún proyecto, entonces la existencia de la entidad agregación ENVÍO esindispensable para la existencia del conjunto entidad SUMINISTRADOR.

3. Al aplicar el agrupamiento, por lo general la existencia de todos los componentes del conjunto índicees necesaria para que exista la entidad agrupada. Por otra parte la base es indispensable sólo en elsentido de que para que exista cada entidad agrupada en el conjunto de entidades obtenido almenos tiene que existir una entidad en la base. Lo inverso no se requiere, o sea, no es necesario quecada entidad en el conjunto base sea miembro de alguna entidad en el conjunto agrupado.

2.5 Modelo relacional.

Uno de los modelos matemáticos más importantes, actuales y con mayores perspectivas para larepresentación de las Bases de Datos es el enfoque relacional. Este modelo se basa en la teoríamatemática de las relaciones, suministrándose por ello una fundamentación teórica que permite aplicartodos los resultados de dicha teoría a problemas tales como el diseño de sublenguajes de datos y otros.

El término relación se puede definir matemáticamente como sigue:

Dados los conjuntos D1, D2, ...., Dn (no necesariamente distintos), R es una relación sobre esos n 

conjuntos si está constituida por un conjunto de n - tuplos ordenados d 1, d 2, ...., d n tales que d 1�D1, d 2

�D2, ...., d n�Dn. Los conjuntos D1, D2, ...., Dn se llaman dominios de R y n constituye el grado de la

relación.

Es conveniente representar una relación como una tabla bidimensional donde cada fila representa unn-tuplo. Observe la figura 1.8.

En el modelo relacional, tanto los objetos o entidades, como las relaciones que se establecen entreellos, se representan a través de tablas, que en la terminología relacional se denominan relaciones.

Cada relación está compuesta de filas (las ocurrencias de los objetos) y se les denomina, en laterminología relacional, como n-uplos. También la relación está compuesta por columnas que son losatributos o campos que toman valores en sus respectivos dominios.

COLUMNAS(atributos)

FILAS(ocurrencias) 

. . . 

. . . 

. . . 

Fig. 1.8 Una relación representada mediante una tabla bidimensional.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 11/18

Una relación puede tener varias llaves. Una de ellas se nombra llave primaria (la que se escoja paratrabajar) y las restantes se nombran llaves candidatas.

Una superllave será cualquier superconjunto de una llave. Entonces, una llave es un caso especial desuperllave.

Es importante tener en cuenta lo siguiente:

1. No hay dos filas (n-uplos) iguales.

2. El orden de las filas no es significativo.

(Las condiciones 1 y 2 se deben a que la relación es un conjunto).

3. El orden de las columnas no es significativo.

Siendo rigurosos, el orden de las columnas sí es significativo, pues representa el orden de losdominios implicados, pero como siempre nos referimos a una columna por su nombre y nunca porsu posición relativa no es significativo.

4. Cada valor dentro de la relación (cada valor de un atributo) es un dato atómico (o elemental), es

decir, no descomponible; por ejemplo: un número, una cadena de caracteres. En otras palabras,en cada posición (fila, columna) existe un solo valor, nunca un conjunto de valores.

Una relación que satisface este último punto se denomina "Normalizada". La teoría de la normalizaciónse basa en la necesidad de encontrar una representación del conjunto de relaciones que en el procesode actualización sea más adecuada. Llevar una relación no normalizada a normalizada es muy simple.Existen diferentes niveles de normalización que se llaman formas normales que estudiaremos másadelante.

2.6 Transformación del MER en un Modelo Relacional.

Para obtener el modelo lógico global de los datos según el enfoque relacional a partir del DER, se sigueun procedimiento que iremos describiendo paso a paso y aplicándolo, así mismo, mediante un ejemplo.

Supongamos que tenemos el Modelo Entidad-Relación mostrado en la figura 1.9.

diralm

calm

raman memnumemp

cantembalm

1m

Distribución

emb-alm

cantemb

arribo

nm

tarifati o

umnommerccmercmonedanombre

MERCANCÍA 

 país- 

PAÍS  TRANSPORTACIÓN 

EMBARQUE

ALMACÉN EMPRESA

m

n

1

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 12/18

 

En el DER anterior se representa el fenómeno del movimiento mercantil de un organismo. En elorganismo existen mercancías de las que se conoce su código, nombre y unidad de medida. Lasmercancías proceden de diferentes países de los que se sabe nombre y área de moneda. Para latransportación de las mercancías existen diversas formas, cada una de las cuales se caracteriza por sutipo (barco, avión, tren, etc.) y tarifa. De un país se reciben muchas mercancías y una mercancía puedevenir de muchos países. Para cada mercancía de un país existen diferentes formas de transportación yuna forma de transportación puede serlo de diferentes mercancías de diferentes países. Una mercancíaprocedente de un país transportada de una forma dada constituye un embarque y para éste se conocesu fecha de arribo y cantidad.

Un embarque se distribuye entre diferentes almacenes y en un almacén se tienen diferentesembarques, cada uno en cierta cantidad. De cada almacén se tiene su código y dirección. Un almacénenvía sus productos a una sola empresa y cada empresa recibe productos de diferentes almacenes. Unaempresa se caracteriza por su número, nombre y rama económica.

Cada almacén tiene distintas naves subordinadas. De cada nave se conoce su número (que se puederepetir en diferentes almacenes), capacidad y condiciones técnicas.

Para hacer la conversión hay que realizar los siguientes pasos:

1.  Representar cada entidad regular en una tabla relacional.País (nombre, moneda)Mercancía (cmerc, nommerc, um)Transportación (tipo, tarifa)Almacén (calm, diralm)Empresa (numemp, nomemp, rama)

Fig. 1.9 MER para el problema del movimiento mercantil.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 13/18

2.  Representar en una tabla relacional cada entidad agregada con sus correspondientes atributos(entre ellos un identificador si fue definido) y las llaves de las entidades que forman laagregación.

Embarque (nombre, cmerc, tipo, arribo, cantemb)

Nótese que la llave estaría formada por las llaves de las 3 entidades regulares que intervienen enla agregación.

Pero podía haberse definido un identificador para la entidad embarque (idemb). Entonces seañadiría como atributo llave en la agregación y los 3 atributos nombre, cmerc y tipopermanecerían en la relación pero no como llaves. Esto es,

Embarque (idemb, nompa, cmerc, tipo, arribo, cantemb)

3.  Representar cada entidad generalizada en una tabla que contendrá sus atributos (sólo los de lageneralizada) y, entre ellos, la llave.

Representar cada entidad especializada en una tabla que contendrá la llave de la generalizacióny los atributos propios sólo de la especialización.

4.  Representar en una tabla relacional cada relación de m:n, incluyendo las llaves de las entidadesrelacionadas y los atributos de la relación si los hubiese.

Emb-alm (idemb, calm, cantembalm)

5.  Para cada relación de 1:m, añadir la llave de la entidad del extremo "1" como un nuevo atributoa la entidad del extremo "m" y los atributos de la relación si existen.

En nuestro ejemplo, se da la relación

Almacén Empresa

por lo que la llave de la entidad Empresa (numemp) debe añadirse como atributo en la tabla querepresenta la entidad Almacén. Esto hace que la relación Almacén obtenida en el paso # 1 quede

modificada de la siguiente manera:

Almacén (calm, diralm, numemp)

Al agregarse el atributo numemp en la relación Almacén se sabe entonces a qué empresaabastece el almacén. Está claro que muchas ocurrencias de almacén pueden tener el mismovalor en el atributo numemp, pues una empresa recibe mercancías de varios almacenes, engeneral.

6.  Representar cada entidad débil en una tabla relacional que contendrá la llave de la entidadregular determinante y el identificador de la entidad débil con sus atributos.

Nave (calm, numnav, capnav, condtécn)

Resumiendo, el Modelo Relacional del ejemplo mostrado en la figura 1.9 es:

País (nombre, moneda)Mercancía (cmerc, nommerc, um)Transportación (tipo, tarifa)Almacén (calm, diralm, numemp)Empresa (numemp, nomemp, rama)

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 14/18

Embarque (idemb, nompa, cmerc, tipo, arribo, cantemb)Emb-alm (idemb, calm, cantembalm)Nave (calm, numnav, capnav, condtécn)

Analicemos otro ejemplo.

Veamos cómo el siguiente problema se puede representar fácil y claramente mediante el modelorelacional. Se tiene un conjunto de suministrador y productos. De cada suministrador se conoce sunúmero, nombre, tipo y municipio donde radica. Por otra parte, de cada producto se conoce sunúmero, nombre, precio de la unidad y peso. Se conoce, además, la cantidad de un determinadoproducto que suministra un suministrador dado. El Modelo Entidad-Relación de este problema semuestra en la figura 1.10.

Si sigue los pasos vistos anteriormente debe obtener el Modelo Relacional siguiente:

Suministrador (SNúmero, SNombre, Tipo, Municipio)Producto (PNúmero, PNombre, Precio, Peso)Suministra (SNúmero, PNúmero, Cantidad)

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 15/18

 

Note cómo cada conjunto de entidades y cada relación del MER se convierte en una relación en elModelo Relacional. La llave de la relación Suministra está formada por los atributos SNúmero yPNúmero. La representación mediante tablas de este modelo se muestra a continuación.

SUMINISTRADOR

SNUM  SNOM  TIPO  MUN 

S1 

S2 

S3 

S4 

S5 

PÉREZ

RAMOS 

ARENAS 

VALLE

LÓPEZ 

30 

10 

20 

20 

15 

CERR O 

PLAZA

CERR O 

PLAYA

PLAYA 

SUMINISTRADOR 

4.3.10.1.1  N  Nombre

Ti o Munici io

PRODUCTO

4.3.10.1.2  N  Nombre

Peso Precio U.

Sumi-nistra

m

n

Cant.

Fig. 1.10 MER de Suministrador-Producto.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 16/18

PRODUCTO SUMINISTRA 

En el Modelo Relacional el resultado de una demanda es también una relación. Sólo tiene que indicarqué relación desea recuperar. Las diversas formas de hacer las recuperaciones dan lugar a los lenguajesrelacionales cuyas formas más representativas son:

- Álgebra relacional (basado en las operaciones del álgebra de relaciones).

- Cálculo relacional (basado en el cálculo de predicados).

2.7 Dependencia funcional.

El concepto de dependencia funcional  es una herramienta extremadamente útil para concebir lasestructuras de datos. Dada una tuplaT , con dos conjuntos de atributos { X 1,..., X n} y {Y 1,...,Y n} (losconjuntos no tienen por qué ser mutuamente exclusivos), entonces el conjunto Y  es  funcionalmente

dependiente del conjunto  X si, para cualquier valor válido de  X sólo existe un valor válido de Y .

Por ejemplo, en el MER de la figura 1.10, el atributo SNúmerodetermina funcionalmente a {SNombre,Tipo, Municipio} y se representa como:

SNúmerop {SNombre, Tipo, Municipio}

Si {  X } es una llave candidata, entonces todos los atributos { Y  } deben ser, necesariamente,funcionalmente dependientes de {  X  }; esto se deduce de la definición de llave candidata. Si {  X  } no esuna llave candidata y la dependencia funcional no es trivial (es decir, { Y } no es subconjunto de {  X  }),entonces la relación necesariamente incluirá una redundancia, siendo necesaria una normalización.

 PRODUCTO S  SP  CANT 

S1 S1 

S1 

S1 

S1 

S1 

S2 

S2 

S3 

S3 

S4 

S4 S4 

P1 P2 

P3 

P4 

P5 

P6

P1 

P2 

P3 

P5 

P2 

P4 P5 

3 2 

3 4 

PNUM  PNOM  PRECIO  PESO 

P1 P2 

P3 

P4 

P5 

P6 

CLAVO TUER CA

MARTILO 

TOR NILLO 

ALICATE

SERR UCHO 

0.10 0.15 

3.50 

0.20 

2.00 

4.00 

12 17 

80 

10 

50 

90 

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 17/18

EJERCICIOS:

1.  ¿Utilizando una modelación conceptual realice un modelo de los siguientes escenarios: Banco,Farmacia, Biblioteca? Considere al menos tres entidades en cada caso.

2.  Diseñe los modelos Entidad-Relación y Relacional para el siguiente problema: en un huerto secultivan diversos árboles. Cada huerto esta relacionado con los árboles que están plantados enel huerto. Cada árbol fue plantado en un determinado año y puede o no haber muerto ya. Si elárbol murió, entonces AÑO DE MUERTE contiene un valor; de lo contrario, es nulo. Los árbolestienen especie y las especies tienen variedades. Por ejemplo, Manzana es una especie y Jonatany Red Delicious son variedades. Puesto que los árboles pueden tener ramas injertadas, unamisma especie de árbol podría soportar mas de una variedad. De esta manera, un Manzano quefue originalmente Red Delicious podría también tener Jonatan y Román Beauty. Cada árbol tienesolo una especie pero podría tener múltiples variedades.

3.  Diseñe los Modelos Entidad-Relación y Relacional para el siguiente problema: De cada Empleado

se conoce su identificador el nombre y el apellido, dirección y fecha de nacimiento. Existendiferentes puestos de trabajo que se caracterizan por su identificador, titulo y estudiosrealizados. Los Empleados ocupan los puestos de trabajo en una determinada fecha y reciben unsalario. Se desea poder determinar el historial de puestos de trabajo de un empleado.

4.  En una empresa se controlan los datos de los trabajadores, almacenando el nombre, sudirección, teléfono y correo electrónico. A cada uno se le asigna un número o ID que lo identificade forma única en la empresa. Cada trabajador pertenece a un departamento, en la empresaexisten varios y de ellos se guarda el nombre. En la empresa, el trabajo se desarrolla porproyectos, de los cuales se tiene el titulo, resultado esperado y beneficio económico que reporta

( en miles de dólares). Cada trabajador puede participar en mas de un proyecto. Se deseaconocer cuantos trabajadores tienen asignado el proyecto que mas beneficios brindan. A demás,para un departamento, saber cuales son los proyectos con los cuales se vinculan por laparticipación de sus trabajadores. Elabore el diseño conceptual que refleja toda la informaciónacerca de la empresa. Convierta el diseño conceptual en un modelo relacional e implemente unsubsistema con el cual pueda obtenerse la información solicitada.

5.  En una biblioteca se almacenan documentos de diferentes tipos, pueden ser revistas, libros oCDs con información. De cada una de ellos se guarda la información suficientemente descriptiva:de las revistas se conoce el nombre, el volumen, el número, el mes y el año. De los libros, elautor, el titulo y un conjunto de palabras clave asociadas con el tema del libro. De los CDs seguarda el titulo. Se desea controlar los préstamos que se realizan en la biblioteca para conoceren cada momento si determinado documento está o no disponible, conociendo la fecha en quefue prestado y la fecha en que será devuelto. Además, poder determinar la cantidad de revistasde un titulo que existen, poder conocer todos los l ibros que hay asociados con una palabra claveo con un autor. La consulta de los CDs debe poder realizarse en orden alfabético para facilitar lalocalización de uno. Elabore el diseño conceptual que refleje toda la información acerca de labiblioteca.

5/9/2018 Modelaci n conceptual de las Bases de Datos - slidepdf.com

http://slidepdf.com/reader/full/modelacion-conceptual-de-las-bases-de-datos 18/18

6.  Convierta el diseño conceptual en un Modelo relacional e implemente un subsistema con elcual pueda controlarse la información solicitada.

7.  Un restaurante tiene un almacén donde guarda los productos con los que elabora los platos. Enel almacén los productos se agrupan por tipo, así, están juntos los diferentes tipos de arroz quese han adquirido, las distintas clases de café comprado, etcétera. De cada uno de estoselementos específicos, o sea, de un tipo de arroz, está guardada la cantidad comprada (en Kg.) yel precio. Además, tienen recogida las recetas de los platos que ofertan, donde se especifica elnombre del plato, qué tipo de producto debe usarse y en que cantidad (en gramos). De acuerdoa los datos de la receta, y con el precio del tipo de producto que está en el almacén, sedetermina el precio del plato. Diariamente, se almacena la cantidad de producto utilizadoteniendo en cuenta los platos que se van elaborando. El dueño del restaurante suele consultarqué cantidad de cada producto tiene, es decir, cuántos kilogramos de arroz o de azúcar hay en elalmacén. Algunas personas se interesan por saber cuáles son los platos que incluyen un tipo deproducto o por conocer el precio de un plato. Debe consultarse diariamente la cantidad de untipo de producto utilizado para realizar ajustes en las compras. Elabore el diseño conceptual

que refleje toda la información acerca del restaurante.

8.  Elabore una propuesta de sistema para el control de las llamadas telefónicas usted debeseleccionar las entidades que intervienen y los atributos asociados. Construya el Diagrama E-R yel modelo relacional de esta propuesta.

9.  Elabore una propuesta de sistema de bases de datos para el control de matricula en unaUniversidad. Elabore el Diagrama E-R y el modelo relacional de su propuesta.