Re: [SQL ] 是否避免null值

看板Database作者 (好餓~~)時間12年前 (2013/05/23 12:38), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/7 (看更多)
#原文恕刪 以下是個人看法: 1. NOT NULL 的使用完全按照 Entity Relation 來設計,並 不建議用以偏概全的方式來看待。 例如(用原PO的例子): Table A Table B Table C ColA1 PK NOT NULL ColB1 PK NOT NULL ColC1 PK NOT NULL B_id FK NOT NULL C_id FK NOT NULL PS.首先 PK 一定要 NOT NULL,誰也不希望出現無主的忍者,肯定會出亂子。 Foreign Key 可以為 NULL 有以下考量: 1.1 A Relate to B 與 A Relate to C 為獨立事件 如果為真:那可以將 NOT NULL 移除 1.2 A Relate to B 且 A Relate to C 為聯合事件 如果為真:請留下 NOT NULL 2. 如果允許欄位 NULL 有人喜歡用 -1,有人喜歡用空白值(' '),有人喜歡用 99999.來代表【無資料】 這些都會造成前端的表現層需要用多餘的判斷來處理資料, Oracle 本身也會有多餘的 overhead,例如 index 就多了一堆的 -1, 個人是覺得浪費空間,等你有 1T 以上的資料,小小的動作就可以挽救很多 無謂的麻煩。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.125.179.204
文章代碼(AID): #1HdPqeZf (Database)
文章代碼(AID): #1HdPqeZf (Database)