Características del lenguaje SQL



Documentos relacionados
ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Oracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo

ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1

Manual de Sentencias Básicas en SQL

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.

Transact-SQL. Declaraciones del Data Control Language (DCL) que se utilizan para determinar quién ve o modifica los datos.

APÉNDICE D. INTRODUCCIÓN A SQL

Oracle Database: Conceptos Básicos de SQL y PL/SQL

Oracle Database 10g: Conceptos Básicos de SQL y PL/SQL

El Lenguaje SQL. Funciones en SQL

Oracle Database 12c SQL and PLSQL Fundamentals

Está basado en el álgebra y en el cálculo relacional.

Introducción a Transact-SQL

ÍNDICE INTRODUCCIÓN...13

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

MANUAL BÁSICO DEL LENGUAJE SQL

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Insertar Datos en Tablas

SQL: Lenguaje de Interrogación Estructurado

Oracle Fundamentos. Programa de Estudio.

FUNDAMENTOS ORACLE 12C

Diseña y Administra Bases de Datos Guía de Estudio

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

Conceptos Avanzados de Programación en Internet

GUÍA DE TRABAJO N 5 GRADO 11 Programación y Diseño de Articulación SENA Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

Oracle Fundamentos. Programa de Estudio.

Oracle Fundamentos. Programa de Estudio.

GUÍA DE TRABAJO N 7 GRADO 11. Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 GUIA N 7 COMANDOS MYSQL II. CREAR UNA TABLA

Lenguaje de manipulación de datos

INTRODUCCION A SQL CARACTERÍSTICAS DEL LENGUAJE ESTRUCTURADO DE CONSULTA SQL COMPONENTES DEL SQL

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

Manual Aprendiendo Practicando Oracle SQL (Spanish Edition) Click here if your download doesn"t start automatically

ÍNDICE PRIMERA PARTE... 17

Base de Datos Oracle 10g: Introducción a SQL

Clase 4: SQL DDL DML Consultas Simples y Multitablas. BASE DE DATOS FAC.DE INGENIERIA - UNJu

Oracle Database 10g: Introducción a SQL

Base de datos Lenguaje SQL

SQL. Amparo López Gaona. México, D.F. Noviembre 2003

8 SQL SERVER 2008 RA-MA

2.4. Unidades de aprendizaje. Modelo Académico de Calidad para la Competitividad PSGB-02 15/22

Lenguaje PL/SQL. Instrucciones de Repetición

SQL (Structured Query Language)

MATERIAL INTRODUCTORIO ORACLE 11G

ÍNDICE INTRODUCCIÓN...17

Bases de Datos 2. Teórico

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

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

SQL (DML) Carlos A. Olarte Gestión y Modelación de SQL Datos (DML)

En este curso se presenta un análisis profundo de la base de datos MySQL para los sistemas operativos Windows y Linux.

SQLModificaciones a la BD

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

Manejo de Tablas y Llaves Foráneas

LENGUAJE DE MANIPULACIÓN DE DATOS

SQL Los fundamentos del lenguaje

Introducción a SQL (DML)

1. DML. Insertar datos

Objetivos y Temario CURSO MySQL 5

Tema 4. DML (Parte I)

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

ACTUALIZACIÓN DE DATOS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

all : Permite la aparición de filas idénticas (valor por defecto). distinct: No permite la aparición de filas idénticas.

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

SQL DML Select. Ges$ón y Modelación de Datos. María Constanza Pabón

Capítulo 1. Instalación de MySQL y su software complementario... 1

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

Guía práctica SQL. (c) Francisco Charte Ojeda

A.1. Definiciones de datos en SQL

Los DLL que permiten crear y definir nuevas bases de datos, campos e índices.

Restricción y Clasificación de los Datos. Copyright Oracle Corporation, All rights reserved.

Laboratorio de Bases de Datos (EBB)

RESUMEN DEL LENGUAJE SQL

20461 Consultas en Microsoft SQL Server 2014

EJEMPLOS PRÁCTICOS SQL

SQL Básico. José Muñoz Jimeno Febrero 2015

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

ING. INFORMÁTICA - BASE DE DATOS

ÍNDICE. Introducción... XVII. Capítulo 1. Oracle 10g y el Grid Computing... 1

EJERCICIOS DE CONSULTAS SQL

SUBCONSULTAS SQL. Cuando se ejecuta una consulta que contiene una subconsulta, la subconsulta se ejecuta por cada fila de la consulta principal.

Tema 4: Dinámica del Modelo Relacional. El lenguaje SQL

Oracle Database: Introducción a SQL

Terminología Equivalente

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

