Lenguaje SQL 1ª Parte: Manipulación de Bases de Datos

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

Download "Lenguaje SQL 1ª Parte: Manipulación de Bases de Datos"

Transcripción

1 1 Práctica 3: Lenguaje SQL 1ª Parte: Manipulación de Bases de Datos Silvia Abrahão - DSIC curso 2010/2011 Objetivos Presentar la sintaxis del lenguaje SQL (sólo del Lenguaje de Manipulación). Ver algunos ejemplos sencillos para clarificar la semántica del SQL. Presentar las bases de datos CICLISMO, MÚSICA y BIBLIOTECA. Realizar de menor a mayor complejidad consultas SQL sobre dichas bases de datos. Realizar todo lo anterior usando la herramienta SQL del sistema de gestión de bases de datos ORACLE.

2 2 Lenguaje de Manipulación del SQL Se presentan las instrucciones que se pueden ejecutar desde un intérprete de SQL, lo que se denomina SQL interactivo. SQL es un lenguaje muy expresivo y, en general, permite muchas formas de expresar las mismas órdenes. Las cuatro instrucciones que componen el lenguaje de manipulación de datos son las siguientes: SELECT: permite la declaración de consultas para la recuperación de información de una o más tablas de una base de datos. INSERT: realiza la inserción de una o varias filas sobre una tabla. DELETE: permite efectuar el borrado de una o varias filas de una tabla. UPDATE: realiza una modificación de los valores de una o más columnas de una o varias filas de una tabla Consultas: instrucción SELECT SELECT [ALL DISTINCT] comalista_item_seleccionado * FROM comalista_referencia_tabla [WHERE expresión_condicional] [GROUP BY comalista_referencia_col] [HAVING expresión_condicional] [ORDER BY comalista_referencia_col] comalista_item_seleccionado: información a obtener de la base de datos. FROM comalista_referencia_tabla: especifica de qué tablas se obtiene la información buscada. WHERE expresión_condicional: expresa una condición que deben cumplir las filas de la consulta resultante. GROUP BY comalista_referencia_col: permite formar consultas agrupadas para extraer información global sobre los grupos formados. HAVING expresión_condicional: condición sobre los grupos formados. ORDER BY comalista_referencia_col: ordena por una o varias columnas.

3 Condiciones en consultas simples SELECT [ALL DISTINCT] comalista_ítem_seleccionado * FROM tabla [WHERE expresión_condicional] [ORDER BY comalista_referencia_col] ALL : Permite la aparición de filas idénticas (valor por defecto). DISTINCT: No permite la aparición de filas idénticas. La expresión_condicional está formada por un conjunto de predicados combinados con las conectivas lógicas AND, OR y NOT. Los predicados utilizados permiten comparar columnas: predicados de comparación: =, <>, >, <, >=, <=. predicado LIKE: permite comparar una tira de caracteres con un patrón. predicado BETWEEN: permite comprobar si un escalar está en un rango. predicado IN: permite comprobar si el valor está dentro de un conjunto. predicado IS NULL: permite comprobar si el valor es nulo. Ciclismo EQUIPO (nom_eq: d_eq, director: d_dir) Clave Primaria: {nom_eq} CICLISTA (dorsal: d_dor, nombre: d_nom, edad: d_edad, nom_eq: d_eq)) Clave Primaria: {dorsal} CAj: {nom_eq} hace referencia a EQUIPO VNN: {nom_eq} ETAPA (nºetapa: d_nº, km: d_km, salida: d_sal, llegada: d_lleg, dorsal: d_dor) Clave Primaria: {nºetapa} CAj: {dorsal} hace referencia a CICLISTA PUERTO (nombre:d_nom,altura:d_alt,categoría:d_cat, nºetapa:d_nº,dorsal: d_dor) Clave Primaria: {nombre} CAj: {nºetapa} hace referencia a ETAPA CAj: {dorsal} hace referencia a CICLISTA VNN: {nºetapa} MAILLOT (código: d_código, tipo: d_tipo, premio: d_pre, color: d_col) Clave Primaria: {código} LLEVAR (dorsal: entero, nºetapa: d_nº, código: d_código) Clave Primaria: {nºetapa, código} CAj: {nºetapa} hace referencia a ETAPA CAj: {dorsal} hace referencia a CICLISTA CAj: {código} hace referencia a MAILLOT VNN: {dorsal}

4 Ciclismo Equipo nomeq director Etapa netapa km salida llegada dorsal Ciclista dorsal nombre edad nomeq Llevar dorsal netapa codigo Puerto nompuerto altura categoria pendiente netapa Maillot codigo tipo premio color Esquema de Prácticas. dorsal EJEMPLO: Obtener el nombre y la altura de todos los puertos de 1ª categoría. 1. En qué tablas se encuentra la información? 2. Qué condición deben cumplir las filas resultantes? 3. Que información queremos visualizar? 4. Queremos ordenar el resultado por alguna columna? SELECT nombre, altura FROM Puerto WHERE categoria = 1; 4

5 EJEMPLO: Obtener el nombre y la edad de todos los ciclistas. SELECT nombre, edad FROM Ciclista; EJEMPLO: Obtener el nombre de los ciclistas cuya edad está entre 20 y 30 años. SELECT nombre FROM Ciclista WHERE edad BETWEEN 20 AND 30; (*) El predicado BETWEEN es equivalente a una condición con comparaciones de la siguiente forma: exp between exp 1 and exp 2 (exp >= exp 1 ) and (exp <= exp 2 ) EJEMPLO: Obtener el número de las etapas donde el nombre de la ciudad de llegada tenga por segunda letra una O o donde el nombre de la ciudad de salida lleve dos o más A s. SELECT netapa FROM Etapa WHERE llegada LIKE _O% OR salida LIKE %A%A% ; EJEMPLO: Obtener el nombre de los puertos de 1ª, 2ª o 3ª categoría. SELECT nompuerto FROM Puerto WHERE categoría IN ( 1, 2, 3 ) ; (*) También el predicado IN es derivado y la expresión equivalente es: exp in (exp 1, exp 2,, exp n ) (exp=exp 1 ) or (exp=exp 2 ) or or (exp=exp n ) EJEMPLO: Obtener todos los datos de aquellos ciclistas de los que se desconocía su edad. SELECT * FROM Ciclista WHERE edad IS NULL; 5

6 6 COMPARACIÓN DE VALORES NULOS Las comparaciones entre cualquier valor y NULL resultan en indefinido. Ejemplo: select * from T where atrib 1 > atrib 2 Si en una fila se diera el caso que atrib1 = 50 y atrib2 fuera nulo, el resultado de la comparación sería indefinido y por tanto dicha fila no se incluiría en la selección. Ejemplo de consulta incorrecta (error de sintaxis) SELECT nomeq FROM Equipo WHERE director = null La consulta correcta sería SELECT nomeq FROM Equipo WHERE director IS NULL

