CorreccionSolemne3IndustrialBD
-
Upload
joseph-baack -
Category
Documents
-
view
216 -
download
0
Transcript of CorreccionSolemne3IndustrialBD
-
8/18/2019 CorreccionSolemne3IndustrialBD
1/6
Universidad Andrés Bello 2011
1
CORRECCION SOLEMNE N°3 BASE DE DATOS
Instrucciones:
Responda individualmente la primera pregunta de la solemneLa pregunta dos y tres puede ser respondida en grupo de dos o tres alumnos.
I.
Responda las siguientes preguntas 20 ptos
1. De un ejemplo de partición Horizontal y partición vertical de tablas
Particiaòn Horizontal
clientes(id_cliente, nombre, apellido, fono, mail)
clientesNorte(id_cliente, nombre, apellido, fono, mail)
ClientesCentro(id_cliente, nombre, apellido, fono, mail)ClientesSur(id_cliente, nombre, apellido, fono, mail)
Partición vertical:
pacientes(id_paciente, nombre, apellido, fono, mail, grupo_sanguineo, fecha_nacimiento,
peso_alnacer, estatura_al_nacer)
tablas particionadas:
Paciente (id_paciente, nombre, apellido, fono, mail,, fecha_nacimiento)
DatosClinicos(id_paciente, grupo_sanguineo, peso_alnacer, estatura_al_nacer)
2. Señale que significa cada uno de los siguientes términos en la revisión del diseño:
2.1. Completitud: Permite preguntarse si el modelo resultante está completo y responde a
todos los requerimientos del cliente, presentes y fututos
2.2. Uso de homónimos: En el caso de que el modelo resultante se vea favorecido con uso
de atributos que significan distinto pero suenan igual es convenientes usarlo pero
acompañado de una muy buena documentación: Eje: Nota como evaluación y Notacomo una observación
2.3. Exactitud: Confirmar que el modelo de datos resultante esté modelado según las reglas
existentes en la realidad modelada, en este aspecto es muy importante que el modelo
se explique por sí mismo y sea entendido por las personas que viven en la realidad
modelada
-
8/18/2019 CorreccionSolemne3IndustrialBD
2/6
Universidad Andrés Bello 2011
2
II. Transforme el siguiente diagrama E-R, en un modelo Relacional 20 ptos
1 a Muchos
facturas
folio
fecha
total
id_cliente
id_encar
Factura_producto
folio
id_producto
cantidad
Productos
Id_producto
precioglosa
Producto_proveedor
Id_producto
Id_provee
clientes
id_cli
nombre
apellido
id_profesio
profesiones
Id_profesio
nombre
Proveedores
Id_provee
nombre
direccion
-
8/18/2019 CorreccionSolemne3IndustrialBD
3/6
Universidad Andrés Bello 2011
3
III. SQL 60 ptos
1) Dadas las tablas presentadas a continuación conteste las siguientes preguntas con
lenguaje SQL:
NACIONALES
Cod_nacional pk>
RUT
CLIENTES
RUT Nombre
Apell_Pater
Apell_Mater
Ciudad
Direccion
Fono
Fecha_NacimientoSexo
EXTRANJEROS
Cod_extranjero
RUT Pais_origen
CLIENTE_PRODUCTO
Cod_naci onal Cod_producto
PRODUCTOS
Cod_producto
Nombre
Costo_mantencion
duracion
Cod_banco
BANCOS
Cod_banco
Nombre
-
8/18/2019 CorreccionSolemne3IndustrialBD
4/6
Universidad Andrés Bello 2011
4
a. Preguntas de Revisión. Para cada pregunta responda cómo podría obtener la informaciónsolicitada: 20 ptos
i. ¿Podría saber el costo de mantención total por todos los productos del banco de un
cliente dado? Desde la tabla nacionales, se deben sumar el atributo, costo mantención, para cada
producto vinculado en la tabla cliente-producto
ii. ¿Podría saber el nombre y apellido de todos los clientes de la región metropolitana? No, falta un atributo región en clientes
iii. ¿Podría saber cuántos productos del banco de chile vencen este año?
No, no tenemos fecha de entrega de los productos. Este atributo debería estar en la
tabla cliente-producto
iv. ¿Podría saber qué productos tienen asignados los clientes extranjero?
No, no hay relación entre las tablas
v. ¿Podría saber la cantidad de clientes que tienen VISA por tres años de vigencia?
Si, están todos los datos disponibles en las 4 tablas del modelo que están
relacionadas
b. Responda las siguientes preguntas en SQL: 40 ptos
a) Crear la tabla productos y cliente_producto
CREATE TABLE PRODUCTOS(
Cod_producto VARCHAR2(10) PRIMARY KEY,Nombre VARCHAR2(30) NOT NULL,
Costo_mantencion I NTEGER NOT NULL,
Duracion INTEGER,
Cod_banco VARCHAR2(10) NOT NULL,
FOREIGN KEY cod_banco REFERENCES BANCOS(Cod_banco) );
CREATE TABLE CLIENTE_PRODUCTO(
Cod_naci onal INTEGER NOT NULL,
Cod_producto INTEGER NOT NULL,
PRIMARY KEY (Cod_nacional, Cod_producto),
FOREIGN KEY Cod_nacional REFERENCES naci onales(Cod_nacional),FOREIGN KEY Cod_producto REFERENCES PRODUCTOS(Cod_producto) ) ;
b) Indicar el comando SQL para insertar una fila en la tabla clientes y en la tabla nacionales
INSERT INTO CLIENTES VALUES (‘86798459’, ‘PEDRO’, ‘DIAZ’, ‘VALPARAISO’, ‘PEDRO
MONTT 457’, 2458796, ‘25/05/1980’, ‘M’);
INSERT INTO NACIONALES VALUES (100, ‘86798459’);
-
8/18/2019 CorreccionSolemne3IndustrialBD
5/6
Universidad Andrés Bello 2011
5
c) Responder las siguientes consultas SQL
1.
Mostrar el nombre de la ciudad y la cantidad de clientes por ciudad
SELECT ciudad, count(*) as cantidad
FROM clientes
GROUP BY ciudad;
2. Nombre del producto cuya mantención mensual esté entre los 1800 y 2500 pesos.
SELECT nombre
FROM productos
WHERE costo_mantencion > =1800 and costo_mantencion
-
8/18/2019 CorreccionSolemne3IndustrialBD
6/6
Universidad Andrés Bello 2011
6
6. Nombre de los bancos que tengan al menos tres productos
SELECT nombre
FROM bancos
WHERE cod_banco in (SELECT cod_banco from productos WHERE cod_producto IN (
Select cod_banco
From productosGroup by cod_banco
Having count(*)>=3));
7. Nombre de los productos que tienen más de tres años de duración del banco Estado
SELECT nombre
FROM productos
WHERE cod_banco IN (SELECT cod_banco FROM bancos WHERE nombre = ‘Estado’));
And duracion>=3
8. Mostrar el Nombre de los productos que posee Julia González Alfaro.
SELECT nombre
FROM productos
WHERE cod_producto IN (SELECT cod_producto FROM cliente_producto WHERE
Cod_nacional IN (SELECT cod_nacional FROM nacionales WHERE rut in (SELECT RUT
FROM clientes WHERE nombre = ‘JULIA’ AND apell_pater = ‘GONZALEZ’ AND
apell_mater = ‘ALFARO’)));