Captulo 3 Catherine
El modelo entidad-relacin lo desarroll P. P. Chen en 1976 para facilitar el diseo de bases de
datos al permitir al diseador expresar las propiedades conceptuales de la base de datos en un
esquema de empresa.
Se clasific el modelo E-R como un modelo semntico, uno que intenta capturar significados as
como estructura. Existe un esfuerzo real por hacer que los tems en el modelo representen cosas
en el minimundo, la parte del mundo real que modelar la base de datos, y por expresar las
relaciones entre cosas del mundo real mediante relaciones en el modelo. El modelo describe el
entorno del minimundo en trminos de entidades, atributos y relaciones. La figura 2.9 muestra los
smbolos bsicos para diagramas E-R. Un rectngulo se usa para representar una entidad, un valo
para representar un atributo y un diamante para representar una relacin
Entidades
No se dar una definicin formal del trmino entidad sino que, informalmente, se describi- r
como algn objeto que existe y se puede distinguir de otros objetos
Atributos
Los atributos de una entidad representan las propiedades definitorias o cualidades del tipo de
entidad. Para el tipo de entidad student, las propiedades definitorias pueden ser la ID, nombre,
especialidad y nmero de crditos acumulados del estudiante.
Dominios
El conjunto de valores permitidos para cada atributo se llama dominio de dicho atributo.
Valores nulos
En ocasiones el valor de dicho atributo se desconoce en el momento actual o no est definido para
una instancia particular.
Atributos multivaluados
Algunos atributos pueden tener valores mltiples para una instancia de entidad. Por ejemplo, los
estudiantes pueden tener ms de una direccin de correo electrnico.
Atributos compuestos
Algunos atributos se pueden descomponer en elementos ms pequeos. Por ejemplo, la direccin
se puede descomponer en calle, ciudad, estado y cdigo postal. Un atributo es un atributo
compuesto si es posible descomponerlo todava ms.
Atributos derivados
A veces es posible que quiera incluir en un diseo un atributo cuyo valor se pueda calcular cuando
sea necesario. Por ejemplo, es posible que quiera tratar la edad como si fuese un atributo, pero si
ya almacen dateOfBirth (fecha de nacimiento) no hay necesidad de tambin almacenar la edad,
pues se calcula fcilmente.
Claves
Intuitivamente, se piensa en una clave como en un tem de datos que permite diferenciar los
registros.
Superclaves
Una superclave es un atributo o un conjunto de atributos que identifican de manera nica una
entidad. Eso significa que siempre permite diferenciar una instancia de entidad de otra. Por
ejemplo, para el conjunto de entidades Student, {stuId} es una superclave porque se puede usar
para identificar de manera nica cada estudiante.
Relaciones
Con frecuencia las entidades se ligan mediante asociaciones o relaciones, que son conexiones o
interacciones entre las instancias de entidad. Un estudiante se relaciona con una clase al
inscribirse en dicha clase. Por abstraccin, es posible identificar las propiedades comunes de
ciertas relaciones y definir un tipo de relacin y un correspondiente conjunto de relaciones bien
definido como la coleccin de relaciones de dicho tipo. Las relaciones que satisfacen los requisitos
de membresa en el conjunto de relaciones en cualquier momento son las instancias, o miembros,
del conjunto de relaciones. Como con entidades y atributos, el tipo de relacin es parte de la
intensin y las instancias son parte de la extensin del modelo.
Una relacin es una asociacin o interaccin entre entidades. Un conjunto de relaciones consiste
en todas las relaciones de un tipo de relacin dado. Las relaciones pueden ser binarias, que ligan
dos entidades, ternarias, que ligan tres entidades, o n-arias, que ligan n entidades. Las instancias
de relacin binaria se pueden representar como pares ordenados, las instancias ternarias como
tripletas ordenadas y las instancias n-arias como n-tuplas ordena- das de instancias de entidad. Un
conjunto de relaciones es un subconjunto del producto cartesiano de los conjuntos de entidad
relacionados
Atributos de conjuntos de relaciones
A veces un conjunto de relaciones tiene atributos descriptivos que pertenecen a la relacin en vez
de alguna de las entidades involucradas.
Cardinalidad de una relacin
Es importante identificar restricciones sobre las relaciones de modo que las posibles extensiones
de la relacin corresponden a conexiones o asociaciones del mundo real. Otros dos tipos de
restricciones sobre las relaciones son las restricciones en la participacin y la cardinalidad.
La cardinalidad de una relacin es el nmero de entidades a las que otra entidad puede mapear
bajo dicha relacin. Sean X y Y conjuntos de entidades y R una relacin binaria de X a Y.
Existen restricciones sobre el nmero de entidades correspondientes.
Se distinguen cuatro tipos de relaciones binarias.
1. uno a uno. Una relacin R de X a Y es uno a uno si cada entidad en X se asocia con cuando
mucho una entidad en Y e, inversamente, cada entidad en Y se asocia con cuando mucho
una entidad en X. Un ejemplo de relacin uno a uno es la relacin de Chairperson (jefe) a
Department. Cada jefe dirige al menos un departamento.
2. uno a muchos. Una relacin R de X a Y es uno a muchos si cada entidad en X se puede
asociar con muchas entidades en Y, pero cada entidad en Y se asocia con cuando mucho
una entidad en X. La palabra muchos se aplica al posible nmero de entidades con las
que se asocia otra. Una madre puede tener muchos hijos, pero cada hijo slo tiene una
madre (de nacimiento).
3. muchos a uno. Una relacin R de X a Y es muchos a uno si cada entidad en X se asocia con
cuando mucho una entidad en Y, pero cada entidad en Y se puede asociar con muchas
entidades en X. Cada hijo tiene cuando mucho una madre de nacimiento, pero cada madre
puede tener muchos hijos.
4. muchos a muchos. Una relacin R de X a Y es muchos a muchos si cada entidad en X se
puede asociar con muchas entidades en Y y cada entidad en Y se puede asociar con
muchas entidades en X. La relacin entre Student y Class es muchos a muchos. Cada
estudiante puede inscribirse en muchas clases (es decir, ms de una) y cada clase puede
tener muchos estudiantes inscritos.
Para relaciones ternarias o de orden superior, la cardinalidad est determinada por cada
entidad al examinar cuntas instancias de dicha entidad pueden ocurrir para cada
combinacin de las otras entidades en la relacin. Las cardinalidades se pueden mostrar
en los diagramas E-R en varias formas, la usual es escribir 1 o M en el arco desde cada
conjunto de entidades hacia el diamante de relacin para indicar la cardinalidad de la
participacin de dicho con- junto de entidades. Las relaciones tambin pueden tener
restricciones de participacin, que pueden ser total, lo que indica que todos los miembros
del conjunto de entidades deben participar en la relacin, o parcial, si no todos los
miembros tienen que participar. Si una relacin es recursiva, es decir, est definida en un
solo conjunto de entidades, o si dos conjuntos de entidades se relacionan en ms de una
forma, se puede identificar el rol o funcin que juega una entidad en una relacin. Esto se
hace al colocar el nombre del rol en el arco desde el conjunto de entidades hasta el
diamante de relaciones en el diagrama E-R. Una entidad es dependiente de la existencia
de otra si no puede existir en la base de datos sin una instancia correspondiente de la otra
entidad. Si tal entidad no tiene claves propias, sino que debe usar el atributo de clave
primaria de la entidad de la que depende, se llama dbil. La entidad de la que depende se
llama fuerte. Una entidad dbil se muestra en un diagrama E-R dentro de un rectngulo
doble con su relacin de identificacin mostrada como diamante doble.
Capitulo 4
Una relacin matemtica se define como un subconjunto del producto cartesiano de conjuntos. En trminos de base de datos, una relacin es cualquier subconjunto del producto
cartesiano de los dominios de los atributos. Una relacin normalmente se escribe como un
conjunto de n-tuplas, en las que cada elemento se elige del dominio adecuado. Las relaciones se representan fsicamente como tablas, con las filas correspondientes a registros individuales y las columnas a los atributos de la relacin. La estructura de la tabla, con
especificaciones de dominio y otras restricciones es la intensin de la base de datos, mien-
tras que la tabla con todas sus filas escritas es una instancia o extensin de la base de
datos. Las propiedades de las relaciones de las bases de datos son: cada celda tiene un
solo valor, los nombres de columna son distintos, los valores de una columna vienen todos
del mismo dominio, el orden de las filas es irrelevante y no hay filas duplicadas. El grado
de una relacin es el nmero de atributos o columnas. Una relacin unaria tiene una
columna, una relacin binaria tiene dos, una relacin ternaria tiene tres y una relacin naria tiene n columnas. La cardinalidad de una relacin es el nmero de filas o tuplas. El
grado es una propiedad de la intensin, mientras que la cardinalidad es una propiedad de
la extensin de una relacin.
Una superclave es un conjunto de atributos que identifica de manera nica las tuplas de la
relacin, mientras que una clave candidata es una superclave mnima. Una clave primaria
es la clave candidata elegida para usar en la identificacin de las tuplas. Una relacin
siempre debe tener una clave primaria. Una clave externa es un atributo de una relacin
que no es la clave primaria de dicha relacin, pero es la clave primaria de alguna relacin
(usualmente otra), llamada su relacin base. La integridad de entidad es una restriccin
que establece que ningn atributo de una clave primaria puede ser nulo. La integridad
referencial afirma que los valores de las claves externas deben coincidir con los valores de
la clave primaria de alguna tupla en la relacin base o ser completa- mente nulos. Otras
reglas de integridad incluyen restricciones de dominio, restricciones de tabla y
restricciones generales.
Los lenguajes de manipulacin de datos relacionales pueden ser procedurales o no procedurales, grficos, de cuarta generacin o de quinta generacin. El lgebra relacional es un
lenguaje procedural formal. Sus operadores incluyen seleccin, proyeccin, producto,
unin, interseccin, diferencia, divisin y varios tipos de combinaciones, semicombinaciones y combinaciones exteriores. El clculo relacional es un lenguaje no procedural formal
que usa predicados. El tipo ms comn de consulta en el clculo relacional orientado a
tupla tiene la forma {x|P(x)}, que significa encontrar el conjunto de todas las variables de
tupla x tales que el predicado P(x) sea verdadero. Una consulta tpica en el clculo
relacio- nal orientado a dominio tiene la forma {<x1,x2, . . ., xn>| P(x1,x2, . . ., xn)}, que
significa encontrar el conjunto de todas las variables de dominio para las que el
predicado sea ver- dadero.
El lgebra relacional es lgicamente equivalente a un subconjunto seguro de clcu- lo
relacional. Una vista en el modelo relacional no es un modelo externo completo, sino una
tabla vir- tual. La vista protege la seguridad y permite al diseador personalizar el modelo
de un usuario. Las vistas se crean dinmicamente cuando el usuario hace una peticin de
datos. Al convertir un modelo E-R a uno relacional, las entidades fuertes se convierten en
tablas que tienen una columna por cada uno de los atributos simples univaluados de la
entidad. Los atributos compuestos pueden almacenarse como un solo atributo o
representar cada uno de los atributos simples que componen al compuesto mediante una
columna, sin repre- sentacin del compuesto. Cada atributo multivaluado se remueve y
coloca en una tabla separada, junto con la clave primaria de la tabla original. Las tablas
para entidades dbiles tienen columnas para los atributos clave de la entidad propietaria
asociada, as como para los atributos de la entidad dbil. Las tablas de relacin tienen
columnas para los atributos de clave primaria de las entidades relacionadas, ms una
columna por cada atributo descripti- vo de la relacin. Las relaciones muchos a muchos
requieren una tabla de relacin separada, pero las relaciones uno a uno y uno a muchos se
pueden representar mediante claves exter- nas en lugar de mediante tablas. El diseador
puede elegir cualquier mtodo que se ajuste mejor a la aplicacin, y negociar flexibilidad
por eficiencia. Las relaciones ternarias y n-arias se representan mejor como tablas
separadas. Las relaciones recursivas se pueden representar mediante claves externas,
siempre que sean uno a uno o uno a muchos, o mediante una tabla de relaciones
separada, que se requiere si son relaciones muchos a muchos.