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 );