0% encontró este documento útil (0 votos)
69 vistas23 páginas

Base de Datos Laboratorio

oo
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)
69 vistas23 páginas

Base de Datos Laboratorio

oo
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/ 23

Red de contenidos

SQL-SERVER - 2008

IMPLEMENTACIN

DML
Lenguaje de
Manipulacin de

DDL
Lenguaje de
Definicin de Datos

CREATE

ALTER

DROP

Database
Table
Constraint
Index View
Procedure
Function
Trigger

Database
Table
View
Procedure
Function
Trigger

Database
Table
Constraint
Index View
Procedure
Function
Trigger

INSERT

UPDATE

DELETE

SELECT

From
Where
Group by
Having
Order by

UNIDAD DE
APRENDIZAJE

SEMANA

FUNDAMENTOS DE SQL SERVER 2008


LOGRO DE LA UNIDAD DE APRENDIZAJE
Al terminar la unidad, los alumnos construirn una base de datos relacional utilizando
el gestor de base de datos SQL Server 2008 y los comandos del Lenguaje de
Definicin de Datos (DDL), asegurando la integridad de los datos mediante el empleo
de restricciones tomando como caso un proceso de negocio real.

TEMARIO
1.1. Creacin de bases de datos
1.2. Identificacin de los tipos de datos empleados en SQL Server 2008

ACTIVIDADES PROPUESTAS

Comprenden la visin general del curso.


Deducen la importancia de la existencia de las bases de datos.
Emplean los procedimientos necesarios para crear una base de datos.
Identifican los tipos de datos que se emplean en el SQL SERVER 2008.

1. HISTORIA DEL LENGUAJE ESTRUCTURADO DE CONSULTAS (SQL)


1.1. Introduccin
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos
normalizado, utilizado por los diferentes motores de bases de datos para
realizar determinadas operaciones sobre los datos o sobre la estructura de los
mismos.
Pero como sucede con cualquier sistema de normalizacin, hay excepciones
para casi todo. De hecho, cada motor de bases de datos tiene sus
peculiaridades y lo hace diferente de otro motor; por lo tanto, el lenguaje SQL
normalizado (ANSI) no nos servir para resolver todos los problemas, aunque
s se puede asegurar que cualquier sentencia escrita en ANSI ser
interpretable por cualquier motor de datos.
1.2. Historia del lenguaje estructurado
La historia de SQL empieza en 1974 con la definicin, por parte de Donald
Chamberlin y de otras personas que trabajaban en los laboratorios de
investigacin de IBM, de un lenguaje para la especificacin de las
caractersticas de las bases de datos que adoptaban el modelo relacional. Este
lenguaje se llamaba SEQUEL (Structured English Query Language) y se
implement en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las
experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una
revisin del lenguaje (SEQUEL/2) que, a partir de ese momento, cambi de
nombre por motivos legales y se convirti en SQL.
El prototipo (System R), basado en este lenguaje, se adopt y utiliz
internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias
al xito de este sistema, que no estaba todava comercializado, otras
compaas empezaron a desarrollar sus productos relacionales basados en
SQL. A partir de 1981, IBM comenz a entregar sus productos relacionales y,
en 1983, empez a vender DB2. En el curso de los aos ochenta, numerosas
compaas (por ejemplo Oracle y Sybase, slo por citar algunas)
comercializaron productos basados en SQL, que se convierte en el estndar
industrial de hecho por lo que respecta a las bases de datos relacionales.
En 1986, el ANSI adopt SQL (sustancialmente adopt el dialecto SQL de
IBM) como estndar para los lenguajes relacionales y en 1987 se transform
en estndar ISO. Esta versin del estndar va con el nombre de SQL/86. En
los aos siguientes, ste ha sufrido diversas revisiones que han conducido
primero a la versin SQL/89 y, posteriormente, a la actual SQL/92.
El hecho de tener un estndar definido por un lenguaje para bases de datos
relacionales abre potencialmente el camino a la intercomunicacin entre todos
los productos que se basan en l. Desde el punto de vista prctico, por
desgracia las cosas fueron de otro modo. Efectivamente, en general cada
productor adopta e implementa, en la propia base de datos slo el corazn del
lenguaje SQL (el as llamado Entry level o al mximo el Intermediate level), y lo
extiende de manera individual segn la propia visin que cada cual tenga del
mundo de las bases de datos.
Actualmente, est en marcha un proceso de revisin del lenguaje por parte de
los comits ANSI e ISO, que debera terminar en la definicin de lo que en
este momento se conoce como SQL3. Las caractersticas principales de esta
nueva encarnacin de SQL deberan ser su transformacin en un lenguaje

