Wladimir Solano
Marco Pascale
Agenda
 Introducción
 Diccionario de datos
 Estadísticas en SQL Server
 Integridad
 Seguridad
 Procesamiento de consultas
 Herramientas para el Administrador de Base de Datos.
Introducción
 Microsoft SQL Server es un sistema para la gestión de
bases de datos producido por Microsoft basado en el
modelo relacional. Sus lenguajes para consultas son TSQL y ANSI SQL.
 Constituye la alternativa de Microsoft a otros potentes
sistemas gestores de bases de datos como son
Oracle, PostgreSQL o MySQL.
Diccionario de Datos
 SQL Server no posee técnicamente de un sistema de
diccionario de datos.
 Los datos que se incluyen de la base de datos son muy
reducidos limitándose solo a guardar los metadatos
necesarios para poder manejar correctamente la base de
datos.
 Aunque SQL Server no tenga un sistema de diccionario este
se puede simular utilizando datos adicionales que el
administrador de base de datos puede agregar a los campos
de la base de datos.
Estadísticas en SQL Server
 Las estadísticas de SQL Server son información sobre
la distribución de los datos existentes en las columnas
de las tablas de nuestra base de datos.
 A través de las estadísticas, el servidor conoce como es
la información de una columna.
 Existen dos formas tradicionales de ver las estadísticas.
Una de ellas es consultando el catálogo interno de SQL
Server o la otra es a través de la interfaz gráfica
asociada al plan de ejecución de una consulta.
Estadísticas en SQL Server
 Suponiendo que tenemos una consulta con varias
condiciones en el where, el servidor examina las
estadísticas asociadas a las columnas referenciadas en
el where, como también los índices existentes en la
tablas, y donde participan esas columnas.
 Si se quiere conocer que hay en la estadística, existe
una instrucción de administración llamada
dbcc showstatistics (tabla, indice|estadística) para
hacerlo.
Estadísticas en SQL Server
Actualizar las estadísticas en SQL Server nos sirve para
mejorar el rendimiento en la realización de consultas.
 De forma predeterminada, el optimizador de consultas
ya actualiza las estadísticas.
 Se puede utilizar UPDATE STATISTICS o el
procedimiento almacenado sp_updatestats para
actualizar las estadísticas con más frecuencia que la
de las actualizaciones predeterminadas.
Control de Acceso
 Control de acceso a la base de datos a nivel de servidor:

Esto aplica a todas las bases de datos. Una apropiada
configuración de acceso remoto al sistema en donde
está instalada la base de datos, asignando permisos a usuarios y
grupos acorde a la política de seguridad de la organización.
 Control de acceso al SQL Server:

En esta etapa se controla el acceso a la base de datos con los
componentes del modelo de seguridad de SQL Server para
usuarios que pueden acceder al servidor pero no se pueden
logear en el servidor de bases de datos.
Control de Acceso
 Regular el acceso al servidor de base de datos SQL
Server:

Cada base de datos manejada por SQL Server tiene una lista de
usuarios válidos autorizados para accederla. Los ABD pueden
crear usuarios en bases de datos asignándoles permisologías
acordes a la política de seguridad de la organización.
 Asignar permisos en objetos de una base de datos:

Esta es la capa más específica y se refiere a la asignación de
permisos a los usuarios para manipular ciertos objetos de una
base de datos, por ejemplo, tablas, procedimientos; o para
realizar un conjunto de operaciones sobre una tabla o campo.
Reglas de integridad
SQL Server trabaja con las siguientes reglas de
integridad de los datos :
 Integridad de entidad.
 Integridad de dominio.
 Integridad referencial.
 Integridad definida por el usuario.
Reglas de integridad
 Integridad de Entidad:


La integridad de entidad define una fila como entidad única para
una tabla determinada.
Exige la integridad de las columnas de los identificadores o la
clave principal de una tabla, mediante índices y restricciones
UNIQUE, o restricciones PRIMARY KEY.
Reglas de integridad
 Integridad de Dominio:

