我在我的數據庫中創建了3個表:文件,文件內容和用戶。在DB中建立關係和外鍵
的filecontents'
結構是這樣的:
id___fileid___filesize___userid___version___path
。
的files'
是:
fileid___filesize___userid___filename___mimetype
而且users'
:
userid___username___password___email
那麼我們應該如何關係和外鍵約束看起來像這樣用戶就可以擁有多文件,每個文件可以有多個版本所以fileid不應該是uniqe(我猜)。這就像 - 用戶1
有文件ID 1
,2
,3
。用戶2
有不同的文件,但他們的文件ID應該從1
重新開始。
Files.fileID,users.userID和filecontents.id對我來說都很像PK,而filecontents.fileID,Files.userId和filecontents.userID對我來說就像是外鍵。爲什麼files.fileID不是唯一的?爲什麼他們的fileID需要再次從1開始?這不是PK的本質。 – xQbert
因爲我的應用程序的邏輯是每個用戶的文件的ID是從1開始 – Alex
這聽起來更像是一個顯示問題,而不是DB設計之一。如果您需要訂單,請添加一個「files.FileOrder」列,並從那裏開始並遞增。否則你會超載一個PK領域,如果他們以後想「重新排序」那些文件,可能會導致你頭痛。 – xQbert