clase taller ii postgresql introduccion i (24!09!12)

28
PostgreSQL Introducción

Upload: herminiosalgueiro

Post on 14-Feb-2015

113 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Clase Taller II PostgreSQL Introduccion I (24!09!12)

PostgreSQL Introducción

Page 2: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Trabajando con Interfase grafica

Pantalla inicial del pgAdmin III, es una interface grafica que

permite el mantenimiento de la base de datos en PostgreSQL.

Page 3: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Trabajando con Interfase grafica

Para ingresar la clave y empezar a trabajar con pgAdmin III, doble

clik sobre PosgreSQL 9.1 (localhost:5432), o clik derecho y

connect.

Page 4: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Trabajando con Interfase grafica

Ingresar la clave y OK,

Page 5: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Trabajando con Interfase grafica

La siguiente pantalla aparece una vez que se haya ingresado la

clave y aquí estamos en condiciones de trabajar con base de

datos, en postgreSQL.

Page 6: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Crear una Base de Datos

Clik derecho sobre Database y seleccionar la opción New

Database.., de la ventana Object browser.

Sentencia SQL: CREATE DATABASE "Alquileres"

Page 7: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Borrar una Base de Datos

Clik derecho sobre la base de datos en el ejemplo, Alquileres y

seleccionar la opción delete/drop.., de la ventana Object browser

seleccionamos la opción, SI del cuadro de dialogo, esta sentencia

también sirve para borrar una tabla que veremos más adelante.

Sentencia SQL: DROP DATABASE "Alquileres"

Page 8: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Crea una tabla (Entidad) dentro de la Base de Datos

clik sobre database alquileres, luego Clik sobre la opción Schemas,

Public, luego sobre tables de la ventana Object browser, allí le

damos clik derecho y elegir la opción New Tables.., le ponemos el

nombre a la tabla y ok, a partir de aquí podemos crear sus

columnas (Atributos).

SQL: CREATE TABLE "Barrio"

Page 9: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Crea columnas ( Atributos) dentro de la tabla Barrio

clik sobre database alquileres, luego Clik sobre la opción Schemas, Public,

luego sobre tables de la ventana Object browser, allí le damos clik derecho

y elegir la opción New Tables.., le ponemos el nombre a la tabla y ok, a partir

de aquí podemos crear sus columnas (Atributos). Sentencia SQL: ALTER TABLE "Barrio" ADD COLUMN "bar_cod" integer;

ALTER TABLE "Barrio" ALTER COLUMN "bar_cod" SET NOT NULL;

ALTER TABLE "Barrio" ADD COLUMN "bar_nombre" character(20) NOT NULL;

Page 10: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Crea Clave Primaria dentro de la tabla Barrio

Seguimos los mismos pasos anterior, clik sobre database alquileres, luego Clik sobre la

opción Schemas, Public se ubica el iconos de tables y dentro Barrio, constraints , de la

ventana Object browser, damos clik derecho a constraints, elegimos la opción New objeto..,

luego Primary Key, y en el cuadro de dialogo la columna se adiciona (ADD) y ok

Sentencia SQL: ALTER TABLE "Barrio" ADD CONSTRAINT "bar_Codigo" PRIMARY KEY("bar_codigo" );

COMMENT ON CONSTRAINT "bar_Codigo" ON "Barrio" IS 'Clave primaria de la Entidad barrio';

Page 11: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Insertar datos dentro de la tabla Barrio

Seguimos los mismos pasos anterior, clik sobre database alquileres, luego Clik sobre

la opción Shemas, Public, se ubica el iconos de tables y luego barrio, de la ventana

Object browser, allí le damos clik derecho sobre barrio y elegimos la opción scripts y

luego Insert Scripts, allí cargamos los valores de los atributos de la tabla.

Sentencia SQL: INSERT INTO "Barrio" ("bar_codigo", "bar_nombre") VALUES (1,'centro');

Page 12: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Crea Clave Extranjera

Primero vamos a crear una tabla (Entidad) de FUNCIONARIO, con atributos y clave primaria, para luego

crear la clave extranjera en esta, dentro de la tabla funcionario: Seguimos los mismos pasos para crear

una clave primaria, clik sobre database alquileres, luego Clik sobre la opción Schemas, Public se ubica

el iconos de tables y dentro Barrio, constraints , de la ventana Object browser, damos clik derecho a

constraints, elegimos la opción New objeto.., luego New foreing key.., y en el cuadro de dialogo la

columna se adiciona (ADD) y ok.

Ahora ya podemos crear las columnas (atributos) dentro de la entidad FUNCIONARIO.

Sentencia SQL: ALTER TABLE "Funcionario" ADD CONSTRAINT "Clave extranjera" FOREIGN KEY

("Fun_Codigobarrio") REFERENCES "Barrio" (bar_cod) MATCH SIMPLE ON UPDATE NO ACTION ON

DELETE NO ACTION;

Page 13: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Insertar datos dentro de la tabla Funcionario

Seguimos los mismos pasos anterior, clik sobre database alquileres, luego Clik sobre la

opción Shemas, Public, se ubica el iconos de tables y luego FUNCIONARIO, de la

ventana Object browser, allí le damos clik derecho sobre FUNCIONARIO y elegimos la

opción scripts y luego Insert Scripts, allí cargamos los valores de los atributos de la tabla.

Sentencia SQL: INSERT INTO "Funcionario" ("Fun_cod", "Fun_nombre", "Fun_sexo",

"Fun_salario", "Fun_Codigobarrio") VALUES (1, 'Fernando', 'M',1200, 1);

Page 14: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Prueba de integridad

Se intenta borrar un atributo de la entidad Barrio, cuya clave primaria es clave extranjera, o

sea atributo de la entidad Funcionario, aquí se nota que no se puede violar, la integridad esta

perfecta.

Sentencia SQL: DELETE FROM "Barrio" WHERE bar_cod = 1;

Page 15: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Sentencias y funciones SQL

Select *from tb_persona

select per_id, per_apellido, per_telefono from tb_persona where per_nro >=2 and per_nro <=8 ;

select per_id, per_apellido, per_telefono from tb_persona where per_apellido like '%a%';

select per_id, per_apellido, per_telefono from tb_persona where per_nro between 2 and 5;

select per_id, per_apellido, per_telefono from tb_persona where per_nro in(1,2);

select per_id, per_apellido, per_nro, per_telefono from tb_persona where per_nro not in(1,2);

SELECT: Es una sentencia muy potente y útil para el manipuleo de los

datos, en una base de datos, como por ejemplo, ver, clasificar, ordenar,

etc., se utiliza también con Like, betwen.;

Page 16: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Mas sobre esta sentencia

SELECT [ALL | DISTINCT ] <nombre_campo> [{,<nombre_campo>}] FROM <nombre_tabla>|<nombre_vista> [{,<nombre_tabla>|<nombre_vista>}] [WHERE <condicion> [{ AND|OR <condicion>}]] [GROUP BY <nombre_campo> [{,<nombre_campo >}]] [HAVING <condicion>[{ AND|OR <condicion>}]] [ORDER BY <nombre_campo>|<indice_campo> [ASC | DESC] [{,<nombre_campo>|<indice_campo> [ASC | DESC ]}]]

Significado

SELECT Palabra clave que indica que la sentencia de SQL que queremos ejecutar es de selección.

ALL Indica que queremos seleccionar todos los valores.Es el valor por defecto y no suele especificarse casi

nunca.

DISTINCT Indica que queremos seleccionar sólo los valores distintos.

FROM

Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el caso de que exista más de una tabla se denomina a la consulta "consulta combinada" o "join". En las consultas combinadas es necesario aplicar una condición de combinación a través de una cláusula WHERE.

WHERE Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Admite

los operadores lógicos AND y OR.

GROUP BY Especifica la agrupación que se da a los datos. Se usa siempre en combinación con funciones

agregadas.

HAVING

Especifica una condición que debe cumplirse para los datosEspecifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Su funcionamiento es similar al de WHERE pero aplicado al conjunto de resultados devueltos por la consulta. Debe aplicarse siempre junto a GROUP BY y la condición debe estar referida a los campos contenidos en ella.

ORDER BY Presenta el resultado ordenado por las columnas indicadas. El orden puede expresarse conASC (orden

ascendente) y DESC (orden descendente). El valor predeterminado es ASC.

Page 17: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Sentencias SQL

Alter table tb_persona add per_apodo varchar (30) ;

select * from tb_persona

ALTER, Permite insertar/eliminar atributos en la

tablas ya existentes.

Page 18: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Funciones SQL

delete from tb_persona where per_id = 1 ;

Sentencia DELETE, Permite borrar un registro

de una tabla (entidad).

Page 19: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Sentencias SQL

alter table tb_persona rename column

per_apodo to per_ndedejo ;

select * from tb_persona

RENAME, Permite renombrar el nombre de una

columna (atributo) de una tabla (entidad).

Page 20: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Funciones SQL

select avg(per_nro) as media from tb_persona;

AVG. Retorna la madia de una columna de una tabla.

COUNT. Cuenta la cantidad de líneas de una tabla.

select count(per_nro) from tb_persona;

SUM. Suma valores de una columna de una tabla.

select sum(per_nro) as valor from tb_persona;

Page 21: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Funciones SQL

select min(per_nro) as Vminimo from

tb_persona;;

MIN. Retorna el valor mínimo de una columna de una tabla.

MAX. Retorna el valor maxímo de una columna de una tabla.

select max(per_nro) as Vminimo from tb_persona;

Page 22: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Funciones Escalares de Texto

Select per_id,upper(per_apellido) as apellido, per_nro

from tb_persona

UPPER. Retorna en mayúscula los textos contenidos en

una columna de la tabla.

LOWER. Retorna en minuscula los textos contenidos en una

columna de la tabla.

select per_id,lower(per_apellido) as apellido, per_nro

from tb_persona

Page 23: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Concatenar

Esta función SQL une en una única secuencia de

caracteres, una o mas columnas (Atributos) de la

tabla

Select per_id || '-' || per_apellido as "Nro y

Apellido " from tb_persona .

Page 24: Clase Taller II PostgreSQL Introduccion I (24!09!12)

GROUP BY (Agrupar Por)

Esta función agrupar datos de cualquier Base de Datos

select per_activo as situacion, count(per_activo) as

cuenta from tb_persona group by per_activo ;

De otra forma que podemos utilizar

select 'por situacion' || per_activo || ' tiene registrados',

count(Per_nro) as "estadisticas" from tb_persona

group by per_activo;

Page 25: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Promedio de una columna o atributo.

select avg(per_id) from tb_persona group by

per_activo;

Índice.

Es usado para agilizar la búsqueda de selección de

datos en una tabla (entidad).

create index ind_ident on tb_persona(per_id)

Page 26: Clase Taller II PostgreSQL Introduccion I (24!09!12)

DOMINIO (DOMAIN).

create domain "DM CLAVE"

as integer check(value > 0) not null;

Son tipo de datos creados para que puedan ser

reaprovechados por los usuarios y facilitar la padronizacion

para la creación de tablas (Entidades)

Page 27: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Back up / Restores

create domain "DM CLAVE" as integer check(value > 0) not null;

Copia y Restaura la base de datos.

Page 28: Clase Taller II PostgreSQL Introduccion I (24!09!12)

Lenguaje SQL. Recursos

Lenguaje de Definición de Datos – DDL

Lenguaje de Manipulación de Datos – DML

Lenguaje de Control de Datos – DCL