Pages (5): « 1 [2] 3 4 5 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ informatica triennale (http://www.dsy.it/forum/forumdisplay.php?forumid=211)
-- Appello 20/01/2009 (http://www.dsy.it/forum/showthread.php?threadid=37280)
punti di vista e il tuo è rispettabilissimo!
ciao, cinghio
le domande a crocette mi sembrava valessero 3 pnt ognuna e gli esercizi 5 punti
Vi ricordate le risposte alle prime domande?
Io mi ricordo di aver messo C-A-C-C-B
E l'ultimo mi pare di aver messo 5 relazioni. una solo per l'attributo di E1 con cardinalità (0,N)
Voi vi ricordate?
MA PERCHE' NON RILASCIANO PIU I TESTI D'ESAME? HANNO PAURA CHE SE UNO SI ESERCITA UN PO POI PASSA ANCHE GLI ESAMI?
la prima l'ho messa anche io a C ma non sono sicuro... c'è qualcuno che l'ha fatta giusta sicuramente? le altre non ricordo...ma erano simili forse l'ultima diversa
Originally posted by Counter65
la prima l'ho messa anche io a C ma non sono sicuro... c'è qualcuno che l'ha fatta giusta sicuramente? le altre non ricordo...ma erano simili forse l'ultima diversa
MA PERCHE' NON RILASCIANO PIU I TESTI D'ESAME? HANNO PAURA CHE SE UNO SI ESERCITA UN PO POI PASSA ANCHE GLI ESAMI?
Sono quasi sicuro che la decomposizione senza perdita sia quella con le relazione: Dipartimento-Cognome-Nome, Cognome-Nome-Telefono.
Il livello logico è quello intermedio.
L'altra risposta secondo me giusta era, se non ricordo male: (MEDIA > 25 AND ESAMI > 10) OR ETA < 25
Quella sui cookie credo di averla sbagliata: secondo me erano tutte plausibili. io ho scelto che lato server l'id sessione e' l'unica info immagazzinata.
l'altra domanda sul left join esterno non la ricordo ma secondo me prende tutti i record del lato sinistro, e se ha informazioni sul lato destro le visualizza, altrimenti non scrive niente (cioè NULL).
SQL:
SELECT SUM(TEMPO)
FROM TEMPOMANCHE
GROUP BY Luogo, Data, Atleta
UPDATE TempoManche
SET Tempo = Tempo + 1 (ammesso che il campo è un intero)
WHERE Luogo = 'Kitzbuhel' AND Data = '20090120'
GRANT:
GRANT SELECT ON Fornitore TO a,b,c WITH GRANT OPTION
GRANT INSERT ON Fornitore TO a (per non propagare)
CONSTRAINT:
ALTER TABLE a ALTER COLUMN Prezzo float NOT NULL CHECK (Prezzo > 30) (si poteva omettere il tipo e il not null)
questa si poteva fare anche a livello di contraint di tabella
ALTER TABLE Fornitore ADD CONSTRAINT PK_FID FOREIGN KEY FID REFERENCES Listino(FID) ON UPDATE CASCADE (stessa cosa per la tabella Pezzo sulla chiave PID)
Il quarto esercizio l'ho fatto male perche' non seguendo le lezioni mi sono trovato una schema ER che non sapevo codificare.
AD occhio: 3 relazioni per le tre entità E e una per l'entità Relazione R1 per fare il molti-a-molti (M:N).
Spero di essere passato ma sono fiducioso, solo che la vita mi ha dato tante e tante amarezze!
ciao, Marcello
una cosa, nella prima query , se non erro, voleva selezionare ogni atleta con il tempo totale di ogni gara?
giusto, ho omesso. pero' ho raggruppato per atleta!
Originally posted by cinghio
Sono quasi sicuro che la decomposizione senza perdita sia quella con le relazione: Dipartimento-Cognome-Nome, Cognome-Nome-Telefono.
Il livello logico è quello intermedio.
L'altra risposta secondo me giusta era, se non ricordo male: (MEDIA > 25 AND ESAMI > 10) OR ETA < 25
Quella sui cookie credo di averla sbagliata: secondo me erano tutte plausibili. io ho scelto che lato server l'id sessione e' l'unica info immagazzinata.
l'altra domanda sul left join esterno non la ricordo ma secondo me prende tutti i record del lato sinistro, e se ha informazioni sul lato destro le visualizza, altrimenti non scrive niente (cioè NULL).
SQL:
SELECT SUM(TEMPO)
FROM TEMPOMANCHE
GROUP BY Luogo, Data, Atleta
UPDATE TempoManche
SET Tempo = Tempo + 1 (ammesso che il campo è un intero)
WHERE Luogo = 'Kitzbuhel' AND Data = '20090120'
GRANT:
GRANT SELECT ON Fornitore TO a,b,c WITH GRANT OPTION
GRANT INSERT ON Fornitore TO a (per non propagare)
CONSTRAINT:
ALTER TABLE a ALTER COLUMN Prezzo float NOT NULL CHECK (Prezzo > 30) (si poteva omettere il tipo e il not null)
questa si poteva fare anche a livello di contraint di tabella
ALTER TABLE Fornitore ADD CONSTRAINT PK_FID FOREIGN KEY FID REFERENCES Listino(FID) ON UPDATE CASCADE (stessa cosa per la tabella Pezzo sulla chiave PID)
Il quarto esercizio l'ho fatto male perche' non seguendo le lezioni mi sono trovato una schema ER che non sapevo codificare.
AD occhio: 3 relazioni per le tre entità E e una per l'entità Relazione R1 per fare il molti-a-molti (M:N).
Spero di essere passato ma sono fiducioso, solo che la vita mi ha dato tante e tante amarezze!
ciao, Marcello
__________________
by Ð@rk§h@ÐØw
Originally posted by darkshadow
UPDATE TempoManche
SET Tempo = Tempo + 1 (ammesso che il campo è un intero)
WHERE Luogo = 'Kitzbuhel' AND Data = '20090120'
questa è assolutamente sbagliata perchè l'es ti chiedeva di aggioarnare il valore di TEMPO aggiungendo + 1 pero prima dovevi prendere il valore che c'è nel campo TEMPO dei record che rispettano la clausola WHERE e a questo valore fare + 1.
e questo si poteva fare attraverso non so una funzione nella quale usi un cursore.
non si può fare direttamente TEMPO = TEMPO + 1
dark se i campi sono nel group by non e' detto che devono essere anche nella select. ne sono quasi sicuro: con SQL SERVER e' cosi'.
non vale il contrario. il problema che l'atleta lo vedo più volte per ogni gara.
piuttosto, riguardo l'update, mi viene in mente che forse ho aggiunto un secondo per ogni manche e questo non e' tanto giusto!
l'update con la where cosi' in generale credo sia giusto... o forse non ho capito la tua obiezione. di certo e' impreciso.
sulle grant si possono metterep iu' tabelle. mi sorge l'atroce dubbio di averne omessa qualcuan per distrazione... NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!
sull'algebra ho fatto un'intersezioen di due relazioni praticamente uguali tranne per il valore filtrato (discesa libera e slalom gigante)
per l'altra anche io ho fatto una sottrazioen tra gli atleti TUTTI e quelli che hanno fatto almeno una gara nella loro nazione = risultato!
di certo non e' ottimizzata.
dark, dammi fiducia! secondo te?
a me sembra che i nostri compitini siano andati been, io ho preso anche un +2 nel progetto quindi mi accontento del 16.
Mi sono riscritto all'università dopo tanti anni. a marzo mi scadono gli esami se non ne sostengo almeno uno con esito positivo (sono un po' teso)!
 
allora ho controllato l'update e in quel modo si può fare. (maledizione non lo sapevo!!! )
per quanto riguarda il group by... in sql standart tutte le colonne che compaiono nella clausola group by, devono comparire nella select
se in sql server si possono omettere è un conto ma in slq standart no.
i prof penso controllino che sia in sql standart.
cmq non abbiamo fatto un esame brillante ma sembrerebbe che lo abbiamo superato.
pero non sarò tranquilo finchè non vedo i risultati.
__________________
by Ð@rk§h@ÐØw
a chi lo dici! grazie del supporto morali!
Originally posted by cinghio
SQL:
SELECT SUM(TEMPO)
FROM TEMPOMANCHE
GROUP BY Luogo, Data, Atleta
UPDATE TempoManche
SET Tempo = Tempo + 1 (ammesso che il campo è un intero)
WHERE Luogo = 'Kitzbuhel' AND Data = '20090120'
Originally posted by darkshadow
su questa ho un solo dubbio. per quanto riguarda l'attributo multivalore, c'era da fare un'altra relazione oppure rimaneva un semplice attributo??
Dark, ho trovato un esempio sulle slide del corso dove c'era un attributo nella clausola GROUP BY e l'attributo non era presente nella select (ma era nella WHERE).
Cmq sia io non penso sia un errore grave.
All times are GMT. The time now is 20:04. | Pages (5): « 1 [2] 3 4 5 » Show all 70 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.