Teórico: Structured Query Language

Slides:



Advertisements
Presentaciones similares
SQL CON EJEMPLOS SARI TEMA 4.
Advertisements

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
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
SQL BAJO EL ENTORNO PHP/MYSQL MI JUAN PABLO TORRES HERRERA UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA ENSENADA Mayo de 2005.
Fernando Velasco
SQL G r u p o
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
IBD Clase 15.
EL LENGUAJE ESTÁNDAR SQL
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM.
MySQL M.C. Pedro Bello López.
SQL.
Lenguaje SQL (Structured Query Language)
SQL Lenguaje de consulta estructurado
SQL Básico Prof. Nelliud D. Torres.
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
Integrantes: Peter velazques Andres heredia Juan Mendez
Componentes sintácticos
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,
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
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.
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
CONSULTAS SENCILLAS A LA BASE DE DATOS
STRUCTURED QUERY LANGUAGE
SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado.
Consultas SQL (Base de Datos)
INSTRUCCIONES Elaboración de la Presentación:
Introducción a Bases de Datos en Microsoft Access Programación de Computadoras 2 Sección: P.
LENGUAJE SQL.
Bases de Datos Sql.
Structured Query Language (Lenguaje Estructurado de Consultas)
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
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.
 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.
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.
SQL 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.
(Lenguaje de consulta estructurado)
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
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.
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
SQL: DDL.
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 III Agrupando y resumiendo información.
SQL Lenguaje de Consulta estructurado (structured query language) Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar.
SQL Lenguaje de Consulta Estructurado
Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Transcripción de la presentación:

Teórico: Structured Query Language Bases de Datos 1 Teórico: Structured Query Language

Historia Los orígenes del SQL están ligados a los orígenes de las bases de datos relacionales Estandarizado por ANSI en 1986 (SQL-86) Hubieron varias revisiones: SQL-89 SQL-92 SQL-1999 SQL-2003 SQL-2006 SQL-2008 SQL-2011

Características Opera sobre conjunto de tuplas No elimina automáticamente tuplas repetidas Lenguaje no procedural Su poder de expresión incluye el álgebra relacional y lo extiende Se distinguen dos sublenguajes: DDL (Data Definition Language) DML (Data Manipulation Language)

Data Definition Language (DDL) Permite crear, modificar y eliminar objetos de la base de datos: Tablas Una tabla es un conjunto de valores organizados en filas y columnas. Es la representación de una relación aunque no son estrictamente equivalentes Vistas Una vista es una tabla virtual basada en el resultado de una consulta. Pueden usarse en consultas como si fueran tablas Usuarios

Operaciones sobre tablas CREATE TABLE Crea una nueva tabla Parámetros: Nombre de la tabla Nombre y tipo de dato de cada columna Restricciones de clave primaria y clave foránea sobre otras tablas ALTER TABLE Modifica una tabla existente DROP TABLE Elimina una tabla existente y elimina los datos almacenados en ella

Ejemplo Sistema de Información relativo a hospitales: HOSPITALES(codHosp, nomHosp, direccion) MEDICOS(ciMed, nomMed, especialidad) PACIENTES(ciPac, nomPac, fchNac, sexo)

Ejemplo Creo la tabla hospitales: CREATE TABLE hospitales( codHosp integer NOT NULL, nomHosp character varying(40), direccion character varying(20) ); ALTER TABLE hospitales add constraint hospitales_pkey PRIMARY KEY (codHosp);

Operaciones sobre vistas CREATE VIEW Crea una vista Ejemplo: Creo una vista sobre la tabla hospitales en la que no aparezca la dirección: CREATE VIEW hospitalesSinDir AS (SELECT codHosp, nomHosp FROM hospitales ); ALTER VIEW Modifica una vista DROP VIEW Elimina una vista

Data Manipulation Language (DML) Permite crear, modificar, eliminar y recuperar datos: INSERT Agrega tuplas a una tabla Ejemplo: INSERT INTO hospitales VALUES (1, ‘Maciel’, ‘25 de Mayo 174’); UPDATE Actualiza tuplas de una tabla UPDATE hospitales SET direccion = ‘25 de Mayo 172’) WHERE codHosp = 1;

DML DELETE SELECT Borra tuplas de una tabla Ejemplo: DELETE hospitales WHERE nomHosp = ‘Maciel’; SELECT Recupera datos SELECT direccion FROM hospitales WHERE nomHosp = ‘Maciel’;

Recuperación de datos Sintaxis: SELECT A1, …, An FROM R1, …, Rm WHERE C; donde: A1, …, An son nombres de atributos. También se puede utilizar (*) R1, …, Rm son nombres de tablas C es una condición booleana

Cláusula ORDER BY La cláusula ORDER BY permite ordenar el resultado ascendentemente o descendentemente (ASC ó DESC) Ejemplo: Devolver los códigos de los hospitales ordenados ascendentemente SELECT codHosp FROM hospitales ORDER BY codHosp ASC;

Cláusula DISTINCT La cláusula DISTINCT permite filtrar tuplas repetidas Ejemplo: Devolver las especialidades, sin repetir, de los médicos SELECT DISTINCT especialidad FROM medicos;

Operador JOIN JOIN es un operador que se utiliza para combinar datos de dos o más tablas basados en una relación entre determinadas columnas en estas tablas En el JOIN sólo se incluyen en el resultado tuplas que coincidan en valor en los campos del JOIN

Ejemplo Obtener los nombres y apellidos de los Tecnólogos: PERSONAS(ci, nombre, apellido, fchNac, lugarNac) TECNOLOGOS(ci, fchTitulo) Obtener los nombres y apellidos de los Tecnólogos: SELECT nombre, apellido FROM (personas JOIN tecnologos ON personas.ci = tecnologos.ci);

