Un museo può esistere ma non avere ancora opere, ad esempio prima della inaugurazione. Non è un errore, si tratta di una interpretazione del testo. Può andare bene anche 1,N, dipende dalle specifiche di partenza o dalle ipotesi che facciamo.
Dato che nel testo c'è scritto "eventuale data di morte", non dovrebbe comparire un vincolo di cardinalità (0,1) sull'attributo data di morte? se si, come va gestito?
Si tratta di un attributo non obbligatorio.quando viene implementato sul DBMS È sufficiente impostarlo come attributo che ha la possibilità di essere nullo. La cardinalità la imponi solo nelle relazioni tra due entità, non quando imposti un attributo.
6:36 nella fase della creazione dello schema logico non ho capito bene il motivo delle chiavi esterne. Poi io sapevo che non si possono assegnare attributi con lo stesso nome di un'entità.
Le chiavi esterne servono a rappresentare sullo schema logico le relazioni 1:N. Per la seconda domanda, Non ci sono regole sui nomi degli attributi, solo convenzioni. C’è chi, per le chiavi esterne, usa il prefisso fk ma non è obbligatorio
Buongiorno, ma perchè id museo, id artista ecc. vengono aggiunti senza che ci sia nessuna informazione che indica di aggiungerli? Perchè sono stati aggiunti? Comunque complimenti, spiegazioni molto chiare
In realtà l’indicazione c’è, ed è la relazione tra Opera e Museo. Quell’attributo si aggiunge proprio perché c’è la relazione 1 a N. Ci serve per sapere il codice identificativo del museo in cui si trova l’opera. Stesso discorso vale per l’artista.
Scusi il disturbo ma non capisco il perché ha scomposto la relazione fra museo e finanziatore, ho capito che l'ha fatto per far si che ci fossero solo cardinalità (1:N) ma non capisco se è obbligatorio da fare oppure no, c'é se lei si fosse fermato a prima della scomposizione sarebbe stato un errore?
Se l'esercizio richiede solo il diagramma ER, a seconda della rchiesta delll'esercizio, puoi lasciarlo così. Se invece devi costruire anche lo schema logico, allora è necessario: quel passaggio ti consente di creare la tabella intermedia tra le due entità in relazione N:N che ti permette di comprendere e strutturare correttamente il database
mi scusi, ma credo ci sia un errore nel interpretazione dell'entità Artista: se vien detto di inserire l'eventuale data di morte, non significa che siamo tenuti a inserire una gerarchia di tipo T,E con 2 sotto entità: vivo e morto, andando poi a inserire l'attributo dataMorte solo alla sotto entità Morto? Altrimenti significa che tutte le opere sono associate solo a artisti morti.
buongiorno prof, avevo una domanda riguardo alle cardinalità. Perché si ha nel database nella cardinalità Finanziatore-museo ha messo (0,N) e non (1,N)? un finanziatore può donare a nessun museo? per essere considerato un donatore non è obbligatorio donare almeno una volta ad un museo?
Non si tratta di un errore ma di una scelta. Rendendo non obbligatoria la relazione (cardinalità 0,N) consenti all'utente del database di inserire i dati di un finanziatore prima ancora che faccia la donazione. Allora tu potrai dire: "Ma nel testo non è specificato come comportarsi". In mancanza di una chiarezza nel testo dell'esercizio, in una verifica ad esempio, lo studente si preoccuperà di giustificare la scelta fatta e di inserire la cardinalità (0,N) o (1,N) che corrisponde. Spero di essere stato chiaro.
QUi è il caso di "Importo" nella relazione N:N tra Museo e FInanziatore. L'importo è un attributo che non è esclusivamente del finanziatore, ma nemmeno del museo. E' un attributo che si crea quando le due entità vengono in relazione (e cioè quando il finanziatore stabilisce a che museo dare il finanziamento e quanto finananziare). In questo caso si parla di attributo di relazione
Molte opere sono state realizzate da più di un artista così come ci sono alcune opere delle quali non se ne conosce l'autore, per esempio opere molto vecchie come le pitture rupestri, per questo ho messo 0,N
Nella realtà quotidiana è così. Nell'esercizio, però, il testo fissa una situazione differente, e cioè che un'opera possa essere prodotta da un solo artista. Per cui a quello ti devi attenere. In una eventuale verifica, la tua scelta sarebbe considerata un errore, in quanto non rispetta le condizioni impostate. Al contrario: se nel testo non ci fosse questa precisazione, tu avresti potuto fare la tua ipotesi, scriverla e quindi applicarla al diagramma ER e a tutto il resto.
In realtà il nome non deve essere necessariamente lo stesso. L’importante è che nella colonna Artista di Opera ci siano valori dello stesso tipo della chiave primaria della tabella Artista (idArtista in questo caso). In termini pratici, devi assegnare all’opera un artista che è già presente nella tabella artista.
Diciamo che nella composizione dello schema logico bisognerebbe mettere dei vincoli di Foreign Key (chiave esterna) che collega l'attributo "artista" della relazione "opera" alla chiave primaria della relazione artista, ossia "idArtista" es: (vincolo di Fk: Artista references Artista(idArtista)). Quindi di fatto la chiave esterna di opera è proprio l'id dell'artista ma non è importante che abbiano lo stesso nome
ho capito piu da te che in 1 mese di spiegazione
Grazie a te. Mi fa davvero piacere questo commento
Anche io incredibile
Ciao, come @francesco9772, anch'io ho capito di più da un tuo singolo vedieo che in una settimana di lavoro! grazie mille 😊
Grazie. Per curiosità: hai usato questo video per studio o per lavoro?
@@informaticaonline9400 per studio finalizzato ad un lavoro
hai un video in cui spieghi la cardinalità?
C’è un video che spiega come gestire le relazioni N a N Database - Le relazioni N a N
ua-cam.com/video/Ds8KDvoiFBM/v-deo.html
Scusa ma nella cardinalita museo opera perche hsi messo (0;N), un museo denza opere non sarebbe un museo
Un museo può esistere ma non avere ancora opere, ad esempio prima della inaugurazione. Non è un errore, si tratta di una interpretazione del testo. Può andare bene anche 1,N, dipende dalle specifiche di partenza o dalle ipotesi che facciamo.
c'è un video sullo schema a stella?
Spunto interessante. Al momento non lo ho preparato
Dato che nel testo c'è scritto "eventuale data di morte", non dovrebbe comparire un vincolo di cardinalità (0,1) sull'attributo data di morte? se si, come va gestito?
Si tratta di un attributo non obbligatorio.quando viene implementato sul DBMS È sufficiente impostarlo come attributo che ha la possibilità di essere nullo. La cardinalità la imponi solo nelle relazioni tra due entità, non quando imposti un attributo.
Nel caso ci fosse una relazione 1;1 cosa si fa?
Scegli tu dove mettere la chiave esterna. In genere si sceglie in base alla praticità del caso.
quindi solo in caso di rapporto N a N tra due entità, si crea un entità "di mezzo"(es. finanziamento) ?
Si, per le 1 a N è tutto già definito
@@salvatoreleo3177 definito in che senso? PK e FK?
@@massimomuja2505 nel senso che quella relazione è pronta per la progettazione logica
@@salvatoreleo3177 ovvero le tabelle e i collegamenti crowfoot?
Si, lo schema logico. Segui il video e trovi l’esercizio svolto per intero
6:36 nella fase della creazione dello schema logico non ho capito bene il motivo delle chiavi esterne.
Poi io sapevo che non si possono assegnare attributi con lo stesso nome di un'entità.
Le chiavi esterne servono a rappresentare sullo schema logico le relazioni 1:N.
Per la seconda domanda, Non ci sono regole sui nomi degli attributi, solo convenzioni. C’è chi, per le chiavi esterne, usa il prefisso fk ma non è obbligatorio
non hai messo il nome del direttore nel museo fra
Vero, mi è sfuggito. Si tratta di un attributo in più in Museo
fra💀
Buongiorno, ma perchè id museo, id artista ecc. vengono aggiunti senza che ci sia nessuna informazione che indica di aggiungerli? Perchè sono stati aggiunti? Comunque complimenti, spiegazioni molto chiare
In realtà l’indicazione c’è, ed è la relazione tra Opera e Museo. Quell’attributo si aggiunge proprio perché c’è
la relazione 1 a N. Ci serve per sapere il codice identificativo del museo in cui si trova l’opera. Stesso discorso vale per l’artista.
visto che nessuno fa riferimento a idFinanziamento si puo non metterE?
Va messo, perchè è la chiave primaria della nuova entità che si ottiene scomponmendo la relazione N:N tra FInanziatore e Museo.
Scusi il disturbo ma non capisco il perché ha scomposto la relazione fra museo e finanziatore, ho capito che l'ha fatto per far si che ci fossero solo cardinalità (1:N) ma non capisco se è obbligatorio da fare oppure no, c'é se lei si fosse fermato a prima della scomposizione sarebbe stato un errore?
Se l'esercizio richiede solo il diagramma ER, a seconda della rchiesta delll'esercizio, puoi lasciarlo così. Se invece devi costruire anche lo schema logico, allora è necessario: quel passaggio ti consente di creare la tabella intermedia tra le due entità in relazione N:N che ti permette di comprendere e strutturare correttamente il database
mi scusi, ma credo ci sia un errore nel interpretazione dell'entità Artista: se vien detto di inserire l'eventuale data di morte, non significa che siamo tenuti a inserire una gerarchia di tipo T,E con 2 sotto entità: vivo e morto, andando poi a inserire l'attributo dataMorte solo alla sotto entità Morto? Altrimenti significa che tutte le opere sono associate solo a artisti morti.
Da nessuna parte è indicato il vincolo di Not Null su quell’attributo, quindi il problema che hai posto si risolve così.
buongiorno prof, avevo una domanda riguardo alle cardinalità.
Perché si ha nel database nella cardinalità Finanziatore-museo ha messo (0,N) e non (1,N)? un finanziatore può donare a nessun museo? per essere considerato un donatore non è obbligatorio donare almeno una volta ad un museo?
Non si tratta di un errore ma di una scelta. Rendendo non obbligatoria la relazione (cardinalità 0,N) consenti all'utente del database di inserire i dati di un finanziatore prima ancora che faccia la donazione.
Allora tu potrai dire: "Ma nel testo non è specificato come comportarsi". In mancanza di una chiarezza nel testo dell'esercizio, in una verifica ad esempio, lo studente si preoccuperà di giustificare la scelta fatta e di inserire la cardinalità (0,N) o (1,N) che corrisponde. Spero di essere stato chiaro.
sissignore, grazie mille per la risposta@@informaticaonline9400
Come faccio a capire se un attributo fa parte della relazione o è implicito in essa ?
QUi è il caso di "Importo" nella relazione N:N tra Museo e FInanziatore. L'importo è un attributo che non è esclusivamente del finanziatore, ma nemmeno del museo. E' un attributo che si crea quando le due entità vengono in relazione (e cioè quando il finanziatore stabilisce a che museo dare il finanziamento e quanto finananziare). In questo caso si parla di attributo di relazione
Ok ho capito, grazie
Molte opere sono state realizzate da più di un artista così come ci sono alcune opere delle quali non se ne conosce l'autore, per esempio opere molto vecchie come le pitture rupestri, per questo ho messo 0,N
Nella realtà quotidiana è così. Nell'esercizio, però, il testo fissa una situazione differente, e cioè che un'opera possa essere prodotta da un solo artista. Per cui a quello ti devi attenere. In una eventuale verifica, la tua scelta sarebbe considerata un errore, in quanto non rispetta le condizioni impostate.
Al contrario: se nel testo non ci fosse questa precisazione, tu avresti potuto fare la tua ipotesi, scriverla e quindi applicarla al diagramma ER e a tutto il resto.
non capisco non sono del settore ma la chiave esterna di opera non dovrebbe essere id artista?
In realtà il nome non deve essere necessariamente lo stesso. L’importante è che nella colonna Artista di Opera ci siano valori dello stesso tipo della chiave primaria della tabella Artista (idArtista in questo caso). In termini pratici, devi assegnare all’opera un artista che è già presente nella tabella artista.
Diciamo che nella composizione dello schema logico bisognerebbe mettere dei vincoli di Foreign Key (chiave esterna) che collega l'attributo "artista" della relazione "opera" alla chiave primaria della relazione artista, ossia "idArtista" es: (vincolo di Fk: Artista references Artista(idArtista)). Quindi di fatto la chiave esterna di opera è proprio l'id dell'artista ma non è importante che abbiano lo stesso nome
Buongiorno, come posso disegnare gli attributi del database?
Io uso il programma draw.io che trovi nel market Place di Google Workspace for Education.
app.diagrams.net/