stand-alone (mientras ahora se usa como lenguaje hospedado en otros


lenguajes) y la introduccin de nuevos tipos de datos ms complejos que
permitan, por ejemplo, el tratamiento de datos multimedia.
1.3. Componentes del SQL
El lenguaje SQL est compuesto por comandos, clusulas, operadores y
funciones de agregado. Estos elementos se combinan en las instrucciones
para crear, actualizar y manipular las bases de datos.
Existen dos (2) tipos de comandos SQL:
-

Los comandos del Lenguaje de Definicin de Datos (DDL) que permiten


crear y definir nuevas bases de datos, campos e ndices.

Los comandos del Lenguaje de Manipulacin de Datos (DML) que permiten


modificar y generar consultas para insertar, modificar o eliminar, as como,
ordenar, filtrar y extraer datos de la base de datos.

1.3.1. Comandos del DDL

Comando
CREATE
DROP
ALTER

Descripcin
Utilizado para crear nuevas tablas, campos e ndices
Empleado para eliminar tablas e ndices
Utilizado para modificar las tablas y agregar campos
o cambiar la definicin de los campos.

1.3.2. Comandos del DML

Comando
SELECT
INSERT
UPDATE
DELETE

Descripcin
Utilizado para consultar registros de la base de datos
que satisfagan un criterio determinado
Utilizado para ingresar registros de datos en la base
de datos en una nica operacin
Utilizado para modificar los valores de los campos y
registros especificados
Utilizado para eliminar registros de una tabla de una
base de datos

1.3.3. Clusulas

Comando
FROM
WHERE
GROUP BY
HAVING
ORDER BY

Descripcin
Utilizada para especificar la tabla de la cual se van a
seleccionar los registros
Utilizada para especificar las condiciones que deben
reunir los registros que se van a seleccionar
Utilizada para separar los registros seleccionados en
grupos especficos
Utilizada para expresar la condicin que debe
satisfacer cada grupo
Utilizada para ordenar los registros seleccionados de
acuerdo con un orden especfico

10

1.3.4. Operadores Lgicos

Comando
AND
OR
NOT

Descripcin
Es el "y" lgico. Evala dos condiciones y devuelve
un valor de verdad slo si ambas son ciertas
Es el "o" lgico. Evala dos condiciones y devuelve
un valor de verdad si alguna de las dos es cierta
Negacin lgica. Devuelve el valor contrario de la
expresin

1.3.5. Operadores de Comparacin

Comando
<
>
<>
<=
>=
=
BETWEEN
LIKE
In

Descripcin
Menor que
Mayor que
Distinto de
Menor igual que
Mayor igual que
Igual que
Utilizado para especificar un intervalo de valores
Utilizado en la comparacin de un modelo
Utilizado para especificar registros de una base de
datos

1.3.6. Funciones para el manejo de fechas y funcin de conversin

Funcin
GETDATE
DAY
MONTH
YEAR
DATEDIFF
DATEPART
CONVERT

Descripcin
Devuelve la fecha del da
Devuelve un entero que representa el da (da del
mes) de la fecha especificada
Devuelve un entero que representa el mes de la
fecha especificada
Devuelve un entero que representa la parte del ao
de la fecha especificada
Devuelve el nmero de lmites datepart de fecha y
hora entre dos fechas especificadas
Devuelve un entero que representa el parmetro
datepart especificado del parmetro date especificado
Convierte una expresin de un tipo de datos en otro

