Prezi

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in the manual

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Transformaciones Equivalentes

muy bonito
by Luis Berzariuz on 19 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Transformaciones Equivalentes

Transformaciones
equivalentes El procesamiento de consultas tiene como objetivo principal transformar una consulta escrita en un lenguaje de alto nivel (SQL) en una estrategia de ejecución correcta y eficiente expresada en un lenguaje de bajo nivel(algebra relacional) y ejecutar la estrategia para extraer los datos requeridos
Transformación de Expresiones Relacionales
Las consultas se pueden expresar de varias maneras diferentes, con costos de evaluación diferentes, en vez de tomar la expresión relacional original se consideran expresiones alternativas equivalentes.
Dos expresiones en algebra son equivalentes si, las dos expresiones generan el mismo conjunto de tuplas.
Cuando una base de datos se encuentra en multiples servidores y distribuye a un numero determinado de nodos tenemos:
1.-el servidor recibe una petición de un nodo
2.-el servidor es atacado por el acceso concurrente a la base de datos cargada localmente
3.-el servidor muestra un resultado y le da un hilo a cada una de las maquinas nodo de la red local.
y deseamos encontrar todas las fechas donde hay ventas tanto en el negocio como en Internet. Para hacerlo, utilizamos la siguiente instrucción SQL:
SELECT Date FROM Store_Information
INTERSECT
SELECT Date FROM Internet_Sales
Resultado:
Date |
07-Jan-1999 |
Por favor note que el comando INTERSECT sólo arrojará valores distintivos.
SQL MINUS
Opera en dos instrucciones SQL. Toma todos los resultados de la primera instrucción SQL, y luego sustrae aquellos que se encuentran presentes en la segunda instrucción SQL para obtener una respuesta final. Si la segunda instrucción SQL incluye resultados que no están presentes en la primera instrucción SQL, dichos resultados se ignoran.
Cuando una base de datos es accesada de esta manera la técnica que se utiliza es la de fragmentación de datos que puede ser hibrida, horizontal y vertical.
En esta fragmentación lo que no se quiere es perder la consistencia de los datos, por lo tanto se respetan las formas normales de la base de datos.
Para realizar una transformación en la consulta primero se desfragmenta siguiendo los estándares marcados por las reglas formales y posteriormente se realiza el envió y la máquina que recibe es la que muestra el resultado pertinente para el usuario, de esta se puede producir una copia que será la equivalente a la original.
SQL UNION
El propósito del comando SQL UNION es combinar los resultados de dos consultas juntas. En este sentido, UNION es parecido a Join, ya que los dos se utilizan para información relacionada en múltiples tablas. Una restricción de UNION es que todas las columnas correspondientes necesitan ser del mismo tipo de datos. También, cuando utilizamos UNION, sólo se seleccionan valores distintos (similar a SELECT DISTINCT).
La sintaxis es la siguiente:
[Instrucción SQL 1]
UNION
[Instrucción SQL 2]
Supongamos que tenemos las siguientes dos tablas,
Tabla Store_Information
store_name | Sales | Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 300 | 08-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
Tabla Internet_Sales
Date | Sales |
07-Jan-1999 | 250 |
10-Jan-1999 | 535 |
11-Jan-1999 | 320 |
12-Jan-1999 | 750 |
y deseamos saber de todas las fechas donde hay una operación de venta. Para hacerlo, utilizamos la siguiente instrucción SQL:
SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales
Resultado:
Date |
05-Jan-1999 |
07-Jan-1999 |
08-Jan-1999 |
10-Jan-1999 |
11-Jan-1999 |
12-Jan-1999 |
Por favor note que si ingresamos “SELECT DISTINCT Date” para cada o ambas instrucciones SQL, obtendremos el mismo conjunto de resultados.
SQL INTERSECT
Parecido al comando UNION, INTERSECT también opera en dos instrucciones SQL. La diferencia es que, mientras UNION actúa fundamentalmente como un operador OR (O) (el valor se selecciona si aparece en la primera o la segunda instrucción), el comando INTERSECT actúa como un operador AND (Y) (el valor se selecciona si aparece en ambas instrucciones).
La sintaxis es la siguiente:
[Instrucción SQL 1]
INTERSECT
[Instrucción SQL 2]
Digamos que tenemos las siguientes dos
tablas:
Tabla Store_Information
store_name | Sales | Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 300 | 08-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
Tabla Internet_Sales
Date | Sales |
07-Jan-1999 | 250 |
10-Jan-1999 | 535 |
11-Jan-1999 | 320 |
12-Jan-1999 | 750 |

La sintaxis es la siguiente:
[Instrucción SQL 1]
MINUS
[Instrucción SQL 2]
Continuemos con el mismo ejemplo:
Tabla Store_Information
store_name | Sales | Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 300 | 08-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
Tabla Internet_Sales
Date |
Sales |
07-Jan-1999 | 250 |
10-Jan-1999 | 535 |
11-Jan-1999 | 320 |
12-Jan-1999 | 750 |
y deseamos encontrar todas las fechas donde hay ventas en el negocio, pero no aquellas realizadas por Internet. Para hacerlo, utilizamos la siguiente instrucción SQL:

SELECT Date FROM Store_Information
MINUS
SELECT Date FROM Internet_Sales
Resultado:
Date |
05-Jan-1999 |
08-Jan-1999 |
“05-Jan-1999, “07-Jan-1999,et “08-Jan-1999 son los valores distintivos arrojados desde “SELECT Date FROM Store_Information.” También se arroja “07-Jan-1999 de la segunda instrucción SQL, “SELECT Date FROM Internet_Sales,” de este modo se lo excluye del conjunto final de resultados.
Por favor note que el comando MINUS sólo arrojará valores distintos.
Algunas bases de datos pueden utilizar EXCEPT en vez de MINUS. FIN
See the full transcript