PC2 Resuelto

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 6

CURSO: Base de Datos - CGT

PRÁCTICA Nº 02

DOCENTE: Mg. Raùl Jimenez Drago

ALUMNO: JESUS SANDOVAL LLONTOP CÓDIGO 20301183

Sede (donde se toma la evaluación) Torre Arequipa


FACULTAD FISE
16420
Período lectivo 2021-02 Sección Aula 56AV049 Turno Noche
(Turno - Grupo)
Fecha de evaluación 11/ 09 /2021 Horario 20:00 a 21:15 HRS Fila (*) A
INDICACIONES GENERALES

 Prohibido el intercambio de materiales


 Descargar el presente archivo .doc colocar Apellidos y Nombres, desarrollar colocando el script
editable y la imagen con el resultado obtenido en SQL Server para validar respuesta, al término
verificar la conformidad del archivo ,doc y subirlo al Canvas hasta con 03 minutos de antelación
a su finalización.

CASO: “TRIBUTOS VEHICULARES”


El Organismo de Control Vehicular, se dedica a organizar y ejecutar la administración, fiscalización y
recaudación de todos los conceptos tributarios y no tributarios de la municipalidad. Para ello, se ha
creado una base de datos donde se almacenan los siguientes datos.

1. Crear una base de datos con las siguientes tablas de datos. (4 ptos)

- Modelo: código y descripción del


modelo del automóvil.
- Automóvil: placa, marca, color,
número de motor, fecha de registro y
capacidad del automóvil.
- Infracción: código, descripción, nivel
(grave, moderada o leve) y monto de la
infracción.
- Papeletas: placa del automóvil, código
de la infracción, fecha y estado de la
infracción impuesta a un determinado
automóvil.

Tal como se muestra en el Diagrama


Relacional, tomar en cuenta los PK y FK
--

2. Crear procedimientos almacenados para añadir registros y que se ejecute la


inserción como mínimo 03 registros a cada tabla tomando en cuenta el orden de
prioridad en el ingreso (según PK y FK), asimismo de acuerdo a las próximas
consultas.
(4 ptos)

3. Cree una subconsulta que liste la descripción del modelo, así como la placa,
marca, fecha de registro y capacidad de los automóviles cuyo año de la fecha de
registro sea mayor a 2000 y su marca sea “TOYOTA”.
(6 ptos)

4. Cree una consulta combinada mostrar la placa y marca del automóvil,


descripción del modelo, código de infracción, descripción y monto de la infracción
(6 ptos)

RESPUESTAS

RESPUESTA 1:
Creamos la bd y las tablas según el modelo:
CREATE DATABASE bd;
CREATE TABLE TB_MODELO (
COD_MOD int NOT NULL,
DESCRIPCION_MODELO varchar(255),
PRIMARY KEY (COD_MOD)
);

CREATE TABLE TB_AUTOMOVIL(


PLACA_AUT int NOT NULL,
MARCA_AUT varchar(50),
COLOR_AUT varchar(50),
NUM_MOTOR int,
FEC_REG_AUT DATE,
CAPACIDAD_AUT varchar(50),
COD_MOD int NOT NULL,
PRIMARY KEY (PLACA_AUT),
FOREIGN KEY (COD_MOD) REFERENCES TB_MODELO(COD_MOD)
);

CREATE TABLE TB_INFRACCION (


COD_INF int NOT NULL,
DESC_INF varchar(255),
NIVEL varchar(50),
MONTO NUMERIC(10,2),
PRIMARY KEY (COD_INF)
);
CREATE TABLE TB_PAPELETAS(
PLACA_AUT int NOT NULL,
COD_INF int NOT NULL,
FEC_INF_AUT DATE,
ESTADO_INF_AUT varchar(50),
PRIMARY KEY (PLACA_AUT, COD_INF),
FOREIGN KEY (COD_INF) REFERENCES TB_INFRACCION(COD_INF),
FOREIGN KEY (PLACA_AUT) REFERENCES TB_AUTOMOVIL(PLACA_AUT)
);
RESPUESTA 2:

El orden de prioridad es:


1. TB_MODELO y TB_INFRACCION
a. TB_MODELO
CREATE PROCEDURE INSERTAR_MODELO
@COD INT,
@DESC varchar(255)

