Descargar

Introducción a Bases de Datos y SQL (página 2)

Enviado por Luis Sanchez


Partes: 1, 2

computed_column_expression: Es una expresión que define el valor de una columna calculada. Una columna calculada es una columna virtual que no está almacenada físicamente en la tabla, a menos que la columna esté marcada con PERSISTED. La columna se calcula a partir de una expresión que utiliza otras columnas de la misma tabla. Por ejemplo, una columna calculada puede tener la definición cost AS price * qty. La expresión puede ser un nombre de columna no calculada, una constante, una función, una variable o cualquier combinación de estos elementos conectados mediante uno o más operadores. La expresión no puede ser una subconsulta ni contener tipos de datos de alias.

ON { | filegroup | "default" }: Especifica el esquema de partición o el grupo de archivos en que se almacena la tabla. Si se especifica , la tabla será una tabla con particiones cuyas particiones se almacenan en un conjunto de uno o más grupos de archivos especificados en . Si se especifica filegroup, la tabla se almacena en el grupo de archivos con nombre. El grupo de archivos debe existir en la base de datos. Si se especifica "default" o si ON no se especifica en ninguna parte, la tabla se almacena en el grupo de archivos predeterminado. El mecanismo de almacenamiento de una tabla según se especifica en CREATE TABLE no se puede modificar posteriormente.

CREAR UN ÍNDICE

edu.red

PAD_INDEX = { ON | OFF }: Cuando es ON, el porcentaje de espacio disponible especificado por FILLFACTOR se aplica a las páginas de nivel intermedio del índice. Cuando es OFF o no se especifica ningún valor de FILLFACTOR, las páginas de nivel intermedio se rellenan casi al máximo de su capacidad dejando espacio suficiente para al menos una fila del tamaño máximo que el índice puede contener teniendo en cuenta el conjunto de claves de las páginas intermedias. El valor predeterminado es OFF.

FILLFACTOR = { 0 – 100}: Especifica un porcentaje que indica cuánto debe llenar Database Engine (Motor de base de datos) el nivel hoja de cada página de índice cuando se crea o se altera un índice.

INGRESAR DATOS A LAS TABLAS:

edu.red

TOP (expression) [ PERCENT ]: Especifica el número o porcentaje de filas aleatorias que se van a insertar. expression puede ser un número o un porcentaje de filas. Las filas a las que se hace referencia en la expresión TOP utilizadas con INSERT, UPDATE o DELETE no presentan ningún orden.

INTO: Es una palabra clave opcional que se puede utilizar entre INSERT y la tabla de destino.

server_name: Es el nombre del servidor (con la función OPENDATASOURCE como nombre del servidor) en el que se encuentra la tabla o la vista. Si se especifica server_name, son obligatorios database_name y schema_name.

rowset_function_limited: Especifica la función OPENQUERY u OPENROWSET.

WITH ( [… n ] ): Especifica una o más sugerencias de tabla permitidas para una tabla de destino. La palabra clave WITH y los paréntesis son obligatorios.

ACTUALIZAR DATOS EN TABLAS

edu.red

ELIMINANDO DATOS

edu.red

Truncate quita todas las filas de una tabla sin registrar las eliminaciones individuales de filas. Desde un punto de vista funcional, TRUNCATE TABLE es equivalente a la instrucción DELETE sin una cláusula WHERE; no obstante, TRUNCATE TABLE es más rápida y utiliza menos recursos de registros de transacciones y de sistema. No puede hacer rollback.

CONSULTAR DATOS

edu.red

GRUPOS DE FUNCIONES/OPERADORES

  • String functions

  • Numeric functions

  • Date functions

  • Aggregate function

  • System functions

  • Meta-data functions

edu.red

CASE

edu.red

AGREGACIÓNSon funciones que toman una colección de valores como entrada y producen un único valor de salida. SQL proporciona cinco funciones de agregación primitivas:

  • avg: media aritmética de un atributo o una expresión numérica

  • min: mínimo de un atributo o expresión numérica

  • max: máximo de un atributo o expresión numérica

  • sum: suma total de atributos o expresiones numéricas

  • count (*): contador de tuplas

  • count (distinct): contador de tuplas parcial, no tiene en cuenta valores nulos ni duplicados

edu.red

ALIAS

Permite hacer referencia a una tabla o a un campo a través de otro nombre (alias)

edu.red

FILTRAR DATOS

edu.red

JOINS

La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL), hay tres tipo de JOIN: interno, externo, y cruzado.

En casos especiales una tabla puede unirse a sí misma, produciendo una auto-combinación, SELF-JOIN. Matemáticamente, JOIN es composición relacional, la operación fundamental en el álgebra relacional, y generalizando es una función de composición.

INNER JOIN

