El lenguaje SQL
|
|
- Natividad Juárez Carrasco
- hace 7 años
- Vistas:
Transcripción
1 El lenguaje SQL
2 Índice 1. INTRODUCCIÓN Qué es SQL? Estado actual y futuro del SQL 2. SINTÁXIS BÁSICA DEL SQL Lenguaje de Definición de Datos Definición del esquema Evolución del esquema Lenguaje de Manipulación de Datos Actualizaciones Consultas Lenguaje de Control de Datos Recuperación y concurrencia Seguridad y confidencialidad 3. EJERCICIOS 4. BIBLIOGRAFIA
3 1. Introducción QUÉ ES SQL? Structured Query Language Evolución de SEQUEL de IBM para prototipo System R LENGUAJE DE: * Definición * Manipulación - Consulta interactiva - Programación * Control OPERA CON CONJUNTOS DE REGISTROS LENGUAJE RELACIONAL y DECLARATIVO
4 1. Introducción Estado actual y futuro del SQL SQL:2003, actual estándar: capacidades de Orientación al Objeto (SQL:1999) capacidades multicolecciones y XML
5 1. Introducción SQL: Multisets, BigInt XML SQL:1999 SQL Intersección de implementaciones existentes SQL 89 SQL 92 + IEF Integridad Referencial básica + Mejor tratamiento de restricciones Sintaxis de dominios Tablas temporales Nuevos tipos de datos L. manipulac. esquema Combinación externa SQL dinámico... + Disparadores L. procedimental... Orientación al Objeto TAD Encapsulamiento Jerarquías Herencia IDO...
6 2. Sintaxis Básica del SQL-92 La Arquitectura ANSI/X3/SPARC NIVEL EXTERNO ESQUEMA EXTERNO 1 ESQUEMA EXTERNO n NIVEL CONCEPTUAL/ LÓGICO GLOBAL NIVEL INTERNO Correspondencia Externa/Conceptual ESQUEMA CONCEPTUAL Correspondencia Conceptual/Interna ESQUEMA INTERNO DATOS ALMACENADOS
7 2. Sintaxis Básica del SQL-92 Lenguaje de Definición de Datos - LDD Nivel lógico global Nivel externo Nivel físico Definición del esquema CREATE DOMAIN CREATE TABLE CREATE ASSERTION CREATE VIEW CREATE INDEX Evolución del esquema ALTER DOMAIN ALTER TABLE DROP DOMAIN DROP TABLE DROP ASSERTION DROP VIEW DROP INDEX
8 2. Sintaxis Básica del SQL-92 Lenguaje de Manipulación de Datos - LMD Actualizaciones Altas Bajas Modificaciones INSERT INTO... DELETE FROM... UPDATE... Consultas SELECT...
9 2. Sintaxis Básica del SQL-92 Lenguaje de Control de Datos - LCD Recuperación y control de concurrencia COMMIT ROLLBACK Seguridad y protección GRANT REVOKE
10 2. Sintaxis Básica del SQL-92 EJEMPLO: ALUMNO (num_mat, nombre, ciudad, cod_grupo) GRUPO (cod_grupo, curso, turno) Modificación: Cascada Borrado: Puesta a nulos
11 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos Tipos de datos del SQL-92: CHARACTER [VARYING] (n) BIT [VARYING] (n) NUMERIC (p,s) DECIMAL (p,s) INTEGER SMALLINT REAL DOUBLE PRECISION FLOAT (p) DATE TIME TIMESTAMP INTERVAL
12 LDD: Definición del esquema Nivel lógico global 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos DOMINIOS: Sintaxis <definición de dominio> ::= CREATE DOMAIN <nombre de dominio> [ AS ] <tipo de datos> [ DEFAULT <opción por defecto> ] [ <restricción de dominio> ] <restricción de dominio> ::= [ <definición de nombre de restricción> ] < definición de restricción de verificación> [ <atributos de restricción> ] literal, función de valor tiempo o fecha, o bien USER, SYSTEM USER o NULL <definición de nombre de restricción> ::= CONSTRAINT <nombre de restricción> <definición de restricción de verificación> ::= CHECK ( <condición>)
13 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global DOMINIOS: ORACLE no soporta la creación de dominios! CREATE DOMAIN nomb_valido AS CHARACTER; CREATE DOMAIN nota_valida NUMERIC CHECK (VALUE BETWEEN 0 AND 10); CREATE DOMAIN turno_valido CHARACTER DEFAULT M CONSTRAINT Mañana_o_Tarde CHECK (VALUE IN ( M, T ));
14 <atributos de restricción> ::= Tiempo de acción de una restricción: Los atributos de restricción, sirven para indicar si la restricción es inmediata o diferida. Modo de verificación es inmediato: la restricción se verificará al finalizar cada sentencia Modo de verificación diferido: se verificará al finalizar la transacción. <tiempo de verificación de restricción> [ [NOT] DEFERRABLE] [[NOT]DEFERRABLE] <tiempo de verificación de restricción> 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos <tiempo de verificación de restricción> ::= INITIALLY DEFERRED INITIALLY INMEDIATE NOT NULL DEPARTAMENTO (num_dep, localidad,, jefe_dep) NOT NULL EMPLEADO (cod_emp, nombre,, departamento)
15 2.1 Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global TABLAS: Sintaxis (I) <definición de tabla> ::= CREATE [TEMPORARY ] TABLE <nombre de tabla> <lista de elementos de tabla> <lista de elementos de tabla> ::= (<elemento de tabla> [{<coma> <elemento de tabla>}... ] ) <elemento de tabla> ::= <definición de columna> <definición de restricción de tabla> 2. Sintaxis Básica del SQL-92 <definición de columna> ::= <nombre de columna> { <tipo de datos> <nombre de dominio>} [ <claúsula de defecto> ] [ <definición de restricción de columna>... ] <definición de restricción de columna> ::= [ <definición de nombre de restricción> ] <restricción de columna> [ <atributos de restricción> ]
16 2.1 Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global TABLAS: Sintaxis (II) 2. Sintaxis Básica del SQL-92 <<restricción de columna> ::= NOT NULL <especificación de unicidad> <especificación de referencia> <definición de restricción de verificación> <definición de restricción de tabla> ::= [ <nombre de definición de restricción> ] <restricción de tabla> [ <atributos de restricción> ] <restricción de tabla> ::= <definición de restricción de unicidad> <definición de restricción referencial> <definición de restricción de verificación> <definición de restricción de unicidad> ::= <especificación de unicidad> <parent. izq.> <lista de columnas únicas> <parent. dcho.> <especificación de unicidad> ::= UNIQUE PRIMARY KEY <lista de columnas únicas> ::= <lista de nombre de columnas>
17 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global TABLAS: Sintaxis (III) <definición de restricción referencial> ::= FOREIGN KEY <parent. izq.> <columnas que ref.> <parent. dcho.> <especificación de la referencia> <especificación de la referencia> ::= REFERENCES <columnas y tabla referenciadas> [ <acción referencial disparada> ] <columnas que ref.> ::= <lista de columnas de referencia> <columnas y tabla referenciadas> ::= <nombre de tabla> [ <parent. izq.> <lista de columnas de referencia> <parent. dcho.> ] <lista de columnas de referencia> ::= <lista de nombres de columnas> <acción referencial disparada> ::= <regla de modificación> [ <regla de borrado> ] <regla de borrado> [regla de modificación] <regla de modificación> ::= ON UPDATE <acción referencial> <regla de borrado> ::= ON DELETE <acción referencial> <acción referencial> ::= CASCADE SET NULL SET DEFAULT
18 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos EJEMPLO: ALUMNO (num_mat, nombre, ciudad, cod_grupo) GRUPO (cod_grupo, curso, turno) Modificación: Cascada Borrado: Puesta a nulos
19 2.1 Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global 2. Sintaxis Básica del SQL-92 TABLAS: CREATE TABLE grupo (cod_grupo CHARACTER, curso CHARACTER NOT NULL, turno TURNO_VALIDO, PRIMARY KEY (cod_grupo), CHECK (curso > 0 AND curso < 4 ) ); ó CREATE TABLE grupo (cod_grupo CHARACTER PRIMARY KEY, curso CHARACTER NOT NULL, turno TURNO_VALIDO, CHECK (curso > 0 AND curso < 4 ) );
20 2.1 Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global 2. Sintaxis Básica del SQL-92 CREATE TABLE alumno ( num_mat CHARACTER, nombre NOMB_VALIDO UNIQUE, ciudad CHARACTER NOT NULL, cod_grupo CHARACTER, PRIMARY KEY (num_mat), FOREIGN KEY (cod_grupo) REFERENCES grupo ON UPDATE CASCADE ON DELETE SET NULL);
21 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global INTEGRIDAD REFERENCIAL ON DELETE CASCADE SET NULL SET DEFAULT NO ACTION ON UPDATE CASCADE SET NULL SET DEFAULT NO ACTION Por defecto: borrado y actualización restringidos ORACLE no soporta ON UPDATE ni ON DELETE SET DEFAULT!
22 2. Sintaxis Básica del SQL-92 ESQUEMA: 2.1 Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global Alumno num_mat nombre ciudad cod_grupo Grupo cod_grupo curso turno
23 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global Para ver la estructura de una tabla en ORACLE: DESC nombre_tabla; SQL> desc alumno; Nombre Nulo? Tipo NUM_MAT NOT NULL CHAR(3) NOMBRE VARCHAR2(20) CIUDAD NOT NULL CHAR(25) COD_GRUPO CHAR(3) SQL> desc grupo; Nombre Nulo? Tipo COD_GRUPO NOT NULL CHAR(3) CURSO NOT NULL CHAR(1) TURNO CHAR(1)
24 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos LDD: Definición del esquema Nivel lógico global ASERCIONES: ORACLE no soporta la creación de aserciones! Todos los alumnos de Madrid tienen que estar matriculados en el turno de tarde. CREATE ASSERTION madrid_tarde CHECK (NOT EXISTS (SELECT * FROM ALUMNO, GRUPO WHERE alumno.cod_grupo=grupo.cod_grupo AND alumno.ciudad= MADRID AND grupo.turno<> T ));
25 LDD: Definición del esquema Nivel externo VISTAS: CREATE VIEW nombre_de_vista [(lista de columnas)] AS <claúsula SELECT> 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos CREATE VIEW alumnos_madrid AS (SELECT * FROM alumno WHERE ciudad= Madrid );
26 LDD: Definición del esquema Nivel físico 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos ÍNDICES: o CREATE INDEX ind_alumno ON alumno (ciudad, cod_grupo); CREATE UNIQUE INDEX ind_alumno ON alumno (ciudad, cod_grupo);
27 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos LDD: Evolución del esquema Nivel lógico global Borrar el nombre (atributo) de los alumnos: ALTER TABLE alumno DROP COLUMN nombre; Añadir el precio (atributo) que cada alumno paga al matricularse: ALTER TABLE alumno ADD (precio INTEGER); DROP DOMAIN turno_valido; DROP TABLE alumno; DROP ASSERTION ciudad_turno;
28 LDD: Evolución del esquema Nivel externo 2. Sintaxis Básica del SQL Lenguaje de Definición de Datos DROP VIEW alumnos_madrid; LDD: Evolución del esquema Nivel físico DROP INDEX ind_alumno;
29 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Actualizaciones Altas INSERT INTO <nombre_tabla> [(lista_columnas)] VALUES (lista_columnas_inserción); INSERT INTO grupo VALUES ( I11, 1, DEFAULT); Todas las columnas de la tabla y en el mismo orden INSERT INTO grupo (curso, cod_grupo) VALUES ( 2, I12 ); Clave primaria tiene que estar incluida GRUPO cod_grupo curso turno I11 1 M I12 2 M
30 LMD: Actualizaciones Altas 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos INSERT INTO GRUPO_M SELECT * FROM Grupo WHERE turno='m'; GRUPO_M cod_grupo curso turno I11 1 M I12 2 M
31 LMD: Actualizaciones Altas 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos INSERT INTO GRUPO_Curso (Codigo, Turno) SELECT cod_grupo, turno FROM Grupo WHERE curso= 1 ; GRUPO_Curso Codigo I11 Turno M
32 2. Sintaxis Básica del SQL-92 Alumno: 2.2 Lenguaje de Manipulación de Datos LMD: Actualizaciones Altas num_mat nombre ciudad cod_grupo precio 1 Juan Madrid I Ana Leganés I María Leganés I Pedro Getafe I Salomé Madrid I Grupo: cod_grupo curso turno I11 I12 I13 I21 I22 I M M M T T T
33 LMD: Actualizaciones Bajas 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos DELETE FROM grupo; cod_grupo curso turno DELETE FROM grupo WHERE curso= 1 ; cod_grupo curso turno I12 I13 I22 I M M T T
34 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Actualizaciones Modificaciones Alumno: UPDATE alumno SET cod_grupo= I22 WHERE nombre> Pérez ; num_mat nombre ciudad cod_grupo precio 1 Juan Madrid I Ana Leganés I María Leganés I Pedro Getafe I Salomé Madrid I I21
35 LMD: Consultas 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos SELECT [ALL DISTINCT] {lista-atributos *} FROM nombre_tabla [, nombre_tabla, ] [WHERE condición] [cláusula GROUP BY] [cláusula HAVING] [cláusula ORDER BY];
36 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 De qué tabla/s se selecciona la información SELECT * FROM alumno; Todos los atributos de la tabla en el orden de su creación Todos los atributos de la tabla ALUMNO (todas las tuplas). num_mat nombre ciudad cod_grupo precio 1 Juan Madrid I Ana Leganés I María Leganés I Pedro Getafe I Salomé Madrid I
37 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 Proyección SELECT nombre, ciudad FROM alumno Selección de los atributos nombre y ciudad de la tabla ALUMNO. nombre Juan Ana María Pedro Salomé ciudad Madrid Leganés Leganés Getafe Madrid
38 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas ALL: valor que se asume por omisión DISTINCT: Eliminación de duplicados SELECT ciudad FROM alumno; ciudad Madrid Leganés Leganés Getafe Madrid SELECT DISTINCT ciudad FROM alumno; ciudad Getafe Leganés Madrid Proyección???? Proyección!!! π ciudad Alumno
39 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Por omisión: ASC Valores nulos los más altos ORDER BY {lista_columnas lista_posiciones} [DESC ASC ] Columna/s debe/n estar incluida/s en la cláusula SELECT Posición: nº de orden de la columna dentro de la lista de columnas seleccionadas (izda a dcha)
40 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 SELECT ciudad FROM alumno ORDER BY ciudad ASC; ciudad debe estar incluida en la cláusula SELECT ciudad Getafe Leganés Leganés Madrid Madrid
41 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 1 SELECT nombre, precio*0.10 FROM alumno ORDER BY 2, nombre; 2 Ordenación por una columna calculada y por nombre nombre PEDRO 2000 JUAN 2500 SALOME 2500 MARIA 3000 ANA 8000 precio*0.10
42 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Selección SELECT * FROM alumno WHERE cod_grupo= I21 ; σ cod_grupo= I21 Alumno Condición: combinación de una o más expresiones (usando operadores lógicos) que da como resultado: CIERTO, FALSO o DESCONOCIDO num_mat nombre ciudad cod_grupo precio 3 Ana Leganés I Pedro Getafe I
43 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Predicados OPERADORES DE COMPARACIÓN: igual ( = ), distinto ( <> ), menor que ( < ), mayor que ( > ), menor o igual a ( <= ) y mayor o igual a ( >= ) ( No hay espacio entre los símbolos) OPERADORES ARITMÉTICOS: Suma ( + ), resta ( - ), multiplicación ( * ) y división ( / ) OPERADORES LÓGICOS: AND, OR y NOT SELECT * FROM Alumno WHERE precio >20000 AND (ciudad = MADRID OR ciudad= GETAFE ); SELECT * FROM Alumno WHERE precio >20000 AND ciudad = MADRID OR ciudad= GETAFE ; VALORES NULOS (desconocido): IS [NOT] NULL SELECT * FROM Alumno WHERE ciudad IS NULL; SELECT * FROM Alumno WHERE cod_grupo IS NOT NULL; Primero condiciones con AND y luego OR 1º 2º
44 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas RANGO DE VALORES: BETWEEN AND SELECT * FROM Alumno WHERE precio BETWEEN AND 25000; SELECT * FROM Alumno WHERE precio NOT BETWEEN AND 25000; ~ SELECT * FROM Alumno WHERE NOT (precio BETWEEN AND 25000); OPERADOR LIKE: Se emplea para comparar el contenido de una columna con una serie de caracteres. Caracteres comodín: Subrayado (_): sustituye a un carácter en la misma posición Tanto por ciento (%): sustituye a n caracteres, donde n puede ser 0. SELECT * FROM Alumno WHERE nombre LIKE _E%O : OPERADOR IN: Permite comprobar si un valor pertenece a un conjunto de valores determinados. expresión IN (lista de valores) SELECT * FROM Alumno WHERE ciudad IN ( BARCELONA, MADRID ): ~ SELECT * FROM ALUMNO WHERE ciudad = BARCELONA OR ciudad= MADRID ; SELECT * FROM Alumno WHERE ciudad NOT IN ( BARCELONA, MADRID ):
45 A 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 Ejemplos: SELECT * FROM Documento WHERE Titulo LIKE '%DB%'; TIPO COD DOC TITULO IDIOMA NOMBRE AÑO ISBN L 002 INTRODUCTION TO DBS I ADDISON-WESLEY X L 004 RELATIONAL DB I ADDISON-WESLEY X SELECT * FROM Documento WHERE Isbn IS NULL; SELECT Titulo, Idioma, Nombre_E, Año FROM Documento WHERE Año BETWEEN 1976 AND 1993;
46 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Funciones de Agrupación Cuenta líneas incluyendo NULOS Máximo Mínimo SELECT COUNT(*) FROM alumno WHERE precio=25000 SELECT MAX(precio) FROM alumno SELECT MIN(precio) FROM alumno COUNT(*) 2 MAX(precio) MIN(precio) Promedio SELECT AVG(precio) * 0.1 FROM alumno AVG(precio)* Suma SELECT SUM(precio) FROM alumno SUM(precio)
47 Alumno: LMD: Actualizaciones Altas 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos num_mat nombre ciudad cod_grupo precio 1 Juan Madrid I Ana Leganés I María Leganés I Pedro Getafe I Salomé Madrid I Grupo: cod_grupo curso turno I11 I12 I13 I21 I22 I M M M T T T
48 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Cláusulas de Agrupación SELECT ciudad, AVG(precio) FROM alumno GROUP BY ciudad ciudad MADRID LEGANÉS GETAFE AVG(precio) SELECT ciudad, AVG(precio) FROM alumno WHERE num_mat<5 GROUP BY ciudad ciudad MADRID LEGANÉS GETAFE AVG(precio) SELECT ciudad, AVG(precio) FROM alumno WHERE num_mat<5 GROUP BY ciudad HAVING AVG(precio)>20000 ciudad MADRID LEGANÉS AVG(precio)
49 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 ORDEN DE EJECUCIÓN: 1º) FROM 2º) WHERE 3º) GROUP BY 4º) HAVING 5º) SELECT 6º) ORDER BY WHERE: la condición se aplica a todas las filas de la tabla HAVING: es una condición del grupo
50 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas EDITORIAL CODIGO NOMBRE DIRECCION CIUDAD 001 RAMA CARRETERA DE CANILLAS 144 MADRID 002 ADDISON-WESLEY SUNSET ST. 4 READING 003 McGRAW-HILL 181 AVENUE NEW YORK 004 PARANINFO SOL 3 MADRID 005 ANAYA GOYA 8 MADRID LIBRERIA CODIGO NOMBRE DIRECCION CIUDAD 001 RAMA CARRETERA DE CANILLAS 144 MADRID 002 ADDISON-WESLEY SUNSET ST. 4 READING 004 PARANINFO SOL 3 MADRID EDITORIAL - LIBRERIA SELECT* FROM Editorial EXCEPT SELECT * FROM Librería; CODIGO NOMBRE DIRECCION CIUDAD 003 McGRAW-HILL 181 AVENUE NEW YORK 005 ANAYA GOYA 8 MADRID Diferencia
51 A PROYECTOS 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos TITULO IDIOMA AÑO MIMO E 1996 ENEAS E 1996 HERACLITO I 1995 DOCUMENTO TIPO COD_DOC TITULO IDIOMA NOMBRE_E AÑO ISBN L 001 CONCEPCION BD E RAMA S L 002 AN INTRODUCTION DBS I ADDISON-WESLEY X L 003 A GUIDE TO SQL I ADDISON-WESLEY I L 004 RELATIONAL DB I ADDISON-WESLEY X L 005 ANALISIS SI E RAMA I L 006 ANALISIS DE SI E ANAYA I L 007 COMPILADORES E PARANINFO I A 001 ER MODEL I A 002 RELATIONAL MODEL I A 003 LENGUAJE SQL3 E A 004 SQL3 TRADEOFFS I A 005 BASES DE DATOS E
52 A 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos Unión SELECT * FROM Proyectos UNION CORRESPONDING (titulo, idioma, año) SELECT * FROM Documento; PROYECTOS UNION DOCUMENTO TITULO IDIOMA AÑO CONCEPCION Y DISEÑO DE BD E 1993 AN INTRODUCTION TO DATABSE SYSTEMS I 1995 A GUIDE TOSQL STANDARD I 1996 RELATIONAL DATABASE : SELECTED WRITINGS I 1995 ANALISIS Y DISEÑO DE APLICACIONES E 1996 ANALISIS DE SI E 1993 COMPILADORES E INTERPRETES E 1992 ENTITY RELATIONSHIP MODEL I 1976 THE RELATIONAL MODEL I 1970 LENGUAJE SQL3 E 1995 SQL3 TRADEOFFS I 1995 BASES DE DATOS E 1996 MIMO E 1996 ENEAS E 1996 HERACLITO I 1995
53 A 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Producto Cartesiano SQL-89 SELECT Documento.*, Editorial.* FROM Documento, Editorial; SQL-92 SELECT * FROM Documento CROSS JOIN Editorial; SELECT * FROM Documento, Editorial; TIPO COD_DOC TITULO IDIOMA NOMBRE_E AÑO ISBN COD NOMBRE_E DIR CIUDAD L 001 CONCEPCION BD E RAMA S 001 RAMA CTRA CANILLAS 144 MADRID L 002 INTRODUCTION DBS I ADDISON X 002 ADDISON SUNSET 4 READING L 003 A GUIDE TO SQL I ADDISON I 003 Mc GRAW 181 AV NEW YORK L 004 RELATIONAL DB I ADDISON X 004 PARANINFO SOL 3 MADRID
54 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Combinación SELECT alumno.nombre, alumno.ciudad, grupo.curso FROM alumno, grupo WHERE (alumno.cod_grupo=grupo.cod_grupo) nombre ciudad curso Juan Ana María Pedro Salomé Madrid Leganés Leganés Getafe Madrid
55 A 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Combinación Natural SQL-89 SELECT Documento.*, Codigo, Dir, Ciudad FROM Documento, Editorial WHERE Documento.Nombre_E = Editorial.Nombre; SQL-92 SELECT * FROM Documento NATURAL JOIN Editorial ON Documento.Nombre_E = Editorial.Nombre; Si las dos columnas que representan nombre de editorial (Documento.Nombre_E y Editorial.Nombre) se llamaran igual: SELECT * FROM Documento NATURAL JOIN Editorial; TIPO COD_DOC TITULO IDIOMA NOMBRE_E AÑO ISBN CODIG DIRECCION CIUDAD O L 001 CONCEPCION BD E RAMA S 001 CTRA CANILLAS 144 MADRID L 002 INTRODUCTION DBS I ADDISON X 002 SUNSET ST. 4 READING L 003 A GUIDE TO SQL I ADDISON I 002 SUNSET ST. 4 READING L 004 RELATIONAL DB I ADDISON X 002 SUNSET ST. 4 READING L 005 ANALISIS SI E RAMA I 001 CTRA CANILLAS 144 MADRID L 006 ANALISIS DE SI E ANAYA I 005 GOYA 8 MADRID Belén L Vela COMPILADORES E PARANINFO I 004 SOL 3 MADRID
56 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Combinación SELECT alumno.nombre, alumno.ciudad, grupo.curso FROM alumno NATURAL JOIN grupo WHERE turno= M ; SELECT nombre, ciudad, curso FROM alumno A, grupo G WHERE (A.cod_grupo=G.cod_grupo) AND (G.turno= M ) ALIAS nombre ciudad curso Juan Madrid 1
57 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos Alumno: num_mat nombre ciudad cod_grupo precio 1 Juan Madrid I Ana Leganés I María Leganés I Pedro Getafe I Salomé Madrid I Grupo: cod_grupo curso turno I11 I12 I13 I21 I22 I M M M T T T
58 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 Combinación SELECT G.curso, G.cod_grupo, A.nombre FROM alumno A, grupo G WHERE (A.cod_grupo=G.cod_grupo) G.curso G.cod_grupo I11 I21 I22 I21 I22 A.nombre Juan Ana María Pedro Salomé Queremos obtener los grupos y los alumnos matriculados en los mismos. I12, I13, I23??? Se pierden.
59 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 Combinación externa SELECT G.curso, G.cod_grupo, A.nombre FROM alumno A, grupo G WHERE (G.cod_grupo = A.cod_grupo(+ )) G.curso G.cod_grupo A.nombre I11 I12 I13 I21 I21 I22 I22 I23 Juan Ana Pedro María Salomé Combinación externa derecha
60 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Combinación Externa Izquierda SELECT * FROM Documento LEFT OUTER JOIN Editorial ON Documento.Nombre_E = Editorial.Nombre; TIPO COD_DOC TITULO IDIOMA NOMBRE_E AÑO ISBN CODIGO NOMBRE_E DIR CIUDAD L 001 CONCEPCION BD E RAMA S 001 RAMA CTRA. CANILLAS, 144 MADRID L 002 AN INTRODUCTION DBS I ADDISON-WESLEY X 002 ADDISON SUNSET ST,. 4 READING L 003 A GUIDE TO SQL I ADDISON-WESLEY I 002 ADDISON SUNSET ST,. 4 READING L 004 RELATIONAL DB I ADDISON-WESLEY X 002 ADDISON SUNSET ST., 4 READING L 005 ANALISIS SI E RAMA I 001 RAMA CTRA. CANILLAS, 4 MADRID L 006 ANALISIS DE SI E ANAYA I 005 ANAYA GOYA, 8 MADRID L 007 COMPILADORES E PARANINFO I 004 PARANINFO SOL, 3 MADRID A 001 ER MODEL I A 002 RELATIONAL MODEL I A 003 LENGUAJE SQL3 E A 004 SQL3 TRADEOFFS I A 005 BASES DE DATOS E
61 2.2 Lenguaje de Manipulación de Datos LMD: Consultas Combinación Externa Derecha 2. Sintaxis Básica del SQL-92 SELECT * FROM Documento RIGHT OUTER JOIN Editorial ON Documento.Nombre_E = Editorial.Nombre; TIPO COD_DOC TITULO IDIOMA NOMBRE_E AÑO ISBN CODIGO NOMBRE_E DIR CIUDAD L 001 CONCEPCION BD E RAMA S 001 RAMA CTRA. CANILLAS, 144 MADRID L 002 AN INTRODUCTION DBS I ADDISON-WESLEY X 002 ADDISON SUNSET ST,. 4 READING L 003 A GUIDE TO SQL I ADDISON-WESLEY I 002 ADDISON SUNSET ST,. 4 READING L 004 RELATIONAL DB I ADDISON-WESLEY X 002 ADDISON SUNSET ST., 4 READING L 005 ANALISIS SI E RAMA I 001 RAMA CTRA. CANILLAS, 4 MADRID L 006 ANALISIS DE SI E ANAYA I 005 ANAYA GOYA, 8 MADRID L 007 COMPILADORES E PARANINFO I 004 PARANINFO SOL, 3 MADRID 003 Mc GRAW 181 AVENUE NEW YORK --
62 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Combinación Externa Completa SELECT * FROM Documento FULL OUTER JOIN Editorial ON Documento.Nombre_E = Editorial.Nombre; TIPO COD_DOC TITULO IDIOMA NOMBRE_E AÑO ISBN CODIGO NOMBRE_E DIR CIUDAD L 001 CONCEPCION BD E RAMA S 001 RAMA CTRA. CANILLAS, 144 MADRID L 002 AN INTRODUCTION DBS I ADDISON-WESLEY X 002 ADDISON SUNSET ST,. 4 READING L 003 A GUIDE TO SQL I ADDISON-WESLEY I 002 ADDISON SUNSET ST,. 4 READING L 004 RELATIONAL DB I ADDISON-WESLEY X 002 ADDISON SUNSET ST., 4 READING L 005 ANALISIS SI E RAMA I 001 RAMA CTRA. CANILLAS, 4 MADRID L 006 ANALISIS DE SI E ANAYA I 005 ANAYA GOYA, 8 MADRID L 007 COMPILADORES E PARANINFO I 004 PARANINFO SOL, 3 MADRID A 001 ER MODEL I A 002 RELATIONAL MODEL I A 003 LENGUAJE SQL3 E A 004 SQL3 TRADEOFFS I A 005 BASES DE DATOS E Belén --Vela Mc GRAW 181 AVENUE NEW YORK
63 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 Consultas anidadas SELECT * FROM alumno WHERE cod_grupo IN (SELECT cod_grupo FROM grupo WHERE curso= 1 ) num_mat nombre ciudad cod_grupo precio 1 Juan Madrid I Ana Leganés I Pedro Getafe I
64 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Predicados PREDICADO ALL: ALL significa que la comparación de la expresión con el resultado de la subconsulta será CIERTA si lo es para todos los valores devueltos por la subconsulta; es decir, la condición se satisface cuando la comparación es CIERTA para TODOS los valores devueltos por la subconsulta. Obtener los alumnos que paguen menos matrícula que todos los demás alumnos. SELECT * FROM Alumno a WHERE precio < ALL (SELECT precio FROM ALUMNO aa WHERE a.num-mat<>aa.num-mat): PREDICADOS ANY o SOME (sinónimos): ANY significa que la comparación de la expresión con el resultado de la subconsulta será CIERTA si lo es para uno de los valores devueltos por la subconsulta; es decir, la condición se satisface cuando la comparación es CIERTA para AL MENOS UNO de los valores devueltos por la subconsulta. Obtener los alumnos que paguen más que alguno de los alumnos de MADRID. SELECT * FROM Alumno WHERE precio > ANY (SELECT precio FROM ALUMNO WHERE ciudad= MADRID ):
65 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos LMD: Consultas Predicados PREDICADO EXISTS: La condición EXISTS será CIERTA si la subconsulta devuelve una fila que satisfaga las condiciones impuestas en la cláusula WHERE (se puede expresar con el operador IN). Obtener los alumnos que estén matriculados en algún grupo. SELECT * FROM Alumno a WHERE EXISTS (SELECT * FROM GRUPO g WHERE a.cod_grupo=g.cod_grupo);
66 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 Ejemplo de vistas CREATE VIEW alumnos_madrid AS (SELECT * FROM alumno WHERE ciudad= Madrid ); SELECT * FROM alumnos_madrid; Alumnos_madrid num_mat nombre ciudad cod_grupo precio 1 Juan Madrid I Salomé Madrid I
67 2. Sintaxis Básica del SQL Lenguaje de Manipulación de Datos SQL Embebido Sección de Declaración de Variables Cuerpo Sección de Tratamiento de Excepciones Sentencia del lenguaje anfitrión EXEC SQL BEGIN DECLARE SECTION; Año Date; ISBN Char(12);... EXEC SQL END DECLARE SECTION; Sentencia del lenguaje anfitrión Sentencia del lenguaje anfitrión EXEC SQL SELECT Año INTO :Año FROM DOCUMENTO WHERE ISBN = :ISBN; IF SQLSTATE = Sentencia del lenguaje anfitrión Sentencia del lenguaje anfitrión WHENEVER SQLERROR NOT FOUND... CONTINUE GOTO <objetivo>... Sentencia del lenguaje anfitrión
68 2.2 Lenguaje de Manipulación de Datos LMD: Consultas 2. Sintaxis Básica del SQL-92 Declaración de Cursor DECLARE cursor_e CURSOR FOR SELECT Código, Nombre, Dir, Ciudad FROM Editorial ORDER BY Ciudad DESC;
69 2.2 Lenguaje de Manipulación de Datos LMD: Consultas SQL Dinámico 2. Sintaxis Básica del SQL-92 SELECT Nombre, Dirección FROM Editorial WHERE Ciudad =?;
70 2. Sintaxis Básica del SQL Lenguaje de Control de Datos Lenguaje de Control de Datos Recuperación y control de concurrencia COMMIT ROLLBACK Seguridad y protección GRANT REVOKE
71 3. Ejercicios 1. Dada la siguiente relación: PERSONA (DNI, nombre, ciudad, salario, profesión, fecha_nac, jubilado) a) Crear el dominio Tipo_Jubilado. Puede tomar los valores SI, NO y por defecto tomará el valor NO. b) Crear la tabla PERSONA, siendo el atributo DNI la clave primaria, el atributo nombre una clave alternativa y el atributo jubilado tomará los valores del dominio Tipo_Jubilado previamente creado. c) Insertar las siguientes tuplas en la tabla: DNI nombre ciudad salario profesión fecha-nac jubilado Juan Madrid 1500 informático 01/05/1972 NO María Barcelona 1800 informático 05/06/1980 NO Pedro Valencia 1200 administrativo 31/05/1940 SI Isabel Madrid 1600 informático 22/03/1974 NO Antonio Barcelona 1000 administrativo 15/08/1935 SI
72 3. Ejercicios Realizar las siguientes operaciones de manipulación: d) Incrementar en un 5% el salario de los informáticos. e) Decrementar en un 2% el salario de los que viven en Madrid. f) Modificar el nombre de la persona con DNI= por Juan Antonio. g) Todos los jubilados pasan a ganar 100 Euros más. h) Borrar todas las personas de Madrid que hayan nacido antes del 1940.
73 3. Ejercicios Realizar las siguientes consultas: i) Obtener todas las personas ordenadas descendentemente por nombre. j) Obtener el sueldo medio de las personas de Madrid agrupadas por profesiones. k) Obtener el sueldo medio de las personas de Madrid agrupadas por profesiones siempre que el sueldo medio por profesión supere los 1000 euros y ordenado por profesión.
74 3. Ejercicios 2. Dado el siguiente esquema relacional: EMPLEADO (NSS, Nombre, Apellidos, NSS_Supervisor, Fecha_Nac, Dirección Sexo, Núm_Dep, Salario) PROYECTO (Cod_P, Nombre_P, Lugar_P, Núm_Dep) DEPARTAMENTO (Número_D, Nombre_D, NSS_Gerente) FAMILIAR (NSSE, Nombre, Sexo, Parentesco) TRABAJA_EN (NSS_E, Cod_Proy, Horas)
75 3. Ejercicios 1. Obtener todas las combinaciones de empleados y departamentos. 2. Obtener todas las combinaciones de NSS de empleados y nombres de departamento. 3. Seleccionar el salario de cada uno de los empleados. 4. Seleccionar los distintos salarios que cobran los empleados. 5. Obtener todos los empleados del departamento Seleccionar los empleados del departamento de Investigación y la información de este departamento. 7. Nombre y apellidos de los empleados de Móstoles. 8. Nombre y apellidos de los empleados que vivan en una ciudad que empiece por M y termine por les. 9. Nombre del departamento, nombre y apellidos de los empleados ordenados descendentemente por nombre de departamento y ascendentemente por apellidos. 10. NSS de los empleados del departamento 1, 2 o Nombre y apellidos de los empleados que tengan un salario desconocido. 12. Nombre y apellidos de los empleados junto con el nombre y apellidos de su supervisor. 13. Obtener el total de los salarios, el salario máximo, el salario mínimo y la media del salario de todos los empleados. 14. Obtener el total de los salarios, el salario máximo, el salario mínimo y la media del salario de los empleados del departamento de Investigación. 15. Número de empleados que tiene el departamento de Investigación. 16. Número de salarios diferentes en la empresa.
76 3. Ejercicios 17. Seleccionar los NSS de los empleados que trabajan en el mismo proyecto y con las mismas horas de trabajo que el empleado con NSS= 28/ NSS, nombre y apellidos de los empleados que no tienen familiares dependientes de él. 19. Nombre y apellidos de los empleados que tengan 2 o más familiares a su cargo. 20. Por cada departamento que tenga más de 5 empleados, obtener el nombre de departamento y el número de empleados que ganan más de 3000 euros. 21. Nombre y apellidos de los empleados que tengan un salario mayor que cualquiera de los empleados del departamento Nombre y apellidos de los empleados que tienen familiares que tienen el mismo nombre y sexo que él. (select anidada, combinación y exists) 23. Nombre de todos los empleados que trabajan en todos los proyectos del departamento Lista de todos los códigos de los proyectos en los que participa un empleado que se apellide Silvano bien como trabajador o como gerente del departamento al que pertenece el proyecto.
77 4. Bibliografía Tecnología y Diseño de Bases de Datos M.Piattini, E. Marcos, C.Calero y B. Vela Ed.: RA-MA, 2006 Octubre Parte II, capítulo 8 Fundamentos y Modelos de Bases de Datos A. de Miguel y M. Piattini Ed.: RA-MA, 1997 Capítulo 7 (Pág ) y Apéndice A (Pág ) Introducción al SQL para Usuarios y Programadores Rivero, E. et al. Ed.: Thomson, Segunda Edición, 2003 Diseño de Bases de Datos. Problemas Resueltos. A. de Miguel et al. Ed.: RA-MA, 2001 hhttp://
TEMA 9. EL LENGUAJE SQL
TEMA 9. EL LENGUAJE SQL Índice 1. INTRODUCCIÓN q 1.1.- Qué es SQL? q 1.2.- Estado actual y futuro del SQL 2. SINTÁXIS BÁSICA DEL SQL-92 q 2.1.- Lenguaje de Definición de Datos 2.1.1.- Definición del esquema
Más detallesEl lenguaje SQL
www.kybele.es El lenguaje SQL Índice 1. INTRODUCCIÓN 1.1.- Qué es SQL? 1.2.- Estado actual y futuro del SQL 2. SINTÁXIS BÁSICA DEL SQL-92 2.1.- Lenguaje de Definición de Datos 2.1.1.- Definición del esquema
Más detallesEl 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 detallesSINTAXIS 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 detallesAmbos conjuntos son completamente distintos: propósito, acciones,... L M D. datos
4. Lenguaje SQL Instrucciones del Lenguaje SQL: divididas en dos tipos para la definición de los objetos: Lenguaje de Definición de Datos para el manejo de la información: Lenguaje de Manipulación de Datos
Más detallesTipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo
SQL. DDL (Data Definition Language) BASES DE DATOS (I.T.I. Gestión) Tipo boolean character Bit Numéricos Tipos de datos en SQL Declaración estándar Declaración en ORACLE BOOLEAN CHAR (longitud) char(longitud),
Más detallesIntroducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT
Introducción Objetivos I-2 Objetivos del Curso I-3 Oracle11g - 12cI-5 Oracle Database 11g - 12cI-6 Oracle Application Server 11g - 12cI-7 Oracle Enterprise Manager 11g - 12cGrid Control I-8 Sistema de
Más detallesModulo I: Introducción Gestores de Bases De Datos
Modulo I: Introducción Gestores de Bases De Datos El SQL El SQL (Lenguaje de Consulta Estructurado Structure Query Language), es un lenguaje de consulta estructurado establecido claramente como el lenguaje
Más detallesÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1
ÍNDICE Introducción... XI Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 Características y novedades de Access 2010... 1 Comienzo rápido del trabajo y seguimiento de la información...
Más detallesEl SQL es un lenguaje estándar de programación para el acceso a bases de datos.
El SQL es un lenguaje estándar de programación para el acceso a bases de datos. El lenguaje SQL se utiliza para acceder y manipular datos en cualquier base de datos del mercado, como por ejemplo, para
Más detallesBases de Datos 1. Teórico: Structured Query Language
Bases de Datos 1 Teórico: Structured Query Language Historia Los orígenes del SQL están ligados a los orígenes de las bases de datos relacionales Estandarizado por ANSI en 1986 (SQL-86) Hubieron varias
Más detallesSQL: Lenguaje de Interrogación Estructurado
SQL: Lenguaje de Interrogación Estructurado SQL Es el lenguaje para Bases de Datos Relacionales más usado Es un lenguaje declarativo: QUÉ no CÓMO El núcleo fundamental se basa en el Algebra Relacional,
Más detallesBases de datos. Lenguajes de consulta. SQL básico
Bases de datos Lenguajes de consulta SQL básico SQL Structured Query Language Lenguaje de consulta estructurado Lenguaje declarativo de alto nivel Lenguaje estándar para los SGBD relacionales comerciales
Más detallesCERTIFICADO DE PROFESIONALIDAD IFCD0112
CERTIFICADO DE PROFESIONALIDAD IFCD0112 PROGRAMACIÓN CON LENGUAJES ORIENTADOS A OBJETOS Y BASES DE DATOS RELACIONALES UF 1476 DEFINICIÓN Y MANIPULACIÓN DE DATOS PROGRAMACIÓN DIDÁCTICA UF 1476: Definición
Más detallesSQL Sintaxis. Ejemplo de Alumno, Curso, Profesor. Esquemas de Alumno, Curso, Profesor. Andrés Moreno S.
SQL Sintaxis Andrés Moreno S. 1 Ejemplo de Alumno, Curso, Profesor RutAlumno Nombre Apellido Carrera Alumno Apellido2 Créditos SiglaCurso Toma Curso Dicta NomProfesor Profesor ApellidoP Apellido2P NombreCurso
Más detallesIntroducción a SQL (DDL)
Introducción a SQL (DDL) Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2012 Introducción a SQL Objetivos de este tema
Más detallesPráctica 3: El lenguaje SQL (2ª parte). (6ª sesión).
Práctica 3: El lenguaje SQL (2ª parte). (6ª sesión). Programa de prácticas: Práctica 1. Introducción al uso de una BD relacional (ACCESS). Práctica 2. Representación de la realidad en el modelo relacional
Más detallesDepartamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla. Bases de Datos SQL
Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es
Más detallesBases 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 detallesGUÍ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
Página 1 de 6 GUIA N 7 COMANDOS MYSQL I. CREAR, SELECCIONAR, VISUALIZAR 1. CREAR BASE DE DATOS CREATE DATABASE Nombre_Base_Datos; 2. VER LISTADO DE BASES DE DATOS SHOW DATABASES; 3. USAR UNA BASE DE DATOS
Más detalles1 2 3 ( /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0)))
! !! # ! 1 2 3 ( 1 2 3. /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0))) 4 2 5! 4 /! 4 # 2 / # %! # ( # %! #!! # %! #! )! & ,,, #./ 0 + . 4 # 4. 0! 2! ) 3! 1 ,! 2 % % 7 0! 2 % &! ) 3! 56 %&! #! 55 ( ) 58 ( )
Más detallesSQL Sintaxis. OpenOffice. Ejemplo de Alumno, Curso, Profesor. Ejemplo de Alumno, Curso, Profesor. Andrés Moreno S. Nombre. Apellido. RutAlumno.
SQL Sintaxis OpenOffice Andrés Moreno S. 1 Ejemplo de Alumno, Curso, Profesor RutAlumno Carrera Nombre Alumno Apellido Apellido2 Créditos SiglaCurso Toma Curso Dicta NomProfesor Profesor ApellidoP Apellido2P
Más detallesÍNDICE INTRODUCCIÓN...17
ÍNDICE INTRODUCCIÓN...17 CAPÍTULO 1. ORACLE 11g Y EL GRID COMPUTING...19 1.1 CONCEPTO DE GRID COMPUTING...19 1.2 ORACLE GRID COMPUTING...20 1.2.1 Almacenamiento eficiente de la información...21 1.2.2 Utilización
Más detallesPráctica 3: Lenguaje SQL 2ª Parte: Definición de datos. Objetivos
Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos Objetivos Presentar la sintaxis de creación de tablas Diferencia con SQL/92 Presentar la sintaxis de la modificación de definición de una tabla Presentar
Más detallesStructured 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 detallesGUÍ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
Página 1 de 6 GUIA N 5 LINEA DE COMANDOS MYSQL I. CREAR, SELECCIONAR, VISUALIZAR 1. CREAR BASE DE DATOS CREATE DATABASE Nombre_Base_Datos; 2. VER LISTADO DE BASES DE DATOS SHOW DATABASES; 3. USAR UNA BASE
Más detallesClase 4: SQL DDL DML Consultas Simples y Multitablas. BASE DE DATOS FAC.DE INGENIERIA - UNJu
Clase 4: SQL DDL DML Consultas Simples y Multitablas BASE DE DATOS FAC.DE INGENIERIA - UNJu SQL (Structured query language) Es un lenguaje de consulta estructurado, surgido de un proyecto de investigación
Más detallesSQL. Amparo López Gaona. México, D.F. Noviembre 2003
Amparo López Gaona México, D.F. Noviembre 2003 Introducción El lenguaje SQL (Structured Query Language) es el lenguaje estándar para trabajo con bases de datos relacionales. Permite la definición, acceso
Más detallesSQL. Structured Query Language
SQL 2. Historia Structured Query Language Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Introducción 2. Historia Objetivos de este tema Conocer la historia Conocer
Más detallesFUNDAMENTOS ORACLE 12C
FUNDAMENTOS ORACLE 12C Introducción a Oracle Fundamentos 12c Aprende a programar en SQL con la base de datos más poderosa del mercado. Diseña y modela bases de datos corporativas utilizando las herramientas
Más detallesTEMA 4.. CONSULTA DE DATOS I.
TEMA 4.. CONSULTA DE DATOS I. 4.1 El lenguaje DML (Lenguaje de manipulación de datos) Las sentencias DML(Data Manipulation Language) del lenguaje SQL (Structured Query Language o Lenguaje de peticiones
Más detallesUNIVERSIDADE DE VIGO ESCOLA TÉCNICA SUPERIOR DE ENXEÑEIROS DE MINAS MÉTODOS COMPUTACIONALES. Transparencias
UNIVERSIDADE DE VIGO ESCOLA TÉCNICA SUPERIOR DE ENXEÑEIROS DE MINAS MÉTODOS COMPUTACIONALES Transparencias Índice de la asignatura Niveles de abstracción en una base de datos Funciones de un Sistema Gestor
Más detallesTema 5. Lenguaje de Definición de Datos
Tema 5 Lenguaje de Definición de Datos Índice Tema 5 1. Creación de tablas. Restricciones 2. Consultas de creación de tablas. 3. Modificación de la estructura de una tabla. 4. Borrado de tablas. 5. Creación
Más detallesRESUMEN DEL LENGUAJE SQL
RESUMEN DEL LENGUAJE SQL AUTORÍA JOSEFA PÉREZ DOMINGUEZ TEMÁTICA INFORMATICA ETAPA CICLO FORMATIVO DE GRADO SUPERIOR Y MEDIO DE INFORMATICA Resumen Con esta publicación muestra un resumen de la sintaxis
Más detallesTema 1. Introducción a MySQL. José Muñoz Jimeno Octubre 2015
Tema 1. Introducción a MySQL José Muñoz Jimeno Octubre 2015 Control de cambios Versión Fecha Comentarios 1.0 21/05/2015 Primera versión para el curso Introducción a la administración de MySQL en el COITCV
Más detallesSQL Básico. José Muñoz Jimeno Febrero 2015
SQL Básico José Muñoz Jimeno Febrero 2015 Control de cambios Version Fecha Comentarios 1.0 13/02/2015 Primera versión para el curso Introducción a las bases de datos con MySQL en el COITCV La última versión
Más detallesOracle Database 12c SQL and PLSQL Fundamentals
Oracle Database 12c SQL and PLSQL Fundamentals DESCRIPCION MODULOS DE CAPACITACION Introducción Información general sobre 12c de base de datos Oracle y productos afines Descripción de los conceptos y la
Más detallesOracle Fundamentos. Programa de Estudio.
Oracle Fundamentos Programa de Estudio Oracle Fundamentos Aprende a programar en SQL con la base de datos más poderosa del mercado. Diseña y modela bases de datos corporativas utilizando las herramientas
Más detallesOracle Fundamentos. Programa de Estudio.
Oracle Fundamentos Programa de Estudio Oracle Fundamentos Aprende a programar en SQL con la base de datos más poderosa del mercado. Diseña y modela bases de datos corporativas utilizando las herramientas
Más detallesOperadores. Además se pueden emplear en sentencias SET.
Operadores MySQL dispone de multitud de operadores diferentes para cada uno de los tipos de columna. Esos operadores se utilizan para construir expresiones que se usan en cláusulas ORDER BY y HAVING de
Más detallesSQL Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición)
Introducción 1. Un poco de historia 2. Las normas SQL 3. Descripción rápida del modelo relacional 3.1 Principales conceptos del modelo relacional 3.2 Principales reglas 4. El álgebra relacional 4.1 Aspectos
Más detallesLenguaje SQL (2ª Parte) Definición de datos
Lenguaje SQL (2ª Parte) Definición de datos Bases de Datos Práctica 3 DSIC - UPV Facultad de Informática Escuela Técnica Superior de Informática Aplicada Objetivos Sintaxis del Lenguaje de Definición de
Más detallesDiseño de bases de datos
Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es
Más detallesGuía práctica SQL. (c) Francisco Charte Ojeda
Guía práctica SQL Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS (c) Francisco Charte Ojeda Cómo usar este libro Convenciones tipográficas 1. El modelo relacional 1.1. Introducción
Más detallesEl Modelo Relacional - Dinámica-
El Modelo Relacional - Dinámica- Diseño de Bases de Datos y Seguridad de la Información www.kybele.es Índice 1. Introducción 2. Álgebra Relacional 2.1. Operación de Asignación y Renombrado de Atributos
Más detallesÍNDICE. Introducción... XVII. Capítulo 1. Oracle 10g y el Grid Computing... 1
ÍNDICE Introducción... XVII Capítulo 1. Oracle 10g y el Grid Computing... 1 Necesidad del Grid Computing... 1 Concepto de Grid Computing... 4 Oracle Grid Computing... 5 Almacenamiento eficiente de información...
Más detallesIntroducción a SQL 14/11/2012. Introducción a SQL
Introducción a SQL 14/11/2012 Introducción a SQL Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2012 Introducción a
Más detallesBases de Datos Relacionales y SQL: Una Introducción
1 Bases de Datos Relacionales y SQL: Una Introducción Protein Design Group, CNB CSIC 2 Sumario Qué es un SGBDR? Usuarios de base de datos Tablas: creación y definición de restricciones Manipulación de
Más detallesTablas -SQL Curso Bases de Datos. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS
Tablas -SQL Curso Bases de Datos Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS SQL (Structured Query Language) SQL lenguaje usado para definir, manipular,
Más detallesEjemplo completo: Empleados.
Ejemplo completo: Empleados. Diagrama entidad relación: nombrep apellido1 apellido2 dni nombre sueldo numdept nombredept lugares pertenecia empleados supervisor supervisado 1 n supervisa n 1 fecha dirige
Más detallesINDICE CARTAS DESCRIPTIVAS S3
INDICE CARTAS DESCRIPTIVAS S3 CARRERA DE COMPUTACIÓN E INFORMÁTICA CICLO V BASE DE DATOS IV 2009 I. Identificadores del programa Carrera: Computación e informática Módulo: Base de Datos IV ORACLE Tipo:
Más detallesCC BASES DE DATOS PRIMAVERA Clase 7: SQL (II) Aidan Hogan
CC3201-1 BASES DE DATOS PRIMAVERA 2016 Clase 7: SQL (II) Aidan Hogan aidhog@gmail.com El Cálculo Relacional (de tuplas) Fórmulas atómicas: Una fórmula puede ser Una fórmula atómica o Sean (recursivamente)
Más detallesBases de Datos Geográficos
Bases de Datos Geográficos SQL - Lenguaje de Bases de Datos Relacionales Instituto de Agrimensura - Facultad de Ingeniería Universidad de la República Introducción El nombre SQL (Structured Query Language)
Más detallesSQL Oracle 12c. Este curso le permitira saber y conocer:
SQL Oracle 12c Las habilidades de lenguaje SQL son una necesidad para cualquier trabajo de Tecnología de la información en la actualidad. Además, debido a la naturaleza estándar de la sintaxis del lenguaje
Más detallesLENGUAJE DE CONSULTA ESTRUCTURADO (SQL)
Qué es una base de datos? Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y
Más detallesBase de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos
UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE ING. INDUSTRIAL Base de Datos Resultados Internet Requerimientos BASE DATOS Docente: Ing. Francisco Rodríguez Base de Datos Tema 6: El Lenguaje Estándar SQL
Más detallesADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1
ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1 TEMA 1. CONSULTAS BÁSICAS Fundamentos de SQL Tipos de datos, operadores y literales Sentencia SELECT Limitación de filas y operadores Ordenación
Más detallesSQL - DDL y consultas de actualización. José Muñoz Jimeno Febrero 2015
SQL - DDL y consultas de actualización José Muñoz Jimeno Febrero 2015 Control de cambios Versión Fecha Comentarios 1.0 13/02/2015 Primera versión para el curso Introducción a las bases de datos con MySQL
Más detallesSQL SERVER SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server.
SQL SERVER 2005 Operaciones con Conjuntos SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server. EXCEPT, nuevo en SQL Server 2005. INTERSECT,
Más detallesSQL. 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 detallesLenguaje SQL (capítulo 4 del libro)
Lenguaje SQL (capítulo 4 del libro) Previamente llamado Sequel, fue desarrollado por IBM a principios de 1970. Se ha vuelto el lenguaje estándar de bases de datos relacionales. En 1986 fue establecida
Más detallesTutorial MySql - 1 -
Tutorial MySql - 1 - Índice 1 - Introducción...4 2 - show databases...5 3 - Creación de una tabla y mostrar sus campos (create table - show tables - describe - drop table)...6 4 - Carga de registros a
Más detallesUn proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL.
CONTENIDO: 1. Lenguaje SQL 1. Componentes 2. Comandos 3. Clausulas 4. Operadores lógicos 5. Operadores de comparación 6. Funciones de agregado 2. MYSQL 1. Como entrar a MySQL 2. Comandos generales 3. Sintaxis
Más detallesTriggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle
Triggers en Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla Diciembre 2016 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir
Más detallesBASES DE DATOS AVANZADAS Tema 2. Repaso de SQL y Lenguajes Relacionales. Univ. Cantabria Fac. de Ciencias Francisco Ruiz, Marta Zorrilla
BASES DE DATOS AVANZADAS Tema 2 Repaso de SQL y Lenguajes Relacionales Univ. Cantabria Fac. de Ciencias Objetivos Conocer los tipos de lenguajes para el modelo relacional de datos. Conocer los conceptos
Más detallesComputación Web (Curso 2015/2016)
Bases de Datos (I) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (I) p. 1 Bases de datos relacionales Colección de datos almacenados en una o más tablas. Las tablas
Más detallesUso de SQL. "WHERE id = " + cuentas[i].getid() o bien ResulSet r =s.executequery("select nombre FROM alumno" + "WHERE id = " + cuentas[i].
Introducción El lenguaje (Structured Query Language) es el lenguaje estándar para trabajo con bases de datos relacionales. Permite la definición, acceso y control de datos en una base de datos relacional.
Más detallesCONOCIMIENTOS DE CONCEPTOS BASES DE DATOS
CONOCIMIENTOS DE CONCEPTOS BASES DE DATOS Los temas que se presentan a continuación son una referencia para el trabajo en base de datos tomando con referencia en la ultima parte, el SGBD MySQL. Sin embargo,
Más detallesAccess SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.
SGBD y SQL Access SQL: DDL y DML Ejercicio Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos. Necesita almacenar información acerca de sus empleados y los proyectos en
Más detallesUnidad. 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 detallesDiseño Lógico Estándar. Diseño Lógico Tema 12
Diseño Lógico Estándar Diseño Lógico Tema 12 Bibliografía Tecnología y Diseño de Bases de Datos M. Piattini, E. Marcos, C. Calero y B. Vela Ed.: RA-MA, 2006 Diseño de Bases de Datos. Problemas Resueltos.
Más detallesDepartamento de Lenguajes y Sistemas Informáticos
Departamento de Lenguajes y Sistemas Informáticos Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es www.lsi.us.es E.T.S. Ingeniería Informática Diseño de bases de datos Anexo
Más detallesCapítulo 4. Realización de consultas
Capítulo 4 Realización de consultas ÍNDICE CAPÍTULO 4 Introducción sentencia SELECT Base de datos de ejemplo Consultas básicas Cláusula ORDER BY Cláusula DISTINCT Cláusula LIMIT Expresiones Funciones propias
Más detallesFormatos para prácticas de laboratorio
Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC 2003-1 5046 BASES DE DATOS PRÁCTICA No. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA DURACIÓN (HORA) Consulta de INSERCIÓN
Más detallesTema II: El modelo relacional de datos Objetivos:
Tema II: El Lenguaje Estándar SQL (2.5) El modelo relacional de datos Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación conocer básicamente la forma de modelar la realidad
Más detallesTEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)
TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD 6.1 Introducción Hasta ahora hemos estudiado las sentencias que forman parte del DML (Data Management Language lenguaje de manipulación de datos, todas esas
Más detalles1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón
1. Lenguaje de Definición de Datos 2. Lenguaje de Manipulación de Datos M. C. Gustavo Alfonso Gutiérrez Carreón Los 'sistemas de gestión de bases de datos (en inglés database management system, abreviado
Más detallesBases de Datos Relacionales. Conceptos y consideraciones para su uso.
Bases de Datos Relacionales. Conceptos y consideraciones para su uso. Eduardo Mora Departamento de Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria Bases de Datos. Finalidad Base
Más detallesTemario. Índices simples Árboles B Hashing
Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases
Más detallesUnidad III. Bases de Datos
Clase:11 1 Unidad III Bases de Datos 2 SQL. Comandos de DDL. Comandos de DML. Agenda 3 SQL Structured Query Language SQL Los comandos del SQL pueden dividirse en tres grupos: Comandos de definición de
Más detallesSQL Structured Query Language
SQL Structured Query Language 1. Introducción Los orígenes del SQL están ligados a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje
Más detalles- 1 - Mg. Abril Saire Peralta
MYSQL LENGUAJE DE DEFINICIÓN DE DATOS (LDD) Permite definir la estructura y relaciones entre los objetos de la base de datos. Define el esquema interno de la base de datos a través de los siguientes comandos:
Más detallesEl Modelo Relacional: Dinámica y Álgebra Relacional. El Modelo Relacional Tema 8
El Modelo Relacional: Dinámica y Álgebra Relacional El Modelo Relacional Tema 8 Índice 1. Introducción 2. Álgebra Relacional 1. Operadores de Asignación y Renombrado de Atributos 2. Operadores Primitivos
Más detallesCC BASES DE DATOS OTOÑO 2018
CC3201-1 BASES DE DATOS OTOÑO 2018 Clase 6: SQL (II) Aidan Hogan aidhog@gmail.com Forma básica de una consulta de SQL Los planetas EL TEMA DE HOY MÁS SQL! Capítulo 5.4-5.6 Ramakrishnan / Gehrke El Álgebra
Más detallesGuía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012
Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012 Problema Enunciado: Sean las siguientes tablas de una base de datos Empleado (ndiemp, nomemp, sexemp, fecnac,
Más detallesEXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo
EXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo Cuando haya terminado el cuestionario traslade CUIDADOSAMENTE sus respuestas a la siguiente tabla, de este modo al terminar el examen podrá calcular
Más detallesSistemas y Aplicaciones Informáticas
Sistemas y Aplicaciones Informáticas Tema 38. Lenguajes para Definición y Manipulación de Datos en Sistemas de Bases de Datos Relacionales. Tipos. Características. Lenguaje SQL. 1. ÁMBITO DE DOCENCIA....3
Más detallesTaller de Herramientas de Software : ST 213 Secc: V y W
Universidad Nacional De Ingeniería Facultad Ingeniería Industrial y de Sistemas Taller de Herramientas de Software : ST 213 Secc: V y W SESION Nro. 9 CONSULTAS MULTITABLAS FUNCIONES RESUMEN Docente: Ing.
Más detallesEl lenguaje SQL III: Creación de bases de datos y seguridad. Introducción
Introducción La estructura de la base de datos se maneja mediante las sentencias denominadas lenguaje de definición de datos El lenguaje de definición de datos permite: Definir y crear nuevas tablas: CREATE
Más detallesÍNDICE PRIMERA PARTE... 17
ÍNDICE PREFACIO... xv PRIMERA PARTE... 17 CAPÍTULO 1. BASES DE DATOS... 19 BASE DE DATOS RELACIONAL... 20 ESTRUCTURA MÍNIMA DE ALMACENAMIENTO... 21 EJEMPLO DE TABLA... 22 RESUMEN... 23 CAPÍTULO 2. CONSULTAS
Más detalles2.5.- El lenguaje estándar SQL
25- El lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales El SQL estándar incluye: Características del Álgebra Relacional Características
Más detallesBases 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 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado
Más detallesCC BASES DE DATOS OTOÑO Clase 5: SQL (II) Aidan Hogan
CC3201-1 BASES DE DATOS OTOÑO 2017 Clase 5: SQL (II) Aidan Hogan aidhog@gmail.com El Cálculo Relacional (de tuplas) Fórmulas atómicas: Una fórmula puede ser Una fórmula atómica o Sean (recursivamente)
Más detallesBases de datos. Modelos de datos. Modelo Relacional. Transformación ERE-Relacional Lenguaje de consulta SQL
Bases de datos Modelos de datos Modelo Relacional. Transformación ERE-Relacional Lenguaje de consulta SQL Modelo relacional (MR) Base de los SGBDR Propuesto por E. Codd en 1970, tiene mas de 45 años! Ha
Más detalles