Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 ITPS - Secondo Anno
 Progettazione di Basi di dati + Lab.
 Esercizio per john
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

AlartZero
Ill.mo Dispre.mo Capo FN

Giginho


Regione: Puglia
Prov.: Bari
Città: Molfetta


Inserito il - 18/06/2007 : 20:40:05  Mostra Profilo  Visita l'Homepage di AlartZero  Clicca per vedere l'indirizzo MSN di AlartZero Invia a AlartZero un Messaggio Privato  Rispondi Quotando
allora lo faccio qua cosi puo essere utile per tutti
(premetto che non faccio basi di dati da un poketto quindi sono un po arruginito)

allora mi riferisco a questa serie di esercizi
http://www.laureateci.it/Public/data/AlartZero/200761320839_200546164143_Basi_Dati.pdf

pagina 2 esercizio 1

t = r |X| (A>E) s <--- secondo me è A = E in quanto non credo che delle lettere possano essere maggiori di altre quindi svolgero l'esercizio seguendo t=r |X|(A=E) s

r| A B C D
_|________
_| a a a a
_| b a b a
_| c b c b
_| d c d c
_| e n a d

s| E F G
_|______
_| b b b
_| c c c
_| n a b
_| d b a

t| A B C D E F G
_|______________
_| b a b a b b b
_| c b c b c c c
_| d c d c d b a
_| a a a a n n n
_| e n a d n n n
_| n n n n n a b

allora spiego cosa ho fatto.
Questa è una operazione di equijoin (cioe una prodotto cartesiano con una selezione) includendo una sola volta i risultati i join che hanno la A dello schema r uguale ai valori dell'attributo E di s
allora in quel caso metto in comune (vedi le prime 3 tuple) e poi ho messo le altre tuple con i valori nulli che non vanno in join (vedi a a a a che non ha corrispondenze di A=E con s e quindi si aggiungono i valori null (n))
l'equijoin e un operazione che mette in comune le tuple della prima relazione che hanno i valori degli attributi uguali a quelli della seconda relazione pero vedendo la condizione di equijoin (nel nostro caso A = E) e poi mette i restanti risultati che non sono in join (dalla quarta alla sesta tupla dello schema t) con valori null

Esercizio 3 a sempre della stessa pagina
Dato lo schema R(ABCDEFG) e l'insieme di DF f={B->F, CE->AB, DE->C, F->DE}
determinare se
(B->A)€f+

allora cosa vuol dire??
vuol dire che se la dipendenza funzionale B->A appartiene alla chiusura delle dipendenze quindi dobbiamo verificare se da B->A possiamo generare tutto lo schema seguendo l'algoritmo che non ricordo come si chiama (mi sa al capitolo 10)
iniziamo
il nostro insieme per adesso genera
{B}U{A}
in quanto B genera A
andiamo a controllare le latre dipendenze che possiamo generare con B, con A o con BA (AB)
ok con B generiamo F (B->F) e quindi la chiusura viene incrementata con n nuovo elemento
{B}U{A}U{F}
continuiamo con F generiamo DE e quindi
{B}U{A}U{F}U{D}U{E}
con DE generiamo C
{B}U{A}U{F}U{D}U{E}U{C}
e basta qui si ferma l'algoritmo perche se proviamo a vedere altre dipendenze otteniamo lo stesso risultato

a questo punto controlliamo i valori ottenuti
{B}U{A}U{F}U{D}U{E}U{C} /€ (non appartiene) a f+ in quanto manca la G
(B->A)/€f+

spero di aver fatto tutto giusto e di aver spiegato qualcosina che a mio tempo per fortuna mia feci bene in maniera decente

buona lavoro




Citazione:
Messaggio inserito da pbolo
Gli occhi vedono solo quello che vogliono vedere e non i feedback che dovrebbero aiutare a migliorarsi!

john84
Utente medio


Regione: Puglia
Prov.: Bari
Città: noci


Inserito il - 19/06/2007 : 09:05:56  Mostra Profilo  Visita l'Homepage di john84 Invia a john84 un Messaggio Privato  Rispondi Quotando
ciao
senti potresti fare l'esercizio 3) b)?
non ho capito che significa il delta1 = [R1,R2,R3,R4,R5] e delta2 = [R2,R3,R4,R6].

CIAO
Torna all'inizio della Pagina

AlartZero
Ill.mo Dispre.mo Capo FN

Giginho


Regione: Puglia
Prov.: Bari
Città: Molfetta


Inserito il - 19/06/2007 : 09:48:56  Mostra Profilo  Visita l'Homepage di AlartZero  Clicca per vedere l'indirizzo MSN di AlartZero Invia a AlartZero un Messaggio Privato  Rispondi Quotando
riproviamo con il join non additivo
allora il primo delta comprende
R1 = (BF)
R2 = (ABCE)
R3 = (CDF)
R4 = (DEF)
R5 = (AG)

dovremmo quindi verificare se c'e qualche decomposizione che genera tutto la relazione (ABCDEFG) con le dipendenze funzionali date di prima (f={B->F, CE->AB, DE->C, F->DE})

costruiamo la tabella mettendo delle x in corrispondenza dei punti sicuri (i puntini sono spazi vuoti)


___|A B C D E F G
___|______________
R1 | . x . . . x .
R2 | X X X . X . .
R3 | . . X X . X .
R4 | . . . X X X .
R5 | X . . . . . X

come si procede?
allora in base alle dipendenze funzionali dovremmo mettere una croce sugli spazi vuoti se c'e una DF (parte sinistra) sulla decomposizione che vorremmo genererare e se la parte destra generata da questa dipendenza funzionale esiste (cioe c'e una x) in un'altra decomposizione all'infuori della decomposizione che stiamo sviluppando

in poche parole prendiamo B -> F in R2. Cosa succede?
allora in R2 abbiamo la B pero non abbiamo la F e vorremmo generarla. dobbiamo trovare un altra relazione che contenga sia la B sia la F (nel nostro caso R1). se c'e possiamo mettere una X alla F in R2 in questo modo


___|A B C D E F G
___|______________
R1 | . x . . . x .
R2 | X X X . X X .
R3 | . . X X . X .
R4 | . . . X X X .
R5 | X . . . . . X

facciamo pure F -> DE in R2 e R3. come prima troviamo un'altra decomposizione che contenga F, D ed E (R4). poiche c'e possiamo aggiungere la x alla D in R2 e la X alla E in R3



___|A B C D E F G
___|______________
R1 | . x . . . x .
R2 | X X X X X . .
R3 | . . X X X X .
R4 | . . . X X X .
R5 | X . . . . . X

ora verifichiamo tutte le altre dipendenze
(non ti sto a fare il ragionamento su tutte le dipendenze perche è uguale)

(DE -> C)
___|A B C D E F G
___|______________
R1 | . x . . . x .
R2 | X X X X X X .
R3 | . . X X X X .
R4 | . . X X X X .
R5 | X . . . . . X

(CE -> AB)
___|A B C D E F G
___|______________
R1 | . x . . . x .
R2 | X X X X X X .
R3 | X X X X X X .
R4 | X X X X X X .
R5 | X . . . . . X

abbiamo terminato il join non additivo in quanto non possiamo andare piu avanti e nessuna decomposizione verifica la proprieta di join non additivo in quanto nessuna genera tutto R

in base a questo prova a fare delta 2 che ha
R2 = (ABCE)
R3 = (CDF)
R4 = (DEF)
R6 = (BFG)

(se ti puo essere d'aiuto per gli esercizi svogli anche l'esercizio proposto da Aka che ho sempre risolto io
http://www.laureateci.it/forum/topic.asp?TOPIC_ID=9011 )

se non ti è chiaro qualcosa posta qui che tanto ogni tanto una passata la faccio e ti potrei dare una mano
(sempre se ricordo bene :D)

Citazione:
Messaggio inserito da pbolo
Gli occhi vedono solo quello che vogliono vedere e non i feedback che dovrebbero aiutare a migliorarsi!


Modificato da - AlartZero in data
Torna all'inizio della Pagina

john84
Utente medio


Regione: Puglia
Prov.: Bari
Città: noci


Inserito il - 19/06/2007 : 12:07:40  Mostra Profilo  Visita l'Homepage di john84 Invia a john84 un Messaggio Privato  Rispondi Quotando
#65279;(11) È dato il db universitario con il seguente schema di relazioni
STUDENTE (S#, Snome, Facoltà, CorsoDiLaurea, …)
DOCENTE (D#, Dnome, Qualifica, Dipartimento#, DirettoreDelDipartimento#)
CORSO (C#, Cnome, Semestre, CF)
ESAME (Matr#, Corso#, Docente#, Voto, Lode, Data)
TESI (D#, S#, Argomento, Titolo)

quando mi dice almeno a cosa devo stare attento nelle seguenti?

potresti risolvere queste:
q1) gli studenti che hanno superato almeno un esame con voto diverso da 18.

q2) gli studenti che non hanno preso alcun 18.

q5) per ciascun docente, il codice e il nome del docente e quelli del direttore del suo dipartimento.

q6) le coppie di studenti omonimi (target: matricole e nome). Se <x,y,nomex> appare nel risultato, allora
non devono apparire nel risultato <y,x,nomey>, <x,x,nomex>, <y,y,nomey>.

q9) gli studenti (target: matricola e nome) che hanno superato (almeno) gli esami superati dallo studente
con matricola S# = 12345.

(d) In riferimento all’espressione E data in risposta al quesito q9, qual è il query set (tuple della relazione
risultato) prodotto da E nel caso in cui la matricola 12345 non abbia sostenuto alcun esame ?

(e) (*) Considerando che se la matricola 12345 non ha sostenuto alcun esame allora tutti gli studenti (relazione
STUDENTE) risultano aver sostenuto (almeno) gli stessi esami di 12345, verificare se
l’espressione E scritta per il quesito q9 soddisfa tale considerazione. Se non la soddisfa, qual è una
possibile espressione E' che la soddisfa (cioè, che sia corretta sia nel caso che 12345 abbia fatto qualche
esame sia nel caso che 12345 non abbia fatto alcun esame) ?

(12) (*) Si abbia una relazione r = R(X,A) dove dom(A) sia un insieme di valori ordinati (ad es., numeri, oppure
stringhe, oppure date). Senza far uso di funzioni aggregate, determinare l’espressione di A.R. che produce
la relazione unaria con un’unica tupla contenente il valore maxA(r ).

grazie
ciao
Torna all'inizio della Pagina

john84
Utente medio


Regione: Puglia
Prov.: Bari
Città: noci


Inserito il - 19/06/2007 : 12:14:46  Mostra Profilo  Visita l'Homepage di john84 Invia a john84 un Messaggio Privato  Rispondi Quotando
ciao
potresti fare dall'eserciziario di lefons vol 2, l'esercizio 3) ?
grazie tante.

ciao
Torna all'inizio della Pagina

AlartZero
Ill.mo Dispre.mo Capo FN

Giginho


Regione: Puglia
Prov.: Bari
Città: Molfetta


Inserito il - 19/06/2007 : 13:41:11  Mostra Profilo  Visita l'Homepage di AlartZero  Clicca per vedere l'indirizzo MSN di AlartZero Invia a AlartZero un Messaggio Privato  Rispondi Quotando
allora vediamo se ricordo come si fanno le query.
almeno significa che ci possono essere 1 o piu quindi se dice almeno un esame piu di 18 vuol dire che ci possono essere 1 o piu esami >18

q1) SELECTmatr#(voto>18)[ESAME]

q2) SELECT(matr@)(Voto>18 V voto<18) [ESAME] <--- stessa cosa di prima pero metto tutti i voti tranne 18

q5) per ciascun docente, il codice e il nome del docente e quelli del direttore del suo dipartimento <--- non so se la vuoi in sql o in mysql (per il lab)

PROJECT(D@,Dnome,DirettoreDelDipartimento#) [DOCENTI]
oppure SELECT DH, Dnome, DirettoreDelDipartimento#
FROM DOCENTI
GROUP BY Dnome;

q6) non ho idea di come si faccia

q9) ti dico come si fa mi rmpo a pensare a farla (selezionare gli esami di 12345 e fare gli esami di tutti DIVISO gli esami di 12345 da ESAMI poi mandare in join con STUDENTI e proiettare nome e matricola)

d) dovrebbe credo dare tutto il set di risposte cosi come stanno cioe non dovrebbe modificare niente e quindi la tabella ESAMI rimmarrebbe tale e quale

e) e 12) non le so fare anche perche non le chiese mai (neanche la d se per questo)

Citazione:
Messaggio inserito da pbolo
Gli occhi vedono solo quello che vogliono vedere e non i feedback che dovrebbero aiutare a migliorarsi!

Torna all'inizio della Pagina

john84
Utente medio


Regione: Puglia
Prov.: Bari
Città: noci


Inserito il - 19/06/2007 : 14:14:01  Mostra Profilo  Visita l'Homepage di john84 Invia a john84 un Messaggio Privato  Rispondi Quotando
ciao
potresti fare dall'eserciziario di lefons vol 2, l'esercizio 3) ?
grazie tante.

ciao

http://www.djsuonerie.it/contaref/ref.asp?ref=giamal84
Torna all'inizio della Pagina

AlartZero
Ill.mo Dispre.mo Capo FN

Giginho


Regione: Puglia
Prov.: Bari
Città: Molfetta


Inserito il - 19/06/2007 : 14:44:00  Mostra Profilo  Visita l'Homepage di AlartZero  Clicca per vedere l'indirizzo MSN di AlartZero Invia a AlartZero un Messaggio Privato  Rispondi Quotando
Siano r,s e q relazione sugli schemi AB, BC e CD
Determinare se la seguente eguaglianza è vera: prBCD ( q JOIN (A=a) (r JOIN s)) = prBCD ( q JOIN pr(B) (A=a) (r)) JOIN s)

sono esercizi di eguaglianze che purtroppo dell'aquila non fece.

non so spiegarteli purtroppo

se non erro pero dovrebbero essere diversi (ma non ne sono per niente certo quindi non ti fidare)

Citazione:
Messaggio inserito da pbolo
Gli occhi vedono solo quello che vogliono vedere e non i feedback che dovrebbero aiutare a migliorarsi!


Modificato da - AlartZero in data
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,24 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000