Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Basi di dati ~ comunicazione digitale
 
soluzioni 23/07
Clicca QUI per vedere il messaggio nel forum
dvr
Ecco le mie soluzioni come le ho fatte nel compito...


schema er:
http://tinyurl.com/schemaer

normalizzazione:
http://tinyurl.com/6mmwcc
http://tinyurl.com/64zrb8

C'è solo lo schema er non ristrutturato, senza ristrutturazione e schema relazionale, i quali si ricavano facilmente.

Qui i vincoli dovrebbero essere:
1) se il manager dirige una filiale => manager.master = 'economia' AND data odierna - dipendente.data_assunzione >= 5 anni
2) stesso concetto applicato all' impiegato

forse ce ne sono altri, ora non ricordo :(, sicuramente in fase di ristrutturazione ne appaiono altri in corrispondenza di dipendente

E' simile a quello spiegato dal prof, unica cosa, da quanto mi ricordo, la relazione tra cliente e fondo nel mio passa attraverso il conto corrente mentre in quella del prof era diretta. mmm, lui non aveva fatto neanche la relazione ternaria tra cliente, cliente (cointestatario) e conto.

Ah, per la cronaca, ho preso I+. (qui ho corretto un paio di errori, sul compito inoltre ho saltato due query e una l' ho pure sbagliata in parte)

Sono benvenute soluzioni :) ora vedo l' sql...

dvr
vista la grande richiesta via PM ecco le query sql

1)
SELECT aula
FROM orarilez ol, corsi c, corsil cl
WHERE c.anno = '2' AND
c.semestre = '1' AND
cl.nome = 'informatica' AND
c.codC=ol.codC AND
c.codL=cl.codL

2)
SELECT COUNT(*) AS tot_iscrizioni_esame, codS, codL
FROM iscrizioniEsami
GROUP BY codS, codL

ok, queste erano le più facili... però al compito una l' ho sbagliata maledizione :(. ora vedo le altre, un pò più difficult...

Nessun' altro che contribuisce? ho fatto tutto perfetto, possibile?

dvr
3)


SELECT cods, COUNT(*)
FROM (studenti NATURAL JOIN esitiEsami) as SE
WHERE COUNT(*) =
(SELECT COUNT(*)
FROM corsi c
WHERE c.codL = SE.codL
)
AND
codS NOT IN ANY
(SELECT cods
FROM testiLaurea
)
GROUP BY codS

dvr
La quarta query non mi viene, o meglio viene un casino... è brutta proprio da vedersi :( il prof se l' era sbrigata in un attimo.
Speriamo non me la chieda all' orale.

per comodità, visto che il forum non supporta le tabulazioni:
http://paste2.org/p/528451

dvr
link corretto:
http://paste2.org/p/52845

holylaw
code:
Per le tabulazioni esiste il tag [CODE]

dvr
holylaw: giusto... sfrutto subito:

4)

code:
select conds, sum(durata) as tot_ore from orarilez ol, corsi c, corsil cl where cl.nome = 'informatica' and c.anno = '3' and cl.codl = c.codc and c.codc = ol.codl having sum(durata) > 8


domande:
1)è giusta?
2)perchè la stavo risolvendo con 2 query interne correlate?
2)perchè venerdì non ho studiato? maledizione, mi basterebbe un giorno in più per essere super-preparato :(:(:( ora so fare TUTTO
:teach:
(ehm, senza esagerare...)
ricoreggendo ho visto d'aver fatto parecchi errori allo scritto... chissà come il prof ne terrà conto all' orale..

Asso
Manca un group by codc

Finalmente l'ho passato :D

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate