Dubbio Cardinalità di una relazione

di il
5 risposte

Dubbio Cardinalità di una relazione

Salve a tutti, Ho il seguente dubbio:
Nel mio database ho una relazione 'Afferisce' tra le due entità 'Reparto' e 'Medico', la relazione Afferisce ha come attributo chiave, oltre agli identificatori di 'Reparto' e 'Medico', l'attributo 'Data', poichè come vincolo ho che un medico può afferire in generale a più reparti, ma nella stessa data ad al massimo un reparto, la cardinalità della relazione è Medico(1,1)--afferisce-- (1,n) Reparto oppure
Medico(1,n)--afferisce-- (1,n)Reparto, cioè l'attributo data come chiave cambia la cardinalità?

5 Risposte

  • Re: Dubbio Cardinalità di una relazione

    Che applicazione stai usando?
    Che vuol dire la relazione "afferisce"?
  • Re: Dubbio Cardinalità di una relazione

    Ho semplicemente creato uno schema ER del mio database per una clinica medica. Ho questa relazione 'Afferisce' tra le entità : 'Medico' e 'Reparto'. Ossia un medico può lavorare in diversi reparti ad esempio: Cardiologia, Terapia Intensiva, Chirurgia ecc.... ed in un reparto lavorano più medici. tuttavia in una giornata un medico afferisce (lavora) ad al massimo un solo reparto (se il medico x nella data y svolge attività presso cardiologia non può svolgere attività anche presso Terapia Intensiva, ad esempio)
  • Re: Dubbio Cardinalità di una relazione

    Continuo a capirci poco del linguaggio ER.
    Mi limito a dirti soltanto (nei termini di questa sezione del forum) che le tabelle Medici e Reparti sono in relazione molti-a-molti e che devi aggiungere una tabella di congiunzione con opportuni campi.
  • Re: Dubbio Cardinalità di una relazione

    Nello schema Entity Relationship due entità vengono collegate da una relazione, che nel mio caso è la relazione "Afferisce"
  • Re: Dubbio Cardinalità di una relazione

    Secondo me il problema è un altro: mettendo data come attributo della relazione, non forzi il constraint richiesto dalle specifiche.

    Quello che devi fare, ispirandoti a quanto scritto, ad esempio, qui: http://cisnet.baruch.cuny.edu/holowczak/classes/4300/week3.html#relationship_construct, è spezzare la relazione molti a molti tra medici e reparti in due relazioni 1:N con un entità intermedia.

    In particolare, devi avere un'entità che possiamo chiamare slot con identificatore data e identificatore esterno preso da reparto tramite una relazione 1:N (uno slot contiene 1 e 1 solo reparto, ma un reparto può essere in più slot); in questo modo hai degli slot identificati univocamente dalla coppia data reparto, che puoi collegare con una relazione 1:1 o 1:N a medico, a seconda che un reparto possa avere 1 solo o più medici nello stesso giorno.
Devi accedere o registrarti per scrivere nel forum
5 risposte