APÉNDICE D. INTRODUCCIÓN A SQL



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

MANUAL BÁSICO DEL LENGUAJE SQL

Características del lenguaje SQL

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

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

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

Manual de Sentencias Básicas en SQL

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

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

Conceptos Avanzados de Programación en Internet

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

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

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

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

Lenguaje de manipulación de datos

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

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

Base de datos Lenguaje SQL

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

1. DML. Insertar datos

Insertar Datos en Tablas

Introducción a Bases de Datos. Pablo Zaidenvoren

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

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

Oracle Database 10g: Introducción a SQL

SQL (Structured Query Language)

Objetivos y Temario CURSO SQL SERVER 2012

INFORMÁTICA MÉDICA. Profesor: MsC. Liz Armenteros Chávez

Oracle Fundamentos. Programa de Estudio.

Modelamiento y Gestión de Base de Datos

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

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

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

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

EJERCICIOS DE CONSULTAS SQL

TEMA 4.. CONSULTA DE DATOS I.

La forma básica de la instrucción SELECT consta de tres cláusulas SELECT, FROM y WHERE (donde)

Manual avanzado Excel 2007

BASE DE DATOS_I Qué son las bases de datos?

EJEMPLOS PRÁCTICOS SQL

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

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

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL.

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

Bases de Datos 2. Teórico

Creación de una Base de datos

Tema 4. DML (Parte I)

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

Introducción a SQL (DML)

UNIDAD I. ALGORITMOS

Terminología Equivalente

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

REGLAS DE CODD DEL MODELO RELACIONAL

SQL Server Definición de los índices

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

APÉNDICE SQL (Structures Query Language)

GUIA PRACTICA PARA LA APLICACIÓN DE MS EXCEL TECNOLOGIA/ INFORMATICA

1 2 3 ( /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0)))

Conceptos Avanzados de Bases de datos

Velneo vodbc Driver V7 7.9

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

RESUMEN SQL. Tipo de coincidencia Modelo Planteado Coincide No coincide. Varios caracteres 'ab*' 'abcdefg', 'abc' 'cab', 'aab'

Modulo I: Introducción Gestores de Bases De Datos

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Introducción a SQL (DDL)

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

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

MICROSOFT ACCESS 2013 (COMPLETO)

ING. INFORMÁTICA - BASE DE DATOS

SELECT listadecampos FROM nombredetablas WHERE condicionesdebúsqueda;

Excel 2007 Completo. Duración: Objetivos: Contenido: 75 horas

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

SQL Structured Query Language

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

Práctica 1 de Microsoft Access

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

Manejo de Tablas y Llaves Foráneas

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

Bases de Datos: Structured Query Language (SQL)

GESTORES GESTORES DE BASES DE DATOS

Oracle Database: Introducción a SQL

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

Modelo de base de datos única con múltiples geobases de datos. Modelo de múltiples bases de datos espaciales

MANUAL DE EXCEL AVANZADO

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

SQL. Orígenes y Evolución

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

LENGUAJE DE MANIPULACIÓN DE DATOS

BASES DE DATOS. En Access hay una serie de herramientas u objetos que facilitan enormemente el tratamiento de la información:

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

Transcripción:

APÉNDICE D. INTRODUCCIÓN A SQL D.1 INTRODUCCIÓN. CONCEPTOS PREVIOS D.1.1 Base de Datos Relacional Conjunto de Datos que el usuario percibe como una colección de tablas. La visión tabular de los datos es independiente de cómo se almacenan. D.1.2 Tabla Relacional Cumple las siguientes características: Es un conjunto de Filas y Columnas. Cada Fila representa un registro, y es un grupo de columnas que da toda la información necesaria sobre un sujeto determinado de la tabla. Cada columna tiene un nombre que identifica toda la información que hay en ella. El orden de las filas y columnas no es significativo. D.1.3 El Lenguaje Dotado de las siguientes características: Orientado hacia el usuario final. De alto nivel. Puede utilizarse de forma interactiva o por programa. Para definición de datos (DDL), y manipulación de Datos (DML). Este último realiza funciones de: Recuperación: Selección, Proyección, Join, Unión. Modificación. Actualización, Borrado, Inserción. Toda operación de recuperación o modificación sobre una tabla, da como resultado otra tabla. Pág. 1

En los ejemplos que siguen utilizaremos las siguientes tablas: Tabla de Pólizas: NUMPOLI NUMCLIE TIPOPOLI 1001 A001 INDIVIDUAL 1002 A002 INDIVIDUAL 2001 A003 COLECTIVA Tabla de Clientes: CLIENTE NUMCLIEN A001 A002 A003 A004 NOMBCLIE PEREZ SANCHEZ GARCIA MARTINEZ D.1.3.1 Selección La operación de Selección recupera un conjunto de filas de una tabla, cumpliendo además una cierta condición, si se desea. "Seleccionar todas las pólizas individuales" NUMPOLI NUMCLIE TIPOPOLI 1001 A001 INDIVIDUAL 1002 A002 INDIVIDUAL D.1.3.2 Proyección tabla. La operación de proyección recupera un grupo determinado de columnas de una "Recuperar los números de Cliente y Póliza" NUMPOLI NUMCLIE 1001 A001 1002 A002 2001 A003 Pág. 2

D.1.3.3 Join Combinación de las filas de una tabla con filas de otra tabla, basándonos en los valores de una determinada columna. "Recuperar Números de Póliza y Nombres de los Titulares" NUMPOLI NOMBCLIE TIPOPOLI 1001 PEREZ INDIVIDUAL 1002 SANCHEZ INDIVIDUAL 2001 GARCIA COLECTIVA Pág. 3

D.2 SQL. CONCEPTOS BÁSICOS SQL (Structured Query Language) nace como lenguaje de DB2: Base de Datos relacional para los grandes sistemas de IBM. Con SQL, el usuario puede extraer los datos especificando qué quiere, y no cómo lo quiere. El usuario no tiene por qué conocer la disposición de los datos en el almacenamiento físico. Con una sentencia SQL se puede acceder a: Una o más columnas de una fila de una tabla. Una o más columnas de múltiples filas de una tabla. Una o más columnas de múltiples filas de múltiples tablas. Una o más columnas calculadas a partir de otras columnas. D.2.1 Select Básica Es la operación más sencilla y utilizada de SQL. Permite extraer información de una base de datos relacional. "Recuperar de la tabla de pólizas la póliza número "1001" NUMPOLI, NUMCLIE, TIPOPOLI NUMPOLI = '1001' NUMPOLI NUMCLIE TIPOPOLI 1001 A001 INDIVIDUAL es una de las 4 sentencias básicas del lenguaje de manipulación (DML): : recupera datos. UPDATE: actualiza. DELETE: borra una o más filas. INSERT: inserta filas Pág. 4

recupera un grupo específico de registros Su sintaxis es: < lista-campos * > nomb-tabla condición Donde: * indica que se desean todas las columnas en el mismo orden con el que se definieron en la tabla. especifica la tabla de busqueda. puede incorporar condiciones a las filas deseadas. lista-campos especifica sólo ciertas columnas de la tabla. D.2.2 Concepto de Join Es una Select desde varias tablas. Es posible siempre que las tablas del Join tengan algún dato en común. La operación de JOIN relaciona dos o más tablas, permitiendo de esta forma que datos de varias tablas se accedan juntos para obtener un resultado que no estaría disponible desde una única tabla. Listar el número de póliza, número de cliente y nombre de los titulares de las pólizas. Por cada fila en, encontrar la fila en CLIENTE, que contenga en la columna NUMCLIEN un valor igual al de la columna NUMCLIE de la primera tabla. De estas filas poner los valores de las columnas seleccionadas (), en la tabla resultado. NUMPOLI, NUMCLIE, NOMBCLIE, CLIENTE NUMCLIE = NUMCLIEN NUMPOLI NUMCLIE NOMBCLIE 1001 A001 PEREZ 1002 A002 SANCHEZ 2001 A003 GARCIA Pág. 5

D.2.3 UPDATE SET Actualizar Datos (UPDATE) tabla nuevos valores en los campos condiciones de actualización UPDATE SET NUMPOLI = '2002' NUMPOLI = '2001' NUMPOLI NUMCLIE TIPOPOLI 1001 A001 INDIVIDUAL 1002 A002 INDIVIDUAL 2002 A003 COLECTIVA D.2.4 Insertar Datos (INSERT) Tiene dos formas básicas, según queramos insertar una o varias filas: 1.-INSERT INTO tabla (columnas) VALUES (lista de valores) INSERT INTO ( Numpoli, Numclie, Tipopoli) VALUES ( '2002','A004', 'colectiva') NUMPOLI NUMCLIE TIPOPOLI 1001 A001 INDIVIDUAL 1002 A002 INDIVIDUAL 2001 A003 COLECTIVA 2002 A004 COLECTIVA Si no se especifican las columnas se asume que los valores se insertan en el orden en que se definieron las columnas. 2.-INSERT INTO tabla (columnas) Cada fila recuperada con se insertará en la tabla. Pág. 6

D.3 SQL AVANZADO Utilizaremos la siguiente tabla en los ejemplos: 2002 B004 MARTINEZ 010192 010192 2500 Colectiva D.3.1 CRITERIOS DE BUSQUEDA (ORDER BY) NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, TIPOPOLI = Individual ORDER BY NOMBCLIE La secuencia en que se obtienen las columnas en una viene determinada por su posición en la cláusula. La secuencia de las filas viene determinada en principio por el orden físico en que se encuentran almacenadas. Si el usuario quiere ordenar la salida debe utilizar la cláusula ORDER BY, seguida de los nombres de las columnas que controlan el orden en que desea que aparezcan las filas, teniendo en cuenta que la operación por defecto en la ordenación es ascendente. Si se quiere el orden descendente, hay que codificar. ORDER BY nombre-columna DESC NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, ORDER BY NUMPOLI DESC 2002 B004 MARTINEZ 010192 010192 2500 Colectiva Pág. 7

D.3.2 OPERADORES SQL soporta los siguientes operadores de comparación: = Igual a <> No igual a > Mayor que > = Mayor o Igual a < Menor que < = Menor o igual que <>< No menor que <>> No mayor que Los operadores de comparación pueden usarse para comparar el valor de una columna con un valor determinado, o comparar el valor de dos columnas. NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, RECITOTA = 1000 NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, FECHBAJA > FECHALTA D.3.3 EXPRESIONES SQL soporta las siguientes expresiones: + Suma - Resta * Multiplicación / División Pág. 8

NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, FECHBAJA - FECHALTA = 0 2002 B004 MARTINEZ 010192 010192 2500 Colectiva D.3.4 IN y BETWEEN Permiten realizar una selección desde una lista o rango de valores. nombre-col IN ( value, value,...) nombre-col BETWEEN value AND value NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, NUMCLIE IN ('A001','A002') NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, NUMCLIE BETWEEN 'A001' AND 'A003' Pág. 9

D.3.5 NOT Cualquiera de las cláusulas vistas anteriormente puede ir precedidas con NOT, como opuesto a la condición especificada. nombre-col NOT IN ( value, value,...) NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, NUMCLIE NOT IN ('A001','A002','A003') 2002 B004 MARTINEZ 010192 010192 2500 Colectiva D.3.6 LIKE Permite la búsqueda de caracteres de datos sin necesidad de especificar todos ellos. Su sintaxis es: nombre-col LIKE (ccc <%><_>) Donde: ccc es un caracter o string de caracteres. % representa un conjunto de cero o más caracteres. _ representa un único carácter. NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, NOMBCLIE LIKE 'B%' 2002 B004 MARTINEZ 010192 010192 2500 Colectiva Pág. 10

NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, NOMBCLIE LIKE '_A%' 2002 B004 MARTINEZ 010192 010192 2500 Colectiva D.3.7 AND y OR Permiten combinar condiciones de búsqueda. NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, NOMBCLIE LIKE '_A%' AND RECITOTA = 1500 NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, NOMBCLIE LIKE '_A%' AND (RECITOTA = 1500 OR RECITOTA = 2000) Pág. 11

D.3.8 JOIN Operación que realiza búsquedas en varias tablas a la vez. NUMPOLI, NOMBCLIE, CLIENTE NUMPOLI NOMBCLIE 1001 PEREZ 1002 SANCHEZ 2001 GARCIA En la cláusula, deben especificarse las dos tablas implicadas. El JOIN puede hacerse sobre más de dos tablas. Si las dos tablas tuvieran una columna con el mismo nombre, hay que calificar el nombre con: NOMBRE DE TABLA.NOMBRE DE COLUMNA O bien utilizar otro tipo de calificador. En este caso, se procede como sigue: Se elige el calificador en la cláusula (en el ejemplo siguiente, P es el calificador de y C el de CLIENTE). Se utiliza el nuevo calificador para indicar a que tabla pertenece una columna determinada. P, CLIENTE C P.NUMCLIE = C.NUMCLIE D.3.9 DISTINCT Para la tabla: Elimina la obtención de filas duplicadas que puedan existir en una tabla. NUMPOLI NUMCLIE NOMBCLIE 1 1 PEREZ 2 1 PEREZ 3 2 SANCHEZ DISTINCT NUMCLIE, NOMBCLIE Pág. 12

