Chequeos
Son restricciones o condiciones que deben cumplir los campos de una
tabla
Tabla - Propiedades - Restricciones - Chequeo - Añadir - Dar un nombre
a la restricción
Ejemplos de definiciones:
-
cod_libro>1000
-
feching<'2013-01-01'
-
fecha_devolucion IS NULL OR fecha_devolucion>fecha_prestamo
Acceso Remoto a traves de la red TCP/IP
Se deben modificar 2 ficheros de configuración:
- postgresql.conf
- pg_hba.conf
- host all all 192.168.0.22 255.255.255.0 nd5
Después reiniciar el servicio
Ejecución de consultas a través de lineas de comando MS-DOS
psql [-h IP] bd user
La IP que sigue al parámetro -h debe ser una aceptada en el fichero pg_hba.conf
bd es la base de datos por defecto
user es un rol de login aceptado por el servidor
Comandos:
- Conectar a una base de datos:
- Ejecutar una sentencia SQL:
- Salir del editor:
Bloqueos
Transacción: conjunto de instrucciones que se ejecutan en bloque,
es decir, o se ejecutan todas o ninguna
BEGIN TRANSACTION;
SELECT * FROM templa WHERE sueldo BETWEEN 1000 AND 10000 FOR UPDATE;
-- Quedan bloqueados esos registros. Se puede hacer SELECT pero no
UPDATE
UPDATE templa SET sueldo=sueldo+100 WHERE sueldo>1000 AND
sueldo<10000;
COMMIT TRANSACTION;
-- Realizamos las instrucciones correctamente y liberamos el bloqueo
ROLLBACK
-- Deshacemos los cambios y liberamos el bloqueo
Se pueden ver los bloqueos en Herramientas - Estado del servidor
Concesión y denegación de permisos sobre objetos GRANT-REVOKE
Órdenes que conceden/revocan permisos sobre objetos
GRANT SELECT vista1 TO usuario;
En UPDATE se pueden dar permisos sobre qué campos se pueden realizar
las modificaciones
Secuencias
Define valores automáticos a incluir en campos
Ejemplo: crear la secuencia 'siguiente'
-
Incremento: 1 (va de 1 en 1)
- Iniciar: 100 (primer valor=100)
- Opciones:
- minimo 100
- maximo 110
- ciclico
crearía un generador de secuencias que devuelve 100, 101, 102, ...110, 100, 101, ...
Con SELECT nextval('siguiente') nos devuelve el numero siguiente de la
secuencia
En un campo podemos definirlo como integer y su valor por defecto
nextval('siguiente'). Al insertar un registro nuevo le asignará el valor que le corresponda
en la secuencia