Download - Curso SQL Server Prog U1-01
-
10/03/2010
1
Prof. Marlon S. Ramrez M.
Curso de Microsoft SQL Server Programacin
Unidad - 01
(4 horas)
Prof. Marlon S. Ramrez M.
INTRODUCCIN A SQL SERVER
1. El Lenguaje T-SQL y SQL Server
2. Sistema de Gestin de Base de Datos
3. Prctica: El entorno del gestor de base de datos
SQL Server - Programacin INTRODUCCIN A SQL SERVER 2
-
10/03/2010
2
Prof. Marlon S. Ramrez M.
El origen del Lenguaje T-SQL
T-SQL es la implementacin de Microsoft de un estndar establecido por la ANSI (American National Standards Institute) para SQL (Structured Query Language)
Cada implementacin de SQL tiene sus extensiones personalizadas y variaciones
T-SQL es certificado al nivel de entrada conforme a ANSI.
SQL Server - Programacin INTRODUCCIN A SQL SERVER 3
Prof. Marlon S. Ramrez M.
Propsito de T-SQL
A pesar de tener muchas facilidades de programacin
No es un lenguaje de
programacin
Su propsito exclusivo es
Recuperacin de datos
Manipulacin de datos
SQL Server - Programacin INTRODUCCIN A SQL SERVER 4
-
10/03/2010
3
Prof. Marlon S. Ramrez M.
Nuevas facilidades en SQL Server 2008
Incorporacin del Framework de .NET con SQL Server
Habilita crear objetos de programacin de SQL Server para crear procedimientos almacenados, funciones y agregados usando lenguaje .NET
Introduccin de LINQ (Microsoft Language Integrated Query)
Tecnologa de acceso a los datos
Habilita a aplicaciones VB y C# a usar consultas desarrolladas en VB y C# en lugar de consultas en T-SQL
SQL Server - Programacin INTRODUCCIN A SQL SERVER 5
Prof. Marlon S. Ramrez M.
Ediciones de SQL Server
SQL Server Compact Edition
Para instalar en BD pequeas en dispositivos mviles.
SQL Server Express Edition
Versin libre. Soporta BD de hasta 4 Gb en sistemas con un procesador.
SQL Server Workgroup Edition
Toda la funcionalidad de ms caras versiones excluyendo herramientas de Inteligencia de Negocios ( SQL server Integration Services y Analysis Services).
SQL Server Standard Edition
Casi todas las caractersticas, pero no soporta grandes BD empresariales.
SQL Server Enterprise Edition
Incluye todo: Operaciones paralelas, particionamiento de tablas fsicas, inteligencia de negocio completo y minera de datos
SQL Server - Programacin INTRODUCCIN A SQL SERVER 6
-
10/03/2010
4
Prof. Marlon S. Ramrez M.
Sistema de Gestin de Base de Datos
TiposHDBMS
Jerarqua DBMS
NDBMS
Red DBMS
RDBMS
Relacional DBMS
ODBMS
Objeto DBMS
ORDBMS
Objeto-Relacional DBMS
Su rol es almacenar y mantener los datos garantizando su consistencia e integridad
SQL Server - Programacin INTRODUCCIN A SQL SERVER 7
Prof. Marlon S. Ramrez M.
Tipos de DBMS
HDBMS
Son utilizados para manejar datos jerrquicos. Tienen muchas limitaciones como que solo manejan solamente rboles nicos de datos jerrquicos y la falta de habilidad de eficientemente prevenir datos errneos o duplicados. Sus implementaciones son muy raras y especializada.
NDBMS
No son utilizadas actualmente. El problema con este sistema es su estructura muy compleja y rgida que hace que los cambios a la base de datos o sus aplicaciones sea muy difcil.
RDBMS
Es una aplicacin de software usada para almacenar datos en tablas mltiples relacionadas usando SQL. Las base de datos relacionales estn optimizadas para grabar transacciones y el resultado de datos transaccionales.
ODBMS
Los datos son almacenados en objetos en la base de datos. Son eficiente con objetos de datos complejos y programacin orientada a objetos. Principalmente se ha utilizado en sistemas CAD e industrias de telecomunicaciones.
ORDBMS
Es una RDBMS donde se ha incorporado mecanismos para almacenar clases y objetos en un modelo relacional. SQL Server 2008 con la incorporacin del tipo de dato XML, la incorporacin de .NET Framework y el nuevo tipo de datos filestream puede ser considerado un ORDBMS.
SQL Server - Programacin INTRODUCCIN A SQL SERVER 8
-
10/03/2010
5
Prof. Marlon S. Ramrez M.
Conceptos de Base de Datos Relacionales
Tablas
Llaves primaria
Columnas de la Tabla
El nombre de la columna
El tipo de dato de la columna
Si la columna soporta nulos
SQL Server - Programacin INTRODUCCIN A SQL SERVER 9
Prof. Marlon S. Ramrez M.
Tipos de Datos - 1
SQL Server - Programacin INTRODUCCIN A SQL SERVER 10
-
10/03/2010
6
Prof. Marlon S. Ramrez M.
Tipos de Datos - 2
SQL Server - Programacin INTRODUCCIN A SQL SERVER 11
Prof. Marlon S. Ramrez M.
Relaciones
SQL Server - Programacin INTRODUCCIN A SQL SERVER 12
Uno a uno exacto
Uno a cero o ms
Muchos a muchos
Uno a uno o ms
-
10/03/2010
7
Prof. Marlon S. Ramrez M.
Descripcin de Relaciones
Uno a uno exacto:
En este caso se quiere agregar ms informacin a la tabla [Sale], pero no quieres alterar la tabla original.
Uno a uno o ms:
La tabla [Employee] es la tabla padre y [Sale] es la tabla hijo. Esto significa que debe existir un empleado antes que este realice una venta. La relacin representa que cualquier empleado tiene al menos una venta. En la realidad esto no es cierto siempre por lo que una mejor relacin sera uno a cero o ms
Uno a cero o ms:
Se muestra una modificacin del ejemplo anterior con la diferencia que ahora algn empleado podra no tener relacin en la tabla [Sale]. O sea que pueden existir empleados que no tengan ventas asociadas.
Muchos a muchos:
Requiere tres tablas. En este ejemplo, una simple venta puede incluirse mltiples productos, pero un producto puede estar en mltiples ventas. Para identificar nicamente cada producto y combinacin de venta se necesita crear una tabla de enlace que es una tabla que contiene la combinacin de las llaves primarias de las dos tablas.
SQL Server - Programacin INTRODUCCIN A SQL SERVER 13
Prof. Marlon S. Ramrez M.
El Entorno del Gestor de BD
1. Ingresando en el servidor local
2. SQL Server Management Studio
3. Cargando BD de Prueba
4. Script para leer datos con Explorador de Objeto
5. Ejecutando Consultas en SQLCMD
6. Ejecutando Consultas con selecciones de Men
7. Usando el diseador grfico de Consultas
8. Usando el explorador de Plantillas
SQL Server - Programacin INTRODUCCIN A SQL SERVER 14
-
10/03/2010
8
Prof. Marlon S. Ramrez M.
Ingresando a SSMS (SQL Server Management Studio)
1. Seleccione [Inicio] [Todos los Programas] [Microsoft SQL Server 2008]
2. Botn derecho a [SQL Server Management Studio] y escoja [Run as Administrator]. Escriba la clave del administrador si es necesario.
3. En pantalla para conectar a servidor escoja el nombre del servidor local: [MR-PC] y presione [Connect]
4. Seleccione [New Query] para abrir el editor de consultas
5. En el editor de consulta escriba el siguiente cdigo para crear una cuenta de usuario privilegiada. Sustituir WOODVISTA por el nombre de la computadora y Dan por el nombre del usuario.
SQL Server - Programacin INTRODUCCIN A SQL SERVER 15
CREATE LOGIN [WOODVISTA\DanW] FROM WINDOWS
WITH DEFAULT_DATABASE=[master]
EXEC sp_addsrvrolemember @loginame = NWOODVISTA\DanW
,@rolename = Nsysadmin
Prof. Marlon S. Ramrez M.
El explorador de objeto
1. Ingrese a SSMS si no lo tiene abierto.
2. Ver detalle de explorador de objetosa) En el men escoja [View] [Object Explorer Details] F7
b) Para hacerlo flotante hacer clic en la siguiente secuencia
[Botn derecho sobre el ttulo][Floating]
c) Acoplarlo a la izquierda
[Botn Derecho en Ttulo][Dockable][Mantener presionado botn izquierdo y seleccionar Posicin]
3. Explorador de Objetos: Explorar opciones en base de datosa) Tablas, Vistas,
b) Programacin
Procedimientos almacenados
Funciones
SQL Server - Programacin INTRODUCCIN A SQL SERVER 16
-
10/03/2010
9
Prof. Marlon S. Ramrez M.
Cargando BD de pruebas desde un Respaldo *.bak
1. Iniciar SQL Server Management Studio
2. Botn derecho sobre [Database] [Restore database] y se abre una nueva pantalla
3. En pantalla [Restore Database] seleccionar [From Device] y presionar botn [] para abrir pantalla [Especify Backup]
4. Presionar [Add], seleccione archivo [AdventureWorks2008.bak] en directorio correspondiente y presione [OK]
5. En la pantalla [Especify Backup] presione [OK]
6. En pantalla [Restore Database] seleccionar la base de datos [AdventureWorks] en [To database:]
7. Haga clic en [AdventureWorks...] en columna [Restore] en la seccin [Select the bakup sets to restore:] y presione [OK]
8. Espere un momento y de [OK] cuando termine la restauracin
SQL Server - Programacin INTRODUCCIN A SQL SERVER 17
Prof. Marlon S. Ramrez M.
Cargando BD de pruebas desde una base de datos *.mdf
1. Iniciar SQL Server Management Studio
2. Botn derecho sobre [Databases] y seleccionar [Attach]
3. En pantalla [Attach databases] presionar [OK], seleccione archivo [AdventureWorks.mdf] en directorio correspondiente y presione [OK]
4. En la pantalla [Attach databases] presione [OK]
SQL Server - Programacin INTRODUCCIN A SQL SERVER 18
-
10/03/2010
10
Prof. Marlon S. Ramrez M.
Script para leer datos con Explorador de Objeto
1. En el [Object Explorer] seleccionar [+] a la izquierda de [Databases]
2. Seleccionar [AdventureWorks] [Tables]
3. Botn derecho en [HumanResources.Department] y seleccionar [SelectTop 1000 Rows]
4. Cambiar salida de la Consulta
a) Resultado a texto
b) Resultado a cuadrcula
c) Resultado a archivo
SQL Server - Programacin INTRODUCCIN A SQL SERVER 19
Prof. Marlon S. Ramrez M.
SQLCMD - Lnea de Comando
Esta utilidad se utiliza tpicamente para ejecutar scripts T-SQL en procesos en lote.
SQL Server - Programacin INTRODUCCIN A SQL SERVER 20
-
10/03/2010
11
Prof. Marlon S. Ramrez M.
Ejecutando Consultas en SQLCMD1. Ejecutar [Inicio] [Run] [CMD]
2. Ejecutar el siguiente cdigo. Es sensible a maysculasa) Sqlcmd E S MR-PC
b) USE AdventureWorks
c) GO
d) SELECT Name, ListPrice FROM Production.Product WHERE ProductID=879
e) GO
SQL Server - Programacin INTRODUCCIN A SQL SERVER 21
Prof. Marlon S. Ramrez M.
Ejecutando Consultas con selecciones de Men
1. Ubicarse en el [Object Explorer] [Databases] [AdventureWorks] [Tables] [Sales.SalesOrderDetail]
2. Presionar Botn derecho y seleccionar [Script Tableas] [SELECT To] [New Query Editor Window]
3. Ejecutar la consulta (puede utilizar botn en barra de herramientas o F5)
SQL Server - Programacin INTRODUCCIN A SQL SERVER 22
-
10/03/2010
12
Prof. Marlon S. Ramrez M.
Usando el diseador grfico de Consultas
1. Abrir una nueva pantalla de consulta
2. Escoger la [Databases] [AdventureWorks]
3. Botn derecho en la pantalla de consulta y seleccionar [Design Query in Editor]
4. Seleccionar tablas: Product, ProductCategory y ProductSubCategory.
a. Repetir seleccionar tabla y [Add y al final poner [Close]
5. Seleccione en el diagrama las siguientes columnas
a. [Name] en la tabla [ProductCategory]
b. [Name] en la tabla [ProductSubCategory]
c. [Name] en la tabla [Product]
d. [Color] en la tabla [Product]
e. [LstPrice] en la tabla [Product]
6. Escribir en la columna [Alias] en el panel de columnas los siguientes alias
a. [Categoria] en lugar de [Name] en la tabla [ProductCategory]
b. [SubCategoria] en lugar de [Name] en la tabla [ProductSubCategory]
c. [Producto] en lugar de [Name] en la tabla [Product]
7. Presione [OK] y se copiar la consulta al editor de consultas
8. Cambiar el formato para de forma que sea fcil leer y modificar la consulta
9. Es una buena prctica iniciar la lista de los campos con comas.
10. Ejecute la consulta (botn F5)11. Guarde la consulta
a. [File] [Save Query as]
SQL Server - Programacin INTRODUCCIN A SQL SERVER 23
Prof. Marlon S. Ramrez M.
Usando el explorador de Plantillas
1. Escoger en men la opcin [View] [Template Explorer]2. Seleccionar [Table] [Add Column] en el explorar de plantillas3. Botn derecho y seleccionar [Open]4. Examinar el script generado5. Actualice los parmetros de la plantilla seleccionando en el men
[Query] [Specify Values for Template Parameters]6. Se abre la pantalla [Specify Values for Template Parameter]
mostrando la lista de parmetros en la pantilla. Modifica los parmetros y presione [OK]
7. Examine el script generado. No lo ejecute, esto solo es una muestra de lo rpido que puede hacer algunas operaciones utilizando esta herramienta.
8. Cerrar [Template Explorer]
SQL Server - Programacin INTRODUCCIN A SQL SERVER 24
-
10/03/2010
13
Prof. Marlon S. Ramrez M.
Ejercicio 1
1. Usando el SQL Server Management Studio, crear una nueva consulta usando la BD AdventureWorks
2. Agregar la tabla [Product] al diseador3. Seleccionar las columnas [ProductID], [Name] y
[ListPrice] en la pantalla de tabla4. Ordenar los resultados por la columna [Name]
en orden ascendente. Utilice la opcin [SortType] y seleccione [Ascending]
5. Chequear la expresin SQL en el tercer panel del diseador grafico con la solucin
SQL Server - Programacin INTRODUCCIN A SQL SERVER 25
Prof. Marlon S. Ramrez M.
Ejercicio 21. Usando el SQL Server Management Studio, crear una nueva
consulta usando la BD AdventureWorks como lo hizo en el Ejercicio 1
2. Agregar las tablas [Product] y [ProductSubCategory] al diseador3. Para la tabla [ProductSubCategory], seleccione la columna [Name]
y cree un alias llamado [SubCategoria] . Para la tabla [Product], seleccione la columna [Name] y cree un alias llamado [Producto]. Tambin seleccione la columna [ListPrice] de esa tabla.
4. Ordenar los resultados por la columna [ProductSubCategory.Name] y despus la columna [Product.Name], ambos en orden ascendente.
5. Ejecute la consulta y navegue por los resultados. Chequear la expresin SQL en el tercer panel del diseador grafico con la solucin
SQL Server - Programacin INTRODUCCIN A SQL SERVER 26
-
10/03/2010
14
Prof. Marlon S. Ramrez M.
Ejercicio 3
Escribe una consulta simple utilizando el editor de consulta en el SQL server Management Studio con los siguientes pasos1. Abrir SQL Server Management Studio2. Ingrese el nombre del servidor3. Cree una nueva consulta y seleccione la BD
AdventureWorks4. Ingrese el siguiente script SQL
5. Para encontrar cuantos productos tienen un lista de precios ms grande que $3000, ejecutar esta consulta , y chequear el conteo de fila en la barra de estado
SQL Server - Programacin INTRODUCCIN A SQL SERVER 27
SELECT * FROM Production.Product WHERE ListPrice > 3000