7 MÁS EJEMPLOS DE COMPARACIONES Uso de operadores aritméticos: + (suma), - (diferencia), * (producto), / (división), etc. EJEMPLO: Obtener de los maillots el tipo y el premio en dólares (supongamos que está en pesetas) ($1 = 150 ptas.) de aquellos maillots cuyo premio supere los 100 dólares. Uso de LIKE SELECT tipo, premio / 150 FROM Maillot WHERE premio / 150 > 100; EJEMPLO: Obtener el nombre y la edad de los ciclistas que pertenezcan a equipos cuyo nombre contenga la cadena 100%. SELECT nombre, edad FROM Ciclista WHERE nomeq LIKE %100\%% ESCAPE \ Se ha utilizado \ para indicar que el carácter comodín tiene su valor % CONSULTAS DE VALORES AGREGADOS La sintaxis de una referencia a una función agregada es la siguiente: { avg max min sum count } ( [all distinct] expresión_escalar ) count(*) Las funciones agregadas no se pueden anidar. Para las funciones SUM y AVG los argumentos deben ser numéricos. DISTINCT indica que los valores redundantes sean eliminados antes de que se realice el cálculo correspondiente. La función especial COUNT(*), en la que no está permitido incluir DISTINCT ni ALL, da como resultado el cardinal del conjunto de filas de la selección. Los cálculos se realizan después de la selección y aplicar las condiciones. Los valores nulos son eliminados antes de realizar los cálculos (incl. count). Si el número de filas de la selección es 0, la función COUNT devuelve el valor 0 y las otras funciones el valor nulo. 7

8 8 FUNCIONES AGREGADAS EN CONSULTAS NO AGRUPADAS EJEMPLO: SELECT Núm. de ciclistas =, COUNT(*), Media Edad =, AVG(edad) FROM Ciclista WHERE nomeq = Banesto ; En consultas no agrupadas, la selección sólo podrá incluir referencias a funciones agregadas o literales ya que las funciones van a devolver un único valor. EJEMPLO INCORRECTO: SELECT nombre, AVG(edad) FROM Ciclista WHERE nomeq = ONCE ; Ejercicios: Práctica 3: El lenguaje SQL (1 a Parte) Hacer el bloque de consultas sobre una sola relación de las bases de datos Ciclismo y Música

9 9 CONSULTAS SIMPLES SOBRE VARIAS TABLAS Cuando la información que se desea obtener de la base de datos se encuentra almacenada en más de una tabla se hace indispensable el declarar una consulta que manipule estas tablas. EJEMPLO: Obtener pares de números de etapas y nombres de puertos ganados por el mismo ciclista. 1. En qué tablas se encuentra la información? FROM Etapa, Puerto 2. Qué condición deben cumplir las filas resultantes? WHERE etapa.dorsal = puerto.dorsal; 3. Qué información queremos visualizar? SELECT etapa.netapa, nompuerto En esta expresión es obligatorio que la referencia a la columna dorsal de Etapa y Puerto sea calificada con el nombre de la tabla, si no es ambigua. ==> SELECT etapa.netapa, nompuerto FROM Etapa, Puerto WHERE etapa.dorsal = puerto.dorsal;

10 10 Ejemplo: SELECT * FROM T1, T2 WHERE T1.n = T2.n T1 n a1 b1 a2 b2 a3 b3 T2 n c1 d1 c2 b2 X X X X X T1 x T2 n a1 b1 c1 d1 a1 b1 c2 b2 a2 b2 c1 d1 a2 b2 c2 b2 a3 b3 c1 d1 a3 b3 c2 b2 n Cont. Consulta en varias tablas Cuando se va a trabajar con una tabla para hacer consulta entre diferentes tuplas de ella, entonces se utilizan las variables de recorrido [tabla variable_recorrido].columna Es una instancia de la tabla. Es virtual Por tanto, permiten dar un nombre alternativo a la misma tabla dentro de una consulta. La manera de declarar una variable de recorrido es: FROM tabla [as] variable_recorrido

11 EJEMPLO: Obtener el nombre de los ciclistas compañeros de equipo de Miguel Induráin que sean más jóvenes que él. 1. En qué tablas se encuentra la información? FROM Ciclista Pero, como se requiere comparar con tuplas de la misma tabla, entonces se necesita tener varias imágenes de ella FROM Ciclista C1, Ciclista C2 2. Qué condición deben cumplir las filas resultantes? WHERE C2.nombre= Miguel Induráin AND C1.nomeq = C2.nomeq AND C1.edad < C2.edad; 3. Qué información queremos visualizar? SELECT DISTINCT C1.nombre ==> SELECT DISTINCT C1.nombre FROM Ciclista C1, Ciclista C2 WHERE C2.nombre= Miguel Induráin AND C1.nomeq = C2.nomeq AND C1.edad < C2.edad; USO DE CLAVES AJENAS EN CONSULTAS DE VARIAS TABLAS Si existen claves ajenas, lo normal es que se dé una igualdad entre la clave ajena y los atributos correspondientes de la tabla a la que se hace referencia. EJEMPLO: Obtener los nombres de los ciclistas pertenecientes al equipo dirigido por Álvaro Pino. S E L E C T C. n o m b r e F R O M C i c l i s t a C, E q u i p o E WHERE C.nomeq = E.nomeq AND E.director = Álvaro Pino ; EJEMPLO: Obtener pares nombre de ciclista, número de etapa, de tal forma que dicho ciclista haya ganado dicha etapa. Además la etapa debe superar los 150 km. de recorrido. SELECT C.nombre, E.netapa FROM Ciclista C, Etapa E WHERE C.dorsal = E.dorsal AND E.km > 150; 11

12 Ejercicios: Práctica 3: El lenguaje SQL (1a Parte) Hacer el bloque de consultas sobre varias tablas de las bases de datos Ciclismo y Música CONSULTAS COMPLEJAS: SUBCONSULTAS Si la información que se está buscando está incluida en una tabla y la condición de búsqueda de esta información requiere acceder a otras tablas, entonces también se pueden utilizar las subconsultas para expresar este tipo de condiciones. EJEMPLO: Obtener el nombre de los ciclistas compañeros de equipo de Miguel Induráin que sean más jóvenes que él. (Es el mismo enunciado de antes) SELECT C1.nombre FROM Ciclista C1 Tablas que se requieren para el Select precedente WHERE C1.nomeq IN (SELECT C2.nomeq FROM Ciclista C2 WHERE C2.nombre= Miguel Induráin ) Se verá más adelante AND C1.edad < (SELECT C2.edad FROM Ciclista C2 WHERE C2.nombre= Miguel Induráin ); 12

13 13 EJEMPLO: Obtener los nombres de los ciclistas pertenecientes al equipo dirigido por Álvaro Pino. Antes, se habían usado igualdades: SELECT C.nombre FROM Ciclista C, Equipo E WHERE C.nomeq = E.nomeq AND E.director = Álvaro Pino ; Usando subconsultas, sería: SELECT C.nombre FROM Ciclista C C.nomeq = (SELECT E.nomeq FROM Equipo E WHERE E.director = Álvaro Pino ); WHERE Esto es posible porque la información que se requiere, nombre del ciclista, no está en la tabla de la subconsulta (Equipo) y porque la subconsulta retorna un único valor. PREDICADOS QUE ACEPTAN SUBCONSULTAS Las subconsultas pueden aparecer en las condiciones de búsqueda, como argumentos de algunos predicados, tanto de la cláusula WHERE como de la HAVING. Los predicados que pueden llevar como argumentos subconsultas son los siguientes: predicados de comparación (=, <>, >, <, >=, <=). IN: comprueba que un valor pertenece a una colección dada mediante una subconsulta. predicados de comparación cuantificados (ANY y ALL): permitir comparar un valor con un conjunto de valores. MATCH: comprueba si un valor es idéntico a algún valor de una colección. EXISTS: equivalente al cuantificador existencial, comprueba si una subconsulta devuelve alguna fila. UNIQUE: comprueba si una subconsulta no devuelve filas repetidas.

14 14 PREDICADOS DE COMPARACIÓN (=, <>, >, <, >=, <=) Cada uno de los dos lados de un predicado de comparación debe ser una única tupla formada por el mismo número de columnas. Es decir: (A1, A2,, An) predicado_comparación (B1, B2,, Bn) Las subconsultas pueden ser argumentos, siempre y cuando devuelvan una única fila y el número de columnas coincida en número y tipo con el otro lado del predicado de comparación. Llamaremos constructor_fila a una lista de atributos entre paréntesis o una subconsulta. constructor_fila predicado_comparación constructor_fila En el caso que la subconsulta esté vacía, se convierte a una fila con valores nulos en todas las columnas. Para poder comparar dos constructor_fila de más de una columna, existe una forma definida de realizar esta comparación para cada uno de los predicados de comparación (=, <>, >, <, <=, >=). Pero, en general se verán subconsultas de una única columna, como el ejemplo anterior. EJEMPLO: Obtener los nombres de los puertos cuya altura es mayor que la media de altura de los puertos de 2ª categoría. 1. En qué tablas se encuentra la información? Puerto ==> FROM Puerto 2. Qué condición deben cumplir las filas resultantes? altura > AVG(altura) de los Puertos de segunda categoría Es un valor - una fila ==> WHERE altura > (SELECT AVG(altura) FROM Puerto WHERE categoria = 2 ); Compara cada valor de altura con el valor obtenido en avg(altura)

15 15 EJEMPLO: Obtener los nombres de los puertos cuya altura es mayor que la media de altura de los puertos de 2ª categoría. 1. En qué tablas se encuentra la información? Puerto ==> FROM Puerto 2. Qué condición deben cumplir las filas resultantes? altura > avg(altura) de los Puertos de segunda categoría ==> WHERE altura > (SELECT AVG(altura) FROM Puerto WHERE categoria = 2 ); 3. Qué información queremos visualizar? nompuerto ==> SELECT nompuerto ==> SELECT nompuerto FROM Puerto WHERE altura > (SELECT AVG(altura) FROM Puerto WHERE categoria = 2 ); Qué hace el siguiente ejemplo? Es correcto? 1 columna con n filas SELECT nompuerto FROM Puerto WHERE altura > (SELECT altura FROM Puerto WHERE categoria = 2 ); Es un valor a la vez ==> No puede hacer la comparación INCORRECTO: (error de ejecución)

16 16 Predicado IN Comprueba que un valor pertenece a una colección dada mediante una subconsulta constructor_fila [not] IN(expresión_tabla) A la derecha de IN puede aparecer más de una fila y por eso se denomina expresión_tabla. EJEMPLO: Obtener el nº de las etapas ganadas por ciclistas con edad superior a los 30 años. SELECT netapa FROM Etapa WHERE dorsal IN (SELECT dorsal FROM Ciclista WHERE edad > 30); También, con IN Encadenadas: se pueden hacer Subconsultas EJEMPLO: Obtener el número de las etapas ganadas por ciclistas que pertenezcan a equipos cuyo director tenga un nombre que empiece por A. SELECT netapa FROM Etapa WHERE dorsal IN (SELECT dorsal FROM Ciclista WHERE nomeq IN (SELECT nomeq FROM Equipo WHERE director LIKE A% ));

17 17 Predicados de comparación cuantificados (ALL, ANY) Permiten comparar un valor con un conjunto de valores. constructor_fila predicado_comparación {all any some} (expresión_tabla) El predicado de comparación cuantificado con ALL se evalúa a cierto si lo es para todas las filas de la expresión de tabla (si la tabla está vacía también se evalúa a cierto). El predicado de comparación cuantificado con ANY o SOME se evalúa a cierto si lo es para alguna fila de la expresión de tabla (si la tabla está vacía se evalúa a falso). (*) el predicado IN es idéntico al predicado de comparación cuantificado = ANY. EJEMPLO: Obtener el nombre de los puertos y de los ciclistas que los hayan ganado que tengan la mayor pendiente. SELECT P.nompuerto, C.nombre FROM Puerto P, Ciclista C WHERE P.dorsal = C.dorsal AND P.pendiente >= ALL (SELECT P1.pendiente FROM Puerto P1 ) EJEMPLO: Obtener el nombre de los puertos y de los ciclistas que los hayan ganado, cumpliendo que el puerto no sea el que tenga la menor pendiente. SELECT P.nompuerto, C.nombre FROM Puerto P, Ciclista C WHERE P.dorsal = C.dorsal AND P.pendiente > ANY (SELECT P1.pendiente FROM Puerto P1 ) (*) Cualquier ANY se puede convertir en un ALL cambiando la condición a su condición negada y añadiendo un NOT. NOT ( P.pendiente < ALL (SELECT P1.pendiente FROM Puerto P1 ) )

18 18 Predicado EXISTS EXISTS (expresión_tabla) El predicado EXISTS se evalúa a cierto si la expresión SELECT devuelve al menos una fila. En general, IN y EXISTS son intercambiables y se pueden eliminar haciendo consultas a múltiples tablas e igualando por claves ajenas. EJEMPLO: Obtener el nombre de aquellos ciclistas que han llevado un maillot de un premio menor de 120 euros. SELECT C.nombre FROM Ciclista C, Llevar L WHERE C.dorsal = L.dorsal AND EXISTS (SELECT * O bien: FROM Maillot M WHERE M.premio < 120 AND M.codigo = L.codigo) SELECT C.nombre FROM Ciclista C, Llevar L WHERE C.dorsal = L.dorsal AND L.codigo IN (SELECT M.codigo FROM Maillot M WHERE M.premio < 120 )

19 19 EJEMPLO: Obtener el nombre de los ciclistas que no han ganado etapas. SELECT nombre FROM Ciclista WHERE NOT EXISTS (SELECT * FROM Etapa WHERE Etapa.dorsal = Ciclista.dorsal); WHERE EXISTS (SELECT * FROM ) equivale a: WHERE 0 < (SELECT COUNT(*) FROM ) WHERE NOT EXISTS (SELECT * FROM ) equivale a: WHERE 0 = (SELECT COUNT(*) FROM ) Ejercicios: Práctica 3: El lenguaje SQL (1a Parte) Hacer el bloque de consultas con subconsultas de las bases de datos Ciclismo y Música

20 20 Uso de EXISTS para cuantificación universal (NO HAY EN SQL) X F(X) X F(X) Obtener el nombre de los profesores que imparten todas las asignaturas. SELECT P.nombre FROM Profesor P WHERE NOT EXISTS (SELECT * FROM Asignatura A WHERE NOT EXISTS (SELECT * FROM Docencia D WHERE D.cod_pro=P.cod_pro D.cod_asg=A.cod_asg)) El lenguaje SQL Problemas con la cuantificación universal Obtener el nombre de los profesores que imparten todas las asignaturas de su departamento de mas de 6 créditos. qué pasa si en el departamento de un profesor no hay asignaturas de mas de 6 créditos?

21 El lenguaje SQL qué pasa si en el departamento de un profesor PX no hay asignaturas de mas de 6 créditos? FALSO para todo valor de AX {PX.nombre Profesor (PX) AX ((Asignatura (AX) AX.cod_dep= PX.cod_dep (AX.teoría+AX.prac)>6) DX (Docencia (DX) DX.cod_pro = PX.cod_pro DX.cod_asg = AX.cod_asg) ) } El profesor PX aparecería en el resultado de la consulta! CIERTO El lenguaje SQL Si estos profesores no deben salir en la consulta, entonces se debe hacer un control para comprobar que en el departamento del profesor existe alguna asignatura de mas de seis créditos!. {PX.nombre Profesor (PX) AX (Asignatura (AX) AX.cod_dep= PX.cod_dep (AX.teoría+AX.prac)>6) AX ( (Asignatura (AX) AX.cod_dep= PX.cod_dep (AX.teoría+AX.prac)>6) DX (Docencia (DX) DX.cod_pro = PX.cod_pro DX.cod_asg = AX.cod_asg) ) } 21

22 22 El lenguaje SQL. SELECT PX.nombre FROM Profesor PX WHERE EXISTS (SELECT * FROM Asignatura AX WHERE AX.cod_dep=PX.cod_dep AND (AX.teoría+AX.prac)>6) AND NOT EXISTS (SELECT * FROM Asignatura AX WHERE AX.cod_dep= PX.cod_dep AND (AX.teoría+AX.prac)>6 AND SQL NOT EXISTS (SELECT * FROM Docencia DX WHERE DX.cod_pro=PX.cod_pro AND DX.cod_asg=AX.cod_asg) ) ) Uso de EXISTS para cuantificación universal X F(X) X F(X) Obtener el nombre del ciclista que ha ganado todas las etapas de más de 200 km. C.nombre Ciclista(C) X (Etapa(X) X.Km>200 C.dorsal=X.dorsal) es equivalente a: C.nombre Ciclista(C) X(Etapa(X) X.Km>200 C.dorsal<>X.dorsal)

23 23 Para poder expresar esta consulta en SQL se convertirá en: Obtener el nombre del ciclista tal que no existe una etapa de más de 200 km. que él no haya ganado SELECT nombre FROM Ciclista C WHERE NOT EXISTS (SELECT * FROM Etapa E WHERE km > 200 AND C.dorsal <> E.dorsal ); Uso de Coletillas en consultas con Solución: cuantificación universal Qué pasa si no hay etapas de más de 200 km? SALDRÍAN TODOS LOS CICLISTAS!!! SELECT C.nombre FROM Ciclista C WHERE NOT EXISTS (SELECT * FROM Etapa E WHERE E.km > 200 AND C.dorsal <> E.dorsal ) AND EXISTS (SELECT * FROM ETAPA E2 WHERE E2.km > 200);

24 Ejercicios: Práctica 3: El lenguaje SQL (1a Parte) Hacer el bloque de consultas con cuantificación universal de las BDs Ciclismo y Música AUTOR(autor_id: tira(4), nombre: tira(35), nacionalidad: tira(20)) Clave Primaria: {autor_id} LIBRO(id_lib: tira(10), titulo: tira(80), año: entero, num_obras: entero) Clave Primaria: {id_lib} VNN: {titulo} TEMA(tematica: tira(20), descripcion: tira(50)) Clave Primaria: {tematica} OBRA(cod_ob: entero, titulo: tira(80), año: d_cat, tematica: tira(20)) Clave Primaria: {cod_ob} Clave Ajena: {tematica} TEMA VNN: {titulo} Biblioteca AMIGO(num: entero, nombre: tira(60), telefono: tira(10)) Clave Primaria: {num} VNN: {nombre} PRESTAMO(num: entero, id_lib:tira(10)) Clave Primaria: {num,id_lib} Clave Ajena: {num} AMIGO Clave Ajena: {id_lib} LIBRO ESTA_EN(cod_ob: entero, id_lib:tira(10)) Clave Primaria: {cod_ob,id_lib} Clave Ajena: {cod_ob} OBRA Clave Ajena: {id_lib} LIBRO ESCRIBIR(cod_ob: entero, autor_id:tira(4)) Clave Primaria: {cod_ob,autor_id} Clave Ajena: {cod_ob} OBRA Clave Ajena: {autor_id} AUTOR 24

