Slides:



Advertisements
Presentaciones similares
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.
Advertisements

integridad referencial
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
Introducción a Transact-SQL
Teórico: Modelo Relacional
SQL G r u p o
SQL Server Integration Services SSIS
Estadística Computacional I
Base de Datos El lenguaje SQL.
Sistema de gestión de las bases de datos (SGBD).
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
PL/SQL Francisco Moreno Universidad Nacional.
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
MySQL M.C. Pedro Bello López.
SQL.
CAPITULO 1 Escribiendo Sentencias SELECT Básicas

SQL Structured Query Language
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
MSC. RUTH VEGA BASES DE DATOS SQL SERVER
Subconsultas Avanzadas
Integrantes: Peter velazques Andres heredia Juan Mendez
Facultad de Tecnología Informática
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.
UNITA - IBARRA TRIGGERS
COMANDOS SQL.
SQL Informática aplicada.
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:
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
SQL MC Beatriz Beltrán Martínez Benemérita Universidad Autónoma de Puebla.
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
CONSULTAS SENCILLAS A LA BASE DE DATOS
Tema 2: Base de datos relacionales
Consultas SQL (Base de Datos)
LENGUAJE SQL.
Bases de Datos Sql.
LENGUAJE ESTRUCTURADO DE CONSULTAS
Lenguaje Estructurado de Consulta
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.
Diseña y administra base de datos avanzadas
Tipos de Datos.
 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.
JOIN EN MYSQL Bueno en esta presentación mostrare cosas acerca de los usos de la sentencia JOIN en mysql , mediante esta presentación planeo mostrar los.
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.
Base de Datos Conjunto de tablas organizadas y posiblemente relacionados entre si. Las tablas son las que almacenan la información.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
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.
SQL STRUCTURED QUERY LANGUAGE
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Copyright  Oracle Corporation, All rights reserved. 1 Escritura de sentencias SQL SELECT básicas.
INTEGRACION DE LAS TECNOLOGIAS DE LA INFORMACION Y COMUNICACION Implementación de base de datos (Lenguaje de manipulación de datos) Ing. Linda Masias Morales.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
Copyright  Oracle Corporation, All rights reserved. 2 Restricción y ordenación de datos.
Administrador de Bases de Datos.  Características:  Libre.- puede descargarse de forma gratuita  Facilidad de uso.- gracias a aplicaciones como phpMyAdmin.
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.
Ing. Sanchez Castillo Eddye Arturo Escuela Académica Profesional de Ingeniería de Sistemas.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
Ing. Sanchez Castillo Eddye Arturo Escuela Académica Profesional de Ingeniería de Sistemas.
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.
Transcripción de la presentación:

MC Beatriz Beltrán Martínez Benemérita Universidad Autónoma de Puebla SQL MC Beatriz Beltrán Martínez Benemérita Universidad Autónoma de Puebla

