Consultas Combinadas. Las consultas combinadas pueden ser de tres tipos: Combinación interna Combinación externa Uniones

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Consultas Combinadas. Las consultas combinadas pueden ser de tres tipos: Combinación interna Combinación externa Uniones"

Transcripción

1 Bases de Datos SQL

2 Consultas Combinadas Habitualmente cuando necesitamos recuperar la información de una base de datos nos encontramos con que dicha información se encuentra repartida en varias tablas, referenciadas a través de varios códigos. De este modo si tuviéramos una tabla de coches con un campo marca, dicho campo contendría el código de la marca de la tabla de marcas.

3 Consultas Combinadas Sin embargo está forma de almacenar la información no resulta muy útil a la hora de consultar los datos. SQL nos proporciona una forma fácil de mostrar la información repartida en varias tablas, las consultas combinadas o JOINS. Las consultas combinadas pueden ser de tres tipos: Combinación interna Combinación externa Uniones

4 Combinación Interna Nos permite mostrar los datos de dos o más tablas a través de una condición WHERE. Para realizar la consulta combinada debemos escribir una consulta SELECT en cuya claúsula FROM escribiremos el nombre de dos tablas, separados por comas, y una condición WHERE que obligue a que el código de marca de la tabla de coches sea igual al código de la tabla de marcas.

5 Combinación Interna Demonos cuenta que hemos antepuesto el nombre de cada tabla a el nombre del campo, esto no es obligatorio si los nombres de campos no se repiten en las tablas, pero es aconsejable para evitar conflictos de nombres entre campos (ambiguedad). Por ejemplo, si para referirnos al campo marca no anteponemos el nombre del campo la base de datos no sabe si queremos el campo marca de la tabla tcoches, que contiene el código de la marca, o el campo marca de la tabla tmarcas, que contiene el nombre de la marca.

6 Combinación Interna Otra opción es utilizar la cláusula INNER JOIN. Su sintaxis es idéntica a la de una consulta SELECT habitual, con la particularidad de que en la cláusula FROM sólo aparece una tabla o vista, añadiéndose el resto de tablas a través de cláusulas INNER JOIN.

7 Combinación Interna El ejemplo anterior escrito utilizando la clausula INNER JOIN quedaría de la siguiente manera:

8 Combinación Externa La combinación interna es excluyente. Esto quiere decir que si un registro no cumple la condición de combinación no se incluye en los resultados. De este modo en el ejemplo anterior si un coche no tiene grabada la marca no se devuelve en mi consulta. Según la naturaleza de nuestra consulta esto puede ser una ventaja, pero en otros casos significa un serio problema. Para modificar este comportamiento SQL pone a nuestra disposición la combinación externa. La combinación externa no es excluyente.

9 Combinación Externa La sintaxis es muy parecida a la combinación interna La combinación externa puede ser diestra o siniestra, LEFT OUTER JOIN o RIGHT OUTER JOIN. Con LEFT OUTER JOIN obtenemos todos los registros de en la tabla que situemos a la izquierda de la clausula JOIN, mientras que con RIGHT OUTER JOIN obtenemos el efecto contrario.

10 Combinación Externa Como mejor se ve la combinación externa es con un ejemplo de LEFT OUTER JOIN Esta consulta devolverá todos los registros de la tabla tcoches, independientemente de que tengan marca o no. En el caso de que el coche no tenga marca se devolverá el valor null para los campos de la tabla tmarcas.

11 Combinación Externa Como mejor se ve la combinación externa es con un ejemplo de RIGHT OUTER JOIN Esta consulta devolverá los registros de la tabla tcoches que tengan marca relacionada y todos los registros de la tabla tmarcas, tengan algún registro en tcoches o no. Visualmente (la consulta devuelve los datos en azul)...

12 Combinación Unión La cláusula UNION permite unir dos o más conjuntos de resultados en uno detrás del otro como si se tratase de una única tabla. De este modo podemos obtener los registros de mas de una tabla "unidos". La sintaxis corresponde a la de varias SELECT unidas a través de UNION, como se muestra a continuación:

13 Combinación Unión Para utilizar la clausula UNION debemos cumplir una serie de normas. Las consultas a unir deben tener el mismo número campos, y además los campos deben ser del mismo tipo. Sólo puede haber una única clausula ORDER BY al final de la sentencia SELECT. El siguiente ejemplo muestra el uso de UNION

14 Combinación Unión Puede observarse el uso de la constante cero en la segunda lista de selección para hacer coincidir el número y tipo de campos que devuelve la consulta UNION.

15 Vistas Una vista es una tabla virtual cuyo contenido está definido por una consulta. Al igual que una tabla real, una vista consta de un conjunto de columnas y filas de datos que proceden de tablas a las que se hace referencia en la consulta y se producen de forma dinámica cuando se hace referencia a la vista.

16 Vistas

17 Utilización de vistas Para centrarse en datos específicos Para simplificar la manipulación de datos

18 Utilización de vistas Para proporcionar compatibilidad con versiones anteriores

19 Vistas encriptadas vs no encriptadas Una vista no cifrada nos permite obtener información acerca de su definición debido a que es posible que necesite ver la definición de la vista para entender cómo derivan sus datos de las tablas de origen o para ver los datos que ella misma define. Una vista no encriptada es aquella cuya secuencia de comandos no ha sido encriptada, de modo que la columna VIEW_DEFINITION de la vista INFORMATION_SCHEMA.VIEWS expone legiblemente al usuario la T-SQL que genera la vista. Para crear una vista no encriptada de manera predeterminada no se utiliza el atributo ENCRYPTION.

20 Muchas Gracias

21 Consulta Combinadas (Joins) CONSULTAS DE VARIAS TABLAS (Producto cartesiano de filas) Si no se hacen coincidir los valores de las columnas relacionadas se ob tiene gran duplicidad de filas. Tantas como - - el producto cartesiano de las filas de las tablas a las que se hace ref erencia. Ejemplo: select * from dbo.products select * from dbo.orders select * from dbo.products, dbo.orders UTILIZAR ALIAS EN UNA TABLA Cuando se relacionan varias tablas es normal que una misma columna form e parte de varias tablas. Para evitar - - errores de nombres duplicados podemos hacer dos cosas. Una es utilizar la sintaxis de nombre completo: -- NombreTabla.NombreColumna. select * from dbo.products, dbo.categories where dbo.products.categoryid = dbo.categories.categoryid -- La otra forma es dar un alias a cada tabla. Ejemplo: select * from dbo.products P, dbo.categories C where P.CategoryID = C.CategoryID INSTRUCCIÓN JOIN ON(Coincidencia INTERNAS de columnas) NOTA: La instrucción INNER JOIN es exactamente lo mismo que JOIN, dado q ue es el valor predeterminado. --TEORÍA--

22 - - La instrucción JOIN nos permite combinar varias tablas haciendo coincid ir los valores de las columas que nos - - interesen. Es decir, si tenemos dos tablas A y B que contienen una (o v arias) columnas con el mismo nombre, -- podemos relacionar ambas tablas por la columna del mismo nombre. - - Por cada registro de la columna en la tabla A que también esté en la co lumna de la tabla B, obtendremos un - - una relación. Lo que quiere decir que se produce un producto cartesiano de cada valor de la columna de la tabla A, -- por todos los valores coincidentes de la columna en la tabla B. --VOLVIENDO A LA BASE DE DATOS NORTHWIND Por ejemplo, la tabla empleados nos facilita bastante información de los mismos. La más significativa es el - - número de empleado, el nombre y la ciudad donde vive. Sin embargo, no n os dice nada de las ventas efectuadas por -- cada empleado. - - Si miramos la tabla de ventas veremos que además del número de ventas, tenemos información del empleado que - - realizo estas ventas. Por lo tanto, por medio de la columna EmployeeID presente en las dos tablas podemos -- relacionar los empleados con el número de venta. Ejemplo: select OrderID, LastName, FirstName, City from dbo.orders O join dbo.employees E on O.EmployeeID = E.EmployeeID order by OrderID - - De este modo podemos concluir que la columna que pertenece a una tabla

23 A y otra B sirve de nexo para relacionar - - los datos de otras columnas de la tabla A que no estan incluidos en la tabla B y viceversa Otro caso es la tabla de productos que nos da mucha información sobre los mismos pero apenas nos dice nada de - - la categoría a la que pertenece cada producto. Mostremos una tabla prod uctos personal que muestre la información - - más interesante de los productos, más el nombre de la categoría y una d escripción de esta. select ProductID, ProductName, C.CategoryID, CategoryName, Description, U nitprice, UnitsInStock from dbo.products P join dbo.categories C on P.CategoryID = C.CategoryID COMBINACIÓN DE TRES TABLAS. Si nos fijamos en las tablas de empleados y de clientes nos damos cuenta que no hay - - forma de relacionar que empleado atendió (o vendió) a que cliente. Pode mos hacerlo a través de la tabla de ventas -- que tiene los números de empleados y de clientes. select E.EmployeeID, LastName, FirstName, OrderID, C.CustomerID, CompanyN ame, ContactName from dbo.orders O join dbo.employees E on O.EmployeeID = E.EmployeeID join dbo.customers C on O.CustomerID = C.CustomerID order by EmployeeID Puede darse el caso en que solo interese esta información para los cli entes de España. select E.EmployeeID, LastName, FirstName, OrderID, C.CustomerID, CompanyN ame, ContactName from dbo.orders O

24 join dbo.employees E on O.EmployeeID = E.EmployeeID join dbo.customers C on O.CustomerID = C.CustomerID where C.Country = 'Spain' order by EmployeeID La instrucción JOIN también podemos utilizarla para sustituir a las su bconsultas. La forma de hacerlo es dando -- dos alias diferentes a una misma tabla. Ejemplo: -- (Mostrar los empleados que son mayores que el empleado 5 ( ) ). -- Técnica de subconsultas. select EmployeeID, LastName, FirstName, BirthDate from dbo.employees where BirthDate > (select BirthDate from dbo.employees where EmployeeID = 5) -- Instrucción JOIN. select E1.EmployeeID, E1.LastName, E1.FirstName, E1.BirthDate from dbo.em ployees E1 join dbo.employees E2 on E1.BirthDate > E2.BirthDate where E2.EmployeeID = INSTRUCCIÓN OUTER JOIN (Coincidencias EXTERNAS de columnas) Puede darse el caso que nos interese mostrar todos los valores de una c olumna (todas las filas) aunque no tengan -- correspondencia en la otra tabla. Así podemos tener 3 casos: -- 1.Mostrar todos los valores de la tabla IZQ (LEFT), con NULL para la tabl a DCH cuando no hay correspondencia select ProductID, ProductName, C.CategoryID, CategoryName, C.Description, UnitPrice, UnitsInStock from dbo.products P left outer join dbo.categories C on P.CategoryID = C.CategoryID -- 2.Mostrar todos los valores de la tabla DCH (RIGHT), con NULL para la tab la IZQ cuando no hay correspondencia.

25 select ProductID, ProductName, C.CategoryID, CategoryName, C.Description, UnitPrice, UnitsInStock from dbo.products P right outer join dbo.categories C on P.CategoryID = C.CategoryID -- 3.Mostrar todos los valores de ambas tablas (FULL) con NULL cuando no hay correspondencia. select ProductID, ProductName, C.CategoryID, CategoryName, C.Description, UnitPrice, UnitsInStock from dbo.products P full outer join dbo.categories C on P.CategoryID = C.CategoryID -- NOTA: La sentencia OUTER es opcional. Al incluir las sentencias LEFT, RIG HT Y FULL el sistema sabe que es una -- consulta de combinación externa. Ejemplo anterior: select ProductID, ProductName, C.CategoryID, CategoryName, C.Description, UnitPrice, UnitsInStock from dbo.products P full join dbo.categories C on P.CategoryID = C.CategoryID INSTRUCCIÓN UNION (Unión de filas en distintas tablas) Unir (UNION) todas (ALL) las filas de dos columnas de tablas diferente s. select City from dbo.employees union all select City from dbo.customers - - Devuelve la suma de todas las filas en ambas columnas Unir (UNION) las filas de dos columnas de tablas diferentes sin repeti r ningún valor. select City from dbo.employees union select City from dbo.customers - - Devuelve la suma de todas las filas en ambas columnas pero con valores únicos.

26 -- NOTA: Se debe cumplir que las columnas en ambas instruciones SELECT coinc idan en el tipo de datos INSTRUCCIÓNES EXCEPT Y INTERSECT (Diferencia e Intersección de conjunto s) EXCEPT - - Devuelve los valores de la primera consulta que no se encuentran en la segunda. select City from dbo.employees except select City from dbo.customers -- INTERSECT - - Devueleve una intersección de todos los valores, es decir, solo los que se encuentran ambas columnas. select City from dbo.employees intersect select City from dbo.customers

27 Consulta SQL Server para Conocer las Tablas y Vistas de una Base de Datos En Sql Server tenemos una sencilla consulta que nos devolverá las tablas y vistas de una base de datos: SELECT * from Information_Schema.Tables De aquí nos interesa el campo table_name (nombre de la tabla) y table_type (nos dice si es una tabla o una vista). Por tanto, filtrar por tablas o vistas es bastante sencillo (con el campo table_type). Para saber si existe una tabla en la base de datos (también nos sirve para las vistas) podemos utilizar la siguiente consulta (vamos a consultar si en Northwind existe la tabla Customers ): SELECT * from Information_Schema.Tables where table_name= Customers Si esta consulta nos devuelve registros es que existe la tabla (o vista) y si nos devuelve vacío, es que no existe. Vistas Usando la base de datos northwind crearemos una vista que selecciona las cinco clientes de la tabla Customers visualizando los siguientes campos: CustomerID, CompanyName, ContactName, Country, city, y además con la condición de que el nombre de la ciudad a la que pertenecen empiece con la letra M, ordenándolos por el campo companyname.

28 Se dará; cuenta que no usamos el atributo ENCRYPTION, o en todo caso, no se usa la cláusula WITH ENCRYPTION. Podemos comprobar esto al momento de ejecutar la siguiente sentencia (explicada en el cuadro anterior):

29 En contraste, para generar una vista encriptada se usa la cláusula WITH ENCRYPTION que se encargará de encriptar la T-SQL de la vista. En este cuadro es explica a detalle todo el proceso de generación y consulta de la vista encriptada.

30 Pues ahora usted verá que el campo view_definition está encriptado, negándonos de esta manera leer la secuencia de comandos que define esta vista viewcustomersencrypted.

31 Base de datos I. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Uso de sentencias SQL Objetivo Modificar, eliminar e insertar registros en una tabla Listar los registros de una tabla utilizando la sentencia select Materiales y Equipo Computadora con SQL Server Guía Número 5 Introducción En esta guía terminaremos de examinar los elementos que pueden ir en una instrucción SELECT así como las instrucciones que nos ayudan a definir una estructura de una base de datos y las instrucciones para poder realizar modificaciones a los objetos de la base de datos. Sintaxis general de la consulta SELECT SELECT <lista de columnas> [FROM <tabla(s) de origen >] [WHERE <condición restrictiva >] [GROUP BY <nombre de columna o expresión que utiliza una columna en la lista de selección>] [HAVING <condición restrictiva basadas en los resultados de GROUP BY>] [ORDER BY <listas de columna>] Ejemplo: USE NORTHWIND SELECT OrderID, Quantity As [Sin nombre de columna] FROM [Order Details] WHERE OrderID BETWEEN AND 11002

