Está en la página 1de 79

INSTALACIÓN Y CONFIGURACIÓN

5
DE MICROSOFT SQL SERVER 2000

SISTEMAS SQL SERVER__________________________________________________96


LA FAMILIA WINDOWS 2000______________________________________________99
VERSIONES DE SQL SERVER____________________________________________103
CUESTIONES DE SQL SERVER 2000 RELATIVAS AL HARDWARE____________104
INSTALACIÓN DEL SERVIDOR___________________________________________109
ACTUALIZACIÓN DESDE VERSIONES ANTERIORES_______________________117
INSTALACIÓN DEL CLIENTE____________________________________________124
SERVICIOS DE SQL SERVER_____________________________________________125
USO DEL ADMINISTRADOR DE SERVICIOS DE SQL SERVER_______________126
USO DE SERVICIOS DE WINDOWS 2000___________________________________127
USO DEL ADMINISTRADOR CORPORATIVO DE SQL SERVER_______________129
ESTRUCTURA DE LAS BASES DE DATOS__________________________________133
BASES DE DATOS DEL SISTEMA_________________________________________140
CREACIÓN DE BASES DE DATOS________________________________________141
EXAMINAR BASES DE DATOS___________________________________________147
BORRAR UNA BASE DE DATOS__________________________________________148
TABLAS EN LAS BASES DE DATOS_______________________________________149
CREACION DE UNA TABLA MEDIANTE EL ADMINISTRADOR CORPOR._____159
VALORES PREDETERMINADOS__________________________________________163
CREACIÓN Y USO DE UN DIAGRAMA DE BD______________________________168
RESTRICCIONES DE FOREIGN KEY EN LOS DIAGRAMAS DE BD___________170
Microsoft SQL Server 2000 es un sistema gestor de bases de datos relacionales
(SGBDR). Una base de datos relacional proporciona una forma de organizar información
almacenándola en tablas de bases de datos. La información relacional se puede agrupar en
tablas, y también se pueden definir relaciones entre tablas; de ahí el nombre, base de datos
relacional. Los usuarios acceden a la información que está en el servidor a través de una
aplicación. Los administradores acceden al servidor directamente para realizar tareas de
configuración, administrativas y de mantenimiento de la base de datos. SQL Server es una
base de datos dimensionable, lo que quiere decir que puede almacenar cantidades de datos
yq ue puede soportar muchos usuarios accediendo a los datos al mismo tiempo.

SQL Server nació en 1989 y ha cambiado de forma significativa desde entonces. Se


han realizado grandes mejoras de dimensionabilidad, la integridad, la facilidad de
administración, el rendimiento y as caracterícas del producto. SQL Server se puede utilizar
en dos tipos de entornos.

SISTEMAS SQL SERVER


Un sistema SQL Server se puede implementar como sistema cliente/servidor o
como sistema independiente. El tipo de sistema que se diseñe dependerá del número de
usuarios que vayan a acceder a la base de datos simultáneamente y de la clase de trabajo
que vayan a realizar. En esta sección se examinan ambos tipos de sistemas.

Sistema cliente/servidor

El sistema cliente/servidor puede tener una configuración de dos capas o de tres


capas. Independientemente de la configuración, el software y las bases de datos de SQL
Server residen en un equipo central llamado servidor de bases de datos. Los usuarios tienen
equipos independientes llamados clientes. Los usuarios acceden a la base de datos por
medio de aplicaciones en sus equipos cliente (en un sistema de dos capas) o a través de
aplicaciones que se ejecutan en un equipo independiente conocido como servidor de
aplicaciones (en un sistema de tres capas).

En los sistemas de dos capas los clientes ejecutan una aplicación que accede al
servidor de bases de datos directamente por medio de la red. Por lo tanto el cliente ejecuta
el código empresarial y el código para presentar los resultados al usuario. Este tipo de
cliente se conoce como cliente pesado porque realiza esas dos operaciones. La Figura 1
muestra un ejemplo de un sistema de dos capas. Una configuración de dos capas puede ser
útil cuando el número de usuarios es relativamente pequeño, dado que cada conexión de
usuario requiere recursos del sistema como memoria y bloqueos. Si se conectan un gran
número de usuarios, el rendimiento del sistema decaerá debido a la contención de recursos,
en cuyo caso se debería considerar una solución de tres capas.
Como se ha mencionado, una configuración de tres capas involucra a un tercer
equipo llamado servidor de aplicaciones. En este tipo de sistema las únicas tareas del
equipo del cliente son la ejecución de código para solicitar las funciones del servidor de
aplicaciones y la presentación posterior de los resultados. Este tipo de cliente se denomina
cliente ligero. El servidor de aplicaciones ejecuta una aplicación para ejecutar el código
empresarial; esta aplicación es multienhebrada, lo que significa que muchos usuarios
pueden acceder a ella simultáneamente. El servidor de aplicaciones realiza conexiones al
servidor de bases de datos para acceder a la información y devuelve los resultados al
cliente. Un ejemplo de este tipo de sistema se muestra en la Figura 2.

La ventaja de un sistema de tres capas es que se puede permitir que el servidor de


aplicaciones organice todas las conexiones cliente al servidor de bases de datos, en lugar de
dejar que cada cliente realice su propia conexión, lo que desperdicia recursos del servidor
de bases de datos. Este concepto se denomina cola de conexiones. La cola de conexiones
implica que las solicitudes de los clientes se colocan en un grupo (literalmente, una cola)
para esperar la siguiente conexión disponible. Cuando una conexión se libera, puede ser
utilizada para la siguiente petición de la cola. En cierto sentido, la cola de conexiones
permite regular la cantidad de trabajo que se realiza en el servidor de bases de datos
mediante la configuración del número de conexiones que se encuentran en la cola y, así, el
número disponible para realizar el trabajo del usuario. (El número de conexiones se puede
configurar por software.) Se elimina la necesidad de un gran número de conexiones de
usuario que puedan agotar rápidamente los recursos y causar una disminución del
rendimiento. Se puede implementar una cola de conexiones utilizando Microsoft Internet
Information Server y un software de cola de conexiones como COM+, que es un servicio
de componentes que se proporciona con el sistema operativo Microsoft Windows 2000. No
entraremos en detalles sobre cómo se utilizan estos productos, porque la programación de
aplicaciones queda fuera del ámbito de este libro.

Algunos sistemas empresariales y sitios Web necesitan más potencia de proceso que
el que proporciona un único servidor. SQL Server 2000 proporciona la capacidad de dividir
en particiones las tablas a lo largo de múltiples servidores que comparten la carga del
proceso de la información.

Sistema independiente

También es posible utilizar SQL Server como servidor de bases de datos


independiente que se ejecuta en un equipo de sobremesa o en un portátil. Esto se denomina
sistema independiente. Las aplicaciones cliente se ejecutan en la misma máquina que
almacena el motor de SQL Server y las bases de datos. En este sistema sólo está implicado
un único equipo. Por lo tanto no se realiza ninguna conexión de red del cliente al servidor;
el cliente realiza una conexión local a su instalación local de SQL Server.

El sistema independiente es útil en aquellos casos en los que un único usuario


accede a la base de datos o en los que unos pocos usuarios que comparten un equipo
acceden a la base de datos en diferentes momentos. Por ejemplo, en una pequeña tienda con
un equipo, varios empleados podrían acceder a la base de datos de la tienda para insertar
clientes e información de las ventas, pero tendrían que acceder al sistema por turnos.
Además, como en este ejemplo, los sistemas independientes son útiles cuando la base o
bases de datos son pequeñas.
LA FAMILIA WINDOWS 2000
En febrero de 2000, Microsoft difundió para el público la familia de sistemas
operativos Microsoft Windows 2000. Esta colección de productos proporciona una
plataforma fiable, fácil de usar y segura para Microsoft SQL Server 2000. Aunque
Microsoft Windows NT 4 soporta SQL Server 2000, Windows 2000 proporciona un
entorno más robusto para los sistemas SQL Server 2000. De hecho, SQL Server 2000 se
desarrolló en sistemas que ejecutaban Windows 2000.

Windows 2000 se encuentra disponible en cuatro ediciones: Windows 2000


Professional, Windows 2000 Server, Windows 2000 Advanced Server y Windows 2000
Datacenter Server. En este capítulo se revisarán algunas de las características de la familia
de productos Windows 2000 y algunas de las diferencias entre los cuatro productos. El
objetivo de este capítulo es proporcionar tan sólo una visión general, no una descripción en
profundidad, de los productos Windows 2000.

Para obtener una información más detallada sobre Windows 2000 conviene visitar la
Web de Microsoft en http://www.microsoft.com/windows2000

Windows 2000 Professional

Windows 2000 Professional es el nuevo sistema operativo de Microsoft para


sistemas corporativos de sobremesa y portátiles. Windows 2000 Professional combina las
mejores características de Windows 98, como la administración de energía y el
reconocimiento de dispositivos Plug and Play, con los puntos fuertes de Windows NT 4,
como la fiabilidad y la seguridad. Windows 2000 Professional proporciona a los sistemas
de escritorio y portátiles una potencia informática incrementada, a la vez que disminuye el
coste total de la propiedad.

Windows 2000 Server

Windows 2000 Server está construido sobre la base del producto Windows NT 4
Server. Windows 2000 Server integra acceso Web, soporte de aplicaciones, trabajo en red,
comunicaciones y servicios de infraestructura en un único producto. También proporciona
las funciones básicas para compartir archivos e impresoras. Windows 2000 Server ofrece
los servicios de directorio Active Directory, los cuales ayudan en la administración de una
red variada y distribuida. Active Directory se trata más adelante en este capítulo.

Windows 2000 Advanced Server


Windows 2000 Advanced Server incluye todas las características que aparecen en
Windows 2000 Server y añade componentes para soportar aplicaciones críticas. Advanced
Server incluye características como equilibrio de carga de red, agrupamiento y un mayor
soporte para el multiprocesamiento simétrico.

Windows 2000 Datacenter Server

Windows 2000 Datacenter Server es un producto especializado de la familia


Windows 2000 Server. Datacenter Server está diseñado para proporcionar clientes con
soporte hardware y software integrado. Datacenter Server lo comercializan, venden y
entregan conjuntamente Microsoft y los distribuidores autorizados que integran Datacenter
Server con su hardware. Cada sistema hardware que incorpora Datacenter Server debe
seguir un riguroso proceso de prueba y certificación. Esta certificación se centra en el
sistema completo, no sólo en componentes individuales. Una vez que el sistema está
instalado, una nueva organización, llamada Centro de soporte certificado de Microsoft
(MCSC, Microsoft Certified Support Center) para Datacenter Server, le da soporte.
Expertos en hardware y software tanto de Microsoft como de los distribuidores de hardware
conforman la plantilla del MCSC, lo que significa que puede proporcionar un único punto
de contacto para todos temas de soporte. El NCSC proporciona los siguientes servicios a
los clientes de Datacenter Server:

• • Una garantía durante el tiempo de funcionamiento de 99,9 por ciento o superior.

• • Servicios de instalación y configuración.

• • Evaluaciones de la disponibilidad del sistema.

• • Soporte hardware y software 24x7.

• • Servicio hardware y software a domicilio.

Datacenter Server está diseñado para satisfacer las necesidades de alta


disponibilidad y dimensionabilidad del centro de datos de una empresa. Soporta hasta 32
procesadores y 64 gigabytes (GB) de memoria física. Esta dimensionabilidad permite todo
tipo de aplicaciones, desde el simple almacenamiento masivo de datos hasta complejas
simulaciones de ingeniería.

Diferencias en la familia de sistemas operativos Windows 2000


La siguiente tabla. resume las diferencias entre los productos Windows 2000.

Windows 2000 Windows 2000 Windows 2000 Windows 2000


Professional Server Advanced Server Datacenter Server

Función SO cliente para equi- SO servidor que pro- SO servidor que pro- SO servidor que pro
pos empresariales de porciona archivos, proporciona soporte para proporciona el soporte
escritorio y portátiles impresoras, intranet y aplicaciones y servi- de la línea de nego
trabajo en red cios de comercio cio para grandes
electrónico aplicaciones críticas

CPUs soportadas 2 4 8 32

4 GB 4 GB 8 GB 64 GB

Agrupamiento Ninguno Ninguno Resolución de fallos Resolución de fallos


(clustering) de dos nodos; equili- de cuatro nodos;
brio de carga de red equilibrio de carga
de 32 nodos de red de 32 nodos

Requisitos mínimos CPU compatible con CPU compatible con CPU compatible con CPU compatible con
del sistema Pentium a 133 MHz; Pentium a 133 MHz; Pentium a 133 MHz; Pentium a 133
64 MB de RAM; 256 MB de RAM; 256 MB de RAM; MHz; 256 MB de
1 GB de espacio de 1 GB de espacio de 1 GB de espacio de RAM; 1 GB de
disco. disco disco espacio de disco

Una vez vistos las versiones del SO recomendables para instalar nuestro sistema
gestor de BD, es el momento de elegir que versión de sistema gestor instalar. Se puede
escoger entre cuatro versiones de Windows 2000 y tres versiones de SQL Server 2000. En
esta sección se estudiarán las diferencias entre estas versiones y por qué seleccionar una
frente a otra.

Las cuatro versiones de Windows 2000 están diseñadas para proporcionar el


software adecuado para la aplicación adecuada. Las capacidades de Windows 2000 crecen a
medida que se pasa de Windows 2000 Professional a Windows 2000 Server, Windows 2000
Advanced Server y, finalmente, Windows 2000 Datacenter. Las siguientes secciones
describen las capacidades de cada versión. Se debería escoger la versión de Windows 2000
que proporcione las capacidades necesarias, en lugar de simplemente adquirir la versión
más cara con las mayores capacidades.

Windows 2000 Professional

Windows 2000 Professional es fundamentalmente la versión de escritorio de


Windows 2000. Por regla general, un sistema que ejecute Windows 2000 Professional sólo
aprovechará las ventajas de los componentes para clientes de SQL Server 2000. Sin
embargo, si es necesario ejecutar SQL Server en el equipo, se puede instalar la versión
Personal Edition de SQL Server 2000. La versión Personal Edition sólo permite acceso
local a la base de datos. El acceso desde otros sistemas no está permitido.

Nota: Sólo la versión Personal Edition de SQL Server (y los componentes para
clientes) se pueden instalar en Windows 2000 Professional.

Windows 2000 Server

Windows 2000 Server está diseñado como sistema operativo servidor, lo que
significa que la instalación de Windows 2000 Server en un equipo permite a otros sistemas
acceder a los recursos de ese equipo. Windows 2000 Server soporta SQL Server 2000
Standard Edition. Windows 2000 Server no soporta sistemas con más de cuatro CPUs y
más de 4 gigabytes (GB) de memoria. SQL Server 2000 permite también que clientes
remotos accedan a la base de datos.

Nota: Sólo SQL Server Standard Edition, SQL Server Personal Edition y los
componentes para clientes de SQL Server se pueden instalar en equipos que ejecuten
Windows 2000 Server.

Windows 2000 Advanced Server

Windows 2000 Advanced Server es también un sistema operativo servidor. Al igual


que los sistemas que ejecutan Windows 2000 Server, los que ejecutan Windows 2000
Advanced Server permiten a otros sistemas acceder a sus recursos de sistema además de a
SQL Server. Además de tener las capacidades de Windows 2000 Server, Windows 2000
Advanced Server soporta hasta ocho CPUs y 8 GB de memoria. Para poder utilizar los
Servicios de Cluster Server de Microsoft (MSCS, Microsoft Cluster Services) para soporte
de fallos, hay que utilizar Windows 2000 Advanced Server. Además de soportar NSCS,
Windows 2000 Advanced Server con SQL Server 2000 soporta la nueva tecnología de
clústeres de SQL Server, las vistas distribuidas actualizables.

Nota: Para utilizar ocho CPUs y 8 GB de memoria con SQL Server 2000, es necesario
ejecutar la versión Enterprise Edition de SQL Server. Además, en Windows 2000
Advanced Server se pueden instalar SQL Server Standard Edition, SQL Server
Personal Edition y los componentes para clientes de SQL Server.

Windows 2000 Datacenter

El buque insignia de Windows 2000 es la versión Datacenter Edition. Esta versión


soporta todos los componentes que soportan el resto de ediciones de Windows 2000,
además de hasta 64 CPUs y 64 GB de memoria. Windows 2000 Datacenter sólo está
disponible a través de distribuidores de hardware. Además de integrar Windows 2000
Datacenter con su hardware, estos distribuidores ofrecen el más alto nivel de soporte
disponible para Windows 2000. Esta integración proporciona un único punto de contacto
para el soporte de Windows 2000 y del hardware.

Nota: Para utilizar 64 CPUs y 64 GB de memoria en SQL Server 2000, hay que
ejecutar la versión Enterprise Edition de SQL Server. Además, en Windows 2000
Datacenter se pueden instalar SQL Server Standard Edition, SQL Server Personal
Edition y los componentes para clientes de SQL Server.

VERSIONES DE SQL SERVER


Además de las versiones de Windows 2000 entre las que hay que escoger, hay varias
ediciones de SQL Server. Es muy fácil escogerla basándose en la cantidad de memoria y el
número de CPUs que es necesario utilizar. Las ediciones de SQL Server se describen aquí.

Software para clientes

Los componentes para clientes de SQL Server 2000 consisten en las bibliotecas y
utilidades de red necesarias para acceder a un sistema SQL Server remoto o local. Estos
componentes son necesarios para que cualquier sistema acceda a SQL Server, y son
idénticos independientemente de la edición de SQL Server instalada.

Personal Edition

La versión Personal Edition de SQL Server está diseñada para pequeñas bases de
datos a las que se accede localmente en un sistema cliente. SQL Server 2000 Personal
Edition no permite que otros equipos obtengan acceso a la base de datos.

Standard Edition

SQL Server 2000 Standar Edition es una de las dos ediciones servidoras de SQL
Server 2000. La versión Standar Edition funciona de la misma forma que la versión
Enterprise Edition, excepto que sólo se puede acceder a un máximo de cuatro CPUs y 4 GB
de memoria con la versión Standar Edition.

Enterprise Edition

La versión Enterprise Edition de SQL Server soporta todas las características y la


funcionalidad de todas las versiones de Windows 2000. SQL Server 2000 Enterprise
Edition requiere Windows 2000 Advanced Server o Windows 2000 Datacenter. Además,
SQL Server 2000 Enterprise Edition soporta clústeres de conmutación por error y vistas
distribuidas actualizables.

Comparación de las versiones

La siguiente tabla. muestra las versiones y capacidades de Windows 2000 y SQL


Server 2000.

SQL Server 2000 SQL Server 2000 SQL Server 2000


Personal Edition Standard Edition Enterprise Edition

Windows 2000 Profesional Capacidades limitadas N/D N/D


Sin acceso cliente

Windows 2000 Server Capacidades limitadas Capacidades de servidor Capacidades de servidor


Sin acceso cliente Hasta 4 CPUs y 2 GB Hasta 4 CPUs y 4 GB
de memoria de memoria

