Unidad IV Objetivo de la Unidad:

Slides:



Advertisements
Presentaciones similares
Consultas en Visual FoxPro
Advertisements

SQL CON EJEMPLOS SARI TEMA 4.
SQL Y BASES DE DATOS A TRAVÉS DE LA WEB
Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.
SQL Sigla del nombre “Structured Query Language”.
integridad referencial
STRUCTURED QUERY LANGUAGE
Repaso DBD!!! (Es ahora o nunca)
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
Base de Datos Orientada a Objetos (OODBMS)
SQL G r u p o
SQL Server Integration Services SSIS
Consultas anidadas.
Lenguaje de consulta de Hibernate
EL LENGUAJE ESTÁNDAR SQL
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
MySQL M.C. Pedro Bello López.
Lenguaje SQL (Structured Query Language)
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
Subconsultas Avanzadas
Integrantes: Peter velazques Andres heredia Juan Mendez
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Componentes sintácticos
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015.
COMANDOS SQL.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Mayo de 2009Dos Ideas - La visión de Sistemas desde el Desarrollo Manipulación de Datos Conceptos básicos.
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
CONSULTAS SENCILLAS A LA BASE DE DATOS
STRUCTURED QUERY LANGUAGE
Consultas SQL (Base de Datos)
INSTRUCCIONES Elaboración de la Presentación:
1 Módulo 4 Sentencias SQL. 2 Objetivos Generales Implementar una base de datos Definir los campos, registros, tablas que se encuentran relacionadas en.
LENGUAJE SQL.
Bases de Datos Sql.
LENGUAJE ESTRUCTURADO DE CONSULTAS
Lenguaje Estructurado de Consulta
SQL Sigla del nombre “Structured Query Language”.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
INSTRUCCIONES Elaboración de la Presentación:
Prof. De Bases de Datos: Lcdo. Luis Peña. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query.
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
Diseña y administra base de datos avanzadas
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
(Lenguaje de consulta estructurado)
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Bases de Datos SQL.
SQL STRUCTURED QUERY LANGUAGE
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
DLM Transact SQL Sesión II Recuperación de información.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión VI Trabajando con subconsultas.
DML Transact SQL Sesión III Agrupando y resumiendo información.
Selección Condicionada de Filas Uso de la cláusula WHERE La cláusula WHERE restringe las columnas que retorna una consulta según la condición que se imponga.
Structure Query Languaje
Structure Query Languaje
Transcripción de la presentación:

Unidad IV Objetivo de la Unidad: El alumno manejará las instrucciones de SQL para consulta y manipulación de las bases de datos.

Introducción a SQL

4.1 Introducción El lenguaje SQL (strucured query language – Lenguaje estructurado de consulta) es una evolución del lenguaje SEQUEL (structured english query language) desarrollado en IBM.   El lenguaje SQL  está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones, para crear, actualizar y manipular las B.D.

Estructura del lenguaje: Comandos:

  DDL: Permite la descripción de la estructura de la BD (tablas, vistas, índices,...) DML: Permite el manejo de las tablas y las vistas mediante las cuatro operaciones fundamentales sobre los datos. DCL: Contiene los operadores para la gestión de transacciones (COMMIT y ROLLBACK) y prioridades de acceso a los datos (GRANT y REVOKE)

Operadores lógicos   AND "Y" Lógico, evalúa 2 condiciones y devuelve un valor de verdad si ambos son ciertos. OR "O" Evalúa2 condiciones y devuelve un valor de verdad si alguna de las 2 es cierta. NOT Negación lógica. Devuelve el valor contrario de la expesión

Operadores de comparación BETWEEN: Utilizado para especificar un intervalo de valores LIKE: Comparar un valor o dato con un patrón, utilizado en la comparación de un modelo. IN: Utilizado para especificar registros NOT IN: Discriminar un dato que no se encuentre en el conjunto de valores dados. >= Mayor o igual que

Operadores de comparación =    Igual que <    Menor que                <= Menor o igual que       >    Mayor que                  <> Distinto de                    

Funciones de agregado AVG.- calcular el promedio de los valores de un campo determinado COUNT.- Devolver el número de registros de la selección. SUM.- Devolver la suma de todos los valores de un campo determinado MAX.- Devolver un valor más alto de un campo especificado MIN.- Devolver un valor más bajo

Comodines. ? Representa un carácter cualquiera * Representa cero o mas caracteres # Representa un dígito cualquiera (0-9)

