Manual de introducción SQL Centro de Tecnología Informática

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Manual de introducción SQL Centro de Tecnología Informática"

Transcripción

1 Manual de introducción SQL Centro de Tecnología Informática web1.cti.unav.es/cti/manuales/intro_sql/indice.html Universidad de Navarra 1. CONCEPTO DE BASE DE DATOS 2. EL LENGUAJE DE GESTIóN DE BASES DE DATOS SQL 1. Estructura de una base de datos 2. Creación de una tabla 3. Introducción de la información 4. Búsqueda de información en una tabla 3. BúSQUEDA DE INFORMACIóN EN UNA TABLA 1. Condiciones múltiples para una búsqueda 2. Búsquedas por palabras incompletas 3. Cómo se ordena el resultado de una búsqueda 4. Cómo se evitan las líneas repetidas en un listado 4. BúSQUEDA DE INFORMACIóN EN VARIAS TABLAS: JOIN QUERY 5. EXPRESIONES ARITMéTICAS Y FUNCIONES PARA EL MANEJO DE TEXTO 1. Expresiones aritméticas 2. Funciones para el manejo de textos 6. FORMATO DE FECHA Y NúMERO 1. Formato de fecha 2. Operaciones aritméticas con fechas 7. FUNCIONES PARA EL MANEJO DE GRUPOS DE FILAS 1. Condiciones de búsqueda de un grupo de líneas: HAVING 8. SUBBúSQUEDAS O SUBQUERIES 9. MODIFICACIóN DE LA INFORMACIóN ALMACENADA 1. Actualización de datos en la tabla 2. Cómo insertar nuevos registros en una tabla 3. Borrado de registros de una tabla 10. CAMBIOS EN LA ESTRUCTURA DE UNA BASE DE DATOS 1. Cómo modificar la capacidad de los datos de una columna 11. VISTAS ALTERNATIVAS DE INFORMACIóN 1. Búsqueda de información en un view 2. Asegurar la integridad de la información en los views

2

3 CURSO 95/96 Universidad de Navarra Introducción a SQL y ORACLE Centro de Tecnología Informática Ignacio Coupeau, Cristina Pueyo y Jesús Used 21/9/95 CONCEPTO DE BASE DE DATOS El concepto básico en el almacenamiento de datos es el registro. El registro agrupa la información asociada a un elemento de un conjunto, y está compuesto por campos. Así por ejemplo, un registro correspondiente a un libro no es más que un elemento de un conjunto: biblioteca, elenco bibliográfico, etc. A su vez, ese registro contiene toda la información asociada al libro, clasificada en campos: título, autor, fecha de edición, etc. Se puede hablar de propiedades características o campos característicos, y propiedades secundarias o campos secundarios según definan o complementen el elemento representado por el registro. Por ejemplo, el registro empleados tiene los siguientes campos: DNI, Nombre, Apellidos, Edad, Población, Sueldo. Los campos DNI, Nombre y Apellidos son elementos o campos característicos. Los restantes son secundarios. Un fichero o tabla es un conjunto de registros homogéneos con la misma estructura:

4 Cuando se tienen varias tablas o ficheros con algún campo en común, entonces pueden relacionarse y constituyen una base de datos relacional: En el ejemplo anterior, puede extraerse la información relacionada en las dos tablas, por medio del campo común DNI; por ejemplo: "Buscar en la tabla los puestos de trabajo desempeñados y la antigüedad del empleado con nombre = Luis" Hasta hace un tiempo, y siempre que se deseara una base de datos especialmente diseñada, se utilizaban bases de datos con estructura jerárquica o de red, mediante anillos interconectados. La información afín está organizada en anillos (listas cíclicas), por ejemplo empresas, ciudades, trabajos... De cada anillo se pasa otro anillo de conceptos subordinados. Por ejemplo una base de datos de una empresa para su personal en varias ciudades puede ser:

5 Este tipo de bases son especialmente eficientes en búsquedas acordes con su estructura, por ejemplo: "[[questiondown]]qué ajustadores trabajan en Valencia"; pero ante otras preguntas como "[[questiondown]]cuántas personas tiene contratadas mi empresa?" la búsqueda se hace bastante más difícil. Además, las bases de datos en red y jerárquicas requieren un diseño específico ajustado a las consultas, por lo que no suele usarse ante las dificultades técnicas que plantea su desarrollo. Un ejemplo de bases de datos jerárquica, aunque no basada en anillos múltiples, sería el de una base de datos construida según la organización jerárquica de las piezas que componen un vehículo: El modelo relacional, basado en tablas, tiene en la actualidad una difusión mayor. Las búsquedas pueden ser mucho más flexibles, basadas en cualquier campo (DNI, Nombre, etc.). Para hacer búsquedas rápidas deben definirse campos índice. Los campos comunes por donde se conectan las

6 tablas deben tener un índice definido. Se conoce como gestor de bases de datos al programa de ordenador que sirve para definir, diseñar y utilizar los registros, ficheros y formularios de la base de datos. Generadores de bases de datos muy conocidos son ORACLE, SyBase, INFORMIX, FOX BASE, PARADOX, ACCESS... EL LENGUAJE DE GESTIóN DE BASES DE DATOS SQL Hasta la década de los 80, las personas que preparaban las consultas e informes de una base de datos debían ser programadores. Al aparecer las bases de datos con lenguajes de consulta sencillos y estandarizados, semejantes al lenguaje natural, el proceso de consulta puede hacerlo cualquier usuario mediante un lenguaje escrito asequible. El lenguaje de gestión de bases de datos más conocido en la actualidad es el SQL, Structured Query Language, que es un lenguaje estandar internacional, comúnmente aceptado por los fabricantes de generadores de bases de datos. En concreto, el gestor de bases de datos Oracle utiliza el lenguaje SQL. El SQL trabaja con estructura cliente/servidor sobre una red de ordenadores. El ordenador cliente es el que inicia la consulta; el ordenador servidor es que atiende esa consulta. El cliente utiliza toda su capacidad de proceso para trabajar; se limita a solicitar datos al ordenador servidor, sin depender para nada más del exterior. Estas peticiones y las respuestas son transferencias de textos que cada ordenador cliente se encarga de sacar por pantalla, presentar en informes tabulados, imprimir, guardar, etc., dejando el servidor libre. El SQL permite: * Definir una base de datos mediante tablas * Almacenar información en tablas. * Seleccionar la información que sea necesaria de la base de datos. * Realizar cambios en la información y estructura de los datos. * Combinar y calcular datos para conseguir la información necesaria. 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 dicha. El usuario accede con alguno de los programas cliente disponibles para consultar Oracle. En este manual se explica como emplear SQL para:

