SlideShare una empresa de Scribd logo
1 de 49
Las bases de datos relacionales son el tipo de bases de datos
actualmente más difundido. Los motivos de este éxito son
fundamentalmente dos:
1. ofrecen sistemas simples y eficaces para representar y manipular los
datos
2. se basan en un modelo, el relacional, con sólidas bases teóricas
El modelo relacional fue propuesto originariamente por E.F. Codd en un
ya famoso artículo de 1970. Gracias a su coherencia y facilidad de uso, el
modelo se ha convertido en los años 80 en el más usado para la
producción de DBMS.
La estructura fundamental del modelo relacional es precisamente
esa, "relación", es decir una tabla bidimensional constituida por líneas
(tupla) y columnas (atributos). Las relaciones representan las entidades
que se consideran interesantes en la base de datos. Cada instancia de la
entidad encontrará sitio en una tupla de la relación, mientras que los
atributos de la relación representarán las propiedades de la entidad.
Producto
cveProducto nombre descripcion unidadDe Medida costo precio existencias
P001 AZUCAR REFINADA KG. 15.00 19.00 100
P002 LECHE EN
POLVO
BOTE DE 1
KG.
PZA. 50.00 65.00 20
P003 VASOS DE
UNICEL
PAQUETE DE
25 PZAS.
PZA. 9.00 12.00 100
Independencia física: el modo en el que se almacenan los
datos no influye en su manipulación lógica y, por tanto, los
usuarios que acceden a esos datos no tienen que modificar
sus programas por cambios en el almacenamiento físico.
Independencia lógica: el añadir, eliminar o modificar objetos
de la base de datos no repercute en los programas y/o
usuarios que están accediendo a subconjuntos parciales de
los mismos (vistas).
Flexibilidad: en el sentido de poder presentar a cada usuario
los datos de la forma en que éste prefiera.
Uniformidad: las estructuras lógicas de los datos presentan
un aspecto uniforme, lo que facilita la concepción y
manipulación de la base de datos por parte de los usuarios.
Sencillez: las características anteriores, así como unos
lenguajes de usuario muy sencillos, producen como resultado
que el modelo de datos relacional sea fácil de comprender y
de utilizar por parte del usuario final.
Relación Tabla
Tupla Fila / Registro (sólo a nivel físico)
Atributo Columna/Campo (sólo a nivel físico)
Cardinalidad Número de filas / tuplas / registro (sólo a nivel físico)
Grado Número de atributos/columnas
Dominio Colección de valores, de los cuales uno o mas atributos
obtienen sus valores reales. Conjunto de valores válidos
Clave primaria Identificador único para la tabla, es decir, una columna o
combinación de columnas con la propiedad de que nunca
existen 2 filas de la tabla con el mismo valor en esa columna
o combinación de Columnas
Intensión o Esquema de la Relación:
R(Atributo 1:D1, Atributo 2:D2, ....Atributo m:Dm)
Cuerpo
•No hay dos tuplas iguales
•El orden de las tuplas no es significativo
•El orden de las columnas o atributos no es significativo
•Cada atributo sólo puede tomar un único valor del dominio
( no hay grupos repetitivos )
Los lenguajes relacionales son lenguajes formales
(teórico-matemáticos) y se basan en el carácter
conjuntista de una relación.
El álgebra relacional es un lenguaje procedimental para
la manipulación de relaciones
En ésta se especifica paso por paso la respuesta a una
consulta de los datos contenidos en una relación.
El Algebra Relacional fue desarrollada en 1970 y el
cálculo relacional en 1971 por Codd.
• El AR tiene 8 operadores iniciales clasificados en 2
grupos:
– Tradicionales de la teoría de conjuntos:
Unión, Intersección, Diferencia y Producto Cartesiano.
– Especiales: Restricción (o
Selección), Proyección, Reunión (join) y División
• Operadores adicionales:
Renombrado, Agrupamiento
10
• Las de origen matemático
son:
• Unión
• Intersección
• Diferencia de conjuntos
• Producto Cartesiano
• La del lenguaje de
programación es:
• Asignación
• Las de lenguaje relacional
son:
• Proyección
• Selección
• División o cociente
• Join
11
11
12
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
Código Nombre Edad
2 Enrique Muñoz 25
8 Jorge Arias 30
10 Juan Martínez 19
ADMINISTRADOR
PROGRAMADOR
Sean las relaciones:
12
– El argumento es una relación y una condición
– Produce una relación R1 que contiene todas
las tuplas de R que cumplen una condición
específica
– La condición se construye mediante
operadores de comparación (=,<,> etc.) y
booleanos (AND, OR etc.)
– El resultado es una nueva relación cuyo
esquema es idéntico al esquema de R
13
scondición(R)
13
sEdad >= 25 (Administrador):
sCódigo < 5 (Programador):
Código Nombre Edad
2 Enrique Muñoz 25
8 Jorge Arias 30
10 Juan Martínez 19
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
14
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
Código Nombre Edad
2 Enrique Muñoz 25
14
SELECCIÓN s c (R)
Tresul:= s (c>1 AND B>2) (R)
Tresul  0, 3, 2
15
– Toma como argumento una relación R y
una lista de atributos
– Se utiliza para extraer atributos
(columnas) de una relación R
– El resultado es una nueva relación R1
cuyo esquema corresponde a la lista de
atributos proyectados
– En R1 se eliminan las tuplas duplicadas
– Se puede extraer más de una columna a
la vez
16
p Lista Atributos (R)
16
pCódigo,Edad(Administrador)
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
17
Código Edad
1 33
2 25
3 21
Código Nombre
2 Enrique Muñoz
8 Jorge Arias
10 Juan Martínez
pCódigo,Nombre(Programador)
Código Nombre Edad
2 Enrique Muñoz 25
8 Jorge Arias 30
10 Juan Martínez 19
17
Código Edad
1 30
2 25
3 30
Edad
30
25
18
Suponga una relación W así:
pEdad(W)
W
¡¡ se eliminan tuplas repetidas !!
El resultado será:
18
PROYECCIÓN p a1,a2,... (R)
Tresul:= p B,D (Q)
Tresul<2,1>,<1,1>,<0,3>,<3,0>
19
– Toma como argumentos dos relaciones R1 y R2
– Da como resultado una relación R3 cuyo esquema consta tanto de los
atributos de R1 como de los atributos de R2
– Los esquemas de R1 y R2 deben ser disjuntos, es decir los esquemas de
R1 y R2 no pueden tener nombres de atributos en común ¿por qué?
– Se debe usar un alias (mediante el operador r [rho]) si los esquemas
no son disjuntos
– R3 contiene todas las tuplas resultantes de la concatenación de cada
tupla de R1 con cada una de las tuplas de R2
20
Renombrado de atributos
20
Ejemplo
21
Código Nombre Edad Cod Nom Edad1
1 Jorge Campos 33 2 Enrique Muñoz 25
1 Jorge Campos 33 8 Jorge Arias 30
1 Jorge Campos 33 10 Juan Martínez 19
2 Enrique Muñoz 25 2 Enrique Muñoz 25
2 Enrique Muñoz 25 8 Jorge Arias 30
2 Enrique Muñoz 25 10 Juan Martínez 19
3 Esteban Paz 21 2 Enrique Muñoz 25
3 Esteban Paz 21 8 Jorge Arias 30
3 Esteban Paz 21 10 Juan Martínez 19
Administrador X [rCódigoCod,NombreNom,EdadEdad1(Programador)]
El renombrado r de la relación R(A,B,C,D) en R(A,K,L,D) se denota
r BK,CL (R)
¡¡ El renombrado es únicamente sintáctico !!
21
PRODUCTO CARTESIANO
• Ejemplo:
– Tresul:=R x S
– G(R)=3 G(S)=2 G(R x S)=G(R)+G(S)=5
– C(R)=5 C(S)=3 C(R x S)=C(R)XC(S)=15
– Tresul A R.B C S.B D
1 0 1 0 3
1 0 1 3 0
1 0 1 2 1
1 0 0 0 3
1 0 0 3 0
1 0 0 2 1
0 3 2 0 3
0 3 2 3 0
0 3 2 2 1
1 2 3 0 3
1 2 3 3 0
1 2 3 2 1
0 2 0 0 3
0 2 0 3 0
0 2 0 2 1
... ... ... ... ...
22

• Toma como argumentos dos
relaciones R1 y R2 con esquemas
idénticos
• Retorna una relación R3 con el
mismo esquema de R1 y R2 que
contiene todas la tuplas de R1 y
todas las de R2, eliminando tuplas
repetidas
23
R1
R2
23
Ejemplo:
• Administrador  Programador:
24
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
8 Jorge Arias 30
10 Juan Martínez 19
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
Código Nombre Edad
2 Enrique Muñoz 25
8 Jorge Arias 30
10 Juan Martínez 19
Administrador Programador
24
• Las dos tablas deben tener el mismo grado y los dominios de sus
atributos deben ser compatibles.
• El resultado de aplicar una operación de unión obtiene una tabla
formada con las columnas de una de ellas y las filas de ambas
tablas, excluyendo las que sean duplicadas, que sólo aparecen una
vez. La unión de las relaciones R y S es el conjunto de tuplas que
están en R o en S o en ambos.

25

• Toma como argumentos
dos relaciones R1 y R2 con
esquemas idénticos
• Retorna una relación R3
con el mismo esquema de
R1 y R2 que contiene todas
las tuplas que aparecen
tanto en R1 como en R2
26
R1
R2
26
• Administrador  Programador
Código Nombre Edad
2 Enrique Muñoz 25
Código Nombre Edad
2 Enrique Muñoz 25
8 Jorge Arias 30
10 Juan Martínez 19
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
Código Nombre Edad
2 Enrique Muñoz 25
8 Jorge Arias 30
10 Juan Martínez 19
Administrador Programador

Sintaxis: nombre_tabla1  nombre_tabla2
• Es una operación derivada de la operación básica
diferencia. Por lo que las dos tablas deben tener el mismo
grado y los dominios de sus atributos deben ser
compatibles.
• El resultado se obtiene con la siguiente secuencia de
operaciones: T1  T2=T1-(T1-T2), la nueva tabla tiene las
columnas de una de ellas y las filas comunes a ambas
tablas. La intersección de las relaciones R y S es el
conjunto de tuplas que están en R y en S
28

29
Ejemplo:
Tresul:=R  T
G(T)=G(R)=G(R  T)=3
Tresul<1,0,1>,<1,2,3>
• Toma como argumento dos
relaciones R1 y R2 con esquemas
idénticos
• Retorna una relación R3 con el
mismo esquema de R1 y R2 que
contiene todas las tuplas que
aparecen en R1 pero no en R2
30
R1
R2
30
Ejemplo:
• Administrador - Programador:
• Programador - Administrador:
31
Código Nombre Edad
1 Jorge Campos 33
3 Esteban Paz 21
Código Nombre Edad
8 Jorge Arias 30
10 Juan Martínez 19
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
Código Nombre Edad
2 Enrique Muñoz 25
8 Jorge Arias 30
10 Juan Martínez 19
Administrador Programador
31
 Sintaxis: nombre_tabla1 - nombre_tabla2
 Las dos tablas deben tener el mismo grado y los dominios de sus
