我正在爲我的多媒體集合創建一個數據庫,我發現自己懷疑自己的設計,這讓我想知道是否有更高效的方法來實現我想要的。可接受的外鍵使用
我想以分層方式設計數據庫。我不會把它全部包括在內,但足夠。
主父表被稱爲MONOLITH。它具有BLOCK_ID和BLOCK_NAME作爲屬性。
的行是:
1, 「INDEX」
2, 「文庫」
然後兩個子表是INDEX和圖書館。前者用於電影,後者用於電視節目。
我開始懷疑數據庫的完整性,因爲電影和電視節目的數據是不同的,並且兩者都不需要相同的屬性,所以我認爲它們應該放在不同的表格中。所以在INDEX表中,每一行的外鍵都是1,而在LIBRARY表中,每一行的外鍵都是2.有沒有明確的錯誤,或者有什麼不同的方法來實現我想要的?這只是一個小例子,還有音樂,文本,音頻書籍和安裝文件,這些都將是MONOLITH桌子上的小孩。它們中的每一個將分別具有用於每一行的相同外鍵。
任何幫助將不勝感激,謝謝!
感謝您的建議。我實際上已經考慮過這種冗餘,但是我將兒童表格連接到MONOLITH的原因是,如果我想查詢選擇所有以「星球大戰」開頭的電影,有聲讀物和小說。我可以通過MONOLITH表運行查詢。此外,我一直認爲數據庫中的所有表都必須在某個時刻連接起來以方便連接等。您是否可以想出一個更好的方法來實現相同的結果?我可以在MONOLITH表中添加更多的列,以減少冗餘。像BLOCK_DESCRIPTION之類的東西。 – Christopher
請注意我編輯的答案。 – TAM
我認爲問題在於我正在考慮用我的文件存儲系統構建數據庫。在文件資源管理器中,第一個文件夾是monolith,然後它有幾個從屬文件夾。一個很好的例子是有聲讀物部分。音頻書籍分爲虛構小說化,非小說小說化,科學,歷史,計算機科學等文件夾。我將重新評估我的數據庫,並將所有音頻書籍數據放入一個表格中,然後嘗試正常化它從那裏。 – Christopher