0% encontró este documento útil (0 votos)
39 vistas

Capitulo II Parte II Base de Datos II

El documento resume los tipos de datos y funciones utilizados en bases de datos relacionales en Transact SQL. Explica los tipos de datos numéricos, de caracteres, de fecha y binarios, así como funciones para manipular cadenas y números. También describe funciones de agregado y deterministas/no deterministas.

Cargado por

Juan Dias
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
39 vistas

Capitulo II Parte II Base de Datos II

El documento resume los tipos de datos y funciones utilizados en bases de datos relacionales en Transact SQL. Explica los tipos de datos numéricos, de caracteres, de fecha y binarios, así como funciones para manipular cadenas y números. También describe funciones de agregado y deterministas/no deterministas.

Cargado por

Juan Dias
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

CAPITULO II: Parte II, TIPOS DE DATOS Y FUNCIONES

USADOS EN BASE DE DATOS RELACIONAL

2.1 Tipos de datos en Transact SQL

Cuando definimos una tabla, variable o constante debemos asignar un tipo de dato que indica
los posibles valores. El tipo de datos define el formato de almacenamiento, espacio que de disco-
memoria que va a ocupar un campo o variable, restricciones y rango de valores válidos.

Transact SQL proporciona una variedad predefinida de tipos de datos. Casi todos los tipos de
datos manejados por Transact SQL son similares a los soportados por SQL.

2.2.1 Tipo/s de datos numéricos.

SQL Server dispone de varios tipos de datos numéricos. Cuanto mayor sea el número que
puedan almacenar mayor será en consecuencia el espacio utilizado para almacenarlo. Como regla
general se recomienda usar el tipo de dato mínimo posible. Todos los datos numéricos admiten el
valor NULL.

Bit. Una columna o variable de tipo bit puede almacenar el rango de valores de 1 a 0.

Int. Una columna o variable de tipo int puede almacenar el rango de valores -231 a 231-1 .

BigInt. Una columna o variable de tipo bigint puede almacenar el rango de valores -263 a 263-1 .

Decimal (p,s). Una columna de tipo decimal puede almacenar datos numéricos decimales sin
redondear. Donde p es la precisión (número total del dígitos) y s la escala (número de valores
decimales)

Float. Una columna de datos float puede almacenar datos decimales

Real. Sinónimo de float. Puede almacenar el rango de valores -3,4x-1038 a 3,4x-1038,

Money. Almacena valores numéricos monetarios de -263 a 263-1, con una precisión de hasta diez
milésimas de la unidad monetaria.

SmallMoney. Almacena valores numéricos monetarios de -214.748,3647 a 214.748,3647, con una


precisión de hasta diez milésimas de la unidad monetaria.

Todos los tipos de datos enteros pueden marcarse con la propiedad identity para hacerlos auto
numéricos.

Ing. Gionella L. Araujo Base de Datos II Página 1


2.2.2 Tipos de datos de caracter.

Char(n). Almacena n caracteres en formato ASCII, un byte por cada letra. Cuando almacenamos
datos en el tipo char, siempre se utilizan los n caracteres indicados, incluso si la entrada de datos
es inferior. Por ejemplo, si en un char(5), guardamos el valor 'A', se almacena 'A ', ocupando los
cinco bytes.

Varchar(n).Almacena n caracteres en formato ASCII, un byte por cada letra. Cuando almacenamos
datos en el tipo varchar, únicamente se utilizan los caracteres necesarios. Por ejemplo, si en un
varchar(255), guardamos el valor 'A', se almacena 'A', ocupando solo un byte.

Varchar(max). Igual que varchar, pero al declararse como max puede almacenar 231-1 bytes.

• Utilice char cuando los tamaños de las entradas de datos de columna sean coherentes.
• Use varchar cuando los tamaños de las entradas de datos de columna varíen
considerablemente.
• Utilice varchar(max) cuando los tamaños de las entradas de datos de columna varíen de
forma considerable y se pudieran superar los 8000 bytes.

Nchar(n).Almacena n caracteres en formato UNICODE, dos bytes por cada letra. Es recomendable
utilizar este tipo de datos cuando los valores que vayamos a almacenar puedan pertenecer a
diferentes idiomas.

Nvarchar(n).Almacena n caracteres en formato UNICODE, dos bytes por cada letra. Es


recomendable utilizar este tipo de datos cuando los valores que vayamos a almacenar puedan
pertenecer a diferentes idiomas.

Nvarchar(max).Igual que varchar, pero al declararse como max puede almacenar 231-1 bytes.

2.2.3 Tipos de datos de fecha.

DATE

El tipo de dato DATE sirve para almacenar una fecha con el formato YYYY-MM-DD (4 dígitos para el
año, guión, 2 dígitos para el mes, guión, 2 dígitos para el día).

Datetime. Almacena fechas con una precisión de milisegundo. Debe usarse para fechas muy
específicas, con el formato YYYY-MM-DD HH:MM:SS

SmallDatetime. Almacena fechas con una precisión de minuto, por lo que ocupa la mitad de
espacio de que el tipo datetime, para tablas que puedan llegar a tener muchos datos es un factor a
tener muy en cuenta.

Ing. Gionella L. Araujo Base de Datos II Página 2


TimeStamp. Se utiliza para marcar un registro con la fecha de inserción - actualización. El tipo
timestamp se actualiza automáticamente cada vez que insertamos o modificamos los datos.

2.2.4 Tipos de datos binarios.


Binary. Se utiliza para almacenar datos binarios de longitud fija, con una longitud máxima de 8000
bytes.

Varbinary. Se utiliza para almacenar datos binarios de longitud variable, con una longitud máxima
de 8000 bytes. Es muy similar a binary, salvo que varbinary utiliza menos espacio en disco.

2.2.5 tipos de datos personalizados.

Transact SQL permite la creación de tipos de datos personalizados, a través de la instrucción


CREATE TYPE.

CREATE TYPE MD5 FROM CHAR(32) NUL

Nota: no se recomienda el uso, puede causar confusión , error, en algunas programas no se


admite.

2.2 Funciones

Las funciones en SQL permiten realizar operaciones o cambios en los datos de la base.

2.2.1 Introducción

Las funciones integradas de SQL Server son deterministas o no deterministas. Las funciones son
deterministas cuando devuelven siempre el mismo resultado cada vez que se llaman con un
conjunto específico de valores de entrada. Las funciones son no deterministas cuando es posible
que devuelvan distintos resultados cada vez que se llaman con un mismo conjunto específico de
valores de entrada.

Las funciones deterministas devuelven siempre el mismo resultado cada vez que se invocan con
un conjunto específico de valores de entrada y cuando el estado de la base de datos es el
mismo. Las funciones no deterministas pueden devolver resultados diferentes cada vez que se
llaman con un conjunto específico de valores de entrada aunque el estado de la base de datos a la
que tienen acceso permanezca sin cambios. Por ejemplo, la función AVG siempre devuelve el
mismo resultado dadas las condiciones indicadas anteriormente pero la función GETDATE, que
devuelve el valor datetime actual, siempre devuelve un resultado diferente.

Ing. Gionella L. Araujo Base de Datos II Página 3


2.2.2 Funciones tipo carácter

Se usan dos tipos de funciones de conversión y de manipulación

Funciones de conversión caracteres


• LOWER: Convierte a minúsculas. Su sintaxis es: SELECT LOWER(column_name o
expresión) FROM table_name

Ej. Select lower('HOLA ESTUDIAnte');


retorna "hola estudiante".
• UPPER: Convierte a mayúsculas. Su sintaxis es: SELECT UPPER(column_name o
expresión) FROM table_name

Ej. Select upper ('HOLA ESTUDIAnte');


retorna “HOLA ESTUDIANTE".
• char(x): retorna un caracter en código ASCII del entero enviado como argumento.
Ejemplo: select char(65);
retorna "A".
• reverse(cadena): devuelve la cadena invirtiendo el order de los caracteres. Ejemplo:
Select reverse('Hola');
retorna "aloH".

Funciones manipulación caracteres


• CONCAT: Concatena dos o más valores. Ej. Select CONCAT ('el nombre de alumno es',' ',
FIRSTNAME) from ALUMNO

Ing. Gionella L. Araujo Base de Datos II Página 4


La otra sintaxis:
• SUBSTRING: Extrae una subcadena. Su sintaxis es SUBSTRING ( expression ,start
, length )
Ej: select substring('Buenas tardes',8,6);
retorna "tardes".
• LEN: Devuelve la longitud de la cadena. su sintaxis es SELECT LEN(column_name o
expresión) FROM table_name. Ej: Select len('Hola');
devuelve 4.
Left(cadena,longitud): retorna la cantidad (longitud) de caracteres de la cadena
comenzando desde la izquierda, primer caracter. Su sintaxis: SELECT LEFT(column_name
o expresión, longitud) FROM table_name. Ej. Select left('buenos dias',8);

retorna "buenos d".


• Right(cadena,longitud): retorna la cantidad (longitud) de caracteres de la cadena
comenzando desde la derecha, último carácter. SELECT RIGHT(column_name o
expresión, longitud) FROM table_name. Ej. Select right('buenos dias',8);

retorna "nos dias".

2.2.3 Funciones numérica:

En las funciones que mostramos a continuación los datos de las columnas que manejamos
deben ser numéricos (tipo de datos int, float, etc.).

Funciones Numéricas
• ROUND (columna | expresión, n)

o Redondea a n posiciones decimales. Si se omite n, no se redondea con decimales. Si


n es negativo, los números a la izquierda del punto decimal se redondean a
decenas, centenas, ...

Ejemplos:
SELECT ROUND(45.923, 2), ROUND(45.923, 0), ROUND(45.923, -1)
FROM SYS.DUAL;
• Resultado: 45.92 46 50

Ing. Gionella L. Araujo Base de Datos II Página 5


2.2.4 Funciones fecha

Hay muchas funciones de fecha, solo se colocan las más comunes y usadas.

2.2.5 Otras funciones


2.2.5.1 Funciones de Agregado

Una función de agregado realiza un cálculo sobre un conjunto de valores y devuelve un solo valor.
Las funciones de agregado se suelen usar con la cláusula GROUP BY de la instrucción SELECT.
Todas las funciones de agregado son deterministas. En otras palabras, las funciones de agregado
devuelven el mismo valor cada vez que se las llama con un conjunto específico de valores de
entrada.

Las funciones de agregado solo se pueden usar como expresiones en las situaciones siguientes:

• La lista de selección de una instrucción SELECT (una sub-consulta o una consulta externa).
• Cláusula HAVING.

1. AVG

Calcula la media aritmética de un conjunto de valores contenidos en un campo especificado de


una consulta. Su sintaxis es la siguiente

Avg(expr)

En donde expr representa el campo que contiene los datos numéricos para los que se desea
calcular la media o una expresión que realiza un cálculo utilizando los datos de dicho campo. La
media calculada por Avg es la media aritmética (la suma de los valores dividido por el número de
valores). La función Avg no incluye ningún campo Null en el cálculo.

Ing. Gionella L. Araujo Base de Datos II Página 6


SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100;

2. Count

Calcula el número de registros devueltos por una consulta. Su sintaxis es la siguiente:


Count(expr)

En donde expr contiene el nombre del campo que desea contar. Los operandos de expr pueden
incluir el nombre de un campo de una tabla, una constante o una función (la cual puede ser
intrínseca o definida por el usuario pero no otras de las funciones agregadas de SQL). Puede
contar cualquier tipo de datos incluso texto.

Aunque expr puede realizar un cálculo sobre un campo, Count simplemente cuenta el número de
registros sin tener en cuenta qué valores se almacenan en los registros. La función Count no
cuenta los registros que tienen campos null a menos que expr sea el carácter comodín asterisco
(*). Si utiliza un asterisco, Count calcula el número total de registros, incluyendo aquellos que
contienen campos null. Count(*) es considerablemente más rápida que Count(Campo). No se debe
poner el asterisco entre dobles comillas ('*').

SELECT Count(*) AS Total FROM Pedidos;

Si expr identifica a múltiples campos, la función Count cuenta un registro sólo si al menos uno de
los campos no es Null. Si todos los campos especificados son Null, no se cuenta el registro. Hay
que separar los nombres de los campos con ampersand (&).

SELECT Count(FechaEnvío & Transporte) AS Total FROM Pedidos;

Max, Min
Devuelven el mínimo o el máximo de un conjunto de valores contenidos en un campo especifico
de una consulta. Su sintaxis es:
Min(expr)
Max(expr)

En donde expr es el campo sobre el que se desea realizar el cálculo. Expr pueden incluir el nombre
de un campo de una tabla, una constante o una función (la cual puede ser intrínseca o definida por
el usuario pero no otras de las funciones agregadas de SQL).

SELECT Min(Gastos) AS ElMin FROM Pedidos WHERE Pais = 'Panamá';


SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais = 'Panamá';

Ing. Gionella L. Araujo Base de Datos II Página 7

También podría gustarte