clase taller ii postgresql introduccion i (24!09!12)
TRANSCRIPT
PostgreSQL Introducción
Trabajando con Interfase grafica
Pantalla inicial del pgAdmin III, es una interface grafica que
permite el mantenimiento de la base de datos en PostgreSQL.
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.
Trabajando con Interfase grafica
Ingresar la clave y OK,
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.
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"
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"
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"
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;
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';
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');
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;
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);
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;
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.;
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.
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.
Funciones SQL
delete from tb_persona where per_id = 1 ;
Sentencia DELETE, Permite borrar un registro
de una tabla (entidad).
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).
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;
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;
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
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 .
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;
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)
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)
Back up / Restores
create domain "DM CLAVE" as integer check(value > 0) not null;
Copia y Restaura la base de datos.
Lenguaje SQL. Recursos
Lenguaje de Definición de Datos – DDL
Lenguaje de Manipulación de Datos – DML
Lenguaje de Control de Datos – DCL