我使用數據庫爲網站創建樹視圖。我將創建2個表格,我們稱之爲「文件夾」和「文件」。一個文件夾可以包含多個文件夾和文件,並且文件將充當葉節點 - 這意味着如果您不熟悉該術語,它們就是樹中的「死衚衕」。將列值限制爲同一個表內不同列的值?
的文件表將包含列:
Folder_id, Folder_name, Folder_parent
文件將包含:
File_id, File_name, File_parent
顯然File_parent將引用folder_id,從而創造一個外鍵,但如何讓Folder_parent參考Folder_id?
例子:
FOLDER_NAME | FOLDER_ID | FOLDER_PARENT
root 1 null
Cars 2 1
Planes 3 1
BMW 4 2
我認爲你錯過了這一點,file_parent已經指向folder_id,所以當你看一個文件夾時,你選擇file_id其中folder_name ='example' – 2011-05-11 11:17:15
@Abe當創建一個文件很容易確保它不有一個不存在的父級,因爲file_parent引用了folder_id。但是在創建文件夾時,不存在類似的故障安全。我可以在插入之前檢查id是否有效(從folder_id = parameter選擇* from文件夾,如果找到任何文件),但是沒有更多的.. table side解決方案嗎? – 2011-05-11 12:17:48