Otros tipos de JOIN NATURAL JOIN: Elimina columnas con nombres repetidos LEFT JOIN: Agrega para cada tupla de T1 que no satisface la condición de JOIN con ninguna de T2, una fila con nulos en las columnas de T2 RIGHT JOIN: Análogo a LEFT JOIN pero se incluyen todos los de T2 FULL JOIN: Equivalente a la unión de LEFT JOIN y RIGHT JOIN

Alias Ejemplo: Devolver las parejas de cédulas de identidad de las personas que tienen igual nombre pero distinto apellido SELECT p1.ci, p2.ci FROM personas p1, personas p2 WHERE p1.nombre = p2.nombre and p1.apellido <> p2.apellido;

Renombrar atributos Ejemplo: PRODUCTOS (nroProd, nombre, peso) FABRICANTES ( nroFab, nombre, departamento) VENTAS ( nroFab, nroProd, precio) Dar los nombres de fabricantes y los nombres de los productos que venden SELECT fabricantes.nombre as nomFab, productos.nombre as nomProd FROM ventas, fabricantes, productos WHERE ventas.nroFab = fabricantes.nroFab and ventas.nroProd = productos.nroProd;

Unión (UNION) Ejemplo: Devolver la cédula de identidad de las personas que nacieron en el año 2000 o que nacieron en Salto SELECT ci FROM personas WHERE personas.fchNac >= to_date('01/01/2000','dd/mm/yyyy') and personas.fchNac <= to_date('31/12/2000','dd/mm/yyyy') UNION WHERE personas.lugarNac = ‘Salto’; La UNION elimina tuplas repetidas

Diferencia (NOT IN) Ejemplo: Devolver las cédulas de identidad de las personas que no se recibieron de Tecnólogo SELECT ci FROM personas WHERE ci NOT IN (SELECT ci FROM tecnologos);

Funciones y operadores aritméticos En las cláusulas SELECT y WHERE se pueden aplicar funciones y operadores aritméticos sobre atributos: Funciones: round (n), abs (n), etc Operadores aritméticos: (+, *, /)

Funciones de agregación Las funciones de agregación extienden el álgebra relacional Se aplican sobre conjuntos de tuplas, no sobre tuplas individuales Permiten sumar, obtener el máximo, contar tuplas, etc

Consultas anidadas Las consultas anidadas son consultas dentro de la cláusula WHERE de otra consulta Sintaxis: SELECT A1, …, An FROM R1, …, Rm WHERE Aj, …, Ak <op_comp> (SELECT B1, …, Bk FROM S1, …, Sm WHERE C); donde <op-comp> puede ser: IN = ANY > ANY = ALL > ALL

Función EXISTS La función EXISTS sirve para chequear si el resultado de una consulta no es vacío Ejemplo: Dar los nombres de los fabricantes que sólo venden el producto número 15. SELECT nombre FROM fabricantes f1, ventas v1 WHERE f1.nroFab = v1.nroFab and v1.nroProd = 15 AND NOT EXISTS (SELECT * FROM ventas v2 WHERE v2.nroFab = f1.nroFab and v2.nroProd <> 15);

Cláusula GROUP BY La cláusula GROUP BY sirve para agrupar tuplas El agrupamiento se realiza después de aplicar el WHERE, es decir, sobre las tuplas que cumplen la condición En el SELECT sólo puede haber atributos presentes en la cláusula GROUP BY, funciones de agregación sobre atributos y/o expresiones aritméticas

Ejemplo En esta relación: ACTIVIDADES (ci-est, cod-as, cod-car, tipo-act, fecha, aprobo, nota) En esta relación: Se guardan todas las actividades que realizan los estudiantes en la facultad Estas actividades pueden ser de distintos tipos (examen (‘E’) o realización de curso (‘RC’)) El atributo aprobo tiene valor ‘S’ o ‘N’. Si este atributo tiene valor ‘S’ asumimos que la asignatura esta aprobada totalmente, no importa el tipo de actividad que sea El atributo fecha corresponde a la fecha en la que se realizó la actividad

Ejemplo Dar una lista que contenga código de asignatura, código de carrera y cantidad de aprobados a partir del 01/12/2001 SELECT cod-as, cod-car, COUNT(*) FROM actividades WHERE fecha > to_date(‘01/12/2001’,’dd/mm/yyyy’) and aprobo = ‘S’ GROUP BY cod-as, cod-car;

Cláusula HAVING La cláusula HAVING sirve para especificar condiciones sobre grupos Ejemplo: Dar el número de fabricante y los promedios de precios a los cuales vendió, pero para los fabricantes con más de 3 ventas SELECT nroFab, avg(precio) FROM VENTAS GROUP BY nroFab HAVING count(*) > 3;

Sub-consultas en el FROM Utilizar sub-consultas en el FROM es equivalente al uso de vistas Ejemplo: Dar el máximo del promedio de ventas de cada fabricante SELECT MAX (promedio) FROM (SELECT AVG (precio) as promedio FROM ventas GROUP BY nroFab) as promedios

Cambios de formato Por defecto existen funciones que permiten manipular los tipos de datos Los manejadores también disponen de funciones específicas Concatenación de string: Se utiliza el operador | | Mayúsculas y minúsculas: upper(<atributo>), lower(<atributo>)

Material de consulta Tutorial de SQL Tutorial interactivo de SQL http://www.w3schools.com/sql/default.asp Tutorial interactivo de SQL http://sqlzoo.net/ Documentación PostgreSQL http://www.postgresql.org/docs/