SlideShare una empresa de Scribd logo
1 de 104
Microsoft   ®


                             SQL Server 2008

       Administración y programación de BD. SQL Server
                                          Por Yamil Lambert


Yamil Lambert  www.profesorlambert.com
Conceptos de BASE de DATOS
          Es un conjunto de datos pertenecientes a un
           mismo contexto y almacenados
           sistemáticamente.
          Un Conjunto de Tablas Relacionadas entre si.
          Una biblioteca puede considerarse una base de
           datos compuesta en su mayoría por
           documentos y textos impresos en papel e
           indexados para su consulta.




Yamil Lambert  www.profesorlambert.com
Tipos de Base de Datos
          Variabilidad de los Datos
               Estáticas
               Dinámicas
          Contenido
               Bibliográficas
               Texto Completo
               Directorio
               Información Biológica.


Yamil Lambert  www.profesorlambert.com
Modelos de Base de Datos
          Jerárquicas.- almacenan su información en una
           estructura jerárquica. Los datos se organizan en forma
           similar a un árbol (visto al revés).
          Red.- modificación del concepto de nodo: se permite
           que un mismo nodo tenga varios padres
          Relacional.- modelo más utilizado en la actualidad para
           modelar problemas reales y administrar datos
           dinámicamente. Su idea fundamental es el uso de
           "relaciones" entre las tablas.
          Multidimensionales, Orientadas a Objetos.




Yamil Lambert  www.profesorlambert.com
Las tablas
           Tipo de modelado de datos.
           Su estructura general se asemeja a la
            vista general de un programa de Hoja de
            cálculo, Filas y Columnas.
           Las tablas se componen de dos
            estructuras:
                Campo: Corresponde al nombre de la
                 columna. Debe ser único y además de tener
                 un tipo de dato asociado.
                Registro: Corresponde a cada fila que
                 compone la tabla.
Yamil Lambert  www.profesorlambert.com
Clave Primaria y Clave Foránea
          PK.- Campo o a una combinación de campos
           que identifica de forma única a cada fila de una
           tabla.
          Ejemplos de claves primarias son CEDULA,
           ISBN , etc.
          FK.- Es una limitación referencial entre dos
           tablas.
          La FK identifica una columna o grupo de
           columnas en una tabla (referendo) que se
           refiere a una columna o grupo de columnas en
           otra tabla (referenciada).

Yamil Lambert  www.profesorlambert.com
Modelo Entidad Relación (MER)
          Es una herramienta para el modelado de
           datos de un sistema de información.
          Expresan entidades relevantes para un
           sistema de información, sus
           interrelaciones y propiedades.
          Tablas=Entidades (Fila(s)).




Yamil Lambert  www.profesorlambert.com
MER- Correspondencia de
     cardinalidades
           Uno a uno: Una entidad de A se relaciona únicamente
            con una entidad en B y viceversa.
           Uno a varios: Una entidad en A se relaciona con cero o
            muchas entidades en B. Pero una entidad en B se
            relaciona con una única entidad en A.
           Varios a uno: Una entidad en A se relaciona
            exclusivamente con una entidad en B. Pero una entidad
            en B se puede relacionar con 0 o muchas entidades en
            A.
           Varios a varios: Una entidad en A se puede relacionar
            con 0 o muchas entidades en B y viceversa.


Yamil Lambert  www.profesorlambert.com
Integridad de Datos
          Integridad de la entidad
          Integridad Referencial
          Integridad de Dominio
               Físico
               Lógico
          Integridad definida por el Usuario




Yamil Lambert  www.profesorlambert.com
Lenguaje SQL
          Structured Query Language) es un lenguaje declarativo
           de acceso a bases de datos relacionales
          Instrucción de Definición y de Manipilación de Datos
          SQL86.- Primera publicación hecha por ANSI.
           Confirmada por ISO en 1987.
          SQL92.- Nuevo estándar ampliado y revisado del SQL.
          T-SQL, PL-SQL.- Versiones de mejoradas de los
           Motores de Base de Datos.




Yamil Lambert  www.profesorlambert.com
Taller #1
          Mostrar el Video Internet – Búsquedas
          Considerar el Problema de Google desde
           la Perspectiva de su Base de Datos e
           Indexación.
          Plantear por Grupos una Pregunta o
           Comentario




Yamil Lambert  www.profesorlambert.com
Sistemas de gestión
     de base de datos:
          DataBase Management System.
          Tipo de software muy específico,
           dedicado a servir de interfaz entre la base
           de datos, el usuario y las aplicaciones que
           la utilizan.
          Manejar clara, sencilla y ordenada un
           conjunto de datos, información relevante
           para una organización.
          Un RDBMS es un Sistema
           Administrador de Bases de Datos
           Relacionales.
Yamil Lambert  www.profesorlambert.com
¿ Qué implica esta gestión de datos?

          Implica la definición de las estructuras
           para el almacenamiento de información.
          Proveer mecanismos para la gestión de la
           información.
          Mantener la seguridad de la información
           almacenada.




Yamil Lambert  www.profesorlambert.com
Rol del Administrador B.D.
          Controlar la base de datos empresarial,
          Aconsejar y asesorar a los
           desarrolladores, usuarios y Directiva de la
           empresa.
          Una empresa cuenta con una o varias
           personas encargadas de controlar el
           sistema de base de datos (DBA)
          La Programación, control de sistema
           operativos, hardware, comunicación,
           redes, etc.
Yamil Lambert  www.profesorlambert.com
Funciones del DBA
          Diseñar y controlar la estructura de la base de
           datos.
          Supervisar la actividad sobre los datos.
          Controlar la eficacia de la base de datos.
          Preocuparse de la seguridad de los datos.
          Supervisar el estado del sistema.
          Problemas: Información que obtienen los
           usuarios y la velocidad.
          Obtener y estudiar las estadísticas del
           funcionamiento y el rendimiento.
          Supervisar la actividad que realizan los usuarios
           sobre los datos.
          Preocuparse de las nuevas actualizaciones.
          Estudiar el momento apropiado de actualizar el
           sistema o migraciones.
Yamil Lambert  www.profesorlambert.com
Microsoft SQL-Server
          Sistema de gestión de bases de datos
           relacionales basado en el lenguaje Transact-
           SQL.
          Constituye la alternativa de Microsoft como
           Motor.
          Soporte de transacciones y procedimientos
           almacenados.
          Escalabilidad, estabilidad y seguridad.
          Integración de datos con aplicaciones, incluidas
           plataformas como .NET e Internet
          Entorno gráfico de administración, que permite
           el uso de comandos DDL y DML.
          Permite trabajar en modo cliente-servidor.
          Administrar información de otros servidores de
           datos.
Yamil Lambert  www.profesorlambert.com
Microsoft SQL-Server 2008
          SQL Server 2008 es una plataforma global de
           base de datos que ofrece administración de
           datos empresariales con herramientas
           integradas de inteligencia empresarial (BI).

          El motor de la base de datos SQL Server 2008
           ofrece almacenamiento más seguro y confiable
           tanto para datos relacionales como
           estructurados, lo que le permite crear y
           administrar aplicaciones de datos altamente
           disponibles y con mayor rendimiento para
           utilizar en su negocio.

Yamil Lambert  www.profesorlambert.com
Plataforma de SQL Server 2008
          SQL Server 2008 es una parte importante de Windows
           Server System y se integra con la plataforma Microsoft
           Windows, incluidos Microsoft Office System y Visual
           Studio.




Yamil Lambert  www.profesorlambert.com
Versiones de SQL-Server 2008 (9.0)
          SQL Server 2008 Enterprise Edition.- Diseñado para
           soportar entornos de grandes transacciones
           empresariales (OTLP), gran complejidad de analisis de
           datos, datawarehouse, y Web Sites muy activas.
          SQL Server 2008 Standard Edition.- Diseñado para
           comercio electronico, datawarehouse y soluciones de
           lineas de negocio de tamaño pequeño-mediano.
          SQL Server 2008 WorkGroup Edition.- Diseñado para
           pequeñas organizaciones que necesitan una base de
           datos que no tenga limite de usuarios, también se puede
           usar para pequeños web servers.
          SQL Server 2008 Developer Edition.- Incluye las
           mismas funcionalidades de Enterprise Edition, pero esta
           licenciado para servidores de desarrollo y test, no para
           servidores productivos.
          SQL Server 2008 Express Edition.- gratuito, facil de
           usar y administrar base de datos, puede ser usado como
           cliente de base de datos en vez de servidor de base de
           datos.
Yamil Lambert  www.profesorlambert.com
Licencias del SQL-Server
          Microsoft SQL Server 2008 está disponible en
           base a tres modelos de licencias:
          Licencia de servidor más una licencia de
           acceso de cliente (CAL) por dispositivo.
           Requiere una licencia para el equipo que
           ejecuta el producto servidor de Microsoft, y una
           CAL para cada dispositivo cliente.
          Licencia de servidor más una licencia de
           acceso de cliente (CAL) por usuario.
           Requiere una licencia para el equipo que
           ejecuta el producto servidor de Microsoft, y una
           CAL para cada usuario.
          Licencia por procesador. Requiere una única
           licencia por cada CPU en el entorno de sistema
           operativo que ejecuta SQL Server. Esta licencia
           incluye un acceso ilimitado de dispositivos
           cliente.
Yamil Lambert  www.profesorlambert.com
Instalación del SQL-Server
          Requisitos de Hardware
               Pentium III o superior, 600Mhz; Recomendado 1Ghz
                o mas.
               Memoria 512MB; recomendado 1Gb o mas
               Disco con espacio de 2.1 GB (Todas las
                aplicaciones)
          Requisitos de Software.
               Windows 2000 Profesional con SP4 (No Enterprise)
               Windows Server 2000 SP4 , 2003 SP1, 2008
                (Todas)
               Windows XP con SP2 (No Enterprise)
               Windows Vista (No Enterprise)
             http://msdn.microsoft.com/es-es/library/ms143506(SQL.90).aspx
Yamil Lambert  www.profesorlambert.com
Taller #2 – Crear el MER
          Se Requiere controlar la entrada y salida
           de los docentes en sus materias
           asignadas.
          Se debe Informar al docente según su
           planificación la Materia, Paralelo, Lugar,
           Hora Entrada y Salida.
          Informar el Periodo Actual que se esta
           controlando.


Yamil Lambert  www.profesorlambert.com
Taller de Instalación de SQL-Server




                                          1   2




                                          3   4
Yamil Lambert  www.profesorlambert.com
5       6




                                          7   8
Yamil Lambert  www.profesorlambert.com
9    10




                                          11   12
Yamil Lambert  www.profesorlambert.com
Taller de Instalación de
     SQL-Server - Finalización




                                          13   14




Yamil Lambert  www.profesorlambert.com
Conectarse al Servidor
     SQL-SERVER
              Tipo de Servidor
              Nombre del Servidor (IP)
              Autenticación




Yamil Lambert  www.profesorlambert.com
SQL Server Management
     Studio
        Explorador de Objetos
             Bases de Datos
             Seguridad
             Objetos de Servidor
             Replica
             Administración
             Servicios de Notificación
        Ficha Resumen




Yamil Lambert  www.profesorlambert.com
OLTP .- Procesamiento de
     Transacciones En Línea
          Ejemplo: Las operaciones en el cajero
           automático de un banco son operaciones del
           tipo OLTP, para cada solicitud: consulta de
           saldo, retiro de efectivo, etc. el sistema
           responde inmediatamente.
          El procesamiento de los pagos de la nómina de
           una empresa no es OLTP, por que el resultado
           de este proceso no se obtiene de forma
           inmediata para cada empleado si no por el
           contrario, la respuesta a este procesamiento es
           el conjunto completo de todos los cálculos para
           el pago de la nomina.


Yamil Lambert  www.profesorlambert.com
Bases de SQLServer




Yamil Lambert  www.profesorlambert.com
Bases de Datos del Sistema y
     de Usuario
     De Sistema:
      Master.- Registra toda la información del
       sistema para una instancia de SQL Server.
      Model.- Se utiliza como plantilla para todas las
       bases de datos creadas.
      Msdb.- La utiliza el Agente SQL Server para
       programar alertas y trabajos.
      Tempdb.- Contiene objetos temporales o
       conjuntos de resultados intermedios.
          Resource.- Solo Lectura, Aparece de forma lógica en el esquema.
           mssqlsystemresource.mdf
     De Usuario:
      Northwind, AdventureWorks, Cualquier Base
       creada por el DBA.
Yamil Lambert  www.profesorlambert.com
Archivos de la Base de Datos
          Principal.- El archivo de datos principal
           (.MDF)
          Secundario.- Los archivos de datos
           secundarios son opcionales (.NDF)
          Registro de Transacciones.- contienen la
           información de registro que se utiliza para
           recuperar la base de datos. (.LDF)




Yamil Lambert  www.profesorlambert.com
Creación de una Base de Datos
          Nombre Lógico.
          Tamaño Físico Inicial.
          Crecimiento de Archivos.
          Archivos de la Base (Ruta de acceso).
          Opciones - Nivel de Compatibilidad




Yamil Lambert  www.profesorlambert.com
CREATE DATABASE
     CREATE DATABASE NOMBREBASE
     [ON { [PRIMARY]
     [, FILEGROUP NombreGrupo]
     (NAME = ArchivoLogico,
      FILENAME = ‘ArchivoFisico’
       [, SIZE=Tamaño]
       [, MAXSIZE={TamañoMax | UNLIMITED}]
       [, FILEGROWTH=IncrementoCrecimiento]
       )} [,..n] ]
     [LOG ON
     { ( NAME=ArchivoLogico
        FILENAME=ArchivoFisico
       [, SIZE=Tamaño]
       [, MAXSIZE={TamañoMax | UNLIMITED}]
       [, FILEGROWTH=IncrementoCrecimiento]
     )} [,..n] ]
     [COLLATE NombreIntercalación]
Yamil Lambert  www.profesorlambert.com
Ejemplo – CREATE DATABASE

          Crear una base denominada “Ejemplo”
           con un archivo de datos principal de 10MB
           y un archivo de registro de 3MB, ubique
           estos archivos en una carpeta
           “EjemploDB” (crear en la unidad C:)
          Tamaño máximo de 15MB al principal y
           5MB al de transacciones.
          Crecimiento 20% para el Principal y de
           1MB para el de transacciones

Yamil Lambert  www.profesorlambert.com
Adicionando y Modificando
     Archivos
     ALTER DATABASE NombreBase
     ADD FILE
     (NAME = ArchivoLogico,
      FILENAME = ‘ArchivoFisico’
       [, SIZE=Tamaño]
       [, MAXSIZE={TamañoMax | UNLIMITED}]
       [, FILEGROWTH=IncrementoCrecimiento]
     )
   Agregar un archivo de datos a la Base ejemplo
   llamado “EjemploData01” de 20MB, máximo 25MB y
   crecimiento 1MB
Yamil Lambert  www.profesorlambert.com
Grupos de Archivos
      Es una estructura Lógica, que permite
       agrupar y gestionar los archivos de datos
       como una unidad lógica.
     SINTAXIS:

     ALTER DATABASE NombreBase
     ADD FILEGROUP NombredeGrupo

   Crear un Grupo llamado “Datos” y añadir un nuevo
   archivo de datos llamado “Ejemplo02” a la base
   “Ejemplo”, (10MB, Máximo 15MB y crecimiento 1MB)
Yamil Lambert  www.profesorlambert.com
Taller para los estudiantes
          Su servidor posee cuatro discos duros C,D,E y
           F, en el cual el disco C esta almacenado
           únicamente el S.O. y el Software SQLServer,
          Crear una base llamada “Proyecto”, que; en el
           disco D esta el archivo principal, en el E los
           archivos secundarios en la cual se van a crear 2
           grupos “ProyectoDatos” para los archivos
           secundario y “ProyectoHistoria” para datos
           históricos.
          Se manejaran 3 archivos secundario, 2 de datos
           y una de Historia en la unidad E.
          En el F el archivo de transacciones.
          Se deben almacenar en una carpeta llamada
           ProyectosData en los respectivos disco.
Yamil Lambert  www.profesorlambert.com
Esquemas de la B.D.
          Es un espacio de nombres para objetos
           de la base de datos (tablas, vistas,
           Procedimientos almacenados).
          Define un limite dentro del cual todos los
           nombres son únicos.
          Su Formato:
               Servidor.basedatos.esquema.objeto.
               Versión Corta equema.objeto.
          Analizar los esquemas de la base
           AdventureWorks – Person, Sales,dbo
Yamil Lambert  www.profesorlambert.com
Creación de Esquemas
     Todas   las bases contienen un esquema
     predeterminado llamado dbo.
     Dbo. Es asignado para todos los usuario
     que no tienen ningún esquema definido
     explícitamente.
             Use NombreBaseDatos
             CREATE SCHEMA NombreEsquema

     Crear un esquema llamado Persona, y agregar la
     tabla dirección al mismo.

Yamil Lambert  www.profesorlambert.com
Instantánea de Base de Datos

          Es una vista estática de solo lectura de una BD
           en un punto especifico en el tiempo que no
           cambia después de la creación de la misma.
          La base de datos a partir de la cual se crea la
           instantánea se llama BD origen.
          Útil para pruebas, desarrollo o de informes,
           como puntos de restauración rápido en caso de
           daño. PERO No son sustitutos a las copias de
           seguridad, porque no contiene todos los
           registros de la base.
          Soportado solo en Enterprise Edition.
Yamil Lambert  www.profesorlambert.com
Creación de una Instantánea
     Taller
     Utilice           la base AdventureWorks

     CREATE DATABASE
     AdventureWorks_Snapshot1 ON
     (NAME=“AdventureWorksData”,
     FILENAME=“AW.ss
     ) AS SNAPSHOT OF AdventureWorks
     Go
     Probar con una consulta a la base original y a la instantánea; luego
     actualice a la original y compruebe los datos consultándolos.
Yamil Lambert  www.profesorlambert.com
Copias de Seguridad y
     Restauración
          El componente de copias de seguridad y
           restauración de SQL Server ofrece una
           protección muy importante para los datos
           críticos almacenados en las bases de
           datos.
          Casos Comunes:
               Errores de medios.
                Errores de usuario, por ejemplo, quitar una
                tabla por error.
               Errores de hardware, por ejemplo, una unidad
                de disco dañada o la pérdida permanente de
                un servidor.
               Desastres naturales.
Yamil Lambert  www.profesorlambert.com
Ámbito Copias de seguridad
     de datos
     El  ámbito de una copia de seguridad de datos
     puede ser la base de datos completa, parcial o un
     conjunto de archivos o grupos de archivos.
     Una copia de seguridad completa incluye todos
     los datos de una base de datos determinada o un
     conjunto de grupos de archivos o archivos.
     Una copia de seguridad diferencial se basa en la
     última copia de seguridad completa de los datos.
     Una copia de seguridad diferencial incluye sólo los
     datos que han cambiado desde la última base
     diferencial.

     Realizar una copia de seguridad y luego restaurarla en el
     mismo servidor. (Borre la base original)

Yamil Lambert  www.profesorlambert.com
Automatización backup Planes de
     Mantenimiento
     Crean   un flujo de trabajo de las tareas necesarias
     para asegurarse de que la base de datos está
     optimizada, se realizan copias de seguridad con
     regularidad y no tiene incoherencias.
     Crear sus propias secuencias de comandos
     Transact-SQL personalizadas.
     Agente SQL Server del Explorador de objetos
     sólo aparece para los miembros de la función fija
     de servidor sysadmin, este debe estar en
     ejecución.
     Crear un Plan de Mantenimiento para realizar periódicamente una copia
     de seguridad de la base datos AdventureWorks
Yamil Lambert  www.profesorlambert.com
Seguridad – Inicios de Sesión
          Un inicio de sesión define el contexto de
           seguridad en cada proceso que ejecuta.
          Los usuarios de Windows necesitan un
           inicio de sesión de SQL Server para
           conectarse.
          2 tipos (Modo Mixto)
               Autentificación de Windows
               Autenticación de Sql Server
          Funciones del Servidor
          Asignación de Usuarios
          Función Sobre la base de datos
Yamil Lambert  www.profesorlambert.com
Usuario de la Base de Datos
          Esquemas Utilizado
          Miembros de Función
          Elementos que podemos Proteger
               Tablas, Vistas y Procedimientos
                Almacenados
          Permisos: Conceder, Denegar, WITH
           GRANT.
          Hacer una Prueba con ODBC.
          Explicar la Cadena de Conexión de una
           Aplicación.
Yamil Lambert  www.profesorlambert.com
Seguridad de una Base de
     Datos
          La información es uno de los activos más importantes de
           las entidades.
          Hace unos años era más fácil, con arquitecturas
           centralizadas y terminales no inteligentes
          Hoy en día los entornos son realmente complejos, con
           diversidad de plataformas y proliferación de redes.
          La disponibilidad: se cumple si las personas autorizadas
           pueden acceder a tiempo a la información.
          En administración de seguridad pueden existir
           coordinadores en las diferentes áreas funcionales.
          Los hacker, que intenta acceder a los sistemas más
           para demostrar de que es capaz de superar las barreras
           de protección.
     http://geeks.ms/blogs/ozonicco/pages/principios-utilizados-en-la-seguridad-de-base-de-datos-y-de-
            redes.aspx
Yamil Lambert  www.profesorlambert.com
Objetos de la Base
          Diagramas
          Tablas (Sistema y Usuario)
          Vistas (Sistema y Usuario)
          Sinónimos
          Programación
               Procedimientos
               Funciones
               Desencadenadores
               Tipos
               Reglas
               Valores Predeterminados
          Seguridad
               Usuario / Funciones y Esquema
Yamil Lambert  www.profesorlambert.com
Tipos de Datos
          Limitar el almacenamiento en una columna;
           rangos de valores.
          Correcta selección del tipo dato sea carácter,
           enteros, binarios, fechas etc.
          Objetos que tienen tipos de datos
               Columnas en Tablas y Vistas
               Parámetros en Procedimientos Almacenados
               Variables
          Los Cuatro atributos de un Objeto
               La clase o tipo de datos
               Longitud o su tamaño
               Precisión (Solo numéricos) smallint, 5 dígitos,
                precisión de 5.
               Escala (Solo numéricos) Números de dígitos de la
                parte decimal. Int =Escala 0; Money=Escala max 4.
Yamil Lambert  www.profesorlambert.com
Tipos de Datos - 7 Categorías
         Numero Exacto                      Fecha y Tiempo
               Bigint                           DateTime
               Int
               Smallint
                                             Carácter
               Decimal(p,s)
                                                 Char() Tamaño Fijo
               Numeric(p,s)
                                                 Varchar() Tamaño Variable
               Bit                              Text (2GB)
         Numero Aproximado                  Binario
               Float                            Binary(n)
               Real                             Image
         Monetario                          Propósito General
               Money                            Timestamp
               Smallmoney                       XML


Yamil Lambert  www.profesorlambert.com
Tipos de Datos Definidos por Usuario
      Crear nuestros propios tipos de datos
      Tipo de datos personalizado.
      Para una base de datos concreta.
      Nombre Único.

     CREATE TYPE [ schema_name. ] type_name { FROM
           base_type [ ( precisión [ , scale ] ) ] [ NULL | NOT NULL ]
           | EXTERNAL NAME assembly_name [ .class_name ] |
           AS TABLE ( { <column_definition> |
           <computed_column_definition> } [ <table_constraint> ]
           [ ,...n ] ) } [ ; ]
     Crear el tipo “CodigoPostal” como varchar(5) y un Texto de
           100; usando TSQL y Management Studio
Yamil Lambert  www.profesorlambert.com
Creación de TABLAS
          Colección de Columnas / Campos
          Cada Fila representa una registro.

     CREATE TABLE [ database_name . [ schema_name ] . |
        schema_name . ] table_name
        ( { <column_definition> | <computed_column_definition>                  |
             <column_set_definition> }       [ <table_constraint> ] [ ,...n ] )
         [ ON { partition_scheme_name ( partition_column_name ) |
        filegroup | "default" } ]
         [ { TEXTIMAGE_ON { filegroup | "default" } ] [ FILESTREAM_ON
        { partition_scheme_name | filegroup | "default" } ] [ WITH
        ( <table_option> [ ,...n ] ) ] [ ; ]



Yamil Lambert  www.profesorlambert.com
Taller Creación de Tablas
          Usando TSQL Crear
               Persona (Codigo,Nombre,Apellido,Genero)
               Empleado
                (Codigo,Nombre,Apellido,Direccion,Genero,
                Sueldo,FechaNacimiento,Foto,Estado)
               Estudiante (temporal)
          Verificar la creación del Objeto sys.object
           y sp_help
          Usando Management Studio Crear La
           tabla Producto
           (Código,Descripción,Precio,Cantidad,
           Fecha,Estado).
Yamil Lambert  www.profesorlambert.com
Tipos de Columnas
          Columnas Calculadas.- Columna Virtual que no
           se almacena físicamente en la tabla
          Columnas de Identidad (Identity) .- Valores
           secuenciales generados por el sistema que
           identifican cada fila.
          Columnas Uniqueidentifier .- se utiliza con la
           función newid(), Numero identificador unico
           como cadena bynaria (GUID) Globally Unique
           Identifier.

     Hacer un ejemplo de cada una usando TSQL.

Yamil Lambert  www.profesorlambert.com
Modificación de Tablas
     Modificar la estructura de una tabla con:
       ALTER TABLE.
     Podemos:
      Añadir o eliminar Campos
      Cambiar el tipo de dato a los campos
      Cambiar el Nombre a los campos
      Modificar Longitud o tamaño (Numérico o Texto)
      Agregar o modificar sus propiedades.
           ALTER TABLE table_name
           { [ALTER COLUMN column_name]
              | ADD { <column_definition>
                        columna tipoDeDato { [NULL - NOT NULL]
                | DROP COLUMN column_name } [ ,...n ]
     Hacer un ejemplo de algunos escenarios citados.
Yamil Lambert  www.profesorlambert.com
Integridad de Datos
     Dos cosas importantes en el diseño de las
       tablas:
      Identificación de valores validos para una
       columna.
      Determinar como forzar la integridad de
       los datos en la columna.
     Categorías:
               Entidad (Filas)
               Dominio (Físico y Lógico) (Columnas)
               Referencial (Entre Tablas)
Yamil Lambert  www.profesorlambert.com
Integridad de Datos
          Entidad.- Todas la filas de una tabla
           tengan un identificador único; conocido
           como clave principal o PK.
          Dominio.- Conjunto de valores de datos
           que son validos para una columna
           determinada además de valores nulos o
           no.
          Referencial.- Mantener las relaciones
           entre las claves principales y las claves
           externas.
               Agregar o Cambiar Filas (Ninguna fila)
               Cambiar Valores (Filas Huérfanas)
               Eliminar Filas (Existen Filas Relacionadas)
Yamil Lambert  www.profesorlambert.com
Restricciones o Constraints
          Métodos estándar ANSI para exigir la integridad de
           los datos.
          Usados en Integridad de Datos (dominio, entidad y
           referencial).
         Tipo                Constraint                     Descripción
   Dominio            DEFAULT             Valor Predeterminado, cuando un “insert” no
                                          proporciona ningún valor.-
                      CHECK               Datos aceptados en una columna
                                          (No reglas).
                      FOREIGN KEY         Valores aceptables para la actualización;
                                          columna de otra tabla.
   Entidad            PRIMERY KEY         Identifica cada fila de manera única.
                      UNIQUE              Impide la duplicación de claves alternativas no
                                          principales
   Referencial        FOREIGN KEY         Columna (s) que coinciden con la PK de la
                                          misma tabla o otra conocida como FK.
                      CHECK               Datos aceptados en una columna basándose
                                          en otras de la misma tabla.
Yamil Lambert  www.profesorlambert.com
Constraint DEFAULT – CHECK Y
     PRIMARY KEY
          Valores Predeterminados
          Validaciones
          Clave Principal
     CREATE TABLE Nombre (
         {<Columnas> | <RestriccionTabla>} [,..n])
         <definicionColumna> ::={NombreColumna Tipo}
         [ {DEFAULT Expresión} ]
         [ <restriccionColumna> [..n] ]
         <restriccionColumna>::=
         [ CONSTRAINT NombreRestriccion
         { [ NULL | NOT NULL ]
         | [ PRIMARY KEY | UNIQUE]
         | [ REFERENCES TablaRef [(ColumnaRef) ] ]}

     ALTER TABLE NombreTabla
         [ADD CONSTRAINT NombreRestriccion] [DROP CONSTRINT Nombre Restriccion]
         DEFAULT <ValorPredeterminado>
         CHECK <Expresión>
         PRIMARY KEY [CLUSTERED | NONCLUSTERED] {(Columna [,…n])}
         FOR NombreColumna
     Hacer Taller para cada una.
Yamil Lambert  www.profesorlambert.com
Constraint UNIQUE
          Dos Filas de una columna no pueden tener el
           mismo valor.
          Ya se tiene Clave Principal PK.
          Otros Identificadores sean Únicos como:
               Cedula.
               Matricula de Carro.
               Permiso de Conducir.
               Numero de Cotización.
          Especificar CLUSTER o NONCLUSTER
     ALTER TABLE NombreTabla
        [ADD CONSTRAINT NombreRestricción]
         - DROP CONSTRINT NombreRestricción]
        UNIQUE CLUSTER - NONCLUSTERED (columna[,..n])
     Crear una tabla con un UNIQUE en sus columnas, luego use ALTER
         TABLE.
Yamil Lambert  www.profesorlambert.com
Constraint FOREIGN KEY
          Es una clave o combinación de columnas
           que se utiliza para establecer y exigir un
           vinculo entre los datos de 2 tablas.
          Esta restricción define una referencia a
           una columna con una restricción
           PRIMARY KEY o UNIQUE de la misma
           tabla o de otra.
     ALTER TABLE NombreTabla
        [ADD CONSTRAINT NombreRestriccion]
         - DROP CONSTRINT Nombre Restriccion]
        FOREIGN KEY (columna[,..n])
            REFERENCES TablaOrigen (columna[,..n])
     Hacer Taller.
Yamil Lambert  www.profesorlambert.com
Actualización y eliminaciones
     Cascada
          NO ACTION.-Se produce un error y se
           deshace la instrucción (Predeterminado)
          CASCADE.-Los valores de la clave
           Externa se actualizan o Eliminan.
          SET NULL.- Los Valores de la clave
           externa se establecen a NULL
          SET DEFAULT.- Los Valores de la clave
           externa se establecen a sus valores
           predeterminados.
     Hacer Prueba con un taller.

Yamil Lambert  www.profesorlambert.com
Diagramas de Base Datos
          Son representaciones visuales de la BD
          Representan las relaciones entre tablas
           en función de sus claves.
          Permiten Modelar y crear un Modelo
           Entidad Relación o MER.
          En SQL-Server se puede modificar los
           objetos, crear tablas y sus relaciones FK.
          Se pueden tener varios Diagramas mas
           pequeños de un MER grande.
     Taller – Crear un Diagrama de la Tablas de la base.

Yamil Lambert  www.profesorlambert.com
MER – Reservas de Libros




Yamil Lambert  www.profesorlambert.com
Sentencias Transact-SQL
                                   Programación de Base de Datos




Yamil Lambert  www.profesorlambert.com
SQL & T-SQL
      SQL.- es un lenguaje de consulta para los
       sistemas de Bases de Datos relacionales, pero
       no es un lenguaje Programación.
      SQL, no variables, estructuras de control, de
       flujo, bucles etc.
      T-SQL admite el nivel básico de implementación
       de SQL-92, estándar ANSI.
      TSQL.- podemos programar las unidades de
       programa de la BD.
                Procedimientos Almacenados
            Funciones

            Triggers

            Scripts, Etc.
Yamil Lambert  www.profesorlambert.com
T-SQL - Comentarios
          TSQL.- no es CASE-SENSITIVE, es decir
           no diferencia mayúsculas de minúsculas.
          Un comentario es una aclaración que el
           programador incluye en el código, son
           soportados 2 estilos:
                -- Comentario de una sola línea.
               /* */ Comentario de varias líneas.




Yamil Lambert  www.profesorlambert.com
Scripts y Lotes
          Script.- es un conjunto de sentencias de
           TSQL en formato texto plano que se
           ejecuta en un servidor de SQL-Server.
          GO .- comando para iniciar el envío del
           lote actual de instrucciones TSQL.
          En ocasiones en conveniente separar las
           sentencias en varios lotes.
          Si desea ejecutar cierto código TSQL,
           márquelo y ejecute con la tecla F5.
     Hacer un pequeño taller.


Yamil Lambert  www.profesorlambert.com
Identificadores
          Tenemos 2 tipos:
          Identificadores Estándar
               De 1 a 128 caracteres Máximo.
               1er carácter debe ser alfabético.
               Después del 1er carácter pueden incluir letras,
                números o símbolos.
               Si empieza con @ indica una variable o parámetro
                local.
               Si empieza con # indica una tabla o procedimiento
                temporal
               Si empieza ## indica un objeto global temporal
          Identificadores Delimitados
               Si un identificar no cumple alguna de las reglas de
                formato siempre debe estar delimitado con [ ]
Yamil Lambert  www.profesorlambert.com
Tipos de datos en TSQL
          El tipo de dato define el formato de
           almacenamiento, espacio en disco-
           memoria que va ocupar un campo o
           variable, restricciones y rango de valores
           validos.
          Los tipos de datos de los columnas en las
           tablas son los mismos para las variables o
           parámetros.
     Realizar un taller.




Yamil Lambert  www.profesorlambert.com
Variables en TSQL
          Una variable es un valor identificado por un
           nombre (identificador) sobre el que podemos
           realizar modificaciones.
          Los identificadores de una variable debe
           empezar con el carácter @.
          Para declarar variables debemos utilizar la
           palabra clave “DECLARE”, seguido del
           identificador y tipo de dato.
          La asignación de variables con:
          Instrucción SET
           

         Sentencia SELECT

     DECLARE {@variableLocal tipoDatos} [,…n]
     SET @variableLocal = expresión
     Hacer taller.
Yamil Lambert  www.profesorlambert.com
Operadores TSQL
          Aritméticos:
                 +,-,*,/,**,%
          Comparación:
               =, <>, !=, <,>,<=,>=, !>,!<
          Lógicos:
               AND, NOT, OR
          Otros:
               ALL, ANY, BETWEEN, LIKE, NOT ,
                SOME
Yamil Lambert  www.profesorlambert.com
Estructura Condicional IF
       Permite evaluar una expresión “booleana” y ejecutar
        operaciones en el bloque formado por BEGIN END.
       Sintaxis:
      IF (<expresión booleana>)
       BEGIN
           …
           { sentencias SQL o bloques de sentencias}
           …
       END
      ELSE IF
       BEGIN
           …
           { sentencias SQL o bloques de sentencias}
           …
       END
      ELSE
      BEGIN
           …
           { sentencias SQL o bloques de sentencias}
           …
Yamil END -- Realizar Taller.
      Lambert  www.profesorlambert.com
Estructura condicional CASE
          Permite evaluar una expresión y devolver
           un valor u otro.
          Sintaxis:

     CASE <expresión>
       WHEN <valorExpresión> THEN <valordevuelto>
       WHEN <valorExpresión> THEN <valordevuelto>
       ELSE <elseValorDevuelto> -- Valor por defecto
     END
     Realizar Taller.

Yamil Lambert  www.profesorlambert.com
Estructura de control WHILE
       El bucle “While” se repita mientras expresión se
        evalúe como verdadero.
      Es el único tipo de bucle que dispone TSQL.

     Sintaxis:
     WHILE Expresión_Booleana
        { sentencias SQL o bloque Sentencias}
        [BREAK]
        { sentencias SQL o bloque Sentencias}
        [CONTINUE]
        { sentencias SQL o bloque Sentencias}
     Realizar Taller.
Yamil Lambert  www.profesorlambert.com
Estructura GOTO
          La sentencia GOTO nos permite desviar
           el flujo de ejecución hacia una etiqueta
           definida “NomEtiqueta:”.
          Se usaba bastante con la variable de
           sistema @@ERROR para el control de
           errores.
          Actualmente se desaconseja su uso, y se
           recomienda TRY-CATCH para la gestión
           de errores.
     Hacer ejemplo.


Yamil Lambert  www.profesorlambert.com
Control de Errores – try catch
          Si se produce un error en el bloque TRY,
           el control se transfiere a un bloque
           CATCH.
     BEGIN TRY
     { sentencias SQL o bloque Sentencias}
     END TRY
     BEGIN CATCH
     { sentencias SQL o bloque Sentencias}
     END CATCH
     Hacer ejemplo.



Yamil Lambert  www.profesorlambert.com
Funciones especiales de Error
       ERROR_NUMBER().- Numero del Error.
      ERROR_SEVERITY().- Severidad del error.
      ERROR_STATE().- estado del error
      ERROR_PROCEDURE().- Nombre del
        procedimiento almacenado que ha provocado el
        error.
      ERROR_LINE().- Línea que se ha producido el
        error.
      ERROR_MESSAGE().- Mensaje del error.

     Ver ejemplo

Yamil Lambert  www.profesorlambert.com
Generar un error con RAISERROR

          Provocar voluntariamente un error.
          Cuando los datos incumplen una
           regla de negocio.
          RAISERROR.- recibe 3 parámetros:
               Mensaje.- Texto
               Severidad.- 0 al 25; solo podemos usar
                0 al 18, para el resto debe ser miembro
                de la función o rol sysadmin.
               Estado.- Valores entre 1 y 127.
     Ver ejemplo.
Yamil Lambert  www.profesorlambert.com
Consultar Datos – Sentencia
     SELECT
          Consultar datos almacenados en una
           tabla.
     SELECT <nombre_campo / lista_selección>
     INTO <nombre_nueva_tabla>
     FROM <nombre_tabla>
     [WHERE <condición> [AND OR <condición>]]
     [GROUP BY <nombre_campos>]
     [HAVING <condición>[AND OR <condición>]]
     [ORDER BY <nombre_campo> [ASC DESC]]
     [COMPUTE / COMPUTE BY ]
           Hacer Taller
Yamil Lambert  www.profesorlambert.com
Distinct, Top y Percent
          Distinct.- Elimina las filas duplicadas de
           los resultados.
     SELECT DISTINC <CAMPO> FROM <TABLA>

          Top.- Limitar el numero de Filas
           Devueltas.
          Percent.- se devuelve el porcentaje
           (especificado por expresión) de las filas
           del conjunto de datos.

     TOP (Expresión) [ PERCENT ]
Yamil Lambert  www.profesorlambert.com
Alias de Tablas
       La legibilidad de una instrucción SELECT
        se puede mejorar si se proporciona un
        alias para la tabla.
      Conocida como Variable de intervalo o
        nombre de correlación.
      Útil en “Join”, para identificar campos
        ambiguos.
     2 formas:
     NombreTabla as TablaAlias
     NombreTabla TablaAlias
Yamil Lambert  www.profesorlambert.com
Intervalos
     (BETWEEN Y NOT BETWEEN)
          Es una búsqueda que devuelve todos
           los valores entre dos especificados.
          Podemos tener intervalos inclusivos o
           exclusivos (Operadores <, > ).
          Podemos hacer uso del operador
           NOT.

     WHERE <CAMPO> BETWEEN <VALOR> AND <VALOR>

Yamil Lambert  www.profesorlambert.com
Listas (IN, NOT IN)
          La palabra clave IN permite seleccionar
           las filas que coincidan con alguno de los
           valores de una lista.
          Los elementos de una lista deben estar
           separados por una coma e incluidos entre
           paréntesis.

     WHERE <campo> IN (Lista)



Yamil Lambert  www.profesorlambert.com
Coincidencias de Patrón
     LIKE y NOT LIKE
        Busca valores de cadenas de caracteres
         que coincidan con un patrón determinado.
     Caracteres Comodín:
     % .- Cualquier cadena de cero o mas
         caracteres.
     _ .- Cualquier carácter
     [ ] .- Cualquier carácter individual del
         intervalo [a-z] o [abcde]
     [ ^ ] .- Cualquier carácter individual fuera del
         intervalo. [^a-z] o [^abcde]
Yamil Lambert  www.profesorlambert.com
Valores
     NULL (IS NULL e IS NOT NULL)
          NULL .- NO es cero ni espacio en blanco.
          Ausencia de Valor.
          Puede ser considerado como perdida en
           la integridad de datos.

     WHERE <CAMPO> IS NULL IS – IS NOT NULL




Yamil Lambert  www.profesorlambert.com
Cláusula GROUP BY &
     HAVING
          Agrupa un conjunto de filas seleccionado
           en un conjunto de filas de resumen..
          Devuelve una fila por cada grupo.
          Puede usar Funciones de agregación
           como SUM(), AVG(),COUNT(),
           MAX(),MIN() por grupo.
          HAVING.- especifica una condición de
           búsqueda para un grupo o agregado.
               Solo se puede usar con la cláusula GROUP
                BY
     GROUP BY <campos>
Yamil Lambert  www.profesorlambert.com
Subconsultas con Tablas
     derivadas
          Una tabla derivada se crea al utilizar una
           subconsulta en al cláusula FROM.
          Una tabla derivada es funcionalmente
           equivalente a la consulta entera.
     SELECT * FROM <SUBCONSULTA>

     Ejemplo:
     SELECT tab.salesorderid, tab.cutomerid FROM
        (SELECT salesorderid,customerid
          FROM salesorderheader) as TAB

Yamil Lambert  www.profesorlambert.com
Vistas
          Una vista es como una tabla virtual que almacena una
           consulta (SELECT).
          Almacena una consulta como un objeto para utilizarse
           posteriormente.
          Las tablas consultadas en una vista se llaman tablas
           base.
          Las vistas permiten:
               Ocultar información: permitiendo el acceso a algunos datos y
                manteniendo oculto el resto.
               El usuario opera con los datos de una vista como si se tratara de
                una tabla.
     CREATE VIEW <NombreVista>
     AS
     <sentencia SQL SELECT>
Yamil Lambert  www.profesorlambert.com
Subconsultas con Expresiones
       Utilizar en expresiones de calculo.
      La subconsulta debe producir un valor escalar o
        una lista de valores de una sola columna.
      Una lista de valores sustituye a una expresión
        en una cláusula WHERE que contiene la
        palabra clave IN.
     Ejemplo:
     SELECT Name, LisPrice,
        (SELECT AVG(ListPrice) FROM Product) as
        Promedio ,
        ListPrice - (SELECT AVG(ListPrice) FROM
        Product) as Diferencia
     FROM Product WHERE ProducLine=’T’
Yamil Lambert  www.profesorlambert.com
Subconsulta Correlacionada
       Usada en una expresión dinámica que
        cambia en cada fila de una consulta
        externa.
      Esta dividen consultas complejas en dos o
        mas consultas simples relacionadas.
     Ejemplo:
     SELECT SalesOrderID, CustomerID
     FROM SalesOrderHeader as or1
     WHERE 3 < (SELECT OrderQty FROM
        SalesOrderdetail as od WHERE
        or1.SalesOrderID=od.SalesOrderID and
        od.Product=770)
Yamil Lambert  www.profesorlambert.com
Operadores EXISTS y NOT EXISTS
       Son consultas correlacionadas
      Con el propósito de restringir el conjunto
        de resultados de una consulta externa a
        las filas que cumplen la subconsulta.
      Estos devuelve TRUE o FALSE.
     Ejemplo:
     SELECT a.firsName, a.LasName
     FROM Person as a
     WHERE EXISTS (SELECT * FROM
        Employee as b WHERE
        a.BusinessEntityID=b.BusinessEntityID
        and a.LastName = ‘Jhonson’)
Yamil Lambert  www.profesorlambert.com
Combinación de Tablas
          Recuperar datos de 2 o mas tablas según
           sus relaciones lógicas.
          Especifica una clave externa (FK) y su
           clave asociada en la otra tabla (PK).
          Se pueden usar operadores lógicos para
           comparación de la columnas (filtrar).
     Sintaxis:
     FROM <1raTabla TIPOJOIN 2daTabla>
     [ON (CondiciónJOIN)]
     TIPOJOIN.- Interior, Exterior y Cruzada
     CondiciónJOIN.- Predicado a evaluar por cada par de
        filas combinadas.
Yamil Lambert  www.profesorlambert.com
Tipos de Combinaciones
     Internas:
      INNER JOIN o JOIN.- Combinan tablas
         mediante la comparación de los valores que son
         comunes en ambas tablas (FK y PK).
     Externas
      LEFT OUTER JOIN o LEFT JOIN
      RIGHT OUTER JOIN o RIGHT JOIN
      FULL OUTER JOIN o FULL JOIN

     Cruzadas
      CROSS JOIN

     Realizar Taller.
Yamil Lambert  www.profesorlambert.com
Sentencia INSERT
      Inserta Filas en una Tabla
      Mencionamos las columnas y los valores
       de las misma:
     INSERT [INTO] Tabla [(col_list)]
       DEFAULT VALUES VALUES (DEFAULT
       NULL expresión [,..n])
      La opción DEFAULT VALUES inserta
       valores por defecto en todas las
       columnas.


Yamil Lambert  www.profesorlambert.com
Sentencia UPDATE
      Modifica los valores existentes de una
       tabla.
      Los registros se modifican de conformidad
       de la cláusula WHERE.
      Si se omita la cláusula WHERE la
       modifica todas las filas de la tabla.
     UPDATE tabla
     SET Columna= expresión DEFAULT NULL
       [,..N]
     [FROM] Tabla2 [,..n]
       [WHERE Condición]
Yamil Lambert  www.profesorlambert.com
Sentencia DELETE &
     TRUNCATE TABLE
      Elimina los registros de una tabla.
      La sentencia opera sobre las filas y no en
       las columnas.
     DELETE FROM tabla
       [WHERE condición]
     TRUNCATE TABLE
      Proporciona una mayor rapidez de
       ejecución.
      No posee cláusula WHERE
      Borra todos los registros de una tabla.
Yamil Lambert  www.profesorlambert.com
XML en consultas
       Lenguaje de marcado extensible XML.
      Requisitos de muchas aplicaciones
        actuales.
      Transformar datos entre XML y
        Relacional.
      Manejado en Consultas SELECT

     Cláusula FOR XML, que se anexa a la
        instrucción SELECT.
     Taller.

Yamil Lambert  www.profesorlambert.com
Índices
      Optimización en el tiempo de respuesta
       de consultas.
      Un índice es un conjunto de paginas
       asociado a una tabla o vista.
      Si una tabla no tiene índice utiliza en
       método “table scan” para recuperar filas,
       menos eficiente.
      Se modifican con ALTER INDEX y se
       elimina con DROP INDEX.
     CREATE INDEX <NOMBRE>
     ON <Tabla>(campo [,..n])
     Taller
Yamil Lambert  www.profesorlambert.com
Funciones Definidas por el Usuario
     Programación Modular
    Ejecución mas rápida.
    Reducir el tráfico de RED.
   Tipos de Funciones:
    Escalares
    Valores de Tabla en Línea
    Valores de Tabla con múltiples Sentencias
     CREATE FUNCTION <NOMBRE>
     (Parámetros)
           RETURNS <tipo de dato>
     AS
     BEGIN
           RETURN <expresión>
     ENG -- taller
Yamil Lambert  www.profesorlambert.com
Desencadenadores - TRIGGER
        Útiles para implementar Reglas
         empresariales e Integridad de Datos.
        Las instrucciones INSERT, UPDATE y
         DELETE hacen que se llame a un
         desencadenador.
        Capacidad de consultar otra tabla e incluir
         instrucciones complejas (lógica).
      CREATE TRIGGER <Nombre>
      ON <Tabla o Vista>
      [ WITH ENCRYPTION ]
      {
      { { FOR | ALTER | INSTEAD OF} { [ DELETE] [,] [ INSERT ) [ , ]
      [ UPDATE] }
      [ WITH APPEND]
      [ NOT FOR REPLICATION]
      AS
      [ { IF UPDATE (Columna)
      [ { AND | OR } UPDATE (Columna) ]
Yamil [ ..n]  www.profesorlambert.com
      Lambert
Desencadenadores - Escenarios
          Auditoria
               Seguimientos de cambios en los datos para
                auditarlos posteriormente
               Considerar la Tabla de auditoria como
                Nombre de usuario, Equipo de host, Nombre
                de la Aplicación, Fecha y hora de cambio.
          Totales de ejecución
               Para la realización de información o
                decisiones puntuales
               Tener dichos totales actualizados.
           Taller

Yamil Lambert  www.profesorlambert.com
Gracias.

          Por Yamil Lambert Sarango
          www.profesorlambert.com




Yamil Lambert  www.profesorlambert.com

Más contenido relacionado

La actualidad más candente

Diseño y Análisis de una Plataforma e-Commerce
Diseño y Análisis de una Plataforma e-CommerceDiseño y Análisis de una Plataforma e-Commerce
Diseño y Análisis de una Plataforma e-Commerceppalos
 
Comparativa herramientas Business Intelligence
Comparativa herramientas Business IntelligenceComparativa herramientas Business Intelligence
Comparativa herramientas Business IntelligenceStratebi
 
Sistemas de Gestión de Bases de datos
Sistemas de Gestión de Bases de datosSistemas de Gestión de Bases de datos
Sistemas de Gestión de Bases de datosJesús Tramullas
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosJorge Guerra
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del SoftwareIntellimedia
 
Formulacion de sistemas basados en web
Formulacion de sistemas basados en webFormulacion de sistemas basados en web
Formulacion de sistemas basados en webMiguelitm
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp deborahgal
 
Iso 25000 y el software actual
Iso 25000  y el software actualIso 25000  y el software actual
Iso 25000 y el software actualRaúl Martínez
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 
Big data, NoSQL y tendencias en Bases de Datos 2018.
Big data, NoSQL y tendencias en Bases de Datos 2018.Big data, NoSQL y tendencias en Bases de Datos 2018.
Big data, NoSQL y tendencias en Bases de Datos 2018.Roman Herrera
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)UTN
 
Computacion en la nube ppt jas
Computacion en la nube ppt jasComputacion en la nube ppt jas
Computacion en la nube ppt jasJesusAguilar155
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSdfgdfgs
 
Dbms Existentes
Dbms ExistentesDbms Existentes
Dbms Existenteseder8
 
Importancia de uml y bpmn
Importancia de uml y bpmnImportancia de uml y bpmn
Importancia de uml y bpmnAaron Cruz
 
Ejercicio seguridad en redes
Ejercicio seguridad en redesEjercicio seguridad en redes
Ejercicio seguridad en redesvverdu
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividadesTerryJoss
 

La actualidad más candente (20)

Oracle
OracleOracle
Oracle
 
Diseño y Análisis de una Plataforma e-Commerce
Diseño y Análisis de una Plataforma e-CommerceDiseño y Análisis de una Plataforma e-Commerce
Diseño y Análisis de una Plataforma e-Commerce
 
Comparativa herramientas Business Intelligence
Comparativa herramientas Business IntelligenceComparativa herramientas Business Intelligence
Comparativa herramientas Business Intelligence
 
Sistemas de Gestión de Bases de datos
Sistemas de Gestión de Bases de datosSistemas de Gestión de Bases de datos
Sistemas de Gestión de Bases de datos
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas Distribuidos
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del Software
 
Formulacion de sistemas basados en web
Formulacion de sistemas basados en webFormulacion de sistemas basados en web
Formulacion de sistemas basados en web
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
Iso 25000 y el software actual
Iso 25000  y el software actualIso 25000  y el software actual
Iso 25000 y el software actual
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Big data, NoSQL y tendencias en Bases de Datos 2018.
Big data, NoSQL y tendencias en Bases de Datos 2018.Big data, NoSQL y tendencias en Bases de Datos 2018.
Big data, NoSQL y tendencias en Bases de Datos 2018.
 
Flujo datos
Flujo datosFlujo datos
Flujo datos
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)
 
Computacion en la nube ppt jas
Computacion en la nube ppt jasComputacion en la nube ppt jas
Computacion en la nube ppt jas
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 
Dbms Existentes
Dbms ExistentesDbms Existentes
Dbms Existentes
 
Importancia de uml y bpmn
Importancia de uml y bpmnImportancia de uml y bpmn
Importancia de uml y bpmn
 
Ejercicio seguridad en redes
Ejercicio seguridad en redesEjercicio seguridad en redes
Ejercicio seguridad en redes
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 

Destacado

Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql serverIsabel_Samir
 
Diseño y programación de bases de datos con sql server 2008
Diseño y programación de bases de datos con sql server 2008 Diseño y programación de bases de datos con sql server 2008
Diseño y programación de bases de datos con sql server 2008 Israel Hernandez
 
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)Ronald Huere Arias
 
Vendiendo Microsoft SQL Server 2000
Vendiendo Microsoft SQL Server 2000Vendiendo Microsoft SQL Server 2000
Vendiendo Microsoft SQL Server 2000webhostingguy
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008brobelo
 
Instalacion Sql Sever 2008
Instalacion Sql Sever 2008Instalacion Sql Sever 2008
Instalacion Sql Sever 2008rafael fonseca
 
Microsoft sql server
Microsoft sql serverMicrosoft sql server
Microsoft sql serveraBcd_62_1
 
Funcion de mysql que valida la cedula
Funcion de mysql que valida la cedulaFuncion de mysql que valida la cedula
Funcion de mysql que valida la cedulaDavid A. Moreno A.
 
Transact sql
Transact sqlTransact sql
Transact sqljoan
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Joseph Lopez
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developersEnrique Catala Bañuls
 
Sql Server 2008 Administracion
Sql Server 2008 AdministracionSql Server 2008 Administracion
Sql Server 2008 AdministracionEduardo Castro
 
14. Seguridad En Aplicaciones Web Asp.Net
14.  Seguridad En Aplicaciones Web Asp.Net14.  Seguridad En Aplicaciones Web Asp.Net
14. Seguridad En Aplicaciones Web Asp.Netguest3cf6ff
 
Habilitacion de Autentificaion de sql
Habilitacion de Autentificaion de sql Habilitacion de Autentificaion de sql
Habilitacion de Autentificaion de sql KevinFD
 
IBM Cognos Analytics diseñado para mí construido para nosotros
IBM Cognos Analytics diseñado para mí construido para nosotrosIBM Cognos Analytics diseñado para mí construido para nosotros
IBM Cognos Analytics diseñado para mí construido para nosotrosIBM Digital Sales Colombia
 

Destacado (20)

Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql server
 
Diseño y programación de bases de datos con sql server 2008
Diseño y programación de bases de datos con sql server 2008 Diseño y programación de bases de datos con sql server 2008
Diseño y programación de bases de datos con sql server 2008
 
Seguridad sql server
Seguridad sql serverSeguridad sql server
Seguridad sql server
 
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)
 
Vendiendo Microsoft SQL Server 2000
Vendiendo Microsoft SQL Server 2000Vendiendo Microsoft SQL Server 2000
Vendiendo Microsoft SQL Server 2000
 
Presentación SQL Server 2012
Presentación SQL Server 2012Presentación SQL Server 2012
Presentación SQL Server 2012
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008
 
Caracteristicas Microsoft SQL Server
Caracteristicas Microsoft SQL ServerCaracteristicas Microsoft SQL Server
Caracteristicas Microsoft SQL Server
 
Instalacion Sql Sever 2008
Instalacion Sql Sever 2008Instalacion Sql Sever 2008
Instalacion Sql Sever 2008
 
Microsoft sql server
Microsoft sql serverMicrosoft sql server
Microsoft sql server
 
Funcion de mysql que valida la cedula
Funcion de mysql que valida la cedulaFuncion de mysql que valida la cedula
Funcion de mysql que valida la cedula
 
Transact sql
Transact sqlTransact sql
Transact sql
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
Sql Server 2008 Administracion
Sql Server 2008 AdministracionSql Server 2008 Administracion
Sql Server 2008 Administracion
 
14. Seguridad En Aplicaciones Web Asp.Net
14.  Seguridad En Aplicaciones Web Asp.Net14.  Seguridad En Aplicaciones Web Asp.Net
14. Seguridad En Aplicaciones Web Asp.Net
 
Habilitacion de Autentificaion de sql
Habilitacion de Autentificaion de sql Habilitacion de Autentificaion de sql
Habilitacion de Autentificaion de sql
 
INSTALACIÓN DE SQL SERVER 2008
INSTALACIÓN DE SQL SERVER 2008INSTALACIÓN DE SQL SERVER 2008
INSTALACIÓN DE SQL SERVER 2008
 
IBM Cognos Analytics diseñado para mí construido para nosotros
IBM Cognos Analytics diseñado para mí construido para nosotrosIBM Cognos Analytics diseñado para mí construido para nosotros
IBM Cognos Analytics diseñado para mí construido para nosotros
 
Sql Server
Sql ServerSql Server
Sql Server
 

Similar a Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sarango

¿Qué es una base de datos?
¿Qué es una base de datos?¿Qué es una base de datos?
¿Qué es una base de datos?SENA
 
Algoritmos Computacionales II.docx
Algoritmos Computacionales II.docxAlgoritmos Computacionales II.docx
Algoritmos Computacionales II.docxdhanibelreyes
 
Tipo de base de datos y funciones de un dba
Tipo de base de datos y funciones de un dbaTipo de base de datos y funciones de un dba
Tipo de base de datos y funciones de un dbaDannyNancayRamos
 
Bases de datos
Bases de datosBases de datos
Bases de datosJosue Diaz
 
Tipo de base de datos y funciones de un dba
Tipo de base de datos y funciones de un dbaTipo de base de datos y funciones de un dba
Tipo de base de datos y funciones de un dbaDannyNancayRamos
 
Funciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datosFunciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datosFernando suca
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Jorge Ulises
 
Android de la A a la Z" -- Unidad 7
Android de la A a la Z" -- Unidad 7Android de la A a la Z" -- Unidad 7
Android de la A a la Z" -- Unidad 7Android UNAM
 
Sistema de Gestor de Base de Datos
Sistema de Gestor de Base de DatosSistema de Gestor de Base de Datos
Sistema de Gestor de Base de DatosJaime Aguilar Rafael
 
Bases de datos.ppt presentacion
Bases de datos.ppt presentacionBases de datos.ppt presentacion
Bases de datos.ppt presentacionandreaydarlys
 

Similar a Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sarango (20)

Administracinyprogramacinensql server
Administracinyprogramacinensql serverAdministracinyprogramacinensql server
Administracinyprogramacinensql server
 
¿Qué es una base de datos?
¿Qué es una base de datos?¿Qué es una base de datos?
¿Qué es una base de datos?
 
Gestor de base de datos
Gestor de base de datosGestor de base de datos
Gestor de base de datos
 
Base de datos yeiker
Base de datos yeikerBase de datos yeiker
Base de datos yeiker
 
Base de datos douglas
Base de datos douglasBase de datos douglas
Base de datos douglas
 
Gestor de Base de Datos
Gestor de Base de DatosGestor de Base de Datos
Gestor de Base de Datos
 
Algoritmos Computacionales II.docx
Algoritmos Computacionales II.docxAlgoritmos Computacionales II.docx
Algoritmos Computacionales II.docx
 
Base de datos
Base de datosBase de datos
Base de datos
 
Tipo de base de datos y funciones de un dba
Tipo de base de datos y funciones de un dbaTipo de base de datos y funciones de un dba
Tipo de base de datos y funciones de un dba
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Tipo de base de datos y funciones de un dba
Tipo de base de datos y funciones de un dbaTipo de base de datos y funciones de un dba
Tipo de base de datos y funciones de un dba
 
Bases de datos 1
Bases de datos 1Bases de datos 1
Bases de datos 1
 
Talleresbd
TalleresbdTalleresbd
Talleresbd
 
Funciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datosFunciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datos
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7
 
Android de la A a la Z" -- Unidad 7
Android de la A a la Z" -- Unidad 7Android de la A a la Z" -- Unidad 7
Android de la A a la Z" -- Unidad 7
 
Sistema de Gestor de Base de Datos
Sistema de Gestor de Base de DatosSistema de Gestor de Base de Datos
Sistema de Gestor de Base de Datos
 
Bases de datos.ppt presentacion
Bases de datos.ppt presentacionBases de datos.ppt presentacion
Bases de datos.ppt presentacion
 
Base de datos
Base de datosBase de datos
Base de datos
 
Trabajo de bases de datos
Trabajo de bases de datosTrabajo de bases de datos
Trabajo de bases de datos
 

Más de Yamil Lambert

QR, RA y Realidad Virtual
QR, RA y Realidad VirtualQR, RA y Realidad Virtual
QR, RA y Realidad VirtualYamil Lambert
 
Presentación Yamil Lambert Sarango
Presentación Yamil Lambert SarangoPresentación Yamil Lambert Sarango
Presentación Yamil Lambert SarangoYamil Lambert
 
El rol de los nuevos medios y las tecnologías digitales en el arte contempor...
El rol de los nuevos medios y las tecnologías digitales  en el arte contempor...El rol de los nuevos medios y las tecnologías digitales  en el arte contempor...
El rol de los nuevos medios y las tecnologías digitales en el arte contempor...Yamil Lambert
 
Adobe phonegap / Cordova API
Adobe phonegap / Cordova APIAdobe phonegap / Cordova API
Adobe phonegap / Cordova APIYamil Lambert
 
Prácticas pre profesionales UCSG FAH
Prácticas pre profesionales UCSG FAHPrácticas pre profesionales UCSG FAH
Prácticas pre profesionales UCSG FAHYamil Lambert
 
Drones o UAV por Yamil Lambert Sarango
Drones o UAV por Yamil Lambert SarangoDrones o UAV por Yamil Lambert Sarango
Drones o UAV por Yamil Lambert SarangoYamil Lambert
 
Hardware de un smartphone Procesadores
Hardware de un smartphone ProcesadoresHardware de un smartphone Procesadores
Hardware de un smartphone ProcesadoresYamil Lambert
 
Datos Inec Intenret, Smartphone con CMS - Ecuador
Datos Inec Intenret, Smartphone con CMS  - EcuadorDatos Inec Intenret, Smartphone con CMS  - Ecuador
Datos Inec Intenret, Smartphone con CMS - EcuadorYamil Lambert
 
Joomla Tipos elementos Menú by YLS
Joomla Tipos elementos Menú by YLSJoomla Tipos elementos Menú by YLS
Joomla Tipos elementos Menú by YLSYamil Lambert
 
Search engine optimization SEO
Search engine optimization SEOSearch engine optimization SEO
Search engine optimization SEOYamil Lambert
 
Caso de estudio top Blog Tech por Yamil Lambert Sarango
Caso de estudio top Blog Tech por Yamil Lambert SarangoCaso de estudio top Blog Tech por Yamil Lambert Sarango
Caso de estudio top Blog Tech por Yamil Lambert SarangoYamil Lambert
 
Tics, internet, Educación y sistemas colaborativos
Tics, internet, Educación y sistemas colaborativosTics, internet, Educación y sistemas colaborativos
Tics, internet, Educación y sistemas colaborativosYamil Lambert
 
Caso de estudio Xataka by Yamil Lambert
Caso de estudio Xataka by Yamil LambertCaso de estudio Xataka by Yamil Lambert
Caso de estudio Xataka by Yamil LambertYamil Lambert
 
Apa 6ta edicion por MSc. Yamil Lambert
Apa 6ta edicion por MSc. Yamil LambertApa 6ta edicion por MSc. Yamil Lambert
Apa 6ta edicion por MSc. Yamil LambertYamil Lambert
 
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...Yamil Lambert
 
Políticas del curso UCSG
Políticas del curso UCSGPolíticas del curso UCSG
Políticas del curso UCSGYamil Lambert
 
Internet historia en imágenes por Yamil Lambert Sarango
Internet historia en imágenes por Yamil Lambert SarangoInternet historia en imágenes por Yamil Lambert Sarango
Internet historia en imágenes por Yamil Lambert SarangoYamil Lambert
 
GuayasTech : Videojuegos indie Ecuador 2014
GuayasTech : Videojuegos indie Ecuador 2014GuayasTech : Videojuegos indie Ecuador 2014
GuayasTech : Videojuegos indie Ecuador 2014Yamil Lambert
 

Más de Yamil Lambert (20)

QR, RA y Realidad Virtual
QR, RA y Realidad VirtualQR, RA y Realidad Virtual
QR, RA y Realidad Virtual
 
Arte ASCII
Arte ASCIIArte ASCII
Arte ASCII
 
Realidad aumentada
Realidad aumentadaRealidad aumentada
Realidad aumentada
 
Presentación Yamil Lambert Sarango
Presentación Yamil Lambert SarangoPresentación Yamil Lambert Sarango
Presentación Yamil Lambert Sarango
 
El rol de los nuevos medios y las tecnologías digitales en el arte contempor...
El rol de los nuevos medios y las tecnologías digitales  en el arte contempor...El rol de los nuevos medios y las tecnologías digitales  en el arte contempor...
El rol de los nuevos medios y las tecnologías digitales en el arte contempor...
 
Adobe phonegap / Cordova API
Adobe phonegap / Cordova APIAdobe phonegap / Cordova API
Adobe phonegap / Cordova API
 
Prácticas pre profesionales UCSG FAH
Prácticas pre profesionales UCSG FAHPrácticas pre profesionales UCSG FAH
Prácticas pre profesionales UCSG FAH
 
Drones o UAV por Yamil Lambert Sarango
Drones o UAV por Yamil Lambert SarangoDrones o UAV por Yamil Lambert Sarango
Drones o UAV por Yamil Lambert Sarango
 
Hardware de un smartphone Procesadores
Hardware de un smartphone ProcesadoresHardware de un smartphone Procesadores
Hardware de un smartphone Procesadores
 
Datos Inec Intenret, Smartphone con CMS - Ecuador
Datos Inec Intenret, Smartphone con CMS  - EcuadorDatos Inec Intenret, Smartphone con CMS  - Ecuador
Datos Inec Intenret, Smartphone con CMS - Ecuador
 
Joomla Tipos elementos Menú by YLS
Joomla Tipos elementos Menú by YLSJoomla Tipos elementos Menú by YLS
Joomla Tipos elementos Menú by YLS
 
Search engine optimization SEO
Search engine optimization SEOSearch engine optimization SEO
Search engine optimization SEO
 
Caso de estudio top Blog Tech por Yamil Lambert Sarango
Caso de estudio top Blog Tech por Yamil Lambert SarangoCaso de estudio top Blog Tech por Yamil Lambert Sarango
Caso de estudio top Blog Tech por Yamil Lambert Sarango
 
Tics, internet, Educación y sistemas colaborativos
Tics, internet, Educación y sistemas colaborativosTics, internet, Educación y sistemas colaborativos
Tics, internet, Educación y sistemas colaborativos
 
Caso de estudio Xataka by Yamil Lambert
Caso de estudio Xataka by Yamil LambertCaso de estudio Xataka by Yamil Lambert
Caso de estudio Xataka by Yamil Lambert
 
Apa 6ta edicion por MSc. Yamil Lambert
Apa 6ta edicion por MSc. Yamil LambertApa 6ta edicion por MSc. Yamil Lambert
Apa 6ta edicion por MSc. Yamil Lambert
 
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
 
Políticas del curso UCSG
Políticas del curso UCSGPolíticas del curso UCSG
Políticas del curso UCSG
 
Internet historia en imágenes por Yamil Lambert Sarango
Internet historia en imágenes por Yamil Lambert SarangoInternet historia en imágenes por Yamil Lambert Sarango
Internet historia en imágenes por Yamil Lambert Sarango
 
GuayasTech : Videojuegos indie Ecuador 2014
GuayasTech : Videojuegos indie Ecuador 2014GuayasTech : Videojuegos indie Ecuador 2014
GuayasTech : Videojuegos indie Ecuador 2014
 

Último

Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 

Último (20)

Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 

Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sarango

  • 1. Microsoft ® SQL Server 2008 Administración y programación de BD. SQL Server Por Yamil Lambert Yamil Lambert  www.profesorlambert.com
  • 2. Conceptos de BASE de DATOS  Es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente.  Un Conjunto de Tablas Relacionadas entre si.  Una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Yamil Lambert  www.profesorlambert.com
  • 3. Tipos de Base de Datos  Variabilidad de los Datos  Estáticas  Dinámicas  Contenido  Bibliográficas  Texto Completo  Directorio  Información Biológica. Yamil Lambert  www.profesorlambert.com
  • 4. Modelos de Base de Datos  Jerárquicas.- almacenan su información en una estructura jerárquica. Los datos se organizan en forma similar a un árbol (visto al revés).  Red.- modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres  Relacional.- modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de "relaciones" entre las tablas.  Multidimensionales, Orientadas a Objetos. Yamil Lambert  www.profesorlambert.com
  • 5. Las tablas  Tipo de modelado de datos.  Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo, Filas y Columnas.  Las tablas se componen de dos estructuras:  Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato asociado.  Registro: Corresponde a cada fila que compone la tabla. Yamil Lambert  www.profesorlambert.com
  • 6. Clave Primaria y Clave Foránea  PK.- Campo o a una combinación de campos que identifica de forma única a cada fila de una tabla.  Ejemplos de claves primarias son CEDULA, ISBN , etc.  FK.- Es una limitación referencial entre dos tablas.  La FK identifica una columna o grupo de columnas en una tabla (referendo) que se refiere a una columna o grupo de columnas en otra tabla (referenciada). Yamil Lambert  www.profesorlambert.com
  • 7. Modelo Entidad Relación (MER)  Es una herramienta para el modelado de datos de un sistema de información.  Expresan entidades relevantes para un sistema de información, sus interrelaciones y propiedades.  Tablas=Entidades (Fila(s)). Yamil Lambert  www.profesorlambert.com
  • 8. MER- Correspondencia de cardinalidades  Uno a uno: Una entidad de A se relaciona únicamente con una entidad en B y viceversa.  Uno a varios: Una entidad en A se relaciona con cero o muchas entidades en B. Pero una entidad en B se relaciona con una única entidad en A.  Varios a uno: Una entidad en A se relaciona exclusivamente con una entidad en B. Pero una entidad en B se puede relacionar con 0 o muchas entidades en A.  Varios a varios: Una entidad en A se puede relacionar con 0 o muchas entidades en B y viceversa. Yamil Lambert  www.profesorlambert.com
  • 9. Integridad de Datos  Integridad de la entidad  Integridad Referencial  Integridad de Dominio  Físico  Lógico  Integridad definida por el Usuario Yamil Lambert  www.profesorlambert.com
  • 10. Lenguaje SQL  Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales  Instrucción de Definición y de Manipilación de Datos  SQL86.- Primera publicación hecha por ANSI. Confirmada por ISO en 1987.  SQL92.- Nuevo estándar ampliado y revisado del SQL.  T-SQL, PL-SQL.- Versiones de mejoradas de los Motores de Base de Datos. Yamil Lambert  www.profesorlambert.com
  • 11. Taller #1  Mostrar el Video Internet – Búsquedas  Considerar el Problema de Google desde la Perspectiva de su Base de Datos e Indexación.  Plantear por Grupos una Pregunta o Comentario Yamil Lambert  www.profesorlambert.com
  • 12. Sistemas de gestión de base de datos:  DataBase Management System.  Tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.  Manejar clara, sencilla y ordenada un conjunto de datos, información relevante para una organización.  Un RDBMS es un Sistema Administrador de Bases de Datos Relacionales. Yamil Lambert  www.profesorlambert.com
  • 13. ¿ Qué implica esta gestión de datos?  Implica la definición de las estructuras para el almacenamiento de información.  Proveer mecanismos para la gestión de la información.  Mantener la seguridad de la información almacenada. Yamil Lambert  www.profesorlambert.com
  • 14. Rol del Administrador B.D.  Controlar la base de datos empresarial,  Aconsejar y asesorar a los desarrolladores, usuarios y Directiva de la empresa.  Una empresa cuenta con una o varias personas encargadas de controlar el sistema de base de datos (DBA)  La Programación, control de sistema operativos, hardware, comunicación, redes, etc. Yamil Lambert  www.profesorlambert.com
  • 15. Funciones del DBA  Diseñar y controlar la estructura de la base de datos.  Supervisar la actividad sobre los datos.  Controlar la eficacia de la base de datos.  Preocuparse de la seguridad de los datos.  Supervisar el estado del sistema.  Problemas: Información que obtienen los usuarios y la velocidad.  Obtener y estudiar las estadísticas del funcionamiento y el rendimiento.  Supervisar la actividad que realizan los usuarios sobre los datos.  Preocuparse de las nuevas actualizaciones.  Estudiar el momento apropiado de actualizar el sistema o migraciones. Yamil Lambert  www.profesorlambert.com
  • 16. Microsoft SQL-Server  Sistema de gestión de bases de datos relacionales basado en el lenguaje Transact- SQL.  Constituye la alternativa de Microsoft como Motor.  Soporte de transacciones y procedimientos almacenados.  Escalabilidad, estabilidad y seguridad.  Integración de datos con aplicaciones, incluidas plataformas como .NET e Internet  Entorno gráfico de administración, que permite el uso de comandos DDL y DML.  Permite trabajar en modo cliente-servidor.  Administrar información de otros servidores de datos. Yamil Lambert  www.profesorlambert.com
  • 17. Microsoft SQL-Server 2008  SQL Server 2008 es una plataforma global de base de datos que ofrece administración de datos empresariales con herramientas integradas de inteligencia empresarial (BI).  El motor de la base de datos SQL Server 2008 ofrece almacenamiento más seguro y confiable tanto para datos relacionales como estructurados, lo que le permite crear y administrar aplicaciones de datos altamente disponibles y con mayor rendimiento para utilizar en su negocio. Yamil Lambert  www.profesorlambert.com
  • 18. Plataforma de SQL Server 2008  SQL Server 2008 es una parte importante de Windows Server System y se integra con la plataforma Microsoft Windows, incluidos Microsoft Office System y Visual Studio. Yamil Lambert  www.profesorlambert.com
  • 19. Versiones de SQL-Server 2008 (9.0)  SQL Server 2008 Enterprise Edition.- Diseñado para soportar entornos de grandes transacciones empresariales (OTLP), gran complejidad de analisis de datos, datawarehouse, y Web Sites muy activas.  SQL Server 2008 Standard Edition.- Diseñado para comercio electronico, datawarehouse y soluciones de lineas de negocio de tamaño pequeño-mediano.  SQL Server 2008 WorkGroup Edition.- Diseñado para pequeñas organizaciones que necesitan una base de datos que no tenga limite de usuarios, también se puede usar para pequeños web servers.  SQL Server 2008 Developer Edition.- Incluye las mismas funcionalidades de Enterprise Edition, pero esta licenciado para servidores de desarrollo y test, no para servidores productivos.  SQL Server 2008 Express Edition.- gratuito, facil de usar y administrar base de datos, puede ser usado como cliente de base de datos en vez de servidor de base de datos. Yamil Lambert  www.profesorlambert.com
  • 20. Licencias del SQL-Server  Microsoft SQL Server 2008 está disponible en base a tres modelos de licencias:  Licencia de servidor más una licencia de acceso de cliente (CAL) por dispositivo. Requiere una licencia para el equipo que ejecuta el producto servidor de Microsoft, y una CAL para cada dispositivo cliente.  Licencia de servidor más una licencia de acceso de cliente (CAL) por usuario. Requiere una licencia para el equipo que ejecuta el producto servidor de Microsoft, y una CAL para cada usuario.  Licencia por procesador. Requiere una única licencia por cada CPU en el entorno de sistema operativo que ejecuta SQL Server. Esta licencia incluye un acceso ilimitado de dispositivos cliente. Yamil Lambert  www.profesorlambert.com
  • 21. Instalación del SQL-Server  Requisitos de Hardware  Pentium III o superior, 600Mhz; Recomendado 1Ghz o mas.  Memoria 512MB; recomendado 1Gb o mas  Disco con espacio de 2.1 GB (Todas las aplicaciones)  Requisitos de Software.  Windows 2000 Profesional con SP4 (No Enterprise)  Windows Server 2000 SP4 , 2003 SP1, 2008 (Todas)  Windows XP con SP2 (No Enterprise)  Windows Vista (No Enterprise) http://msdn.microsoft.com/es-es/library/ms143506(SQL.90).aspx Yamil Lambert  www.profesorlambert.com
  • 22. Taller #2 – Crear el MER  Se Requiere controlar la entrada y salida de los docentes en sus materias asignadas.  Se debe Informar al docente según su planificación la Materia, Paralelo, Lugar, Hora Entrada y Salida.  Informar el Periodo Actual que se esta controlando. Yamil Lambert  www.profesorlambert.com
  • 23. Taller de Instalación de SQL-Server 1 2 3 4 Yamil Lambert  www.profesorlambert.com
  • 24. 5 6 7 8 Yamil Lambert  www.profesorlambert.com
  • 25. 9 10 11 12 Yamil Lambert  www.profesorlambert.com
  • 26. Taller de Instalación de SQL-Server - Finalización 13 14 Yamil Lambert  www.profesorlambert.com
  • 27. Conectarse al Servidor SQL-SERVER  Tipo de Servidor  Nombre del Servidor (IP)  Autenticación Yamil Lambert  www.profesorlambert.com
  • 28. SQL Server Management Studio  Explorador de Objetos  Bases de Datos  Seguridad  Objetos de Servidor  Replica  Administración  Servicios de Notificación  Ficha Resumen Yamil Lambert  www.profesorlambert.com
  • 29. OLTP .- Procesamiento de Transacciones En Línea  Ejemplo: Las operaciones en el cajero automático de un banco son operaciones del tipo OLTP, para cada solicitud: consulta de saldo, retiro de efectivo, etc. el sistema responde inmediatamente.  El procesamiento de los pagos de la nómina de una empresa no es OLTP, por que el resultado de este proceso no se obtiene de forma inmediata para cada empleado si no por el contrario, la respuesta a este procesamiento es el conjunto completo de todos los cálculos para el pago de la nomina. Yamil Lambert  www.profesorlambert.com
  • 30. Bases de SQLServer Yamil Lambert  www.profesorlambert.com
  • 31. Bases de Datos del Sistema y de Usuario De Sistema:  Master.- Registra toda la información del sistema para una instancia de SQL Server.  Model.- Se utiliza como plantilla para todas las bases de datos creadas.  Msdb.- La utiliza el Agente SQL Server para programar alertas y trabajos.  Tempdb.- Contiene objetos temporales o conjuntos de resultados intermedios.  Resource.- Solo Lectura, Aparece de forma lógica en el esquema. mssqlsystemresource.mdf De Usuario:  Northwind, AdventureWorks, Cualquier Base creada por el DBA. Yamil Lambert  www.profesorlambert.com
  • 32. Archivos de la Base de Datos  Principal.- El archivo de datos principal (.MDF)  Secundario.- Los archivos de datos secundarios son opcionales (.NDF)  Registro de Transacciones.- contienen la información de registro que se utiliza para recuperar la base de datos. (.LDF) Yamil Lambert  www.profesorlambert.com
  • 33. Creación de una Base de Datos  Nombre Lógico.  Tamaño Físico Inicial.  Crecimiento de Archivos.  Archivos de la Base (Ruta de acceso).  Opciones - Nivel de Compatibilidad Yamil Lambert  www.profesorlambert.com
  • 34. CREATE DATABASE CREATE DATABASE NOMBREBASE [ON { [PRIMARY] [, FILEGROUP NombreGrupo] (NAME = ArchivoLogico, FILENAME = ‘ArchivoFisico’ [, SIZE=Tamaño] [, MAXSIZE={TamañoMax | UNLIMITED}] [, FILEGROWTH=IncrementoCrecimiento] )} [,..n] ] [LOG ON { ( NAME=ArchivoLogico FILENAME=ArchivoFisico [, SIZE=Tamaño] [, MAXSIZE={TamañoMax | UNLIMITED}] [, FILEGROWTH=IncrementoCrecimiento] )} [,..n] ] [COLLATE NombreIntercalación] Yamil Lambert  www.profesorlambert.com
  • 35. Ejemplo – CREATE DATABASE  Crear una base denominada “Ejemplo” con un archivo de datos principal de 10MB y un archivo de registro de 3MB, ubique estos archivos en una carpeta “EjemploDB” (crear en la unidad C:)  Tamaño máximo de 15MB al principal y 5MB al de transacciones.  Crecimiento 20% para el Principal y de 1MB para el de transacciones Yamil Lambert  www.profesorlambert.com
  • 36. Adicionando y Modificando Archivos ALTER DATABASE NombreBase ADD FILE (NAME = ArchivoLogico, FILENAME = ‘ArchivoFisico’ [, SIZE=Tamaño] [, MAXSIZE={TamañoMax | UNLIMITED}] [, FILEGROWTH=IncrementoCrecimiento] ) Agregar un archivo de datos a la Base ejemplo llamado “EjemploData01” de 20MB, máximo 25MB y crecimiento 1MB Yamil Lambert  www.profesorlambert.com
  • 37. Grupos de Archivos  Es una estructura Lógica, que permite agrupar y gestionar los archivos de datos como una unidad lógica. SINTAXIS: ALTER DATABASE NombreBase ADD FILEGROUP NombredeGrupo Crear un Grupo llamado “Datos” y añadir un nuevo archivo de datos llamado “Ejemplo02” a la base “Ejemplo”, (10MB, Máximo 15MB y crecimiento 1MB) Yamil Lambert  www.profesorlambert.com
  • 38. Taller para los estudiantes  Su servidor posee cuatro discos duros C,D,E y F, en el cual el disco C esta almacenado únicamente el S.O. y el Software SQLServer,  Crear una base llamada “Proyecto”, que; en el disco D esta el archivo principal, en el E los archivos secundarios en la cual se van a crear 2 grupos “ProyectoDatos” para los archivos secundario y “ProyectoHistoria” para datos históricos.  Se manejaran 3 archivos secundario, 2 de datos y una de Historia en la unidad E.  En el F el archivo de transacciones.  Se deben almacenar en una carpeta llamada ProyectosData en los respectivos disco. Yamil Lambert  www.profesorlambert.com
  • 39. Esquemas de la B.D.  Es un espacio de nombres para objetos de la base de datos (tablas, vistas, Procedimientos almacenados).  Define un limite dentro del cual todos los nombres son únicos.  Su Formato:  Servidor.basedatos.esquema.objeto.  Versión Corta equema.objeto.  Analizar los esquemas de la base AdventureWorks – Person, Sales,dbo Yamil Lambert  www.profesorlambert.com
  • 40. Creación de Esquemas Todas las bases contienen un esquema predeterminado llamado dbo. Dbo. Es asignado para todos los usuario que no tienen ningún esquema definido explícitamente. Use NombreBaseDatos CREATE SCHEMA NombreEsquema Crear un esquema llamado Persona, y agregar la tabla dirección al mismo. Yamil Lambert  www.profesorlambert.com
  • 41. Instantánea de Base de Datos  Es una vista estática de solo lectura de una BD en un punto especifico en el tiempo que no cambia después de la creación de la misma.  La base de datos a partir de la cual se crea la instantánea se llama BD origen.  Útil para pruebas, desarrollo o de informes, como puntos de restauración rápido en caso de daño. PERO No son sustitutos a las copias de seguridad, porque no contiene todos los registros de la base.  Soportado solo en Enterprise Edition. Yamil Lambert  www.profesorlambert.com
  • 42. Creación de una Instantánea Taller Utilice la base AdventureWorks CREATE DATABASE AdventureWorks_Snapshot1 ON (NAME=“AdventureWorksData”, FILENAME=“AW.ss ) AS SNAPSHOT OF AdventureWorks Go Probar con una consulta a la base original y a la instantánea; luego actualice a la original y compruebe los datos consultándolos. Yamil Lambert  www.profesorlambert.com
  • 43. Copias de Seguridad y Restauración  El componente de copias de seguridad y restauración de SQL Server ofrece una protección muy importante para los datos críticos almacenados en las bases de datos.  Casos Comunes:  Errores de medios. Errores de usuario, por ejemplo, quitar una tabla por error.  Errores de hardware, por ejemplo, una unidad de disco dañada o la pérdida permanente de un servidor.  Desastres naturales. Yamil Lambert  www.profesorlambert.com
  • 44. Ámbito Copias de seguridad de datos El ámbito de una copia de seguridad de datos puede ser la base de datos completa, parcial o un conjunto de archivos o grupos de archivos. Una copia de seguridad completa incluye todos los datos de una base de datos determinada o un conjunto de grupos de archivos o archivos. Una copia de seguridad diferencial se basa en la última copia de seguridad completa de los datos. Una copia de seguridad diferencial incluye sólo los datos que han cambiado desde la última base diferencial. Realizar una copia de seguridad y luego restaurarla en el mismo servidor. (Borre la base original) Yamil Lambert  www.profesorlambert.com
  • 45. Automatización backup Planes de Mantenimiento Crean un flujo de trabajo de las tareas necesarias para asegurarse de que la base de datos está optimizada, se realizan copias de seguridad con regularidad y no tiene incoherencias. Crear sus propias secuencias de comandos Transact-SQL personalizadas. Agente SQL Server del Explorador de objetos sólo aparece para los miembros de la función fija de servidor sysadmin, este debe estar en ejecución. Crear un Plan de Mantenimiento para realizar periódicamente una copia de seguridad de la base datos AdventureWorks Yamil Lambert  www.profesorlambert.com
  • 46. Seguridad – Inicios de Sesión  Un inicio de sesión define el contexto de seguridad en cada proceso que ejecuta.  Los usuarios de Windows necesitan un inicio de sesión de SQL Server para conectarse.  2 tipos (Modo Mixto)  Autentificación de Windows  Autenticación de Sql Server  Funciones del Servidor  Asignación de Usuarios  Función Sobre la base de datos Yamil Lambert  www.profesorlambert.com
  • 47. Usuario de la Base de Datos  Esquemas Utilizado  Miembros de Función  Elementos que podemos Proteger  Tablas, Vistas y Procedimientos Almacenados  Permisos: Conceder, Denegar, WITH GRANT.  Hacer una Prueba con ODBC.  Explicar la Cadena de Conexión de una Aplicación. Yamil Lambert  www.profesorlambert.com
  • 48. Seguridad de una Base de Datos  La información es uno de los activos más importantes de las entidades.  Hace unos años era más fácil, con arquitecturas centralizadas y terminales no inteligentes  Hoy en día los entornos son realmente complejos, con diversidad de plataformas y proliferación de redes.  La disponibilidad: se cumple si las personas autorizadas pueden acceder a tiempo a la información.  En administración de seguridad pueden existir coordinadores en las diferentes áreas funcionales.  Los hacker, que intenta acceder a los sistemas más para demostrar de que es capaz de superar las barreras de protección. http://geeks.ms/blogs/ozonicco/pages/principios-utilizados-en-la-seguridad-de-base-de-datos-y-de- redes.aspx Yamil Lambert  www.profesorlambert.com
  • 49. Objetos de la Base  Diagramas  Tablas (Sistema y Usuario)  Vistas (Sistema y Usuario)  Sinónimos  Programación  Procedimientos  Funciones  Desencadenadores  Tipos  Reglas  Valores Predeterminados  Seguridad  Usuario / Funciones y Esquema Yamil Lambert  www.profesorlambert.com
  • 50. Tipos de Datos  Limitar el almacenamiento en una columna; rangos de valores.  Correcta selección del tipo dato sea carácter, enteros, binarios, fechas etc.  Objetos que tienen tipos de datos  Columnas en Tablas y Vistas  Parámetros en Procedimientos Almacenados  Variables  Los Cuatro atributos de un Objeto  La clase o tipo de datos  Longitud o su tamaño  Precisión (Solo numéricos) smallint, 5 dígitos, precisión de 5.  Escala (Solo numéricos) Números de dígitos de la parte decimal. Int =Escala 0; Money=Escala max 4. Yamil Lambert  www.profesorlambert.com
  • 51. Tipos de Datos - 7 Categorías  Numero Exacto  Fecha y Tiempo  Bigint  DateTime  Int  Smallint  Carácter  Decimal(p,s)  Char() Tamaño Fijo  Numeric(p,s)  Varchar() Tamaño Variable  Bit  Text (2GB)  Numero Aproximado  Binario  Float  Binary(n)  Real  Image  Monetario  Propósito General  Money  Timestamp  Smallmoney  XML Yamil Lambert  www.profesorlambert.com
  • 52. Tipos de Datos Definidos por Usuario  Crear nuestros propios tipos de datos  Tipo de datos personalizado.  Para una base de datos concreta.  Nombre Único. CREATE TYPE [ schema_name. ] type_name { FROM base_type [ ( precisión [ , scale ] ) ] [ NULL | NOT NULL ] | EXTERNAL NAME assembly_name [ .class_name ] | AS TABLE ( { <column_definition> | <computed_column_definition> } [ <table_constraint> ] [ ,...n ] ) } [ ; ] Crear el tipo “CodigoPostal” como varchar(5) y un Texto de 100; usando TSQL y Management Studio Yamil Lambert  www.profesorlambert.com
  • 53. Creación de TABLAS  Colección de Columnas / Campos  Cada Fila representa una registro. CREATE TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name ( { <column_definition> | <computed_column_definition> | <column_set_definition> } [ <table_constraint> ] [ ,...n ] ) [ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ] [ { TEXTIMAGE_ON { filegroup | "default" } ] [ FILESTREAM_ON { partition_scheme_name | filegroup | "default" } ] [ WITH ( <table_option> [ ,...n ] ) ] [ ; ] Yamil Lambert  www.profesorlambert.com
  • 54. Taller Creación de Tablas  Usando TSQL Crear  Persona (Codigo,Nombre,Apellido,Genero)  Empleado (Codigo,Nombre,Apellido,Direccion,Genero, Sueldo,FechaNacimiento,Foto,Estado)  Estudiante (temporal)  Verificar la creación del Objeto sys.object y sp_help  Usando Management Studio Crear La tabla Producto (Código,Descripción,Precio,Cantidad, Fecha,Estado). Yamil Lambert  www.profesorlambert.com
  • 55. Tipos de Columnas  Columnas Calculadas.- Columna Virtual que no se almacena físicamente en la tabla  Columnas de Identidad (Identity) .- Valores secuenciales generados por el sistema que identifican cada fila.  Columnas Uniqueidentifier .- se utiliza con la función newid(), Numero identificador unico como cadena bynaria (GUID) Globally Unique Identifier. Hacer un ejemplo de cada una usando TSQL. Yamil Lambert  www.profesorlambert.com
  • 56. Modificación de Tablas Modificar la estructura de una tabla con: ALTER TABLE. Podemos:  Añadir o eliminar Campos  Cambiar el tipo de dato a los campos  Cambiar el Nombre a los campos  Modificar Longitud o tamaño (Numérico o Texto)  Agregar o modificar sus propiedades. ALTER TABLE table_name { [ALTER COLUMN column_name] | ADD { <column_definition> columna tipoDeDato { [NULL - NOT NULL] | DROP COLUMN column_name } [ ,...n ] Hacer un ejemplo de algunos escenarios citados. Yamil Lambert  www.profesorlambert.com
  • 57. Integridad de Datos Dos cosas importantes en el diseño de las tablas:  Identificación de valores validos para una columna.  Determinar como forzar la integridad de los datos en la columna. Categorías:  Entidad (Filas)  Dominio (Físico y Lógico) (Columnas)  Referencial (Entre Tablas) Yamil Lambert  www.profesorlambert.com
  • 58. Integridad de Datos  Entidad.- Todas la filas de una tabla tengan un identificador único; conocido como clave principal o PK.  Dominio.- Conjunto de valores de datos que son validos para una columna determinada además de valores nulos o no.  Referencial.- Mantener las relaciones entre las claves principales y las claves externas.  Agregar o Cambiar Filas (Ninguna fila)  Cambiar Valores (Filas Huérfanas)  Eliminar Filas (Existen Filas Relacionadas) Yamil Lambert  www.profesorlambert.com
  • 59. Restricciones o Constraints  Métodos estándar ANSI para exigir la integridad de los datos.  Usados en Integridad de Datos (dominio, entidad y referencial). Tipo Constraint Descripción Dominio DEFAULT Valor Predeterminado, cuando un “insert” no proporciona ningún valor.- CHECK Datos aceptados en una columna (No reglas). FOREIGN KEY Valores aceptables para la actualización; columna de otra tabla. Entidad PRIMERY KEY Identifica cada fila de manera única. UNIQUE Impide la duplicación de claves alternativas no principales Referencial FOREIGN KEY Columna (s) que coinciden con la PK de la misma tabla o otra conocida como FK. CHECK Datos aceptados en una columna basándose en otras de la misma tabla. Yamil Lambert  www.profesorlambert.com
  • 60. Constraint DEFAULT – CHECK Y PRIMARY KEY  Valores Predeterminados  Validaciones  Clave Principal CREATE TABLE Nombre ( {<Columnas> | <RestriccionTabla>} [,..n]) <definicionColumna> ::={NombreColumna Tipo} [ {DEFAULT Expresión} ] [ <restriccionColumna> [..n] ] <restriccionColumna>::= [ CONSTRAINT NombreRestriccion { [ NULL | NOT NULL ] | [ PRIMARY KEY | UNIQUE] | [ REFERENCES TablaRef [(ColumnaRef) ] ]} ALTER TABLE NombreTabla [ADD CONSTRAINT NombreRestriccion] [DROP CONSTRINT Nombre Restriccion] DEFAULT <ValorPredeterminado> CHECK <Expresión> PRIMARY KEY [CLUSTERED | NONCLUSTERED] {(Columna [,…n])} FOR NombreColumna Hacer Taller para cada una. Yamil Lambert  www.profesorlambert.com
  • 61. Constraint UNIQUE  Dos Filas de una columna no pueden tener el mismo valor.  Ya se tiene Clave Principal PK.  Otros Identificadores sean Únicos como:  Cedula.  Matricula de Carro.  Permiso de Conducir.  Numero de Cotización.  Especificar CLUSTER o NONCLUSTER ALTER TABLE NombreTabla [ADD CONSTRAINT NombreRestricción] - DROP CONSTRINT NombreRestricción] UNIQUE CLUSTER - NONCLUSTERED (columna[,..n]) Crear una tabla con un UNIQUE en sus columnas, luego use ALTER TABLE. Yamil Lambert  www.profesorlambert.com
  • 62. Constraint FOREIGN KEY  Es una clave o combinación de columnas que se utiliza para establecer y exigir un vinculo entre los datos de 2 tablas.  Esta restricción define una referencia a una columna con una restricción PRIMARY KEY o UNIQUE de la misma tabla o de otra. ALTER TABLE NombreTabla [ADD CONSTRAINT NombreRestriccion] - DROP CONSTRINT Nombre Restriccion] FOREIGN KEY (columna[,..n]) REFERENCES TablaOrigen (columna[,..n]) Hacer Taller. Yamil Lambert  www.profesorlambert.com
  • 63. Actualización y eliminaciones Cascada  NO ACTION.-Se produce un error y se deshace la instrucción (Predeterminado)  CASCADE.-Los valores de la clave Externa se actualizan o Eliminan.  SET NULL.- Los Valores de la clave externa se establecen a NULL  SET DEFAULT.- Los Valores de la clave externa se establecen a sus valores predeterminados. Hacer Prueba con un taller. Yamil Lambert  www.profesorlambert.com
  • 64. Diagramas de Base Datos  Son representaciones visuales de la BD  Representan las relaciones entre tablas en función de sus claves.  Permiten Modelar y crear un Modelo Entidad Relación o MER.  En SQL-Server se puede modificar los objetos, crear tablas y sus relaciones FK.  Se pueden tener varios Diagramas mas pequeños de un MER grande. Taller – Crear un Diagrama de la Tablas de la base. Yamil Lambert  www.profesorlambert.com
  • 65. MER – Reservas de Libros Yamil Lambert  www.profesorlambert.com
  • 66. Sentencias Transact-SQL Programación de Base de Datos Yamil Lambert  www.profesorlambert.com
  • 67. SQL & T-SQL  SQL.- es un lenguaje de consulta para los sistemas de Bases de Datos relacionales, pero no es un lenguaje Programación.  SQL, no variables, estructuras de control, de flujo, bucles etc.  T-SQL admite el nivel básico de implementación de SQL-92, estándar ANSI.  TSQL.- podemos programar las unidades de programa de la BD.  Procedimientos Almacenados  Funciones  Triggers  Scripts, Etc. Yamil Lambert  www.profesorlambert.com
  • 68. T-SQL - Comentarios  TSQL.- no es CASE-SENSITIVE, es decir no diferencia mayúsculas de minúsculas.  Un comentario es una aclaración que el programador incluye en el código, son soportados 2 estilos:  -- Comentario de una sola línea.  /* */ Comentario de varias líneas. Yamil Lambert  www.profesorlambert.com
  • 69. Scripts y Lotes  Script.- es un conjunto de sentencias de TSQL en formato texto plano que se ejecuta en un servidor de SQL-Server.  GO .- comando para iniciar el envío del lote actual de instrucciones TSQL.  En ocasiones en conveniente separar las sentencias en varios lotes.  Si desea ejecutar cierto código TSQL, márquelo y ejecute con la tecla F5. Hacer un pequeño taller. Yamil Lambert  www.profesorlambert.com
  • 70. Identificadores  Tenemos 2 tipos:  Identificadores Estándar  De 1 a 128 caracteres Máximo.  1er carácter debe ser alfabético.  Después del 1er carácter pueden incluir letras, números o símbolos.  Si empieza con @ indica una variable o parámetro local.  Si empieza con # indica una tabla o procedimiento temporal  Si empieza ## indica un objeto global temporal  Identificadores Delimitados  Si un identificar no cumple alguna de las reglas de formato siempre debe estar delimitado con [ ] Yamil Lambert  www.profesorlambert.com
  • 71. Tipos de datos en TSQL  El tipo de dato define el formato de almacenamiento, espacio en disco- memoria que va ocupar un campo o variable, restricciones y rango de valores validos.  Los tipos de datos de los columnas en las tablas son los mismos para las variables o parámetros. Realizar un taller. Yamil Lambert  www.profesorlambert.com
  • 72. Variables en TSQL  Una variable es un valor identificado por un nombre (identificador) sobre el que podemos realizar modificaciones.  Los identificadores de una variable debe empezar con el carácter @.  Para declarar variables debemos utilizar la palabra clave “DECLARE”, seguido del identificador y tipo de dato.  La asignación de variables con: Instrucción SET   Sentencia SELECT DECLARE {@variableLocal tipoDatos} [,…n] SET @variableLocal = expresión Hacer taller. Yamil Lambert  www.profesorlambert.com
  • 73. Operadores TSQL  Aritméticos:  +,-,*,/,**,%  Comparación:  =, <>, !=, <,>,<=,>=, !>,!<  Lógicos:  AND, NOT, OR  Otros:  ALL, ANY, BETWEEN, LIKE, NOT , SOME Yamil Lambert  www.profesorlambert.com
  • 74. Estructura Condicional IF  Permite evaluar una expresión “booleana” y ejecutar operaciones en el bloque formado por BEGIN END.  Sintaxis: IF (<expresión booleana>) BEGIN … { sentencias SQL o bloques de sentencias} … END ELSE IF BEGIN … { sentencias SQL o bloques de sentencias} … END ELSE BEGIN … { sentencias SQL o bloques de sentencias} … Yamil END -- Realizar Taller. Lambert  www.profesorlambert.com
  • 75. Estructura condicional CASE  Permite evaluar una expresión y devolver un valor u otro.  Sintaxis: CASE <expresión> WHEN <valorExpresión> THEN <valordevuelto> WHEN <valorExpresión> THEN <valordevuelto> ELSE <elseValorDevuelto> -- Valor por defecto END Realizar Taller. Yamil Lambert  www.profesorlambert.com
  • 76. Estructura de control WHILE  El bucle “While” se repita mientras expresión se evalúe como verdadero.  Es el único tipo de bucle que dispone TSQL. Sintaxis: WHILE Expresión_Booleana { sentencias SQL o bloque Sentencias} [BREAK] { sentencias SQL o bloque Sentencias} [CONTINUE] { sentencias SQL o bloque Sentencias} Realizar Taller. Yamil Lambert  www.profesorlambert.com
  • 77. Estructura GOTO  La sentencia GOTO nos permite desviar el flujo de ejecución hacia una etiqueta definida “NomEtiqueta:”.  Se usaba bastante con la variable de sistema @@ERROR para el control de errores.  Actualmente se desaconseja su uso, y se recomienda TRY-CATCH para la gestión de errores. Hacer ejemplo. Yamil Lambert  www.profesorlambert.com
  • 78. Control de Errores – try catch  Si se produce un error en el bloque TRY, el control se transfiere a un bloque CATCH. BEGIN TRY { sentencias SQL o bloque Sentencias} END TRY BEGIN CATCH { sentencias SQL o bloque Sentencias} END CATCH Hacer ejemplo. Yamil Lambert  www.profesorlambert.com
  • 79. Funciones especiales de Error  ERROR_NUMBER().- Numero del Error.  ERROR_SEVERITY().- Severidad del error.  ERROR_STATE().- estado del error  ERROR_PROCEDURE().- Nombre del procedimiento almacenado que ha provocado el error.  ERROR_LINE().- Línea que se ha producido el error.  ERROR_MESSAGE().- Mensaje del error. Ver ejemplo Yamil Lambert  www.profesorlambert.com
  • 80. Generar un error con RAISERROR  Provocar voluntariamente un error.  Cuando los datos incumplen una regla de negocio.  RAISERROR.- recibe 3 parámetros:  Mensaje.- Texto  Severidad.- 0 al 25; solo podemos usar 0 al 18, para el resto debe ser miembro de la función o rol sysadmin.  Estado.- Valores entre 1 y 127. Ver ejemplo. Yamil Lambert  www.profesorlambert.com
  • 81. Consultar Datos – Sentencia SELECT  Consultar datos almacenados en una tabla. SELECT <nombre_campo / lista_selección> INTO <nombre_nueva_tabla> FROM <nombre_tabla> [WHERE <condición> [AND OR <condición>]] [GROUP BY <nombre_campos>] [HAVING <condición>[AND OR <condición>]] [ORDER BY <nombre_campo> [ASC DESC]] [COMPUTE / COMPUTE BY ] Hacer Taller Yamil Lambert  www.profesorlambert.com
  • 82. Distinct, Top y Percent  Distinct.- Elimina las filas duplicadas de los resultados. SELECT DISTINC <CAMPO> FROM <TABLA>  Top.- Limitar el numero de Filas Devueltas.  Percent.- se devuelve el porcentaje (especificado por expresión) de las filas del conjunto de datos. TOP (Expresión) [ PERCENT ] Yamil Lambert  www.profesorlambert.com
  • 83. Alias de Tablas  La legibilidad de una instrucción SELECT se puede mejorar si se proporciona un alias para la tabla.  Conocida como Variable de intervalo o nombre de correlación.  Útil en “Join”, para identificar campos ambiguos. 2 formas: NombreTabla as TablaAlias NombreTabla TablaAlias Yamil Lambert  www.profesorlambert.com
  • 84. Intervalos (BETWEEN Y NOT BETWEEN)  Es una búsqueda que devuelve todos los valores entre dos especificados.  Podemos tener intervalos inclusivos o exclusivos (Operadores <, > ).  Podemos hacer uso del operador NOT. WHERE <CAMPO> BETWEEN <VALOR> AND <VALOR> Yamil Lambert  www.profesorlambert.com
  • 85. Listas (IN, NOT IN)  La palabra clave IN permite seleccionar las filas que coincidan con alguno de los valores de una lista.  Los elementos de una lista deben estar separados por una coma e incluidos entre paréntesis. WHERE <campo> IN (Lista) Yamil Lambert  www.profesorlambert.com
  • 86. Coincidencias de Patrón LIKE y NOT LIKE  Busca valores de cadenas de caracteres que coincidan con un patrón determinado. Caracteres Comodín: % .- Cualquier cadena de cero o mas caracteres. _ .- Cualquier carácter [ ] .- Cualquier carácter individual del intervalo [a-z] o [abcde] [ ^ ] .- Cualquier carácter individual fuera del intervalo. [^a-z] o [^abcde] Yamil Lambert  www.profesorlambert.com
  • 87. Valores NULL (IS NULL e IS NOT NULL)  NULL .- NO es cero ni espacio en blanco.  Ausencia de Valor.  Puede ser considerado como perdida en la integridad de datos. WHERE <CAMPO> IS NULL IS – IS NOT NULL Yamil Lambert  www.profesorlambert.com
  • 88. Cláusula GROUP BY & HAVING  Agrupa un conjunto de filas seleccionado en un conjunto de filas de resumen..  Devuelve una fila por cada grupo.  Puede usar Funciones de agregación como SUM(), AVG(),COUNT(), MAX(),MIN() por grupo.  HAVING.- especifica una condición de búsqueda para un grupo o agregado.  Solo se puede usar con la cláusula GROUP BY GROUP BY <campos> Yamil Lambert  www.profesorlambert.com
  • 89. Subconsultas con Tablas derivadas  Una tabla derivada se crea al utilizar una subconsulta en al cláusula FROM.  Una tabla derivada es funcionalmente equivalente a la consulta entera. SELECT * FROM <SUBCONSULTA> Ejemplo: SELECT tab.salesorderid, tab.cutomerid FROM (SELECT salesorderid,customerid FROM salesorderheader) as TAB Yamil Lambert  www.profesorlambert.com
  • 90. Vistas  Una vista es como una tabla virtual que almacena una consulta (SELECT).  Almacena una consulta como un objeto para utilizarse posteriormente.  Las tablas consultadas en una vista se llaman tablas base.  Las vistas permiten:  Ocultar información: permitiendo el acceso a algunos datos y manteniendo oculto el resto.  El usuario opera con los datos de una vista como si se tratara de una tabla. CREATE VIEW <NombreVista> AS <sentencia SQL SELECT> Yamil Lambert  www.profesorlambert.com
  • 91. Subconsultas con Expresiones  Utilizar en expresiones de calculo.  La subconsulta debe producir un valor escalar o una lista de valores de una sola columna.  Una lista de valores sustituye a una expresión en una cláusula WHERE que contiene la palabra clave IN. Ejemplo: SELECT Name, LisPrice, (SELECT AVG(ListPrice) FROM Product) as Promedio , ListPrice - (SELECT AVG(ListPrice) FROM Product) as Diferencia FROM Product WHERE ProducLine=’T’ Yamil Lambert  www.profesorlambert.com
  • 92. Subconsulta Correlacionada  Usada en una expresión dinámica que cambia en cada fila de una consulta externa.  Esta dividen consultas complejas en dos o mas consultas simples relacionadas. Ejemplo: SELECT SalesOrderID, CustomerID FROM SalesOrderHeader as or1 WHERE 3 < (SELECT OrderQty FROM SalesOrderdetail as od WHERE or1.SalesOrderID=od.SalesOrderID and od.Product=770) Yamil Lambert  www.profesorlambert.com
  • 93. Operadores EXISTS y NOT EXISTS  Son consultas correlacionadas  Con el propósito de restringir el conjunto de resultados de una consulta externa a las filas que cumplen la subconsulta.  Estos devuelve TRUE o FALSE. Ejemplo: SELECT a.firsName, a.LasName FROM Person as a WHERE EXISTS (SELECT * FROM Employee as b WHERE a.BusinessEntityID=b.BusinessEntityID and a.LastName = ‘Jhonson’) Yamil Lambert  www.profesorlambert.com
  • 94. Combinación de Tablas  Recuperar datos de 2 o mas tablas según sus relaciones lógicas.  Especifica una clave externa (FK) y su clave asociada en la otra tabla (PK).  Se pueden usar operadores lógicos para comparación de la columnas (filtrar). Sintaxis: FROM <1raTabla TIPOJOIN 2daTabla> [ON (CondiciónJOIN)] TIPOJOIN.- Interior, Exterior y Cruzada CondiciónJOIN.- Predicado a evaluar por cada par de filas combinadas. Yamil Lambert  www.profesorlambert.com
  • 95. Tipos de Combinaciones Internas:  INNER JOIN o JOIN.- Combinan tablas mediante la comparación de los valores que son comunes en ambas tablas (FK y PK). Externas  LEFT OUTER JOIN o LEFT JOIN  RIGHT OUTER JOIN o RIGHT JOIN  FULL OUTER JOIN o FULL JOIN Cruzadas  CROSS JOIN Realizar Taller. Yamil Lambert  www.profesorlambert.com
  • 96. Sentencia INSERT  Inserta Filas en una Tabla  Mencionamos las columnas y los valores de las misma: INSERT [INTO] Tabla [(col_list)] DEFAULT VALUES VALUES (DEFAULT NULL expresión [,..n])  La opción DEFAULT VALUES inserta valores por defecto en todas las columnas. Yamil Lambert  www.profesorlambert.com
  • 97. Sentencia UPDATE  Modifica los valores existentes de una tabla.  Los registros se modifican de conformidad de la cláusula WHERE.  Si se omita la cláusula WHERE la modifica todas las filas de la tabla. UPDATE tabla SET Columna= expresión DEFAULT NULL [,..N] [FROM] Tabla2 [,..n] [WHERE Condición] Yamil Lambert  www.profesorlambert.com
  • 98. Sentencia DELETE & TRUNCATE TABLE  Elimina los registros de una tabla.  La sentencia opera sobre las filas y no en las columnas. DELETE FROM tabla [WHERE condición] TRUNCATE TABLE  Proporciona una mayor rapidez de ejecución.  No posee cláusula WHERE  Borra todos los registros de una tabla. Yamil Lambert  www.profesorlambert.com
  • 99. XML en consultas  Lenguaje de marcado extensible XML.  Requisitos de muchas aplicaciones actuales.  Transformar datos entre XML y Relacional.  Manejado en Consultas SELECT Cláusula FOR XML, que se anexa a la instrucción SELECT. Taller. Yamil Lambert  www.profesorlambert.com
  • 100. Índices  Optimización en el tiempo de respuesta de consultas.  Un índice es un conjunto de paginas asociado a una tabla o vista.  Si una tabla no tiene índice utiliza en método “table scan” para recuperar filas, menos eficiente.  Se modifican con ALTER INDEX y se elimina con DROP INDEX. CREATE INDEX <NOMBRE> ON <Tabla>(campo [,..n]) Taller Yamil Lambert  www.profesorlambert.com
  • 101. Funciones Definidas por el Usuario  Programación Modular  Ejecución mas rápida.  Reducir el tráfico de RED. Tipos de Funciones:  Escalares  Valores de Tabla en Línea  Valores de Tabla con múltiples Sentencias CREATE FUNCTION <NOMBRE> (Parámetros) RETURNS <tipo de dato> AS BEGIN RETURN <expresión> ENG -- taller Yamil Lambert  www.profesorlambert.com
  • 102. Desencadenadores - TRIGGER  Útiles para implementar Reglas empresariales e Integridad de Datos.  Las instrucciones INSERT, UPDATE y DELETE hacen que se llame a un desencadenador.  Capacidad de consultar otra tabla e incluir instrucciones complejas (lógica). CREATE TRIGGER <Nombre> ON <Tabla o Vista> [ WITH ENCRYPTION ] { { { FOR | ALTER | INSTEAD OF} { [ DELETE] [,] [ INSERT ) [ , ] [ UPDATE] } [ WITH APPEND] [ NOT FOR REPLICATION] AS [ { IF UPDATE (Columna) [ { AND | OR } UPDATE (Columna) ] Yamil [ ..n]  www.profesorlambert.com Lambert
  • 103. Desencadenadores - Escenarios  Auditoria  Seguimientos de cambios en los datos para auditarlos posteriormente  Considerar la Tabla de auditoria como Nombre de usuario, Equipo de host, Nombre de la Aplicación, Fecha y hora de cambio.  Totales de ejecución  Para la realización de información o decisiones puntuales  Tener dichos totales actualizados. Taller Yamil Lambert  www.profesorlambert.com
  • 104. Gracias.  Por Yamil Lambert Sarango  www.profesorlambert.com Yamil Lambert  www.profesorlambert.com