SlideShare una empresa de Scribd logo
1 de 103
Microsoft®
SQL Server 2008
Administración y programación de BD. SQL Server
Por Yamil Lambert
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.
Tipos de Base de Datos
 Variabilidad de los Datos
 Estáticas
 Dinámicas
 Contenido
 Bibliográficas
 Texto Completo
 Directorio
 Información Biológica.
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.
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.
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).
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)).
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.
Integridad de Datos
 Integridad de la entidad
 Integridad Referencial
 Integridad de Dominio
 Físico
 Lógico
 Integridad definida por el Usuario
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.
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
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.
¿ 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.
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.
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.
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.
 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.
Microsoft 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.
Plataforma de SQL Server 2008
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.
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.
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
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.
Taller de Instalación de SQL-Server
1 2
3 4
5 6
7 8
9 10
11 12
13 14
Taller de Instalación de
SQL-Server - Finalización
Conectarse al Servidor
SQL-SERVER
 Tipo de Servidor
 Nombre del Servidor (IP)
 Autenticación
SQL Server Management
Studio
 Explorador de Objetos
 Bases de Datos
 Seguridad
 Objetos de Servidor
 Replica
 Administración
 Servicios de Notificación
 Ficha Resumen
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.
Bases de SQLServer
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.
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)
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
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]
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
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
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)
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.
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
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.
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.
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.
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.
Á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)
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
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
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.
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
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
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.
Tipos de Datos - 7 Categorías
 Numero Exacto
 Bigint
 Int
 Smallint
 Decimal(p,s)
 Numeric(p,s)
 Bit
 Numero Aproximado
 Float
 Real
 Monetario
 Money
 Smallmoney
 Fecha y Tiempo
 DateTime
 Carácter
 Char() Tamaño Fijo
 Varchar() Tamaño Variable
 Text (2GB)
 Binario
 Binary(n)
 Image
 Propósito General
 Timestamp
 XML
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
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 ] ) ] [ ; ]
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).
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.
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.
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)
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)
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.
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.
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.
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.
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.
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.
MER – Reservas de Libros
Sentencias Transact-SQL
Programación de Base de Datos
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.
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.
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.
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 [ ]
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.
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.
Operadores TSQL
 Aritméticos:
 +,-,*,/,**,%
 Comparación:
 =, <>, !=, <,>,<=,>=, !>,!<
 Lógicos:
 AND, NOT, OR
 Otros:
 ALL, ANY, BETWEEN, LIKE, NOT ,
SOME
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}
…
END -- Realizar Taller.
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.
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.
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.
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.
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
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.
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
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 ]
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
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>
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)
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]
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
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>
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
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>
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’
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)
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’)
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.
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.
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.
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]
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.
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.
Í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
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
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) ]
[ ..n]
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

Más contenido relacionado

La actualidad más candente

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
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentesJoseBustos32
 
MDS - Aplicando y gestionando centralizadamente los datos maestros en escenar...
MDS - Aplicando y gestionando centralizadamente los datos maestros en escenar...MDS - Aplicando y gestionando centralizadamente los datos maestros en escenar...
MDS - Aplicando y gestionando centralizadamente los datos maestros en escenar...Joseph Lopez
 
Administracion de base de datos (blas gianpierre balarezo renteria)
Administracion de base de datos   (blas gianpierre balarezo renteria)Administracion de base de datos   (blas gianpierre balarezo renteria)
Administracion de base de datos (blas gianpierre balarezo renteria)Blas Balarezo Renteria
 
Curso sql server 2012 clase 1
Curso sql server 2012 clase 1Curso sql server 2012 clase 1
Curso sql server 2012 clase 1josealopezpastor
 
Presentacion power point
Presentacion power pointPresentacion power point
Presentacion power pointJose Manzano
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentessarahi saldivar
 
Componentes De SQL Server
Componentes De  SQL ServerComponentes De  SQL Server
Componentes De SQL ServerJhon Perez
 
Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netTAPIA SILVA EVELINA
 

La actualidad más candente (20)

Talleres Bd
Talleres BdTalleres Bd
Talleres Bd
 
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
 
BASE DE DATOS
BASE DE DATOSBASE DE DATOS
BASE DE DATOS
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Base de datos3
Base de datos3Base de datos3
Base de datos3
 
Principales Bsases de Datsos
Principales Bsases de DatsosPrincipales Bsases de Datsos
Principales Bsases de Datsos
 
