SQL: Lenguaje de acceso a bases de datos

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

Download "SQL: Lenguaje de acceso a bases de datos"

Transcripción

1 SQL: Lenguaje de acceso a bases de datos Israel Herraiz Universidad Politécnica de Madrid Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 1/92

2 Contenidos 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 2/92

3 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 3/92

4 Introducción a las bases de datos Sobrecarga de información en el mundo actual Demasiada información, solo puede tratarse por medios automáticos e informáticos Los datos pueden ser en cualquier formato y de cualquier tipo Texto en diferentes idiomas Imágenes Sonidos Vídeos No podemos permitirnos perder información La información tiene que estar almacenada de manera segura y permanente Accesible por múltiples usuarios Fácilmente actualizable Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 4/92

5 Vamos a intentar hacer nuestro propio Facebook Qué información y datos son la base del funcionamiento de Facebook? Qué propiedades tienen que cumplir esos datos y su almacenamiento? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 5/92

6 Sistemas de gestión de base de datos El sistema de gestión de base de datos (SGBD) controla la base de datos. La mejor opción dependerá de las características de las que se encarga el SGBD. Almacenamiento La base de datos está en uno o varios ficheros en el disco. Número de usuarios En la mayoría de las aplicaciones varios usuarios accederán a la vez a la base de datos. Seguridad No todos los usuarios pueden acceder a los mismos datos, ni con los mismos permisos. Los datos están protegidos de accesos no autorizados. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 6/92

7 Sistemas de gestión de base de datos (cont.) Rendimiento La cantidad de datos, el tipo de datos, el número de usuarios, influyen en el rendimiento (la velocidad y los recursos que necesitará el SGBD para dar una respuesta). Escalabilidad Es fácil migrar a una plataforma diferente? Y añadir más capacidad a la base de datos? Coste Algunos SGBD son muy caros, otros literalmente se pueden obtener de manera gratuita. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 7/92

8 Cuáles son los SGBD más habituales? SGBD Coste Entorno IBM DB2 Medio Profesionales Oracle Alto Profesionales, admón. pública MS SQL Server Bajo Web con servidores MS MySQL Gratis Web con servidores LAMP PostgreSQL Gratis Profesionales, web MS Access Bajo Doméstico LibreOffice Base Gratis Doméstico Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 8/92

9 Cómo organizamos los datos en la base de datos? La actividad de decidir y organizar los datos que se almacenarán en la BD se llama modelado de datos. Se emplea el lenguaje SQL (Structrured Query Language). SQL Es un estándar ISO, aunque hay diferencias entre SGBD. Es un lenguaje declarativo (qué se hace, no cómo se hace). Insensible a mayúsculas. Para modelar, definimos tablas y esquemas de datos, relaciones entre los datos, y propiedades de manipulación de los datos. Documentación de referencia Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 9/92

10 Cómo funciona un SGBD? Arquitectura cliente-servidor PostgreSQL El servidor escucha normalmente en el puerto 5432 TCP. En Ubuntu, la versión 9.1 está configurada para escuchar en el puerto 5434 TCP. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 10/92

11 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 11/92

12 Primeros pasos en SQL Estas operaciones se pueden hacer usando el gestor pgadmin, o directamente en SQL. Crear una BD CREATE DATABASE facebook; Eliminar una BD DROP DATABASE facebook; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 12/92

13 Tablas Los datos se organizan en tablas. Las tablas tienen columnas, que pueden ser de diferentes tipos (texto, números, fechas). Crear y borrar una tabla CREATE TABLE amigos (nombre VARCHAR, edad INT, VARCHAR); DROP TABLE amigos; Añadir registros a una tabla INSERT INTO amigos VALUES ( Lionel Messi,24, messi@fcbarcelona.es ); Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 13/92

14 Extraer información Los datos se extraen el comando SELECT Leer todas las columnas SELECT FROM amigos; Leer solo algunas columnas SELECT nombre, edad FROM amigos; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 14/92

15 Filtrar información Igual que seleccionamos columnas, podemos seleccionar solo las filas que cumplan determinadas condiciones. Ejemplo de filtro SELECT FROM amigos WHERE edad < 25; Distinto que SELECT nombre, edad FROM amigos WHERE edad <> 24; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 15/92

16 Filtrar información Ejercicio Crear una tabla de amigos para la base de datos facebook. Borrar previamente cualquier otra tabla que pudiera existir en la base de datos. Cada persona estará identificada por su nombre, edad, lugar de residencia y dirección de correo electrónico Tiene que contener al menos 10 personas (anota las consultas usadas para añadir la información). Escribe una consulta para encontrar a los menores de edad. Escribe una consulta para encontrar a los mayores de 65 años. Escribe una consulta para encontrar a las personas que no viven en Madrid. Escribe una consulta para obtener todos los datos de todas las personas que están en la base de datos. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 16/92

17 Borrar información Del mismo modo que seleccionamos información que cumple unos determinados criterios, podemos borrar de manera selectiva registros. Borrar todos los registros DELETE FROM amigos; Borrar todos los menores de edad DELETE FROM amigos WHERE edad < 18; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 17/92

18 Diferencias entre DROP y DELETE Pregunta Hemos visto los comandos DROP y DELETE, que sirven para quitar información de la base de datos. Cuál es la diferencia entre ambos comandos? En qué situaciones usarías uno y otro? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 18/92

