Bases de Datos
Bases de Datos
Bases de Datos
CREATE DATABASE se utiliza para crear una nueva base de datos vacía.
DROP DATABASE se utiliza para eliminar completamente una base de datos existente.
CREATE TABLE se utiliza para crear una nueva tabla, donde la información se
almacena realmente.
ALTER TABLE se utiliza para modificar una tabla ya existente.
DROP TABLE se utiliza para eliminar por completo una tabla existente.
SELECT se utiliza cuando quieres leer (o seleccionar) tus datos.
INSERT se utiliza cuando quieres añadir (o insertar) nuevos datos.
UPDATE se utiliza cuando quieres cambiar (o actualizar) datos existentes.
DELETE se utiliza cuando quieres eliminar (o borrar) datos existentes.
REPLACE se utiliza cuando quieres añadir o cambiar (o reemplazar) datos nuevos o ya
existentes.
TRUNCATE se utiliza cuando quieres vaciar (o borrar) todos los datos de la
plantilla.
Distinct se utiliza para arrojar el resultado de una consulta sin repetir tuplas
Like evalúa si una cadena se ciñe a un valor
In lista explícita evalúa si el valor de un campo está en un conjunto de valores
Order by se ordena de acuerdo al primer campo ascendente se le pone desc es para
ordenarlo descendente
Having es una condición
Inner join coincidencia exacta por ambos lados
EJEMPLOS:
vistas
el create view se utiliza para crear una lista sobre una funcion ya existente esta
la deficion mas no la informacion
para seleccionar lo que se desea ver se coloca el select seguido de la etiqueta a
utilizas como un * seguido de el nombre
que se coloco el view
WHERE
El where especifica criterios que tienen que cumplir los valores del campo que se
consulto y que sean los resultados, funciona como una restriccion dentro de la
funcion.
ejemplo:
Obtener una lista con código y nombre de los productos
cuyo precio de venta es mayor al promedio del precio de
venta de los productos de su misma línea.
CREACION DE USUARIOS:
se utiliza para crear usuarios con datos seguido de una opcion.
ASIGNAR PRIVILEGIOS:
EJEMPLO:
GRANT ALL PRIVILEGES ON kinds TO
maulopez;
GRANT admins TO joe;
REVOCAR PRIVILEGIOS:
se usa la clausula REVOKE para quitar los privilegios de un usuario o grupo de
usuarios
EJEMPLO:
REVOKE ALL PRIVILEGES ON kinds FROM
maulopez;
REVOKE admins FROM maulopez;
TRANSACCIONES:
es una astrabcion de datos en una BD donde la Bd mientras se ejecuta la trasaccion
entra
en un estado inconsistente. (si la transaccion falla la BD quedara en
inconsistencia y se debera ejecutar Roollback
Se entiende como un conjunto de acciones llevadas a cabo por un usuario o un
programa
de aplicación, que acceden o cambian el contenido de la base de datos.
PROPIEDADES
Atomicidad(Atomicity): Es la propiedad que
asegura que la operación se ha realizado o no, y por
lo tanto ante un fallo del sistema no puede quedar a
medias.
CLAUSULAS:
BEGIN: Específica que va a empezar una transacción.
COMMIT: Le indica al motor que puede considerar la transacción completada con éxito
ROLLBACK : Indica que se ha alcanzado un fallo y que debe restablecer la base al
punto de
integridad.
ESTADOS:
las transacciones tienen diferentes estados.
ACTIVA: la transaccion mantiene en este estado mientras se ejecuta
PARCIALMENTE COMPROMETIDA: despues de ejecutarse la ultima transaccion
FALLIDA:tras descubrir que no se puede continuar la ejecución normal.
Abortada (Rolled Back): después de haber retrocedido la transacción y restablecido
la base de datos a su estado
anterior al comienzo de la transacción.
Comprometida (Commited): tras completarse con éxito.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
TRIGGERS:
es un objeto que se asocia con tablas y se almacena en la base de datos pl/sql
se ejecutan cuando sucede algun evento sobre btablas a las que se encuentra
asociado
insert,delete y update.
CREACION DE TRIGGER:
Valor de una
columna antes de
la actualización
con :OLD.nomcolumna
Valor después de
la actualización
con :NEW.nomcolumna
EJEMPLO:
Crear la función:
create function fun_codProd() returns trigger
as
$$
begin
if new.productcode not like 'S%' then
RAISE NOTICE 'error de codigo';
return null;
ELSE return new;
END IF;
end;
$$
language plpgsq
LUEGO
Crear el trigger:
create trigger trig_codProd
before insert on products
for each row
execute procedure fun_codProd();