IntroduccióN A Sql Server 2005

4,717 views
4,592 views

Published on

Published in: Economy & Finance
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,717
On SlideShare
0
From Embeds
0
Number of Embeds
55
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

IntroduccióN A Sql Server 2005

  1. 1. Ing. Eric Huiza Pereyra .Net Senior Developer Quadrem www.quadrem.com
  2. 2. <ul><li>Introducción. </li></ul><ul><li>Creación de Bases de datos. </li></ul><ul><li>Creación de Tablas. </li></ul><ul><li>Creación de Esquemas. </li></ul><ul><li>Creación de Vistas. </li></ul><ul><li>Creación de Procedimientos Almacenados. </li></ul><ul><li>Creación de Triggers. </li></ul><ul><li>Creación de Funciones. </li></ul><ul><li>Integración con el CLR. </li></ul>
  3. 3. <ul><li>Motor de bases de datos. </li></ul><ul><li>Servicios de Análisis. </li></ul><ul><li>Servicios de integración. </li></ul><ul><li>Replicación. </li></ul><ul><li>Servicios de Reporte. </li></ul><ul><li>Servicios de Notificación. </li></ul><ul><li>Búsqueda Full-Text. </li></ul><ul><li>Service Broker. </li></ul>
  4. 4. <ul><li>Procesamiento OLTP y OLAP </li></ul>
  5. 5. <ul><li>OLAP y Minería de datos. </li></ul>
  6. 6. <ul><li>Uso de fuentes de datos heterogéneas. </li></ul>
  7. 7. <ul><li>Sincronización y distribución de datos remotos. </li></ul>
  8. 8. <ul><li>Generación de reportes utilizando tecnologías de servidor. </li></ul>
  9. 9. <ul><li>Envió de notificaciones entre publicadores y subscriptores. </li></ul>
  10. 10. <ul><li>Búsqueda altamente sofisticada basada en texto. </li></ul>
  11. 11. <ul><li>Soporte nativo para mensajera asíncrona </li></ul>
  12. 12. <ul><li>Base de datos. </li></ul><ul><ul><li>Conjunto de entidades (tablas) que contienen datos estructurados. </li></ul></ul>
  13. 13. <ul><li>CREATE DATABASE MySalesDB </li></ul><ul><li>ON </li></ul><ul><li>( NAME = Sales_dat, </li></ul><ul><li>FILENAME = 'C:DataMySalesDB.mdf', </li></ul><ul><li>SIZE = 10, </li></ul><ul><li>MAXSIZE = 50, </li></ul><ul><li>FILEGROWTH = 5 ) </li></ul><ul><li>LOG ON </li></ul><ul><li>( NAME = Sales_log, </li></ul><ul><li>FILENAME = 'C:DataMySalesDB.ldf', </li></ul><ul><li>SIZE = 5MB, </li></ul><ul><li>MAXSIZE = 25MB, </li></ul><ul><li>FILEGROWTH = 5MB ) </li></ul><ul><li>GO </li></ul>
  14. 14. <ul><li>Colección de datos acerca de una entidad especifica. </li></ul><ul><li>Conformada por columnas (campos) y filas (registros o tuplas). </li></ul><ul><li>Una tabla puede contener restricciones que permiten validar y establecer valores por defecto. </li></ul><ul><li>Los índices permiten mejorar el rendimiento. </li></ul>
  15. 15. <ul><li>CREATE TABLE Customer </li></ul><ul><li>( </li></ul><ul><li>CustomerID UNIQUEIDENTIFIER NOT NULL , </li></ul><ul><li>CustomerName NVARCHAR (200) NOT NULL , </li></ul><ul><li>Email NVARCHAR (200) NULL , </li></ul><ul><li>Phone NVARCHAR (200) NULL , </li></ul><ul><li>Fax NVARCHAR (200) NULL , </li></ul><ul><li>City NVARCHAR (200) NOT NULL , </li></ul><ul><li>Country NVARCHAR (500) NOT NULL , </li></ul><ul><li>Address NVARCHAR (4000) NOT NULL , </li></ul><ul><li>CONSTRAINT PK_Customer PRIMARY KEY CLUSTERED (CustomerID), </li></ul><ul><li>CONSTRAINT CK_CustomerEmail CHECK (Email LIKE '%@%.%') </li></ul><ul><li>) </li></ul><ul><li>GO </li></ul>
  16. 16. <ul><li>Los esquemas permiten un manejo mucho mas dinámico en comparación con los usuarios en SQL Server 2000. </li></ul><ul><li>Permiten la creación de estructuras jerarquitas y agrupar tablas bajo un mismo nombre. </li></ul><ul><li>Permite un manejo granular del manejo de permisos sobre objetos. </li></ul>
  17. 17. <ul><li>CREATE SCHEMA General AUTHORIZATION dbo </li></ul><ul><li>GO </li></ul><ul><li>ALTER SCHEMA General TRANSFER Customer </li></ul><ul><li>ALTER SCHEMA General TRANSFER Product </li></ul><ul><li>GO </li></ul>
  18. 18. <ul><li>Las vistas son generalmente usadas para enfocar, simplificar y personalizar la percepción de la base de datos hacia los usuarios . </li></ul><ul><li>Las vistas pueden ser utilizadas como filtros permitiendo de esta manera al usuario seleccionar datos relevantes a su departamento u competencia . </li></ul><ul><li>Las vistas pueden ser consideradas como una especie de tabla virtual. </li></ul>
  19. 19. <ul><li>CREATE VIEW vKilogramProducts </li></ul><ul><li>AS </li></ul><ul><li>SELECT I.InvoiceID, P.ProductName, P.UnitPrice, D.Quantity, (P.UnitPrice * D.Quantity) AS SubTotal </li></ul><ul><li>FROM Sales.InvoiceDetail AS D </li></ul><ul><li>INNER JOIN Sales.Invoice AS I ON I.invoiceID = D.invoiceID </li></ul><ul><li>INNER JOIN General.Product AS P ON P.ProductID = D.ProductID </li></ul><ul><li>WHERE P.UnitOfMeasure = 'Kilogram' </li></ul><ul><li>GROUP BY I.InvoiceID, P.ProductName, P.UnitPrice, D.Quantity </li></ul><ul><li>GO </li></ul>
  20. 20. <ul><li>Conjunto de sentencias SQL precompiladas. </li></ul><ul><li>Reutilización del plan de ejecución. </li></ul><ul><li>Soportan las estructuras básicas de programación como estructuras de decisión e iteración. </li></ul>
  21. 21. <ul><li>CREATE PROCEDURE dbo.usp_GetInvoiceDetails </li></ul><ul><li>@InvoiceID UNIQUEIDENTIFIER </li></ul><ul><li>AS </li></ul><ul><li>SELECT </li></ul><ul><li>InvoiceID, </li></ul><ul><li>ProductID, </li></ul><ul><li>Quantity </li></ul><ul><li>FROM Sales.InvoiceDetail </li></ul><ul><li>WHERE invoiceID = @InvoiceID </li></ul><ul><li>GO </li></ul><ul><li>exec dbo.usp_GetInvoiceDetails '49A1F445-FC43-4F9D-8668-1081AD64169D' </li></ul>
  22. 22. <ul><li>Permiten ejecutar procedimiento como respuesta a una sentencia DML o DCL. </li></ul><ul><li>Siempre inician una transacción. </li></ul><ul><li>Permiten mantener la integridad referencial entre tablas. </li></ul>
  23. 23. <ul><li>CREATE TRIGGER General.trCustomerLogger ON General.Customer FOR INSERT </li></ul><ul><li>AS </li></ul><ul><li>INSERT INTO Logger VALUES (NEWID(), 'Customer', GETDATE()) </li></ul><ul><li>GO </li></ul>
  24. 24. <ul><li>Permiten un desarrollo modular y mejorar las capacidades de las consultas a la base de datos. </li></ul><ul><li>Podemos crear funciones escalares (devuelven valores concretos) o de conjunto de resultados (devuelven tablas de datos). </li></ul><ul><li>CREATE FUNCTION dbo.ufn_GetSubTotal ( </li></ul><ul><li>@UnitPrice DECIMAL (28, 2), </li></ul><ul><li>@Quantity DECIMAL (28, 2) </li></ul><ul><li>) </li></ul><ul><li>RETURNS DECIMAL (28, 2) </li></ul><ul><li>BEGIN </li></ul><ul><li>RETURN @UnitPrice * @Quantity </li></ul><ul><li>END </li></ul>
  25. 25. <ul><li>Permite utilizar las librerías de clases del .Net Framework durante la creación de objetos de bases de datos. </li></ul><ul><li>Permite utilizar las ventajas de los lenguajes de programación sobre Transact-SQL. </li></ul><ul><li>Permiten un desarrollo superior a los procedimientos almacenados extendidos. </li></ul>
  26. 26. <ul><li>public partial class StoredProcedures </li></ul><ul><li>{ </li></ul><ul><li>[Microsoft.SqlServer.Server.SqlProcedure] </li></ul><ul><li>public static void usp_NetGetInvoiceDetails(Guid invoiceID) </li></ul><ul><li>{ </li></ul><ul><li>using (SqlConnection conn = new SqlConnection(&quot;context connection=true&quot;)) </li></ul><ul><li>{ </li></ul><ul><li>conn.Open(); </li></ul><ul><li>SqlContext.Pipe.Send(&quot;Hello World!!&quot;); </li></ul><ul><li>SqlCommand cmd = new SqlCommand(string.Format(&quot;SELECT * FROM Sales.InvoiceDetail WHERE invoiceID = '{0}'&quot;, invoiceID), conn); </li></ul><ul><li>SqlDataReader reader = cmd.ExecuteReader(); </li></ul><ul><li>SqlContext.Pipe.Send(reader); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>CREATE ASSEMBLY SalesAssembly FROM 'C:Sales.dll‘ </li></ul><ul><li>CREATE PROCEDURE usp_NetGetInvoiceDetails @invoiceID UNIQUEIDENTIFIER </li></ul><ul><li>AS EXTERNAL NAME SalesAssembly.StoredProcedures.usp_NetGetInvoiceDetails </li></ul>

×