19 Diferencias entre DROP y DELETE Pregunta Hemos visto los comandos DROP y DELETE, que sirven para quitar información de la base de datos. Cuál es la diferencia entre ambos comandos? En qué situaciones usarías uno y otro? Respuesta DROP borra por completo una tabla de la base de datos, y no puede eliminar de manera selectiva. Se usa si ya no necesitamos una tabla, si estamos haciendo pruebas o si hay que volver a crear una tabla. DELETE borra filas (registros) de una tabla, de manera selectiva, y deja el resto de la tabla intacta. Se usa por ejemplo para eliminar un usuario de nuestro sistema. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 18/92

20 Cambiar una tabla sin borrarla Es habitual que necesitemos cambiar el esquema de una tabla para añadir columnas, o eliminar columnas que ya no necesitemos. El resto de datos no se toca en absoluto. Añadir una columna ALTER TABLE amigos ADD COLUMN telefono VARCHAR; Eliminar una columna ALTER TABLE amigos DROP COLUMN telefono; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 19/92

21 Actualizar información Podemos cambiar datos específicos de una tabla sin tocar el resto, usando el comando UPDATE. Cambiar el lugar de residencia UPDATE amigos SET residencia = Getafe ; Bloquear menores de edad UPDATE amigos SET estado = bloqueado WHERE edad < 18; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 20/92

22 Ejemplo Ejercicio Añade una columna para el número de teléfono y otra para que indique su dirección de chat MSN Cuál es el contenido de esas columnas justo tras haberlas creado? Actualiza el número de teléfono de cada una de las personas de la tabla amigos, usando cualquier número que se te ocurra. Todos los amigos de la tabla usan su dirección de para el chat MSN, así que ambos datos coinciden. Cómo puedes aprovechar los datos que ya están en la tabla para actualizar las columna con la dirección del chat? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 21/92

23 Test resumen de introducción a SQL Responde a las siguientes preguntas Qué comando se usa para crear una base de datos? Qué comando se usa para crear una tabla? Qué necesitamos especificar? Para qué sirve el comando DROP? Cómo se extrae información de una base de datos? Cuál es la diferencia entre UPDATE y ALTER? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 22/92

24 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 23/92

25 Introducción al diseño de bases de datos Qué es una base de datos relacional? Abstracción lógica que describe una colección de objetos interrelacionados. Contiene tablas, y dentro de cada tabla, registros. Las tablas pueden establecer relaciones entre sí. Cómo creamos una base de datos? Primero es necesario crear un modelo de datos. El modelo de datos transforma la información que queremos manejar en un sistema relacional, con tablas, columnas y relaciones entre tablas. Hay tres niveles de modelado: Conceptual Lógico Físico Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 24/92

26 Pasos en el modelado Conceptual Lógico Físico Pasos Conceptual Lógico Físico Entidades X Relaciones X X Atributos X Claves primarias X X Claves ajenas X X Tablas / Vistas X Columnas X Tipos de datos X Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 25/92

27 Modelado conceptual En el modelado conceptual se definen entidades y relaciones. Entidades Objetos físicos o conceptos abstractos de la aplicación. Por ejemplo, en una biblioteca: libros, autores, usuarios de la biblioteca, editoriales. Relaciones Las relaciones definen cómo interactúan las entidades. Por ejemplo, un libro puede tener varios autores, y un usuario puede prestar varios libros. Las relaciones se definen mediante claves primarias y ajenas. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 26/92

28 Modelado lógico Atributos Se definen qué atributos tienen las diferentes entidades. Por ejemplo, un autor tiene un nombre, fecha de nacimiento. Un libro tiene título, autor, ISBN. La clave está en elegir qué atributos son importantes y cuáles irrelevantes, para no añadir información innecesaria a la base de datos. Por ejemplo, es irrelevante el color de ojos de un autor. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 27/92

29 Modelado físico Detalles relacionados con el SGBD elegido Implementación de la información anterior en SQL, usando los tipos de datos proporcionados por el SGDB elegido. Es necesario especificar también los nombres de las columnas. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 28/92

30 Modelado físico Detalles relacionados con el SGBD elegido Implementación de la información anterior en SQL, usando los tipos de datos proporcionados por el SGDB elegido. Es necesario especificar también los nombres de las columnas. Por qué son necesarios tipos de datos? Qué tipos de datos crees que existen en un SGBD? Por qué son necesarios? Por qué no simplemente poner todos los campos de todas las tablas como texto? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 28/92

31 Cómo hacemos un buen modelo de datos? El requisito fundamental es entender el problema que estamos intentando modelar. Para entender el problema es necesario realizar una ingeniería de requisitos, preguntando a las personas que van a usar el sistema. Una vez que tengamos la información necesaria para saber cómo funciona el sistema, podemos empezar con las tres etapas del modelado. El modelado es iterativo. Conforme vamos obteniendo un modelo más detallado será necesario volver atrás para cambiar algo decidido en una etapa anterior. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 29/92

32 Claves primarias Una clave primaria identifica de manera única a cada registro de una tabla. Por ejemplo, el DNI podría ser una buena clave primaria para una base de datos de personas. Buena práctica Indicar siempre una clave primaria para todas las tablas que creemos. La clave primaria no puede estar vacía Hay que asegurarse que no hay dos registros con la misma clave primaria (o el SGBD dará error). Una vez creada, la clave primaria no debería cambiarse nunca Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 30/92

33 Ejemplo Clave primaria de la tabla amigos CREATE TABLE amigos (nombre VARCHAR, VARCHAR, edad INT, PRIMARY KEY ( )); Añadir una clave primaria a una tabla ya creada ALTER TABLE amigos ADD PRIMARY KEY ( ); Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 31/92

