TEMA 5: SQL (Structured Query Language)

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

Download "TEMA 5: SQL (Structured Query Language)"

Transcripción

1 5.1 INTRODUCCIÓN TEMA 5: SQL (Structured Query Language) Fue la empresa IBM (International Businessman Machine) quien desarrolló la versión original de este lenguaje en el San José Research Center, originalmente se denominó Sequel, como parte del proyecto System R a comienzos de El lenguaje Sequel ha evolucionado desde entonces y ha pasado a llamarse SQL(Structured Query Language) convirtiéndose en el lenguaje estándar para Bases de Datos relacionales. La evolución en el tiempo de este lenguaje ha sido la siguiente: En 1986, los organismos ANSI (American National Standars Institute) e ISO (International Standars Organization) publicaron una norma para este lenguaje que se denominó SQL-86. En 1987 IBM publicó su propia norma de SQL corporativo denominada SAA SQL (System Application Arquitecture Database Interface). En 1989 se publicó una norma extendida para SQL denominada SQL-89, actualmente los sistemas de bases de datos son compatibles con esta norma. La siguiente versión de la norma fue SQL-92, siendo la más reciente la denominada SQL:1999. En este apartado se presentará una visión general de SQL-92 y algunas características de SQL:1999. Los componentes de este lenguaje son: Un Lenguaje de Definición de Datos (LDD), que incluye órdenes para la definición de esquemas de relación, borrado de relaciones, creación de índices y modificación de esquemas de relación. Un Lenguaje de Manipulación de Datos (LMD), basado en el álgebra relacional. Un módulo para el control de transacciones. SQL Dinámico e Incorporado para definir la forma como pueden incorporarse las instrucciones SQL en lenguajes de propósito general. También incluye comandos para la especificación de las restricciones de integridad que deben satisfacer los datos en la Base de Datos y Órdenes para especificar los derechos de acceso a las relaciones y vistas. El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones sobre los mismos. Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación y la orientación a objetos. De esta forma una sola sentencia puede equivaler a uno o más programas que utilizas en un lenguaje de bajo nivel orientado a registro. Nota: Los ejemplos de este capítulo se basan en una empresa bancaria con los siguientes esquemas de relación: Esquema Sucursal = (nombre_sucursal, ciudad_sucursal, activo) Esquema Cliente = (id_cliente, nombre_cliente, calle_cliente, ciudad_cliente) Esquema Prestamo = (numero_prestamo, nombre_sucursal, importe) Esquema Prestatario = (numero_prestamo, nombre_cliente) 1

2 Esquema Cuenta = (numero_cuenta, nombre_sucursal, saldo) Esquema Impositor = (nombre_cliente, numero_cuenta) 5.2 ESTRUCTURA BÁSICA El Lenguaje de consulta estructurado (SQL) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo lanzar consultas con el fin de recuperar de una forma sencilla información de interés de una base de datos, así como también hacer cambios sobre la misma. La estructura básica de una expresión SQL consiste en tres cláusulas: select, from, where. La cláusula select corresponde a la operación de proyección del álgebra relacional. Se usa para listar los atributos deseados del resultado de una consulta. La cláusula from corresponde a la operación de producto cartesiano del álgebra relacional. Lista las relaciones que se van a examinar en la evaluación de la expresión. La cláusula where corresponde al predicado de selección del álgebra relacional. Consta de un predicado que implica los atributos de las relaciones que aparecen en la cláusula from. Una consulta típica en SQL tiene la forma: select A 1,A 2,..A n from r 1,r 2,..r n where P Cada A 1,A 2,..A n representa un atributo y cada r 1,r 2,..r n representa una relación. P es un predicado. La consulta equivalente a la siguiente expresión del álgebra relacional: SQL forma el producto cartesiano de las relaciones incluidas en la cláusula from, lleva a cabo la selección del álgebra relacional usando el predicado de la cláusula where y entonces proyecta el resultado sobre los atributos de la cláusula select Cláusula select Utilizado para consultar registros de la base de datos. El resultado de una consulta, es una relación. Esta operación de SQL es una de las más utilizada y obedece a la implementación de las operaciones básicas del álgebra relacional: Proyección, Selección, Producto cartesiano, Producto natural. La sintaxis básica de una consulta de selección es la siguiente: select Campos from Tabla; Ejemplo: Obtener los nombres de todas las sucursales en la relación Prestamo : Solución: select nombre_sucursal from Prestamo 2

3 El resultado de esta consulta, es una relación que contendrá como único atributo nombre_sucursal. Los lenguajes formales están basados en la noción matemática de que una relación es un conjunto. Así, nunca aparecen tuplas duplicadas en las relaciones. En la práctica, la eliminación de duplicados consume tiempo. Sin embargo, SQL permite duplicados en las relaciones, así como en el resultado de las expresiones SQL. En aquellos casos en los que se quiera forzar la eliminación de duplicados, se insertará la palabra clave distinct después de la cláusula select. Por tanto, la consulta anterior se puede reescribir de la siguiente manera: Ejemplo: Obtener los nombre de todas las sucursales, sin duplicados, que aparecen en la relación Prestamo Solución: select distinct nombre_sucursal from Prestamo Es importante destacar que SQL permite usar la palabra clave all para especificar explícitamente que no se eliminan los duplicados. Solución: select all nombre_sucursal from Prestamo El símbolo asterisco (*) se puede usar para denotar todos los atributos. Una cláusula select de la forma select * indica que se deben seleccionar todos los atributos de todas las relaciones que aparecen en la cláusula from. Solución: select * from Prestamo La cláusula select también puede contener expresiones aritméticas que contengan los operadores (+, -, *, /) sobre constantes o atributos de las tuplas. Ejemplo: Obtener la relación Prestamo con el atributo importe multiplicado por 100 Solución: select numero_prestamo, nombre_sucursal, importe*100 from Prestamo Cláusula where La cláusula where especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Ejemplo: Obtener todos los números de préstamo para préstamos realizados en la sucursal de nombre Subtiava Solución: select numero_prestamo from Prestamo where nombre_sucursal = Subtiava SQL utiliza las conectivas lógicas and, or y not en la cláusula where. Los operadores de las conectivas pueden ser expresiones que contengan los operadores de comparación <,<=,>,>=,= y <>. Ejemplo: Obtener todos los números de préstamo para préstamos realizados en la sucursal de nombre Subtiava, en los que el importe sea superior a C$

