You are on page 1of 120

BASES DE DATOS I

I N G . C O N S TA N T I N O S O R T O R E Y E S
QUE ES UNA BASE DE DATOS

• Una base de datos es un “almacén” que nos permite guardar


grandes cantidades de información de forma organizada para
que luego podamos encontrar y utilizar fácilmente.

• Desde el punto de vista informático, la base de datos es un


sistema formado por un conjunto de datos almacenados en
discos que permiten el acceso directo a ellos y un conjunto de
programas que manipulen ese conjunto de datos.
ACID

• ACID es un acrónimo de Atomicity, Consistency, Isolation and Durability: Atomicidad,


Consistencia, Aislamiento y Durabilidad
Atomicidad: • Si cuando una operación consiste en una serie de pasos, de los que o bien se ejecutan todos o
ninguno, es decir, las transacciones son completas.

• (Integridad). Es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por lo
tanto se ejecutan aquellas operaciones que no van a romper las reglas y directrices de Integridad de

Consistencia:
la base de datos. La propiedad de consistencia sostiene que cualquier transacción llevará a la base de
datos desde un estado válido a otro también válido. "La Integridad de la Base de Datos nos permite
asegurar que los datos son exactos y consistentes, es decir que estén siempre intactos, sean siempre
los esperados y que de ninguna manera cambian ni se deformen. De esta manera podemos garantizar
que la información que se presenta al usuario será siempre la misma."
• Esta propiedad asegura que una operación no puede afectar a otras. Esto
asegura que la realización de dos transacciones sobre la misma información sean

Aislamiento: independientes y no generen ningún tipo de error. Esta propiedad define cómo y
cuándo los cambios producidos por una operación se hacen visibles para las
demás operaciones concurrentes. El aislamiento puede alcanzarse en distintos
niveles, siendo el parámetro esencial a la hora de seleccionar SGBDs.

• (Persistencia). Esta propiedad asegura que una vez realizada la operación, esta
Durabilidad: persistirá y no se podrá deshacer aunque falle el sistema y que de esta forma los
datos sobrevivan de alguna manera.
PROPÓSITO

Independencia lógica y física de los datos.

Redundancia mínima.

Acceso concurrente por parte de múltiples usuarios.

Integridad de los datos.

Consultas complejas optimizadas.

Seguridad de acceso y auditoría.

Respaldo y recuperación.

Acceso a través de lenguajes de programación estándar.


MODELOS DE DATOS
Relacional

No Entidad
relacionales Relación

Semi Orientado a
estructurado Objetos
MODELO ENTIDAD RELACIÓN

• El modelo de datos entidad-relación (E-R) está basado en una percepción del mundo real que
consta de una colección de objetos básicos, llamados entidades, y de relaciones entre estos
objetos. Una entidad es una «cosa» u «objeto» en el mundo real que es distinguible de otros
objetos. Por ejemplo, cada persona es una entidad
• Las entidades se describen en una base de datos mediante un conjunto de atributos. Por
ejemplo, los atributos número-cuenta y saldo describen una cuenta particular de un banco y
pueden ser atributos del conjunto de entidades cuenta. Análogamente, los atributos nombre-
cliente, calle-cliente y ciudad-cliente pueden describir una entidad cliente.ad, y las cuentas
bancarias pueden ser consideradas entidades.
MODELO ENTIDAD RELACIÓN