1.3.7. Funciones de agregado: las funciones de agregado se usan dentro de una


clusula SELECT, en grupos de registros para devolver un nico valor que
se aplica a un grupo de registros.

Comando
AVG
COUNT
SUM
MAX
MIN

Descripcin
Se emplea para calcular el promedio de los valores
de un campo determinado
Se emplea para devolver la cantidad de registros de
la seleccin
Se emplea para devolver la suma de todos los
valores de un campo determinado
Se emplea para devolver el valor ms alto de un
campo o expresin especificada
Se emplea para devolver el valor ms bajo de un
campo o expresin especificada

2. IMPORTANCIA DE LA BASE DE DATOS


Las bases de datos son importantes porque permiten almacenar grandes
cantidades de informacin en forma estructurada, consistente e ntegra y dan la
posibilidad a un desarrollador de utilizarlas mediante programas (aplicaciones);
adems, les proporciona a stos una herramienta bajo la cual puedan reducir
considerablemente el tiempo del proceso de bsqueda en profundidad de los datos
almacenados.
2.1. Implementacin de las base de datos con SQL SERVER
SQL Server es un sistema administrador para Bases de Datos relacionales
basadas en la arquitectura Cliente / Servidor (RDBMS) que usa Transact SQL
para mandar peticiones entre un cliente y el SQL Server.

2.2. Arquitectura Cliente / Servidor


SQL Server usa la arquitectura Cliente / Servidor para separar la carga de trabajo
en tareas que se ejecuten en computadoras tipo Servidor y tareas que se ejecuten
en computadoras tipo Cliente:

12

El Cliente es responsable de la parte lgica y de presentar la informacin al


usuario. Generalmente, el cliente ejecuta en una o ms computadoras Cliente,
aunque tambin puede ejecutarse en una computadora que cumple las
funciones de Servidor con SQL Server.
SQL Server administra bases de datos y distribuye los recursos disponibles del
servidor tales como memoria, operaciones de disco, etc. Entre las mltiples
peticiones.
La arquitectura Cliente/Servidor permite desarrollar aplicaciones para
realizarlas en una variedad de ambientes.
SQL Server 2008 trabaja con dos (2) tipos de bases de datos:
OLTP (Online Transaction Processing)
Son bases de datos caracterizadas por mantener una gran cantidad de
usuarios conectados concurrentemente realizando ingreso y/o modificacin de
datos. Por ejemplo: entrada de pedidos en lnea, inventario, contabilidad o
facturacin.

OLAP (OnLine Analytical Processing) Son bases de datos que


almacenan grandes cantidades de datos que sirven para la toma de
decisiones, como por ejemplo las aplicaciones de anlisis de ventas.

2.3. Sistema administrador para bases de datos Relacionales (RDBMS)


El RDBMS es responsable de:
-

Mantener las relaciones entre la informacin y la base de datos.


Asegurarse de que la informacin sea almacenada correctamente, es decir,
que las reglas que definen las relaciones ente los datos no sean violadas.
Recuperar toda la informacin en un punto conocido en caso de que el sistema
falle.

2.4. TRANSACT SQL


ste es una versin de SQL (Structured Query Languaje) usada como lenguaje de
programacin para SQL Server. SQL es un conjunto de comandos que permite
especificar la informacin que se desea restaurar o modificar. Con Transact SQL
se puede tener acceso a la informacin, realizar bsquedas, actualizar y
administrar sistemas de bases de datos relacionales.
Aunque se denomine SQL, debido a que el propsito general es recuperar
datos, realmente SQL nos brinda muchas ms opciones. Es una herramienta
mucho ms interesante. Podemos utilizar ms funciones de las que el DBMS
(Database Management System - Sistema de Gestin de base de datos) nos
proporciona.
2.5. SQL SERVER 2008
Esta ltima versin del SQL Server Database Engine
(Motor de base de datos de SQL Server) incluye nuevas
caractersticas y mejoras que aumentan la eficacia y la
productividad de los arquitectos, los programadores y los
administradores que disean, desarrollan y mantienen
sistemas de almacenamiento de datos.

