SlideShare a Scribd company logo
1 of 60
UNIVERSIDAD NACIONAL JOSÉ FAUSTINO SANCHEZ CARRIÓN


                                 FACULTAR DE INGENIERÍA

                             E.A.P. DE INGENIERÍA DE SISTEMAS




  TEMA    : SQL SERVER
  CURSO   : Teoría y Diseño de Base de Datos
  DOCENTE : Claros Vázquez



  EQUIPO:

  •Ortiz Pimentel, Rosmel.
  •Elías More , Ever.
  •Reyes Sánchez, Mario.
  •Muñoz Quispe, Javier.
1. INTRODUCCIÓN
       •Versiones
       •Ediciones
       •Plataforma SQL SERVER 2005
       •Entorno de desarrollo del SQL SERVER 2005

2. CREAR UN BASE DE DATOS
      •De manera grafica: Tablas y relaciones
      •Migración Del ERwin de forma Native
      •Migración Del ERwin en forma ODBC
3. CREACION DE UNA REPLICA
        . REPLICACION TRANSACIONAL
4. EXPORTAR E IMPORTAR BASES DE DATOS
      •Adjuntar una base de datos
      •Exportar una BD de SQL SERVER a ACCES
      •Importar una BD de ACCES a SQL SERVER 2005

5. . LOGIN
       •Diferentes niveles de acceso a NIEVEL DE SQL SERVER

6. BACKUP Y RESTAURACION DE BASE DE DATOS
      •Adjuntar base de datos
      •BackUp manual
      •BackUp automático con un plan de mantenimiento

7. PROCEDIMIENTOS ALMACENADOS
8. TRIGGERS
SISTEMA DE GESTION DE BASE DE DATOS

OBJETIVOS:

oAbstraer la información acerca de cómo se almacenan físicamente los datos.
oMantener la independencia entre la vista física y lógica de los datos.
oMantener la mínima redundancia, dado que los diseños de bases de datos
que soportan (el modelo relacional) no son propensos a representar
información repetida.
oAsegurar la consistencia de la información.
oProveer seguridad ante usos malintencionados, ataques, robos de
información, etc.
oAsegurar la integridad de los datos almacenados.
oProveer mecanismos de respaldo y recuperación
oRegular y controlar la concurrencia de usuarios.
oProveer buen tiempo de respuesta.
REGLAS
   Debe utilizar sus capacidades relacionales con el pro pósito de gestionar la base
    de datos.
   Toda la información contenida en una base de datos relacional (BDR) se
    representa explícitamente en el nivel lógico de una manera exacta: con valores
    en tablas.
   Regla del acceso garantizado.
   Tratamiento sistemático de valores nulos.
   Catálogo dinámico en línea basado en el modelo relacional.
   Regla del sublenguaje de datos completo.
   Regla de actualización de vistas.
   Regla de inserción, actualización y borrado de alto nivel.
   Regla de independencia física de datos.
   Regla de independencia lógica de datos.
   Regla de independencia de integridad.
   Regla de independencia de distribución.
   Regla de la no-subversión.
¿QUE ES SQL SERVER?

   Es un sistema de gestión de base de datos relacionales basado en
    el lenguaje Transact-SQL, y específicamente en Sybase IQ, capaz
    de poner a disposición de muchos usuarios grandes cantidades de
    datos de manera simultánea, así como de tener unas ventajas que
    más abajo se describen.

   Microsoft SQL Server constituye la alternativa de Microsoft a otros
    potentes sistemas gestores de bases de datos como son Oracle,
    Sybase ASE, PostgreSQL, Interbase, Firebird o MySQL.
HISTORIA DEL SQL SERVER


 Versión     Año        Nombre de la versión        Code Name

1.0 (OS/2)   1989          SQL Server 1.0                -

4.21 (NT)    1993          SQL Server 4.21               -

   6.0       1995          SQL Server 6.0            SQL95

   6.5       1996          SQL Server 6.5             Hydra

   7.0       1998          SQL Server 7.0            Sphinx

             1999   SQL Server Herramientas OLAP      Platón

   8.0       2000         SQL Server 2000             Shiloh

   8.0       2003    SQL Server 2000 para 64 bits     Liberty

   9.0       2005         SQL Server 2005             Yukon

  10.0       2008         SQL Server 2008             katmai
   SQL Server tuvo sus orígenes en acuerdos comerciales entre las
    empresas Microsoft, IBM, Sybase y Ashton-Tate.

   Con la finalidad de ubicarse rápidamente en una posición competitiva,
    en 1986 Microsoft se asoció con Sybase Inc., que ya tenía un producto
    corriendo en UNIX que se encontraba muy bien conceptuado en el
    mercado.

   En 1988, Microsoft se asoció con Ashton-Tate y anunció un nuevo
    producto: Ashton-Tate/Microsoft SQL Server. La idea era escalar
    Dbase con el fin de crear una versión cliente/servidor que permitiera
    utilizar su lenguaje de consultas para crear aplicaciones que se
    comunicaran con SQL Server.
   En 1989, surgió la primera versión de SQL Server para OS/2 bajo
    el nombre Ashton-Tate/Microsoft SQL Server 1.0.

   En 1991, Microsoft ya estaba trabajando en Windows NT (que
    originalmente sería lanzado como OS/2 3.0 por su asociación con
    IBM), basado en la interfaz de programación de aplicaciones API
    Win32 (Application Programming Interfase).

   La siguiente versión de SQL Server, la 6.0, se liberó al mercado en
    1995. Este pro- ducto ya trabajaba elementos clave, como la
    duplicación y los cursores, que daban la posibilidad de trabajar
    registros uno a uno.
   La versión 6.5, liberada en abril de 1996, incluía más facilidades de
    uso, la certificación ANSI-SQL, más posibilidades a las
    transacciones distribuidas, y tuvo en cuenta la creciente
    demanda de almacenes de datos.

   Durante el trancurso del año 1995, Microsoft comenzó a desarrollar
    un nuevo procesador de consultas al que se le sumó el de OLE
    DB. El producto fue liberado en enero de 1999 como la versión 7.0.
SQL SERVER 7.0
    INNOVACIONES


   La primera base de datos en escalar desde la
    computadora portátil hasta la empresa
    utilizando la misma base de código y ofrecer
    el 100% de compatibilidad de código.

   Primera base de datos con OLAP integrado.

   La primera base de datos en proveer
    administración de multiservidor para cientos
    de servidores.
OBJETIVOS DEL PROCESO

   Arquitectura RDBMS
   Datos distribuidos y replicación
   Integración Internet y correo electrónico
   Gestión y administración centralizada de
    bases de datos
   Mejoras en programabilidad y lenguaje
SQL SERVER 2000
    INNOVACIONES
   Proporciona el procesamiento transaccional
    online a gran escala, el Business Intelligence
    y las aplicaciones de comercio-e.

   Mejora significativamente las capacidades
    del componente de Servicios OLAP
    introducido en la versión 7.0 de SQL Server.

   Los Servicios de Análisis introducen el
    datamining, que se puede emplear para
    descubrir información en cubos OLAP y en
    bases de datos relacionales.
NOVEDADES
Novedades de Microsoft SQL Server 2000              Novedades de los Servicios de Análisis
   Mejoras de la base de datos relacional          Mejoras de cubos
   Integración XML de Datos Relacionales           Mejoras de Dimensión
   Mejoras de la Administración Gráfica            Mejoras de Data Mining
   Mejoras de Replicación                          Mejoras de Seguridad
   Mejoras de los Servicios de Transformación de   Mejoras de Conectividad del Cliente en el
    Datos                                           Servicio PivotTable®
   Mejoras de los Servicios de Análisis            Otras mejoras
   Mejoras de los Servicios de Metas
   Mejoras de English Query                        Novedades de los Servicios de Metas
   Mejoras de Documentación                        Mejoras del Navegador de Metas
                                                    Mejoras de la codificación de XML
                                                    Mejoras de programación del motor de
                                                    repositorio
                                                    Mejoras del modelo de motor de repositorio
SQL SERVER 2005
INNOVACIONES
   Soporte para varios procesadores, RAID y balanceo de carga de trabajo
   Particionado de bases de datos para soportar bases de datos muy grandes
   Operaciones de indexado paralelas
   Mirroring (espejado) de bases de datos para proveer protección ante fallos
    y redirección automática de clientes
   Optimización automática de bases de datos, herramientas de
    administración sencillas y herramientas de desarrollo avanzadas
   Servicios de autenticación, auditoría y autorización avanzados
   Encriptación avanzada de datos
   Servicio de revisión de buenas prácticas de programación
   Integración con Microsoft Baseline Security Analizer
   Integración con Microsoft Update
   Soporte de consultas recursivas, manejo de errores y nuevos tipos de
    datos
   Integración con .NET
SQL SERVER 2005
    CARACTERISTICAS DE ADMINISTRACION DE BASE DE DATOS

   Mirroring de Bases de Datos
   Operaciones de Indexación Online
   Nuevas herramientas integradas
   Aislamiento de Imágenes (SI)
   Particionado de Datos
   Backups duplicados (“mirrored backup”)
   Restauración online
   Recuperación rápida
   Conexión de Administrador dedicada
   Mejoras en la Replicación
SQL SERVER 2005
     CARACTERISTICAS DE DESARROLLO
   Soporte para .NET Framework
   Tecnologías XML
   ADO.NET Versión 2.0
   Mejoras en Transact-SQL
   Gestor de Servicio SQL
   Servicios de Notificación
   Servicios Web
   Soporte para Xquery
   Mejoras en la Búsqueda de Texto Completo
   Mejoras en Seguridad
SQL SERVER 2005
CARACTERISTICAS DE INTELIGENCIA DE NEGOCIOS

   Servicios de Análisis
   Servicios de Transformación de Datos (DTS)
   Data Mining
   Servicios de Reporting
   Soporte de Servicios de Análisis en Cluster
   Indicadores de Rendimiento Principales
   Escalabilidad y Rendimiento
   Cubo en un solo click
   Mejoras en la Arquitectura
   Integración con los informes de Office System
Ediciones:
Microsoft SQL Server         es una plataforma de base de datos y análisis de datos para
  aplicaciones OLTP.

  Para diseño, creación y administración de data werehouses, y para aplicaciones de comercio
  electrónico.




SQL Server Management Studio




                                           Plataforma SQL Server
Microsoft SQL Server Management Studio
               Entorno de desarrollo



        Servidores                                                                                                         Barras de
        registrados                                                                                                       herramientas




         Explorador de                                                                                                    Página del
            objetos                                                                                                   resumen de objeto



                                                           Principales Ventanas

El SQL Server Management Studio es un entorno integrado para acceder, configurar, administrar y manejar todos los componentes de SQL Server 2005.
MODELADORES DE BASE DE DATOS

 LICENCIADA:

               •ERWIN Data Modeler 7.3
               •Sybase Power Designer 15.1
               •Rational Rose 2007
               •XCase 6.0
               •Bainsoft BDB Professional Edition 3.6



 GRATUITA:
               •DBDesigner 4.0.5.6
Archivos de una base de datos en SQL Server:

Archivo primario (.mdf)
Archivos secundarios (.ndf)
Archivos de registro de transacciones (.ldf)
Migrar de Erwin a SQL Server 2005 de forma ODBC
Migrar de Erwin a SQL Server 2005 de forma NATIVE
La réplica es un conjunto de tecnologías destinadas a la
copia y distribución de datos y objetos de base de datos
desde una base de datos a otra, para luego sincronizar
ambas bases de datos y mantener su coherencia. La
réplica permite distribuir datos a diferentes ubicaciones y a
usuarios remotos o móviles mediante redes de área local y
de área extensa, conexiones de acceso telefónico,
conexiones inalámbricas e Internet.




                                                                DEMO_05
Introducción a la replicación
   Publicador: Servidor que pone los datos a disposición de otros servidores su replicación.
   Distribuidor: Servidor que aloja la base de datos de distribución (distribution) y almacena los datos históricos,
    transacciones y metadatos a replicar.
   Suscriptor: Servidor que recibe los datos replicados.
   Publicación: Conjunto de artículos de una base de datos que se ponen a disposición de la replicación por parte de los
    publicadores.
   Artículo: Un artículo de una publicación puede ser una vista, procedimiento almacenado, etc. o una tabla de datos la
    cual puede contar con todas las filas o algunas (filtrado horizontal) y simultáneamente contar de todas las columnas o
    algunas (filtrado vertical).
   Suscripción: Petición de copia de datos o de objetos de base de datos para replicar. Una suscripción define qué
    publicación se recibirá, dónde y cuándo.
      Pueden ser:
          ○ Suscripciones de inserción: El Publicador solicita la sincronización o distribución de datos de una suscripción.
          ○ Suscripciones de extracción: El Suscriptor solicita la sincronización o distribución de datos de una suscripción.
   Agentes de replicación: Procesos encargados de la copia de datos entre el publicador y el suscriptor.
      Existen los siguientes agentes:
          ○ Agente de Instantáneas
          ○ Agente de distribución
          ○ Agente del lector de registro
          ○ Agente del lector de cola
          ○ Agente de mezcla




                                                   TELEVISIÓN DIGITAL
Agentes de replicación

   Agente de instantáneas: El agente de instantáneas es el encargado de crear la instantánea inicial de la
    base de datos de publicación y de almacenarla en una carpeta compartida del distribuidor. El agente de
    instantáneas pone una marca en el registro de transacciones para indicar la hora de la instantánea. El
    agente lector de registros usa esta marca para determinar las transacciones que deben copiarse para
    actualizar la instantánea en los suscriptores.

   Agente lector de registros: El agente lector de registros supervisa el registro de transacciones para la
    base de datos de publicación y copia transacciones nuevas en la base de datos de distribución.

   Agente de distribución: El agente de distribución inicializa una copia de la base de datos de publicación
    en cada suscriptor mediante la instantánea inicial. A partir de este momento, el agente de distribución
    copiará periódicamente las transacciones almacenadas en la base de datos de distribución y las
    aplicará a la copia de la base de datos de publicación de cada suscriptor para mantener la base de
    datos actualizada.

   Agente del lector de cola: Aplica los cambios de una cola y los aplica a múltiples suscriptores

   Agente de mezcla: Combina los cambios de sitios múltiples en entornos heterogéneos
El Modelo de replicación en Microsoft Sql server 2005


