簡體   English   中英

數據庫設計一個表或兩個表

[英]Database design one Table or two Tables

我對數據庫設計有疑問。
例如,我有兩種類型的對象,一種是電影,另一種是TvShow。
當然,也有一些相同的字段,例如名稱轉換故事行等。
也有很多不同的欄目,例如季節插曲等。
實際上,每一集都像電影一樣。

也許有大量數據。
如何設計?
A)一個表名為video,兩個表名為movie和TvShow。 視頻表具有公共列。

B)名為movie和TvShow的兩個表。

哪個更好?為什么? 謝謝〜

除非您有其他特殊原因,否則我建議使用帶有三個表的替代“ A”。 特別是如果您需要參考其他表格中的視頻。

使用公共主鍵,其中兩個表TVshow和Movie中的主鍵也是Video中主鍵的外鍵。 現在,通過使用三個表之一的外鍵,您可以參考電視節目,電影或一般視頻。

性能將比使用兩個表(或一個具有單個表的解決方案)要慢,因為現在數據分散在多個位置,並且查詢將更加復雜。 如果您確定需要更好的性能,則可能必須使用其他設計。 但是,僅假設性能將是一個問題,這是一個非常常見的錯誤。 使用適當的索引,即使在非常大的數據集中進行搜索時,關系數據庫也可以非常快速。

具有一個視頻表和兩個表的movie和TvShow會使事情變得有些復雜。 假設您要檢索所有電視節目,則需要一個指向視頻表的鏈接。 當然,在缺點方面,您將擁有一些“重復的”字段值,但是由於性能至關重要,並且與您的選擇直接相關,因此最好選擇選項B。

在B中,甚至您的刀片也會更快,因為在A中,需要2個刀片。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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