AS

INSERT INTO TB_MODELO (COD_MOD, DESCRIPCION_MODELO)


VALUES (@COD, @DESC);

GO

EXEC INSERTAR_MODELO 1, 'TOYOTA'


EXEC INSERTAR_MODELO 2, 'AUDI'
EXEC INSERTAR_MODELO 3, 'BMW'

b. TB_INFRACCION

CREATE PROCEDURE INSERTAR_INFRACCION


@COD INT,
@DESC varchar(255),
@NIVEL varchar(50),
@MONTO NUMERIC(10,2)

AS

INSERT INTO TB_INFRACCION (COD_INF, DESC_INF, NIVEL, MONTO)


VALUES (@COD, @DESC, @NIVEL, @MONTO);

GO

EXEC INSERTAR_INFRACCION 1, 'CHOQUE', 'GRAVE', 300.0


EXEC INSERTAR_INFRACCION 2, 'LUZ ROJA', 'MODERADO', 130.0
EXEC INSERTAR_INFRACCION 3, 'LUCES APAGADAS', 'LEVE', 59.60

2. TB_AUTOMOVIL
CREATE PROCEDURE INSERTAR_AUTOMOVIL
@PLACA INT,
@MARCA varchar(255),
@COLOR varchar(50),
@NUM_MOTOR INT,
@FECHA_REG DATE,
@CAP INT,
@COD_MOD INT

AS

INSERT INTO TB_AUTOMOVIL (PLACA_AUT, MARCA_AUT, COLOR_AUT, NUM_MOTOR,


FEC_REG_AUT, CAPACIDAD_AUT, COD_MOD)
VALUES (@PLACA, @MARCA, @COLOR, @NUM_MOTOR, @FECHA_REG, @CAP, @COD_MOD);

GO
EXEC INSERTAR_AUTOMOVIL 654321, 'TOYOTA', 'VERDE', 300,'05-03-2020', 4, 1
EXEC INSERTAR_AUTOMOVIL 654322, 'TOYOTA', 'NEGRO', 130,'05-03-2000', 4, 1
EXEC INSERTAR_AUTOMOVIL 654323, 'TOYOTA', 'BLANCO', 590,'05-03-1998', 4, 1

3. TB_PAPELETAS
CREATE PROCEDURE INSERTAR_PAPELETAS
@COD_AUT INT,
@COD_INF INT,
@FECHA DATE,
@ESTADO varchar(50)

AS

INSERT INTO TB_PAPELETAS (PLACA_AUT, COD_INF, FEC_INF_AUT, ESTADO_INF_AUT)


VALUES (@COD_AUT, @COD_INF, @FECHA, @ESTADO);

GO

EXEC INSERTAR_PAPELETAS 654321, 2, '08-12-2020', 'GRAVE'


EXEC INSERTAR_PAPELETAS 654321, 1, '03-12-2020','LEVE'
EXEC INSERTAR_PAPELETAS 654322, 3, '01-12-2020','GRAVE'

RESPUESTA 3:

SELECT DESCRIPCION_MODELO, PLACA_AUT, MARCA_AUT, FEC_REG_AUT, CAPACIDAD_AUT

FROM
(
SELECT *
FROM TB_AUTOMOVIL
WHERE YEAR(FEC_REG_AUT)>2000 AND MARCA_AUT = 'TOYOTA'
) AS AUTOMOVIL

JOIN TB_MODELO ON AUTOMOVIL.COD_MOD = TB_MODELO.COD_MOD


RESPUESTA 4:

SELECT TB_PAPELETAS.PLACA_AUT, TB_AUTOMOVIL.MARCA_AUT, TB_MODELO.DESCRIPCION_MODELO,


TB_INFRACCION.COD_INF,TB_INFRACCION.DESC_INF, TB_INFRACCION.MONTO

FROM
TB_PAPELETAS
JOIN TB_AUTOMOVIL ON TB_PAPELETAS.PLACA_AUT = TB_AUTOMOVIL.PLACA_AUT
JOIN TB_MODELO ON TB_AUTOMOVIL.COD_MOD = TB_MODELO.COD_MOD
JOIN TB_INFRACCION ON TB_PAPELETAS.COD_INF = TB_INFRACCION.COD_INF

También podría gustarte