Professional Documents
Culture Documents
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
• (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
Redundancia mínima.
Respaldo y recuperación.
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
• 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:
• 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
• 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
• 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
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.
• 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.
• 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
• 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
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
• Esto significa que una entidad puede ser, como máximo, miembro de una de las subclases 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!
• 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
• 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
• 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 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.
• 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
• 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.
• 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.
• 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.
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