2013-07-26 5 views
19

Quando si parla di modelli di dati e database, il termine Cardinality viene spesso utilizzato per descrivere il numero di elementi consentiti in un determinato set.Multiplicity vs Cardinality

UML si riferisce spesso alla stessa proprietà di Multiplicity.

C'è qualche differenza tra questi due termini o sono anche sinonimi?

risposta

0

La spiegazione più semplice sarebbe quella di dire:

molteplicità = Cardinalità + Partecipazione

Cardinalità: Denota il numero massimo di possibili relazioni occorrenze in cui una determinata entità può partecipare (in termini semplici: al massimo).

Partecipazione: indica se tutte o solo alcune occorrenze di entità partecipano a una relazione (in termini semplici: almeno).

Es: enter image description here

14

Martin Fowler ha parlato di questo argomento sul suo sito web. Citando:

Quando i metodi di modellazione dei dati parlano di relazioni, usano il termine cardinalità per indicare quante entità possono essere collegati tra loro. Quindi, potresti avere una relazione tra ordine e cliente e dire che la cardinalità della relazione è uno-a-molti. Oppure potresti sentire che la cardinalità dei clienti per un ordine è 0-a-molti.

UML evita il termine cardinalità preferendo utilizzare la molteplicità. Spesso le persone con uno sfondo di modellazione dei dati sono sorprese dal momento che la cardinalità è stata così ampiamente utilizzata nelle cerchie di modellazione dei dati.

Il motivo del cambiamento è che la definizione del dizionario della cardinalità è "il numero di elementi in un particolare gruppo o altro raggruppamento" (OED). In base a ciò l'utilizzo della modellazione dei dati è in realtà errato. Nell'eccellente manuale di riferimento UML, Rumbaugh definisce la molteplicità come "Una specifica dell'intervallo dei valori di cardinalità consentiti - la dimensione - che un set può assumere". UML utilizza la molteplicità in vari luoghi, per una proprietà (associazione o attributo) e anche per mostrare la molteplicità di parti in una struttura composita. È formalmente definito come limite inferiore e superiore. Un'associazione (l'UML equivalente a una relazione nelle cerchie di modellazione dati) ha una molteplicità per ciascuna direzione.

Source

15

poche parole: una molteplicità è costituito da una inferiore e una superiore cardinalità. Una cardinalità indica quanti elementi ci sono in un set. Quindi, una molteplicità ti dice i membri minimi e massimi ammessi dell'insieme. Non sono sinonimi.

-1

Grazie per la domanda e le risposte sopra.

Questa mattina si è davvero confuso con questi termini (il caffè non ha aiutato).

Dato l'esempio seguente:

0-1 ---------- 1- *

molteplicità:

primo molteplicità, per l'entità sinistra : 0-1

In secondo luogo molteplicità, per l'entità destra : 1- *

cardinalità per la prima molteplicità:

Lower cardinalità: 0

superiore cardinalità : 1

cardinalità per la secondo molteplicità:

Lower cardinalità: 1

superiore cardinalità: *

0

Il molteplicità è il vincolo sulla raccolta degli oggetti associazione mentre il cardinalità è il conteggio degli oggetti che sono nella raccolta.

La molteplicità è in realtà il vincolo sulla cardinalità.

+0

Questo è quasi (la cardinabilità non è il limite superiore, è il numero effettivo di elementi presenti in una raccolta) una risposta corretta, ma manca un po 'di contenuto e riferimenti. Vedi UML 2.5 § 7.5.3.2 Multiplicities –

+0

Grazie signore, ero un po 'confuso e ora ho corretto la mia risposta :-) –

Problemi correlati