SlideShare a Scribd company logo
1 of 76
Desarrollo Aplicaciones con SQL Server 2005
Introducción a:  Email: bernardo.robelo@gmail.com Ing. Bernardo Robelo
Ing. BARJ - 2008 PROCEDIMIENTOS FUNCIONES DE USUARIO VISTAS INTEGRIDAD DE DATOS TRIGGERS CURSORES AGENDA TRANSACT - SQL INDICES
Ing. BARJ – 2008 Transact-SQL ¿Que es?
Transact-SQL Ing. BARJ – 2008 Lenguaje de Definición De Datos
Tipos de datos del sistema ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
[object Object],[object Object],Tipos de datos definidos por el usuario Ing. BARJ – IST – UPOLI - 2008
Tipos de datos definidos por el usuario ,[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Implementación de la integridad de datos Ing. BARJ – IST – UPOLI - 2008
¿Que es la integridad de datos? Ing. BARJ – IST – UPOLI - 2008
Tipos de integridad de datos Ing. BARJ – IST – UPOLI - 2008 Integridad de dominio  ( columnas ) Integridad de entidad   (filas) Integridad referencial ( entre tablas )
Exigir integridad de los datos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Integridad de datos Ing. BARJ – IST – UPOLI - 2008
Determinación del tipo de restricción que se va a utilizar Ing. BARJ – IST – UPOLI - 2008 Tipo de integridad Tipo de restricción Dominio DEFAULT CHECK REFERENTIAL Entidad PRIMARY KEY UNIQUE Referencial FOREIGN KEY CHECK
Tipos de restricciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
¿Qué es un Indice Ing. BARJ – IST – UPOLI - 2008
Tipos de Indice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
¿Qué es una Vista? Ing. BARJ – IST – UPOLI - 2008
Introducción a las vistas Ing. BARJ – IST – UPOLI - 2008 EmployeeView Lastname  Firstname Davolio  Fuller  Leverling Nancy  Andrew  Janet Employees EmployeeID LastName  Firstname Title 1 2 3 Davolio Fuller Leverling Nancy Andrew Janet ~~~ ~~~ ~~~ Vista del usuario USE  Northwind GO CREATE VIEW dbo. Employee View AS  SELECT  LastName ,  Firstname FROM  Employees
Ventajas de las vistas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Ejemplo:   Vista de tablas combinadas Ing. BARJ – IST – UPOLI - 2008 OrderID 10663 10827 10427 10451 10515 CustomerID BONAP  BONAP  PICCO  QUICK QUICK ~~~  ~~~  ~~~  ~~~  ~~~ RequiredDate 1997-09-24 1998-01-26 1997-02-24 1997-03-05 1997-05-07 ShippedDate 1997-10-03 1998-02-06 1997-03-03 1997-03-12 1997-05-23 Orders Customers ShipStatusView USE Northwind GO CREATE VIEW dbo.ShipStatusView AS SELECT OrderID, ShippedDate, ContactName FROM Customers c INNER JOIN Orders o   ON c.CustomerID = O.CustomerID WHERE RequiredDate < ShippedDate CustomerID BONAP PICCO QUICK CompanyName Bon app' Piccolo und mehr QUICK-Stop ContactName Laurence Lebihan Georg Pipps Horst Kloss OrderID 10264 10271 10280 1996-08-21 1996-08-29 1996-09-11 ShippedDate 1996-08-23 1996-08-30 1996-09-12 ContactName Laurence Lebihan Georg Pipps Horst Kloss
Uso de vistas para dividir datos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008 Práctica:   Implementación de vistas
Práctica: Implementación de vistas Ing. BARJ – IST – UPOLI - 2008
¿Qué es un  procedimiento almacenado? Ing. BARJ – IST – UPOLI - 2008
Definición de procedimientos almacenados ,[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Ventajas de los procedimientos almacenados  ,[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Creación de procedimientos almacenados ,[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008 USE Northwind GO CREATE PROC dbo.OverdueOrders AS SELECT *  FROM dbo.Orders WHERE RequiredDate < GETDATE() AND ShippedDate IS Null GO
Ejecución de procedimientos almacenados ,[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008 EXEC OverdueOrders   INSERT INTO Customers EXEC EmployeeCustomer
Ejecución de procedimientos ,[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008 EXEC AddCustomer 'ALFKI2', 'Alfreds Futterkiste', 'Maria Anders', 'Sales Representative', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany', '030-0074321'   EXEC AddCustomer  @CustomerID = 'ALFKI', @ContactName = 'Maria Anders', @CompanyName = 'Alfreds Futterkiste', @ContactTitle = 'Sales Representative', @Address = 'Obere Str. 57', @City = 'Berlin', @PostalCode = '12209', @Country = 'Germany', @Phone = '030-0074321'
Devolución de valores mediante parámetros de salida Ing. BARJ – IST – UPOLI - 2008 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Resultados del  procedimiento almacenado Ejecución del  procedimiento  almacenado Creación del  procedimiento  almacenado
Control de mensajes de error ,[object Object],Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008 Práctica Procedimientos Almacenados
PROCEDIMIENTOS CON PARÁMETROS Ing. BARJ – IST – UPOLI - 2008
PROCEDIMIENTOS ALMACENADOS CON PARÁMETROS  CON VALORES POR DEFECTO Ing. BARJ – IST – UPOLI - 2008
PROCEDIMIENTOS ALMACENADOS CON PARÁMETROS  CON VALORES POR DEFECTO Ing. BARJ – IST – UPOLI - 2008
PROCEDIMIENTOS ALMACENADOS CON PARÁMETROS  CON VALORES POR DEFECTO Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008
VARIABLES DE SALIDA  EN PROCEDIMIENTOS ALMACENADOS Ing. BARJ – IST – UPOLI - 2008
VARIABLES DE SALIDA  EN PROCEDIMIENTOS ALMACENADOS Ing. BARJ – IST – UPOLI - 2008
Ejemplos Ing. BARJ – IST – UPOLI - 2008
Ejemplos Ing. BARJ – IST – UPOLI - 2008
¿Qué es una función definida por el usuario? Ing. BARJ – IST – UPOLI - 2008
¿Qué es una función definida por el usuario? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Uso de una función escalar definida por el usuario ,[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008 Demostracion:   Creación de funciones definidas por el usuario
FUNCIONES DEFINIDAS POR EL USUARIO Ing. BARJ – IST – UPOLI - 2008 Declare Table
Funciones Escalares ,[object Object],Ing. BARJ – IST – UPOLI - 2008
Funciones de Tablas en Linea Ing. BARJ – IST – UPOLI - 2008
Funciones de Tablas Con Instrucciones Ing. BARJ – IST – UPOLI - 2008
Funciones con Definicion de Esquema Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008 Práctica:   Creación de funciones definidas por el usuario
Ejercicios Ing. BARJ – IST – UPOLI - 2008 Ver Solución
Ejercicios Ing. BARJ – IST – UPOLI - 2008 Solución
Ejercicios Ing. BARJ – IST – UPOLI - 2008
Ejercicios Ing. BARJ – IST – UPOLI - 2008
¿Que es un TRIGGER?   (DESENCADENADORES, DISPARADORES) Ing. BARJ – IST – UPOLI - 2008
¿Qué es un desencadenador? ,[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Consideraciones acerca del uso de desencadenadores ,[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Funcionamiento de los desencadenadores anidados Ing. BARJ – IST – UPOLI - 2008 2 15  UnitsInStock + UnitsOnOrder  es < ReorderLevel para ProductID 2 OrDe_Update La realización de un pedido provoca la ejecución del desencadenador OrDe_Update Se ejecuta la instrucción UPDATE en la tabla  Products InStock_Update Products ProductID UnitsInStock … … 1 3 4 15 15 65 20 Se ejecuta el desencadenador   InStock_Update Envía un mensaje Order_Details OrderID 10522 10523 10524 ProductID 10 41 7 UnitPrice 31.00 9.65 30.00 Quantity 7 9 24 Discount 0.2 0.15 0.0 10525 19.00 2 0.2 5 2 15
Desencadenadores recursivos ,[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Exigir reglas de empresa Ing. BARJ – IST – UPOLI - 2008 L os productos con pedidos pendientes no se pueden elimina r IF (Select Count (*)    FROM [Order Details] INNER JOIN deleted    ON [Order Details].ProductID = deleted.ProductID   ) > 0 ROLLBACK TRANSACTION La instrucción   DELETE se   ejecuta   en la tabla Product El código del   desencadenador comprueba la tabla Order Details ' No puede procesarse la transacción ' ' Este producto tiene historial de pedidos ' Se deshace la transacción Products ProductID UnitsInStock … … 1 2 3 4 15 10 65 20 Order Details OrderID 10522 10523 10524 10525 ProductID 10 2 41 7 UnitPrice 31.00 19.00 9.65 30.00 Quantity 7 9 24 Discount 0.2 0.15 0.0 9 Products ProductID UnitsInStock … … 1 3 4 15 10 65 20 2 0
Consideraciones acerca del rendimiento ,[object Object],[object Object],[object Object],[object Object],[object Object],Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008 Demostracion:   TRIGGERS (DESENCADENADORES, DISPARADORES)
TRIGGERS Ing. BARJ – IST – UPOLI - 2008
TRIGGERS Ing. BARJ – IST – UPOLI - 2008
TRIGGERS Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008
TRIGGERS Ing. BARJ – IST – UPOLI - 2008
TRIGGERS Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008 CONCLUSIONES GENERALES
Ing. BARJ – IST – UPOLI - 2008 MUCHAS GRACIAS! [email_address] Ing. Bernardo Robelo http://bernardorobelo.blogspot.com
Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008
Ing. BARJ – IST – UPOLI - 2008

More Related Content

What's hot

Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenadoshirmaroxana13
 
Categorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCategorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCarlos Pereda Miñano
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...José Antonio Sandoval Acosta
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoJosé Antonio Sandoval Acosta
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sqlSuarezJhon
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLLuiS YmAY
 
Base de datos laboratorio
Base de datos laboratorioBase de datos laboratorio
Base de datos laboratoriofreddy Fred
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Lo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql serverLo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql serverEnrique Catala Bañuls
 
Administrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBAAdministrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBASpanishPASSVC
 
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1Guillermo Taylor
 
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
 

What's hot (20)

Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
Categorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCategorias de Procedimientos Almacenados
Categorias de Procedimientos Almacenados
 
Lenguaje Transact SQL
Lenguaje Transact SQL Lenguaje Transact SQL
Lenguaje Transact SQL
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la info
 
Ms SQL Server
Ms SQL ServerMs SQL Server
Ms SQL Server
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Sql procedimientos-almacenados
Sql procedimientos-almacenadosSql procedimientos-almacenados
Sql procedimientos-almacenados
 
Sql Procedural
Sql ProceduralSql Procedural
Sql Procedural
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
Base de datos laboratorio
Base de datos laboratorioBase de datos laboratorio
Base de datos laboratorio
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenados
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
 
Lo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql serverLo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql server
 
Administrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBAAdministrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBA
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1
 
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
 

Similar to Programacion con SQL Server 2005

Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidorRichard Castro
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Julián Castiblanco
 
Bd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 TodosBd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 TodosArmando
 
Características de Capataz 2007
Características de Capataz 2007Características de Capataz 2007
Características de Capataz 2007Gonzalo Ferreyra
 
Auditoría de bases de datos
Auditoría de bases de datosAuditoría de bases de datos
Auditoría de bases de datosDaniel Iba
 
Funcionalidades de QUALITY MASTER
Funcionalidades de QUALITY MASTERFuncionalidades de QUALITY MASTER
Funcionalidades de QUALITY MASTERJoaquin Bona
 
Presentac Une Iso 23081
Presentac Une Iso 23081Presentac Une Iso 23081
Presentac Une Iso 23081FESABID
 
ETL Aplicado a Empresas.ppt
ETL Aplicado a Empresas.pptETL Aplicado a Empresas.ppt
ETL Aplicado a Empresas.pptVAOC1984
 
ORACLE FUNDAMENTALS I
ORACLE FUNDAMENTALS IORACLE FUNDAMENTALS I
ORACLE FUNDAMENTALS IRaquel Solano
 
Auditoria en oracle
Auditoria en oracleAuditoria en oracle
Auditoria en oraclevictdiazm
 
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)avanttic Consultoría Tecnológica
 
032 k2 b-audit_la_forma_mas_sencilla_de_auditar_su_aplicacion
032 k2 b-audit_la_forma_mas_sencilla_de_auditar_su_aplicacion032 k2 b-audit_la_forma_mas_sencilla_de_auditar_su_aplicacion
032 k2 b-audit_la_forma_mas_sencilla_de_auditar_su_aplicacionGeneXus
 
ETL: Logging y auditoría en SSIS
ETL: Logging y auditoría en SSISETL: Logging y auditoría en SSIS
ETL: Logging y auditoría en SSISSolidQ
 
Investigacion Uno
Investigacion UnoInvestigacion Uno
Investigacion UnoRoberto
 
Auditoria_de_base_de_datos_sistemas de informacion.pptx
Auditoria_de_base_de_datos_sistemas de informacion.pptxAuditoria_de_base_de_datos_sistemas de informacion.pptx
Auditoria_de_base_de_datos_sistemas de informacion.pptxSergioIrusta1
 

Similar to Programacion con SQL Server 2005 (20)

Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
Bd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 TodosBd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 Todos
 
ABI-Box
ABI-BoxABI-Box
ABI-Box
 
Características de Capataz 2007
Características de Capataz 2007Características de Capataz 2007
Características de Capataz 2007
 
Auditoría de bases de datos
Auditoría de bases de datosAuditoría de bases de datos
Auditoría de bases de datos
 
Funcionalidades de QUALITY MASTER
Funcionalidades de QUALITY MASTERFuncionalidades de QUALITY MASTER
Funcionalidades de QUALITY MASTER
 
Presentac Une Iso 23081
Presentac Une Iso 23081Presentac Une Iso 23081
Presentac Une Iso 23081
 
ETL Aplicado a Empresas.ppt
ETL Aplicado a Empresas.pptETL Aplicado a Empresas.ppt
ETL Aplicado a Empresas.ppt
 
ORACLE FUNDAMENTALS I
ORACLE FUNDAMENTALS IORACLE FUNDAMENTALS I
ORACLE FUNDAMENTALS I
 
Auditoria en oracle
Auditoria en oracleAuditoria en oracle
Auditoria en oracle
 
iCAN Interactive ES
iCAN Interactive ESiCAN Interactive ES
iCAN Interactive ES
 
RUP
RUPRUP
RUP
 
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
 
032 k2 b-audit_la_forma_mas_sencilla_de_auditar_su_aplicacion
032 k2 b-audit_la_forma_mas_sencilla_de_auditar_su_aplicacion032 k2 b-audit_la_forma_mas_sencilla_de_auditar_su_aplicacion
032 k2 b-audit_la_forma_mas_sencilla_de_auditar_su_aplicacion
 
ETL: Logging y auditoría en SSIS
ETL: Logging y auditoría en SSISETL: Logging y auditoría en SSIS
ETL: Logging y auditoría en SSIS
 
Investigacion Uno
Investigacion UnoInvestigacion Uno
Investigacion Uno
 
Auditoria_de_base_de_datos_sistemas de informacion.pptx
Auditoria_de_base_de_datos_sistemas de informacion.pptxAuditoria_de_base_de_datos_sistemas de informacion.pptx
Auditoria_de_base_de_datos_sistemas de informacion.pptx
 
TODO SOBRE SQL
TODO SOBRE SQLTODO SOBRE SQL
TODO SOBRE SQL
 
Sql
SqlSql
Sql
 

More from brobelo

Microsoft Excel 2007 - Guia de Ejercicios
Microsoft Excel 2007 - Guia de EjerciciosMicrosoft Excel 2007 - Guia de Ejercicios
Microsoft Excel 2007 - Guia de Ejerciciosbrobelo
 
Excel 2007
Excel 2007Excel 2007
Excel 2007brobelo
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQLbrobelo
 
Microsoft office access 2007
Microsoft office access 2007Microsoft office access 2007
Microsoft office access 2007brobelo
 
XML en .NET
XML en .NETXML en .NET
XML en .NETbrobelo
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008brobelo
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NETbrobelo
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoftbrobelo
 
Modelos De Data Mining
Modelos De Data MiningModelos De Data Mining
Modelos De Data Miningbrobelo
 
Data Mining
Data MiningData Mining
Data Miningbrobelo
 
Manual Analysis Services
Manual Analysis ServicesManual Analysis Services
Manual Analysis Servicesbrobelo
 
Analysis Services
Analysis ServicesAnalysis Services
Analysis Servicesbrobelo
 
Bussines Intelligence
Bussines IntelligenceBussines Intelligence
Bussines Intelligencebrobelo
 
Reporting Services
Reporting ServicesReporting Services
Reporting Servicesbrobelo
 
SQL SERVER Service Broker
SQL SERVER Service BrokerSQL SERVER Service Broker
SQL SERVER Service Brokerbrobelo
 
Replicacion de Datos en SQL Server
Replicacion de Datos en SQL ServerReplicacion de Datos en SQL Server
Replicacion de Datos en SQL Serverbrobelo
 
SQL Server - Como se Almacenan los Datos
SQL Server - Como se Almacenan los DatosSQL Server - Como se Almacenan los Datos
SQL Server - Como se Almacenan los Datosbrobelo
 
Variables en SSIS
Variables en SSISVariables en SSIS
Variables en SSISbrobelo
 
SQL Server Integration Services
SQL Server Integration ServicesSQL Server Integration Services
SQL Server Integration Servicesbrobelo
 

More from brobelo (20)

Microsoft Excel 2007 - Guia de Ejercicios
Microsoft Excel 2007 - Guia de EjerciciosMicrosoft Excel 2007 - Guia de Ejercicios
Microsoft Excel 2007 - Guia de Ejercicios
 
Excel 2007
Excel 2007Excel 2007
Excel 2007
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Microsoft office access 2007
Microsoft office access 2007Microsoft office access 2007
Microsoft office access 2007
 
XML en .NET
XML en .NETXML en .NET
XML en .NET
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NET
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoft
 
Modelos De Data Mining
Modelos De Data MiningModelos De Data Mining
Modelos De Data Mining
 
Data Mining
Data MiningData Mining
Data Mining
 
Manual Analysis Services
Manual Analysis ServicesManual Analysis Services
Manual Analysis Services
 
Analysis Services
Analysis ServicesAnalysis Services
Analysis Services
 
Bussines Intelligence
Bussines IntelligenceBussines Intelligence
Bussines Intelligence
 
Reporting Services
Reporting ServicesReporting Services
Reporting Services
 
SQL SERVER Service Broker
SQL SERVER Service BrokerSQL SERVER Service Broker
SQL SERVER Service Broker
 
Replicacion de Datos en SQL Server
Replicacion de Datos en SQL ServerReplicacion de Datos en SQL Server
Replicacion de Datos en SQL Server
 
SQL Server - Como se Almacenan los Datos
SQL Server - Como se Almacenan los DatosSQL Server - Como se Almacenan los Datos
SQL Server - Como se Almacenan los Datos
 
Variables en SSIS
Variables en SSISVariables en SSIS
Variables en SSIS
 
SQL Server Integration Services
SQL Server Integration ServicesSQL Server Integration Services
SQL Server Integration Services
 

Recently uploaded

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Recently uploaded (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Programacion con SQL Server 2005

  • 1. Desarrollo Aplicaciones con SQL Server 2005
  • 2. Introducción a: Email: bernardo.robelo@gmail.com Ing. Bernardo Robelo
  • 3. Ing. BARJ - 2008 PROCEDIMIENTOS FUNCIONES DE USUARIO VISTAS INTEGRIDAD DE DATOS TRIGGERS CURSORES AGENDA TRANSACT - SQL INDICES
  • 4. Ing. BARJ – 2008 Transact-SQL ¿Que es?
  • 5. Transact-SQL Ing. BARJ – 2008 Lenguaje de Definición De Datos
  • 6.
  • 7.
  • 8.
  • 9. Implementación de la integridad de datos Ing. BARJ – IST – UPOLI - 2008
  • 10. ¿Que es la integridad de datos? Ing. BARJ – IST – UPOLI - 2008
  • 11. Tipos de integridad de datos Ing. BARJ – IST – UPOLI - 2008 Integridad de dominio ( columnas ) Integridad de entidad (filas) Integridad referencial ( entre tablas )
  • 12.
  • 13. Integridad de datos Ing. BARJ – IST – UPOLI - 2008
  • 14. Determinación del tipo de restricción que se va a utilizar Ing. BARJ – IST – UPOLI - 2008 Tipo de integridad Tipo de restricción Dominio DEFAULT CHECK REFERENTIAL Entidad PRIMARY KEY UNIQUE Referencial FOREIGN KEY CHECK
  • 15.
  • 16. ¿Qué es un Indice Ing. BARJ – IST – UPOLI - 2008
  • 17.
  • 18. ¿Qué es una Vista? Ing. BARJ – IST – UPOLI - 2008
  • 19. Introducción a las vistas Ing. BARJ – IST – UPOLI - 2008 EmployeeView Lastname Firstname Davolio Fuller Leverling Nancy Andrew Janet Employees EmployeeID LastName Firstname Title 1 2 3 Davolio Fuller Leverling Nancy Andrew Janet ~~~ ~~~ ~~~ Vista del usuario USE Northwind GO CREATE VIEW dbo. Employee View AS SELECT LastName , Firstname FROM Employees
  • 20.
  • 21. Ejemplo: Vista de tablas combinadas Ing. BARJ – IST – UPOLI - 2008 OrderID 10663 10827 10427 10451 10515 CustomerID BONAP BONAP PICCO QUICK QUICK ~~~ ~~~ ~~~ ~~~ ~~~ RequiredDate 1997-09-24 1998-01-26 1997-02-24 1997-03-05 1997-05-07 ShippedDate 1997-10-03 1998-02-06 1997-03-03 1997-03-12 1997-05-23 Orders Customers ShipStatusView USE Northwind GO CREATE VIEW dbo.ShipStatusView AS SELECT OrderID, ShippedDate, ContactName FROM Customers c INNER JOIN Orders o ON c.CustomerID = O.CustomerID WHERE RequiredDate < ShippedDate CustomerID BONAP PICCO QUICK CompanyName Bon app' Piccolo und mehr QUICK-Stop ContactName Laurence Lebihan Georg Pipps Horst Kloss OrderID 10264 10271 10280 1996-08-21 1996-08-29 1996-09-11 ShippedDate 1996-08-23 1996-08-30 1996-09-12 ContactName Laurence Lebihan Georg Pipps Horst Kloss
  • 22.
  • 23. Ing. BARJ – IST – UPOLI - 2008 Práctica: Implementación de vistas
  • 24. Práctica: Implementación de vistas Ing. BARJ – IST – UPOLI - 2008
  • 25. ¿Qué es un procedimiento almacenado? Ing. BARJ – IST – UPOLI - 2008
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. Ing. BARJ – IST – UPOLI - 2008 Práctica Procedimientos Almacenados
  • 34. PROCEDIMIENTOS CON PARÁMETROS Ing. BARJ – IST – UPOLI - 2008
  • 35. PROCEDIMIENTOS ALMACENADOS CON PARÁMETROS CON VALORES POR DEFECTO Ing. BARJ – IST – UPOLI - 2008
  • 36. PROCEDIMIENTOS ALMACENADOS CON PARÁMETROS CON VALORES POR DEFECTO Ing. BARJ – IST – UPOLI - 2008
  • 37. PROCEDIMIENTOS ALMACENADOS CON PARÁMETROS CON VALORES POR DEFECTO Ing. BARJ – IST – UPOLI - 2008
  • 38. Ing. BARJ – IST – UPOLI - 2008
  • 39. VARIABLES DE SALIDA EN PROCEDIMIENTOS ALMACENADOS Ing. BARJ – IST – UPOLI - 2008
  • 40. VARIABLES DE SALIDA EN PROCEDIMIENTOS ALMACENADOS Ing. BARJ – IST – UPOLI - 2008
  • 41. Ejemplos Ing. BARJ – IST – UPOLI - 2008
  • 42. Ejemplos Ing. BARJ – IST – UPOLI - 2008
  • 43. ¿Qué es una función definida por el usuario? Ing. BARJ – IST – UPOLI - 2008
  • 44.
  • 45.
  • 46. Ing. BARJ – IST – UPOLI - 2008 Demostracion: Creación de funciones definidas por el usuario
  • 47. FUNCIONES DEFINIDAS POR EL USUARIO Ing. BARJ – IST – UPOLI - 2008 Declare Table
  • 48.
  • 49. Funciones de Tablas en Linea Ing. BARJ – IST – UPOLI - 2008
  • 50. Funciones de Tablas Con Instrucciones Ing. BARJ – IST – UPOLI - 2008
  • 51. Funciones con Definicion de Esquema Ing. BARJ – IST – UPOLI - 2008
  • 52. Ing. BARJ – IST – UPOLI - 2008 Práctica: Creación de funciones definidas por el usuario
  • 53. Ejercicios Ing. BARJ – IST – UPOLI - 2008 Ver Solución
  • 54. Ejercicios Ing. BARJ – IST – UPOLI - 2008 Solución
  • 55. Ejercicios Ing. BARJ – IST – UPOLI - 2008
  • 56. Ejercicios Ing. BARJ – IST – UPOLI - 2008
  • 57. ¿Que es un TRIGGER? (DESENCADENADORES, DISPARADORES) Ing. BARJ – IST – UPOLI - 2008
  • 58.
  • 59.
  • 60. Funcionamiento de los desencadenadores anidados Ing. BARJ – IST – UPOLI - 2008 2 15 UnitsInStock + UnitsOnOrder es < ReorderLevel para ProductID 2 OrDe_Update La realización de un pedido provoca la ejecución del desencadenador OrDe_Update Se ejecuta la instrucción UPDATE en la tabla Products InStock_Update Products ProductID UnitsInStock … … 1 3 4 15 15 65 20 Se ejecuta el desencadenador InStock_Update Envía un mensaje Order_Details OrderID 10522 10523 10524 ProductID 10 41 7 UnitPrice 31.00 9.65 30.00 Quantity 7 9 24 Discount 0.2 0.15 0.0 10525 19.00 2 0.2 5 2 15
  • 61.
  • 62. Exigir reglas de empresa Ing. BARJ – IST – UPOLI - 2008 L os productos con pedidos pendientes no se pueden elimina r IF (Select Count (*) FROM [Order Details] INNER JOIN deleted ON [Order Details].ProductID = deleted.ProductID ) > 0 ROLLBACK TRANSACTION La instrucción DELETE se ejecuta en la tabla Product El código del desencadenador comprueba la tabla Order Details ' No puede procesarse la transacción ' ' Este producto tiene historial de pedidos ' Se deshace la transacción Products ProductID UnitsInStock … … 1 2 3 4 15 10 65 20 Order Details OrderID 10522 10523 10524 10525 ProductID 10 2 41 7 UnitPrice 31.00 19.00 9.65 30.00 Quantity 7 9 24 Discount 0.2 0.15 0.0 9 Products ProductID UnitsInStock … … 1 3 4 15 10 65 20 2 0
  • 63.
  • 64. Ing. BARJ – IST – UPOLI - 2008 Demostracion: TRIGGERS (DESENCADENADORES, DISPARADORES)
  • 65. TRIGGERS Ing. BARJ – IST – UPOLI - 2008
  • 66. TRIGGERS Ing. BARJ – IST – UPOLI - 2008
  • 67. TRIGGERS Ing. BARJ – IST – UPOLI - 2008
  • 68. Ing. BARJ – IST – UPOLI - 2008
  • 69. TRIGGERS Ing. BARJ – IST – UPOLI - 2008
  • 70. TRIGGERS Ing. BARJ – IST – UPOLI - 2008
  • 71. Ing. BARJ – IST – UPOLI - 2008
  • 72. Ing. BARJ – IST – UPOLI - 2008 CONCLUSIONES GENERALES
  • 73. Ing. BARJ – IST – UPOLI - 2008 MUCHAS GRACIAS! [email_address] Ing. Bernardo Robelo http://bernardorobelo.blogspot.com
  • 74. Ing. BARJ – IST – UPOLI - 2008
  • 75. Ing. BARJ – IST – UPOLI - 2008
  • 76. Ing. BARJ – IST – UPOLI - 2008

Editor's Notes

  1. DDL – Data Definition Languaje
  2. De dominio controlado por el tipo de datos y los valores que puede aceptar
  3. Ver Diferencia cuando le quitamos el PRINT @TOTAL
  4. Lo de la TABLA CONTROL es para los TRIGGERS tambien, para crear una vitacora
  5. IMPORTANTE: El esquema de propietario de la tablas deben estar definidas en la funcion. SINO da error.
  6. Asociación a una tabla Los desencadenadores se definen para una tabla específica, denominada tabla del desencadenador. Invocación automática Cuando se intenta insertar, actualizar o eliminar datos de una tabla en la que se ha definido un desencadenador para esa acción específica, el desencadenador se ejecuta automáticamente. No es posible evitar su ejecución. Imposibilidad de llamada directa A diferencia de los procedimientos almacenados del sistema normales, no es posible invocar directamente los desencadenadores, que tampoco pasan ni aceptan parámetros.