Publicador                                       Suscriptor
  Mantiene las                                     Recibe los
  bases de datos                                   cambios de
  de origen                                        los datos.
                      Distribuidor                 Alberga una
  Facilita los
                                                   copia de los
  datos Para su
                         Almacena los              datos.
  duplicación
                         metadatos , el
                         historial y, recibe y
                         almacena los
                         cambios.
                         Es posible reenviar
                         los cambios a los
                         suscriptores.
Nuevos tipos de replicación


                            Los datos pueden ser publicados desde una base de datos Oracle a una
Replicación Heterogénea     base de datos SQL Server usando replicación transaccional o
                            instantánea.



Replicación Transaccional   Los datos pueden ser replicados entre múltiples peer servers. Datos a
Peer-to-peer                todos los servidores pueden ser actualizados y todos los servidores
                            reciben los cambios hechos a los otros servidores.



                            Para simplificar las replicaciones a través de un firewall o para mobile
Replicación HTTP            users, ha sido introducida la replicación sobre HTTP o HTTPS. Esto
                            transmite datos en formato XML entre un suscriptor y el IIS, y usa
                            formato binario sobre TCP/IP entre IIS y el publicador.
Modelo de replicación transaccional
Información general de la replicación
                transaccional
Normalmente, la replicación transaccional se inicia
con una instantánea de los datos y los objetos de la
base de datos de publicaciones.

En cuanto se obtiene la instantánea inicial, los
posteriores cambios de datos y modificaciones del
esquema realizado en el publicador habitualmente
se entregan en el suscriptor cuando se producen
(casi en tiempo real).

 Los cambios de datos se aplican al suscriptor en el
mismo orden y dentro de los mismos límites de la
transacción que cuando se produjeron en el
publicador. Por tanto, en una publicación, se
garantiza la coherencia transaccional.
Tipos de autentificación en SQL Server

                                                    Tipos de autentificación en SQL Server:

                                                    1. Autentificación integrada de Windows.
                                                    2. Autentificación SQL Server




  Autentificación: Es básicamente el proceso de determinar que alguien es realmente quien dice ser.
Proceso de autentificación en SQL Server


                                                  Servidor Windows

                                                   Servidor SQL

         Cuenta de usuario Windows   login name
                SISTEMAS             SISTEMAS          Ventas


                                                                      dbo
                                                     Producción
                                     login name
                                         123
                                                                     administrador
                                                      Personal
Terminología de Seguridad

Principal:
Un principal es cualquier identidad autenticada que puede tener permisos de acceso a un objeto en un
sistema de base de datos.

Securable:
Los Securables son recursos a los cuales el sistema de autorización de SQL Server controla el acceso.

Permisos:
Los Permisos son las reglas que gobiernan el nivel de accesos que los principals tienen para los
asegurables.



                                             Permisos



                 Principal                                                     Securable
Incluyen:
                                  Logins
                                  HTTP endpoints
                                  Certificados
                                  Notificación de evento
                                  Bases de datos

Niveles
                                              Incluyen:
          Cuenta de usuario
                                              Usuarios
          local Windows                       Roles
          Cuenta de usuario de               Aplicación de roles
          dominio Windows                     Ensambles
          Grupo Windows
                                              Tipos de mensajes
                                              Contratos de Servicio
          SQL Server login                   Servicios
          SQL Server role                    Catálogos Full-text
                                              Eventos DDL
                                              Schemas

          Usuario de base de
          datos
          Rol de base de datos                      Incluyen:
          Grupo de base de                          Tablas
          datos                                      Vistas
          Rol de la aplicación
                                                     Funciones
                                                     Procedimientos
                                                     Colas
                                                     Tipos
                                                     Reglas
                                                     Defaults
                                                     Sinónimos
                                                     Agregados
Asegurable                  Permiso                                      Descripción
                     CONNECT_SQL              Conecta al servidor.
Server               CREATE LOGIN             Crea un login.
                     ALTER ANY LOGIN          Altera cualquier login en el rango del servidor.
                     CONTROL SERVER           Control completo de administración del sistema.


                     ALTER                    Altera el login.
Login                IMPERSONATE              Impersonar el login.
                     CREATE TABLE             Crea una tabla en la base de datos.
Base de Datos        ALTER ANY USER           Altera cualquier usuario en la base de datos.
                     CONTROL                  Control completo de la base de datos.
Usuario              ALTER                    Altera el usuario especificado.
                     SELECT                   Selecciona rows para cualquier objeto en el schema.
Schema
                     ALTER                    Altera cualquier objeto en el schema.
                     TAKE OWNERSHIP           Toma propiedad del schema.
                     SELECT                   Selecciona rows de la tabla.
Tabla                ALTER                    Altera la tabla.
                     CONTROL                  Control total de la tabla.
ROLES FIJOS DE SERVIDOR


       ROL              DESCRIPCIÓN                                 PERMISOS
dbcreator       Creadores de base de datos     Crear y modificar las base de datos


serveradmin     Administradores del servidor   Cambiar las opciones de configuración del servidor


sysadmin        Administradores del sistema    Ejecutar cualquier tarea en el servidor SQL


segurityadmin   Administradores de seguridad   Administrar logins
ROLES FIJOS DE BASE DE DATOS


            ROL             DESCRIPCIÓN                                 PERMISOS
db_owner           Dueños de la base de datos          No tiene restricciones

db_backuperator    Ejecutores de copias de seguridad   Obtener copias de seguridad

db_ddladmin        Ejecutores de declaraciones DDL     Ejecutar cualquier declaración DDL

db_reader          Lectores de datos                   Leer el contenido de la tabla o vista

db_writer          Escritores de datos                 Puede modificar los datos de las tablas

db_denyreader      Sin acceso de lectura               No puede eer el contenido de la tabla o vista


db_denywriter      Sin acceso a escritura              No puede eer el contenido de la tabla o vista
TRANSACT - SQL



  ELEMENTOS:

  Lenguaje de Manipulación de Datos (DML)
                    SELECT
                    INSERT
                    UPDATE
                    DELETE

  Lenguaje de Definición de Datos (DDL)
                     CREATE
                     ALTER
                     DROP

  Lenguaje de Control de Datos (DCL) Usado para cambiar los permisos o roles asociados con un usuario de la BD.
                    GRANT
                    DENY
                    REVOKE
VIEWS, FUNCTIONS, STORED PROCEDURES, TRIGGERS
Viistas, Funciones, Procedimientos Almacenados, Disparadores
VISTAS:


Es un objeto de la base de datos que almacena una consulta predefinida.




                                                                Muestra la instrucción con la
                                                                   que se creó la vista


                                     Combinación de vistas
PROCEDIMIENTO ALMACENADO:

Son instrucciones pre compiladas.

Necesita ser invocado
Un Store Procedure también puede llamar a otro Store Procedure, así como aceptar entradas y devolver
múltiples valores al procedimiento llamado en forma de parámetros de salida.
Proporciona un mecanismo de seguridad.
Puede ser compartida con otras aplicaciones.

 VEREMOS:

 •PROCEDIMIENTO ALMACENADO SIN PARAMETROS
 •PROCEDIMIENTO ALMACENADO CON PARAMETROS
 •PROCEDIMIENTO ALMACENADO QUE RECIBE Y ENTREGA PARAMETROS
PROCEDIMIENTO ALMACENADO SIN PARAMETROS:
PROCEDIMIENTO ALMACENADO CON PARAMETROS:




                        Muestra los datos del cliente con código “X”
PROCEDIMIENTO ALMACENADO QUE RECIBE Y ENTREGA PARAMETROS:


                                                       Muestra el total por el documento “X”




                                                        EJEMPLO:

                                                        Calcular el ranking de los “N”
                                                        productos más vendidos.

                                                        N seria el parámetro que se le
                                                        entrega al procedimiento
FUNCIONES DEFINIDAS POR EL USUARIO:

Es una porción encapsulada de código que puede ser reutilizada por diferentes programas.

Puede tener cero, uno o más parámetros de entrada y puede retornar un valor escalar o una tabla.



 F. Deterministicas
 Ejm.
 COS()


 F. No Deterministicas
 Ejm.                                                       VEREMOS:
 GETDATE()
                                                            •FUNCIÓN CON VALORES ESCALARES
                                                            •FUNCIÓN DE TABLA EVALUADA MULTISENTENCIA
                                                            •FUNCIÓN TABLA EVALUADA EN LÍNEA
FUNCIÓN CON VALORES ESCALARES

                                Retorna un resultado con
                                un valor escalar.

                                Similar a las funciones
                                estandar del sistema.
FUNCIÓN DE TABLA EVALUADA MULTISENTENCIA



Retorna una tabla
construida a base de
una o mas sentencias.

Puede ser referenciado
en la clausula FROM se
una sentencia SELECT.
FUNCIÓN TABLA EVALUADA EN LÍNEA




                                  Retorna una tabla que es resultado de la
                                  ejecución de una sola sentencia SELECT.
TRIGGER:
Se ejecuta automaticamente sobre objetos de una base de datos cuando una aplicacion produce algún
cambio en los mismos




EXISTEN 2 TIPOS:

     Lenguaje de Manipulación de Datos (DML): Se ejecutan con las intrucciones :
               •   INSERT
               •   UPDATE o
               •   DELETE.

     Lenguaje de Definición de Datos (DDL): se ejecutan cuando se crean, alteran o borran objetos
     de la base de datos.
TRIGGER DML
Se ejecuta automáticamente cuando se produce una modificación en el contenido de la tabla.

           TIPOS DE TRIGGER DML
          Trigger AFTER
           Se ejecutan después que una acción INSERT, UPDATE o DELETE es ejecutada.
           Solo se puede especificar para tablas.
           •INSERT AFTER
           •DELETE AFTER
           •UPDATE_AFTER
          Trigger INSTEAD OF
           Se pueden definir sobre vistas que tienen una o más tablas subyacentes.



                                                                   SINTAXIS:

                                                                   CREATE TRIGGER <nombre del Trigger>
                                                                   ON <nombre de la tabla>
                                                                   AFTER <INSERT,DELETE,UPDATE>
                                                                   AS
                                                                   <sentencias SQL>
TRIGGER DML: EJEMPLO
INSERT AFTER:
                                           Re-calcula y actualiza el monto de una factura cada vez
                                           que se inserta un detalle para dicha factura.




CREATE TRIGGER tg_insert_DetalleFactura
ON detalle AFTER INSERT
AS
    DECLARE @fact int
    DECLARE @suma money

SET @fact =(SELECT id_factura FROM inserted)
SET @suma =(SELECT SUM(precio_unitario*cantidad) FROM detalle WHERE detalle.id_factura= @fact)

 UPDATE factura
    SET monto_factura=@suma WHERE id_factura= @fact
TRIGGER DML: EJEMPLO
INSERT AFTER:
                                               Re-calcula y actualiza el monto de una factura cada vez
                                               que se inserta un detalle para dicha factura.




PARA PROBARLO:

INSERT INTO factura VALUES (3, ‟22/01/2010‟, „Pepito Pérez‟ , NULL)

INSERT INTO detalle VALUES (3, 101, 14 ,100)
INSERT INTO detalle VALUES (3, 102, 18 ,100)
INSERT INTO detalle VALUES (3, 102, 20 ,100)
INSERT INTO detalle VALUES (3, 103, 25 ,100)




 INSTEAD OF:
TRIGGER DDL
  Se ejecuta en respuesta a la ejecución de una sentencia DDL.

             SE USA CUANDO:
        •    Se desea registrar o impedir cambios en el esquema de la base de datos.
        •    El propósito principal es auditar acciones realizadas en una base de datos.


EJEMPLO:


CREATE TRIGGER tg_seguridad
ON DATABASE
FOR DROP_TABLE, ALTER_TABLE
AS
          PRINT 'DEBE DESHABILITAR EL DESENCADENANTE tg_seguridad PARA ELIMINAR O MODIFICAR UNA TABLA'
          ROLLBACK


DROP TABLE detalle
UNIVERSIDAD NACIONAL JOSÉ FAUSTINO SANCHEZ CARRIÓN


                      FACULTAR DE INGENIERÍA

                  E.A.P. DE INGENIERÍA DE SISTEMAS




                 GRACIAS POR SU ATENCIÓN

More Related Content

What's hot

Generalidades en SQL Server 2012
Generalidades en SQL Server 2012Generalidades en SQL Server 2012
Generalidades en SQL Server 2012Juan Fabian
 
Sq ly oracle.tarea2
Sq ly oracle.tarea2Sq ly oracle.tarea2
Sq ly oracle.tarea2hdez7eli
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008brobelo
 
Presentación: Administración y programación de bases de datos relacionales.
Presentación: Administración y programación de bases de datos relacionales.Presentación: Administración y programación de bases de datos relacionales.
Presentación: Administración y programación de bases de datos relacionales.Angel Ladrero Gracia
 
Lo nuevo de sql server 2008. madrigal
Lo nuevo de sql server 2008. madrigalLo nuevo de sql server 2008. madrigal
Lo nuevo de sql server 2008. madrigalmelasa7
 
Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Ana Granados Navarro
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresJoseph Lopez
 
Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8John Bulla
 
Libro introduccion SQL Server Express Edition 2012
Libro introduccion SQL Server Express Edition 2012Libro introduccion SQL Server Express Edition 2012
Libro introduccion SQL Server Express Edition 2012Andreiitah Puliido
 
Características SQL 2005 y SQL 2008
Características SQL 2005 y SQL 2008Características SQL 2005 y SQL 2008
Características SQL 2005 y SQL 2008Luis Vázquez
 

What's hot (20)

Exchange server
Exchange serverExchange server
Exchange server
 
Generalidades en SQL Server 2012
Generalidades en SQL Server 2012Generalidades en SQL Server 2012
Generalidades en SQL Server 2012
 
SQL server 2008
SQL server 2008SQL server 2008
SQL server 2008
 
Presentación SQL Server 2012
Presentación SQL Server 2012Presentación SQL Server 2012
Presentación SQL Server 2012
 
Sq ly oracle.tarea2
Sq ly oracle.tarea2Sq ly oracle.tarea2
Sq ly oracle.tarea2
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008
 
Presentación: Administración y programación de bases de datos relacionales.
Presentación: Administración y programación de bases de datos relacionales.Presentación: Administración y programación de bases de datos relacionales.
Presentación: Administración y programación de bases de datos relacionales.
 
Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server. Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server.
 
Lo nuevo de sql server 2008. madrigal
Lo nuevo de sql server 2008. madrigalLo nuevo de sql server 2008. madrigal
Lo nuevo de sql server 2008. madrigal
 
Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladores
 