32 2 Base de datos I, Guía 5 Nota: Observe el uso de corchetes en esta consulta. Se debe de utilizar corchetes si el nombre de un objeto (en este caso una tabla) tiene espacios de por medio en él, tenemos que delimitar el nombre utilizando corchetes o comillas simples, lo que permite a SQL Server saber dónde empieza y dónde termina el nombre. Resultado de la consulta anterior es el siguiente: Aunque se ha solicitado sólo tres pedidos, se están viendo cada línea individual de detalle del pedido. Podríamos utilizar una calculadora o podríamos utilizar la cláusula GROUP BY con un agregado (en este caso vamos a utilizar SUM ( ) ) para obtener el total deseado. SELECT OrderID, SUM (Quantity) As [Sin nombre de columna] FROM [Order Details] WHERE OrderID BETWEEN AND GROUP BY OrderID Así obtiene lo que se está buscando:

33 Base de datos I. Guía 5 3 Lo que hizo fue agrupar en una suma los ORDER ID de los resultados, es decir en la primera consulta aparecían ORDER ID Sin nombre de columna Con la función sum lo que hace es agrupar(en este caso por el ORDER ID) y realizar la suma, por eso da el resultado ORDER ID Sin nombre de columna TIPS: Puedo agregarle un titulo a la columna sin nombre con AS Como es de suponer, la función SUM devuelve totales; pero totales de qué? Si no hubiésemos suministrado la cláusula GROUP BY, la función SUM habría sumado todos los valores de todas las filas para la columna con nombre. Sin embargo, en este caso hemos suministrado una cláusula GROUP BY y, por tanto, el total proporcionado por la función SUM es el total de cada grupo. También podemos agrupar basándonos en múltiples columnas. Para ello, sólo tenemos que añadir una coma y el nombre de la siguiente columna. Funciones de agregado Las funciones de agregado realizan un cálculo sobre un conjunto de valores y devuelven un solo valor. Con la excepción de COUNT, las funciones de agregado omiten los valores NULL. Las funciones de agregado se suelen utilizar con la cláusula GROUP BY de la instrucción SELECT. COUNT: Devuelve el número de elementos de un grupo (conjunto de resultados). SELECT COUNT(*) FROM Employees AVG Devuelve la media de los valores de un grupo. Los valores nulos se pasan por alto al probar a ejecutar la misma consulta que ejecutamos anteriormente, pero ahora vamos a modificarla para que devuelva el promedio de la cantidad por pedido en lugar del total de cada pedido:

34 4 Base de datos I, Guía 5 SELECT OrderID, AVG (Quantity) AS promedio FROM [Order Details] WHERE OrderID BETWEEN AND GROUP BY OrderID El resultado es: MAX / MIN: MAX devuelve el valor máximo de la expresión o del valor de una columna y MIN lo contrario. SELECT OrderID, MIN(Quantity) AS promedio FROM [Order Details] WHERE OrderID BETWEEN AND GROUP BY OrderID NOTA: En realidad todas las funciones de agregado ignoran los valores NULL excepto COUNT (*). Agrupar condiciones con la cláusula HAVING. Hasta el momento, hemos aplicado todas nuestras condiciones a filas específicas. Si una determinada columna en una fila no tiene un valor especifico o no se encuentra dentro de un rango de valores, se omitirá toda la fila, y todo ello antes de pensar siquiera en las agrupaciones. Qué pasaría si deseáramos agrupar condiciones? Es decir, Qué pasaría si deseáramos que todas las filas se agregasen a un grupo pero sólo cuando los grupos se hubiesen acumulado completamente estaríamos preparados para aplicar la condición? Bueno, aquí es donde entra en acción la cláusula HAVING. La cláusula HAVING sólo se utiliza si también existe una cláusula GROUP BY en la consulta. Mientras la cláusula WHERE se aplica a todas las filas antes incluso de tener la oportunidad de convertirse en parte de un grupo, la cláusula HAVING se aplica al valor agregado de dicho grupo. Ejemplo:

35 Base de datos I. Guía 5 5 Primero vamos a realizar un ejemplo que no lleve la cláusula HAVING y después vamos a utilizar el mismo ejemplo, pero ahora con la cláusula HAVING. Sin HAVING SELECT OrderID, SUM(Quantity) AS TOTAL FROM [Order Details] GROUP BY OrderID El resultado es: filas afectadas) (830 Lamentablemente, es bastante difícil analizar una lista tan larga. Por tanto, vamos a dejar que SQL Server reduzca esta lista para ayudarnos a realizar nuestro análisis. Supongamos que sólo estamos interesados en cantidades de pedidos más grandes. Podemos modificar la consulta para que devuelva la misma información pero limitándose a los pedidos cuya cantidad total esté por encima de 300? La respuesta es sí, y es tan fácil como añadir la cláusula HAVING.

36 6 Base de datos I, Guía 5 Con HAVING SELECT OrderID, SUM(Quantity) AS TOTAL FROM [Order Details] GROUP BY OrderID HAVING SUM(Quantity) > 300 El resultado es: Como puede comprobar, podemos reducir rápidamente la lista hasta los elementos que nos interesan. INSTRUCCION SELECT Ejemplo: USE Northwind SELECT * FROM Employees En la instrucción anterior la primera línea indica que utilizaremos la base de datos Northwind. La segunda line se ha pedido seleccionar información (SELECT puede pensar en ello como en pedir que se muestre o consulte información). El asterisco * podría parecer algo extraño, pero realmente funciona igual que en cualquier otro sitio: es un comodín. Cuando escribimos SELECT * estamos indicando que deseamos seleccionar todas las columnas de la tabla (En este caso la tabla Employees.) FROM indica que hemos terminado de especificar los elementos que deseamos ver y estamos a punto de indicar el origen de la información (el origen es la tabla Employees). Ejemplo: USE AdventureWorks SELECT FirstName, Lastname, Address FROM Person.Contact En esta consulta solamente se piden los campos FirstName, Lastname y Address de la table Person.Contact

37 Base de datos I. Guía 5 7 LA CLAUSULA WHERE. Esta cláusula 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: Ahora vamos a buscar información más específica de la tabla Person.Address de la base de datos AdventureWorks: USE AdventureWorks SELECT City, AddressLine1, PostalCode,StateProvinceID FROM Person.Address WHERE StateProvinceID = 74 Los primeros 3 resultados son: Ejemplo: City AddressLine1 PostalCode Nevada 2487 Riverside Drive Salt Lake 683 Larch Ct City Salt Lake City th Esta sentencia listara productos que tengan un precio único mayor a 60 USE NORTHWIND SELECT * FROM dbo.products WHERE UnitPrice >60.00 Esta sentencia listara todas los campos de la tabla categoria donde el nombre de categoria tenga coincidencia con la palabra produ(en cualquier parte del nombre) SELECT * FROM dbo.categories WHERE CategoryName LIKE '%produ%' OPERADORES QUE PODEMOS USAR CON LA CLAUSULA WHERE

38 8 Base de datos I, Guía 5 Insertando datos en una Tabla.

39 Base de datos I. Guía 5 9 El comando INSERT inserta una nueva fila en la tabla, al llenar las columnas con valores específicos. Sintaxis: INSERT INTO <tabla> [(lista de columnas)] VALUES (valores_de_datos) Ejemplo: INSERT INTO demo(cod_sucursal,nombre,apellido,telefono) VALUES (14,'Julia','Morales',' ') Eliminando datos de una tabla. El comando DELETE elimina filas de una tabla o vista, que satisfagan una condición específica. Sintaxis: DELETE FROM table_name WHERE condición. Ejemplo: DELETE FROM demo where nombre= julia Si no se incluye la cláusula WHERE, se eliminarán todas las filas en la tabla indicada. Actualizando datos de una tabla. Este comando permite la actualización de uno o más campos de una fila o grupo de filas de una tabla o vista. Las sentencias UPDATE se utilizan para modificar datos existentes. Sintaxis: UPDATE nombre_tabla nombre_vista SET (nombre_columna = expresion DEFAULT NULL) WHERE (condición) Ejemplo: UPDATE demo SET cod_sucursal = 55 WHERE apellido= Morales Set: especifica la lista de columnas que se actualizarán.

40 10 Base de datos I, Guía 5 Procedimiento Ejercicio No 1 Realizar lo siguiente: 1. Crear una Base de datos con el siguiente nombre: SUCARNET_PRACTICA3. Nota: recuerde que SUCARNET se refiere a su código de carné como estudiante de la UDB 2. Poner en uso la base de datos que acaba de crear con el comando USE. Ejemplo: USE SUCARNET_PRACTICA3 3. Crear las siguientes tablas dentro de la base de datos: TABLA : ESTUDIANTES CAMPO TIPO DE DATO LONGITUD IdEstudiante INT Nombres VARCHAR 25 Apellidos VARCHAR 25 Direccion VARCHAR 50 Telefono VARCHAR 8 sexo char 1 TABLA : MATERIAS CAMPO TIPO DE DATO LONGITUD IdMateria INT Materia VARCHAR 30 TABLA : NOTAS CAMPO TIPO DE DATO LONGITUD IdEstudiante INT

41 Base de datos I. Guía 5 11 IdMateria INT Nota DECIMAL (10,2) 4. Insertar los siguientes datos a las tablas creadas anteriormente. TABLA ESTUDIANTES IdEstudiante Nombres Apellidos Dirección Teléfono Sexo 01 Maria HERNANDEZ COL. SANTA ISABEL 02 OSCAR MEJIA FINAL 4 CALLE OTE F M 03 HILARIO URRUTIA Fnal cl progreso M 04 JOSE JOSE 05 ELIAS ALFREDO QUEZADA Mejicanos M URRUTIA Santa Tecla M TABLA MATERIAS IdMateria Materias 111 Base de datos II 114 Ingenieria del Software 115 SQL SERVER TABLA NOTAS IdEstudiante IdMateria Nota

42 12 Base de datos I, Guía 5 5. Eliminar registros. Eliminar los registros de la tabla NOTAS; su IdMateria sea igual a 111 DELETE FROM NOTAS WHERE IdMateria = Actualizar registros. Modificar los registros de la tabla NOTAS para el IdEstudiante = 2 y IdMateria = 115, la nota a modificar es 8.0 a 9.0 UPDATE NOTAS SET Nota=9.0 WHERE IdEstudiante =1 AND IdMateria=115 7-Modificar el nombre de la materia Ingeniería del Software por Desarrollo del Software 8- Eliminar a todos los alumnos que tengan apellido URRUTIA 9-Listar todos los estudiantes la tabla estudiantes 10-listar los apellidos y la direccion de los estudiantes que tienen id=1 ASIGNACION A continuación deberá realizar diferentes consultas con distintos niveles de dificultad, utilizando en algunas de ellas diferentes funciones asociadas con la sentencia SELECT: 1) Se desea un listado de los alumnos ordenados ascendentemente apellido 2) Se desea conocer cuántos estudiantes hay por cada género 3) Se desea conocer la nota promedio del alumno con id 1 4) Se desea conocer la nota mayor de las evaluaciones 5) De la tabla notas que estudiantes tienen promedios mayor o igual que 6 Bibliografía Francisco Charte Ojeda, SQL Server Madrid, España : ANAYA, era edicion