25 25 Consultas Agrupadas SELECT [ALL DISTINCT] A 1i, A 2j,..., A nk * FROM R 1, R 2,..., R n [WHERE condición] [GROUP BY B 1, B 2,..., B m ] [HAVING condición] GROUP BY: define grupos de tuplas en el conjunto de tuplas seleccionadas por la condición WHERE. Los grupos se definen por la igualdad de valor en los atributos de agrupación (B 1, B 2,..., B m ). HAVING: de los grupos definidos se seleccionan aquellos que cumplen la condición expresada. Consultas Complejas Relación Selección-Agrupamiento Un grupo se puede entender como un conjunto de filas con el mismo valor para el conjunto de columnas por las que se agrupa (las incluidas en la cláusula GROUP BY). EJEMPLO: Obtener el nombre de cada equipo y la edad media de los ciclistas de dicho equipo: SELECT nomeq, AVG(edad) FROM Ciclista GROUP BY nomeq; Nomeq Edad Banesto 22 ONCE 25 PDM 32 Banesto 25 Kelme 28 ONCE 30 Kelme 29 Banesto 28

26 26 Las funciones agregadas en las consultas agrupadas funcionan de forma diferente que en las consultas normales, devolviendo un valor por cada grupo formado. Nomeq Edad Banesto 22 Banesto 25 Banesto 28 ONCE 25 ONCE 30 PDM 32 Kelme 29 Kelme 28 Un Valor por Grupo Entonces, para SELECT nomeq, AVG(edad) FROM Ciclista GROUP BY nomeq; La solución, es: Nomeq Edad Banesto 25 ONCE 27,5 PDM 32 Kelme 28,5

27 27 Consultas Agrupadas EJEMPLO: Obtener el número total de profesores de cada departamento Profesor cod_pro nombre tel!fono cod_dep JCC Juan C. Casamayor R!denas 7796 DSIC RFC Robert Fuster i Capilla 6789 MAT JBD Jos"V. Benlloch Dualde 5760 DISCA MAF Mar#a Alpuente Frasnedo 3560 DSIC CPG Cristina P"rez Guillot 7439 IDM JTM Jos"M. Torralba Mart#nez 4590 OEM IGP Ignacio Gil Pechu$n 3423 OEM DGT Daniel Gil Tom$s 5679 DISCA MCG Matilde Celma Gim"nez 7756 DSIC cod_dep DSIC 3 MAT 1 DISCA 2 IDM 1 OEM 2 SELECT cod_dep, COUNT (*) FROM Profesor GROUP BY cod_dep Consultas Agrupadas Obtener el número total de profesores de los departamentos que tienen mas de 2 profesores. cod_pro nombre tel!fono cod_dep JCC Juan C. Casamayor R!denas 7796 DSIC RFC Robert Fuster i Capilla 6789 MAT JBD Jos"V. Benlloch Dualde 5760 DISCA MAF Mar#a Alpuente Frasnedo 3560 DSIC CPG Cristina P"rez Guillot 7439 IDM JTM Jos"M. Torralba Mart#nez 4590 OEM IGP Ignacio Gil Pechu$n 3423 OEM DGT Daniel Gil Tom$s 5679 DISCA MCG Matilde Celma Gim"nez 7756 DSIC SELECT cod_dep, COUNT (*) FROM Profesor GROUP BY cod_dep HAVING COUNT (*) > 2 cod_dep DSIC 3

28 28 EJEMPLO INCORRECTO: SELECT nomeq, nombre, AVG(edad) FROM Ciclista GROUP BY nomeq; La regla sintáctica que aplican los sistemas relacionales para asegurar el buen funcionamiento de las consultas agrupadas es la siguiente: En la selección de una consulta agrupada, sólo pueden aparecer referencias a columnas por las cuales se agrupa, referencias a funciones agregadas o literales. GROUP y WHERE Si se incluye la cláusula where, la aplicación de esta cláusula se produce previamente a la agrupación SELECT nomeq, AVG(edad) FROM Ciclista WHERE edad > 25 GROUP BY nomeq;

29 29 Evaluación: 1) Se seleccionan n tuplas de las relaciones que cumplan la condición de la cláusula WHERE. 2) En el conjunto de tuplas seleccionadas se definen grupos basados en el valor de los atributos de agrupación. 3) De los grupos definidos se seleccionan los que cumplen la condición de la cláusula HAVING. GROUP, WHERE y HAVING La cláusula HAVING sólo puede ir en consultas agrupadas y es similar a WHERE, pero en un orden diferente: 1º) Condición WHERE (se usa para las filas) 2º) Agrupamiento y cálculo de valores agregados 3º) Condición HAVING (se usa para los grupos) En la cláusula HAVING sólo podrán aparecer directamente referencias a columnas por las cuales se agrupan o a funciones agregadas.

30 30 EJEMPLO: Obtener el nombre de cada equipo y la edad media de sus ciclistas con más de 25 años, de aquellos equipos con más de 3 corredores mayores de 25 años. SELECT nomeq, AVG(edad) FROM Ciclista WHERE edad > 25 GROUP BY nomeq HAVING COUNT(dorsal) > 3; EJEMPLO: Obtener el nombre del ciclista y el número de puertos que ha ganado, siendo la media de la pendiente de éstos superior a 10. SELECT C.nombre, COUNT(P.nompuerto) FROM Ciclista C, Puerto P WHERE C.dorsal = P.dorsal GROUP BY C.dorsal, C.nombre /* Agrupar siempre por CP */ HAVING AVG (P.pendiente) >10;

31 31 Ejercicios: Práctica 3: El lenguaje SQL (1a Parte) Hacer el bloque de consultas agrudapas de las BDs Ciclismo y Música COMBINACIONES DE TABLAS Existen otras formas de combinar varias tablas en consultas y todas ellas, junto con las ya vistas, dan lugar a una expresión de tabla. Existen, en definitiva, varias formas de combinar dos tablas en el lenguaje SQL: Incluir varias tablas en la cláusula from. Uso de subconsultas en las condiciones de las cláusulas where o having. Combinaciones conjuntistas de tablas: utilizando operadores de la teoría de conjuntos para combinar las tablas. Concatenaciones de tablas: utilizando diferentes formas variantes del operador concatenación del Álgebra Relacional.

32 El Lenguaje Estándar SQL Operador Álgebra Relacional SQL Selección R Donde F SELECT... FROM R WHERE F Proyección R [A i, A j..., A k ] SELECT A i, A j..., A k FROM R Producto Cartesiano R 1 x R 2,... x R n SELECT... FROM R 1, R 2,..., R n, o SELECT...FROM R 1 CROSS JOIN R 2,..., CROSS JOIN R n Concatenación R 1 R 2 SELECT... FROM R 1 NATURAL JOIN R 2 Unión R 1 R 2 SELECT * FROM R 1 UNION SELECT * FROM R 2 Diferencia R 1 - R 2 SELECT * FROM R 1 EXCEPT SELECT * FROM R 2 Intersección R 1 R 2 SELECT * FROM R 1 INTERSECT SELECT * FROM R 2 COMBINACIONES CONJUNTISTAS DE TABLAS Corresponden a los operadores unión, intersección y diferencia del Álgebra Relacional. Dadas dos tablas A y B: UNION: la tabla resultado tendrá las filas de A y B INTERSECT: la tabla resultado tendrá las filas que se encuentren a la vez en A y en B. EXCEPT: la tabla resultado tendrá las filas de A que no se encuentren en B. Permiten combinar tablas que tengan esquemas compatibles (mismo número de elementos seleccionados, mismo orden, mismos tipos y nombres). 32

