Ms-Access
幫助訪問多對多關係(初學者)
我是 MS Access 的初學者,希望對我正在嘗試創建的數據庫有所幫助。這是(將是)給定區域的地塊及其相關土地所有者的數據庫。
這是我在 Excel 中總結的表格欄位(粗體是我目前的 PK):
County Plat 包含地塊;“所有者”欄位是土地的列出所有者,可能是有限責任公司等,因此可能有多個持有不同股份的個人。
Owners 表將這些“所有者”與其相應的土地所有者及其所有權百分比相關聯。
最後,聯繫人列表包含給定土地所有者的聯繫方式。
因此,例如,Parcel 0001和Parcel 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
以包含 aPersonID int autoinc not null primary key
,因為您可能有多個具有相同姓名和姓氏的人。