departamento NUMBER(3) FK (DEPARTAMENTOS.CODIGO) salario NUMBER(3) NOT NULL fecha_alta DATE NOT NULL jefe NUMBER(5) FK (EMPLEADOS.

SQL SERVER SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server.

GESTORES GESTORES DE BASES DE DATOS

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

Consultas Complejas:

SQL Oracle 12c. Este curso le permitira saber y conocer:

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

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

Conceptos de Bases de Datos Relacionales Triggers

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Transcripción:

Lenguaje SQL

Características del lenguaje SQL Es el lenguaje estándar para realizar operaciones en bases de datos relacionales. Instrucciones: SELECT Consulta. Su implementación está basada en álgebra relacional INSERT, UPDATE, DELETE Lenguaje de Manipulación CREATE, ALTER, DROP, RENAME, TRUNCATE Lenguaje de Definición de Datos COMMIT, ROLLBACK, SAVEPOINT Control de transacciones GRANT, REVOKE Lenguaje de Control de Datos (Seguridad)

El lenguaje PL/SQL PL/SQL es un lenguaje procedimental que permite extender las capacidades de SQL Las instrucciones de manipulación y consulta son incluidas en unidades de código llamadas procedimientos Sus beneficios incluyen: Agrupar varias instrucciones SQL en un solo bloque y enviar el bloque al servidor reduciendo el tráfico en la red. Modularizar el desarrollo de programas. Reutilizar código.

El lenguaje PL/SQL Permite declarar variables, cursores, constantes y excepciones. Posee los constructores básicos de un lenguaje procedimental: secuenciación, condicional e iteración. Permite mediante el uso de cursores procesar individualmente las tuplas de una relación. Tiene mecanismos para el manejo de excepciones.

Lenguaje de Manipulación de Datos (DML) Una instrucción DML es ejecutada cuando: Se añaden nuevas tuplas a una relación Se modifican tuplas de una relación Se eliminan tuplas de una relación Una transacción consiste de una colección de instrucciones DML que conforman una unidad lógica de trabajo. Ejemplo: El proceso de transferencia de dinero de una cuenta a otra cuenta de un mismo cliente en un banco.

La instrucción INSERT Permite insertar una tupla a la vez con la siguiente sintaxis: INSERT INTO tabla [(columna [, columna ])] VALUES (value [, value.]); Los valores deben estar en el mismo orden de las columnas en la relación. Las columnas que tengan tipo cadena de caracteres, y las tipo fecha deben estar encerradas en comillas simples. Para las columnas con valores nulos se coloca NULL. Se puede insertar en una relación tuplas provenientes de otra relación a través de una subconsulta. Esta opción se verá en el punto de subconsultas de la instrucción SELECT. Ejemplos: INSERT INTO CARRERA VALUES( 001, Música )

La instrucción UPDATE Permite modificar las tuplas de una relación. Se pueden modificar varias tuplas a la vez. Su sintaxis es: UPDATE tabla SET columna = valor [, columna = valor] [WHERE condición] Si no se especifica WHERE se modifican todas las tuplas de la relación. Se puede actualizar una relación utilizando tuplas provenientes de otra relación a través de una subconsulta. Esta opción se verá en el punto de subconsultas de la instrucción SELECT.

Ejemplo de UPDATE Ejemplo: Actualice todas las asignaturas de la carrera con el idcarrera 001 aumentando en 1 su número de créditos UPDATE ASIGNATURA SET creditos = creditos + 1 WHERE idcarrera = 001

La instrucción DELETE Permite eliminar tuplas de una relación con la siguiente sintaxis: DELETE [FROM] table [WHERE condicion]; La cláusula WHERE permite especificar las tuplas que serán borradas. Si no se coloca, todas las tuplas serán borradas. Se puede eliminar tuplas de una relación basados en valores de tuplas de otra relación a través de una subconsulta. Esta opción se verá en el punto de subconsultas de la instrucción SELECT.

La instrucción SELECT Permite realizar los operadores de selección, proyección y Join del álgebra relacional. El SELECT básico corresponde a la proyección del álgebra relacional tiene la forma: SELECT [DISTINCT] * columna [alias] [, columna [alias] ] FROM tabla; donde SELECT identifica cuales columnas FROM identifica cuál tabla DISTINCT elimina los duplicados * selecciona todas las columnas

Ejemplo de SELECT Ejemplos: Obtenga el carnet, apellidos y nombres y créditos inscritos de todos los estudiantes SELECT carnet, apynombre, credins FROM ESTUDIANTE; Obtener todas las asignaturas con secciones abiertas SELECT DISTINCT codasig FROM SECCION;

Uso de expresiones aritméticas Se puede mostrar información calculada a partir de nombres de columnas, números y operadores aritméticos. Las expresiones aritméticas que contienen algún valor NULL tienen como resultado NULL. Ejemplo: Obtenga el código, nombre y número de horas semestrales de cada asignatura SELECT codasig, horassem*16 FROM ESTUDIANTE;

Definición de alias de columna Renombra el nombre de la columna. Es útil para expresiones aritméticas. Sigue al nombre de la columna (palabra opcional AS entre el nombre de la columna y el alias). Requieren comillas dobles si contiene espacios, caracteres especiales o mayúsculas y minúsculas. Ejemplo: SELECT codasig, horassem*16 AS horas semestrales FROM ASIGNATURA;

Operador de concatenación y literales El operador concatena columnas o cadenas de caracteres a otras columnas. Crea una columna resultante que es una expresión CHAR. Un literal es un caracter, expresión, o número incluido en la lista del SELECT pero que no es una columna. Los literales CHAR y DATE se encierran entre comillas simples, mientras que los números no se encierran entre comillas. Para cada tupla de la respuesta se muestra el literal una vez. Ejemplo: SELECT apynombre estudia idcarrera AS Estudiantes y carreras FROM ESTUDIANTE;

Seleccionando algunas tuplas Corresponde a la selección del álgebra relacional y tiene la siguiente forma: SELECT [DISTINCT] * columna [alias] [, columna [alias] ] FROM tabla [WHERE condicion(es) ]; La condición es una expresión lógica que tiene la misma forma del álgebra relacional Ejemplo: Obtenga las secciones de la asignatura AA0001 SELECT * FROM SECCION WHERE codasig = AA0001 ;

Aspectos varios Las cadenas de caracteres y fechas están encerrados entre comillas simples. Los valores de tipo caracter son casesensitive, es decir que diferencia minúsculas y mayúsculas. Los valores de tipo fecha son formatsensitive es decir que diferencia entre los diversos formatos. Ejemplo: SELECT * FROM ASIGNATURA WHERE nombre = MUSICA ; No retorna tuplas.

Otros operadores de comparación BETWEEN-AND: Entre dos valores (ambos inclusive) IN (lista): Que sea igual a cualquier elemento de una lista de valores. LIKE: Que sea igual a un patrón de caracteres. La condición puede contener caracteres literales o números. % significa 0 o más caracteres. _ significa un caracter. IS NULL : Que sea un valor nulo. Ejemplo: Obtenga las secciones de la 1 a la 3 de todas las materias que empiezan con la cadena de caracteres AA. SELECT * FROM SECCION WHERE numsec BETWEEN 1 AND 3 AND codasig LIKE AA% ;

Reglas de precedencia Orden en la evaluación Operador 1 Todos los operadores de comparación 2 NOT 3 AND 4 OR Las reglas de precedencia se pueden cambiar mediante el uso de paréntesis. Ejemplo: Obtenga el código y nombre de las asignaturas de la carrera 102 y más de 6 horas semanales, o que la carrera sea 101 SELECT codasig, nombrefrom ASIGNATURA WHERE idcarrera = 101 OR idcarrera = 102 AND horassem > 6;

Ordenar Se pueden ordenar las filas de una tabla utilizando la cláusula ORDER BY. ASC: orden ascendente (defecto). DESC: orden descendente. La sintaxis es la siguiente: SELECT [DISTINCT] * columna [alias] [, columna [alias] ] FROM tabla [WHERE condicion(es)] [ORDER BY col [ASC DESC] [,col [ASC DESC] ] ; Se puede ordenar por una columna que no está en la lista de columnas del SELECT. Se puede ordenar por un alias de una columna. Se puede ordenar por más de una columna.

Múltiples tablas El SELECT de múltiples tablas sin condición es equivalente al producto cartesiano del álgebra relacional. El SELECT de múltiples tablas con una condición entre columnas de las diferentes tablas es el join del álgebra relacional. Si la condición es de igualdad es un equijoin.

El equijoin SELECT tabla1.columna [,tabla1. columna.], tabla2.columna [,tabla2. columna.] FROM tabla1, tabla2 WHERE tabla1.columna1 = tabla2.columna2 [AND tabla1.columna1 = tabla2.columna2..]; La condición del join está en la cláusula WHERE. Se prefija el nombre de la tabla cuando existe el mismo nombre de columna en las dos tablas. Ejemplo: Obtener los nombres de los estudiantes y el nombre de la carrera que estudian SELECT apynombre, CARRERA.idcarrera FROM ESTUDIANTE, CARRERA WHERE ESTUDIANTE.idcarrera = CARRERA.idcarrera;

Uso de alias de tablas Ejemplo: SELECT apynombre, C.idcarrera FROM ESTUDIANTE E, CARRERA C WHERE E.idcarrera = C.idcarrera;

Outer join Si una fila no satisface la condición join, la fila no aparecerá en el resultado de la consulta. Se usa el outer join para ver también aquellas filas que no cumplen con la condición join. El operador del outer join es el signo +. Se coloca en el lado del join en donde la información es insuficiente.

Outer join SELECT tabla.columna [,tabla.columna..] FROM tabla1, tabla2 WHERE tabla1.columna (+) = tabla2.columna; SELECT tabla.columna [,tabla.columna..] FROM tabla1, tabla2 WHERE tabla1.columna = tabla2.columna (+); Ejemplo: Obtener los carnets, apellidos y nombres de las carreras de todos los estudiantes. Incluir en el resultado los estudiantes que no tienen aún carrera asignada. SELECT carnet, apynombre FROM ESTUDIANTE E, CARRERA C WHERE e.idcarrera (+) = c.idcarrera;

Self joins Existen consultas para las cuales una tabla debe hacer join consigo misma. Ocurre cuando en la tabla existe una clave foránea que se referencia a sí misma. Ejemplo: EMP(empid, nombre, empidger) Clave foránea empidger que referencia a EMP Obtenga los nombres de los empleados y de sus gerentes SELECT E1.nombre empleado, E2.nombre gerente FROM EMP E1, EMP E2 WHERE E1.empidger = E2.empid;