33 UNION expresión_tabla union [ALL] término_tabla Realiza la unión de las filas de las tablas provenientes de las dos expresiones. Se permitirán o no duplicados según se incluya o no la opción ALL. EJEMPLO: Obtener el nombre de todo el personal de la vuelta. (SELECT nombre FROM Ciclista) UNION (SELECT director FROM Equipo) UNION Ejemplo 2. Obtener el nombre de todo el personal (profesores y directores de departamento). SELECT director FROM Departamento UNION SELECT nombre FROM Profesor 33

34 INTERSECT expresión_tabla intersect término_tabla Realiza la intersección de las filas de las tablas provenientes de las dos expresiones. EJEMPLO: Obtener los nombres de las personas que son tanto ciclistas como directores de equipo. (SELECT nombre FROM Ciclista) INTERSECT (SELECT director FROM Equipo) INTERSECT Ejemplo 2. Obtener los departamentos que tienen adscritas asignaturas y profesores. SELECT DISTINCT cod_dep FROM Profesor INTERSECT SELECT DISTINCT cod_dep FROM Asignatura 34

35 EXCEPT expresión_tabla except término_tabla En Oracle es Minus Realiza la diferencia de las filas de las tablas provenientes de las dos expresiones. EJEMPLO: Obtener los nombres que aparecen en la tabla de ciclistas y no en la de directores. (SELECT nombre FROM Ciclista) MINUS (SELECT director FROM Equipo) EXCEPT Ejemplo 2. Obtener los departamentos que no tienen adscritas asignaturas. SELECT cod_dep FROM Departamento EXCEPT SELECT DISTINCT cod_dep FROM Asignatura En ORACLE, el operador EXCEPT se denomina MINUS. 35

36 36 Concatenación de tablas SELECT [ALL DISTINCT] A 1i,...,A 2j,...,A nk * FROM Rconcatenación 1, R 2,..., Rde n tablas [WHERE condición] [GROUP BY B 1, B 2,..., B m ] [HAVING condición] concatenación interna: INNER JOIN concatenación externa: OUTER JOIN Concatenación de tablas Corresponden a variantes del operador concatenación del Álgebra Relacional. Producto cartesiano CROSS JOIN Concatenación interna NATURAL JOIN Concatenación externa LEFT, RIGHT, FULL Concatenación unión UNION JOIN

37 Producto Cartesiano (CROSS JOIN) referencia_tabla1 cross join referencia_tabla2 SELECT * from referencia_tabla1, referencia_tabla2 La tabla resultado de la operación CROSS JOIN es el producto cartesiano de las dos tablas operandos. Concatenación Interna referencia_tabla1 [natural] [inner] join referencia_tabla2 [on expresión_condicional using (comalista_columna) ] tabla1 join tabla2 on expresión_condicional SELECT * FROM tabla1, tabla2 WHERE expresión_condicional Natural Join: se concatenan las tuplas de tabla1 y tabla2 que tienen el mismo valor en todos los atributos del mismo nombre Join...ON: combina una fila de cada operando cuando la condición expresada se evalúe a cierta. Inner Join... USING: combina una fila de cada operando cuando el valor en las columnas comunes es idéntico. 37

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

Práctica 3: El lenguaje SQL (1ª parte). (4ª sesión) Práctica 3: El lenguaje SQL (1ª parte). (4ª 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

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

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

Más detalles

select nombre from profesores where categoria='aso6';

select nombre from profesores where categoria='aso6'; 1 de 10 17/05/2013 14:00 Lecciones SQL > T11 Conjuntos Operaciones de conjuntos y MySQL Un operador sobre conjuntos combina el resultado de dos sentencias select en un único resultado. Dependiendo del

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

1. DML. Las subconsultas

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

Más detalles

SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de SQL Datos (DML)

SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de SQL Datos (DML) SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de Datos Outline 1 Actualización, Inserción y Modificación 2 Consultas (Queries) 3 Renombramiento 4 Ordenamiento 5 Reuniones 6

Más detalles

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

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

Más detalles

Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos.

Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos. Tema II: El modelo relacional de datos (2.1) 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

A.1. Definiciones de datos en SQL

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

Más detalles

Consulta y manipulación de datos. El lenguaje SQL

Consulta y manipulación de datos. El lenguaje SQL Bloque 2 Consulta y manipulación de datos. El lenguaje SQL Como ya hemos visto en el bloque anterior, una base de datos relacional consiste en un conjunto de tablas, a cada una de las cuales se le asigna

Más detalles

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

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

Más detalles

SINTAXIS DE SQL-92. ::= CREATE SCHEMA [ ... ]

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

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

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

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

Más detalles

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

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

Más detalles

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

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

Más detalles

8 SQL SERVER 2008 RA-MA

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

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 10. Álgebra Relacional

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 10. Álgebra Relacional FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 10. Álgebra Relacional 1.- Introducción. 2.- Una Sintaxis para el Álgebra Relacional. 3.- Asignación Relacional. 4.- Operaciones Tradicionales

Más detalles

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

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

Más detalles

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

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

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

Más detalles

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS EXPLOTACIÓN DE BASES DE DATOS CON ACCESS Por qué son importantes las Bases de Datos? Las Bases de Datos son el método preferido para el almacenamiento estructurado de datos. Desde las grandes aplicaciones

Más detalles

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

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

Más detalles

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

EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES)

EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES) EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES) Por qué son importantes las Bases de Datos? Las Bases de Datos son el método preferido para el almacenamiento estructurado de datos.

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

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

Más detalles

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

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

Más detalles

Í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

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

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

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

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

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

Más detalles

Qué es una subconsulta?.

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

Más detalles

Tutorial de SQL - El comando SELECT

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

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

Taller SQL - SUP. Introducción al Lenguaje SQL. Claúsula Where. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete

Taller SQL - SUP. Introducción al Lenguaje SQL. Claúsula Where. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete Taller SQL - SUP Introducción al Lenguaje SQL. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete Claúsula Where Condiciones de Búsqueda Operadores de Comparación Rangos Listas Patrones

