簡體   English   中英

數據庫中的抽象

[英]Abstraction in database

我有以下問題:

我正在開發一個具有以下實體的應用程序:“人”,“個人”,“公司”,“客戶”,“供應商”

“人”實體是一種抽象。 “個人”是“人”,但是“公司”也是“人”,但具有一些不同的屬性。

我的問題是:“客戶”可以是“個人”,也可以是“公司”,如何將其存儲在數據庫中?

[選項1]

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

[選項2]

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM