Download MS SQL Server 2005 - Departamento de Ingeniería de Sistemas e

Document related concepts

Microsoft SQL Server wikipedia , lookup

SQL Server Compact wikipedia , lookup

SQL Server Integration Services wikipedia , lookup

Tabla (base de datos) wikipedia , lookup

ADO.NET wikipedia , lookup

Transcript
SQL Server 2005 Beta
Camilo Andrés Laverde Peña
Código: 256256
Presentado al ingeniero:
Ismael Castañeta Fuentes
UNIVERSIDAD NACIONAL DE COLOMBIA
SEDE BOGOTA
FACULTAD DE INGENIERIA
INGENIERÍA DE SISTEMAS
DEPARTAMENTO DE INGENIERIA DE SISTEMAS E INDUSTRIAL
Bogotá 2005
TABLA DE CONTENIDO
Introducción............................................................................................3
1. Convenciones de Books Online......................................................3
2. Mejoras y nuevas características de Books Online en SQL Server
2005 Beta ...............................................................................................3
3. Ayuda de SQL Server 2005 ............................................................4
4. Diferencias entre Books Online de SQL Server 2000 y Books
Online de SQL Server 2005...................................................................4
5. Roles ................................................................................................5
6. Lo Nuevo de Microsoft SQL Server 2005: Database Engine ........6
6.1
6.2
6.3
6.4
6.5
6.6
Mejoras en la programación......................................................... 6
Mejoras en la flexibilidad............................................................ 11
Mejoras en disponibilidad .......................................................... 13
Mejoras en XML ........................................................................ 17
Escalabilidad y mejoras en el desempeño.................................. 17
Mejoras en la interfaz gráfica (Data access API) ........................ 20
7. Lo Nuevo de Microsoft SQL Server 2005: Analysis Services .... 21
7.1
7.2
7.3
7.4
7.5
Mejoras en la experiencia del usuario ........................................ 21
Mejoras del servidor .................................................................. 22
Mejoras en los cubos................................................................. 23
Mejoras en las dimensiones....................................................... 24
Mejoras en Minería de datos...................................................... 26
8. Componentes de una base de datos........................................... 27
8.1
8.2
Archivos de base de datos ......................................................... 28
Grupos de archivos.................................................................... 28
8.2.1
8.2.2
8.3
8.4
Grupo de archivos por defecto .............................................................29
Registros de transacción.......................................................................29
Definición de los estados de una base de datos ......................... 30
Definición de los estados de un archivo ..................................... 31
9. Desarrollando un plan para la base de datos ............................. 32
9.1
9.2
9.3
9.4
9.5
Recopilar la información ............................................................ 32
Identificar objetos ...................................................................... 33
Modelar objetos ......................................................................... 33
Identificar los tipos de información para cada objeto .................. 33
Identificar las relaciones entre objetos ....................................... 34
Introducción
Con el lanzamiento de Microsoft SQL Server 2005 para los primeros días de
noviembre del presente año , y la existencia de la versión Beta del producto,
surge la posibilidad de investigar acerca del mismo. Es por esto que he decidido
desarrollar un manual de estudio sobre el servidor de Bases de Datos Microsoft
SQL Server 2005 en español, que ejemplifique de manera clara las herramientas
más importantes y útiles que nos ofrece el SQL Server en su nueva versión, en
especial el uso del Database Engine. Para esto, inicialmente, ha sido necesario
consultar la ayuda que ofrece la versión candidata de SQL Server 2005 (Books
Online), y así conocer las nuevas características que el motor y realizar una
comparación detallada con respecto a SQL Server 2000.
1. Convenciones de Books Online
Convención
MAYÚSCULAS
Negrilla
Itálica
Monospace
Usada para
Keywords o palabras clave .
Nombres de bases de datos, tablas, columnas,
procedimientos almacenados, utilidades del
Command-Prompt, menús, comandos, opciones
de caja de dialogo, elementos de p rogramación.
Variables definidas por el usuario, relaciones,
parámetros y nuevos términos en SQL Server
2005.
Ejemplos de Código y mensajes de error.
Texto en ingles sin traducción Se refiere a los datos contenidos en bases de
(localizado en versiones de datos de ejemplo, u otros datos usados en
SQL Server 2005 solamente) ejemplos.
2. Mejoras y nuevas características de Books Online en SQL
Server 2005 Beta
Característica
Tabla de
contenidos
Índice
Buscar
¿Cómo?
Descripción
Agrupa los tópicos lógicamente por tecnología, componente y
tarea, es apropiado para facilitar la búsqueda.
Permite buscar tópicos alfabéticamente por palabras clave o
tarea.
Una búsqueda del motor para realizar una ejecución filtrada o
no filtrada a través de una palabra clave.
Un grupo de páginas jerárquico que contiene tópicos comunes
a tareas de SQL Server, agrupadas por tecnología.
Favoritos de
ayuda
Permite guardar tópicos y resultados de búsqueda para su fácil
recuperación.
Automáticamente muestra enlaces a información relevante
Ayuda dinámica mientras los usuarios trabajan en el ambiente de SQL Server
Management Studio.
3. Ayuda de SQL Server 2005
•
•
•
•
Ayuda local: Ayuda Local es un grupo de tópicos instalado con Books
Online.
MSDN Online: Microsoft Developer Network (MSDN) es un grupo de
servicios online y offline diseñados para ayudar a los desarrolladores a
escribir aplicaciones usando productos Microsoft y tecnologías. MSDN
provee artículos de su base de conocimientos, papers, entrevistas y
ejemplos de código de software desarrollado usando productos Microsoft.
Code Wise Community (Comunidad de Sabios): El sitio de CWC es un
recurso de tópicos para el público en general, ejemplos de código,
consejos, y noticias sobre Microsoft para expertos independientes.
Especialmente útil para .NET Framework y Microsoft Visual Studio .NET.
Questions: Foros de preguntas en MSDN.
4. Diferencias entre Books Online de SQL Server 2000 y Books
Online de SQL Server 2005
Books Online de
Books Online de SQL Server 2005
SQL Server 2000
Tabla de
Sin cambios.
contenidos
Índice
Sin cambios.
En SQL Server 2005 Books Online:
• Es posible guardar búsquedas para volver a usar
tiempo después.
Favoritos
• Los Favoritos son portables, se pueden mover de una
máquina a otra.
En SQL Server 2005 Books Online es posible:
• Hacer búsquedas en comunidades online.
• Filtrar resultados de búsquedas por tecnología,
Buscar
lenguaje o tipo de tópico.
• Buscar Tópicos en varios lenguajes.
• Realizar búsquedas de colecciones de múltiples
documentos.
Característica nueva en SQL Server 2005 Books Online.
¿Cómo?
5. Roles
Representa 5 categorías de usuarios SQL Server 2005. Cada rol asocia a un
usuario en una categoría con el grupo de tareas que desempeñan usando SQL
Server, y el conocimiento que necesitan para completar estas tareas. Los roles
están ligados a una descripción de tópicos que sirven de guía para dado rol y
tecnología llamado InfoCenter. Estos roles y sus tópicos en InfoCenter son:
Arquitecto: Define la tecnología end-to-end y el diseño de la infraestructura
de un sistema. Define la visión, el alcance y la interoperabilidad para proyectos
que implemente cada parte del sistema. InfoCenters disponibles para este rol:
•
•
•
•
•
•
Analysis Services
Database Engine
Integration Services
Notification Services
Replication
Service Broker
Administrador: Corre las operaciones diarias de un sistema tales como:
disponibilidad del sistema, monitoreo de desempeño y optimización, despliegue,
actualizaciones, localización de errores y configuración. InfoCenters disponibles
para este rol:
•
•
•
•
•
•
•
•
Analysis Services
Database Engine
FullText Search
Integration Services
Notification Services
Replication
Reporting Service
Service Broker
Analista: Crea reportes y modelos de datos para uso personal y tal vez
para otras personas de la organización. Los analistas pueden ser procesadores
de datos profesionales, pero a menudo son responsables del análisis de los
datos de la empresa en el curso de sus funciones. InfoCenters disponibles para
este rol:
•
Reporting Service
Desarrollador: Diseña, implementa, y prueba páginas Web, reportes, o
aplicaciones que implementan partes específicas del sistema desarrollado por el
arquitecto . En particular, diseñan bases de datos, implementan y prueban
esquemas y objetos (tal como tablas y procedimientos almacenados) en una
base de datos. InfoCenters disponibles para este rol:
•
•
•
•
•
•
•
•
Analysis Services
Database Engine
FullText Search
Integration Services
Notification Services
Replication
Reporting Service
Service Broker
Trabajador de la Información: Traduce los datos disponibles de un
sistema a otro sistema de información. InfoCenters disponibles para este rol:
•
•
•
•
Analysis Services
Database Engine
Integration Services
Reporting Service
6. Lo Nuevo de Microsoft SQL Server 2005: Database Engine
6.1
Mejoras en la programación
Integración con Microsoft .NET Framework: Common Language Runtime CLR
Common Language Runtime (CLR) se encuentra ahora hospedado en SQL
Server Database Engine. El medio de integración de CLR soporta objetos de
bases de datos, incluyendo funciones, procedimientos almacenados y triggers,
que son escritos en lenguajes .NET como Microsoft Visual C# y Visual Basic
.NET. Estos lenguajes soportan lógica y características no disponibles en TSQL, ahora puede ser incorporada lógica más compleja en los objetos de bases
de datos. Tipos de Datos de Usuario y agregados pueden también escribirse en
lenguajes .NET para construir tipos de datos más complejos. El medio de
programación de CLR está integrado en el Visual Studio development
environment.
Microsoft .NET Framework: Agregados definidos por el usuario
Las funciones de agregación definidas por el usuario escritas en lenguajes .NET
mejoran las funciones de agregaciones básicas, tales como SUM, MIN, y MAX,
incluidas es T-SQL. Una función de agregación es la que procesa varios valores
de datos y retorna un único valor. Desde mostrar datos en de resultset en una
aplicación hasta ejecutar lógica agregada compleja, una función de agregación
de .NET puede mejorar la lógica en la instancia del Database Engine y retorna
solo el valor final a la aplicación.
Microsoft .NET Framework: Tipos de datos definidos por el usuario
Los tipos de datos de usuario de CLR permiten implementar tipos de datos en
bases de datos en cualquier lenguaje soportado por .NET CLR. Estos son
implementados en lenguajes .NET y pueden tener estructuras más complejas y
su comportamiento está definido por los campos, métodos y propiedades de la
clase. Los tipos de datos de usuario de CLR están integrados con el tipo de
sistema del Database Engine y pueden ser usados en todos los contextos donde
los tipos construidos son usados.
Microsoft .NET Framework: Procedimiento almacenados, triggers, y funciones
definidas por el usuario
Los objetos procedimentales de una base de datos pueden ser escritos en
lenguajes .NET para incorporar lógica más compleja y ahora son soportados por
el lenguaje T-SQL. Los programadores desarrollan objetos usando el mismo
lenguaje y diseñan medios para desarrollar componentes y servicios .NET.
Mejoras en Transact-SQL : Nuevo tipo de dato XML
Database Engine introduce un nuevo tipo de datos XML que soporta almacenar
documentos y fragmentos XML en bases de datos. Las instancias XML pueden
ser almacenadas en columnas, parámetros de procedimientos almacenados, o
variables definidas usando el tipo XML.
Mejoras en Transact-SQL : Mejoras en FOR XML
Es posible usar declaraciones FOR XML encadenadas y crear una jerarquía de
documentos XML. Los resultados de una declaración FOR XML pueden ser
almacenados en una columna, parámetro de un procedimiento almacenado, o
variable definida usando el tipo XML.
Mejoras en Transact-SQL : Manejo de errores mejorado
Los programadores codifican opciones de T-SQL, procedimientos almacenados,
triggers, y funciones definidas por el usuario que pueden usar la lógica de TRYCATCH para manejar condiciones de error.
Mejoras en Transact-SQL : Nuevas vistas de metadatos
Database Engine introduce dos nuevos grupos de vistas al consultar metadatos.
El sistema que cataloga vistas provee información sobre objetos, como tablas,
procedimientos almacenados y restricciones, definidos en bases de datos SQL
Server. El manejador de vistas dinámico provee información sobre el estado
actual de una instancia del Database Engine. Este también expone información
de estructuras de memoria que no son persistentes, tales como información
acerca de bloqueos, hilos y tareas.
Mejoras en Transact-SQL : Funciones de ranking
Database Engine introduce una nueva categoría de funciones llamadas
funciones de ranking o clasificación. Entre estas están:
•
•
•
•
RANK
DENSE_RANK
NTILE
ROW_NUMBER
Estas funciones retornan un valor clasificado para cada fila en una partición.
Mejoras en Transact-SQL : Triggers DDL (Data Definition Language)
Además de soportar triggers que son activados por declaraciones del lenguaje
para manipulación de datos (INSERT, UPDATE y DELETE), Database Engine
incluye una nueva clase de triggers activados por declaraciones DDL que
modifican objetos de la base de datos, tales como CREATE, ALTER o DROP.
Los triggers DDL pueden ser usados para auditar o regular cambios al esquema
de la base de datos.
Mejoras en Transact-SQL : Notificaciones de eventos
Una nueva clase de objeto, notificación de eventos, puede ser programado en
Database Engine. Las notificaciones de eventos envían información acerca de
declaraciones DDL de T-SQL. Estas pueden ser usadas para registrar y revisar
cambios o actividades ocurridas en la base de datos. Se ejecutan
asincrónicamente y pueden ofrecer una alternativa de programación con triggers
DML, triggers DDL y SQL Trace.
Mejoras e n Transact-SQL : Extenciones de colas de procesamiento
Tres mejoras a T-SQL simplifican la construcción de aplicaciones de colas de
mensajes en forma independiente, confiable y escalable en Internet y sistemas
de automatización de procesos del negocio. INSERT, UPDATE y DELETE ahora
soportan una cláusula OUTPUT que retorna datos basados en las filas
modificadas por la declaración. READPAST puede ser especificado en las
declaraciones UPDATE y DELETE, al dejar que estas declaraciones mantengan
colas de filas ayudadas por otras tareas y elegir la siguiente fila disponible de la
cola.
Mejoras en Transact-SQL : Modelo unificado de programación de objetos
grandes
En versiones anteriores de SQL Server, grandes Strings de 8000 bytes eran
almacenadas en tipos de dato text, ntext e imagen los cuales tienen diferentes
modelos de programación que los pequeños Strings (char, nchar, varchar,
nvarchar binary y varbinary). Database Engine ahora soporta especificar un
tamaño MAX para los tipos de dato más pequeños. Cuando MAX es
especificado, los tipos de datos pueden almacenarse en los mismos tamaños de
Strings como text, ntext e imagen, sobre los 2 GB, pero son procesados en la
misma forma como cuando son almacenados en pequeños Strings.
Mejoras en Transact-SQL : Queries recursivos
Una tabla de expresiones comunes (CTE) es un resultset que es almacenado
temporalmente durante la ejecución de una declaración SELECT, INSERT,
UPDATE o DELETE. Usando una CTE se permite el uso de queries recursivos y
pueden simplificar la lógica para reemplazar el uso de tablas temporales o
vistas.
Mejoras en Transact-SQL : Nuevo operador APPLY
El operador APPLY permite invocar una expresión (función sobre los valores de
una tabla o subquery) para cada columna retornada por una tabla externa de
referencia.
Mejoras en Transact-SQL : Nuevos operadores PIVOT y UNPIVOT
Los nuevos operadores PIVOT y UNPIVOT rotan resultsets para cada columna
convertida en fila y cada fila convertida en columna. Esto es llamado rotación de
datos o creación de reportes cross-tab (tabulador-cruzado). Estas operaciones
fueron posibles en anteriores versiones de SQL Server, pero requieren lógica
más compleja que ahora se simplifica usando PIVOT y UNPIVOT.
Mejoras en Transact-SQL : Notificaciones de Query
Las notificaciones de query permiten a una aplicación guardar un resultset y
solicitar al Database Engine que notifique si cualquiera de los datos subyacentes
es modificado por otra aplicación. Las aplicaciones que usan notificaciones de
query no tienen que verificar periódicamente el estado de los datos en la base
de datos. Ellas solo tienen que validar los datos si Database Engine les notifica
algún cambio.
Mejoras en Transact-SQL : Operación de volcado en OPENROWSET
OPENROWSET ahora soporta la operación BULK para volcado (copia de la
mayor parte) de los datos desde archivos de datos. Las operaciones volcado en
OPENROWSET son controladas usando nuevas tablas indirectas y opciones de
volcado, tales como BULK_BATCHSIZE y FORMATFILE. La nueva cláusula
bulk_column_alias soporta asignar nombres a las columnas a la operación de
volcado de datos.
Mejoras en Transact-SQL : Mejoras a TOP
El operador TOP se ha mejorado para tomar cualquier expresión numérica
(como un nombre de variable) en ves de solamente un número entero para
especificar el número de filas que retorna el operador. TOP también puede ser
especificado en declaraciones INSERT, UPDATE y DELETE.
Mejoras en Transact-SQL : Query distribuido
La declaración EXECUTE soporta ahora una cláusula AT LinkedServer que
especifica la ejecución de un procedimiento almacenado en un servidor
enlazado. El predicado CONTAINS soporta nombres de cuatro partes para
ejecutar queries en servidores enlazados. Los queries distribuidos también
soportan los nuevos tipos de datos de objetos largos nvarchar(max),
varchar(max) y varbinary(max).
Mejoras en Transact-SQL : TABLESAMPLE
La nueva cláusula TABLESAMPLE limita el número de filas procesadas por un
query. Diferente a TOP, el cual retorna solo la primera fila de un resultset,
TABLESAMPLE retorna filas seleccionadas a través de un grupo de filas
procesadas por el query.
Mejoras en Transact-SQL : Nueva integridad referencial en cascada
La cláusula REFERENCES soporta ahora las acciones de integridad referencial
en cascada SET NULL y SET DEFAULT. SET NULL especifica que las acciones
de integridad referencial en cascada conviertan las llaves foráneas a NULL. SET
DEFAULT especifica que las llaves foráneas se conviertan a valores por defecto
definidos por la columna.
Mejoras en Transact-SQL: el sobre flujo de datos puede exceder el tamaño de
página
Las columnas pueden exceder el límite de 8060 bytes, si ellas contienen
columnas de longitud variable usando nvarchar, varchar, varbinary y tipos de
dato sql_variant. Si la combinación del ancho de estas columnas de longitud
variable causa que la fila exceda el tamaño límite de página, Database Engine
puede mover datos de columnas de longitud variable a páginas separadas.
6.2
Mejoras en la flexibilidad
Seguridad: Concesión de todos los permisos
La administración de la seguridad se unifica haciendo concediendo todos los
permisos a través de la sentencia GRANT. En versiones pasadas de SQL
Server, los permisos eran manejados usando un mix de permisos por nivel de
instancias, roles de bases de datos, y permisos ordinarios.
Seguridad: Separación de usuarios y esquemas
Los roles de esquemas han mejorado en las bases de datos SQL Server. Todos
los objetos en una base de datos están localizados ahora en esquemas y no
propios para cada usuario. En cada esquema es posible adjudicar roles,
permitiendo a múltiples usuarios administrar objetos de la base de datos. En
anteriores versiones de SQL Server, los usuarios no podían ser borrados de una
base de datos sin reasignar antes cada objeto individual que les perteneciera.
Ahora una propiedad solo tiene que ser asignada al esquema, no a cada objeto.
Administración: Partición de tablas e índices
Las tablas y los índices pueden ser divididos en particiones basados en rangos
de valores. La posibilidad de particionar hace de tablas e índices más
manejables para permitir enfocar el manejo de tareas en particiones individuales
tal como se hace en colecciones enteras. Los bloques de datos pueden ser
transferidos con el esquema de la base de datos más eficiente, y mantener
operaciones que pueden ejecutarse a través de porciones sencillas de una tabla
entera o un índice mientras mantienen la integridad de una unidad entera.
Administración Gestión de memoria AWE dinámica
Database Engine ahora maneja dinámicamente el tamaño de su pool de
memoria cuando usa memoria AWE para soportar grandes bases de datos. En
anteriores versiones de SQL Server, el pool de memoria era estático cuando
usaba memoria AWE.
Administración: ATTACH_REBUILD_LOG
La cláusula ATTACH_REBUILD_LOG permite agregar una base de datos sin la
necesidad de los archivos log. Por ejemplo, cuando se separa una base de
datos de un servidor de producción para usar como una base de datos de solo
lectura en un servidor de reportes, el medio de solo lectura no requerirá todos
los archivos log usados en producción. ATTACH_REBUILD_LOG permite copiar
la base de datos a un servidor de reportes sin tener una copia de todos los
archivos log de producción.
Administración: Inicialización instantánea de archivos
Cuando Database Engine crea una nueva base de datos, esta puede reservar
espacio requerido para los archivos de datos e inmediatamente pone a
disposición la base de datos para su uso. Las actuales páginas de datos no son
inicializadas con ceros binarios sobre las páginas que son referenciadas por
queries SQL. En anteriores versiones de SQL Server, una base de datos no
permitía su uso sobre todas las páginas de datos que tenía que ser inicializadas
con ceros binarios.
Administración: Deshabilitando índices
Los índices pueden ser deshabilitados para mejorar procesos de administración
y diagnósticos. Cuando se reconstruye un índice non-clustered, deshabilitando el
índice antes de la reconstrucción se reduce significativamente la cantidad de
espacio requerido.
Administración: Reorganización y reconstrucción de índices
SQL Server 2005 introduce la declaración ALTER INDEX que puede reorganizar
o reconstruir opciones de índices o grupos de opciones. Los índices pueden ser
reconstruidos en línea y los índices particionados pueden ser reorganizados o
reconstruidos en una partición básica.
Administración: Formato de archivos de volcado y carga en XML
SQL Server 2005 introduce un esquema XML que puede ser usado para
especificar el formato de archivos como documentos XML.
Administración: OPENROWSET Proveedor de volcado de filas
SQL Server 2005 introduce proveedor de volcado de filas usando la opcion
BULK en la función OPENROWSET en una declaración SELECT, la cual puede
alimentarse en declaraciones INSERT.
6.3
Mejoras en disponibilidad
Disponibilidad de instancias: Agrupamiento
Las instancias de Database Engine de SQL Server 2005 soporta “failover
clusters” de 8 nodos en sistemas de 32 bits y clusters de 4 nodos en sistemas de
64 bits. Las anteriores versiones de SQL Server soportaban clusters de 2 y 4
bits.
Disponibilidad de instancias: Soporte de Multi-instancias
Hasta 50 instancias del Database Engine de SQL Server 2005 Enterprise Edition
pueden ser instaladas en un computador, y hasta 16 instancias de Database
Engine de otras ediciones de SQL Server 2005. Todas las ediciones de SQL
Server 2000 estaban limitadas a 16 instancias por computador.
Disponibilidad de instancias: Conexión dedicada para el administrador
En algunos estados de errores, una instancia del Database Engine no puede
aceptar nuevas conexiones, previniendo a un administrador de bases de datos
diagnosticar el problema. Database Engine de SQL Server 2005 introduce una
conexión de administrador dedicada (DAC); un miembro del rol de servidor
sysadmin puede usar la nueva utilidad sqlcmd y DAC para acceder y
diagnosticar una instancia de Database Engine.
Disponibilidad de instancias: Gestión de memoria AWE dinámica
Cuando se usa memoria AWE que soporta grandes cantidades de memoria, las
instancias de Database Engine SQL Server 2005 ajusta n dinámicamente la
cantidad de memoria que usan basados en cargas de trabajo actuales. En
anteriores versiones de SQL Server, cuando la memoria AWE estaba habilitada,
las instancias obtenían una cantidad estática de memoria cuando las instancias
habían iniciado y no podían ajustar uso de memoria a variaciones de cargas de
trabajo.
Disponibilidad de instancias: Memoria Hot-Add
Memoria Hot-Add permite a Database Engine usar nueva memoria agregada al
computador mientras está corriendo. Mientras anteriores versiones de SQL
Server ajustaban el uso de memoria dinámicamente para encontrar cargas de
trabajo actuales, estas no podían hacer uso de memoria agregada al
computador después que este ha iniciado.
Disponibilidad de base de datos: Base de datos espejo
Database mirroring (espejo) crea un servidor seguro para una base de datos.
Database mirroring es una alternativa ante “failover clusters” para mejorar la
disponibilidad de una base de datos y es más fácil de manejar que “failover
clusters”. En Database mirroring, todas las actualizaciones de una base de datos
(la base de datos principal) son copiadas completamente a una base de datos
separada (la base de datos espejo). Las bases de datos principal y espejo
residen en dos instancias de Database Engine, las cuales pueden residir en dos
computadores diferentes. La instancia del servidor donde se encuentra la base
de datos principal es llamada servidor principal y la instancia del servidor donde
se encuentra la base de datos espejo se llama servidor espejo. Si el servidor
principal falla, el servidor espejo rápidamente intercambia la base de datos
espejo al rol de base de datos principal.
Disponibilidad de base de datos: Foto de la base de datos
Database snapshots (Fotos de base de datos) ofrece una forma eficiente para
revertir una base de datos a un punto lógico de conocimiento consistente. Una
foto de la base de datos graba el estado actual de los datos en una base de
datos como si todas las transacciones activas fueran “rolled back”. La foto
entonces graba todos los cambios de los datos de un punto en adelante. Si
sucede una falla, como la falla del borrado de una tabla grande, la base de datos
puede revertir el estado de ésta al momento en que la foto fue tomada.
Disponibilidad de base de datos: Validación de la suma de chequeo E/S y Relectura
SQL Server 2005 incrementa la estabilidad de los datos con la introducción de
checksum (suma de chequeo) y lógica de recomprobación de lectura para
páginas de bases de datos. Ambas, tanto la suma de chequeo como la
recomprobación de lectura obtienen grandes beneficios de Microsoft Exchange
Server para ayudar a detectar problemas en las rutas de Entrada/Salida que
pueden conducir a la comprobación de problema de datos físicos y se han
construido en SQL Server 2005. La cláusula SET PAGE_VERIFY de la
declaración ALTER DATABASE ahora incluye una opción CHECKSUM, cuando
CHECKSUM es especificada, una suma de chequeo es calculada y almacenada
en la cabecera de la página de la base de datos cada vez que una página es
escrita en disco. Cada vez que la página es leída de disco, la suma de chequeo
es recalculada y comparada con la suma de chequeo almacenada en la
cabecera de la página de la base de datos. Si el valor de la suma de chequeo
calculada no corresponde con la almacenada, esto indica que la página ha
sufrido algún daño mientras fue escrita, almacenada o leída de rutas de E/S o
algún medio. Por esta falla, Database Engine retorna un error a la aplicación, al
log de eventos de Windows, y al log de error de Database Engine. Las sumas de
chequeo también se pueden validar durante operaciones de copia de seguridad
o restauración. Una falla de suma de chequeo indica un problema de rutas de
E/S y requiere investigar del hardware, los drivers firmware, la BIOS, los drivers
filtro y otros componentes de las rutas de E/S para determinar la causa raíz.
SQL Server revisará cualquier falla de operaciones de E/S hasta cuatro veces
para contar cualquier problema transitorio con las rutas de E/S. La
recomprobación de lectura puede ayudar a proveer disponibilidad de los datos,
mientras permiten investigar el problema.
Disponibilidad de base de datos: Copia de seguridad de bases de datos espejo
La ejecución de backups a los grupos espejo reduce el impacto de posibles
pérdidas de uno de los backups. Si un dispositivo de backup falla, uno de los
espejos puede ser usado para restaurar la base de datos.
Disponibilidad de base de datos: Chequeos a copias de seguridad y medios de
restauración
Si las opciones de base de datos TRON_PAGE_DETECTION o el nuevo
CHECKSUM están fijas, nuevas opciones para las declaraciones BACKUP y
RESTORE permiten la integridad de páginas de datos para ser validados
durante las operaciones de copia de seguridad y restauración. RESTORE
VERIFYONLY puede ser usada con estas opciones para mejorar una validación
más completa de una copia de seguridad antes de usarla parea restaurar la
base de datos.
Disponibilidad de base de datos: Recuperación rápida durante problemas en la
recuperación y base de datos espejo
Database Engine en SQL Server 2005 Enterprise Edition permite recuperación
rápida durante problemas en la recuperación y base de datos espejo. La
recuperación rápida es usada para permitir a la base de datos estar disponible
durante la fase de deshacer, con disponibilidad parcial durante operaciones de
restauración, sumas de chequeo de una página de base de datos, y medios
espejo para el backup. Las otras ediciones de SQL Server 2005 no permiten a
los usuarios acceder a la base de datos hasta que la recuperación complete.
Anteriores versiones de SQL Server nunca permitían el acceso a la base de
datos antes de completar la fase de deshacer.
Disponibilidad de base de datos: Reporte de errores de copia de seguridad y
restauración
Las declaraciones BACKUP y RESTORE
soportan una opción
CONTINUE_AFTER_ERROR que indica al Database Engine que debe
mantener el procesamiento después que este recibe un error. Si existen
múltiples problemas, esta opción permite al administrador de la base de datos
determinar el alcance de los mismos.
Disponibilidad de base de datos: Restauraciones en línea
Los usuarios pueden acceder a bases de datos cuando una restauración parcial
se está ejecutando de un archivo o página de base de datos. Los usuarios no
pueden acceder a la parte de la base de datos que está siendo recuperada, pero
tienen acceso a los demás datos. Anteriores versiones de SQL Server requerían
que ningún usuario tuviera acceso a una base de datos durante cualquier
proceso e restauración.
Disponibilidad de base de datos: opción EMERGENCY
Si una base de datos ha sido marcada como sospechosa durante la
recuperación, esta puede pasar al modo de emergencia con acceso de solo
lectura para el rol sysadmin. Esto permite diagnosticar el problema o recuperar
cualquier dato disponible.
Disponibilidad de base de datos: Operaciones de índices en línea
Operaciones sobre índices ahora pueden ser ejecutadas en línea; los usuarios
aún pueden acceder los datos de tablas y usar otros índices en la tabla mientras
un índice se ha comenzado a crear, alterar o borrar.
Disponibilidad de base de datos: Operaciones en paralelo sobre índices
La cláusula MAXDOP ahora puede ser especificada en declaraciones de índices
DDL, controlando el número de operaciones paralelas usadas para la
declaración específica. En anteriores versiones de SQL Server, MAXDOP no se
podía especificar en declaraciones de índices DDL, las cuales a veces permitían
operaciones grandes con índices pero que podían afectar el rendimiento de una
instancia de Database Engine.
6.4
Mejoras en XML
Nuevo tipo de dato XML
El Nuevo tipo de dato XML soporta el almacenamiento de documentos y
fragmentos XML. Este puede ser usado en columnas, variables, o
procedimientos almacenados y parámetros de funciones. Las instancias XML
almacenadas usando el tipo de dato XML puede asociarse con un esquema
XML (XSD) que valida y escribe la instancia.
Soporte XQuery
XQuery es un lenguaje para buscar datos XML almacenados usando el tipo de
dato XML. La implementación de XQuery en SQL Server 2005 está basada en
bosquejos o borradores de trabajos del W3C o Consorcio World Wide Web.
XML Data Manipulation Language (XML DML)
La definición actual W3C de XQuery no incluye la posibilidad de modificar
documentos XML. Microsoft ha extendido la implementación de XQuery en SQL
Server 2005 para incluir las posibilidades de insertar, actualizar, y borrar
documentos o fragmentos XML.
Índices en columnas de tipo XML
Los documentos y fragmentos XML almacenados usando el tipo de dato XML
pueden ser muy largos. Si estos no están indexados, Database Engine puede
fragmentar los documentos y fragmentos para cada referencia. Definir un índice
en una columna usando el tipo de dato XML permite a Database Engine
procesar de forma más eficiente los documentos y fragmentos.
Acceso nativo a HTTP SOAP
Las instancias de Database Engine pueden ser configuradas con puntos finales
o direcciones HTTP a las cuales los requerimientos SOAP pueden ser enviados
desde aplicaciones. Los paquetes son recibidos directamente por la instancia del
Database Engine sin la necesidad de configurar ningún servicio intermedio como
el servidor IIS (Microsoft Internet Information Service). Los resultados de queries
enviados a un punto final HTTP son retornados como un documento XML.
6.5
Escalabilidad y mejoras en el desempeño
Guías de plan
Un nuevo procedimiento almacenado del sistema, sp_create_plan_guide, está
disponible para optimizar el desempeño de queries agregando queries anidados
a estos cuando no es posible cambiar el texto del query directamente. Las guías
del plan pueden ser usadas sobre un pequeño subgrupo de queries en una
aplicación de base de datos desarrollada por un tercero, y que no se está
ejecutando como se espera.
Nivel de aislamiento de foto
El nivel de aislamiento foto implementa versioning para proveer a los usuarios
una visión de los datos en la base de datos antes y después del inicio de una
transacción. Excepto durante la recuperación, la foto de una transacción no
adquiere bloqueos para proteger operaciones de lectura. El aislamiento de foto
permite minimizar problemas de la fijación y el bloqueo (locking y bloking) en
aplicaciones de solo lectura.
Estadísticas en columnas datetime correlacionadas
La
nueva
opción
SET
de
base
de
datos,
DATE_CORRELATION_OPTIMIZATION, permite mejorar el desempeño de
queries que relacionan dos tablas cuyas columnas datetime están
correlacionadas y especifica una restricción de fechas en el predicado del query.
Parametrización forzada
Es posible especificar que todos los queries que se ejecutan en una base de
datos sean parametrizados estableciendo una nueva opción SET de base de
datos FORCED PARAMETERIZATION. La parametrización forzada puede
mejorar el desempeño de ciertas bases de datos reduciendo la frecuencia de recompilaciones de queries.
Columnas computadas persistentes
Columnas computadas pueden ser marcadas como PERSISTED, en tal caso
sus valores son almacenados en páginas de datos para la tabla. Esto puede
mejorar la velocidad de recuperar estas columnas en cómputos intensivos.
Multiples result sets activos (Multiple Active Result Sets: MARS)
SQL Server 2005 introduce la posibilidad de hacer declaraciones múltiples para
retornar resultsets al mismo tiempo en una conexión simple. En anteriores
versiones de SQL Server, solo una de las declaraciones podía ser retornada en
un resultset para cada conexión, y no podían ser ejecutadas nuevas
declaraciones sobre todos los resultsets que eran retornados.
Incluyendo columnas no-llave en índices nonclustered
Columnas que no son lla ve pueden ser incluidas en índices nonclustered. Con
esto es posible mejorar la velocidad de queries que puedan adquirir todos los
datos que necesitan del índice sin tener acceso a filas de datos, y pueden
exceder el tamaño actual del índice de un máximo de 16 columnas y un máximo
de tamaño de llave del índice de 900 bytes.
Fijación del índice
Las nuevas opciones ALLOW_ROW_LOCKS y ALLOW_PAGE_LOCKS en
CREATE INDEX y ALTER INDEX pueden ser usadas para controlar el nivel de
fijación del índice.
Índices en tipos de datos XML
Los documentos y fragmentos XML almacenados usando el tipo de dato XML
pueden ser muy grandes. Si estos no son indexados, Database Engine puede
fragmentar los documentos y fragmentos para cada referencia. Definiendo un
índice en una columna usando el tipo de dato XML permite al Database Engine
ser más eficiente para procesar documentos y fragmentos.
Mejoras en vistas de índices
El optimizador de queries puede usar más queries para indexar vistas que en
versiones previas, incluyendo queries que contienen expresiones escalares,
agregados escalares y funciones de usuario, expresiones de intervalo y
condiciones de equivalencia. La definición de vistas indexadas puede contener
agregados escalares y funciones de usuario con ciertas restricciones.
Nuevas indirectas
Cuatro nuevas indirectas fueron agregadas para el uso de generación de planes
óptimos de query:
RECOMPILE, obliga a SQL Server a descartar el plan generado para el query
después que este se ejecuta, de modo que un nuevo plan es generado la
siguiente vez que se ejecute. RECOMPILE es usado para queries con valores
de variables que varían extensamente cada vez que son compilados o
ejecutados. Esta indirecta puede ser usada en lugar de la opción WITH
RECOMPILE para crear procedimientos almacenados cuando solo se requiere
un subgrupo de queries dentro de procedimientos almacenados a ser
recompilados.
OPTIMIZE FOR ayuda a SQL Server a usar un valor particular para una variable
local con un valor que es desconocido cuando el query es compilado y
optimizado.
USE PLAN ayuda a SQL Server a usar un plan de query existente para un
query. La directiva USE PLAN puede ser usada para aquellos resultados de
planes en tiempos de ejecución lentos, pero para el cual se sabe que existen
mejores planes.
PARAMETERIZATION especifica si un query es parametrizado como una parte
de la compilación de un plan de query.
Borrado y reconstrucción de objetos grandes
Cuando se borran o se reconstruyen tablas e índices que usan más de 128
extensiones, SQL Server 2005 diferencia las des-asignaciones a la actual
página, y sus candados (locks) asociados, hasta después que la transacción
finaliza. Evitar estos candados se logra partiendo de una fase lógica y física.
6.6
Mejoras en la interfaz gráfica (Data access API)
Cliente nativo de SQL prove functional adicional a programas ODBC y OLE DB
Cliente nativo de SQL es una tecnología de acceso a datos nueva en SQL
Server 2005. Ésta combina el proveedor SQL OLE DB y el driver SQL ODBC
juntos con sus librerías de red asociadas en librería dinámicas de enlace (DLL)
nativas mientras provee nueva funcionalidad proveída por MDAC. Cliente nativo
de SQL puede ser usado para crear nuevas aplicaciones o mejorar aplicaciones
existentes que necesita para tomar ventajas de las nuevas características de
SQL Server tal como múltiples resultsets activos (MARS), tipos de datos
definidos por el usuario (UDT) y soporte del tipo de dato XML. Cliente nativo de
SQL es un componente redistribuible de SQL Server 2005.
Microsoft .NET Framework: Common Language Runtime Integration
Common Language Runtime (CLR) de Microsoft .NET Framework se encuentra
ahora embebido en Database Engine de SQL Server. Este medio integrado de
CLR soporta objetos procedimentales de la base de datos, incluyendo funciones,
procedimientos almacenados, y triggers, escritos en lenguajes .NET, tales como
Microsoft Visual C# y Visual Basic .NET. Los lenguajes .NET soportan lógica y
características no disponibles en T-SQL, mediante lógica más compleja
incorporada a los objetos de una base de datos. Tipos de datos y agregados
definidos por el usuario pueden ser escritos en lenguajes .NET para construir
tipos de dato más complejos que los disponibles en versiones pasadas.
El ambiente de programación CLR está integrado al ambiente de desarrollo de
Visual Studio .NET, los desarrolladores usan las mismas herramientas para
desarrollar y eliminar errores de los objetos de base de datos.
7. Lo Nuevo de Microsoft SQL Server 2005: Analysis Services
7.1
Mejoras en la experiencia del usuario
Estudio del desarrollo de la inteligencia de negocios
Analysis Services se integra completamente el ambiente de desarrollo de
Microsoft Visual Studio 2005 para crear soluciones end-to-end de inteligencia de
negocios. Es posible utilizar el BI Development Studio para crear y mantener los
componentes de Analysis Services, tales como fuente de datos relacionados,
OLAP, y objetos de minería de datos.
SQL Server Management Studio
SQL Server Management Studio es un ambiente completamente integrado de
gestión para administradores y desarrolladores, reemplazando la funcionalidad
del Analysis Manager en versiones anteriores de Analysis Services. Es posible
usar el Management Studio para gestionar instancias de Analysis Services, para
navegar y para administrar bases de datos y objetos de Analysis Services, y
desarrollar, ejecutar, y analizar las expresiones multidimensionales (MDX),
extensiones de minería de datos (DMX), y queries y scripts XML para análisis
(XMLA).
Wizards de Analysis Services
Los wizards de Analysis Services se han reajustado para el ambiente del
desarrollo proporcionado por el BI Development Studio. Estos wizards permiten
mejorar los objetos de Analysis Services rápidamente tal como vistas de la
fuente de datos, dimensiones, cubos, y modelos de minería de datos.
Adicionalmente, nuevos wizards han sido agregados para permitir al Analysis
Services soportar nuevas características.
Plantillas de Analysis Services
Analysis Services provee templates o plantillas en el BI Development Studio
para objetos del Analysis Services como cubos, dimensiones, KPIs o principales
indicadores de desempeño, miembros calculados, grupos nombrados, celdas
calculadas, acciones, declaraciones de expresiones multidimencionales (MDX),
y declaraciones de extensiones de minería de datos (DMX). Analysis Services
también provee plantillas en SQL Server Management Studio para queries y
declaraciones MDX y DMX. Las plantillas son almacenadas en formatos
basados en XML, q permiten definir y crear fácilmente plantillas adicionales.
7.2
Mejoras del servidor
Soporte de multi instancias
En un computador pueden ser instaladas hasta 50 instancias de Analysis
Services para Microsoft SQL Server Enterprise Edition y hasta 16 para otras
ediciones de SQL Server 2005. Las versiones anteriores no soportaban múltiples
instancias.
Soporte XML
Analysis Services implementa la especificación XML para análisis (XMLA) 1.1.
Toda comunicación con una instancia de Analysis Services es manejada a
través de comandos XMLA en mensajes SOAP, en cualquier sesión explícita o
implícitamente declarada. Anteriores versiones de SQL Server soportaban XMLA
1.0 solo para el uso de proveedor especial de OLE DB.
Soporte de scripting
Objetos subordinados y bases de datos en una instancia de Analysis Services
pueden ser ilustrados en un script usando Analysis Services Scripting Language
(ASSL), con una sintaxis basada en XML usada con XMLA para administrar
Analysis Services.
Soporte de le nguajes
Analysis Services soporta ajuste de lenguajes a nivel de instancia y de base de
datos. Es posible especificar el lenguaje durante la instalación de una instancia
de SQL Server 2005 y también para cada base de datos, cubo, dimensión y
estructuras de minería en una instancia.
Adicionalmente, base de datos y objetos subordinados pueden soportar
múltiples lenguajes a través del uso de traducciones. Las aplicaciones cliente
que especifican un lenguaje para sus sesiones pueden recibir datos y metadatos
de un objeto particular en el lenguaje especificado o en el lenguaje por defecto
para ese objeto si el lenguaje especificado no está disponible.
Soporte de procesamiento
Analysis Services provee mayor flexibilidad para procesar cubos, grupos de
medidas, particiones, dimensiones, y modelos de minería, incluyendo soporte
directo a procesamiento paralelo. Los objetos en una instancia de Analysis
Services pueden ser procesados en paralelo en un lote sencillo de transacción.
Filas huérfanas de las tablas de hechos
Cuando se procesaban tablas de hechos, anteriores versiones de Analysis
Services ignoraban filas que contenían un miembro indefinido para una
dimensión. Cuando las columnas eran ignoradas, el número total de miembros
en el cubo no coincidían con el total esperado para la bodega de datos,
agregando información incorrecta a Analysis Services. Ahora Analysis Services
puede usar ajustes para cada jerarquía en una dimensión para determinar como
manejar filas huérfanas en la tabla de hechos. Tales columnas pueden ser
asociadas a un miembro, llamado Unknown o desconocido, cuando en una
jerarquía una fila tiene un valor nulo.
7.3
Mejoras en los cubos
Indicadores principales de desempeño (KPIs)
Analysis Services provee métricas de negocio personalizadas llamados
indicadores principales de desempeño (KPIs), que consisten en atributos
relevantes y cálculos asociados que generan objetivos y patrones de los
estándares de la industria. Una colección de KPIs incluye una medida, un
objetivo, propiedades de visualización y varianzas. Las compañías usan KPIs
para mejorar el desempeño y la toma de decisiones.
Múltiples tablas de hechos
Analysis Services ahora soporta múltiples tablas de hechos en un solo cubo a
través del uso de un grupo de medidas. Medidas de una sola tabla de hechos
son agrupadas en un grupo de medidas, y un cubo puede contener múltiples
grupos de medidas. Los grupos de medidas también pueden ser usados para
asociar dimensiones con medidas. Las medidas se organizan en un orden
jerárquico que el grupo de medidas contiene.
Mejoras en Inteligencia de negocios (BI)
Analysis Services provee mejoras como conversión de monedas, sobre-escritura
de dimensiones, e inteligencia de cuenta y tiempo, todos los cuales son
agregados a los cubos.
Perspectivas
Analysis Services ahora incluye perspectivas, que son subgrupos visibles
predefinidos de metadatos de un cubo. Similar a las vistas en SQL Server 2005,
una perspectiva puede reducir la complejidad percibida del cubo. El control de
perspectivas al igual que los objetos contenidos en un cubo, incluye grupos de
medidas, medidas, dimensiones, jerarquías, atributos, KPIs, acciones y cálculos,
que son visibles en una aplicación de BI. Las perspectivas se usan
especialmente para enfocar puntos de vista específicos en un cubo.
Medidas semi-aditivas
Analysis Services incluye más soporte para agregación de medidas en algunas
dimensiones y otras no. El motor de Analysis Services permite especificar la
función de agregación usada en cada dimensión, y entonces inferir la función de
agregación apropiada para cada medida basado en el tipo de cuenta de la
dimensión. Alternativamente, el usuario puede especificar la función de
agregación explícita para cada medida en una dimensión particular. Tipos de
cuenta estándar que corresponden a un método de agregación particular pueden
ser asignados a diferentes cuentas. Usuarios de negocios pueden diseñar cubos
que reflejan la estructura de cuentas de la compañía, sin escribir las fórmulas
acostumbradas.
7.4
Mejoras en las dimensiones
Atributos
En anteriores versiones de Analysis Services, las dimensiones estaban basadas
en un nivel de jerarquías. En Analysis Services de SQL Server 2005, las
dimensiones están basadas en atributos, los cuales corresponden a las
columnas en las tablas de una dimensión. Cada atributo contiene los miembros
de una columna perteneciente a una dimensión, por ejemplo ciudades o
localidades en la dimensión Geografía, o días y meses en la dimensión Tiempo.
Esta nueva arquitectura separa las características estructurales de una
dimensión de sus características de navegación; los atributos proveen la
estructura y los niveles de navegación para la dimensión.
Jerarquías múltiples
Analysis Services ahora soporta jerarquías múltiples en una dimensión. Antes,
las jerarquías eran separadas en dimensiones, relacionadas a la dimensión
principal solo por un nombre. En Analysis Services de SQL Server 2005, las
dimensiones no están descritas por su estructura jerárquica, en su lugar, los
atributos que puedan ser fácilmente agregados a la jerarquía son usados, y
estructuras jerárquicas diferentes pueden ser usadas por una misma dimensión.
Relaciones muchos a muchos
Analysis Services ahora soporta relaciones muchos a muchos entre tablas de
hechos y dimensiones usando tablas de asociación. Las relaciones muchos a
muchos entre dimensiones expanden el modelo dimensional más allá del
esquema inicial clásico, y soporta analítica más compleja incluso cuando las
dimensiones no están directamente relacionadas a una tabla de hechos.
Relaciones entre dimensiones de referencia
Analysis Services soporta dimensiones de referencia, las cuales están
indirectamente acopladas a un grupo de medidas por otra dimensión. Usando
relaciones entre dimensiones de referencia, es posible asociar una referencia a
un cubo sin crear una dimensión copo de nieve. Se puede encadenar cualquier
número de dimensiones de referencia.
Relaciones entre tablas de hechos
Analysis Services ahora soporta dimensiones de hechos, también conocidas
como dimensiones degeneradas, a través del uso de relaciones entre
dimensiones de hechos. Estas son dimensiones cuyos atributos fueron sacados
de una tabla de hechos.
Relaciones entre dimensiones juego de roles
Analysis Services ahora soporta relaciones entre dimensiones juego de roles, en
las cuales es posible expresar múltiples relaciones entre una dimensión y una
tabla de hechos. En anteriores versiones de Analysis Services, cada relación
entre una tabla dimensión y una tabla de hechos requería una dimensión
separada.
Tipos de dimensiones más simples
En Analysis Services, el modelo dimensional ha sido simplificado: dos tipos de
dimensiones, estándar y enlazada, ahora reemplazan los cuatro tipos existentes
en la versión 2000. Una dimensión estándar es una dimensión en la misma base
de datos del cubo; una dimensión enlazada está en una base de datos diferente
del cubo.
Grupos de medidas enlazados y dimensiones
En Analysis Services es posible traer datos de diferentes fuentes enlazando
cubos a un grupo de medidas en otro cubo que está almacenado en la misma
base de datos o en otra en la misma instancia de Analysis Services. Se puede
enlazar cubos a una dimensión en otra base de datos. Después de crear este
enlace, los objetos de datos y metadatos son compartidos.
Tamaño de dimensión virtualmente ilimitado
Analysis Services no depende fuertemente del almacenamiento en memoria de
dimensiones. Ahora, los datos y metadatos de dimensiones son cargados a
memoria solo cuando esta se necesita, y el motor de Analysis Services
fácilmente puede manejar dimensiones de tamaño virtualmente sin límite.
7.5
Mejoras en Minería de datos
Algoritmo ingenuo de Bayes
El algoritmo ingenuo de Bayes es un algoritmo de clasificación que es rápido de
construir y trabaja bien en modelos predictivos. Este algoritmo es una buena
opción para explorar datos entre columnas de entrada y columnas predecibles, y
para descubrir las relaciones entre estas columnas.
Algoritmo de asociación
El algoritmo de asociación construye reglas que describen cuales ítems
aparecen más en una transacción. Se pueden usar estas reglas para predecir la
presencia de un ítem basado en la presencia de otro ítem en una transacción.
Algoritmo de agrupamiento de secuencia
Es una combinación de análisis de secuencia y agrupamiento, identifica grupos
de eventos ordenados similares en una secuencia. Es posible usar grupos para
predecir el orden probable de eventos en una secuencia basado en
características conocidas.
Algoritmo de series de tiempo
El algoritmo de series de tiempo usa árboles de decisión de regresión lineal
para aproximar el análisis de datos relacionados con el tiempo, como una venta
mensual o beneficios anuales. Es posible usar los patrones que el algoritmo
descubre para predecir valores a futuro.
Algoritmo de redes neuronales
Crea modelos de minería de clasificación y de regresión para construir una red
de multicapa de neuronas, soportando modelos no lineales que son demasiado
complejos y derivados de otros algoritmos.
Algoritmo de regresión logística
Provee soporte de regresión lógica para mayor flexibilidad en el negocio.
Mejoras en los algoritmos de árboles de decisión
Ahora es posible usar árboles de decisión con un atributo continuo, por ejemplo
el tiempo, como columna predecible.
Algoritmo de regresión lineal
Provee soporte de regresión lineal para mayor flexibilidad en el negocio.
Wizard de modelo de minería
El wizard de minería de datos define una estructura y un modelo de minería para
un proyecto de Analysis Services. Este wizard ayuda a crear nuevas estructuras
de minería basadas en cualquier dato relacional o multidimensional que pueda
ser modificado después usando Data Mining Designer (Diseñador de minería de
datos).
Diseñador de minería de datos
Se puede usar en el Business Intelligence Development Studio para modificar la
estructura de minería y cualquier modelo de minería definido en el wizard.
También se puede usar para crear modelos de minería nuevos basados en
estructuras de minería, observar modelos de minería, para comparar modelos de
minería, y para construir predicciones basadas en modelos de minería.
Soporte de Integration Services
Algunas tareas han sido agregadas a Integration Services de SQL Server 2005
(SSIS) que pueden ser usadas para crear una solución completa de minería de
datos. Usando transformaciones de Integration Services, es posible modificar
datos antes de crear el modelo de minería, crear y procesar modelos de minería,
y correr queries de predicción contra modelo de minería de datos existentes.
8. Componentes de una base de datos
Una base de datos en SQL Server 2005 está compuesta por una colección de
tablas almacenadas en un grupo de estructuras de datos. Una tabla contiene
una colección de filas, también llamadas registros, y columnas, también
llamados atributos. Cada columna en la tabla es diseñada para almacenar un
cierto tipo de información, por ejemplo, fechas, nombres, cantidades y números.
Las tablas tienen algunos tipos de control como constraints (restricciones),
triggers (disparadores), defaults (valores por defecto) y tipos de datos de usuario
para requisitos particulares. La integridad referencial es otro tipo de control que
asegura que la interrelación entre diferentes tablas sea consistente. Las tablas
pueden tener índices que permiten a las filas ser encontradas rápidamente. Una
base de datos puede contener también procedimientos que usan T-SQL o
código de programación de .NET Framework para ejecutar operaciones con los
datos de la base de datos. Estas operaciones incluyen creación de vistas que
proveen acceso personalizado a los datos de tablas o a funciones definidas por
el usuario que ejecutan cálculos complejos en un subgrupo de filas.
8.1
Archivos de base de datos
Las bases de datos de SQL Server 2005 tienen tres tipos de archivos:
Archivo
Primario
Secundario
Registro de
Transacción
(Log)
Descripción
Contienen información del inicio para la base de datos y puntos a
otros archi vos en la base de datos. Datos de usuario y objetos
pueden ser almacenados en este archivo o en un archivo
secundario de datos. Cada base de datos tiene un archivo
primario de datos. Para nombres de archivos primarios de datos,
la extensión recomendada es .mdf.
Estos son opcionales y definidos por el usuario. Pueden ser
usados para extender datos a través de múltiples discos
poniendo cada archivo en un disco diferente. Adicionalmente, si
una base de datos excede el máximo tamaño de un archivo
simple de Windows, es posible usar archivos secundarios de
datos entonces la base de datos puede continuar creciendo.
Para nombres de archivos secundarios de datos, la extensión
recomendada es .ndf.
El archivo de registro de transacción contiene la información del
registro que es usada para recuperar la base de datos. Para
nombres de archivos de registro de transacción, la extensión
recomendada es .ldf.
Por defecto, los registros de datos y de transacciones son puestos en el mismo
drive y ruta, técnica usada en sistema de discos únicos. Pero esto no es óptimo
en ambientes de producción, por eso se recomienda dejar los archivos de
registros de datos en discos separados.
8.2
Grupos de archivos
Cada base de datos tiene un grupo de archivos primario. Este contiene los datos
primarios y algunos archivos primarios que no son puestos en otros grupos de
archivos. Los grupos de archivo definidos por usuario pueden ser creados para
agrupar archivos de datos para fines administrativos, asignación de datos y
propósitos de colocación.
Por ejemplo, tres archivos Data1.ndf, Data2.ndf y Data3.ndf, pueden ser creados
en tres discos, respectivamente, y asignados al grupo de archivos fgroup1. Una
tabla puede ser creada específicamente en el grupo de archivos fgroup1. Los
queries para datos de una tabla serán separados en los tres discos; mejorando
el desempeño. La misma mejora del desempeño puede ser realizada usando un
único archivo creado en un RAID (redundant array of independent disks, arreglo
redundante de discos independientes) de discos.
Todos los archivos de datos son almacenados en grupos de archivos listados en
la siguiente tabla:
Grupo de
Archivo
Descripción
Contiene el archivo primario. Todas las tablas del sistema están
ubicadas en e grupo de archivos primario.
Definido por el Algún grupo de archivos que es creado específicamente por el
usuario
usuario cuando crea o modifica la base de datos.
Primario
8.2.1 Grupo de archivos por defecto
Cuando algunos objetos son creados en la base de datos sin especificar a que
grupo de archivos pertenece, ellos son asignados al grupo de archivos por
defecto. En cualquier momento, un grupo de archivos puede ser designado
como grupo de archivos por defecto. Los archivos en este grupo pueden ser tan
grandes como para contener cualquier nuevo objeto no ubicado en otro grupo de
archivos. El grupo primario de archivos es el grupo de archivos por defecto. Este
puede ser cambiado usando la declaración ALTER DATABASE. La ubicación
para objetos del sistema y tablas se mantiene en el grupo primario de archivos,
no en el nuevo grupo de archivos por defecto.
8.2.2 Registros de transacción
Cada base de datos en SQL Server 2005 tiene un registro de transacción que
graba todos las transacciones y las modificaciones a la base de datos hechas
por cada transacción. El registro de transacción es un componente crítico de la
base de datos y, si este es una falla del sistema, puede ser la única fuente de
datos reciente. El registro de transacción nunca puede ser borrado o movido a
menos que el usuario entienda las consecuencias de hacerlo.
El registro de transacción soporta las siguientes operaciones:
•
•
•
•
•
Recuperación de transacciones individuales.
Recuperación de todas las transacciones incompletas cuando SQL Server
ha iniciado.
Balanceo de una base de datos restaurada, archivo, grupo de archivos, o
página de vuelta al punto de falla.
Soporte de replicación transaccional.
Soporte de soluciones cuando el servidor está en stand by.
8.3
Definición de los estados de una base de datos
La siguiente tabla define los estados de una base de datos:
Estado
Definición
La base de datos está disponible para el acceso. El grupo
En línea
primario está en línea, aunque la fase de recuperación no se
(online)
haya completado.
La base de datos no está disponible. Una base de datos pasa a
estado fuera de línea por una acción explícita del usuario y se
mantiene fuera de línea hasta que el usuario realice una acción
Fuera de línea
adicional. Por ejemplo, la base de datos puede pasar a estado
(offline)
fuera de línea cuando un archivo es movido a un nuevo disco.
La base de datos vuelve entonces a estado en línea después
que el paso del archivo se ha completado.
Uno o más archivos del grupo primario se están restaurando, o
Restaurando uno o más archivos secundarios se están restaurando fuera de
línea. La base de datos no está disponible.
La base de datos se está recuperando. El proceso de
recuperación es transitorio; la base de datos volverá
Recuperando automáticamente a estado en línea si la recuperación ha
terminado. Si la recuperación falla, la base de datos será
sospechosa. La base de datos no está disponible.
SQL Server ha encontrado un error de recurso-relacionado
durante la recuperación. La base de datos no está dañada, pero
Recuperación algunos archivos pueden haberse perdido o las limitaciones de
pendiente
los recursos del sistema pueden evitar el acceso a la base de
datos. Una acción adicional del usuario es requerida para
resolver el error y poder terminar el proceso de recuperación.
Al menos el grupo de archivos primario es sospechoso y puede
estar dañado. La base de datos no puede ser recuperada
Sospechosa
durante el inicio de SQL Server. La base de datos no está
disponible. Una acción adicional del usuario es requerida para
Emergencia
8.4
resolver el problema.
Los usuarios han modificado la base de datos y la han dejado en
estado de emergencia. La base de datos está en modo de único
usuario y puede ser reparada o restaurada. La base de datos es
marcada como solo lectura READ_ONLY, su acceso se limita a
miembros de rol sysadmin. El estado de emergencia es
principalmente usada para propósitos de localización de averías.
Por ejemplo, una base de datos marcada como sospechosa
puede pasar a estado de emergencia. Esto puede permitir al
administrador del sistema acceso de solo lectura a la base de
datos. Solo miembros del rol sysadmin pueden poner la base
de datos en estado de emergencia.
Definición de los estados de un archivo
En SQL Server 2005 el estado del archivos es independiente del estado de la
base de datos. La siguiente tabla define los estados de archivos:
Estado
Definición
El archivo está disponible para todas las operaciones. Los
archivos en el grupo primario están siempre en línea si la base de
En línea
datos a la que pertenecen está en línea. Si un archivo en el grupo
primario no está en línea, la base de datos no está en línea y el
estado de los archivos secundarios no está definido.
El archivo no está disponible para el acceso y puede no estar
presente en el disco. Los archivos pasarán a estado fuera de
línea por una acción explícita del usuario y permanece así hasta
Fuera de línea que el usuario tome alguna acción.
Precaución:
Un archivo puede pasar a fuera de línea cuando está corrupto, pero este
puede ser restaurado. Un archivo fuera de línea solo puede pasar a estado
en línea por medio de la restauración de una copia de seguridad del archivo.
El archivo se está restaurando. Los archivos entran al estado de
restauración por un comando de restauración que afecta el
Restaurando archivo entero, no solo una página, y permanece en este estado
hasta que se complete la restauración y el archivo se ha
recuperado.
La recuperación de un archivo ha sido pospuesta. Un archivo
entra a este estado automáticamente a raíz de un proceso de
Restauración restauración sin finalizar en el cual el archivo no se ha restaurado
pendiente
ni recuperado. Una acción adicional del usuario es requerida para
resolver el error y permitir que el proceso de recuperación se
complete.
La recuperación del archivo falla durante el proceso de
Sospechoso
restauración. Si el archivo está en el grupo primario de archivos,
Difunto
la base de datos es marcada como sospechosa. En otro caso,
solo el archivo es sospechoso y la base de datos sigue en línea.
El archivo permanecerá en estado sospechoso hasta que esté
disponible por alguno de los siguientes métodos:
• Restauración y recuperación.
• DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSS
El archive fue borrado cuando no estaba en línea. Todos los
archivos en el grupo de archivos mueren cuando un grupo fuera
de línea es removido.
9. Desarrollando un plan para la base de datos
El primer paso en la creación de una base de datos es crear un plan que sirva
de guía para implementar la base de datos y como una especificación funcional
de la base de datos después que esta ha sido implementada. La complejidad y
detalle del diseño de bases de datos es dictada por la complejidad y tamaño de
la aplicación de bases de datos y de la población de usuarios.
La naturaleza y complejidad de una aplicación de bases de datos, y el proceso
de planeación de la misma, pueden variar significativamente. Una base de datos
puede ser relativamente simple y ser usada solo por una persona, o puede ser
muy grande y compleja y designada, por ejemplo, para el manejo todas las
transacciones bancarias para miles de clientes. En el primer caso, el diseño de
la base de datos puede ser levemente más que unas pocas notas en algún
papel. En el otro caso, el diseño puede ser un documento formal con cientos de
grandes páginas que contienen cada detalle posible acerca de la base de datos.
Sin importar el tamaño y la complejidad, es bueno seguir estos consejos
básicos:
•
•
•
•
•
Reunir información
Identificar los objetos
Modelar los objetos
Identificar los tipos de información para cada objeto
Identificar las relaciones entre objetos
9.1
Recopilar la información
Antes de crear la base de datos, es necesario tener un buen entendimiento del
trabajo que se espera cumpla la base de datos. Si la base de datos es para
reemplazar un sistema de información en papel o manual, el sistema existente
entregará la mayoría de la información necesaria. Es necesario realizar
entrevistas con cada uno de los implicados con el sistema para determinar que
hacen y que necesitan de la base de datos. Es también importante identificar lo
que ellos quisieran que el nuevo sistema hiciera, y también identificar los
problemas, las limitaciones, y los cuellos de botella de cualquier sistema
existente . En necesario recoger copias de las declaraciones del cliente, listas del
inventario, informes de la gerencia, y de cualquier otro documento que sea parte
del sistema existente, porque éstos serán útiles en diseñar la base de datos y las
interfaces.
9.2
Identificar objetos
Durante el proceso de reunir información, es necesario identificar los objetos
llave o entidades que serán manejadas por la base de datos. El objeto puede ser
una cosa tangible, tal como una persona o un producto, o puede ser algo
intangible como una transacción del negocio, un departamento en una
compañía, o un período de la nómina de pago. Generalmente hay algunos
objetos primarios, y después que estos se identifican, los ítems relacionados
llegan a ser visibles. Cada ítem distinto en la base de datos debe tener una
tabla correspondiente.
9.3
Modelar objetos
Mientras que los objetos en el sistema se identifican, se deben almacenar de
una manera que represente el sistema visualmente. Se puede utilizar el modelo
de la base de datos como referencia durante la implementación de la base de
datos.
Para este propósito, los desarrolladores de bases de datos usan herramientas
que van más allá del lápiz y papel, o procesadores de texto y programas de
hojas de cálculo, y prefieren software creado específicamente para modelar el
diseño de bases de datos. Cualquier herramienta que se decida utilizar, es
importante mantenerla actualizada.
9.4
Identificar los tipos de información para cada objeto
Después que los objetos primarios en la base de datos se hayan identificado
como candidatos a tablas, el paso siguiente es identificar los tipos de
información que se deben almacenar para cada objeto. Éstas son las columnas
en la tabla del objeto. Las columnas en una tabla de la base de datos contienen
algunos tipos comunes de información:
•
Columnas de datos en bruto: Estas columnas almacenan piezas tangibles
de información, tal como nombres, determinados por una fuente externa a
la base de datos.
•
•
•
Columnas categóricas: Estas columnas clasifican o agrupan los datos y
almacenan una selección limitada de estos, por ejemplo verdadero/falso,
casado/soltero, etc.
Identificadores de columnas: Estas columnas proveen un mecanismo
para identificar cada ítem almacenado en una tabla. Estas tienen una
identificación o número, por ejemplo: id_empleado, codigo_operacion o
id_cargo. La columna del identificador es el componente primario usado
por los usuarios y el procesamiento interno de la base de datos para
acceder a una fila de datos en la tabla.
Columnas relacionales o referenciales: Estas columnas establecen un
enlace entre la información de una tabla y la información relacionada de
otra tabla.
9.5
Identificar las relaciones entre objetos
Una de las fortalezas de una base de datos relacional es la capacidad de
relacionar o de asociar la información sobre varios ítems en la base de datos.
Los tipos aislados de información se pueden almacenar por separado, pero el
motor de la base de datos puede combinar datos cuando se requiere. Identificar
la relación entre los objetos en el proceso del diseño requiere mirar las tablas, la
determinando cómo están lógicamente relacionadas, y agregando columnas
relacionadas que establecen un enlace de una tabla a otra.