1 / 41

SQL Server Parte I

SQL Server Parte I. Félix Tovar C.I: 19291058 Daniel Hernández C.I: 20594114. SQL Server. Es un sistema administrador para base de datos producido por Microsoft basado en el modelo relacional. Constituye una alternativa a otros potentes sistemas gestores de base de Datos.

anne
Télécharger la présentation

SQL Server Parte I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL Server Parte I Félix Tovar C.I: 19291058 Daniel Hernández C.I: 20594114

  2. SQL Server Es un sistema administrador para base de datos producido por Microsoft basado en el modelo relacional. Constituye una alternativa a otros potentes sistemas gestores de base de Datos.

  3. Acerca de SQL Server • Soporte de transacciones. • Escalabilidad, estabilidad y seguridad. • Soporta procedimientos almacenados. • Además permite administrar información de otros servidores de datos.

  4. Versiones

  5. Arquitectura de SQL Server Utiliza la arquitectura Cliente / Servidor para coordinar el trabajo entre uno y otro. Dependiendo del tipo de aplicación que se quiera programar dependerá la repartición de la carga de trabajo entre el cliente y el servidor.

  6. Componentes Comandos (DLL - DML). Cláusulas. Funciones de Agregado. El lenguaje SQL está compuesto por comandos, cláusulas, y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.

  7. Servicios SQL Server incluye cuatro servicios:

  8. Manejo de la memoria Usa un esquema de gestión de memoria que la distribuye acuerdo con un análisis de relación entre costes y beneficios de la memoria. Adquiere y libera memoria de manera dinámica según sea preciso. Organiza la memoria que el mismo se asigna en dos regiones distintas: Buffer Pool y MemToLeave.

  9. Organización de archivos Archivos: - Datos principales.- Datos secundarios.- De registro. Paginas. Nombres de archivo lógico y físico:- logical_file_name.- os_file_name. Grupo de archivos.

  10. Indices Facilitan la recuperación de datos, permitiendo el acceso directo y acelerando las búsquedas, consultas y otras operaciones que optimizan el rendimiento general. • QueryOptimizer • B-tree • Rendimiento Óptimo

  11. Características de los índices • Agrupado: • Dependencia. • Hojas. • Solo un índice. • Agrupados primero. • No Agrupado: • Independencia. • Diversos índices. • Vistas indexadas.

  12. Como crear un índice en SQL Server Sentencia SQL: CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name     ON <object> ( column [ ASC | DESC ] [ ,...n ] )

  13. Concurrencia SQL server usa 3 enfoques de control de transacciones.

  14. Interbloqueos Para minimizar el número de interbloqueos se deben considerar las siguientes recomendaciones:Las transacciones deben ser cortas y afectar al menor número de datos posibles. Se debe dar preferencia a la utilización de alguna de las técnicas del enfoque optimista. Es conveniente establecer una prioridad baja para las consultas DSS y una alta para las OLTP.

  15. Recuperación Tipos de recuperación Simple. Completa. Optimizado para cargas masivas de registros. Fases de Restauración

  16. Recuperación BACKUP (Transact-SQL) Hace copia de seguridad de una BD completa de SQL Server para crear una copia de seguridad de la BD, o uno o más archivos o grupos de archivos de la BD para crear una copia de seguridad de archivo (BACKUP DATABASE).  Con el modelo de recuperación completa o con el de recuperación optimizado para cargas masivas de registros, realiza la copia de seguridad del registro de transacciones de la BD para crear una copia de seguridad de registros (BACKUP LOG).

  17. Respaldar una BD completa BACKUP DATABASE { database_name | @database_name_var }   TO <backup_device> [ ,...n ]   [ <MIRROR TO clause> ] [ next-mirror-to ]  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } [;]

  18. Respaldar archivos específicos o un grupo de archivos BACKUP DATABASE { database_name| @database_name_var }  <file_or_filegroup> [ ,...n ]    TO <backup_device> [ ,...n ]   [ <MIRROR TO clause> ] [ next-mirror-to ]  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ][;]

  19. Respaldo parcial BACKUP DATABASE { database_name | @database_name_var }  READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]  TO <backup_device> [ ,...n ]   [ <MIRROR TO clause> ] [ next-mirror-to ]  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ][;]

  20. Respaldar el log de transacciones BACKUP LOG { database_name | @database_name_var }   TO <backup_device> [ ,...n ]   [ <MIRROR TO clause> ] [ next-mirror-to ]  [ WITH { <general_WITH_options> | <log-specific_optionspec> } [ ,...n ] ][;]

  21. Restaurar RESTORE ( Transact-SQL ) Restaura copias de seguridad realizadas con el comando BACKUP. Este comando le permite realizar los siguientes escenarios de restauración: • Completa. • Parcial. • De archivos. • De paginas. • Del registro de transacciones.

  22. Restauración Completa RESTORE DATABASE { database_name | @database_name_var }  [ FROM <backup_device> [ ,...n ] ] [ WITH {   [ RECOVERY | NORECOVERY | STANDBY ={standby_file_name| @standby_file_name_var }  ] | , <general_WITH_options> [ ,...n ] | , <replication_WITH_option>  | , <change_data_capture_WITH_option> | , <FILESTREAM_WITH_option>  | , <service_broker_WITH options>  | , <point_in_time_WITH_options—RESTORE_DATABASE>    } [ ,...n ] ][;]

  23. Restauración Parcial RESTORE DATABASE { database_name | @database_name_var }    <files_or_filegroups> [ ,...n ] [ FROM <backup_device> [ ,...n ] ]    WITH       PARTIAL, NORECOVERY       [  , <general_WITH_options> [ ,...n ]        | , <point_in_time_WITH_options—RESTORE_DATABASE>       ] [ ,...n ] [;]

  24. Restauración de Archivos RESTORE DATABASE { database_name | @database_name_var }    <file_or_filegroup> [ ,...n ] [ FROM <backup_device> [ ,...n ] ]    WITH    {      [ RECOVERY | NORECOVERY ]      [ , <general_WITH_options> [ ,...n ] ]   } [ ,...n ] [;]

  25. Restauración de Paginas RESTORE DATABASE { database_name| @database_name_var} PAGE = 'file:page [ ,...n]'  [ , <file_or_filegroups> ] [ ,...n ] [ FROM <backup_device> [ ,...n ] ]    WITH  NORECOVERY  [ ,  <general_WITH_options> [ ,...n ] ][;]

  26. Restauración del Registro de Transacciones RESTORE LOG { database_name | @database_name_var }  [ <file_or_filegroup_or_pages> [ ,...n ] ] [ FROM <backup_device> [ ,...n ] ]  [ WITH    {     [ RECOVERY | NORECOVERY | STANDBY =         {standby_file_name | @standby_file_name_var }        ]    | , <general_WITH_options> [ ,...n ]    | , <replication_WITH_option>    | , <point_in_time_WITH_options—RESTORE_LOG>    } [ ,...n ] ] [;]

  27. Revertir una BD al punto temporal capturado por una instantánea de BD RESTORE DATABASE { database_name | @database_name_var } FROM DATABASE_SNAPSHOT = database_snapshot_name

  28. Concurrencia SET TRANSACTION ISOLATION LEVEL (Transact-SQL) Controla el comportamiento del bloqueo y de las versiones de fila de las instrucciones Transact-SQL emitidas por una conexión a SQL Server. Un ejemplo sencillo: • SET TRANSACTION ISOLATION LEVEL  { READ UNCOMMITTED  | READ COMMITTED  | REPEATABLE READ  | SNAPSHOT  | SERIALIZABLE  } [ ; ]

  29. Read UNCOMMITED/COMMITED • READ UNCOMMITTED Especifica que las instrucciones pueden leer filas que han sido modificadas por otras transacciones pero todavía no se han confirmado. • READ COMMITTED Especifica que las instrucciones no pueden leer datos que hayan sido modificados, pero no confirmados, por otras transacciones. Esto evita lecturas de datos sucios. Otras transacciones pueden cambiar datos entre cada una de las instrucciones de la transacción actual, dando como resultado lecturas no repetibles o datos fantasma. Esta opción es la predeterminada para SQL Server.

  30. RepeatableRead Especifica que las instrucciones no pueden leer datos que han sido modificados pero aún no confirmados por otras transacciones y que ninguna otra transacción puede modificar los datos leídos por la transacción actual hasta que ésta finalice.

  31. SNAPSHOT Especifica que los datos leídos por cualquier instrucción de una transacción sean la versión coherente, desde el punto de vista transaccional, de los datos existentes al comienzo de la transacción. La transacción únicamente reconoce las modificaciones de datos confirmadas antes del comienzo de la misma. Las instrucciones que se ejecuten en la transacción actual no verán las modificaciones de datos efectuadas por otras transacciones después del inicio de la transacción actual. El efecto es el mismo que se obtendría si las instrucciones de una transacción obtuviesen una instantánea de los datos confirmados tal como se encontraban al comienzo de la transacción.

  32. Serializable Especifica lo siguiente:  • Las instrucciones no pueden leer datos que hayan sido modificados, pero aún no confirmados, por otras transacciones. • Ninguna otra transacción puede modificar los datos leídos por la transacción actual hasta que la transacción actual finalice. • Otras transacciones no pueden insertar filas nuevas con valores de clave que pudieran estar incluidos en el intervalo de claves leído por las instrucciones de la transacción actual hasta que ésta finalice.

  33. Índices SQLServer CREATE INDEX (Transact-SQL) Crea un índice relacional en una tabla especificada o una vista de una tabla especificada. Se puede crear un índice antes de que la tabla posea datos. Los índices relacionales se pueden crear en tablas o vistas de otra base de datos especificando un nombre completo de base de datos.

  34. Crear un índice Ejemplo en SQLServer: CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name     ON <object> ( column [ ASC | DESC ] [ ,...n ] )     [ INCLUDE ( column_name [ ,...n ] ) ] [ WHERE <filter_predicate> ]    [ WITH ( <relational_index_option> [ ,...n ] ) ]    [ ON { partition_scheme_name ( column_name )          | filegroup_name | default  } ] [ FILESTREAM_ON { filestream_filegroup_name | partition_scheme_name | "NULL" } ] [ ; ]

  35. Índices SQLServer ALTER INDEX (Transact-SQL) Modifica un índice existente de una tabla o una vista (relacional o XML) mediante su des habilitación, regeneración o reorganización, o mediante el establecimiento de sus opciones.

  36. Modificar índice Ejemplo en SQLServer: • ALTER INDEX { index_name | ALL }  ON <object>  { REBUILD  [ [PARTITION = ALL]   [ WITH ( <rebuild_index_option> [ ,...n ] ) ]   | [ PARTITION = partition_number     [ WITH ( <single_partition_rebuild_index_option>                        [ ,...n ] )  ] ] ]    | DISABLE  | REORGANIZE  [ PARTITION = partition_number ]    [ WITH ( LOB_COMPACTION = { ON | OFF } ) ]   | SET ( <set_index_option> [ ,...n ] ) }[ ; ]

  37. Índices SQLServer DROP INDEX (Transact-SQL) Quita uno o más índices XML, filtrados, espaciales o relacionales de la base de datos actual. Puede quitar un índice clúster y mover la tabla resultante a otro grupo de archivos o esquema de partición en una sola transacción especificando la opción MOVE TO. La instrucción DROP INDEX no es aplicable a los índices creados mediante la definición de restricciones PRIMARY KEY y UNIQUE. Para quitar la restricción y el índice correspondiente, use ALTER TABLE con la cláusula DROP CONSTRAINT.

  38. Borrar un índice Ejemplo en SQLServer: • DROP INDEX{ <drop_relational_or_xml_or_spatial_index> [ ,...n ] | <drop_backward_compatible_index> [ ,...n ]}

  39. Ventajas • Soporte de transacciones. • Escalabilidad, estabilidad y seguridad. • Soporta procedimientos almacenados. • Incluye también un potente entorno gráfico de administración, que Permite el uso de comandos DDL y DML gráficamente. • Permite trabajar en modo cliente-servidor. • Además permite administrar información de otros servidores de datos.

  40. Desventajas • La principal desventaja de Microsoft SQL SERVER es la enorme cantidad de memoria RAM que utiliza para la instalación y utilización del software. • Si se quiere para prácticas no va a ser de mucha utilidad porque se prohíben muchas cosas, es decir; tiene grandes restricciones. • La relación calidad-precio esta muy por debajo comparado con Oracle.

  41. ¡Gracias por su atención!¿Preguntas?

More Related