Translate

miércoles, 5 de noviembre de 2014

Lenguaje SQL



Definicion de datos en SQL.      

La estructura básica de una base de datos relacional.


La tabla es la unidad básica de gestión de datos en una base de datos relacional en SQL. El esquema de la tabla está definida por las columnas y sus tipos.
Una tabla es un objeto de una base de datos que almacena datos en una colección de filas y columnas.  Una tabla se define por las columnas que contiene. Así los datos pueden organizarse de forma similar a una hoja de cálculo.
Recordar que una Tabla es lo mismo que una Relación.
Para definir una tabla se debe decidir qué columnas definir y que tipo de datos, como por ejemplo datos de caracteres o numéricos, se permite que haya en cada columna. 
También se debe decidir sobre un rango permisible a esos datos – por ejemplo, podría decidirse permitir hasta 30 caracteres o números de 4 bytes. Estos atributos se especifican mediante la asignación a cada columna de un tipo de datos, que es un conjunto de atributos que determinan que tipo y rango de datos puede albergar esa columna.

La asignación de tipos de datos a una columna fija los siguientes atributos:
ü La clase de datos que la columna puede contener, como caracteres, enteros o imagines.
ü El tamaño o longitud de los datos de una columna.
ü La precisión del número (solo para tipos numéricos)  - esto es, el número de dígitos que puede contener un número.
ü La escala del número (sólo para tipos numéricos) – esto es, el número de dígitos que pueden almacenarse a la derecha del punto decimal.