• Un atributo extra, id-cliente, se usa para identificar unívocamente a los clientes (dado que
puede ser posible que haya dos clientes con el mismo nombre, dirección y ciudad. Se debe
asignar un identificador único de cliente a cada cliente. En Honduras, muchas empresas utilizan
el número identidad de una persona (un número único que el Gobierno de Honduras asigna a
cada persona) como identificador de cliente
MODELO ENTIDAD RELACIÓN

• Una relación es una asociación entre varias entidades. Por ejemplo, una relación impositor
asocia un cliente con cada cuenta que tiene. El conjunto de todas las entidades del mismo tipo,
y el conjunto de todas las relaciones del mismo tipo, se denominan respectivamente conjunto
de entidades y conjunto de relaciones

• Impositor: que impone o deposita una cantidad en una cuenta bancaria.


MODELO ENTIDAD RELACIÓN

• La estructura lógica general de una base de datos se puede expresar gráficamente mediante un
diagrama ER, que consta de los siguientes componentes:

Líneas, que unen los


Rombos, que atributos con los
Rectángulos, que
Elipses, que representan conjuntos de
representan
representan relaciones entre entidades y los
conjuntos de
atributos. conjuntos de conjuntos de
entidades.
entidades. entidades con las
relaciones
MODELO ENTIDAD RELACIÓN
CONJUNTO DE ENTIDADES

• La colección de todas las entidades de un tipo de entidad en particular de la base de datos en


cualquier momento del tiempo se denomina conjunto de entidades.
• Al conjunto de entidades normalmente se hace referencia utilizando el mismo nombre que
para el tipo de entidad. Por ejemplo, EMPLEADO se refiere tanto al tipo de entidad como al
conjunto actual de todas las entidades de empleado de la base de datos.
ATRIBUTOS

• En el modelo ER se dan varios tipos de atributos: simple frente a compuesto, monovalor


frente a multivalor, y almacenado frente a derivado.
ATRIBUTOS COMPUESTOS FRENTE A
ATRIBUTOS SIMPLES (ATÓMICOS).
• Atributos compuestos frente a atributos simples (atómicos). Los atributos compuestos se
pueden dividir en subpartes más pequeñas, que representan atributos más básicos con
significados independientes.

• Los atributos que no son divisibles se denominan atributos simples o atómicos.


ATRIBUTOS MONOVALOR Y
MULTIVALOR.
• Atributos monovalor y multivalor. La mayoría de los atributos tienen un solo valor para una entidad
en particular; dichos atributos reciben el nombre de monovalor o de un solo valor.
• Por ejemplo, Edad es un atributo monovalor de una persona. En algunos casos, un atributo puede
tener un conjunto de valores para la misma entidad (por ejemplo, un atributo Colores para un
coche, o un atributo Licenciaturas para una persona).
• Los coches con un solo color tiene un solo valor, mientras que los coches de dos tonos tienen dos
valores de color. De forma parecida, puede que una persona no tenga ninguna licenciatura, otra
puede que tenga una, y una tercera persona puede que tenga dos o más; Dichos atributos se
denominan multivalor.

• Los atributos multivalor se muestran en óvalos dobles.


ATRIBUTOS ALMACENADOS Y
DERIVADOS.
• Atributos almacenados y derivados. En algunos casos, dos (o más) valores de atributo están
relacionados (por ejemplo, los atributos Edad y FechaNac de una persona). Para una entidad de
persona en particular, el valor de Edad puede determinarse a partir de la fecha actual (el día de
hoy) y el valor de FechaNac de esa persona. El atributo Edad se denomina entonces atributo
derivado y se dice que se ha derivado del atributo FechaNac, que es el denominado atributo
almacenado.
VALORES NULL (NULOS).

• Valores NULL (nulos). En algunos casos, es posible que una entidad en particular no tenga un
valor aplicable para un atributo. Por ejemplo, el atributo NumApto de una dirección sólo se
aplica a las direcciones correspondientes a edificios de apartamentos, y no a otros tipos de
residencias, como las casas unifamiliares.
ATRIBUTOS CLAVE DE UN TIPO DE
ENTIDAD.
• Atributos clave de un tipo de entidad. Una restricción importante de las entidades de un tipo de
entidad es la clave o restricción de unicidad de los atributos. Un tipo de entidad normalmente tiene
un atributo cuyos valores son distintos para cada entidad individual del conjunto de entidades.
• En ocasiones, una clave está formada por varios atributos juntos, lo que da a entender que la
combinación de los valores de atributo debe ser distinta para cada entidad.
• Si un conjunto de atributos posee esta propiedad, la forma correcta de representar esto en el
modelo ER que aquí describimos es definir un atributo compuesto y designarlo como atributo clave
del tipo de entidad.
• En la notación diagramática ER, cada atributo clave tiene su nombre subrayado dentro del óvalo
CONJUNTOS DE VALORES (DOMINIOS)
DE ATRIBUTOS.
• Conjuntos de valores (dominios) de atributos. Cada atributo simple de un tipo de entidad está
asociado con un conjunto de valor (o dominio de valores), que especifica el conjunto de los
valores que se pueden asignar a ese atributo por cada entidad individual. En la Figura 3.6, si el
rango de edades permitido para los empleados está entre 16 y 70, podemos especificar el
conjunto de valores del atributo Edad de EMPLEADO como un conjunto de números enteros
entre 16 y 70.
RELACION

• Un tipo de relación R entre n tipos de entidades E1, E2, . . ., En define un conjunto de


asociaciones (o un conjunto de relaciones) entre las entidades de esos tipos de entidades.
GRADO DE UN TIPO DE RELACIÓN.

• Grado de un tipo de relación. El grado de un tipo de relación es el número de tipos de


entidades participantes. Por tanto, la relación TRABAJA_PARA es de grado dos. Un tipo de
relación de grado dos se denomina binario, y uno de grado tres, ternario.
EJERCICIO

• Considere la red social “DBCI” en la cual existen usuarios, estos usuarios tienen vínculos con
otros usuarios, los usuarios pueden crear publicaciones las cuales pueden recibir comentarios
de usuarios con los cuales se tiene un vinculo.
• Realice un diagrama E-R identifique Entidades y Atributos
• Programa DIA.
• Guardar el archivo con el nombre DBITNUMEROCUENTA
CARDINALIDAD

• Razones de cardinalidad para las relaciones binarias. La razón de cardinalidad de una relación
binaria especifica el número máximo de instancias de relación en las que una entidad puede
participar. Por ejemplo, en el tipo de relación binaria TRABAJA_PARA,
DEPARTAMENTO:EMPLEADO tiene una razón de cardinalidad de 1:N, que significa que cada
departamento puede estar relacionado con (es decir, emplea a) cualquier cantidad de
empleados, pero un empleado puede estar relacionado con (trabajar para) un solo
departamento. Las posibles razones de cardinalidad para los tipos de relación binaria son :
CARDINALIDAD

1:1 de uno a uno

1:N de uno a muchos

N:1 de muchos a uno

M:N de muchos a muchos.


RESTRICCIONES DE PARTICIPACIÓN
Y DEPENDENCIAS DE EXISTENCIA
• Restricciones de participación y dependencias de existencia. La restricción de participación
especifica si la existencia de una entidad depende de si está relacionada con otra entidad a
través de un tipo de relación. Esta restricción especifica el número mínimo de instancias de
relación en las que puede participar cada entidad, y en ocasiones recibe el nombre de
restricción de cardinalidad mínima.
ATRIBUTOS DE LOS TIPOS DE RELACIÓN

• Los tipos de relación también pueden tener atributos, parecidos a los de los tipos de entidad.
Por ejemplo, para registrar el número de horas por semana que un empleado trabaja en un
proyecto en particular, podemos incluir un atributo Horas para el tipo de relación
TRABAJA_EN.
ATRIBUTOS EN UNA RELACION

Los atributos de los tipos de relación 1:1 o 1:N se pueden trasladar a uno de los tipos de entidad participantes. Por ejemplo, el
atributo FechaInicio

En el caso de un tipo de relación 1:N, un atributo de relación sólo se puede migrar al tipo de entidad que se encuentra en el lado
N de la relación.

Para los tipos de relación M:N, algunos atributos pueden determinarse mediante la combinación de entidadesparticipantes en
una instancia de relación, no mediante una sola relación. Dichos atributos deben especificarse como atributos de relación.
TIPOS DE ENTIDADES DÉBILES

• Los tipos de entidad que no tienen atributos clave propios se denominan tipos de entidad débiles. En
contraposición, los tipos de entidad regulares que tienen un atributo clave (que incluye todos los ejemplos que
hemos explicado hasta ahora) se denominan tipos de entidad fuertes.

• Podemos llamar a este otro tipo de entidad tipo de entidad identificado o propietario, y al tipo de relación que
relaciona un tipo de entidad débil con su propietario lo podemos llamar relación identificativa del tipo de
entidad débil.

• Un tipo de entidad débil siempre tiene una restricción de participación total (dependencia de existencia)

• Un tipo de entidad débil normalmente tiene una clave parcial, que es el conjunto de atributos que pueden
identificar sin lugar a dudas las entidades débiles que están relacionadas con la misma entidad propietaria.
TIPOS DE ENTIDADES DÉBILES

• En los diagramas ER, tanto el tipo de la entidad débil como la relación identificativa, se
distinguen rodeando sus cuadros y rombos mediante unas líneas dobles. El atributo de clave
parcial aparece subrayado con una línea discontinua o punteada.
EJERCICIO

• Con lo visto sobre diagramas entidad relación, reúnase con su grupo y bosqueje un diagrama
para el caso de ventas de un mercadito.
EJERCICIO

• Con lo visto sobre diagramas entidad relación, reúnase con su grupo y bosqueje un diagrama
para el caso de ventas de un mercadito.
• Para tomar ideas para iniciar bien el diseño véase la sección
• 3.7.3 Opciones de diseño para el diseño conceptual ER(Elmasri)
• Para la realización de este esquema utilice la convención de nombres dispuesta en la sección
• 3.7.2 Asignación correcta de nombre a las construcciones del esquema (Elmasri)
• Tarea realice el diagrama UML del diagrama resultante, temática dispuesta en :
• 3.8 Ejemplo de otra notación: diagramas de clase UML(Elmasri)
RESOLUCIÓN DE 3 EJERCICIOS DE
TAREA
TAREA

• Guía del capitulo 3 del libro de ELMASRI


EL MODELO
ENTIDAD-REL ACIÓN
MEJORADO
(EER)
C A P I T U L O 4 L I B R O D E F S B D A U TO R E L M A S R I
RAMEZ.
EL MODELO ENTIDAD-RELACIÓN
MEJORADO (EER)

Los conceptos de modelado ER son suficientes para representar muchos


de los esquemas de bases de datos de las aplicaciones tradicionales.

Sin embargo, desde finales de los años 70, los diseñadores de aplicaciones
de base de datos han intentado crear esquemas que reflejen de un modo
más preciso las propiedades y restricciones de los datos.
EER
Esto fue algo especialmente importante en las nuevas aplicaciones
de tecnología de bases de datos,
COMPLEJIDAD

• Este tipo de bases de datos tienen unos requisitos más complejos que los necesarios en las
aplicaciones tradicionales, lo que llevó al desarrollo de nuevos conceptos en la semántica de
modelado de datos que se incorporaron en modelos de datos conceptuales como el ER.

• Se han propuesto muchos modelos de semántica de datos.


• Muchos de estos conceptos fueron desarrollados de forma independiente en otras áreas de la
computación, como la representación del conocimiento en la inteligencia artificial y el
modelado de objetos en la ingeniería de software.
NUEVO

• EER contiene todos los conceptos de modelado del modelo ER, además de incluir la definición
de subclase y superclase y los términos especialización y generalización.
• Otro concepto incluido en el modelo EER es el de categoría o tipo unión, que se emplea para
representar una colección de objetos que es la unión de los objetos de distintos tipos de
entidades.
• Junto a todos estos términos se encuentra el importante mecanismo de atributo y relación de
herencia.
• Por desgracia, no existe una terminología estándar para
estos conceptos, por lo que utilizaremos la más común.
CLASE SUBCLASE HERENCIA
CLASE / SUBCLASE

• En muchos casos, un tipo de entidad cuenta con varios subgrupos de entidades que son
significativos y deben ser representados de forma explícita debido a su importancia en la
aplicación de base de datos.
• Podemos decir que cada una de estas agrupaciones es una subclase.
• La relación entre una superclase y una de sus subclases recibe el nombre de
superclase/subclase, o simplemente relación clase/subclase.
• Una entidad miembro de la subclase representa a la misma entidad del mundo real en la
superclase.
DEFINICIONES CLASE/SUBCLASE

• Por tanto, el miembro de la subclase es el mismo que la entidad en la superclase, pero en un papel
específico distinto.

• Sin embargo, cuando se implementa una relación superclase/subclase en el sistema de bases de


datos, podemos representar a un miembro de la subclase como un objeto de base de datos distinto;
digamos, un registro diferente que está relacionado a través del atributo clave con su entidad
superclase.

• Una entidad no puede existir en una base de datos siendo sólo miembro de una subclase; también
debe pertenecer a una superclase.
DEFINICIONES CLASE/SUBCLASE

• Del mismo modo, una entidad puede estar incluida opcionalmente en varias subclases.
• Sin embargo, no es necesario que cada entidad de una superclase sea miembro de alguna
subclase.
• Un concepto importante asociado a las subclases es el de tipo de herencia.
• El tipo de una entidad está definido por los atributos que posee y los tipos de relación en los
que participa.
• Ya que una entidad en una subclase representa también a la misma persona en la superclase,
debe disponer de valores para sus atributos específicos, así como otros como miembro de la
superclase.
DEFINICIONES CLASE/SUBCLASE

• Decimos, por tanto, que una entidad que es miembro de una subclase hereda todos los
atributos de la entidad como miembro de la superclase y las relaciones en las que ésta
participa.

• Una subclase, con sus atributos y relaciones propias (o locales) junto con los que hereda de la
superclase, puede ser considerada como un tipo de entidad por derecho propio.
ESPECIALIZACION GENERALIZACION
DEFINICIONES CLASE/SUBCLASE

• La especialización es el proceso de definir un conjunto de subclases de un tipo de entidad, la


cual recibe el nombre de superclase de la especialización.
• El conjunto de subclases que forman una especialización se define basándose en algunas
características distintivas de las entidades en la superclase.
• Podemos tener varias especializaciones del mismo tipo de entidad en función de varias
características distintivas.
• La forma de representar una especialización en un diagrama EER, las subclases que la definen
están unidas por líneas a un círculo que representa la especialización, la cual está a su vez unida
a la superclase.
DEFINICIONES CLASE/SUBCLASE

• El símbolo de subconjunto de cada línea que conecta una subclase al círculo indica la dirección
de la relación superclase/subclase.
• Los atributos que se aplican únicamente a las entidades de una subclase particular están unidas
al rectángulo que la representa, y reciben el nombre de atributos específicos (o atributos
locales) de la subclase.
• Además, una subclase puede participar en tipos de relación específicos.
• Una relación superclase/subclase se asemeja en cierto modo a otra del tipo 1:1 a nivel de
instancia.
DEFINICIONES CLASE/SUBCLASE

• La diferencia principal es que en una relación 1:1, dos entidades distintas están relacionadas,
mientras que en el caso de una superclase/subclase, la entidad de la subclase es la misma que la
de la superclase pero desempeñando un papel concreto.
• Existen dos razones principales para incluir relaciones clase/subclase y especializaciones en un
modelo de datos.
RAZONES

La primera es que pueden existir


Por tanto, la subclase se define
ciertos atributos que sólo deban
para agrupar a todas esas
aplicarse a algunas entidades,
entidades.
pero no a toda la superclase.
RESTRICCIONES Y
CARACTERÍSTICAS DE LAS
JERARQUÍAS DE ESPECIALIZACIÓN Y
GENERALIZACIÓN
RESTRICCIONES EN LA ESPECIALIZACIÓN
Y LA GENERALIZACIÓN

DISYUNCION

SOLAPAMIENTO
(SOLAPARSE)
RESTRICCIONES EN LA ESPECIALIZACIÓN
Y LA GENERALIZACIÓN
• En algunas especializaciones, podemos determinar con exactitud las entidades que se
convertirán en miembros de cada subclase situando una condición en el valor de algunos
atributos de la superclase

• Estas subclases reciben el nombre de subclases de predicado definido (o de condición


definida).
RESTRICCIONES EN LA ESPECIALIZACIÓN
Y LA GENERALIZACIÓN
• Identificamos una subclase de predicado definido escribiendo la condición a continuación de la
línea que conecta la subclase al círculo de especialización.

• Si todas las subclases de una especialización tienen su condición de pertenencia en el mismo


atributo de la superclase, la propia especialización recibe el nombre de especialización de
atributo definido, y el atributo recibe el nombre de atributo definitorio de la
especialización.
• Cuando no tenemos una condición para determinar los miembros de una subclase, se dice que
es de tipo definido por usuario.
RESTRICCIÓN DE DISYUNCIÓN

• La restricción de disyunción (disjointness), la cual especifica que las subclases de la especialización


deben estar separadas.

• Esto significa que una entidad puede ser, como máximo, miembro de una de las subclases de la
especialización.

• Una especialización de tipo atributo-definido implica la restricción de disyunción en el caso de que


el atributo utilizado para definir el predicado de agrupación sea de un solo valor, o monovalor.
RESTRICCIÓN DE SOLAPAMIENTO

• Si las subclases no están obligadas a estar separadas, su conjunto de entidades pueden


solaparse, es decir, la misma entidad podría ser miembro de más de una subclase de la
especialización.

• Este caso, que es el que se produce por defecto, se especifica colocando una “o” en el círculo.
RESTRICCIONES DE INTEGRIDAD

Total

Parcial
TOTAL

• Una especialización total especifica que cada entidad en la superclase debe ser miembro de, al
menos, una subclase en la especialización.
• Esto se muestra en los diagramas EER usando una línea doble que conecta la superclase al
círculo.
PARCIAL

• Para mostrar una especialización parcial se emplea una línea sencilla, lo que permite que una
entidad no pertenezca a ninguna de las subclases.


LAS RESTRICCIONES DE DISYUNCIÓN Y
DE INTEGRIDAD SON INDEPENDIENTES.

• Disyunción, total.
• Disyunción, parcial.
• Solapamiento, total.
• Solapamiento, parcial.
La restricción correcta viene determinada
por la aplicación real que se le quiera dar a
cada
especialización.
EJEMPLOS DE REGLAS

El borrado de una entidad de una superclase implica su eliminación automática de todas las subclases a las que
pertenece.

La inserción de una entidad en una superclase supone que la misma debe insertarse en todas las subclases de
predicado definido (o atributo definido) en las que esa entidad cumpla la regla.

La inserción de una entidad en una superclase de especialización total conlleva que dicha entidad sea incluida
obligatoriamente en, al menos, una de las subclases de la especialización.
JERARQUÍAS Y ENTRAMADOS DE
ESPECIALIZACIÓN Y GENERALIZACIÓN
Especialización Jerárquica

Especialización Entramada
ESPECIALIZACIÓN JERÁRQUICA

• Una especialización jerárquica tiene una restricción que dice que cada subclase participa como
tal en una única relación clase/subclase, es decir, cada subclase sólo tiene un padre, lo que
deriva en la formación de una estructura en árbol.

ESPECIALIZACION ENTRAMADA

• En contraposición, en una especialización entramada, una subclase puede serlo en más de una
relación clase/subclase.
• Independientemente de si se trata de una jerarquía o un entramado de especialización, una
subclase hereda los atributos no sólo de su superclase directa, sino también de todas sus
superclases predecesoras hasta el tope de la jerarquía o el entramado.

• Una entidad puede existir en varios nodos hoja de la jerarquía, donde un nodo hoja es una
clase que no tiene subclases.

• Una subclase que cuente con más de una superclase recibe el nombre de subclase compartida.
ATENCION!

Aunque hemos empleado la especialización para


explicar el tema, se pueden aplicar los mismos
conceptos en la generalización, por lo que
podríamos hablar de jerarquía de generalización
y de entramado de generalización.
MODELADO DE TIPOS UNION USANDO
CATEGORÍAS
• No resulta extraño que la necesidad obligue a modelar una única relación superclase/subclase
con más de una superclase, donde esas superclases representen diferentes tipos de entidades.
• En este caso, la subclase representará una colección de objetos que es un subconjunto de la
UNION de distintos tipos de entidades; llamaremos a esta subclase un tipo unión o una
categoría.
• En caso de necesitarse un predicado, éste aparece a continuación de la línea que sale de la
superclase a la cual debe aplicarse.
TOTAL O PARCIAL

• Una categoría puede ser total o parcial. Una categoría total contiene la unión de todas
las entidades de sus superclases, mientras que una parcial puede almacenar un subconjunto de
la unión. Una categoría total está representada por una línea doble que la conecta con el
círculo, en tanto que una parcial está indicada por una línea sencilla.
TAREA

• Realizar guía del capitulo 4 libro de Elmasry


MODELO RELACIONAL

• Capitulo 5 libro Elmasry


MODELO RELACIONAL

• Los principios del modelo de datos relacional fueron establecidos por E.F. Codd en los años
1969 y 1970.
• Hasta la década de los ochenta no se empezaron a comercializar los primeros SGBD
relacionales con rendimientos aceptables.
OBJETIVO

• El principal objetivo del modelo de datos relacional es facilitar que la base de datos sea
percibida o vista por el usuario como una estructura lógica que consiste en un conjunto de
relaciones y no como una estructura física de implementación.
PRESENTACION

• El modelo relacional representa la base de datos como una colección de relaciones.


Informalmente, cada una de estas relaciones se parece a una tabla de valores o, de forma algo
más extensa, a un fichero plano de registros.

• Cuando una relación está pensada como una tabla de valores, cada fila representa una
colección de valores relacionados.

• En el modelo relacional, cada fila de la tabla representa un hecho que, por lo general, se
corresponde con una relación o entidad real.
TUPLA

• En la terminología formal del modelo relacional, una fila recibe el nombre de tupla, una
cabecera de columna es un atributo y el nombre de la tabla una relación.
• El tipo de dato que describe los valores que pueden aparecer en cada columna está
representado por un dominio de posibles valores.
DOMINIOS, ATRIBUTOS, TUPLAS Y
RELACIONES
• Un dominio D es un conjunto de valores atómicos. Por atómico queremos decir que cada
valor de un dominio es indivisible en lo que al modelo relacional se refiere.

• Lo expuesto anteriormente se conoce como definiciones lógicas de dominios. Para cada uno
de ellos se especifica también un tipo de dato o formato. ,

• Un dominio cuenta, por tanto, con un nombre, un tipo de dato y un formato.


ESQUEMA

• Un esquema de relación2 R, denotado por R(A1, A2, . . . ,An), está constituido por un nombre
de relación R y una lista de atributos A 1, A2, . . ., An. Cada atributo Ai es el nombre de un papel
jugado por algún dominio D en el esquema de relación R.
• Se dice que D es el dominio de Ai y se especifica como dom(Ai). Un esquema de relación se
utiliza para describir una relación; se dice que R es el nombre de la misma. El grado (o arity)
de una relación es el número de atributos n de la misma.
RELACION

• Una relación (o estado de relación) r del esquema R(A1, A2, . . . , An), también especificado
como r(R), es un conjunto de n-tuplas r = {t1, t2, . . . , tm}.

• Cada tupla t es una lista ordenada de n valores t = < v1, v2, . . . , v n>, donde vi, es un elemento
de dom(Ai) o un valor especial NULL.

• Un esquema de relación recibe a veces el nombre de diseño de relación.


PRODUCTO CARTESIANO

• La anterior definición de relación puede ser enunciada más formalmente del siguiente modo.
Una relación (o estado de relación) r(R) es una relación matemática de grado n en los
dominios dom(A1), dom(A2), . . . , dom(An) que es un subconjunto del producto cartesiano de
los dominios que definen
ESTADO

• Este producto de cardinalidades de todos los dominios representa el número total de posibles
instancias, o tuplas, que pueden existir en la relación r(R).

• De todas estas posibles combinaciones, un estado de relación en un momento dado (el estado
de relación actual) sólo refleja las tuplas válidas que representan un estado particular del
mundo real.

• En general, a medida que varía el estado del mundo real lo hace también la relación,
convirtiéndose en otro estado de relación diferente.
CARACTERÍSTICAS DE LAS RELACIONES

• Ordenación de tuplas en una relación. Una relación está definida como un conjunto de
tuplas. Matemáticamente, los elementos de un conjunto no guardan un orden entre ellos; por
tanto, las tuplas en una relación tampoco la tienen. En otras palabras, una relación no es
sensible al ordenamiento de las tuplas. Sin embargo, en un fichero, los registros están
almacenados físicamente en el disco (o en memoria), por lo que siempre hay establecido un
orden entre ellos. De forma análoga, cuando mostramos una relación como una tabla, las filas
aparecen con un cierto orden.
• Ordenación de los valores dentro de una tupla y definición alternativa de una
relación. Según la definición anterior de relación, una n-tupla es una lista ordenada de n
valores, por lo que el orden de valores dentro de una de ellas (y por consiguiente de los
atributos de un esquema de relación) es importante. Sin embargo, a nivel lógico, el orden de los
atributos y sus valores no es tan importante mientras se mantenga la correspondencia entre
ellos.
• Valores y NULLs en las tuplas. Cada valor en una tupla es un valor atómico, es decir, no es
divisible en componentes dentro del esqueleto del modelo relacional básico. Por tanto, no
están permitidos los atributos compuestos y multivalor (consulte el Capítulo 3).
• Este modelo suele recibir a veces el nombre de modelo relacional plano.
NULL

• Un concepto importante es el de los valores NULL (nulo), que se utilizan para representar los
valores de atributos que pueden ser desconocidos o no ser aplicables a una tupla. Para estos
casos, existe un valor especial llamado NULL.

• Durante el diseño de una base de datos es preferible evitar los valores NULL tanto como sea
posible.
• Interpretación (significado) de una relación. El esquema de relación puede interpretarse
como una declaración o un tipo de aserción.

• Cada tupla de la relación puede ser interpretada entonces como un hecho o una instancia
particular de la aserción.
NOTACIÓN DEL MODELO RELACIONAL

• Un esquema de relación R de grado n se designa como R(A1, A2, . . . , An).


• Las letras Q, R, S especifican nombres de relación.
• Las letras t, u, v indican tuplas.
• En general, el nombre de una relación como ESTUDIANTE indica también el conjunto real de
tuplas de la misma (el estado actual de la relación)
• mientras que ESTUDIANTE(Nombre, Dni, . . .) se refiere sólo a su esquema.
NOTACIÓN DEL MODELO RELACIONAL

• Un atributo A puede cualificarse con el nombre de relación R al cual pertenece usando la


notación de
punto, R.A: por ejemplo, ESTUDIANTE.Nombre o ESTUDIANTE.Edad.
• Esto es así porque dos atributos en relaciones diferentes pueden usar el mismo nombre.
• Sin embargo, todos los nombres de atributo en una relación particular deben ser distintos.
RESTRICCIONES DEL MODELO
RELACIONAL Y ESQUEMAS DE BASES DE
DATOS RELACIONALES
• restricciones, o constraints,
CATEGORIAS

• Restricciones que son inherentes al modelo de datos y que reciben el nombre de restricciones implícitas o inherentes
basadas en el modelo.
1.
• Restricciones que pueden expresarse directamente en los esquemas del modelo de datos, por lo general especificándolas en
el DDL (Lenguaje de definición de datos, Data Definition Language; consulte la Sección 2.3.1). Las llamaremos restricciones
2. explícitas o basadas en el esquema.

• Restricciones que no pueden expresarse directamente en los esquemas del modelo de datos, y que por consiguiente deben
ser expresadas e implementadas por los programas. Las llamaremos restricciones semánticas, basadas en aplicación o reglas
de negocio.
3.
RESTRICCIONES DE DOMINIO

• Las restricciones de dominio especifican que dentro de cada tupla, el valor de un atributo A
debe ser un valor atómico del dominio dom(A).
RESTRICCIONES DE CLAVE Y
RESTRICCIONES DE VALORES NULL
• Una relación está definida como un conjunto de tuplas. Por definición, todos los elementos de
un conjunto son distintos; por tanto, todas las tuplas en una relación también deben serlo. Esto
significa que dos tuplas no pueden tener la misma combinación de valores para todos sus
atributos.

• Habitualmente existen otros subconjuntos de atributos de una relación R con la propiedad de


que dos tuplas en cualquier relación r de R no deben tener la misma combinación de valores
para estos atributos.
RESTRICCIONES DE CLAVE Y
RESTRICCIONES DE VALORES NULL
• Cualquier conjunto de atributos SK recibe el nombre de superclave del esquema de relación R.
Una superclave especifica una restricción de exclusividad por la que dos tuplas distintas en
cualquier estado r de R pueden tener el mismo valor para SK. Cada relación tiene, al menos,
una superclave predeterminada: el conjunto de todos sus atributos. Sin embargo, una
superclave puede contar con atributos redundantes
• Una clave K de un esquema de relación R es una superclave de R con la propiedad adicional
que eliminando cualquier atributo A de K deja un conjunto de atributos K' que ya no es una
superclave de R. Por tanto, una clave satisface dos restricciones:
1. Dos tuplas diferentes en cualquier estado de la relación no pueden tener valores idénticos
para (todos) los atributos de la clave.
2. Es una superclave mínima, es decir, una superclave de la cual no podemos eliminar ningún
atributo y seguiremos teniendo almacenada la restricción de exclusividad de la condición 1.
• El valor de un atributo clave puede usarse para identificar de forma única cada tupla en la relación.

• En general, un esquema de relación puede contar con más de una clave. En este caso, cada una de
ellas recibe el nombre de clave candidata.

• Es común designar una de ellas como la clave principal de la relación, y será la que se utilice para
identificar las tuplas en la relación. Usamos la convención de que los atributos que forman la clave
principal de un esquema de relación están subrayados.
BASE DE DATOS RELACIONALES Y
ESQUEMAS DE BASES DE DATOS
RELACIONALES
• Un esquema de base de datos relacional S es un conjunto de esquemas de relación S = {R1, R2,
. . . , R m} y de restricciones de integridad RI.
• Un estado de base de datos relacional DB de S es un conjunto de estado de relación DB = {r1,
r2, . . . , rm} en el que cada ri es un estado de Ri y satisface las restricciones de integridad
especificadas en RI.
ESTADO

• Cuando nos referimos a una base de datos relacional, incluimos implícitamente tanto su
esquema como su estado actual.

• Un estado de base de datos que no cumple todas sus restricciones de integridad se dice que
está en un estado incorrecto, mientras que aquél que sí las cumple está en un estado correcto.

• Los atributos que representan el mismo concepto del mundo real pueden tener o no los
mismos nombres en relaciones diferentes.
INTEGRIDAD DE ENTIDAD, INTEGRIDAD
REFERENCIAL Y FOREIGN KEYS
• Las restricciones de integridad de entidad declaran que el valor de ninguna clave principal
puede ser NULL.
• Las de integridad referencial están especificadas entre dos relaciones y se utilizan para
mantener la consistencia entre las tuplas de dos relaciones.
• Informalmente, las restricciones de integridad referencial dicen que una tupla de una relación
que hace referencia a otra relación debe hacer referencia a una tupla existente de esa relación.
FOREIGN KEY (CLAVE EXTERNA).

• 1. Los atributos en FK tienen el mismo dominio, o dominios, que los atributos de clave
principal PK de R2; se dice que los atributos FK referencian o hacen referencia a la relación R2.

• 2. Un valor de FK en una tupla t1 del estado actual r1(R1) tampoco aparece como valor de PK
en alguna tupla t2 del estado actual r2(R2) o es NULL.
• En el caso anterior, tenemos que t1[FK] = t2[PK], y decimos que la tupla t1 referencia o hace
referencia a la tupla t2.

• En esta definición, R1 recibe el nombre de relación de referencia y R2 es relación referenciada.


RESTRICCIONES DE
INTEGRIDAD SEMÁNTICA
• Pueden especificarse e implementarse en una base de datos relacional.
• Como ejemplos de ellas podemos citar la de
• que el salario de un empleado no debe exceder el de su supervisor y que el número máximo de
horas que un empleado puede trabajar a la semana es de 40.

• Estas restricciones pueden implementarse dentro de las propias aplicaciones que actualizan la base
de datos, o usar un lenguaje de especificación de restricciones de propósito general.

• Para ello existen unos mecanismos llamados triggers y aserciones


ACTUALIZACIONES, TRANSACCIONES Y
NEGOCIADO DE LA VIOLACIÓN DE UNA
RESTRICCIÓN

Actualizaciones.
Recuperaciones

Operaciones
del modelo
relacional
Recuperaciones = algebra relacional
Inserción

Existen tres
tipos de
operaciones de
actualización
básicas:

modificación
borrado
VIOLACION DE RESTRICCIONES
Estas operación pueden violar cualquiera de las cuatro restricciones estudiadas

• si el valor dado a un atributo no aparece en el dominio


Dominio : correspondiente

• si el valor de dicha clave en la nueva tupla t ya existe en


otra tupla en la relación r(R)
Clave :
• si la clave principal de la nueva tupla t es NULL
Integridad de
la entidad :

• si el valor de cualquier foreign key en t se refiere a una


tupla que no exista en la relación referenciada.
Integridad
referencial :

You might also like