我不認爲你的模型使得有很大的意義,但在此之前我解釋細節,讓我提出另一種模式,我認爲更準確地代表您的域名:
"Car" [0..*] --- <listeningTo> --- [0..1] "Radio Station"
"Car" [0..*] --- <couldTuneInto> --- [0..*] "Radio Station"
Association#1非常接近同一件事,唯一真正的區別是我的表示不需要汽車收聽廣播電臺(因此是0..1而不是1)。在你的關係中使用不同的動詞也是有意義的,因爲汽車一般不會聽廣播電臺(他們的人)。另外,就你提出這兩種關係的方式而言,「調入」和「傾聽」在邏輯上是如何相關的並不清楚。如果您將「收聽」替換爲「已調入」,則兩者均爲:
- 汽車相對於無線電臺狀態的表達更清晰;
- 「可以調入」和「被調入」之間的關係可以更容易地解釋。
關聯#2與您的模型不同。你的模型似乎說「許多車可以調到一個且只有一個電臺」。這並不代表現實世界,除非你正在建模的域名在一些只有一個廣播電臺的農村地區。 「可以調入」關係具有指示可能性的語義,並且一般來說,汽車可以調諧到多個無線電臺(因此尋找/掃描按鈕,預設電臺等的原因)是可能的。它也是可能的可能是因爲汽車無法調入任何無線電臺(例如天線斷開),所以這也應該是可選的,並且具有多個[0..*]
。