Windows 2000 Advanced Server Capacidades limitadas Capacidades de servidor Capacidades de servidor
Sin acceso cliente Hasta 4 CPUs y 2 GB Hasta 8 CPUs y 8 GB
de memoria de memoria
Windows 2000 Datacenter Capacidades limitadas Capacidades de servidor Capacidades de servidor
Sin acceso cliente Hasta 4 CPUs y 2 GB Hasta 64 CPUs y 64 GB
de memoria de memoria

Como se puede observar, hay varias opciones. Se debería considerar


cuidadosamente la decisión de qué adquirir. Una vez instalado en el sistema habrá que
partir de cero si se cambia de opinión.

CUESTIONES DE SQL SERVER 2000


RELATIVAS AL HARDWARE
Después de determinar la versión del sistema operativo y de SQL Server 2000
necesarias, nos queda, exclusivamente, el problema del hardware. SQL Server 2000 debe
ejecutarse en un sistema con memoria, velocidad de procesamiento y espacio de disco
adecuados. También necesita un plan apropiado de protección del sistema y de la
información en el nivel del hardware.

Las pautas clave para elegir el hardware adecuado para SQL Server son las
siguientes:

  Memoria: Un mínimo de 256 MB de RAM para la edición Standard y 512 MB de


RAM para la edición Enterprise. Esto supera varías veces el requerimiento de memoria
mínimo de 32 MB y 64 MB respectivamente; la razón principal para esta necesidad de
memoria extra es el rendimiento. Juntos, los servicios de SQL Server 2000 y los
servicios estándar de Windows 2000 utilizan entre 80 y 100 MB de memoria como
base. Las conexiones de usuario consumen aproximadamente 24 KB cada una. Las
solicitudes de datos y otros procesos de SQL Server también utilizan memoria, y este
consumo de memoria se suma a todos los otros procesos y aplicaciones que se estén
ejecutando en el servidor.

  Procesador: SQL Server 2000 sólo se ejecuta en máquinas Intel x86 o compatibles;
no funcionará con procesadores Motorola MIPS R4000, PowerPC o DEC Alpha. SQL
Server logra unas altas prestaciones en las pruebas comparativas con Intel Pentium III
Xeon a 733 MHz y AMD Athlon a 1000 MHz. Ambos procesadores constituyen un
buen punto de partida para un sistema SQL Server medio. Puede lograr importantes
mejoras en el rendimiento con una gran cantidad de memoria caché interna del
procesador. La mayoría de los procesadores Xeon vienen con 512 KB, 1 MB o 2 MB de
memoria caché interna del procesador, y 2 MB de memoria caché permiten conseguir
un rendimiento general mucho mejor.

  SMP: SQL Server 2000 permite el uso de multiprocesadores simétricos y puede


procesar consultas complejas en paralelo. Las consultas en paralelo son valiosas
solamente cuando hay pocos usuarios en el sistema y se están procesando consultas de
gran complejidad. En un sistema dedicado que sólo esté ejecutando SQL Server y dé
servicio a menos de 100 usuarios simultáneos, un solo procesador debería ser suficiente.
Si el servidor presta servicio a más de 100 usuarios o no funciona en un sistema
dedicado, puede que convenga agregar procesadores (o utilizar un sistema que permite
añadir procesadores adicionales a medida que crezcan sus necesidades).

  Unidades de disco: La capacidad de almacenamiento de datos que necesite


dependerá totalmente del número y tamaño de las bases de datos a las que el servidor dé
servicio. Necesitará suficiente espacio de disco para almacenar toda la información,
más el espacio de trabajo, archivos del sistema, memoria virtual, registros de
transacciones y, en el caso de un clúster, el disco de quórum. El rendimiento total de
E/S es tan importante como la capacidad de la unidad. En la mayoría de los casos, las
unidades SCSI (Small Computer System Interface, «interfaz para sistemas informáticos
de pequeño tamaño») son más rápidas que las unidades IDE/EIDE (Integrated Device
Electronics/Enhanced Integrated Device Electronics, «electrónica de dispositivos
integrados/IDE mejorada»), por lo que se recomienda utilizar SCSI. Para un
rendimiento óptimo de E/S, la opción recomendada es FC (fiber channel, «canal de
fibra») para soluciones de almacenamiento de alta gama. En lugar de utilizar una sola
unidad de gran tamaño, debe utilizar, varias unidades más pequeñas, lo que permite
configurar la tolerancia a fallos con RAID (Redundant Array of Independent Disks,
«matriz redundante de discos independientes»). Se recomienda separar los datos y los
registros y colocarlos en unidades distintas. Esto incluye el disco de quórum para los
mecanismos de clúster.
  Protección de los datos: Se debe agregar protección contra fallos inesperados de
las unidades de disco, utilizando RAID.

Para los datos, utilicese RAID 0 o RAID 5. Para los registros, utilicese RAID 1. RAID
0 (bandas de disco sin paridad) ofrece un buen rendimiento de lectura/escritura, pero
cualquier unidad defectuosa significa que SQL Server no podrá continuar funcionando
con la base de datos afectada hasta que se sustituya la unidad.

• • No hay redundancia
• • No hay tolerancia a fallos
• • Si un disco falla la información que
contiene se pierde

RAID 1 (espejo de disco) crea copias duplicadas de los datos en unidades separadas,
pero la recuperación de la unidad defectuosa normalmente obliga a interrumpir las
operaciones mientras se recupera la unidad defectuosa a partir de los registros de
transacción o de las copias de seguridad de la base de datos.
• • 2 accesos a disco para cada escritura.
• • Gran tolerancia a fallos y alto
rendimiento.
• • Usar para el disco del SO.
• • Usar para el registro de transacciones.
• • Se recomienda el uso de cache de
escritura.

RAID 5 (bandas de disco con paridad) ofrece una buena protección contra fallos de una
sola unidad, pero tiene un pobre rendimiento de escritura. Para un rendimiento y
tolerancia a fallos óptimos, se recomienda

• • 4 accesos a disco para cada escritura.


• • Usar en volúmenes de solo lectura o
con un porcentaje de escritura no superior
al 10%.
• • Se recomienda el uso de cache de
escritura.

RAID 0 + 1 (también llamado RAID 10), que es una estructura de espejo de disco, con
bandas de disco sin paridad.
• • 2 accesos a disco para cada escritura.
• • Usar en volumenes con un porcentaje
de escritura superior al 10.
• • Usar cuando el rendimiento es critico.
• • Se recomienda el uso de cache de
escritura.
  SAI: SQL Server está diseñado para mantener la integridad de la base de datos en
todo momento y puede recuperar la información utilizando los registros de
transacciones. Sin embargo, esto no protege el hardware del servidor frente a una
pérdida repentina de la alimentación o frente a las sobretensiones. Ambos sucesos
pueden dañar seriamente el hardware. Para evitarlo, hay que usar un sistema de
alimentación ininterrumpida (SAI). Un SAI dará tiempo para cerrar el sistema en forma
apropiada en caso de interrupción del suministro de energía, y también es importante
para mantener la integridad de la base de datos cuando el servidor utiliza controladores
de memoria caché de escritura diferida.
Este capítulo sirve de guía durante el proceso de instalación teniendo en cuenta la
actualización desde versiones anteriores. Finalmente, y para que se pueda utilizar SQL
Server en un entorno cliente/servidor, se detalla el proceso de instalación de las utilidades
para los equipos cliente.

INSTALACIÓN DEL SERVIDOR


Hay tres formas de instalar SQL Server. Se puede realizar instalación local, remota o
desatendida. Una instalación local instala SQL Server en el equipo que se está utilizando
actualmente. Mediante una instalación remota se puede instalar SQL Server en otro equipo
que se encuentre en la red. Una instalación desatendida permite instalar SQL Server sin
tener que estar presente para responder a cualquier petición de datos. En vez de eso, se
almacenan por adelantado todas las respuestas a las peticiones de datos en un archivo, y el
programa de instalación las lee automáticamente cuando las necesita.

Cada una de las tres opciones de instalación está descrita en este capítulo. Si es la
primera vez que se instala SQL Server 2000, conviene realizar una instalación local antes
de intentar cualquiera de las otras dos opciones. De esta forma nos podemos familiarizar
con el procedimiento general de instalación

Instalación local

Para realizar una instalación local hay que seguir estos simples pasos para tener SQL
Server instalado y funcionando en el servidor:

1. 1. Introducir el CD de SQL Server en una unidad de CDs. Si el sistema operativo del


servidor está configurado para iniciar automáticamente los CDs, el cuadro de diálogo de
la instalación de Microsoft SQL Server 2000 aparecerá, como se muestra en la Figura
5.l. En otro caso, será necesario ejecutar manualmente el programa Autorun.exe
(situado en el directorio de más alto nivel del CD).
2. 2. Si no se han instalado los service packs necesarios para el sistema operativo o la
versión requerida de Microsoft Internet Explorer, o si simplemente se desea examinar la
lista de requisitos previos, hay que pulsar en Requisitos previos de SQL Server 2000
para mostrar el cuadro de dialogo Requisitos previos de SQL Server 2000.

Hay que pulsar en el sistema operativo apropiado para ver sus requisitos previos, y
pulsar después en el requisito previo que se desea instalar. Si ya está cargado todo el
software apropiado se puede ir al paso 3.

Nota: Si es necesario instalar Microsoft Internet Explorer o los service packs


requeridos por Microsoft Windows 2000 o Microsoft Windows NT 4, es posible que
haya que reiniciar el sistema y volver a ejecutar Autorun.exe antes de poder proceder
con la instalación de SQL Server.

Una vez que se hayan instalado los requisitos previos hay que volver al cuadro de
diálogo principal de la instalación pulsando Atrás.

3. 3. Pulsar en Componentes de SQL Server 2000 para comenzar la instalación de SQL


Server.

4. 4. Aparece el cuadro de diálogo Instalar componentes, como se muestra en la Figura


5.2. Hay que pulsar en Instalar Servidor de bases de datos para que comience la
instalación de los componentes principales de SQL Server.

5. 5. Aparece el cuadro de diálogo de bienvenida al Asistente para la instalación de SQL


Server. Si se están ejecutando otros programas sería conveniente cerrarlos. Hay que
pulsar en Siguiente para que continúe el proceso de instalación.

6. 6. Aparece el cuadro de diálogo Nombre del equipo. Hay que pulsar en Equipo local y
pulsar después Siguiente.
7. 7. Se muestra el cuadro de diálogo Selección de instalación. Hay que pulsar en Crear
una nueva instancia de SQL Server y pulsar entonces Siguiente para continuar.

8. 8. Aparece el cuadro de diálogo Información del usuario. Hay que comprobar que el
nombre y la empresa son correctos Pulsar Siguiente para continuar.

9. 9. Se muestra el cuadro de diálogo Contrato de licencia de software. Hay que pulsar Sí


para aceptar el contrato de licencia y continuar con el proceso de instalación.

10. 10. Aparece el cuadro de diálogo Clave del CD. Hay que introducir la clave de CD de
25 caracteres que se encuentra en la etiqueta amarilla de la funda del CD y pulsar
Siguiente.

11. 11. Se muestra ahora el cuadro de diálogo Definición de la instalación. Hay que pulsar
Herramientas cliente y servidor y después Siguiente.

12. 12. Aparece el cuadro de diálogo Nombre de instancia. Si se desea dar nombre a esta
instancia de SQL Server de forma distinta a la predeterminada, hay que deshabilitar la
casilla de verificación Predeterminada y escribir el nombre deseado. Hay que pulsar
Siguiente para continuar con el proceso de instalación.

13. 13. Aparece el cuadro de diálogo Tipo de instalación, como se muestra en la Figura 5.3.
Se puede seleccionar instalación Típica, Mínima o Personalizada. La instalación Típica
incluye todas las opciones excepto las Herramientas de desarrollo y las opciones de
Búsqueda de texto. La instalación Personalizada permite añadir esas opciones además
de eliminar algunas no deseadas. La instalación mínima es equivalente a la Típica sin
las opciones Herramientas de actualización, Libros en pantalla y Herramientas de
administración.
En muchos casos se querrá realizar una instalación Típica, por lo que pulsaremos
Típica en la instalación de práctica. También se puede especificar dónde instalar el
programa y los archivos de datos de SQL Server pulsando en los botones Examinar del
grupo Carpeta de destino. Hay que pulsar Siguiente para continuar.

14. 14. Aparece el cuadro de diálogo Cuentas de servicios, como se muestra en la Figura
5.4. Se puede utilizar o bien una cuenta de usuario de Windows NT o Windows 2000, o
la cuenta Administrador. En cualquier caso, la cuenta debe tener el permiso Inicio de
sesión como servicio. Si no se está seguro sobre cómo crear estas cuentas de usuario,
conviene consultar al administrador o la documentación de Windows NT o Windows
2000. Hay que escribir el nombre y la contraseña de la cuenta creada para el servicio
SQL Server en los cuadros de textos apropiados. Si se está instalando SQL Server en
una estación de trabajo independiente, hay que pulsar Utilizar la cuenta del sistema
local. Hay que pulsar Siguiente para continuar.

15. 15. A continuación aparece el cuadro de diálogo Modo de autenticación, como se


muestra en la figura 5.5. Este cuadro de diálogo determina el nivel de seguridad de la
instalación de SQL Server. Se puede escoger Modo de autenticación de Windows o
Modo mixto. Si se selecciona Modo de autenticación de Windows, todos los permisos
de usuario sobre la base de datos se heredarán de la Configuración de seguridad de
Windows. Si se selecciona mixto, habrá que establecer una contraseña para la cuenta sa,
o administrador del sistema (system administrator) de SQL Server. Se puede optar por
dejar esta contraseña en o, pero haciendo eso disminuirá gravemente la seguridad de la
instalación de SQL Server. Después de seleccionar un modo de autenticación hay que
pulsar Siguiente para continuar
16. 16. Aparece el cuadro de diálogo Iniciar la copia de archivos. Hay que pulsar Siguiente
para continuar.

17. 17. Se muestra el cuadro de diálogo de modo de licencia. Hay dos opciones para otorgar
licencias a los clientes de SQL Server. Se pueden licenciar clientes por puesto o por
procesador. Las licencias por puesto requieren una Licencia de acceso de cliente para
cada equipo cliente que accederá al servidor. Una vez que se otorga una licencia a un
equipo, puede acceder a cualquier equipo de la red que ejecute SQL Server 2000 sin
cargo adicional. Las licencias por procesador requieren una licencia para cada
procesador en el que se ejecutará SQL Server. Por ejemplo, si se ejecuta SQL Server en
una máquina con cuatro procesadores, es necesario adquirir cuatro licencias de
procesador para utilizar los cuatro procesadores. Se podría optar por limitar SQL Server
a tan sólo dos de los cuatro procesadores. En ese caso sólo sería necesario adquirir dos
licencias de procesador.

Después de adquirir el número apropiado de licencias de procesador se pueden


conectar un número ilimitado de clientes.

Hay que pulsar Continuar para comenzar la instalación de la aplicación y los


archivos de datos de SQL Server. SQL Server instalará los archivos requeridos en el
sistema y configurará los componentes necesarios. La instalación tardará tan sólo unos
pocos minutos, o podría durar más, dependiendo de la velocidad del sistema.

18. 18. Una vez que la instalación está completa, se muestra el cuadro de diálogo Fin de la
instalación. Hay que pulsar Finalizar para completar el proceso de instalación.

Instalación remota
Si se sea utilizar el equipo para instalar SQL Server en un servidor de la red, habrá
que realizar una instalación remota. Una instalación remota difiere ligeramente de una
instalación local. Los siguientes pasos detallan la forma de realizar una instalación remota.

1. 1. Realizar los pasos del 1 al 5 de las instrucciones para una instalación local.

2. 2. En el cuadro de diálogo Nombre del equipo hay que pulsar en Equipo remoto y
escribir el nombre del equipo del sistema remoto. Pulsar Siguiente para continuar.

3. 3. Aparece el cuadro de diálogo Selección de instalación de SQL Server 2000. Hay


que pulsar Crear una nueva instancia de SQL Server y después Siguiente para
continuar.

4. 4. Se muestra ahora el cuadro de diálogo Información del usuario. Hay que verificar
que el nombre y el de la compañía son correctos. Pulsar Siguiente para continuar.

5. 5. Aparece el cuadro de diálogo Contrato de licencia de software. Hay que pulsar Sí


para aceptar el contrato de licencia y continuar con el proceso de instalación.

6. 6. Se muestra el cuadro de diálogo Clave del CD. Hay que introducir la clave de CD
de 25 caracteres que se encuentra en la etiqueta amarilla de la funda del CD y pulsar
siguiente.

7. 7. Se muestra el cuadro de diálogo Información para la instalación remota, como se


muestra en la Figura 5.6.

Hay que escribir el nombre de cuenta, la contraseña y el dominio del equipo


dónde se desea instalar SQL Server. Hay que asegurarse de que la cuenta que se utiliza
tiene autoridad para instalar software en el equipo. También hay que escribir en el
cuadro de texto Ruta de acceso destino la ruta de acceso para la instalación en el equipo
remoto. La ruta de acceso para la instalación debe de estar en el formato del Convenio
de nomenclatura universal (UNC, Universal Naming Convention), por ejemplo,
\\servidorremoto\c$\Archivos de programa\Microsoft SQL Server. Pulsar Siguiente
para continuar.

8. 8. Aparece el cuadro de diálogo Definición de instalación. Hay que pulsar


Herramientas cliente y servidor y pulsar después Siguiente

9. 9. Se muestra el cuadro de diálogo Nombre de instancia. Si se desea dar nombre a


esta instancia de SQL Server de forma distinta a la predeterminada, hay que
deshabilitar la casilla de verificación Predeterminada y escribir el nombre deseado. Hay
que pulsar Siguiente para continuar con el proceso de instalación.

10. 10. Aparece el cuadro de diálogo Tipo de instalación. Al igual que en la instalación
local, en la instalación remota se puede seleccionar instalación Típica, Mínima o
Personalizada. La instalación Típica incluye todas las opciones excepto las
Herramientas de desarrollo y las opciones de Búsqueda de texto. La instalación
Personalizada permite añadir esas opciones además de eliminar algunas no deseadas.
La instalación mínima es equivalente a la Típica sin las opciones Herramientas de
actualización, Libros en pantalla y Herramientas de administración.

En muchos casos se querrá realizar una instalación Típica, por lo que pulsaremos
Típica en la instalación de práctica. También se puede especificar dónde instalar el
programa y los archivos de datos de SQL Server pulsando en los botones Examinar del
grupo Carpeta de destino. Hay que pulsar Siguiente para continuar.

11. 11. Aparece el cuadro de diálogo Cuentas de servicios, como se mostraba en la Figura
7.4. Hay que escribir el nombre y la contraseña de la cuenta creada para el servicio
SQL Server en los cuadros de textos apropiados. (Si no se creó una cuenta
independiente se puede utilizar la cuenta Administrador de Windows NT o Windows
2000.) Hay que pulsar Siguiente para continuar.

