Prácticas de Estructuras de Datos

Documentos relacionados
Prácticas de Estructuras de Datos


Prácticas EDAT Curso 12/13

sudo mkdir /usr/local/pgsql/data /home/ /home/juan sudo chown juan /usr/local/pgsql/data

Desarrollo de aplicaciones de acceso a base de datos con JBuilder 7

UNIDAD DIDACTICA 3 REDIRECCIONAMIENTO Y TUBERIAS

Escritura Básica de Sentencias SQL. Copyright Oracle Corporation, All rights reserved.

Manual de Instalación SISTEMA INTEGRADO DE GESTION PARA ENTES DEL SECTOR PUBLICO (SIGESP) SIGESP ORGANOS

INSTALACIÓN, CONFIGURACIÓN Y PRUEBAS DE POSTGRESQL EN FEDORA 19 PRESENTADO POR EDUARDO MORANTES DIAZ CODIGO: PRESENTADO A

Motores de Base de Datos Libres: Postgresql y MySql. Ing. Ricardo Naranjo Faccini, M.Sc

MySQL: Guía de Referencia

Taller introducción base de datos geográfica

Programación shell en Unix/Linux sh, ksh, bash (con ejercicios corregidos) (3ª edición)

MANUAL BÁSICO DE MYSQL

GNU/Linux desde la línea de comandos. Pablo Garaizar Sagarminaga (txipi) Alvaro Uría Avellanal (Fermat)

MANUAL DE INSTALACIÓN DE ADEMPIERE LTS EN UBUNTU 10.10

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

MANUAL DE INSTALACIÓN

Manual de Instalación del Sistema de Gestión Documental Quipux Junio de 2010

Diseño Físico E S P E C IA L IZ A C IÓ N E N TECN O L O G ÍA S D E LA IN F O R M A C I Ó N G E O G R Á F I C A

8 SQL SERVER 2008 RA-MA

Introducción a Linux. II.

Trabajo práctico N 3: Creación de bases de datos

Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora.

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

Manejo de Bases de Datos Mysql en Lenguaje C

Caso practico de instalación del modulo vsftpd para webmin en ubuntu

INSTALACION Y CONFIGURACION DE POSTGRESQL EN FEDORA

1. Notas sobre la instalación de estas aplicaciones

Cómo abrir las bases de datos en Aspel-COI 6.0?

Instalación de PostgreSQL en Windows y Linux

Bases de datos: Sistemas de bases de datos:

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

Usuarios y grupos ÍNDICE

MANUAL TÉCNICO Y DE ADMINISTRADOR

Cómo abrir las bases de datos de Aspel-NOI 5.0?

Oracle Database: Introducción a SQL

Acceso a bases de datos en Perl

Acceso remoto a una máquina GNU/Linux (Ubuntu)

Utilidades de ficheros: Texto, binarios y genéricas - Revision : 1,9

PROGRAMANDO UNA BASE DE DATOS PostgreSQL ADMINISTRACIÓN INTRODUCCIÓN (L32)

Conceptos Fundamentales sobre UNIX Laboratorio Listados de Directorios con Metacaracteres (Tiempo estimado: 30 min.)

Cómo abrir la base de datos de Aspel-SAE 5.0?

bla bla Documentos Guía del usuario

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

Optimizaciones de PostgreSQL. Wu - wu@e-shell.org 15 de noviembre de 2003

La Herramienta Redmine para la Administración de Proyectos Módulo I: Instalación, Configuración y Operación Redmine

En este curso se presenta un análisis profundo de la base de datos MySQL para los sistemas operativos Windows y Linux.

Ejercicios - Persistencia en Android: ficheros y SQLite

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Comandos básicos MS-DOS

Monitorización SGBD PostgreSQL

INSTRUCTIVO DE INSTALACIÓN DE OMEKA 2.1.4

SISTEMAS INFORMÁTICOS EN TIEMPO REAL 2º Ingeniería Industrial MANUAL DE HERRAMIENTAS SOFTWARE PARA PROGRAMACIÓN EN UNIX

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN POSTGRESQL