Esta operación se calcula el producto cruzado de todos los registros; así cada registro en la tabla A es combinado con cada registro de la tabla B; pero sólo permanecen aquellos registros en la tabla combinada que satisfacen las condiciones que se especifiquen. Este es el tipo de JOIN más utilizado por lo que es considerado el tipo de combinación predeterminado.

Es necesario tener especial cuidado cuando se combinan columnas con valores nulos NULL ya que el valor nulo no se combina con otro valor o con otro nulo, excepto cuando se le agregan predicados tales como IS NULL o IS NOT NULL.

edu.red

CROSS JOIN

Presenta el producto cartesiano de todos los registros de las dos tablas. El código SQL para realizar este producto cartesiano enuncia las tablas que serán combinadas, pero no incluye algún predicado que filtre el resultado. Une el i-ésimo registro de la tablas A con el i-ésimo registro de la tabla B, sin significado lógico alguno.

edu.red

LEFT OUTER JOINEl resultado de esta operación siempre contiene todos los registros de la tabla de la izquierda (la primera tabla que se menciona en la consulta), aun cuando no exista un registro correspondiente en la tabla de la derecha, para uno de la izquierda. La sentencia LEFT OUTER JOIN retorna la pareja de todos los valores de la tabla izquierda con los valores de la tabla de la derecha correspondientes, o retorna un valor nulo en caso de no correspondencia.

RIGHT OUTER JOINEsta operación es inversa a la anterior; el resultado de esta operación siempre contiene todos los registros de la tabla de la derecha (la segunda tabla que se menciona en la consulta), aun cuando no exista un registro correspondiente en la tabla de la izquierda, para uno de la derecha.

edu.red

FULL OUTER JOINEsta operación presenta los resultados de tabla izquierda y tabla derecha aunque no tengan correspondencia en la otra tabla. La tabla combinada contendrá, entonces, todos los registros de ambas tablas y presentará valores nulos NULLs para registros sin pareja.

SUBCONSULTASUna subconsulta es una sentencia SELECT que aparece dentro de otra sentencia SELECT. Normalmente se utilizan para filtrar una clausula WHERE o HAVING con el conjunto de resultados de la subconsulta, aunque también pueden utilizarse en la lista de selección.

edu.red

En este caso, la subconsulta se ejecuta en primer lugar, obteniendo el valor de la máxima fecha de alquier, y posteriormente se obtienen los datos de la consulta principal. Una subconsulta tiene la misma sintaxis que una sentencia SELECT normal exceptuando que aparece encerrada entre paréntesis. La subconsulta se puede encontrar en la lista de selección, en la cláusula WHERE o en la cláusula HAVING de la consulta principal. Tiene las siguientes reestricciones:

  • No puede contener la cláusula ORDER BY

  • No puede ser la UNION de varias sentencias SELECT

  • Si la subconsulta aparece en la lista de selección, o está asociada a un operador igual "=" solo puede devolver un único registro.

GROUP BYLa clausula GROUP BY combina los registros con valores idénticos en un único registro. Para cada registro se puede crear un valor agregado si se incluye una función SQL agregada, como por ejemplo Sum o Count, en la instrucción SELECT. Su sintaxis es:

edu.red

GROUP BY es opcional. Si se utiliza GROUP BY pero no existe una función SQL agregada en la instrucción SELECT se obtiene el mismo resultado que con una consulta SELECT DISTINCT. Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante, los valores Null no se evalúan en ninguna de las funciones SQL agregadas. Todos los campos de la lista de campos de SELECT deben incluirse en la cláusula GROUP BY o como argumentos de una función SQL agregada.

HAVINGUna vez que GROUP BY ha combinado los registros, HAVING muestra cualquier registro agrupado por la cláusula GROUP BY que satisfaga las condiciones de la cláusula HAVING. Se utiliza la cláusula WHERE para excluir aquellas filas que no desea agrupar, y la cláusula HAVING para filtrar los registros una vez agrupados. HAVING es similar a WHERE, determina qué registros se seleccionan. Una vez que los registros se han agrupado utilizando GROUP BY, HAVING determina cuales de ellos se van a mostrar. HAVING permite el uso de funciones agregadas.

TRANSACCIONES

Sirven para mantener los datos consistentes, definiendo una operación atómica. Cada transacción dura hasta que se completa sin errores y se emite COMMIT para hacer que las modificaciones sean una parte permanente de la base de datos, o hasta que se produzcan errores y se borren todas las modificaciones con la instrucción ROLLBACK.

BEGIN TRANSACTION representa un punto en el que los datos a los que hace referencia una conexión son lógica y físicamente coherentes. Si se producen errores, se pueden revertir todas las modificaciones realizadas en los datos después de BEGIN TRANSACTION para devolver los datos al estado conocido de coherencia.

edu.red

 

 

 

Autor:

Luis Sánchez

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente