[英]Abstraction in database
我有以下問題:
我正在開發一個具有以下實體的應用程序:“人”,“個人”,“公司”,“客戶”,“供應商”
“人”實體是一種抽象。 “個人”是“人”,但是“公司”也是“人”,但具有一些不同的屬性。
我的問題是:“客戶”可以是“個人”,也可以是“公司”,如何將其存儲在數據庫中?
tbl_individual
id
person_id
Data_1
Data_2
...
data_N
tbl_company
id
person_id
Data_1
Data_2
...
data_N
tbl_customer
id
individual_id // Only completed when the client is "Individuals"
company_id // Only completed when the client is "Enterprise"
Data_1
Data_2
...
data_N
tbl_person // Here placed the data of "Individuals" and "Company"
id
Data_1
Data_2
...
data_N
tbl_customer
id
person_id
Data_1
Data_2
...
data_N
選項2看起來不錯。 只需為tbl_person
和額外的表tbl_company_data
添加列type
:
tbl_person // Here placed the data of "Individuals" and "Company"
id
type [1 - individual, 2 - company]
Data_1
Data_2
...
data_N
tbl_customer
id
person_id
Data_1
Data_2
...
data_N
tbl_company_data
id
person_id
Data_1
Data_2
...
data_N
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.