Autore |
Discussione  |
|
logan
Nuovo Utente
|
Inserito il - 03/09/2009 : 17:37:46
|
ragazzi come si fa a verificare che una relazione decomposta in n relazioni sia senza perdita?
|
|
Nazgul
Utente giovane

Regione: Puglia
Prov.: Bari
Città: Bari
|
Inserito il - 04/09/2009 : 11:08:11
|
C'è un algoritmo che spiega Lefons che trovi anche sul libro. Sono cose che stanno un po' in mezzo in mezzo. Ad ogni buon conto mettiamo che ci siano 3 decomposizioni di relazione: R(A,B,C)
R1(A)
R2(B, C)
R3 (A,B)
A questo punto devi fare una matrice dove in alto c'è:
A,B,C
e a sinistra scrivi le decomposizioni. A questo punto accanto alla riga R1 metti una crocetta in corrispondenza della A e sotto B e C metti un cerchietto perché non ci sono nello schema. Ripeti questa cosa per R2 ed R3. A questo punto avrai tutti gli attributi che compaiono nei rispettivi schemi contraddistinti da delle crocette e tutti gli attributi che invece non appaiono nei rispettivi schemi contraddistinti da dei cerchietti. Lo scopo adesso è ottenere una riga con sole crocette. Per fare questo si utilizza l'insieme di dipendenze funzionali F', cioè quello formato da quelle date e quelle derivabili (se non ricordo male). Lì dove hai una colonna, ad es. A, con 2 crocette ed hai una DF., ad es. A -> B, e per B c'è già almeno 1 riga con 1 crocetta, puoi "sostituire", nella riga dove B ha il cerchietto ed A ha la crocetta, il cerchietto con una crocetta.
Tutto questo lo fai finché non ottieni una riga con tutte crocette.
Questo algoritmo è + facile a farsi che a dirsi. Ciononostante, esiste un algoritmo più semplice per le decomposizioni binarie, ovvero quando gli schemi risultanti dalla decomposizione di una relazione sono 2.
In questo caso basta verificare che gli schemi di relazione rispettino una di queste due condizioni:
1) R1 INTERSEZIONE R2 -> R1 - R2
oppure
2) R1 INTERSEZIONE R2 -> R2 - R1
Es.
R1(A,B,C) R2(A,B)
R1 INTERSEZIONE R2 = (A,B) R1 - R2 = C R2 - R1 = INSIEME VUOTO Quindi hai in questo caso che devi avere una DF in F' tale che AB - > C
AB -> INSIEME VUOTO non sarà mai possibile, perché AB determinerà funzionalmente almeno se stesso, cioè AB -> AB. Perciò se in F' esiste AB -> C, allora il test è passato dalla decomposizione e questa è senza perdita, altrimenti no.
Io personalmente l'eserciziario me lo sono fatto 3 volte tutto. Però, giacché al lab, nonostante abbia studiato, ho fatto 1 errore di distrazione cretino proprio (ho zompato una DF delle 2 da inserire) e giacché sono 2 settimane che non rivedo le cose per lo scritto, conto di fare lo scritto al secondo appello. Se poi prendo 27 al lab, giacché cmq le cose le ricordo abbastanza, mi faccio la full immersion per rifarmi tutto l'eserciziario e vado martedì, così se non lo passo posso riprovare dopo 1 sett. :D Cmq, se trovi le slide dell'elmasri navathe o come si scrive, questi algoritmi li trovi nel capitolo 11 se non erro. Dovresti trovare facilmente quelle del libro in inglese. Ad ogni buon conto la cosa ottimale sarebbe avere gli appunti del Prof. Lefons. Infatti, ad es. sul libro non si capisce bene il primo dei 2 algoritmi nel senso che si capisce che in una delle righe corrispondente all'attributo B (rifacendomi all'esercizio di prima) ci deve essere almeno 1 crocetta per trasformare il cerchietto in crocetta applicando la DF, ma non si capisce o non c'è proprio scritto che bisogna anche controllare che per A in sostanza ci siano 2 crocette: una in un'altra riga ed una nella riga dove bisogna trasformare il cerchietto in crocetta per B. Negli appunti che ho di Lefons è scritto chiaramente. |
Modificato da - Nazgul in data 04/09/2009 11:22:43 |
 |
|
geipi
Utente medio
 

Regione: Puglia
Prov.: Taranto
Città: Massafra
|
Inserito il - 04/09/2009 : 11:22:32
|
Citazione: Messaggio inserito da Nazgul Io personalmente l'eserciziario me lo sono fatto 3 volte tutto. Però, giacché al lab, nonostante abbia studiato, ho fatto 1 errore di distrazione cretino proprio (ho zompato una DF delle 2 da inserire) e giacché sono 2 settimane che non rivedo le cose per lo scritto, conto di fare lo scritto al secondo appello. Se poi prendo 27 al lab, giacché cmq le cose le ricordo abbastanza, mi faccio la full immersion per rifarmi tutto l'eserciziario e vado martedì, così se non lo passo posso riprovare dopo 1 sett. :D
Senti, anch'io ho fatto questo raggionamento all'appello scorso, è sono stato fregato due volte. Perchè non ho fatto lo scritto subito dopo il lab., e all'appello successivo sono stato rimandato. E mi è toccato fare tutto da capo. (Aspetto voto lab. del 1/09). Quindi ti consiglio di fare lo scritto martedi 08. Ciao. |
 |
|
Nazgul
Utente giovane

Regione: Puglia
Prov.: Bari
Città: Bari
|
Inserito il - 04/09/2009 : 11:30:45
|
Citazione: Messaggio inserito da geipi
Citazione: Messaggio inserito da Nazgul Io personalmente l'eserciziario me lo sono fatto 3 volte tutto. Però, giacché al lab, nonostante abbia studiato, ho fatto 1 errore di distrazione cretino proprio (ho zompato una DF delle 2 da inserire) e giacché sono 2 settimane che non rivedo le cose per lo scritto, conto di fare lo scritto al secondo appello. Se poi prendo 27 al lab, giacché cmq le cose le ricordo abbastanza, mi faccio la full immersion per rifarmi tutto l'eserciziario e vado martedì, così se non lo passo posso riprovare dopo 1 sett. :D
Senti, anch'io ho fatto questo raggionamento all'appello scorso, è sono stato fregato due volte. Perchè non ho fatto lo scritto subito dopo il lab., e all'appello successivo sono stato rimandato. E mi è toccato fare tutto da capo. (Aspetto voto lab. del 1/09). Quindi ti consiglio di fare lo scritto martedi 08. Ciao.
Ma al lab hai preso 27? Onestamente, non si capisce bene sul sito per quanto tempo viene conservato il lab se uno prende 27 e non passa lo scritto entro la sessione. Nel senso che sul sito è scritto che se io in una delle 2 date di Settembre (nel nostro caso) non passo lo scritto, devo rifare il LAB. Ovvero: prendo meno di 27, Martedì non passo, devo rifare tutto. A quel punto, è meglio farlo quando ci si sente + sicuri (ovvero quando si è potuto ripassare tutto con calma, perché per fare il lab 1 - 2 settimane di esercizi a tamburo battente su MySQL te le devi fare e nel mentre non ti puoi mettere a ripassare pure per lo scritto). Almeno... io ragiono così. Nel secondo caso, quello in cui si prende 27, non si capisce cosa succede se uno per volere del fato o perché non è stato bene o perché non c'ha gli appunti di Lefons (scherzo, ma mica tanto) non passa lo scritto né questo martedì ne tra 2 sett.
Su questa cosa dei programmi diversi però bisognerebbe far qualcosa.
Nel senso che ad es. il Prof. Dell'Aquila, non per fare polemica, ma esercizi pratici in cui vedere la differenza tra full outer join naturale e full outer join non naturale mica li fa fare. Non do assolutamente la colpa a dell'Aquila perché sul libro che adotta ste sottigliezze non ci sono. Ci sono solo negli appunti di Lefons e nelle sue dispense. Il problema è che noi studiamo con Dell'Aquila che ha un suo corso, un so metodo, un suo programma.
Quindi magari all'esame uno non ci pensa a questa differenza e tratta il fullouter join naturale come se fosse un full outer join, si crea la sua brava relazione: A,B,C,A,B,C ed automaticamente non passa l'appello (ammesso che ci siano questi esercizi, cosa che non so perché è la prima volta che lo faccio) perché la relazione è formata solo da A,B,C nel caso del full outer join naturale. A sto punto non sarebbe meglio che i 2 corsi venissero tenuti da Lefons e basta? Oppure a questo punto si fanno 2 tracce separate. Una per TPSSINI dove non ci sono full outer join naturali e cose del genere ed una per informatica normale. Ripeto è solo una considerazione che sono anni che faccio.
|
Modificato da - Nazgul in data 04/09/2009 11:46:01 |
 |
|
geipi
Utente medio
 

Regione: Puglia
Prov.: Taranto
Città: Massafra
|
Inserito il - 04/09/2009 : 11:50:05
|
Citazione: Messaggio inserito da Nazgul
Citazione: Messaggio inserito da geipi
Citazione: Messaggio inserito da Nazgul Io personalmente l'eserciziario me lo sono fatto 3 volte tutto. Però, giacché al lab, nonostante abbia studiato, ho fatto 1 errore di distrazione cretino proprio (ho zompato una DF delle 2 da inserire) e giacché sono 2 settimane che non rivedo le cose per lo scritto, conto di fare lo scritto al secondo appello. Se poi prendo 27 al lab, giacché cmq le cose le ricordo abbastanza, mi faccio la full immersion per rifarmi tutto l'eserciziario e vado martedì, così se non lo passo posso riprovare dopo 1 sett. :D
Senti, anch'io ho fatto questo raggionamento all'appello scorso, è sono stato fregato due volte. Perchè non ho fatto lo scritto subito dopo il lab., e all'appello successivo sono stato rimandato. E mi è toccato fare tutto da capo. (Aspetto voto lab. del 1/09). Quindi ti consiglio di fare lo scritto martedi 08. Ciao.
Ma al lab hai preso 27? Onestamente, non si capisce bene sul sito per quanto tempo viene conservato il lab se uno prende 27 e non passa lo scritto entro la sessione. Nel senso che sul sito è scritto che se io in una delle 2 date di Settembre (nel nostro caso) non passo lo scritto, devo rifare il LAB. Ovvero: prendo meno di 27, Martedì non passo, devo rifare tutto. A quel punto, è meglio farlo quando ci si sente + sicuri (ovvero quando si è potuto ripassare tutto con calma, perché per fare il lab 1 - 2 settimane di esercizi a tamburo battente su MySQL te le devi fare e nel mentre non ti puoi mettere a ripassare pure per lo scritto). Almeno... io ragiono così. Nel secondo caso, quello in cui si prende 27, non si capisce cosa succede se uno per volere del fato o perché non è stato bene o perché non c'ha gli appunti di Lefons (scherzo, ma mica tanto) non passa lo scritto né questo martedì ne tra 2 sett.
Su questa cosa dei programmi diversi però bisognerebbe far qualcosa.
Nel senso che ad es. il Prof. Dell'Aquila, non per fare polemica, ma esercizi pratici in cui vedere la differenza tra full outer join naturale e full outer join non naturale mica li fa fare. Non do assolutamente la colpa a dell'Aquila perché sul libro che adotta ste sottigliezze non ci sono. Ci sono solo negli appunti di Lefons e nelle sue dispense. Il problema è che noi studiamo con Dell'Aquila che ha un suo corso, un so metodo, un suo programma.
Quindi magari all'esame uno non ci pensa a questa differenza e tratta il fullouter join naturale come se fosse un full outer join, si crea la sua brava relazione: A,B,C,A,B,C ed automaticamente non passa l'appello (ammesso che ci siano questi esercizi, cosa che non so perché è la prima volta che lo faccio) perché la relazione è formata solo da A,B,C nel caso del full outer join naturale. A sto punto non sarebbe meglio che i 2 corsi venissero tenuti da Lefons e basta? Oppure a questo punto si fanno 2 tracce separate. Una per TPSSINI dove non ci sono full outer join naturali e cose del genere ed una per informatica normale. Ripeto è solo una considerazione che sono anni che faccio.
Mo magari l'esempio che ho fatto è una cavolata, ma sapete che l'ho chiesto ad un prof che insegna informatica che s'è laureato con Lefons pochissimi anni fa e non se lo ricordava sul momento come si faceva? E' andato a farsi una query in MySQL per vedere cosa veniva fuori. Ho detto tutto. :D
Hai pienamente ragione, però non ti so dire. Ritornando al voto di lab. io ho preso 27, ho fatto lo scritto all'ultimo appello della sessione estiva, chiesi ha Lefons se mi poteva mantenere il voto del lab, mi disse di no!! Perchè ora, a settembre, ci troviamo in un'altra sessione. Io ho letto sul sito della Lisi che il voto lo si mantiene sino al termine della sessione, se non si supera lo scritto. |
 |
|
logan
Nuovo Utente
|
Inserito il - 04/09/2009 : 11:51:01
|
scusate ma in che senso il full outer join naturale? :D |
 |
|
Nazgul
Utente giovane

Regione: Puglia
Prov.: Bari
Città: Bari
|
Inserito il - 04/09/2009 : 11:55:28
|
Citazione: Messaggio inserito da geipi
Citazione: Messaggio inserito da Nazgul
Citazione: Messaggio inserito da geipi
Citazione: Messaggio inserito da Nazgul Io personalmente l'eserciziario me lo sono fatto 3 volte tutto. Però, giacché al lab, nonostante abbia studiato, ho fatto 1 errore di distrazione cretino proprio (ho zompato una DF delle 2 da inserire) e giacché sono 2 settimane che non rivedo le cose per lo scritto, conto di fare lo scritto al secondo appello. Se poi prendo 27 al lab, giacché cmq le cose le ricordo abbastanza, mi faccio la full immersion per rifarmi tutto l'eserciziario e vado martedì, così se non lo passo posso riprovare dopo 1 sett. :D
Senti, anch'io ho fatto questo raggionamento all'appello scorso, è sono stato fregato due volte. Perchè non ho fatto lo scritto subito dopo il lab., e all'appello successivo sono stato rimandato. E mi è toccato fare tutto da capo. (Aspetto voto lab. del 1/09). Quindi ti consiglio di fare lo scritto martedi 08. Ciao.
Ma al lab hai preso 27? Onestamente, non si capisce bene sul sito per quanto tempo viene conservato il lab se uno prende 27 e non passa lo scritto entro la sessione. Nel senso che sul sito è scritto che se io in una delle 2 date di Settembre (nel nostro caso) non passo lo scritto, devo rifare il LAB. Ovvero: prendo meno di 27, Martedì non passo, devo rifare tutto. A quel punto, è meglio farlo quando ci si sente + sicuri (ovvero quando si è potuto ripassare tutto con calma, perché per fare il lab 1 - 2 settimane di esercizi a tamburo battente su MySQL te le devi fare e nel mentre non ti puoi mettere a ripassare pure per lo scritto). Almeno... io ragiono così. Nel secondo caso, quello in cui si prende 27, non si capisce cosa succede se uno per volere del fato o perché non è stato bene o perché non c'ha gli appunti di Lefons (scherzo, ma mica tanto) non passa lo scritto né questo martedì ne tra 2 sett.
Su questa cosa dei programmi diversi però bisognerebbe far qualcosa.
Nel senso che ad es. il Prof. Dell'Aquila, non per fare polemica, ma esercizi pratici in cui vedere la differenza tra full outer join naturale e full outer join non naturale mica li fa fare. Non do assolutamente la colpa a dell'Aquila perché sul libro che adotta ste sottigliezze non ci sono. Ci sono solo negli appunti di Lefons e nelle sue dispense. Il problema è che noi studiamo con Dell'Aquila che ha un suo corso, un so metodo, un suo programma.
Quindi magari all'esame uno non ci pensa a questa differenza e tratta il fullouter join naturale come se fosse un full outer join, si crea la sua brava relazione: A,B,C,A,B,C ed automaticamente non passa l'appello (ammesso che ci siano questi esercizi, cosa che non so perché è la prima volta che lo faccio) perché la relazione è formata solo da A,B,C nel caso del full outer join naturale. A sto punto non sarebbe meglio che i 2 corsi venissero tenuti da Lefons e basta? Oppure a questo punto si fanno 2 tracce separate. Una per TPSSINI dove non ci sono full outer join naturali e cose del genere ed una per informatica normale. Ripeto è solo una considerazione che sono anni che faccio.
Mo magari l'esempio che ho fatto è una cavolata, ma sapete che l'ho chiesto ad un prof che insegna informatica che s'è laureato con Lefons pochissimi anni fa e non se lo ricordava sul momento come si faceva? E' andato a farsi una query in MySQL per vedere cosa veniva fuori. Ho detto tutto. :D
Hai pienamente ragione, però non ti so dire. Ritornando al voto di lab. io ho preso 27, ho fatto lo scritto all'ultimo appello della sessione estiva, chiesi ha Lefons se mi poteva mantenere il voto del lab, mi disse di no!! Perchè ora, a settembre, ci troviamo in un'altra sessione. Io ho letto sul sito della Lisi che il voto lo si mantiene sino al termine della sessione, se non si supera lo scritto.
Cmq alla fine il consiglio tuo non mi convince mica. Nel senso che il tutto fila se si fa il primo appello e si prende 27: hai 2 chance (quindi il 27 dà un bonus di circa 1 punto e mezzo in più sullo scritto e 1 appello in più a disposizione). Se invece prendi meno di 27, hai 1 sola chance. Perché se martedì non passi devi aspettare novembre se sei fuori corso oppure credo l'anno prossimo se non lo sei. Tanto vale giocarsela bene sta possibilità.
Che poi tutto sto casino per evitare che la gente vada a tentare l'esame. Non si rendono però mica conto che il LAB e lo scritto richiedono 2 preparazioni diverse. Il LAB uno che ha fatto l'ITIS senza aver seguito 1 lezione te lo sa fare, lo scritto no se non studia. Uno che però l'ITIS non l'ha fatto deve studiarsi 1 programma per il LAB ed uno a parte per lo scritto. Perché nello scritto le QUERY mica le devo scrivere in SQL, ma in algebra relazionale (cioè matematichese applicato ai database) e poi ci sono degli algoritmi che noi TPSSINI vediamo en passant e sottigliezze in + da studiare e capire che sul libro non ci stanno.
Quindi, secondo me lo scritto lo potrebbero tenere (se uno prende almeno 25 che è un voto rispettabilissimo) per almeno 6 mesi. Fermo restando che se vai per 2 volte a "tentare l'esame" e lasci il foglio in bianco o quasi o prendi una volta 6 ed un'altra 13 il Prof. ha tutto il diritto di non farti provare più. Ma è una cosa che dovrebbe essere fatta caso per caso, così invece si fa allungare il brodo oltre modo a tutti e sta laurea alla fine, citando il custode, veramente ad honorem ce la devono dare. ^^ Poi si lamentano se l'università non prende i fondi, ecc. Per forza... altrove Ingegneria del sw sta al terzo anno e facoltativa, ste robe che se uno prende 27 lo scritto te lo tengono fino a fine mese non ci stanno... Ci sono pure università statali dove con 2 esami hai la laurea in architettura e pagano vitto e alloggio agli studenti ma è un altro discorso. :D :D :D Scusate il minisfogo.
|
Modificato da - Nazgul in data 04/09/2009 12:07:58 |
 |
|
logan
Nuovo Utente
|
Inserito il - 04/09/2009 : 12:06:56
|
ma quindi voi nn lo fate qst martedi l'esame? |
 |
|
Nazgul
Utente giovane

Regione: Puglia
Prov.: Bari
Città: Bari
|
Inserito il - 04/09/2009 : 12:12:28
|
Io aspetto di vedere il voto... nella speranza che i voti non vengano affissi lunedì mattina. Ad ogni buon conto io oggi inizio a studiare, se i risultati nell'ipotesi peggiore escono lunedì e non ho preso 27 me la prendo con calma e lo do martedì l'altro, se invece ho preso 27 avendo ripassato un minimo tento. Alla fine quei 2 algoritmi come vedi me li ricordavo, poi nella vita ci vuole anche un po' di fortuna. :D |
 |
|
logan
Nuovo Utente
|
Inserito il - 04/09/2009 : 12:13:35
|
senti ma nn è ke potresti fornirmi questo materiale? :D |
 |
|
geipi
Utente medio
 

Regione: Puglia
Prov.: Taranto
Città: Massafra
|
Inserito il - 04/09/2009 : 13:16:48
|
Citazione: Messaggio inserito da logan
ma quindi voi nn lo fate qst martedi l'esame?
Io si, sempre se ho superato il lab!! |
 |
|
Nazgul
Utente giovane

Regione: Puglia
Prov.: Bari
Città: Bari
|
Inserito il - 04/09/2009 : 13:40:37
|
Dunque, c'ho messo 1 mezz'oretta a scriverlo in Word. Potrebbe esserci qualche piccolo refuso, perché sono andato totalmente a memoria. Ma dovrebbe essere tutto OK, l'ho riletto un paio di volte. Quindi, prima t'ho spiegato il JOIN, qui trovi gli altri algoritmi che ti possono essere utili. Se passi l'esame, mi offri 1 pizza. :D Per la conversione del modello EER in modello relazionale, trovi parecchia roba su Internet. Ricordati che Lefons non utilizza il modello che si trova sul Navathe ma quello che si trova sull'Azteni e che trovi nelle sue dispense (è il modello dove un attributo è caratterizzato da un trattino con annesso un pallino). Per rappresentare poi il modello relazionale, lui non usa la rappresentazione del Navathe ma utilizza una sua dove il vincolo di integrità referenziale è denotato da una freccia verso l'alto a mo di apice ed accanto il nome della relazione referenziata. Per gli attr dove invece è previsto un valore nullo, mette accanto un asterisco.
|
 |
|
|
Discussione  |
|
|
|