Schema
建立一個所有表ID都只是“_id”的關係模型的優缺點?
我一直把
pk
表的 d 作為這種模式:小寫表名+ Id。那是我在大學裡教的,我沒有考慮過。當有人使用
mongo
db(非關係數據庫)向我提出挑戰時,我無法弄清楚為什麼我曾經這樣做過?我唯一能想到的是一些 ORM 有它,以便自動建構
pk
通常匹配此模式的列。任何見解將不勝感激。
沒有重要的理由去做其中之一。這兩種風格都很常見,而且效果很好。
AFAIK:Pro:你總是知道如何連接,因為外鍵在每個表中使用相同的列名,連接查詢更容易驗證。
缺點:您不能在應用程序中聲明具有主鍵作為屬性的超類型。IE 是 .NET 中相對常見的模式
public abstract class Entity { public int Id { get; set; } }
作為您的實體的通用基本類型。
有些人可能會爭辯說,除非有實際需要,否則不應將合成鍵添加到表中,但這確實是一個不同的問題。