El lenguaje SQL

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

Download "El lenguaje SQL"

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 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 detalles

El lenguaje SQL

El 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 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

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

Ambos conjuntos son completamente distintos: propósito, acciones,... L M D. datos

Ambos 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 detalles

Tipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo

Tipos 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 detalles

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

Introducció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 detalles

Modulo I: Introducción Gestores de Bases De Datos

Modulo 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... 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 detalles

El 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 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 detalles

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

Bases 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 detalles

SQL: Lenguaje de Interrogación Estructurado

SQL: 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 detalles

Bases de datos. Lenguajes de consulta. SQL básico

Bases 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 detalles

CERTIFICADO DE PROFESIONALIDAD IFCD0112

CERTIFICADO 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 detalles

SQL Sintaxis. Ejemplo de Alumno, Curso, Profesor. Esquemas de Alumno, Curso, Profesor. Andrés Moreno S.

SQL 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 detalles

Introducción a SQL (DDL)

Introducció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 detalles

Práctica 3: El lenguaje SQL (2ª parte). (6ª sesión).

Prá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 detalles

Departamento 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. 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 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

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

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

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

1 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 detalles

SQL Sintaxis. OpenOffice. Ejemplo de Alumno, Curso, Profesor. Ejemplo de Alumno, Curso, Profesor. Andrés Moreno S. Nombre. Apellido. RutAlumno.

SQL 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 Í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 detalles

Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos. Objetivos

Prá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 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

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

GUÍA DE TRABAJO N 5 GRADO 11 Programación y Diseño de Articulación SENA Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 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 detalles

Clase 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 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 detalles

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

SQL. 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 detalles

SQL. Structured Query Language

SQL. 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 detalles

FUNDAMENTOS ORACLE 12C

FUNDAMENTOS 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 detalles

TEMA 4.. CONSULTA DE DATOS I.

TEMA 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 detalles

UNIVERSIDADE 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 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 detalles

Tema 5. Lenguaje de Definición de Datos

Tema 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 detalles

RESUMEN DEL LENGUAJE SQL

RESUMEN 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 detalles

Tema 1. Introducción a MySQL. José Muñoz Jimeno Octubre 2015

Tema 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 detalles

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

SQL 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 detalles

Oracle Database 12c SQL and PLSQL Fundamentals

Oracle 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 detalles

Oracle Fundamentos. Programa de Estudio.

Oracle 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 detalles

Oracle Fundamentos. Programa de Estudio.

Oracle 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 detalles

Operadores. Además se pueden emplear en sentencias SET.

Operadores. 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 detalles

SQL Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición)

SQL 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 detalles

Lenguaje SQL (2ª Parte) Definición de datos

Lenguaje 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 detalles

Diseño de bases de datos

Diseñ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 detalles

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

Guí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 detalles

El Modelo Relacional - Dinámica-

El 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 Í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 detalles

Introducción a SQL 14/11/2012. Introducción a SQL

Introducció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 detalles

Bases de Datos Relacionales y SQL: Una Introducción

Bases 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 detalles

Tablas -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 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 detalles

Ejemplo completo: Empleados.

Ejemplo 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 detalles

INDICE CARTAS DESCRIPTIVAS S3

INDICE 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 detalles

CC BASES DE DATOS PRIMAVERA Clase 7: SQL (II) Aidan Hogan

CC 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 detalles

Bases de Datos Geográficos

Bases 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 detalles

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

SQL 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 detalles

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

LENGUAJE 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 detalles

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Base 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 detalles

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

ADMINISTRACION 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 detalles

SQL - 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 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 detalles

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

SQL 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 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

Lenguaje SQL (capítulo 4 del libro)

Lenguaje 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 detalles

Tutorial MySql - 1 -

Tutorial 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 detalles

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

Un 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 detalles

Triggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Triggers 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 detalles

BASES 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 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 detalles

Computación Web (Curso 2015/2016)

Computació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 detalles

Uso de SQL. "WHERE id = " + cuentas[i].getid() o bien ResulSet r =s.executequery("select nombre FROM alumno" + "WHERE id = " + cuentas[i].

Uso 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 detalles

CONOCIMIENTOS DE CONCEPTOS BASES DE DATOS

CONOCIMIENTOS 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 detalles

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

Access 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 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

Diseño Lógico Estándar. Diseño Lógico Tema 12

Diseñ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 detalles

Departamento de Lenguajes y Sistemas Informáticos

Departamento 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 detalles

Capítulo 4. Realización de consultas

Capí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 detalles

Formatos para prácticas de laboratorio

Formatos 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 detalles

Tema II: El modelo relacional de datos Objetivos:

Tema 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 detalles

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

TEMA 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 detalles

1. 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 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 detalles

Bases de Datos Relacionales. Conceptos y consideraciones para su uso.

Bases 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 detalles

Temario. Índices simples Árboles B Hashing

Temario. Í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 detalles

Unidad III. Bases de Datos

Unidad 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 detalles

SQL Structured Query Language

SQL 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

- 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 detalles

El 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 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 detalles

CC BASES DE DATOS OTOÑO 2018

CC 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 detalles

Guí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 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 detalles

EXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo

EXAMEN 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 detalles

Sistemas y Aplicaciones Informáticas

Sistemas 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 detalles

Taller de Herramientas de Software : ST 213 Secc: V y W

Taller 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 detalles

El lenguaje SQL III: Creación de bases de datos y seguridad. Introducción

El 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 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 detalles

2.5.- El lenguaje estándar SQL

2.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 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 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

CC BASES DE DATOS OTOÑO Clase 5: SQL (II) Aidan Hogan

CC 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 detalles

Bases 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 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