sábado, 20 de octubre de 2018

Tipos de Datos en SQL SERVER

Buenas noches queridos lectores, en esta ocasión hablaremos de los tipos de datos en SQL SERVER, ya vimos como crear una base de datos con archivos secundarios, también vimos como crear tablas indicando el archivo secundario en el que se guardaran esas tablas, también creamos una tabla sencilla, y allí utilizamos los tipos de datos, pero ahora se los voy a explicar.

Tipos de Datos

El tipo de datos específica de qué clase de información se trata (numérica, de texto, de fecha, decimal, etc) y cuánto espacio ocupa esa información en una columna en partícular.

Algunos tipos de datos tienen una longitud variable, mientras que otros tienen longitud fija. Los tipos de datos de Microsoft SQL Server pueden dividirse en los grupos siguientes:

  • Numeros exactos
  • Numeros aproximados
  • Fecha y hora
  • Texto (String)
  • Binarios
  • Especiales (creados por el usuario)

Cada uno de esto tipos de datos tiene un dominio asociado, es decir, permiten cierto tipo de valores. Por ejemplo si queremos crear una base de datos de animales y tenemos una columna llamada "Animal", es evidente que el tipo de datos será de texto, imposible que sea números, o de fecha, es por esa razón que debemos indicar el tipo de dato que vamos a guardar en una columna determinada.

Existe la posibilidad que se especifique si la columna puede tener nulidad, si el valor puede quedar en blanco se establece como NULL, sin embargo si es necesario u obligatorio llenarlo se procede con un NOT NULL.

Veamos más a detalle los tipos de Datos

Números exactos 


Los tipos de datos numéricos son los siguientes: 
  1. bigint
  2. int
  3. smallint
  4. tinyint
  5. bit
  6. decimal
  7. numeric
  8. money
  9. smallmoney

Veamos la siguiente tabla:


Como vemos en la tabla, un campo cuyo tipo de dato sea bigint, tendrá un rango bastante grande, a diferencia del tinyint, cuyo máximo es de 255.

En el caso del tipo bit, solo permite dos valores, 0 y 1, algo similar a lo que pasaba en versiones anteriores con el campo de tipo bool.

El campo decimal y numeric es exactamente el mismo, puede usarse cualquiera de los dos..

Los tipos money y smallmoney, se utilizan únicamente para guardar cantidades de moneda.

Números aproximados


Los tipos de datos numéricos aproximados son los siguientes: 
  1. float
  2. real

Veamos la siguiente tabla:


Este tipo de datos, van a permitir especificar una aproximación que nosotros le indiquemos, en este caso el número de dígitos permitidos a la izquierda y derecha del punto decimal, como vemos en la tabla, el tipo de dato float, permite mayor precisión que el tipo de dato real.

Fecha y hora


Los tipos de fecha y hora son los siguientes:

  1. time
  2. date
  3. datetime
  4. timestamp

Veamos la siguiente tabla:

 Cadenas de texto


Los tipos de datos de cadena de texto son:

  1. char
  2. varchar
  3. text
  4. nchar
  5. nvarchar  
  6. ntext

Veamos la siguiente tabla:


Como vemos en la tabla los tipos text y ntext sirven para almacenar cademas muy extensas. Es importante señalar que text y ntext serán descontinuados en futuras versiones. En lugar de estos datos, utilice nvarchar(max) y varchar(max) .

Binarios


Los tipos de datos binarios permiten almacenar información binaria en tipo caracter.

Existe otro tipo de dato llamado image, que era un tipo de dato binario para el manejo de imágenes. Este tipo será descontinuado, y en su lugar deberá utilizarse varbinary(max).

Especiales (Creados por el usuario)


Además de los tipos de datos que ya hemos mencionado, es posible también que el usuario cree sus propios tipos de datos. ¿Como es esto? se preguntarán, pues bien, para facilitarnos el diseño de la base podemos utilizar tipos de datos, cuyos nombres sean más familiares para nosotros. Por ejemplo, existe una tabla de sistema que nos indica cuales son los tipos de datos que permite SQL Server, la tabla se llama sys.types y la utilizaremos de la siguiente manera:

select * from sys.types

Y el resultado que obtendremos será el siguiente:


 
Hay más columnas, pero con las que se muestran es suficiente. Esta tabla nos muestra los tipos de datos que existen, como ven, está el campo tipo text, date, time, etc., existe otra columna llamada is_nullable, está predeterminadamente en 1, es decir, el campo permite valores nulos, pero el nuevo tipo de datos que vamos a crear, no va a permitir nulos.

Vamos ahora a crear nuestro propio tipo de dato. Será sencillo, en lugar de llamarse int, se llamará entero, solo lo pondremos en español.

CREATE TYPE ENTERO
FROM SMALLINT NOT NULL

Con esa sentencia creamos un campo personalizado llamado entero, que será sinónimo del tipo smallint, pero para mejor comprensión utilizaremos el nombre en español, además, el campo no permitirá datos vacíos, es decir, si utilizamos ese tipo de dato, forzosamente debemos ingresarle un dato. Esto lo podremos corroborar haciendo una consulta nuevamente a la tabla sys.types


select * from sys.types



Como ven, ya nos aparece el tipo personalizado, que sera not null y es definido por el usuario. En otro post lo estaremos utilizando para que vean su funcionamiento.


Hasta aquí el post, esper haya sido de su agrado y utilidad, cualquier duda que tengan no duden en preguntar. Espero compartan, comenten, den +1 o clic a algún anuncio que les interese. 
Saludos




Banderas de Visitantes

Flag Counter