Las ediciones disponibles de SQL Server 2008 son:

SQL Server 2008 Enterprise. Con soporte de escalabilidad de clase


enterprise, data-warehousing, seguridad, anlisis avanzado y reportera.

SQL Server 2008 Standard. Para aplicaciones departamentales.

SQL Server 2008 Workgroup. Para aplicaciones branch (sucursales).

SQL Server 2008 Web. Para aplicaciones web. Diseada para ser de bajo
costo, tener alta disponibilidad y a gran escala.

SQL Server 2008 Developer. Similar a la versin Enterprise, pero se


licencia nicamente para efectos de desarrollo de aplicaciones y es por
cada desarrollador.

SQL Server 2008 Express. GRATUITA. Para aplicaciones de escritorio y


efectos de aprendizaje.

SQL Server Compact 3.5. GRATUITA. Para aplicaciones mviles.

3. CREACIN DE BASES DE DATOS


3.1. Definicin de base de datos
Una base de datos es un contenedor de objetos relacionados entre s, de
manera lgica y coherente. Estos objetos incluyen los orgenes de datos,
dimensiones compartidas y funciones de base de datos.

3.2. Aprendiendo a crear una base de datos


Para crear una base de datos, determine el nombre de la base de datos, el
propietario (el usuario que crea la base de datos), su tamao, y los archivos y
grupos de archivos utilizados para almacenarla.
Antes de crear una base de datos, considere lo siguiente:
a) De forma predeterminada, tienen permiso para crear una base de datos las
funciones fijas del servidor sysadmin y dbcreator, aunque se puede otorgar
permisos a otros usuarios.
b) El usuario que crea la base de datos se convierte en su propietario.
c) En un servidor, pueden crearse hasta 32.767 bases de datos.
Se utilizan tres (03) tipos de archivos para almacenar una base de datos:

Base de datos
Archivo de Datos primario .mdf
Archivo de Datos Secundario .ndf

Archivo de Registro .Idf

Archivos principales
Estos archivos contienen la informacin de inicio para la base de datos.
Este archivo se utiliza tambin para almacenar datos. Cada base de datos
tiene un nico archivo principal. Tiene extensin .MDF.

Archivos secundarios
Estos archivos contienen todos los datos que no caben en el archivo de
datos principal. No es necesario que las bases de datos tengan archivos de
datos secundarios si el archivo principal es lo suficientemente grande como
para contener todos los datos. Algunas bases de datos pueden ser muy
grandes y necesitar varios archivos de datos secundarios o utilizar archivos
secundarios en unidades de disco distintas, de modo que los datos estn
distribuidos en varios discos. Tiene extensin .NDF.

Registro de transacciones
Estos archivos contienen la informacin de registro que se utiliza para
recuperar la base de datos. Debe haber al menos un archivo de registro de
transacciones para cada base de datos, aunque puede haber ms de uno.
El tamao mnimo para un archivo de registro es 512 kilobytes (KB). Tiene
extensin .LDF.

Importante: Los archivos de datos y de registro de transacciones de


Microsoft SQL Server 2008 no deben colocarse en sistemas de archivos
comprimidos ni en una unidad de red remota, como un directorio de red
compartido.
Cuando se crea una base de datos, todos los archivos que la componen se
llenan con ceros que suplantan los datos de los archivos ya eliminados que
hubieran quedado en el disco. Aunque esto provoque que el proceso de
creacin de los archivos sea ms largo, es mejor, pues as se evita que el
sistema operativo tenga que llenar los archivos con ceros cuando se escriban
por primera vez datos en los archivos durante las operaciones habituales con la
base de datos. De esta manera, se mejora el rendimiento de las operaciones
cotidianas.
Es recomendable especificar el tamao mximo de crecimiento del archivo.
De ese modo se evita que se agote el espacio disponible en el disco al agregar
datos. Para especificar un tamao mximo para el archivo, utilice el parmetro
MAXSIZE de la instruccin CREATE DATABASE o bien la opcin Limitar
crecimiento de archivo a (MB) cuando utilice el cuadro de dilogo Propiedades
del Administrador corporativo de SQL Server para crear la base de datos.
Despus de crear una base de datos, se recomienda crear una copia de
seguridad de la base de datos MASTER.
3.3. Creacin de una base de datos usando la herramienta de SQL SERVER
2008
Para crear una base de datos, se deben seguir los siguientes pasos:
a) Expanda un grupo de servidores y, a continuacin, un servidor.
b) Con el botn secundario del mouse (ratn) en bases de datos y, a
continuacin, en nueva base de datos.
Escriba un nombre para la nueva base de datos.

