1. 程式人生 > >第7章 對映一對多關聯關係

第7章 對映一對多關聯關係

以客戶和訂單的關係為例,一個客戶能發出多個訂單,而一個訂單(order)只能屬於一個客戶(customer)。從訂單到客戶的關聯是多對一關聯,這意味著每個訂單物件都會引用一個客戶物件,因此在訂單類中應該定義一個客戶型別的屬性,來引用關聯的客戶物件。
從客戶到訂單是一對多的關聯,這意味著每個客戶物件會引用一組訂單物件,因此在客戶類中應該定義一個集合型別的屬性,來引用所有關聯的訂單物件。

如果僅有從訂單到客戶的關聯,或者僅有從客戶到訂單的關聯,就稱為單向關聯。如果同時包含兩種關聯,就稱為雙向關聯

在關係資料庫中,只存在外來鍵參照關係,而且總是由many方參照one方,因此關係資料庫實際上只支援多對一或一對一的單向關聯。
在這裡插入圖片描述

文章目錄

建立多對一單向關係

在類與類之間各種各樣的關係中,多對一的單向關聯關係和關係資料庫中外來鍵參照關係最匹配了。因此使用單向關聯,通常選擇從 Order 到 Customer 的多對一單向關聯。在 Order 類中需要定義一個 customer 屬性,而在 Customer 類中無須定義用於存放 Order 物件的集合屬性。