You are on page 1of 11

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

GUIA DE LABORATORIO N 3 Nombre de la practica: Introduccin a Transact SQL en SQL Server 2008 Lugar de ejecucin: Laboratorio de Informtica Tiempo estimado: 3 horas Materia: Base de datos I Docentes: Ing. Ren Tejada , Inga. Blanca Iris Caas , Inga. Evelyn Hernndez

CICLO 01-2012

I. Objetivos Qu el estudiante: Clasifique los tipos de datos utilizados en los campos/fields de una tabla Seleccione los campos adecuados para los diferentes datos contenidos en una tabla/table. Se familiarice con las sentencias bsicas de comandos dentro del entorno de Transact SQL II. Introduccin Terica

TIPOS DE DATOS DE SQL SERVER


Los tipos de datos definen los valores de los datos permitidos para cada columna en una tabla dentro de una base de datos. SQL Server proporciona un conjunto de tipos de datos. Categoras de los Tipos de Datos Los tipos de datos de SQL Server 2005 se organizan en las siguientes categoras: Categora Numeric Tipos de datos Integer int,bigint,smallint, tinyint Exact decimal, numeric approximate float, real Monetary Money, smallmoney Date y time Datetime,smalldtetime Character Non-Unicode Char, varchar, varchar(max),text Unicode Nchar,nvarchar,nvarchar(max),ntext Binary Binary,varbinary,varbinary(max) Image Image Global Identifier Uniqueidentifier XML Xml En general los tipos de datos de SQL Server funcionan de una forma muy parecida a como se hace en el resto de lenguajes de programacin modernos, por ejemplo: La adicin de nmeros produce una suma, la adicin de cadenas realiza la operacin de concatenacin. Al combinar el uso o asignacin de variables o campos de distintos tipos de datos, se convierten implcitamente. El resto de tipos de datos se pueden convertir explcitamente (tenemos que decir especficamente el tipo de dato al que deseamos convertir). Adems, algunos no se pueden convertir).

Instrucciones Fundamentales de Transact-SQL(T-SQL).


En esta prctica se van a conocer las instrucciones de Transact-SQL ms fundamentales. SQL es un lenguaje estndar utilizado para manipular y recuperar informacin de bases de datos relacionales, SQL (Structured Query Languaje). Adems le permite al programador o al administrador de la base de datos realizar las siguientes tareas: Modificar la estructura de la base de datos Cambiar la configuracin de seguridad del sistema Agregar usuarios y permisos en bases de datos o tablas Realizar consultas para recuperar informacin Actualizar el contenido de una base de datos En la nueva versin de SQL Server 2008, T-SQL se ha examinado, agregndole muchas instrucciones de programacin nuevas. Entre otras cosas, se ha convertido para ser un lenguaje comn en tiempo de ejecucin (CLR, Common Language Runtime), un lenguaje compatible; en resumen, ahora es un lenguaje .NET. En SQL Server 2008 podemos utilizar cualquier lenguaje .NET para acceder a la base de datosgracias al uso de T-SQL, el cual es el lenguaje principal en SQL Server. Tipos de Sentencias de T-SQL Existen tres tipos de sentencias que se ejecutan en T-SQL y estas son: Sentencias de Lenguaje de Definicin de Datos (LDD) Sentencias de Lenguaje de Control de Datos (LCD) Sentencias de Lenguaje de Manipulacin de los datos (LMD) Lenguaje de Definicin de Datos (LDD) Las sentencias de Definicin de datos nos ayudan a definir todos los objetos de la base de datos. Claro para poder hacer uso de estas sentencias se deben de tener los permisos adecuados. Algunas Sentencia LDD son: CREATE nombre_objeto ALTER nombre_objeto DROP nombre_objeto Lenguaje de Control de Datos (LCD) Estas sentencias son usadas para modificar los permisos asociados a un usuario o rol de la base de datos. Al igual que los LDD para poder ejecutar alguna de estas sentencias se deben tener los permisos adecuados.

