FORUM DEL CORSO DI BASI DI DATI

Forum del corso di Basi di Dati - Ingegneria Gestionale - Università di Roma La Sapienza


    Appello 12-01-2010

    Condividi

    A.Marrella
    Admin

    Maschio
    Numero di messaggi : 72
    Età : 36
    Occupazione/Hobby : Tutor
    Data d'iscrizione : 26.02.09

    Appello 12-01-2010

    Messaggio Da A.Marrella il Gio Giu 02, 2011 2:18 pm

    Ragazzi,

    vi invito a svolgere questo testo e a proporre le vostre soluzioni in questa discussione. Per facilitare lo svolgimento delle interrogazioni SQL, vi allego il file con una possibile popolazione delle tabelle da utilizzare direttamente in MYSQL.

    Questo fine settimana proporrò la mia soluzione.

    Buon lavoro Very Happy

    A.Marrella
    Admin

    Maschio
    Numero di messaggi : 72
    Età : 36
    Occupazione/Hobby : Tutor
    Data d'iscrizione : 26.02.09

    Re: Appello 12-01-2010

    Messaggio Da A.Marrella il Mer Giu 08, 2011 12:35 pm

    Per chi non se ne fosse accorto, la soluzione è stata postata sulla pagina web Very Happy

    Annamaria

    Femmina
    Numero di messaggi : 1
    Età : 28
    Occupazione/Hobby : nuoto
    Data d'iscrizione : 09.06.11

    Re: Appello 12-01-2010

    Messaggio Da Annamaria il Gio Giu 09, 2011 12:55 pm

    Buongiorno vorrei porle qualche domanda...
    -Nella progettazione logica del diagramma ER in:
    Foto(ID,AlbumFotografico,Utente,File)
    foreign key : Foto(AlbumFotografico,Utente) ⊆ AlbumFotografico(Codice,Utente)
    con AlbumFotografico(Codice,Utente) per Codice intente il Titolo dell'album e per Utente l'UserID giusto?? Perchè non mi è molto chiaro.
    -Potrebbe spiegarmi
    Lavoro(Nome)
    foreign key : Lavoro(Nome) ⊆ Gruppo(Nome)
    inclusione : Lavoro(Nome) ⊆ Wiki(Lavoro)???
    -Per qunto riguarda
    UtenteWIKI(UserID,Wiki,UserIDWiki,PasswordWiki)
    foreign key : UtenteWIKI(Wiki) ⊆ Wiki(URL)
    non servirebbe un'altra foreign key per UserID??
    Grazie.

    A.Marrella
    Admin

    Maschio
    Numero di messaggi : 72
    Età : 36
    Occupazione/Hobby : Tutor
    Data d'iscrizione : 26.02.09

    Re: Appello 12-01-2010

    Messaggio Da A.Marrella il Ven Giu 10, 2011 6:54 pm

    Annamaria ha scritto:Buongiorno vorrei porle qualche domanda...
    -Nella progettazione logica del diagramma ER in:
    Foto(ID,AlbumFotografico,Utente,File)
    foreign key : Foto(AlbumFotografico,Utente) ⊆ AlbumFotografico(Codice,Utente)
    con AlbumFotografico(Codice,Utente) per Codice intente il Titolo dell'album e per Utente l'UserID giusto?? Perchè non mi è molto chiaro.

    Si, certamente. Infatti, dentro Album Fotografico, esiste una foreign key tra l'attributo Utente e l'attributo UserID dell'entità Utente (di fatto ti sta dicendo che i valori di AlbumFotografico.Utente vengono presi da Utente.UserID)

    Annamaria ha scritto:Buongiorno vorrei porle qualche domanda..
    -Potrebbe spiegarmi
    Lavoro(Nome)
    foreign key : Lavoro(Nome) ⊆ Gruppo(Nome)
    inclusione : Lavoro(Nome) ⊆ Wiki(Lavoro)???

    La relazione "prevede" può essere accorpata sia dentro Wiki che dentro Lavoro. Nella soluzione si sceglie di accorpare "prevede" dentro Wiki, che ne eredita a sua volta gli attributi (tra cui l'identificatore principale di Lavoro). A questo punto però un'istanza di lavoro DEVE prevedere un WIKI (vinc.di cardinalità minima 1), quindi deve essere sempre inclusa in almeno un'istanza di Wiki.


    Annamaria ha scritto:Buongiorno vorrei porle qualche domanda..
    -Per qunto riguarda
    UtenteWIKI(UserID,Wiki,UserIDWiki,PasswordWiki)
    foreign key : UtenteWIKI(Wiki) ⊆ Wiki(URL)
    non servirebbe un'altra foreign key per UserID??
    Grazie.

    Si,hai ragione. Ho messo in linea la versione corretta.

    miyu

    Femmina
    Numero di messaggi : 3
    Età : 29
    Occupazione/Hobby : studentessa
    Data d'iscrizione : 30.05.11

    Re: Appello 12-01-2010

    Messaggio Da miyu il Ven Giu 10, 2011 8:10 pm

    Salve,per quanto riguarda la progettazione logica:
    -se al posto di
    Codice:
    Lavoro([u]Nome[/u])
    foreign key : Lavoro(Nome) ⊆ Gruppo(Nome)
    inclusione : Lavoro(Nome) ⊆ Wiki(Lavoro)
    Wiki([u]URL[/u],Lavoro)
    foreign key : Wiki(Lavoro) ⊆ Lavoro(Nome)
    inclusione : Wiki(URL) ⊆ UtenteWIKI(UserID)
    chiave:lavoro
    mettessi
    Codice:
    Lavoro([u]nome[/u],wiki)
    foreign key:lavoro(nome)⊆Gruppo(Nome)
    foreign key:lavoro(wiki)⊆ Wiki(url)
    wiki([u]URL[/u],Lavoro)
    inclusione:wiki[url]⊆utentewiki[userID]
    foreign key:wiki[lavoro]⊆lavoro[nome]
    sarebbe scorretto?cioè in poche parole non capisco perché bisogna introdurre dei vincoli di inclusione derivanti dalle cardinalità (1,1) (non andrebbero solo con (1,n) )???E perché bisogna aggiungere "chiave:lavoro" a wiki(url,lavoro)?
    grazie anticipatamente Smile

    A.Marrella
    Admin

    Maschio
    Numero di messaggi : 72
    Età : 36
    Occupazione/Hobby : Tutor
    Data d'iscrizione : 26.02.09

    Re: Appello 12-01-2010

    Messaggio Da A.Marrella il Sab Giu 11, 2011 7:00 pm

    miyu ha scritto:Salve,per quanto riguarda la progettazione logica:
    -se al posto di
    Codice:
    Lavoro([u]Nome[/u])
    foreign key : Lavoro(Nome) ⊆ Gruppo(Nome)
    inclusione : Lavoro(Nome) ⊆ Wiki(Lavoro)
    Wiki([u]URL[/u],Lavoro)
    foreign key : Wiki(Lavoro) ⊆ Lavoro(Nome)
    inclusione : Wiki(URL) ⊆ UtenteWIKI(UserID)
    chiave:lavoro
    mettessi
    Codice:
    Lavoro([u]nome[/u],wiki)
    foreign key:lavoro(nome)⊆Gruppo(Nome)
    foreign key:lavoro(wiki)⊆ Wiki(url)
    wiki([u]URL[/u],Lavoro)
    inclusione:wiki[url]⊆utentewiki[userID]
    foreign key:wiki[lavoro]⊆lavoro[nome]
    sarebbe scorretto?

    Si, sarebbe scorretto. L'accorpamento deve essere fatto su una delle due entità. Guardi la slide num.47 della progettazione logica (ho da poco pubblicato una nuova versione dove il caso sopracitato viene mostrato esplicitamente).

    miyu ha scritto:
    cioè in poche parole non capisco perché bisogna introdurre dei vincoli di inclusione derivanti dalle cardinalità (1,1) (non andrebbero solo con (1,n) )???

    L'errore sta proprio qui! I vincoli di inclusione vengono introdotti NON quando la cardinalità è (1,N), ma quando la cardinalità minima è 1.

    miyu ha scritto:
    E perché bisogna aggiungere "chiave:lavoro" a wiki(url,lavoro)?
    grazie anticipatamente Smile

    La chiave sull'attributo lavoro di Wiki serve per esprimere il fatto che un Gruppo di Lavoro prevede al massimo un Wiki (cardinalità massima 1).

    Provi a guardare la slide che le ho indicato. Se trova ancora difficoltà a comprendere la traduzione, mi riscriva qui che gliela esplicito ancora di più Wink

    Contenuto sponsorizzato

    Re: Appello 12-01-2010

    Messaggio Da Contenuto sponsorizzato


      La data/ora di oggi è Sab Nov 17, 2018 2:02 pm