49
Fundamentos de Bases de Datos Lic. Luis Antonio Sánchez Reynoso Unidad 3 El Modelo Relacional

Unidad 3 Fundamentos de bases de datos

Embed Size (px)

Citation preview

Page 1: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Unidad 3El Modelo Relacional

Page 2: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

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 datos2. 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.

Introducción

Page 3: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

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.

ProductocveProducto 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

Page 4: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Objetivos del modelo relacionalIndependencia 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).

Page 5: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

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.

Page 6: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Terminología estructuralRelació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

Page 7: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Terminología estructural

Page 8: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Estructura del modelo relacional

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 )

Page 9: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Álgebra relacionalLos 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 relacionesEn é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.

Page 10: Unidad 3 Fundamentos de bases de datos

Operadores en Álgebra Relacional• 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 11: Unidad 3 Fundamentos de bases de datos

Origen de las operaciones• 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

1111

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 12: Unidad 3 Fundamentos de bases de datos

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 3010 Juan Martínez 19

ADMINISTRADOR

PROGRAMADOR

Sean las relaciones:

12

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 13: Unidad 3 Fundamentos de bases de datos

Restricción o Selección (Sigma σ)

– 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 14: Unidad 3 Fundamentos de bases de datos

Restricción o Selección (σ) sEdad >= 25 (Administrador):

sCódigo < 5 (Programador): Código Nombre Edad2 Enrique Muñoz 258 Jorge Arias 30

10 Juan Martínez 19

Código Nombre Edad1 Jorge Campos 332 Enrique Muñoz 253 Esteban Paz 21

14

Código Nombre Edad1 Jorge Campos 332 Enrique Muñoz 25

Código Nombre Edad2 Enrique Muñoz 25

14

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 15: Unidad 3 Fundamentos de bases de datos

SELECCIÓN s c (R)Tresul:= s (c>1 AND B>2) (R)Tresul 0, 3, 2

15

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 16: Unidad 3 Fundamentos de bases de datos

Proyección (Pi π )– 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 17: Unidad 3 Fundamentos de bases de datos

Proyección (π) pCódigo,Edad(Administrador)

Código Nombre Edad1 Jorge Campos 332 Enrique Muñoz 253 Esteban Paz 21

17

Código Edad1 332 253 21

Código Nombre2 Enrique Muñoz8 Jorge Arias

10 Juan Martínez

pCódigo,Nombre(Programador)Código Nombre Edad

2 Enrique Muñoz 258 Jorge Arias 30

10 Juan Martínez 19

17

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 18: Unidad 3 Fundamentos de bases de datos

Código Edad1 302 253 30

Edad3025

18

Suponga una relación W así:

pEdad(W)

W

¡¡ se eliminan tuplas repetidas !!

El resultado será:

18

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Proyección (π)

Page 19: Unidad 3 Fundamentos de bases de datos

PROYECCIÓN p a1,a2,... (R) Tresul:= p B,D (Q)Tresul<2,1>,<1,1>,<0,3>,<3,0>

19

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 20: Unidad 3 Fundamentos de bases de datos

Producto Cartesiano: R1 X R2

– 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 21: Unidad 3 Fundamentos de bases de datos

Ejemplo

21

Código Nombre Edad Cod Nom Edad11 Jorge Campos 33 2 Enrique Muñoz 251 Jorge Campos 33 8 Jorge Arias 301 Jorge Campos 33 10 Juan Martínez 192 Enrique Muñoz 25 2 Enrique Muñoz 252 Enrique Muñoz 25 8 Jorge Arias 302 Enrique Muñoz 25 10 Juan Martínez 19

3 Esteban Paz 21 2 Enrique Muñoz 253 Esteban Paz 21 8 Jorge Arias 303 Esteban Paz 21 10 Juan Martínez 19

Administrador X [rCódigoCod,NombreNom,EdadEdad1(Programador)]

El renombrado de la relación R(A,B,C,D) en R(A,K,L,D) se denota

BK,CL (R)

¡¡ El renombrado es únicamente sintáctico !!

21

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 22: Unidad 3 Fundamentos de bases de datos

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 D1 0 1 0 31 0 1 3 01 0 1 2 11 0 0 0 31 0 0 3 01 0 0 2 10 3 2 0 30 3 2 3 00 3 2 2 11 2 3 0 3

1 2 3 30 1 2 32 1 0 20 0 3 02 0 3 00 2 0 2 1

... ... ... ... ...

22

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 23: Unidad 3 Fundamentos de bases de datos

Unión: R1 È R2• 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 24: Unidad 3 Fundamentos de bases de datos

Ejemplo:

• Administrador È Programador:

24

Código Nombre Edad1 Jorge Campos 332 Enrique Muñoz 253 Esteban Paz 218 Jorge Arias 30

10 Juan Martínez 19

Código Nombre Edad1 Jorge Campos 332 Enrique Muñoz 253 Esteban Paz 21

Código Nombre Edad2 Enrique Muñoz 258 Jorge Arias 30

10 Juan Martínez 19

Administrador Programador

24

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 25: Unidad 3 Fundamentos de bases de datos

• 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.

Unión R È S

25

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 26: Unidad 3 Fundamentos de bases de datos

Intersección: R1 R2

• 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 27: Unidad 3 Fundamentos de bases de datos

Ejemplo:

• Administrador Ç Programador

27

Código Nombre Edad2 Enrique Muñoz 25

Código Nombre Edad2 Enrique Muñoz 258 Jorge Arias 30

10 Juan Martínez 19

Código Nombre Edad1 Jorge Campos 332 Enrique Muñoz 253 Esteban Paz 21

Código Nombre Edad2 Enrique Muñoz 258 Jorge Arias 30

10 Juan Martínez 19

Administrador Programador

27

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 28: Unidad 3 Fundamentos de bases de datos

Intersección R S

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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 29: Unidad 3 Fundamentos de bases de datos

Intersección R S

29

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Ejemplo:Tresul:=R TG(T)=G(R)=G(R T)=3Tresul<1,0,1>,<1,2,3>

Page 30: Unidad 3 Fundamentos de bases de datos

Diferencia: R1 - R2

• 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 31: Unidad 3 Fundamentos de bases de datos

Ejemplo:

• Administrador - Programador:

• Programador - Administrador:

31

Código Nombre Edad1 Jorge Campos 333 Esteban Paz 21

Código Nombre Edad8 Jorge Arias 30

10 Juan Martínez 19

Código Nombre Edad1 Jorge Campos 332 Enrique Muñoz 253 Esteban Paz 21

Código Nombre Edad2 Enrique Muñoz 258 Jorge Arias 30

10 Juan Martínez 19

Administrador Programador

31

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 32: Unidad 3 Fundamentos de bases de datos

Diferencia R - S Sintaxis: nombre_tabla1 - nombre_tabla2Las 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 - TG(R)=G(T)=G(Tresul)=3C(Tresul)=3Tresul<1,0,0>,<0,3,2>,<0,2,0>

32

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 33: Unidad 3 Fundamentos de bases de datos

• 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 34: Unidad 3 Fundamentos de bases de datos

• 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.

3434

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Reunión (JOIN)

Page 35: Unidad 3 Fundamentos de bases de datos

35

Código Nombre Edad Depto1 Jorge Campos 33 12 Enrique Muñoz 25 13 Esteban Paz 21 18 Jorge Arias 30 2

10 Juan Martínez 19 212 Anselmo Rodas 28 6

Depto Descripción1 Administración2 Producción3 Ventas4 Finanzas

Empleado

Departamento

Atributo de Join

Nota: En este ejemplo, el campoDepto en Empleado NO ES FKcon respecto a la tabla Departamento

35

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Ejemplo

Page 36: Unidad 3 Fundamentos de bases de datos

Empleado ⋈ Departamento

36

Código Nombre Edad Depto Descripción1 Jorge Campos 33 1 Administración2 Enrique Muñoz 25 1 Administración3 Esteban Paz 21 1 Administración8 Jorge Arias 30 2 Producción

10 Juan Martínez 19 2 Producción

36

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Ejemplo

Page 37: Unidad 3 Fundamentos de bases de datos

Join o Reunión ⋈ 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 38: Unidad 3 Fundamentos de bases de datos

Join o Reunión ⋈Tresul := S ⋈ (S.B=R.B) R

38

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Tresul

Page 39: Unidad 3 Fundamentos de bases de datos

Natural Join (|X1| o Producto Natural

• 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 40: Unidad 3 Fundamentos de bases de datos

División: R1 ÷ R2

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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 41: Unidad 3 Fundamentos de bases de datos

Ejemplo:Empleado

Código Nombre Edad2 Enrique Muñoz 25

41

Código Nombre Edad Depto1 Jorge Campos 33 12 Enrique Muñoz 25 12 Enrique Muñoz 25 23 Esteban Paz 21 18 Jorge Arias 30 2

10 Juan Martínez 19 2Depto

12

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ón1 Administración2 Producción

41

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 42: Unidad 3 Fundamentos de bases de datos

Sintaxis: nombre_tabla1 / nombre_tabla2También llamada división, se realiza entre dos tablas que cumplen las

siguientes condiciones:Los atributos de T2 deben estar incluidos en T1Se debe cumplir que G(T1)=m>n y G(T2)=n siendo m>0La 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

División: R1 ÷ R2

Page 43: Unidad 3 Fundamentos de bases de datos

04/13/2023 43

Crea una nueva relación, seleccionando las filas en unarelación que se corresponden con todas lasfilas en otra relación.

43

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

División: R1 ÷ R2

Page 44: Unidad 3 Fundamentos de bases de datos

ExtenderExtend R ADD expresión AS nuevo_atributo

Código Nombre Sal Bono1 Jorge Campos 33 12 Enrique Muñoz 25 13 Esteban Paz 21 18 Jorge Arias 30 2

10 Juan Martínez 19 212 Anselmo Rodas 28 6

44

Emp

Ej: Extend Emp ADD Sal*2 AS Saldobl

44

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 45: Unidad 3 Fundamentos de bases de datos

EjemploSe genera una relación como la original pero con un atributo

saldobl adicional:

Código Nombre Sal Bono Saldobl1 Jorge Campos 33 1 662 Enrique Muñoz 25 1 503 Esteban Paz 21 1 428 Jorge Arias 30 2 60

10 Juan Martínez 19 2 3812 Anselmo Rodas 28 6 56

4545

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 46: Unidad 3 Fundamentos de bases de datos

ASIGNACIÓN :=

• 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

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

Page 47: Unidad 3 Fundamentos de bases de datos

47

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

RESUMENSelección o restricción σ condición (RELACION)

Proyección π campo1,campo2,……,campoN (RELACION)

Producto cartesiano R1 X R2

Renombrado 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

Page 48: Unidad 3 Fundamentos de bases de datos

48

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

RESUMENESTRUCTURA

Campos a mostrar , condiciones, origen

TRADUCCION AL ALGREBRA RELACIONAL

π campo1,campo2,…,campoN ( σ condiciones ( Relaciones))

Page 49: Unidad 3 Fundamentos de bases de datos

Fundamentos de Bases de Datos

Lic. Luis Antonio Sánchez Reynoso

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