Unidad 3 Conceptos
Unidad 3 Conceptos
Unidad 3 Conceptos
24/03/2023
Unidad II – El modelo relacional.
3.1 Diferencias y similitudes entre el modelo entidad-relación y el
modelo relación.
Tupla
Una tupla es una fila de una relación. Los elementos de una relación son las
tuplas o filas de la tabla. Las tuplas de una relación no siguen ningún orden. En
términos más sencillos, las tuplas son los diferentes registros de una
determinada tabla.
Atributos
Un atributo es el nombre de una columna de una relación. En este modelo, las
relaciones se utilizan para almacenar información sobre los objetos que se
representan en la base de datos. Una relación se representa gráficamente
como una tabla bidimensional en la que las filas corresponden a registros
individuales y las columnas corresponden a los campos o atributos de esos
registros. Los atributos pueden aparecer en la relación en cualquier orden. El
grado de una relación es el número de atributos que contiene. En términos
más sencillos, es el número de campos que tiene una determinada tabla.
Dominio
Un dominio es el conjunto de valores legales de uno o varios atributos. Los
dominios constituyen una poderosa característica del modelo relacional. Cada
atributo de una base de datos relacional se define sobre un dominio,
pudiendo haber varios atributos definidos sobre el mismo dominio. El
concepto de dominio es importante porque permite que el usuario defina, en
un lugar común, el significado y la fuente de los valores que los atributos
pueden tomar.
Esquema
Los atributos A1..An
Por ejemplo:
Trabajadores ( p.ej. Trabajadores (id_trabajador id_trabajador, nombre, ,
nombre, tarifa_hr tarifa_hr, tipo_de_oficio tipo_de_oficio, id_supv id_supv)
Instancia
El conjunto de: El conjunto de tuplas {(x1,x2,..,xn)} ⊆ D1×D2×..×Dn que la
componen en cada momento.
Fila
Una fila es un registro de datos dentro de una tabla. representa una instancia
de los datos en el conjunto de datos. Cada fila, que representa un registro
completo de datos de elementos específicos, contiene datos diferentes
dentro de la misma estructura.
Las filas pueden contener datos de transacciones, como facturas individuales
o pueden contener datos de resumen, como totales de facturas semanales. Lo
importante es que las filas en un conjunto de datos deben tener el mismo
nivel de granularidad, como todas las transacciones de facturas o todos los
totales semanales, en vez de niveles combinados.
Columna
Una columna es un conjunto de valores de datos, todos de un solo tipo, en
una tabla. Las columnas definen los datos en una tabla, mientras que las filas
llenan los datos en la tabla. Representa una categoría de información, como
una fuente de oportunidades o un nombre de cuenta. Cada columna tiene un
nombre, un tipo de datos y otras propiedades.
Llave primaria
Una clave principal o llave primaria es una columna especial o conjunto de
columnas en una tabla de base de datos que identifica de manera única cada
registro en la tabla. La clave puede ser una cadena corta o una combinación
de múltiples columnas.
También llamadas claves primarias o primary key, en inglés. Son los atributos
o columnas en una tabla que hacen única una entidad. Una tabla solo puede
tener una llave primaria.
Las llaves primarias tienen unas reglas de integridad o constraints que deben
seguirse, entre ellas:
• La unicidad de la llave primaria, es decir, ninguna llave primaria
debe admitir valores repetidos.
• Integridad: ningún atributo de la llave primaria debe poseer
valores nulos.
Asimismo, las llaves primarias poseen una característica denominada not null,
la cual se asegura de que los campos de esta no queden vacíos nunca.
Llaves Foráneas
Las llaves foráneas son columnas que aparecen en otras tablas que no son la
de destino. Las llaves foráneas de una tabla necesariamente son la llave
primaria de la tabla de dónde vienen.
Las llaves primarias y foráneas tienen una característica denominada
integridad referencial, que consiste en hacer que ciertas funciones, como
eliminar e insertar en un campo, sean cuidadosas. De esta forma, se aseguran
de que ninguno de los registros en los campos referenciados por medio de las
llaves foráneas sea borrados o que se vayan a insertar registros nuevos que
puedan alterar la funcionalidad de la base de datos.
Una de las diferencias entre las llaves primarias y foráneas es que, en las
llaves primarias, la característica not null es imprescindible. En cambio, en las
llaves foráneas la característica puede ser null o not null.
Restricción de dominio
Al definir cada atributo sobre un dominio se impone una restricción sobre el
conjunto de valores permitidos para cada atributo, a este tipo de restricciones
se les denomina restricciones de dominios. Hay además dos reglas de
integridad muy importantes que son restricciones que se deben cumplir en
todas las bases de datos relacionales y en todos sus estados o instancias (las
reglas se deben cumplir todo el tiempo). Estas reglas son la regla de
integridad de dominios, la regla de integridad de entidades y la regla de
integridad referencial, pero antes de definirlas es preciso conocer el concepto
de nulo y de dominio (el cual ya se definió en el apartado anterior).
• Nulo.
Cuando en una tupla un atributo es desconocido, se dice que es nulo.
Un nulo no representa el valor cero ni la cadena vacía, éstos son valores
que tienen significado. El nulo implica ausencia de información, bien
porque al insertar la tupla se desconocía el valor del atributo, o bien
porque para dicha tupla el atributo no tiene sentido.
Debido a que los nulos no son valores, deben tratarse de modo
diferente, lo que causa problemas de implementación. De hecho, no
todos los SGBD relacionales soportan los nulos.
• Regla de integridad de dominios
Un dominio de valores posibles puede estar asociado a cada atributo.
Los límites de dominio son la forma más elemental de restricciones de
integridad, son fáciles de probar en el sistema siempre que se introduce
un nuevo dato en el sistema. Una definición adecuada de restricciones
de dominio no sólo nos permite probar valores insertados en la base de
datos, sino también probar consultas para asegurar que la comparación
que se hace tiene sentido.
• Reglas de integridad de relación
Las reglas de integridad de relación son restricciones que se deben
cumplir en todas las bases de datos relacionales y en todos sus estados
o instancias, es decir, son reglas que se deben cumplir todo el tiempo.
Existen dos reglas de integridad asociadas con el modelo relacional. La
integridad de entidad y la integridad referencial, las cuales son
generales y se aplican a todas las bases de datos relacionales y tienen
que ver con las llaves primarias y externas, respectivamente.
• Integridad de entidad
Las restricciones de entidades aseguran la integridad de las entidades
que son modeladas por el sistema. La existencia de una clave principal
es una restricción de entidad que impone la regla “cada entidad debe
estar identificada de forma única”; en esta no está permitido que
ningún componente de la clave primaria de cualquier registro acepte
valores nulos y que debe comprobar que los atributos que forman parte
de una llave primaria son diferentes de nulos y que el valor conjunto de
ellos no está repetido en el proceso de inserción y actualización.
3.4 Álgebra relacional y sus operaciones.
Se llama álgebra relacional a un conjunto de operaciones simples sobre tablas
relacionales, a partir de las cuales se definen operaciones más complejas
mediante composición. Definen, por tanto, un pequeño lenguaje de
manipulación de datos.
Algebra relacional
Es un método que consiste básicamente en crear o construir nuevas relaciones a
partir de relaciones existentes.
Proyección (π).
Selección (σ).
Unión (U).
Diferencia (-).
Producto cartesiano (X).
Operadores no básicos o derivados.
Se clasifican en:
Intersección (∩).
Unión natural ().
División (/).
3.4.1 Selección.
Selección (σ)
Este operador permite seleccionar un subconjunto de filas o registros de una
relación y de acuerdo con la condición planteada los registros serán
seleccionados para formar parte de un nuevo subconjunto.
Ejemplo:
La relación del argumento se da entre paréntesis a continuación del σ. Por
tanto, para seleccionar las tuplas de la relación Salarios en que la sucursal es
<<Estelí>>, hay que escribir:
σ
NombreSuc = << Estelí >> (Salarios)
Salarios
CodSuc NombreSuc CodEmpleado Empleado Salario
01-002 Casa Matriz S002-0125 Juan Pérez 10,000
01-004 Estelí S004-0113 Domingo Lanuza 8,500
01-004 Estelí S004-0056 Laura Flores 7,000
01-009 Octal S009-0001 Eliza Fuente 8,500
01-010 Jinotega S009-0125 Ana Figueroa 4,000
01-002 Casa Matriz S002-0056 Lester Jirón 2,500
3.4.2 Proyección.
Proyección (π).
Este operador permite extraer columnas de una relación y de esta manera
crea un subconjunto de atributos de la relación, además elimina las filas
duplicadas.
Ejemplo:
La relación del argumento se da entre paréntesis a continuación del π. Por
tanto, para elegir las columnas Empleado y Salario para proyectar de la
relación Salarios, hay que escribir:
π
Empleado, Salario (Salarios)
Salarios
CodSuc NombreSuc CodEmpleado Empleado Salario
01-002 Casa Matriz S002-0125 Juan Pérez 10,000
01-004 Estelí S004-0113 Domingo Lanuza 8,500
01-004 Estelí S004-0056 Laura Flores 7,000
01-009 Octal S009-0001 Eliza Fuente 8,500
01-010 Jinotega S009-0125 Ana Figueroa 4,000
01-002 Casa Matriz S002-0056 Lester Jirón 2,500
Empleado Salario
Juan Pérez 10,000
Domingo Lanuza 8,500
Laura Flores 7,000
Eliza Fuente 8,500
Ana Figueroa 4,000
Lester Jirón 2,500
3.4.3 Composición.
Al igual que en teoría de conjuntos, en el álgebra relacional podemos crear
operaciones complejas a través de la composición de operadores, por
ejemplo:
Π σ
Clave-cine ( Clave-cine = 1 (salas))
3.4.4 Unión.
Unión (U).
La unión de 2 relaciones R y S es otra relación la cual va a tener los registros
de R en S o en ambas, además se eliminan los registros duplicados.
En esta relación R y S deben ser compatibles es decir que deben estar
definidas sobre el mismo conjunto de atributos.
Ejemplo:
Salario 1 U Salario 2
Salarios 1
CodSuc NombreSuc CodEmpleado Empleado Salario
01-002 Casa Matriz S002-0125 Juan Pérez 10,000
01-004 Estelí S004-0113 Domingo Lanuza 8,500
01-004 Estelí S004-0056 Laura Flores 7,000
Salarios 2
CodSuc NombreSuc CodEmpleado Empleado Salario
01-009 Octal S009-0001 Eliza Fuente 8,500
01-010 Jinotega S009-0125 Ana Figueroa 4,000
01-002 Casa Matriz S002-0056 Lester Jirón 2,500
Tabla resultante:
Salario 1 U Salario 2
CodSuc NombreSuc CodEmpleado Empleado Salario
01-002 Casa Matriz S002-0125 Juan Pérez 10,000
01-004 Estelí S004-0113 Domingo Lanuza 8,500
01-004 Estelí S004-0056 Laura Flores 7,000
01-009 Octal S009-0001 Eliza Fuente 8,500
01-010 Jinotega S009-0125 Ana Figueroa 4,000
01-002 Casa Matriz S002-0056 Lester Jirón 2,500
3.4.5 Producto Cartesiano.
Producto cartesiano (X).
Es una relación que consiste en la concatenación de cada una de las filas
de la relación R con cada una de las filas de la relación S.
Ejemplo:
Salarios X Departamentos
Salarios
CodSuc NombreSuc CodEmpleado Empleado Salario
01-002 Casa Matriz S002-0125 Juan Pérez 10,000
01-004 Estelí S004-0113 Domingo Lanuza 8,500
01-004 Estelí S004-0056 Laura Flores 7,000
01-009 Octal S009-0001 Eliza Fuente 8,500
01-010 Jinotega S009-0125 Ana Figueroa 4,000
01-002 Casa Matriz S002-0056 Lester Jirón 2,500
Departamentos
CodDep NombreDep
Administració
adm002
n
Administració
Adm004
n
cont002 Contabilidad
cont003 Contabilidad
vent004 Ventas
vent006 Ventas
Tabla resultante:
Salarios X Departamentos
CodSuc CodDep NombreDep NombreSuc CodEmpleado Empleado Salario
01-002 adm002 Administración Casa Matriz S002-0125 Juan Pérez 10,000
Domingo
01-004 Adm004 Administración Estelí S004-0113 8,500
Lanuza
Laura
01-004 cont002 Contabilidad Estelí S004-0056 7,000
Flores
Eliza
01-009 cont003 Contabilidad Octal S009-0001 8,500
Fuente
Ana
01-010 vent004 Ventas Jinotega S009-0125 4,000
Figueroa
Lester
01-002 vent006 Ventas Casa Matriz S002-0056 2,500
Jirón
3.4.6 Renombramiento
La operación de renombramiento permite cambiar el nombre
del esquema y de las columnas de otro esquema.
PE(LISTA_ATRIBUTOS)(R) = La relación resultante tiene nombre E
con nombre de atributos LISTA_ATRIBUTOS.
Ejemplo:
P
Suc?#(NombreSuc)(Salarios)
Salarios
CodSuc Suc?# CodEmpleado Empleado Salario
01-002 Casa Matriz S002-0125 Juan Pérez 10,000
01-004 Estelí S004-0113 Domingo Lanuza 8,500
01-004 Estelí S004-0056 Laura Flores 7,000
01-009 Octal S009-0001 Eliza Fuente 8,500
01-010 Jinotega S009-0125 Ana Figueroa 4,000
Tabla resultante:
Salarios
CodSuc NombreSuc CodEmpleado Empleado Salario
01-002 Casa Matriz S002-0125 Juan Pérez 10,000
01-004 Estelí S004-0113 Domingo Lanuza 8,500
01-004 Estelí S004-0056 Laura Flores 7,000
01-009 Octal S009-0001 Eliza Fuente 8,500
01-010 Jinotega S009-0125 Ana Figueroa 4,000
3.4.7 Intersección.
Intersección (∩).
Es una relación que contiene el conjunto de todas las filas que están
tanto en la relación R como en S. R y S deben ser compatibles.
Ejemplo:
3.4.9 División.
Define una relación sobre el conjunto de atributos C, incluido en la relación R,
y que contiene el conjunto de valores de S, que en las filas de R están
combinadas con cada una de las filas de S.
Bibliografía:
ArcGIS Pro. (s.f.). Introducción a los dominios de atributo. Obtenido de Esri: https://pro.arcgis.com/es/pro-
app/latest/help/data/geodatabases/overview/an-overview-of-attribute-domains.htm#:~:text=Los
%20dominios%20de%20atributo%20son,tabla%20o%20clase%20de%20entidad.