Está en la página 1de 5

1

Implementacin de base de datos Base de Datos II


Implementacin de base de datos
La gestin y la configuracin de SQL Server pueden hacerse de dos maneras: con
Transact- SQL, interactivamente o por medio de un script, o con SQL Server Management
Studio, con la interfaz grfica.
En SQL Server 2008 existen tres tipos de bases de datos:

Bases de datos OLTP (Online Transaction Processing), es decir, bases de datos que
soportan transacciones de usuarios. Este es el tipo de base de datos que se encuentra
en produccin. Sus principales caractersticas son que, a pesar de su gran volumen
de datos y su elevado nmero de usuarios conectados, el tiempo de respuesta
debe ser ptimo. Por suerte, los usuarios trabajan con transacciones cortas, y cada
transaccin manipula una cantidad de datos reducida.

Bases de datos OLAP (Online Analytical Processing), es decir, bases de datos


que permiten almacenar un nmero mximo de datos para atender consultas de
ayuda a la toma de decisiones.

Bases de datos de tipo snapshot, que son duplicaciones ms o menos completas de la


base de origen destinadas a acceder rpidamente a datos remotos.

1.

Administracin del espacio de almacenamiento.


SQL Server utiliza una serie de archivos para almacenar el conjunto de la informacin
relativa a una base de datos.
Archivo primario
Slo existe uno por base de datos, contiene la informacin de arranque de la base de
datos y almacena las tablas del sistema. Este archivo lleva la extensin mdf.
Archivos secundarios
Una base de datos puede tener cero, uno o varios archivos secundarios. Se conforman
con toda la informacin no contenida en el archivo primario y, generalmente se los utiliza
cuando se particiona una base de datos entre varios discos. Los archivos secundarios
llevan la extensin ndf.
Archivos de registro
Contienen toda la informacin necesaria para recuperar la informacin pendiente de
confirmacion (COMMIT) en la base de datos. Estos archivos llevan la extensin ldf.
Los grupos de archivos (FileGroups)
Es posible especificar un grupo de archivos en lugar de los nombres de archivo.
Estos grupos presentan la ventaja de equilibrar las cargas de trabajo sobre los
diferentes discos del sistema. Los datos se escriben de forma equitativa en los
distintos archivos del grupo. Permiten agrupar archivos en funcin de propsitos de
la administracin o la distribucin fsica de ellos.
Por ejemplo la base de datos VENTAS puede estar compuesta por los
archivos Ventas2.ndf, Ventas3.ndf y Ventas4.ndf. estos archivos pueden estar
ubicados en 3 discos distintos, pero agrupados bajo el grupo de archivos GVENTAS.
Los archivos de datos
Los archivos de datos pueden redimensionarse de forma dinmica o manual. En el
momento de crear el archivo se debe especificar:

NAME: Nombre lgico del archivo para manipularlo con el lenguaje Transact-SQL.

FILENAME: Nombre fsico para precisar la ubicacin del archivo.

SIZE: Un tamao inicial.

MAXSIZE: Un tamao mximo.

FILEGROWTH: Un paso de incremento.

Prof.: Lin Rodrguez, Julio Csar

Pgina 1

2.

Administracin de los objetos DATABASE


Una DATABASE contiene objetos tales como:

El catlogo de bases de datos.

Los objetos de usuario (tablas, valores por


desencadenadores, procedimientos almacenados).

Los ndices, los tipos de datos, las restricciones.

El registro de transacciones.

defecto,

vistas,

reglas,

La persona que crea la base de datos debe disponer de derechos suficientes y


se convierte en propietario de ella (dbo = database owner). SQL Server es
capaz de administrar 32.767 bases de datos.
a.

Creacin de la base de datos