7 * Crear y modificar la estructura de una tabla de datos. * Seleccionar información de una tabla. * Añadir datos a una tabla. * Introducir información en una tabla. * Realizar consultas entre tablas con campos comunes. Estructura de una base de datos Una base de datos Oracle está formada por tablas. Los ejemplos de este manual se basan en las tablas de departamentos DEPT y empleados EMP de una empresa. DEPT: EMP: Creación de una tabla Antes de cualquier consulta a una base de datos debe crearse una tabla e introducir la información. En nuestro caso creamos las dos tablas que vamos a utilizar como ejemplo: CREATE TABLE DEPT (DEPTNO NUMBER(2), DNAME CHAR(14),

8 LOC CHAR (13)); El comando crear tabla (CREATE TABLE) indica al servidor Oracle que nombre queremos poner a la tabla, los nombres de las columnas de la tabla (n[[ordmasculine]] de departamento, nombre del departamento y localidad) y el tipo de información que cada columna va a contener. La columna DEPTNO tendrá información numérica (2 dígitos), DNAME tendrá 14 caracteres y LOC tendrá 13 caracteres; de este modo especificamos la longitud máxima de cualquier dato que pueda ser almacenado en las columnas de la tabla. Se procede de forma análoga con la tabla empleados EMP con el comando CREATE TABLE: CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL, ENAME CHAR(10), JOB CHAR(9), MGR NUMBER(9), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2)); En esta tabla se ha definido la columna n[[ordmasculine]] de empleado (EMPNO) como no nula, esto significa que cada campo de esa columna debe contener un valor. Esta especificación NOT NULL es un ejemplo de como ORACLE analiza los valores que se introducen en cada campo y comprueba que se cumple lo especificado. Aunque el número máximo de caracteres definido para un campo sea -por ejemplo- 14, si sólo se ocupan 4, ORACLE solo utiliza cuatro en disco. Los valores nulos no ocupan espacio. Introducción de la información Tan pronto como se ha creado la tabla, puede comenzarse a introducir líneas o registros de información mediante comando INSERT: INSERT INTO DEPT VALUES (30,'SALES','CHICAGO);

9 En este comando, primero se nombra la tabla de la base de datos en la que quieren insertarse los datos (DEPT), y a continuación la lista de valores que van a ir en cada columna (30, 'Ventas', 'Chicago') Búsqueda de información en una tabla La operación más común en una base de datos es pedir información, y se denomina búsqueda o Query. El comando Select va seguido de FROM y en ocasiones de WHERE. SELECT especifica las columnas, FROM especifica las tablas y WHERE especifica las condiciones. Si no hay condiciones de búsqueda se presentarán las columnas completas, sin restricciones. En este ejemplo, el comando Headers() especifica que el listado ponga los nombres de las columnas (DNAME, DEPTNO, LOC); PrintAll, imprime los datos. Si se quiere ver el contenido de toda la tabla EMP, puede sustituirse toda la lista de columnas por un asterisco: En los ejemplos, para facilitar la lectura, se escriben los comandos en diversas líneas, pero puede hacerse en una sola línea, por ejemplo: SELECT * FROM DEPT; Headers(); PrintAll; BúSQUEDA DE INFORMACIóN EN UNA

10 TABLA El orden en el que vemos las columnas (DNAME, DEPTNO) es en el que se ha puesto en el comando SELECT: Para seleccionar determinados registros o filas de la base de datos, debe añadirse una condición con el comando WHERE al usar SELECT... FROM: SELECT * FROM EMP WHERE DEPTNO=30; Headers(); PrintAll; obtiene todas las columnas pero de los empleados del Departamento número 30: WHERE obliga a ORACLE a buscar en la información de la tabla y mostrar solo aquellas líneas o registros que cumple la condición. Condiciones múltiples para una búsqueda A veces WHERE va seguido de más de una condición: SELECT ENAME, JOB, SAL FROM EMP WHERE JOB = 'SALESMAN' AND SAL >=100;

11 En este caso se piden los datos del nombre, trabajo, salario de aquellos empleados de la tabla cuyo empleo sea 'SALESMAN'[1] y su salario mayor o igual que 100: Para las condiciones alternativas, negativas (excluyentes) se utilizan los comandos OR, y NOT. Así por ejemplo: pide los datos de empleados con categoría manager o que su salario sea mayor que 100: El siguiente ejemplo pide un listado con los nombres, categorías y número de departamento de los empleados cuyo trabajo sea clerck (oficinista) y su departamento sea distinto[2] del 30, y su resultado es el siguiente: Mediante los comandos BEETWEEN y AND pueden pedirse datos comprendidos en un rango determinado. El ejemplo siguiente facilita los el nombre y el salario de los empleados cuyo salario esté comprendido entre 800 y 900:

12 SELECT ENAME, SAL FROM EMP WHERE SAL BETWEEN 800 AND 900; El comando IN permite seleccionar líneas cuyo campo contenga uno de los valores de una lista especificada entre paréntesis: SELECT * FROM DEPT WHERE DEPTNO IN (10,30); En este ejemplo, como la lista está compuesta por sólo 2 valores, podría haberse empleado OR para realizar la misma búsqueda: SELECT * FROM DEPT WHERE DEPTNO='10' OR DEPTNO='30'; Búsquedas por palabras incompletas Pueden seleccionarse líneas de información mediante búsquedas de palabras incompletas: buscar empleados en cuyo nombre tenga una 'R' en 3[[ordmasculine]] lugar: SELECT ENAME FROM EMP WHERE ENAME LIKE ' R%'; Headers(); PrintAll;

13 En este ejemplo se utiliza el operador LIKE de SQL. Además, mediante guiones se especifican las dos posiciones (' R%'), y el signo % indica que puede seguir cualquier cadena de caracteres. Los operadores BETWEEN, IN y LIKE, pueden ir precedidos por NOT y unidos con AND y OR, para formar una búsqueda tan completa como se necesite. Cómo se ordena el resultado de una búsqueda En todos los ejemplos hasta ahora, las líneas resultado de las búsquedas han estado en un orden aleatorio, determinado por el programa ORACLE. Puede controlarse el orden de las líneas seleccionadas añadiendo la opción ORDER BY al final de nuestro comando SELECT. Como ejemplo suponga que desea obtener una lista de los empleados que trabajan en el departamento 30 pero ordenados por su salario. Esta ordenación no está limitada a un orden ascendente o a un único criterio, así por ejemplo, pueden ordenarse los empleados por puesto de trabajo, y dentro de esta ordenación ( los trabajos) por orden de salarios: SELECT JOB,SAL,ENAME FROM EMP ORDER BY JOB,SAL DESC; Headers(); PrintAll; donde DESC indica orden descendente (de mayor a menor), y cuyo resultado es el siguiente: (11 de 28) [15/02/2003 0:09:19]

14 Cómo se evitan las líneas repetidas en un listado Supóngase que se desea obtener una lista de los trabajos en la empresa. Si se pide una columna completa SELECT JOB FROM EMP; Headers(); PrintAll; al no haber ninguna condición en nuestra búsqueda, ORACLE trae a la pantalla todos los valores de la columna trabajos. En la lista obtenida hay repeticiones que pueden eliminarse especificando DISTINCT al escribir la búsqueda: SELECT DISTINCT JOB FROM EMP; Headers(); PrintAll; BúSQUEDA DE INFORMACIóN EN VARIAS TABLAS: JOIN QUERY Hasta ahora se han efectuado búsquedas en una sola tabla, pero puede ocurrir que la información que

15 buscamos no esté almacenada en una sola tabla. Como ORACLE es una base de datos relaciona permite seleccionar información de más de una tabla y combinar los resultados en un listado. La búsqueda combinada en más de una tabla se denomina búsqueda relacional o join query. En las bases de datos jerárquicas y en anillo, las relaciones son estáticas porque están perfectamente definidas en la estructura de la base de datos desde el diseño, por lo que las consultas deben seguir ese mismo esquema. En las bases de datos relacionales como ORACLE, las relaciones son dinámicas; se establecen en el momento de la consulta, y es posible extraer información según convenga en cada caso. Por ejemplo, si se desea saber el nombre del departamento donde trabaja determinado empleado, y se intenta buscar en la tabla EMP (empleados), puede verse que no tiene columna con el nombre de departamento; sin embargo, la tabla de departamentos tiene el departamento (número y nombre). Como las dos tablas tienen una columna en común -el n[[ordmasculine]] de departamento-, es posible relacionar las dos tablas. Puede hacerse con dos búsquedas: SELECT ENAME, DEPTNO FROM EMP WHERE ENAME = 'WARD'; SELECT LOC FROM DEPT WHERE DEPTNO = 30; Pero puede llegarse al mismo resultado mediante una única búsqueda indicando la tabla y la columna separados por un punto. El ejemplo siguiente SELECT ENAME,LOC FROM EMP,DEPT WHERE ENAME='KING' AND EMP.DEPTNO =DEPT.DEPTNO; Headers(); PrintAll;

16 busca los empleados en la tabla EMP cuyo nombre es KING y utiliza el valor del código del empleado localizado para buscar en la otra tabla (DEPT) el nombre del departamento de trabajo, y busca los registros donde coinciden los valores de las columnas EMPTO y DEPTO: En el ejemplo anterior, en la tabla EMPL se busca la fila que contiene al empleado 'KING', se determina el número de departamento al que pertenece DEPTNO, y con el número de departamento, en la tabla DEPT se extrae el registro con el mismo valor de DEPTNO. La cláusula EMP.DEPTNO =DEPT.DEPTNO especifica que los registros de las tablas EMP y DEPT deben coincidir en el valor del campo o columna DEPTNO. EXPRESIONES ARITMéTICAS Y FUNCIONES PARA EL MANEJO DE TEXTO Expresiones aritméticas Para construir una expresión aritmética deben combinarse nombres de columnas y constantes numéricas con una operación aritmética. En el ejemplo siguiente

17 SELECT ENAME,SAL,COMM,SAL+COMM FROM EMP WHERE JOB='SALESMAN'; Headers(); PrintAll; se obtiene un listado con una tercera columna que es la suma de salario y comisiones. La columna de la suma no es una columna real, es decir no está almacenada en nuestra base de datos, pero se construye dinámicamente como resultado de una búsqueda, y se puede operar con la columna resultado como si se tratara de una columna real. Se adjuntan las principales funciones aritméticas: Funciones aritméticas significado + suma - resta * producto / división POWER exponenciación ROUND redondeo TRUNC trunca a entero ABS valor absoluto Funciones para el manejo de textos

18 Las funciones aritméticas nos permiten manipular información numérica, de forma parecida las funciones para manejo de texto character strings functions permiten manipular los campos que contienen texto. El ejemplo siguiente busca en la tabla EMP los registros cuyo campo ENAME suene parecido a 'SCHMIDT': SELECT ENAME FROM EMP WHERE SOUNDEX(ENAME)=SOUNDEX('SCHMIDT'); Headers(); PrintAll; Se adjuntan las principales funciones de texto: Funciones de texto significado concatena textos LENGTH mide la longitud de un texto SUBSTR corta un texto INSTR inserta un texto dentro de otro UPPER pone en mayúsculas LOWER pone en minúsculas SOUNDEX sonido de un texto FORMATO DE FECHA Y NúMERO Formato de fecha Al crear la tabla emp se definió la columna hiredate como información tipo fecha (HIREDATE DATE). El formato estándar será Día-mes-año (03-Sept-93), pero pueden utilizarse otros formatos. Para cambiar de formato, ORACLE tiene el operador TO_CHAR(nombre_de_columna name, (16 de 28) [15/02/2003 0:09:19]

19 formato). En el siguiente ejemplo se listan algunos datos de los empleados que trabajan en el Depto 30 y la fecha en formato DY DD MM YY (día de la semana, día, mes, año): SELECT ENAME,JOB, TO_CHAR(HIREDATE,'DY DD MON YYYY') HIREDATE FROM EMP WHERE DEPTNO = 20; Headers(); PrintAll; ORACLE permite una amplia variedad de formatos: Formato de fecha ejemplo estándar 22-OCT-93 DAY MONTH DD, YYYY WEDNESDAY OCTOBER 17, 1993 Day DD Mon YYYY Wed 22 Oct 1993 DY "the" ddth "of" Month YYYY Wednesday the 22nd of October 1993 Operaciones aritméticas con fechas Además de poder dar formato a la fecha, pueden realizarse operaciones aritméticas en los campos de fechas:

20 SYSDATE siempre nos da la fecha del día (fecha interna del ordenador). La expresión HIREDATE suma 4500 días a la fecha. La consulta muestra aquellos registros cuya fecha HIREDATE es de hace 4500 días. ORACLE permite: calcular días, meses o años entre fechas; calcular la última fecha del mes; calcular la fecha del día siguiente. FUNCIONES PARA EL MANEJO DE GRUPOS DE FILAS Las funciones para grupos permiten seleccionar información a partir de grupos de líneas o registros. Por ejemplo, pueden agruparse todos los empleados que pertenezcan al mismo departamento y entonces calcular el salario máximo en cada grupo de departamentos: SELECT DEPTNO,MAX(SAL) FROM EMP GROUP BY DEPTNO; Headers(); PrintAll; En una búsqueda de grupos, cada línea en el resultado de la búsqueda, corresponde a un grupo de líneas de nuestra tabla, la columna que se pone a continuación de group by es aquella por la que queremos agrupar las líneas de la tabla. En el ejemplo anterior cada línea de la tabla EMP se incluye en uno de los tres grupos, uno para cada departamento, dependiendo de su valor en el campo DEPTO: todas las líneas de su mismo grupo tienen el mismo número de departamento. Podemos combinar las funciones de grupo con las búsquedas relacionales. Además, hay tres funciones

21 que pueden utilizarse con los grupos: * SUM : Para sumar los valores de los campos, dentro de los grupos definidos por GROUP BY. * COUNT: Para contar el número de líneas que entran en cada uno de esos grupos. * AVG: Para saber la medida de los valores de campos específicos en cada grupo. El siguiente ejemplo tiene como objetivo saber cuantos empleados están trabajando en cada categoría en cada departamento, cuantos secretarios hay en el departamento de ventas y, en esos grupos, cuál es la suma y media de los salarios: SELECT DNAME,JOB,SUM(SAL), COUNT(*), AVG(SAL) FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO GROUP BY DNAME,JOB; Headers(); PrintAll; Condiciones de búsqueda de un grupo de líneas: HAVING Así como el operador WHERE se especifican las condiciones para las búsquedas con líneas individuales, con HAVING pueden especificarse las condiciones de búsqueda para grupos de líneas. Supongamos que interesa una búsqueda como la anterior, pero en la que sólo se necesita ver aquellos grupos que tengan al menos dos empleados:

22 SELECT ENAME,JOB,SUM(SAL),COUNT(*),AVG(SAL) FROM EMP WHERE EMP.DEPTNO = DEPT.DEPTNO GROUP BY DNAME,JOB HAVING COUNT(*)>=2 Headers(); PrintAll; SUBBúSQUEDAS O SUBQUERIES Supóngase, por ejemplo, que se desea obtener una lista con todos los empleados que tienen el mismo empleo que Jones; puede omitirse el empleo de Jones y ORACLE lo busca, en lo que constituiría una búsqueda subordinada o subbúsqueda: SELECT ENAME,JOB FROM EMP WHERE JOB = (SELECT JOB FROM EMP WHERE ENAME = 'KING')); ORACLE realiza las subbúsquedas antes, por que necesita el resultado de estas para las búsquedas. Como ejemplo adicional puede buscarse el empleado que gana más que la media de todos los salarios de los empleados:

23 SELECT ENAME,SAL FROM EMP WHERE SAL > (SELECT AVG(SAL) FROM EMP); Headers(); PrintAll; MODIFICACIóN DE LA INFORMACIóN ALMACENADA Como se ha visto antes, el comando SELECT permite ver un grupo de registros de una o más tablas. Con SQL también pueden añadirse o modificarse líneas: * UPDATE: Cambia valores almacenados en tablas. * INSERT: Añade líneas a una tabla. * DELETE: Borra líneas a una tabla. Actualización de datos en la tabla Si se desease subir el sueldo a todos los oficinistas, sería necesario actualizar o cambiar el valor del salario. Es decir, se debe actualizar, en la tabla de empleados, el campo de salario en aquellas líneas en que el trabajo sea oficinista. El comando UPDATE se escribe seguido por la tabla donde realizamos el cambio y para indicar la actualización, se escribe Set seguido por el cambio, y finalmente la condición (opcional) en la que se indican las líneas que se van a modificar: UPDATE EMP

24 SET SAL=SAL+100 WHERE JOB='CLERCK'; Headers(); PrintAll; un mensaje confirmará que la actualización ha tenido lugar. Cómo insertar nuevos registros en una tabla El comando INSERT se ha utilizado hasta ahora para introducir líneas de información, pero una línea cada vez. Sin embargo, puede usarse este comando para añadir un conjunto de líneas desde una tabla hacia otra. Puede hacerse esto utilizando una búsqueda para definir el conjunto de líneas que se van a insertar en la tabla. Supongamos que en nuestra base de datos tenemos una tercera tabla llamada PROMOCIóN, con algunas de las columnas de la tabla DEPT y queremos introducir en ella la información de todos los vendedores que tengan de comisión una cifra superior al 25% de su salario, copiando la información desde la tabla EMP: INSERT INTO PROMOCION (ENAME,JOB,SAL,COMM) SELECT ENAME,JOB,SAL,COMM FROM EMP WHERE COMM > 0.25 * SAL; El comando Insert utiliza una subbúsqueda. Borrado de registros de una tabla Para borrar se emplea la orden Delete y se puede utilizar con where para determinar los registros que se quieren borrar. Así por ejemplo, para borrar el departamento 40 se haría lo siguiente: DELETE FROM DEPT WHERE DEPTNO=40; Cuando ORACLE ha realizado la orden aparece 1 record deleted. Puede pedirse un listado de todos los departamentos para comprobarlo: SELECT * FROM DEPT;

