mysql - 問答網站的架構數(shù)據(jù)庫設計?
問題描述
初學django,準備練手仿一個 簡化的segfmentfault網站。 現(xiàn)在有幾個疑問。
class Answer(models.Model): id = models.IntegerField(primary_key=True) user_id = models.PositiveIntegerField(verbose_name=’用戶ID’) vote = models.IntegerField(verbose_name=’得票’) data = models.TextField(verbose_name=’數(shù)據(jù)’, max_length=4096 * 10) post_time = models.DateTimeField(verbose_name=’創(chuàng)建時間’, default=datetime.datetime.now) mod_time = models.DateTimeField(verbose_name=’修改時間’) class Meta:verbose_name = ’用戶回答’class Question(models.Model): Q_CHOICES = ((’0’, u’Show’),(’1’, u’Hide’),(’2’, u’Closed’), ) BOOL_CHOICES = ((’0’, u’False’),(’1’, u’True’), ) id = models.IntegerField(primary_key=True) name = models.CharField(verbose_name=’名稱’, max_length=128) status = models.CharField(verbose_name=’狀態(tài)’, max_length=1, choices=Q_CHOICES) type = models.SmallIntegerField(verbose_name=’類別’) post_time = models.DateTimeField(verbose_name=’創(chuàng)建時間’, default=datetime.datetime.now) mod_time = models.DateTimeField(verbose_name=’修改時間’) vote = models.IntegerField(verbose_name=’得票’) data = models.TextField(verbose_name=’數(shù)據(jù)’, max_length=4096 * 10) user_id = models.PositiveIntegerField(verbose_name=’用戶ID’) view_num = models.PositiveIntegerField(verbose_name=’瀏覽數(shù)’) class Meta:verbose_name = ’問題列表’
現(xiàn)在數(shù)據(jù)庫這塊,都推薦反范式的數(shù)據(jù)庫設計。 這種問答網站適合用外鍵嗎?
我這張表還缺什么字段,我個人想到的只有這些, 求大神大概分析下。
問題表答案表
評論表
問題解答
回答1:規(guī)模上說,數(shù)據(jù)量大的不適合用外鍵,小的可以用;用途上安全性、可靠性很重要的就要用外鍵,否則可以不用。具體情況具體分析
具體缺啥字段由業(yè)務來決定
相關文章:
1. javascript - 關于定時器 與 防止連續(xù)點擊 問題2. javascript - 在IE中(9+)平時的樣式不生效,只有用開發(fā)者工具選中這個元素才生效,是什么原因?3. objective-c - ios百度地圖定位問題4. html - vue里面:src在IE(9-11)下不顯示圖片5. javascript - 關于這組數(shù)據(jù)如何實現(xiàn) 按字母列表分類展示 不改動數(shù)據(jù)結構6. javascript - 求助這種功能有什么好點的插件?7. javascript - ie11以下單擊打開不了file,雙擊可以。求解?8. html5 - rudy編譯sass的時候有中文報錯9. javascript - 寫移動端的頁面的時候,有不一快空白,是怎么回事?10. 微信開放平臺 - Android調用微信分享不顯示