Sentencias LCD: GRANT DENY REVOKE Lenguaje de Manipulacin de Datos (LMD) Las sentencias LMD trabajan con los datos en la base de datos. Estas sentencias se utilizan para insertar, modificar, eliminar y recuperar los datos. Sentencias LMD: INSERT 2

UPDATE DELETE SELECT Creacin de la Base de Datos. El comando CREATE DATABASE ejecuta la creacin de una base de datos. Sintaxis: CREATE DATABASE database_name [ON [PRIMARY] [<filespec> [,...n] [ , <filegroup> [ ,...n ] ] [LOG ON {<filespec> [ ,...n ] } ] ] [COLLATE collation_name] [WITH <external_access_option> ] ] [;]

Ejemplo: CREATE DATABASE bd_prueba; Eliminar una base de datos. Este comando quita una o ms bases de datos de Microsoft SQL SERVER. Al quitar una base de datos, se elimina la base de datos y los archivos de disco que utiliza. Sintaxis: DROP DATABASE {database_name | database_snapshot_name } [ ,...n ] [;] DROP DATABASE bd_prueba; Base de datos en uso. El comando para poner en uso una base de datos es: USE {database}

Creacin de una Tabla. El comando CREATE TABLE tiene por finalidad crear una nueva tabla en la base de datos. La Sintaxis general: Create table table_name (definicin de columnas); Ejemplo: CREATE TABLE demo ( cod_sucursal INT, nombre VARCHAR (20), estado VARCHAR (2) ); Modificando tablas. El comando ALTER TABLE, permite modificar una definicin de tabla al alterar, agregar o quitar columnas y restricciones, o deshabilitar o habilitar restricciones y desencadenadores. Sintaxis. 3

ALTER TABLE nombre_de_la_tabla ADD nombre_de_columna_a_agregar TIPO DE DATO Ejemplo: El ejemplo siguiente agrega una columna que permite valores NULL y a la que no se han proporcionado valores mediante una definicin DEFAULT. Cada fila tendr un valor NULL en la nueva columna. ALTER TABLE alumno ADD telefono VARCHAR(8) NULL

Insertando datos en una Tabla El comando INSERT inserta una nueva fila en la tabla, al llenar las columnas con valores especficos. La sintaxis general de la sentencia INSERT es la siguiente: INSERT [INTO] table_or_view [(column_list)] data_values A continuacin se muestra ejemplos del uso de la sentencia INSERT. Los datos que se agregarn corresponden a la tabla demo. INSERT INTO demo VALUES (01,first record, FL); INSERT INTO demo VALUES (02,second record,WA); Verifique el resultado de las consultas anteriores con una sentencia SELECT sencilla: SELECT * FROM demo Eliminacin de registros. El comando DELETE elimina filas de una tabla o vista, que satisfagan una condicin especfica. Sintaxis Bsica: DELETE FROM table_name WHERE condicin. Ejemplo: Utilice INSERT para insertar una fila a la tabla demo, verifique que ha sido insertada correctamente la nueva fila, despus utilice DELETE para quitarla. Este ejemplo combina lo que visto anteriormente. INSERT INTO demo VALUES (03,secondrecord,MA); Con la siguiente consulta se eliminarn los registros de la tabla demo, que tengan como criterio el campo cdigo de sucursal igual a 03: DELETE FROM demo WHERE cod_sucursal = 03; Si no se incluye la clusula WHERE, se eliminarn todas las filas en la tabla indicada. Modificando registros ya existentes en una tabla: Comando UPDATE Este comando permite la actualizacin de uno o ms campos de una fila o grupo de filas de una tabla o vista. Las sentencias UPDATE se utilizan para modificar datos existentes. Sintaxis general: UPDATE nombre_tabla | nombre_vista SET (nombre_columna = expresion | DEFAULT | NULL) WHERE (condicin) Set: especifica la lista de columnas que se actualizarn. Ejemplo: UPDATE demo SET cod_sucursal = 92 WHERE estado= FL;

Comando DROP TABLE Para eliminar una tabla de la base de datos, debe usarse el comando DROP TABLE. Este comando suprime fsicamente la tabla de la base de datos, eliminando su estructura y sus datos. Sintaxis Bsica: DROP TABLE nombre_de_la_tabla; El siguiente ejemplo elimina la tabla demo de la base de datos actual: DROP TABLE demo La instruccin SELECT La instruccin SELECT y las estructuras utilizadas en ella forman la base de todos los comandos que vamos a ejecutar con SQL Server. Vamos a examinar las reglas bsicas de la sintaxis de una instruccin SELECT: SELECT <lista de columnas> [FROM <tabla(s) de origen >] [WHERE <condicin restrictiva >] [GROUP BY <nombre de columna o expresin que utiliza una columna en la lista de Seleccin>] [HAVING <condicin restrictiva basadas en los resultados de GROUP BY>] [ORDER BY <listas de columna> ] [ [FOR XML {RAW|AUTO|EXPLICIT|PATH [ (<elemento>) ] } [ , XMLDATA] [ , ELEMENTS] [ , BINARY base 64 ] ] *OPTION (<sugerencia de consulta>, *, n) + Esto es mucho para descifrarlo todo a la vez; es mejor que vayamos por partes: La instruccin SELECT y la clusula FROM: El verbo (en este caso la instruccin SELECT) es la parte de la instruccin global que le indica a SQL Server lo que estamos haciendo. SELECT indica que simplemente estamos leyendo informacin, en lugar de estarla modificndola. Lo que estamos seleccionando se identifica mediante una expresin o lista de columnas que sigue inmediatamente a SELECT (podr ver enseguida lo que queremos decir). A continuacin aadimos ms especificaciones, como desde dnde vamos a obtener estos datos. La instruccin FROM especifica el nombre de la tabla o tablas desde donde vamos a obtener nuestros datos. Con todo ello, ya tenemos suficiente para crear una instruccin SELECT. Abra SQL Server Management Studio y vamos a examinar la instruccin SELECT. INSTRUCCION SELECT Ejemplo 1 USE Northwind SELECT * FROM Employees Vamos a examinar lo que hemos pedido aqu: Primero: la instruccin USE Northwind, sirve para habilitar la base de datos que queremos usar. Segundo: Hemos pedido seleccionar informacin (SELECT puede pensar en ello como en pedir que se muestra la informacin). El asterisco * podra parecer algo extrao, pero realmente funciona igual que en cualquier otro sitio: es un comodn. Cuando escribimos SELECT * estamos indicando que deseamos seleccionar todas las columnas de la tabla (En este caso la tabla Employees). A continuacin, FROM indica que hemos terminado de especificar los elementos que deseamos ver y estamos a punto de indicar el origen de la informacin (El origen es la tabla Employees). Ejemplo 2 SELECT * FROM INFORMATION_SCHEMA.TABLES

INFORMATION_SCHEMA.TABLES: es una ruta de acceso especial que se utiliza para mostrar meta-datos sobre las bases de datos de nuestro sistema y su contenido, tambin tiene diversos elementos que se pueden especificar tras un punto, como: INFORMATION_SCHEMA.SCHEMATA o INFORMATION_SCHEMA.VIEWS. Estas rutas de acceso especiales a los meta-datos de nuestro sistema han sido colocados ah para que no tengamos que utilizar las denominadas tablas del sistema. Analicemos como funciona Vamos a examinar algunos elementos especficos de nuestra instruccin SELECT. Observe que hemos escrito en maysculas SELECT y FROM. En realidad no es un requerimiento de SQL Server (podramos haber ejecutado estas instrucciones como sElECt y frOM y hubieran funcionado muy bien). Simplemente las hemos escrito en maysculas por convencin y legibilidad. Descubrir que muchos codificadores de SQL utilizarn la convencin de escribir en maysculas todos los comandos y palabras clave, mientras utilizan una combinacin de maysculas y minsculas para nombres de tablas, columnas y nombres de variables no constantes. Los estndares que elija o est obligado a utilizar pueden variar, pero al menos debe seguir una regla: ser consistente. SELECT le est indicando a la ventana de consultas lo que estamos haciendo y * le est indicando lo que deseamos (recuerde que * es igual a todas las columnas). A continuacin est FROM. Una clusula FROM define el lugar desde donde deben provenir nuestros datos. Inmediatamente a continuacin de FROM, estn los nombres de una o ms tablas. En nuestra consulta en concreto, todos los datos provienen de la tabla denominada EMPLOYEES y en el segundo ejemplo de la tabla INFORMATION_SCHEMA.TABLES. Ejemplo 3 Ahora vamos a probar a obtener alguna informacin ms especfica. Supongamos que deseamos una lista de todos nuestros clientes ordenados por apellido: USE AdventureWorks SELECT Lastname FROM Person.Contact Los resultados de esta consulta sern los apellidos de los clientes: LastName Achong Abel Abercrombie Acevedo . . Hu Ejemplo 4 Hoy vamos a obtener una consulta ms personalizada de los clientes: SELECT FirstName, Lastname, EmailAddress FROM Person.Contact Por favor, escriba los primeros 2 resultados de la consulta: LA CLAUSULA WHERE Esta clusula nos permite colocar condiciones sobre los resultados deseados. Los ejemplos que hemos visto hasta el momento son consultas SELECT sin restricciones en el sentido de que se han incluido en el resultado todas las filas de la tabla especificada. Las consultas sin restricciones son muy tiles para rellenar cuadros de lista y cuadros combinados y en otros escenarios en los que intentamos proporcionar un listado de dominio.

Ejemplo 5 Ahora vamos a buscar informacin ms especfica de la tabla Person.Address de la base de datos AdventureWorks: SELECT City, AddressLine1, PostalCode FROM Person.Address WHERE StateProvinceID = 74

III. Requerimientos Maquina con SQL Server 2008 Gua Nmero 3

IV. Procedimiento

Parte 1: Iniciando sesin desde SQL Server Managment Studio 1. Hacer clic en el botn Inicio 2. Hacer clic en la opcin Todos los programas y hacer clic en Microsoft SQL Server 2008 R2 3. Cargue SQL Server 2008 R2. Para conectarse con el servidor de base de datos elija los siguientes parmetros de autenticacin: Tipo de servidor: Database Engine Nombre del servidor: SALA02-PCNumMaquina Nota: NumMaquina es el numero de maquina local Autenticacin: SQL Server Authentication Login: sa Password: 123456 4. Luego de clic en el botn conectar y as ingresar a la ventana del SQL Server Managment Studio. 5. Luego seleccionara del men estndar la opcin (Nueva Consulta/New Query) para empezar a trabajar con las sentencia de T-SQL. 6. Localice el icono de guardar, con el fin de guardar el nuevo archivo de sentencias T-SQL (SQLQuery1.sql). En el asistente para guardar archivo, cree una carpeta llamada Practica3_BDD en el escritorio (ah se ira guardando todos los scripts del procedimiento restante).

Parte 2: Creacin de BDD y tablas con T-SQL 7. A continuacin creara una Base de datos con el siguiente nombre: SUCARNET_PRACTICA3, gracias a la sentencia create database, as: create database SUCARNET_PRACTICA3 Nota: reemplace SUCARNET por su carnet de la UDB.

8. Si el motor a logrado ejecutar la creacin de la BDD, recibir un mensaje de : command(s) completed successfully

9. Para continuar, apyese en la documentacin de la introduccin terica de esta practica para redactar as, los comandos T-SQL que permitan realizar las acciones (de los pasos restantes del procedimiento) sobre la Base de datos. 10. Indique al servidor que har uso de su Base de datos. 11. Con el cursor, seleccione el comando redactado en el paso anterior, luego localice y presione el botn Execute>. Se vera sombreado color verde a la izquierda de esta lnea, confirmando que el comando seleccionado se ejecuto correctamente y los resultados en la parte inferior. 12. Redacte el comando para crear una Tabla llamada ESTUDIANTES (dentro de la BDD en uso), cuyo diccionario de datos se muestra a continuacin. Diccionario de Datos. Nombre de la Tabla: ESTUDIANTES

13. Para confirmar si la tabla existe, ejecute el comando: Sp_help estudiantes; EJERCICIO 1 14. De manera similar, ahora redacte y ejecute los comandos para crear las tablas siguientes: * Dado los siguientes diccionarios de datos, crear las tablas con lenguaje SQL en la misma base de datos:

Parte 3: Insercin de datos (registros) en tablas 15. Ahora se agregarn registros a las tablas anteriores. A continuacin se muestran los datos que adicionara a la tabla ESTUDIANTES. Tabla: estudiantes

16. Ejecute una instruccin select * from ESTUDIANTES; para verificar que la informacin (registros) fueron insertados correctamente en la tabla estudiantes. 17. De igual forma, inserte los registros de las tablas restantes, descritos a continuacin. Confirme que los datos se agregaron apropiadamente a los objetos. Tabla: materias

Tabla: notas

18. Guarde los cambios en el archivo de secuencia de comandos (.sql)

Parte 4: Modificacin y Eliminacin de registros de las tablas 19. Redacte el comando delete a continuacin, el cual permitir eliminar los registros de la tabla NOTAS, cuyo campo IdMateria sea igual a 103: DELETE FROM NOTAS WHERE IdMateria = 103 20. Ahora redacte el comando update con estos parmetros, para as modificar los registros de la tabla NOTAS para el IdEstudiante = 1 y IdMateria = 101. La nota ser modificada de 5.6 a 9.0 UPDATE NOTAS SET Nota=9.0 WHERE IdEstudiante =1 AND IdMateria=101

PROBLEMAS COMPLEMENTARIOS 1. Cree un nuevo archivo de registros de comandos (.sql), el (consultasdeSUCARNET.sql) 2. Redacte la secuencia de comandos que resuelva las siguientes solicitudes: cual se llamara

A.

Insertar los siguientes registros:

Tabla Materias:

B. Escriba una consulta para verificar la informacin insertada C. Eliminar los registros 106 y 107 de la tabla materia D. Actualizar Notas de Estudiantes; el IdMateria = 102 a 9.0 E. Escriba una consulta que devuelva el ID de producto, nombre, el nmero de producto de un producto, donde el ID de producto sea igual a 356, de la tabla Production.Product de la base de datos AdventureWorks.

V. Anlisis de resultados Indicaciones: Lea y conteste correctamente a los siguientes interrogantes: Nota: Se le pide que verifique en el explorador de objetos del Management Studio, si se encuentran las siguientes bases: AdventureWorks, Northwind, Pubs, Library y Join. 10

1. Las siguientes sentencias SQL devuelven el mismo resultado si /no. Cualquiera que fuera su respuesta explique!! a. USE Adventure Works; GO SELECT * FROM Production. Product ORDER BY Name ASC; b. USE AdventureWorks; GO SELECT p.* FROM Production.Product p ORDER BY Name ASC ; GO

2. Explique con sus palabras que es lo que hace el siguiente script USE AdventureWorks; GO SELECT Name, ProductNumber, ListPrice AS Price FROM Production.Product ORDER BY Name ASC; GO 3. Explique con sus palabras que es lo que hace el siguiente script USE AdventureWorks; GO SELECT Name, ProductNumber, ListPrice AS Price FROM Production.Product WHERE ProductLine = 'R' AND DaysToManufacture < 4 ORDER BY Name ASC; GO

VI. Referencia Bibliogrfica Microsoft SQL Server 2008, Gua Prctica, Francisco Charte Ojeda; Anaya Multimedia.

11

You might also like