CARRERAS PROFESIONALES

CIBERTEC

BASE DE DATOS LABORATORIO

17

c) Haga clic
Observacin:
Los archivos de registro de transacciones y de la base de datos principal se
crean utilizando el nombre de base de datos que ha especificado como prefijo,
por ejemplo, newdb_Data.mdf y newwdb_Log.ldf. Los tamaos iniciales de
estos archivos son los mismos que los tamaos predeterminados
especificados para la base de datos MODEL. El archivo principal contiene las
tablas del sistema para la base de datos.
1. Para cambiar los valores predeterminados del nuevo archivo de base de
datos principal, haga clic en la ficha General. Para cambiar los valores
predeterminados correspondientes al nuevo archivo de registro de
transacciones, haga clic en la ficha Registro de transacciones.
2. Para cambiar los valores predeterminados proporcionados en las columnas
Nombre de archivo, Ubicacin, Tamao inicial (megabytes) y Grupo de
archivos (no aplicable para el registro de transacciones), haga clic en la
celda apropiada para cambiar y escribir el nuevo valor.
3. Para especificar cmo debe crecer el archivo, haga clic en una de estas
opciones:
3.1. Para permitir que el archivo actualmente seleccionado crezca cuando
sea necesario ms espacio para los datos, haga clic en Crecimiento
automtico del archivo.
3.2. Para especificar que el archivo debe crecer en incrementos fijos,
haga clikc en megabytes y especifique un valor.
3.3. Para especificar que el archivo debe crecer en un porcentaje de su
tamao actual, haga clic en por porcentaje y especifique un valor.
3.4. Para especificar el lmite de tamao del archivo, haga clic en una de
estas opciones:
3.4.1.

Para que el archivo crezca tanto como sea necesario, haga


clic en No limitar el crecimiento de los archivos.

3.4.2.

Para especificar el tamao mximo que se debe permitir que


alcance el archivo, haga clic en Limitar crecimiento de
archivo a (megabytes) y especifique un valor.

Nota: El tamao mximo de una base de datos est determinado por la


cantidad de espacio de disco disponible y los lmites de licencia
establecidos por la versin de SQL Server que utilice.

3.4. Cmo crear una base de datos usando TRANSACT/SQL?

ACTIVIDAD 3.4.1 Crear una base de datos sin especificar los archivos
Este ejemplo crea una base de datos llamada bd_ejemplo, automticamente se
crean los archivos principal y de registro de transacciones correspondientes en la
carpeta asignada por defecto, por ejemplo en:
C:\Program Files\Microsoft SQL Server\MSSQL\Data
Debido a que la instruccin no tiene elementos <filespec>, el archivo principal de
la base de datos toma el tamao del archivo principal de la base de datos
MODEL. El registro de transacciones toma el tamao del archivo del registro de
transacciones de la base de datos MODEL. Como no se ha especificado el
prmetro MAXSIZE, los archivos pueden crecer hasta llenar todo el espacio
disponible en el disco.
CREATE DATABASE bd_ejemplo
Go

NOTA: Puede usar el comando sp_ helpDB para presentar informacin acerca
de la base de datos especificada o de todas las bases de datos.
Sintaxis: SP_HELPDB [Nombre de la base de datos]
Ejemplo:
SP_HELPDB bd_ejemplo

3.5

ESPECIFICANDO LAS PROPIEDADES


CONFORMA UNA BASE DE DATOS:

PARA CADA

ARCHIVO

QUE

