Está en la página 1de 22

AP6-AA1-Ev1-Construcción de modelos de base de datos

Edwin Urueta Rodríguez

Servicio Nacional de Aprendizaje (SENA)


Análisis y desarrollo de sistemas de información
2019
1. Cree una base de datos llamada Laboratoriosql.

Creación Base de datos LaboratorioSQL

2. Ubicado en la base de datos que se acaba de crear, construya las


siguientes tablas con sus respectivos campos y tipos de datos,

Usar base de datos LaboratorioSQL

profesor

CREATE table "PROFESOR" (


"DOC_PROF(PK)" VARCHAR2(11),
"NOM_PROF" VARCHAR2(30),
"APE_PROF" VARCHAR2(30),
"CATE_PROF" INT,
"SAL_PROF" INT,
constraint "PROFESOR_PK" primary key ("DOC_PROF(PK)")
)
/

CREATE trigger "BI_PROFESOR"


before insert on "PROFESOR"
for each row
begin
if :NEW."DOC_PROF(PK)" is null then
select "PROFESOR_SEQ".nextval into :NEW."DOC_PROF(PK)" from dual;
end if;
end;
/

Creación Tabla Profesor


Creación tabla Curso

CURSO

CREATE table "CURSO" (


"COD_CURS(PK)" INT,
"NOM_CURS" VARCHAR2(100),
"HORAS_CUR" INT,
"VALOR_CUR" INT,
constraint "CURSO_PK" primary key ("COD_CURS(PK)")
)
/

CREATE trigger "BI_CURSO"


before insert on "CURSO"
for each row
begin
if :NEW."COD_CURS(PK)" is null then
select "CURSO_SEQ".nextval into :NEW."COD_CURS(PK)" from dual;
end if;
end;
/

Creación tabla Estudiante

CREATE TABLE "ESTUDIANTE"


( "DOC_EST(PK)" VARCHAR2(11),
"NOM_EST" VARCHAR2(30),
"APE_EST" VARCHAR2(30),
"EDAD_EST" INT,
CONSTRAINT "ESTUDIANTE_PK" PRIMARY KEY ("DOC_EST(PK)") ENABLE
);

CREATE OR REPLACE TRIGGER "BI_ESTUDIANTE"


before insert on "ESTUDIANTE"
for each row
begin
if :NEW."DOC_EST(PK)" is null then
select "ESTUDIANTE_SEQ".nextval into :NEW."DOC_EST(PK)" from dual;
end if;
end;

--------------------------------------------

Creación tabla Cliente

--------------------------------------------------------------
CREATE table "CLIENTE" (
"ID_CLI(PK)" VARCHAR2(11),
"NOM_CLI" VARCHAR2(30),
"APE_CLI" VARCHAR2(30),
"DIR_CLI" VARCHAR2(100),
"DEP_CLI" VARCHAR2(20),
"MES_CUM_CLI" VARCHAR2(10),
constraint "CLIENTE_PK" primary key ("ID_CLI(PK)")
)
/

CREATE trigger "BI_CLIENTE"


before insert on "CLIENTE"
for each row
begin
if :NEW."ID_CLI(PK)" is null then
select "CLIENTE_SEQ".nextval into :NEW."ID_CLI(PK)" from dual;
end if;
end;
/

Creación tabla Articulo


CREATE table "ARTICULO" (
"ID_ART(PK)"INT,
"TIT_ART" VARCHAR2(100),
"AUT_ART" VARCHAR2(100),
"EDI_ART" VARCHAR2(300),
"PREC_ART" INT,
constraint "ARTICULO_PK" primary key ("ID_ART(PK)")
)
/

CREATE trigger "BI_ARTICULO"


before insert on "ARTICULO"
for each row
begin
if :NEW."ID_ART(PK)" is null then
select "ARTICULO_SEQ".nextval into :NEW."ID_ART(PK)" from dual;
end if;
end;
/

