2 Bloque de consulta básico

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "2 Bloque de consulta básico"

Transcripción

1 2 Bloque de consulta básico En una base de datos relacional los datos son almacenados en estructuras de almacenamiento o tablas. Las dos operaciones básicas a llevar a cabo sobre una base de datos relacional son la recuperación o el acceso a los datos almacenados, y el almacenamiento en sí o actualización de datos, ya sea: inserción, eliminación o modificación de datos. En una base de datos relacional, tanto para la recuperación de datos como para la actualización de los mismos, se utiliza el lenguaje SQL. La sentencia del lenguaje utilizada para la recuperación de datos a partir de la base de datos es la sentencia SELECT. SQL posee diversos operadores que pueden ser utilizados al escribir una consulta SQL, o SELECT. La sentencia SELECT, además, posee cláusulas que permiten restringir y ordenar el conjunto resultado, lo que permite presentar el resultado de una consulta según el formato requerido por el usuario final de la base de datos. SQL también provee la facilidad de invocar funciones, programas que reciben argumentos y calculan o retornan un valor en la sentencia SELECT. La invocación de funciones brinda mayor flexibilidad y potencia al lenguaje, a la vez que provee un mecanismo de extensión. Los datos en una base de datos relacional se almacenan en diferentes tablas, y dichas tablas se encuentran relacionadas por valores en común. Utilizando la sentencia SELECT, es posible escribir consultas que unen dos o más tablas relacionadas y presentan la información de manera unificada. Además del acceso a datos almacenados en diferentes tablas, en SQL es posible agregar o agrupar datos según valores comunes, lo que permite calcular valores sumarizados a nivel de grupo de filas. La sentencia SELECT posee una cláusula para especificar el agrupamiento de datos, y existen diferentes funciones de grupo para llevar a cabo cálculos a nivel de grupo.

2 2.1 Escritura de sentencias SQL SELECT Básicas En la figura (1) se presenta una clasificación de los contenidos tratados en esta subunidad teniendo en cuenta la relación de los mismos con el Material del Estudiante (kit). Esta clasificación sugiere diferentes momentos de lectura, estudio y revisión entre los contenidos de este currículo y el Material del Estudiante (Kit). Según esta clasificación los contenidos pueden ser de:? Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas o unidad asociados al Material del Estudiante (Kit).? Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los subtemas, temas o unidad asociados al Material del Estudiante (Kit).? Lectura Adicional: Se sugiere la lectura posterior de estos contenidos como material adicional a los tratados en el Material del Estudiante (Kit). Prácticas : Actividades de laboratorios e interactivas incluidas como práctica adicional al Material del Estudiante (Kit).

3

4 2.1.1 Objetivos En esta sub-unidad se presenta la sentencia SELECT del lenguaje de consulta estructurado SQL en su forma más primitiva, abordando también los operadores aritméticos, de concatenación y conceptos complementarios aplicables a dicha sentencia Cuestionario de Iniciación Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas de iniciación. Si desea, puede desplegar su respuesta.

5

6

7

8 2.1.3 Descripción de la Sentencia SELECT La herramienta fundamental de SQL es la sentencia SELECT, que permite seleccionar registros desde las tablas de la base de datos, devolviendo aquellos que cumplan las condiciones establecidas y pudiendo presentar el resultado en el orden deseado (1).

9 2.1.4 Sintaxis de la sentencia SELECT En la figura (1) se muestra la sintaxis completa de la sentencia SELECT. La sentencia SELECT permite recuperar de las tablas todas o un subconjunto de columnas especificadas por el usuario. Si se escribe *(2), se seleccionarán todas las columnas. Si se desea seleccionar sólo algunas columnas de la tabla, se deben indicar los nombres de cada una de ellas, separadas por una coma (3).

10

11 2.1.5 Utilidad de alias El alias de columna renombra un encabezamiento de columna. Se especifica después de la columna en la lista SELECT con un espacio en blanco de separación. Por defecto, los encabezamientos alias aparecerán en mayúsculas. Si el alias contiene espacios, caracteres especiales (como # o $) o es sensible a mayúsculas y minúsculas, se debe encerrar el alias entre comillas dobles (" ") (1). Se puede incluir la palabra clave AS delante del alias con el fin de cumplir con el estándar ANSI SQL 92.

12 2.1.6 Operadores aritméticos Una expresión aritmética puede contener nombres de columnas, valores numéricos constantes y operadores aritméticos. (1) Se pueden usar los operadores aritméticos en cualquier sentencia de SQL excepto en la cláusula FROM. (2) Precedencia de Operadores La multiplicación y la división tienen prioridad sobre la suma y la resta. Los operadores de la misma prioridad se evalúan de izquierda a derecha. Los paréntesis pueden ser usados para cambiar la prioridad de evaluación y para clarificar las sentencias.

13

14

15 2.1 Escritura de sentencias SQL SELECT Básicas Operador de concatenación El operador de concatenación está representado por dos barras verticales ( ). Se utiliza para vincular columnas con otras columnas, expresiones aritméticas o valores constantes. Como resultado de la concatenación se obtiene una columna que es una expresión de tipo caracter.

16 21 Escritura de sentencias SQL SELECT Básicas La palabra clave DISTINCT A menos que se especifique de otra manera, SQL*Plus o ISQL*Plus muestran los resultados de una consulta sin eliminar las filas duplicadas. Para eliminar las filas duplicadas en el resultado, se debe incluir la palabra clave DISTINCT en la cláusula SELECT inmediatamente después del comando. DISTINCT se aplica a todas las columnas de la lista de la cláusula SELECT. Si hay varias columnas en la cláusula SELECT, el resultado de aplicar DISTINCT representa las diferentes combinaciones de las columnas.

17 21 Escritura de sentencias SQL SELECT Básicas El valor NULO Si una fila carece de un valor para una columna en particular, se dice que contiene un "null". NULL es un valor inaccesible, sin valor, desconocido o inaplicable. No representa ni un cero ni un espacio en blanco. El cero es un número y el espacio es un carácter. Las columnas de cualquier tipo de datos pueden contener valores nulos, a menos que hayan sido definidas como NOT NULL o como clave primaria (PRIMARY KEY) cuando se creó la tabla. Todos los operadores (exceptuando el de concatenación) retornan NULL cuando se les da un operando nulo. (1) Valores Nulos en Expresiones Aritméticas Si en una expresión, cualquier valor de una columna es nulo, el resultado también lo es. Por ejemplo, si se intenta ejecutar una división por cero, se obtendrá un error. Sin embargo, si se divide por un valor nulo, el resultado es nulo.

18 Laboratorio

19 2.1 Escritura de sentencias SQL SELECT Básicas AI: Selección de campos en la consulta Practica Teniendo en cuenta la tabla base JOBS donde se encuentran los distintos cargos que puede ocupar un empleado de la empresa, arrastre la/s opción/es hasta la posición correcta que crea necesaria/s para completar la sentencia SELECT y así obtener el resultado que se muestra a continuación. (1) Teniendo en cuenta la tabla base LOCATIONS donde se encuentran las direcciones de los departamentos de la empresa, seleccione la/s sentencias SELECT que considere correcta/s para obtener el resultado que se muestra a continuación. (2)

20

21 2.1 Escritura de sentencias SQL SELECT Básicas AI: Utilización de DISTINCT Practica Teniendo en cuenta la tabla base EMPLOYEES donde se encuentran los datos de todos los empleados de la empresa, seleccione la sentencia SELECT que considere correcta para obtener el resultado que se muestra a continuación.

22 2.1 Escritura de sentencias SQL SELECT Básicas Síntesis Datos almacenados en una base de datos Oracle son gestionados y accesados utilizando SQL. Una sentencia SELECT es utilizada para consultar datos a partir de una tabla o vista. En este tema se abordaron fundamentos de SQL, incluyendo tipos de dato y operadores. Los tipos de dato CHAR y VARCHAR2 son utilizados para almacenar información alfanumérica. El tipo de dato NUMBER es utilizado para almacenar valores numéricos. Valores tipo fecha pueden ser almacenados utilizando el tipo de dato DATE. Oracle9i Server posee una amplia gama de operadores: aritméticos, de concatenación, de conjuntos, de comparación, de inclusión, lógicos, de comparación de patrones, de rangos, y de verificación de existencia y nulidad.

23 2.2 Restricción y ordenamiento de datos En la figura (1) se presenta una clasificación de los contenidos tratados en esta subunidad teniendo en cuenta la relación de los mismos con el Material del Estudiante (kit). Esta clasificación sugiere diferentes momentos de lectura, estudio y revisión entre los contenidos de este currículo y el Material del Estudiante (Kit). Según esta clasificación los contenidos pueden ser de:? Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas o unidad asociados al Material del Estudiante (Kit).? Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los subtemas, temas o unidad asociados al Material del Estudiante (Kit).? Lectura Adicional: Se sugiere la lectura posterior de estos contenidos como material adicional a los tratados en el Material del Estudiante (Kit). Prácticas : Actividades de laboratorios e interactivas incluidas como práctica adicional al Material del Estudiante (Kit).

24

25 22 Restricción y ordenamiento de datos Objetivos En este tema se verá cómo, a través de sentencias SQL, es posible limitar la información recuperada especificando criterios, y cómo visualizar los resultados en un orden específico. Para restringir el conjunto resultado se utilizan condiciones de comparación o condiciones lógicas. 22 Restricción y ordenamiento de datos Cuestionario de Iniciación Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas de iniciación. Si desea, puede desplegar su respuesta.

26

27

28 22 Restricción y ordenamiento de datos Descripción de la cláusula WHERE Se pueden restringir las filas recuperadas usando la cláusula WHERE. Una cláusula WHERE contiene una condición lógica, la cual usa operadores de comparación. Las filas procesadas son aquellas en que los datos que contienen satisfacen la/s condición/es lógicas. (1)

29 22 Restricción y ordenamiento de datos Sintaxis de la cláusula WHERE En la figura (1) se muestra la sintaxis de la sentencia SELECT con la cláusula WHERE, la cual se ubica a continuación de la cláusula FROM. Se pueden usar nombres de columnas o expresiones en la cláusula WHERE, pero no alias de columnas. No es necesario incluir los nombres de columnas en la cláusula SELECT para poder usarlos en la cláusula WHERE.

30 22 Restricción y ordenamiento de datos Condiciones de comparación Los operadores de comparación se emplean en la cláusula WHERE para comparar una expresión con otra. El resultado de la comparación puede ser TRUE, FALSE, o UNKNOWN. En la figura (1) se muestra la sintaxis del uso de operadores dentro de la cláusula WHERE, en la figura (2) - (3) se listan los operadores de comparación y se presentan ejemplos. A menudo es más fácil encontrar las filas que no cumplen una condición, que aquellas que sí lo hacen. La negación de algunos operadores se muestra en la figura (4). Operador LIKE No siempre se conoce el valor exacto a buscar. Se pueden seleccionar filas que coincidan con un patrón de caracteres usando el operador LIKE. La operación de coincidencia se conoce como una búsqueda que incluye comodines. Se pueden utilizar dos símbolos para construir la búsqueda: -- : Representa cualquier secuencia de cero o más caracteres _ : Denota un solo caracter Cuando se necesita una coincidencia exacta para los comodines "%" y "_", se usa la opción ESCAPE. Dicha opción especifica cuál es el caracter ESCAPE. El operador LIKE se puede usar como una abreviatura para algunas comparaciones BETWEEN. (5) Operadores IS NULL e IS NOT NULL Los operadores IS NULL e IS NOT NULL testean valores que son nulos. Si se comparan valores nulos usando los otros operadores (=, >, etc.) el resultado será siempre FALSO porque un valor nulo no puede ser igual, mayor, distinto, etc. a otro valor. (6)

31

32

33

34

35

36 22 Restricción y ordenamiento de datos Condiciones lógicas Un operador lógico combina los resultados de dos condiciones para producir un único resultado basado en ellos, o invertir el resultado de una condición. La tabla siguiente lista los operadores lógicos. (1) Consultas de Datos con Condiciones Múltiples Se pueden especificar criterios complejos combinando varias condiciones. Los operadores AND y OR se pueden usar para componer expresiones lógicas. El operador AND retorna VERDADERO si ambas condiciones evaluadas son VERDADERAS, mientras que el operador OR retorna VERDADERO si alguna de las condiciones es VERDADERA. En los ejemplos de la figura (2) y (3), las condiciones son las mismas pero el operador es distinto. El resultado obtenido en cada caso será muy diferente.

37

38

39 22 Restricción y ordenamiento de datos Descripción de la cláusula ORDER BY El orden de las filas recuperadas por el resultado de una consulta es indefinido. Orace9i Server no puede buscar y traer las filas en el mismo orden para una consulta ejecutada dos veces. La cláusula ORDER BY puede ser utilizada para ordenar las filas. Si se usa, se ubica como la última cláusula en el comando SELECT. Se puede usar un alias de columna en la cláusula ORDER BY. Ordenamiento de los Datos por Defecto El orden por defecto es ascendente:? Los valores numéricos se muestran con el valor más bajo en primer lugar, por ejemplo 1 a 999.? Los valores de fecha se muestran con el valor más temprano en primer lugar, por ejemplo antes que ? Los valores de caracteres se muestran en orden alfabético, por ejemplo primero la A y último la Z. En Oracle9i, los valores nulos se muestran últimos en las secuencias ascendentes y primeros en las secuencias descendentes. (1)

40 22 Restricción y ordenamiento de datos Sintaxis de la cláusula ORDER BY En la figura (1) se muestra la sintaxis de la sentencia SELECT con la cláusula ORDER BY. Es posible utilizar esta sentencia para presentar los datos de una tabla de diferentes maneras en cuanto al orden en que se muestran sus filas. Para invertir el orden de recuperación de las filas, se especifica el comando DESC después del nombre de la columna en la cláusula ORDER BY. (2) Otro método para ordenar el resultado de una consulta es por posición. Dicho método es útil específicamente cuando se ordena por una expresión larga. En vez de tipearla nuevamente, se puede especificar su posición en la lista SELECT. (3) Se puede ordenar el resultado de una consulta por más de una columna. El límite es la cantidad de columnas de la tabla. En la cláusula ORDER BY se especifican los nombres de las columnas separados por comas (4). Si se desea invertir el orden de una columna, se especifica DESC después de su nombre o posición. IMPORTANTE : Se puede ordenar por columnas que no se encuentran en la lista SELECT.

41

42

43

44 22 Restricción y ordenamiento de datos Reglas de precedencia Se pueden combinar los operadores AND y OR en la misma expresión lógica. Los resultados de todas las condiciones se combinan en el orden determinado por la precedencia de los operadores conectores. Cuando los operadores tienen igual precedencia, se ejecutan de izquierda a derecha. En la figura (1) se indican los niveles de precedencia entre los operadores. Cuando se usa negación de expresiones, los operadores de comparación también se evalúan primero. Para modificar las reglas de precedencia se deben utilizar paréntesis. Cada vez que se presenten dudas acerca de qué operación será ejecutada primero al evaluar una expresión, se debe usar paréntesis para clarificar la sentencia Laboratorio

45 2.2 Restricción y ordenamiento de datos AI: Restricciones AND, OR, NOT Practica Arrastre la/s opción/es hasta la posición correcta que crea necesaria/s para completar la sentencia SELECT que muestre el código de departamento, el nombre donde el código de ubicación sea igual a 1700 y que tengan un director en dicho departamento, ordenando el resultado en forma descendente por el código de departamento. (1) Arrastre la/s opción/es hasta la posición correcta que crea necesaria/s para completar la sentencia SELECT que muestre el apellido, nombre y cargo que ocupan los empleados que pertenecen al departamento 90 o los que estén a cargo del director cuyo código es igual a 124 o 205, ordenando el resultado por el apellido. (2)

46

47 2.2 Restricción y ordenamiento de datos AI: Utilización de BETWEEN Practica Teniendo en cuenta las columnas mostradas de la tabla base EMPLOYEES donde se encuentran los datos de todos los empleados de la empresa, seleccione la/s fila/s que se obtendrían como resultado al ejecutarse la siguiente sentencia SELECT.

48 2.2 Restricción y ordenamiento de datos Síntesis En una sentencia SELECT, es posible limitar las filas seleccionadas utilizando una cláusula WHERE y ordenar los datos recuperados utilizando una cláusula ORDER BY. En este tema se abordaron estas cláusulas, así como también condiciones de comparación y condiciones lógicas. Utilizando operadores es posible escribir condiciones para restringir el resultado de una consulta SQL.

49 2.3 Funciones de una sola fila En la figura (1) spresenta una clasificación de los contenidos tratados en esta subunidad teniendo en cuenta la relación de los mismos con el Material del Estudiante (kit). Esta clasificación sugiere diferentes momentos de lectura, estudio y revisión entre los contenidos de este currículo y el Material del Estudiante (Kit). Según esta clasificación los contenidos pueden ser de:? Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas o unidad asociados al Material del Estudiante (Kit).? Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los subtemas, temas o unidad asociados al Material del Estudiante (Kit).? Lectura Adicional: Se sugiere la lectura posterior de estos contenidos como material adicional a los tratados en el Material del Estudiante (Kit). Prácticas : Actividades de laboratorios e interactivas incluidas como práctica adicional al Material del Estudiante (Kit).

50

51

52 23 Funciones de una sola fila Objetivos Funciones son programas que toman cero o más argumentos y retornan un valor único. Oracle ha desarrollado un número de funciones en SQL, las cuales pueden ser invocadas en sentencias SQL. Existen cinco clases de funciones significativas: funciones de una sola fila, funciones de agregación (también denominadas funciones de grupo), funciones analíticas, funciones de referencia a objetos, y funciones definidas por el usuario. Este punto focaliza el primer grupo de funciones: funciones de una sola fila. Funciones de una sola fila operan sobre expresiones derivadas de columnas o literales, y las mismas son ejecutadas una vez por cada fila recuperada. Este tema cubre cuáles funciones de una sola fila se encuentran disponibles y las reglas que gobiernan el uso de las mismas. 23 Funciones de una sola fila Cuestionario de Iniciación Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas de iniciación. Si desea, puede desplegar su respuesta.

53

54

55 23 Funciones de una sola fila Qué es una función SQL predefinida? Las funciones en una BD Oracle pueden clasificarse, en forma genérica, en:? Funciones SQL: Las funciones SQL son funciones predefinidas en Oracle y están disponibles para su utilización en distintas sentencias SQL.? Funciones Definidas por el Usuario (UDFs): Las funciones definidas por el usuario sirven para proveer funcionalidad que no está disponible en SQL o en funciones predefinidas SQL. Las mismas pueden ser escritas en PL/SQL o en Java. Las funciones predefinidas SQL pueden agruparse según el tipo de dato de sus argumentos y sus valores de retorno. De esta clasificación surgen los siguientes grupos de funciones:? Funciones de una sola fila? Funciones de grupo (o de varias filas)? Funciones analíticas Funciones de referencia a objetos

56 23 Funciones de una sola fila Conversión Implícita Oracle soporta conversión implícita y explícita de valores de un tipo de dato a otro. Es recomendado especificar conversiones explícitas en vez de confiar en conversiones automáticas o implícitas, por las siguientes razones: Las sentencias SQL son más fáciles de entender cuando se utilizan funciones de conversión de tipos de dato. La conversión de tipo de dato automática puede tener un impacto negativo en performance. Las conversiones implícitas dependen del contexto en el cual las mismas ocurren y pueden no funcionar de la misma forma en todos los casos. El comportamiento de una conversión explícita es más predecible. Los algoritmos de conversión implícita están sujetos a modificaciones en diferentes versiones de software. Oracle automáticamente convierte un valor de un tipo de dato a otro cuando dicha conversión tiene sentido. Por Ej.: si se invoca a una función SQL con un argumento de un tipo de dato diferente al tipo de dato esperado por la misma, Oracle implícitamente convierte el argumento al tipo de dato esperado antes de ejecutar la función SQL (1) - (2). Existen reglas que gobiernan el momento y la dirección en la cual Oracle9i Server realiza conversiones de tipos de dato implícitas (3).

57

58

59 23 Funciones de una sola fila Conversión Explícita Es posible especificar explícitamente una conversión de tipo de dato utilizando funciones de conversión SQL. Una función de conversión convierte un valor de un tipo de dato a otro. Generalmente, la nomenclatura de este tipo de funciones sigue el formato: "tipo_de_dato TO tipo_de_dato". El primer tipo de dato es el tipo de dato de entrada, mientras que el segundo es el tipo de dato de salida (1). La tabla (2) muestra funciones SQL que explícitamente convierten un valor de un tipo de dato a otro.

60

61 23 Funciones de una sola fila Argumentos de entrada Las funciones pueden recibir información de entrada a través de una lista de argumentos. Una función de una sola fila puede requerir cero o más argumentos dependiendo del tipo de operación que ésta realice. Un argumento es un valor o una expresión de un tipo de dato específico que la función utiliza para realizar la operación y retornar un único resultado. (1) Los argumentos deben ser pasados entre paréntesis a la función en el momento que ésta es invocada y delimitados por comas en caso requerir más de un argumento. La lista de argumentos puede estar integrada por variables, expresiones y/o constantes. Es necesario respetar el orden y tipo de dato de los argumentos según se especifique en la sintaxis de la función utilizada. En caso que una función reciba como argumento un valor o resultado de una expresión cuyo tipo de dato sea diferente al que realmente espera, Oracle9i Server realizará la conversión implícita siempre y cuando ésta sea válida. De lo contrario, se producirá un error. (2)

62

63 2.3.7 Funciones de caracteres Las funciones de caracteres que retornan valores del mismo tipo de dato que el argumento de entrada. Las funciones de caracteres que retornan valores numéricos pueden tomar como argumento cualquier tipo de dato caracter (1). Límite en valores caracteres retornados: - Funciones que retornan valores CHAR están limitadas en longitud a 2000 bytes. - Funciones que retornan valores VARCHAR2 están limitadas en longitud a 4000 bytes. - Funciones que retornan valores CLOB están limitadas a 4 GB. Reglas en el tratamiento de los límites: - Para funciones de tipo CHAR y VARCHAR2, si la longitud del valor de retorno excede el límite, Oracle9i Server trunca el valor y retorna el resultado sin un mensaje de error. Para funciones CLOB, si la longitud del valor de retorno excede el límite, Oracle9i Server dispara un error y no retorna datos.

64 23 Funciones de una sola fila Funciones numéricas La mayoría de estas funciones retornan valores representados por dígitos con precisión de 38 decimales. Las funciones COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN y TANH trabajan con precisión de 36 dígitos decimales. Las funciones ACOS, ASIN, ATAN y ATAN2 trabajan con precisión de 30 dígitos decimales. En la figura (1) se muestra un listado exhaustivo de las funciones numéricas existentes en Oracle9i Server.

65 23 Funciones de una sola fila Funciones para trabajar con datos NULOS Si una columna en una fila no posee valor, se dice que la columna es nula o contiene el valor nulo (null). Valores nulos pueden aparecer en columnas de cualquier tipo de dato que no posean restricciones de integridad NOT NULL o PRIMARY KEY. Utilice un nulo cuando el valor actual no es conocido o cuando dicho valor no es significativo. No utilice nulo para representar un valor cero, debido a que los mismos no son equivalentes. Actualmente, Oracle9i Server trata un valor caracter con longitud cero como nulo, sin embargo, esto puede no continuar siendo verdadero en futuras versiones del producto. De esta forma, Oracle recomienda no tratar cadenas de caracteres vacías como nulos. Toda expresión aritmética conteniendo un nulo, siempre evalúa a nulo. Por ejemplo, 10 sumado a null da como resultado null. De hecho, todos los operadores (excepto concatenación) retornan null cuando existe un operando nulo. Funciones para trabajar con datos nulos Todas las funciones escalares (excepto REPLACE, NVL y CONCAT) retornan null cuando reciben un argumento nulo. Es posible utilizar la función NVL para retornar un valor en la ocurrencia de un nulo. Por ejemplo, la expresión NVL(COMM,0) retorna cero si COMM es nulo, o el valor de COMM si éste es no nulo. La mayoría de las funciones de agregación ignoran los valores nulos. Por ejemplo, considere una consulta que promedia los siguientes cinco valores: 1000, null, null, null, y Dicha consulta ignora los nulos y calcula el promedio como: ( )/2 = 1500 Nulos en condiciones de comparación Para verificar la existencia de valores nulos debe utilizarse únicamente las condiciones de comparación IS NULL y IS NOT NULL. Si se utiliza cualquier otra condición con nulos y el resultado depende del valor nulo, el resultado es desconocido (UNKNOWN). Debido a que el valor nulo representa ausencia de datos, un nulo no puede ser igual ni distinto de algún otro valor o de otro nulo. Sin embargo, Oracle9i Server considera dos nulos como iguales cuando se evalúa una función DECODE. Oracle9i Server también considera dos valores nulos como iguales si los mismos aparecen en claves compuestas. Esto es, Oracle9i Server considera idénticas dos claves compuestas que contengan nulos si todos los componentes no nulos de las claves son iguales. Nulos en condiciones Una condición que evalúa a UNKNOWN actúa similar a FALSE. Por ejemplo, una sentencia SELECT con una condición en la cláusula WHERE que evalúa a UNKNOWN no retorna filas. No obstante, una condición que evalúa a UNKNOWN difiere de FALSE en que operaciones posteriores realizadas sobre la condición UNKNOWN darán como resultado UNKNOWN. Esto es, NOT FALSE evalúa a TRUE, pero NOT UNKNOWN evalúa a UNKNOWN. La figura (1) muestra algunos ejemplos de evaluaciones considerando valores nulos.

66

67 2.3 Funciones de una sola fila Funciones de fechas Las funciones de fecha operan sobre valores de tipo DATE (fecha/hora). Todas las funciones de fecha retornan un valor o un intervalo de valores de tipo DATE, excepto la función MONTHS_BETWEEN, la cual retorna un valor numérico. La figura (1) muestra las funciones de fecha presentes en Oracle9i Server. SYSDATE La función SYSDATE retorna la fecha y hora corriente. El tipo de dato del valor retornado es DATE. La función no requiere argumentos. En sentencias SQL distribuidas, esta función retorna la fecha y hora de la base de datos local (2). SYSTIMESTAMP La función SYSTIMESTAMP retorna la fecha del sistema, incluyendo fracciones de segundos y la zona horaria del sistema en el cual la base de datos reside. El tipo de retorno es TIMESTAMP WITH TIME ZONE (3) - (4)

68

69

70

71 23 Funciones de una sola fila Modelos de formatos Un modelo de formato es un literal caracter que describe el formato de datos DATE o NUMBER almacenados en una cadena de caracteres (o string). Cuando se convierte una cadena de caracteres a fecha o número, un modelo de formato especifica cómo Oracle9i Server interpreta dicha cadena (1). Cabe destacar que un modelo de formato no modifica la representación interna del valor almacenado en la base de datos. En sentencias SQL, es posible utilizar un modelo de formato como argumento en las funciones TO_CHAR y TO_DATE:? Para especificar el formato que Oracle9i Server utiliza para retornar un valor desde la base de datos? Para especificar el formato de un valor de forma que Oracle9i Server pueda almacenarlo correctamente en la base de datos Los valores de algunos formatos están determinados por el valor de ciertos parámetros de inicialización. Para tales formatos, es posible especificar los caracteres retornados por estos elementos de formato implícitamente utilizando el parámetro de inicialización NLS_TERRITORY. Es posible modificar el formato de fecha por defecto para una sesión a través de la sentencia ALTER SESSION. Todos los modelos de formato numéricos causan que el número en cuestión sea redondeado al número de dígitos significativos especificado en el modelo. Si un valor posee más dígitos significativos a la izquierda del punto decimal de los que son especificados en el formato, el símbolo numeral ( # ) reemplaza el valor. Si un valor positivo es extremadamente largo y no puede ser representado en el formato especificado, el símbolo tilde ( ~ ) reemplaza el valor (notar que el tilde representa el valor infinito). De la misma forma, si un número negativo es extremadamente pequeño y no puede ser representado en el formato especificado, el símbolo infinito negativo reemplaza el valor ( - ~ ). Esta situación normalmente ocurre cuando se está utilizando la función TO_CHAR con un modelo de formato numérico restrictivo, lo que provoca una operación de redondeo (2). La longitud total de un modelo de formato fecha no puede exceder los 22 caracteres. El formato de fecha por defecto es especificado, ya sea, explícitamente con el parámetro de inicialización NLS_DATE_FORMAT, o implícitamente con el parámetro de inicialización NLS_TERRITORY. Es posible modificar el formato de fecha por defecto en una sesión a través de la sentencia ALTER SESSION (3).

72

73

74 23 Funciones de una sola fila Función CASE Las expresiones CASE pueden clasificarse en dos tipos generales: expresiones sencillas y expresiones de múltiples condiciones. La sintaxis mostrada en [SQL 3-54] corresponde a expresiones CASE sencillas. En este tipo de expresiones la condición implícita utilizada es la igualdad (=). A través de las expresiones CASE de múltiples condiciones puede utilizarse una combinación de condiciones. La sintaxis se muestra en la figura (1). En este tipo de expresiones, Oracle9i Server busca de izquierda a derecha la primera ocurrencia de condición que sea verdadera, y devuelve return_expr. Si ninguna de las condiciones (condition) es verdadera y existe una cláusula ELSE, Oracle9i Server devuelve else_expr. En caso contrario, Oracle9i Server devuelve un valor nulo. El número máximo de argumentos en una expresión CASE es de 255, y cada par WHEN...THEN cuenta como dos argumentos. Para evitar exceder el límite de 128 posibilidades, es posible anidar expresiones CASE. Esto es, return_expr puede ser en sí misma una expresión CASE.

75 23 Funciones de una sola fila Función DECODE Si expr y search contienen datos caracter, Oracle9i Server los compara utilizando semántica de comparación sin completar con espacios en blanco. expr, search y result pueden ser de cualquiera de los tipos CHAR, VARCHAR2, NCHAR o NVARCHAR2. La cadena de caracteres retornada es de tipo VARCHAR2. Los valores search, result y default pueden ser derivados de expresiones. Oracle9i Server evalúa cada valor search únicamente antes de compararlo a expr. Como consecuencia, nunca se evalúa un valor search si un valor search previo es igual a expr (1). Oracle9i Server automáticamente convierte el valor expr y cada valor search al tipo de dato del primer valor search antes de realizar la comparación. Oracle9i Server automáticamente convierte el valor de retorno al tipo de dato del primer valor result. Si el primer valor result posee tipo de dato CHAR o es nulo, se convierte el valor de retorno al tipo de dato VARCHAR2. En una función DECODE, Oracle9i Server considera dos valores nulos como equivalentes. Si expr es nulo, se retorna el valor result del primer search que también es nulo. DECODE no necesariamente debe retornar un valor; la función puede retornar nulo (2). El número máximo de componentes en la función DECODE, incluyendo expr, searches, results y default, es 255.

76

77 Laboratorio

78 23 Funciones de una sola fila AI: Argumentos de entrada y respuesta de la Función Analice cada invocación de función y realice los siguientes ejercicios interactivos.? En base a la invocación y los argumentos de entrada recibidos, una con flechas la invocación correspondiente al valor retornado (1).? En base a la invocación y los argumentos de entrada recibidos, complete el valor retornado por la función (2).? En base a la invocación y los argumentos de entrada recibidos, una con flechas la invocación correspondiente al tipo de dato retornado (3).

79

80

81 23 Funciones de una sola fila AI: Conversión de datos Lea con atención la sintaxis de invocación de funciones y considerando el conjunto de posibles resultados, una con flechas según corresponda.

82 23 Funciones de una sola fila Síntesis Este tema introdujo funciones de una sola fila. Se ilustró que las funciones de una sola fila retornan un valor para cada fila al momento en que la misma es recuperada desde la tabla o vista de base. Funciones de una sola fila pueden ser utilizadas en sentencias SELECT en las cláusulas SELECT, WHERE y ORDER BY. Este tema cubrió la variedad de funciones disponibles para cada tipo de dato y algunas funciones que trabajan sobre cualquier tipo de dato.

83 2.4 Visualización de datos de varias tablas En la figura (1) se presenta una clasificación de los contenidos tratados en esta subunidad teniendo en cuenta la relación de los mismos con el Material del Estudiante (kit). Esta clasificación sugiere diferentes momentos de lectura, estudio y revisión entre los contenidos de este currículo y el Material del Estudiante (Kit). Según esta clasificación los contenidos pueden ser de: - Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas o unidad asociados al Material del Estudiante (Kit). - Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los subtemas, temas o unidad asociados al Material del Estudiante (Kit). - Lectura Adicional: Se sugiere la lectura posterior de estos contenidos como material adicional a los tratados en el Material del Estudiante (Kit). Prácticas : Actividades de laboratorios e interactivas incluidas como práctica adicional al Material del Estudiante (Kit).

84

85 2.4 Visualización de datos de varias tablas Objetivos Una base de datos posee muchas tablas donde se almacenan datos. En el tema "2.1 Escritura de sentencias SQL SELECT básicas" se vio cómo escribir consultas simples que seleccionan datos de una única tabla. La potencialidad primaria de bases de datos relacionales es la capacidad de unir dos o más tablas relacionadas y acceder a información. Utilizando la sentencia SELECT, es posible escribir consultas avanzadas que satisfacen requerimientos de usuario. Este tema focaliza la atención en la consulta a datos a partir de más de una tabla utilizando uniones de tabla. Oracle9i Sever ha enriquecido las capacidades al realizar uniones en conformidad al estándar ANSI/ISO SQL1999. Dicho tema abarca la funcionalidad de los varios tipos de uniones existentes, y ejercita la sintaxis apropiada en cada caso.

86 24 Visualización de datos de varias tablas Cuestionario de Iniciación Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas de iniciación. Si desea, puede desplegar su respuesta.

87

88

89 24 Visualización de datos de varias tablas Descripción de claves ajenas (Foreign Key) Una clave primaria no puede contener valores nulos. Esto es debido a que los valores de clave primaria son utilizados para identificar filas de manera unívoca en una tabla; si existieran valores de clave primaria nulos implica que no sería posible identificar algunas filas de la tabla. Dicho de otra forma, si dos o más filas de la tabla poseen valores nulos en su clave primaria, no sería posible distinguirlas. Este tipo de restricción de clave, o restricción de integridad sobre una relación, es impuesto sobre una o más columnas de una tabla individual. Por otro lado, restricciones de clave especificadas sobre dos tablas son utilizadas para mantener la consistencia entre filas de ambas tablas. Informalmente, una restricción de integridad referencial asevera que una fila en una tabla haciendo referencia a otra tabla debe referenciar a una fila existente en la tabla destino. Por ejemplo, la columna DEPARTMENT_ID de la tabla EMPLOYEES proporciona el número de departamento en el cual trabaja cada empleado; esto es, su valor en cada fila de la tabla empleado debe coincidir con el valor de la columna DEPARTMENT_ID de alguna de las filas en la tabla DEPARTMENTS. Una restricción de integridad referencial se establece a través de una clave foránea (1). En el ejemplo citado, la columna DEPARTMENT_ID en la tabla EMPLOYEES es una clave foránea y referencia a la tabla DEPARTMENTS, ya que sus valores (en EMPLOYEES) se corresponden a valores de clave primaria en la tabla DEPARTMENTS. Una clave foránea puede contener valores nulos, lo que implica que la fila correspondiente no posee una fila relacionada en la tabla destino. Una clave foránea puede hacer referencia a la misma tabla, estableciendo una autorelación. Por ejemplo, la columna MANAGER_ID de la tabla EMLPOYEES establece una autorelación entre empleados. Para un empleado determinado, la clave foránea MANAGER_ID referencia a otra fila en la misma tabla EMPLOYEES que corresponde al empleado director del empleado en cuestión (2).

90

91 24 Visualización de datos de varias tablas Descripción de claves ajenas (Foreign Key) Una clave primaria no puede contener valores nulos. Esto es debido a que los valores de clave primaria son utilizados para identificar filas de manera unívoca en una tabla; si existieran valores de clave primaria nulos implica que no sería posible identificar algunas filas de la tabla. Dicho de otra forma, si dos o más filas de la tabla poseen valores nulos en su clave primaria, no sería posible distinguirlas. Este tipo de restricción de clave, o restricción de integridad sobre una relación, es impuesto sobre una o más columnas de una tabla individual. Por otro lado, restricciones de clave especificadas sobre dos tablas son utilizadas para mantener la consistencia entre filas de ambas tablas. Informalmente, una restricción de integridad referencial asevera que una fila en una tabla haciendo referencia a otra tabla debe referenciar a una fila existente en la tabla destino. Por ejemplo, la columna DEPARTMENT_ID de la tabla EMPLOYEES proporciona el número de departamento en el cual trabaja cada empleado; esto es, su valor en cada fila de la tabla empleado debe coincidir con el valor de la columna DEPARTMENT_ID de alguna de las filas en la tabla DEPARTMENTS. Una restricción de integridad referencial se establece a través de una clave foránea (1). En el ejemplo citado, la columna DEPARTMENT_ID en la tabla EMPLOYEES es una clave foránea y referencia a la tabla DEPARTMENTS, ya que sus valores (en EMPLOYEES) se corresponden a valores de clave primaria en la tabla DEPARTMENTS. Una clave foránea puede contener valores nulos, lo que implica que la fila correspondiente no posee una fila relacionada en la tabla destino. Una clave foránea puede hacer referencia a la misma tabla, estableciendo una autorelación. Por ejemplo, la columna MANAGER_ID de la tabla EMLPOYEES establece una autorelación entre empleados. Para un empleado determinado, la clave foránea MANAGER_ID referencia a otra fila en la misma tabla EMPLOYEES que corresponde al empleado director del empleado en cuestión (2).

92

93 24 Visualización de datos de varias tablas Unión de tablas - La condición WHERE Para consultar datos a partir de más de una tabla, es necesario identificar columnas comunes que establezcan una relación entre las tablas. En la cláusula WHERE, se define la relación entre las tablas que aparecen en la cláusula FROM utilizando operadores de comparación. Dicha relación puede ser especificada utilizando una cláusula JOIN en vez de la cláusula WHERE. La cláusula JOIN es una característica nueva en Oracle9i Server, adicionada para satisfacer el estándar ISO/ANSI SQL1999. Una consulta de múltiples tablas sin una relación de este tipo es conocida como producto cartesiano o unión cruzada (cross join). El operador más común utilizado para relacionar dos tablas en el operador de igualdad (=). Se denomina unión de igualdad si se relacionan dos tablas utilizando el operador de igualdad. La unión de igualdad también es denominada unión simple, unión interna o equijoin. Este tipo de unión combina filas de dos tablas que poseen valores equivalentes para las columnas especificadas, y retorna únicamente las filas que satisfacen la condición de igualdad (1). Cuando la cláusula FROM incluye más de dos tablas, Oracle9i Server sigue un algoritmo de unión tomando conjuntos de dos tablas por vez (2).

94

95 24 Visualización de datos de varias tablas Condiciones adicionales a la unión de tablas Además de especificar la condición de unión en la cláusula WHERE, es posible especificar otras condiciones para limitar las filas recuperadas. Tales uniones son denominadas uniones complejas (1).

96 24 Visualización de datos de varias tablas Ambigüedad de columnas Si múltiples tablas poseen los mismos nombres de columna, los nombres de columna duplicados deben ser cualificados en la consulta con el nombre de tabla o alias correspondiente (excepto cuando se utiliza sintaxis ANSI SQL). La cualificación de nombres de columna evita ambigüedad e incrementa la legibilidad de la consulta (1) - (2).

97 24 Visualización de datos de varias tablas Utilización de Alias de las tablas De la misma forma que para las columnas, las tablas también pueden tener alias. El nombre alias de la tabla se especifica al lado de la tabla, separado con un espacio. Los alias de tabla incrementan la legibilidad de la consulta. Los mismos también pueden ser utilizados para acortar los nombres de tabla largos con nombres alias reducidos en tamaño. Cuando tablas (o vistas) son especificadas en la cláusula FROM, Oracle9i Server busca los objetos en el esquema (o usuario) conectado actualmente a la base de datos. Si la tabla pertenece a otro esquema, es necesario cualificar el nombre de tabla con el nombre del esquema correspondiente (esto puede evitarse utilizando sinónimos, los cuales serán tratados más adelante). Reglas de cualificación: Es posible utilizar el nombre del propietario (o esquema) para cualificar un nombre de tabla. Es posible utilizar el nombre de tabla o el nombre de tabla y el esquema para cualificar una columna (1) - (2). Es posible cualificar un nombre de columna con su esquema y tabla únicamente cuando el nombre de tabla ha sido cualificado con el esquema correspondiente. Cuando se utilizan nombres de alias de tabla, deben cualificarse los nombres de columna con el alias únicamente; cualificar las columnas con el nombre de tabla producirá un error (3).

98

99

100 24 Visualización de datos de varias tablas Uniones de NO igualdad Si la consulta relaciona dos tablas utilizando un operador de igualdad (=), la misma es una unión de igualdad, también denominada unión interna o equijoin. Si se utiliza cualquier otro operador para relacionar las tablas en la consulta, la misma es denominada unión de no igualdad.

101 24 Visualización de datos de varias tablas Uniones Externas Una unión interna retorna sólo las filas coincidentes de ambas tablas. A veces, es necesario visualizar los datos de una tabla aún si no existe la fila correspondiente en la tabla relacionada. Para realizar esto, Oracle9i Server provee un mecanismo denominado unión externa. La unión externa retorna resultados basada en al condición de unión interna, así como también en las filas no coincidentes de una o ambas tablas. En la sintaxis Oracle tradicional, el símbolo más encerrado entre paréntesis, (+), denota una unión externa en la consulta. Escriba (+) al lado del nombre de columna de la tabla donde puede no existir una fila correspondiente. Por ejemplo, para escribir una consulta que ejecute una unión externa de las tablas A y B y retorne todas las filas de A, se aplica el operador de unión externa (+) a todas las columnas de B en la condición de unión. Para todas las filas en A que no posean filas coincidentes en B, la consulta retorna valores nulos para las columnas de B. Dicho de otra manera, el operador de unión externa (+) va del lado de la relación donde se completa con valores nulos. Por ejemplo, para listar el país (de la tabla COUNTRIES) y la ciudad (de la tabla LOCATIONS), mostrando todos los países que pertenecen a la tabla COUNTRIES sin importar si poseen o no ciudades relacionadas en la tabla LOCATIONS. Para ejecutar esta unión externa, se utiliza un operador de unión externa junto a todas las columnas de la tabla LOCATIONS en la cláusula WHERE (1). El operador de unión externa (+) puede aparecer únicamente en la cláusula WHERE de una sentencia SELECT. Si existen múltiples condiciones de unión entre las tablas, el operador de unión externa debe ser utilizado en todas ellas (2) - (3). Una unión externa, conteniendo el operador (+), no puede ser combinada con otra condición utilizando los operadores OR o IN (4) - (5).

102

103

104

105

106 2.4 Visualización de datos de varias tablas Sintaxis en Uniones Externas Una unión externa izquierda es una unión entre dos tablas que retorna filas basada en la condición de comparación, así también como filas no coincidentes de la tabla que aparece del lado izquierdo en la cláusula FROM (o JOIN en sintaxis ANSI). Por ejemplo, si se combinan las tablas A y B (FROM A, B), y se desea visualizar todas las filas de A, el operador de unión externa es ubicado junto a todas las columnas de B. Esto es una unión externa izquierda. Notar el orden en que aparecen las tablas en la cláusula FROM (1). Una unión externa derecha es una unión entre dos tablas que retorna filas basada en la condición de comparación, así también como filas no coincidentes de la tabla que aparece del lado derecho en la cláusula FROM (o JOIN en sintaxis ANSI) (2). Cabe resaltar que una consulta incluyendo una unión externa de tablas puede ser escrita tanto por izquierda como por derecha (3). Una unión externa completa (o full) es una unión entre dos tablas que retorna filas basada en la condición de comparación, así también como filas no coincidentes de la tabla del lado izquierdo y filas no coincidentes de la tabla del lado derecho de la cláusula JOIN ( sintaxis ANSI). Por ejemplo, suponer que se desea listar todos los apellidos de los empleados con sus nombres de departamento. Se desea incluir en el listado a todos los empleados, aún si los mismos no poseen un departamento asignado. Y también se desea incluir en el listado a todos los departamentos, aún si no existen empleados trabajando en dicho departamento. Una unión externa completa resuelve este requerimiento (4). En sintaxis Oracle, una consulta de unión externa completa no puede escribirse en forma directa utilizando el operador de unión externa (+) (5). Una forma de escribir una consulta de unión externa completa en sintaxis Oracle es a través del operador UNION (6).

107

108

109

110

111

112

113

114 24 Visualización de datos de varias tablas Unión de una misma tabla Una autounión combina una tabla a sí misma. El nombre de la tabla aparece dos veces en la cláusula FROM, con diferentes nombres de alias obligatoriamente. Los dos alias son tratados como dos tablas diferentes, y las mismas se combinan de la misma forma que cualquier conjunto de otras tablas, a través de columnas en común (1). Cuando se ejecuta una autounión en sintaxis ANSI, siempre debe utilizarse la sintaxis JOIN...ON. Los tipos de unión NATURAL, y JOIN...USING no pueden ser utilizados (2).

115

116

117

118

119 Laboratorio Laboratorio

120 24 Visualización de datos de varias tablas AI: Importancia de las claves ajenas Diga si las siguientes afirmaciones son verdaderas o falsas en base al gráfico presentado conjuntamente.

121

122 24 Visualización de datos de varias tablas Síntesis Uniones son utilizadas para relacionar dos o más tablas (o vistas). Trabajando con una base de datos relacional, es común resolver un requerimiento que involucre la unión de datos. Las tablas son unidas (o relacionadas) utilizando una columna en común entre ambas tablas en la cláusula WHERE de la consulta. Oracle9i Server soporta la sintaxis de unión ANSI/ISO SQL1999. En dicha sintaxis, las tablas son unidas utilizando la palabra clave JOIN y una condición que pude ser especificada utilizando la cláusula ON. Si la condición de unión utiliza el operador de igualdad (= o IN), la unión es denominada unión de igualdad. Si se utiliza cualquier otro operador para unir las tablas, la unión es denominada unión de no igualdad. Si no se especifica ninguna condición de unión entre las tablas, el resultado será un producto cartesiano: cada fila de la primera tabla es unida a cada fila de la segunda tabla. Para evitar un producto cartesiano, deben existir al menos n-1 condiciones de unión en la cláusula WHERE cuando existen n tablas en la cláusula FROM. Una tabla puede ser unida a sí misma, este tipo de unión es denominado autounión. Si se desea seleccionar los resultados a partir de una tabla, aún si no existen las filas correspondientes en la tabla unida, se debe utilizar el operador de outer join: (+). En la sintaxis ANSI, es posible utilizar las palabras clave; NATURAL, JOIN, CROSS JOIN, LEFT JOIN, RIGHT JOIN, y FULL JOIN para especificar el tipo de unión a realizar.

123 2.5 Agregado de datos utilizando funciones de grupo Objetivos Como ya ha sido introducido anteriormente, las funciones son programas que reciben cero o más argumentos y retornan un valor único. Este tema abarca funciones de agregación, las cuales también son denominadas funciones de grupo. Funciones de grupo se diferencian de funciones de una sola fila en cómo las mismas son evaluadas. Funciones de una sola fila son evaluadas una vez por cada recuperada. Funciones de grupo son evaluadas sobre grupos de una o más filas a la vez. Este tema considera cuáles funciones de grupo están disponibles en SQL y las reglas sobre cómo utilizarlas. Juntamente a estos conceptos, se explora la invocación a funciones de anidamiento. SQL posibilita el anidamiento de funciones de grupo en la invocación a funciones de una sola fila, y el anidamiento de funciones de una sola fila en la invocación a funciones de grupo.

124

125 2.5 Agregado de datos utilizando funciones de grupo Objetivos Como ya ha sido introducido anteriormente, las funciones son programas que reciben cero o más argumentos y retornan un valor único. Este tema abarca funciones de agregación, las cuales también son denominadas funciones de grupo. Funciones de grupo se diferencian de funciones de una sola fila en cómo las mismas son evaluadas. Funciones de una sola fila son evaluadas una vez por cada recuperada. Funciones de grupo son evaluadas sobre grupos de una o más filas a la vez. Este tema considera cuáles funciones de grupo están disponibles en SQL y las reglas sobre cómo utilizarlas. Juntamente a estos conceptos, se explora la invocación a funciones de anidamiento. SQL posibilita el anidamiento de funciones de grupo en la invocación a funciones de una sola fila, y el anidamiento de funciones de una sola fila en la invocación a funciones de grupo.

126 25 Agregado de datos utilizando funciones de grupo Cuestionario de Iniciación Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas de iniciación. Si desea, puede desplegar su respuesta.

127

128

129 2.5 Agregado de datos utilizando funciones de grupo Descripción de las funciones de grupo En contraste con las funciones a nivel de fila, las funciones de grupo operan sobre conjuntos de filas para devolver un resultado por cada uno de ellos. Dichos grupos pueden estar constituidos por la tabla entera o por partes de la misma. Cada una de las funciones de grupo acepta un argumento. Algunas de las funciones de grupo disponibles se muestran en la figura (1). Muchas opciones de grupo aceptan estas opciones:? DISTINCT: esta opción causa que una función de grupo considere sólo valores distintos de una expresión argumento.? ALL: esta opción causa que una función de grupo considere todos los valores incluyendo todos los duplicados. Por ejemplo, el promedio DISTINCT de 1, 1, 1, y 3 es 2; el promedio ALL es 1,5. Si no se especifica una opción, se asume por defecto ALL. Todas las funciones de grupo, excepto COUNT(*), ignoran los valores nulos. Se puede usar la función NVL en el argumento de una función de grupo para sustituir un valor nulo por otro valor. Si una consulta con una función de grupo no retorna filas, o sólo retorna filas con valores nulos para el argumento de la función, la función de grupo retorna nulo.

130

131 25 Agregado de datos utilizando funciones de grupo Sintaxis de las funciones de grupo En la figura (1) se muestra la sintaxis de las funciones de grupo y en la figura (2) se muestran tres ejemplos de la utilización de las funciones de grupo.

132

133

134 25 Agregado de datos utilizando funciones de grupo La cláusula GROUP BY Si se usa la cláusula GROUP BY en una sentencia SELECT, Oracle9i Server divide las filas de una tabla o vista consultada en grupos. Oracle9i Server aplica las funciones de grupo en la lista SELECT a cada grupo de filas y retorna una única fila resultado para cada grupo. Si se omite la cláusula GROUP BY, Oracle9i Server aplica las funciones de grupo en la lista SELECT a todas las filas en la tabla o vista consultada. (1) Guía? En una consulta que contiene una cláusula GROUP BY, todos los elementos de la lista SELECT deben ser expresiones de la cláusula GROUP BY, expresiones que contienen funciones de grupo o constantes. Si hay fallas en la inclusión de columna, aparecerá un mensaje de error.? Con el uso de la cláusula WHERE se pueden excluir filas antes de la división en grupos.? No se puede usar la notación de posición o el alias de columna en la cláusula GROUP BY.? Por defecto, las filas se ordenan en forma ascendente de acuerdo a la lista GROUP BY. Esto se puede modificar haciendo uso de la cláusula ORDER BY. En la figura (2) se muestran ejemplos de la utilización de la cláusula GROUP BY.

135

136 25 Agregado de datos utilizando funciones de grupo Agrupación por más de una columna Se pueden devolver resultados resumen para grupos y subgrupos incluyendo más de una columna en la cláusula GROUP BY. El orden en el cual se listan las columnas en la cláusula GROUP BY determina la forma de ordenamiento por defecto. (1)

137 25 Agregado de datos utilizando funciones de grupo La cláusula HAVING La cláusula HAVING se usa para restringir cuáles grupos de filas, definidas por la cláusula GROUP BY, son retornadas por la consulta. Oracle9i Server procesa las cláusulas WHERE, GROUP BY y HAVING de la siguiente manera: 1 Si la sentencia contiene una cláusula WHERE, Oracle9i Server remueve todas las filas que no la satisfacen. 2 Oracle9i Server calcula y da formato a los grupos como se especifica en la cláusula GROUP BY. 3 Oracle9i Server remueve todos los grupos que no satisfacen la cláusula HAVING. Se deben especificar las cláusulas GROUP BY y HAVING después de la cláusula WHERE. Si se especifican ambas cláusulas (GROUP BY y HAVING), ellas pueden aparecer en cualquier orden. (1) Las funciones de grupo pueden aparecer en la lista de la cláusula SELECT y en la cláusula HAVING. En la figura (2) se muestran ejemplos de la utilización de la cláusula HAVING.

138

139 25 Agregado de datos utilizando funciones de grupo AI: Manejo de la cláusula Group By Arrastre la/s opcion/es hasta la posición correcta que crea necesaria/s para completar la sentencia SELECT que muestre del historial de cargos cada empleado y la cantidad de cargos que ha ocupado en la empresa, teniendo en cuenta solo los traspasos en que la fecha de inicio del cargo esta entre el año 1990 y el Ordene el resultado por número de empleado en forma ascendente.

140 25 Agregado de datos utilizando funciones de grupo AI: Manejo de la cláusula Having Arrastre la/s opcion/es hasta la posición correcta que crea necesaria/s para completar la sentencia SELECT que muestre para cada cargo el salario medio que perciben los empleados que tienen asignado ese cargo. Solo tener en cuenta los cargos que tengan mas de un empleado. Ordene la salida por el salario medio en forma descendente.

141 2.5 Agregado de datos utilizando funciones de grupo Síntesis Las funciones de grupo pueden ser utilizadas en una sentencia SELECT en las cláusulas SELECT, HAVING y ORDER BY. La mayoría de las funciones de grupo pueden ser aplicadas a todos los valores de datos o sólo a los valores de datos distintos. Excepto con COUNT(*), las funciones de grupo ignoran los valores nulos. Funciones definidas por el usuario (o escritas por el programador) no pueden ser utilizadas como funciones de grupo.

3 Consultas y subconsultas

3 Consultas y subconsultas 3 Consultas y subconsultas En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operación

Más detalles

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por:

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por: Oracle básico (II): Creación y manejo de tablas Con el artículo anterior iniciamos una entrega de Oracle Básico comenzando con el tema de creación y manejo de tablas. Ahora pasaremos a estudiar la consulta

Más detalles

6 Funciones avanzadas

6 Funciones avanzadas 6 Funciones avanzadas Adicionalmente a soportar el estándar SQL en su totalidad, Oracle9i Server incluye múltiples extensiones que facilitan la ejecución de operaciones complejas y mejoran la performance

Más detalles

6.0 Funcionalidades Adicionales

6.0 Funcionalidades Adicionales 6.0 Funcionalidades Adicionales Oracle Server provee dos maneras de resguardar su base de datos. La primera es el backup físico, el que consiste en la copia y restauración de los archivos necesarios de

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

Tutorial de SQL - El comando SELECT

Tutorial de SQL - El comando SELECT Tutorial de SQL - El comando SELECT El objetivo de este documento es guiar su aprendizaje del comando SELECT de SQL. La idea es que, estando conectado a sql*plus, lea este material mientras ejercita simultáneamente

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

Más detalles

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I Boletín de Problemas de la Asignatura II18 Bases de Datos Ingeniería Informática Universitat Jaume I Ingeniería Informática. Universitat Jaume I II18 - Bases de Datos. Práctica 1 Práctica 1 Objetivos de

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

SINTAXIS DE SQL-92. ::= CREATE SCHEMA [ ... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL MENDOZA DEPARTAMENTO DE INGENIERÍA EN SISTEMAS DE INFORMACIÓN CÁTEDRA DE GESTIÓN DE DATOS 3º AÑO TRABAJO ESPECIAL Secuencia Didáctica de Comandos del

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Guía práctica de SQL

Guía práctica de SQL Guía práctica de SQL Francisco Charte Ojeda Agradecimientos Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS Cómo usar este libro Convenciones tipográficas 1. El modelo relacional

Más detalles

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: CURSO DE ORACLE DESCRIPCIÓN Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.

Más detalles

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1 TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1. Definición de SQL. Características 2. Selección del origen de los datos. Cláusula FROM 3. Selección de columnas. Columnas calculadas 4.

Más detalles

El lenguaje SQL es un lenguaje estándar para el acceso y

El lenguaje SQL es un lenguaje estándar para el acceso y 1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 1. Cuáles de los siguientes enunciados son declaraciones válidas? 2. Cuál de

Más detalles

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana. TALLER #5 ACCESS CONSULTAS Las consultas son los objetos de una base de datos que permiten recuperar datos de una tabla, modificarlos e incluso almacenar el resultado en otra tabla. TIPOS DE CONSULTAS

Más detalles

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

LAS CONSULTAS ACCESS 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS CONSULTAS ACCESS 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS CONSULTAS ACCESS 2007 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS CONSULTAS En esta unidad veremos cómo crear consultas y manejarlas para la edición de registros de tablas

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

Gobierno del Estado de México

Gobierno del Estado de México Gobierno del Estado de México Escuela Preparatoria Oficial No. 82 José Revueltas Hay que alcanzar la exaltación verdadera, para lograrlo, hay que ser serenos, sin prisas, estudiar, trabajar y disciplinarse

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo. 16/05/2012 1 Todo modelo de datos debe definir un lenguaje de definición de datos para crear las estructuras donde se almacenará la información y un lenguaje de manipulación de datos con el que acceder

Más detalles

5 Objetos de base de datos

5 Objetos de base de datos 5 Objetos de base de datos Una consulta SQL, restringiendo las filas resultantes, agrupando valores a nivel de grupos de datos, realizando conversiones de datos, etc., puede ser almacenada en la base de

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

Grupo Kybele, http://www.kybele.es/ Pág. 1

Grupo Kybele, http://www.kybele.es/ Pág. 1 Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

Más detalles

Tipo de Dato TRANSACT SQL

Tipo de Dato TRANSACT SQL Tipos De Datos TRANSACT SQL Tipo de Dato Descripción Numéricos aproximados: float Punto flotante, desde -1.79 E 308 a 1.79 E 308 real Punto flotante, desde 3.40 E 38 a 3.40 E 38 Int entero entre (2 31

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

CONSULTAS SIMPLES SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS SIMPLES SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS SIMPLES SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS SIMPLES Vamos a empezar por la instrucción que más se utiliza en SQL, la sentencia SELECT. La

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO

Más detalles

Implementación de funciones definidas por el usuario

Implementación de funciones definidas por el usuario Implementación de funciones definidas por el usuario Contenido Introducción 1 Qué es una función definida por el usuario? 2 Definición de funciones definidas por el usuario 3 Ejemplos de funciones definidas

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

BREVE INTRODUCCIÓN AL SQL Aplicación al Programa Escuela Última actualización: 17/10/2000

BREVE INTRODUCCIÓN AL SQL Aplicación al Programa Escuela Última actualización: 17/10/2000 Secretaría General de Educación y Formación Profesional Dirección General de Educación, Formación Profesional e Innovación Educativa Subdirección General de Acción Educativa BREVE INTRODUCCIÓN AL SQL Aplicación

Más detalles

Manual de ACCESS Intermedio

Manual de ACCESS Intermedio Manual de ACCESS Intermedio Funciones agregadas (GROUP BY) Las funciones agregadas proporcionan información estadística sobre conjuntos de registros. Por ejemplo, puede usar una función agregada para contar

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

3. CÁLCULOS Y FORMATOS CONDICIONALES

3. CÁLCULOS Y FORMATOS CONDICIONALES colores, tendremos las opciones Mínima y Máxima, con tres campos cada una: Tipo, Valor y Color. Con este formato podemos crear una regla que le asigne un color al menor valor y otro al mayor, y dé a los

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

Introducción al lenguaje JAVA

Introducción al lenguaje JAVA Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA M.C.. José Juan Hernández ndez Mora Segunda Sesión 1. Arreglos 2. Matrices 3. Clases en Java 4. Clases de Usuario en Java 5. Objetos definidos

Más detalles

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN 2.1.- EJEMPLO DE UN PROGRAMA FORTRAN Con el presente apartado comenzaremos a conocer cómo se escribe un programa en lenguaje FORTRAN bajo el entorno de programación FORTRAN. En primer lugar conozcamos

Más detalles

MS_20461 Querying Microsoft SQL Server

MS_20461 Querying Microsoft SQL Server Gold Learning Gold Business Intelligence Silver Data Plataform www.ked.com.mx Por favor no imprimas este documento si no es necesario. Introducción. Este curso proporciona a los estudiantes las habilidades

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

Práctica 1. 1. Obtener el código y el doble del precio de los artículos cuyo precio es inferior a 5 céntimos de euro.

Práctica 1. 1. Obtener el código y el doble del precio de los artículos cuyo precio es inferior a 5 céntimos de euro. Práctica 1 Objetivos de aprendizaje: Funcionamiento de la sentencia select y sus cláusulas select, from y where. Uso del modificador distinct. Expresiones en las cláusulas select y where. Ejercicios: 1.

Más detalles

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

Más detalles

%& %)& '$!%*+ $, %%%&$ %%

%& %)& '$!%*+ $, %%%&$ %% OBJETIVO!!"#$$ %& '(%"#% (% %& %)& '$!%*+ $, %%%&$ %% REQUERIMIENTOS SOFTWARE VERSIÓN LINK Java Development Kit (JDK) 6 http://java.sun.com NetBeans 6.1 http://www.netbeans.org MySQL 5.0 http://dev.mysql.com/

Más detalles

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico.

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico. 1 Primeros pasos en R. Al iniciarse R (ver Figura 16), R espera la entrada de órdenes y presenta un símbolo para indicarlo. El símbolo asignado, como puede observarse al final, es > Figura 16. Pantalla

Más detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

MS_10774 Querying Microsoft SQL Server 2012

MS_10774 Querying Microsoft SQL Server 2012 Querying Microsoft SQL Server 2012 www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción Este curso de cinco días impartido por instructor,

Más detalles

A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN

A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN Pag - 1 Guía de Elaboración de Reportes Herramienta de Administración 2.0 A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN NOTA: Los pasos de esta sección deben ser ejecutados si identifica realizar

Más detalles

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs.

Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER. Duración : 35 Hrs. Curso Oficial Microsoft: LENGUAJE DE CONSULTA DE SQL SERVER Duración : 35 Hrs. Sobre este curso Este curso de 5 días impartido por un instructor proporciona a estudiantes con las habilidades técnicas necesarias

Más detalles

Vistas en postgresql

Vistas en postgresql Vistas en postgresql Conceptos y definición de Vista Los usuarios que acceden a una base de datos relacional, lo hacen típicamente a través de vistas, de modo que diferentes usuarios tienen diferentes

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

3.2 Operaciones aritmético-lógicas en Pascal

3.2 Operaciones aritmético-lógicas en Pascal 3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES

Más detalles

Manual de agente de comunicaciones

Manual de agente de comunicaciones Manual de agente de comunicaciones Preparado por: Ivan Ticona Fecha: 15-10-2009 Contenido... 2 Manual del agente de comunicaciones... 1.Objetivo... 2.Alcance....Terminología... 4.Instalación... 5.Instalación

Más detalles

Tema 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

Más detalles

2. ESTUDIO DE INDICES

2. ESTUDIO DE INDICES Asignatura de Administración de Bases de Datos Curso 2011/2012 Pág. 1 PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS Una compañía de salud gestiona datos relativos a las consultas médicas a pacientes por

Más detalles

Construcción de la base de datos en Oracle

Construcción de la base de datos en Oracle Estructura de contenidos. INTRODUCCIÓN...2 1. CREACIÓN DE UN USUARIO...3 2. CONSTRUCCIÓN DE LA ESTRUCTURA DE ALMACENAMIENTO...6 2.1 Crear Tabla Pacientes...7 2.2 Crear Tabla Médicos...11 2.3 Crear Tabla

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Lenguaje C. Tipos de Datos Simples y Estructuras de Control Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede

Más detalles

6- Combinación de tablas

6- Combinación de tablas Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción

Más detalles

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. SQL (Lenguaje de Consulta Estructurado): Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. ANSI (Instituto

Más detalles

Guia para conversión de datos en SQL SERVER 2000-2008

Guia para conversión de datos en SQL SERVER 2000-2008 LUIS FERNANDO GARCIA RODRIGUEZ ELECTIVA TECNOLOGICA III BASES DE DATO CONEXIÓN A.NET Guia para conversión de datos en SQL SERVER 2000-2008 Funciones de conversión de tipos de datos Las conversiones de

Más detalles

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia: TRABAJANDO CON SQL*PLUS El objetivo de este tema es simplemente, hacer una revisión de los conceptos avanzados de SQL, para ello, empezaremos por ver como se accede a SQL*PLUS y como crear usuarios, para

Más detalles

Manual Instalación y Operación Cliente Comunicaciones. Manual de Instalación, Configuración y Uso del Cliente de comunicaciones

Manual Instalación y Operación Cliente Comunicaciones. Manual de Instalación, Configuración y Uso del Cliente de comunicaciones Manual de Instalación, Configuración y Uso del Cliente de comunicaciones Fecha: 23-10-2012 Contenido...2 1.Objetivo...3 2.Alcance...3 3.Terminología...3 4.Instalación...3 4.1.Instalación del cliente de

Más detalles

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 201-II SÍLABO 1. DATOS GENERALES UNIDAD DIDÁCTICA : DESARROLLO DE APLICACIONES CON BASE DE DATOS MÓDULO : DESARROLLO DE SOFTWARE

Más detalles

Curso de introducción a Oracle Application Express. Disertante: A.S. Ezequiel Portela

Curso de introducción a Oracle Application Express. Disertante: A.S. Ezequiel Portela Curso de introducción a Oracle Disertante: A.S. Contenidos Sobre el Curso... 4 Qué es APEX?... 4 Introducción al Curso... 4 Requisitos... 5 Modalidad... 5 Módulo 1: Fundamentos de Oracle SQL y PLSQL...

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

Unidad. Lenguaje SQL. (Structured Query Language)

Unidad. Lenguaje SQL. (Structured Query Language) Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio

Más detalles

Sistemas de Bases de Datos II

Sistemas de Bases de Datos II Sistemas de Bases de Datos II SQL Avanzado Docente: T/RT Gonzalo Martínez CETP EMT Informática Introducción Esta diapositiva tratar consultas SQL avanzadas. Las mismas involucraran consultas SQL para obtener

Más detalles

Herramientas de Bases de Datos con OpenOffice.org.

Herramientas de Bases de Datos con OpenOffice.org. Herramientas de Bases de Datos con OpenOffice.org. Para utilizar las herramientas de bases de datos en OOo se selecciona la opción Fuente de Datos del menú Ver o el icono Fuente de Datos de la barra de

Más detalles

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO TRABAJO REALIZADO COMO APOYO PARA LA CATEDRA INFORMATICA I Autora: Ing. Ing. Sylvia

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad

Más detalles

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER GUÍA DE LABORATORIO Nº 1O Actividad de Proyecto No. 12: ESTABLECER PLANES DE RESGUARDO, RESTAURACION Y CONTINGENCIA. Estructura de contenidos.

Más detalles

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:

Más detalles

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios,

Más detalles