SQL 4

15
SQL 4 Ingeniero Ricardo Cujar Rosero

description

Ingeniero Ricardo Cujar Rosero. SQL 4. Es un operador primitivo y binario que toma como entrada dos relaciones y produce una nueva. La estructura de la nueva relación tendrá la estructura correspondiente a la unión de las 2 relaciones de entrada. - PowerPoint PPT Presentation

Transcript of SQL 4

Page 1: SQL 4

SQL 4Ingeniero Ricardo Cujar Rosero

Page 2: SQL 4

OPERACIÓN PRODUCTO CARTESIANO (X)

Es un operador primitivo y binario que toma como entrada dos relaciones y produce una nueva.

La estructura de la nueva relación tendrá la estructura correspondiente a la unión de las 2 relaciones de entrada.

Los registros serán la concatenación de cada una de las tuplas de la relación 1 con todas las tuplas de la relación 2.

Page 3: SQL 4

A Ba1 b1 a2 b2

C D Ec1 d1 e1c2 d2 e2c3 d3 e3

A B C D Ea1 b1 c1 d1 e1a1 b1 c2 d2 e2a1 b1 c3 d3 e3a2 b2 c1 d1 e1a2 b2 c2 d2 e2a2 b2 c3 d3 e3

Sea R(A,B) Sea P(C,D, E)

R X P

Page 4: SQL 4

EJEMPLO

cedula

nombre

123 Pepito Perez456 Tino Asprilla

cedula labor oficina123 Gerente OF 405456 Asesor Of 301

persona.cedula

persona.nombre

cargo.cedula

cargo.labor

cargo.oficina

123 Pepito Perez

123 Gerente OF 405

123 Pepito Perez

456 Asesor Of 301

456 Tino Asprilla

123 Gerente OF 405

456 Tino Asprilla

456 Asesor Of 301

persona(cedula,nombre)

cargo(cedula, labor, oficina)

R X P

Page 5: SQL 4

IMPLEMENTACIÓN DEL PRODUCTO CARTESIANO EN SQL

select * from <relación 1>, <relación 2> select * from persona, cargo

La operación producto Cartesiano es binaria, si se realiza la ste. operación:

Select * from A,B,C,D Primero se hace AxB Luego (AxB)xC Luego (AxBxC)xD

Page 6: SQL 4

EXPRESIONES ALGEBRAICAS CON PROYECCIÓN, RESTRICCIÓN Y PRODUCTO CARTESIANO

Visualizar el nombre y la labor del señor Tino Asprilla .

Πpersona.nombre,cargo,labor(б(persona.nombre=tino asprilla)(personaxcargo))

Primero se ejecuta la operación producto cartesiano (personax cargo) obteniendo el ste. resultado.persona.

cedulapersona.nombre

cargo.cedula

cargo.labor

cargo.oficina

123 Pepito Perez

123 Gerente OF 405

123 Pepito Perez

456 Asesor Of 301

456 Tino Asprilla

123 Gerente OF 405

456 Tino Asprilla

456 Asesor Of 301

Page 7: SQL 4

Luego se realiza la operación restricción a la relación obtenida. б(persona.nombre=tino asprilla)

persona.cedula

persona.nombre

cargo.cedula

cargo.labor

cargo.oficina

456 Tino Asprilla

123 Gerente OF 405

456 Tino Asprilla

456 Asesor Of 301

Page 8: SQL 4

Por último se realiza la tercera operación, la proyección de los atributos nombre y labor.

Πpersona.nombre,cargo,laborpersona.nombre

cargo.labor

Tino Asprilla

Gerente

Tino Asprilla

Asesor

Page 9: SQL 4

SQL select persona.nombre, cargo.labor

from persona,cargo where persona.nombre=Tino Asprilla.

Page 10: SQL 4

JOIN El Join es una operación binaria y

derivada del producto cartesiano. Toma dos relaciones y produce una

nueva concatenando las tuplas de la primera con las tuplas de la segunda que cumplan una condición determinada.

Es un producto cartesiano restringido.

Page 11: SQL 4

Sea R(A,B,C) P (C,D,E)

R P(R.C=P.C)

A B Ca1 b1 c1a3 b3 c3

C D Ec1 d1 e1c2 d2 e2c3 d3 e3

R.A R.B R.C P.C P.D P.Ea1 b1 c1 c1 d1 e1a3 b3 c3 c3 d3 e3

Page 12: SQL 4

SQL select * from R,P where R.C=P.C

Page 13: SQL 4

EJEMPLO

cedula

nombre

123 Pepito Perez456 Tino Asprilla

cedula labor oficina123 Gerente OF 405456 Asesor Of 301

persona(cedula,nombre)

cargo(cedula, labor, oficina)

(persona.cedula=cargo.cedula)persona cargo

cedula

nombre cedula labor oficina

123 Pepito Perez

123 Gerente OF 405

456 Tino Asprilla

456 Asesor Of 301

Page 14: SQL 4

SQL Select * from persona, cargo where

persona.cedula=cargo.cedula

Page 15: SQL 4

EJEMPLO CON JOIN, PROYECCIÓN Y RESTRICCIÓN

Visualizar el nombre, cedula y la labor de pepito perez.

Select persona.nombre, persona.cedula, cargo.labor from persona, cargo where persona.nombre=pepito perez and persona.cedula=cargo.cedula

persona. nombre

persona. cedula

cargo. labor

Pepito Perez

123 Gerente