Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[APORTE][FINAL][GDD] 17-07-18
Autor Mensaje
Smitten1994 Sin conexión
Campeon del cubo Rubik
La verdad es que no hay una ve...
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 116
Agradecimientos dados: 340
Agradecimientos: 273 en 56 posts
Registro en: Aug 2013
Mensaje: #1
[APORTE][FINAL][GDD] 17-07-18 Finales Gestión de Datos
Utnianos! Les subo el final de GDD del 17-07-18.

[Imagen: hWvF5Zp.png]

No se olviden de agradecer! thumbup3
(Este mensaje fue modificado por última vez en: 14-12-2018 00:05 por Smitten1994.)
13-12-2018 23:51
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Smitten1994 recibio 8 Gracias por este post
Soy (06-02-2019), daia0325 (13-07-2019), lbagattin (16-07-2019), pablit (15-08-2019), DrWily (30-11-2019), chrisgel15 (05-01-2020), fluxhn (04-02-2020), Mauro_bilo (18-02-2020)
rmusli Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4
Agradecimientos dados: 0
Agradecimientos: 1 en 1 posts
Registro en: Feb 2012
Mensaje: #2
RE: [APORTE][FINAL][GDD] 17-07-18
Buenas tiro mi solucion, las correcciones seran bienvenidas.

1.a) Verdadera (los AB se representan en arrays)
1.b) Falsa (el grafo tiene que ser aciclico y no dirigido)

2.a) Transaccion: conjunto de opoeraciones tratas de forma atomica.
Lockeos: es cuando de bloquea una tabla o filas, hasta completar una transaccion (commit o rollback).
Aislamiento: es el nivel que se aisla una transaccion de las modificaciones de los datos por otras transacciones.
La realcion entre los 3 conceptos es que los lockeos garantizan el aislamiento de las transaccion en escritura y en lectura depende del nivel que se utilice (READ UNCOMMITED, READ COMMITED, REPITEBLE READ o SERIALIZABLE ), SQL SERVER por defecto READ COMMITED.

2.b) Arquitectura interna de BD (ANSI-SPARC): posee tres niveles
1.-Nivel Externo: se refiere a como los usuarios ven los datos o tienen acceso a ellos, vistas, permisos, etc.
2. Nivel Conceptual: es el modelo logico de la DB, como se relacionan las entidades, cuales son sus restricciones, etc.
3. Nivel Interno: es como se almacenan los datos en la DB y el HW a nivel fisico.

3.a) para mi es la "D"

3.b)

SELECT DISTINCT e.id_empresa, COUNT (a.id_area),
(SELECT COUNT (emp1.cuit)
FROM empleado AS emp1
WHERE emp1.id_empresa = a.id_empresa AND emp1.id_area = a.id_area)
FROM empresa AS e, area AS a, empleado AS em
WHERE e.id_empresa = a.id_empresa AND
a.id_empresa = em.id_empresa AND
(SELECT COUNT (emp2.cuit)
FROM empleado AS emp2
WHERE emp2.id_empresa = a.id_empresa AND emp2.id_area = a.id_area) > 10
GROUP BY e.id_empresa


16-12-2018 19:23
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Diesel Sin conexión
Profesor del Modulo A
me recibi !!! 25/10/2023
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 201
Agradecimientos dados: 178
Agradecimientos: 346 en 50 posts
Registro en: Sep 2012
Mensaje: #3
RE: [APORTE][FINAL][GDD] 17-07-18
3a)
Para mi es D pero en la columna 2 en lugar de lo que dice eso es "Cantidad de Areas distintas por Empresa" y columna 3 "Cantidad de empleados por empresa".

EDIT:
Lo codifique , lo corri y me dio asi como dije.


CREATE TABLE ASDempresa
(
id_empresa nvarchar(5) NOT NULL ,
descr nvarchar(11) NOT NULL ,
CONSTRAINT FK_id_empresa_RP PRIMARY KEY (id_empresa) )

INSERT INTO ASDempresa VALUES ('Coto','Comercio' )

CREATE TABLE ASDarea
(
id_area nvarchar(5) NOT NULL ,
id_empresa nvarchar(5) NOT NULL ,
descr nvarchar(11) NOT NULL ,
CONSTRAINT FK_id_area2_RP PRIMARY KEY (id_area),
CONSTRAINT FK_id_empresa2_RP FOREIGN KEY (id_empresa) REFERENCES ASDempresa (id_empresa) )

INSERT INTO ASDarea VALUES ('SIS','Coto','sistemas' )
INSERT INTO ASDarea VALUES ('CONT','Coto','contaduria' )
INSERT INTO ASDarea VALUES ('FIN','Coto','finanzas' )

CREATE TABLE ASDempleado
(
id_Empleado int NOT NULL identity,
id_area nvarchar(5) NOT NULL ,
id_empresa nvarchar(5) NOT NULL,
cuit nvarchar(11) NOT NULL,
CONSTRAINT FK_id_Empleado_RP PRIMARY KEY (id_Empleado),
CONSTRAINT FK_id_empresa3_RP FOREIGN KEY (id_empresa) REFERENCES ASDempresa (id_empresa),
CONSTRAINT FK_id_area3_RP FOREIGN KEY (id_area) REFERENCES ASDarea (id_area))

INSERT INTO ASDempleado VALUES ('SIS','Coto','121' )
INSERT INTO ASDempleado VALUES ('CONT','Coto','122' )
INSERT INTO ASDempleado VALUES ('FIN','Coto','123' )
INSERT INTO ASDempleado VALUES ('FIN','Coto','124' )


select e.id_empresa,count(distinct a.id_area),count( em.cuit)
from ASDempresa e join ASDarea a on e.id_empresa=a.id_empresa
left join ASDempleado em on (a.id_area=em.id_area and a.id_empresa=em.id_empresa)
group by e.id_empresa


Resultado:
Coto 3 4
(Este mensaje fue modificado por última vez en: 07-01-2019 12:21 por Diesel.)
07-01-2019 11:45
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
ferhaspert Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2
Agradecimientos dados: 4
Agradecimientos: 0 en 0 posts
Registro en: Jul 2016
Mensaje: #4
RE: [APORTE][FINAL][GDD] 17-07-18
Buenas, por si alguien esta estudiando para la próxima fecha y lo ve:

En el 3a, si por ejemplo hubiera 1 solo empleado trabajando en la misma empresa en 3 áreas distintas, el count(em.id_empresa), no da como resultado 3 cuando en realidad hay 1 solo empleado?
18-05-2019 21:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Martin. Sin conexión
Presidente del CEIT
Enjoy it !
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.379
Agradecimientos dados: 88
Agradecimientos: 296 en 137 posts
Registro en: Oct 2011
Mensaje: #5
RE: [APORTE][FINAL][GDD] 17-07-18
(18-05-2019 21:37)ferhaspert escribió:  Buenas, por si alguien esta estudiando para la próxima fecha y lo ve:

En el 3a, si por ejemplo hubiera 1 solo empleado trabajando en la misma empresa en 3 áreas distintas, el count(em.id_empresa), no da como resultado 3 cuando en realidad hay 1 solo empleado?

Si, es correcto.
Para que de 1 solo debería ser count(distinct em.id_empresa). Al no quitar duplicados en el count contabiliza como si son empleados distintos, ya que trabaja en varias áreas a la vez.

[Imagen: jQJfyBGh9SOmZ.png]
19-05-2019 18:44
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Diesel Sin conexión
Profesor del Modulo A
me recibi !!! 25/10/2023
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 201
Agradecimientos dados: 178
Agradecimientos: 346 en 50 posts
Registro en: Sep 2012
Mensaje: #6
RE: [APORTE][FINAL][GDD] 17-07-18
3a)
Siguiendo con el analisis...
La respuesta de este ejercicio debe ser que ninguna es la correcta y justificaría con:
Retorna 1 fila por empresa con almenos 1 area.
Y las columnas vienen dadas :
Empresas agrupadas distintas.
cantidad de areas de esa empresa.
cantidad de empleados en esa area de esa empresa. Como dijo ferhaspert , si hay un empleado en 3 areas se cuenta 3 veces ese empleado. Lo cual no ocurre porque la relacion es 1 empleado pertenece a 1 area, segun el DER.


3b)

Select id_empresa,
count(distinct a.id_area) as 'cantidad de areas',
count(distinct e.cuit) as 'cantidad de empleados'
from empresa e, area a, empleado e
where
e.id_empresa=a.id_empresa and a.idarea=e.id_area
Group by id_empresa
having count(distinct e.cuit)>10


por supuesto necesito confirmacion de si está bien mi 3b.
(Este mensaje fue modificado por última vez en: 17-10-2019 11:41 por Diesel.)
17-10-2019 11:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Soy Sin conexión
Empleado de Fotocopiadora
:)
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 39
Agradecimientos dados: 36
Agradecimientos: 35 en 14 posts
Registro en: Jan 2019
Mensaje: #7
RE: [APORTE][FINAL][GDD] 17-07-18
Paso el 3b) select e.id_empresa , COUNT(a.id_area), (select count(em.cuil) from empleados1 em where em.id_area = a.id_area and e.id_empresa = em.id_empresa group by em.cuil)
from empresa e join area a on e.id_empresa = a.id_empresa join empleados1 em on e.id_empresa = em.id_empresa and em.id_area = a.id_area
group by e.id_empresa , a.id_area
having ( select count(em.cuil) from empleados1 em1 where em1.id_area = a.id_area and e.id_empresa = em1.id_empresa) >10
order by e.id_empresa
17-10-2019 20:45
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Diesel Sin conexión
Profesor del Modulo A
me recibi !!! 25/10/2023
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 201
Agradecimientos dados: 178
Agradecimientos: 346 en 50 posts
Registro en: Sep 2012
Mensaje: #8
RE: [APORTE][FINAL][GDD] 17-07-18
(17-10-2019 20:45)Soy escribió:  Paso el 3b) select e.id_empresa , COUNT(a.id_area), (select count(em.cuil) from empleados1 em where em.id_area = a.id_area and e.id_empresa = em.id_empresa group by em.cuil)
from empresa e join area a on e.id_empresa = a.id_empresa join empleados1 em on e.id_empresa = em.id_empresa and em.id_area = a.id_area
group by e.id_empresa , a.id_area
having ( select count(em.cuil) from empleados1 em1 where em1.id_area = a.id_area and e.id_empresa = em1.id_empresa) >10
order by e.id_empresa

En el Having yo le pondria el Group By tmb !

Edit: no va group by en el having. tira error.. estoy creando las tablas y metiendole datos asi tiro una respuesta que esté chequeada xD
(Este mensaje fue modificado por última vez en: 18-10-2019 11:11 por Diesel.)
18-10-2019 08:34
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)