25 Las condiciones para todos esos comandos demuestran como SQL emplea la misma sintaxis tanto para las búsquedas como para la manipulación de la información. En los comandos SELECT, UPDATE, INSERT y DELETE, la condición con WHERE es opcional. CAMBIOS EN LA ESTRUCTURA DE UNA BASE DE DATOS ORACLE proporciona los comandos necesarios que se necesitan para modificar la estructura de una base de datos. En esta sección utiliza SQL para: * ALTER TABLE ADD: Añadir una columna a una tabla existente. * ALTER TABLE MODIFY: Hacer una columna existente más larga. Siguiendo con los ejemplos anteriores, se va a aumentar la base de datos modelo para poder asignar empleados a proyectos de igual forma que hay empleados asignados a departamentos. Se trata en definitiva de crear una nueva tabla y practicar los comandos ALTER TABLE en su diseño. El cambio en la estructura de la base de datos exige varios pasos. Primero, con el comando CREATE, hay que añadir la tabla proyectos a la base de datos: CREATE TABLE PROJ (PROJNO NUMBER(3) NOT NULL, PNAME CHAR(5), BUDGET NUMBER(7,2)); En segundo lugar, con el comando INSERT, se introducen algunas líneas: que son los proyectos en curso dentro de la empresa. Los datos introducidos en la nueva tabla, pueden examinarse con el comando SELECT actuando sobre la nueva tabla proyectos (PROJ): SELECT * FROM PROJ;

26 Headers(); PrintAll; Finalmente para que puedan hacerse búsquedas relacionales sobre las tablas PROY y EMP, debe añadirse una columna a EMP denominada número de proyecto (PROJNO), para que las tablas tengan alguna columna en común. Con este fin se utiliza el comando ALTER TABLE: ALTER TABLE EMP ADD (PROJNO NUMBER(3)); A este comando se le indica el nombre de la tabla a modificar, la columna que se quiere añadir, y el tipo de información y su longitud máxima. Ahora puede seleccionarse la tabla EMP y ver que en cada línea hay un campo más. SELECT * FROM EMP; Headers(); PrintAll; Como ejemplo del comando UPDATE, van a asignarse todos los empleados del Depto 20 y todos los vendedores al proyecto 101: UPDATE EMP SET PROJNO=101 WHERE DEPTNO =20 OR JOB='SALESMAN' 9 records updated. Puede consultarse la tabla para confirmar la actualización:

27 Para completar el ejemplo, se asignan el resto de empleados -los que no tienen proyecto asociado- al proyecto 102: UPDATE EMP SET PROJNO=102 WHERE PROJNO IS NULL; 5 records updated La actualización de las líneas con el número de proyecto, completa la modificación de la base de datos ejemplo y permite relacionar los empleados con los proyectos como antes se hacía con los departamentos. Es posible, ahora que las tablas tienen un campo común, el número de proyecto, hacer búsquedas relacionales: SELECT ENAME,JOB,DEPTNO,PNAME

28 FROM EMP,PROJ WHERE EMP.PROJNO = PROJ.PROJNO; Headers(); PrintAll; Cómo modificar la capacidad de los datos de una columna En la definición de la tabla de datos se asigna a cada columna una capacidad (2, 14, 13): CREATE TABLE DEPT (DEPTNO NUMBER(2), DNAME CHAR(14), LOC CHAR (13)); Pero puede plantearse en un momento dado, cambiar el ancho o capacidad de una columna. En el ejemplo siguiente, al intentar actualizar una columna con el valor , el SQL notifica un error debido a que esa columna sólo tiene capacidad para 7 dígitos incluyendo la coma y los dos decimales (7,2). Se necesita modificar la definición de la columna budget, manteniendo el tipo de información que contiene pero haciéndola más ancha: ALTER TABLE PROJ MODIFY BUDGET NUMBER(8,2); y aparece: 1 record updated. Una vez modificada la capacidad, la orden

29 se procesa correctamente. VISTAS ALTERNATIVAS DE INFORMACIóN ORACLE permite diseñar y almacenar presentaciones alternativos para un conjunto de información dentro de la base de datos. Las presentaciones o vistas (views) son tablas virtuales, como ventanas, a través de las cuales, vemos información almacenada en la base de datos. Los views no contienen información propia, pero puede operarse con ellas como si fueran tablas reales. La utilización de views tiene tres ventajas: * Simplifica el acceso a la información. * Independencia de la información. * Privacidad de la información. Como ejemplo va a crearse un view como un subconjunto de la tabla completa, que nos muestre solamente algunas columnas de algunos empleados (los del Dpto n[[ordmasculine]] 10). CREATE VIEW asigna un nombre al view y define su contenido en forma de una búsqueda. Búsqueda de información en un view Puede utilizarse un view como si de una tabla se tratase. Para recuperar la información agrupada en un view se procese con el comando SELECT:

30 Asegurar la integridad de la información en los views Cuando hemos creado el view con la cláusula WITH CHECK OPTION, Oracle asegura que toda la información que se añada a la tabla cumplirá la condición con la que se creó, WHERE DEPTNO='10'. Si intentamos introducir un empleado del dpto 20: da un error que indica que ese dato es incompatible con las condiciones de construcción del view.