Creación tabla Pedido

CREATE table "PEDIDO" (


"ID_PED(PK)" INT,
"ID_CLI_(PK)" VARCHAR2(11),
"FEC_PED" DATE,
"VAL_PED" INT,
constraint "PEDIDO_PK" primary key ("ID_PED(PK)")
)
/

CREATE trigger "BI_PEDIDO"


before insert on "PEDIDO"
for each row
begin
if :NEW."ID_PED(PK)" is null then
select "PEDIDO_SEQ".nextval into :NEW."ID_PED(PK)" from dual;
end if;
end;
/
Creación tabla Articuloxpedido

CREATE table "ARTICULOXPEDIDO" (


"ID_PED_ARTPED(FK)" INT
"ID_ART_ARTPED(FK)" INT,
"CAN_ART_ARTPED" INT,
"VAL_VEN_ART_ARTPED" INT,
constraint "ARTICULOXPEDIDO_PK" primary key ("ID_PED_ARTPED(FK)")
)
/

CREATE trigger "BI_ARTICULOXPEDIDO"


before insert on "ARTICULOXPEDIDO"
for each row
begin
if :NEW."ID_PED_ARTPED(FK)" is null then
select "ARTICULOXPEDIDO_SEQ".nextval into :NEW."ID_PED_ARTPED(FK)" from
dual;
end if;
end;
/
Creación tabla Compañía
CREATE table "COMPANIA" (
"COMNIT" VARCHAR2(11),
"COMNOMBRE" VARCHAR2(30),
"COMAÑOFUN" INT,
"COMREPLEGAL" VARCHAR2(100),
constraint "COMPANIA_PK" primary key ("COMNIT")
)
/

CREATE trigger "BI_COMPANIA"


before insert on "COMPANIA"
for each row
begin
if :NEW."COMNIT" is null then
select "COMPAÑIA_SEQ".nextval into :NEW."COMNIT" from dual;
end if;
end;
/
Creación tabla Tipos Automotores

CREATE table "TIPOS_AUTOMOTORES" (


"AUTTIP(PK)" INT,
constraint "AUTOMOTORES_PK" primary key ("AUTTIP(PK)")
)
/

CREATE trigger "BI_AUTOMOTORES"


before insert on "AUTOMOTORES"
for each row
begin
if :NEW."AUTTIP(PK)" is null then
select "TIPOSAUTOMOTORES_SEQ".nextval into :NEW."AUTTIP(PK)" from dual;
end if;
end;
/

Creación tabla Automotores

CREATE table "AUTOMOTORES1" (


"AUTOPLACA(PK)" VARCHAR2(6),
"AUTOMARCA" VARCHAR2(30),
"AUTOTIPO(FK)" INT,
"AUTOMODELO" INT,
"AUTONUMPASAJEROS"INT,
"AUTOCILINDRAJE" INT,
"AUTNUMCHASIS" VARCHAR2(20),
constraint "AUTOMOTORES1_PK" primary key ("AUTOPLACA(PK)")
)
/

CREATE trigger "BI_AUTOMOTORES1"


before insert on "AUTOMOTORES1"
for each row
begin
if :NEW."AUTOPLACA(PK)" is null then
select "AUTOMOTORE_SEQ".nextval into :NEW."AUTOPLACA(PK)" from dual;
end if;
end;
/
Creación tabla Aseguramientos

" INT,
"ASEPLACA" VARCHAR2(0),
constraint "ASEGURAMIENTO_PK" primary key ("ASECODIGO_(PK)")
)
/

CREATE trigger "BI_ASEGURAMIENTO"


before insert on "ASEGURAMIENTO"
for each row
begin
if :NEW."ASECODIGO_(PK)" is null then
select "ASEGURAMIENTO_SEQ".nextval into :NEW."ASECODIGO_(PK)" from dual;
end if;
end;
/

Creación tabla incidentes

OSINVOLUCRADOS"INT,
constraint "INCIDENTES_PK" primary key ("INCIPLACA(VK)")
)
/

CREATE trigger "BI_INCIDENTES"


before insert on "INCIDENTES"
for each row
begin
if :NEW."INCIPLACA(VK)" is null then
select "INCIDENTE_SEQ".nextval into :NEW."INCIPLACA(VK)" from dual;
end if;
end;
/
3. Inserte los siguientes registros según las tablas que se presentan:

Tabla Profesor:
Tabla Curso:

Tabla Estudiante:

Tabla Cliente:

Tabla Artículo:
Tabla Pedido:

Tabla Articuloxpedido

Tabla Compañía:

Tabla TiposAutomotores:
Tabla Automotores:

Tabla Aseguramientos:

Tabla Incidentes:
4. Realice las siguientes consultas:

Salarios profesores ordenados por categorías:

Mostrar valor cursos mayores a 500 mil:

Mostrar estudiantes mayores de 22 años:

Muestre el nombre y la edad del estudiante más joven:


Obtener el sueldo promedio de los profesores de la categoría 1:

Muestre todos o l s campos de la tabla curso en orden ascendente


según el valor:

Muestre el nombre del profesor con menor sueldo:


Visualice los profesores cuyo sueldo este entre $500.000 y $700.000:

Visualizar el nombre, apellido y dirección de todos aquellos clientes


que hayan realizado un pedido el día 2012-02-25:

Listar todos los pedidos realizados incluyendo el nombre del artículo:

Visualizar los clientes que cumplen años en marzo:


Visualizar los datos del pedido 1, incluyendo el nombre del cliente, la
dirección, la dirección del mismo, nombre y el valor de los artículos que
tiene dicho pedido:

Visualizar el nombre del cliente, fecha y el valor del pedido más costoso:

Mostrar cuantos artículos se tienen en cada editorial:

Mostrar los pedidos con los respectivos artículos (código, nombre, valor
y cantidad pedida):
Visualizar todos los clientes organizados por apellidos:

Visualizar todos los artículos organizados por autor:

Visualizar los pedidos que se han realizado para el artcíulo con id 2,


el listado debe mostrar el nombre y dirección del cliente, el respectivo
número de pedido y la cantidad solicitada:

Visualizar los datos de las empresas fundadas entre el año 1991 y 1998:
Listar los datos de los automotores cuya póliza expira en octubre de 2013,
este reportes debe visualizar la placa, el modelo, la marca, número de
pasajeros, cilindraje, nombre de automotor, el valor de la póliza y el valor
asegurado:

Visualizar los datos de los incidentes ocurridos el 30-09-2012, con su


respectivo número de póliza, fecha inicio de la póliza, valor asegurado y
valor de la póliza:

Visualizar los datos de los incidentes que han tenido un herido, este
reporte debe visualizar la placa del automotor, los datos de póliza y su
respectiva fecha de inicio, valor, estado y valor asegurado

Visualizar todos los datos de la póliza mas costosa:


Visualizar los incidentes con el menor número de autos involucrados,
de este incidente mostrar el estado de la póliza y el valor
asegurado:

Visualizar los incidentes del vehículo con placas “FLL420”, este


reporte debe visualizar la fecha, el lugar, la cantidad de heridos, la fecha
de inicio y expiración de la póliza y el valor asegurado.

Visualizar los datos de la empresa con el Nit 89999999-5:

Visualizar los datos de la póliza cuyo valor asegurado es el más


costoso, este reporte además de visualizar todos los datos de la
poliza, debe mostrar todos los datos del vehiculo que tiene dicha
poliza.
Visualizar los datos de las pólizas de los automotores tipo 1, este reporte
debe incluir placa, marca, modelo, cilindraje del vehículo junto con la
fecha

de inicio y expiración y estado de la póliza:

También podría gustarte