43 Base de datos I. Guía 5 13 Guía 5: USO DE SENTENCIAS SQL Hoja de cotejo: 5 Alumno: Máquina No: Docente: GL: Fecha: EVALUACION % Nota CONOCIMIENTO Del 20 al 30% Conocimie nto deficient e de los fundament os teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% ACTITUD Del 15% al 30% No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. TOTAL 100%

44 Base de datos I. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Combinación de tablas Objetivo Utilice alias en los nombres de las tablas. Combine datos de varias tablas mediante combinaciones. Combinación de varios conjuntos de resultados en un único conjunto de resultados mediante el operador UNION. Materiales y Equipo Computadora con SQL Server Guía Número 6 Base de datos de ejemplo Joindb y Library Introducción Clave primaria Una clave primaria es un campo (o varios) que identifica un solo registro (fila) en una tabla. Para un valor del campo clave existe solamente un registro. create table usuarios( nombre varchar(20), clave varchar(10), primary key(nombre) ); Clave foranea Con la restricción "foreign key" se define un campo (o varios) cuyos valores coinciden con la clave primaria de la misma tabla o de otra, es decir, se define una referencia a un campo con una restricción "primary key" o "unique" de la misma tabla o de otra. La integridad referencial asegura que se mantengan las referencias entre las claves primarias y las externas. Por ejemplo, controla que si se agrega un código de editorial en la tabla "libros", tal código exista en la tabla "editoriales".

45 2 Base de datos I, Guía6 También controla que no pueda eliminarse un registro de una tabla ni modificar la clave primaria si una clave externa hace referencia al registro. Por ejemplo, que no se pueda eliminar o modificar un código de "editoriales" si existen libros con dicho código. alter table NOMBRETABLA1 add constraint NOMBRERESTRICCION foreign key (CAMPOCLAVEFORANEA) references NOMBRETABLA2 (CAMPOCLAVEPRIMARIA); Ejemplo Se tienen las tablas VENTAS y VENDEDOR, dichas tablas deberán relacionarse por el idvendedor que es la llave primaria en la tabla VENDEDOR y es foránea en la tabla VENTAS. El script es el siguiente --Creación de BD CREATE Database ventas GO USE ventas GO ---tabla vendedor CREATE TABLE VENDEDOR( idvendedor INT PRIMARY KEY, nombre VARCHAR(20), apellido VARCHAR(10), ); GO ---tabla ventas CREATE TABLE VENTAS( Idventa INT PRIMARY KEY, nombre VARCHAR(20), apellido VARCHAR(10), idvendedor INT foreign key (idvendedor) references VENDEDOR(idvendedor)) Cuando creamos relaciones en SQL Server, este nos permite crear un diagrama relacional de las tablas de la base de datos, como se muestra en la siguiente figura.

46 Base de datos I. Guía 6 3 Uso de alias en los nombres de tablas. El uso de alias en los nombres de tablas mejora la legibilidad de las secuencias de comandos, facilita la escritura de combinaciones complejas y simplifica el mantenimiento de Transact-SQL. Al escribir secuencias de comandos, puede sustituir un nombre de tabla descriptivo largo y complejo por un alias sencillo y abreviado. El alias se utiliza en lugar del nombre completo de la tabla. Sintaxis parcial: aliastabla SELECT * FROM servidor.basededatos.esquema.tabla AS Ejemplo 1: En este ejemplo se muestran los nombres de los clientes, el identificador del cliente y la cantidad vendida de las tablas buyers y sales. Esta consulta no utiliza alias en las tablas de la sintaxis de JOIN. USE joindb SELECT buyer_name, sales.buyer_id, qty FROM buyers INNER JOIN sales ON buyers.buyer_id = sales.buyer_id GO Ejemplo 2: En este ejemplo se muestran los nombres de los clientes, el identificador del cliente y la cantidad vendida de las tablas buyers y sales. Esta consulta utiliza alias en las tablas de la sintaxis de JOIN. USE joindb SELECT buyer_name, s.buyer_id, qty FROM buyers AS b INNER JOIN sales AS s ON b.buyer_id = s.buyer_id GO Ahora la tabla buyers se le podrá conocer con el alias b y la tabla sales se podrá conocer con el alias s NOTA: Algunas veces, la compleja sintaxis de JOIN y las subconsultas deben usar alias en los nombres de tablas. Por ejemplo, al combinar una tabla consigo misma deben utilizarse alias.

47 4 Base de datos I, Guía6 Combinación de datos de varias tablas: Una combinación es una operación que permite consultar dos o más tablas para producir un conjunto de resultados que incorpore filas y columnas de cada una de las tablas. Las tablas se combinan en función de las columnas que son comunes a ambas tablas. Cuando se combinan tablas, Microsoft SQL Server compara los valores de las columnas especificadas fila por fila y, después, utiliza los resultados de la comparación para combinar los valores que cumplan los criterios especificados en nuevas filas. Hay tres tipos de combinaciones: combinaciones internas, combinaciones externas y combinaciones cruzadas. Adicionalmente, en una instrucción SELECT se pueden combinar más de dos tablas mediante un conjunto de combinaciones o se puede combinar una tabla consigo misma mediante una autocombinación. JOIN: Es una operación que combina registros de dos tablas en una base de datos relacional que resulta en una nueva tabla (temporal) llamada tabla de JOIN. Las tablas se combinan para producir un único conjunto de resultados que incorpore filas y columnas de dos o más tablas. Sintaxis Parcial SELECT columna [, columna ] FROM {<tablaorigen >} [,...n] <tipocombinación > ::= [ INNER { { LEFT RIGHT FULL } [OUTER] } ] [ <sugerenciacombinación> ] JOIN <tablacombinada> ::= <tablaorigen > <tipocombinación > <tablaorigen > ON

48 Base de datos I. Guía 6 5 <condiciónbúsqueda> <tablaorigen > CROSS JOIN <tablaorigen > <tablacombinada> Selección de columnas específicas de varias tablas: Una combinación permite seleccionar columnas de varias tablas al expandir la cláusula FROM de la instrucción SELECT. En la cláusula FROM se incluyen dos palabras clave adicionales: JOIN y ON. La palabra clave JOIN especifica qué tablas se van a combinar y cómo. La palabra clave ON especifica las columnas que las tablas tienen en común. Consultas de dos o más tablas para producir un conjunto de resultados: Una combinación permite consultar dos o más tablas para producir un único conjunto de resultados. Al implementar combinaciones, tenga en cuenta los siguientes hechos e instrucciones: 1. Especifique la condición de combinación en función de claves principales y externas. 2. Si una tabla tiene una clave principal compuesta, cuando combine tablas debe hacer referencia a toda la clave en la cláusula ON. 3. Para combinar tablas, utilice columnas comunes a las tablas especificadas. Dichas columnas deben tener tipos de datos iguales o similares. 4. Haga referencia al nombre de la tabla si las columnas de las tablas que va a combinar tienen el mismo nombre. Califique los nombres de las columnas con el formato tabla.columna. 5. Limite el número de tablas de las combinaciones porque cuantas más tablas combine, mayor será la duración del proceso de la consulta. 6. Puede incluir varias combinaciones en una instrucción SELECT. Uso de combinaciones internas:

49 6 Base de datos I, Guía6 Las combinaciones internas combinan tablas mediante la comparación de los valores de las columnas que son comunes a ambas tablas. SQL Server sólo devuelve las filas que cumplen las condiciones de la combinación. Por qué se utilizan combinaciones internas: Utilice combinaciones internas para obtener información de dos tablas independientes y combinar dicha información en un conjunto de resultados. Al utilizar combinaciones internas, tenga en cuenta los siguientes hechos e instrucciones: 1. Las combinaciones internas son el tipo predeterminado de SQL Server. Puede abreviar la cláusula INNER JOIN como JOIN. 2. Para especificar las columnas que desea presentar en el conjunto de resultados, incluya los nombres calificados de las columnas en la lista de selección. 3. Incluya una cláusula WHERE para restringir las filas que se devuelven en el conjunto de resultados. 4. No utilice valores NULL como condición de combinación, ya que no se evalúan como iguales entre sí.

50 Base de datos I. Guía 6 7 Ejemplo 1: Supongamos que tenemos dos tablas: una de películas y otra de directores relacionadas entre sí: movies id title year director id directors name 1 Four Rooms Die Hard The Hunt for Red October John McTiernan 2 Alfred Hitchcock 3 Quentin Tarantino 4 Psycho Si quiero obtener todas las películas y el nombre de su director haría lo siguiente: USE MOVIES SELECT m.title, d.name FROM movies m INNER JOIN directors d ON m.director = d.id Donde los campos a seleccionar son title que está en la tabla movies y name que está en la tabla directores, como movies tiene el alias m, podemos anteponer ese alias a los campos que queramos seleccionar de la tabla movies, esto se hace para no causar ambigüedad en caso que hallan 2 campos con nombres iguales en cada tabla. Ejemplo 2: Este ejemplo devuelve los valores buyer_name, buyer_id y qty de los clientes que han adquirido algún producto. Los clientes que no hayan adquirido nada no se incluyen en el conjunto de resultados. Los clientes que han adquirido más de un producto aparecen una vez por cada compra realizada. Las columnas buyer_id de las dos tablas pueden especificarse en la lista de selección. USE joindb SELECT buyer_name, sales.buyer_id, qty FROM buyers INNER JOIN sales ON buyers.buyer_id = sales.buyer_id GO

51 8 Base de datos I, Guía6 RESULTADO: Ejemplo 3: En este ejemplo se devuelven los nombres de los productos y de las compañías que los suministran. Los productos sin suministradores asignados y los suministradores sin productos asignados no se incluyen en el conjunto de resultados. USE northwind SELECT productname, companyname FROM products INNER JOIN suppliers ON products.supplierid = suppliers.supplierid GO RESULTADO Ejemplo 4: En este ejemplo se devuelven los nombres de los clientes que han hecho pedidos después del 1/1/98. Observe que se utiliza una cláusula WHERE para restringir las filas devueltas en el conjunto de resultados. USE northwind SELECT DISTINCT companyname, orderdate FROM orders INNER JOIN customers ON orders.customerid = customers.customerid

52 Base de datos I. Guía 6 9 WHERE orderdate > '1/1/98' GO Procedimiento Realice los siguientes ejercicios: 1- Inicie Microsoft SQL Server Management Studio y verifique si existen las bases de datos Library y JoinDB, en caso que las BD antes mencionadas no se encuentren realice los siguientes pasos: a. Descargue del mismo sitio donde descargó la guía el archivo Recursos Guía 6. b. Cree una Carpeta y descomprima el archivo, se mostraran 4 archivos, que son el archivo Mdf y Ldf de cada Base de datos c. Dentro de SQL Server Management de clic derecho en Databases y seleccione Attach d. Se mostrará la ventana Attach DataBases, de clic en Add y se aparecerá una ventana donde deberá indicar la ubicación de los archivos que descargó.

53 10 Base de datos I, Guía6 e. Seleccione la base de datos joindb y de clic en OK. Luego se mostrara una ventana en la que daremos clic en OK f. Actualice su lista de base de datos y deberá aparecer joindb

54 Base de datos I. Guía 6 11 Realice el mismo procedimiento para adjuntar la base de datos Library 2 En este ejercicio, va a escribir y ejecutar consultas que combinan tablas en la base de datos library. Abra una sesión del SQL Server Management Studio e ingrese su número de carné en el usuario y password. En la lista de BD, haga clic en library. Utilice las tablas member y adult para realizar una consulta que devuelva los campos firstname, middleinitial, lastname, street, city, state y zip. Concatene las columnas firstname, middleinitial y lastname en una cadena de texto y asigne a la columna el alias name. Ejecute la consulta para comprobar que devuelve los resultados deseados (ver figura 1). Figura Para este ejercicio va utilizar las tablas title, item y copy, y va a generar una consulta que devuelva isbn, copy_no, on_loan, title, translation y cover, y valores para las filas de la tabla copy cuyo ISBN sea 1 (uno), 500 (quinientos) o

55 12 Base de datos I, Guía (mil). Ordene los resultados por la columna isbn. Para cada tabla debe utilizar un alias. PASOS Escriba la lista de selección de la consulta. Escriba una cláusula FROM que cree una combinación interna entre las tablas title y copy sobre las columnas title_no. En la cláusula FROM, establezca los alias de las tablas que haya utilizado en la lista de selección. Agregue una segunda cláusula INNER JOIN para crear la combinación entre las tablas item y copy sobre las columnas isbn. agregue una cláusula WHERE que restrinja las filas de la tabla copy obtenidas de aquéllas cuyo ISBN sea 1 (uno), 500 (quinientos) o 1000 (mil). Escriba la cláusula ORDER BY para ordenar el resultado por el ISBN. Ejecute la secuencia de comandos (ver figura2). 3- En la base de datos Library (biblioteca) se tienen las siguientes tablas. Member Reservation Ítem Title En la tabla Member están los miembros que están afiliados a la biblioteca, en la tabla Reservation están las reservaciones de libros que han realizado los miembros de la biblioteca, la reserva se realiza por el isbn(número de identificación de los libros), la tabla Title esta los títulos de los libros el autor y la sinopsis y la tabla ítem están las traducciones que se les ha realizado a los libros que están en la tabla Title, cada libro

56 Base de datos I. Guía 6 13 solo puede tener un isbn, por ende si hay un libro traducido en 4 lenguajes tiene isbn diferentes para cada uno. Se pide una consulta que muestra el nombre y apellido (firstname y el lastname) de los cliente que han reservado libros, la consulta debe contener los siguientes campos: firstname, lastname, log_date,title, translation. Investigación -Investigue en qué consisten las combinaciones externas Bibliografía Francisco Charte Ojeda, SQL Server Madrid, España : ANAYA, era edicion

57 14 Base de datos I, Guía6 Guía 6: COMBINACIO Y RELACION DE TABLAS Hoja de cotejo: 6 Alumno: Máquina No: Docente: GL: Fecha: EVALUACION % Nota CONOCIMIENTO Del 20 al 30% Conocimie nto deficient e de los fundament os teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% ACTITUD Del 15% al 30% No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. TOTAL 100%

58 Base de datos I. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: USO DE COMBINACIONES EXTERNAS. Objetivo Específico Definir las combinaciones externas Conocer el uso de las combinaciones RIGTH y LEFT Materiales Equipo Computadora con SQL Server 2008 R2. Guía Número 7 Introducción Teórica y Una combinación interna (JOIN) encuentra registros de la primera tabla que se correspondan con los registros de la segunda, es decir, que cumplan la condición del "ON" y si un valor de la primera tabla no se encuentra en la segunda tabla, el registro no aparece. Si queremos saber qué registros de una tabla NO encuentran correspondencia en la otra, es decir, no existe valor coincidente en la segunda, necesitamos otro tipo de combinación, "OUTER JOIN" (combinación externa). Las combinaciones externas combinan registros de dos tablas que cumplen la condición, más los registros de la segunda tabla que no la cumplen; es decir, muestran todos los registros de las tablas relacionadas, aún cuando no haya valores coincidentes entre ellas. Este tipo de combinación se emplea cuando se necesita una lista completa de los datos de una de las tablas y la información que cumple con la condición. Las combinaciones externas se realizan solamente entre 2 tablas. Hay tres tipos de combinaciones externas: "LEFT OUTER JOIN", "RIGHT OUTER JOIN" y "FULL OUTER JOIN"; se pueden abreviar con "LEFT JOIN", "RIGHT JOIN" y "FULL JOIN" respectivamente.

59 2 Base de datos I, Guía 7 Se emplea una combinación externa izquierda para mostrar todos los registros de la tabla de la izquierda. Si no encuentra coincidencia con la tabla de la derecha, el registro muestra los campos de la segunda tabla seteados a "null". En el siguiente ejemplo solicitamos el título y nombre de la editorial de los libros: SELECT titulo,nombre FROM editoriales AS e LEFT JOIN libros AS l ON codigoeditorial = e.codigo; El resultado mostrará el título y nombre de la editorial; las editoriales de las cuales no hay libros, es decir, cuyo código de editorial no está presente en "libros" aparece en el resultado, pero con el valor "null" en el campo "titulo". Es importante la posición en que se colocan las tablas en un "left join", la tabla de la izquierda es la que se usa para localizar registros en la tabla de la derecha. Entonces, un "left join" se usa para hacer coincidir registros en una tabla (izquierda) con otra tabla (derecha); si un valor de la tabla de la izquierda no encuentra coincidencia en la tabla de la derecha, se genera una fila extra (una por cada valor no encontrado) con todos los campos Sintaxis: SELECT CAMPOS FROM TABLAIZQUIERDA LEFT JOIN TABLADERECHA ON CONDICION; Ejemplo 1: SELECT tcoches.matricula, tmarcas.marca, tcoches.modelo, tcoches.color, tcoches.numero_kilometros, tcoches.num_plazas FROM tcoches LEFT OUTER JOIN tmarcas ON tcoches.marca = tmarcas.codigo

60 Base de datos I. Guía 7 3 Esta consulta devolverá todos los registros de la tabla tcoches, independientemente de que tengan marca o no. En el caso de que el coche no tenga marca se devolverá el valor null para los campos de la tabla tmarcas. El mismo ejemplo con RIGHT OUTER JOIN. SELECT tcoches.matricula, tmarcas.marca, tcoches.modelo, tcoches.color, tcoches.numero_kilometros, tcoches.num_plazas FROM tcoches RIGHT OUTER JOIN tmarcas ON tcoches.marca = tmarcas.codigo

61 4 Base de datos I, Guía 7 Ejemplo 2 En este ejemplo se devuelven los valores buyer_name, buyer_id y qty de todos los clientes y sus compras. Observe que los clientes que no han adquirido ningún producto se enumeran en el conjunto de resultados, pero aparecen valores NULL en las columnas buyer_id y qty. USE joindb SELECT buyer_name, sales.buyer_id, qty FROM buyers LEFT OUTER JOIN sales ON buyers.buyer_id = sales.buyer_id GO Uso de las combinaciones cruzadas Utilice combinaciones cruzadas para presentar todas las combinaciones de filas posibles de las columnas seleccionadas en las tablas combinadas.

62 Base de datos I. Guía 7 5 Por qué se utilizan las combinaciones cruzadas. Aunque las combinaciones cruzadas no se suelen utilizar en una base de datos normalizada, se pueden utilizar para generar datos de prueba para una base de datos o listas de todas las combinaciones posibles para elaborar listas de comprobación o patrones comerciales. Cuando se utilizan combinaciones cruzadas, SQL Server genera un producto cartesiano en el que el número de filas del conjunto de resultados es igual al número de filas de la primera tabla multiplicado por el número de filas de la segunda tabla. Por ejemplo, si hay 8 filas en una tabla y 9 filas en la otra, SQL Server devuelve un total de 72 filas. Sugerencia: Señale que la palabra clave ON y la lista de columnas asociada no se utilizan en la instrucción SELECT porque las combinaciones cruzadas devuelven todas las combinaciones posibles de las filas de cada tabla especificada. En las combinaciones cruzadas no se requiere una columna común. o Combinación de varios conjuntos de resultados. El operador UNION combina el resultado de dos o más instrucciones SELECT en un único conjunto de resultados.

63 6 Base de datos I, Guía 7 Utilice el operador UNION cuando los datos que desee obtener residan en ubicaciones diferentes y no se pueda tener acceso a ellas con una única consulta. Al utilizar el operador UNION, tenga en cuenta los siguientes hechos e instrucciones: o o o o o SQL Server requiere que las tablas a las que se hace referencia tengan tipos de datos similares, el mismo número de columnas y el mismo orden de columnas en la lista de selección de cada consulta. SQL Server quita las filas duplicadas del conjunto de resultados. Sin embargo, si utiliza la opción ALL, se incluyen todas las filas en el conjunto de resultados, incluso las duplicadas. Debe especificar los nombres de las columnas en la primera instrucción SELECT. Por lo tanto, si desea definir nuevos encabezados de columnas en el conjunto de resultados, deberá crear los alias de columnas en la primera instrucción SELECT. Si desea que todo el conjunto de resultados aparezca con un orden específico, debe especificar la ordenación con una cláusula ORDER BY en la instrucción UNION. De lo contrario, puede que el conjunto de resultados no se devuelva en el orden que desea. Puede lograr un mayor rendimiento si divide una consulta compleja en varias instrucciones SELECT y, después, utiliza el operador UNION para combinarlas. Sintaxis instrucciónselect UNION [ALL] instrucciónselect Ejemplo 1: En este ejemplo se combinan dos conjuntos de resultados. El primero devuelve el nombre, la ciudad y el código postal de todos los clientes desde la tabla customers. El segundo devuelve el nombre, la ciudad y el código postal de todos los empleados desde la tabla employees. Observe que, cuando se utiliza el operador UNION para combinar ambos conjuntos de resultados, se devuelven los alias de las columnas de la primera lista de selección. USE northwind SELECT (firstname + ' ' + lastname) AS name, city, postalcode FROM employees UNION SELECT companyname, city, postalcode FROM customers GO