Más detalles

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

all : Permite la aparición de filas idénticas (valor por defecto). distinct: No permite la aparición de filas idénticas. Práctica 3: Lenguaje SQL 1ª Parte: Manipulación de Bases de Datos Objetivos: Presentar la sintaxis del lenguaje SQL (sólo del Lenguaje de Manipulación). Ver algunos ejemplos sencillos para clarificar la

Más detalles

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,

Más detalles

Guía práctica de SQL

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

Más detalles

Tema II: El modelo relacional de datos. (2.2)

Tema II: El modelo relacional de datos. (2.2) Tema II: El modelo relacional de datos. (2.2) 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

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

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

Más detalles

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

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

Más detalles

ACERCA DE LOS AUTO RES... III AGRADECIMIENTOS... xi INTRODUCCION... Xl

ACERCA DE LOS AUTO RES... III AGRADECIMIENTOS... xi INTRODUCCION... Xl Contenido ACERCA DE LOS AUTO RES..................................... III AGRADECIMIENTOS........................................... xi INTRODUCCION............................................... Xl Introduccion

Más detalles

Universidad Ricardo Palma

Universidad Ricardo Palma Universidad Ricardo Palma FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA INFORMATICA DEPARTAMENTO ACADÉMICO DE INGENIERÍA SÍLABO PLAN DE ESTUDIOS 2006-II SÍLABO I DATOS ADMINISTRATIVOS

Más detalles

Modelos y Bases de Datos

Modelos y Bases de Datos Modelos y Bases de Datos MODELOS Y BASES DE DATOS 1 Sesión No. 12 Nombre: Lenguaje SQL: Valores Nulos Contextualización Qué más ofrece el lenguaje SQL? Así como te has introducido en el desarrollo de la

Más detalles

Consultas con combinaciones

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

Más detalles

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

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