A continuación se darán a conocer un conjunto de tipos de datos pertenecientes a SQL SERVER. Cada SGBD posee sus tipos de datos que varían en nombre pero no en conceptos.
Tipos de Datos SQL SERVER:
Numéricos: BIT, INT, SMALLINT, DECIMAL, NUMERIC, MONEY, SMALMONEY, FLOAT.
Fechas: DATETIME, SMALLDATETIME.
String: CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXT.
String Binarias : BINARY, VARBINARY, IMAGE
Creación de Tablas
El comando CREATE TABLE tiene por finalidad crear una nueva tabla en la base de datos. SQL SERVER permite hasta dos billones de tablas por base de datos y hasta 1024 columnas por tabla. No existe limite para la cantidad de filas por tabla, salvo por el espacio físico disponible.
Nomenclatura:
CREATE TABLE table_name ( { <column_definition> | column_name as computed_colum_expression | <table_constraint> } [, …. N] [ON { filegroup | DEFAULT} ] [ TEXTIMAGE_ON {filegroup | DEFAULT ]
Table_name. Es el nombre de la tabla que se va a crear.
<Column_definition>. Especifica el tipo de datos de la columna de la tabla.

Eliminación de Tablas
Tal como existe una sentencia para crear tablas existe una para borrarlas por completo de un esquema (schema, este se define por lo nombres de usuarios definidos para la base de datos).
Nomenclatura:
DROP TABLE nombre_tabla_a_eliminar
Ejemplo:
DROP TABLE Demo2                                    
Uso de Valores NULL
Un valor NULL es un valor desconocido al que se le refiere como NULL.
La admisión de nulos de una columna se refiere a la posibilidad de la columna de aceptar o rechazar valores NULL.
Un valor NULL en una columna indica normalmente que no se ha introducido nada para una fila particular de datos porque el valor es desconocido, no aplicable, no definido o se ha de añadir en un momento posterior.
Los valores NULL no son ni valores vacíos ni valores 0; sus valores verdaderos son desconocidos -  así no hay dos valores NULL que sean iguales.
Valor por DEFECTO
A las columnas también se les puede colocar un valor por defecto, en el caso de que no se ingresen datos en esa fila. Para poder hacer esto la columna debe ser pensada para aceptar datos NULL.
Nomenclatura:
                nombre_atributo tipo_de_dato DEFAULT (Valor)
Ejemplo:
CREATE TABLE ejemplo (
                atributo1 int NOT NULL,
                atributo2 char DEFAULT (‘A’),
                atributo3 int DEFAULT(1)
)

Propiedad IDENTITY
Al crear una tabla se puede especificar una columna como columna de identidad añadiendo la propiedad IDENTITY a la definición de la columna.
Si se crea una columna con la propiedad IDENTITY se genera automáticamente un valor de fila para esa columna, basándose en un valor semilla y un valor de incremento.
Ejemplo:
              valor semilla (1) y valor incremento (2)
  Para la primera fila el valor del atributo sería 1
  Para la segunda fila el valor del atributo sería 3
Nomenclatura:
  Nombre_Atributo tipo_dato IDENTITY (valor semilla, valor incremento)
  ALTER TABLE
La instrucción ALTER TABLE se utiliza para modificar la definición  o los atributos de una tabla.
Se pueden modificar columnas, eliminar atributos, modificar restricciones, añadir atributos, etc.
Nomenclatura:
ALTER TABLE nombre_tabla
(tipo de cambio) ALTER COLUMN, ADD, DROP.

Estructura basica de las consultas en SQL.   

En la mayoría de casos el comando mas utilizado dentro del lenguaje SQL me atrevo a decir que es el comando SELECT ya que este permite realizar las consultas sobre los datos que tenemos en la BD obteniendo así los datos de la misma.

Para ir entrando mas en materia, dentro de SQL encontramos los siguientes lenguajes DML, DDL, DCL, se preguntarán ustedes y eso que significa, ahora les explico.

DML  En inglés esto significa Data Manipulation Languaje o sea es un Lenguaje de manipulación de datos, como su mismo nombre lo indica, con este podemos realizar lo siguiente, Insertar registros en la BD, Actualizar registros en la BD, Borrar registro en la BD, entre otros, los comandos utilados para este lenguajes son los siguientes:
  • Insert: Permite insertar registros en las tablas
  • Update: Permite Actualizar el contenido de los registros dentro de las tablas
  • Delete: permite borrar registros de una tabla



DDL En inglés esto significa, Lenguaje de Definición de Datos o sea es un Lenguaje que me permite modificar la estructura de las tablas de la BD, cuando me refiero a modificar la estructura de las tablas, esto significa por ejemplo,Crear una tabla, Borrar una trabla, Trunca una tabla, Renombrar una tabla o en su defecto Alterar una tabla. Los comandos usados para esto son los siguientes.

  • Create: Permite crear una tabla
  • Drop: Permite eliminar la tabla por completo incluyendo toda su estructura
  • Truncate: Permite eliminar el contenido completo de una tabla, similar al comando DELETE pero este es más rápido, en su momento les indicaré porque razón.
  • Rename: Permite cambiar el nombre de una tabla.
  • Alter: Permite alterar la estructura de una tabla, agregando columnas, modificando tipos de datos, etc.


DCL: En inglés esto significa, Data Control Languaje o sea Lenguaje de Control de Datos, como su mismo nombre lo indica, nos permite administrar los derechos y restricciones que se les aplica a los usuarios sobre el nivel de acceso que ellos pueden tener a la BD, los comando usados son.

  • Grant: Permite asignar permisos.
  • Revoke: Permite retirar los permisos.


INSTRUCCIONES DE TRANSFERENCIA: Sirve para poder administrar las modificaciones creadas por las instrucciones DML. Como por ejemplo, deshacer algo que se haya realizado, o confirmar lo que se ha realizado. Las instrucciones de transferencia son las siguientes:

  • Commit: Se usa para confirmar algún tipo de modificación realizada en la BD.
  • Rollback: Se usa para deshacer algún tipo de modificación realizada en la BD.
  • Savepoint: Marca un punto de referencia en alguna modificación para poder hacer un Rollback parcial. Algo similar a como funciona un punto de restauración.
  • Cabe mencionar que existe sentencias SQL que se auto-confirman y estas no se pueden regresar.


   Operaciones sobre conjuntos en SQL. 


Entity SQL proporciona varias operaciones de conjuntos muy eficaces. Por ejemplo, incluye operadores de conjuntos del estilo de los de SQL como UNION, INTERSECT, EXCEPT y EXISTS. Entity SQL también es compatible con operadores para la eliminación de duplicados (SET), la prueba de pertenencia a un grupo (IN) y las combinaciones (JOIN). En los temas siguientes se describen los operadores de conjuntos de Entity SQL.
  • ANYELEMENT (Entity SQL)  Extrae un elemento de una colección de varios valores.
    ANYELEMENT ( expression ) 
  • EXCEPT (Entity SQL)  Devuelve una colección de los valores distintos de la expresión de consulta situada a la izquierda del operando EXCEPT, que no se devuelven también en la expresión de consulta situada a la derecha del operando EXCEPT. Todas las expresiones deben ser del mismo tipo o de un tipo base común o derivado como expression.
    expression EXCEPT expression
  • FLATTEN (Entity SQL) Convierte una colección de colecciones en una colección plana. La nueva colección contiene los mismos elementos que la colección anterior, pero sin una estructura anidada.
    FLATTEN ( collection )
  • INTERSECT (Entity SQL) Devuelve una colección de los valores distintos que devuelven las expresiones de consulta situadas a los lados izquierdo y derecho del operando INTERSECT. Todas las expresiones deben ser del mismo tipo que expression o de un tipo base común o derivado.
    expression INTERSECT expression
  • [NOT] EXISTS (Entity SQL)  Determina si una colección está vacía.
    [NOT] EXISTS ( expression )
  • [NOT] IN (Entity SQL) Determina si un valor determinado coincide con algún valor de una colección.
    value [ NOT ] IN expression
  • OVERLAPS (Entity SQL) Determina si dos colecciones tienen elementos comunes.
    expression OVERLAPS expression
  • La expresión SET se usa para convertir una colección de objetos en un conjunto produciendo una colección nueva en la que se han quitado todos los elementos duplicados.
    SET ( expression )

Combina los resultados de dos o más consultas en una sola colección.
expression
UNION [ ALL ]
expression


No hay comentarios.:

Publicar un comentario