16
Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005 Departamento de Arquitectura y Sistemas de Aplicaciones 1 Curso de SQL Server 2005 Curso de SQL Server 2005 Curso de SQL Server 2005 Curso de SQL Server 2005 Developer e Introducción a VB.net Developer e Introducción a VB.net Developer e Introducción a VB.net Developer e Introducción a VB.net Práctica No. Práctica No. Práctica No. Práctica No.1. Escribiendo y ejecutando código transact sql desde el Query Analyzer E E L L L A A A B B B O O O R R R A A A D D D O O O P P O O O R R R : : Ing. Giovanni Sáenz. F F E E E C C C H H H A A A D D D E E E E E L L L A A A B B B O O O R R R A A A C C C I I I Ó Ó Ó N N N : 24 de Junio del 2008 (Fecha Original). C C O O O L L L A A A B B B O O O R R R A A A C C C I I I Ó Ó Ó N N N Y Y Y V V E E E R R R S S S I I I Ó Ó Ó N N N O OR R R I I I G G G I I I N N N A A A L L L E E E N N N 2 2 0 0 0 0 0 0 : : Ing. Marvin Lira Chamorro y Ing. Glenda Barrios O OB B B J J J E E E T T T I I I V V V O O O D D D E E E L L L A A A P P R R Á Á C C T T I I C C A A : : Con esta guía se pretende que identifiquen las diferencias de colores utilizados por el Query Analyzer para el código Transact SQL. Tabla de Contenido: Tabla de Contenido: ___________________________________________________________ 1 Crear Procedimientos Almacenados:______________________________________________ 2 Definición del Procedimiento Almacenado (con Parámetro) ______________________________ 2 Llamado para Ejecutar el Procedimiento Almacenado___________________________________ 3 Resultado del Procedimiento Almacenado _____________________________________________ 3 Funciones ___________________________________________________________________ 4 Funciones de tipo Escalar___________________________________________________________ 4 Definición de la Función ____________________________________________________________ 4 Ejecución de la Función ____________________________________________________________ 5 La Primera Forma para Correr la Funcion es: _________________________________________ 6 La segunda forma, es utilizando variables y pasando el valor a esta misma: _________________ 6 Trabajando con DDL y DML. ___________________________________________________ 7 Práctica No.2. ________________________________________________________________ 7 Tareas a Realizar:____________________________________________________________ 16 Bibliografía: ________________________________________________________________ 16

Tabla de Contenidodocentes.uni.edu.ni/fec/Giovanni.Saenz/Base de Datos...Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005 Departamento de Arquitectura y Sistemas

Embed Size (px)

Citation preview

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 1

Curso de SQL Server 2005Curso de SQL Server 2005Curso de SQL Server 2005Curso de SQL Server 2005 Developer e Introducción a VB.net Developer e Introducción a VB.net Developer e Introducción a VB.net Developer e Introducción a VB.net

Práctica No.Práctica No.Práctica No.Práctica No.1111. Escribiendo y ejecutando código transact sql desde el Query Analyzer

EEELLLAAABBBOOORRRAAADDDOOO PPPOOORRR::: Ing. Giovanni Sáenz.

FFFEEECCCHHHAAA DDDEEE EEELLLAAABBBOOORRRAAACCCIIIÓÓÓNNN : 24 de Junio del 2008 (Fecha Original).

CCCOOOLLLAAABBBOOORRRAAACCCIIIÓÓÓNNN YYY VVVEEERRRSSSIIIÓÓÓNNN OOORRRIIIGGGIIINNNAAALLL EEENNN 222000000000::: Ing. Marvin Lira Chamorro y Ing. Glenda Barrios

OOOBBBJJJEEETTTIIIVVVOOO DDDEEE LLLAAA PPPRRRÁÁÁCCCTTTIIICCCAAA::: Con esta guía se pretende que identifiquen las diferencias de colores utilizados por el Query Analyzer para el código Transact SQL.

Tabla de Contenido:

Tabla de Contenido: ___________________________________________________________ 1

Crear Procedimientos Almacenados:______________________________________________ 2

Definición del Procedimiento Almacenado (con Parámetro) ______________________________ 2

Llamado para Ejecutar el Procedimiento Almacenado___________________________________ 3

Resultado del Procedimiento Almacenado _____________________________________________ 3

Funciones ___________________________________________________________________ 4

Funciones de tipo Escalar___________________________________________________________ 4

Definición de la Función ____________________________________________________________ 4

Ejecución de la Función ____________________________________________________________ 5

La Primera Forma para Correr la Funcion es: _________________________________________ 6

La segunda forma, es utilizando variables y pasando el valor a esta misma: _________________ 6

Trabajando con DDL y DML. ___________________________________________________ 7

Práctica No.2. ________________________________________________________________ 7

Tareas a Realizar:____________________________________________________________ 16

Bibliografía: ________________________________________________________________ 16

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 2

Crear Procedimientos Almacenados:

Definición del Procedimiento Almacenado (con Parámetro)

El primer paso, es buscar donde esta la programación de la base de datos, en este caso, es la base

de datos Northwin, luego, hacer click derecho sobre procedimientos almacenados y crear uno

nuevo:

Ver página siguiente:

Sobre la ventana que aparece, agregara el siguiente código:

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 3

El código, es el siguiente: CREATE PROCEDURE [dbo].[spGetNombre_Parametro] (@pNombre as Varchar(120)) AS Begin print @pNombre End

Llamado para Ejecutar el Procedimiento Almacenado

El código es el siguiente: exec dbo.spGetNombre_Parametro 'Giovanni Saenz'

Resultado del Procedimiento Almacenado

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 4

Funciones

Funciones de tipo Escalar

Ir a la parte superior de la venta y buscar “nueva consulta”, ahí usted agregara el código

correspondiente a la función:

Definición de la Función

CREATE FUNCTION dbo.fncCalculaEdad_Parametro (@pNombreCompleto Varchar(120), @pFechaNacimiento Datetime, @PFechaActual Datetime) RETURNS Varchar(240) AS BEGIN Declare @NombreEdad varchar(240) Set @NombreEdad = @pnombreCompleto + ' tiene la edad de ' + Cast(DATEDIFF(YEAR,@pfechanacimiento, @pfechaactual) as Varchar) + ' anios ' return (@NombreEdad) END

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 5

Al ejecutarse la Instrucción, se agrega como parte de las funciones:

Ejecución de la Función

La Ejecución de la función, se realiza con la siguiente consulta:

Select dbo.fncCalculaEdad_Parametro('Glenda Barrios Aguirre', '24/06/1973', getDATE())

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ---------------------------------- ALTER FUNCTION [dbo].[FncGetCategoriasLineal2] ( @categoria nvarchar(15) ) RETURNS TABLE Return (select CategoryId, CategoryName From Categories where CategoryName = @categoria)

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 6

La Primera Forma para Correr la Funcion es: SELECT * FROM [Northwin].[dbo].[FncGetCategoriasLineal2] ('Confections')

La segunda forma, es utilizando variables y pasando el valor a esta misma:

Declare @categoria as Varchar(15) Set @categoria = 'Confections' SELECT * FROM [Northwin].[dbo].[FncGetCategoriasLineal2] (@Categoria)

Para ambos casos, el resultado es el mismo:

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 7

Trabajando con DDL y DML.

Práctica No.2. Utilizando la sintaxis de DDL y DML para llevar a cabo acciones de creado de TABLAS, actualización de tablas, inserción, modificación y eliminación de registros.

OOOBBBJJJEEETTTIIIVVVOOO DDDEEE LLLAAA PPPRRRÁÁÁCCCTTTIIICCCAAA::: Con esta guía se pretende dar a conocer la sintaxis del Lenguaje de definición de Datos (DDL), Lenguaje de Control de datos (DCL), y Lenguaje de Modelación de Datos (DML) Pasos a seguir:

En el SQL Query Analyzer, tenga seleccionado la base de datos Northwind.

Paso No.1: Crear una tabla llamada ScpDigitacionProyecto, antes debe verificarse que exista la tabla ScpDigitacionProyecto. if exists (Select * From dbo.sysobjects Where id = object_id ('[dbo].[ScpDigitacionProyecto]') and OBJECTPROPERTY (id, 'IsUserTable') = 1) Drop table [dbo].[ScpDigitacionProyecto] GO

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 8

Paso No.2: Crear la tabla ScpDigitacionProyecto con la siguiente estructura. CREATE TABLE [dbo].[ScpDigitacionProyecto] (

ScpDigitacionProyecto_ID int IDENTITY (1, 1) PRIMARY KEY CLUSTERED NOT NULL ,

MesAsistencia smallint NULL , AnioAsistencia int NULL , Asistencia char (2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , objProyectoID int NOT NULL

) ON [PRIMARY] GO

Paso No.3 : Visualizar en modo texto la estructura de la tabla Notas SELECT * From ScpDigitacionProyecto

Paso No.4: Modificar la tabla ScpDigitacionProyecto, al agregar las columnas Fecha de tipo Datetime y MesPrueba de tipo int. ALTER TABLE [dbo].[ScpDigitacionProyecto] ADD Fecha Datetime NULL, MesPrueba Int GO

Para verificar los valores de la Tabla, vuelva a ejecutar:

SELECT * From ScpDigitacionProyecto

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 9

Paso No.5: Eliminar de la tabla ScpDigitacionProyecto eliminar la columna MesPrueba. ALTER TABLE [dbo].[ScpDigitacionProyecto] DROP Column MesPrueba GO

Para verificar los valores de la Tabla, vuelva a ejecutar:

SELECT * From ScpDigitacionProyecto

Paso No.6: Insertando registros en Digitacion Proyecto.

INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia, Asistencia , objProyectoID) VALUES (1, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (2, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia, objProyectoID) VALUES (3, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia ,

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 10

Asistencia , objProyectoID) VALUES (4, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (5, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (6, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (7, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (8, 2005, 'B1', 65) INSERT INTO ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) VALUES (9, 2005, 'B1', 65) Al Ejecutar el código, se genera el siguiente mensaje:

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 11

Para verificar los valores de la Tabla, vuelva a ejecutar:

SELECT * From ScpDigitacionProyecto

Paso No.7: Crear una tabla a partir del contenido y la estructura de la tabla ScpDigitacionProyecto Select * Into ScpDigitacionProyectoCopia From ScpDigitacionProyecto

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 12

Paso No.8: Insertando los registros de la tabla ScpDigitacionProyectoCopia a ScpDigitacionProyecto INSERT Into ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) (Select MesAsistencia, AnioAsistencia, Asistencia, ObjProyectoID From ScpDigitacionProyectoCopia)

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 13

Paso No.9: Insertando los registros de la tabla ScpDigitacionProyectoCopia a ScpDigitacionProyecto INSERT Into ScpDigitacionProyecto (MesAsistencia, AnioAsistencia , Asistencia , objProyectoID) (Select MesAsistencia, AnioAsistencia, Asistencia, ObjProyectoID From ScpDigitacionProyectoCopia)

Para mostrar el contenido de Ambas Tablas: SELECT * From ScpDigitacionProyecto SELECT * From ScpDigitacionProyectoCopia

Paso No.10: Actualizar la tabla ScpDigitacionProyecto al agregar un constraint (Representa una restricción que se puede imponer a uno o varios objetos DataColumn) para la columna ScpDigitacionProyectoID

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 14

ALTER TABLE ScpDigitacionProyecto WITH NOCHECK ADD CONSTRAINT Mes_Check CHECK (MesAsistencia >=1) GO EXEC sp_help ScpDigitacionProyecto GO

Paso No.11: Compruebe que el constraint MesAsistencia funciona. Para esto vaya al Enterprise Manager e Intente ingresar un registro con un valor menor que 1 para el campo MesAsistencia.

Paso No.12: Elminar el Constraint creado para el MesAsistencia. ALTER TABLE ScpDigitacionProyecto DROP CONSTRAINT Mes_Check

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 15

Paso No.13: Alterar una tabla para Modificar el tipo de dato de un campo. EN este caso se cambio el tamaño del campo Asistencia a 10 caracteres, además se puso requerido. ALTER TABLE [dbo].[ScpDigitacionProyecto] ALTER COLUMN Asistencia Char(10) NOT NULL Muestre la Tabla: Select * From ScpDigitacionProyecto

Paso No.14: Visualizar el contenido de la tabla de Digitación Proyecto. Select * From ScpDigitacionProyecto Paso No.15: Cambiar el valor del anioasistencia 2005 a 2006 para esto hay que buscar todos los registros de digitación proyecto donde AnioAsistencia = 2005. UPDATE ScpDigitacionProyecto Set AnioAsistencia = 2006 Where AnioAsistencia = 2005 Paso No.16: Compruebe que la actualización se llevo a cabo de forma satisfactoria para esto en el enterprise manager o en otra ventana del query analyzer haga un select a la tabla ScpDigitacionProyecto.

Administradores de Bases de Datos Studio .NET 2005 Y SQL Server 2005

Departamento de Arquitectura y Sistemas de Aplicaciones 16

Tareas a Realizar:

Ahora que tiene dos posibles formas de presentar Datos y hacer rastreos o búsquedas, hacer

los ajustes a sus proyectos y presente:

a.- Procedimientos Almacenados (para fines prácticos y crear habilidades se definen

diez procedimientos con Parámetros y cinco sin parámetros).

b.- Funciones recordar que estas pueden ser escalares o retornen tabla (Al igual que el caso

anterior, es valido la cantidad, así mismo la distribución).

c.- Deben presentar cada estudiantes ocho Triggers (esto se deben programar en cada

tabla, la definición y como se implemente, eso depende del grupo).

d.- Se deben Cumplir todos los incisos anteriores, al igual de la cantidad de registros y todo

lo que se refiere a la Información que se debe Administrar en las Tablas.

Bibliografía:

En este momento queda pendiente, y en la semana se brindara los detalles (son Ocho

textos los que se utilizaron para esta información, más los datos de los profesores). Mi

agradecimiento, tanto a los Señores Representantes en Nicaragua de MC Graw Hill: Engel Hurtado y de la Prentice Hall Francisco Mayorquín, quienes siempre

muy gustosamente me han facilitado toda la información en Libros y textos frescos, no me

he olvidado de cada uno de los títulos, sin falta el lunes los incluiré a esta lista. A todos

Gracias.