Características: El SQL es manejable bajo dos modalidades distintas: como módulo interactivo que proporciona un potente lenguaje de consultas interpretadas y como lenguaje huésped de un lenguaje anfitrión. Respeta la independencia entre el nivel conceptual y las aplicaciones (nivel externo), ya que permite la creación de esquemas externos personalizados. Garantiza una seguridad total de acceso a los datos, gracias a una distribución selectiva de prioridades de acceso.

Garantiza la independencia entre el nivel conceptual y el nivel interno. El usuario no nota la presencia de un índice, es asunto del administrador el conseguir la optimización de las ejecuciones. Permite la gestión multiusuario de los datos. Cada fila a la que se accede para su modificación queda automáticamente bloqueada por el sistema. En particular, el SQL contiene el concepto de transacción, que permite restaurar el estado anterior de la BD en caso de anomalías.

Independencia de los vendedores Independencia de los vendedores. El SQL es ofertado por los principales vendedores. Los programas que lo utilizan pueden transferirse de un sistema de gestión de BD a otro con mínimo esfuerzo de conversión.

4.2 Estructura básica (SELECT, WHERE)

Su formato completo es:   SELECT listacolumnas FROM nombretabla[s] WHERE condición;

Consultar o desplegar toda la tabla completa: SELECT * FROM PELICULAS;   Desplegar ciertas columnas: SELECT nombrepelicula, preciopelicula from películas: Usar filtros o condiciones para la consulta: SELECT * from peliculas WHERE preciopelicula >= 225.00; Filtros o condiciones compuestas usando los operadores lógicos AND OR NOT: SELECT * from películas WHERE preciopelicula > 200 AND tipopelicula = ‘comedia’;

Ordenar la consulta: SELECT * from peliculas ORDER BY preciopelicula;   Se puede usar cualquier campo o columna para desplegar la tabla ordenada: SELECT * from peliculas ORDER BY nombrepelicula; Ordenar en forma descendente: SELECT * from peliculas ORDER BY preciopelicula DESC;

Ordenar en forma ascendente: SELECT * from peliculas ORDER BY preciopelicula ASC; Seleccionar un subconjunto de renglones que se encuentran entre determinado rango: Select * from peliculas where preciopelicula BETWEEN 150 and 350 ;   Seleccionar renglones que se encuentren en una lista de valores especificada: Select from peliculas where tipopelicula IN (‘acción’ , ‘horror’);

Mostrar valores no nulos. Select nocontrol,nombre, especialidad From alumno Where telefono is not null Mostrar valores nulos: Where telefono is null Utilizar Like: Select * Where nombre like “an*”

4.3 Funciones de Agregación (Group By, Having)

Funciones de Agrupamiento o Agregación:

Promedio (AVG). SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100;   Contar (COUNT) SELECT Count(*) AS Total FROM Pedidos;   Minimo y máximo (MAX,MIN) SELECT Min(Gastos) AS ElMin FROM Pedidos WHERE Pais = 'España';SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais = 'España';   Suma (SUM) SELECT Sum(PrecioUnidad * Cantidad) AS Total FROM DetallePedido;

La sintaxis es la siguiente: SELECT (*) (campos) FROM tabla   GROUP BY. SQL nos permite agrupar las filas resultado de una consulta en conjuntos y aplicar funciones sobre esos conjuntos de filas. La sintaxis es la siguiente: SELECT (*) (campos) FROM tabla WHERE condición GROUP BY campo HAVING condición ORDER BY campo ASC | DESC;

En la cláusula GROUP BY se colocan las columnas por las que vamos a agrupar.  

HAVING. Especifica la condición que han de cumplir los grupos para pasar al resultado.   Ejemplo: SELECT Id_Familia, Sum(Stock) FROM Productos GROUP BY Id_Familia;   Una vez que GROUP BY ha combinado los registros, HAVING muestra cualquier registro agrupado por la cláusula GROUP BY que satisfaga las condiciones de la cláusula HAVING.

HAVING es similar a WHERE, determina qué registros se seleccionan HAVING es similar a WHERE, determina qué registros se seleccionan. Una vez que los registros se han agrupado utilizando GROUP BY, HAVING determina cuáles de ellos se van a mostrar. La cláusula HAVING permite especificar condiciones a los agrupamientos realizados con GROUP BY. Al utilizar la cláusula HAVING no se incluyen aquellos grupos que no cumplan una determinada condición. La cláusula HAVING siempre va detrás de la cláusula GROUP BY y no puede existir sin ésta.  

