Introduccion SQL Server
Introduccion SQL Server
Introduccion SQL Server
SERVER
Ya con los objetos, vamos a abrir local, y vemos que ya existen varias bases de
datos, lo que significa que existen bases de datos para el sistema y otras son
modelos de ejemplos para el aprendizaje.
En manager.
Dentro del grupo de trabajo tengo un servidor (local, pero pueden existir muchos
más como para cartera, contabilidad, etc) y dentro de los servidores hay varios
objetos y dentro de los objetos hay database (bases de datos). Esto suple la
limitante que tenía Access.
Cuando se crea una base de datos, es importante comprender cómo SQL Server
almacena los datos para poder calcular y especificar la cantidad de espacio en
disco que hay que asignar a los archivos de datos y registros de transacciones.
Aunque SQL Server automáticamente incrementa el tamaño asignado a los
ficheros de bases de datos dinámicamente, para tener un rendimiento óptimo del
sistema (evitar fragmentación de los ficheros), se recomienda ser "precisos" a la
hora de definir el tamaño de la base de datos. 1
Para crear una base de datos desde SQL Server 2005 Management Studio,
expande la lista de bases de datos, de la lista de instancias de SQL Server 2005
registradas, y selecciona la opción "New database": 2
1
Microsoft SQL Server 2005, Express edition, Obtenido en Internet el 23 de Octubre de 2008.
Hora: 9.50 pm.
http://www.desarrollaconmsdn.com/msdn/CursosOnline/Curso_SQL_Server/index.html
2
Ibid, pg,7
Deberás rellenar el nombre de base de datos, nombres lógico y físico de los
archivos relacionados, y tamaño de los ficheros, así como su crecimiento:
Consideraciones
Dependiendo de las necesidades a cubrir del sistema de base de datos a
desarrollar, deberás configurar los archivos de una forma u otra; por ejemplo, en
grandes sistemas llegarás a configurar niveles de redundancia de discos (RAID), y
repartirás la información de las tablas en distintos ficheros. Aunque no está
soportado en la versión Express, funcionalidades del producto como Particionado
de datos, llegan a ser primordiales, y es un factor a considerar desde el momento
de diseño del sistema.
Por otro lado, para familiarizarte con SQL Server, recomendaría entender las
opciones de configuración de base de datos que aparecen en la pestaña opciones,
que aunque no son necesarias para comenzar a diseñar bases de datos SQL
Server, si ayudan a comprender un poco el funcionamiento interno de SQL Server
(shrink, statistics, etc.): 3
Tipos de datos
Empezaremos por los tipos de datos. Las tablas tienen columnas, y las columnas
se definen en base a un tipo de datos; los tipos de datos acotan el tipo y tamaño
de la información que se guardará en una columna. La importancia de la elección
de los tipos de datos reside en el almacenamiento que ocupa; para varios cientos
de filas, el tamaño no es tan crucial, pero cuantas más filas se añadan a la tabla,
mayor será la repercusión en el rendimiento de las operaciones de E/S.
Como veremos, habrá tipos de datos en los que habrá que seleccionar el tamaño,
e incluso algunos tendrán la posibilidad de ofrecer tamaño variable; vamos a
analizar los más significativos.
3
ibid, pg, 7
Tipos de datos numéricos enteros
Tipo de
Intervalo Almacenamiento
datos
De -2^63 (-9.223.372.036.854.775.808) a 2^63-1
bigint 8 bytes
(9.223.372.036.854.775.807)
De -2^31 (-2.147.483.648) a 2^31-1
int 4 bytes
(2.147.483.647)
smallint De -2^15 (-32.768) a 2^15-1 (32.767) 2 bytes
tinyint De 0 a 255 1 bytes
1 bit, mímino 1
bit 0,1
bytes
p (precisión)
El número total máximo de dígitos enteros que se puede almacenar, tanto a la
izquierda como a la derecha del separador decimal. La precisión debe ser un valor
comprendido entre 1 y la precisión máxima de 38. La precisión predeterminada es
18.
s (escala)
El número máximo de dígitos decimales que se puede almacenar a la derecha del
separador decimal. La escala debe ser un valor comprendido entre 0 y p. Para
especificar la escala es necesario haber especificado la precisión.
Precisión Almacenamiento
1-9 5
10-19 9
20-28 13
29-38 17
Money, smallmoney
Tipos de datos que representan valores monetarios o de moneda.
Tipo de
Precisión Almacenamiento
datos
De -922,337,203,685.477,5808 a
money 8 bytes
922,337,203,685.477,5807
smallmoney De - 214.748,3648 a 214.748,3647 4 bytes
Float(n), single
Tipos de datos numéricos y aproximados que se utilizan con datos numéricos de
coma flotante. Los datos de coma flotante son aproximados; por tanto, no todos
los valores del intervalo del tipo de datos se pueden representar con exactitud.
Tipo de
Precisión Almacenamiento
datos
De - 1,79E+308 a -2,23E-308, 0 y de Depende del valor de n (4 u
float
2,23E-308 a 1,79E+308 8 bytes)
De - 3,40E + 38 a -1,18E - 38, 0 y de
real 4 bytes
1,18E - 38 a 3,40E + 38
Los de longitud fija son char(n) y su tamaño lo define el valor que tenga n. Por
ejemplo, una columna char(15) ocupa 15 bytes.
El tipo de datos smalldatetime almacena las fechas y horas del día con menor
precisión que datetime. El Database Engine (Motor de base de datos) almacena
los valores smalldatetime como dos enteros de 2 bytes. Los dos primeros bytes
almacenan el número de días después del 1 de enero de 1900. Los otros dos,
almacenan el número de minutos desde medianoche.
Los valores datetime se redondean con incrementos de 0,000; 0,003 o 0,007
segundos, como se muestra en la siguiente tabla.4
Crear tablas
Las tablas son objetos que contienen la información guardada en la base de datos.
Una tabla es una colección de columnas; cada columna tendrá un tipo de dato y
una serie de propiedades. La información está guardada fila por fila de forma
similar a lo que gráficamente representa una hoja Excel: una colección de filas por
columnas.
4
ibid, pg, 7
Aparecerá una ventana como la siguiente que describimos a continuación:
En el cuadro marcado en rojo, se añaden cada una de las columnas que forman
parte de la tabla a crear; se pone nombre a la columna (debe comenzar por un
caracter alfabético), se selecciona el tipo de datos y precisión (ver lección anterior
para más información), y se establece si la columna aceptará valores nulos o no.
Además toda tabla debe tener una columna o conjunto de columnas que
identifique de manera única cada fila de la tabla; para ello selecciona la columna
que deseas como clave primaria, y después de hacer click en el botón derecho del
ratón, selecciona "Primary Key" como se muestra en la imagen (también se puede
hacer sobre el botón marcado en rojo en la imagen):5
5
ibid, pg, 7
A continuación, para grabar los cambios, es decir, para generar la tabla, pulsarás
sobre la zona en color verde de la siguiente imagen, y seleccionarás la opción
Save Clientes (que es el nombre de la tabla):
Tabla Clientes
ID Nombre Apellidos ...
1 Julia Herrera ...
2 Javier Alonso ...
Tabla Pedidos
IDPedido IDCliente Importe ...
1 1 1200 ...
2 1 1300 ...
3 1 12000 ...
4 2 1000 ...
Fijate que el cliente 1 (Julia Herrera), tiene los pedidos del 1 al 3, y el cliente 2 el
pedido 4. La información la "interpretamos" como si las filas de cliente en
"embebiera dentro de la tabla pedidos:
• No Action. Que indica que no actual, que se deja la columna como estaba.
• Cascade. Que se realiza la misma operación que se hizo en la fila de la
tabla padre.
• Set Null. Que establece a nulo el valor de las columnas afectadas.
• Set Default. Que establece la columna a un valor por defecto.
Cibergrafia