34 Claves ajenas Una clave ajena se refiere a un registro de otra tabla. La clave ajena se refiere normalmente a la clave primaria de otra tabla. Es necesario que se refiera a un atributo único de otra tabla, pero no es imprescindible que sea clave primaria. La clave ajena también puede referirse a registros dentro de la misma tabla. El registro al que se refiere la clave ajena tiene que existir siempre. Un amigo puede tener una foto de su perfil CREATE TABLE amigos (nombre VARCHAR, VARCHAR PRIMARY KEY, foto_perfil INT REFERENCES fotos(foto_id), edad INT); Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 32/92

35 Más ejemplos con claves ajenas Otra manera de definirla CREATE TABLE amigos (nombre VARCHAR, VARCHAR, foto_perfil INT, edad INT, PRIMARY KEY ( ), FOREIGN KEY (foto_perfil) REFERENCES fotos(foto_id)); Si la tabla ya existe ALTER TABLE amigos ADD CONSTRAINT foto_perfil_fk FOREIGN KEY (foto_perfil) REFERENCES fotos(foto_id); Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 33/92

36 Precauciones con claves ajenas Hay que preservar la integridad referencial. Una clave ajena siempre tiene que apuntar a un registro que exista. Si se borra el registro al que apunta, hay que borrar también el registro con la clave ajena. Esto puede dar problemas al añadir por primera vez los datos a la tabla, y al borrar datos de la base de datos. Para evitar estos problemas, existen opciones dentro de PostgreSQL para desactivar momentáneamente la comprobación de la integridad referencial (útil al popular una base de datos), y opciones dentro del lenguaje SQL para borrar en cascada registros involucrados en claves ajenas. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 34/92

37 Modelado de datos de Facebook Modelo conceptual Cuáles son las entidades que hay en la base de datos de Facebook? Clasifica las entidades en principales y secundarias. Qué relaciones existen entre las diferentes entidades? Modelo lógico Cuáles son los atributos de cada entidad? Qué información define de manera única a cada objeto de cada entidad? Por ejemplo, qué información define de manera única a un usuario registrado en Facebook. Qué información define las relaciones entre entidades? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 35/92

38 Representación gráfica del modelo de datos Diagramas de relaciones y cardinalidad Ejemplo de diagrama Símbolos de cardinalidad Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 36/92

39 Ejemplo Qué significa este diagrama? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 37/92

40 Ejemplo Diagrama de relaciones de Facebook Basándote en el modelo lógico obtenido anteriormente, dibuja el diagrama de relaciones del modelo de datos de Facebook. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 38/92

41 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 39/92

42 Tipos de datos Los tipos de datos definen qué clase de información podemos almacenar en un campo. SQL define algunos tipos básicos (textos, números), pero la mayoría de los SGBD extiende estos tipos con algunos propios. Vamos a ver cómo manejar información de cuatro tipos diferentes Valores lógicos (booleanos) Texto Números Temporales (fechas, horas) Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 40/92

43 Valores lógicos (booleanos) Es el tipo más sencillo. Solo puede tomar dos valores: verdadero (TRUE) falso (FALSE) Se puede escribir de varias maneras (insensible a mayúsculas): Verdadero Falso 1 0 yes no y n true false t f Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 41/92

44 Texto Se puede representar un solo carácter, cadenas de texto de longitud fija y cadenas de texto de longitud variable. Comando Explicación char Un único carácter char(n) Cadena de longitud fija varchar(n) Cadena de longitud variable, máximo n caracteres varchar Cadena de longitud arbitraria. Específico de PostgreSQL text Igual que varchar. Específico de PostgreSQL Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 42/92

45 Números Números enteros: smallint (entre y 32767) int Números reales: float Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 43/92

46 Valores temporales date para almacenar una fecha time para almacenar una hora timestamp para almacenar fecha y hora interval para almacenar diferencias entre fechas y horas timestamptz para almacenar fecha y hora con información de la zona horaria. Específico de PostgreSQL Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 44/92

47 Funciones para usar con fechas y horas Todas las funciones de fecha y hora que veremos aquí son específicas de PostgreSQL. Formato de fechas INSERT INTO amigos ( , fecha_nac) VALUES ( yo@me.com, ); Extraer año, mes, día Se usa la función date_part. Ejemplo: SELECT FROM amigos WHERE date_part( month,fecha_nac) = 9; Acepta: year, month, day, hour, minute, second Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 45/92

48 Comparar fechas y horas Se usan los operadores habituales SELECT FROM amigos WHERE fecha_nac > ; Diferencias entre fechas y horas Número de días transcurridos desde nuestro nacimiento: SELECT NOW() fecha_nac FROM amigos; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 46/92

49 Calcular diferencias entre fechas y horas Tipo de datos INTERVAL Diferencia en formato INTERVAL SELECT AGE(NOW(),fecha_nac) FROM amigos; Manejar intervalos SELECT FROM amigos WHERE AGE(NOW(),fecha_nac) > INTERVAL 17 years ; Convertir intervalo a segundos SELECT EXTRACT( epoch FROM AGE(NOW(),fecha_nac)) FROM amigos; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 47/92