ZeroShell - Configuración del HotSpot

Programando con Pl/Python

Pasos para instalación de los paquetes Xampp y PosgreSql en Windows:

HTML, PHP y bases de datos

MANUAL BÁSICO DE POSTGRESQL

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Computación Web (Curso 2015/2016)

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Son objetos cuya función es el tratamiento de varios registros exclusivamente durante la ejecución de un programa.

INTRODUCCIÓN A BASE DE DATOS. Excel - Access

Linux Principios básicos de uso del sistema [4ª edición]

Instalación Redmine-Emergya

INSTALACION DE LA BASE DE DATOS

MENÚ / REPORTES / COMPRAS / DOCUMENTOS CAPTURADOS

Macros y lenguaje VBA Aprender a programar con Excel (2ª edición)

Clase 23 FTP. Telnet. Ejemplos Tema 6.- Nivel de aplicación en Internet

AUTENTICACIÓN: DETERMINAR SI EL USUARIOS ES QUIÉN DICE SER AUTORIZACIÓN: DETERMINA A CUÁLES OBJETOS TIENE ACCESO EL USUARIO

Postgresql 8.4 ~ Monitorización. Explorando las capacidades del servidor

SQL: Lenguaje de acceso a bases de datos

Objetivos y Temario CURSO MySQL 5

TEMA 20: CONCEPTOS BÁSICOS DE SQL

TICAR 2015 ASTERISK DEVELOPER. Ing. Fernando A. Gonzalez

Sistemas Manejadores de Bases de Datos ( Postgres)

LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL

ÍNDICE. Configuración básica de Samba en servidores entregados antes de enero del 2011(Linux Ubuntu)...03

MANUAL DE ADMINISTRACION DEL PLUGIN QGISSQL

MRT: Multiple Response Test

ASISTENCIA TÉCNICA A LA SEGURIDAD EN PYMES DE MELILLA MANUAL WINSCP

GUIA No 5. CREACIÓN DE SubVI s

Introducción a las bases de datos.

Programación. Práctica Final

Manual de Instalación SICO MANUAL DE INSTALACION SICO SOFTWARE DE GESTION BASE DE DATOS POSTGRESQL

SISTEMAS INFORMÁTICOS EN TIEMPO REAL 2º Ingeniería Industrial MANUAL DE HERRAMIENTAS SOFTWARE PARA PROGRAMACIÓN EN UNIX

This obra by Sergio Belkin is licensed under a Creative Commons Atribución-CompartirDerivadasIgual 2.5 Argentina License. Procesos.

Prácticas de Bases de Datos

PRÁCTICA 3: DISEÑO DE PLANTILLAS WEB

MANUAL PARA LA INSTALACIÓN DE GEONETWORK 2.2 CON POSTGRESQL 8.2

Objetos de la Base de Datos

Laboratorio de Sistemas Operativos. Ingenierías Técnicas en Informática de Sistemas y Gestión 2006/2007

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios

Base de Datos Espaciales: PostgreSQL/PostGIS

Transcripción:

Prácticas de Estructuras de Datos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid

1 Introducción 2 Normativa General Requisitos de las entregas 3 Práctica 1 4 Introducción a PostgreSQL Comandos útiles Importación de datos Copia de seguridad 5 SHELL 6 SQL

Información general Correo xxx.yyy@estudiante.uam.es [EDAT] Nota: 0.7 N T + 0.3 N P COPIAS

Requisitos de las entregas Retraso Penalización de 1 punto por día de retraso Entrega moodle Límite: una hora antes del comienzo de la primera sesión de la siguiente práctica Nombre entregable Gxxx Pyy z.tgz en caso contrario, 1 punto

Contenido del fichero 1 Fichero de texto: nombre alumnos, email, grupo y fecha 2 Documentación en formato pdf Respuesta a preguntas breves Cómo se ha realizado cada ejercicio Documentación ejercicio final: 3 Listado de código fuente documentado Programación modular y estructurada Makefile Compilación no correcta: 0!!!

Práctica 1 1 Crear un diagrama E-R 2 Optimización del primer diseño 3 Consultas SQL

Gestión de un catálogo de libros I 1 Libro: uno o varios autores, una o varias ediciones, uno o varios idiomas, tapa dura o bolsillo 2 Cada edición puede tener un editor o editores distintos; cada edición puede tener un precio distinto 3 Existen ofertas para un grupo de libros dentro de una cierto rango de fechas

Gestión de un catálogo de libros II 4 Existen usuarios fidelizados: identificador y número (único) de tarjeta de crédito 5 Los usuarios fidelizados tienen un descuento de un 10% (también en libros en oferta) 6 Hay registro de compras para cada usuario fidelizado. La compra puede ser en metálico o con tarjeta

Gestión de un catálogo de libros III 7 Los usuarios no fidelizados compran (en metálico o con tarjeta) y el registro se lleva sobre los artículos adquiridos

Consultas I 1 Dado un título, Cuántas ediciones tiene? En cuantos idiomas? 2 Cuántos libros se han vendido de un autor dado? 3 Cuántos libros de un autor dado se han vendido en oferta? 4 Cuánto dinero se ha ganado vendiendo libros de un editor dado?

Consultas II 5 Cuántos libros han comprado los usuarios fidelizados? 6 Cuántos usuarios fidelizados han comprado libros en inglés?

sudo apt get i n s t a l l p o s t g r e s q l postgresql c o n t r i b sudo i u postgres createuser edat d l sudo i u edat createdb U edat l i b r e r i a man createuser man createdb man dropuser

Comandos útiles de PostgreSQL psql U <usuario> <base de datos> para conectar un usuario a una base de datos \l lista todas las bases de datos \du lista todos los usuarios \d muestra la estructura de una tabla (su descripción) \q para salir de psql pgadmin3 para acceder en modo gráfico

Introducir un fichero en una tabla de la base de datos \copy users from / tmp / user. t x t CSV header d e l i m i t e r E \ t encoding ISO 8859 1 NULL as NULL CSV header elimina la cabecera del fichero (los descriptores de columna) with delimiter E \t establece que las columnas están separadas mediante un tabulador encoding ISO 8859 1 establece que la codificacion del fichero de importación es ISO-8859-1 Si no se usa la codificación adecuada puede haber problemas con la visualización de caracteres especiales Para ver la codificación de un fichero desde la shell de Linux, basta hacer file fichero.txt Por defecto PostgreSQL asume que el fichero está codificado siguiendo la norma UTF-8 Se puede cambiar la codificación de un fichero mediante iconv man iconv

Realizar un backup de la base de datos y cargar desde un dump pg dump U username f backup. s q l database name psql d database name f backup sql

Más comando útiles # Mostrar un l i s t a d o con todas l a bases de datos sudo u postgres psql l i s t # R e a l i z a r un backup sudo u postgres pg dump [ database name ] > dumpl. s q l # E l i m i n a r una base de datos sudo u prostgres dropdb [ database name ] # Crear una base datos sudo u postgres createdb [ new databse ] # Restaurar una base de datos sudo u postgres psql [ new database ] < dump. s q l ##################################################### # Respaldar una unica t a b l a sudo u postgres pg dump t a b l e [ table name ] [ database name ] > dump. s q l # Restaurar solo una t a b l a sudo u postgres psql f dump. s q l [ database name ]

Configuración de pgadmin I Editar el fichero /etc/postgresql/9.x/main/pg hba.conf Cambiar #Database a d m i n i s t r a t i v e l o g i n by Unix domain socket l o c a l a l l postgres md5 por #Database a d m i n i s t r a t i v e l o g i n by Unix domain socket l o c a l a l l postgres t r u s t Re-arrancar el servidor sudo service postgresql restart Hacer

Configuración de pgadmin II psql U postgres ALTER USER postgres with password new password ; Volver a la configuración inicial del fichero de configuración de PostgreSQL #Database a d m i n i s t r a t i v e l o g i n by Unix domain socket l o c a l a l l postgres md5 Finalmente sudo service postgresql restart

Permitir hacer login a cualquier usuario en local y dado de alta en postgres Editar pg hba.conf # Database a d m i n i s t r a t i v e l o g i n by Unix domain socket # sólo para postgres # l o c a l a l l postgres md5 l o c a l a l l a l l md5

Shell: comandos útiles I Analizador de comandos shell: ExplainShell head 1 LIBROS.txt : muestra la primera fila del fichero, en este caso la cabecera CSV cut d $ \t f1 3,5 LIBROS.txt : muestra las columnas 1 a 3 y la columna 5 del fichero; las columnas están separadas por un tabulador (el parámetro d define el separador entre columnas) paste d $ \t user id.txt isbns vendidos.txt > ventas.txt : crea un nuevo fichero (ventas.txt) anexionando las columnas de los ficheros de entrada (en este caso sólo dos, pero pueden ser tantos como precisemos); las columnas se separan mediante tabulador wc l fichero.txt : número de líneas de un fichero find./ name.txt type f xargs I{} grep candidato {}

Shell: comandos útiles II find./ name.txt type f : encuentra todo los ficheros con extensión txt y que estén contenidos en el directorio actual o en alguno de los directorios que éste contiene xargs I{} : considera como argumento de entrada la salida proporcionada por el comando a la izquierda de la tubería xargs I{} grep candidato {} : busca la palabra candidato en cada una de los ficheros que devuelve el comando find

Shell: comandos útiles III sed i s/0000 00 00/1984 01 01/g LIBROS.txt : sustituir la cadena 0000-00-00 por 1984-01-01 en LIBROS.txt (el parámetro i hace que sed guarde el resultado en el fichero de entrada) cut d $ \t f8 LIBROS FINAL.txt sed 1d sort uniq c tr s cut d $ \t f8 LIBROS FINAL.txt : extrae la columna 8 del fichero de entrada sed 1d : elimina la primera fila del resultado anterior sort : ordena las filas obtenidas en el anterior paso

Shell: comandos útiles IV uniq c : en base al resultado de la operación previa, obtiene los elementos que son únicos y, además, muestra cuántas veces aparece cada uno de ellos tr s : sustituye múltiples ocurrencias de un espacio en blanco por una única ocurrencia cat /dev/urandom tr cd 0 9 fold w 3 xargs I{} date d 2016 09 28 + {} days + %d %m %Y cat /dev/urandom tr cd 0 9 fold w 3 : Genera aleatoriamente números de 3 dígitos xargs I{} date d 2016 09 28 + {} days + %d %m %Y : suma el número aleatorio a una fecha de partida

Comandos útiles SQL I Además de los ya conocidos... Conversión de tipos (casting): select 1::boolean; (conversión de entero en booleano); select 1 as boolean; ; select now()::date; (muestra la hora actual en formato de fecha sin hora); select 1.56::money; (convierte un número a formato money) Generación de valores aleatorios: select random(); ; select random() 10:int8::money; (generación de tipo money de modo aleatorio) Fecha aleatoria: select (now()+ interval 1 minute round(365 (random()::numeric ),0)):: timestamp (0); Evitar problemas por duplicación de claves primarias en la importación de datos ( : sólo si es estrictamente necesario)

Comandos útiles SQL II insert into libros (select isbn, titulo, formato,idioma from libros temp)on conflict do nothing; Lo anterior sólo funciona para versiones de PostgreSQL superiores a la versión 9.4.5 select from (select, row number()over (partition by isbn order by titulo) as row number from libros temp02)as rows where row number = 1; Funciones de ventana en PostgreSQL: https://www.postgresql.org/docs/current/static/ functions-window.html