|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2006
Messaggi: 161
|
[DB] Modello E-R domanda su relazione
Ragazzi una domanda, sono un neofita e sto studiando basi di dati. Vorrei chiedervi una cosa che non sono riuscito ancora a decifrare. Una relazione tra due entità deve possedere un numero di attributi minimo o non c'è alcun limite? Adesso mi spiego meglio, devo creare un database che gestisca dei concorsi. Devo tener traccia dei concorsi e delle prove scritte relative. I concorsi hanno questi attributi: codice univoco, nome, data pubblicazione e scadenza, requisiti ammissione, Link riferimento. Ogni concorso deve appartenere ad una categoria: B,C oppure D. Per le categorie B e D occorre tener traccia dell'area di interesse mentre per la categoria C solo delle posizioni economiche bandite e del numero di posti bandito. Le prove hanno questi attributi: data prova, ora inizio, durata, concorso di riferimento, sede e commissari. Per ogni prova bisogna tracciare gli elaborati prodotti dai candidati. Gli elaborati hanno questi attributi: codice identificativo univoco, numero risposte sbagliate e corrette, punteggio finale e il candidato a cui l'elaborato appartiene(caratterizzato da cod. fiscale, nome, cognome, data nascita, luogo nascita, titolo studio).
Ho pensato di strutturare il tutto in questa maniera: le entità previste sono: concorsi, commissari, elaborati, categoria, candidati ho creato una relazione ternaria "prova" che collega tra loro concorsi, commissari ed elaborati. Una relazione tra concorsi e categoria e una relazione tra elaborati e candidato. Adesso tramite la relazione prova ha un numero di attributi abbastanza rilevante, non saprei però se convertirla in una entità, inoltre non so se dovrei scindere o meno l'entità categoria in quanto dovrei fare una distinzione tra B e D indicando solo la loro area di interesse e la categoria C indicando posizione economica (identificata da codice identificativo e descrizione) e numero di posti bandito per ogni posizione economica. Suggerimenti? Ultima modifica di TARAS88 : 21-06-2013 alle 18:50. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
|
Schema logico uml/scannerizzato da foglio?
Inviato con il mio Xperia P
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2006
Messaggi: 161
|
Per ora sto svolgendo solo uno schema concettuale. E 'ho improntato lo schema e-r in questa maniera, che ne pensate:
![]() Uploaded with ImageShack.us Il modello relazionale l'ho tradotto così: CONCORSO(ID_conc, Nome, DataPubblicazione, DataScadenza, Requisiti, URL) ID_conc chiave primaria, auto_increment CATEGORIA(ID_conc, Categoria, AreaInteresse, AreaEconomica, Descrizione, NumeroPosti) utilizza come chiave esterna la chiave ID_conc di concorsi PROVA(ID_prova, ID_conc, Data, Ora, Durata, Sede) Chiave primaria: ID_prova COMMISSIONE(ID_conc, ID_Prova, Nome, Cognome, DataNascita) Chiave esterna: ID_prova ELABORATI(ID_Prova, ID_Elaborato, DomandeNorisposte, RisposteEsatte, Punteggio) Chiave primaria: ID_Elaborato CANDIDATO(ID_Elaborato, CodiceFiscale, Nome, Cognome, DataNascita, LuogoNascita, TitoloStudio) Chiave esterna: ID_Elaborato Le relazioni vanno tradotte anche se non hanno attributi? Ultima modifica di TARAS88 : 21-06-2013 alle 20:03. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2004
Città: La regione del Triplete
Messaggi: 5749
|
Una relazione può essere anche priva di attributi e in quel caso la chiave è composta ed esterna prendendo quelle primarie delle entità che vi partecipano. Se iniziano a diventare troppi c'è da chiedersi se non sia il caso di considerarla come un'altra entità o se possono essere distribuiti su quelle che partecipano alla relazione.
Per chiarirti le idee potresti usare il libro Basi di Dati di Paraboschi - Torlone della McGraw Hill che presenta alcuni pattern di design interessanti.
__________________
Trattative felicemente concluse con domienico120, xbax88 ed engiel, ottimi e seri utenti. |
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Jul 2006
Messaggi: 161
|
Quote:
Ultima modifica di TARAS88 : 22-06-2013 alle 12:20. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2004
Città: La regione del Triplete
Messaggi: 5749
|
Nel diagramma E-R potresti introdurre una gerarchia in cui crei un'entità padre che raccoglie TUTTI GLI ATTRIBUTI COMUNI, e nelle figlie quelli specifici di ogni entità. Tale gerarchia nel tuo mondo da descrivere sarà totale perchè copri tutti i casi ed esclusiva perchè un concorso è ben distinguibile da un altro e non ce ne sono che sono sia l'uno che l'altro, quindi niente sovrapposizioni.
All'atto della traduzione verso il modello relazionale potresti decidere di: - Accorpare tutti gli attributi nell'entità padre sapendo che avrai campi NULL per quelli non previsti. - Creare tante entità quante le figlie che hai ottenuto nel diagramma concettuale, sapendo che dovrai ripetere gli attributi comuni per ogni entità sprecando memoria e generando incoerenze nel caso in cui aggiornando un attributo comune non lo facessi per tutte le entità. - Creare un'entità che descrive la tipologia di attributo (è un artifico in pratica) la cui chiave primaria è l'attributo stesso. La relazione che instauri con l'entità padre prevede le due chiavi. Dai un occhio a queste videolezioni che seguono il libro che ti ho indicato http://www.itiserale.it/videolezioni5.html oppure sul tubo le lezioni di uno degli autori del libro.
__________________
Trattative felicemente concluse con domienico120, xbax88 ed engiel, ottimi e seri utenti. |
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Jul 2013
Messaggi: 6
|
Risposta tardinìva
ciao, sicuramente avrai già anche passato l'esame, comunque se dovesse servire anche ad altri, prova a dare uno sguardo a questo collegamento che parla in modo semplice del modello E-R e anche delle relazioni del modello stesso
http://semplicementedatabase.altervi...ione/relazioni dai un occhio anche all'indice del libro, tratta ovviamente di altri costrutti del modello E-R Ultima modifica di andrea746 : 10-11-2013 alle 18:03. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:17.





