50 Compatibilidad de las funciones de hora y fecha Todas las funciones para hacer cálculos con fechas y horas que hemos visto son específicas de PostgreSQL. Existen algunas equivalencias que mejoran la portabilidad del código que use estas funciones, pero el SQL estándar no tiene tantas facilidades como las funciones de PostgreSQL. Equivalencias: En SQL estándar NOW() es CURRENT_TIMESTAMP En SQL estándar las fechas hay que escribirlas como en cast( AS date) La diferencia entre fechas devuelve un número entero, que es el número de días entre ambas fechas. No hay otras funciones que podamos usar en SQL estándar para manejar fechas y horas. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 48/92

51 Un tipo especial: NULL NULL es un tipo especial que representa la ausencia de valor. Cuando un campo no contenga datos, debe contener NULL. Ningún campo debería aceptar NULL como un valor posible, desde el punto de vista de cómo funciona nuestra aplicación. Cómo se introduce un valor NULL? Cuando creamos campos (añadiendo filas o columnas) sin especificar su contenido, automáticamente el valor que tiene es NULL. Cómo se identifica un valor NULL? No se puede usar una comparación normal. Hay que usar IS NULL o IS NOT NULL. Por ejemplo: SELECT FROM amigos WHERE edad IS NULL; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 49/92

52 Ejemplo Ejercicio: escribe el código SQL Con lo que ya aprendido sobre cómo crear una tabla, cómo establecer relaciones entre tablas en SQL (claves primarias, claves ajenas) y sobre los tipos de datos disponibles, transforma el diagrama del modelo de datos de Facebook a código SQL. Puede que tras conocer qué tipos de datos hay disponibles en SQL, quieras refinar y mejorar el modelo de datos. Cámbialo si lo crees necesario, y actualiza el diagrama de relaciones. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 50/92

53 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 51/92

54 Consultas de información en SQL Hasta ahora, hemos visto cómo crear la estructura de la base de datos, expresándola en código SQL. Hemos usado SQL como un lenguaje de definición de datos (DDL por sus siglas en inglés). Pero SQL es también: lenguaje de manipulación de datos (DML) lenguaje de consulta de datos (DQL) Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 52/92

55 Consultas de información en SQL Hasta ahora, hemos visto cómo crear la estructura de la base de datos, expresándola en código SQL. Hemos usado SQL como un lenguaje de definición de datos (DDL por sus siglas en inglés). Pero SQL es también: lenguaje de manipulación de datos (DML) lenguaje de consulta de datos (DQL) Pregunta De todos los comandos vistos, dónde podríamos colocar cada comando en la siguiente clasificación? DDL DML DQL Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 52/92

56 Alias Un alias sirve para cambiar momentáneamente el nombre a algo, durante una consulta, para hacer la escritura de la consulta más sencilla, o para visualizar el resultado de una manera más inteligible. Consulta con un alias Se especifica con AS, y se aplica a columnas, tablas y/o consultas enteras. SELECT DATE_PART( year,age(now(),fecha_nac)) AS edad FROM amigos; SELECT FROM amigos AS t WHERE t.residencia = Valencia ; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 53/92

57 Eliminar duplicados Con el comando DISTINCT podemos seleccionar solo resultados que no están duplicados. Ciudades en nuestra base de datos SELECT DISTINCT residencia FROM amigos; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 54/92

58 Eliminar duplicados Con el comando DISTINCT podemos seleccionar solo resultados que no están duplicados. Ciudades en nuestra base de datos SELECT DISTINCT residencia FROM amigos; Cuál es la diferencia con esta consulta? SELECT residencia FROM amigos; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 54/92

59 Ordenar los resultados Cuando hacemos una consulta, el orden de los resultados no está garantizado. Normalmente se devuelven en el mismo orden en que se escribieron. Podemos decidir el orden usando el comando ORDER BY. De menor a mayor SELECT FROM amigos ORDER BY edad; De mayor a menor SELECT FROM amigos ORDER BY edad DESC; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 55/92

60 Ordenar por criterios múltiples Se puede ordenar por varias columnas SELECT FROM amigos ORDER BY edad, num_amigos; Ordenar en diferentes órdenes SELECT FROM amigos ORDER BY edad DESC, num_amigos ASC; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 56/92

61 Limitar la cantidad de registros Los cinco más viejos del lugar Específico de PostgreSQL SELECT FROM amigos ORDER BY edad DESC LIMIT 5; Mismo ejemplo, en SQL estándar SELECT FROM amigos ORDER BY edad DESC FETCH FIRST 5 ROWS ONLY; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 57/92

62 Limitar la cantidad de registros Con OFFSET podemos empezar la cuenta en la fila que queramos. Es un comando SQL estándar. Los (siguientes) tres más viejos del lugar SELECT FROM amigos ORDER BY edad DESC OFFSET 5 LIMIT 3; Mismo ejemplo, en SQL estándar SELECT FROM amigos ORDER BY edad DESC FETCH OFFSET 5 FIRST 3 ROWS ONLY; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 58/92

63 Añadir registros con información parcial Como vimos, podemos añadir registros a una tabla con el comando INSERT indicando los valores de cada columna. Si no tenemos los datos correspondientes a alguna columna, se puede obviar. Nos falta la fecha de nacimiento INSERT INTO amigos (nombre, ) VALUES ( Lionel Messi, messi@fcbarcelona.es ); Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 59/92

64 Añadir registros con información parcial Como vimos, podemos añadir registros a una tabla con el comando INSERT indicando los valores de cada columna. Si no tenemos los datos correspondientes a alguna columna, se puede obviar. Nos falta la fecha de nacimiento INSERT INTO amigos (nombre, ) VALUES ( Lionel Messi, messi@fcbarcelona.es ); Pregunta Se te ocurre algún caso en el que un INSERT con información puede fallar? Es decir, hay alguna columna que nunca se pueda omitir? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 59/92