Antecedentes IBM desarrolló la versión original (Laboratorio de Investigación de San José). Originalmente se llamó Sequel, a principios de 1970. En 1986, ANSI e ISO publicaron una norma SQL. SQL-86 SQL corporativo SQL-89 SQL-92 SQL:1999 MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Componentes Se tienen los siguientes componentes: Lenguaje de Definición de Datos (DDL): Proporciona órdenes para la definición de esquemas de relación, borrado de relaciones, creación de índices y modificación de esquemas. Lenguaje Interactivo de Manipulación de Datos (DML): Incluye un lenguaje de consultas basado en el álgebra y cálculo relacional. Incluye el borrado, insertado y modificación de tuplas. Definición de vista: Instrucciones básicas para definir vistas. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Componentes Control de transacciones: Se tienen órdenes para la especificación del comienzo y final de transacciones. SQL dinámico y SQL incorporado: Define cómo se pueden incorporar las instrucciones SQL en lenguajes de propósito general. Integridad: El DDL incluye órdenes para especificar restricciones de integridad que deba satisfacer la DB. Autorización: Se tienen órdenes para especificar los derechos de acceso para las relaciones y vistas. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples Comando para mostrar la versión de MySQL: Select version(); Comando para mostrar fecha actual: Select current_date; Se puede tener en una sola línea varios comandos, separados por coma (solo se incluye el comando select en el primer comando): Select version(), current_date; MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples En SQL no se hace diferencia entre mayúsculas y minúsculas. Comando para mostrar fecha y hora: Select now(); Se permiten declaraciones en diferentes líneas, con lo cual quedaría: mysql> select -> now() -> , -> current_date; MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples Comando que muestra usuario actual: Select user(); Para cancelar una declaración se tiene: \c Para mostrar las bases de datos existentes: Show databases; Para usar una base de datos: Use nombre_db En este comando no es necesario el punto y coma. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples Comando para crear una base de datos: Create database [if not exists] nombre_db; El crear la base de datos no implica que ya se puede utilizar, para esto se hace uso del comando use. Lo que se ha creado es una base de datos vacía. Comando para mostrar las tablas que existen en una base de datos: Show tables; MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples Comando para crear una tabla: Create table [if not exists] nom_tabla (nom_atrib tipo [, ...]); Comando para verificar la declaración de la tabla: Describe nom_tabla; Para las fechas se guarda con el formato: yyyy-mm-dd. Se puede guardar la información dentro de un archivo de texto. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples El archivo de texto debe tener un registro por cada línea. Cada valor de atributo se separa con un tabulador, en el mismo orden en el que están definidos en la tabla. Se pueden usar valores NULOS dentro del archivo de texto haciendo uso del carácter \N. Comando para leer el archivo en la tabla: Load data local infile “nom_arch" into table nom_tabla; MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples NOTA: El uso de archivos no esta disponible en todas las versiones. Comando para agregar un solo registro: Insert into nom_tabla values (atrib [, ...]); Para valores nulos utilizar NULL. El orden de los atributos deben ser igual a como fue definida en la tabla. Tanto las cadenas como las fechas se colocan entre comillas. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples Para agregar un nuevo atributo dentro de una tabla: Alter table nom_tabla add nom_atrib tipo [first | after nom_atrib]; Si la tabla contiene información, el nuevo atributo se llenará con NULL. Para cambiar alguno de estos valores nulos se usa: Update nom_tabla set nom_atrib = expresion [, ...] [condicion] MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples Si no se da una condición, el cambio al atributo es a todas las tuplas. La condición permite que realice un cambio sobre una tupla en particular. Alter permite cambiar la estructura de las relaciones. Update permite cambiar los valores de tuplas en cada atributo. Para eliminar un atributo: Alter table nom_tabla drop nom_atrib; MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Consultas simples Para eliminar una base de datos: Drop database nom_bd; Para eliminar una tabla en particular: Drop table nom_tabla; Para renombrar una tabla: Rename table nom_ant to nom_new; Para eliminar filas de una tabla: Delete from nom_tabla where condicion; Si no se le da una condición borra toda la tabla. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Estructura básica Una Base de Datos consiste de un conjunto de relaciones a las que a cada una se les asigna un nombre único. Se permite el uso de valores nulos, para indicar que no se conoce el valor o que es desconocido. La estructura básica de una expresión consiste de tres cláusulas: select, from y where. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Estructura básica La cláusula select corresponde a la operación proyección. Se usa para seleccionar atributos en particular. La cláusula from corresponde a la operación producto cartesiano, y lista las relaciones que deben ser analizadas en la evaluación. La cláusula where corresponde al predicado selección. Es un predicado que engloba a los atributos de las relaciones que aparecen en la cláusula from. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Estructura básica Una consulta típica en SQL es: Select A1, A2, ..., An From r1, r2, ..., rm Where P Cada Ai representa un atributo Cada ri una relación P es un predicado Su equivalente:  A1, A2, ..., An(P(r1  r2  ...  rm)) MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Estructura básica Si se omite la cláusula where, el predicado P es cierto. Se pueden tener tuplas repetidas. SQL forma el producto cartesiano de las relaciones incluidas en from, se lleva a cabo la selección (where) y entonces se proyecta el resultado sobre los atributos mostrados en select. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Estructura básica Select Para eliminar duplicados: Distinct Para especificar explícitamente que no se eliminen las tuplas repetidas: All El símbolo “*” se puede utilizar para denotar todos los atributos. Select puede contener expresiones aritméticas con las operadores básicos operando sobre constantes o atributos de tuplas. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Estructura básica Where Puede tener un predicado simple usando los operadores de comparación: <, <=, >, >=, =, <> Se puede tener un predicado con conectores: Not, and, or Se incluye un operador de comparación, que significa que un valor sea menor o igual que un valor y mayor igual que otro valor o negándolo, usando: Between valor1 and valor2; Not Between valor1 and valor2; MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Estructura básica From Se define el producto cartesiano. Para realizar una reunión natural, se define en términos del producto cartesiano, una selección y una proyección. Se hace uso de para evitar ambigüedad: Nombre_relación.Nombre_atributo Cuando no hay ambigüedad, se puede usar o no la forma anterior. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Estructura básica Supóngase que existe un error en un atributo en particular de alguna tupla, se puede hacer de dos formas: Editar el archivo, corrigiéndolo después eliminando todas tuplas y finalmente cargando de nueva cuenta la tabla con el archivo. Corregir el atributo erróneo, haciendo uso del comando update. En el primero, se puede realizar siempre y cuando no se hayan introducido nuevos valores mediante el uso de insert into. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Estructura básica Al hacer uso del comando update, se debe utilizar con una restricción, de otra forma se cambiaran todos los valores del atributo que se da en todas las tuplas. Primera forma: mysql> delete from nom_tabla; mysql> load data local infile “nom_arch" into table nom_tabla; Segunda forma: mysql> update nom_tabla set atrib = valor where condicion; MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Renombrar Se tiene un mecanismo para renombrar: Nombre_antiguo as Nombre_nuevo La cláusulas as puede aparecer tanto en select como en from. La cláusula as, es útil en la definición de variable de tupla. Una variable de tupla se debe asociar con una relación concreta. Las variables de tuplas se definen en la cláusula from, mediante el uso de as. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Cadenas Las cadenas se encierran entre comillas simples o dobles. Si una comilla es parte de la cadena se usa con dos caracteres de comilla: ‘El carácter ‘’ se puede ver en la cadena’ La operación más utilizada sobre cadena es el encaje de patrones, y se usa Where atrib like patroncadena. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Cadenas Para la utilización de patrones se usan los caracteres especiales: Tanto por ciento (%): Encaja con cualquier subcadena. Subrayado (_): Encaja con cualquier carácter. El usar el subrayado n-veces encaja con una cadena de n-caracteres. Se permite la especificación de un carácter de escape. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Cadenas El carácter de escape se utiliza antes del carácter especial patrón para indicar que ese carácter va a ser tratado como carácter normal. El carácter escape para la comparación like se define utilizando la palabra clave escape. Se usa la barra invertida (\) como carácter de escape. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Cadenas Para su uso se tiene: like ‘ab\%cd%’ escape ’\’ : Encaja con todas las cadenas que empiezan con ab%cd like ‘ab\\cd%’ escape ’\’ : Encaja con todas las cadenas que empiezan con ab\cd Se permite también las discordancias, utilizando el operador: Where atrib not like patroncadena. La concatenación se lleva a cabo con el uso de: “||”. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Orden Se pueden tener distintos órdenes sobre el que se presentan las tuplas de una relación, mediante el uso de la cláusula: Order by atrib [asc | desc]; De manera predeterminada se listan en forma ascendente, lo cual se puede cambiar: Desc de forma descendente Asc de forma ascendente MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Otras operaciones La operación unión del álgebra relacional se lleva a cabo por medio de la cláusula: Sentencia union [all] sentencia; La operación intersección del álgebra relacional no esta implementada, pero se puede realizar: Select tabla1.atrib from tabla1 join tabla2 where tabla1.atrib = tabla2.atrib; La operación diferencia no esta implementada. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Funciones de agregación Las funciones de agregación toman una colección de valores como entrada y producen un único valor como salida, entre las funciones que se tienen: Media: Avg (nom_atrib) Mínimo: Min (nom_atrib) Máximo: Max (nom_atrib) Total: Sum (nom_atrib) Cuenta: Count (nom_atrib) El atributo al que se le aplica la función se puede renombrar usando as. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Funciones de agregación La entrada sum y avg deben ser numéricas. Los demás operadores puede operar sobre colecciones de datos de tipo no numérico. Las funciones de agregación se pueden aplicar a grupos de conjuntos al final de la sentencia, haciendo uso de: Group by nom_atrib; Cuando se requieren establecer condiciones a grupos de tuplas, se hace uso de: Having condicion; MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Funciones de agregación En una misma consulta se puede tener la cláusula where y having al mismo tiempo, donde primero se aplica el predicado de la cláusula where. Las tuplas que satisfacen la cláusula where, se colocan en grupos según group by, y finalmente se aplica la cláusula having a cada grupo. Los grupos que no satisfacen el predicado de la cláusula having son eliminados. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Valores nulos Se permite el uso de valores nulos para indicar falta de información. Se puede preguntar por aquellos valores sean nulos, en la sentencia where: Is null Y para preguntar por la ausencia de un valor nulo se usa: Is not null MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Valores nulos En comparaciones se tiene: Se trata como desconocido, el resultado de cualquier comparación que implique un valor nulo. En comparaciones booleanas se trata: Cierto y desconocido : desconocido. Falso y desconocido : falso. Desconocido y/o desconocido : desconocido. Cierto o desconocido : cierto. Falso o desconocido : desconocido. No desconocido : desconocido. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Fechas Se puede calcular mediante una fecha distintos datos. Select nom_atrib, [nom_atrib, ...] (year (curdate ()) – year (nom_atrib_date)) – ((right (curdate (), 5) < (right (nom_atrib_date, 5))) [as nombre] from tabla; La función year(), devuelve la parte del año dentro de una fecha. La función right() quita los primeros n caracteres de más a la derecha. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Fechas También puede obtenerse el mes dentro de una fecha mediante la función: Month() Finalmente se puede obtener el día dentro de la fecha, mediante: Dayofmonth() Incluso estas funciones pueden ser utilizadas dentro sentencias de tipo de restricción (where). La función date_add (fecha, interval tiempo tipo) agrega un intervalo de tiempo. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Tipos de Datos Tipo de Datos Longitud Descripción BINARY 1 byte Para consultas sobre tabla adjunta de productos de bases de datos que definen un tipo de datos Binario.  BIT Valores Si/No ó True/False  BYTE Un valor entero entre 0 y 255. COUNTER 4 bytes Un número incrementado automáticamente (de tipo Long) CURRENCY 8 bytes Un entero escalable entre 922.337.203.685.477,5808 y 922.337.203.685.477,5807. DATETIME Un valor de fecha u hora entre los años 100 y 9999. SINGLE Un valor en punto flotante de precisión simple con un rango de -3.402823*1038 a -1.401298*10-45 para valores negativos, 1.401298*10-45 a 3.402823*1038 para valores positivos, y 0. MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Tipos de Datos Tipo de Datos Longitud Descripción DOUBLE 8 bytes Un valor en punto flotante de doble precisión con un rango de -1.79769313486232*10308 a -4.94065645841247*10-324 para valores negativos, 4.94065645841247*10-324 a 1.79769313486232*10308 para valores positivos, y 0. SHORT 2 bytes Un entero corto entre -32,768 y 32,767. LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647. LONGTEXT 1 byte por carácter De cero a un máximo de 1.2 gigabytes. LONGBINARY Según se necesite De cero 1 gigabyte.  Utilizado para objetos OLE. TEXT 1 byte por caracter De cero a 255 caracteres.  MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015

Ejemplo sucursal cuenta impositor cliente prestamo prestatario Nombre-sucursal Ciudad-sucursal Activos Numero-cuenta Nombre-sucursal Saldo Nombre-cliente Numero-cuenta cliente Nombre-cliente Calle-cliente Ciudad-cliente prestamo prestatario Numero-prestamo Nombre-sucursal importe Nombre-cliente Numero-prestamo MC Beatriz Beltrán Martínez FCC - BUAP Verano 2015