Versiones de sql
Versiones de sqlVersiones de sql
Versiones de sql
 
Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8
 
Sql Server
Sql ServerSql Server
Sql Server
 
Caracteristicas Microsoft SQL Server
Caracteristicas Microsoft SQL ServerCaracteristicas Microsoft SQL Server
Caracteristicas Microsoft SQL Server
 
Libro introduccion SQL Server Express Edition 2012
Libro introduccion SQL Server Express Edition 2012Libro introduccion SQL Server Express Edition 2012
Libro introduccion SQL Server Express Edition 2012
 
Sql
SqlSql
Sql
 
Separata uni sql2008 administracion
Separata uni sql2008 administracionSeparata uni sql2008 administracion
Separata uni sql2008 administracion
 
Características SQL 2005 y SQL 2008
Características SQL 2005 y SQL 2008Características SQL 2005 y SQL 2008
Características SQL 2005 y SQL 2008
 
Diapositivas de sql server 2012
Diapositivas de sql server 2012Diapositivas de sql server 2012
Diapositivas de sql server 2012
 

Similar to Presentacion

Comparacion entre my sql y sql server
Comparacion entre my sql y sql serverComparacion entre my sql y sql server
Comparacion entre my sql y sql serverJorge Luis Tinoco
 
Sq ly oracle.tarea2
Sq ly oracle.tarea2Sq ly oracle.tarea2
Sq ly oracle.tarea2hdez7eli
 
Mysqlysqlserver
MysqlysqlserverMysqlysqlserver
Mysqlysqlserverevavivez
 
Contrastación Sql 2005 y 2008
Contrastación Sql 2005 y 2008Contrastación Sql 2005 y 2008
Contrastación Sql 2005 y 2008Luis Vázquez
 
Versiones Microsoft SQL
Versiones Microsoft SQLVersiones Microsoft SQL
Versiones Microsoft SQLLuis Vázquez
 
Comparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracleComparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracleOsmar Zaragoza
 
Que es sql server express 2008
Que es sql server express 2008Que es sql server express 2008
Que es sql server express 2008Martha
 
Base de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosBase de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosPedroJunior178
 
Analisis Comparativo
Analisis Comparativo Analisis Comparativo
Analisis Comparativo JUAN ENRIQUE
 
Sql server 2008 novedades en BI - es - tech net
Sql server 2008 novedades en BI - es - tech netSql server 2008 novedades en BI - es - tech net
Sql server 2008 novedades en BI - es - tech netSalvador Ramos
 

Similar to Presentacion (20)

Comparacion entre my sql y sql server
Comparacion entre my sql y sql serverComparacion entre my sql y sql server
Comparacion entre my sql y sql server
 
Oracle vs. sql server terminado
Oracle vs. sql server   terminadoOracle vs. sql server   terminado
Oracle vs. sql server terminado
 
Oracle vs. sql server terminado
Oracle vs. sql server   terminadoOracle vs. sql server   terminado
Oracle vs. sql server terminado
 
Tarea 1 bd
Tarea 1 bdTarea 1 bd
Tarea 1 bd
 
Sq ly oracle.tarea2
Sq ly oracle.tarea2Sq ly oracle.tarea2
Sq ly oracle.tarea2
 
Exposicion_Terabyte.pptx
Exposicion_Terabyte.pptxExposicion_Terabyte.pptx
Exposicion_Terabyte.pptx
 
Sql 130225113404-phpapp02
Sql 130225113404-phpapp02Sql 130225113404-phpapp02
Sql 130225113404-phpapp02
 
Mysqlysqlserver
MysqlysqlserverMysqlysqlserver
Mysqlysqlserver
 
Contrastación Sql 2005 y 2008
Contrastación Sql 2005 y 2008Contrastación Sql 2005 y 2008
Contrastación Sql 2005 y 2008
 
Versiones Microsoft SQL
Versiones Microsoft SQLVersiones Microsoft SQL
Versiones Microsoft SQL
 
Sql
SqlSql
Sql
 
Lab 01 badestra
Lab 01 badestraLab 01 badestra
Lab 01 badestra
 
Microsoft SQL SERVER
Microsoft SQL SERVERMicrosoft SQL SERVER
Microsoft SQL SERVER
 
Comparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracleComparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracle
 
Que es sql server express 2008
Que es sql server express 2008Que es sql server express 2008
Que es sql server express 2008
 
SEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptxSEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptx
 
Base de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosBase de Datos Grupo Los Informaticos
Base de Datos Grupo Los Informaticos
 
Sql server
Sql serverSql server
Sql server
 
Analisis Comparativo
Analisis Comparativo Analisis Comparativo
Analisis Comparativo
 
Sql server 2008 novedades en BI - es - tech net
Sql server 2008 novedades en BI - es - tech netSql server 2008 novedades en BI - es - tech net
Sql server 2008 novedades en BI - es - tech net
 

Presentacion

  • 1. UNIVERSIDAD NACIONAL JOSÉ FAUSTINO SANCHEZ CARRIÓN FACULTAR DE INGENIERÍA E.A.P. DE INGENIERÍA DE SISTEMAS TEMA : SQL SERVER CURSO : Teoría y Diseño de Base de Datos DOCENTE : Claros Vázquez EQUIPO: •Ortiz Pimentel, Rosmel. •Elías More , Ever. •Reyes Sánchez, Mario. •Muñoz Quispe, Javier.
  • 2. 1. INTRODUCCIÓN •Versiones •Ediciones •Plataforma SQL SERVER 2005 •Entorno de desarrollo del SQL SERVER 2005 2. CREAR UN BASE DE DATOS •De manera grafica: Tablas y relaciones •Migración Del ERwin de forma Native •Migración Del ERwin en forma ODBC 3. CREACION DE UNA REPLICA . REPLICACION TRANSACIONAL 4. EXPORTAR E IMPORTAR BASES DE DATOS •Adjuntar una base de datos •Exportar una BD de SQL SERVER a ACCES •Importar una BD de ACCES a SQL SERVER 2005 5. . LOGIN •Diferentes niveles de acceso a NIEVEL DE SQL SERVER 6. BACKUP Y RESTAURACION DE BASE DE DATOS •Adjuntar base de datos •BackUp manual •BackUp automático con un plan de mantenimiento 7. PROCEDIMIENTOS ALMACENADOS 8. TRIGGERS
  • 3. SISTEMA DE GESTION DE BASE DE DATOS OBJETIVOS: oAbstraer la información acerca de cómo se almacenan físicamente los datos. oMantener la independencia entre la vista física y lógica de los datos. oMantener la mínima redundancia, dado que los diseños de bases de datos que soportan (el modelo relacional) no son propensos a representar información repetida. oAsegurar la consistencia de la información. oProveer seguridad ante usos malintencionados, ataques, robos de información, etc. oAsegurar la integridad de los datos almacenados. oProveer mecanismos de respaldo y recuperación oRegular y controlar la concurrencia de usuarios. oProveer buen tiempo de respuesta.
  • 4. REGLAS  Debe utilizar sus capacidades relacionales con el pro pósito de gestionar la base de datos.  Toda la información contenida en una base de datos relacional (BDR) se representa explícitamente en el nivel lógico de una manera exacta: con valores en tablas.  Regla del acceso garantizado.  Tratamiento sistemático de valores nulos.  Catálogo dinámico en línea basado en el modelo relacional.  Regla del sublenguaje de datos completo.  Regla de actualización de vistas.  Regla de inserción, actualización y borrado de alto nivel.  Regla de independencia física de datos.  Regla de independencia lógica de datos.  Regla de independencia de integridad.  Regla de independencia de distribución.  Regla de la no-subversión.
  • 5. ¿QUE ES SQL SERVER?  Es un sistema de gestión de base de datos relacionales basado en el lenguaje Transact-SQL, y específicamente en Sybase IQ, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea, así como de tener unas ventajas que más abajo se describen.  Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, Sybase ASE, PostgreSQL, Interbase, Firebird o MySQL.
  • 6. HISTORIA DEL SQL SERVER Versión Año Nombre de la versión Code Name 1.0 (OS/2) 1989 SQL Server 1.0 - 4.21 (NT) 1993 SQL Server 4.21 - 6.0 1995 SQL Server 6.0 SQL95 6.5 1996 SQL Server 6.5 Hydra 7.0 1998 SQL Server 7.0 Sphinx 1999 SQL Server Herramientas OLAP Platón 8.0 2000 SQL Server 2000 Shiloh 8.0 2003 SQL Server 2000 para 64 bits Liberty 9.0 2005 SQL Server 2005 Yukon 10.0 2008 SQL Server 2008 katmai
  • 7. SQL Server tuvo sus orígenes en acuerdos comerciales entre las empresas Microsoft, IBM, Sybase y Ashton-Tate.  Con la finalidad de ubicarse rápidamente en una posición competitiva, en 1986 Microsoft se asoció con Sybase Inc., que ya tenía un producto corriendo en UNIX que se encontraba muy bien conceptuado en el mercado.  En 1988, Microsoft se asoció con Ashton-Tate y anunció un nuevo producto: Ashton-Tate/Microsoft SQL Server. La idea era escalar Dbase con el fin de crear una versión cliente/servidor que permitiera utilizar su lenguaje de consultas para crear aplicaciones que se comunicaran con SQL Server.
  • 8. En 1989, surgió la primera versión de SQL Server para OS/2 bajo el nombre Ashton-Tate/Microsoft SQL Server 1.0.  En 1991, Microsoft ya estaba trabajando en Windows NT (que originalmente sería lanzado como OS/2 3.0 por su asociación con IBM), basado en la interfaz de programación de aplicaciones API Win32 (Application Programming Interfase).  La siguiente versión de SQL Server, la 6.0, se liberó al mercado en 1995. Este pro- ducto ya trabajaba elementos clave, como la duplicación y los cursores, que daban la posibilidad de trabajar registros uno a uno.
  • 9. La versión 6.5, liberada en abril de 1996, incluía más facilidades de uso, la certificación ANSI-SQL, más posibilidades a las transacciones distribuidas, y tuvo en cuenta la creciente demanda de almacenes de datos.  Durante el trancurso del año 1995, Microsoft comenzó a desarrollar un nuevo procesador de consultas al que se le sumó el de OLE DB. El producto fue liberado en enero de 1999 como la versión 7.0.
  • 10. SQL SERVER 7.0 INNOVACIONES  La primera base de datos en escalar desde la computadora portátil hasta la empresa utilizando la misma base de código y ofrecer el 100% de compatibilidad de código.  Primera base de datos con OLAP integrado.  La primera base de datos en proveer administración de multiservidor para cientos de servidores.
  • 11. OBJETIVOS DEL PROCESO  Arquitectura RDBMS  Datos distribuidos y replicación  Integración Internet y correo electrónico  Gestión y administración centralizada de bases de datos  Mejoras en programabilidad y lenguaje
  • 12. SQL SERVER 2000 INNOVACIONES  Proporciona el procesamiento transaccional online a gran escala, el Business Intelligence y las aplicaciones de comercio-e.  Mejora significativamente las capacidades del componente de Servicios OLAP introducido en la versión 7.0 de SQL Server.  Los Servicios de Análisis introducen el datamining, que se puede emplear para descubrir información en cubos OLAP y en bases de datos relacionales.
  • 13. NOVEDADES Novedades de Microsoft SQL Server 2000 Novedades de los Servicios de Análisis  Mejoras de la base de datos relacional Mejoras de cubos  Integración XML de Datos Relacionales Mejoras de Dimensión  Mejoras de la Administración Gráfica Mejoras de Data Mining  Mejoras de Replicación Mejoras de Seguridad  Mejoras de los Servicios de Transformación de Mejoras de Conectividad del Cliente en el Datos Servicio PivotTable®  Mejoras de los Servicios de Análisis Otras mejoras  Mejoras de los Servicios de Metas  Mejoras de English Query Novedades de los Servicios de Metas  Mejoras de Documentación Mejoras del Navegador de Metas Mejoras de la codificación de XML Mejoras de programación del motor de repositorio Mejoras del modelo de motor de repositorio
  • 14. SQL SERVER 2005 INNOVACIONES  Soporte para varios procesadores, RAID y balanceo de carga de trabajo  Particionado de bases de datos para soportar bases de datos muy grandes  Operaciones de indexado paralelas  Mirroring (espejado) de bases de datos para proveer protección ante fallos y redirección automática de clientes  Optimización automática de bases de datos, herramientas de administración sencillas y herramientas de desarrollo avanzadas  Servicios de autenticación, auditoría y autorización avanzados  Encriptación avanzada de datos  Servicio de revisión de buenas prácticas de programación  Integración con Microsoft Baseline Security Analizer  Integración con Microsoft Update  Soporte de consultas recursivas, manejo de errores y nuevos tipos de datos  Integración con .NET
  • 15. SQL SERVER 2005 CARACTERISTICAS DE ADMINISTRACION DE BASE DE DATOS  Mirroring de Bases de Datos  Operaciones de Indexación Online  Nuevas herramientas integradas  Aislamiento de Imágenes (SI)  Particionado de Datos  Backups duplicados (“mirrored backup”)  Restauración online  Recuperación rápida  Conexión de Administrador dedicada  Mejoras en la Replicación
  • 16. SQL SERVER 2005 CARACTERISTICAS DE DESARROLLO  Soporte para .NET Framework  Tecnologías XML  ADO.NET Versión 2.0  Mejoras en Transact-SQL  Gestor de Servicio SQL  Servicios de Notificación  Servicios Web  Soporte para Xquery  Mejoras en la Búsqueda de Texto Completo  Mejoras en Seguridad
  • 17. SQL SERVER 2005 CARACTERISTICAS DE INTELIGENCIA DE NEGOCIOS  Servicios de Análisis  Servicios de Transformación de Datos (DTS)  Data Mining  Servicios de Reporting  Soporte de Servicios de Análisis en Cluster  Indicadores de Rendimiento Principales  Escalabilidad y Rendimiento  Cubo en un solo click  Mejoras en la Arquitectura  Integración con los informes de Office System
  • 19. Microsoft SQL Server es una plataforma de base de datos y análisis de datos para aplicaciones OLTP. Para diseño, creación y administración de data werehouses, y para aplicaciones de comercio electrónico. SQL Server Management Studio Plataforma SQL Server
  • 20. Microsoft SQL Server Management Studio Entorno de desarrollo Servidores Barras de registrados herramientas Explorador de Página del objetos resumen de objeto Principales Ventanas El SQL Server Management Studio es un entorno integrado para acceder, configurar, administrar y manejar todos los componentes de SQL Server 2005.
  • 21. MODELADORES DE BASE DE DATOS LICENCIADA: •ERWIN Data Modeler 7.3 •Sybase Power Designer 15.1 •Rational Rose 2007 •XCase 6.0 •Bainsoft BDB Professional Edition 3.6 GRATUITA: •DBDesigner 4.0.5.6
  • 22. Archivos de una base de datos en SQL Server: Archivo primario (.mdf) Archivos secundarios (.ndf) Archivos de registro de transacciones (.ldf)
  • 23. Migrar de Erwin a SQL Server 2005 de forma ODBC
  • 24. Migrar de Erwin a SQL Server 2005 de forma NATIVE
  • 25. La réplica es un conjunto de tecnologías destinadas a la copia y distribución de datos y objetos de base de datos desde una base de datos a otra, para luego sincronizar ambas bases de datos y mantener su coherencia. La réplica permite distribuir datos a diferentes ubicaciones y a usuarios remotos o móviles mediante redes de área local y de área extensa, conexiones de acceso telefónico, conexiones inalámbricas e Internet. DEMO_05
  • 26. Introducción a la replicación  Publicador: Servidor que pone los datos a disposición de otros servidores su replicación.  Distribuidor: Servidor que aloja la base de datos de distribución (distribution) y almacena los datos históricos, transacciones y metadatos a replicar.  Suscriptor: Servidor que recibe los datos replicados.  Publicación: Conjunto de artículos de una base de datos que se ponen a disposición de la replicación por parte de los publicadores.  Artículo: Un artículo de una publicación puede ser una vista, procedimiento almacenado, etc. o una tabla de datos la cual puede contar con todas las filas o algunas (filtrado horizontal) y simultáneamente contar de todas las columnas o algunas (filtrado vertical).  Suscripción: Petición de copia de datos o de objetos de base de datos para replicar. Una suscripción define qué publicación se recibirá, dónde y cuándo.  Pueden ser: ○ Suscripciones de inserción: El Publicador solicita la sincronización o distribución de datos de una suscripción. ○ Suscripciones de extracción: El Suscriptor solicita la sincronización o distribución de datos de una suscripción.  Agentes de replicación: Procesos encargados de la copia de datos entre el publicador y el suscriptor.  Existen los siguientes agentes: ○ Agente de Instantáneas ○ Agente de distribución ○ Agente del lector de registro ○ Agente del lector de cola ○ Agente de mezcla TELEVISIÓN DIGITAL
  • 27. Agentes de replicación  Agente de instantáneas: El agente de instantáneas es el encargado de crear la instantánea inicial de la base de datos de publicación y de almacenarla en una carpeta compartida del distribuidor. El agente de instantáneas pone una marca en el registro de transacciones para indicar la hora de la instantánea. El agente lector de registros usa esta marca para determinar las transacciones que deben copiarse para actualizar la instantánea en los suscriptores.  Agente lector de registros: El agente lector de registros supervisa el registro de transacciones para la base de datos de publicación y copia transacciones nuevas en la base de datos de distribución.  Agente de distribución: El agente de distribución inicializa una copia de la base de datos de publicación en cada suscriptor mediante la instantánea inicial. A partir de este momento, el agente de distribución copiará periódicamente las transacciones almacenadas en la base de datos de distribución y las aplicará a la copia de la base de datos de publicación de cada suscriptor para mantener la base de datos actualizada.  Agente del lector de cola: Aplica los cambios de una cola y los aplica a múltiples suscriptores  Agente de mezcla: Combina los cambios de sitios múltiples en entornos heterogéneos
  • 28. El Modelo de replicación en Microsoft Sql server 2005 Publicador Suscriptor Mantiene las Recibe los bases de datos cambios de de origen los datos. Distribuidor Alberga una Facilita los copia de los datos Para su Almacena los datos. duplicación metadatos , el historial y, recibe y almacena los cambios. Es posible reenviar los cambios a los suscriptores.
  • 29. Nuevos tipos de replicación Los datos pueden ser publicados desde una base de datos Oracle a una Replicación Heterogénea base de datos SQL Server usando replicación transaccional o instantánea. Replicación Transaccional Los datos pueden ser replicados entre múltiples peer servers. Datos a Peer-to-peer todos los servidores pueden ser actualizados y todos los servidores reciben los cambios hechos a los otros servidores. Para simplificar las replicaciones a través de un firewall o para mobile Replicación HTTP users, ha sido introducida la replicación sobre HTTP o HTTPS. Esto transmite datos en formato XML entre un suscriptor y el IIS, y usa formato binario sobre TCP/IP entre IIS y el publicador.
  • 30. Modelo de replicación transaccional
  • 31. Información general de la replicación transaccional Normalmente, la replicación transaccional se inicia con una instantánea de los datos y los objetos de la base de datos de publicaciones. En cuanto se obtiene la instantánea inicial, los posteriores cambios de datos y modificaciones del esquema realizado en el publicador habitualmente se entregan en el suscriptor cuando se producen (casi en tiempo real). Los cambios de datos se aplican al suscriptor en el mismo orden y dentro de los mismos límites de la transacción que cuando se produjeron en el publicador. Por tanto, en una publicación, se garantiza la coherencia transaccional.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37. Tipos de autentificación en SQL Server Tipos de autentificación en SQL Server: 1. Autentificación integrada de Windows. 2. Autentificación SQL Server Autentificación: Es básicamente el proceso de determinar que alguien es realmente quien dice ser.
  • 38. Proceso de autentificación en SQL Server Servidor Windows Servidor SQL Cuenta de usuario Windows login name SISTEMAS SISTEMAS Ventas dbo Producción login name 123 administrador Personal
  • 39. Terminología de Seguridad Principal: Un principal es cualquier identidad autenticada que puede tener permisos de acceso a un objeto en un sistema de base de datos. Securable: Los Securables son recursos a los cuales el sistema de autorización de SQL Server controla el acceso. Permisos: Los Permisos son las reglas que gobiernan el nivel de accesos que los principals tienen para los asegurables. Permisos Principal Securable
  • 40. Incluyen: Logins HTTP endpoints Certificados Notificación de evento Bases de datos Niveles Incluyen: Cuenta de usuario Usuarios local Windows Roles Cuenta de usuario de Aplicación de roles dominio Windows Ensambles Grupo Windows Tipos de mensajes Contratos de Servicio SQL Server login Servicios SQL Server role Catálogos Full-text Eventos DDL Schemas Usuario de base de datos Rol de base de datos Incluyen: Grupo de base de Tablas datos Vistas Rol de la aplicación Funciones Procedimientos Colas Tipos Reglas Defaults Sinónimos Agregados
  • 41. Asegurable Permiso Descripción CONNECT_SQL Conecta al servidor. Server CREATE LOGIN Crea un login. ALTER ANY LOGIN Altera cualquier login en el rango del servidor. CONTROL SERVER Control completo de administración del sistema. ALTER Altera el login. Login IMPERSONATE Impersonar el login. CREATE TABLE Crea una tabla en la base de datos. Base de Datos ALTER ANY USER Altera cualquier usuario en la base de datos. CONTROL Control completo de la base de datos. Usuario ALTER Altera el usuario especificado. SELECT Selecciona rows para cualquier objeto en el schema. Schema ALTER Altera cualquier objeto en el schema. TAKE OWNERSHIP Toma propiedad del schema. SELECT Selecciona rows de la tabla. Tabla ALTER Altera la tabla. CONTROL Control total de la tabla.
  • 42. ROLES FIJOS DE SERVIDOR ROL DESCRIPCIÓN PERMISOS dbcreator Creadores de base de datos Crear y modificar las base de datos serveradmin Administradores del servidor Cambiar las opciones de configuración del servidor sysadmin Administradores del sistema Ejecutar cualquier tarea en el servidor SQL segurityadmin Administradores de seguridad Administrar logins
  • 43. ROLES FIJOS DE BASE DE DATOS ROL DESCRIPCIÓN PERMISOS db_owner Dueños de la base de datos No tiene restricciones db_backuperator Ejecutores de copias de seguridad Obtener copias de seguridad db_ddladmin Ejecutores de declaraciones DDL Ejecutar cualquier declaración DDL db_reader Lectores de datos Leer el contenido de la tabla o vista db_writer Escritores de datos Puede modificar los datos de las tablas db_denyreader Sin acceso de lectura No puede eer el contenido de la tabla o vista db_denywriter Sin acceso a escritura No puede eer el contenido de la tabla o vista
  • 44. TRANSACT - SQL ELEMENTOS: Lenguaje de Manipulación de Datos (DML)  SELECT  INSERT  UPDATE  DELETE Lenguaje de Definición de Datos (DDL)  CREATE  ALTER  DROP Lenguaje de Control de Datos (DCL) Usado para cambiar los permisos o roles asociados con un usuario de la BD.  GRANT  DENY  REVOKE
  • 45. VIEWS, FUNCTIONS, STORED PROCEDURES, TRIGGERS Viistas, Funciones, Procedimientos Almacenados, Disparadores
  • 46. VISTAS: Es un objeto de la base de datos que almacena una consulta predefinida. Muestra la instrucción con la que se creó la vista Combinación de vistas
  • 47. PROCEDIMIENTO ALMACENADO: Son instrucciones pre compiladas. Necesita ser invocado Un Store Procedure también puede llamar a otro Store Procedure, así como aceptar entradas y devolver múltiples valores al procedimiento llamado en forma de parámetros de salida. Proporciona un mecanismo de seguridad. Puede ser compartida con otras aplicaciones. VEREMOS: •PROCEDIMIENTO ALMACENADO SIN PARAMETROS •PROCEDIMIENTO ALMACENADO CON PARAMETROS •PROCEDIMIENTO ALMACENADO QUE RECIBE Y ENTREGA PARAMETROS
  • 49. PROCEDIMIENTO ALMACENADO CON PARAMETROS: Muestra los datos del cliente con código “X”
  • 50. PROCEDIMIENTO ALMACENADO QUE RECIBE Y ENTREGA PARAMETROS: Muestra el total por el documento “X” EJEMPLO: Calcular el ranking de los “N” productos más vendidos. N seria el parámetro que se le entrega al procedimiento
  • 51. FUNCIONES DEFINIDAS POR EL USUARIO: Es una porción encapsulada de código que puede ser reutilizada por diferentes programas. Puede tener cero, uno o más parámetros de entrada y puede retornar un valor escalar o una tabla. F. Deterministicas Ejm. COS() F. No Deterministicas Ejm. VEREMOS: GETDATE() •FUNCIÓN CON VALORES ESCALARES •FUNCIÓN DE TABLA EVALUADA MULTISENTENCIA •FUNCIÓN TABLA EVALUADA EN LÍNEA
  • 52. FUNCIÓN CON VALORES ESCALARES Retorna un resultado con un valor escalar. Similar a las funciones estandar del sistema.
  • 53. FUNCIÓN DE TABLA EVALUADA MULTISENTENCIA Retorna una tabla construida a base de una o mas sentencias. Puede ser referenciado en la clausula FROM se una sentencia SELECT.
  • 54. FUNCIÓN TABLA EVALUADA EN LÍNEA Retorna una tabla que es resultado de la ejecución de una sola sentencia SELECT.
  • 55. TRIGGER: Se ejecuta automaticamente sobre objetos de una base de datos cuando una aplicacion produce algún cambio en los mismos EXISTEN 2 TIPOS: Lenguaje de Manipulación de Datos (DML): Se ejecutan con las intrucciones : • INSERT • UPDATE o • DELETE. Lenguaje de Definición de Datos (DDL): se ejecutan cuando se crean, alteran o borran objetos de la base de datos.
  • 56. TRIGGER DML Se ejecuta automáticamente cuando se produce una modificación en el contenido de la tabla. TIPOS DE TRIGGER DML  Trigger AFTER Se ejecutan después que una acción INSERT, UPDATE o DELETE es ejecutada. Solo se puede especificar para tablas. •INSERT AFTER •DELETE AFTER •UPDATE_AFTER  Trigger INSTEAD OF Se pueden definir sobre vistas que tienen una o más tablas subyacentes. SINTAXIS: CREATE TRIGGER <nombre del Trigger> ON <nombre de la tabla> AFTER <INSERT,DELETE,UPDATE> AS <sentencias SQL>
  • 57. TRIGGER DML: EJEMPLO INSERT AFTER: Re-calcula y actualiza el monto de una factura cada vez que se inserta un detalle para dicha factura. CREATE TRIGGER tg_insert_DetalleFactura ON detalle AFTER INSERT AS DECLARE @fact int DECLARE @suma money SET @fact =(SELECT id_factura FROM inserted) SET @suma =(SELECT SUM(precio_unitario*cantidad) FROM detalle WHERE detalle.id_factura= @fact) UPDATE factura SET monto_factura=@suma WHERE id_factura= @fact
  • 58. TRIGGER DML: EJEMPLO INSERT AFTER: Re-calcula y actualiza el monto de una factura cada vez que se inserta un detalle para dicha factura. PARA PROBARLO: INSERT INTO factura VALUES (3, ‟22/01/2010‟, „Pepito Pérez‟ , NULL) INSERT INTO detalle VALUES (3, 101, 14 ,100) INSERT INTO detalle VALUES (3, 102, 18 ,100) INSERT INTO detalle VALUES (3, 102, 20 ,100) INSERT INTO detalle VALUES (3, 103, 25 ,100) INSTEAD OF:
  • 59. TRIGGER DDL Se ejecuta en respuesta a la ejecución de una sentencia DDL. SE USA CUANDO: • Se desea registrar o impedir cambios en el esquema de la base de datos. • El propósito principal es auditar acciones realizadas en una base de datos. EJEMPLO: CREATE TRIGGER tg_seguridad ON DATABASE FOR DROP_TABLE, ALTER_TABLE AS PRINT 'DEBE DESHABILITAR EL DESENCADENANTE tg_seguridad PARA ELIMINAR O MODIFICAR UNA TABLA' ROLLBACK DROP TABLE detalle
  • 60. UNIVERSIDAD NACIONAL JOSÉ FAUSTINO SANCHEZ CARRIÓN FACULTAR DE INGENIERÍA E.A.P. DE INGENIERÍA DE SISTEMAS GRACIAS POR SU ATENCIÓN