NUMPOLI NUMCLIE NOMBCLIE 1 1 PEREZ 3 2 SANCHEZ EXPRESIONES Son las mismas operaciones vistas anteriormente, pero pueden ir no sólo en la cláusula, sino en la propia. De esta forma le podemos pedir al SQL que nos cree una nueva columna, y además podemos utilizarla referenciándola por su posición en la en un ORDER BY. NUMCLIE, NOMBCLIE, RECITOTA/12 NUMCLIE LIKE 'A%' ORDER BY 3 (Hace referencia a la tercera columna de la ) NUMCLIE NOMBCLIE RECITOTA/12 A001 PEREZ 83.333 A002 SANCHEZ 125 A003 GARCIA 166.666 Pág. 13

D.4 MANTENIMIENTO DE DATOS EN LAS TABLAS D.4.1 Inserción de una fila Presenta dos formas básicas: D.4.1.1 Primera posibilidad INSERT INTO nombre-tabla (nombres columnas) VALUES (lista-valores) Insertar cliente PEREZ número B005 con póliza colectiva número 2003. INSERT INTO (NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, ) VALUES (2003,'B005','PEREZ','','','','Colectiva) 2002 B004 MARTINEZ 010192 010192 2500 Colectiva 2003 B005 PEREZ Colectiva D.4.1.2 Segunda posibilidad INSERT INTO nombre-tabla VALUES (lista-valores) Ignorando las columnas se asume que en VALUES, van en el mismo orden que se definieron. INSERT INTO VALUES (2003,'B005','PEREZ','','','','Colectiva) Pág. 14

Con la Primera opción tenemos: Independencia de Datos; si creamos una nueva columna entre dos anteriores, el INSERT no dará error. Mejor Documentación. D.4.2 Inserción de múltiples filas INSERT INTO (NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, ) NUMPOLI, NUMCLIE, NOMBCLIE, FECHALTA, FECHBAJA, RECITOTA,TIPOPOLI 2 D.4.3 Actualización Se realiza a través de la sentencia UPDATE. Su sintaxis es: UPDATE SET tabla nuevos valores de los campos condiciones de actualización Si no se codifica la cláusula, se actualizan todas las filas. Actualizar Recibo Total, multiplicando por 10 los clientes de tipo A*. UPDATE SET RECITOTA = RECITOTA * 10 NUMCLIE LIKE 'A%' 1001 A001 PEREZ 010191 010192 10000 Individual 1002 A002 SANCHEZ 010191 010192 15000 Individual 2001 A003 GARCIA 010191 010192 20000 Individual 2002 B004 MARTINEZ 010192 010192 2500 Colectiva D.4.4 Borrado Se realiza a través de la sentencia DELETE. Su sintaxis es: DELETE tabla condición Pág. 15

o bien DELETE tabla DELETE * NUMCLIE LIKE 'B%' DELETE * Pág. 16

APÉNDICE D. INTRODUCCIÓN A SQL...1 D.1 INTRODUCCIÓN. CONCEPTOS PREVIOS...1 D.1.1 Base de Datos Relacional... 1 D.1.2 Tabla Relacional... 1 D.1.3 El Lenguaje... 1 D.1.3.1 Selección... 2 D.1.3.2 Proyección... 2 D.1.3.3 Join... 3 D.2 SQL. CONCEPTOS BÁSICOS...4 D.2.1 Select Básica... 4 D.2.2 Concepto de Join... 5 D.2.3 Actualizar Datos (UPDATE)... 6 D.2.4 Insertar Datos (INSERT)... 6 D.3 SQL AVANZADO...7 D.3.1 CRITERIOS DE BUSQUEDA (ORDER BY)... 7 D.3.2 OPERADORES... 8 D.3.3 EXPRESIONES... 8 D.3.4 IN y BETWEEN... 9 D.3.5 NOT...10 D.3.6 LIKE...10 D.3.7 AND y OR...11 D.3.8 JOIN...12 D.3.9 DISTINCT...12 D.4 MANTENIMIENTO DE DATOS EN LAS TABLAS...14 D.4.1 Inserción de una fila...14 D.4.1.1 Primera posibilidad...14 D.4.1.2 Segunda posibilidad...14 D.4.2 Inserción de múltiples filas...15 D.4.3 Actualización...15 D.4.4 Borrado...15 Pág. 17