24
GUÍA DE TRABAJO POSTGRESQL – PRACTICA BASE DE DATOS PASOS PARA INICIAR TRABAJO CON POSTGRESQL 1) Instalar Postgresql 2) Abrir pgAdmin III 3) Cuando lo abran les va a pedir una clave para control de administración. 4) Activar el servidor, para lo cual pueden crear un nuevo servidor para que trabajen, para lo cual abre el icono del enchufe deben indicar el nombre que tendrá,, el servidor que utilizaran, en este caso colocan Localhost , por defecto coloca el puerto 5432, activen almacenar contraseña, restaurar env? , y conectar ahora. 5) Mostrará en servidores que hay dos y junto con el servidor por defecto de postgreSQL estará probando Probando (localhost:5432). 6) Pulsar botón derecho en Probando y conectar la BD, luego se activaran los controles del menú superior para iniciar las prácticas de SQL en Postgres.

Tutorial Postgresql Practica Nro. 1

  • Upload
    jeickel

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

tutorial de instalacion postgresql

Citation preview

GUA DE TRABAJO POSTGRESQL

PRACTICA BASE DE DATOS

PASOS PARA INICIAR TRABAJO CON POSTGRESQL1) Instalar Postgresql

2) Abrir pgAdmin III

3) Cuando lo abran les va a pedir una clave para control de administracin.

4) Activar el servidor, para lo cual pueden crear un nuevo servidor para que trabajen, para lo cual abre el icono del enchufe deben indicar el nombre que tendr,, el servidor que utilizaran, en este caso colocan Localhost , por defecto coloca el puerto 5432, activen almacenar contrasea, restaurar env? , y conectar ahora.

5) Mostrar en servidores que hay dos y junto con el servidor por defecto de postgreSQL estar probando Probando (localhost:5432).

6) Pulsar botn derecho en Probando y conectar la BD, luego se activaran los controles del men superior para iniciar las prcticas de SQL en Postgres.

7) El servidor Probando se desplegar mostrando Bases de Datos activas, indicando Postgres, y esta a su vez indicando los catlogos, esquemas y replicacin.

8) En Base de Datos seleccionar por medio del botn derecho la opcin nueva Base de Datos, colocndole el nombre Gestion de .. y en propietario postgres. Una vez que la creen aparecer entre junto a la BD de postgres, la seleccionan y se activan los iconos en la parte superior.

9) Van a seleccionar el icono SQL en el men superior.

10) Se abrir una ventana para crear Querys en Postgres, con la que se trabajan todas las sentencias de DDL, DML y SQL.1 - Crear una tabla (create table)

Una base de datos almacena su informacin en tablas.

Una tabla es una estructura de datos que organiza los datos en columnas y filas; cada columna es un campo (o atributo) y cada fila, un registro. La interseccin de una columna con una fila, contiene un dato especfico, un solo valor.

Cada registro contiene un dato por cada columna de la tabla.Cada campo (columna) debe tener un nombre. El nombre del campo hace referencia a la informacin que almacenar.

Cada campo (columna) tambin debe definir el tipo de dato que almacenar.

Las tablas forman parte de una base de datos. trabajaremos con la BD llamada

Al crear una tabla debemos resolver qu campos (columnas) tendr y qu tipo de datos almacenarn cada uno de ellos, es decir, su estructura.

La sintaxis bsica y general para crear una tabla es la siguiente: create table NOMBRETABLA(

NOMBRECAMPO1 TIPODEDATO,

...

NOMBRECAMPON TIPODEDATO

);La tabla debe ser definida con un nombre que la identifique y con el cual accederemos a ella.

Creamos una tabla llamada "usuarios" y entre parntesis definimos los campos y sus tipos: create table usuarios (

nombre varchar(30),

clave varchar(10)

);Cada campo con su tipo debe separarse con comas de los siguientes, excepto el ltimo.

Cuando se crea una tabla debemos indicar su nombre y definir al menos un campo con su tipo de dato. En esta tabla "usuarios" definimos 2 campos:

nombre: que contendr una cadena de caracteres de 30 caracteres de longitud, que almacenar el nombre de usuario y

clave: otra cadena de caracteres de 10 de longitud, que guardar la clave de cada usuario.

Cada usuario ocupar un registro de esta tabla, con su respectivo nombre y clave.

Para nombres de tablas, se puede utilizar cualquier carcter alfabtico o numrico, el primero debe ser un carcter alfabtico y no puede contener espacios en blanco.

Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con ese nombre), mostrar un mensaje indicando que ya hay un objeto llamado 'usuarios' en la base de datos y la sentencia no se ejecutar.

Para ver la estructura de una tabla consultaremos una tabla propia del PostgreSQL empleando para ello la sentencia SELECT:SELECT table_name,column_name,udt_name,character_maximum_length

FROM information_schema.columns WHERE table_name = 'usuarios';Aparece el nombre de la tabla, los nombres de columna y el largo mximo de cada campo:table_name column_name udt_name character_maximum_lengthusuarios clave varchar 10

usuarios nombre varchar 30Para eliminar una tabla usamos "drop table" junto al nombre de la tabla a eliminar: drop table usuarios;Si intentamos eliminar una tabla que no existe, aparece un mensaje de error indicando tal situacin y la sentencia no se ejecuta. 2 - Insertar y recuperar registros de una tabla (insert into - select)

Un registro es una fila de la tabla que contiene los datos propiamente dichos. Cada registro tiene un dato por cada columna (campo). Nuestra tabla "usuarios" consta de 2 campos, "nombre" y "clave".

Al ingresar los datos de cada registro debe tenerse en cuenta la cantidad y el orden de los campos.

La sintaxis bsica y general es la siguiente: insert into NOMBRETABLA (NOMBRECAMPO1, ..., NOMBRECAMPOn)

values (VALORCAMPO1, ..., VALORCAMPOn);Usamos "insert into", luego el nombre de la tabla, detallamos los nombres de los campos entre parntesis y separados por comas y luego de la clusula "values" colocamos los valores para cada campo, tambin entre parntesis y separados por comas.

Para agregar un registro a la tabla tipeamos: insert into usuarios (nombre, clave) values ('Mariano','payaso');Note que los datos ingresados, como corresponden a cadenas de caracteres se colocan entre comillas simples.

Para ver los registros de una tabla usamos "select": select * from usuarios;El comando "select" recupera los registros de una tabla.Con el asterisco indicamos que muestre todos los campos de la tabla "usuarios".

Es importante ingresar los valores en el mismo orden en que se nombran los campos: insert into usuarios (clave, nombre) values ('River','Juan');En el ejemplo anterior se nombra primero el campo "clave" y luego el campo "nombre" por eso, los valores tambin se colocan en ese orden.

Si ingresamos los datos en un orden distinto al orden en que se nombraron los campos, no aparece un mensaje de error y los datos se guardan de modo incorrecto.

En el siguiente ejemplo se colocan los valores en distinto orden en que se nombran los campos, el valor de la clave (la cadena "Boca") se guardar en el campo "nombre" y el valor del nombre (la cadena "Luis") en el campo "clave": insert into usuarios (nombre,clave) values ('Boca','Luis');3 - Tipos de datos bsicos

Ya explicamos que al crear una tabla debemos resolver qu campos (columnas) tendr y que tipo de datos almacenar cada uno de ellos, es decir, su estructura.

El tipo de dato especifica el tipo de informacin que puede guardar un campo: caracteres, nmeros, etc.

Estos son algunos tipos de datos bsicos de PostgreSQL (posteriormente veremos otros): varchar: se usa para almacenar cadenas de caracteres. Una cadena es una secuencia de caracteres. Se coloca entre comillas (simples); ejemplo: 'Hola', 'Juan Perez'. El tipo "varchar" define una cadena de longitud variable en la cual determinamos el mximo de caracteres entre parntesis. Puede guardar hasta 10485760 caracteres. Por ejemplo, para almacenar cadenas de hasta 30 caracteres, definimos un campo de tipo varchar(30), es decir, entre parntesis, junto al nombre del campo colocamos la longitud.Si asignamos una cadena de caracteres de mayor longitud que la definida, la cadena no se carga, aparece un mensaje indicando tal situacin y la sentencia no se ejecuta (ERROR: value too long for type character varying(30)).Por ejemplo, si definimos un campo de tipo varchar(10) e intentamos asignarle la cadena 'Buenas tardes', aparece un mensaje de error y la sentencia no se ejecuta. integer: se usa para guardar valores numricos enteros, de -2000000000 a 2000000000 aprox. Definimos campos de este tipo cuando queremos representar, por ejemplo, cantidades. float: se usa para almacenar valores numricos con decimales. Se utiliza como separador el punto (.). Definimos campos de este tipo para precios, por ejemplo.

Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato adecuado para cada uno de ellos.Por ejemplo, si en un campo almacenaremos nmeros enteros, el tipo "float" sera una mala eleccin; si vamos a guardar precios, el tipo "float" es ms adecuado, no as "integer" que no tiene decimales. Otro ejemplo, si en un campo vamos a guardar un nmero telefnico o un nmero de documento, usamos "varchar", no "integer" porque si bien son dgitos, con ellos no realizamos operaciones matemticas.Problema: Vamos a crear una tabla llamada "libros".

Para almacenar informacin de los libros de una librera necesitamos los siguientes campos: -titulo, cadena de caracteres de 20 de longitud,

-autor, cadena de caracteres de 15 de longitud,

-editorial, caracteres de 10 de longitud,

-precio, valor numrico con decimales y

-cantidad, valor numrico entero.Al crear la tabla, entonces, elegimos el tipo de dato ms adecuado para cada campo: create table libros(

titulo varchar(20),

autor varchar(15),

editorial varchar(10),

precio float,

cantidad integer

);Note que al especificar el tipo de dato de los campos numricos, no colocamos entre parntesis la longitud.

Vemos la estructura de la tabla:select table_name,column_name,udt_name,character_maximum_length

from information_schema.columns

where table_name = 'libros';Aparece la siguiente informacin:table_name column_name udt_name character_maximum_length

libros cantidad int4

libros precio float8

libros editorial varchar 10

libros autor varchar 15

libros titulo varchar 20Ingresamos algunos registros: insert into libros (titulo,autor,editorial,precio,cantidad)

values ('El aleph','Borges','Emece',25.50,100);

insert into libros (titulo,autor,editorial,precio,cantidad)

values ('Matematica estas ahi','Paenza','Siglo XXI',18.8,200);Note que al ingresar valores numricos (float e integer) no se utilizan comillas y para el separador de decimales se usa el caracter punto(.).

Veamos los registros cargados: select * from libros;Veamos lo que sucede si intentamos ingresar para el campo "titulo" una cadena de ms de 20 caracteres: insert into libros (titulo,autor,editorial,precio,cantidad)

values ('Alicia en el pais de las maravillas','Lewis Carroll','Atlantida',10,200);aparece un mensaje de error y la sentencia no se ejecuta.

vamos a cortar la cadena para que PostgreSQL acepte el ingreso del registro: insert into libros (titulo,autor,editorial,precio,cantidad)

values ('Alicia en el pais','Lewis Carroll','Atlantida',10,200);Veamos los registros cargados: select * from libros;Principio del formularioFinal del formulario4 - Recuperar algunos campos (select)

Hemos aprendido cmo ver todos los registros de una tabla, empleando la instruccin "select".

La sintaxis bsica y general es la siguiente: select * from NOMBRETABLA;El asterisco (*) indica que se seleccionan todos los campos de la tabla.

Podemos especificar el nombre de los campos que queremos ver separndolos por comas: select titulo,autor from libros; La lista de campos luego del "select" selecciona los datos correspondientes a los campos nombrados. En el ejemplo anterior seleccionamos los campos "titulo" y "autor" de la tabla "libros", mostrando todos los registros. Los datos aparecen ordenados segn la lista de seleccin, en dicha lista los nombres de los campos se separan con comas.Problema: Trabajamos con la tabla "libros" que almacena los datos de los libros de una librera.

Creamos la tabla: create table libros(

titulo varchar(40),

autor varchar(30),

editorial varchar(15),

precio float,

cantidad integer

);Veamos la estructura de la tabla: select table_name,column_name,udt_name,character_maximum_length

from information_schema.columns

where table_name = 'libros';Ingresamos algunos registros: insert into libros (titulo,autor,editorial,precio,cantidad)

values ('El aleph','Borges','Emece',25.50,100);

insert into libros (titulo,autor,editorial,precio,cantidad)

values ('Alicia en el pais de las maravillas','Lewis Carroll','Atlantida',10,200);

insert into libros (titulo,autor,editorial,precio,cantidad)

values ('Matematica estas ahi','Paenza','Siglo XXI',18.8,200);Veamos todos los campos la tabla: select * from libros;Veamos solamente el ttulo, autor y editorial de todos los libros especificando los nombres de los campos separados por comas: select titulo,autor,editorial from libros; Con la siguiente sentencia seleccionamos los ttulos y precios de todos los libros: select titulo,precio from libros;Veamos solamente la editorial y la cantidad de libros tipeamos: select editorial,cantidad from libros; 5 - Recuperar algunos registros (where)

Hemos aprendido a seleccionar algunos campos de una tabla.Tambin es posible recuperar algunos registros.

Existe una clusula, "where" con la cual podemos especificar condiciones para una consulta "select". Es decir, podemos recuperar algunos registros, slo los que cumplan con ciertas condiciones indicadas con la clusula "where". Por ejemplo, queremos ver el usuario cuyo nombre es "Marcelo", para ello utilizamos "where" y luego de ella, la condicin: select nombre, clave

from usuarios

where nombre='Marcelo';La sintaxis bsica y general es la siguiente: select NOMBRECAMPO1, ..., NOMBRECAMPOn

from NOMBRETABLA

where CONDICION;Para las condiciones se utilizan operadores relacionales (tema que trataremos ms adelante en detalle). El signo igual(=) es un operador relacional.Para la siguiente seleccin de registros especificamos una condicin que solicita los usuarios cuya clave es igual a "River": select nombre,clave

from usuarios

where clave='River';Si ningn registro cumple la condicin establecida con el "where", no aparecer ningn registro.

Entonces, con "where" establecemos condiciones para recuperar algunos registros.

Para recuperar algunos campos de algunos registros combinamos en la consulta la lista de campos y la clusula "where": select nombre

from usuarios

where clave='River';En la consulta anterior solicitamos el nombre de todos los usuarios cuya clave sea igual a "River".6 - Operadores relacionales

Los operadores relacionales (o de comparacin) nos permiten comparar dos expresiones, que pueden ser variables, valores de campos, etc.

Hemos aprendido a especificar condiciones de igualdad para seleccionar registros de una tabla; por ejemplo: select * from libros

where autor='Borges';Utilizamos el operador relacional de igualdad.

Los operadores relacionales vinculan un campo con un valor para que PostgreSQL compare cada registro (el campo especificado) con el valor dado.

Los operadores relacionales son los siguientes:=igual

distinto

>mayor

=mayor o igual

20;Queremos seleccionar los libros cuyo precio sea menor o igual a 30: select * from libros

where precio