Ejemplo: SELECT Id_Familia Sum(Stock) FROM Productos GROUP BY Id_Familia HAVING Sum(Stock) > 100 AND NombreProducto Like BOS*;

4.4 Consultas sobre múltiples tablas. 4.4.1 Subconsultas.

– Para para dividir una consulta compleja en series de pasos lógicos  ¿Porqué usar subconsultas? – Para para dividir una consulta compleja en series de pasos lógicos – Para hacer consultas que confía en el resultado de otra consulta   Una subconsulta es una sentencia SELECT que aparece dentro de otra sentencia SELECT. Ejemplo: select co_cliente, nombre, marca, moddelo  from alquileres  where co_cliente = 1  and   fecha_alquiler = (select max(fecha_alquiler)         from alquileres         where co_cliente = 1)

Una subconsulta tiene la misma sintaxis que una sentencia SELECT normal exceptuando que aparece encerrada entre paréntesis. La subconsulta se puede encontrar en la lista de selección, en la cláusula WHERE o en la cláusula HAVING de la consulta principal.   Tiene las siguientes restricciones: No puede contener la cláusula ORDER BY No puede ser la UNION de varias sentencias SELECT A veces se han de utilizar en una consulta los resultados de otra consulta, llamada subconsulta.

Un ejemplo de esto ocurre cuando queremos conocer los nombres de los empleados cuyo salario está por encima de la media:   Select nombre from emp Where salario > (select avg (salario) from emp); Subconsultas de una única fila: Es una subconsulta que devuelve como resultado una única fila.

Ejemplo: SELECT * FROM estudiantes WHERE población = (SELECT población WHERE dni=’33445667’); Subconsultas de una múltiples filas: FROM profesores WHERE población IN (SELECT población WHERE edad>25);

Subconsultas de múltiples columnas: SELECT * FROM profesores WHERE (nombre, apellidos) IN (SELECT nombre, apellidos FROM estudiantes WHERE edad>25);

4.4.1 Operadores JOIN.

Las vinculaciones entre tablas se realizan mediante la cláusula INNER que combina registros de dos tablas siempre que haya concordancia de valores en un campo común.   Su sintaxis es: SELECT campos FROM tb1 INNER JOIN tb2 ON tb1.campo1 comp tb2.campo2 En donde:

Combinar las tablas Categorías y Productos basándose en el campo IDCategoria: SELECT NombreCategoria, NombreProducto FROM Categorias INNER JOIN    Productos ON   Categorias.IDCategoria = Productos.IDCategoria También se pueden enlazar varias cláusulas ON en una instrucción JOIN, utilizando la sintaxis siguiente: SELECT campos FROM tabla1 INNER JOIN tabla2 ON (tb1.campo1 comp tb2.campo1 AND ON tb1.campo2 comp tb2.campo2) OR ON (tb1.campo3 comp tb2.campo3)

También puede anidar instrucciones JOIN utilizando la siguiente sintaxis: SELECT campos FROM tb1 INNER JOIN (tb2 INNER JOIN [( ]tb3 [INNER JOIN [( ]tablax [INNER JOIN ...)] ON tb3.campo3 comp tbx.campox)] ON tb2.campo2 comp tb3.campo3) ON tb1.campo1 comp tb2.campo2

4.5 Manipulación de la base de datos (INSERT, UPDATE, DELETE)

INSERT: Agrega uno o más registros a una (y sólo una) tabla en una base de datos relacional.   Sintaxis: INSERT INTO tabla (columna1,columna2,columnaN) VALUES (valor1,valor2,ValorN)  Ejemplo: INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez', '4886850'); INSERT INTO agenda_telefonica VALUES ('Roberto Jeldrez', '4886850'); INSERT INTO agenda_telefonica VALUES ('Roberto Fernández', '4886850'), ('Alejandro Sosa', '4556550');

UPDATE Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una tabla.   Sintaxis: UPDATE tabla SET columna1 = valor1,columna2 = valor2WHERE columnaN = valorN Ejemplo: UPDATE Emple2 SET APELLIDO=’RUIZ’ WHERE APELLIDO=’SALA’;

DELETE Una sentencia DELETE de SQL borra cero o más registros existentes en una tabla.   Sintaxis: DELETE FROM Tabla WHERE criterio  Ejemplo: DELETE FROM EMPLE2 WHERE OFICIO=’DIRECTOR’ AND DEP