Ms-Access

幫助訪問多對多關係(初學者)

  • April 22, 2016

我是 MS Access 的初學者,希望對我正在嘗試創建的數據庫有所幫助。這是(將是)給定區域的地塊及其相關土地所有者的數據庫。

這是我在 Excel 中總結的表格欄位(粗體是我目前的 PK):

在此處輸入圖像描述

County Plat 包含地塊;“所有者”欄位是土地的列出所有者,可能是有限責任公司等,因此可能有多個持有不同股份的個人。

Owners 表將這些“所有者”與其相應的土地所有者及其所有權百分比相關聯。

最後,聯繫人列表包含給定土地所有者的聯繫方式。

因此,例如,Parcel 0001Parcel 0009在 County Plat 中列為 Owner TOFU FAMILY TRUST擁有,而在 Owners 中,信託被列為Jim Tofu擁有 50%和Bob Tofu擁有 50% 。他們各自的聯繫資訊列在聯繫人列表中。

此外,如果可能,我不希望編輯 County Plat 數據庫的設置,因為它來自外部來源。

對於如何最好地設置此數據庫的任何建議,我將不勝感激。我目前在嘗試強制引用完整性時遇到錯誤,我很確定這是由於我對數據庫設計缺乏了解。儘管我已經閱讀過有關它的文章,但我很難將這些課程應用到我自己的數據庫中。從專業人士那裡獲得有關如何實施此功能的回饋會非常有幫助。

謝謝!

你的設計似乎幾乎是正確的。我可以查明以下問題:

您使用該表Owners有兩個目的:

  • 擁有所有者列表(作為實體/公司/社團)
  • 列出與每個實體相關的人員名單

你需要Owners分成兩個,例如:

CREATE TABLE Owners (
 OwnerID int autoinc primar key,
 [Entity name] varchar(200)
);
CREATE TABLE Stakeholders (
 OwnerID int not null references Owners,
 PersonID int not null references "Contact List",
 [Ownership %] float not null,
 unique (OwnerID, PersonID)
);

以上要求您修改Contact List以包含 a PersonID int autoinc not null primary key,因為您可能有多個具有相同姓名和姓氏的人。

引用自:https://dba.stackexchange.com/questions/136130