des apl man dbs unidad 4 actividad 10

3
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE CONTADURÍA Y ADMINISTRACIÓN DIVISIÓN SISTEMA UNIVERSIDAD ABIERTA Y EDUCACIÓN A DISTANCIA Modalidad: A Distancia Licenciatura en Informática Alumno: Carlos Alvarado Martínez Número de Cuenta: 304045046 Correo: [email protected] Materia: Desarrollo de Aplicaciones en Manejadores de Bases de Datos Relacionales Unidad 4 Actividad 10 Lee el apartado Setting Row Range with LIMIT and OFFSET del capítulo 4 del libro Practical PostgreSQL, en http://www.commandprompt.com/ppbook/x5802.htm#JOINS y el apartado 7.6 LIMIT and OFFSET de la documentación en línea de PostgreSQL versión 8.4, en http://www.postgresql.org/docs/8.4/static/queries-limit.html y contesta las siguientes preguntas: 1. ¿Para qué sirve la cláusula LIMIT? La cláusula LIMIT sirve para especificar la cantidad de filas que serán retornadas, aunque por supuesto, la consulta podría retornar un valor menor de filas que el LIMIT especificado; poner LIMIT ALL es lo mismo que no poner límite, lo cual resulta evidente. 2. ¿Para qué sirve la cláusula OFFSET? La cláusula OFFSET sirve para especificar desde qué fila se comenzará a imprimir la salida de retorno de la consulta especificada, es decir, si se especifica un OFFSET 5, se

Upload: carlos-alvarado-martinez

Post on 01-Feb-2016

5 views

Category:

Documents


0 download

DESCRIPTION

Des Apl Man DBs Unidad 4 Actividad 10

TRANSCRIPT

Page 1: Des Apl Man DBs Unidad 4 Actividad 10

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICOFACULTAD DE CONTADURÍA Y ADMINISTRACIÓN

DIVISIÓN SISTEMA UNIVERSIDAD ABIERTA YEDUCACIÓN A DISTANCIA

Modalidad: A DistanciaLicenciatura en Informática

Alumno: Carlos Alvarado Martínez Número de Cuenta: 304045046Correo: [email protected]: Desarrollo de Aplicaciones en Manejadores de Bases de Datos RelacionalesUnidad 4 Actividad 10

Lee el apartado Setting Row Range with LIMIT and OFFSET del capítulo 4 del libro Practical PostgreSQL, en http://www.commandprompt.com/ppbook/x5802.htm#JOINS y el apartado 7.6 LIMIT and OFFSET de la documentación en línea de PostgreSQL versión 8.4, en http://www.postgresql.org/docs/8.4/static/queries-limit.html y contesta las siguientes preguntas:

1. ¿Para qué sirve la cláusula LIMIT?

La cláusula LIMIT sirve para especificar la cantidad de filas que serán retornadas, aunque por supuesto, la consulta podría retornar un valor menor de filas que el LIMIT especificado; poner LIMIT ALL es lo mismo que no poner límite, lo cual resulta evidente.

2. ¿Para qué sirve la cláusula OFFSET?

La cláusula OFFSET sirve para especificar desde qué fila se comenzará a imprimir la salida de retorno de la consulta especificada, es decir, si se especifica un OFFSET 5, se comenzará desde la quinta fila a imprimir el resultado del query.

Un OFFSET muy grande de todas formas tiene que ser computado por el servidor de la base de datos, por lo que un valor muy alto de OFFSET podría no ser muy eficiente.

Page 2: Des Apl Man DBs Unidad 4 Actividad 10

Por supuesto, se pueden especificar querys con ambas cláusulas, aquí un ejemplo:

booktown=# SELECT isbn, title, publicationbooktown-# FROM editions NATURAL JOIN books AS b (book_id)booktown-# ORDER BY publication DESCbooktown-# LIMIT 5; isbn | title | publication------------+-----------------------+------------- 0596000855 | Programming Python | 2001-03-01 0451457994 | 2001: A Space Odyssey | 2000-09-12 0451198492 | 2001: A Space Odyssey | 1999-10-01 044100590X | Dune | 1999-10-01 0929605942 | The Tell-Tale Heart | 1998-12-01(5 rows)

booktown=# SELECT isbn, title, publicationbooktown-# FROM editions NATURAL JOIN books AS b (book_id)booktown-# ORDER BY publication DESCbooktown-# LIMIT 5booktown-# OFFSET 2; isbn | title | publication------------+-----------------------+------------- 0451198492 | 2001: A Space Odyssey | 1999-10-01 044100590X | Dune | 1999-10-01 0929605942 | The Tell-Tale Heart | 1998-12-01 0441172717 | Dune | 1998-09-01 1885418035 | The Tell-Tale Heart | 1995-03-28

3. ¿Por qué es conveniente combinar la cláusula ORDER BY con la cláusula LIMIT?

Debido a que si no se especifica un ORDER BY, el retorno de la consulta será inconsistente y no se tendrá seguridad alguna sobre la posición de los datos retornados, esto no es un error, es una consecuencia inherente del hecho de que SQL no promete entregar los resultados de un query en cualquier orden particular si no se usa la cláusula ORDER BY para especificar el orden.