This repository has been archived on 2025-02-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2024-1/Bases de Datos/Entrega - federico Polidoro - EJ5.sql

125 lines
4.6 KiB
SQL

create database FedePoli_Ej5;
Use FedePoli_Ej5;
----- Ej5 -------------
create table clientes(
cod_cliente int primary key,
tipo_nro_doc nvarchar(50),
nom_apellido nvarchar(100),
domicilio nvarchar(100),
tel_particular_cli nvarchar(100),
tel_celular_cli nvarchar(100),
fecha_nac date
);
create table estados(
cod_estado int primary key,
desc_estado nvarchar(100)
)
create table juzgados(
cod_juzgado int primary key,
nombre_juez nvarchar(100),
secretario nvarchar(100),
tel_juzgado nvarchar(100),
);
create table tipos_juicios(
cod_juicio int primary key,
desc_juicio nvarchar(100)
);
create table expedientes (
cod_expediente int primary key,
fecha_inicio date,
caratula nvarchar(100),
cod_estado int foreign key references estados(cod_estado),
cod_juicio int foreign key references tipos_juicios(cod_juicio),
cod_juzgado int foreign key references juzgados(cod_juzgado)
)
create table clientes_expedientes(
cod_expediente int foreign key references expedientes(cod_expediente),
cod_cliente int foreign key references clientes(cod_cliente),
tipo_demanda nvarchar(50),
primary key(cod_expediente,cod_cliente)
)
----- fin Ej5 ---------
----- Comienzo Actividad Sincronica IV -----
--- 1. Carga de datos ---
-- cargo a tabla clientes --
INSERT INTO clientes values (1, '45265923', 'Federico Polidoro', 'Laprida 120', '3414636311','3413896906', '2001-12-23');
INSERT INTO clientes values (2, '48367945', 'Nicolas Nicoletti', 'Lagos 6000', '4636363221', '0015525987', '1999-08-23');
INSERT INTO clientes values (3, '48367945', 'Juan Martin', 'Lagos 6200', '4626363221', '1015525987', '1999-01-23');
INSERT INTO clientes values (4, '48367945', 'Alejandro Martin', 'Lagos 5700', '461263221', '525987', '1997-01-23');
-- cargo tabla estado --
INSERT INTO estados values (1, 'Pausado');
INSERT INTO estados values (2, 'En Revision');
INSERT INTO estados values (3, 'Rechazado');
-- cargo tabla juzgados --
INSERT INTO juzgados values (1, 'Juan', 'Felipe', 126598242);
INSERT INTO juzgados values (2, 'Sergio', 'Javier', 456345233);
INSERT INTO juzgados values (3, 'Patricio', 'Cristian', 4562345233);
-- cargo tabla tipos_juicios --
INSERT INTO tipos_juicios values (1, 'Alimentos');
INSERT INTO tipos_juicios values (2, 'Penal');
INSERT INTO tipos_juicios values (3, 'Comercial');
-- cargo tabla expedientes --
INSERT INTO expedientes values (1, '2020-12-24', 'Caso 2131, homicidio multiple', 2, 2, 2);
INSERT INTO expedientes values (2, '2023-02-12', 'Juicio de alimentos aldosivi', 3, 1, 1);
INSERT INTO expedientes values (3, '2024-02-12', 'Juicio de alimentos Ferrara', 1, 1, 1);
INSERT INTO expedientes values (4, '2024-02-12', 'Secuestro', 3, 2, 3);
INSERT INTO expedientes values (5, '2024-02-12', 'Contrabando de ositos de peluche', 3, 2, 3);
-- cargo tabla cli-exp --
INSERT INTO clientes_expedientes values (1, 1, 'demandado');
INSERT INTO clientes_expedientes values (2, 2, 'demandante');
--- 2. Mostrar codcliente, nombre, apellido y domicilio con fecha de nacimiento anterior al año 2000 ordenado alfabeticamente ---
SELECT cod_cliente,nom_apellido,domicilio FROM clientes c WHERE c.fecha_nac < '2000-01-01' ORDER BY c.nom_apellido;
--- 3. MOSTRAR TODOS LOS EXPEDIENTES DEL JUZGADO 2 ---
SELECT * FROM expedientes e WHERE e.cod_juzgado = 2;
--- 4. DADO UN EXPEDIENTE, MOSTRAR SU ESTADO, NOMBRE DEL JUEZ Y NOMRE DEL CLIENTE ---
SELECT et.desc_estado, j.nombre_juez, c.nom_apellido FROM expedientes e
JOIN estados et ON e.cod_estado = et.cod_estado
JOIN juzgados j ON j.cod_juzgado = e.cod_juzgado
JOIN clientes_expedientes ce ON ce.cod_expediente = e.cod_expediente
JOIN clientes c ON ce.cod_cliente = c.cod_cliente
WHERE e.cod_expediente = 1;
--- 5. Cuantos expedientes hay por juzgado
SELECT j.cod_juzgado, j.nombre_juez, COUNT(e.cod_expediente) FROM expedientes e
JOIN juzgados j ON e.cod_juzgado = j.cod_juzgado
GROUP BY j.cod_juzgado, j.nombre_juez;
--- 6. CUAL ES EL JUZGADO QUE MAS EXPEDIENTES TIENE, CONTEMPLAR IGUALES, era dificil
WITH CANTEXPEDIENTES AS (
SELECT j.cod_juzgado, COUNT(e.cod_expediente) as num_cant_exp FROM expedientes e
JOIN juzgados j ON e.cod_juzgado = j.cod_juzgado
GROUP BY j.cod_juzgado
)
SELECT cod_juzgado, num_cant_exp FROM CANTEXPEDIENTES
WHERE num_cant_exp = (SELECT MAX(num_cant_exp) FROM CANTEXPEDIENTES)
--- 7. AGREGAR A LA TABLA JUZGADOS EL ATRIBUTO FECHA_ALTA
ALTER TABLE juzgados ADD fecha_alta date;
--- 8. AGREGAR AL MODELO LA TABLA LOCALIDADES(CP,LOCALIDAD) Y RELACIONARLA CON JUZGADOS Y CLIENTES
CREATE TABLE localidades(
cod_localidad int primary key,
localidad varchar(50),
cod_juzgado int foreign key references juzgados,
cod_cliente int foreign key references clientes
);