Para el archivo primario, los archivos secundarios y los archivos de registro de


transacciones se pueden especificar las siguientes propiedades:
NAME:

Nombre lgico del archivo.

FILENAME:

Nombre fsicio, en el cual se debe especificar la ruta (ubicacin)


donde ser creado el archivo.

SIZE:

Tamao inicial, por defecto est dado en megabytes.

MAXSIZE:

Tamao mximo.

FILEGROWTH: Crecimiento del archivo.

ACTIVIDAD 3.5.1: Crear una base de datos individual


En este ejemplo se crea una base de datos llamada DEPARTAMENTOS en la
carpeta D:\Data\ y se especifica un nico archivo. El archivo especificado se
convierte en el archivo principal y se crea automticamente un archivo de registro
de transacciones de 1 megabytes. Como no se especifican la unidad en el
parmetro SIZE del archivo principal, se asigna por defecto en megabytes. Ya que
no existe <filespec> para el archivo de registro de transacciones, ste no tiene el
parmetro MAXSIZE y puede crecer hasta llenar todo el espacio disponible en el
disco.

CREATE DATABASE Departamentos


ON
(
NAME = Departamentos_Data ,
FILENAME = 'D:\Data\Departamentos_Data.mdf' ,
SIZE = 4 ,
MAXSIZE = 10 ,
FILEGROWTH = 1
)
GO

ACTIVIDAD 3.5.2: Crear una base de datos sin especificar tamao (size), ni
mximo tamao (maxsize), ni crecimiento (filegrowth)
Esta actividad crea una base de datos llamada Departamentos2. El archivo
departamentos2_Data se convierte en el archivo principal, con un tamao igual al
tamao del archivo principal de la base de datos MODEL. El archivo de registro
de transacciones se crea automticamente y es un 25 por ciento del tamao del
archivo principal, o 512 kilobytes, el que sea mayor. Como no se ha especificado
MAXSIZE, los archivos pueden crecer hasta llenar todo el espacio disponible en
el disco.

CREATE DATABASE Departamentos2


ON
(NAME = Departamentos2_Data,
FILENAME = 'D:\ Data \Departamentos2_Data.mdf'
)

GO
ACTIVIDAD 3.5.3: Crear una base de datos especificando dos archivos,
archivo de datos y archivo de transacciones
Esta actividad crea una base de datos llamada Departamentos3 en la
carpeta D:\Data\, su archivo principal contar con un tamao inicial de 40
megabytes, un tamao mximo de 100 megabytes y un crecimiento de 1
megabytes. Su archivo de registro contar con un tamao inicial de 5
megabytes, un tamao mximo de 40 megabytes y un crecimiento de 10%
.

CREATE DATABASE Departamentos3


ON
(NAME = Departamentos3_Data,
FILENAME = 'D:\ Data \Departamentos3_Data.mdf',
SIZE = 40,
MAXSIZE = 100,
FILEGROWTH = 1
)
LOG ON
(NAME = Departamentos3_Log,
FILENAME = 'D:\ Data \Departamentos3_Log.ldf',
SIZE = 5,
MAXSIZE = 40,
FILEGROWTH = 10%
)
GO

ACTIVIDAD 3.5.4 Crear una base de datos especificando el archivo de


datos, un archivo secundario y un archivo de transacciones:
Esta actividad crea una base de datos llamada Departamentos3 en la
carpeta D:\DATA\, su archivo principal contar con un tamao inicial de
15MB, un tamao mximo de 200 megabytes y un crecimiento de 20%. Su
archivo secundario contar con un tamao inicial de 10 megabytes, un
tamao mximo de 80 megabytes y un crecimiento de 2 megabytes.
Su archivo de registro contar con un tamao inicial de 10 megabytes, un
tamao mximo de 70 megabytes y un crecimiento de 5 megabytes.

CREATE DATABASE Departamentos4


ON
(NAME = Departamentos4_Data,
FILENAME = 'D:\ Data \Departamentos4_Data.mdf',
SIZE = 15, MAXSIZE = 200, FILEGROWTH = 20%
)

