2011-03-15 65 views
1

我在我的第一個框架網站上工作(使用codeigniter)並且遇到麻煩提出了設置我的數據庫表的最佳方法。這個網站的功能就像是一個精簡的reddit和hackernews。用戶將註冊,創建一個擁有2個可能類別的嵌套註釋。到目前爲止,香港專業教育學院想出這個設置:邏輯設置我的數據庫表的幫助

用戶

ID 名 密碼 creationdate shortbio

帖子

ID 標題 內容 類別 creationdate

評論

ID 父ID 內容 creationdate

現在林不知道如何從這裏走。有沒有更好的方法來設置它?我最難以想象用戶名與他們發佈的帖子以及評論發揮作用的關係。任何幫助或方向感謝!

+0

我總是先從網站工作時繪製ERD。幫助分離這些實體以及它們如何聯繫在一起。我使用MySQL工作臺,因爲它是一個可視化工具,它極大地幫助瞭解事物如何彼此連接:http://wb.mysql.com/ – JohnP 2011-03-15 17:08:43

回答

1

你需要採取的第一步是找出關係。 ERD(實體關係圖)在這方面有很大幫助。您也可以使用像MySQL Workbench這樣的工具來繪製表格與彼此之間的關係。這很簡單,它只是顯示你的實體之間的關係。我會在這裏列出最明顯的,所以你知道如何下手

  1. 評述屬於郵政:這意味着該意見表需要POST_ID列來存儲帖子的ID是所有者這個評論。

  2. 帖子屬於用戶:就像之前一樣,在posts表中需要一個user_id列來指定所有權。

  3. 帖子屬於類別:您已正確添加類別列以指定所有權。

將關係映射出來後,可以使用codeigniter來編寫與這些主要實體相對應的模型。

0

這將是添加有用:

  • 狀態字段(TINYINT)表,但要能夠禁用/啓用後,用戶的意見。
  • 電子郵件用戶
  • shortbio是notsogood理念,更好地保存生物碎片分開(出生日期,姓名等),因此這將是更加靈活
  • 徵求意見添加POST_ID,user_ID的領域 - ID父母通過CAT_ID張貼在單獨的表和link'em
  • 提取物的貓(可能是你將有超過2只貓結束)

用戶

ID名稱狀態電子郵件密碼creationdate DOB

帖子

ID標題狀態CAT_ID內容類別creationdate

評論

ID POST_ID user_id說明 PARENT_ID 狀態內容creationdate

分類

CAT_ID標題狀態

更多選擇,以補充和完善將成爲進一步發展的過程中明顯)