bases de datos i
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
CAPÍTULO 2EL MODELO RELACIONAL
Guillermo BaquerizoII Término 2012
BASES DE DATOS I
Conceptos BásicosEl 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ásicosTupla.- 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.
Términos Formales
Opción 1 Opción 2
Relación Tabla EntidadTupla Fila Registro
Atributo Columna Campo
Elaborado por: GABP
Jerarquía de datosEmpieza con los bits para agruparse y formar
conjuntos de bytes.Los bytes se pueden agrupar para formar un
campo (atributo).Los campos relacionados se pueden agrupar
para formar un registro (tupla).Los registros relacionados pueden formar un
archivo o tabla (relación).Los archivos relacionados se pueden
organizar en una base de datos.
Elaborado por: GABP
EjemplobranchNo Street City PostCode
B005 22 Deer Rd London SW1 4EHB007 16 Argyll St Aberdeen AB2 3SUB003 163 Main St Glasgow G11 9QXB004 32 Manse Rd Bristol BS99 1NZB002 56 Clover Dr London NW10 6EU
BRANCHAtributos
Tuplas
Tupla 1: B005, 22 Deer Rd, 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ásicosValor 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ásicosRestricciones 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
Relación MatemáticaSea 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.
Conceptos Básicos
Elaborado por: GABP
ÁLGEBRA RELACIONALConceptos Básicos
Operaciones UnariasOperaciones entre Conjuntos
Álgebra relacionalEl á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 UnariasSelecció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)
SL21 John White Manager M 1-Oct-45 30000 B005SG5 Susan Brand Manager F 3-Jun-40 24000 B003
Elaborado por: GABP
Operaciones Unarias
staffNo fName lName salarySL21 John White 3000SG37 Ann Beech 12000SG14 David Ford 10000SG5 Susan Brand 5000
• 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 ConjuntosUnió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) City
LondonAberdeenGlasgowBristol
Elaborado por: GABP
Operaciones entre ConjuntosDiferencia (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)
CityBristol
Elaborado por: GABP
Operaciones entre ConjuntosIntersecció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)
CityLondonAberdeenGlasgow
Elaborado por: GABP
Operaciones entre ConjuntosProducto 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 ConjuntosCombinació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.clientNoLa 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))
Elaborado por: GABP