Dsc Bdd u3 05 Algebra Relacional

17
ÁLGEBRA RELACIONAL

Transcript of Dsc Bdd u3 05 Algebra Relacional

ÁLGEBRA RELACIONAL

El álgebra relacional es un conjunto de

operaciones simples sobre tablas relacionales,

a partir de estas tablas se definen operaciones

más complejas mediante composición. Definen,

por tanto, un pequeño lenguaje de manipulación

de datos. El álgebra relacional incluye los operadores

tradicionales de conjuntos con algunas

modificaciones, debido al hecho de tener

relaciones como operandos.

Las relaciones no pueden tener una mezcla de

diferentres tipos de tuplas.

UNIÓN INTERSECCIÓN DIFERENCIA PRODUCTO CARTESIANO

O

P

E

R

A

D

O

R

E

S

T

R

A

D

I

C

I

O

N

A

L

E

S

C

O

J

U

N

T

O

S

OPERADORES UNITARIOS DE RESTRICCIÓN

SELECCIÓN PROYECCIÓN

OPERADORES BINARIOS FUSIÓN

o REUNIÓN O JOIN

O

P

E

R

A

D

O

R

E

S

R

E

L

A

C

I

O

N

A

L

E

S

E

S

P

E

C

I

A

L

E

S

JOIN

Un join nos permite realizar búsquedas de

dos o más tablas, teniendo en cuenta que

en ellas existan campo llave y llaves foráneas.

J

O

I

N

J O I N P O R

EJEMPLO:

D E F I N I C Ó N

SE TIENEN 2 TABLAS DE LAS CUALES SE QUIERE

INFORMACIÓN EN UNA SOLA CONSULTA

J O I N P O R

EJEMPLO:

D E F I N I C Ó N

SELECT E.NombreEdi, L.título,

L.existencias

FROM LIBROS L,

EDITORIALES E

WHERE

E.CveEditorial=L.CveEditorial

Colocar el nombre de campos

requeridos con el alias de cada

tabla, delimitando con un punto el

nombre del alias y la tabla

Se colocará el nombre de

la tablas involucradas

precedidas de un alias.

Para hacer la conexión se

colocarán en el where los

campos(FK) y (PK) que relacionan

a las tablas, precedidas del alias

de cada tabla y utilizando el signo

de =

J O I N P O R

EJEMPLO: Se quiere visulizar el nombre

de la editorial y no la clave.

D E F I N I C Ó N

SELECT E.Nombre Edi, L.titulo,

L.existencias

FROM LIBROS L,

EDITORIALES E

WHERE E.CveEditorial=L.CveEditorial

I NNE R J O I N

INNER JOIN:

Este tipo de JOIN une los resultados coincidentes

en ambas tablas, no devolverá un registro de una tabla si no coincide con otro de la otra.

SELECT * FROM libros,editoriales

WHERE

Libros.CveEditorial = Editoriales.CveEditorial

L E F T J O I N

LEFT JOIN:

Retorna los registros de la primera tabla

aunque no coincidan con ninguno de la otra.

SELECT * FROM libros LEFT JOIN editoriales ON

libros.CveEditorial = editoriales.CveEditorial

L E F T J O I N

LEFT JOIN:

Retorna los registros de la primera tabla

aunque no coincidan con ninguno de la otra.

L E F T J O I N

SELECT * FROM empleados LEFT JOIN despachos

ON empleados.despacho_id = despachos.id

R

I

G

H

T J O I N

RIGHT JOIN:

Realiza lo mismo que el left jion, pero con base en la segunda tabla.

SELECT * FROM libros RIGHT JOIN editoriales ON

libros.CveEditorial = editoriales.CveEditorial

J O I N NA TURA L

NATURAL JOIN:

Este JOIN retorna los registros de ambas

tablas que coincidan en todos los campos con el mismo nombre.

SELECT * FROM

libros NATURAL JOIN editoriales

U N I Ó N

UNIÓN:

Permite visualizar la información de dos o más sentencias Select.

SELECT CVEEDITORIAL, TÍTULO

FROM LIBROS

UNIÓN SELECT CVEEDITORIAL,NOMBREEDI

FROM EDITORIALES

U N I Ó N

UNIÓN:

Permite visualizar la información de dos o más sentencias Select.