14
10/03/2010 1 Prof. Marlon S. Ramírez M. Curso de Microsoft SQL Server Programación Unidad - 01 (4 horas) Prof. Marlon S. Ramírez M. INTRODUCCIÓN A SQL SERVER 1. El Lenguaje T-SQL y SQL Server 2. Sistema de Gestión de Base de Datos 3. Práctica: El entorno del gestor de base de datos SQL Server - Programación INTRODUCCIÓN A SQL SERVER 2

Curso SQL Server Prog U1-01

Embed Size (px)

DESCRIPTION

Curso SQL Server Prog U1-01

Citation preview

  • 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