BASES DE DATOS I
description
Transcript of BASES DE DATOS I
![Page 1: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/1.jpg)
CAPÍTULO 2EL MODELO RELACIONAL
Guillermo BaquerizoII Término 2012
BASES DE DATOS I
![Page 2: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/2.jpg)
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
![Page 3: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/3.jpg)
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
![Page 4: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/4.jpg)
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
![Page 5: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/5.jpg)
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
![Page 6: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/6.jpg)
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
![Page 7: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/7.jpg)
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
![Page 8: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/8.jpg)
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
![Page 9: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/9.jpg)
ÁLGEBRA RELACIONALConceptos Básicos
Operaciones UnariasOperaciones entre Conjuntos
![Page 10: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/10.jpg)
Á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
![Page 11: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/11.jpg)
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
![Page 12: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/12.jpg)
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
![Page 13: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/13.jpg)
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
![Page 14: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/14.jpg)
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
![Page 15: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/15.jpg)
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
![Page 16: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/16.jpg)
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
![Page 17: BASES DE DATOS I](https://reader035.fdocuments.es/reader035/viewer/2022081809/568163ba550346895dd4d0c2/html5/thumbnails/17.jpg)
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