CAPITULO II Base de datos. Tipos de base de datos. Comandos y consultas. Tipos de bases de datos Comandos y consultas O B J E T I V O S

CAPITULO II Base de datos. Tipos de base de datos. Comandos y consultas. Tipos de bases de datos Comandos y consultas O B J E T I V O S BASE DE DATOS TIPOS DE BASES DE DATOS CONSULTAS Y SUB CONSULTAS EN SQL SERVER 2005 2 Tipos de bases de Comandos y consultas C O N T E N I D O 1. El Lenguaje de Gestión de Datos 2. Creación de una tabla

Más detalles

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

Unidad. Lenguaje SQL. (Structured Query Language)

Unidad. Lenguaje SQL. (Structured Query Language) Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio

Más detalles

Tutorial de SQL - El comando SELECT

Tutorial de SQL - El comando SELECT Tutorial de SQL - El comando SELECT El objetivo de este documento es guiar su aprendizaje del comando SELECT de SQL. La idea es que, estando conectado a sql*plus, lea este material mientras ejercita simultáneamente

Más detalles

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I Boletín de Problemas de la Asignatura II18 Bases de Datos Ingeniería Informática Universitat Jaume I Ingeniería Informática. Universitat Jaume I II18 - Bases de Datos. Práctica 1 Práctica 1 Objetivos de

Más detalles

Tema 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

Más detalles

Ejercicios SQL - Select TutorialesNET Versión 1.0 - Revisión 1 25 de julio de 2015

Ejercicios SQL - Select TutorialesNET Versión 1.0 - Revisión 1 25 de julio de 2015 Ejercicios SQL - Select TutorialesNET Versión 1.0 - Revisión 1 25 de julio de 2015 Manoel Antón Folgueira Hernández manoel@tutorialesnet.net http://tutorialesnet.net Página 1 de 13 Índice 1. Introducción

Más detalles

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

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) 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 relacionales que permite

Más detalles

Bases de Datos I Práctica 1 Ejercicios de SQL

Bases de Datos I Práctica 1 Ejercicios de SQL Bases de Datos I Práctica 1 Ejercicios de SQL Curso 2005-2006 1. Descripción del modelo de datos El modelo de datos que se usará para las consultas está reflejado en el siguiente modelo E-R. Transformado

Más detalles

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

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

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

Más detalles

Bases de datos: Sistemas de bases de datos:

Bases de datos: Sistemas de bases de datos: Bases de datos: Sistemas de bases de datos: Un sistema de bases de datos es básicamente un sistema para archivar en computador, es decir, es un sistema computarizado cuyo propósito general es mantener

Más detalles

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia: TRABAJANDO CON SQL*PLUS El objetivo de este tema es simplemente, hacer una revisión de los conceptos avanzados de SQL, para ello, empezaremos por ver como se accede a SQL*PLUS y como crear usuarios, para

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1 TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1. Definición de SQL. Características 2. Selección del origen de los datos. Cláusula FROM 3. Selección de columnas. Columnas calculadas 4.

Más detalles

3. El catálogo 26. Laboratorio de Bases de Datos

3. El catálogo 26. Laboratorio de Bases de Datos ÍNDICE Continuación SQL Índice 1. Continuación del SQL como DML (Lenguaje de Manipulación de Datos) 1 1.1. Inserción de datos................................. 1 1.2. Borrado de datos..................................

Más detalles

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

Más detalles

El lenguaje SQL es un lenguaje estándar para el acceso y

El lenguaje SQL es un lenguaje estándar para el acceso y 1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

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

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar / S Q Lenguaje de Consulta Estructurado L Wael Najjar / Wael Stephenson Najjar / Prieto Stephenson Prieto Contenido Parte I El Lenguaje de Consulta Estructurado. Lo que se puede hacer. Lenguaje Estandarizado.

Más detalles

ADMINISTRACION DE BASES DE DATOS EN ORACLE

ADMINISTRACION DE BASES DE DATOS EN ORACLE SQL LENGUAJE ESTRUCTURADO DE CONSULTA El nacimiento del lenguaje SQL data de 1970 cuando E. F. Codd publica su libro: "Un modelo de datos relacional para grandes bancos de datos compartidos". Ese libro

Más detalles

Creación y Gestión de Tablas. Copyright Oracle Corporation, 1998. All rights reserved.

Creación y Gestión de Tablas. Copyright Oracle Corporation, 1998. All rights reserved. 10 Creación y Gestión de Tablas Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir los principales objetos

Más detalles

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

Ampliación de Bases de Datos Práctica 1: El lenguaje PL/SQL de Oracle Sesión 1: Introducción al PL/SQL

Ampliación de Bases de Datos Práctica 1: El lenguaje PL/SQL de Oracle Sesión 1: Introducción al PL/SQL Ampliación de Bases de Datos Práctica 1: El lenguaje PL/SQL de Oracle Sesión 1: Introducción al PL/SQL Dado el siguiente esquema relacional y su definición en Oracle que se encuentra definida en vuestro

Más detalles

Práctica 1. 1. Obtener el código y el doble del precio de los artículos cuyo precio es inferior a 5 céntimos de euro.

Práctica 1. 1. Obtener el código y el doble del precio de los artículos cuyo precio es inferior a 5 céntimos de euro. Práctica 1 Objetivos de aprendizaje: Funcionamiento de la sentencia select y sus cláusulas select, from y where. Uso del modificador distinct. Expresiones en las cláusulas select y where. Ejercicios: 1.

Más detalles

Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved.

Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved. 11 Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir constraints Crear y mantener

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por:

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por: Oracle básico (II): Creación y manejo de tablas Con el artículo anterior iniciamos una entrega de Oracle Básico comenzando con el tema de creación y manejo de tablas. Ahora pasaremos a estudiar la consulta

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

Más detalles

Bases de datos. 1. Introducción

Bases de datos. 1. Introducción Bases de datos 1. Introducción Habitualmente, los programas trabajan con información que está en un fichero. Por ejemplo, nuestro simulador de tráfico aéreo trabaja con una lista de planes de vuelo que