Para crear una base de datos, es necesario estar conectado como administrador del
sistema o tener el permiso para utilizar CREATE DATABASE y situarse en la base de
datos de sistema MASTER.
El nombre de la base de datos debe ser nico en una instancia SQL Server.
Este nombre est limitado a 128 caracteres, respetando las reglas de
construccin de identificadores.
Sintaxis:
CREATE DATABASE nombre [ ON
[PRIMARY]
[([
NAME = nombreLgico,
]
FILENAME = `nombreFsico
[, SIZE =
tamao]
[, MAXSIZE
=
{
tamMAX
|
[, FILEGROWTH =
valorIncremento]
)
[ LOG ON
{
archivo
}
]
COLLATE nombre_intercalacin

UNLIMITED
[, ]]

NAME: Nombre lgico del archivo.


FILENAME: Ubicacin y nombre fsico del archivo.
SIZE: Tamao inicial del archivo en megabytes (MB) o kilobytes (KB). El tamao
predeterminado es de 1 megabyte.
MAXSIZE: Tamao mximo del archivo indicado en kilobytes o megabytes (por defecto,
megabytes). Si no se indica ningn valor, el tamao del archivo estar limitado por el
espacio libre en disco.
UNILIMITED: Sin tamao mximo: el lmite es el espacio libre en disco.
FILEGROWTH: Precisa la tasa de incremento para el tamao del archivo, que no
podr sobrepasar nunca el valor mximo. Este paso puede precisarse en porcentaje o
de forma esttica, en kilobytes o megabytes.
LOG ON
Ubicacin del registro de transacciones. El registro de transacciones guarda las
modificaciones realizadas sobre los datos. Por cada INSERT, UPDATE o DELETE, se
efecta una escritura en el registro de las transacciones se consigna tambin en el
registro. Este registro sirve para la recuperacin de los datos en caso de fallo.
FOR ATTACH
Para crear una base utilizando archivos ya creados. Esta peticin es til cuando la base
se crea con ms de 16 archivos.

Prof.: Lin Rodrguez, Julio Csar

Pgina 2

Ejemplo
Creacin de la base de datos BDSISTEMAS (5 MB) con el registro de transacciones
(2 MB).
CREATE DATABASE BDSISTEMAS
ON PRIMARY (
NAME=BDSISTEMAS_DATA, -- Nombre Logico
FILENAME='C:\DATA\BDSISTEMAS_DATA.MDF', -- Nombre Fisico
SIZE=5MB, -- Tamao Inicial expresado en MB (Defecto)
MAXSIZE=15MB, -- Maximo Tamao expresado en MB (Defecto)
FILEGROWTH=1MB -- Valor de Incremento (Entero o %)
)
LOG ON (
NAME=BDSISTEMAS_LOG, FILENAME='C:\DATA\BDSISTEMAS_LOG.LDF',
SIZE=2MB,
MAXSIZE=8MB, FILEGROWTH=1MB
)
COLLATE Modern_Spanish_CI_AI
go
b.

Modificacin de tamao
Es posible aumentar o disminuir el tamao de los archivos de forma automtica o
manual.
Aumento del tamao
Si se especifican una tasa de incremento (FILEGROWTH) y un tamao mximo en el
momento de la creacin del archivo, el archivo cambiar de tamao en funcin de las
necesidades.
Es posible modificar manualmente el tamao, el tamao mximo y la tasa de aumento de
un archivo de datos con la instruccin ALTER DATABASE.
ALTER DATABASE nombre
MODIFY FILE
(NAME = nombreLgico
[, SIZE = tamao]
[, MAXSIZE = tamMAX]
[FILEGROWTH = valorIncremento])
Ejemplo: Aumentar el tamao de un archivo existente:
ALTER DATABASE BDSISTEMAS
MODIFY FILE (
NAME=BDSISTEMAS_DATA, SIZE=10MB,
MAXSIZE=50MB
)
GO
Tambin es posible aadir archivos.
ALTER DATABASE nombre
ADD FILE
(NAME = nombreLgico
FILENAME = `nombreFsico
[, SIZE = tamao]
[, MAXSIZE = {tamMAX | UNLIMITED}]
[FILEGROWTH = valorIncremento])

Prof.: Lin Rodrguez, Julio Csar

Pgina 3

Ejemplo: Adicin de un segundo archivo a la base de datos BDSISTEMAS:


ALTER DATABASE BDSISTEMAS
ADD FILE
(
NAME=BDSISTEMAS_DATA2,
FILENAME='C:\DATA\BDSISTEMAS_DATA2.NDF',
SIZE=5MB, MAXSIZE=25MB
)
GO
El comando ALTER DATABASE permite una accin mucho ms importante sobre
la base de datos que la simple modificacin del tamao de los archivos. Tambin es
posible aadir o eliminar archivos y grupos de archivos, cambiar el nombre de la base
de datos, especificar el modo de finalizacin predeterminado de las transacciones
en curso y cambiar la intercalacin de la base de datos.
Ejemplo: Adicin de un Grupo de Archivos dentro del cual agregaremos un tercer
archivo de datos secundario.
ALTER DATABASE BDSISTEMAS
ADD FILEGROUP GRUPO_SECUNDARIO
GO
ALTER DATABASE BDSISTEMAS ADD FILE
(
NAME=SECUNDARIO_DATA,
FILENAME='C:\DATA\SECUNDARIO_DATA.NDF',
SIZE=5MB, MAXSIZE=25MB
)
TO FILEGROUP GRUPO_SECUNDARIO
GO

c.

Eliminacin de la base de datos


El comando DROP DATABASE permite eliminar la base de datos. Los archivos fsicos
tambin se suprimen.
Sintaxis:
DROP DATABASE nombreBase [ , nombreBase2, ..]

d.

Renombrar una base de datos


Se puede renombrar una base de datos por medio de la instruccin ALTER DATABASE.
Sintaxis:
ALTER DATABASE nombreBase MODIFY NAME = nuevoNombreBase
Tambin se puede renombrar los nombres lgicos de los archivos, utilizando:
ALTER DATABASE nombreBase
MODIFY FILE
( NAME = NombreLogicoArch, NEWNAME=NuevoNombreLogicoArch )

Prof.: Lin Rodrguez, Julio Csar

Pgina 4

e.

Configuracin de una base de datos


Se puede configurar una base de datos para fijar cierto nmero de opciones y as
lograr que el comportamiento de la base de datos cubra las necesidades de los
usuarios. Para ello se debe acceder a las opciones en cuestin a travs de la interfaz
grfica de SQL
Server Management Studio, seleccionar la base de datos y abriendo la ventana de
propiedades con la tecla [F4]; tambin se puede hacer a travs del men
contextual asociado a la base de datos, o bien por el men Ver Ventana
propiedades en el men general de SQL Server Management Studio.
Sintaxis:
ALTER DATABASE SET opcin

Estado de la base de datos


Online: Permite hacer visible de nuevo la base de datos.
Offline: Permite hacer inaccesible la base de dato, que queda detenida y
cerrada correctamente. No es posible realizar operaciones de mantenimiento en una
base de datos offline.
Emergency: La base de datos est en modo de slo lectura, los registros estn
deshabilitados y su acceso queda limitado a los administradores del servidor.

Acceso
SINGLE_USER: Acceso limitado a un solo usario.
RESTRICTED_USER: Solo los miembros con funcin fija db_owner, dbcreator o
sysadmin pueden conectarse a la base de datos..
MULTI_USER: Es el modo predeterminado, que permite que todos los usuarios con
privilegios suficientes accedan a la informacin.

Operaciones posibles
READ_ONLY: La base de datos es accesible solamente para operaciones de lectura.
READ_WRITE: La base de datos es accesible para operaciones de lectura/escritura.

Prof.: Lin Rodrguez, Julio Csar

Pgina 5