MDS - Aplicando y gestionando centralizadamente los datos maestros en escenar...
MDS - Aplicando y gestionando centralizadamente los datos maestros en escenar...MDS - Aplicando y gestionando centralizadamente los datos maestros en escenar...
MDS - Aplicando y gestionando centralizadamente los datos maestros en escenar...
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Administracion de base de datos (blas gianpierre balarezo renteria)
Administracion de base de datos   (blas gianpierre balarezo renteria)Administracion de base de datos   (blas gianpierre balarezo renteria)
Administracion de base de datos (blas gianpierre balarezo renteria)
 
Act4 presentación jiménez_mireya
Act4 presentación jiménez_mireyaAct4 presentación jiménez_mireya
Act4 presentación jiménez_mireya
 
Curso sql server 2012 clase 1
Curso sql server 2012 clase 1Curso sql server 2012 clase 1
Curso sql server 2012 clase 1
 
Presentacion power point
Presentacion power pointPresentacion power point
Presentacion power point
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Tarea 1 bd
Tarea 1 bdTarea 1 bd
Tarea 1 bd
 
Componentes De SQL Server
Componentes De  SQL ServerComponentes De  SQL Server
Componentes De SQL Server
 
Diapositivas de ado.net
Diapositivas de ado.netDiapositivas de ado.net
Diapositivas de ado.net
 
Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.net
 
Base de datos
Base de datosBase de datos
Base de datos
 
tecnología de conectividad de datos
tecnología de conectividad de datostecnología de conectividad de datos
tecnología de conectividad de datos
 
ADO
ADOADO
ADO
 

Similar a Administracinyprogramacinensql server

Similar a Administracinyprogramacinensql server (20)

Base de datos objeto
Base de datos objetoBase de datos objeto
Base de datos objeto
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
¿Qué es una base de datos?
¿Qué es una base de datos?¿Qué es una base de datos?
¿Qué es una base de datos?
 
Algoritmos Computacionales II.docx
Algoritmos Computacionales II.docxAlgoritmos Computacionales II.docx
Algoritmos Computacionales II.docx
 
Cuadro Comparativo
Cuadro ComparativoCuadro Comparativo
Cuadro Comparativo
 
Base de datos
Base de datosBase de datos
Base de datos
 
Actividad4cosdac
Actividad4cosdacActividad4cosdac
Actividad4cosdac
 
Oracle vs. sql server terminado
Oracle vs. sql server   terminadoOracle vs. sql server   terminado
Oracle vs. sql server terminado
 
Oracle vs. sql server terminado
Oracle vs. sql server   terminadoOracle vs. sql server   terminado
Oracle vs. sql server terminado
 
Bases de datos, Mysql y phpMyadmin
Bases de datos, Mysql y phpMyadminBases de datos, Mysql y phpMyadmin
Bases de datos, Mysql y phpMyadmin
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Diseno de bases de datos Capitulo 1.pdf
Diseno de bases de datos Capitulo 1.pdfDiseno de bases de datos Capitulo 1.pdf
Diseno de bases de datos Capitulo 1.pdf
 
Bases de Datos
Bases de DatosBases de Datos
Bases de Datos
 
Tipos de bases de datos
Tipos de bases de datosTipos de bases de datos
Tipos de bases de datos
 
Tipos de bases de datos
Tipos de bases de datosTipos de bases de datos
Tipos de bases de datos
 
Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Business Intelligence en Azure
Business Intelligence en AzureBusiness Intelligence en Azure
Business Intelligence en Azure
 
Base de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosBase de Datos Grupo Los Informaticos
Base de Datos Grupo Los Informaticos
 

Más de Ashley Stronghold Witwicky

Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Ashley Stronghold Witwicky
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasAshley Stronghold Witwicky
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesAshley Stronghold Witwicky
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncionalAshley Stronghold Witwicky
 

Más de Ashley Stronghold Witwicky (20)

Clase 0.3 normalizacion. sql server aplicado
Clase 0.3   normalizacion. sql server aplicadoClase 0.3   normalizacion. sql server aplicado
Clase 0.3 normalizacion. sql server aplicado
 
Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)
 
Sanson mata un leon con sus manos
Sanson mata un leon con sus manosSanson mata un leon con sus manos
Sanson mata un leon con sus manos
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogas
 
Constancia de servicio
Constancia de servicioConstancia de servicio
Constancia de servicio
 
Requisitos para Guia Mayor
Requisitos para Guia MayorRequisitos para Guia Mayor
Requisitos para Guia Mayor
 