Más detalles

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

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

SERVICIO NACIONAL DE APRENDIZAJE SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

Más detalles

Grupo Kybele, http://www.kybele.es/ Pág. 1

Grupo Kybele, http://www.kybele.es/ Pág. 1 Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

UNIDAD DE TRABAJO 2: BASES DE DATOS RELACIONALES

UNIDAD DE TRABAJO 2: BASES DE DATOS RELACIONALES UNIDAD DE TRABAJO 2: BASES DE DATOS RELACIONALES TEMA 6: CONSULTAS (parte 3) 6.21. INTRODUCCIÓN En este tercer tema sobre consultas veremos: Revisaremos las subconsultas, comenzando con una introducción

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

Vistas en postgresql

Vistas en postgresql Vistas en postgresql Conceptos y definición de Vista Los usuarios que acceden a una base de datos relacional, lo hacen típicamente a través de vistas, de modo que diferentes usuarios tienen diferentes

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera)

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera) SQL Lenguaje de Consulta Estructurado Curso básico de SQL (Leire Urcola Carrera) Indice de contenidos Introducción Consultas de Selección Criterios de Selección Agrupamiento de Registros y funciones agregadas

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN. Tema 3: Interrogación y explotación de datos. Leire Aldaz, Begoña Eguía y Leire Urcola

MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN. Tema 3: Interrogación y explotación de datos. Leire Aldaz, Begoña Eguía y Leire Urcola MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN Leire Aldaz, Begoña Eguía y Leire Urcola Índice del tema Introducción al lenguajes SQL Consultas en lenguaje SQL y QBE Predicados y funciones INTRODUCCIÓN

Más detalles

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

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

1.264 Tema 7. Introducción a SQL

1.264 Tema 7. Introducción a SQL 1.264 Tema 7 Introducción a SQL Lenguaje de consulta estructurado (SQL) Tema 7: SELECT, INSERT, DELETE y UPDATE. Relaciones. Tema 8: Subconsultas. Vistas (tablas virtuales). Indexados. Transacciones. Seguridad.

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL MENDOZA DEPARTAMENTO DE INGENIERÍA EN SISTEMAS DE INFORMACIÓN CÁTEDRA DE GESTIÓN DE DATOS 3º AÑO TRABAJO ESPECIAL Secuencia Didáctica de Comandos del

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 -

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 - Tecnología de la Información y la Comunicación Base de datos Consultas - 2007 - Profesores del área Informática: Guillermo Storti Gladys Ríos Gabriel Campodónico Consultas Se utilizan consultas para ver,

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

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

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede

Más detalles

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva INDICE Prólogo XXIII Por qué este libro es para usted XXVII Primera Parte. Panorámica general de SQL 1 1. Introducción 3 El lenguaje SQL 3 El papel de SQL 6 Características y beneficios de SQL 7 Independencia

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

Más detalles

PARTE I LENGUAJE SQL. GESTION DE DATOS

PARTE I LENGUAJE SQL. GESTION DE DATOS PARTE I LENGUAJE SQL. GESTION DE DATOS Tema 1. EL LENGUAJE DE GESTIÓN DE BASES DE DATOS... 3 1 Bases de datos... 3 1.1 - Lenguaje de gestión de bases de datos... 3 1.2 - Qué es una Base de Datos?... 3

Más detalles

SQL básico. SQL básico http://idesweb.es/ 1. Contenido

SQL básico. SQL básico http://idesweb.es/ 1. Contenido SQL básico http://idesweb.es/ 1 SQL básico El presente documento no tiene más aspiraciones que servir de recordatorio mínimo para las órdenes más básicas y en su mínima expresión. No es un manual de SQL

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

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

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

Más detalles

INSTITUTO DE EDUCACIÓN TÉCNICA PROFESIONAL INTEP 1 T.P. SISTEMAS E INFORMATICA

INSTITUTO DE EDUCACIÓN TÉCNICA PROFESIONAL INTEP 1 T.P. SISTEMAS E INFORMATICA INSTITUTO DE EDUCACIÓN TÉCNICA PROFESIONAL INTEP 1 GUIA BASICA DE SQL SQL (Structured Query Language): Aspectos básicos 1 Terminología SQL Structured Query Language o Lenguaje de Consultas Estructurado.

Más detalles

Tema: Uso de sentencias SQL

Tema: Uso de sentencias SQL Base de datos I. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Uso de sentencias SQL Objetivo Modificar, eliminar e insertar registros en una tabla Listar los registros

Más detalles

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

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles

Qué es una subconsulta?.

Qué es una subconsulta?. Tema 5. SUBCONSULTAS. Autora: Maria Teresa Miñana Qué es una subconsulta?. Una subconsulta en SQL consiste en utilizar los resultados de una consulta dentro de otra, que se considera la principal. Esta

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

Bases de datos relacionales y el modelo entidad-relación

Bases de datos relacionales y el modelo entidad-relación Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas

Más detalles

PRÁCTICA B2. Definición y modificación de datos en SQL

PRÁCTICA B2. Definición y modificación de datos en SQL 3º Ingeniero Técnico en Informática de Sistemas Facultad de Informática Asignatura: Fundamentos de Bases de Datos Curso: 2007/08 PRÁCTICA B2. Definición y modificación de datos en SQL Objetivos Construir

Más detalles

SQL SQL. Índice. Componentes. Objetivos

SQL SQL. Índice. Componentes. Objetivos Estándar En 1986, ANSI (American National Standard Institute) definión un estándar para (Structured Query Language) que fue posteriormente adoptado en 1987 como estándar internacional por ISO (International

Más detalles

Introducción a SQL sobre Oracle

Introducción a SQL sobre Oracle Laboratorio de Bases de Datos Introducción a SQL sobre Oracle Luis A. González Ares Contenido Lenguaje SQL sobre Oracle. Descripción de las características y elementos fundamentales del lenguaje. Ejercicios

Más detalles

Introducción a las bases de datos.

Introducción a las bases de datos. Introducción a las BBDD 1 Centro de Referencia Linux UAM-IBM Introducción a las bases de datos. Carmen B. Navarrete Navarrete carmen_navarrete@telefonica.net Introducción a las BBDD 2 Qué vamos a ver?

Más detalles

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014 Bases de Datos Documentales Curso 2013/2014 Miguel Ángel Rodríguez Luaces Laboratorio de Bases de Datos Universidade da Coruña El proceso de diseño El último día... Los problemas de no utilizar un SGBD:

Más detalles

Guía práctica de SQL

Guía práctica de SQL Guía práctica de SQL Francisco Charte Ojeda Agradecimientos Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS Cómo usar este libro Convenciones tipográficas 1. El modelo relacional

Más detalles

PRÁCTICA III. DISPARADORES EN SQL (II)

PRÁCTICA III. DISPARADORES EN SQL (II) PRÁCTICA III. DISPARADORES EN SQL (II) MODELOS AVANZADOS DE BASES DE DATOS CURSO 2000/2001 Objetivo Conocer mejor los disparadores en SQL. Se verá uno de los principales inconvenientes que se presentan

Más detalles

APÉNDICE SQL (Structures Query Language)

APÉNDICE SQL (Structures Query Language) SQL 1 / 7 APÉNDICE SQL (Structures Query Language) SQL se ha establecido como lenguaje de bases de datos relacionales estándar, y se pueden distinguir tres partes: DDL (Data Definition Language) permite

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

Más detalles

6 - Recuperar algunos registros (where)

6 - Recuperar algunos registros (where) 6 - Recuperar algunos registros (where) Hemos aprendido a seleccionar algunos campos de una tabla. También es posible recuperar algunos registros. Existe una cláusula, "where" con la cual podemos especificar

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Repaso de Conceptos Básicos de Bases de Datos

Repaso de Conceptos Básicos de Bases de Datos escuela técnica superior de ingeniería informática Repaso de Conceptos Básicos de Bases de Datos Departamento de Lenguajes Grupo de Ingeniería del Software Septiembre 2004 Definición Una base de datos

Más detalles

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

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 SQL + Procedural La mayoría de los DBMS actuales permiten extensiones de SQL para la creación de bloques

Más detalles

Lenguaje SQL Página 1 -PARTE III-...3 TEMA 8. CREACIÓN DE VISTAS:...3. Vistas: qué son y para qué sirven?...3. Creación de vistas...

Lenguaje SQL Página 1 -PARTE III-...3 TEMA 8. CREACIÓN DE VISTAS:...3. Vistas: qué son y para qué sirven?...3. Creación de vistas... Lenguaje SQL Página 1 -PARTE III-...3 TEMA 8. CREACIÓN DE VISTAS:...3 Vistas: qué son y para qué sirven?...3 Creación de vistas...4 Tipos de vistas...7 Vistas con filtro de filas y de columnas...7 Agrupaciones...7

Más detalles

Tema: Disparadores Parte I.

Tema: Disparadores Parte I. Base de datos I. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Disparadores Parte I. Objetivo Utilizar la sintaxis de un disparador en SQL Server Implementar transacciones

Más detalles

SQL (Structured Query Language)- DML

SQL (Structured Query Language)- DML SQL (Structured Query Language)- DML Data Manipulation Language: Data Definition Language: Control Commands: Authorization Commands: SELECT, UPDATE, INSERT, DELETE CREATE: TABLE, INDEX, VIEW DROP: TABLE,

Más detalles

Qué es una base de datos?

Qué es una base de datos? Qué es una base de datos? Una base de datos es un conjunto de datos organizados en filas y columnas. Access 2010 es una base de datos relacional, con lo que aún estando los datos guardados en tablas diferentes

Más detalles

BASES DE DATOS RELACIONALES Microsoft Access

BASES DE DATOS RELACIONALES Microsoft Access BASES DE DATOS RELACIONALES Microsoft Access Primeros Conceptos Bases de datos Muchas empresas e instituciones manejan grandes volúmenes de información, con la que, de forma resumida, hace las siguientes

Más detalles

TEMA 20: CONCEPTOS BÁSICOS DE SQL

TEMA 20: CONCEPTOS BÁSICOS DE SQL TEMA 20: CONCEPTOS BÁSICOS DE SQL OBJETIVOS DEL TEMA Introducción al lenguaje de consultas SQL. Para iniciar esta parte del curso se va a utilizar el programa SQLITE que es sencillo, multiplataforma y

Más detalles

Bases de Datos - 2006. SQL - Ejemplos

Bases de Datos - 2006. SQL - Ejemplos Bases de Datos - 2006 SQL - Ejemplos Consideramos la siguiente base de datos relacional: persona(dni,primer-nombre,apellido) biblioteca(nombre-biblioteca,calle,número) libro(título,isbn,editorial,edición)

Más detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

SQL. Orígenes y Evolución

SQL. Orígenes y Evolución SQL 1 SQL. Orígenes y Evolución 2 SQL: Estándar oficial 3 Funciones de SQL DDL Data Definition Language Creación n de estructuras de la base de datos Integridad de los datos DML Data Manipulation Language

Más detalles

Subconsultas. Copyright Oracle Corporation, 1997. All rights reserved.

Subconsultas. Copyright Oracle Corporation, 1997. All rights reserved. 6 Subconsultas Copyright Oracle Corporation, 1997. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir los tipos de problemas que las subconsultas

Más detalles

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL Página 1 de 28 es un estandar para accesar y manejar bases de datos Este tutorial te va a mostrar como manejar bases de datos en My, Server, MS Access, Oracle, Sybase, DB2 y otras bases de datos Que es?

Más detalles

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

Más detalles

Gobierno del Estado de México

Gobierno del Estado de México Gobierno del Estado de México Escuela Preparatoria Oficial No. 82 José Revueltas Hay que alcanzar la exaltación verdadera, para lograrlo, hay que ser serenos, sin prisas, estudiar, trabajar y disciplinarse

Más detalles

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles