Quick SQL nos permite diseñar rápidamente y prototipar modelos de datos utilizando una sintaxis abreviada tipo markdown que expande el Oracle SQL. Podemos crear fácilmente relaciones maestro/detalle, comprobar restricciones e incluso generar datos de muestra.
Podemos utilizar esta aplicación en forma gratuita para generar SQL y usarlo en cualquier base de datos Oracle. Todo lo que necesitamos para comenzar a utilizarla es una cuenta de Oracle.com u Oracle Technology Network (OTN). También podemos crear prototipos de forma gratuita utilizando Oracle Live SQL o suscribiéndonos a un espacio de trabajo gratuito en apex.oracle.com.
Hacemos clic en el botón Lunch Quick SQL e ingresamos nuestras credenciales de Oracle y podemos empezar a usarlo gratuitamente!
Para aprender a generar los códigos podemos cargar un ejemplo que trae la herramienta, por ejemplo, hacemos clic en el botón Load Samples y selecccionamos Departments and Employees.
Podemos también ver el diagrama Entidad-Relación del Sample, para ello hacemos clic en View Diagram.
Cargamos el Sample, y vemos como en el cuadrante de la izquierda tenemos la sintaxis para generar las sentencias SQL de lo que se visualiza en el cuadrante de la derecha.
Vemos el siguiente código:
departments /insert 4
name /nn
location
country
employees /insert 14
name /nn vc50
email /lower
cost center num
date hired
job
view emp_v departments employees
Genera el siguiente Script de SQL:
— create tables
create table departments (
id number not null constraint departments_id_pk primary key,
name varchar2(255) not null,
location varchar2(4000),
country varchar2(4000)
)
;
create table employees (
id number not null constraint employees_id_pk primary key,
department_id number
constraint employees_department_id_fk
references departments on delete cascade,
name varchar2(50) not null,
email varchar2(255),
cost_center number,
date_hired date,
job varchar2(4000)
)
;
— triggers
create or replace trigger departments_biu
before insert or update
on departments
for each row
begin
if :new.id is null then
:new.id := to_number(sys_guid(), ‘XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX’);
end if;
end departments_biu;
/
create or replace trigger employees_biu
before insert or update
on employees
for each row
begin
if :new.id is null then
:new.id := to_number(sys_guid(), ‘XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX’);
end if;
:new.email := lower(:new.email);
end employees_biu;
/
— indexes
create index employees_i1 on employees (department_id);
— create views
create or replace view emp_v as
select
departments.id department_id,
departments.name department_name,
departments.location location,
departments.country country,
employees.id employee_id,
employees.name employee_name,
employees.email email,
employees.cost_center cost_center,
employees.date_hired date_hired,
employees.job job
from
departments,
employees
where
employees.department_id(+) = departments.id
/
— load data
insert into departments (
id,
name,
location,
country
) values (
135967744744040754238869082872543466836,
‘Business Development’,
‘Tanquecitos’,
‘United States’
);
………
Y sigue aqui insertando filas en las tablas Departamento y Empleados, 4 registros en la tabla Departamentos y 14 registros en la tabla Empleados.
Para aprender la sintaxis que se usa en la herramienta podemos acceder desde el cuadrante de la derecha y hacer clic en el botón Sintaxis, de esa forma se abre una ventana modal con la ayuda.
Podemos descargar el Script para usarlo en nuestros desarrollos.
La muy buena noticia es que en la versión que se viene de Oracle APEX 5.2 vamos a tener acceso a esta aplicación desde el mismo módulo del Taller de SQL dentro de SQL Scripts.
Y con ella será mucho más facil generar los scripts que necesitamos para nuestra aplicación en APEX.