64 Base de datos I. Guía 7 7 Procedimiento Bibliografía Realice los siguientes ejercicios. Guía 1 1. Para combinar varias tablas mediante una combinación externa En este procedimiento va a escribir y ejecutar una consulta para obtener el nombre completo y member_no de un miembro de la tabla member y los valores isbn y log_date de la tabla reservation, para los miembros 250, 341 y 1675 de la base de datos LIBRARY Ordene los resultados por member_no. Debe mostrar la información de estos miembros incluso si no tienen libros en préstamo. Escriba la lista de selección de la consulta: o o o o o Cree la columna name; para ello, concatene las columnas lastname,firstname y middleinitial de cada miembro. Cree la columna date; para ello, convierta log_date al tipo de datos char(8). Escriba una cláusula FROM que cree una combinación externa izquierda entre las tablas member y reservation sobre las columnas member_no. Escriba una cláusula WHERE para obtener de la tabla member los miembros cuyos números sean 250, 341 y Escriba la cláusula ORDER BY para ordenar los resultados por los números de los miembros.

65 8 Base de datos I, Guía 7 Ejecute la consulta para comprobar que devuelve los resultados deseados. Qué miembros no tienen libros en préstamo? El resultado debería ser el siguiente: 2. Uso del operador UNION para combinar conjuntos de resultados En este ejercicio, va a producir un único conjunto de resultados al utilizar el operador UNION para concatenar los resultados de tres instrucciones SELECT similares. Se desea obtener como resultado una lista de direcciones completas para enviar tarjetas a nuestros empleados, clientes y suministradores. Utilice la base de datos Northwind, las tablas a utilizar son las siguientes: Customers, Suppliers, Employees.

Tema: Uso de sentencias SQL

Tema: Uso de sentencias SQL Base de datos I. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Uso de sentencias SQL Objetivo Modificar, eliminar e insertar registros en una tabla Listar los registros

Más detalles

Tema: Combinación de tablas

Tema: Combinación de tablas Base de datos I. Guía 4 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Combinación de tablas Objetivo Específico Utilice alias en los nombres de las tablas. Combine datos

Más detalles

Tema: USO DE COMBINACIONES EXTERNAS.

Tema: USO DE COMBINACIONES EXTERNAS. Base de datos I. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: USO DE COMBINACIONES EXTERNAS. Objetivo Específico Definir las combinaciones externas Conocer el uso

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION CICLO 01-2012 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 8 Nombre de la practica: Combinación de tablas Lugar de ejecución: Laboratorio de Informática

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

Tema: SUBCONSULTAS Y CREACION DE VISTAS.

Tema: SUBCONSULTAS Y CREACION DE VISTAS. Base de datos I. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: SUBCONSULTAS Y CREACION DE VISTAS. Objetivo Específico Definir que es una subsonsulta Utilizar vistas

Más detalles

Base de Datos Nortwind

Base de Datos Nortwind Base de Datos Nortwind Resumen del desarrollo de la práctica. Analizar la información almacenada en la base de datos NorthWind haciendo uso de las distintas funciones de MS-SQL server. Desarrollo de la

Más detalles

Práctica A: Trabajo con subconsultas

Práctica A: Trabajo con subconsultas Trabajo con Subconsultas 1 Práctica A: Trabajo con subconsultas Objetivos Después de realizar esta práctica, el alumno será capaz de: Usar una subconsulta como tabla derivada Usar una subconsulta como

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

6- Combinación de tablas

6- Combinación de tablas Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción

Más detalles

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios,

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

Más detalles

El lenguaje SQL es un lenguaje estándar para el acceso y

El lenguaje SQL es un lenguaje estándar para el acceso y 1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Práctica A: Procedimientos para agrupar y resumir datos

Práctica A: Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos 1 Práctica A: Procedimientos para agrupar y resumir datos Objetivos Después de realizar esta práctica, el alumno será capaz de: Utilizar las cláusulas GROUP

Más detalles

5- Uso de sentencias avanzadas

5- Uso de sentencias avanzadas Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias

Más detalles

Tema: Disparadores Parte I.

Tema: Disparadores Parte I. Base de datos I. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Disparadores Parte I. Objetivo Utilizar la sintaxis de un disparador en SQL Server Implementar transacciones

Más detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Tema: PROCEDIMIENTOS ALMACENADOS.

Tema: PROCEDIMIENTOS ALMACENADOS. Base de datos I. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: PROCEDIMIENTOS ALMACENADOS. Objetivo Específico Conocer la sintaxis de un procedimiento almacenado

Más detalles

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM). Base de datos I. Guía 3 1 Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM). Objetivo Específico Creer una base de datos Diseñar y crear tablas para almacenar información Manejar

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

Trabajo con Subconsultas

Trabajo con Subconsultas Trabajo con Subconsultas Contenido Contenido Introducción 1 Introducción a las subconsultas 2 Uso de una subconsulta como una tabla derivada 4 Uso de una subconsulta como una expresión 5 Uso de una subconsulta

Más detalles

Tema: Creacion de una base de datos utilizando sintaxis Sql.

Tema: Creacion de una base de datos utilizando sintaxis Sql. Base de datos I. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Creacion de una base de datos utilizando sintaxis Sql. Objetivo Específico Comprender la sintaxis SQL

Más detalles

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

Modificación de datos

Modificación de datos Modificación de datos Contenido Introducción 1 Uso de transacciones 2 Inserción de datos 4 Eliminación de datos 15 Actualización de datos 20 Consideraciones acerca del rendimiento 24 Modificación de datos

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

Tema: Creacion de una base de datos utilizando sintaxis Sql.

Tema: Creacion de una base de datos utilizando sintaxis Sql. Base de datos I. Guía 4 1 INSAFOR Tema: Creacion de una base de datos utilizando sintaxis Sql. Objetivo Específico Comprender la sintaxis SQL para crear base de datos y tablas Crear una base de datos con

Más detalles

CONSULTAS SIMPLES SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS SIMPLES SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS SIMPLES SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS SIMPLES Vamos a empezar por la instrucción que más se utiliza en SQL, la sentencia SELECT. La

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

Combinación de varias tablas

Combinación de varias tablas Combinación de varias tablas Contenido Introducción Uso de alias en los nombres de tablas 2 Combinación de datos de varias tablas 4 Combinación de varios conjuntos de resultados 20 Combinación de varias

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

Implementación de la integridad de datos

Implementación de la integridad de datos Implementación de la integridad de datos Contenido Introducción 1 Tipos de integridad de datos 2 Exigir integridad de los datos 3 Definición de restricciones 4 Tipos de restricciones 9 Deshabilitación

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I Boletín de Problemas de la Asignatura II18 Bases de Datos Ingeniería Informática Universitat Jaume I Ingeniería Informática. Universitat Jaume I II18 - Bases de Datos. Práctica 1 Práctica 1 Objetivos de

Más detalles

Tema 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

Más detalles

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1 TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1. Definición de SQL. Características 2. Selección del origen de los datos. Cláusula FROM 3. Selección de columnas. Columnas calculadas 4.

Más detalles

Bases de datos: Sistemas de bases de datos:

Bases de datos: Sistemas de bases de datos: Bases de datos: Sistemas de bases de datos: Un sistema de bases de datos es básicamente un sistema para archivar en computador, es decir, es un sistema computarizado cuyo propósito general es mantener

Más detalles

Unidad. Lenguaje SQL. (Structured Query Language)

Unidad. Lenguaje SQL. (Structured Query Language) Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM). Base de datos I. Guía 1 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM). Objetivo Específico Creer una

Más detalles

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

Más detalles

SINTAXIS DE SQL-92. ::= CREATE SCHEMA [ ... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

Crear BD en. Isis Bonet Cruz, PhD

Crear BD en. Isis Bonet Cruz, PhD Crear BD en Isis Bonet Cruz, PhD SQL Server Microsoft SQL Server es un sistema de administración y análisis de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

Base de Datos Práctica 1.

Base de Datos Práctica 1. Base de Datos Práctica 1. Objetivo: Introducción al Mysql, aprender a identificar los errores más comunes en la creación de las bases de datos para su solución, conocer los diferentes tipos de datos y

Más detalles

UNIVERSIDAD NACIONAL DE CAJAMARCA MANUAL DE CONSULTAS SQL SERVER 2008 R2 CURSO: BASE DE DATOS I ING. APARICIO

UNIVERSIDAD NACIONAL DE CAJAMARCA MANUAL DE CONSULTAS SQL SERVER 2008 R2 CURSO: BASE DE DATOS I ING. APARICIO 1 UNIVERSIDAD NACIONAL DE CAJAMARCA MANUAL DE CONSULTAS SQL SERVER 2008 R2 CURSO: BASE DE DATOS I E ING. APARICIO 2 CONSULTAS EN SQL SERVER 2008 R2 1. Seleccionar los clientes que viven en el país de "usa"

Más detalles

Implementación de funciones definidas por el usuario

Implementación de funciones definidas por el usuario Implementación de funciones definidas por el usuario Contenido Introducción 1 Qué es una función definida por el usuario? 2 Definición de funciones definidas por el usuario 3 Ejemplos de funciones definidas

Más detalles

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION CICLO 1-2015 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº10 Nombre de la practica: Creación de Vistas y Procedimientos Almacenados Lugar de ejecución:

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede

Más detalles

select nombre from profesores where categoria='aso6';

select nombre from profesores where categoria='aso6'; 1 de 10 17/05/2013 14:00 Lecciones SQL > T11 Conjuntos Operaciones de conjuntos y MySQL Un operador sobre conjuntos combina el resultado de dos sentencias select en un único resultado. Dependiendo del

Más detalles

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera)

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera) SQL Lenguaje de Consulta Estructurado Curso básico de SQL (Leire Urcola Carrera) Indice de contenidos Introducción Consultas de Selección Criterios de Selección Agrupamiento de Registros y funciones agregadas

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

Más detalles

Tema: Desarrollo de aplicaciones con Visual Studio.net Parte II

Tema: Desarrollo de aplicaciones con Visual Studio.net Parte II Base de datos I. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Desarrollo de aplicaciones con Visual Studio.net Parte II Objetivo Específico Conocer lenguaje de programación

Más detalles

Lenguaje de manipulación de datos

Lenguaje de manipulación de datos Lenguaje de manipulación de datos Insertar datos. Hasta ahora hemos visto como se almacenan los datos en una base de datos y como consultar esos datos almacenados, pero no hemos visto como almacenar dichos

Más detalles

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar / S Q Lenguaje de Consulta Estructurado L Wael Najjar / Wael Stephenson Najjar / Prieto Stephenson Prieto Contenido Parte I El Lenguaje de Consulta Estructurado. Lo que se puede hacer. Lenguaje Estandarizado.

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo

Más detalles

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

Manual de ACCESS Intermedio

Manual de ACCESS Intermedio Manual de ACCESS Intermedio Funciones agregadas (GROUP BY) Las funciones agregadas proporcionan información estadística sobre conjuntos de registros. Por ejemplo, puede usar una función agregada para contar

Más detalles

Práctica A: Creación de tipos de datos y tablas

Práctica A: Creación de tipos de datos y tablas Creación de tipos de datos y tablas 1 Práctica A: Creación de tipos de datos y tablas Objetivos Después de realizar esta práctica, el alumno será capaz de: Crear tipos de datos definidos por el usuario.

Más detalles

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia: TRABAJANDO CON SQL*PLUS El objetivo de este tema es simplemente, hacer una revisión de los conceptos avanzados de SQL, para ello, empezaremos por ver como se accede a SQL*PLUS y como crear usuarios, para

Más detalles

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. 1 2 Base de datos I, Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de

Más detalles

4- Uso de sentencias para el envió y extracción de datos

4- Uso de sentencias para el envió y extracción de datos Objetivos: 4- Uso de sentencias para el envió y extracción de datos Identificar la sintaxis de las consultas de datos Elaborar sentencias de manejo de datos. Recursos: SQL SERVER 2012 Guías de práctica.

Más detalles

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL 1. Conexión con la Base de Datos: se debe realizar a partir de algún programa que implemente el protocolo SSH (Secure Shell), a partir

Más detalles

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS EXPLOTACIÓN DE BASES DE DATOS CON ACCESS Por qué son importantes las Bases de Datos? Las Bases de Datos son el método preferido para el almacenamiento estructurado de datos. Desde las grandes aplicaciones

Más detalles

1.264 Tema 7. Introducción a SQL

1.264 Tema 7. Introducción a SQL 1.264 Tema 7 Introducción a SQL Lenguaje de consulta estructurado (SQL) Tema 7: SELECT, INSERT, DELETE y UPDATE. Relaciones. Tema 8: Subconsultas. Vistas (tablas virtuales). Indexados. Transacciones. Seguridad.

Más detalles

9- Procedimientos almacenados.

9- Procedimientos almacenados. Objetivos: 9- Procedimientos almacenados. Crear procedimientos almacenados para ser usados en el desarrollo de software. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Base de datos

Más detalles

3ra. Parte. Bases de Datos Relacionales

3ra. Parte. Bases de Datos Relacionales 3ra. Parte Bases de Datos Relacionales Lenguaje de consulta SQL Proyección Tabla 1 Selección Tabla 1 Tabla 1 Tabla 2 Unión Lenguaje SQL SELECT SELECT [TOP expresión [PERCENT] [ WITH TIES ] ]

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

SUB CONSULTAS EN SQL IMPORTACIÓN Y EXPORTACIÓN DE TABLAS DE A OTRA PLATAFORMA

SUB CONSULTAS EN SQL IMPORTACIÓN Y EXPORTACIÓN DE TABLAS DE A OTRA PLATAFORMA SUB CONSULTAS EN SQL IMPORTACIÓN Y EXPORTACIÓN DE TABLAS DE A OTRA PLATAFORMA 5 Sub Consultas en SQL Importación y exportación de SQL a otra plataforma C O N T E N I D O 1. Sub consultas en SQL 2. Importación

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales * Definición de datos en SQL * Consulta de datos en SQL - Estructura básica de una sentencia

Más detalles

SQL básico. SQL básico http://idesweb.es/ 1. Contenido

SQL básico. SQL básico http://idesweb.es/ 1. Contenido SQL básico http://idesweb.es/ 1 SQL básico El presente documento no tiene más aspiraciones que servir de recordatorio mínimo para las órdenes más básicas y en su mínima expresión. No es un manual de SQL

Más detalles

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) UNION UNION Copyright 2006, 2007 Instituto Gala

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala OPERADOR UNION (L30) UNION UNION OPERADOR INTERSECCION (L31) OPERADOR RELACIONAL INTERSECCION, DEVUELVE REGISTROS CON CAMPOS COMUNES. LAS TABLAS INVOLUCREADAS DEBEN TENER

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

SQL. Orígenes y Evolución

SQL. Orígenes y Evolución SQL 1 SQL. Orígenes y Evolución 2 SQL: Estándar oficial 3 Funciones de SQL DDL Data Definition Language Creación n de estructuras de la base de datos Integridad de los datos DML Data Manipulation Language

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION CICLO: 01-2012 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO # 4 Nombre de la Practica: Continuación de Instrucciones Fundamentales de T-SQL, Creación

Más detalles

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Curso SQL Nivel Avanzado 1. Miguel Jurado García Curso SQL Nivel Avanzado 1 Miguel Jurado García Temario Sesión 1: 1- Elementos de Sintaxis Uso de Variables Collation y las Fechas Construcción de Sentencias Dinámicas 2- SQL Server Management Studio Filtrado

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.

Más detalles