12. 12. A continuación aparece el cuadro de diálogo Modo de autenticación. Este cuadro
de diálogo determina el nivel de seguridad de la instalación de SQL Server. Se puede
escoger Modo de autenticación de Windows o Modo mixto. Cuando se selecciona
Modo de autenticación de Windows, todos los permisos de usuario sobre la base de
datos se heredan de la Configuración de seguridad de Windows. Si se selecciona Modo
mixto, se puede definir y administrar la seguridad de la base de datos de forma
independiente. Si se selecciona Modo mixto, habrá que establecer una contraseña para
la cuenta del administrador del sistema («sa» en el cuadro de diálogo) de SQL Server.
Se puede optar por dejar esta contraseña en blanco, pero haciendo eso disminuirá
gravemente la seguridad de la instalación de SQL Server. Después de seleccionar un
modo de autenticación hay que pulsar Siguiente para continuar.
13. 13. Se muestra el cuadro de diálogo de modo de licencia. Como en la instalación local,
en la instalación remota hay dos opciones para otorgar licencias a los clientes de SQL
Server. Se pueden licenciar clientes por puesto o por procesador. Consúltese el paso 16
del procedimiento de instalación local para más información sobre los dos métodos de
licencias.

14. 14. Una vez que el proceso de instalación se haya conectado al equipo remoto y haya
verificado que se ha podido establecer la conexión, se realizará la instalación remota de
la misma forma que lo hizo la local. Todas las selecciones y opciones se escogen de la
misma forma que en la instalación local.

Durante el proceso de instalación remota de SQL Server, SQL Server crea un archivo
llamado Sqlstp.log. Este archivo se encuentra en la carpeta %Systemroot% en un sistema
Windows NT o Windows 2000. La carpeta %Systemroot% es normalmente C:\Winnt. Este
archivo enumera cada paso ejecutado además de cualquier error o problema que haya
encontrado el proceso de Instalación. Si, por casualidad, falla la instalación remota, este
archivo puede ayudar en el proceso de solución de problemas.

Instalación desatendida

SQL Server proporciona utilidades que permiten automatizar el proceso de


instalación. Estas utilidades permiten realizar una instalación sin estar presente, lo que
resulta especialmente útil cuando se instala SQL Server en un gran número de servidores.
Los pasos para crear una instalación desatendida son los siguientes:

1. 1. Desde la línea de comandos hay que cambiar el directorio a la unidad de CD-ROM.

2. Ejecutar uno de los archivos de procesamiento por lotes (.bat) que se han
proporcionado para la instalación desatendida. Estos archivos son los siguientes:

Sqlins.bat, para realizar una instalación Típica de SQL Server en Windows 95/98,
Windows NT o Windows 2000. Este archivo de procesamiento por lotes utiliza el
archivo de inicialización Sqlins.iss.

Sqlcst.bat, para realizar una instalación Personalizada de SQL Server en Windows


95/98, Windows NT o Windows 2000. Este archivo de procesamiento por lotes utiliza
el archivo de inicialización Sqlcst.iss.

Sqlcli.bat, para instalar las utilidades para clientes. Estas utilidades se instalan
utilizando el archivo de inicialización Sqlcli.iss. Las utilidades para clientes se instalan
en la carpeta C:\Archivos de programa\Microsoft SQL Server\80.

Sqlrem.bat, para eliminar todos los componentes de SQL Server del sistema. Se
debe especificar la carpeta de instalación de SQL Server como parámetro.
Antes de ejecutar el archivo de procesamiento por lotes apropiado se puede
personalizar el archivo iss asociado para sistemas particulares. Por ejemplo, se puede
cambiar el modo de licencia del predeterminado por servidor a por puesto. Para llevar esto
a cabo se debería modificar la sección [License] del archivo iss apropiado cambiando
LicenseMode=PERSERVER por LicenseMode=PERSEAT.

ACTUALIZACIÓN DESDE VERSIONES ANTERIORES


Si el sitio ya contiene datos de Microsoft SQL Server 6.5 o Microsoft SQL Server 7,
se puede actualizar la información a SQL Server 2000 de forma sencilla. Para actualizar
instalaciones de SQL Server 6.5 se utilizará el Asistente para la actualización de SQL
Server. Las instalaciones de SQL Server 7 se actualizan automáticamente durante el
proceso de instalación de SQL Server 2000.

Actualización de SQL Server 7 a SQL Server 2000

El proceso que actualiza los datos de SQL Server 7 al formato de SQL Server 2000 es
un componente incorporado en la instalación de SQL Server 2000. Una vez que se ha
completado el proceso de instalación, SQL Server 2000 ejecuta una serie de secuencias de
comandos de actualización sobre los datos de SQL Server 7. Dependiendo del número de
Datacenter Server y tablas que se estén actualizando, este proceso puede llevar algún
tiempo. Se mostrarán mensajes de estado a medida que progresa el proceso de
actualización.

Actualización de SQL Server 6.5 a SQL Server 2000

Antes de iniciar el Asistente para la actualización de SQL Server para actualizar los
datos de SQL Server 6.5 al formato de SQL Server 2000, será necesario comprobar que los
elementos de la siguiente lista de comprobación son correctos para la instalación de SQL
Server 6.5:

• • Comprobar que el parámetro user_connections de sp_configure tiene un valor en


tiempo de ejecución de al menos 25. Las nuevas bibliotecas de red pueden requerir mas
de las 15 conexiones predeterminadas para realizar la actualización.

• • Asegurar que hay copia de seguridad de todos los archivos de datos de SQL Server
6.5, incluyendo la base de datos master.
• • Ejecutar todas las comprobaciones de consistencia de la base de datos (por medio
de DBCC) en las bases de datos de SQL Server 6.5 para asegurarse de que se
encuentran en estado coherente.

• • Establecer tempdb en, al menos, 10 megabytes (MB). El tamaño recomendado es


25 MB, pero 10MB serán suficientes.

• • Deshabilitar todos los procedimientos almacenados de inicio que haya activos.

• • Detener todos los servicios de duplicación y asegurarse de que el registro de


duplicación está vacío.

• • Instalar Service Pack 3 para SQL Server 6.5 o posterior, si no lo está ya.

Para actualizar la información de SQL Server 6.5 a los formatos de SQL Server 2000
(después de haber instalado SQL Server 2000) hay que completar los siguientes pasos:

1. 1. Pulsar Inicio, apuntar a Programas, después a Microsoft SQL Server-conmutador y


pulsar Asistente para actualización de SQL Server para mostrar la pantalla de
bienvenida del Asistente para actualización de SQL Server, como se muestra en la
Figura 5.7. Pulsar Siguiente para comenzar el proceso de actualización.

2. 2. Aparece la pantalla Transferencia de datos y objetos del Asistente para


actualización de SQL Server, como se muestra en la Figura 5.8. De forma
predeterminada, el Asistente para actualización de SQL Server convertirá todos los
objetos y datos de la base de datos del formato de SQL Server 6.5 al de SQL Server
2000. Para comprobar que esta conversión se realiza con éxito hay que seleccionar la
casilla de verificación Validar la transferencia correcta de datos de objetos. La
comprobación puede consumir mucho tiempo, pero es mejor realizar esta selección.

Si hay preocupación sobre la consistencia de la información convertida, se puede


seleccionar, la casilla de verificación Comprobación exhaustiva de la integridad de los
datos. Esta opción provocará que el proceso de conversión dure aún más pero asegurará
el más alto nivel de integridad. Si no se ha ejecutado recientemente DBCC de SQL
Server 6.x, se debería seleccionar esta opción para asegurar que la corrupción de la base
de datos no afectará al proceso de conversión. Si se dispone de una unidad de cintas
presente en el sistema, se proporcionará una opción para utilizar cintas en lugar de
canalizaciones con nombre como método de transferencia de datos. Hay que pulsar
Siguiente para continuar.

3. 3. La pantalla Inicio de sesión del Asistente para actualización de SQL Server se


muestra a continuación, al igual que en la Figura 5.09. Hay que seleccionar el nombre
del servidor desde la lista desplegable y escribir la contraseña del administrador del
sistema SQL Server para la base de datos de SQL Server 6.5 que se está convirtiendo.
También hay que escribir la contraseña del administrador del sistema SQL Server para
la base de datos de SQL Server 2000 destino. Si se desean argumentos de inicio para
alguno de los servidores hay que escribirlos en el cuadro de texto Argumentos
opcionales de inicio apropiado. Estas opciones pueden incluir indicadores de traza. Si se
opta por no incluir argumentos de inicio hay que dejar estos cuadros de texto en blanco.
(Para información adicional consúltese el índice de los Libros en pantalla y búsquese
«opciones de inicio».) Hay que pulsar Siguiente para continuar.
4. 4. Una pantalla del Asistente para actualización de SQL Server muestra un mensaje
advirtiendo de que el Asistente para actualización de SQL Server necesita detener e
iniciar de nuevo las bases de datos de SQL Server 6.5 y SQL Server 2000 y que no
debería haber usuarios con sesión iniciada en ninguno de los servidores de base de datos
mientras se realiza el proceso de conversión. Hay que pulsar Sí para continuar.

Nota: En este punto el sistema conmutará entre SQL Server 6.5 y SQL Server 2000.

5. 5. Aparece la pantalla Selección de página de códigos. Esta pantalla permite


especificar la página de código de secuencia de comandos (que determina el juego de
caracteres) que se va a utilizar para la conversión. A menos que haya una necesidad
especial de otros juegos de caracteres distintos de los que el sistema ha configurado
previamente, se debería aceptar la configuración predeterminada. Hay que pulsar
Siguiente para continuar.

6. 6. El Asistente para actualización de SQL Server se comunica con la base de datos de


SQL Server 6.5 para determinar las bases de datos disponibles para la conversión y
muestra una lista con dichas bases de datos en la pantalla Actualizar bases de datos a
SQL Server 2000, como se muestra en la Figura 5.10.
Las bases de datos que se van a convertir se muestran en el cuadro de lista de la
derecha. Para excluir una base de datos del proceso de conversión hay que seleccionar
su nombre en el cuadro de lista Incluir estas bases de datos y pulsar después Excluir. La
base de datos excluida aparecerá en el cuadro de lista de la izquierda. A menos que no
se desee utilizar una base de datos en particular nunca más, no hay ninguna razón para
excluir ninguna base de datos. Hay que pulsar Siguiente para continuar.

7. 7. Aparece la pantalla Creación de bases de datos, como muestra la Figura 5.11. Esta
pantalla permite especificar cómo se crean las bases de datos. Normalmente, se utilizará
la configuración predeterminada. Se puede cambiar la configuración si se desea
especificar una nueva ubicación para los archivos de datos. Hay que pulsar Siguiente
para continuar.

Nota: En la configuración predeterminada, SQL Server crea archivos que son lo


suficientemente grandes para almacenar los datos y los objetos que se van a convertir
(tal cual se han cargado en las bases de datos de SQL Server 6.5). Sin embargo, no
crea espacio libre en estos archivos. También se crea un archivo de registro para cada
base de datos convertida. Se puede cambiar el nombre y la ruta de acceso de los
archivos de registro, el tamaño inicial del archivo y e/ incremento de crecimiento
pulsando Modificar.

La segunda opción para crear bases de datos es Utilizar bases de datos ya creadas en
SQL Server 2000. Con esta opción hay que crear los archivos de datos y de registro
con SQL Server 2000 antes de iniciar el Asistente para actualizar, y SQL Server
utilizará esas bases de datos para la información convertida.

La tercera opción es utilizar una secuencia de comandos para la creación de¡ archivo
de la base de datos. Esta secuencia de comandos debería contener la Instrucción
CREATE DATABASE necesaria para crear los archivos de datos y de registro que se
utilizarán para la conversión. Hay que pulsar Examinar para localizar esta secuencia
de comandos. La segunda y tercera opciones no se recomiendan porque se deben
utilizar en SQL Server 2000 los mismos nombres para las bases de datos que se
utilizaron en SOL Server 6.5, y los archivos de SQL Server 2000 pueden ocupar más
que los archivos originales de SOL Server 6.5. Si se utiliza la opción predeterminada,
SQL Server estimará por sí mismo este crecimiento de la información.

8. 8. Aparece la pantalla Configuración del sistema, como se muestra en la Figura 5.12.


Esta pantalla permite especificar qué objetos y configuraciones del sistema se
transfieren a la nueva base de datos. Si se selecciona la casilla de verificación
Configuración del servidor, se convierten todos los inicios de sesión y los registros de
inicio de sesión remota. Si se selecciona la casilla de verificación Configuración de
SQL Executive, se convierten todas las tareas programadas. Si se selecciona la casilla
de verificación Configuración de duplicación, se convertirá el soporte de duplicación.
(La casilla de verificación Configuración de duplicación se encuentra desactivada en
nuestro ejemplo porque no se utilizaba replicación en nuestras bases de datos de SQL
Server 6.5, por lo que no hay nada disponible aquí para transferir. La duplicación de
bases de datos se trata en el Capítulo 26.)

Bajo Configuración avanzada en el Asistente para actualización, se pueden


establecer las opciones Valores Null ANSI e Identificadores entre comillas. La opción
Valores Null ANSI afecta a las comparaciones que utilizan valores nulos. Si se establece
como Activados, los operadores de comparación (= y <>) siempre devolverán NULL
cuando uno de los argumentos del operador sea NULL. Si se establece como
Desactivados, estos operadores devolverán TRUE si ambos argumentos son NULL, o
FALSE si alguno de los argumentos es NULL y el otro es NOT NULL.

La opción Identificadores entre comillas determina la forma en que SQL Server


2000 manejará las comillas dobles. Si esta opción se establece como Activados, las
comillas dobles indicarán un identificador como un nombre de columna. Si se establece
como Desactivados, las comillas dobles indicarán una cadena de caracteres, al igual que
hacen las comillas simples. Si se pulsa Mixtos, SQL Server 2000 convertirá los objetos
con la opción Identificadores entre comillas como estuviera establecida en SQL Server
6.5. Si no se está seguro sobre esta opción, lo mejor es pulsar Mixtos. Hay que pulsar
Siguiente para continuar.

9. 9. Después de una pequeña demora, aparece la pantalla Finalización del Asistente para
actualización de SQL Server, como se muestra en la Figura 5.13. Esta pantalla permite
revisar todas las opciones de conversión seleccionadas. Si es necesario realizar
cambios, hay que pulsar Atrás y cambiar la configuración. En otro caso, hay que pulsar
Finalizar para proceder con el proceso de conversión.

10. 10. Aparece el cuadro de diálogo Intérprete de secuencias de comandos de


actualización de SQL Server, como se muestra en la Figura 5.14. Este cuadro de diálogo
muestra una lista de ejecución de los elementos actualizados, lo que permite al
administrador algo e respuesta sobre el progreso del proceso de actualización.

Nota: Dependiendo del tamaño de las bases de datos que se están convirtiendo y de sí
se optó por comprobar de forma extensiva las bases de datos convertidas, este proceso
de conversión podría durar varias horas.

Cuando el proceso de actualización se haya completado, aparecerá el cuadro de


diálogo Actualización completada. Hay que pulsar Aceptar para descartar el cuadro de
diálogo y pulsar después Cerrar para cerrar el cuadro de diálogo Intérprete de secuencias de
comandos de actualización de SQL Server.

INSTALACIÓN DEL CLIENTE


La instalación de los archivos cliente de SQL Server es tan simple como instalar el
propio SQL Server. Para instalar los archivos cliente de SQL Server en un equipo cliente
hay que seguir los siguientes pasos:
1. 1. Realizar los pasos del 1 al 9 tal cual se esbozaron antes en la sección Instalación
local.

2. 2. Cuando aparezca el cuadro de diálogo Definición de instalación, hay que pulsar


Sólo herramientas cliente y después Siguiente para continuar.

3. 3. En el cuadro de diálogo Seleccionar componentes que aparece, hay que seleccionar


las opciones deseadas y pulsar Siguiente. Se puede seleccionar Herramientas de
administración, Conectividad de clientes, Libros en pantalla, Herramientas de
desarrollo, Ejemplos de código o cualquier combinación de dichas opciones. De forma
predeterminada están seleccionadas las opciones Herramientas de administración,
Conectividad de clientes, Libros en pantalla y Herramientas de desarrollo.

4. 4. Cuando aparezca el cuadro de diálogo Iniciar la copia de archivos hay que pulsar
Siguiente para continuar.
SERVICIOS DE SQL SERVER
Una vez que se haya instalado Microsoft SQL Server 2000 puede comenzar a
utilizarse. Pero antes de iniciar una sesión y empezar a construir una base de datos se debe
conocer cómo iniciar el servicio SQL Server y sus componentes Agente SQL Server,
Coordinador de transacciones distribuidas de Microsoft y Microsoft Search. Estos
componentes se ejecutan como servicios separados aparte del servicio SQL Server. A
continuación se muestra cómo iniciar, parar y administrar estos servicios mediante la
utilización de tres herramientas: Administrador de servicios de SQL Server, Administrador
corporativo de SQL Server y Servicios de Windows 2000.

Un servicio es un programa o proceso que lleva a cabo una función específica para
dar soporte a otros programas. Al iniciar SQL Server, el servicio SQL Server se inicia en
Windows NT o, Windows 2000. Este servicio gestiona los archivos de bases de datos,
procesa sentencias Transact-SQL (T-SQL), ubica recursos entre conexiones de usuarios
concurrentes, asegura la consistencia de los datos y mucho más. Si se instalan una o más
instancias de SQL Server, el nombre de servicio para cada instancia de SQL Server es
MSSQL$NombreInstancia, donde NombreInstancia es el nombre de instancia que se eligió
en tiempo de instalación. El servicio Agente SQL Server correspondiente para una instancia
se llama SQLAGENT$NombreInstancia. Sin embargo, para múltiples instancias de SQL
Server sólo existirá una instalación tanto del Coordinador de transacciones distribuidas de
Microsoft como de Microsoft Search.

Los tres servicios componentes se proporcionan junto a la copia con licencia de


SQL Server. Agente SQL Server se instala de manera predeterminada al instalar SQL
Server. Si no se ha instalado el Coordinador de transacciones distribuidas de Microsoft y
Microsoft Search, se puede ejecutar de nuevo el programa de instalación de SQL Server
para instalar dichos componentes, que se denominan Compatibilidad con cliente DTC y
Búsqueda de texto, respectivamente. Se verá a continuación qué funcionalidad ofrece cada
uno de estos servicios.

El Agente SQL Server soporta la planificación y ejecución de trabajos, alertas,


notificaciones y planes de mantenimiento de bases de datos. Sin este servicio se apreciará
que el trabajo del administrador es mucho más difícil, si no imposible. El Agente SQL
Server permite automatizar las tareas de mantenimiento rutinario de las bases de datos. Por
ejemplo, se puede crear un trabajo para realizar automáticamente una copia de seguridad de
la base de datos cada noche a la 1 de la madrugada y otro trabajo para realizar copias de
seguridad de los registros de transacciones cada 30 minutos. Para mantener
comprobaciones del rendimiento del sistema, se puede crear una alerta de condición de
rendimiento que informe si la utilización de la CPU del servidor supera el 90 por ciento. El
Agente SQL Server debe estar ejecutándose para que realice este tipo de tareas. Este
servicio puede configurarse para que arranque automáticamente cuando se inicie SQL
Server o puede lanzarse manualmente. Se le debe configurar para que se inicie
automáticamente para asegurar que los trabajos, alertas y notificaciones planificadas
puedan ejecutarse.

El Coordinador de transacciones distribuidas de Microsoft es un administrador de


transacciones que ofrece la capacidad de incluir diferentes fuentes de datos, incluyendo
datos de bases de datos remotas, en las transacciones de las aplicaciones cliente. Esto
significa que una única transacción puede actualizar datos en múltiples servidores remotos.
Este administrador de transacciones asegura que todas las actualizaciones se convertirán en
permanentes si se lleva a cabo la transacción o, en caso de error, asegura que las
modificaciones se desharán en todas las fuentes de datos. El servicio Microsoft Search se
arranca al iniciar Microsoft Search, que soporta indexación y búsqueda de texto completo.
La indexación sobre texto completo permite que se realicen búsquedas más complejas sobre
datos de cadenas de caracteres. Por ejemplo, se pueden buscar palabras que sean similares a
una palabra dada o se pueden buscar cadenas que contengan una frase particular.

Como se ha dicho antes en este capítulo, hay varias herramientas que pueden
utilizarse para parar e iniciar los servicios de SQL Server: el Administrador de servicios de
SQL Server, el Administrador corporativo de SQL Server y Servicios de Windows 2000.

USO DEL ADMINISTRADOR DE SERVICIOS DE SQL


SERVER
Para iniciar o detener los servicios de SQL Server mediante el uso del
Administrador de servicios de SQL Server se deben seguir estos pasos. (El servicio SQL
Server también se puede poner en pausa, como se verá más adelante.)

1. Pulsar Inicio, apuntar a Programas, apuntar a Microsoft SQL Server y a


continuación elegir Administrador de servicios para mostrar la aplicación
Administrador de servicios, que aparece en la figura anterior.
2. El nombre del servidor local y el nombre del servicio de SQL Server aparecen en
las listas desplegables Servidor y Servicios. En la lista desplegable Servidor,
seleccionar el nombre del servidor a cuyos servicios se quiera controlar. (Nótese
que el Administrador de servicios puede utilizarse para administrar un servidor a
través de la red.) En la lista desplegable Servicios, seleccionar el servicio
específico que quiera controlarse: SQL Server (MSSQLSERVER), Coordinador de
transacciones distribuidas de Microsoft (Coordinador de transacciones
distribuidas), Microsoft Search (Microsoft Search) o Agente SQL Server
(SQLSERVERAGENT).

3. Se puede iniciar o detener el servicio seleccionado al pulsar el botón apropiado. Si


se ha seleccionado el servicio SQL Server, también se dispone de la opción de
detener el servicio. El símbolo del círculo (ligeramente por debajo y a la izquierda
del centro de la ventana de diálogo) muestra el estado actual del servicio
seleccionado. Si SQL Server se encuentra en estado de pausa, pulsar Iniciar o
continuar para reanudar el servicio. Al poner en pausa SQL Server se evita que los
usuarios inicien sesión y da tiempo para pedir a los usuarios que terminen se
trabajo y terminen su sesión antes de detener el servidor. Si se detiene SQL Server
sin la pausa, todos los procesos de servidor terminan inmediatamente Detener SQL
Server evita nuevas conexiones y desconecta a los usuarios que estén conectados.

4. Mientras se ejecuta el Administrador de servicios, la pantalla se actualiza cada 5


segundos. Para cambiar el intervalo de actualización, pulsar el pequeño icono de la
esquina superior izquierda de la ventana de diálogo para desplegar el menú Sistema
y elegir Opciones para mostrar la ventana de diálogo Opciones del Administrador
de servicios de SQL Server.

En el cuadro Intervalo de sondeo se puede especificar un nuevo tiempo de


intervalo de sondeo para los servicios. Si se selecciona la casilla de verificación
Comprobar acción de control del servicio, el Administrador de servicios verificará
cualquier acción que se realice para iniciar, detener o poner en pausa los servicios
mediante una pregunta con un cuadro de diálogo. Las configuraciones de intervalo
de sondeo y verificación se ajustarán igual para cada uno de los cuatro servicios.

Nota: Si los servicios SQL Server y el Agente SQL Server no se encuentran


configurados para que se inicien automáticamente se les debe iniciar de manera
manual.

USO DE SERVICIOS DE WINDOWS 2000


También se pueden iniciar y detener los servicios de SQL Server mediante el uso de
Servicios de Windows 2000, tanto local como remotamente. Incluso se pueden configurar
los servicios de SQL Server para que se inicien automáticamente cada vez que se inicie el
sistema. Para iniciar automáticamente los servicios de SQL Server desde Servicios de
Windows 2000 se han de seguir los pasos siguientes:

1. Pulsar Inicio, apuntar a Programas, apuntar a Herramientas administrativas y a


continuación elegir Servicios para iniciar Servicios.

2. Desplazarse hacia abajo en el cuadro de lista de Servicios para encontrar


Coordinador de transacciones distribuidas, Microsoft Search, MSSQLSERVER o
SQLSERVERAGENT. Pulsar con el botón derecho el servicio para el que se quiera
configurar la opción de inicio y elegir Propiedades del menú de contexto para
mostrar la ventana Propiedades.

3. 3. En la lista de opciones desplegable Tipo de inicio, seleccionar Automático,


Manual o Deshabilitado. Al seleccionar Automático se hará que el servicio se inicie
automáticamente cada vez que se inicie el sistema. Al seleccionar Manual se
requerirá que se inicie el servicio manualmente cuando quiera usarse. Al seleccionar
Deshabilitar se evitará que ese servicio se inicie, tanto automática como
manualmente. Pulsar Aceptar para guardar la configuración.

4. 4. Hay tres pestañas más en la ventana Propiedades. La pestaña Iniciar sesión


permite especificar la cuenta con que el servicio seleccionado debe iniciar sesión.
La pestaña Recuperación permite configurar opciones que deben ocurrir si el
servicio seleccionado falla. La pestaña Dependencias muestra de qué servicios
depende y qué servicios dependen del servicio seleccionado, si los hay. Por ejemplo,
el servicio Agente SQL Server depende del servicio SQL Server. El servicio Agente
SQL Server no puede inciarse si e1 servicio SQL Server se encuentra detenido.
USO DEL ADMINISTRADOR CORPORATIVO DE SQL
SERVER
El Administrador corporativo es parte de Microsoft Management Console (MMC).
MMC aplicación central que se utiliza para administrar todos los aspectos de un sistema
que ejecute Windows 2000 Server. En Windows 2000 y en versiones futuras de Windows,
MMC jugará un papel cada vez más importante en la administración de las aplicaciones
Microsoft BackOffice corno Microsoft Exchange Server, Microsoft Proxy Server,
Microsoft Site Server, Microsoft Systems Management Server y Microsoft SNA Server.

Administración de SQL Server


El Administrador corporativo es la herramienta más completa para
configurar y administrar la instalación de SQL Server. Mientras el Administrador de
servicios permite solamente iniciar, hacer una pausa o detener un servicio, el Administrador
corporativo permite iniciar y detener un servidor, y también capacita para realizar las
siguientes tareas:

- Registrar el servidor.
- Configurar servidores locales y remotos.
- Configurar y administrar una instalación de múltiples servidores.
- Ajustar la seguridad de inicio de sesión y añadir usuarios, administradores de sistema
y operadores.
- Asignar una contraseña de administrador de sistema (system administrator, sa).
- Crear y programar trabajos.
- Crear alertas y configurar SQL Server para que se comunique con los administradores
de sistema a través de correo electrónico.
- Configurar y administrar bases de datos, tablas, índices, vistas, procedimientos
almacenados, reglas, desencadenadores, definiciones DEFAULT, dispositivos de copia
de seguridad y registros de error.
- - Administrar otros servicios de SQL Server.
La lista siguiente describe cuatro tareas que pueden realizarse mediante la
utilización del Administrador corporativo. Se deben realizar estas tareas antes de comenzar
a utilizar la instalación de SQL Server por primera vez.

- Crear un grupo de servidores: Mediante la creación de un grupo de servidores se


puede restringir el acceso a la información a únicamente ese grupo. Las cuentas con
necesidades de recursos similares pueden y deberían reunirse en grupos para
simplificar la gestión de cuentas.

- Registrar el servidor: Debe registrarse el servidor con MMC antes de poder empezar
a administrarlo.

- Acceder al servidor: Una vez que se ha registrado el servidor, se pueden ver y


configurar varias propiedades. Si se tiene un entorno multiservidor, se puede utilizar el
Administrador corporativo para administrar y configurar los servidores desde un único
lugar.

- Cambiar la contraseña de administrador de sistema predeterminada Al instalar


SQL Server, la cuenta de administrador de sistema predeterminada se configura sin
contraseña. Se debe especificar una contraseña antes de comenzar a usar SQL Server

Creación de grupos de servidores

El Administrador corporativo permite crear grupos de servidores para ayudar en las


tareas administrativas. Los grupos de servidores ayudan a organizar un conjunto de
servidores relacionados para un acceso sencillo más o menos como las carpetas ayudan a
organizar archivos relacionados. Se puede entonces realizar acciones que afecten a todos
los servidores del grupo utilizando un solo comando, en lugar de mediante la repetición del
comando para cada servidor. De manera predeterminada, al instalar SQL Server, se crea un
grupo SQL Server, llamado Grupo de SQL Server. Para crear un grupo de servidores, seguir
estos pasos:

1. 1. Pulsar Inicio, apuntar a Programas, apuntar a Microsoft SQL Server y a


continuación elegir Administrador corporativo para iniciar la aplicación
Administrador corporativo.

2. El lado izquierdo de la ventana del Administrador corporativo muestra las carpetas


grupos de servidores como subcarpetas de Servidores Microsoft SQL Server, y el
lado derecho de la ventana contiene los iconos de grupos de servidores. Para crear
un grupo de SQL Server, pulsar con el botón derecho la carpeta Servidores
Microsoft SQL Server y a continuación elegir Nuevo grupo de SQL Server en el
menú de contexto que aparece.
3. Escribir un nombre para el nuevo grupo de servidores en la ventana de diálogo
Grupos de servidores que aparece. Si se pulsa en Subgrupo de, se puede seleccionar
el grupo del que el nuevo grupo de servidores será subgrupo. Si se pulsa Grupo de
nivel superior, el nuevo grupo de servidores será un grupo de SQL Server de nivel
superior, del mismo nivel que Grupo de SQL Server. Pulsar Aceptar para guardar el
nuevo grupo.

Registro del servidor

Tras crear un grupo de SQL Server se pueden registrar los servidores locales o
remotos como miembros del grupo. Para registrar un servidor hay que seguir estos pasos:

1. Pulsar con el botón derecho del ratón un icono de grupo de servidores en el panel
derecho de la ventana de Administrador corporativo. (Si el encabezamiento
Servidores Microsoft SQL Server está expandido, también se puede pulsar con el
botón derecho el nombre de la carpeta de grupo en el panel izquierdo.) Elegir Nuevo
registro de servidor SQL Server en el menú de contexto.

2. Aparece la pantalla de bienvenida del Asistente para registro de servidor SQL Server
Para muchas de las tareas de administración rutinarias que se realizarán utilizando el
Administrador corporativo se proporciona un asistente que ayuda a través del
proceso. Pulsar Siguiente para continuar el proceso de registro.

3. Aparece la pantalla Seleccionar un servidor SQL Server. Las instalaciones de SQL


Server disponibles en la red se muestran en el cuadro de lista Servidores disponibles.
Seleccionar los servidores que se quieran registrar (o escribir un nombre de servidor
en el cuadro de texto) y pulsar a continuación Agregar para mover el nombre de
servidor al cuadro de lista Servidores agregados. Tras completar las selecciones,
pulsar Siguiente.

4. Aparece la pantalla Seleccionar un modo de autenticación. Seleccionar el tipo de


seguridad que se quiera utilizar para conectar a la instalación de SQL Server. (Si se
realizó una Instalación típica, SQL Server ya está configurado para utilizar el modo
de autenticación de Windows NT.) Pulsar Siguiente para continuar.

5. 5. Aparece la pantalla Asistente para registro de servidor SQL Server. Se puede


seleccionar un grupo existente al que se puede agregar el servidor o crear un grupo
de servidores de nivel superior para el servidor. Si se quiere agregar el servidor a un
grupo existente, pulsar la primera opción de la pantalla y a continuación seleccionar
el nombre del grupo de la lista de opciones desplegable. Si se desea crear un grupo,
pulsar la segunda opción y luego escribir el nombre del grupo en el cuadro de texto.
Pulsar Siguiente para continuar.
6. Aparece la pantalla Completando el Asistente para registro de servidor SQL Server.
El servidor de la lista será registrado. Si se necesita realizar cualquier cambio, pulsar
Atrás; de lo contrario, pulsar Finalizar para terminar el proceso de registro.

7. Aparece la ventana de diálogo Registrar mensajes de SQL Server, que confirma que
el registro se finalizó con éxito. Pulsar Cerrar para cerrar esta ventana de diálogo.

Acceder al servidor

Una vez que se haya registrado con éxito el servidor utilizando Administrador
corporativo, se puede acceder a todas sus propiedades, bases de datos y objetos. Para ver las
propiedades y objetos del servidor recién registrado, en primer lugar hay que expandir el
grupo de servidores en el panel izquierdo de la ventana de Administrador corporativo.
Aparece una lista de todos los servidores del grupo. A continuación expandir el nombre del
servidor para que se muestren todas sus propiedades y objetos.

Cambiar la contraseña predeterminada

Todas las instalaciones de SQL Server tienen una cuenta administrativa incorporada,
la cuenta sa (system administrator). En instalaciones nuevas la cuenta del usuario sa no
tiene asignada una contraseña. Para asegurar el mayor nivel de seguridad en la instalación
de SQL Server, se debe asignar una contraseña a la cuenta sa. Para hacer esto, se deben
seguir estos pasos:

1. 1. Acceder al servidor cuya contraseña se quiere cambiar.

2. 2. Expandir la carpeta Seguridad y luego pulsar en Inicios de Sesión (Logins) para


mostrar las cuentas de usuario de SQL Server en el panel de la derecha.

3. 3. Pulsar el botón derecho del ratón en la cuenta de usuario sa y elegir Propiedades


en el menú de contexto que aparece.

4. 4. Escribir una contraseña nueva en el cuadro de texto Contraseña y a


continuación pulsar Aceptar para que se muestre el cuadro de diálogo Confirmar
contraseña.

5. 5. Volver a escribir la contraseña y pulsar Aceptar. Este es un paso importante para


asegurar la instalación de SQL Server.
ESTRUCTURA DE LAS BASES DE DATOS
Una vez se ha instalado Microsoft SQL Server 2000 y se ha diseñado una
distribución de bases de datos y discos, se está preparado para crear una base de datos. SQL
Server 2000 hace uso de los métodos mejorados de almacenamiento de datos y
administración del espacio que se presentaron en SQL Server 7. Las versiones anteriores
del producto utilizaban dispositivos lógicos y segmentos de un tamaño fijo para el
almacenamiento de los datos; SQL Server 2000 usa archivos y grupos de archivos que
pueden ser configurados para que crezcan o decrezcan automáticamente.

Cada base de datos de SQL Server 2000 se crea a partir de un conjunto de archivos
del sistema operativo. Estos archivos se pueden agrupar en grupos de archivos para mejorar
la administración de datos, el emplazamiento de datos y el rendimiento. En esta sección se
aprenderá acerca de los archivos y grupos de archivos de SQL Server y se examinará su
papel en la creación de bases de datos.

Archivos

Como ya se ha mencionado, una base de datos de SQL Server está compuesta de un


conjunto de archivos del sistema operativo. Un archivo de base de datos puede ser un
archivo de datos o bien un archivo de registro. Los archivos de datos se usan para
almacenar datos y objetos como tablas, índices, vistas, desencadenadores y procedimientos
almacenados. Hay dos tipos de archivos de datos: principales y secundarios. Los archivos
de registro sirven para almacenar solamente información del registro de transacciones. El
espacio de registro se gestiona siempre de manera separada del espacio de datos y nunca
puede formar parte de un archivos de datos.

Todas las bases de datos deben crearse con, al menos, un archivos de datos y un
archivo de registro, y los archivos no pueden ser utilizados por más de una base de datos,
esto es, las bases de datos no pueden compartir archivos. La lista siguiente describe los tres
tipos de archivos que puede usar una base de datos:

  Archivo de datos principal: Un archivo de datos principal contiene toda la


información de inicio para la base de datos y sus tablas y objetos de sistema. Apunta
al resto de archivo creados en la base de datos. También puede almacenar tablas y
objetos definidos por el usuario, pero no tiene por qué hacerlo. Cada base de datos
debe tener exactamente un archivo principal. La extensión de archivo recomendada
es mdf.

  Archivos de datos secundarios: Los archivos de datos secundarios son


opcionales. Pueden contener datos y objetos que no se encuentren en el archivo
principal. Una base de datos podría no tener ningún archivo secundario si todos sus
datos se encuentran en el archivo principal. Se pueden tener cero, uno, o múltiples
archivos secundarios. Algunas bases de datos necesitan archivos secundarios
múltiples para poder repartir los datos entre discos separados. La extensión de
archivo recomendada es ndf.

  Archivos de registro de transacciones: Un archivo de registro de


transacciones contiene toda la información de registro de transacciones utilizada
para recuperar la base de datos. Toda base de datos debe tener al menos un archivo
de registro y puede tener múltiples archivos de registro. La extensión de archivo
recomendada es ldf.

Nota: El tamaño máximo para una base de datos de SQL Server es de 32 terabytes
(TB) para archivos de datos y 4 TB para archivos de registro.

Una base de datos simple podría tener un archivo de datos principal, que sea
suficientemente grande corno para contener todos los datos y objetos y un archivo de
registro de transacciones. Una base de datos más compleja podría tener un archivo de datos
principal, cinco archivos de datos secundarios y dos archivos de registro de transacciones.
Entonces, ¿cómo podrían estar los datos repartidos entre todos los archivos de datos? La
respuesta es que se pueden utilizar grupos de archivos para ordenar los datos.

Grupos de archivos

Los grupos de archivos permiten agrupar archivos con propósitos administrativos y


de emplazamiento de datos. (Son similares a los segmentos de Microsoft SQL Server 6.5 y
anteriores.) Los grupos de archivos pueden mejorar el rendimiento de la base de datos
permitiendo que se cree una base de datos repartida entre múltiples discos, múltiples
controladoras de disco u sistemas RAID. Se pueden crear tablas e índices en discos
específicos mediante el uso de grupos de archivos, permitiendo de esta manera dirigir la
E/S de una cierta tabla o índice a discos, controladoras o conjuntos de discos específicos.

Hay tres tipos de grupos de archivos. Las características principales de estos grupos
de archivos se resumen en la siguiente lista:

  Grupo de archivos principal: Contiene el archivo de datos principal y todos


los otros archivos que no se hayan puesto en otro grupo de archivos. Las tablas del
sistema -que definen usuarios, objetos y permisos para una base de datos- están
asignadas al grupo de archivos principal de esa base de datos. SQL Server crea
automáticamente las tablas de sistema al crearse una base de datos.

  Grupos de archivos definidos por el usuario: Incluyen cualquier grupo de


archivos creado por el usuario mientras dura el proceso de creación (o cambio
posterior) de una base de datos. Una tabla o un índice puede ser creado para ser
colocado en un grupo de archivos definido por el usuario específico.
  Grupo de archivos predeterminado: Guarda todas las páginas para las tablas e
índices que no tienen un grupo de archivos especificado al crearse. El grupo de
archivos predeterminado es, de manera predeterminada, el grupo de archivos
principal. Los miembros de la función de base de datos db_owner pueden conmutar
la propiedad de predeterminado de un grupo de archivos a otro. Solamente un grupo
de archivos puede ser predeterminado en un momento dado -nuevamente, si no hay
especificado ningún grupo de archivos predeterminado, el grupo de archivos
principal permanece como el predeterminado automáticamente.

Para mejorar el rendimiento se puede controlar la ubicación de los datos mediante la


creación de tablas e índices en grupos de archivos diferentes. Por ejemplo, podría desearse
poner una tabla que es utilizada intensivamente en un grupo de archivos de un grupo grande
de discos (compuesto de 10 unidades de disco, por ejemplo) y poner otra tabla que se
utiliza de una manera menos intensiva en otro grupo de archivos creado en un grupo de
discos distinto, más pequeño (compuesto de 4 unidades de disco, por ejemplo). Así, la tabla
a la que se accede más frecuentemente estará repartida en el número mayor de discos,
permitiendo una E/S de disco con mayor paralelismo. Si no se utiliza RAID pero se tienen
múltiples unidades de disco aún se puede hacer uso de los grupos de archivos. Por ejemplo,
se puede crear un archivo diferente en cada unidad de disco, poniendo cada archivo en un
grupo definido por el usuario distinto. Esto permite asignar cada tabla e índice en un grupo
de archivos definido por el usuario distinto (y en un disco específico) mediante la
designación del grupo de archivos en el momento de crear la tabla o índice. La figura
siguiente muestra un orden de ejemplo: un archivo de datos principal en el grupo de
archivos principal en la unidad C, un archivo de datos secundario en cada uno de los grupos
de archivos definidos por el usuario (FG1 y FG2) en las unidades E y F y un archivo de
registro en la unidad G. A continuación se pueden crear tablas e índices en cualquiera de los
grupos de archivos definidos por el usuario: FG1 o FG2.

0 podría usarse un grupo de archivos definido por el usuario para repartir los datos
entre varios discos. La figura siguiente muestra un grupo de archivos definido por el
usuario (FG1) que incluye dos archivos de datos secundarios, uno en la unidad E y otro en
la unidad F (con el archivo de registro en la unidad G y el archivo principal en la unidad C).
Nuevamente, en este caso, se supone que cada archivo de la base de datos se crea en una
única unidad de disco física; no hay hardware RAID implicado. Las tablas e índices que se
creen en el grupo de archivos definido por el usuario se repartirán entre los dos discos,
como resultado de la estrategia de relleno proporcional de SQL Server.

Si se utiliza un sistema RAID podría necesitarse repartir los datos de una tabla más
grande de lo normal entre múltiples disposiciones lógicas de discos configuradas en dos o
más controladoras RAID. Esto se hace creando un grupo de archivos definido por el
usuario que incluya un archivo en cada una de esas controladoras. Supóngase que se han
creado dos archivos de datos secundarios, cada uno de ellos en una disposición de discos
diferente, con cada disposición compuesta de ocho discos físicos y configurada con RAID
5. Las dos disposiciones se encuentran en controladoras RAID distintas. Para crear una
tabla o un índice repartido entre las dos controladoras (esto es, entre las 16 unidades de
disco) se debe definir un único grupo de archivos definido por el usuario en el que se
coloquen los dos archivos, y a continuación crear la tabla o índice en ese grupo de archivos.
La figura siguiente muestra el grupo de archivos definido por el usuario, (FG1) que abarca
16 discos físicos, o dos disposiciones lógicas de discos RAID. También muestra el archivos
de datos principal en otra controladora (con RAID 1) y el archivo de registro en otra
controladora más (con RAID 10).

SQL Server permite distribuir de manera óptima los datos entre unidades de disco
porque secciona, o reparte, automáticamente los datos de manera proporcional entre todos
los archivos de un grupo de archivos. «Distribución en conjuntos de bandas» es el término
utilizado para describir la distribución de datos entre más de un archivo de base de datos.
La distribución de archivos de SQL Server es independiente de la distribución en conjuntos
de bandas para discos RAID, y puede usarse solo o junto con RAID, como se ha visto en
los ejemplos anteriores.
Para distribuir los datos, SQL Server escribe datos en un archivo en una cantidad
proporcional al espacio libre en ese archivo comparado con el espacio libre en otros
archivos. El espacio se asigna a las tablas e índices en extensiones. Una extensión es una
unidad de 8 páginas, y cada página es de 8 kilobytes (K), que hacen un total de 64K por
extensión. Por ejemplo, si se necesitan asignar cinco extensiones entre el archivo F1, que
tiene 400 megabytes (MB) libres y el archivo F2 que tiene 100 MB libres, cuatro
extensiones se asignan a F1 y una se asigna a F2. Ambos archivos se llenarán más o menos
al mismo tiempo, lo que permite una mejor distribución de E/S entre los discos. Se dará
distribución proporcional si los archivos F1 y F2 están en un grupo de archivos definido por
el usuario o en el grupo de archivos principal. Si todos los archivos de un grupo de archivos
se definen con el mismo tamaño inicial, los datos se repartirán a partes iguales entre los
archivos a medida que se cargan. Este método de crear los archivos con el mismo tamaño
inicial en un grupo de archivos es el recomendado para distribuir los datos a partes iguales
entre las unidades, para intentar conseguir E/S también distribuida a partes iguales. Otro
beneficio de la utilización de grupos de archivos es que SQL permite realizar copia
seguridad de la base de datos basadas en un archivo o grupo de archivos. Si la base de datos
es demasiado grande como para hacer copia de seguridad de toda ella de una sola vez, se
puede hacer copia de seguridad de sólo ciertas partes.

Reglas y recomendaciones
Se debe tener una estrategia bien desarrollada para el uso de archivos y grupos de
archivos antes de crear la base de datos. Para ello se deben conocer las siguientes reglas de
SQL Server 2000:

• • Los archivos y grupos de archivos no pueden ser usados por más de una base de
datos.

• • Un archivo sólo puede ser miembro de un grupo de archivos.

• • Los datos y la información del registro de transacciones no pueden formar parte


del mismo archivo. El espacio de registro siempre se gestiona de manera separada
del espacio de datos. Los archivos de registro de transacciones no son nunca parte
de un grupo de archivos.

• • Una vez se crea un archivo como parte de una base de datos, no puede moverse
a otro grupo de archivos. Si se quiere mover un archivo, hay que borrarlo y volverlo
a crear.

Además de estas reglas, hay modos específicos de uso de archivos y grupos de


archivos que ayudan a diseñar la base de datos:

• • La mayoría de las bases de datos funcionarán correctamente con sólo un archivo


de datos principal y un archivo de registro de transacciones. Este es el diseño
recomendado para bases de datos que no hacen un uso particularmente intenso de la
E/S. Si se tiene un sistema con una utilización intensiva de la E/S que requiera
muchas unidades de disco, probablemente se desee utilizar grupos de archivos
definidos por el usuario que repartan los datos entre discos o disposiciones de discos
para mejorar el rendimiento de la E/S paralela.

• • Colocar los archivos de registro siempre en discos distintos de los discos que
contengan archivos de datos, tal y como mencionó anteriormente.

• • Si se necesita usar archivos de datos múltiples, utilizar el archivo de datos


principal solamente para las tablas y objetos del sistema, y crear uno o más archivos
de datos secundarios para los datos y objetos del usuario.

• • Crear los archivos y grupos de archivos entre tantos discos físicos como haya
disponibles para permitir una mayor cantidad de E/S de disco paralela y maximizar
el rendimiento.

• • Colocar los índices no agrupados para tablas utilizadas intensivamente en un


grupo de archivos separado en discos físicos diferentes de los discos que contengan
los datos de la tabla en sí. Esta técnica también permite E/S de disco paralela.
• • Poner las tablas diferentes que se usen en una misma consulta en discos físicos
diferentes, si es posible, para permitir E/S paralela de disco mientras el motor de
búsqueda encuentra los datos.

Crecimiento automático de archivos

SQL Server permite que los archivos crezcan automáticamente cuando sea
necesario. Cuando se crea un archivo se puede especificar si se permite a SQL Server hacer
crecer automáticamente al archivo. Permitir el crecimiento automático, que es la opción
predeterminada cuando se crea una base de datos, se recomienda, ya que ahorra al
administrador la molestia de supervisar y aumentar manualmente el espacio de archivo.

Un archivo se crea con un tamaño inicial. Cuando se llena el espacio inicial, SQL
Server aumentará el tamaño del archivo en una cantidad especificada, conocida como el
incremento de crecimiento. Cuando se llena este nuevo espacio, SQL Server asignará otro
incremento de crecimiento. El archivo continuará creciendo en la cantidad especificada,
según se vaya necesitando, hasta que el disco esté lleno o hasta que se alcance el tamaño
máximo de archivo (si se ha especificado).

Nota: El crecimiento automático de archivos es diferente al llenado proporcional. Con


el crecimiento automático de archivos, SQL Server aumenta el tamaño de un archivo
cuando éste se llena. Con el llenado proporcional, SQL Server pone los datos en los
archivos en proporción a la cantidad de espacio que tienen disponible los archivos
pero no aumenta el tamaño de los archivos.

El tamaño máximo de archivo es simplemente eso -el tamaño máximo hasta el que
se permite crecer a un archivo. Este valor también se especifica en la creación de un
archivo pero se puede revisar posteriormente utilizando el Administrador corporativo o el
comando ALTER DATABASE. Si no se fija un tamaño máximo para un archivo, SQL
Server continuará haciendo crecer al archivo hasta que se llene todo el espacio de disco.
Para evitar que se termine el espacio de disco y que SQL Server reciba errores hay que fijar
un tamaño máximo para cada archivo. Si alguna vez un archivo alcanza su tamaño máximo,
se puede incrementar el tamaño máximo mediante el uso de la sentencia ALTER
DATABASE o se puede crear otro archivo en el mismo disco si aún hay espacio en ese
disco o en un disco distinto. Hay que asegurarse de que el nuevo archivo esté en el mismo
grupo de archivos que el archivo original. Si se permite a un archivo crecer sin restricciones
(que es lo predeterminado) hasta que se utilice todo el espacio de disco disponible, habrá
que crear un archivo en otro disco que tenga espacio libre.

Por norma, debería utilizarse crecimiento automático de archivos y tamaños de


archivo máximos. Incluso aunque se encuentre disponible el crecimiento automático de
archivos, aún se debería supervisar el crecimiento de la base de datos regularmente -quizás
diaria o semanalmente para unos registros propios. Se puede mantener la información de
crecimiento en una hoja de cálculo, por ejemplo. Con esta información se puede extrapolar
para estimar cuánto espacio en disco se va a necesitar para el mes que viene, el año que
viene, los próximos cinco años, etc. Mediante la supervisión del espacio se debería conocer
qué archivos han experimentado crecimiento automático y cuándo o si se debería alterar la
base de datos para añadir más archivos. Esta evaluación continua del espacio ayudará a
evitar el alcanzar el tamaño máximo de archivo o el utilizar todo el espacio en disco
disponible.

BASES DE DATOS DEL SISTEMA


Al instalar SQL Server se crean cuatro bases de datos del sistema: las bases de datos
master, tempdb, model y msdb. Estas bases de datos se describen en la siguiente lista:

  Master: Registra la información a escala de sistema, la información de


inicialización de SQL Server y los parámetros de configuración de SQL Server. Esta
base de datos también registra todas las cuentas de inicio de sesión, la existencia de
todas las demás bases de datos y la posición del archivo principal de todas las bases de
datos de usuario. Siempre se debe mantener una copia de seguridad reciente de la base
de datos master.

  Tempdb: Alberga tablas y procedimientos almacenados temporales. Esta base de


datos también se utiliza para otras necesidades de almacenamiento temporales de SQL
Server, por ejemplo para la ordenación de datos. Se vuelve a crear una copia limpia de
la base de datos tempdb cada vez que se inicia SQL Server. Seguidamente crece de
manera automática, según vaya siendo necesario. Si se necesita una gran cantidad de
espacio tempdb, se puede aumentar el tamaño predeterminado de la base de datos
mediante el uso del comando ALTER DATABASE.

  Model: Sirve como plantilla para todas las demás bases de datos que se creen en el
sistema, entre ellas tempdb. Cuando se crea una base de datos, la primera parte de ella
se crea como una copia de los contenidos de la base de datos model. El resto de la base
de datos se rellena con páginas vacías. La base de datos model debe existir en el sistema
porque se utiliza para volver a crear tempdb cada vez que SQL Server se inicia. Se
puede alterar la base de datos model para que incluya tipos de datos, tablas, etc.,
definidos por el usuario. Si se altera la base de datos model, cada base de datos que se
cree tendrá los atributos modificados.

  Msdb: Contiene tablas que el Agente de SQL Server utiliza para la planificación de
trabajos y alertas y para el registro de operadores. Esta base de datos también alberga
las tablas que se usan para la duplicación.

Cada una de estas bases de datos del sistema tiene sus propios archivo de datos
principal y archivo de registro. Las bases de datos se almacenan en la carpeta que se
designó para archivos del sistema durante la instalación de SQL Server.
CREACIÓN DE BASES DE DATOS
SQL Server proporciona tres métodos para la creación de una base de datos: el
Asistente para creación de bases de datos, el Administrador corporativo de SQL Server y
comandos T-SQL que pueden guardarse en un archivo y ejecutarse como un archivo de
comandos:

El Asistente para creación de bases de datos tiene algunas limitaciones que deben
tenerse en cuenta. El asistente coloca todos los archivos de datos que crea en una sola
unidad de disco en la carpeta que se le especifique. No se puede poner archivos de datos en
posiciones físicas diferentes (ni en unidades diferentes ni en carpetas diferentes) si se utiliza
el asistente. Se pueden poner archivos de registro en una unidad o una carpeta separada de
los archivos de datos pero, nuevamente, en una única posición física. No pueden
especificarse grupos de archivos definidos por el usuario, y todos los archivos heredan las
mismas opciones de crecimiento. Debido a estas limitaciones, el Asistente para creación de
bases de datos es la mejor elección si sólo se necesita un archivo de datos principal y un
archivo de registro de transacciones en la base de datos. (Por otra parte, siempre se pueden
añadir archivos y grupos de archivos a la base de datos posteriormente si se necesitan.)

Debería usarse el Administrador corporativo o un archivo de comandos T-SQL para


crear la base de datos si se tienen archivos de datos secundarios que se quieren colocar en
una unidad de disco distinta de la que contenga el archivo de datos principal, si se quieren
añadir grupos de archivos definidos por el usuario o si se necesitan opciones de crecimiento
distintas para los diferentes archivos.

Uso del Asistente para creación de bases de datos

Para creadores de bases de datos principiantes, el Asistente para creación de bases


de datos puede ser el método más fácil; si, de todas formas, se ajusta a las necesidades
propias a pesar de las limitaciones antes mencionadas, debe usarse. Hay que seguir estos
pasos para crear una base de datos, si se quiere utilizar el Asistente para creación de bases
de datos:

1. 1. Iniciar el Administrador corporativo de SQL Server y seleccionar el servidor en el


que se quiere crear la base de datos. Para seleccionar el servidor hay que comenzar por
expandir la carpeta Servidores Microsoft SQL Server. (Pulsar el signo más a la
izquierda del nombre de la carpeta.), expandir la carpeta Grupo de SQL Server y a
continuación pulsar en el nombre del servidor que quiera usarse. En el menú
Herramientas, seleccionar Asistentes,Expandir Base de datos.
2. 2. Pulsar dos veces en el Asistente para creación de bases de datos para iniciar el
Asistente para creación de bases de datos.

3. 3. Pulsar Siguiente para pasar a la pantalla Dar nombre a la base de datos y especificar
su ubicación. Escribir el nombre de la base de datos que se quiere crear y las rutas de
las posiciones donde se quieren almacenar los archivos de datos y los archivos de
registro. Estas posiciones deben contener una unidad válida y una carpeta que ya exista
en el sistema local. Si se pulsa el botón para examinar [ ... ] a la derecha de uno de los
cuadros de texto inferiores se puede buscar y seleccionar una carpeta. Una vez se haya
nombrado la base de datos y localizado la ruta en que deben estar los archivos de datos
y registro, pulsar Siguiente para continuar.

4. 4. Se muestra la pantalla Dar nombre a los archivos de base de datos. En esta pantalla
se puede escribir el nombre y tamaño inicial para cada uno de los archivos de base de
datos. El archivo principal de la base de datos se crea automáticamente y se le da el
nombre de la base de datos como prefijo en su nombre. Se puede aceptar este nombre o
escribir uno diferente. El archivo de datos principal tiene una extensión mdf. Si se tiene
idea de cómo de grandes serán los archivos de la base de datos, escribir un valor de
tamaño inicial ahora. De otro modo, dejar el tamaño predeterminado; se puede
modificar más tarde utilizando el Administrador corporativo o el comando ALTER
DATABASE. Cualesquiera archivos que se creen aparte del archivo primero o principal
serán archivos secundarios y se les dará automáticamente la extensión ndf. Todos los
archivos creados aquí serán colocados en el grupo de archivos principal. No hay opción
para crear grupos de archivos definidos por el usuario con el Asistente para creación de
bases de datos. En el ejemplo, se deja el archivo principal, MiBD_Data, y se añade un
archivo secundario, MiBD_Data2. Ambos archivos serán colocados en el mismo lugar
que se especificó en el paso 3. (No se debe continuar sí no se desea poner todos los
archivos de datos en la misma unidad y la misma carpeta. Por el contrario, deberá
utilizarse uno de los otros métodos que se muestran en las secciones siguientes para
crear una base de datos.) Pulsar Siguiente para continuar.

5. 5. Se muestra la pantalla Definir el crecimiento del archivo de base de datos. Como se


ha mencionado antes en este capítulo, SQL Server puede aumentar automáticamente el
tamaño de la base de datos según se necesite, lo cual ayuda a reducir la sobrecarga de
mantenimiento En general, se debería seleccionar la característica de crecimiento
automático (Crecimiento automático de archivos de base de datos) porque implica poca
sobrecarga de rendimiento de otra forma, se necesitará ajustar manualmente el tamaño
de la base de datos según sea necesario. Si se pulsa Crecimiento automático de archivos
de base de datos se puede especificar la manera en que el archivo de base de datos
deberá aumentar: bien en fragmentos de un número fijo de megabytes o según un
porcentaje del tamaño actual. Debe tenerse en cuenta que el archivo de base de datos
crecerá sólo según se necesite. También se puede restringir la base de datos a un tamaño
máximo o dejarla crecer sin restricciones. Las configuraciones de esta pantalla se
aplicarán a cada archivo de base de datos que se creara en el paso 4. No se puede
utilizar el Asistente para creación de bases de datos para configurar parámetros de
crecimiento para archivos individuales. Pulsar Siguiente para continuar.
6. Aparece la pantalla Dar nombre a los archivos del registro de transacciones. Esta
pantalla parece igual a la pantalla Dar nombre a los archivos de base de datos, pero esta
versión es para el archivo de registro. Ha de tenerse cuidado de no confundir las
pantallas.

Tal y como se hizo en el paso 4 para los archivos de base de datos, escribir el nombre y
tamaño inicial para el registro de transacciones. (Recuérdese que un registro de
transacciones contiene una grabación de todas las modificaciones de la base de datos
para posibilitar la recuperación en caso de un fallo de sistema.) El primer archivo de
registro de transacciones se crea automáticamente y se le da el nombre de la base de
datos como prefijo de su nombre. Se puede aceptar este nombre o escribir uno distinto.
Los datos del registro de transacciones se almacenan en un archivo con la extensión Idf.
Se puede añadir más archivos de registro en unidades diferentes si es necesario. Si se
tiene idea del tamaño que tendrá el archivo de transacciones, escribir un valor ahora. De
otra manera, dejar el tamaño predeterminado; se puede modificar posteriormente
utilizando el Administrador corporativo o el comando ALTER DATABASE. Pulsar
Siguiente para continuar.

7. Se muestra la pantalla Definir el crecimiento del archivo de registro de transacciones.


Esta pantalla parece igual que la pantalla Definir el crecimiento del archivo de base de
datos. De igual modo que en el paso 5, se puede seleccionar Crecimiento automático de
archivos de registro de transacciones y, si se desea, se puede especificar los parámetros
de crecimiento y el tamaño máximo de archivo. Pulsar Siguiente para continuar.

8. Aparece la pantalla Completando el Asistente para creación de bases de datos. Revisar


la información que se ha especificado para la nueva base de datos. Si es aceptable,
pulsar Finalizar para terminar la creación de la base de datos; de lo contrario, pulsar
Atrás y hacer cualquier cambio necesario.
9. Una vez se ha creado la base de datos, aparece un cuadro de mensaje Asistente para
creación de bases de datos para informar que la base de datos se ha creado
correctamente. Pulsar Aceptar para cerrar este cuadro de mensaje.

10. Aparece otro cuadro de mensaje, que pregunta si se quiere crear un plan de
mantenimiento para la nueva base de datos. Se recomienda crear un plan de
mantenimiento para asegurarse de que la base de datos tenga un comportamiento
correcto, se haga copia de seguridad regularmente por si hay fallo del sistema y sea
verificada contra inconsistencias.

Uso del Administrador corporativo

El Administrador corporativo de SQL Server da la capacidad de crear bases de datos


más complejas que las creadas con el Asistente para creación de bases de datos. Se pueden
especificar opciones de crecimiento para cada archivo que se cree, en vez de para todos los
archivos en grupo y se pueden crear grupos de archivos definidos por el usuario. Para crear
una base de datos utilizando el Administrador corporativo hay que realizar los pasos
resumidos en la siguiente lista. En el ejemplo se creará una base de datos de muestra
llamada MiBD con un archivo de datos principal, tres archivos de datos secundarios (que
residen en un mismo grupo de archivos definido por usuario) y un archivo de registro.

1 . Abrir el Administrador corporativo. En el panel izquierdo, expandir el grupo de


SQL Server que contenga el nombre del servidor sobre el que se quiere crear la base
de datos y expandir el propio nodo del servidor. A continuación pulsar con el botón
derecho del ratón en la carpeta Bases de datos y elegir Nueva base de datos.

2. 2. Se abre la ventana Propiedades de la base de datos, con la pestaña General en


primer plano, como se ve en la figura siguiente. Escribir el nombre de la base de
datos en el cuadro Nombre.
3. 3. Pulsar la pestaña Archivos de datos. Como se muestra en la figura siguiente, el
Administrador corporativo crea automáticamente el archivo de datos principal, con
el nombre de la base de datos como prefijo y PRIMARY como grupo de archivos.
Se puede cambiar el nombre, posición y tamaño del archivo principal, pero no se
puede cambiar el grupo de archivos del archivo de datos principal. Escribir el
nombre de archivo (nombre lógico), ubicación (nombre físico), tamaño y grupo de
archivos de cada archivo que se desee crear. Para cada archivo distinto del archivo
principal se puede escribir un nombre de grupo de archivos definido por el usuario,
y dicho grupo de archivos será creado.

En el ejemplo, se crea el archivo de datos secundario MiBD_Data2 en el grupo de


archivos Mi_FG.

La ubicación de cada archivo es de manera predeterminada la carpeta en la unidad


en que SQL Server está instalado. Se puede cambiar esta configuración escribiendo
una nueva ruta o mediante el uso del botón de examinar.

4. En el área Propiedades de archivo en la parte baja de la ventana se pueden


seleccionar las opciones de crecimiento automático según cada archivo. Seleccionar
el nombre del archivo para el que se quiera configurar las opciones de crecimiento.
Seleccionar la casilla de verificación Crecimiento automático del archivo para
habilitar el crecimiento automático para ese archivo. A continuación se puede
especificar el incremento de crecimiento en megabytes o como porcentaje del
espacio libre restante en el archivo. También se puede especificar un tamaño
máximo de archivo pulsando Limitar crecimiento de archivo a (MB) e introducir un
tamaño en megabytes o se puede dejar el tamaño del archivo sin limitar. Se puede
configurar estas opciones a medida que se crea cada archivo o se pueden dejar los
valores predeterminados y cambiarlos posteriormente mediante la ventana
Propiedades de la base de datos de Administrador de archivos. Si se necesita borrar
un archivo de la lista, seleccionar el nombre de ese archivo y presionar la tecla
Suprimir.

5. Tras terminar la configuración de todos los archivos de datos, pulsar la pestaña


Registro de transacciones de la ventana Propiedades de la base de datos para
configurar los archivos del registro de transacciones. Los archivos de registro se
configuran de la misma manera que los archivos de datos, excepto que no se puede
seleccionar un grupo de archivos para los archivos de registro dado que éstos no
pertenecen a ningún grupo de archivos. Escribir el nombre de archivo (nombre
lógico), la ubicación (nombre físico) y el tamaño inicial del archivo o los archivos
de registro. Hay que elegir también las opciones de crecimiento automático para los
archivos de registro como se ha descrito en el paso 4 para archivos de datos.

6. 6. Una vez se hayan definido tantos archivos como se desee, pulsar Aceptar. SQL
Server creará la base de datos. Volver al Administrador corporativo y pulsar la
carpeta Bases de datos del servidor al que se ha añadido la base de datos. En el
panel derecho del Administrador corporativo se verá que SQL Server ha añadido un
icono para esa base de datos.

EXAMINAR BASES DE DATOS


Tras crear una base de datos se puede utilizar el Administrador corporativo para
explorar y ver objetos en ella. También puede verse información acerca de una base de
datos mediante la ejecución de comandos SQL con OSQL en línea de comandos.

Uso del Administrador corporativo

Para ver información de la base de datos utilizando el Administrador corporativo se


deben seguir estos pasos:

1. 1. En el Administrador corporativo, expandir (pulsando los signos más) las listas


del grupo SQL Server, el nombre del servidor en que reside la base de datos y la
carpeta Bases de datos.

2. Pulsar el nombre de la base de datos que se desee para mostrar los objetos que
contienen la base de datos.

BORRAR UNA BASE DE DATOS


En algún momento se puede querer quitar una base de datos. Hay que recordar que
esto es una calle de dirección única -una vez que se borra una base de datos, la única
manera de recuperarla es restaurar una versión de copia de seguridad. Es más seguro, por
tanto, hacer copia de seguridad de la base de datos antes de borrarla, sólo por si acaso se
pueda volver a necesitarla más tarde. Se puede borrar una base de datos utilizando
Administrador corporativo o comandos T-SQL.

Uso del Administrador corporativo

Como se ha mencionado anteriormente, el Administrador corporativo permite


realizar administración sobre las bases de datos además de ver información. Para borrar
permanentemente una base de datos y todos sus archivos utilizando el Administrador
corporativo hay que seguir estos pasos:

1. 1. En el Administrador corporativo, expandir el grupo SQL Server y el nombre


del servidor en que la base de datos se halla instalada.

2. 2. Desplegar la carpeta Bases de datos para ver las bases de datos disponibles.

3. Pulsar con el botón derecho del ratón en el nombre de la base de datos que se
quiere eliminar y, a continuación, elegir Eliminar en el menú de contexto. Aparece
el cuadro de mensaje Eliminar base de datos. Pregunta si se quiere eliminar el
historial de copia de seguridad y recuperación de la base de datos, así como borrar
la base de datos. Si se selecciona esta opción, toda la información de copia de segu-
ridad y recuperación de las tablas de historial de copia de seguridad y recuperación
que reside en la base de datos msdb será borrada. Si se quiere guardar esta
información, quitar la selección de la casilla de verificación. Pulsar Sí para
confirmar el borrado.

Tras borrar una base de datos se debería hacer una nueva copia de seguridad de la base
de datos master, de manera que contenga la información actual acerca de bases de datos de
usuario y no incluya información sobre la base de datos que acaba de ser eliminada.
Adviértase también que una base de datos no puede borrarse mientras haya usuarios
accediendo a ella. Todos los usuarios deben desconectar de una base de datos antes de que
sea eliminada.
TABLAS EN LAS BASES DE DATOS
Una vez se haya creado una base de datos (con archivos y grupos de archivos), el
siguiente paso es crear los objetos, denominados tablas, que permiten organizar y
almacenar los datos. Este apartado examina las decisiones principales que implica la
creación de una tabla de una base de datos. La creación de una tabla puede ser un proceso
ligeramente complicado debido a las muchas opciones que se encuentran disponibles.
Primero se examinarán los requisitos básicos para una tabla y seguidamente se explorarán
algunas de las opciones, dando ejemplos mientras se avanza.

En este apartado se aprenderá sobre tipos de datos definidos por el usuario y por el
sistema, cómo ubicar tablas en grupos de archivos, valores NULL y la propiedad
IDENTITY. Se aprenderá a crear una tabla mediante la utilización del Administrador
corporativo.

Al tiempo que se empiezan a diseñar las tablas de la base de datos se deben tomar
varias decisiones en relación con su estructura. Estas decisiones incluyen la determinación
de qué partes de los datos necesitan almacenarse en las tablas y cómo deben relacionarse
las tablas entre sí. Este proceso ayudará a tener una visión global antes de entrar en los
detalles de la creación de tablas. La siguiente lista da un esquema de estas decisiones de
diseño:

• ¿Qué datos contendrá cada tabla?


• ¿Qué columnas deben crearse para albergar los datos y cómo deben llamarse?
• ¿Cuáles son los requisitos del rango de los datos que se permitiría contener a una
columna qué tipo de datos Microsoft SQL Server 2000 debe utilizarse para cada
columna?
• ¿Hay alguna columna a la que se deba permitir contener valores NULL o pueden
utilizarse valores predeterminados en su lugar? (Permitir valores NULL provoca
mayor carga de procesamiento que la utilización de valores predeterminados.)
• ¿Qué columnas serán claves principales y cuáles serán claves ajenas?
• ¿Qué tipo de índices (agrupados o no agrupados) debe tener la tabla y en qué columna
columnas deben definirse dichos índices?
• ¿Qué usuarios deben tener acceso a qué tablas?

Se debe intentar resolver tantas de estas decisiones de diseño como sea posible y
representarlas sobre papel o con diagramas en pantalla para entender el diseño general de
las tablas de la base de datos antes de crearlas. También se debe averiguar de los usuarios la
manera en que se accederá a los datos. Por ejemplo, averiguar si una tabla determinada será
de sólo lectura o si se realizaran inserciones, eliminaciones y actualizaciones. Determinar
qué consultas se realizarán más frecuentemente y qué columnas necesitan recuperarse.
Establecer qué información se necesita realmente en la base de datos y cuál es innecesaria
almacenar. Esta información ayudará a decidir la manera de construir tablas e índices, qué
restricciones podrían necesitarse, dónde podrían ser útiles valores predeterminados y más
cosas. A continuación se abordará el aprendizaje de la creación tablas desde sus cimientos.
REPASO DE CONCEPTOS BÁSICOS SOBRE TABLAS

En esta sección se revisarán algunos conceptos simples pero importantes acerca de


las tablas. Se incluye una tabla de base de datos de muestra para presentar los elementos
básicos de una tabla y se aprenderá sobre los tipos de datos del sistema, y cómo crear y
eliminar tipos de datos definidos por el usuario.

Definición de tabla de una base de datos

Una tabla es un objeto de una base de datos que almacena datos en una colección de
filas y columnas. Una tabla se define por las columnas que contiene. Así, los datos pueden
organizarse de forma similar a una hoja de cálculo, como se ilustra en la tabla siguiente,
que muestra una tabla de base de datos de ejemplo llamada Info_Productos.

La tabla Info_Productos se utiliza para almacenar información sobre cada producto


que haya a la venta en una tienda. Cuando un producto se halle disponible para la venta, se
añaden sus datos como una nueva fila de la tabla. Esta tabla contiene cinco columnas de
información: ID_Producto, Nombre_Producto, Descripción, Precio e ID_Marca. La tabla
anterior ilustra una muestra de tres filas de datos de la tabla Info_Productos.

Tabla Info_Productos

ID_Producto Nombre_Producto Descripción Precio ID_Marca

1 Tienda cinco pies Para una o dos personas 80,00 12


2 Miniestufa Alimentada con queroseno 20,00 33
3 Mochila Con estructura de acero 60,00 15

Para definir una tabla se debe decidir qué columnas definir y qué tipo de datos,
como por ejemplo datos de caracteres o numéricos, se permite que haya en cada columna.
También se debe decidir sobre un rango permisible a esos datos -por ejemplo, podría
decidirse permitir hasta 30 caracteres o números de 4 bytes. Estos atributos se especifican
mediante la asignación a cada columna de un tipo de datos, que es un conjunto de atributos
que determinan qué tipo y rango de datos puede albergar esa columna. SQL Server
proporciona algunos tipos de datos de sistema que pueden utilizarse, o se pueden crear unos
propios construyéndolos sobre los tipos del sistema. (No se puede cambiar un tipo de datos
del sistema, pero se puede crear un tipo completamente nuevo.)

Utilización de tipos de datos del sistema


Como se ha mencionado, se especifica un tipo de datos para cada columna de una
tabla. La asignación de un tipo de datos a una columna fija los siguientes atributos:

- - La clase de datos que la columna puede contener, como caracteres, enteros o


imágenes.

- - El tamaño o longitud de los datos de una columna.

- - La precisión del número (sólo para tipos numéricos) -esto es, el número de dígitos
que puede contener un número.

- - La escala del número (sólo para tipos numéricos) -esto es, el número de dígitos que
pueden almacenarse a la derecha del punto decimal.

Los tipos de datos también afectan a las columnas en las vistas, a los parámetros en
los procedimientos almacenados, a las variables y a las funciones T-SQL que devuelven
uno o más valores de datos. Los tipos de datos integrados que ofrece SQL Server se definen
en la tabla siguiente. SQL Server 2000 introduce tres tipos de datos: bigint, sql_variant y
table. (Con pocas excepciones, expuestas en esta tabla, se utilizan los mismos tipos de datos
para todos los objetos mencionados.)

Tipo de datos Descripción Tamaño de almacenamiento

bigint Un número entero de 8 bytes. 8 bytes

binary [(n)] Datos binarios de longitud fija de n bytes, donde n es un n + 4 bytes


valor de 1 a 8000. Hay que usar binary cuando las entradas
de datos de una columna se supongan próximas al mismo
tamaño.

bit Tipo de datos entero que puede tomar los valores 1, 0 o 1 byte para una tabla con
NULL. Las columnas de bits no pueden tener índices en columnas de hasta 8 bits, 2
ellas. bytes para una tabla con
columnas de entre 9 y 16 bits,
y así sucesivamente.

char [(n)] Datos de caracteres no Unicode de tamaño fijo con longitud n bytes
de n caracteres, donde n es un valor de 1 a 8000.

cursor Una referencia a un cursor. Sólo puede usarse para variables No aplicable
y parámetros de procedimientos almacenados.

datetime Datos de fecha y hora desde el 1 de enero de 1753 al 31 8 bytes


de diciembre de 9999, con una precisión de 3,33 milisegundos.

decimal [(p, [s])] o Números de precisión y escala fijas. (El tipo de datos nume- De 5 a 17 bytes, dependiendo
numeric [(p, [s])] ric es sinónimo de decimal.) La precisión (p) especifica el de la precisión.
número total de dígitos que pueden almacenarse, tanto a la
izquierda como a la derecha del punto decimal. La escala (s)
especifica el número máximo de dígitos que pueden alma
cenarse a la derecha del punto decimal. La escala debe ser
menor o igual que la precisión. La precisión mínima es 1, y
la precisión máxima es 28 a no ser que se inicie SQL Server
con el parámetro -p, en cuyo caso la precisión puede ser
hasta 38.

float [(n)] Datos numéricos de precisión flotante que pueden alcanzar De 4 a 8 bytes, dependiendo de
desde -1, 79E+308 hasta 1, 79E+308. El valor n es el núme- la precisión.
ro de bits utilizados para almacenar la mantisa del número
de coma flotante y puede variar entre 1 y 53.

image Utilizado para datos binarios de longitud variable mayor de 16 bytes para el puntero.
8000 bytes, con un máximo de 2^31 1 bytes. Una entrada
en una columna image es un puntero a la posición del valor
de los datos image. Los datos se almacenan de manera sepa-
rada de los datos de la tabla.

integer o int Datos de un número entero desde -21131 (-2.147.483.648) 4 bytes


hasta 2^31 - 1 (2.147.483.647).

money Valores de datos monetarios entre -21163 8 bytes


(-922.337.203.685.477,5808) y 2^63 - 1
(922.337.203.685.477,5807), con exactitud hasta la diezmi-
lésima de una unidad monetaria.

nchar [(n)] Datos de caracteres Unicode de longitud fija de n caracte- 2 bytes x el número de caracte-
res, donde n es un valor entre 1 y 4000. Los caracteres res introducidos.
Unicode usan 2 bytes por carácter y pueden soportar todos
los caracteres internacionales.

ntext Datos Unicode de longitud variable con un máximo de 16 bytes para el puntero y 2
2-30 = 1 (1.073.741.823) caracteres. La entrada en la bytes x el número de caracteres
columna ntext es un puntero a la posición de los datos. El introducidos para los datos.
dato se almacena de manera separada de los datos de la
tabla.

nvarchar Datos Unicode de longitud variable de n caracteres, donde 2 bytes x el número de caracte
n es un valor entre 1 y 4000. Recuérdese que los caracteres res introducidos.
Unicode usan 2 bytes por carácter y pueden soportar todos
los caracteres internacionales.

real Datos numéricos de precisión flotante que pueden variar 4 bytes


entre -3,40E+38 y 3,40E+38. El sinónimo del tipo real es
float (24)

smalldatetime Datos de fecha y hora desde el 1 de enero de 1900 hasta el 4 bytes


6 de junio de 2079, con exactitud hasta el minuto (menos
preciso que el tipo de datos datetime).

smallint Datos enteros entre -2^15 = 32.768) hasta 2^15 = 1 2 bytes


(32.767).

smallmoney Valores de datos monetarios desde -214.748,3648 hasta 4 bytes


214.748,3647, con exactitud de hasta una diezmilésima de
unidad monetaria.

sql_variant Permite valores de diferentes tipos de datos. El valor del El tamaño varía.
dato y los datos que describen ese valor -su tipo de datos
base, escala, precisión, tamaño máximo e intercalación- se
almacenan en esta columna.

sysname Un tipo de datos definido por el usuario de SQL Server 256 bytes
especial y proporcionado por el sistema. El tipo de datos
sysname está definido por SQL Server como nvarchar
(128), lo cual significa que puede almacenar 128 caracteres
Unicode (o 256 bytes). Hay que usar sysname para colum-
nas que almacenen nombres de objetos.

table Similar a utilizar una tabla temporal -la declaración inclu- Varía según la definición de la
ye una lista de columnas y tipos de datos. Puede utilizarse tabla
para definir una variable local o para el valor de retorno de
una función definida por el usuario.

text Usado para datos de caracteres no Unicode de longitud 16 bytes para el puntero.
variable mayor que 8000 bytes. Una entrada en una colum-
na text puede albergar hasta 2^31 = 1 caracteres. Es un pun-
tero a la posición del valor del dato. El dato se almacena de
manera separada de los datos de la tabla.

timestamp Una columna timestamp se actualiza automáticamente cada 8 bytes


vez que se inserta o actualiza una fila. Cada tabla puede
tener sólo una columna timestamp.

tinyint Datos enteros entre 1 y 255. 1 byte

uniqueidentifier Almacena un valor binario de 16 bytes que es un identifica- 16 bytes


dor exclusivo global (Globally Unique Identifier, GUID).

varbinary Datos binarios de longitud variable de n bytes, donde n es Longitud real de los datos
un valor entre 1 y 8000. Usar varbinary cuando se espere introducidos = 4 bytes.
que las entradas de datos en una columna varíen considera-
blemente en tamaño.

varchar [(n)] Datos de caracteres no Unicode de longitud variable de n Longitud real de los datos
caracteres m donde n es un valor entre 1 y 8000. introducidos.

Selección del tipo de datos adecuado

La selección del tipo de datos adecuado para cada columna es importante a la hora
de crear tablas. Se desea que esté permitido el rango de los valores que se necesita
almacenar en la columna, y también se desea que se rechacen los valores que no deberían
ser permitidos (como un valor de caracteres en una columna que requiere un número). Los
tipos de datos se encargarán de esto. Hay dos preguntas que pueden ayudar a guiarse al
elegir tipos de datos:

- - ¿Es el tipo de datos apropiado para la clase de datos que se necesita almacenar?

- - ¿Debe usarse un tipo de datos de longitud fija o variable?

La selección del tipo de datos apropiado es un proceso relativamente sencillo. Los


datos que se vayan a introducir en una columna deben satisfacer al tipo de datos
especificado para esa columna. Así, se debe elegir el tipo de datos que cubra mejor el rango
de valores que la columna pueda albergar a lo largo del tiempo de vida de la aplicación, al
tiempo que limite la cantidad de espacio desperdiciado. Espacio desperdiciado es espacio
que está asignado a una columna pero que no se usa. Por ejemplo, supóngase que se tiene
una columna que sólo necesitará contener valores enteros en el rango de 1 a 100. El tipo de
datos integer permitiría ciertamente dichos valores, pero cada entero toma 4 bytes de
espacio. El tipo de datos tinyint permite valores entre 0 y 255, y sólo ocupa 1 byte de
espacio. En este caso, tinyint sería la mejor elección porque ahorraría espacio en disco al
almacenar los datos de esa columna.
A continuación debe elegirse entre utilizar tipos de datos de longitud fija o variable.
Si todos los valores de una columna estuvieran cerca de un mismo tamaño, un tipo de datos
de longitud fija es más eficiente debido a la sobrecarga implicada por los tipos de datos de
longitud variable. Generalmente, los tipos de datos de longitud variable son apropiados
cuando se espera una amplia variación en el tamaño de los datos almacenados en la
columna y cuando los datos de la columna no cambien con frecuencia. Los tipos de datos
de longitud variable incluyen varchar, nvarchar, varbinary, text, ntext e image. El uso de
tipos de datos de longitud variable puede redundar en significativos ahorros de espacio de
almacenamiento. Por ejemplo, si se define un tipo de datos de longitud fija que sea
suficientemente grande para almacenar el mayor valor posible en una columna, todos los
valores más pequeños de esa columna tomarán tanto espacio de almacenamiento como el
que toma el mayor valor. Esto da como resultado un enorme desperdicio de espacio si sólo
un pequeño porcentaje de filas se almacenan el valor más grande. Si la mayoría de filas
almacenan un valor más pequeño, el espacio adicional utilizado para almacenar esos
valores más pequeños es espacio desperdiciado. Por otro lado, si se define un tipo de datos
de longitud variable, los valores menores tomarán sólo el espacio que necesiten. Pero, de
nuevo, los tipos de datos de longitud variable necesitan mayor sobrecarga de
procesamiento. Así que si no se necesita el tipo de longitud variable, mejor utilizar longitud
fija. Si, de todos modos, tiene sentido utilizar un tipo de longitud variable por los ahorros
de espacio, debe usarse.

Entonces, ¿cómo hacer elecciones sobre tipos de datos y tamaños para las tablas?
Síganse los consejos precedentes y háganse las elecciones que sean más apropiadas a las
necesidades de la aplicación. En general, se debe intentar no desperdiciar espacio al fijar las
longitudes de las columnas y no olvidar considerar necesidades futuras.

Trabajo con tipos de datos definidos por el usuario

Los tipos de datos definidos por el usuario, o tipos de datos alias, son tipos de datos
del sistema que se han personalizado. Personalizar, o definir, un tipo de datos es útil cuando
se tienen varias tablas que han de almacenar el mismo tipo de datos en una columna y se
desea asegurar que las correspondientes columnas de cada tabla tendrán exactamente el
mismo tipo, longitud y admisión de nulos. Se puede definir un tipo de datos con un nombre
descriptivo para facilitar la programación y consistencia. Luego, puede usarse el tipo de
datos al crear las distintas tablas.

Por ejemplo, supóngase que se tiene otra tabla -llamada Marcas- en la misma base
de datos en que está Info_Productos. La tabla Marcas tendrá una columna ID_Marca que se
corresponde con la columna ID_Marca de la tabla Info_Productos y la tabla Marcas
proporcionará el nombre de la marca y otras informaciones convenientes acerca de las
marcas. Para asegurar que las columnas ID_Marca de las dos tablas tengan el mismo tipo
de datos y no permitan valores NULL podría crearse un tipo de datos definido por el
usuario y asignarlo a ambas columnas. Ahora, cabe imaginar que se tienen varias tablas con
columnas que necesitan tener los mismos atributos. Podría no recordarse si se utilizó
smallint o tinyint para aquella columna de una tabla o si se permitían valores NULL. Si se
hubiera definido un tipo de datos con un nombre descriptivo no habría que preocuparse
sobre los atributos cada vez que se usara, y se habría asegurado que los tipos de datos son
consistentes entre las distintas tablas.

Nota: Al definir un tipo de datos en una base de datos en particular, sólo podrá usarse
en esa base de datos. Sin embargo, si se define el tipo de datos en la base de datos
model (la plantilla para todas las demás bases de datos), existirá en todas las nuevas
bases de datos.

Creación de tipos de datos definidos por el usuario mediante el uso del Administrador
corporativo

Podría desearse crear tipos de datos para datos como números de teléfono, códigos postales,
números de la Seguridad Social y cualesquiera otros datos que se puedan definir claramente
y que se vayan a utilizar en más de una tabla de base de datos. Al definir un tipo de datos se
deben dar los siguientes fragmentos de información:

- - El nombre del tipo de datos.

- - El tipo de datos del sistema en que se basa el nuevo tipo de datos.

- - La admisión de nulos en el tipo de datos -esto es, si permite valores NULL.

Una vez que se haya tomado una decisión acerca de estos detalles, se está preparado
para crear el tipo de datos. Para crear un tipo de datos definido por el usuario utilizando el
Administrador corporativo, seguir estos pasos:

1. En el Administrador corporativo, expandir un grupo SQL Server (pulsando en el


signo más al lado de la carpeta) y a continuación expandir un servidor.

2. Expandir la carpeta Bases de datos y luego expandir una base de datos.


3. Pulsar con el botón derecho del ratón en Tipos de datos definidos por el usuario y
elegir Nuevo tipo de datos definido por el usuario en el menú de contexto. Aparece
la ventana Propiedades del tipo de datos definido por el usuario.

4. Escribir el nombre del nuevo tipo de datos en el cuadro de texto Nombre, como se
muestra en la siguiente figura.

5. A continuación se debe especificar el tipo de datos SQL Server y la longitud que de


describen el campo definido por el usuario. En el ejemplo de la figura anterior se
está definiendo un tipo de datos para la columna ID_Marca, así que se elegirá el tipo
smallint, con un valor de longitud predeterminado de 5. (Si se hubiese creado tipo de
datos de caracteres se permitiría especificar la longitud.)

6. 6. Si el tipo de datos debe permitir valores NULL, seleccionar la casilla de


verificación Permitir valores NULL.

7. Si el tipo de datos debe utilizar alguna regla predefinida o valor predeterminado,


seleccionarlo en su respectivo cuadro de lista.

8. 8. Pulsar Aceptar para guardar el nuevo tipo de datos.

Eliminación de tipos de datos definidos por el usuario mediante el uso del


Administrador corporativo

Si se ha creado un tipo de datos definido por el usuario que ya no se utiliza (o si se


cometió un error durante su creación y se quiere volver a crearlo), se puede eliminar. Para
borrar un tipo de datos definido por el usuario, síganse estos pasos:

1. 1. En el Administrador corporativo, localizar el tipo de datos definido por el


usuario que se quiera eliminar. (Expandir un grupo SQL Server, expandir un
servidor, desplegar la carpeta Bases de datos y a continuación expandir la base de
datos que contenga el tipo de datos que se quiera eliminar.)

2. 2. Pulsar la carpeta Tipos de datos definidos por el usuario. Los tipos de datos
definidos por el usuario de la base de datos se expondrán en el panel de la derecha,
como se ve en la figura siguiente.

3. 3. Pulsar con el botón derecho del ratón sobre el tipo de datos definido por el
usuario que se quiera eliminar y elegir Eliminar del menú de contexto que aparece.
Aparece el cuadro de diálogo Quitar objetos como se aprecia en la figura siguiente.

4. 4. Antes de eliminar realmente el tipo de datos, pulsar Mostrar dependencias para


que aparezca el cuadro de diálogo Dependencias, mostrado en la figura siguiente.
El cuadro de lista en el lado izquierdo del cuadro de diálogo Dependencias expone
los objetos de la base de datos que dependen del tipo de datos definido por el
usuario, y el cuadro de lista de la derecha muestra los objetos de los que depende el
tipo de datos. Si el tipo de datos está siendo utilizado por alguna tabla u objeto
(como lo está el tipo de datos del ejemplo), no se permitirá su eliminación -al
intentarlo, aparecerá un mensaje de error.

5. Si el tipo de datos no tiene problemas con las dependencias, cerrar el cuadro de


diálogo Dependencias y pulsar Quitar todos en el cuadro de diálogo Quitar objetos
para eliminar el tipo de datos. No hay que preocuparse -sólo los tipos de datos que
se muestren en el cuadro de diálogo Quitar objetos, y no todos los tipos de datos
definidos por el usuario, serán eliminados.

USO DE VALORES NULL

Un valor NULL es un valor desconocido al que se le refiere como NULL. La


admisión de nulos de una columna se refiere a la posibilidad de la columna de aceptar o
rechazar valores NULL. Un valor NULL en una columna indica normalmente que no se ha
introducido nada para una fila particular de datos porque el valor es desconocido, no
aplicable, no definido o se ha de añadir en un momento posterior. Los valores NULL no son
ni valores vacíos ni valores 0; sus valores verdaderos son desconocidos -así, no hay dos
valores NULL que sean iguales. Podría necesitarse una columna con nulos si la
información que se necesita no se encuentra aún disponible -por ejemplo, la inicial del
segundo nombre de un cliente. ¿Qué debería contener la columna en un registro de alguien
que no tiene segundo nombre y que, por tanto, no tiene inicial de su segundo nombre? Si se
permite NULL en esa columna, un valor nulo en ese registro sería verdadero y tendría
sentido permitiría saber que esa información no es aplicable.

Como norma general se debe evitar el uso de valores NULL. Causan mayor
complejidad en consultas y actualizaciones y algunas opciones, como claves principales y
la propiedad IDENTITY no pueden utilizarse en una columna con nulos.

Una excelente alternativa a permitir NULL en una columna es definir un valor


predeterminado en esa columna. Si se define una columna que permita valores NULL, se
puede introducir un NULL en esa columna de una de estas dos maneras:
• • Si se inserta una fila en la tabla pero no se especifica un valor para los datos de la
columna con nulos, SQL Server le asignará el valor NULL (a no ser que se haya
especificado un predeterminado para esa columna).
• • Un usuario puede escribir la palabra NULL, sin comillas, de manera que no pueda
ser con fundida con la cadena de caracteres «NULL».

ADICIÓN DE LA PROPIEDAD IDENTITY

Al crear una tabla se puede especificar una columna como columna de identidad
añadiendo la propiedad IDENTITY a la definición de la columna. Si se crea una columna
con la propiedad IDENTITY, SQL Server genera automáticamente un valor de fila para esa
columna, basándose en un valor semilla y un valor de incremento. El valor semilla es un
valor que será el valor de identidad para la primera fila insertada en la tabla. El incremento
es la cantidad en la que SQL Server aumentará el valor identidad para inserciones
sucesivas. Cada vez que se inserte una fila, SQL Server asigna el valor de identidad actual a
la columna de identidad de la fila. La siguiente fila que se inserte recibirá un valor
identidad que sea un incremento mayor que el valor identidad actual más alto. De esta
forma, cada fila que se inserte recibe un valor de identidad único. La propiedad de
identidad es útil para columnas en las que cada fila de esa columna deba tener un ID único,
como la columna ID_Producto. Es más fácil dejar que SQL Server genere el valor de
identidad de las filas que se inserten que llevar la cuenta de cuál debe ser el siguiente valor
que se inserte. Una columna de identidad se utiliza comúnmente como restricción de clave
principal en la tabla para identificar de manera única a una fila.

Por ejemplo, si se especifica IDENTITY (0,10), la primera fila que se inserte tomará
un valor de columna de identidad de 0, la segunda fila tomará 10, la tercera fila tomará 20,
y así sucesivamente. Los valores de semilla e incremento predeterminados, si no se
especifica ninguno son (1, 1). Se deben especificar los dos parámetros o ninguno. Sólo se
permite una columna de identidad por tabla.

De forma predeterminada, no se pueden insertar datos directamente en las columnas de


identidad ni pueden ser actualizados.

CREACION DE UNA TABLA MEDIANTE EL


ADMINISTRADOR CORPORATIVO
Ahora que se entienden los elementos básicos de la creación de tablas utilizando
SQL Server pasará por un ejemplo de uso del Administrador corporativo para crear una
tabla. Sin embargo o, antes de comenzar este proceso es crítico recordar que cuando se
diseñen bases de datos propias se deben diseñar todas las tablas de la base de datos y sus
relaciones antes de empezar realmente a crearlas. Para crear una tabla de base de datos
utilizando el Administrador corporativo hay que seguir estos pasos:
1. 1. En el Administrador corporativo, desplegar un grupo SQL Server y a
continuación expandir un servidor.

2. 2. Desplegar la carpeta Bases de datos para ver las bases de datos disponibles.

3. 3. Expandir la base de datos en que se desee trabajar, en este caso, MiBD.

4. 4. Pulsar con el botón derecho del ratón la carpeta Tablas y elegir Nueva tabla en
el menú de contexto que aparece. Aparece la ventana Tabla nueva, como se muestra
(maximizada) en la figura siguiente.

En la figura anterior se puede ver la ventana Tabla, que contiene una rejilla con
aspecto de una hoja de cálculo, donde cada fila de la rejilla representa una columna de la
tabla. Cada columna de la rejilla representa un atributo diferente de la columna de la tabla –
tipo de datos, longitud o admisión de nulos.

Nota: Deben adoptarse estándares al nombrar las columnas de la tabla. En realidad,


no importa qué tipo de norma se adopte, pero hay que ser consistente. Cada vez que se
utilice la misma columna en tablas diferentes se debe usar exactamente el mismo
nombre. Esta consistencia ayudará a evitar confusión al realizar consultas.

5. 5. Definir cada una de las columnas de la tabla de la base de datos -trabajando fila
por fila - escribiendo el nombre en la columna Nombre de columna, eligiendo el
tipo de datos del menú desplegable de la columna Tipo de datos, eligiendo la
longitud cuando sea aplicable (como para tipos de datos de caracteres) y
presionando la tecla Mayúsculas (o la barra espaciadora) o pulsando en la columna
Permitir valores nulos para conmutar la marca de In (para permitir o prohibir,
respectivamente, los valores nulos).
En la imagen siguiente se muestra la tabla Info_Producto. Adviértase que se ha
elegido el tipo de datos definido por el usuario tipo_marca para la columna ID_Marca.
Pero hay que fijarse también en que la marca de verificación de la columna Permitir valores
nulos se encuentra activada, incluso para el tipo de datos tipo_marca, que se creó para no
permitir valores nulos. Se debe desactivar esta marca de verificación para ser consistente
con la anulabilidad que se le supone al tipo de datos.

Los datos de las filas de la tabla se almacenarán físicamente en el orden en que se


han definido las columnas. Si se quiere insertar una fila de definición de columna en esta
rejilla entre dos filas existentes se debe pulsar con el botón derecho del ratón en la fila
inmediatamente posterior al lugar en que se quiere insertar una nueva fila y elegir Insertar
columna en el menú de contexto que aparece. Para quitar una fila, pulsar con el botón
derecho del ratón la fila apropiada y elegir Eliminar columna en el menú de contexto. En el
ejemplo de la tabla Info_Productos, se configurará la columna ID_Producto como la
columna clave principal pulsando con el botón derecho del ratón el nombre de columna
ID_Producto y eligiendo Establecer clave principal en el menú de contexto. Aparecerá un
icono de una llave junto al nombre de la columna.

6. En la parte inferior de la ventana hay una ficha etiquetada «Columnas». Esta ficha
permite cambiar algunos atributos de la columna seleccionada en la parte superior.
Por ejemplo, se ha seleccionado la columna ID_Marca y a continuación se ha
asignado una descripción y un valor predeterminado de 0 para ella en la ficha
Columnas de debajo, como se muestra en la figura anterior.

7. 7. Se pueden crear otras restricciones e índices sobre la tabla pulsando con el botón
derecho del ratón sobre cualquier nombre de columna y eligiendo índices y claves,
Relaciones, Restricciones CHECK o Propiedades en el menú de contexto, o
pulsando en el icono Propiedades de tabla e índice junto al icono Guardar en la barra
de herramientas. Cualquiera de estos métodos lleva a la ventana Propiedades, que se
muestra en la siguiente figura. El nombre de la tabla aparecerá como Tabla1, Tabla2
o algo por el estilo. En este caso se llama Tabla2. Se puede cambiar este nombre,
como se enseña en el siguiente paso, al guardar la tabla.

8. 8. Para dar nombre a la nueva tabla hay que pulsar el icono Guardar y aparecerá
una venta de diálogo en donde se puede escribir el nombre de la tabla. Escribir el
nombre que se desee y pulsar Aceptar, y la tabla que se ha diseñado será creada y su
información guardada. Ahora se puede cerrar la ventana Tabla nueva y se verá
aparecer al nombre de la tabla en el panel de la derecha de Administrador
corporativo.
VALORES PREDETERMINADOS
Lo primero es comentar la razón del uso de valores predeterminados para las
columnas de ciertas tablas mediante la observación de lo que ocurre si no se usa un valor
predeterminado. Si se inserta una fila en una tabla que contiene columnas sin valores
predeterminados y los valores de los datos para una o más columnas que admiten nulos no
se introducen específicamente, a estas columnas que admiten nulos se les asigna el valor
NULL. Pero si una columna se ha definido como NOT NULL y no se proporciona un valor
para dicha columna cuando se inserta una fila, devolverá un mensaje de error informando
que no se puede insertar NULL en la columna. En este caso es cuando los valores
predeterminados son útiles. Los valores predeterminados se pueden usar para especificar un
valor que se inserta en vez de NULL de forma que no se reciba ningún mensaje de error. Se
deberían usar los valores predeterminados en las columnas en vez de permitirse los valores
nulos, debido a que las operaciones con columnas que admiten nulos implican más
sobrecarga de procesamiento que aquellas que se realizan sobre columnas que no los
admiten.

Microsoft SQL Server 2000 permite definir un valor predeterminado para cada
columna de tabla. No se puede definir un valor predeterminado para las columnas que
tengan el tipo de timestamp o las propiedades IDENTITY o ROWGUIDCOL, ya que
dichas columnas deben tener valores únicos. Estos tipos de columnas no son compatibles
con los valores predeterminados ya que si se usa un valor predeterminado para esa columna
más de una vez, esa columna deja de tener valores únicos. Sólo se puede asignar un valor
como valor predeterminado, y se usará automáticamente todas las veces que sea necesario.
Una nota importante acerca de los valores predeterminados es: el valor especificado como
la definición predeterminada para una columna debe ser compatible con el tipo de datos de
dicha columna.

Se puede crear y modificar una definición predeterminada de varias formas. En esta


sección se explicará cómo definir un valor predeterminado al crear la tabla y cómo
modificar una columna para añadirle o cambiar un valor predeterminado usando el
Admistrador Corporativo. También se comentarán las opciones disponibles y los efectos de
añadir un valor predeterminado a una columna existente de la tabla.

Definición y modificación de los valores predeterminados usando el


Administrador corporativo

El uso del Administrador corporativo es probablemente la forma más fácil de crear,


ver y modificar las tablas de la base de datos. Cuando se crea o se modifica una tabla o
columna usando el Administrador corporativo, SQL Server se encarga automáticamente de
ejecutar los comandos T-SQL adecuados para realizar la tarea. En esta sección se verá la
manera de usar el Administrador corporativo para asignar una definición de un valor
predeterminado a una columna, modificar un valor predeterminado de una columna y crear
un objeto Default. Éste es el método preferido. Se comienza con los ejemplos de asignación
y modificación de definiciones de valores predeterminados.
Asignación y modificación de definiciones de valores predeterminados

Se supone que hay una tabla denominada Product_info en la base de datos MyDB.
La estructura de la tabla se muestra en la figura siguiente.

Para definir un valor predeterminado, simplemente hay que pulsar en el nombre de


la columna a la que se quiere asignar el valor predeterminado y escribir el valor
predeterminado al lado de Valor predeterminado en la ficha Columnas en la parte inferior
de la ventana. En la figura anterior, se ha asignado un valor predefinido de 'n/a' a la
columna Description; este valor predeterminado puede ser un valor marcador de posición
que indica que no se conoce todavía la descripción de un producto. Además, el valor
predeterminado va entre paréntesis (el Administrador corporativo se encarga de añadir estos
automáticamente cuando se salva la tabla ).

El cambio de un valor predeterminado es igual de simple. Hay que reemplazar el


valor predeterminado original con el nuevo valor predeterminado y guardar el trabajo
pulsando en el botón Guardar. La siguiente figura muestra el valor predeterminado de
Description cambiado a 'not available'.

Nota: Sí se introduce una cadena de caracteres en el valor predeterminado, hay que


encerrarla entre comillas simples o SQL Server muestra un mensaje error cuando se
intentan guardar los cambios.
Como con T-SQL, cuando se crea o cambia un valor predeterminado de una
columna que ya existía mediante el uso de Administrador corporativo, las filas que ya había
en la tabla no se ven afectadas -sólo las nuevas columnas que se añadan usan el valor
predeterminado. Si se añade una nueva columna a la tabla y se le asigna un valor
predeterminado, cualquier fila de datos que ya existiera tendrán el valor predeterminado
para esa nueva columna, sólo si el NULL no está permitido. Si se permite el NULL, se les
asignará este valor a las filas existentes en la nueva columna. Para permitir el NULL en la
nueva columna y también forzar a que se inserte el valor predeterminado en todas las filas
existentes, es necesario usar el comando «ALTER DEFAULT» del T-SQL.

Creación y gestión de los objetos Default

Usando el Administrador corporativo, también se puede crear un objeto Default y


ver los objetos Default que existen. Para ver cualquier objeto Default existente, se abre el
Administrador corporativo y se expande el servidor y la base de datos que se quiere usar,
se pulsa en Valores predeterminados. Todos los objetos Default aparecen en la sección de la
derecha.

Para crear un nuevo objeto Default y vincularlo a una columna o a un tipo de datos
definido por el usuario usando el Administrador corporativo, hay que seguir los siguientes
pasos:

1. 1. Expandir el servidor y la base de datos, pulsar con el botón derecho en Valores


predeterminados y elegir Nuevo valor predeterminado del menú contextual para
mostrar la ventana Propiedades predeterminadas, como se muestra en la figura
siguiente. El objeto Default sellamará DF_none y se le asignará el valor 'none'.
Pulsar Aceptar cuando se haya terminado.
2. 2. Para vincular el valor predeterminado a un tipo de datos definido por el usuario
o a una columna, pulsar con el botón derecho en el nombre del valor
predeterminado (en este caso, DF_none) en la sección derecha del Administrador
corporativo y elegir Propiedades del menú contextual. Aparece de nuevo la ventana
Propiedades predeterminadas, pero ahora están disponibles los botones Enlazar
UDT (tipos de datos definidos por el usuario) y Enlazar columnas. Pulsar en Enlazar
UDT para mostrar el cuadro de diálogo Enlazar predet. con tipos de datos definidos
por usuario, como se muestra en la figura siguiente. Este cuadro de diálogo muestra
todos los tipos de datos definidos por el usuario. De esta lista se puede seleccionar
el tipo de datos definido por el usuario al que se quiere vincular el valor
predeterminado. En la figura siguiente se pueden ver el tipo de datos area_code y
brand_type. Si se han definido más tipos de datos, estos también aparecerán en la
lista. Cuando se haya terminado, se pulsa en Aplicar y después en Aceptar para
volver a la ventana Propiedades predeterminadas. Se podría no haber elegido
vincular el valor predeterminado a un tipo de datos definido por el usuario; en lugar
de eso se podría vincular a una columna, como se ve en el siguiente paso.

3. 3. Para vincular el valor predeterminado a una columna, pulsar en Enlazar


columnas para mostrar el cuadro de diálogo Enlazar predeterminado con las
columnas. Después seleccionar columna a la que se quiere vincular el valor
predeterminado. Primero se selecciona el nombre de la tabla en la lista desplegable
Tabla. Después seleccionar, en la lista Columnas no enlazadas, el nombre de la
columna a la que se quiere vincular el valor predeterminado. Después pulsar
Agregar. (La figura siguiente muestra el cuadro de diálogo después de haber
añadido do a la lista Columnas enlazadas la columna phone de la tabla
customer_data.)

4. 4. Pulsar Aceptar para volver a la ventana Propiedades predeterminadas y pulsar


de nuevo Aceptar para cerrar la ventana Propiedades predeterminadas.

Para desvincular un objeto Default de un tipo de datos definido por el usuario desde
la ventana de Propiedades predeterminadas, abrir el cuadro de diálogo Enlazar predet. con
tipos de datos definidos por usuario como se ha descrito anteriormente y desactivar el
cuadro de verificación Enlazar para desvincular un objeto Default de una columna, abrir el
cuadro de diálogo Enlazar predeterminado con las columnas, seleccionar el nombre de la
columna y pulsar en Quitar.

Para borrar un objeto Default, primero se debe desvincular el valor predeterminado de


todos los demás objetos (como se ha descrito). SQL Server mostrará un mensaje si se
intenta borrar un valor predeterminado que está vinculado a uno o más objetos. Para borrar
un Default, pulsar en Valores predeterminados en la sección izquierda del Administrador
corporativo pulsar con el botón derecho en el nombre del objeto Default, elegir Eliminar
del menú contextual y pulsar Quitar todos en el cuadro
CREACIÓN Y USO DE UN DIAGRAMA DE BD
Las tablas también se pueden modificar mediante un diagrama de base de datos en
el Administrador corporativo. Para crear un diagrama de base de datos para MiBD con las
dos tablas ejemplo Bicycle_Sales y Bicycle_Inventory hay que seguir estos pasos:

1 . Expandir MiBD en el panel izquierdo del Administrador corporativo y entonces


pulsar con el botón derecho del ratón sobre Diagramas. Elegir Nuevo diagrama de
base de datos del menú contextual para mostrar la pantalla de bienvenida del
Asistente para creación de diagramas de bases de datos.

2. Pulsar Siguiente para visualizar la pantalla Seleccionar tablas para agregar mostrada
en la siguiente figura. Hay que seleccionar las tablas que se desean incluir en el
diagrama de la lista Tablas disponibles y después pulsar Agregar. En este ejemplo
hemos agregado las tablas Bicycle_Inventory y Bicycle_Sales.

3. 3. Pulsar Siguiente para visualizar la pantalla Completando el Asistente para


creación de diagramas de bases de datos. Pulsar Finalizar si las tablas seleccionadas
son las correctas o pulsar Atrás y hacer los cambios necesarios.

4. 4. Después de pulsar Finalizar se puede ver el diagrama de base de datos, como se


muestra en la figura siguiente.

5. 5. Guardar el diagrama con un nombre descriptivo pulsando el botón Guardar e


introduciendo un nombre cuando se solicite.
La línea vertical que finaliza con una clave y conecta las dos tablas en el diagrama
representa la relación de restricción de clave externa entre ambas. Para mostrar la etiqueta
de la relación se ha de pulsar con el botón derecho del ratón sobre el fondo de la ventana y
elegir Mostrar etiquetas de relación del menú contextual. Aparece el nombre de la
restricción de clave externa.

Para seleccionar una tabla hay que pulsar sobre ella; para seleccionar más de una
tabla hay que mantener pulsada la tecla Ctrl y pulsar sobre cada tabla. Si se pulsa con el
botón derecho del ratón sobre una de las tablas y después se elige una opción del menú
contextual se realizará esa acción sobre todas las tablas seleccionadas. Por ejemplo, si
seleccionamos ambas tablas en nuestro diagrama de base de datos, pulsamos el botón
derecho del ratón sobre una de las tablas y se elige Vista de tabla y Estándar del menú
contextual, e entonces se modificarán ambas tablas para mostrar todas las columnas de
propiedades, como se muestra en la siguiente figura.

La pantalla de las propiedades de las columnas para cada tabla es similar a la


ventana Diseñar tabla y cada tabla se puede modificar utilizando los mismos métodos que
los utilizados con la ventana Diseñar tabla. Simplemente se agregan o cambian los datos de
la columna en las celdas deseadas y se guardan los cambios pulsando el botón Guardar.
También se pueden mover y cambiar el tamaño de las tablas en el diagrama de base de
datos, mostrar diferentes vistas de las tablas y más posibilidades. Se ha de experimentar con
los diferentes comandos del menú contextual. Nótese que tan pronto como se realiza un
cambio en una tabla aparecerá un asterisco justo después del nombre de la tabla para
indicar que se ha realizado un cambio.

RESTRICCIONES DE FOREIGN KEY EN LOS


DIAGRAMAS DE BD
En los diagramas de base datos, una de las posibilidades mas usadas es la de
establecer restricciones FOREIGN KEY (Clave Ajena). Para aprender a crear y modificar
una restricción FOREIGN KEY usando un diagrama de base de datos, se desarrollará un
diagrama usando las mismas dos tablas que se han usado en el ejemplo anterior, items e
inventory. Lo primero será observar el diagrama de base de datos de estas tablas sin la
relación de clave externa y después se añadirá la clave externa.

Como se puede ver en la figura anterior, la columna item_id de la tabla items es una
columna de clave primaria. Para crear una relación de clave externa entre la columna
item_id de la tabla inventory y la columna item_id de la tabla items, hay que seguir estos
pasos:

1. Pulsar en la parte más a la izquierda de la fila (en el cuadro gris) para la columna
item_id de la tabla items y mantener pulsado el botón del ratón mientras se mueve
el cursor a la tabla inventory. (Se ve una línea de puntos que sigue al cursor.) Soltar
el botón del ratón cuando se apunte a la fila de la columna item_id de la tabla
inventory. Aparece el cuadro de diálogo Crear relación, como se muestra en la
figura anterior. Este es parecido a la ventana Propiedades de la ventana Diseñar
tabla, como se ha visto previamente. La columna item_id aparece en las columnas
de cada tabla en el cuadro de diálogo, indicando que hay una relación de clave
externa entre las dos columnas item_id

2. 2. Si se quiere, se puede cambiar el nombre de la relación. Se seleccionan o


desactivan las casillas de verificación en la parte inferior del cuadro de diálogo
para elegir las opciones que se quieren.

Aparecen varias casillas de verificación en la parte inferior de la ventana.


Seleccionar la opción Comprobar datos existentes al crear cuando se quiere que
SQL Server compruebe si los datos existentes cumplen la relación de clave
externa. La creación de la restricción falla si los datos no la cumplen. Se debe
desactivar esta opción sólo si todavía no se tienen datos, si se sabe que los datos
que hay cumplen la restricción o si no se quiere que los datos cumplan la
restricción por alguna a razón concreta. Esto puede producir problemas más tarde
al intentar actualizar o borrar una de estas filas.

La siguiente casilla de verificación es Exigir relación para duplicación. No se debe


seleccionar esta casilla si no se están usando las duplicaciones. Incluso si se están
usando duplicaciones no es necesario seleccionar esta casilla de verificación
debido a que los datos ya se comprueban frente a la restricción en las tablas
originales, por lo tanto no debería tener que volverse a comprobar en las
duplicaciones. Si se activa la relación para duplicar, y si las programaciones de las
duplicaciones de las dos tablas de la relación no están bien sincronizadas, se
recibirán errores durante la duplicación que indican que una fila no ha podido
duplicarse debido a que violaba la restricción de clave externa.

La siguiente casilla de verificación es Exigir relación para INSERT y UPDATE. La


selección de esta casilla de verificación significa que se comprobará la restricción
FOREIGN KEY cuando se realicen inserciones y actualizaciones, igual que en los
borrados. Si éste es el objetivo, se debe seleccionar esta casilla de verificación. Al
seleccionarla, se activan las dos casillas de verificación situadas debajo de ésta.
Son Actualizar en cascada los campos relacionados y Eliminar en cascada los
campos relacionados («campo» se refiere a una fila de datos)

La selección de Actualizar en cascada los campos relacionados significa que si se


actualiza la columna referenciada de la tabla referenciada (tal como actualizar un
valor de item_id en la tabla items), la actualización se hará también en la tabla de
la clave externa. (En este caso, ese mismo valor de item_id se actualizará, si existe,
en la tabla inventory.) Sólo se actualiza el valor de la columna; el resto de la
información de la fila de la tabla de la clave externa se mantendrá igual. La
selección de esta opción también permite que pueda ocurrir la actualización de la
columna referenciada. Si no se selecciona esta casilla de verificación, no se podrá
actualizar una columna referenciada cuando ésta exista en la tabla con la clave
externa. Se producirá un mensaje de error de SQL Server parecido al siguiente:
«Instrucción UPDATE en conflicto con la restricción COLUMN REFERENCE
‘FK_inventory_items'. El conflicto ocurrió en la base de datos 'MyDB', tabla
'inventory', columna 'item_id'. La instrucción se ha detenido.»
La selección de Eliminar en cascada los campos relacionados significa que un
borrado de la tabla referenciada se pasará a la tabla de la clave externa. Por
ejemplo, si una fila de la tabla items se borra y una fila de la tabla inventory tienen
el mismo valor para item_id que el de la fila borrada, esa fila también se borrará de
la tabla inventory. Esto mantiene consistente la información. Si no se selecciona
esta opción, no se podrá borrar una fila de la tabla referenciada si se hace
referencia a la fila en una fila de la tabla con la clave externa. Se producirá un
mensaje de error de SQL Server parecido al siguiente:
«Instrucción DELETE en conflicto con la restricción COLUMN REFERENCE
‘FK_ inventory_items'. El conflicto ocurrió en la base de datos 'MyDB', tabla
'inventory', columna 'item_id'. La instrucción se ha detenido.»

3. 3. Pulsar Aceptar cuando se haya terminado de crear la relación en el diagrama


(Todavía no se ha guardado.) Una línea con una llave al final ya desde la tabla de
la clave externa a la tabla referenciada.

4. 4. Pulsar el botón Guardar para guardar los cambios. Se preguntará para dar un
nombre al diagrama de base de datos y después para confirmar los cambios de las
tablas implicadas. Pulsar Sí para terminar.

También podría gustarte