65 Operadores en consultas SQL Operadores lógicos ALL AND ANY BETWEEN IN NOT OR Ejemplos con operadores SELECT FROM amigos WHERE edad BETWEEN 18 AND 30; SELECT FROM amigos WHERE edad NOT IN (15, 16, 17); Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 60/92

66 Agregar y agrupar registros Funciones que usan información compuesta AVG COUNT MAX MIN SUM Ejemplos SELECT COUNT( ) FROM amigos; SELECT AVG(edad), MIN(edad), MAX(edad) FROM amigos; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 61/92

67 Consultas por grupos Podemos usar GROUP BY para agrupar los resultados por uno o varios campos, y aplicar las funciones anteriores solo a los campos dentro de cada grupo. Ejemplo SELECT residencia, COUNT( ), AVG(edad) FROM amigos GROUP BY residencia; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 62/92

68 Consultas por grupos Podemos usar GROUP BY para agrupar los resultados por uno o varios campos, y aplicar las funciones anteriores solo a los campos dentro de cada grupo. Ejemplo SELECT residencia, COUNT( ), AVG(edad) FROM amigos GROUP BY residencia; Pregunta Qué calcula la consulta anterior? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 62/92

69 Más sobre GROUP BY Agrypar por varios criterios SELECT residencia, edad, COUNT( ) FROM amigos GROUP BY residencia, edad; Agrupar si cumplen una condición SELECT residencia, COUNT( ), AVG(edad) FROM amigos GROUP BY residencia HAVING AVG(edad)>20; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 63/92

70 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 64/92

71 Consultas múltiples Cuando hacemos una consulta, el resultado no es más que una tabla temporal, que tiene las mismas propiedades que el resto de tablas. Por tanto, podemos aplicar a su vez consultas sobre los resultados de consultas. Es obligatorio asignar un alias a cada una de las consultas que vamos a consultar a su vez. Ejemplo La tabla amigos sin el campo edad, pero con un campo fecha_nac. Cómo seleccionamos los registros que son mayores de edad? SELECT nombre, FROM (SELECT nombre, , AGE(NOW(),fecha_nac) AS edad FROM amigos) AS c WHERE c.edad > INTERVAL 18 years ; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 65/92

72 Consultas múltiples en WHERE Dentro de la cláusula WHERE podemos hacer consultas y comprobarlas usando los comandos IN, EXISTS, ANY y ALL. Seleccionar las fotos de los valencianos SELECT foto_id FROM fotos WHERE owner IN (SELECT FROM amigos WHERE residencia = Valencia ); Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 66/92

73 Consultas múltiples en WHERE Dentro de la cláusula WHERE podemos hacer consultas y comprobarlas usando los comandos IN, EXISTS, ANY y ALL. Seleccionar las fotos de los valencianos SELECT foto_id FROM fotos WHERE owner IN (SELECT FROM amigos WHERE residencia = Valencia ); Pregunta Recuerda que la clave primaria de amigos era la columna . Cómo cambiaría el resultado de la consulta anterior si ejecutamos la siguiente consulta? Por qué? SELECT foto_id FROM fotos WHERE owner IN (SELECT DISTINCT FROM amigos WHERE residencia = Valencia ); Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 66/92

74 Consultas múltiples en HAVING Cuando agrupamos, si imponemos una condición, también puede ser el resultado de una consulta. Ejemplo SELECT residencia, edad, COUNT( ) FROM amigos GROUP BY residencia, edad HAVING edad < (SELECT AVG(edad) FROM amigos); Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 67/92

75 Consultas múltiples en HAVING Cuando agrupamos, si imponemos una condición, también puede ser el resultado de una consulta. Ejemplo SELECT residencia, edad, COUNT( ) FROM amigos GROUP BY residencia, edad HAVING edad < (SELECT AVG(edad) FROM amigos); Pregunta Qué resultados devuelve la consulta anterior? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 67/92

76 JOINS Cuando la consulta múltiple extrae información de varias tablas, también se pueden usar JOIN. La combinación puede ser de varias formas: INNER JOIN (solapamiento), LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL JOIN Redundancia y rendimiento El modelo de datos debe evitar la redundancia de datos. Si se necesita una información en algún otro lugar del modelo, hay que incluir una relación para poder combinar diferentes tablas de manera sencilla. Esto facilita el mantenimiento y la integridad de los datos. Por otro lado, las consultas múltiples son más lentas y pueden consumir más memoria. El modelo de datos debe facilitar las consultas múltiples que necesitemos, pero siempre sin caer en la duplicidad de datos. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 68/92

77 INNER JOIN Combina datos de varias tablas, y devuelve el solapamiento entre todas las tablas. Fotos que pertenecen a una persona SELECT foto_id FROM fotos AS f INNER JOIN amigos AS a ON f.owner_id = a. ; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 69/92

78 Sintaxis alternativa para INNER JOIN El estándar SQL prefiere la forma con INNER JOIN a la alternativa, pero ambas son válidas. Otra manera de escribirlo SELECT foto_id FROM fotos AS f, amigos AS A WHERE f.owner_id = a. ; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 70/92

79 Sintaxis alternativa para INNER JOIN El estándar SQL prefiere la forma con INNER JOIN a la alternativa, pero ambas son válidas. Otra manera de escribirlo SELECT foto_id FROM fotos AS f, amigos AS A WHERE f.owner_id = a. ; Ejercicio Escribe una consulta para extraer todas las fotos que hayan subido los menores de edad. Al lado de cada foto_id debe aparecer el y la edad del dueño. Escribe una consulta para contar el número de fotos que ha subido cada uno de los menores de edad. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 70/92

80 JOIN con varias tablas Un INNER JOIN puede hacerse con tantas tablas como queramos. Fotos, edad y ciudades SELECT foto_id, owner_id, residencia, poblacion FROM fotos AS f INNER JOIN amigos AS a ON a. = f.owner_id INNER JOIN ciudades AS c ON a.residencia = c.nombre_ciudad; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 71/92

81 LEFT OUTER JOIN Todos los registros de la tabla izquierda, junto con los datos adicionales que puedan tener en la tabla derecha. Fotos que pertenecen a una persona y las que no pertenecen a nadie SELECT foto_id FROM fotos AS f LEFT OUTER JOIN amigos AS a ON f.owner_id = a. ; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 72/92

82 Ejemplo El resultado es el mismo? Cuál devolverá más registros? SELECT foto_id FROM fotos AS f LEFT OUTER JOIN amigos AS a ON f.owner_id = a. ; SELECT foto_id FROM fotos AS f INNER JOIN amigos AS a ON f.owner_id = a. ; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 73/92

83 RIGHT OUTER JOIN Todos los registros de la tabla derecha, junto con los datos adicionales que puedan tener en la tabla izquierda. Fotos de los usuarios junto a usuarios sin fotos SELECT , foto_id FROM amigos AS a RIGHT OUTER JOIN fotos AS f ON f.owner_id = a. ; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 74/92

84 FULL JOIN Combinación del LEFT OUTER JOIN y del RIGHT OUTER JOIN Todas las fotos (con y sin dueño), todos los usuarios (con y sin fotos) SELECT , foto_id FROM amigos AS a FULL JOIN fotos AS f ON f.owner_id = a. ; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 75/92

85 Ejemplo Ejercicio Usando las tablas amigos y fotos y las consultas que hemos visto en los ejemplos con los JOIN, ordena los siguientes de mayor a menor número de resultados: INNER JOIN LEFT OUTER JOIN FULL JOIN RIGHT OUTER JOIN Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 76/92

86 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 77/92

87 Optimización de consultas Depende de cómo se haga una consulta, el resultado puede obtenerse muy rápido o tardar días. Además de un correcto diseño del modelo de datos, y de escribir la mejor consulta para la información que queremos obtener, el mantenimiento de la base de datos puede acelerar su rendimiento. También podemos usar PostgreSQL para que ayude a optimizar nuestras consultas. Optimización de consultas) Usar VACUUM (específico de PostgreSQL) EXPLAIN y ANALYZE (específico de PostgreSQL) Índices Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 78/92

88 VACUUM El comando VACUUM actualiza las estadísticas que usa PostgreSQL para decidir cómo hace las consultas (el optimizador) y compacta la base de datos eliminando espacio no usado (registros marcados como borrados). Limpia la base de datos VACUUM amigos; Limpia la base de datos (más información) VACUUM VERBOSE amigos; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 79/92

89 VACUUM ANALYZE Limpia la base de datos (actualiza estadísticas) VACUUM ANALYZE amigos; Optimización agresiva VACUUM FULL ANALYZE amigos; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 80/92

90 EXPLAIN Como ya vimos, SQL es un lenguaje declarativo. Especificamos qué queremos que haga, pero no cómo se tiene que hacer. Podemos pedirle a PostgreSQL que nos explique cómo va a obtener la información, qué coste va a tener cada paso, y cuánto va a tardar en cada paso. PostgreSQL siempre intenta seguir el camino más rápido. Esto nos ayuda a detectar cuellos de botella y mejorar nuestras consultas (o cambiar el modelo de datos si fuera necesario). Ejemplo EXPLAIN SELECT foto_id, owner_id, residencia, poblacion FROM fotos AS f INNER JOIN amigos AS a ON a. = f.owner_id INNER JOIN ciudades AS c ON a.residencia = c.nombre_ciudad; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 81/92

91 EXPLAIN con información del tiempo requerido Con ANALYZE se averigua del tiempo necesario EXPLAIN ANALYZE SELECT foto_id, owner_id, residencia, poblacion FROM fotos AS f INNER JOIN amigos AS a ON a. = f.owner_id INNER JOIN ciudades AS c ON a.residencia = c.nombre_ciudad; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 82/92

92 EXPLAIN con información del tiempo requerido Con ANALYZE se averigua del tiempo necesario EXPLAIN ANALYZE SELECT foto_id, owner_id, residencia, poblacion FROM fotos AS f INNER JOIN amigos AS a ON a. = f.owner_id INNER JOIN ciudades AS c ON a.residencia = c.nombre_ciudad; VACUUM y EXPLAIN Los datos de los que informa EXPLAIN y EXPLAIN ANALYZE pueden estar desfasados. Es necesario ejecutar VACUUM ANALYZE para obtener información precisa del coste y el tiempo necesarios. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 82/92

93 Índices Cómo mejoramos una consulta? Una vez que hemos obtenido información con EXPLAIN ANALYZE, cómo podemos mejorar una consulta?. Si estamos en una fase temprana de desarrollo, podemos intentar mejorar el modelo de datos. Pero antes es mejor intentar añadir índices a las tablas involucradas en los cuellos de botella. Los índices aceleran las consultas, y se aplican sobre las columnas. Las columnas que forman parte de una clave primaria siempre tienen un índice que PostgreSQL añade automáticamente. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 83/92

94 Creación de índices Índice en la columna del lugar de residencia CREATE INDEX residencia_idx ON amigos(residencia); DROP INDEX residencia_idx; Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 84/92

95 Creación de índices Índice en la columna del lugar de residencia CREATE INDEX residencia_idx ON amigos(residencia); DROP INDEX residencia_idx; Ejercicio Comprueba que el índice de arriba mejora esta consulta, usando EXPLAIN ANALYZE antes y después de crear el índice: SELECT residencia, COUNT( ) FROM amigos GROUP BY residencia; Qué hace esa consulta? Cuánto mejora? Por qué mejora la consulta? Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 84/92

96 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 85/92

97 Exportar e importar bases de datos Exportar e importar con pgadmin III Las utilidades gráficas de PostgreSQL nos permiten guardar copias de seguridad y restaurarlas de una manera sencilla. En el object browser, al hacer clic con el botón derecho sobre el nombre de una base de datos podemos seleccionar las opciones Backup o Restore. En Windows es mejor usar el formato tar de entre las diferentes opciones, para evitar problemas de compatibilidad al importar y exportar bases de datos entre diferentes sistemas operativos. Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 86/92

98 Opciones en la interfaz gráfica Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 87/92

99 Opciones en la interfaz gráfica Backup y Restore Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 88/92

100 1 Introducción a las bases de datos 2 Primeros pasos en SQL 3 Diseño de bases de datos 4 Tipos de datos en PostgreSQL 5 SQL como lenguaje de consulta y actualización de información 6 Consultas múltiples 7 Optimización de consultas 8 Exportación e importación. Copias de seguridad 9 Ejercicios Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 89/92

101 Tienda de Informática Obtener Nombres y precios de los productos Fabricantes con artículos entre 60 y 200 Euros Precio en pesetas de los artículos del punto anterior Precio medio de todos los artículos Número de artículos con precio superior a 180 Euros Los cinco productos más baratos Listado de artículos, precio y el nombre del fabricante Precio medio de los artículos por fabricante (con nombre) Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 90/92

102 Sala de cine Obtener Calificaciones de edad de las películas Películas sin clasificar Salas sin películas Añade una película nueva Info de las salas, y si se proyecta alguna película, su info Info de las películas, y si se proyecta en alguna sala, su info Nombres de películas sin salas Las películas sin clasificar ahora son para mayores de 13 años Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 91/92

103 Grandes Almacenes Obtener Número de ventas de cada producto, de mayor a menor Informe completo de ventas, incluye nombre del cajero, nombre y precio de los productos, piso de la máquina registradora Ventas (en euros) por piso Código y nombre de empleado, con ventas totales por empleado Código y nombre de los que venden más de 10,000 Euros Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 92/92

SQL: Lenguaje de acceso a bases de datos

SQL: Lenguaje de acceso a bases de datos SQL: Lenguaje de acceso a bases de datos Israel Herraiz Universidad Politécnica de Madrid Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 1/88 Contenidos 1 Introducción a las bases de datos

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

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

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

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

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

Más detalles

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

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

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

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

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

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

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

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

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

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

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

T12 Vistas y tablas temporales

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

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

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

Más detalles

CONSULTAS BASICAS EN SQL SERVER

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

Más detalles

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

Trabajos de Ampliación. Bases de datos NoSQL.

Trabajos de Ampliación. Bases de datos NoSQL. BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos

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

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

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

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3 GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de datos orientadas

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

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

Más detalles

Repaso de Conceptos Básicos de Bases de Datos

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

Más detalles

Manual de ACCESS Intermedio

Manual de ACCESS Intermedio Manual de ACCESS Intermedio Funciones agregadas (GROUP BY) Las funciones agregadas proporcionan información estadística sobre conjuntos de registros. Por ejemplo, puede usar una función agregada para contar

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

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

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

15 CORREO WEB CORREO WEB

15 CORREO WEB CORREO WEB CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,

Más detalles

5- Uso de sentencias avanzadas

5- Uso de sentencias avanzadas Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias

Más detalles

Bases de Datos: Structured Query Language (SQL)

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

Más detalles

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access) Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,

Más detalles

Práctica 3. Consultas SQL

Práctica 3. Consultas SQL Práctica 3. Consultas SQL 1. Enunciado En este ejercicio se realizarán consultas SQL que respondan a las preguntas que se plantearán sin utilizar QBE. Dada una base de datos denominada Empresa y definida

Más detalles

Bases de datos: Sistemas de bases de datos:

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

Más detalles

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

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

Más detalles

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

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

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

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

6- Combinación de tablas

6- Combinación de tablas Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción

Más detalles

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

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

Más detalles

Base de Datos Práctica 1.

Base de Datos Práctica 1. Base de Datos Práctica 1. Objetivo: Introducción al Mysql, aprender a identificar los errores más comunes en la creación de las bases de datos para su solución, conocer los diferentes tipos de datos y

Más detalles

Optimizar base de datos WordPress

Optimizar base de datos WordPress Optimizar base de datos WordPress Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com WordPress se ha convertido en uno de los CMS más utilizados en todo el mundo. Su robustez,

Más detalles

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

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

Más detalles

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en 15/05/2012 1 Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en aplicaciones informáticas en 1975. 2 Como

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

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

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

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

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios,

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo

Más detalles

TEMA 20: CONCEPTOS BÁSICOS DE SQL

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

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

Introducción a los Sistemas de Gestión de Bases de Datos

Introducción a los Sistemas de Gestión de Bases de Datos a los Sistemas de Gestión de Bases de Datos Servicios y Aplicaciones Telemáticas gsyc-profes@gsyc.escet.urjc.es Noviembre de 2008 c 2008 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados.

Más detalles

Manual de rol gestor de GAV para moodle 2.5

Manual de rol gestor de GAV para moodle 2.5 Manual de rol gestor de GAV para moodle 2.5 Consultas LDAP-GAUR... 2 Buscar en LDAP datos de un usuario... 2 Docentes... 3 Buscar en GAUR datos de un docente... 3 Buscar en GAUR la docencia de un docente

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

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

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

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA SECCIÓN: 15N1- IS REALIZADO POR: BR. BRETE JINETH. BR. SULBARÁN ARMANDO BR. TORREZ

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

COPIAS DE SEGURIDAD CON COBIAN BACKUP INSTALACIÓN Y CONFIGURACIÓN

COPIAS DE SEGURIDAD CON COBIAN BACKUP INSTALACIÓN Y CONFIGURACIÓN COPIAS DE SEGURIDAD CON COBIAN BACKUP INSTALACIÓN Y CONFIGURACIÓN Qué es Cobian Backup? Cobian Backup es un programa multitarea que podemos usar para crear y restaurar copias de seguridad de nuestros archivos

Más detalles

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

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

Más detalles

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra.

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra. Gestión de la tesorería y del riesgo El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra. En este manual nos

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A)

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A) APRENDERAPROGRAMAR.COM QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A) Sección: Divulgación Categoría: Lenguajes y entornos

Más detalles

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. 1 de 18 Inicio Qué es un foro En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. En el campus virtual, el foro es una herramienta

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

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

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

Más detalles

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón. 11. RECIBOS. Desde esta opción de Menú vamos a completar el proceso de gestión de los diferentes tributos, generando recibos, informes de situación, impresiones, etc. 11.1. GENERACIÓN DE RECIBOS. Una vez

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

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

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

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows.

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows. Skype Skype: este servicio nos permite comunicarnos en forma sincrónica con nuestros contactos mediante mensajes instantáneos (chat) y realizando video llamadas. Skype Microsoft cuenta con un sistema de

Más detalles

PRACTICA DE ADMINISTRACION DE BASES DE DATOS

PRACTICA DE ADMINISTRACION DE BASES DE DATOS Depto. De Organización y Estructura de la Información Curso 2003/2004 Pág. 1 PRACTICA DE ADMINISTRACION DE BASES DE DATOS Una entidad bancaria gestiona datos relativos a operaciones bancarias de sus clientes

Más detalles

Como manejador de base de datos elegimos utilizar Absolute Database, que es un

Como manejador de base de datos elegimos utilizar Absolute Database, que es un APÉNDICE E Manejador de base de datos ABSOLUTE DATABASE Como manejador de base de datos elegimos utilizar Absolute Database, que es un componente de Delphi para manejar base de datos, muy poderoso y fácil

Más detalles

Archivo de correo con Microsoft Outlook contra Exchange Server

Archivo de correo con Microsoft Outlook contra Exchange Server Archivo de correo con Microsoft Outlook contra Exchange Server Resumen Con este proceso de archivado, lo que pretendemos es guardar nuestro correo en un archivo de datos, para así poder realizar una copia

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

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana. Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana. Esta guía muestra como proceder en la configuración y posterior uso de la aplicación Allegro en

Más detalles

Seminario de Informática

Seminario de Informática Unidad II: Operaciones Básicas de Sistemas Operativos sobre base Windows 11. Herramientas del Sistema INTRODUCCION Este apunte está basado en Windows XP por ser el que estamos utilizando en el gabinete

Más detalles

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone

Más detalles

Sql Basico. Seminar Introduction

Sql Basico. Seminar Introduction Sql Basico Seminar Introduction SQL Basico Sobre el modelo anterior de datos haremos un repaso de las consultas sql mas comunes. Devolver todos los datos de una tabla sin filtrar. Select campo_1, campo_2,

Más detalles

MANUALITO MS-SQL SERVER

MANUALITO MS-SQL SERVER MANUALITO MS-SQL SERVER Contenido 1. Crear Store Procedures en MS SQL Server... 1 2. Crear Triggers en MS SQL Server... 5 3. Crear Vistas en MS SQL Server... 9 1. Crear Store Procedures en MS SQL Server

Más detalles

Guía de Inicio Respaldo Cloud

Guía de Inicio Respaldo Cloud Guía de Inicio Respaldo Cloud Calle San Rafael, 14 28108 Alcobendas (Madrid) 900 103 293 www.acens.com Contenido 1 Introducción... 3 2 Características Respaldo Cloud... 4 3 Acceso y activación... 5 - Gestión

Más detalles

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Acceso a bases de datos MySQL con PHP

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

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

RESUMEN. Solución web usable para la gestión de dispositivos móviles en empresas

RESUMEN. Solución web usable para la gestión de dispositivos móviles en empresas Agradecimientos RESUMEN. Solución web usable para la gestión de dispositivos móviles en empresas ... 1... 1... 1... 2... 3... 4... 4... 5... 6... 6... 9... 12... 13... 24... 25... 29... 30... 32... 33...

Más detalles

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS Nuestra empresa es una pequeña editorial que maneja habitualmente su lista de ventas en una hoja de cálculo y desea poder realizar un análisis de sus

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

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

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