260 likes | 595 Views
SQL Server. 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.
E N D
SQL Server Wladimir Solano Marco Pascale
Agenda • Introducción • Diccionario de datos • Estadísticas en SQL Server • Integridad • Seguridad • Procesamiento de consultas • Herramientaspara 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 T-SQL 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ónllamada dbccshowstatistics (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. AUTHORIZATIONowner_nameEs 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.
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