(NAME = Departamentos4_Sec,
FILENAME = 'D:\ Data \Departamentos4_Sec.ndf',
SIZE = 10, MAXSIZE = 80, FILEGROWTH = 2
)

LOG ON
(NAME = Departamentos4_Log,
FILENAME = 'D:\ Data \Departamentos4_Log.ldf',
SIZE = 10, MAXSIZE = 70, FILEGROWTH = 5
)

GO

4. TIPOS DE DATOS
Los tipos de datos definen el valor de datos que se permite en cada columna. SQL
Server proporciona varios tipos de datos diferentes. Ciertos tipos de datos
comunes tienen varios tipos de datos de SQL Server asociados. Se debe elegir los
tipos de datos adecuados que permitan optimizar el rendimiento y conservar el
espacio en el disco.

4.1

Categoras de tipos de datos del sistema


La siguiente tabla asocia los tipos de datos comunes con los tipos de datos
del sistema proporcionados por SQL Server. La tabla incluye los sinnimos
de los tipos de datos por compatibilidad con ANSI1.
Tipos de
datos
comunes
Entero
Numrico
Exacto
Numrico
Aproximado

Moneda
Fecha y hora

Tipos de datos del


sistema de SQL
Server
Int
bigint
smallint, tinyint
decimal[(p[,s])]
numeric[(p[,s])]
float[(n)]
real

money,
smallmoney
datetime,
smalldatetime
char[(n)]
varchar[(n)]

Carcter

Caracteres
Unicote

text
nchar[(n)]
nvarchar[(n)]
ntext

Binario

binary [(n)]
varbinary [(n)]

Imagen

Image

Sinmino ANSI

Nmero de
Bytes

Integer
Dec
double precisin,
float[(n)] para
n=8-15
float[(n)] para n=1-7
-

4
8
2,1
2-17

8
4
0-8000

character [(n)]
char VARYING[(n)]
character
VARYING[(n)]
-

binary
VARYING[(n)]
-

8
4
8,4

0-2 GB
0-8000
(4000
caracteres)
0-2 GB
0-8000

0 a 2 GB

Nota: SQL SERVER 2008 agrega nuevos tipos de datos. Estos nuevos tipos
de datos permiten una mejora en el almacenamiento y en el trabajo con tipos
de datos fecha y hora, incluyendo mltiples zonas horarias y clculos
mejorados. Estos nuevos tipos de datos son: datetime2, date, time y
datetimeoffset.

American Nacional Standards Institute

ACTIVIDADES PROPUESTAS
Caso: VENTAS
Se ha diseado una base de datos para el control de las ventas realizadas en una
empresa, como se detalla en el siguiente diagrama:

1. Cree la base de datos Ventas indicando propiedades para el archivo primario, un


archivo secundario y un archivo de registro.

2. Identificar los tipos de datos que le corresponde a los campos de las tablas
EMPLEADO, BOLETA y PRODUCTO.
3. Cree la base de datos para su proyecto de investigacin, el cual tendr definida
la ruta para la creacin de los archivos y la especificacin de los tres (3) archivos
(archivo de registro, archivo secundario y archivo de transacciones).

ACTIVIDADES ADICIONALES
Los ejemplos mostrados a continuacin han sido tomados de la Ayuda en Lnea del
Microsft SQL 2008.
A. Cree una base de datos sin especificar archivos
En este ejemplo se crea la base de datos mytest, y el archivo principal y de registro
de transacciones correspondientes. Debido a que la instruccin no tiene elementos
<filespec>, el archivo de la base de datos principal tiene el tamao del archivo
principal de la base de datos model. El registro de transacciones se establece en
el mayor de estos valores: 512 KB o el 25% del tamao del archivo de datos
principal. Como no se ha especificado MAXSIZE, los archivos pueden crecer hasta
llenar todo el espacio disponible en el disco.
USE master;
GO
IF DB_ID (N'mytest') IS NOT NULL
DROP DATABASE mytest;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

B. Cree una base de datos que especifica los archivos de datos y de registro de
transacciones:
En el ejemplo siguiente se crea la base de datos Sales (Ventas). Debido a que no
se utiliza la palabra clave PRIMARY, el archivo (Sales_dat) se convierte en el
archivo principal. Como no se especifica megabytes ni kilobytes en el parmetro
SIZE del archivo Sales_dat, se utiliza megabytes y el tamao se asigna en
megabytes. El tamao del archivo Sales_log se asigna en megabytes porque el
sufijo MB se ha indicado explcitamente en el parmetro SIZE.
USE master;
GO
IF DB_ID (N'Sales') IS NOT NULL
DROP DATABASE Sales;
GO
-- Get the SQL Server data path
DECLARE @data_path nvarchar (256);

SET @data_path = (SELECT SUBSTRING (physical_name, 1, CHARINDEX(N'master.mdf',


LOWER (physical_name)) - 1)
FROM master.sys.master_files
WHERE database_id = 1 AND file_id = 1);
-- execute the CREATE DATABASE statement
EXECUTE ('CREATE DATABASE Sales
ON
(NAME = Sales_dat,
FILENAME = '''+ @data_path + 'saledat.mdf'',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5)
LOG ON
(NAME = Sales_log,
FILENAME = '''+ @data_path + 'salelog.ldf'',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB)'
);
GO

C. Cree una base de datos mediante la especificacin de mltiples archivos de


datos y de registro de transacciones:
En el ejemplo siguiente se crea la base de datos Archive, que tiene tres archivos de
datos de 100 megabytes y dos archivos de registro de transacciones de 100
megabytes. El archivo principal es el primer archivo de la lista y se especifica
explcitamente con la palabra clave PRIMARY. Los archivos de registro de
transacciones se especifican a continuacin de las palabras clave LOG ON. Tenga
en cuenta las extensiones usadas para los archivos en la opcin FILENAME: .mdf
se usa para archivos de datos principales, .ndf para archivos de datos secundarios
y .ldf para archivos de registro de transacciones.
USE master;
GO
IF DB_ID (N'Archive') IS NOT NULL
DROP DATABASE Archive;
GO
-- Get the SQL Server data path
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf',
LOWER(physical_name)) - 1)

FROM master.sys.master_files
WHERE database_id = 1 AND file_id = 1);
-- execute the CREATE DATABASE statement
EXECUTE ('CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = '''+ @data_path + 'archdat1.mdf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = '''+ @data_path + 'archdat2.ndf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = '''+ @data_path + 'archdat3.ndf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = '''+ @data_path + 'archlog1.ldf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = '''+ @data_path + 'archlog2.ldf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)'
);
GO

Al ejecutar el cdigo anterior, se mostrar lo siguiente:

Resumen

 Recuerde que SQL Server es un sistema de administracin de bases de datos


relacionales (RDBMS: Relational Database Management System) Cliente/Servidor de
alto rendimiento y se ha diseado para admitir un elevado volumen de procesamiento
de transacciones (como las de entrada de pedidos en lnea, inventario, facturacin o
contabilidad), adems de aplicaciones de almacn de datos y de ayuda en la toma de
decisiones (como aplicaciones de anlisis de ventas) sobre redes basadas en el
sistema operativo Microsoft.
 Cuando se crea una nueva base de datos, por defecto se generan dos archivos mdf
(datos) y ldf (registro).
 Los tipos de datos definen el valor de datos que se permite en cada columna. SQL
Server proporciona varios tipos de datos diferentes.
 Si desea saber ms acerca de estos temas, puede consultar las siguientes
pginas:
 http://mredison.wordpress.com/2008/05/27/tutorial-creacin-de-una-bd-desdescript-sql-server-2008/
Tutorial sobre la creacin de una base de datos en SQL.
 http://technet.microsoft.com/es-es/library/ms175198.aspx
Libro en pantalla de SQL Server 2008 - creacin de una base de datos en SQL.
 http://msdn.microsoft.com/es-es/library/ms176061.aspx
Libros en pantalla de SQL Server 2008 Ejemplos.

También podría gustarte