Instructivo de llenado carta poder
Instructivo de llenado carta poderInstructivo de llenado carta poder
Instructivo de llenado carta poder
 
Constancia experiencia profesional
Constancia experiencia profesionalConstancia experiencia profesional
Constancia experiencia profesional
 
Ideales ja
Ideales jaIdeales ja
Ideales ja
 
Mysql
MysqlMysql
Mysql
 
Especialidad de insectos desarrollada
Especialidad de insectos desarrolladaEspecialidad de insectos desarrollada
Especialidad de insectos desarrollada
 
Manual basico autocad_2012
Manual basico autocad_2012Manual basico autocad_2012
Manual basico autocad_2012
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantes
 
Ecuaciones primer grado con una incognita
Ecuaciones primer grado con una incognitaEcuaciones primer grado con una incognita
Ecuaciones primer grado con una incognita
 
Conversion de unidades
Conversion de unidadesConversion de unidades
Conversion de unidades
 
Curso de my sql
Curso de my sqlCurso de my sql
Curso de my sql
 
Manual de microsoft publisher 2007
Manual de microsoft publisher 2007Manual de microsoft publisher 2007
Manual de microsoft publisher 2007
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncional
 
Biblia de publisher 2007
Biblia de publisher 2007Biblia de publisher 2007
Biblia de publisher 2007
 
Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007
 

Último

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
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
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
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
 
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
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
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
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 

Último (20)

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
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
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
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
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
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
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 

Administracinyprogramacinensql server

  • 1. Microsoft® SQL Server 2008 Administración y programación de BD. SQL Server Por Yamil Lambert
  • 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.
  • 3. Tipos de Base de Datos  Variabilidad de los Datos  Estáticas  Dinámicas  Contenido  Bibliográficas  Texto Completo  Directorio  Información Biológica.
  • 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.
  • 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.
  • 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).
  • 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)).
  • 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.
  • 9. Integridad de Datos  Integridad de la entidad  Integridad Referencial  Integridad de Dominio  Físico  Lógico  Integridad definida por el Usuario
  • 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.
  • 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
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 17.  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. Microsoft SQL-Server 2008
  • 18.  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. Plataforma de SQL Server 2008
  • 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.
  • 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.
  • 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
  • 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.
  • 23. Taller de Instalación de SQL-Server 1 2 3 4
  • 26. 13 14 Taller de Instalación de SQL-Server - Finalización
  • 27. Conectarse al Servidor SQL-SERVER  Tipo de Servidor  Nombre del Servidor (IP)  Autenticación
  • 28. SQL Server Management Studio  Explorador de Objetos  Bases de Datos  Seguridad  Objetos de Servidor  Replica  Administración  Servicios de Notificación  Ficha Resumen
  • 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.
  • 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.
  • 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)
  • 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
  • 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]
  • 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
  • 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
  • 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)
  • 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.
  • 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
  • 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.
  • 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.
  • 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.
  • 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.
  • 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)
  • 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
  • 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
  • 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.
  • 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
  • 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
  • 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.
  • 51. Tipos de Datos - 7 Categorías  Numero Exacto  Bigint  Int  Smallint  Decimal(p,s)  Numeric(p,s)  Bit  Numero Aproximado  Float  Real  Monetario  Money  Smallmoney  Fecha y Tiempo  DateTime  Carácter  Char() Tamaño Fijo  Varchar() Tamaño Variable  Text (2GB)  Binario  Binary(n)  Image  Propósito General  Timestamp  XML
  • 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
  • 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 ] ) ] [ ; ]
  • 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).
  • 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.
  • 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.
  • 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)
  • 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)
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 65. MER – Reservas de Libros
  • 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.
  • 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.
  • 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.
  • 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 [ ]
  • 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.
  • 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.
  • 73. Operadores TSQL  Aritméticos:  +,-,*,/,**,%  Comparación:  =, <>, !=, <,>,<=,>=, !>,!<  Lógicos:  AND, NOT, OR  Otros:  ALL, ANY, BETWEEN, LIKE, NOT , SOME
  • 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} … END -- Realizar Taller.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • 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.
  • 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
  • 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 ]
  • 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
  • 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>
  • 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)
  • 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]
  • 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
  • 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>
  • 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
  • 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>
  • 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’
  • 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)
  • 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’)
  • 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.
  • 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.
  • 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.
  • 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]
  • 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.
  • 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.
  • 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
  • 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
  • 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) ] [ ..n]
  • 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