0 évaluation0% ont trouvé ce document utile (0 vote)
61 vues29 pages
El documento describe el lenguaje de consultas estructurado SQL. SQL se originó como un proyecto de investigación de IBM y ahora es un estándar ampliamente utilizado para acceder a bases de datos relacionales. SQL se compone de tres sublenguajes: DDL para definir datos, DCL para controlar datos, y DML para manipular datos. El documento también explica comandos SQL comunes, cláusulas, operadores y funciones de agregado.
El documento describe el lenguaje de consultas estructurado SQL. SQL se originó como un proyecto de investigación de IBM y ahora es un estándar ampliamente utilizado para acceder a bases de datos relacionales. SQL se compone de tres sublenguajes: DDL para definir datos, DCL para controlar datos, y DML para manipular datos. El documento también explica comandos SQL comunes, cláusulas, operadores y funciones de agregado.
El documento describe el lenguaje de consultas estructurado SQL. SQL se originó como un proyecto de investigación de IBM y ahora es un estándar ampliamente utilizado para acceder a bases de datos relacionales. SQL se compone de tres sublenguajes: DDL para definir datos, DCL para controlar datos, y DML para manipular datos. El documento también explica comandos SQL comunes, cláusulas, operadores y funciones de agregado.
El SQL (Structured query language), lenguaje de consulta estructurado, es un lenguaje surgido de un proyecto de investigacin de IBM para el acceso a bases de datos relacionales. Actualmente se ha convertido en un estndar de lenguaje de bases de datos, y la mayora de los sistemas de bases de datos lo soportan, desde sistemas para ordenadores personales, hasta grandes ordenadores. A partir de este estndar otros sistemas han desarrollado otras variantes de SQL, cambios que no suponen ninguna complicacin para alguien que conozca un SQL, como el que se ve en este curso con: Access2010 y SQL Server 2008. SQL nos permite realizar consultas a la base de datos, sin embargo SQL adems realiza funciones de definicin, control y gestin de la base de datos. Las sentencias SQL se clasifican segn su finalidad dando origen a tres lenguajes o mejor dicho sublenguajes: 1. DDL (Data Description Language), lenguaje de definicin de datos, incluye rdenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que ms varia de un sistema a otro). Incluye al grupo de sentencias del SQL que soportan la definicin y declaracin de los objetos de la base de datos. Objetos tales como: la base de datos misma(DATABASE), las tablas(TABLE), las Vistas (VIEW), los ndices (INDEX), los procedimientos almacenados (PROCEDURE), los disparadores (TRIGGER),Reglas (RULE), Dominios (Domain) y Valores por defecto(DEFAULT). CREATE, ALTER y DROP 2. DCL (Data Control Language), lenguaje de control de datos, contiene elementos tiles para trabajar en un entorno multiusuario, en el que es importante la proteccin de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, as como elementos para coordinar la comparticin de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros. Grupo de sentencias del SQL para controlar las funciones de administracin que realiza el DBMS, tales como la atomicidad y seguridad. COMMIT TRANSACTION, ROLLBACK TRANSACTION, GRANT REVOKE. 3. DML (Data Manipulation Language), lenguaje de manipulacin de datos, nos permite recuperar los datos almacenados en la base de datos y tambin incluye rdenes para permitir al usuario actualizar la base de datos aadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados. Grupo de sentencias del SQL para manipular los datos que estn almacenados en las bases de datos, a nivel de filas (tuplas) y/o columnas (atributos). Ya sea que se requiera que los datos sean modificados, eliminados, consultados o que se agregaren nuevas filas a las tablas de las base de datos. INSERT, UPDATE, DELETE y SELECT. Caractersticas del lenguaje Una sentencia SQL es como una frase (escrita en ingls) que expresa: Lo que queremos obtener y de donde obtenerlo. Todas las sentencias empiezan con un verbo (palabra reservada que indica la accin a realizar), seguido del resto de clusulas, algunas obligatorias y otras opcionales que completan la frase. Todas las sentencias siguen una sintaxis para que se puedan ejecutar correctamente, para describir esa sintaxis utilizaremos un diagrama sintctico como el que se muestra a continuacin. Las palabras en maysculas son palabras reservadas se tienen que poner tal cual y no se pueden utilizar para otro fin, por ejemplo, en el diagrama de la figura tenemos las palabras reservadas SELECT, ALL, DISTINCT, FROM, WHERE. Las palabras en minsculas son variables que el usuario deber sustituir por un dato concreto. En el diagrama tenemos ncolumna, expresion-tabla y condicion-de-busqueda. PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 63
PROCEDIMIENTO PARA IMPLEMENTACIN DE UNA BD.
PASO DESCRIPCIN 1 Definir en el disco duro, el rea fsica que contendr las tablas de la base de datos. Sentencia SQL --> CREATE DATABASE. 2 Crear las diferentes tablas de la base de datos. Sentencia SQL --> CREATE TABLE 3 Insertar las filas de las diferentes tablas, sin violar la integridad de datos. Sentencia SQL --> INSERT INTO. 4 Actualizar los datos que cambien con el tiempo en las diferentes tablas. Sentencia SQL --> UPDATE. 5 Eliminar las filas que ya no se requieran en las diferentes tablas. Sentencia SQL --> DELETE 6 Realizar las consultas deseadas a las tablas de la base de datos a travs de la poderosa sentencia de consultas del SQL, llamada SELECT. 7 Dar nombre a las consultas elaboradas en el paso No.6 cuando se requiera ocultar el diseo y columnas de las tablas a travs de la creacin de vistas lgicas. Sentencia SQL ----> CREATE VIEW.
ACT 9. ACTIVIDAD EN PLATAFORMA: 3 FORO EN LINEA: GENERALIDADES DEL LENGUAJE DE CONSULTA ESTRUCTURADA EN LAS BASES DE DATOS. Los alumnos, recuperan conocimientos previos sobre la programacin, analizan los cuestionamientos siguientes y expresan respuestas personales sobre: GENERALIDADES DEL LENGUAJE ESTRUCTURADO EN LAS BASES DE DATOS: 1. Que es SQL? 2. Que utilidad tiene SQL? 3. Describe 3 rdenes bsicas de SQL. 4. Cuales son los 3 lenguajes en que se apoya SQL? 5. Menciona 3 herramientas de software que reconocen el uso del SQL? Los comentarios vertidos deben ser breves, claros y concretos, adems los alumnos pueden corregir conceptos imprecisos manifestados por otros compaeros, as mismo deber evitarse confrontaciones personales y no utilizar lenguaje obsceno ni ofensivo, manteniendo en todo momento una actitud de cordialidad respeto. Nota: favor de no poner texto con fondo de color, por ser ilegible, adems los foros no incluyen conclusiones, ya que en algunos casos, se ha observado que algunos foristas expresan sus intervenciones con estas caractersticas no deseadas.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 64
INTRODUCCIN A SQL
INTRODUCCIN El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL se utiliza para crear objetos QueryDef, como el argumento de origen del mtodo OpenRecordSet y como la propiedad RecordSource del control de datos. Tambin se puede utilizar con el mtodo Execute para crear y manipular directamente las bases de datos Jet y crear consultas SQL de paso a travs para manipular bases de datos remotas cliente - servidor.
COMPONENTES DE SQL El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
COMANDOS Existen dos tipos de comandos SQL: Los DLL que permiten crear y definir nuevas bases de datos, campos e ndices. Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
COMANDOS DLL Comando Descripcin CREATE Utilizado para crear nuevas tablas, campos e ndices. DROP Empleado para eliminar tablas e ndices ALTER Utilizado para modificar las tablas agregando campos o cambiando la definicin de los campos.
COMANDOS DML Comando Descripcin SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado. INSERT Utilizado para cargar lotes de datos en la base de datos en una nica operacin. UPDATE Utilizado para modificar los valores de los campos y registros especificados. DELETE Utilizado para eliminar registros de una tabla de una base de datos.
CLUSULAS Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular Clusula Descripcin FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros. WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar. GROUP BY Utilizada para separar los registros seleccionados en grupos especficos. HAVING Utilizada para expresar la condicin que debe satisfacer cada grupo. ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 65
OPERADORES LGICOS Operador Uso AND Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad slo si ambas son ciertas. OR Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdar si alguna de las dos es cierta. NOT Negacin lgica. Devuelve el valor contrario de la expresin.
OPERADORES DE COMPARACIN Operador Uso < Menor que > Mayor que <> Distinto de <= Menor Igual que >= Mayor Igual que = Igual que BETWEEN Utilizado para especificar un intervalo de valores. LIKE Utilizado en la comparacin de un modelo In Utilizado para especificar registros de una base de datos
FUNCIONES DE AGREGADO Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registro Funcin Descripcin AVG Utilizada para calcular el promedio de los valores de un campo determinado COUNT Utilizada para devolver el nmero de registros de la seleccin SUM Utilizada para devolver la suma de todos los valores de un campo determinado MAX Utilizada para devolver el valor ms alto de un campo especificado MIN Utilizada para devolver el valor ms bajo de un campo especificado
SENTENCIAS BSICAS: SENTENCIA CREATE Dentro del Lenguaje de Definicin (DL) del SQL, la sentencia CREATE permiten la definicin o creacin de muchos objetos de la base de datos tales como: tablas (esquemas), ndices, vistas, dominios, ligaduras de integridad y procedimientos. CREATE DATABASE Cuando comenzamos a crear nuestra base de datos en el servidor, el primer paso del montaje es crear la base de datos. Hasta que no creamos la base de datos no podemos comenzar a crear las tablas y dems elementos. La creacin de la base de datos se har una nica vez. Normalmente el proceso de creacin se hace desde el entorno visual del sistema gestor pero no existe ningn inconveniente en hacerlo utilizando comandos SQL. Si lo hacemos desde SQL el comando de creacin es CREATE DATABASE, y su sintaxis: CREATE DATABASE nombre_base_datos PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 66
La sintaxis de CREATE DATABASE admite muchos ms parmetros aunque normalmente no se utilizan. En los sistemas gestores a la hora de crear nuestra base de datos debemos de estar situados en la base de datos del sistema, en la mayora de los sistemas llamada master. Esto es as porque en ella se introducir la informacin de las propiedades de nuestra base de datos, la que terminamos de crear.
CONNECT DATABASE Una vez, cada vez que queramos trabajar con ella tendremos que establecer la conexin entre nuestro cliente de SQL y el servidor de SQL. Este proceso, al igual que el proceso de creacin, se suele realizar desde el interfaz grfico. Normalmente el sistema gestor nos ofrece un men desplegable con todas las bases de datos existentes donde seleccionamos la base de datos con la que vamos a trabajar. El comando SQL equivalente a este proceso es CONNECT, y su sintaxis: CONNECT DATABASE nombre_base_datos Con el comando CONNECT s vamos a encontrar diferencias importantes dependiendo del sistema gestor con el que trabajemos. Por ese motivo normalmente se realiza desde el interface grfico. Para borrar una base de datos, tan sencillo como: DROP DATABASE nombre_base_datos CREATE TABLE Para la creacin de los esquemas o lo que es lo mismo las tablas que contendrn los datos de la base de datos, debemos utilizar la sentencia CREATE TABLE. La sentencia CREATE TABLE, define el nombre de la tabla, las columnas con su tipo de datos, las ligaduras de intengridad que vigilan el valor que se guarde como dato en las columnas o atributos sean llaves o no, su sintaxis es: CREATE TABLE nombre_tabla ( columna1 tipo_dato, columna2 tipo_dato, ... ..., columna tipo_dato, CONSTRAINT cp_nombre_tabla PRIMARY KEY (columna1,...,columnan), [CONSTRAINT cal_nombre_tabla UNIQUE (columna1,...,columanan), [CONSTRAINT caj_nombre_tabla FOREIGN KEY (columna1,...,columnan) REFERENCES tabla] ) Las posibilidades de CREATE TABLE son muchas ms de las mencionadas en la lista anterior pero realmente no son utilizadas. Por defecto, cuando creamos una tabla todos los campos de la tabla admitirn valores nulos. En principio es lo adecuado. Solamente encontraremos problemas con los campos que sean claves primarias o alternativas, puesto que por definicin estos campos siempre tiene que tener valor, nunca pueden estar vacos. Por ello, en estas columnas estaremos obligados a aadirles la opcin NOT NULL, que obliga a que esos campos no admitan valores nulos. Esa opcin tambin tendremos que utilizarla en los campos que sean claves ajenas y estemos obligados a que todos los registros de nuestra tabla estn relacionados a travs de esa clave ajena. La forma de utilizacin es muy sencilla: columna1 tipo_dato NOT NULL, Ahora vamos a conocer los tipos de datos que podemos aplicar a los campos. SQL nos ofrece gran variedad de tipos de datos, aunque como ocurre siempre, nos acostumbramos a utilizar unos pocos y si en alguna ocasin necesitamos plasmar alguna situacin un poco ms especial recurrimos a la ayuda de SQL para ver ms detalladamente otros tipos de datos o nos creamos los nuestros propios. Integer enteros comprendidos entre -231 (-2.147.483.648) y 231 - 1 (2.147.483.647). Smallint enteros comprendidos entre 215 (-32.768) y 215 - 1 (32.767). Tinyint enteros comprendidos 0 y 255. Real flotantes comprendidos entre -3,40E + 38 y 3,40E + 38. Datetime fechas. Char caracteres fijos hasta 8.000. Varchar caracteres variables hasta 8.000. Text caracteres variables hasta 231 - 1 (1.147.483.647). PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 67
La diferencia entre caracteres fijos (Char) y caracteres variables (Varchar) estriba en que si nosotros hacemos con Char una reserva de memoria de 50 posiciones y al introducir datos solamente utilizamos 20, el resto ser memoria desperdiciada, mientras que si hemos realizado la reserva utilizando Varchar, caracteres variables, si al final solamente utilizamos 20, el resto de memoria ser liberada. Lo ms adecuado es utilizar siempre para caracteres Varchar, utilizando Char solamente en aquellos casos en que sepamos de antemano que siempre se va a consumir todo el espacio reservado, como podran ser campos como los nmeros de telfono, cdigos de texto de tamao fijo, etc. Si en algn momento necesitamos tener un campo entero que sea autonumrico, es decir, que el sistema gestor vaya controlando su valor e incrementndolo o decrementndolo de forma automtica, sin que nosotros tengamos que preocuparnos por ello, tenemos que utilizar la opcin IDENTITY. Esta opcin necesitar dos parmetros, la inicializacin, el valor por el que tiene que comenzar, y el incremento, en el que indicamos el valor de incremento, tanto si es positivo como negativo. Su sintaxis: columna1 integer identity (1,1), Segn el ejemplo anterior, el campo columna1, ser un autoincrementable que comenzar en el valor 1 e ir incrementando de uno en uno. Y como no hay mejor forma de aprender que trabajando un poco, vamos a ver como seran los comandos SQL para la creacin de nuestras tablas de ejemplo. Create table Clientes ( DNI char(9) not null, Nombre varchar(50), Direccion varchar(60), Ciudad varchar(30), CP char(5), Telefonochar(9), constraint cp_Clientes primary key (DNI) ) Fijmonos en la creacin de tabla que acabamos de realizar, y destaquemos algunos detalles. El DNI es la clave primaria, as queda definido en la ltima lnea de la instruccin de creacin de la tabla, adems, a esta clase, se le ha dado el nombre de cp_Clientes, como ya se haba recomendado en el apartado de Convenciones de diseo. Si la clave primaria de nuestra tabla Clientes es el DNI, por definicin este campo nunca podr contener valores nulos, por lo que vamos a tener que indicrselo, indicacin que hacemos, tal como se aprecia en el listado, aadindole al campo la opcin NOT NULL. create table Facturas ( Numero integer identity (1,1) not null, Fecha datetime, Total real, DNI char(9), constraint cp_Facturas primary key (Numero), constraint caj_Facturas foreign key (DNI) references Clientes ) En la creacin de la tabla Facturas nos encontramos con el comando IDENTITY, que indica que el nmero de factura se ir generando automticamente comenzando por el nmero de factura 1 y creciendo de uno en uno. Tambin nos encontramos la definicin de una clave ajena, el campo DNI ser una clave ajena qe relacione una factura con un cliente. create table Articulos ( Codigo integer not null, Nombre varchar(40), PrecioCompra real, IVA real, constraint cp_Articulos primary key (Codigo) ) PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 68
create table LineasFactura ( Numero integer identity(1,1) not null, Factura integer not null, Cantidadinteger, Articulointeger not null, Precio real, Total real, constraint cp_LineasFactura primary key (Numero), constraint caj_LineasFactura1 foreing key(Factura) references Facturas, constraint caj_LineasFactura2 foreing key(Articulo) references Articulos ) Aqu nos encontramos con la existencia de dos claves ajenas, como podemos ver sus nombres son el mismo solamente que numerados para que no haya error. Adems a los campos de estas dos claves ajenas se les ha asignado la caracterstica de no poder tomar valores nulos. Por lo tanto, siempre que exista una lnea de factura sta va a tener que pertenecer a una factura y ser de la venta de un artculo, no pueden existir lneas de factura que no cumplan estas condiciones. En realidad el comando CONSTRAINT no es de obligado cumplimiento, podramos definir claves, tanto ajenas como primarias sin la necesidad de utilizar CONSTRAINT pero no podramos darles un nombre a dichas claves. En siguientes apartados veremos que inconveniente se nos plantea si tomamos la determinacin de no dar nombre a nuestras claves.
INSERCCIN, MODIFICACIN Y BORRADO DE DATOS (INSERT,UPDATE,DELETE) Una vez creadas las tablas podemos comenzar a trabajar con los datos, insertando, modificando y borrando datos. A continuacin la sintaxis de cada uno de los procesos respectivamente:
INSERT INTO tabla [(columna1,...,columnan)] VALUES (valor1,...,valorn) UPDATE tabla SET columna1=valor1,...,columnan=valorn WHERE condicion DELETE FROM tabla WHERE condicion
Bueno, esta sintaxis parece ms sencilla que la vista en el apartado anterior. El comando INSERT no tiene ningn secreto, es muy sencilla su forma. Donde podemos encontrar algn problema es con la actualizacin y el borrado, problema en el sentido de entender y a posteriori determinar correctamente la condicin de la clusula WHERE. Las filas de la tabla que cumplan la condicin de la clusula where ser las filas que sufran la actualizacin o el borrado dependiendo del comando utilizado. Vamos a unos ejemplos. Insert into Clientes (DNI,Nombre,Direccion,Ciudad,CP,Telefono) values (21547789,Agapito Lafuente Corral,c./La plaza nueva,Alicante,03005,987785655) Insert into Clientes (12456445,Maria del mar Sanchez Juan,c./La marina,Madrid,25455,887452114) En la segunda insercin se me ha olvidado poner los nombres de los campos de la tabla, pero no es incorrecto. Si cuando realizamos una insercin sta afecta a todos los campos de la tabla no es necesario que indiquemos los nombre de los mismos, solamente es necesario cuando vayamos a realizar inserciones en las que algunos campos del nuevo registro no vayamos a rellenarlos, es este caso esos campos en blanco quedarn definidos con el valor NULL. Aqu hay que hacer una pequea llamada de atencin. Podemos perfectamente hacer inserciones que solamente afectan a un subconjunto de los campos de un registro y el resto dejarlo en blanco, pero tenemos que tener la precaucin de nunca dejar en blanco ningn campo que hayamos definido como NOT NULL, nos dara un error y no realizara la insercin.
/* Actualiza la direccin y el CP del cliente con DNI 21547789 */ Update Clientes set Direccion=Plaza Mayor, CP=66789 where DNI=21547789 /*Borra el cliente con DNI 12456445 */ Delete from Clientes where DNI=12456445 /* Borra todos los clientes de los que no tengamos nombre */ Delete from Clientes where Nombre is NULL
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 69
Como podemos apreciar en los ejemplo de los borrados y actualizaciones, utilizar estos procedimientos no tiene, al igual que las inserciones, una gran complicacin. El pequeo problema, en los dos primeros, estriba en la clusula WHERE. Los ejemplos mostrados nos ensean como utilizar WHERE en sus posibilidades ms sencillas, obviamente, podramos generar condiciones de borrado y actualizacin algo ms complejas. Dejo para el artculo del prximo nmero de la revista Sntesis el abordar casusticas ms complejas de la clusula, donde conoceremos con detalle toda su potencia. No obstante voy a citar, junto con algn ejemplo ms, algunos de los operadores que podemos utilizar en ella: AND Es el y lgico. OR Es el o lgico. NOT Es el negador lgico. <, >, <=, >=, =, <> Son los comparadores. BETWEEN Especifica un intervalo de valores. LIKE Compara con un modelo. Ver tabla apartado Creacin de reglas para datos. IN Compara con una lista de datos. /* Borra todas las facturas emitidas antes del 1/1/2000 */ Delete from Facturas where fecha < 1/1/2000 /* Actualiza el valor del descuento al 25% a todos los clientes cuya ltima compra est entre 200000 y 300000 pesetas */ Update Cliente set descuento=25 where total_ultima_compra between 200000 and 300000 /* Borra todos los articulos cuyo cdigo comienza por 210 */ Delete from Articulos where codigo like 210%
MODIFICAR Y BORRAR UNA TABLA (ALTER TABLE, DROP TABLE) Si necesitamos borrar una tabla, situacin que se da en raras ocasiones, el comando es: DROP TABLE nombre_tabla Con todo el trabajo que lleva crear una tabla y lo fcil que es borrarla. Hay que llevar cierta precaucin si la tabla se encuentra relacionada con otras tablas. Y ahora, para el borrado de la tabla, vamos a continuar con nuestra lnea normal, ALTER TABLE. ALTER TABLE, sirve para realizar modificaciones de definicin sobre las tablas ya generadas, modificaciones aadiendo o eliminando campos o claves. Su sintaxis: ALTER TABLE tabla {ADD {COLUMN tipo de campo[(tamao)] [CONSTRAINT indice] CONSTRAINT indice multicampo} | DROP {COLUMN campo CONSTRAINT nombre del indice} } Unos ejemplos: /* Agrega un campo Comentario a la tabla Clientes */ Alter table Clientes add column Comentario varchar(255) /* Elimina el campo IVA de la tabla Articulos */ Alter table Articulos drop column IVA /* Aade un campo CIF a la tabla Articulos y despus lo convierte en clave ajena para relacionar cada artculo con el proveedor que lo suministra. El CIF es el identificador de un proveedor */ Alter table Articulos add column CIF char(9) Alter table Articulos add constraint caj_Articulos foreing key (CIF) references Proveedores /* Aunque no tenga sentido, borraremos la clave ajena de la tabla LineasFactura a la tabla Factura */ Alter table LineasFactura drop constraint caj_LineasFactura1
En el apartado donde hemos explicado como se crean las tablas se ha comentado que cuando se genera una clave, bien sea ajena, primaria o alternativa, el comando CONSTRAINT no es obligatorio incluirlo aunque si recomendable, ahora podemos darnos cuenta del por qu. Si no utilizamos CONSTRAINT no podremos poner un nombre a la nueva clave generada, si la clave no dispone de nombre despus no podremos tratarla con otros comandos como son los vistos en este apartado. No cuesta nada, al generar las claves, otorgarles un nombre, y podemos evitar problemas ms adelante. PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 70
CONSULTAS DE SELECCIN Las consultas de seleccin se utilizan para indicar al motor de datos que devuelva informacin de las bases de datos, esta informacin es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset. Este conjunto de registros es modificable.
CONSULTAS BSICAS La sintaxis bsica de una consulta de seleccin es la siguiente: SELECT Campos FROM Tabla;
En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo: SELECT Nombre, Telefono FROM Clientes; Esta consulta devuelve un recordset con el campo nombre y telfono de la tabla clientes.
ORDENAR LOS REGISTROS Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las tablas mediante la clasula ORDER BY Lista de Campos. En donde Lista de campos representa los campos a ordenar.
Ejemplo: SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY Nombre; Esta consulta devuelve los campos CodigoPostal, Nombre, Telefono de la tabla Clientes ordenados por el campo Nombre.
Se pueden ordenar los registros por mas de un campo, como por ejemplo: SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal, Nombre; Incluso se puede especificar el orden de los registros: ascendente mediante la clasula ( ASC -se toma este valor por defecto) descendente ( DESC ) SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal DESC , Nombre ASC ;
CONSULTAS DE PREDICADO El predicado se incluye entre la clasula y el primer nombre del campo a recuperar, los posibles predicados son: Predicado Descripcin ALL Devuelve todos los campos de la tabla. TOP Devuelve un determinado nmero de registros de la tabla. DISTINCT Omite los registros cuyos campos seleccionados coincidan totalmente. DISTINCTROW Omite los registros duplicados basandose en la totalidad del registro y no slo en los campos seleccionados.
ALL Si no se incluye ninguno de los predicados se asume ALL. El Motor de base de datos selecciona todos los registros que cumplen las condiciones de la instruccin SQL. No se conveniente abusar de este predicado ya que obligamos al motor de la base de datos a analizar la estructura de la tabla para averiguar los campos que contiene, es mucho ms rpido indicar el listado de campos deseados. SELECT ALL FROM Empleados; SELECT * FROM Empleados; TOP Devuelve un cierto nmero de registros que entran entre al principio o al final de un rango especificado por una clusula ORDER BY. Supongamos que queremos recuperar los nombres de los 25 primeros estudiantes del curso 1994:
SELECT TOP 25 Nombre, Apellido FROM Estudiantes ORDER BY Nota DESC ;
Si no se incluye la clusula ORDER BY, la consulta devolver un conjunto arbitrario de 25 registros de la tabla Estudiantes .El predicado TOP no elige entre valores iguales. En el ejemplo anterior, si la nota media nmero 25 y la 26 son iguales, la consulta devolver 26 registros. Se puede utilizar la palabra reservada PERCENT para devolver un cierto porcentaje de PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 71
registros que caen al principio o al final de un rango especificado por la clusula ORDER BY. Supongamos que en lugar de los 25 primeros estudiantes deseamos el 10 por ciento del curso: SELECT TOP 10 PERCENT Nombre, Apellido FROM Estudiantes ORDER BY Nota DESC ; El valor que va a continuacin de TOP debe ser un Integer sin signo.TOP no afecta a la posible actualizacin de la consulta. DISTINCT Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los valores de cada campo listado en la instruccin SELECT se incluyan en la consulta deben ser nicos. Por ejemplo, varios empleados listados en la tabla Empleados pueden tener el mismo apellido. Si dos registros contienen Lpez en el campo Apellido, la siguiente instruccin SQL devuelve un nico registro: SELECT DISTINCT Apellido FROM Empleados;
Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos campos indicados en la clusula SELECT posean un contenido diferente. El resultado de una consulta que utiliza DISTINCT no es actualizable y no refleja los cambios subsiguientes realizados por otros usuarios. DISTINCTROW Devuelve los registros diferentes de una tabla; a diferencia del predicado anterior que slo se fijaba en el contenido de los campos seleccionados, ste lo hace en el contenido del registro completo Independientemente de los campos indicados en la clusula SELECT. SELECT DISTINCTROW Apellido FROM Empleados;
Si la tabla empleados contiene dos registros: Antonio Lpez y Marta Lpez el ejemplo del predicado DISTINCT devuleve un nico registro con el valor Lpez en el campo Apellido ya que busca no duplicados en dicho campo. Este ltimo ejemplo devuelve dos registros con el valor Lpez en el apellido ya que se buscan no duplicados en el registro completo.
ALIAS En determinadas circunstancias es necesario asignar un nombre a alguna columna determinada de un conjunto devuelto, otras veces por simple capricho o por otras circunstancias. Para resolver todas ellas tenemos la palabra reservada AS que se encarga de asignar el nombre que deseamos a la columna deseada. Tomado como referencia el ejemplo anterior podemos hacer que la columna devuelta por la consulta, en lugar de llamarse apellido (igual que el campo devuelto) se llame Empleado. En este caso procederamos de la siguiente forma: SELECT DISTINCTROW Apellido AS Empleado FROM Empleados;
RECUPERAR INFORMACIN DE UNA BASE DE DATOS EXTERNA Para concluir este captulo se debe hacer referencia a la recuperacin de registros de bases de datos externa. Es ocasiones es necesario la recuperacin de informacin que se encuentra contenida en una tabla que no se encuentra en la base de datos que ejecutar la consulta o que en ese momento no se encuentra abierta, esta situacin la podemos salvar con la palabra reservada IN de la siguiente forma:
SELECT DISTINCTROW Apellido AS Empleado FROM Empleados IN c:\databases\gestion.mdb'; En donde c:\databases\gestion.mdb es la base de datos que contiene la tabla Empleados.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 72
SENTENCIAS DE CONSULTA SQL EN MS-ACCESS
PRCTICA N22: SQL CREACIN DE TABLAS EN MS ACCESS BGGNL222.AADB 1. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\, Crea en el SGBD en tu ruta una BD en blanco con nombre: BGGNL222.AADB. 2. CREAR TABLA EN SQL: Cierra el archivo de tabla1 generado y aplica de la cinta de opciones de Access: Crear+Diseo de consulta, cierra la caja de dilogo mostrar tabla y cambia a vista SQL, en el rea de trabajo escribe el siguiente conunto de rdenes o cdigo:
3. Despus de capturarlo correctamente aplique de la cinta de opciones la ficha: Herramientas de consulta: Ejecutar ! , guarde consulta1 como Consulta1NL y djela abierta para efectos de comparacin, as mismo verifique en el panel de navegacin su tabla recin creada exista. 4. AADIR REGISTRO: Elija Crear+Diseo de consulta, en el cuadro mostrar tabla: agregue la tabla empleados y cierre esa ventana, cambie a vista SQL, escribe en la ventana de edicin de la consulta SQL el siguiente cdigo:
5. Aplique en la ficha: Herramientas de consulta: Ejecutar ! y verifique que la tabla EMPLEADOSNL presente un registro de contenido, ingresado mediante SQL (Lenguaje estructurado de consultas), guarde esta consulta como Consulta2NL. 6. Repitiendo la orden INSERT INTO agregue un total de 5 registros a la tabla en cuestin, de tal manera que el contenido sea el siguiente:
7. ELIMINAR REGISTRO: Elija Crear+Diseo de consulta, en el cuadro mostrar tabla: agregue la tabla empleados y cierre ventana dilogo, cambie a vista SQL, escribe en la ventana de edicin de la consulta SQL el siguiente cdigo:
8. Ejecute su consulta, observe que se eliminarn los registros 4 y 5 que cumplen la condicin Sueldo<12000 y gurdela con el nombre Consulta3NL.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 73
PRCTICA N23: CONSULTAS SQL EN BD EN MS ACCESS BGGNL223.AADB 9. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\, recupera de esta, el archivo de BD: BD222.AADB y cpialo a la carpeta local de trabajo local previamente abierta. 10. Abre en el SGBD la BD local: BGGNL222 .AADB, verifica que en el panel de navegacin de Access despliegue la Tabla: TEmplea2.
11. Aplique men Crear+Diseo de consulta, seleccione la tabla TEmplea2, en la barra de estado cambie al vista SQL. 12. CONSULTA1NL: Aparece la ficha Consulta1 con las instrucciones de lenguaje de consulta estructurado (SQL): SELECT FROM TEmplea2; modifquela por: SELECT NSS, nombre, puesto, sueldo FROM TEmplea2;
13. Pulse de la Ficha Herramientas de consulta la cinta opciones: Ejecutar, analice y realice observaciones de los resultados obtenidos, guarde esta consulta con el nombre Consulta1NL. 14. CONSULTA2NL: Cree otra nueva consulta, con la tabla: TEmplea2, cambie al modo vista SQL y edite la consulta por la siguiente instruccin: SELECT * FROM TEmplea2; 15. Aplique Ejecutar, analice y realice observaciones de los resultados obtenidos, guarde esta consulta con el nombre Consulta2NL. 16. CONSULTA3NL: Cree otra consulta, con: TEmplea2, cambie al modo vista SQL y edite la consulta por la siguiente instruccin: SELECT * FROM TEmplea2 WHERE nombre="carlos C."; 17. Aplique Ejecutar, analice y registre observaciones de los resultados obtenidos, guarde esta consulta con el nombre Consulta3NL. 18. CONSULTA4NL: Cree otra consulta, con: TEmplea2, cambie al modo vista SQL y edite la consulta por la siguiente instruccin: SELECT DISTINCT NSS FROM TEmplea2; 19. Aplique Ejecutar, analice y registre observaciones de los resultados obtenidos, guarde esta consulta con el nombre Consulta4NL. 20. CONSULTA5NL: Cree otra consulta, con: TEmplea2, cambie al modo vista SQL y edite la consulta por la siguiente instruccin: SELECT * FROM TEmplea2 WHERE puesto ='supervisor' AND sueldo>3000; PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 74
21. Aplique Ejecutar, analice y registre observaciones de los resultados obtenidos, guarde esta consulta con el nombre Consulta5NL. 22. Registre sus observaciones en la siguiente tabla: CONSULTA INFORMACIN DESPLEGADA 1. 2. 3. 4. 5. 23. Por ltimo, guarde la Base de Datos BGGNL223.AADB que incluye relaciones, consulta formularios e informes y suba al servidor de red para efectos de evaluacin.
ACT 10. ACTIVIDAD EN PLATAFORMA: INVESTIGACIN Y EXPOSICIN: CONCEPTOS, CARACTERSTICAS Y APLICACIONES DEL SQL. Los alumnos integrados en equipos de 5, realizan el diseo y exposicin de una presentacin electrnica en Power Point con nombre: (BGGNL_XX.PPT), de uno de los temas abajo especificados y previamente asigandos por el Facilitador, debiendo contener: Portada con datos del tema y alumnos participantes por nmero de lista, Desarrollo (tpicos detallados en la relacin) y Conclusiones de equipo, la diapositiva de desarrollo deber contener los siguientes elementos relacionados a continuacin: CONCEPTOS, CARACTERSTICAS Y APLICACIONES DEL SQL 1. SQL Server. 2. SQL Server Management Studio. 3. SQLDbx. 4. MySQL. 5. DDL (Data Description Language). 6. DCL (Data Control Language). 7. DML (Data Manipulation Language). 8. Transact-SQL. 9. Funciones: Count, Min, Max, Sum, Avg, Grpup by, Insert into, Update, Delete, Truncate. 10. Ejemplo de aplicacin de SQL. Que deber subir cada representante de equipo a plataforma, la ltima diapositiva, incluir conclusiones de equipo, subir documento electrnico a plataforma acadmica, aplicando especificaciones previamente descritas para efectos de evaluacin.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 75
PRCTICA N24: TABLAS Y ADICIN DE REGISTROS CON SQL EN MS-ACCESS BGGNL224.AADB 1. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\, e inicia el SGBD la BD MS Access, crea la Base de datos en blanco con el nombre BGGNL224.AADB. 2. CREACION DE TABLAS: Si tienes alguna tabla u objeto abierto cirralos, selecciona Men Crear + Diseo de consultas, te desplegar la caja de dilogo: Mostrar tabla, cirrala, posicionado en la ventana de Consulta, aplica vista modo SQL, debers completar la siguiente orden correctamente:
3. Una vez escrito el conjunto de instrucciones, pulsa de la cinta de opciones: Ejecutar !, observa en el panel de navegacin que a partir de SQL (Lenguaje de consultas estructurado) y desde la ventana consulta has creado la tabla: LIBROSNL, cierra y guarda consulta1 y renmbrala como Consulta1NL. 4. IMPORTAR TABLAS: Recupera de Recursos acadmicos del servidor: \PROGRAMACION\MOD01\SUB02\PRAC, el archivo de BD: BD224.XLSX, las tablas LIBROS(5) y LIBROS(10). 5. INGRESAR UN REGISTRO: aplica Crear+Diseo de consulta, te despliega el cuadro mostrar tabla, agrega LIBROSNL y cierra el cuadro de dilogo, cambia a vista SQL, escribe el siguiente conjunto de rdenes:
6. Verifica que se ha aadido un registro a tu tabla LIBROSNL, guarda la consulta2 con el nombre Consulta2NL. 7. AADIR REGISTROS DESDE OTRAS TABLAS: aplica Crear+Diseo de consulta, en el cuadro mostrar tabla, agrega LIBROS(5), cirralo, cambia a vista SQL, y escribe las siguientes rdenes:
8. Te indicar que se han aadido 5 nuevas filas a tu tabla LIBROSNL, verifica la adicin de 5 registros ms a LIBROSNL, guarda tu consulta3 con el nombre Consulta3NL y repite la operacin para agregar los registros de la tabla LIBROS(10), guarda tu consulta4 como Consulta4NL y verifica tengas 16 registros ordenados en tu tabla LIBROSNL. 9. Cierra todos tus archivos, consultas y tablas, guardndolos respectivamente, por ltimo, guarde la Base de Datos BGGNL224.AADB y suba al servidor de red para efectos de evaluacin.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 76
Una sentencia vlida se construye siguiendo la lnea a travs del diagrama hasta el punto que marca el final. Las lneas se siguen de izquierda a derecha y de arriba abajo. Cuando se quiere alterar el orden normal se indica con una flecha.
Cmo se interpretara el diagrama sintctico de la figura?
Hay que empezar por la palabra SELECT, despus puedes poner ALL o bien DISTINCT o nada, a continuacin un nombre de columna, o varios separados por comas, a continuacin la palabra FROM y una expresin-tabla, y por ltimo de forma opcional puedes incluir la clusula WHERE con una condicin-de-bsqueda.
Por ejemplo: SELECT * col1,col2,col3 FROM mitabla SELECT col1,col2,col3 FROM mitabla SELECT DISTINCT col1 FROM mitabla SELECT col1,col2 FROM mitabla WHERE col2 = 0
Todas estas sentencias se podran escribir y no daran lugar a errores sintcticos.
Cuando una palabra opcional est subrayada, esto indica que ese es el valor por defecto (el valor que se asume si no se pone nada). En el ejemplo anterior las dos primeras sentencias son equivalentes (en el diagrama ALL aparece subrayada).
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 77
PRCTICA N25: INSTALACIN Y ENTORNO DEL SQL SERVER BGGNL225.DOC
1. El Facilitador, realiza una instalacin del Software MS SQL Server 2008 y explica paso a paso el procedimiento de instalacin y configuracin. 2. Crea un archivo nuevo de Word con el nombre GBBNL225.DOC, que incluya datos del alumno como se especific con anteioridad: 1. Nombre de la escuela. 2. Nombre del alumno, nl, gpo, especialidad. 3. Nombre y nmero de la prctica. 4. Nombre del facilitador. 3. Los alumnos elaboran un reporte que detalle, explica e incluya imgenes de pantalla del procedimiento expuesto por el facilitador, para ello deber contener los siguientes conceptos:
1. Conceptos de MS SQL Server. 2. Caractersticas de SQL Server. 3. Diferencias entre las ediciones: Enterprise, Standard, Workgroup, Developer y Express. 4. Requerimientos de Hardware. 5. Requerimientos de Software. 6. Pantallas de la instalacin. 7. Opciones de configuracin. 8. Otras versiones comerciales de SQL.
4. Al final, guarde tu archivo BGGNL225.DOC y suba al servidor de red para efectos de evaluacin.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 78
PRCTICA N26: CLIENTES SQL SERVER: MANAGEMENT STUDIO y SQLDBX BGGNL226.DOC
1. El Facilitador, realiza explicacn sobre el manejo de los Softwares clientes de SQL: Microsoft SQL Server 2008 management Studio y SQLDBX, explica el manejo de este par de aplicaciones, funcionaldad, ventajas y desventajas. 2. Crea un archivo nuevo de Word con el nombre GBBNL226.DOC, que incluya datos del alumno como se especific anteiormente. 3. El reporte debe contener los siguientes conceptos: 1. Descripcin de Microsoft SQL Server Management Studio. 2. Caractersticas del Management Studio. 3. Utilida y funcionamiento. 4. Requerimientos de Hardware y Software. 5. Pantallas de la instalacin. 6. Descripcin de SQLDBX. 7. Caractersticas de SqlDbx. 8. Soporte DBMS. 9. Utilidad y funcionamiento. 10. Requerimientos de Hardware y Software. 11. Pantallas de la aplicacin.
4. Al final, guarde tu archivo BGGNL226.DOC y suba al servidor de red para efectos de evaluacin.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 79
CUESTIONARIO DE COMPLEMENTO (Actividad individual): 1. Describa caractersticas y diferencias de los SGBD MS Access y SQL Server. 2. Describa caractersticas y diferencias de los SGBD SQL Server y MySQL. 3. Diferencias entre los tipos de datos Char y VChar
ACT 11. ACTIVIDAD EN PLATAFORMA: ACTIVIDAD DE EMAPREJAMIENTO CONCEPTOS AVANZADOS DE SQL. Los alumnos resuelven individualmente la actividad de relacionar columnas o emaprejamiento correctamente y propuesta en la liga: http://cursos.cbtis4.edu.mx/file.php/93/interactivos/Ac11_S02Un03.htm/ En un tiempo no mayor de 15 min. correctamente, al finalizar debe pulsar una sola vez el botn Comprobar para generar el resultado con las respuestas correctas, para no ser penalizado, as mismo una vez resuelta la actividad con el resultado visible, no cerrar la pantalla con el resultado, ya que debes capturar la pantalla con la calificacin legible, cuando se despliegue el resultado obtenido (pulse las teclas Alt+Impr pantalla), misma que es el registro o evidencia de resolucin del mismo. Para ello, debe elaborar individualmente un documento de Word con el nombre (BGGNLXX.DOC), en el que debes pegar la imagen previamente capturada del Emarejamiento, as mismo liste y definacon mayor amplitud cada uno de los trminos correctos de la actividad, por ltimo, no olvide anotar conclusiones personales al final de su documento a subir en plataforma acadmica.
ACT 12. ACTIVIDAD EN PLATAFORMA: CUESTIONARIO EN LINEA: SQL Y LAS BASES DE DATOS. El siguiente cuestionario consta de 20 preguntas de opcin mltiple, emparejamiento, falso y verdadero y respuesta breve (solo las palabras necesarias y lgicas de cada respuesta), se sugiere contestar en MAYSCULAS, su resolucin deber realizarse en solo un intento y con un tiempo lmite de duracin de 30 min. Debes contestar cada pregunta y al final pulsar el botn: Enviar todo y terminar de la parte baja de la pgina para que genere la calificacin de todas tus respuestas del cuestionario. Suerte !
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 80
PRCTICA N27: CREAR BASE DE DATOS Y TABLAS EN MS SQL SERVER BGGNL227.SQL 1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), previamente debes tener una cuenta de acceso como usuario del motor de BD asignada por los administradores del SQL Server. 2. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\. 3. BASE DE DATOS SQL: Debes conectarte con el servidor SQL que el Facilitador te informe oportunamente, una vez conectado deberas crear tu base de datos de la prctica en este caso BGGNL227, se generar como archivo del tipo MDF, en ella debes agregar una nueva consulta con el mismo nombre BGGNL227.SQL en esta debes escribir el script o texto que debers ejecutar por parcialidades para comprobar el funcionamiento correcto de la etapa, en primer caso debes escribir el siguiente conjunto de instrucciones:
4. CREAR LA BASE DE DATOS: Una vez capturadas las instrucciones selecciona la lnea: CREATE DATABASE y pulsa el botn de Ejecutar, con ello generars la BD, si tu cdigo es correcto, se desplegar un mensaje indicando esto, en caso contrario te notifica el tipo de error presente, mismo que debes corregir, al estar libre de errores tu cdigo, actualiza el panel de navegacin y verificars que la BD ha sido creada. 5. ACTIVAR LA BASE DE DATOS: Ahora selecciona la lnea con la instruccin: USE la ejecutas del mismo modo que la instruccin anterior, esto es para poner tu BD en uso o activarla. 6. CREAR LA TABLA: Selecciona el bloque de texto iniciando con la lnea CREATE TABLE y terminando con el parntesis de cierre ) , ejecuta este bloque de texto, si esto es correcto y libre de errores, el panel de mensajes te indicar que se cre la tabla, pulsa actualizar en el rbol en los objetos Tabla. 7. INGRESAR REGISTROS A LA TABLA: Ahora debes escribir el texto del bloque de abajo que inicia con la instruccin INSERT INTO TGGNL227 y concluye al final de la lnea 110, al final de la captura debes Ejecutar este bloque, si es correcta te indicar que se aadieron 11 nuevos registros a tu tabla, en caso contrario tienes que buscar, identificar y corregir el error presente. 8. VISUALIZAR EL CONTENIDO: como en los casos anteriores, ahora debes teclear: SELECT * FROM TGGNL227, despus ejectuas la instruccin y te desplegar en filas y columnas tus registros de la tabla generada en SQL Server. PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 81
9. Si todo lo realizado hasta ahora es correcto debers ver tu informacin como el cuadro que se incluye abajo:
10. Guarda tu archivo script o consulta BGGNL227.SQL en tu ruta de trabajo local o carpeta personal y despus sbelo al servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL, por ltimo, cierra correctamente el SGBD.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 82
PRCTICA N28: IMPORTAR TABLAS DE EXCEL Y CREAR CONSULTAS EN MS SQL SERVER BGGNL228.SQL 1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), previamente debes tener una cuenta de acceso como usuario del motor de BD asignada por los administradores del SQL Server. 2. Recupera de la ruta de Recursos acadmicos del servidor: PROGRAMACION\MOD01\SUB02\PRAC, el archivo de Excel con nombre: BD228.XLSX y cpialo a la carpeta de trabajo local: D:\ALUMNOS\GPOx\MODULO1\BGGNL\. 3. CREAR BASE DE DATOS SQL: Debes conectarte al motor de BD SQL Server, crea una nueva consulta con nombre BGGNL228.SQL para crear tu BD, una vez abierta, debes escribir la orden : CREATE DATABASE BGGNL228, luego selecciona la orden de la ventana de tu consulta y pulsa la opcin: EJECUTAR, despus, en el panel de mensajes te desplegar: Comandos completados correctamente, ahora en el panel de explorador de objetos, selecciona Bases de datos, men contextual + Actualizar, con esto ya debes observar el objeto de BD BGGNL228 creado, guarda la consulta pero no la cierres. 4. IMPORTAR TABLA DESDE EXCEL: Selecciona tu BD recin creada, Pulsa botn derecho del mouse para men contextual, elige: Tareas + Importar datos, con esto iniciars el asistente para importacin y exportacin de SQL Server, sigue los siguientes pasos: 1. Paso 1 : Origen de los datos, aqu debes especificar es archivo de Excel. 2. Paso 2 : Defines la ubicacin, especifica la carpeta de trabajo local, adems selecciona la versin de Excel ms prxima a la que utilizas, por ello aplica MS Excel 2007 y selecciona la casilla de verificacin: La 1 fila contiene nombres de columna. 3. Paso 3: Destino SQL Server Native Client 10.0, Nombre del servidor, el que estas utilizando, la Base de datos la misma que despliega en este casdo BGGNL228. 4. Paso 4: Especificar copia de tabla o consulta, elegimos la primera opcin: Copiar datos de una o varias tablas o vistas, aparece la hoja del libro de Excel, en este caso RECHUM, siguiente, finalizar y cerramos el asistente. 5. Abre el esquema de tu BD BGGNL228 y tambin las Tablas de sistema de la misma, observa que ya se incluye RECHUM, aplica men contextual, editar las primeras 200 filas, para visualizar los registros importados. 6. En caso que en el rbol de objetos no se despliegue la tabla, elige la Tabla de sistema de BGGNL228,, actualiza en men contextual. 7. El contenido desplegado tal como se muestra en la tabla parcial de abajo:
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 83
5. Despus de ver y analizar la tabla importada cierra la ventana de consulta donde despleg los registros de la tabla. 6. CONSULTAS: Regresa a la ventana consulta BGGNL228.SQL y escribe las siguientes instrucciones: 1. Asegura que tengas en uso la BD para ello teclea: USE BGGNL228. 2. En la ventana de consulta escribe las siguientes lneas una por una y ejectalas tambin una por una en el mimo orden: 1. COMENTARIOS (ESPECIFICADOS estos no se ejecutan). 2. SELECT * FROM RECHUM$. 3. SELECT * FROM RECHUM$ ORDER BY APADRE. 4. SELECT * FROM RECHUM$ ORDER BY CIUDAD. 5. SELECT * FROM RECHUM$ ORDER BY CATEGO. 6. SELECT * FROM RECHUM$ ORDER BY SUELDO. 7. SELECT NOMBRES, APADRE, AMADRE FROM RECHUM$ ORDER BY APADRE. 7. Aplicando las consultas que se indican arriba, adems de las que tu propongas, resuelve los cuestionamiento planteados en la tabla anexa:
N CUESTIONAMIENTOS RESPUESTAS 1. N Ciuadades en que se distribuye el personal: 2. N Categoras del personal: 3. Puestos: 4. Total de empleados: 5. Sueldo menor: 6. Sueldo mayor: 7. Que sucedi con la ltima consulta del bloque? 8. Cuantos registros tienen Apellido materno MARTINEZ 9. En que ao ingresaron menos empleados? 10. En que ao ingresaron ms empleados? 11. Que Ciudad tiene ms personal. 12. Que Ciudad tiene menos personal.
8. Guarda tu archivo script o consulta BGGNL228.SQL con las instrucciones que se te citaron y las propuestas por ti, en la ruta de trabajo local o carpeta personal y despus sbelo al servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL, por ltimo, cierra correctamente el SGBD.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 84
PRCTICA N29: CONSULTAS CON FILTRO EN MS SQL SERVER BGGNL229.SQL 1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), con una cuenta previa de acceso como usuario del motor de BD asignada en SQL Server. 2. Del Motor de BD de SQL Server, recupera la BD de datos: BGGNL228, previamente realizada, crea una nueva consulta con nombe BGGNL229.SQL y escribe las rdenes que se proponen. 1. CONSULTAS: E la ventana consulta BGGNL229.SQL, Asegura que tengas en uso la BD y escribe cada lnea de cdigo y ejectala inmediatamente, repite lo mismo para las siguientes:
3. Aplicando las consultas que se indican arriba, as como las que consideres convenientes y propongas, resuelve los cuestionamiento planteados en la tabla anexa: N CUESTIONAMIENTOS RESPUESTAS 1. Que ciudad tiene ms personal 2. Personal con apellido materno que inicia con M 3. Personal con apellido materno MARTINEZ 4. Ciudad con mayor personal 5. Ciudad con menor personal 6. N Personal que ingreso entre 1960 y 1999 7. N Personal que ingreso a partir del 2000 8. Categorias de personal existente 9. Personal adscrito a la categora 1 10. Personal adscrito a la categora 2 11. Personal adscrito a la categora 3 12. Personal adscrito a la categora 4 13. Personal adscrito a la categora 5 14. Personal adscrito a la categora 6 15. Cuanto personal tiene la el puesto de Gerente 4. Guarda tu archivo BGGNL229.SQL y sbelo al servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL, por ltimo, cierra correctamente el SGBD.
TABLA LIBGGNL (BGG230) CODLIB TITULO EDITORIAL AUTOR GENERO AREA PAIS PAGS ANIOED PRECIO 1 QUIJOTE DE LA MANCHA ANAYA CERVANTES DE SAAVEDRA MIGUEL FICCION LITERATURA ESPAA 517 1991 225.00 2 HISTORIAS DE NUEVO ORLEANS ALFAOMEGA FULKNER WILLAM NOVELA ESPAOL USA 186 1985 187.00 3 IPHONE 5 ANAYA MCFREDIES PAUL TELEFONIA TECNOLOGIA ESPAA 304 2010 250.00 4 EL PRINCIPITO ANDINA SAINT-EXUPEREY ANTOINE AVENTURA LITERATURA FRANCIA 120 1996 150.00 5 MATEMATICAS DISCRETAS ALFAOMEGA ESPINOSA RAMON EDUCACIN MATEMATICAS MEXICO 254 2010 199.00 6 EL PRINCIPE S.M. MAQUIAVELO POLITICO SOCIALES ITALIA 210 1995 120.00 7 MS SQL SERVER 2005 ADMON. Y ANALISIS ALFAOMEGA PEREZ CESAR COMPUTACIN INFORMTICA MEXICO 635 2007 359.00 8 DIPLOMACIA S.M. KISSINGER HENRY POLITICO DERECHO ALEMANIA 825 1997 180.00 9 LOS WINDSOR PLAZA & JANES KELLERY KITTY BIOGRAFIAS SOCIALES GRAN BRETAA 620 1998 165.00 10 EL ULTIMO EMPERADOR CARALT YI PU AUTOBIOGRAFIA CHINA CHINA 353 1989 179.00 11 FORTUNATA Y JACINTA PLAZA & JANES PEREZ GALDOS NOVELA ESPAOL ESPAA 625 1984 119.50 12 TECNOLOGA Y DISEO DE BASES DE DATOS ALFAOMEGA PIATTINI MARIO COMPUTACIN INFORMTICA MEXICO 980 2007 399.00 13 FOTOGRAFIA DE ALTO RANGO DINAMICO ANAYA NAVARRO RIOS FRUCTUOSO EDUCACIN FOTOGRAFIA ESPAA 416 2010 199.00 14 WINDOWS 7 INFORMATICA PARA TORPES ANAYA TRIGO VICENTE COMPUTACIN INFORMTICA ESPAA 352 2009 239.00 15 FUNDAMENTOS DE REDES MC GRAW HILL HALLBERG BRUCE COMPUTACIN TELECOMUNICACIONES MEXICO 512 2006 450.00
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 86
TABLA USERGGNL (BGG230) CODUSER NOMBRE APELLIDOS DNI DOMICILIO POBLACION ESTADO FNAC VMB0580 MARIO BUENO PEDRAZA 0448022506288 AV. LOPEZ FARIAS # 583 OTE CD. LERDO DGO. 22/05/1980 VJL0392 JUANA MA. LLAMAS DOMINGUEZ 0442704258971 CALLE MIRAMONTES 347 SUR GOMEZ PALACIO DGO. 05/03/1992 VAM0275 ARNULFO MOLINA FLORES 0447548962315 AV. FCO. I MADERO # 1221 NTE. GOMEZ PALACIO DGO. 28/02/1975 VBG0979 BELINDA GONZALEZ VALERO 0444589126577 CALLE JAZMINES # 35 PTE. CD. LERDO DGO. 17/09/1979 VEA1182 ERNESTO ALBA EZQUEDA 0447956154822 CALLE CENTENO # 724 SUR GOMEZ PALACIO DGO. 03/11/1982 VHH1276 HERMINIA HUERTA SOLER 0445863125741 AV. BRAVO # 1327 NTE. GOMEZ PALACIO DGO. 11/12/1976 VIM0765 ISRAEL MOTA DEL RIO 0442346572559 AV. ABASOLO # 583 SUR CD. LERDO DGO. 14/07/1965 VAR0760 ANA ISABEL CAMACHO FLORES 0442348751946 BLVD. LAS CRUCES # 386 OTE. CD. LERDO DGO. 09/07/1960 VCR0987 MA. CARMEN ROCHA SILVEYRA 0449523548642 CALLE CAMARONES # 693 PTE. CD. LERDO DGO. 03/09/1987 VAR0370 ALONSO DE LA RIVA TUERO 0442548756834 AV. DURAZNOS # 512 SUR GOMEZ PALACIO DGO. 05/03/1970
TABLA: MEDICINAS (BGG231)
1 OMEPRAZOL OMEPRAZOL NOM2185 PRIMER NIVEL ULCERA PEPTICA 40 MG C/DIA TABLETAS TOMAR EN AYUNAS 1 HR ANTES DE ALIMENTOS 115.00 2 CICLOFERON ACICLOVIR NOM1083 LIOMONT ANTIHERPETICO 200 MG C/4HR SUSPENSION NO APLICAR DOSIS MAYOR DE 20 MGKG C/8 HR 70.00 3 ZAF-200 BEZAFIBRATO NOM1173 PSICOFARMA RED. TRIGLICERIDOS 200 MG C/8 HR TABLETAS NO APLICAR EN TRASTORNOS RENALES 135.00 4 AMOXIL AMOXICILINA NOM2564 GSK ANTIBIOTICO 250 MG 3/DIA CAPSULAS EVITAR EN EMBARAZOS Y LACTANCIA 80.00 5 LOMOTIL LOPERAMIDA NOM2318 PFIZER ANTIDIUARREICO 4 TAB/DIA MAX TABLETAS EVITAR EN EMBARAZOS Y LACTANCIA 65.00
PRCTICA N30: APLICACIN DE CREATE DATABASE Y CREATE TABLE EN MS SQL SERVER BGGNL230.SQL 1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), con una cuenta de acceso de usuario al motor de BD asignada por administradores del SQL Server. 2. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\. 3. BASE DE DATOS SQL: Debes conectarte con el servidor SQL que se te especifique oportunamente, una vez conectado al motor de base de datos, debes crear la BD BGGNL230 y dentro de ella las siguientes tablas: Nota: Todo objeto creado desde el script o ventana de consulta y todos los archivos SQL que subas al servidor de red acadmica debern contener las primeras lneas de comentarios, tal como se aplicaron en las prcticas anteriores. BASE DE DATOS BIBLIOTECA Utilizando lenguaje de SQL (BGGNL230.SQL), genera las tablas necesarias para implementar una base de datos para el control de una biblioteca. La base de datos biblioteca nombrada previamente BGGNL230 tendr las siguientes tablas con sus caractersticas: TABLA LIBROS: LIBGGNL NOMBRE CAMPO TIPO DE CAMPO TAMAO CODLIB Numrico Entero TITULO Texto 60 EDITORIAL Texto 25 AUTOR Texto 35 GENERO Texto 20 AREA Texto 25 PAIS Texto 20 PAGS Numrico Entero ANIOED Texto 4 PRECIO Moneda
TABLA PRESTAMOS: PRESGGNL NOMBRE CAMPO TIPO DE CAMPO TAMAO NUMPEDIDO Numrico Integer CODLIB Numrico Byte CODUSER Texto 7 FSALIDA Fecha/Hora Fecha mediana FDEV Fecha/Hora Fecha mediana FMAXDEV Fecha/Hora Fecha/Mediana TABLA USUARIOS: USERGGNL NOMBRE CAMPO TIPO DE CAMPO TAMAO FORMATO CODUSER Texto 7 NOMBRE Texto 25 APELLIDOS Texto 25 DNI Texto 13 DOMICILIO Texto 35 POBLACION Texto 25 ESTADO Texto 5 FNAC Fecha/Hora Fecha mediana Ver datos y registros de las pginas 90 y 91 para efectos de captura, as mismo el alumno deber identificar y asignar PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 88
las claves principales as como realizar las relaciones convenientes.
CONSULTAS DE SELECCIN
1. Realizar una consulta donde se vean los libros que se han prestado depues del 7 de Febrero. 2. Realizar una consulta que indique las veces que se ha prestado cada libro. 3. Realizar una consulta donde se vean los pedidos de libros originados en pases diferentes a Mxico. 4. Realizar una consulta indicando los libros que ha sacado cada usuario. 5. Realizar una consulta, en la que introduciendo una fecha de salida como parmetro, me d informacin de los prstamos hechos esos das. 6. Indicar el nmero total de pginas, suponiendo que se ha ledo todo el libro, por cada usuario 7. Realizar una consulta donde me indique el nmero de libros ledos por cada poblacin. 8. Realizar una consulta donde me indique los libros que se ha sacado cada da. 9. Realizar una consulta donde me indique el da de la semana que se devolvieron ms libros. Deber aparecer el da de la semana y no el nmero del da de la semana 10. Disear un mdulo (funcin) que debe funcionar de la siguiente manera: Si la fecha de devolucin es mayor que la fecha mxima, por cada da de retraso deber abonar $50.00 La funcin se llamar demora. 11. Disear un mdulo que me indique el libro, nombre del autor y editorial. La informacin deber ir separada por punto y coma (;). Junto con esto, deber aparecer el nombre del usuario. La funcin se llamar resumen. CONSULTAS DE CREACIN DE TABLA 12. Crear una tabla que me diga el nmero del pedido, el nombre y apellido del usuario as como el nombre, editorial y autor del libro junto con la fecha de salida. La tabla se llamar Informacin Bsica. 13. Crear una tabla donde me indique nicamente la informacin de prstamos cuya editorial sea Alfaomega. La tabla, se llamar Alfaomega.
CONSULTAS DE ACTUALIZACIN 14. La Editorial Andina se pasa a llamar ANAYA. 15. Debido a la inflacin, los libros con un coste superior a $ 250.00, suben un 10%. 16. Los pedidos cuya fecha mxima es superior al 08/02/2013, se pueden entregar dos ms tarde.
4. Guarda tu archivo script o consulta BGGNL230.SQL en tu ruta de trabajo local o carpeta personal y despus sbelo al servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL, por ltimo, cierra correctamente el SGBD.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 89
PRCTICA N31: BASES DE DATOS, TABLAS POR ASISTENTE EN MS SQL SERVER BGGNL231.SQL 5. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), previamente debes tener una cuenta de acceso como usuario del motor de BD asignada por los administradores del SQL Server. 6. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\. 7. BASE DE DATOS SQL ASISTENTE: Debes conectarte con el servidor SQL que se te especifique oportunamente, una vez conectado al motor de base de datos, debes crear la BD BGGNL231, para ello eliges del Explorador de objetos el icono Bases de datos y pulsas botn derecho para men contextual + Nueva Base de datos, escribe el nombre, en este caso BGGNNL228 y pulsa del men contextual de Basos del sistema: actualizar para poder ver que esta ya est creada. 8. TABLA DE DATOS: Selecciona tu base de datos BGGNL231, pulsa 2 click para abrir el esquema jerrquico y en Tabla, pulsa el objeto y boton derecho mouse para menu contextual + Nueva Tabla, te aparecer el Diseador de tablas y crea la estructura que se te propone en el cuadro siguiente: BASE DE DATOS: MEDICAMENTOS Se implementar una base de datos para el manejo de Medicinas. La BD con nombre: DRUGGGNL.DBO, con lo siguiente tabla y atributos: TABLA MEDICINAS: DRUGGGNL NOMBRE CAMPO TIPO DE CAMPO TAMAO CODMED Numrico Smallint MEDICAMENTO Nvarchar 50 PRODACTIVO Nvarchar 50 NUMREG Nvarchar 50 LABORATORIO Nvarchar 50 APLICACIN Nvarchar 50 DOSIS Nvarchar 50 PRESENTACION Nvarchar 50 OBSERVAC Nvarchar 100 COSTO Moneda
Una vez concluida el diseo de tu tabla, pulsa botn derecho del mouse para guardarla con el nombre MEDGGNL.
9. ADICIONANDO REGISTROS A LA TABLA (ASISTENTE): Selecciona del explorador de objetos tu tabla MEDGGNL, men contextual +Editar las primeras 200 filas, e inicias la captura de los datos conforme a la tabla que se te propone en la tabla MEDICINAS de la pgina 91.
Nota: Todo objeto creado desde el script o ventana de consulta y todos los archivos SQL que subas al servidor de red acadmica debern contener las primeras lneas de comentarios, tal como se aplicaron en la prctica anterior.
10. Guarda tu archivo script o consulta BGGNL231.SQL en tu ruta de trabajo local o carpeta personal y despus sbelo al servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL, por ltimo, cierra correctamente el SGBD.
PROGRAMACIN: DISEA Y ADMINISTRA BD CBTis 4 ING. HUMBERTO DE LA ROSA G. 90
PRCTICA N32: INSTRUCCIONES CREATE DATABASE Y CREATE TABLE EN MS SQL SERVER BGGNL232.SQL 1. Inicia el SGBD (Microsoft SQL Server Management Studio SqlDbx), previamente debes tener una cuenta de acceso como usuario del motor de BD asignada por los administradores del SQL Server. 2. Abre tu carpeta personal: D:\ALUMNOS\GPOx\MODULO1\BGGNL\. 3. BASE DE DATOS SQL: Debes conectarte con el servidor SQL que el Facilitador te informe oportunamente, una vez 4. Guarda tu archivo script o consulta BGGNL232.SQL en tu ruta de trabajo local o carpeta personal y despus sbelo al servidor de red acadmica para efectos de evaluacin, la BD conteniendo tus objetos ya se ubica en el Servidor SQL, por ltimo, cierra correctamente el SGBD.