atributos deben ser compatibles.
 El resultado de aplicar una operación de diferencia obtiene una tabla
formada con las columnas de una de ellas y las filas de nombre_tabla1
que no están en nombre_tabla2.
 La diferencia de las relaciones R y S es el conjunto de tuplas que están en R, pero
que no están en S.
 Ejemplo:
 Tresul:=R - T
 G(R)=G(T)=G(Tresul)=3
 C(Tresul)=3
 Tresul<1,0,0>,<0,3,2>,<0,2,0>
32
• La unión, intersección y producto cartesiano son
conmutativas y asociativas
• La diferencia no es conmutativa ni asociativa
• La intersección no es primitiva ya que puede ser
expresada mediante la diferencia
33
Observe que se verifica:
33
• NATURAL JOIN: R1 ⋈R2
Si R1(A,B) y R2(B,C) el resultado de R1 ⋈R2
es una relación R3 con esquema R3(A,B,C) donde cada tupla de R1 se
concatena con cada tupla de R2 SIEMPRE Y CUANDO tengan el mismo
valor del atributo en común (B).
El atributo B puede ser compuesto.
34
34
35
Código Nombre Edad Depto
1 Jorge Campos 33 1
2 Enrique Muñoz 25 1
3 Esteban Paz 21 1
8 Jorge Arias 30 2
10 Juan Martínez 19 2
12 Anselmo Rodas 28 6
Depto Descripción
1 Administración
2 Producción
3 Ventas
4 Finanzas
Empleado
Departamento
Atributo de
Join
Nota: En este ejemplo, el campo
Depto en Empleado NO ES FK
con respecto a la tabla Departamento
35
Empleado ⋈Departamento
36
Código Nombre Edad Depto Descripción
1 Jorge Campos 33 1 Administración
2 Enrique Muñoz 25 1 Administración
3 Esteban Paz 21 1 Administración
8 Jorge Arias 30 2 Producción
10 Juan Martínez 19 2 Producción
36
 Sintaxis: nombre_tabla1 ⋈ (condición) nombre_tabla2
 Es una de las operaciones más importantes del álgebra relacional. Recibe diferentes
nombres específicos dependiendo del resultado a obtener.
 El resultado es una nueva tabla cuyas filas serán las resultantes de realizar el
producto cartesiano entre las tablas especificadas, seleccionando las tuplas que
cumplan la condición especificada.
 Las columnas de la tabla resultante, serán las columnas de las tablas participantes.
 Las tuplas de cada tabla se confrontan según las columnas especificadas en la
condición mediante operadores relacionales: >,<,,,= y <>, que generalmente
corresponderán a claves ajenas.
 El grado resultante dependerá de si van a existir columnas iguales o no, y la
cardinalidad de la condición impuesta por el join.
37
Join o Reunión ⋈
Tresul := S ⋈ (S.B=R.B) R
38
Tresul
• Las columnas que se utilicen en la condición deben de tener dominios compatibles
y se denominan atributos o columnas de join.
• Cuando la condición de join entre las dos tablas es de igualdad la operación se
denomina equijoin.
• Si de la tabla resultante de un equijoin se elimina una de las columnas comparadas
la operación se denomina join natural o producto natural
• El NATURAL JOIN de R y S, que se denota por R |X| S, da como resultado las tuplas
que se forman al añadirle a R los componentes que emparejan en R y en S. El
emparejamiento se realiza con aquellos componentes que tienen valor igual.
• No duplica el componente.
39
Def 1: Sean las relaciones R1(A,B) y R2(B). El resultado de R1
¸ R2 es una relación R3 cuyo esquema esta compuesto por el
atributo A, donde para todo valor de B en R2 existe una
pareja en R1 de A con ese valor.
Def 2:
R  S = {t | t  K (R) y {t} x s  r} con
K= esquema de R – esquema de S
40
Tuplas de S
Tuplas de R
40
Empleado
Código Nombre Edad
2 Enrique Muñoz 25
41
Código Nombre Edad Depto
1 Jorge Campos 33 1
2 Enrique Muñoz 25 1
2 Enrique Muñoz 25 2
3 Esteban Paz 21 1
8 Jorge Arias 30 2
10 Juan Martínez 19 2
Depto
1
2
Departamento
Empleado  (pDepto(Departamento))
En este ejemplo la relación empleado no está normalizada,
observe que la CP es (Código, Depto) y Código  Nombre, Edad
Depto Descripción
1 Administración
2 Producción
41
 Sintaxis: nombre_tabla1 / nombre_tabla2
 También llamada división, se realiza entre dos tablas que cumplen las
siguientes condiciones:
Los atributos de T2 deben estar incluidos en T1
Se debe cumplir que G(T1)=m>n y G(T2)=n siendo m>0
La cardinalidad de T2 debe ser distinta de cero.
 El resultado es una nueva tabla con grado m (los atributos de T1 que
no están en T2) y las tuplas de T1 de grado ( m - n ) que están en R y
parean con tuplas en S.
 La división escoge registros de la tabla T1 basándose en el rango de
valores especificados en T2.
42
5/7/2014 43
Crea una nueva relación, seleccionando las filas en una
relación que se corresponden con todas las
filas en otra relación.
43
Extend R ADD expresión AS nuevo_atributo
Código Nombre Sal Bono
1 Jorge Campos 33 1
2 Enrique Muñoz 25 1
3 Esteban Paz 21 1
8 Jorge Arias 30 2
10 Juan Martínez 19 2
12 Anselmo Rodas 28 6
44
Emp
Ej: Extend Emp ADD Sal*2 AS Saldobl
44
 Se genera una relación como la original pero con un
atributo saldobl adicional:
Código Nombre Sal Bono Saldobl
1 Jorge Campos 33 1 66
2 Enrique Muñoz 25 1 50
3 Esteban Paz 21 1 42
8 Jorge Arias 30 2 60
10 Juan Martínez 19 2 38
12 Anselmo Rodas 28 6 56
45
45
• Con esta operación se le da un nombre a una
relación que es resultado de otras operaciones.
• Se denota con el símbolo := también se puede
escribir 
• Por ejemplo Q := R X S
46
47
Selección o restricción σ condición (RELACION)
Proyección π campo1,campo2,……,campoN (RELACION)
Producto cartesiano R1 X R2
Renombrado r Nombre_original -> nuevo_nombre
Unión R1  R2
Intersección R1  R2
Diferencia R1 – R2
Reunión nombre_tabla1 ⋈ (condición) nombre_tabla2
División R1 ÷ R2
Extender R1 ADD expresion AS identificador
Asignación Q := R1 X R2
48
ESTRUCTURA
Campos a mostrar , condiciones, origen
TRADUCCION AL ALGREBRA RELACIONAL
π campo1,campo2,…,campoN ( σ condiciones ( Relaciones))
Con base en las siguientes relaciones:
ALUMNOS (noControl, nombre ,aPaterno, aMaterno)
MATERIAS (cveMateria, nombre, semestre, noUnidades)
CALIFICACIONES (noControl, cveMateria, calificacion, periodo)
ALUMNOS
noControl nombre aPaterno aMaterno
01 LUIS LOPEZ PEREZ
02 ALBERTO HERNANDEZ JIMENEZ
03 ALEJANDRA LOPEZ VAZQUEZ
04 SANDRA PATIÑO FLORES
05 JUAN REYNOSO MENDEZ
MATERIAS
cveMateria nombre semestre noUnidades
01
FUNDAMENTOS DE BASES
DE DATOS
4 7
02 TALER DE BASES DE DATOS 5 7
03
BASES DE DATOS
DISTRIBUIDAS
8 4
04 PROGRAMACION DE WEB 7 5
05
FUNDAMENTOS DE
PROGAMACION
1 7
CALIFICACIONES
noControl cveMateria calificacion periodo
01 01 90 09-01
02 01 80 09-01
03 01 100 09-01
01 02 70 10-01
02 02 85 10-01
03 02 90 10-01
04 04 100 09-01
05 04 70 09-01
04 03 100 10-01
05 03 90 10-01

Más contenido relacionado

La actualidad más candente

Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónYaskelly Yedra
 
Tema 5 ejercicio 05 - normalizacion
Tema 5   ejercicio 05 - normalizacionTema 5   ejercicio 05 - normalizacion
Tema 5 ejercicio 05 - normalizaciontmssnchzprds
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normalITCV
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosMayra Romero
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datosralbarracin
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridadkamui002
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Yarquiri Claudio
 
Modelo Ciclo de Vida Clasico o en Cascada
Modelo Ciclo de Vida Clasico o en CascadaModelo Ciclo de Vida Clasico o en Cascada
Modelo Ciclo de Vida Clasico o en CascadaMildred Iribe
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 

La actualidad más candente (20)

Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
 
Tema 5 ejercicio 05 - normalizacion
Tema 5   ejercicio 05 - normalizacionTema 5   ejercicio 05 - normalizacion
Tema 5 ejercicio 05 - normalizacion
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datos
 
Reglas de transformación
Reglas de transformaciónReglas de transformación
Reglas de transformación
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
Desnormalización de Base de Datos
Desnormalización de Base de DatosDesnormalización de Base de Datos
Desnormalización de Base de Datos
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos
 
Modelo Ciclo de Vida Clasico o en Cascada
Modelo Ciclo de Vida Clasico o en CascadaModelo Ciclo de Vida Clasico o en Cascada
Modelo Ciclo de Vida Clasico o en Cascada
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 

Destacado

1 - Modelo Entidad Relacion
1 - Modelo Entidad Relacion1 - Modelo Entidad Relacion
1 - Modelo Entidad RelacionJuGGaLoFX
 
Apunte capítulo I
Apunte   capítulo IApunte   capítulo I
Apunte capítulo Ivjuarez17
 
Diagramas entidad relacion
Diagramas entidad relacionDiagramas entidad relacion
Diagramas entidad relacionJosé Luis Cerna
 
Diseño y programación de bases de datos con sql server 2008 (ejemplo)
Diseño y programación de bases de datos con sql server 2008 (ejemplo)Diseño y programación de bases de datos con sql server 2008 (ejemplo)
Diseño y programación de bases de datos con sql server 2008 (ejemplo)La Positiva Seguros
 
Las 10 grandes bases de datos
Las 10 grandes bases de datosLas 10 grandes bases de datos
Las 10 grandes bases de datosenriquesyso
 

Destacado (20)

Ecommerce cetis
Ecommerce cetisEcommerce cetis
Ecommerce cetis
 
Fundamentos de bases de datos unidad 2
Fundamentos de bases de datos unidad 2Fundamentos de bases de datos unidad 2
Fundamentos de bases de datos unidad 2
 
Manejo de bases de datos. Unidad 2
Manejo de bases de datos. Unidad 2Manejo de bases de datos. Unidad 2
Manejo de bases de datos. Unidad 2
 
Instalacion Sql
Instalacion SqlInstalacion Sql
Instalacion Sql
 
VISUAL Y SQL SERVER
VISUAL Y SQL SERVERVISUAL Y SQL SERVER
VISUAL Y SQL SERVER
 
Unidad 1. Sistema Manejador de Bases de Datos
Unidad 1. Sistema Manejador de Bases de DatosUnidad 1. Sistema Manejador de Bases de Datos
Unidad 1. Sistema Manejador de Bases de Datos
 
Visual y sql
Visual y sqlVisual y sql
Visual y sql
 
Access 2007 Y Visual 2008
Access 2007 Y Visual 2008Access 2007 Y Visual 2008
Access 2007 Y Visual 2008
 
Manejo de bases de datos. Unidad 1
Manejo de bases de datos. Unidad 1Manejo de bases de datos. Unidad 1
Manejo de bases de datos. Unidad 1
 
Fundamentos de Bases de datos
Fundamentos de Bases de datosFundamentos de Bases de datos
Fundamentos de Bases de datos
 
1 - Modelo Entidad Relacion
1 - Modelo Entidad Relacion1 - Modelo Entidad Relacion
1 - Modelo Entidad Relacion
 
BD
BDBD
BD
 
Apunte capítulo I
Apunte   capítulo IApunte   capítulo I
Apunte capítulo I
 
Fundamentos de bases de datos
Fundamentos de bases de datosFundamentos de bases de datos
Fundamentos de bases de datos
 
Diagramas entidad relacion
Diagramas entidad relacionDiagramas entidad relacion
Diagramas entidad relacion
 
Fisica y mediciones2015
Fisica y mediciones2015Fisica y mediciones2015
Fisica y mediciones2015
 
Diseño y programación de bases de datos con sql server 2008 (ejemplo)
Diseño y programación de bases de datos con sql server 2008 (ejemplo)Diseño y programación de bases de datos con sql server 2008 (ejemplo)
Diseño y programación de bases de datos con sql server 2008 (ejemplo)
 
Sistemas de medición
Sistemas de mediciónSistemas de medición
Sistemas de medición
 
Las 10 grandes bases de datos
Las 10 grandes bases de datosLas 10 grandes bases de datos
Las 10 grandes bases de datos
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 

Similar a Unidad 3 Fundamentos de bases de datos

Similar a Unidad 3 Fundamentos de bases de datos (20)

Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
PresentacióN Tema 8
PresentacióN Tema 8PresentacióN Tema 8
PresentacióN Tema 8
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
Pres10BDI.ppt
Pres10BDI.pptPres10BDI.ppt
Pres10BDI.ppt
 
Algebra relacional i-bdi
Algebra relacional i-bdiAlgebra relacional i-bdi
Algebra relacional i-bdi
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Base de datos relacionales
Base de datos relacionalesBase de datos relacionales
Base de datos relacionales
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacional
 
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
 
presentacion
presentacionpresentacion
presentacion
 
Diseño de Base de DatosFin.pptx
Diseño de Base de DatosFin.pptxDiseño de Base de DatosFin.pptx
Diseño de Base de DatosFin.pptx
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Sistema de gestion de base de datos ESPAM.pptx
Sistema de gestion de base de datos ESPAM.pptxSistema de gestion de base de datos ESPAM.pptx
Sistema de gestion de base de datos ESPAM.pptx
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo relacional
 
BASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdfBASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdf
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Clase 1 Modelo de Datos Relacional
Clase 1 Modelo de Datos RelacionalClase 1 Modelo de Datos Relacional
Clase 1 Modelo de Datos Relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (20)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Unidad 3 Fundamentos de bases de datos

  • 1.
  • 2. Las bases de datos relacionales son el tipo de bases de datos actualmente más difundido. Los motivos de este éxito son fundamentalmente dos: 1. ofrecen sistemas simples y eficaces para representar y manipular los datos 2. se basan en un modelo, el relacional, con sólidas bases teóricas El modelo relacional fue propuesto originariamente por E.F. Codd en un ya famoso artículo de 1970. Gracias a su coherencia y facilidad de uso, el modelo se ha convertido en los años 80 en el más usado para la producción de DBMS.
  • 3. La estructura fundamental del modelo relacional es precisamente esa, "relación", es decir una tabla bidimensional constituida por líneas (tupla) y columnas (atributos). Las relaciones representan las entidades que se consideran interesantes en la base de datos. Cada instancia de la entidad encontrará sitio en una tupla de la relación, mientras que los atributos de la relación representarán las propiedades de la entidad. Producto cveProducto nombre descripcion unidadDe Medida costo precio existencias P001 AZUCAR REFINADA KG. 15.00 19.00 100 P002 LECHE EN POLVO BOTE DE 1 KG. PZA. 50.00 65.00 20 P003 VASOS DE UNICEL PAQUETE DE 25 PZAS. PZA. 9.00 12.00 100
  • 4. Independencia física: el modo en el que se almacenan los datos no influye en su manipulación lógica y, por tanto, los usuarios que acceden a esos datos no tienen que modificar sus programas por cambios en el almacenamiento físico. Independencia lógica: el añadir, eliminar o modificar objetos de la base de datos no repercute en los programas y/o usuarios que están accediendo a subconjuntos parciales de los mismos (vistas).
  • 5. Flexibilidad: en el sentido de poder presentar a cada usuario los datos de la forma en que éste prefiera. Uniformidad: las estructuras lógicas de los datos presentan un aspecto uniforme, lo que facilita la concepción y manipulación de la base de datos por parte de los usuarios. Sencillez: las características anteriores, así como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo de datos relacional sea fácil de comprender y de utilizar por parte del usuario final.
  • 6. Relación Tabla Tupla Fila / Registro (sólo a nivel físico) Atributo Columna/Campo (sólo a nivel físico) Cardinalidad Número de filas / tuplas / registro (sólo a nivel físico) Grado Número de atributos/columnas Dominio Colección de valores, de los cuales uno o mas atributos obtienen sus valores reales. Conjunto de valores válidos Clave primaria Identificador único para la tabla, es decir, una columna o combinación de columnas con la propiedad de que nunca existen 2 filas de la tabla con el mismo valor en esa columna o combinación de Columnas
  • 7.
  • 8. Intensión o Esquema de la Relación: R(Atributo 1:D1, Atributo 2:D2, ....Atributo m:Dm) Cuerpo •No hay dos tuplas iguales •El orden de las tuplas no es significativo •El orden de las columnas o atributos no es significativo •Cada atributo sólo puede tomar un único valor del dominio ( no hay grupos repetitivos )
  • 9. Los lenguajes relacionales son lenguajes formales (teórico-matemáticos) y se basan en el carácter conjuntista de una relación. El álgebra relacional es un lenguaje procedimental para la manipulación de relaciones En ésta se especifica paso por paso la respuesta a una consulta de los datos contenidos en una relación. El Algebra Relacional fue desarrollada en 1970 y el cálculo relacional en 1971 por Codd.
  • 10. • El AR tiene 8 operadores iniciales clasificados en 2 grupos: – Tradicionales de la teoría de conjuntos: Unión, Intersección, Diferencia y Producto Cartesiano. – Especiales: Restricción (o Selección), Proyección, Reunión (join) y División • Operadores adicionales: Renombrado, Agrupamiento 10
  • 11. • Las de origen matemático son: • Unión • Intersección • Diferencia de conjuntos • Producto Cartesiano • La del lenguaje de programación es: • Asignación • Las de lenguaje relacional son: • Proyección • Selección • División o cociente • Join 11 11
  • 12. 12 Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 Código Nombre Edad 2 Enrique Muñoz 25 8 Jorge Arias 30 10 Juan Martínez 19 ADMINISTRADOR PROGRAMADOR Sean las relaciones: 12
  • 13. – El argumento es una relación y una condición – Produce una relación R1 que contiene todas las tuplas de R que cumplen una condición específica – La condición se construye mediante operadores de comparación (=,<,> etc.) y booleanos (AND, OR etc.) – El resultado es una nueva relación cuyo esquema es idéntico al esquema de R 13 scondición(R) 13
  • 14. sEdad >= 25 (Administrador): sCódigo < 5 (Programador): Código Nombre Edad 2 Enrique Muñoz 25 8 Jorge Arias 30 10 Juan Martínez 19 Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 14 Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 Código Nombre Edad 2 Enrique Muñoz 25 14
  • 15. SELECCIÓN s c (R) Tresul:= s (c>1 AND B>2) (R) Tresul  0, 3, 2 15
  • 16. – Toma como argumento una relación R y una lista de atributos – Se utiliza para extraer atributos (columnas) de una relación R – El resultado es una nueva relación R1 cuyo esquema corresponde a la lista de atributos proyectados – En R1 se eliminan las tuplas duplicadas – Se puede extraer más de una columna a la vez 16 p Lista Atributos (R) 16
  • 17. pCódigo,Edad(Administrador) Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 17 Código Edad 1 33 2 25 3 21 Código Nombre 2 Enrique Muñoz 8 Jorge Arias 10 Juan Martínez pCódigo,Nombre(Programador) Código Nombre Edad 2 Enrique Muñoz 25 8 Jorge Arias 30 10 Juan Martínez 19 17
  • 18. Código Edad 1 30 2 25 3 30 Edad 30 25 18 Suponga una relación W así: pEdad(W) W ¡¡ se eliminan tuplas repetidas !! El resultado será: 18
  • 19. PROYECCIÓN p a1,a2,... (R) Tresul:= p B,D (Q) Tresul<2,1>,<1,1>,<0,3>,<3,0> 19
  • 20. – Toma como argumentos dos relaciones R1 y R2 – Da como resultado una relación R3 cuyo esquema consta tanto de los atributos de R1 como de los atributos de R2 – Los esquemas de R1 y R2 deben ser disjuntos, es decir los esquemas de R1 y R2 no pueden tener nombres de atributos en común ¿por qué? – Se debe usar un alias (mediante el operador r [rho]) si los esquemas no son disjuntos – R3 contiene todas las tuplas resultantes de la concatenación de cada tupla de R1 con cada una de las tuplas de R2 20 Renombrado de atributos 20
  • 21. Ejemplo 21 Código Nombre Edad Cod Nom Edad1 1 Jorge Campos 33 2 Enrique Muñoz 25 1 Jorge Campos 33 8 Jorge Arias 30 1 Jorge Campos 33 10 Juan Martínez 19 2 Enrique Muñoz 25 2 Enrique Muñoz 25 2 Enrique Muñoz 25 8 Jorge Arias 30 2 Enrique Muñoz 25 10 Juan Martínez 19 3 Esteban Paz 21 2 Enrique Muñoz 25 3 Esteban Paz 21 8 Jorge Arias 30 3 Esteban Paz 21 10 Juan Martínez 19 Administrador X [rCódigoCod,NombreNom,EdadEdad1(Programador)] El renombrado r de la relación R(A,B,C,D) en R(A,K,L,D) se denota r BK,CL (R) ¡¡ El renombrado es únicamente sintáctico !! 21
  • 22. PRODUCTO CARTESIANO • Ejemplo: – Tresul:=R x S – G(R)=3 G(S)=2 G(R x S)=G(R)+G(S)=5 – C(R)=5 C(S)=3 C(R x S)=C(R)XC(S)=15 – Tresul A R.B C S.B D 1 0 1 0 3 1 0 1 3 0 1 0 1 2 1 1 0 0 0 3 1 0 0 3 0 1 0 0 2 1 0 3 2 0 3 0 3 2 3 0 0 3 2 2 1 1 2 3 0 3 1 2 3 3 0 1 2 3 2 1 0 2 0 0 3 0 2 0 3 0 0 2 0 2 1 ... ... ... ... ... 22
  • 23.  • Toma como argumentos dos relaciones R1 y R2 con esquemas idénticos • Retorna una relación R3 con el mismo esquema de R1 y R2 que contiene todas la tuplas de R1 y todas las de R2, eliminando tuplas repetidas 23 R1 R2 23
  • 24. Ejemplo: • Administrador  Programador: 24 Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 8 Jorge Arias 30 10 Juan Martínez 19 Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 Código Nombre Edad 2 Enrique Muñoz 25 8 Jorge Arias 30 10 Juan Martínez 19 Administrador Programador 24
  • 25. • Las dos tablas deben tener el mismo grado y los dominios de sus atributos deben ser compatibles. • El resultado de aplicar una operación de unión obtiene una tabla formada con las columnas de una de ellas y las filas de ambas tablas, excluyendo las que sean duplicadas, que sólo aparecen una vez. La unión de las relaciones R y S es el conjunto de tuplas que están en R o en S o en ambos.  25
  • 26.  • Toma como argumentos dos relaciones R1 y R2 con esquemas idénticos • Retorna una relación R3 con el mismo esquema de R1 y R2 que contiene todas las tuplas que aparecen tanto en R1 como en R2 26 R1 R2 26
  • 27. • Administrador  Programador Código Nombre Edad 2 Enrique Muñoz 25 Código Nombre Edad 2 Enrique Muñoz 25 8 Jorge Arias 30 10 Juan Martínez 19 Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 Código Nombre Edad 2 Enrique Muñoz 25 8 Jorge Arias 30 10 Juan Martínez 19 Administrador Programador
  • 28.  Sintaxis: nombre_tabla1  nombre_tabla2 • Es una operación derivada de la operación básica diferencia. Por lo que las dos tablas deben tener el mismo grado y los dominios de sus atributos deben ser compatibles. • El resultado se obtiene con la siguiente secuencia de operaciones: T1  T2=T1-(T1-T2), la nueva tabla tiene las columnas de una de ellas y las filas comunes a ambas tablas. La intersección de las relaciones R y S es el conjunto de tuplas que están en R y en S 28
  • 29.  29 Ejemplo: Tresul:=R  T G(T)=G(R)=G(R  T)=3 Tresul<1,0,1>,<1,2,3>
  • 30. • Toma como argumento dos relaciones R1 y R2 con esquemas idénticos • Retorna una relación R3 con el mismo esquema de R1 y R2 que contiene todas las tuplas que aparecen en R1 pero no en R2 30 R1 R2 30
  • 31. Ejemplo: • Administrador - Programador: • Programador - Administrador: 31 Código Nombre Edad 1 Jorge Campos 33 3 Esteban Paz 21 Código Nombre Edad 8 Jorge Arias 30 10 Juan Martínez 19 Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 Código Nombre Edad 2 Enrique Muñoz 25 8 Jorge Arias 30 10 Juan Martínez 19 Administrador Programador 31
  • 32.  Sintaxis: nombre_tabla1 - nombre_tabla2  Las dos tablas deben tener el mismo grado y los dominios de sus atributos deben ser compatibles.  El resultado de aplicar una operación de diferencia obtiene una tabla formada con las columnas de una de ellas y las filas de nombre_tabla1 que no están en nombre_tabla2.  La diferencia de las relaciones R y S es el conjunto de tuplas que están en R, pero que no están en S.  Ejemplo:  Tresul:=R - T  G(R)=G(T)=G(Tresul)=3  C(Tresul)=3  Tresul<1,0,0>,<0,3,2>,<0,2,0> 32
  • 33. • La unión, intersección y producto cartesiano son conmutativas y asociativas • La diferencia no es conmutativa ni asociativa • La intersección no es primitiva ya que puede ser expresada mediante la diferencia 33 Observe que se verifica: 33
  • 34. • NATURAL JOIN: R1 ⋈R2 Si R1(A,B) y R2(B,C) el resultado de R1 ⋈R2 es una relación R3 con esquema R3(A,B,C) donde cada tupla de R1 se concatena con cada tupla de R2 SIEMPRE Y CUANDO tengan el mismo valor del atributo en común (B). El atributo B puede ser compuesto. 34 34
  • 35. 35 Código Nombre Edad Depto 1 Jorge Campos 33 1 2 Enrique Muñoz 25 1 3 Esteban Paz 21 1 8 Jorge Arias 30 2 10 Juan Martínez 19 2 12 Anselmo Rodas 28 6 Depto Descripción 1 Administración 2 Producción 3 Ventas 4 Finanzas Empleado Departamento Atributo de Join Nota: En este ejemplo, el campo Depto en Empleado NO ES FK con respecto a la tabla Departamento 35
  • 36. Empleado ⋈Departamento 36 Código Nombre Edad Depto Descripción 1 Jorge Campos 33 1 Administración 2 Enrique Muñoz 25 1 Administración 3 Esteban Paz 21 1 Administración 8 Jorge Arias 30 2 Producción 10 Juan Martínez 19 2 Producción 36
  • 37.  Sintaxis: nombre_tabla1 ⋈ (condición) nombre_tabla2  Es una de las operaciones más importantes del álgebra relacional. Recibe diferentes nombres específicos dependiendo del resultado a obtener.  El resultado es una nueva tabla cuyas filas serán las resultantes de realizar el producto cartesiano entre las tablas especificadas, seleccionando las tuplas que cumplan la condición especificada.  Las columnas de la tabla resultante, serán las columnas de las tablas participantes.  Las tuplas de cada tabla se confrontan según las columnas especificadas en la condición mediante operadores relacionales: >,<,,,= y <>, que generalmente corresponderán a claves ajenas.  El grado resultante dependerá de si van a existir columnas iguales o no, y la cardinalidad de la condición impuesta por el join. 37
  • 38. Join o Reunión ⋈ Tresul := S ⋈ (S.B=R.B) R 38 Tresul
  • 39. • Las columnas que se utilicen en la condición deben de tener dominios compatibles y se denominan atributos o columnas de join. • Cuando la condición de join entre las dos tablas es de igualdad la operación se denomina equijoin. • Si de la tabla resultante de un equijoin se elimina una de las columnas comparadas la operación se denomina join natural o producto natural • El NATURAL JOIN de R y S, que se denota por R |X| S, da como resultado las tuplas que se forman al añadirle a R los componentes que emparejan en R y en S. El emparejamiento se realiza con aquellos componentes que tienen valor igual. • No duplica el componente. 39
  • 40. Def 1: Sean las relaciones R1(A,B) y R2(B). El resultado de R1 ¸ R2 es una relación R3 cuyo esquema esta compuesto por el atributo A, donde para todo valor de B en R2 existe una pareja en R1 de A con ese valor. Def 2: R  S = {t | t  K (R) y {t} x s  r} con K= esquema de R – esquema de S 40 Tuplas de S Tuplas de R 40
  • 41. Empleado Código Nombre Edad 2 Enrique Muñoz 25 41 Código Nombre Edad Depto 1 Jorge Campos 33 1 2 Enrique Muñoz 25 1 2 Enrique Muñoz 25 2 3 Esteban Paz 21 1 8 Jorge Arias 30 2 10 Juan Martínez 19 2 Depto 1 2 Departamento Empleado  (pDepto(Departamento)) En este ejemplo la relación empleado no está normalizada, observe que la CP es (Código, Depto) y Código  Nombre, Edad Depto Descripción 1 Administración 2 Producción 41
  • 42.  Sintaxis: nombre_tabla1 / nombre_tabla2  También llamada división, se realiza entre dos tablas que cumplen las siguientes condiciones: Los atributos de T2 deben estar incluidos en T1 Se debe cumplir que G(T1)=m>n y G(T2)=n siendo m>0 La cardinalidad de T2 debe ser distinta de cero.  El resultado es una nueva tabla con grado m (los atributos de T1 que no están en T2) y las tuplas de T1 de grado ( m - n ) que están en R y parean con tuplas en S.  La división escoge registros de la tabla T1 basándose en el rango de valores especificados en T2. 42
  • 43. 5/7/2014 43 Crea una nueva relación, seleccionando las filas en una relación que se corresponden con todas las filas en otra relación. 43
  • 44. Extend R ADD expresión AS nuevo_atributo Código Nombre Sal Bono 1 Jorge Campos 33 1 2 Enrique Muñoz 25 1 3 Esteban Paz 21 1 8 Jorge Arias 30 2 10 Juan Martínez 19 2 12 Anselmo Rodas 28 6 44 Emp Ej: Extend Emp ADD Sal*2 AS Saldobl 44
  • 45.  Se genera una relación como la original pero con un atributo saldobl adicional: Código Nombre Sal Bono Saldobl 1 Jorge Campos 33 1 66 2 Enrique Muñoz 25 1 50 3 Esteban Paz 21 1 42 8 Jorge Arias 30 2 60 10 Juan Martínez 19 2 38 12 Anselmo Rodas 28 6 56 45 45
  • 46. • Con esta operación se le da un nombre a una relación que es resultado de otras operaciones. • Se denota con el símbolo := también se puede escribir  • Por ejemplo Q := R X S 46
  • 47. 47 Selección o restricción σ condición (RELACION) Proyección π campo1,campo2,……,campoN (RELACION) Producto cartesiano R1 X R2 Renombrado r Nombre_original -> nuevo_nombre Unión R1  R2 Intersección R1  R2 Diferencia R1 – R2 Reunión nombre_tabla1 ⋈ (condición) nombre_tabla2 División R1 ÷ R2 Extender R1 ADD expresion AS identificador Asignación Q := R1 X R2
  • 48. 48 ESTRUCTURA Campos a mostrar , condiciones, origen TRADUCCION AL ALGREBRA RELACIONAL π campo1,campo2,…,campoN ( σ condiciones ( Relaciones))
  • 49. Con base en las siguientes relaciones: ALUMNOS (noControl, nombre ,aPaterno, aMaterno) MATERIAS (cveMateria, nombre, semestre, noUnidades) CALIFICACIONES (noControl, cveMateria, calificacion, periodo) ALUMNOS noControl nombre aPaterno aMaterno 01 LUIS LOPEZ PEREZ 02 ALBERTO HERNANDEZ JIMENEZ 03 ALEJANDRA LOPEZ VAZQUEZ 04 SANDRA PATIÑO FLORES 05 JUAN REYNOSO MENDEZ MATERIAS cveMateria nombre semestre noUnidades 01 FUNDAMENTOS DE BASES DE DATOS 4 7 02 TALER DE BASES DE DATOS 5 7 03 BASES DE DATOS DISTRIBUIDAS 8 4 04 PROGRAMACION DE WEB 7 5 05 FUNDAMENTOS DE PROGAMACION 1 7 CALIFICACIONES noControl cveMateria calificacion periodo 01 01 90 09-01 02 01 80 09-01 03 01 100 09-01 01 02 70 10-01 02 02 85 10-01 03 02 90 10-01 04 04 100 09-01 05 04 70 09-01 04 03 100 10-01 05 03 90 10-01