4 Solución: select numero_prestamo from Prestamo where nombre_sucursal = Subtiava and importe >1200 SQL incluye un operador de comparación between para simplificar las cláusulas where que especifica que un valor sea menor o igual que un valor y mayor o igual que otro valor. Ejemplo: Obtener el número de préstamo de aquellos préstamos por importes entre C$ 1000 y C$ Solución: select numero_prestamo from Prestamo where importe between 1000 and En lugar de escribir: select numero_prestamo from Prestamo where importe >=1000 and importe <=10000 De forma análoga se puede utilizar el operador de comparación not between Implementación de la Proyección y Selección π S σ cond (R) donde S = { s 1, s 2, s 3,... s m } T = { t 1, t 1, t 1,... t n } es el conjunto de atributos de R y cond es una condición lógica en función de los atributos de R, entonces: π S σ cond (R)= select s 1, s 2, s 3,... s m from R where Cond. Sí la expresión del álgebra relacional se refiere sólo a la proyección o sólo a la Selección, las respectivas expresiones son las siguientes: π S (R)= select s 1, s 2, s 3,... s m from R σ cond (R)= Select * From R Where Cond, donde * indica que se incluyen a todos los atributos de la relación R Cláusula from La cláusula from define por sí misma el producto carteasiano de las relaciones que aparecen en la cláusula. Ejemplo: Obtener los nombres, números de préstamo e importes de todos los clientes que tienen un préstamo en el banco Solución: select nombre_cliente, importe, prestatario.numero_prestamo from Prestatario, Prestamo where prestatario.numero_prestamo = prestamo.numero_prestamo SQL usa la notación nombre_relación.nombre atributo, como en el álgebra relacional, para evitar ambigüedad en los casos en que un atributo aparece en el esquema de más de una relación. Ejemplo: Se puede extender la consulta anterior y Obtener los nombres, números de préstamo e importes de todos los clientes que tienen un préstamo en la Sucursal Proquinsa. 4

5 Solución: select nombre_cliente, importe, prestatario.numero_prestamo from Prestatario, Prestamo where prestatario.numero_prestamo = prestamo.numero_prestamo and nombre_sucursal = Proquinsa Operación Renombramiento La operación de renombramiento se puede utilizar tanto para relaciones como para atributos mediante la cláusula as, que tiene la siguiente forma: nombre_antiguo as nombre_nuevo Así si se desea renombrar el atributo préstamo.número_préstamo como id_préstamo, la nueva expresión tendría la forma: Solución: select Prestatario.nombre_cliente, Prestamo.numero_prestamo as id_prestamo, Prestamo.importe from prestatario,préstamo where Prestamo.numero_prestamo = Prestatario. numero_prestamo Variables Tupla Una variable tupla es una variable que adopta como valores las tuplas de una relación. Es decir, cualquier asignación de valores a una variable tupla tiene el mismo número de y tipo de atributos. Ejemplo: Dado el esquema Alumnos(id,nombre,edad), y la tupla Alumnos(11,Carlos,20) Si la variable x es de tipo tupla y es asignada a la tupla en Alumnos, entonces lo siguiente es válido: x.id =11; x.nombre = Carlos ; x.edad = 20 La cláusula as es particularmente útil en la definición del concepto de variables tupla. Una variable tupla en SQL se debe asociar con una relación concreta. Las variables tupla se definen en la cláusula from mediante el uso de la cláusula as. Ejemplo: Obtener los nombres y números de préstamo de todos los clientes que tienen un préstamo en el banco: Solución: select nombre_cliente, T.numero_prestamo, S.importe from Prestatario as T, Prestamo as S where T.numero_prestamo = S.numero_prestamo Ejemplo 2: Obtener los nombres de las sucursales cuyos activos son mayores que alguna de las sucursales localizadas en León. Solución: select distinct T.Nombre_Sucursal from sucursal as T,sucursal as S where T.activo > S.activo and S.ciudad_Sucursal= León En este caso se han definido dos variables de tupla T, S (con dominios diferentes) para una sola relación: Sucursal, en este caso es imprescindible la utilización de la cláusula as. Nótese que T representa todas las tuplas de Sucursal, mientras que S solamente aquellas de sucursal que cumplen la condición ciudad_sucursal= León Operaciones sobre cadenas SQL especifica las cadenas de caracteres encerrándolas entre comillas simple. Un carácter comilla que sea parte de una cadena se puede especificar usando dos caracteres comilla. 5

6 El Operador like La operación más usada sobre cadenas es el encaje de patrones, para que el que se usa el operador like. Para la descripción de patrones se utilizan los dos caracteres especiales siguientes: Tanto por ciento (%): El carácter % encaja con cualquier subcadena. Subrayado (_): El carácter _ encaja con cualquier carácter. Los patrones son muy sensibles, esto es, los caracteres en mayúsculas no encajan con los caracteres en minúscula, o viceversa. Ejemplos: Ma% encaja con cualquier cadena que empiece con <<Ma>>. %cer% encaja con cualquier cadena que contenga <<cer>> como subcadena. Por ejemplo: Cáceres, Becerril, etc. _ Encaja con cualquier cadena de tres caracteres. _ % Encaja con cualquier cadena de al menos tres caracteres. Los patrones se expresan en SQL utilizando el operador de comparación like. Ejemplo: Obtener los nombres de todos los clientes cuyas ciudades contengan la subcadena eo. Solución: select nombre_cliente from cliente where ciudad_cliente like %eo% Para que los patrones puedan contener los caracteres espaciales patrón (esto es, % y _, SQL permite la especificación de un carácter de escape. El carácter de escape se utiliza inmediatamente antes de un carácter especial patrón para indicar que ese carácter espacial va a ser tratado como un carácter normal. El carácter de escape para una comparación like se define utilizando la palabra clave escape. Por ejemplo: like ab\%cd% escape \ encaja con todas las cadenas que empiecen por ab%cd. like ab\\cd% escape \ encaja con todas las cadenas que empiecen por ab\cd. SQL también permite buscar discordancias en lugar de concordancias utilizando el operador de comparación not like Fechas y Horas con SQL Las implementaciones de SQL suelen soportar fechas y horas como tipos especiales de datos. Estos valores pueden representarse en varios formatos aunque el estándar SQL-92 es muy específico respecto al formato. Fecha: Se representa con la palabra clave DATE seguida de una cadena con el formato AAAA-MM-DD. Hora: Se representa con la palabra clave TIME seguida de una cadena con el formato HH:MM:SS:d. 6

7 5.2.9 Orden en la presentación de las tuplas (Order by) En SQL la cláusula order by permite un cierto control sobre el orden en el que se presentan las tuplas del resultado. Ejemplo: Para listar en orden alfabético todos los clientes que tienen un préstamo en la Sucursal Subtiava se escribe la siguiente consulta Solución: select nombre_cliente from Prestatario, Prestamo where Prestatario.numero_prestamo = Prestamo.numero_prestamo and nombre_sucursal = Subtiava order by nombre_cliente De manera predeterminada la cláusula order by lista los elementos en orden ascendente. Para especificar el tipo de ordenación se puede incluir la cláusula Desc para ordenación descendente o asc para orden ascendente. Además se puede ordenar con respecto a más de un atributo. Ejemplo: Listar la relación Prestamo en orden descendente para importe. Solución: select * from Prestamo order by importe desc, número_prestamo asc 5.3 OPERACIONES SOBRE CONJUNTOS Las operaciones de SQL-92 unión, intersect y except operan sobre relaciones y corresponden a las operaciones del álgebra relacional U, y -. Al igual que la unión, intersección y diferencia de conjuntos en el álgebra relacional, las relaciones que participan en las operaciones han de ser compatibles; esto es, deben tener el mismo conjunto de atributos La operación Unión Forma General: Sean R1 y R2 dos relaciones. Sean r1 1, r1 2, r1 3,... r1 m atributos de R1 y r2 1, r2 2,... r2 m atributos de R2, entonces: select r1 1, r1 2, r1 3,... r1 m from R1 union select r2 1, r2 2,... r2 m from R2 Genera la unión de conjunto de las filas de la relación. select r1 1, r1 2, r1 3,... r1 m from R1 con la relación select r2 1, r2 2,... r2 m from R2 Ejemplo: Obtener el nombre de todos los clientes que tienen una cuenta en el banco así también los nombres de los que tengan un préstamo. En este caso se requiere unir los nombres de los clientes en Impositor(Los que tienen cuenta en el banco) con los nombres de los clientes de prestatario(los que tienen un préstamo). Por tanto la expresión SQL es la siguiente: (select nombre_cliente from Impositor) union (select nombre_cliente from Prestatario) 7

8 Dado que la operación unión es una operación de conjunto por defecto no presenta valores duplicados por lo que si se desea conservarlos se debe utilizar la cláusula union all en lugar de union, así en el ejemplo anterior, la expresión SQL quedaría de la siguiente manera: Solución: (select nombre_cliente from Impositor) union all (select nombre_cliente from Prestatario) La operación Intersección Esta operación obtiene las tuplas comunes de dos relaciones. Forma General: Sean R1 y R2 dos Relaciones, sean R1 1, R R1 m atributos de R1 y R2 1, R2 2, R R2 m atributos de R2 entonces la expresión SQL para la intersección es: (select R1 1, R1 2 R1 m from R1 where P1) intersect (select R2 1, R2 2 R2 m from R2 where P2) Donde P1 y P2 son expresiones lógicas sobre los atributos de R1 y R2 respectivamente. Ejemplo: Obtener todos clientes que tienen tanto un préstamo como una cuenta en el Banco. Solución: (select distinct Nombre_Cliente from Impositor) intersect (select distinct Nombre_cliente from prestatario) Como en el caso de la operación unión, la operación de intersección elimina los duplicados por lo que como antes si estos se desean en la consulta se debe de utilizar la cláusula all es decir intersect all en lugar de intersect. Ejemplo: Obtener todos clientes que tienen tanto un préstamo como una cuenta en el Banco. Solución: (select distinct nombre_cliente from Impositor) intersect all (select distinct nombre_cliente from Prestatario) La operación excepto Esta operación representa a la operación de conjunto menos (-) del álgebra relacional. Forma General: Sean R1, R2 dos relaciones y sean R1 1, R R1 m y R2 1, R2 2,... R2 m atributos de R1 y R2 respectivamente, entonces la expresión SQL para esta operación es: (select R1 1, R1 2 R1 m from R1 where P1) except (select R2 1, R2 2,... R2 m from R2 where P2) Donde P1 y P2 son expresiones lógicas sobre los atributos de R1 y R2 respectivamente. Esta expresión obtiene las tuplas generadas por la expresión select R1 1, R1 2 R1 m from R1 where P1 menos las tuplas generadas por la expresión: select R2 1, R R2 m from R2 where P2. 8

9 Ejemplo: Obtener todos los clientes que tienen una cuenta en el banco pero que no tienen un préstamo. Solución: (select distinct nombre_cliente Impositor) except (select distinct nombre_cliente from Prestatario) Dado que esta operación es también una operación de conjunto, elimina los duplicados por lo que si estos se desean en la consulta se debe utilizar except all en lugar de except. Solución: (select distinct nombre_cliente Impositor) except all (select distinct nombre_cliente from Prestatario) 5.4 FUNCIONES DE AGREGACIÓN Las funciones de agregación son funciones que toman una colección (conjunto o multiconjunto) de valores como entrada y producen un único valor como salida. Las funciones primitivas de agregación son: Media (avg): Promedio de los valores del grupo. Mínimo (min): Mínimo de los valores del grupo. Máximo (max): Máximo de los valores del grupo. Suma (sum): Suma de los valores del grupo. Cuenta (count): Cuenta el número de valores, incluyendo los duplicados a menos que se eliminen con distinct Los valores de entrada a sum y avg debe ser una colección de números, pero el resto de funciones pueden operar también sobre cadenas. Ejemplo: Obtener la media de los saldos de las cuentas de la sucursal Linda Vista El conjunto de los Datos sobre los cuales actuará la función de agregación es el determinado por el atributo saldo de la relación Cuenta, la expresión SQL es la siguiente: Solución: select avg(saldo) from Cuenta where nombre_sucursal = 'Linda Vista' El resultado de esta consulta será una relación con un único atributo, que contendrá una única fila con un valor numérico correspondiente al saldo promedio de la Sucursal Linda Vista. Opcionalmente se puede dar un nombre al atributo resultado de la relación, usando la cláusula as La cláusula group by y las funciones de Agregación Existen situaciones en que es deseable aplicar las funciones de Agregación a determinadas agrupaciones de un atributo o conjunto de atributos, estas agrupaciones se logran utilizando la cláusula group by. El atributos o atributos especificados en la cláusula group by se usan para formar grupos. Las tuplas con el mismo valor en todos los atributos especificados en la cláusula group by se colocan en un grupo. Ejemplo: Obtener el promedio de saldo de las cuentas de cada sucursal. Solución: select nombre_sucursal, avg (saldo) from Cuenta group by nombre_sucursal 9

10 La conservación de duplicados es importante al calcular un promedio. Supongase que los saldos de las cuentas en la sucursal Linda Vista son C$ 1000, C$ 2500, C$ 3800, C$ El saldo medio es 15100/4= C$ Hay casos en los que se deben eliminar los duplicados antes de calcular una función de agregación. Para eliminar duplicados se utiliza la palabra clave distinct en la expresión de agregación. Ejemplo: Obtener el número de impositores de cada sucursal. En este caso un impositor sólo se debe contar una vez, sin tener en cuenta el número de cuentas que el impositor pueda tener. Solución: select nombre_sucursal count (distinct nombre_cliente) from Impositor, Cuenta where Impositor.numero_cuenta = Cuenta.numero_cuenta group by nombre_sucursal Uso de las cláusulas where y having con funciones de Agregación La cláusula where en este contexto se utiliza de forma similar a como se utiliza con comandos select que no utilizan funciones de agregación. Sin embargo se debe tener particular cuidado cuando se requiera realizar filtros sobre una consulta que ha utilizado funciones de agregación con agrupaciones, en este caso no se debe utilizar la cláusula where si no que la cláusula having. En otras palabras si en una misma consulta se desea efectuar un filtro para determinar la relación sobre la cual actuarán las funciones de agregación y otro filtro sobre la relación generada por estas funciones de agregación y la cláusula group by, entonces primero se utiliza la cláusula where y posteriormente en la expresión la cláusula having. Ejemplo: Obtener el promedio de los saldos mayores de 3,000 agrupados por nombre_sucursal. En este caso solo existe filtro a nivel de la salida agrupada (Promedio de los saldos > 3000), es decir solo se utilizará la cláusula having, la expresión SQL es: Solución: select nombre_sucursal, avg (saldo) from Cuenta group by nombre_sucursal having avg (saldo) > 3000 Con mucha frecuencia se usa la función de agregación count para contar el número de tuplas de una relación. La notación para esta función en SQL es count (*). Ejemplo: Encontrar el número de tuplas de la relación Cliente. Solución: select count (*) from Cliente SQL no permite el uso de distinct con count (*). Si se permite, sin embargo, el uso de distinct con max y min, incluso cuando el resultado no cambia. Se puede usar la palabra clave all en lugar de distinct para especificar la retención de duplicados, pero como all se especifica de manera predeterminada, no es necesario incluir dicha cláusula. Uso de where y having Si en una misma consulta aparece una cláusula where y una cláusula having, se aplica primero el predicado de la cláusula where. Las tuplas que satisfagan el predicado de la cláusula where se colocan en grupos según la cláusula group by. La cláusula having, si existe, se aplica entonces a cada grupo; los grupos que no satisfagan el predicado de la cláusula having se 10

11 eliminan. La cláusula select utiliza los grupos restantes para generar las tuplas resultado de la consulta. Ejemplo 2: Obtener el promedio del saldo de todos los clientes que viven en Managua y tienen como mínimo tres cuentas. σ Cliente.Ciudad_Cliente='Managua' (Impositor lxl Cliente lxl Cuenta) La agrupación se hará en función del atributo Impositor.nombre_cliente y el filtro (having) de la consulta de agrupación es 'tener como mínimo tres cuentas', por tanto la expresión SQL es: Solución: select Impositor.nombre_cliente, avg (saldo) from Impositor, Cuenta, Cliente where Impositor.numero_cuenta = Cuenta.Numero_Cuenta and Impositor.id_cliente = Cuenta.id_cliente and ciudad_cliente = 'Managua' group by Impositor.nombre_cliente having count (distinct impositor.numero_cuenta) > = 3 Nótese como en la cláusula having se pueden utilizar funciones de agregación, lo cual no es posible en la cláusula where SQL y valores nulos SQL permite el uso de valores nulos, indicando así la ausencia de información sobre el valor de un atributo. En un predicado se puede usar la palabra clave especial null para comprobar si un valor es nulo. Ejemplo: Obtener los números de préstamos en la relación Prestamo que no cuentan con datos en el atributo Importe. Solución: select numero_prestamo from Prestamo where Importe is null Nota: Si al contrario de esta consulta, se está interesado en obtener los números de prestamos con datos de Importe, en lugar de is null se utiliza la cláusula is not null. Algunas soluciones a las problemáticas de valores nulos en SQL (a) a op b = null para op = +, -, *, / Si a = null ó b = null (b) a comp b = desconocido para comp = (< =,<,> =,>,=,<>) si a ó b son nulos Las reglas extendidas para los conectores lógicos and y or son los siguientes: Cierto and Desconocido Desconocido Falso and Desconocido Falso Desconocido and Desconocido Desconocido Cierto or Desconocido Cierto Falso or Desconocido Desconocido Desconocido or Desconocido Desconocido Por otra parte SQL para expresiones del tipo select... from R1, R2,... Rn where P; si el predicado P es falso ó desconocido para un determinado conjunto de tuplas, estas no se añaden al resultado de la consulta. 11

12 SQL también permite decidir si el resultado de una operación aritmética ó lógica es desconocida utilizando la cláusula is unkown ó por el contrario se puede utilizar la cláusula is not unknown para indicar que la operación genera un determinado valor que no es desconocido Los valores Nulos y las funciones de Agregación En general las funciones de agregación tratan a los valores nulos según la siguiente regla: Todas las funciones de agregación excepto la función count ignoran los valores nulos del conjunto de datos de entrada de la función. En el caso de count si todos los valores del conjunto de datos son nulos entonces count devuelve 0, el resto de funciones devuelven un valor nulo en este caso. La existencia de valores nulos también complica el procesamiento de los operadores de agregación. Supóngase que algunas tuplas en la relación Préstamo tienen valor nulo para el atributo importe. Considérese en ese caso la siguiente consulta, que calcula el total de todas las cantidades prestadas: Solución: select sum(importe) from Prestamo En general, las funciones de agregación tratan los valores nulos según la regla siguiente: todas las funciones de agregación excepto count (*) ignoran los valores nulos de la colección de datos de entrada. Como resultado de ignorar los valores nulos, la colección de valores de entrada resulta vacía. 12

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL INTRODUCCIÓN A continuación se presentan lo que son comandos DLL y DML, las clausulas, lo operadores (lógicos y de comparación), funciones de agregado, consultas, tipos de

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

TEMA 4: MODELO RELACIONAL

TEMA 4: MODELO RELACIONAL TEMA 4: MODELO RELACIONAL 4.1 Introducción Los modelos Entidad-Relación y Relacional son representaciones abstractas de porciones del mundo real. Los dos modelos emplean principios de diseño similares,

Más detalles

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

Está basado en el álgebra y en el cálculo relacional. SQL DML. Introducción SQL. QUÉ ES. SQL (Structured Query Language, Lenguaje Estructurado de Consultas): Lenguaje que permite expresar operaciones diversas (aritméticas, combinatorias, lógicas, selección

Más detalles

TEMA 5: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

TEMA 5: MODIFICACIÓN DE LA BASE DE DATOS EN SQL TEMA 5: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 SUBCONSULTAS ANIDADAS SQl proporciona un mecanismo para las sub consultas anidadas. Una sub consulta es una expresión SQL de la forma select-from-where

Más detalles

Características del lenguaje SQL

Características del lenguaje SQL Lenguaje SQL Características del lenguaje SQL Es el lenguaje estándar para realizar operaciones en bases de datos relacionales. Instrucciones: SELECT Consulta. Su implementación está basada en álgebra

Más detalles

SQL. Dra. Amparo López Gaona () Posgrado en Ciencia e Ingeniería de la Compu. Abril 2012 / 14

SQL. Dra. Amparo López Gaona () Posgrado en Ciencia e Ingeniería de la Compu. Abril 2012 / 14 Dra. Amparo López Gaona tación, UNAM Abril 2012 Introducción El lenguaje (Structured Query Language) es el lenguaje estándar para trabajo con bases de datos relacionales. Permite la definición, acceso

Más detalles

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

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO? ORACLE 10g Descripción A QUIEN VA DIRIGIDO? Está dirigido a estudiantes y profesionista que desee conocer la tecnología Oracle, así como realizar extracción de datos, creación de objetos y administración

Más detalles

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

Tema 4: Dinámica del Modelo Relacional. El lenguaje SQL Tema 4: Dinámica del Modelo Relacional. El lenguaje SQL Departamento de Ciencias de la Computación e Inteligencia Artificial UNIVERSIDAD DE SEVILLA Bases de Datos Curso 2009--10 1 El Lenguaje SQL El Lenguaje

Más detalles

Conceptos Avanzados de Programación en Internet

Conceptos Avanzados de Programación en Internet Página 1 Conceptos Avanzados de Programación en Internet (1) Introducción a las Bases de Datos (2) Lenguaje Estándar de Consultas SQL Página 2 Lenguaje SQL. Introducción BD Justificación de las Bases de

Más detalles

APÉNDICE D. INTRODUCCIÓN A SQL

APÉNDICE D. INTRODUCCIÓN A SQL APÉNDICE D. INTRODUCCIÓN A SQL D.1 INTRODUCCIÓN. CONCEPTOS PREVIOS D.1.1 Base de Datos Relacional Conjunto de Datos que el usuario percibe como una colección de tablas. La visión tabular de los datos es

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

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

Usuarios de la base de datos

Usuarios de la base de datos Usuarios de la base de datos Un objetivo principal de un sistema de bases de datos es recuperar información y almacenar nueva información en la base de datos. Las personas que trabajan con una base de

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

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

Oracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo Oracle University Contacte con nosotros: 902 302 302 Oracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo Duración: 5 Días Lo que aprenderá En este curso, los estudiantes aprenderán los conceptos

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

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

INTRODUCCION A SQL CARACTERÍSTICAS DEL LENGUAJE ESTRUCTURADO DE CONSULTA SQL COMPONENTES DEL SQL INTRODUCCION A SQL Oracle fue la primera compañía que sacó al mercado un producto que usó el lenguaje estructurado de consulta basado en el idioma Inglés, o SQL. SQL le permite a los usuarios finales extraer

Más detalles

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

Base de Datos Oracle 10g: Introducción a SQL Oracle University Contacte con nosotros: 902 302 302 Base de Datos Oracle 10g: Introducción a SQL Duración: 5 Días Lo que aprenderá Este curso ofrece a los estudiantes una introducción a la tecnología

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

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

Oracle Database 10g: Conceptos Básicos de SQL y PL/SQL Oracle University Contacte con nosotros: 902 302 302 Oracle Database 10g: Conceptos Básicos de SQL y PL/SQL Duración: 5 Días Lo que aprenderá Obtendrá los conocimientos fundamentales de SQL y PL/SQL mediante

Más detalles

Oracle Database 10g: Introducción a SQL

Oracle Database 10g: Introducción a SQL Oracle University Contact Us: 001803 656 277 or +6221 25552132 Oracle Database 10g: Introducción a SQL Duration: 5 Days What you will learn Obtendrá los conocimientos esenciales de SQL con SQL Developer

Más detalles

Operador Restricción

Operador Restricción Algebra Relacional Conjunto de operadores que opera sobre relaciones Cada uno de estos operadores toma una o dos relaciones como entrada y produce una nueva relación como salida. Las relaciones originales

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

Tema 5. Otros lenguajes de consulta relacionales

Tema 5. Otros lenguajes de consulta relacionales Tema 5. Otros lenguajes de consulta relacionales Juan Ignacio Rodríguez de León Resumen Estudio de otros lenguajes relacionales de consulta orientados a usuarios. QED (Query by example). QUEL. (Lenguaje

Más detalles

Introducción a SQL 07/11/2014. Introducción a SQL

Introducción a SQL 07/11/2014. Introducción a SQL 07/11/2014 Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2014 Objetivos de este tema (I) Saber qué es SQL. Conocer

Más detalles

Consultas SQL II. Diego Egüez. Universidad San Francisco de Quito (USFQ)

Consultas SQL II. Diego Egüez. Universidad San Francisco de Quito (USFQ) Consultas SQL II Diego Egüez Universidad San Francisco de Quito (USFQ) Abstract En este trabajo se exploran las consultas o queries en SQL. Se hace enfoque en consultas complejas y subconsultas. Los comandos

Más detalles

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

Oracle Database: Conceptos Básicos de SQL y PL/SQL Oracle University Contact Us: +34916267792 Oracle Database: Conceptos Básicos de SQL y PL/SQL Duration: 5 Days What you will learn Este curso está diseñado para enseñar los conceptos fundamentales de SQL

Más detalles

Oracle Fundamentos. Programa de Estudio.

Oracle Fundamentos. Programa de Estudio. Oracle Fundamentos Programa de Estudio Oracle Fundamentos Aprende a programar en lenguaje SQL con la base de datos más poderosa del mercado. Diseña y Modela importantes bases de datos utilizando la herramienta

Más detalles

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 MODIFICACIÓN DE LA BASE DE DATOS SQL posee comandos destinados también para modificar la base de datos, entre estos se tienen operaciones de borrado,

Más detalles

REGLAS DE CODD DEL MODELO RELACIONAL

REGLAS DE CODD DEL MODELO RELACIONAL REGLAS DE CODD - 1 - REGLAS DE CODD DEL MODELO RELACIONAL En la década de los 80 s comenzaron a aparecer numerosos Sistemas de Gestión de Bases de Datos que se anunciaban como relacionales. Sin embargo

Más detalles

Modelo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Modelo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz Modelo Relacional Bibliografía: Fundamentos de bases de datos Korth, Silberschatz Modelos de datos Colección de herramientas conceptuales para describir datos, relaciones entre ellos, semántica asociada

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

UNIDAD I. ALGORITMOS

UNIDAD I. ALGORITMOS UNIDAD I. ALGORITMOS 1.1 Definición Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. 1.2 Tipos Cualitativos: Son aquellos

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

1. DML. Las consultas de resumen

1. DML. Las consultas de resumen 1.1 Introducción 1. DML. Las consultas de resumen Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes de los datos contenidos en las columnas de las tablas. Para poder llevarlo

Más detalles

SQL, Consultas. Son Importantes las Consultas? Cuál es el Resultado de SELECT? Andrés Moreno S.

SQL, Consultas. Son Importantes las Consultas? Cuál es el Resultado de SELECT? Andrés Moreno S. SQL, Consultas Andrés Moreno S. 1 Son Importantes las Consultas? Una cosa es guardar la información en forma estructurada y ordenada. Pero el utilizar la información y entender su relevancia son la clave

Más detalles

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS 2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS 2.1 Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como

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

SELECT listadecampos FROM nombredetablas WHERE condicionesdebúsqueda;

SELECT listadecampos FROM nombredetablas WHERE condicionesdebúsqueda; SQL El Lenguaje de Consulta Estructurado (SQL) se usa para consultar, actualizar y administrar bases de datos relacionales, tales como las de Microsoft Access. Al crear una consulta en la ventana Consulta,

Más detalles

SQL. Carlos A. Olarte BDI

SQL. Carlos A. Olarte BDI Carlos A. Olarte (carlosolarte@puj.edu.co) BDI Outline 1 Introducción 2 Select... from... where 3 Renombramiento 4 Ordenamiento 5 Reuniones 6 Operaciones sobre conjuntos 7 Funciones de Agregación 8 Subconsultas

Más detalles

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

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

Más detalles

Recuperar datos de filas y columnas de las tablas con la Ejecutar sentencias de manipulación de datos (DML) para a Buscar datos mediante subconsultas

Recuperar datos de filas y columnas de las tablas con la Ejecutar sentencias de manipulación de datos (DML) para a Buscar datos mediante subconsultas Oracle University 문의전화: 080-2194-400 Oracle Database 10g: Introducción a SQL Duration: 5 일 교육과정 상세보기 Obtendrá los conocimientos esenciales de SQL con SQL Deve estudiantes una introducción a la tecnología

Más detalles

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

Diseña y Administra Bases de Datos Guía de Estudio Diseña y Administra Bases de Datos Guía de Estudio Responde las preguntas que se te plantean Ordena los siguientes códigos: A. and edad=18 C. from clientes D. Select E. nombre, edad

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

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

Los DLL que permiten crear y definir nuevas bases de datos, campos e índices. Componentes del SQL El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones agregadas. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases

Más detalles

Terminología Equivalente

Terminología Equivalente Normalización La normalización de bases de datos es un proceso que consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidadrelación almodelo relacional.

Más detalles

Introducción a SQL (DML)

Introducción a SQL (DML) Introducción a SQL (DML) Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2013 Introducción a SQL Objetivos de este tema

Más detalles

Anexo 3 COMPONENTES DE SQL SERVER. Los DDL (Data Definition Languaje) que permiten crear y definir nuevas

Anexo 3 COMPONENTES DE SQL SERVER. Los DDL (Data Definition Languaje) que permiten crear y definir nuevas Anexo 3 COMPONENTES DE SQL SERVER COMANDOS Existen tres tipos de comandos SQL [5]: Los DDL (Data Definition Languaje) que permiten crear y definir nuevas bases de datos, campos e índices. En la tabla 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

20461 Consultas en Microsoft SQL Server 2014

20461 Consultas en Microsoft SQL Server 2014 20461C 20461 Consultas en Microsoft SQL Server 2014 Fabricante: Microsoft Grupo: Bases de Datos Subgrupo: Microsoft SQL Server 2014 Formación: Presencial Horas: 25 Introducción Este curso proporciona a

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 5: El Cálculo Relacional + SQL (I) Aidan Hogan aidhog@gmail.com LA ÚLTIMA VEZ... El Álgebra Relacional Formalizando demasiadas preguntas Y marcas de vino que tienen

Más detalles

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

La forma básica de la instrucción SELECT consta de tres cláusulas SELECT, FROM y WHERE (donde) La sintaxis básica de una consulta de selección es la siguiente: SELECT Campos FROM nombre_tabla; La forma básica de la instrucción SELECT consta de tres cláusulas SELECT, FROM y WHERE (donde) SELECT

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

CC BASES DE DATOS PRIMAVERA Clase 6: Cálculo Relacional & SQL (I) Aidan Hogan

CC BASES DE DATOS PRIMAVERA Clase 6: Cálculo Relacional & SQL (I) Aidan Hogan CC3201-1 BASES DE DATOS PRIMAVERA 2016 Clase 6: Cálculo Relacional & SQL (I) Aidan Hogan aidhog@gmail.com RESUMEN DE LOS CONTENIDOS ANTERIORES Renombramiento Actualizada. Sea R una relación. devuelve una

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

GIMNASIO VIRTUAL SAN FRANCISCO JAVIER Valores y Tecnología para la Formación Integral del Ser Humano UNIDAD II EXCEL

GIMNASIO VIRTUAL SAN FRANCISCO JAVIER Valores y Tecnología para la Formación Integral del Ser Humano UNIDAD II EXCEL UNIDAD II EXCEL COMPETENCIAS E INDICADORES DE DESEMPEÑO Identificar las funciones de microsoft excel utiliza la tabla de cálculo para elaborar documentos. Interactúa con las diferentes herramientas de

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

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

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

Transact-SQL. Declaraciones del Data Control Language (DCL) que se utilizan para determinar quién ve o modifica los datos. Transact-SQL SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia de los lenguajes de programación. No permite el uso de variables, estructuras

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

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

INFORMÁTICA MÉDICA. Profesor: MsC. Liz Armenteros Chávez INFORMÁTICA MÉDICA Profesor: MsC. Liz Armenteros Chávez Tema No.2: Gestión de la Información Biomédica Conferencia No.4 SQL: Structured Query Language. Consultas Simples. Marzo, 2014 Introducir las consultas

Más detalles

Lenguaje de manipulación de datos

Lenguaje de manipulación de datos Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación de la BD. El más popular es SQL. Tablas de ejemplo

Más detalles

Tema 2. Funciones Lógicas. Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas.

Tema 2. Funciones Lógicas. Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas. Tema 2. Funciones Lógicas Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas. Álgebra de conmutación Algebra de Conmutación: Postulados y Teoremas. Representación

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

Agrupamiento de registros. Elaboración de claúsulas avanzadas de selección. 31/12/2011. Unidad 9

Agrupamiento de registros. Elaboración de claúsulas avanzadas de selección. 31/12/2011. Unidad 9 Agrupamiento de registros Unidad 9 Elaboración de claúsulas avanzadas de selección. Un agrupamiento es el tratamiento único de varios registros que poseen un mismo valor de campo. Al realizar un agrupamiento,

Más detalles

Introducción a Transact-SQL

Introducción a Transact-SQL Introducción a Transact-SQL Introducción E lenguaje de programación Transact-SQL Tipos de instrucciones de Transact-SQL Elementos de la sintaxis de Transact-SQL El lenguaje de programación Transact-SQL

Más detalles

MATERIAL INTRODUCTORIO ORACLE 11G

MATERIAL INTRODUCTORIO ORACLE 11G MATERIAL INTRODUCTORIO ORACLE 11G Esp. JONATHAN GUERRERO ASTAIZA Capacidades de una sentencia SELECT La sentencia SELECT recibe información a partir de una base de datos. Con la sentencia SELECT usted

Más detalles

EJEMPLOS PRÁCTICOS SQL

EJEMPLOS PRÁCTICOS SQL EJEMPLOS PRÁCTICOS SQL EJEMPLOS PRÁCTICOS SQL INTEGRIDAD REFERENCIAL DROP SCHEMA IF EXISTS Tablas1; CREATE SCHEMA Tablas1; USE Tablas1; create table Cliente( Dni VARCHAR(10), Nombre VARCHAR(10), Apellido

Más detalles

SQL DML Select. Ges$ón y Modelación de Datos. María Constanza Pabón

SQL DML Select. Ges$ón y Modelación de Datos. María Constanza Pabón SQL DML Select Ges$ón y Modelación de Datos María Constanza Pabón mcpabon@javerianacali.edu.co SQL - DML Sentencias: INSERT UPDATE DELETE SELECT SQL - DML Query (consulta): proceso de recuperar datos de

Más detalles

Objetivos y Temario CURSO SQL SERVER 2012

Objetivos y Temario CURSO SQL SERVER 2012 Objetivos y Temario CURSO SQL SERVER 2012 OBJETIVOS Este curso está dirigido a todos los que comienzan a trabajar con SQL Server 2012. De una forma rápida y concisa obtendrá el conocimiento necesario para

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

SQL SERVER Curso Teórico-Práctico

SQL SERVER Curso Teórico-Práctico SQL SERVER 2008-2012 Curso Teórico-Práctico IMPLEMENTACION DE LA BASE DE DATOS Nomenclatura Todas las tablas tendrán: - Un identificador de tipo entero auto numérico. Ésta será la clave primaria. La denominamos

Más detalles

SQLModificaciones a la BD

SQLModificaciones a la BD SQL Modificaciones a la BD Amparo López Gaona tación Mayo 2012 Modificación de Datos Las instrucciones de SQL para modificación de los datos en una BD se clasifican en tres tipos: Insertar tuplas en una

Más detalles

Definición(2) La base (r) de un sistema de numeración especifica el número de dígitos o cardinal* de dicho conjunto ordenado. Las bases más utilizadas

Definición(2) La base (r) de un sistema de numeración especifica el número de dígitos o cardinal* de dicho conjunto ordenado. Las bases más utilizadas Sistemas numéricos MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Definición(1) Un sistema de representación numérica es un sistema de lenguaje que consiste en: un conjunto ordenado de símbolos

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

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

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

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

GUIA PRACTICA PARA LA APLICACIÓN DE MS EXCEL TECNOLOGIA/ INFORMATICA Fórmulas y funciones De la barra de menú seleccionmos la opción insertar y haciendo clic en la opción f x se desplegará el siguiente cuadro de diálogo a partir del cual escogeremos la función adecuada

Más detalles

Bases de datos 1. Teórico: Modelo Relacional

Bases de datos 1. Teórico: Modelo Relacional Bases de datos 1 Teórico: Modelo Relacional MODELO de DATOS RELACIONAL Conceptos del modelo relacional Restricciones del modelo relacional y esquemas de base de datos Operaciones de creación y modificación

Más detalles

Bases de datos: Lenguaje de consultas SQL

Bases de datos: Lenguaje de consultas SQL Bases de datos: Lenguaje de consultas SQL EMPEZAR LA CASA POR EL TEJADO Del código máquina a los lenguajes de alto nivel. Img 0. Del código máquina al lenguaje de alto nivel. Creación propia. De los sistemas

Más detalles

Manual de Sentencias Básicas en SQL

Manual de Sentencias Básicas en SQL Manual de Sentencias Básicas en SQL Pues hoy que he estado enredando un rato con MySQl, y me he acordado de aquellos comienzos en los que tenía que volver a mis antiguos apuntes para lograr entender las

Más detalles

BASES DE DATOS TEMA 2 MODELOS DE DATOS

BASES DE DATOS TEMA 2 MODELOS DE DATOS BASES DE DATOS TEMA 2 MODELOS DE DATOS 2.3 De red En este modelo las entidades se representan como nodos y sus relaciones son las líneas que los unen. En esta estructura cualquier componente puede relacionarse

Más detalles

UNIDAD4. 1. Procedimentales 2. No Procedimentales

UNIDAD4. 1. Procedimentales 2. No Procedimentales UNIDAD4 Concepto de Clasificación de Lenguajes Concepto: Un lenguaje de consulta es un lenguaje en el que un usuario solicita información de la base de datos. Estos lenguajes son normalmente de más alto

Más detalles

TEORÍA DE CONJUNTOS A ={ 1, 2, 3, 4, 5, 6 }

TEORÍA DE CONJUNTOS A ={ 1, 2, 3, 4, 5, 6 } TEORÍA DE CONJUNTOS CONJUNTOS Y TÉCNICAS DE CONTEO DEFINICIÓN Y NOTACIÓN DE CONJUNTOS El término conjunto juega un papel fundamental en el desarrollo de las matemáticas modernas; Además de proporcionar

Más detalles

Tema 7. Elaboración de consultas básicas de selección. Lenguajes de bases de datos. SQL básico 15/12/2011

Tema 7. Elaboración de consultas básicas de selección. Lenguajes de bases de datos. SQL básico 15/12/2011 Lenguajes de bases de datos Tema 7 Elaboración de consultas básicas de selección En esta unidad se abordan cuestiones que, aunque están definidas por el estándar ANSI/ISO SQL, no están asumidas al 100%

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

Atributos Los atributos son las columnas de un relación y describen características particulares de ella.

Atributos Los atributos son las columnas de un relación y describen características particulares de ella. Unidad III: Modelo relacional 3.1 Estructura básica Tablas El modelo relacional proporciona una manera simple de representar los datos: una tabla bidimensional llamada relación. título año duración tipo

Más detalles

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

2.4. Unidades de aprendizaje. Modelo Académico de Calidad para la Competitividad PSGB-02 15/22 2.4. Unidades de aprendizaje Unidad de aprendizaje: Programación para el manejo de bases de datos Número 1 Propósito de la unidad: Elaborará consultas en bases de datos, mediante el uso de operaciones,

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

EL MODELO DE DATOS RELACIONAL

EL MODELO DE DATOS RELACIONAL EL MODELO DE DATOS RELACIONAL El modelo de datos relacional se ha establecido actualmente como el principal modelo de datos para las aplicaciones de procesamiento de datos, esto debido a su simplicidad,

Más detalles

UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R

UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R Técnicas Inteligentes en Bioinformática Máster en Lógica, Computación e Inteligencia Artificial Dpto. Ciencias de la Computación e Inteligencia Artificial

Más detalles

6.1 Introducción. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1

6.1 Introducción. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1 6.1 Introducción SQL es más amigable para el usuario, a diferencia de Algebra Relacional, Aunque está basado principalmente en él. Es el lenguaje comercial más popular. Es el lenguaje estándar de las Bases

Más detalles

MICROSOFT ACCESS 2007

MICROSOFT ACCESS 2007 MICROSOFT ACCESS 2007 1. AVANZADO Nº Horas: 24 Objetivos: Descripción del funcionamiento del programa de gestión de bases de datos Microsoft Access 2007, estudiando los conceptos fundamentales de las bases

Más detalles

Microsoft Access 2003 (Completo)

Microsoft Access 2003 (Completo) Página 1 Horas de teoría: 27 Horas de práctica: 25 Precio del Curso: 167 Descripción del funcionamiento del programa de gestión de bases de datos Microsoft Access 2003, estudiando los conceptos fundamentales

Más detalles

5. INTRODUCCIÓN A LAS HOJAS DE CÁLCULO

5. INTRODUCCIÓN A LAS HOJAS DE CÁLCULO Unidad 5. Introducción a las Hojas de Cálculo Pag: 1/6 5. INTRODUCCIÓN A LAS HOJAS DE CÁLCULO Una hoja de cálculo es, una tabla de información dispuestas en filas y columnas. A las columnas se les nombra

Más detalles

Gestión de los datos en una base de datos.

Gestión de los datos en una base de datos. Gestión de los datos en una base de datos. 1 Una vez dispuestos los datos en las tablas que se han definido como apropiadas para el sistema de información, se deben procesar para derivar de ellos la información

Más detalles

Velneo vodbc Driver V7 7.9

Velneo vodbc Driver V7 7.9 Velneo vodbc Driver V7 7.9 Odbc Driver V7...3 Configuración...3 Referencia de comandos SQL...4 Sentencia SELECT...4 Sintaxis...4 Entradas...4 Salidas...5 Sentencia SELECT simple...5 Sentencia Select conteniendo

Más detalles