Más detalles

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h Alias Nombres Tablas ( L19 ) UNA VEZ INDICADO SE UTI LIZAN EN LAS CONSULTAS, EN LUGAR DE ESCRIBIR EL NOMBRE COMPLETO DE LA TABLA SE INDICAN EN LA CLAÚSULA FROM PALABRA CLAVE OPCIONAL AS SINTAXIS [ FROM

Más detalles

CONSULTAS SIMPLES SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS SIMPLES SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS SIMPLES SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS SIMPLES Vamos a empezar por la instrucción que más se utiliza en SQL, la sentencia SELECT. La

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

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

Más detalles

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 201-II SÍLABO 1. DATOS GENERALES UNIDAD DIDÁCTICA : DESARROLLO DE APLICACIONES CON BASE DE DATOS MÓDULO : DESARROLLO DE SOFTWARE

Más detalles

BASES DE DATOS. TEMA 7. SQL. EL LENGUAJE DE CONSULTA.

BASES DE DATOS. TEMA 7. SQL. EL LENGUAJE DE CONSULTA. BASES DE DATOS. TEMA 7. SQL. EL LENGUAJE DE CONSULTA. La creación y manipulación de tablas Tipos de datos en SQL Operadores y condiciones lógicas La sentencia CREATE TABLE Estructura general Uso simplificado

Más detalles

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: CURSO DE ORACLE DESCRIPCIÓN Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.

Más detalles

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

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

Más detalles

SQL Los fundamentos del lenguaje

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

Más detalles

Sub consultas avanzadas

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

Más detalles

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional SQL Básico Algebra Relacional Modelo Relacional Conceptos Relación Esquema Operaciones del Algebra Relacional Selección Proyección Unión Diferencia Producto Cartesiano Algebra Relacional Selección (σ)

Más detalles

BREVE INTRODUCCIÓN AL SQL Aplicación al Programa Escuela Última actualización: 17/10/2000

BREVE INTRODUCCIÓN AL SQL Aplicación al Programa Escuela Última actualización: 17/10/2000 Secretaría General de Educación y Formación Profesional Dirección General de Educación, Formación Profesional e Innovación Educativa Subdirección General de Acción Educativa BREVE INTRODUCCIÓN AL SQL Aplicación

Más detalles

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN DATOS DE IDENTIFICACIÓN DEL CURSO DEPARTAMENTO: CIENCIAS COMPUTACIONALES ACADEMIA A LA QUE PERTENECE: SISTEMAS DE INFORMACION NOMBRE DE LA MATERIA: BASES DE DATOS CLAVE DE LA MATERIA: CC302 CARÁCTER DEL

Más detalles

Bases de Datos - 2006. SQL - Ejemplos

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

Más detalles

CURSO DE SQL SERVER 2005

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

Más detalles

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Curso SQL Nivel Avanzado 1. Miguel Jurado García Curso SQL Nivel Avanzado 1 Miguel Jurado García Temario Sesión 1: 1- Elementos de Sintaxis Uso de Variables Collation y las Fechas Construcción de Sentencias Dinámicas 2- SQL Server Management Studio Filtrado

Más detalles

BASES DE DATOS I CONSULTA DE DATOS

BASES DE DATOS I CONSULTA DE DATOS BASES DE DATOS I CONSULTA DE DATOS curso 2008 Agenda Repaso. Consultas Anidadas. Operadores : IN NOT IN EXIST NOT EXIST Agrupamiento. JOIN División. 1 Sentencia SELECT SELECT [ DISTINCT ]

Más detalles

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

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

Más detalles

FUNCIONES EN SQL SERVER

FUNCIONES EN SQL SERVER FUNCIONES EN SQL SERVER FUNCIONES DE AGREGADO Las funciones de agregado retornan un simple valor, calculado desde el valor en la columna. Funciones de agregados más comunes: AVG() devuelve el valor promedio

Más detalles

Documento Informativo

Documento Informativo UNIVERSIDAD DE IBAGUE FACULTAD DE INGENIERÍA PROGRAMA: INGENIERÍA DE SISTEMAS ASIGNATURA: Electiva I CÓDIGO: 2233 ÁREA: SISTEMAS CICLO: PROFESIONAL SEMESTRE: VII PRE-REQUISITO: DISEÑO DE BASES DE DATOS

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

ADMINISTRACION DE BASES DE DATOS EN ORACLE

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

Más detalles

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

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

Más detalles

Bases de Datos Relacionales

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

Más detalles

SQL (Structured Query Language)- DML

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

Más detalles

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo. 16/05/2012 1 Todo modelo de datos debe definir un lenguaje de definición de datos para crear las estructuras donde se almacenará la información y un lenguaje de manipulación de datos con el que acceder

Más detalles

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

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

Más detalles

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

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos.

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos. CURSO PROFESIONAL DE TRANSACT-SQL MÁSTER EN DESARROLLO DE APLICACIONES WEB CON JAVA ENTERPRISE EDITION Precio: 450 Euros y Matrícula Gratis. Modalidad: Presencial en nuestras aulas. Valores añadidos: Nuestro

Más detalles

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II SÍLABO I. DATOS GENERALES 1.1. Nombre de la Asignatura 1.2. Carácter 1.3. Carrera Profesional 1.4. Código 1.5. Semestre Académico : 2014-I 1.6. Ciclo Académico 1.7. Horas de Clases 1.8. Créditos 1.9. Pre

Más detalles

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

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

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

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

Más detalles

3ra. Parte. Bases de Datos Relacionales

3ra. Parte. Bases de Datos Relacionales 3ra. Parte Bases de Datos Relacionales Lenguaje de consulta SQL Proyección Tabla 1 Selección Tabla 1 Tabla 1 Tabla 2 Unión Lenguaje SQL SELECT SELECT [TOP expresión [PERCENT] [ WITH TIES ] ]

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

Ficheros y Bases de Datos Curso 2009-10 Ingeniería Técnica de Informática Primer Parcial. 1-Junio-2010. Nombre:

Ficheros y Bases de Datos Curso 2009-10 Ingeniería Técnica de Informática Primer Parcial. 1-Junio-2010. Nombre: Ficheros y Bases de Datos Curso 2009-10 Ingeniería Técnica de Informática Primer Parcial. 1-Junio-2010 Nombre: Se debe entregar esta hoja 2 horas 1 (3,5 puntos A partir de la información sobre la BD que

Más detalles

Tema 3. El modelo Relacional

Tema 3. El modelo Relacional Tema 3. El modelo Relacional Juan Ignacio Rodríguez de León Resumen Presenta el modelo entidad-relación. Visión de alto nivel de las cuestiones referentes a diseño de bases de datos y los problemas encontrados

Más detalles

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales * Definición de datos en SQL * Consulta de datos en SQL - Estructura básica de una sentencia

Más detalles

Tema 4. Lenguajes de consulta comerciales

Tema 4. Lenguajes de consulta comerciales Tema 4. Lenguajes de consulta comerciales 4.1. Introducción En el tema anterior hemos estudiado las operaciones del álgebra relacional y el cálculo relacional, imprescindibles para entender las consultas

Más detalles

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers Subconsultas Stored Procedures - Triggers Subconsultas Concepto Ubicación En el SELECT En el FROM En el WHERE Operadores IN ANY-ALL EXISTS Concepto Son sentencias SELECT que aparecen dentro de otra consulta

Más detalles

Álvaro Herrera alvherre@dcc.uchile.cl Modelamiento Avanzado de Datos con PostgreSQL

Álvaro Herrera alvherre@dcc.uchile.cl Modelamiento Avanzado de Datos con PostgreSQL Modelamiento Avanzado de Datos con PostgreSQL Álvaro Herrera alvherre@dcc.uchile.cl Quinto Encuentro Nacional de Linux, Chile Contenidos Restricciones Check OUTER JOIN Operaciones de Conjuntos Agrupamiento

Más detalles

1.264 Tema 7. Introducción a SQL

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

Más detalles

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

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

Más detalles

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE INFORMÁTICA 1. DATOS GENERALES PLAN DE ESTUDIOS 2006-2 SEMESTRE ACADEMICO 2008-I Nombre del curso: INTRODUCCION

Más detalles

UNIVERSIDAD TECNOLÓGICA ECOTEC FACULTAD DE SISTEMAS COMPUTACIONALES SYLLABUS. Base de Datos II CODIGO COM 338 CREDITOS 3

UNIVERSIDAD TECNOLÓGICA ECOTEC FACULTAD DE SISTEMAS COMPUTACIONALES SYLLABUS. Base de Datos II CODIGO COM 338 CREDITOS 3 UNIVERSIDAD TECNOLÓGICA ECOTEC FACULTAD DE SISTEMAS COMPUTACIONALES SYLLABUS MATERIA Base de Datos II CODIGO COM 338 CREDITOS 3 PRE-REQUISITO No Tiene PERIODO LECTIVO Curso Intensivo - 2013 HORAS PRESENCIALES

Más detalles

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) UNION UNION Copyright 2006, 2007 Instituto Gala

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala OPERADOR UNION (L30) UNION UNION OPERADOR INTERSECCION (L31) OPERADOR RELACIONAL INTERSECCION, DEVUELVE REGISTROS CON CAMPOS COMUNES. LAS TABLAS INVOLUCREADAS DEBEN TENER

Más detalles

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

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

Más detalles

Crear BD en. Isis Bonet Cruz, PhD

Crear BD en. Isis Bonet Cruz, PhD Crear BD en Isis Bonet Cruz, PhD SQL Server Microsoft SQL Server es un sistema de administración y análisis de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de

Más detalles

Bases de Datos I. Cursada 2008. Clase 4: Álgebra relacional y de bolsas Información ausente Claves BASES DE DATOS I

Bases de Datos I. Cursada 2008. Clase 4: Álgebra relacional y de bolsas Información ausente Claves BASES DE DATOS I Bases de Datos I Cursada 2008 Clase 4: Álgebra relacional y de bolsas Información ausente Claves Facultad de Ciencias Exactas Universidad Nac. Centro de la Pcia. de Bs. As. Formalismo para crear nuevas

Más detalles

Tema 4. Manipulación de datos con SQL

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

Más detalles

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

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

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

Más detalles

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a

Más detalles

Optimización de consultas Resumen del capítulo 14

Optimización de consultas Resumen del capítulo 14 Optimización de consultas Resumen del capítulo 14 Libro: Fundamentos de Bases de Datos Silberschatz et al. 5ed. Dr. Víctor J. Sosa Agenda 1. Visión general 2. Estimación de las estadísticas de los resultados

Más detalles

S.Q.L. (Lenguaje de Consulta Estructurada)

S.Q.L. (Lenguaje de Consulta Estructurada) S.Q.L. (Lenguaje de Consulta Estructurada) S.Q.L. - Consultas SQL tiene una instrucción básica para obtener información de una base de datos: la instrucción SELECT (seleccionar). Básicamente la instrucción

Más detalles

Lenguaje SQL. SQL Structured Query Languaje. Capacidades del Lenguaje. Estructura Básica de una consulta SQL

Lenguaje SQL. SQL Structured Query Languaje. Capacidades del Lenguaje. Estructura Básica de una consulta SQL Introducción a SQL Structured Query Languaje Elementos de Bases de Datos Bases de Datos Universidad Nacional del Sur - 2015 Lenguaje SQL SQL: Structured Query Language SQL es un lenguaje de manipulación

Más detalles