La integridad de dominio viene dada por la validez de las
entradas para una columna determinada.

Se puede exigir la integridad de dominio para restringir el tipo
mediante tipos de datos, el formato mediante reglas y
restricciones CHECK, o el intervalo de valores posibles mediante
restricciones FOREIGN KEY, restricciones CHECK,
definicionesDEFAULT y NOT NULL.
Reglas de integridad
 Integridad Referencial:

La integridad referencial protege las relaciones definidas entre las
tablas cuando se crean o se eliminan filas.

Se basa en las relaciones entre claves externas y claves principales
o entre claves externas y claves exclusivas, mediante restricciones
FOREIGN KEY y CHECK.

Garantiza que los valores de clave sean coherentes en las distintas
tablas.
Reglas de integridad
 Integridad Definida por el Usuario:

Permite definir reglas de empresa específicas que no pertenecen a
ninguna otra categoría de integridad.

Todas las categorías de integridad admiten la integridad definida
por el usuario.
Privilegios
 Al igual que en Oracle en SQL Server se pueden
conceder permisos con la sentencia GRANT la cual
permite, conceder permisos específicos sobre tablas a
otros usuarios del sistema.
 Ejemplo:
 GRANT SELECT ON sys.sql_logins TO Wladimir;
Roles
 Los roles de SQL Server cumplen la misma función que
un rol de Windows, esto es, agrupar usuarios que
comparten los mismos permisos. Dichos permisos son
otorgados al rol y los usuarios heredan los permisos de
los roles.
 SQL Server posee una serie de permisos a nivel de
instancia, estos roles son fijos y no pueden
modificarse.
Roles
 La sintaxis para crear un Rol en SQL Server es la
siguiente :
CREATE ROLE role_name [ AUTHORIZATION owner_name ]
Donde:
role_nameEs el nombre del rol que se va a crear.
AUTHORIZATION owner_name Es el usuario o el rol
de base de datos que será propietario del nuevo rol. Si
no se especifica un usuario, el rol será propiedad del
usuario que ejecute CREATE ROLE.
Roles
Cifrado en SQL Server
 SQL Server cifra los datos con una infraestructura de
cifrado jerárquico y administración de claves.
 Mejora la seguridad debido a que limita la pérdida de datos,
incluso en el caso poco probable de que se superen los
controles de acceso.
Procesamiento de Consultas
 El componente que lo lleva a cabo se denomina
optimizador de consultas.
 El optimizador de consultas de SQL Server es un
optimizador basado en el costo. Cada plan de
ejecución posible tiene asociado un costo en términos
de la cantidad de recursos del equipo que se utilizan.
Procesamiento de Consultas
Los pasos básicos que SQL Server utiliza para procesar una consulta
incluyen lo siguiente:
 El analizador examina la instrucción SELECT y la divide en unidades
lógicas como palabras clave, expresiones, operadores e identificadores.
 Se genera un árbol de la consulta, a veces denominado árbol de
secuencia, que describe los pasos lógicos que se requieren para
transformar los datos de origen en el formato que necesita el conjunto
de resultados.
 El optimizador de consultas analiza diferentes formas de acceso a las
tablas de origen. A continuación, selecciona la serie de pasos que
devuelve los resultados de la forma más rápida utilizando el menor
número posible de recursos.
Procesamiento de Consultas
 Abra SQL Server Management Studio.
 En el menú Consulta, haga clic en Mostrar plan de ejecución estimado.
 Aparecerá una representación gráfica del plan de ejecución. Puede
colocar el puntero sobre los elementos gráficos para revelar
información adicional del plan de ejecución.
 En el menú Consulta, haga clic en Ejecutar.
Herramientas Adicionales
 SQL Server Management Studio
 SpaceMonger
Gracias.
Descargar

SQL Server 2008 - ABD-UCV