Database-Design

嘗試在光碟詳細資訊場景中辨識最小的功能依賴關係

  • October 8, 2019

我相信這個關係/表格是第一範式(1NF):

收藏cd_id,標題,標籤,藝術家,類型,國家,song_id,song_title,長度)

**注:**粗體表示鍵。

我設法確定的內容:

{cd_id, song_id} → {song_title, length}
{cd_id} → {title, label, artist, type, country}
  • 這個對嗎,說符合1NF對嗎?
  • 我還缺少更多功能依賴項嗎?

額外細節

所涉及的屬性/列的上下文資訊和/或樣本值:

  • CD_id: 009329
  • 標題:CD的標題
  • 藝術家:尼克爾貝克
  • 類型:組 | 獨奏
  • 國家:引用藝術家的國家或原籍
  • 歌曲名稱:“把它燒毀”
  • 時長:3:32 分鐘

附加功能

CD 下的每首歌曲,這意味著會有重複。每次添加屬於 CD 的歌曲時。

存在的一個問題是,一首歌可能會作為單曲發行,然後作為專輯的一部分,然後在“最熱門”專輯中重新發行。這將導致我有一個歌曲表,然後創建一個連接表,將專輯表連接到歌曲表。該連接表將允許將一首歌曲連接到多個專輯。該表的 PK 可以是 Album_ID 和 Song_ID,使其成為複合表。我還會考慮創建一個藝術家表,它將藝術家姓名、原籍國和組/獨奏等數據分開。這也可能阻止歌手/團體更改名稱的“王子效應”。表格(PK 為粗體)

專輯(Album_ID、Artist_ID、Album_Title、Release_Date)

藝術家(Artist_ID、Country_Of_Origin、類型、Artist_Name)

歌曲 ( Song_ID , Song_Name, Song_Duration)

Song_Album(Album_ID、Song_ID、 Track_Number)

引用自:https://dba.stackexchange.com/questions/249938