You are on page 1of 34

 El modelo de datos relacional es el

modelo de datos más ampliamente


usado, y una amplia mayoría de
sistemas de bases de datos actuales se
basan en el modelo relacional.
 El modelo relacional se encuentra a un
nivel de abstracción inferior al modelo
de datos E-R (Entidad-Relación). Los
diseños de bases de datos a menudo
se realizan en el modelo E-R, y
después se traducen al modelo
relacional.
 El modelo orientado a objetos se
puede observar como una
extensión del modelo E-R con las
nociones de encapsulación,
métodos (funciones) e identidad
de objeto. El modelo de datos
relacional orientado a objetos
combina las características del
modelo de datos orientado a
objetos y el modelo de datos
relacional.
 La mayoría de usuarios de un sistema de bases
de datos no están situados actualmente junto al
sistema de bases de datos, sino que se conectan
a él a través de una red.
 Se puede diferenciar entonces entre las
máquinas cliente, en donde trabajan los usuarios
remotos de la base de datos, y las máquinas
servidor, en las que se ejecuta el sistema de
bases de datos.
 Las aplicaciones de bases de datos se dividen
usualmente en dos o tres partes, como se ilustra
en la Figura.
 En una arquitectura de dos capas, la aplicación se
divide en un componente que reside en la máquina
cliente, que llama a la funcionalidad del sistema de
bases de datos en la máquina servidor mediante
instrucciones del lenguaje de consultas. Los
estándares de interfaces de programas de
aplicación como ODBC y JDBC se usan para la
interacción entre el cliente y el servidor.
 En cambio, en una arquitectura de tres capas, la
máquina cliente actúa simplemente como frontal y
no contiene ninguna llamada directa a la base de
datos. En su lugar, el cliente se comunica con un
servidor de aplicaciones, usualmente mediante
una interfaz de formularios.
ODBC ( Open Database Connectivity )
INVESTIGAR
JDBC ( Java Database Connectivity )
 El servidor de aplicaciones, a su vez, se
comunica con el sistema de bases de
datos para acceder a los datos.
 La lógica de negocio de la aplicación, que
establece las acciones a realizar bajo
determinadas condiciones, se incorpora
en el servidor de aplicaciones, en lugar de
ser distribuida a múltiples clientes. Las
aplicaciones de tres capas son más
apropiadas para grandes aplicaciones, y
para las aplicaciones que se ejecutan en
World Wide Web.
 Como muchos usuarios de sistemas de
bases de datos no están familiarizados
con computadores, los desarrolladores
esconden la complejidad a los usuarios a
través de varios niveles de abstracción
para simplificar la interacción de los
usuarios con el sistema, en la figura, se
esquematizan los tres niveles de
abstracción de base de datos. A
continuación, se definen los principales
niveles de abstracción:
 El nivel más bajo de abstracción describe cómo
se almacenan realmente los datos. En el nivel
físico se describen en detalle las estructuras de
datos complejas de bajo nivel.
 En el nivel físico, un registro cliente, cuenta o
empleado se puede describir como un bloque de
posiciones almacenadas consecutivamente (por
ejemplo, palabras o bytes). El compilador del
lenguaje esconde este nivel de detalle a los
programadores. Análogamente, el sistema de
base de datos esconde muchos de los detalles de
almacenamiento de nivel inferior a los
programadores de bases de datos. Los
administradores de bases de datos pueden ser
conscientes de ciertos detalles de la organización
física de los datos.
 El siguiente nivel más alto de abstracción
describe qué datos se almacenan en la base de
datos y qué relaciones existen entre esos datos.
La base de datos completa se describe así en
términos de un número pequeño de estructuras
relativamente simples. En el nivel lógico cada
registro de este tipo se describe mediante una
definición de tipo y se define la relación entre
estos tipos de registros. Los programadores,
cuando usan un lenguaje de programación,
trabajan en este nivel de abstracción. De forma
similar, los administradores de bases de datos
trabajan habitualmente en este nivel de
abstracción.
 El nivel más alto de abstracción describe sólo parte de la
base de datos completa. Muchos usuarios del sistema de
base de datos no necesitan toda esta información. En su
lugar, tales usuarios necesitan acceder sólo a una parte de
la base de datos. Para que su interacción con el sistema se
simplifique, se define la abstracción del nivel de vistas.
 En el nivel de vistas, los usuarios de computadoras ven un
conjunto de programas de aplicación que esconden los
detalles de los tipos de datos. Análogamente, en el nivel
de vistas se definen varias vistas de una base de datos y
los usuarios de la misma ven única y exclusivamente esas
vistas. Además de esconder detalles del nivel lógico de la
base de datos, las vistas también proporcionan un
mecanismo de seguridad para evitar que los usuarios
accedan a ciertas partes de la base de datos. Por ejemplo,
los cajeros de un banco ven únicamente la parte de la
base de datos que tiene información de cuentas de
clientes; no pueden acceder a la información referente a
los sueldos de los empleados.
NIVELES DE
ABSTRACCIÓN DE
BASES DE DATO
 Hay cuatro tipos diferentes de
usuarios de un sistema de base de
datos, diferenciados por la forma
en que ellos esperan interactuar
con el sistema.
 Usuarios normales.
 Programadores de aplicaciones.
 Los usuarios sofisticados.
 Usuarios especializados.
TRANSFORMACIÓN DEL
MODELO
ENTIDAD/RELACIÓN AL
MODELO RELACIONAL
ENTIDAD/RELACIÓN
• El modelo E/R lo introdujo Peter Chen en 1976 y
produjo una representación gráfica de entidades y
sus relaciones en una herramienta de modelado de
datos a nivel conceptual. Es un modelo que se
simboliza haciendo uso de grafos y de tablas.
• Se pretende 'visualizar' los objetos que pertenecen
a la Base de Datos como entidades las cuales
tienen unos atributos y se vinculan
mediante relaciones.
• Las características del modelo E/R son:
• Abstracción de alto nivel respecto del mundo real, creando unos
elementos (entidades) que representan la realidad.
• Los registros, conjunto de datos que contiene cada entidad, su
nivel de abstracción y de detalle son independientes de su uso
posterior, de las limitaciones de almacenamiento y de la
velocidad de proceso y del sistema en el que se vaya a
implementar la base de datos.
• Esa independencia física del soporte de almacenamiento permite
que el número de entidades pueda crecer y modificarse.
• Las exigencias o restricciones de este modelo son:
• La existencia de la clave primaria.
• La obligatoriedad de que las entidades estén asociadas mediante
una relación y la imposibilidad de asociar dos relaciones entre
sí.
• Ventajas:
• Simplicidad conceptual: los diseños de bases de datos complejas se crean y
se manejan con mucha más facilidad que con cualquier otro sistema.
• Representación visual: permite a los diseñadores, programadores y usuarios
finales una representación de los datos y sus relaciones fácil de entender.
• Herramientas de comunicación efectivas: permite a el diseñador integrar las
visualizaciones de los datos que tienen los distintos usuarios.
• Está muy bien integrado con el modelo relacional.
• Desventajas:
• No puede representar algunas restricciones. Por ejemplo puede reflejar
fácilmente que un profesor puede impartir entre 1 y 4 clases, pero no puede
recoger que un profesor no pueda impartir más de 3 clases seguidas. Estas
restricciones las tiene que manejar la aplicación.
• La representación de relaciones es limitada, recoge las relaciones entre las
entidades pero no recoge, por ejemplo, las relaciones que puedan existir
entre los atributos.
• En el modelo E/R no hay comandos de manipulación de datos.
• Cuando se representan todos los atributos el modelo se congestiona, por
tanto los diseñadores tienden a simplificarlo y con ello se pierde información.
•El modelo E/R es un modelo que
utiliza entidades y relaciones para
representar la realidad de una forma
gráfica, independiente del
almacenamiento y del sistema, y que
se integra fácilmente con el modelo
relacional.
ENTIDADES
ATRIBUTOS
Claves
• Se denomina clave al conjunto de atributos que identifican de forma única a
cada ejemplo de entidad.
Al menos hay una clave, la formada por todos los atributos. Cuando una
clave se compone de más de un atributo se denomina clave compuesta.
• Por ejemplo: En la entidad CLIENTES podríamos encontrar las siguientes
claves: el código de cliente, el conjunto apellidos + nombre, el DNI, el nombre,
apellidos y la dirección, etc.
• Clave candidata: Es cada una de las claves que está formada por el mínimo
número de campos posibles.
• En el ejemplo anterior serían el DNI y el Código de cliente.
• Clave primaria o principal: (primary key): Es la clave candidata seleccionada
por el diseñador de la base de datos. Tiene que cumplir:
• No puede contener valores nulos.
• Ha de ser sencilla de crear.
• No puede cambiar con el tiempo.
• El atributo o conjunto de atributos que formen la clave primaria se
representan subrayados. Lo ideal es que la clave primaria esté
formada por un solo atributo. A cada una de las claves candidatas no
seleccionadas se le denomina clave alternativa.
• En el ejemplo anterior podría ser el Código de cliente.
• Clave ajena foránea (foreign key): Es el atributo o conjunto de
atributos de una entidad que forman la clave primaria en otra entidad.
Se utilizan para representar las relaciones entre las tablas.
• Es indiferente que los atributos que formen la clave ajena tengan
distinto nombre, lo que interesa es que su contenido pertenezca al
mismo dominio que la clave principal, aunque es preferible que
tengan el mismo nombre para facilitar el trabajo.
• Por ejemplo: La entidad CLIENTES con los atributos que habíamos
expuesto: CodCliente (primary key), DNI, Apellidos, Nombre, Dirección y
Teléfono; podría relacionarse con la entidad VEHÍCULOS cuyos
atributos podrían ser: Matrícula (primary key), Marca, Modelo, Color y
FechaMatriculación. El CodCliente de la entidad VEHÍCULOS sería una
clave ajena (foreign key), porque es la clave principal en la entidad
CLIENTES.
• Clave artificial: es un atributo creado por el equipo de diseño de la base de datos,
cuyo contenido es aleatorio o secuencial, no repetitivo. Al ser un atributo único, sirve
para crear claves primarias más sencillas que una formada por la unión de varios
atributos. En su creación se ha de tener en cuenta que ha de ser única e invariable.
Suelen tener nombres como: código, identificador, número de....
• Por ejemplo: Queremos recoger los datos de nuestra agenda de teléfonos: Nombre,
apellidos y teléfono. La clave principal podría estar formada por el conjunto de
atributos: Apellidos y Nombre (podemos tener amigos con nombres que coincidan o
hermanos cuyos apellidos sean iguales). Como se trata de una clave compleja en la
que puede haber confusiones añadimos una clave artificial
denominada CodigoAgenda que podría ser un número consecutivo.
Relaciones
• Una relación es la asociación de dos o más entidades.
Generalmente se las identifica con un verbo (activo o pasivo)
y se representan mediante un rombo. Las relaciones
siempre operan en los dos sentidos

• Por ejemplo: La relación entre CLIENTES y VEHICULOS se definen
en dos direcciones:
• Un CLIENTE es propietario de un VEHICULO
• Cada VEHICULO es propiedad de un CLIENTE
• Grado de una relación: Se define como el número de entidades
que participan en una relación.
• Cuando solo participa una entidad se denominan de grado uno o
relaciones reflexivas.
• Cuando participan dos entidades en una relación se denominan
binarias o de grado dos.
• Si participan 3 entidades se denominan de grado 3 o ternarias.
• Cuando participan más de 3 entidades se denominan n-arias.
• Las relaciones pueden tener cualquier grado pero nosotros
utilizaremos sólo binarias.
Correspondencia y cardinalidad
• En el modelo E/R se representan ciertas restricciones a las que
deben ajustarse los datos contenidos en una base de datos.
• Tipo de correspondencia: expresa el número de entidades a las
que puede asociarse otra entidad mediante una relación. Los
tipos de correspondencia para relaciones binarias son
• Relaciones 1:1 (uno a uno): a cada elemento de la primera
entidad le corresponde sólo uno de la segunda entidad, y a la
inversa.
• Por ejemplo: Cada empleado ocupa un puesto de trabajo y cada
puesto de trabajo es ocupado por un solo empleado.
• Relaciones 1: N (uno a muchos): a cada elemento de la
primera entidad le corresponde uno o más elementos de la
segunda entidad, y a cada elemento de la segunda entidad
le corresponde uno sólo de la primera entidad.
• Por ejemplo: Un proveedor suministra muchas piezas. Cada
pieza solo nos la suministra un único proveedor.

• Relaciones M:N (muchos a muchos): a cada elemento de la
primera entidad le corresponde uno o más elementos de la
segunda entidad, y a cada elemento de la segunda entidad le
corresponden uno o más elementos de la primera.
• Por ejemplo: Cada mecánico puede intervenir varias reparaciones
y una misma reparación la llevan a cabo varios mecánicos.
• Cardinalidad de una relación: Expresa el número de
ocurrencias de una entidad asociadas con una ocurrencia de la
entidad relacionada. Se coloca al lado de las entidades y se
representa con el formato:
• (1,n) : el primer valor representa el valor mínimo y el segundo
valor representa el máximo
• Por ejemplo: En la relación CLIENTES traen VEHICULOS respecto
a los clientes que traen a reparar sus vehículos a nuestro taller,
las cardinalidades serían:
• Un cliente trae a reparar como mínimo un vehículo y como
máximo varios.
• Cada vehículo es traído al taller por un cliente como mínimo y
como máximo.

You might also like