Unidad II - 2017
Unidad II - 2017
El problema de diseñar bases de datos consiste en diseñar la estructura lógica y física de una o más
bases de datos para atender las necesidades de información de los usuarios de un conjunto definido
de aplicaciones.
Estos usuarios pueden pertenecer todos a una organización concreta (como sucede con los
trabajadores de una empresa o los funcionarios de un organismo público), o bien formar parte de
un colectivo con intereses comunes (tal es el caso de los usuarios de multitud de aplicaciones web,
desde un buscador como Google hasta un servicio de información geográfica tipo Páginas Amarillas).
Antes de pasar a ver la metodología que utilizaremos para diseñar bases de datos, hay que recordar
que el diseño de bases de datos es sólo una de los procesos involucrados en la construcción de un
sistema de información. Generalmente, para construir un sistema de información se llevarán a cabo
distintas actividades paralelas.
Por un lado, será necesario diseñar el contenido y la estructura de la base de datos que dará soporte
al sistema de información.- Por otro, también será imprescindible diseñar el conjunto de
aplicaciones que le permitirán al usuario sacar partido del sistema de información. Tanto en las
actividades relacionadas con los datos del sistema (todo lo relativo a la base de datos) como en
aquéllas relacionadas con los procesos del mundo real que el sistema trata de mejorar (mediante
un conjunto de aplicaciones), resulta recomendable el uso de una metodología apropiada.
De acuerdo con las etapas del ciclo de vida de un sistema de información, una metodología de
diseño descompone el proceso de diseño en una serie de etapas. Para cada una de las etapas,
propondrá el uso de determinadas técnicas y herramientas de diseño, así como la generación de
una serie de documentos que facilitarán la transición de una etapa a la siguiente.
Antología de Fundamentos de Bases de Datos 2017
Análisis de requisitos
Diseño conceptual
Elección del sistema gestor de bases de datos
Diseño lógico
Diseño físico
Instalación y mantenimiento
Un modelo de datos es un sistema formal y abstracto que permite describir los datos de acuerdo
con reglas y convenios predefinidos. El modelo de datos es el proceso que implica crear una
representación que tienen los usuarios de los datos. Si el modelo de datos representa en forma
incorrecta la visión que poseen los usuarios de los datos, encontrarán las aplicaciones difíciles de
usar, incompletas y por supuesto en el desarrollo de las bases de datos y sus aplicaciones.
i. Una colección de estructuras de datos (los bloques constructores de cualquier base de datos
que conforman el modelo).
ii. Una colección de operadores o reglas de inferencia, los cuales pueden ser aplicados a
cualquier instancia de los tipos de datos listados en (1), para consultar o derivar datos de
cualquier parte de estas estructuras en cualquier combinación deseada.
iii. Una colección de reglas generales de integridad, las cuales explícita o implícitamente
definen un conjunto de estados consistentes --estas reglas algunas veces son expresadas
como reglas de insertar-actualizar-borrar.
Hay dos tipos de modelos de datos: los modelos conceptuales y los modelos lógicos.
En el diseño de bases de datos se usan primero los modelos conceptuales para lograr una
descripción de alto nivel de la realidad, y luego se transforma el esquema conceptual en un esquema
lógico. El motivo de realizar estas dos etapas es la dificultad de abstraer la estructura de una base
de datos que presente cierta complejidad.
Los modelos conceptuales deben ser buenas herramientas para representar la realidad, por lo que
deben poseer las siguientes cualidades:
En general, un modelo no es capaz de expresar todas las propiedades de una realidad determinada,
por lo que hay que añadir aserciones que complementen el esquema.”
El modelo E-R se basa en una percepción del mundo real, la cual está formada por objetos básicos
llamados entidades y las relaciones entre estos objetos así como las características de estos objetos
llamados atributos.
Entidad
Una entidad es un objeto que existe y se distingue de otros objetos de acuerdo a sus características
llamadas atributos. Las entidades pueden ser concretas como una persona o abstractas como una
fecha. Por ejemplo: un alumno se distingue de otro por sus características particulares como lo es
el nombre, o el número de control asignado al entrar a una institución educativa, así mismo, un
empleado, una materia, etc. Las entidades pueden ser de dos tipos:
Tangibles: Son todos aquellos objetos físicos que podemos ver, tocar o sentir.
Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, aun
sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo,
no la podemos visualizar o tocar.
Antología de Fundamentos de Bases de Datos 2017
Un conjunto de entidades es un grupo de entidades del mismo tipo. Por ejemplo el conjunto de
entidades CUENTA, podría representar al conjunto de cuentas de un banco X, o ALUMNO representa
a un conjunto de entidades de todos los alumnos que existen en una institución.
Atributos
Una entidad se caracteriza y distingue de otra por los atributos, en ocasiones llamadas propiedades,
que representan las características de una entidad. Por ejemplo el nombre, dirección teléfono,
grado, grupo, etc. son atributos de la entidad alumno; Clave, número de seguro social,
departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o
relacionar con más entidades a través de relaciones.
Los atributos de una entidad pueden tomar un conjunto de valores permitidos al que se le conoce
como dominio del atributo. Así cada entidad se describe por medio de un conjunto de parejas
formadas por el atributo y el valor de dato. Habrá una pareja para cada atributo del conjunto de
entidades.
Ejemplo:
Hacer una descripción en pareja para la entidad Alumno con los atributos No_control, Nombre y
Especialidad.
Nombre_atributo Valor
No_control 96310418
Nombre Sánchez Osuna Ana
Especialidad Lic. En Informática
O considerando el ejemplo del Vendedor cuyos atributos son: RFC, Nombre, Salario.
Nombre_atributo Valor
RFC COMD741101YHR
Nombre Daniel Colín Morales
Salario 3000
Bueno, ahora nos falta describir como se representa un modelo E-R gráficamente, la representación
es muy sencilla, se emplean símbolos, los cuales son:
Antología de Fundamentos de Bases de Datos 2017
Símbolo Representa
Entidad
Atributo
Relación
Liga
Clasificación de los atributos
Simples y compuestos: Los atributos simples son aquellos que no están divididos en
subpartes. Los atributos compuestos se pueden dividir en subpartes(es decir, en otros
atributos). Los atributos compuestos ayudan a agrupar los atributos relacionados, haciendo
los modelos más claros.
Univalorados y multivalorados: Los atributos univalorados son aquellos que tienen un valor
solo para una entidad concreta. Los atributos multivalorados tienen un conjunto de valores
para una entidad específica. En ellos se pueden colocar apropiadamente limites inferiores y
superiores en el número de valores en el atributo multivalorado.
Nulos: Un valor nulo se usa cuando una entidad no tiene un valor para un atributo. Nulo
también designa que el valor de un atributo es desconocido. Un valor desconocido también
puede ser bien perdido (el valor existe pero no tiene esa información) o no conocido (no se
conoce si el valor existe realmente o no).
Derivado: El valor de este atributo se puede derivar de los valores de otros atributos o
entidades “
Relación
Una relación es la asociación que existe entre dos a más entidades. Un conjunto de relaciones es
un grupo de relaciones del mismo tipo.
La cantidad de entidades en una relación determina el grado de la relación, por ejemplo la relación
ALUMNO-MATERIA es de grado 2, ya que intervienen la entidad ALUMNO y la entidad MATERIA, la
relación PADRES, puede ser de grado 3, ya que involucra las entidades PADRE, MADRE e HIJO.
Antología de Fundamentos de Bases de Datos 2017
Aunque el modelo E-R permite relaciones de cualquier grado, la mayoría de las aplicaciones del
modelo sólo consideran relaciones del grado 2. Cuando son de tal tipo, se denominan relaciones
binarias.
La función que tiene una relación se llama papel, generalmente no se especifican los papeles o roles,
a menos que se quiera aclarar el significado de una relación.
Diagrama E-R (sin considerar los atributos, sólo las entidades) para los modelos ejemplificados:
Llaves primarias.
Como ya se ha mencionado anteriormente, la distinción de una entidad entre otra se debe a sus
atributos, lo cual lo hacen único. Una llave primaria es aquel atributo el cual consideramos clave
para la identificación de los demás atributos que describen a la entidad.
Por ejemplo, si consideramos la entidad ALUMNO del Instituto Tecnológico de Tequila, podríamos
tener los siguientes atributos: Nombre, Semestre, Especialidad, Dirección, Teléfono, Número de
control, de todos estos atributos el que podremos designar como llave primaria es el número de
control, ya que es diferente para cada alumno y este nos identifica en la institución. Por lo tanto,
entendemos como una llave al medio que nos permite identificar en forma unívoca (única e
inequívoca) a una entidad dentro de un conjunto de entidades.
Claro que puede haber más de un atributo que pueda identificarse como llave primaria en este caso
se selecciona la que consideremos más importante, los demás atributos son denominados llaves
secundarias.
Una clave o llave primaria es indicada gráficamente en el modelo E-R con una línea debajo del
nombre del atributo o un asterisco antes del nombre del atributo.
Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de un esquema
gráfico empleando los terminología de entidades, que son objetos que existen y son los elementos
principales que se identifican en el problema a resolver con el diagramado y se distinguen de otros
por sus características particulares denominadas atributos, el enlace que rige la unión de las
entidades está representada por la relación del modelo.
Un rectángulo representa a las entidades; una elipse a los atributos de las entidades, y una etiqueta
dentro de un rombo indica la relación que existe entre las entidades, destacando con líneas las
uniones de estas y que la llave primaria de una entidad es aquel atributo que se encuentra
subrayado.
Antología de Fundamentos de Bases de Datos 2017
Algunos ejemplos de modelos E-R, considerando las cardinalidades que existen entre ellos:
Problema:
Diseñar el modelo E-R, para la relación Registro de automóvil que consiste en obtener la tarjeta de
circulación de un automóvil con los siguientes datos:- Automóvil- Modelo, Placas, Color - Tarjeta de
circulación -Propietario, No_serie, Tipo.
Indicamos con este ejemplo que existe una relación de pertenencia de uno a uno, ya que existe una
tarjeta de circulación registrada por cada automóvil.
En este ejemplo, representamos que existe un solo presidente para cada país.
Un cliente puede tener muchas cuentas, pero que una cuenta puede llegar a pertenecer a un solo
cliente.
El modelo E-R permite definir una serie de limitantes aplicables en la información contenida en la
base de datos básicamente, pueden definirse dos tipos de limitantes:
Existen 4 tipos de relaciones que pueden establecerse entre entidades, las cuales establecen con
cuantas entidades de tipo B se pueden relacionar una entidad de tipo A:
Tipos de relaciones:
Relación uno a uno. Se presenta cuando existe una relación como su nombre lo indica uno
a uno, denominado también relación de matrimonio. Una entidad del tipo A solo se puede relacionar
con una entidad del tipo B, y viceversa;
Por ejemplo: la relación asignación de automóvil que contiene a las entidades EMPLEADO, AUTO,
es una relación 1 a 1, ya que asocia a un empleado con un único automóvil por lo tanto ningún
empleado posee más de un automóvil asignado, y ningún vehículo se asigna a más de un trabajador.
Antología de Fundamentos de Bases de Datos 2017
Relación uno a muchos. Significa que una entidad del tipo A puede relacionarse con cualquier
cantidad de entidades del tipo B, y una entidad del tipo B solo puede estar relacionada con una
entidad del tipo A.
Muchos a uno. Indica que una entidad del tipo B puede relacionarse con cualquier cantidad de
entidades del tipo A, mientras que cada entidad del tipo A solo puede relacionarse con solo una
entidad del tipo B.
Muchas a muchas. Establece que cualquier cantidad de entidades del tipo A pueden estar
relacionados con cualquier cantidad de entidades del tipo B.
La cardinalidad nos especifica los tipos de relaciones que existen entre las entidades en el modelo
E-R y establecer con esto las validaciones necesarias para conseguir que los datos de la instancia
(valor único en un momento dado de una base de datos) correspondan con la realidad.
Entidades Débiles
Son entidades que dependen de otra para su existencia (no tienen sentido sin la otra). Normalmente
están relacionadas 1 a 1 o n a 1 con alguna entidad regular (no débil)
Dependencia de Existencia
Generalización y especialización
Generalización.
Es el resultado de la unión de 2 o más conjuntos de entidades (de bajo nivel) para producir un
conjunto de entidades de más alto nivel. La generalización se usa para hacer resaltar los parecidos
entre tipos de entidades de nivel más bajo y ocultar sus diferencias.
Ejemplo:
Donde:
Se tiene las entidades Cta_Ahorro y Cta_Cheques, ambas tienen los atributos semejantes de No_Cta
y Saldo, aunque además de estos dos atributos, Cta_Ahorro tiene el atributo Tasa_Interes y
Cta_Cheques el atributo Saldo_Deudor. De todos estos atributos podemos juntar (generalizar)
No_Cta y Saldo que son iguales en ambas entidades.
Entonces tenemos:
Podemos leer esta gráfica como: La entidad Cta_Ahorro hereda de la entidad CUENTA los atributos
No_Cta y Saldo, además del atributo de TasaInteres, de forma semejante Cta_cheque tiene los
atributos de No_Cta, Saldo y SaldoDeudor.
Especialización:
redundancia necesaria, pero suprime el gasto de espacio en el medio secundario para aquellas
columnas que no almacenan información por entidades bien determinadas.
Entidades Recursivas.
Una relación recursiva es aquella que se da cuando los conjuntos de entidades de una relación no
son distintos; es decir, el mismo conjunto de entidades participa en una relación más de una vez con
diferentes papeles.
Por ejemplo: Un tipo de vínculo SUPERVISOR relaciona un empleado con un supervisor y las
entidades empleado y supervisor son ambos miembros del mismo tipo de entidades EMPLEADO.
Así el tipo EMPLEADO participa dos veces en SUPERVISION: una vez en el papel de supervisor (o
jefe), y una vez en el papel de supervisado (o subordinado).
La figura que se encuentra más adelante, muestra varios constructores de diagramas ER y sus
constructores equivalentes de los diagramas UML.
UML muestra los conjuntos de entidades como cuadros y, a diferencia de DER, muestra los atributos
dentro de cuadro en lugar de elipses separadas. UML modela objetos, mientras que ER modela
entidades. Los objetos son como entidades y tienen atributos, pero además proporcionan un
conjunto de funciones (métodos) que se pueden invocar para calcular valores en términos de los
atributos de los objetos o para modificar el propio objeto. Los diagramas de clase pueden describir
métodos además de atributos.
Antología de Fundamentos de Bases de Datos 2017
Los conjuntos de relaciones binarias se representan en UML dibujando una línea que conecte los
conjuntos de entidades. Se escribe el nombre del conjunto de relaciones adyacente a la línea.