SlideShare una empresa de Scribd logo
1 de 16
Ejercicios
Para el siguiente subquery: Select * from tr3 where b3 _____ (select b1 from tr4) Complete el operador que “siempre” haría que funcione (no cause un error) a) = b) in c) like d) is null
La instrucción: Select * from tr4 left join tr5 on tr4.id = tr5.id and 5=2 Retorna: a) Todos los registros de la tabla tr4 b) Todos los registros de la tabla tr5 c) Ningún registro d) Nada de lo anterior
La instrucción: Select * from tr4 inner join tr5 on tr4.id = tr5.id and 5=2 Retorna: e) Todos los registros de la tabla tr4 f) Todos los registros de la tabla tr5 g) Ningún registro h) Nada de lo anterior
Considerando el siguiente DDL: Create table tr6 (id int primary key, c1 int) Create table tr7 (id int primary key, c2 int) Create view VW1 as select tr6.c1, tr7.c2 from tr6 inner join tr7 on tr6.id =tr7.id En caso de que sean posibles ejecutar las siguientes instrucciones ¿cómo se afectan a las tablas tr6 y tr7? Insert into VW1 (c1, c2) values (1, 2) update VW1 set c1 = 3 where c2 = 2 ORA-01776: no se puede modificar más de una tabla base a través de una vista de unión Tr6 cambia el valor de c1. Tr7 no cambia nada.
Una empresa que presta los servicios de parqueos para diferentes edificios o centros comerciales, que permite controlar el ingreso y la salida de los vehículos, tiene el siguiente modelo lógico.
1. Escriba el script del DDL que permita desarrollar la creación del modelo lógico de parqueo. CREATE TABLE tb_parqueo( id_parqueo INTEGER notnull, nombre CHAR(50)null,                        PRIMARY KEY (id_parqueo) ); CREATE TABLE tb_marca( id_marca INTEGER notnull, descripcion_marca CHAR(30)null,                        PRIMARY KEY (id_marca) ); CREATE TABLE tb_posicion_parqueo( id_posicion INTEGER notnull, id_parqueo INTEGER null,                         piso CHAR(2)null, posicion CHAR(2)null,                        PRIMARY KEY (id_posicion),                        FOREIGN KEY (id_parqueo) REFERENCES tb_parqueo(id_parqueo)); CREATE TABLE tb_Acceso( id_acceso INTEGER notnull, id_parqueo INTEGER null,                         nombre CHAR(50)notnull,tipo CHAR(20)notnull,                        PRIMARY KEY (id_acceso),                        FOREIGN KEY (id_parqueo) REFERENCES tb_parqueo(id_parqueo)); CREATE TABLE tb_persona( id_persona INTEGER notnull, cedula CHAR(13)notnull,                        nombre CHAR(30)notnull, apellido CHAR(30)notnull, telefono CHAR(30)notnull, sexo CHAR(1)notnull,                        PRIMARY KEY (id_persona));
CREATE TABLE tb_vehiculo( id_vehiculo INTEGER notnull,  id_marca INTEGER notnull,  id_dueno INTEGER null,                         placa CHAR(7)notnull, color CHAR(20)notnull,                        PRIMARY KEY (id_vehiculo),                        FOREIGN KEY (id_marca) REFERENCES tb_marca(id_marca),                        FOREIGN KEY (id_dueno) REFERENCES tb_persona(id_persona)); CREATE TABLE tb_ingreso_salida( id_ingreso_salida INTEGER notnull,  id_acceso_entrada INTEGER null, id_acceso_salida INTEGER null,  id_conductor INTEGER null,id_posicion INTEGER null,id_vehiculo INTEGER null,  fecha_entrada DATE null, hora_entrada TIMESTAMP null, fecha_salida DATE null, hora_salida TIMESTAMP null,                        PRIMARY KEY (id_ingreso_salida),                        FOREIGN KEY (id_acceso_entrada) REFERENCES tb_Acceso(id_acceso),                        FOREIGN KEY (id_acceso_salida) REFERENCES tb_Acceso(id_acceso),                        FOREIGN KEY (id_conductor) REFERENCES tb_persona(id_persona),                        FOREIGN KEY (id_posicion) REFERENCES tb_posicion_parqueo(id_posicion),                        FOREIGN KEY (id_vehiculo) REFERENCES tb_vehiculo(id_vehiculo));
2. La tabla tb_persona tiene el índice idx_1 que contiene el campo apellido agregue el campo nombre a este índice. dropindex idx_1; createindex idx_1 ontb_persona(nombre,apellido);
3. Ingrese un nuevo usuario con User: CLIO y Password: QWERTY2. Y que cumpla con el siguiente nivel de seguridad. create user CLIO identified by QWERTY2; GRANT SELECT ON tb_marca TO CLIO;  GRANT SELECT, INSERT ON tb_vehiculo TO CLIO; GRANT SELECT ON tb_parqueo TO CLIO; GRANT SELECT, INSERT ON tb_posicion_parqueo TO CLIO; GRANT SELECT ON tb_acceso TO CLIO; GRANT SELECT, INSERT ON tb_persona TO CLIO; GRANT SELECT, INSERT, UPDATE ON tb_ingreso_salida TO CLIO;
5. Los campos id_acceso_entrada, id_conductor, id_vehiculo, fecha_entrada, y hora de entrada, de la tabla tb_ingreso_salida, permiten valores null. Altere la tabla para que estos campos no permitan valores nulos. 6. Cree una vista que permita tener mostrar el siguiente reporte: Placa del vehiculo, Conductor del Vehiculo, Dueño del Vehiculo, Fecha de Entrada, Hora de Entrada y Nombre del parqueo. alter tabletb_ingreso_salidamodify (id_acceso_entradaintegernotnull,  id_conductorintegernotnull, id_vehiculointegernotnull, fecha_entrada DATE notnull, hora_entrada TIMESTAMP notnull); createview Reporte as (selectv.placa, i.id_conductor, v.id_dueno, i.fecha_entrada,i.hora_entrada,p.nombre fromtb_vehiculo v, tb_ingreso_salida i,  tb_parqueo p, tb_posicion_parqueopp wherev.id_vehiculo=i.id_vehiculo and i.id_posicion=pp.id_posicion                                           and pp.id_parqueo=p.id_parqueo);
7. Indique cuál es el acceso que tiene más frecuencia de salida en el año 2007. 8. ¿Cuál es la persona que mas ha ingresado durante el mes Agosto/2007, al parqueo de “Piedra Larga”? selectid_acceso_salida, count(id_acceso_salida) fromtb_ingreso_salida whereto_number(fecha_salida, ‘YYYY') = 2007 groupbyid_acceso_salida havingcount (id_acceso_salida)=max(id_acceso_salida) selectid_conductor,count(id_conductor) fromtb_ingreso_salida i ,tb_posicion_parqueo p ,tb_parqueopp whereto_char(fecha_entrada, 'MON-YYYY') like '%AGO-2007'  and i.id_posicion = p.id_posicion and pp.id_parqueo = p.id_parqueo and nombre='Piedra Larga' groupbyid_conductor havingcount(id_conductor)=max(id_conductor)
9. ¿Cuál es la persona que siempre ha ingresado con su vehículo a cualquier centro comercial, durante el año 2007? selectid_conductor fromtb_ingreso_salidai,tb_vehiculov,tb_parqueop,tb_posicion_parqueopp wherei.id_vehiculo=v.id_vehiculo and id_conductor=id_dueno and i.id_ingreso_salida=pp.id_posicion and pp.id_parqueo=p.id_parqueo and p.nombrelike '%Centro Comercial%' and to_char(fecha_entrada, ‘YYYY') =‘2007'
10. Se necesita un reporte que contenga nombre del parqueo, posición del parqueo, fecha de ingreso, hora de ingreso, acceso de ingreso, conductor, marca del vehiculo y placa del vehiculo; de todos los vehículos que se encuentran actualmente usando los parqueos. selectp.nombre,i.id_posicion,i.fecha_entrada,i.hora_entrada, i.id_acceso_entrada,i.id_conductor,v.id_marca,v.placa fromtb_ingreso_salidai,tb_vehiculov,tb_parqueop,tb_posicion_parqueopp wherei.id_vehiculo=v.id_vehiculo and i.id_ingreso_salida=pp.id_posicion and pp.id_parqueo=p.id_parqueo and i.fecha_salidaisnull
11. Se ha detectado que desde Febrero del 2007 hasta Julio del 2007 el reloj del acceso de salida “Juan Tanca Marengo” del “Centro Comercial DIC” tiene un retraso de 5 min. Corrija el tiempo de salida en la tabla tb_ingreso_salida. updatetb_ingreso_salida set hora_salida=hora_salida+5/1440 whereid_acceso_salida=(selectid_acceso fromtb_Accesoa,tb_parqueo p wherep.id_parqueo=a.id_parqueo 		 and a.nombre='Juan Tanca Marengo' 		and p.nombre='Centro Comercial DIC') and fecha_salida BETWEEN     TO_DATE('01-FEB-07','DD-MON-YY') AND     TO_DATE('01-JUL-07','DD-MON-YY')

Más contenido relacionado

La actualidad más candente

Base datos mysql y visual basic
Base datos mysql y visual basicBase datos mysql y visual basic
Base datos mysql y visual basicRafael Tobar Jame
 
Creacion de tablas_en_una_base_de_datos_relacionales
Creacion de tablas_en_una_base_de_datos_relacionalesCreacion de tablas_en_una_base_de_datos_relacionales
Creacion de tablas_en_una_base_de_datos_relacionaleshugocorrea
 
Guia rapida processing
Guia rapida processingGuia rapida processing
Guia rapida processingcordltx
 
1... conversor de bases
1... conversor de bases1... conversor de bases
1... conversor de basesJacqui Venegas
 
Algoritmica i clase05 practica 5 solucionario
Algoritmica i clase05 practica 5 solucionarioAlgoritmica i clase05 practica 5 solucionario
Algoritmica i clase05 practica 5 solucionarioJulio Pari
 
Creación interactiva web: Processing
Creación interactiva web: ProcessingCreación interactiva web: Processing
Creación interactiva web: ProcessingMiguel Gea
 
Generacion bd casopractico0708
Generacion bd casopractico0708Generacion bd casopractico0708
Generacion bd casopractico0708mbmmario
 
Diseño conceptual Easy Drive School of Motoring
Diseño conceptual Easy Drive School of MotoringDiseño conceptual Easy Drive School of Motoring
Diseño conceptual Easy Drive School of MotoringssharLudena
 
Diseño Físico EasyDrive School of Motoring
Diseño Físico EasyDrive School of MotoringDiseño Físico EasyDrive School of Motoring
Diseño Físico EasyDrive School of Motoringjosmal 7
 
Tarea Querys Sql de Wilmer Alcivar
Tarea Querys Sql de Wilmer AlcivarTarea Querys Sql de Wilmer Alcivar
Tarea Querys Sql de Wilmer Alcivarnahun1385
 

La actualidad más candente (17)

Funcion bar3 d
Funcion bar3 dFuncion bar3 d
Funcion bar3 d
 
Arreglos
ArreglosArreglos
Arreglos
 
Base datos mysql y visual basic
Base datos mysql y visual basicBase datos mysql y visual basic
Base datos mysql y visual basic
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Creacion de tablas_en_una_base_de_datos_relacionales
Creacion de tablas_en_una_base_de_datos_relacionalesCreacion de tablas_en_una_base_de_datos_relacionales
Creacion de tablas_en_una_base_de_datos_relacionales
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
punto de venta
punto de ventapunto de venta
punto de venta
 
Guia rapida processing
Guia rapida processingGuia rapida processing
Guia rapida processing
 
Introducción a Processing
Introducción a ProcessingIntroducción a Processing
Introducción a Processing
 
Teclado
TecladoTeclado
Teclado
 
1... conversor de bases
1... conversor de bases1... conversor de bases
1... conversor de bases
 
Algoritmica i clase05 practica 5 solucionario
Algoritmica i clase05 practica 5 solucionarioAlgoritmica i clase05 practica 5 solucionario
Algoritmica i clase05 practica 5 solucionario
 
Creación interactiva web: Processing
Creación interactiva web: ProcessingCreación interactiva web: Processing
Creación interactiva web: Processing
 
Generacion bd casopractico0708
Generacion bd casopractico0708Generacion bd casopractico0708
Generacion bd casopractico0708
 
Diseño conceptual Easy Drive School of Motoring
Diseño conceptual Easy Drive School of MotoringDiseño conceptual Easy Drive School of Motoring
Diseño conceptual Easy Drive School of Motoring
 
Diseño Físico EasyDrive School of Motoring
Diseño Físico EasyDrive School of MotoringDiseño Físico EasyDrive School of Motoring
Diseño Físico EasyDrive School of Motoring
 
Tarea Querys Sql de Wilmer Alcivar
Tarea Querys Sql de Wilmer AlcivarTarea Querys Sql de Wilmer Alcivar
Tarea Querys Sql de Wilmer Alcivar
 

Destacado

Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLTotus Muertos
 
Examen base de datos
Examen base de datosExamen base de datos
Examen base de datosalinahoyos
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sqlJulian Benavidez
 
MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLEdgar Sandoval
 

Destacado (7)

Sql
Sql Sql
Sql
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
Examen base de datos
Examen base de datosExamen base de datos
Examen base de datos
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 
MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQL
 
Ejemplos de entidad relacion
Ejemplos de entidad relacionEjemplos de entidad relacion
Ejemplos de entidad relacion
 

Similar a Bases de datos temas examen

Similar a Bases de datos temas examen (20)

Diapositivas del Proyecto de Aula (SILIPRO)
Diapositivas del Proyecto de Aula (SILIPRO)Diapositivas del Proyecto de Aula (SILIPRO)
Diapositivas del Proyecto de Aula (SILIPRO)
 
Registro
RegistroRegistro
Registro
 
Primeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD MysqlPrimeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD Mysql
 
CASO DE ESTUDIO DE EASYDRIVE
CASO DE ESTUDIO DE EASYDRIVECASO DE ESTUDIO DE EASYDRIVE
CASO DE ESTUDIO DE EASYDRIVE
 
UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO
UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICOUNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO
UNIVERSITY ACCOMMODATION OFFICE DISEÑO FÍSICO
 
Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)
 
Create database reservacodigos
Create database reservacodigosCreate database reservacodigos
Create database reservacodigos
 
Modelo de datos2 2
Modelo de datos2 2Modelo de datos2 2
Modelo de datos2 2
 
Modelo de datos2 2
Modelo de datos2 2Modelo de datos2 2
Modelo de datos2 2
 
Ejercicio Práctico de Base de Datos
Ejercicio Práctico de Base de DatosEjercicio Práctico de Base de Datos
Ejercicio Práctico de Base de Datos
 
Continente
ContinenteContinente
Continente
 
Laboratorio de XML en DB2
Laboratorio de XML en DB2Laboratorio de XML en DB2
Laboratorio de XML en DB2
 
Bodega mod
Bodega modBodega mod
Bodega mod
 
Taller de sql1
Taller de sql1Taller de sql1
Taller de sql1
 
taller administrar bd mysql desde php
taller administrar bd mysql desde phptaller administrar bd mysql desde php
taller administrar bd mysql desde php
 
Explicacion
ExplicacionExplicacion
Explicacion
 
PROYECTO DE LISTA LINEAL DOBLE
PROYECTO DE LISTA LINEAL DOBLEPROYECTO DE LISTA LINEAL DOBLE
PROYECTO DE LISTA LINEAL DOBLE
 
Taller De PráCtica 4
Taller De PráCtica 4Taller De PráCtica 4
Taller De PráCtica 4
 
Taller PráCtica 4
Taller PráCtica 4Taller PráCtica 4
Taller PráCtica 4
 
Taller De PráCtica 4
Taller De PráCtica 4Taller De PráCtica 4
Taller De PráCtica 4
 

Más de Velmuz Buzz

Ecuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenEcuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenVelmuz Buzz
 
Lenguajes de Programacion
Lenguajes de ProgramacionLenguajes de Programacion
Lenguajes de ProgramacionVelmuz Buzz
 
Capa de Aplicacion
Capa de AplicacionCapa de Aplicacion
Capa de AplicacionVelmuz Buzz
 
Capa de Transporte
Capa de TransporteCapa de Transporte
Capa de TransporteVelmuz Buzz
 
Estructura Organizacional
Estructura OrganizacionalEstructura Organizacional
Estructura OrganizacionalVelmuz Buzz
 
Inteligencia artificial sistema experto
Inteligencia artificial sistema expertoInteligencia artificial sistema experto
Inteligencia artificial sistema expertoVelmuz Buzz
 
Electronica transistores
Electronica transistoresElectronica transistores
Electronica transistoresVelmuz Buzz
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadoresVelmuz Buzz
 
Electronica polarizacion
Electronica polarizacionElectronica polarizacion
Electronica polarizacionVelmuz Buzz
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo hVelmuz Buzz
 
Electronica introduccion y repaso
Electronica introduccion y repasoElectronica introduccion y repaso
Electronica introduccion y repasoVelmuz Buzz
 
Electronica funcion de transferencia
Electronica funcion de transferenciaElectronica funcion de transferencia
Electronica funcion de transferenciaVelmuz Buzz
 
Electronica ejercicios
Electronica ejerciciosElectronica ejercicios
Electronica ejerciciosVelmuz Buzz
 
Electronica aplicaciones de diodos
Electronica aplicaciones de diodosElectronica aplicaciones de diodos
Electronica aplicaciones de diodosVelmuz Buzz
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fetVelmuz Buzz
 
Electronica modelaje de transitores bipolares
Electronica  modelaje de transitores bipolaresElectronica  modelaje de transitores bipolares
Electronica modelaje de transitores bipolaresVelmuz Buzz
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fetVelmuz Buzz
 

Más de Velmuz Buzz (20)

Ecuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenEcuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er Orden
 
Ruby
Ruby Ruby
Ruby
 
Lenguajes de Programacion
Lenguajes de ProgramacionLenguajes de Programacion
Lenguajes de Programacion
 
Capa de Aplicacion
Capa de AplicacionCapa de Aplicacion
Capa de Aplicacion
 
Capa de Transporte
Capa de TransporteCapa de Transporte
Capa de Transporte
 
Capa Red
Capa RedCapa Red
Capa Red
 
Capa Enlace
Capa Enlace Capa Enlace
Capa Enlace
 
Estructura Organizacional
Estructura OrganizacionalEstructura Organizacional
Estructura Organizacional
 
Inteligencia artificial sistema experto
Inteligencia artificial sistema expertoInteligencia artificial sistema experto
Inteligencia artificial sistema experto
 
Electronica transistores
Electronica transistoresElectronica transistores
Electronica transistores
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadores
 
Electronica polarizacion
Electronica polarizacionElectronica polarizacion
Electronica polarizacion
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo h
 
Electronica introduccion y repaso
Electronica introduccion y repasoElectronica introduccion y repaso
Electronica introduccion y repaso
 
Electronica funcion de transferencia
Electronica funcion de transferenciaElectronica funcion de transferencia
Electronica funcion de transferencia
 
Electronica ejercicios
Electronica ejerciciosElectronica ejercicios
Electronica ejercicios
 
Electronica aplicaciones de diodos
Electronica aplicaciones de diodosElectronica aplicaciones de diodos
Electronica aplicaciones de diodos
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fet
 
Electronica modelaje de transitores bipolares
Electronica  modelaje de transitores bipolaresElectronica  modelaje de transitores bipolares
Electronica modelaje de transitores bipolares
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fet
 

Bases de datos temas examen

  • 2. Para el siguiente subquery: Select * from tr3 where b3 _____ (select b1 from tr4) Complete el operador que “siempre” haría que funcione (no cause un error) a) = b) in c) like d) is null
  • 3. La instrucción: Select * from tr4 left join tr5 on tr4.id = tr5.id and 5=2 Retorna: a) Todos los registros de la tabla tr4 b) Todos los registros de la tabla tr5 c) Ningún registro d) Nada de lo anterior
  • 4. La instrucción: Select * from tr4 inner join tr5 on tr4.id = tr5.id and 5=2 Retorna: e) Todos los registros de la tabla tr4 f) Todos los registros de la tabla tr5 g) Ningún registro h) Nada de lo anterior
  • 5. Considerando el siguiente DDL: Create table tr6 (id int primary key, c1 int) Create table tr7 (id int primary key, c2 int) Create view VW1 as select tr6.c1, tr7.c2 from tr6 inner join tr7 on tr6.id =tr7.id En caso de que sean posibles ejecutar las siguientes instrucciones ¿cómo se afectan a las tablas tr6 y tr7? Insert into VW1 (c1, c2) values (1, 2) update VW1 set c1 = 3 where c2 = 2 ORA-01776: no se puede modificar más de una tabla base a través de una vista de unión Tr6 cambia el valor de c1. Tr7 no cambia nada.
  • 6. Una empresa que presta los servicios de parqueos para diferentes edificios o centros comerciales, que permite controlar el ingreso y la salida de los vehículos, tiene el siguiente modelo lógico.
  • 7.
  • 8. 1. Escriba el script del DDL que permita desarrollar la creación del modelo lógico de parqueo. CREATE TABLE tb_parqueo( id_parqueo INTEGER notnull, nombre CHAR(50)null, PRIMARY KEY (id_parqueo) ); CREATE TABLE tb_marca( id_marca INTEGER notnull, descripcion_marca CHAR(30)null, PRIMARY KEY (id_marca) ); CREATE TABLE tb_posicion_parqueo( id_posicion INTEGER notnull, id_parqueo INTEGER null, piso CHAR(2)null, posicion CHAR(2)null, PRIMARY KEY (id_posicion), FOREIGN KEY (id_parqueo) REFERENCES tb_parqueo(id_parqueo)); CREATE TABLE tb_Acceso( id_acceso INTEGER notnull, id_parqueo INTEGER null, nombre CHAR(50)notnull,tipo CHAR(20)notnull, PRIMARY KEY (id_acceso), FOREIGN KEY (id_parqueo) REFERENCES tb_parqueo(id_parqueo)); CREATE TABLE tb_persona( id_persona INTEGER notnull, cedula CHAR(13)notnull, nombre CHAR(30)notnull, apellido CHAR(30)notnull, telefono CHAR(30)notnull, sexo CHAR(1)notnull, PRIMARY KEY (id_persona));
  • 9. CREATE TABLE tb_vehiculo( id_vehiculo INTEGER notnull, id_marca INTEGER notnull, id_dueno INTEGER null, placa CHAR(7)notnull, color CHAR(20)notnull, PRIMARY KEY (id_vehiculo), FOREIGN KEY (id_marca) REFERENCES tb_marca(id_marca), FOREIGN KEY (id_dueno) REFERENCES tb_persona(id_persona)); CREATE TABLE tb_ingreso_salida( id_ingreso_salida INTEGER notnull, id_acceso_entrada INTEGER null, id_acceso_salida INTEGER null, id_conductor INTEGER null,id_posicion INTEGER null,id_vehiculo INTEGER null, fecha_entrada DATE null, hora_entrada TIMESTAMP null, fecha_salida DATE null, hora_salida TIMESTAMP null, PRIMARY KEY (id_ingreso_salida), FOREIGN KEY (id_acceso_entrada) REFERENCES tb_Acceso(id_acceso), FOREIGN KEY (id_acceso_salida) REFERENCES tb_Acceso(id_acceso), FOREIGN KEY (id_conductor) REFERENCES tb_persona(id_persona), FOREIGN KEY (id_posicion) REFERENCES tb_posicion_parqueo(id_posicion), FOREIGN KEY (id_vehiculo) REFERENCES tb_vehiculo(id_vehiculo));
  • 10. 2. La tabla tb_persona tiene el índice idx_1 que contiene el campo apellido agregue el campo nombre a este índice. dropindex idx_1; createindex idx_1 ontb_persona(nombre,apellido);
  • 11. 3. Ingrese un nuevo usuario con User: CLIO y Password: QWERTY2. Y que cumpla con el siguiente nivel de seguridad. create user CLIO identified by QWERTY2; GRANT SELECT ON tb_marca TO CLIO; GRANT SELECT, INSERT ON tb_vehiculo TO CLIO; GRANT SELECT ON tb_parqueo TO CLIO; GRANT SELECT, INSERT ON tb_posicion_parqueo TO CLIO; GRANT SELECT ON tb_acceso TO CLIO; GRANT SELECT, INSERT ON tb_persona TO CLIO; GRANT SELECT, INSERT, UPDATE ON tb_ingreso_salida TO CLIO;
  • 12. 5. Los campos id_acceso_entrada, id_conductor, id_vehiculo, fecha_entrada, y hora de entrada, de la tabla tb_ingreso_salida, permiten valores null. Altere la tabla para que estos campos no permitan valores nulos. 6. Cree una vista que permita tener mostrar el siguiente reporte: Placa del vehiculo, Conductor del Vehiculo, Dueño del Vehiculo, Fecha de Entrada, Hora de Entrada y Nombre del parqueo. alter tabletb_ingreso_salidamodify (id_acceso_entradaintegernotnull, id_conductorintegernotnull, id_vehiculointegernotnull, fecha_entrada DATE notnull, hora_entrada TIMESTAMP notnull); createview Reporte as (selectv.placa, i.id_conductor, v.id_dueno, i.fecha_entrada,i.hora_entrada,p.nombre fromtb_vehiculo v, tb_ingreso_salida i, tb_parqueo p, tb_posicion_parqueopp wherev.id_vehiculo=i.id_vehiculo and i.id_posicion=pp.id_posicion and pp.id_parqueo=p.id_parqueo);
  • 13. 7. Indique cuál es el acceso que tiene más frecuencia de salida en el año 2007. 8. ¿Cuál es la persona que mas ha ingresado durante el mes Agosto/2007, al parqueo de “Piedra Larga”? selectid_acceso_salida, count(id_acceso_salida) fromtb_ingreso_salida whereto_number(fecha_salida, ‘YYYY') = 2007 groupbyid_acceso_salida havingcount (id_acceso_salida)=max(id_acceso_salida) selectid_conductor,count(id_conductor) fromtb_ingreso_salida i ,tb_posicion_parqueo p ,tb_parqueopp whereto_char(fecha_entrada, 'MON-YYYY') like '%AGO-2007' and i.id_posicion = p.id_posicion and pp.id_parqueo = p.id_parqueo and nombre='Piedra Larga' groupbyid_conductor havingcount(id_conductor)=max(id_conductor)
  • 14. 9. ¿Cuál es la persona que siempre ha ingresado con su vehículo a cualquier centro comercial, durante el año 2007? selectid_conductor fromtb_ingreso_salidai,tb_vehiculov,tb_parqueop,tb_posicion_parqueopp wherei.id_vehiculo=v.id_vehiculo and id_conductor=id_dueno and i.id_ingreso_salida=pp.id_posicion and pp.id_parqueo=p.id_parqueo and p.nombrelike '%Centro Comercial%' and to_char(fecha_entrada, ‘YYYY') =‘2007'
  • 15. 10. Se necesita un reporte que contenga nombre del parqueo, posición del parqueo, fecha de ingreso, hora de ingreso, acceso de ingreso, conductor, marca del vehiculo y placa del vehiculo; de todos los vehículos que se encuentran actualmente usando los parqueos. selectp.nombre,i.id_posicion,i.fecha_entrada,i.hora_entrada, i.id_acceso_entrada,i.id_conductor,v.id_marca,v.placa fromtb_ingreso_salidai,tb_vehiculov,tb_parqueop,tb_posicion_parqueopp wherei.id_vehiculo=v.id_vehiculo and i.id_ingreso_salida=pp.id_posicion and pp.id_parqueo=p.id_parqueo and i.fecha_salidaisnull
  • 16. 11. Se ha detectado que desde Febrero del 2007 hasta Julio del 2007 el reloj del acceso de salida “Juan Tanca Marengo” del “Centro Comercial DIC” tiene un retraso de 5 min. Corrija el tiempo de salida en la tabla tb_ingreso_salida. updatetb_ingreso_salida set hora_salida=hora_salida+5/1440 whereid_acceso_salida=(selectid_acceso fromtb_Accesoa,tb_parqueo p wherep.id_parqueo=a.id_parqueo and a.nombre='Juan Tanca Marengo' and p.nombre='Centro Comercial DIC') and fecha_salida BETWEEN TO_DATE('01-FEB-07','DD-MON-YY') AND TO_DATE('01-JUL-07','DD-MON-YY')