170 likes | 456 Views
BASES DE DATOS I. CAPÍTULO 2 EL MODELO RELACIONAL Guillermo Baquerizo II Término 2012. Elaborado por: GABP. Conceptos Básicos. El modelo relacional está basado en el concepto lógico de relación, la cual se representa físicamente en forma de una tabla.
E N D
BASES DE DATOS I CAPÍTULO 2 EL MODELO RELACIONAL Guillermo Baquerizo II Término 2012
Elaborado por: GABP Conceptos Básicos El modelo relacional está basado en el concepto lógico de relación, la cual se representa físicamente en forma de una tabla. Relación.- Está compuesta de atributos (columnas) y tuplas (filas). Atributo.- Es una columna nominada de una relación. Dominio.- Es un conjunto de valores permitidos para uno o más atributos.
Elaborado por: GABP Conceptos Básicos Tupla.- Es una fila o registro de una relación (tabla). Grado.- Es el número de atributos que contiene una relación. Cardinalidad.- Es el número de tuplas que contiene una relación.
Elaborado por: GABP Jerarquía de datos • Empieza con los bits para agruparse y formarconjuntos de bytes. • Los bytes se puedenagrupar para formar un campo (atributo). • Los camposrelacionados se puedenagrupar para formar un registro (tupla). • Los registrosrelacionadospuedenformar un archivo o tabla (relación). • Los archivosrelacionados se puedenorganizar en una base de datos.
Elaborado por: GABP Ejemplo Atributos BRANCH Tuplas Tupla 1: B005, 22 DeerRd, London, SW1 4EH Grado: 4 atributos. Cardinalidad: 5 tuplas. Dominio de branchNo: B### 1000 posibles combinaciones, tamaño: 4 caracteres. Dominio de Street: Conjunto de todos los nombres de las calles, tamaño: 25 caracteres.
Elaborado por: GABP Conceptos Básicos Valor nulo.- Representa un valor para un atributo que actualmente es desconocido o no es aplicable para esa tupla. Integridad de entidad.- En una relación base ningún atributo de una clave principal puede ser nulo. Integridad referencial.- Si hay clave externa en una relación, el valor de la clave externa debe corresponderse con el valor de una clave principal de alguna tupla en su relación de origen.
Elaborado por: GABP Conceptos Básicos Restricciones generales.- Son reglas adicionales especificadas por los usuarios o DBAs que definen o restringen algún aspecto de la organización. Clave principal.- Es un atributo o conjunto de atributos que permite identificar las tuplas de forma unívoca dentro de una relación.
Elaborado por: GABP Conceptos Básicos Relación Matemática Sea D1 = {2, 4} y D2 = {1, 3}, el producto cartesiano D1xD2 es el conjunto de todas las parejas ordenadas donde el primer elemento de la pareja es miembro de D1 y el segundo elemento es miembro de D2. D1xD2 = {(2, 1), (2, 3), (4, 1), (4, 3)} Cualquier subconjunto de este producto cartesiano será una relación matemática R.
ÁLGEBRA RELACIONAL Conceptos Básicos Operaciones Unarias Operaciones entre Conjuntos
Elaborado por: GABP Álgebra relacional El álgebra relacional es un lenguaje teórico con operaciones que se aplican a una o más relaciones, con el fin de definir otra relación sin modificar las relaciones originales. Las cinco operaciones fundamentales en el álgebra relacional son: selección, proyección, producto cartesiano, unión y diferencia entre conjuntos.
Elaborado por: GABP Operaciones Unarias • Selección (σpredicadoR): Esta operación se aplica a una única relación R (tabla) y define otra relación que contiene únicamente aquellas tuplas de R que satisfacen la condición (predicado) especificada. Ejemplo: σsalary>=24000 (Staff)
Elaborado por: GABP Operaciones Unarias • Proyección(∏a1,…,anR): Define otra relación que contiene un subconjunto vertical de la relación R, extrayendo los valores de los atributos especificados y eliminando los duplicados. • Ejemplo: ∏staffNo, fName, lName, salary(Staff)
Elaborado por: GABP Operaciones entre Conjuntos Unión (R S).- La unión de dos relaciones R y S define una relación que contiene todas las tuplas de R y S, eliminándose las tuplas duplicadas. R y S deben ser compatibles con respecto a la unión. Ejemplo: Mostrar todas las ciudades en las que existe una sucursal o un inmueble en alquiler. ∏city(Branch) ∏city(PropertyForRent)
Elaborado por: GABP Operaciones entre Conjuntos Diferencia (R – S).- La diferencia entre conjuntos define una relación compuesta por las tuplas que se encuentren en la relación R pero no en S. R y S deben ser compatibles. Ejemplo: Mostrar todas las ciudades en las que existe una sucursal, pero no haya inmuebles en alquiler. ∏ city(Branch) –∏city(PropertyForRent)
Elaborado por: GABP Operaciones entre Conjuntos Intersección(R ∩ S).- La operación de intersección define una relación compuesta por el conjunto de todas las tuplas que existen tanto en R como en S. R y S deben ser compatibles. Ejemplo: Mostrar todas las ciudades en las que exista tanto una sucursal como al menos un inmueble en alquiler. ∏ city(Branch) ∩∏city(PropertyForRent)
Elaborado por: GABP Operaciones entre Conjuntos Producto Cartesiano (RxS).- La operación de producto cartesiano define una relación que es la concatenación de cada tupla de la relación R con cada tupla de la relación S. Ejemplo: Enumerar los nombres y comentarios de todos los clientes que hayan visto un inmueble en alquiler. ∏clientNo,fName,lName(Client) x∏clientNo,propertyNo,comment(Viewing)
Elaborado por: GABP Operaciones entre Conjuntos Combinación Natural (R S).- En la operación anterior hay información incorrecta por lo que se debe realizar una operación de selección en las que Client.clientNo=Viewing.clientNo La combinación natural se realiza entre las 2 relaciones R y S sobre todos los atributos comunes. Del resultado se elimina una de las 2 apariciones de cada atributo común. (∏ clientNo,fName,lName(Client) ∏clientNo,propertyNo,comment(Viewing))