Heim  >  Fragen und Antworten  >  Hauptteil

MySQL – Schema-Datenbankdesign für eine Q&A-Website?

Anfänger in Django, bereit zum Üben der Nachahmung einer vereinfachten Segfmentfault-Website. Jetzt habe ich ein paar Fragen.



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='数据', max_length=4096 * 10)
    post_time = models.DateTimeField(verbose_name='创建时间', 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='状态', max_length=1, choices=Q_CHOICES)
    type = models.SmallIntegerField(verbose_name='类别')
    post_time = models.DateTimeField(verbose_name='创建时间', default=datetime.datetime.now)
    mod_time = models.DateTimeField(verbose_name='修改时间')
    vote = models.IntegerField(verbose_name='得票')
    data = models.TextField(verbose_name='数据', max_length=4096 * 10)
    user_id = models.PositiveIntegerField(verbose_name='用户ID')
    view_num = models.PositiveIntegerField(verbose_name='浏览数')

    class Meta:
        verbose_name = '问题列表'
  1. Wenn es um Datenbanken geht, empfehlen wir das Anti-Paradigma-Datenbankdesign. Ist diese Art von Q&A-Website für die Verwendung von Fremdschlüsseln geeignet?

  2. Welche Felder fehlen in meiner Tabelle? Das sind die einzigen, die mir einfallen. Kann mir bitte jemand eine grobe Analyse geben?

Frageformular


Antwortformular

Kommentarformular

过去多啦不再A梦过去多啦不再A梦2668 Tage vor950

Antworte allen(1)Ich werde antworten

  • 欧阳克

    欧阳克2017-06-30 09:55:50

    规模上说,数据量大的不适合用外键,小的可以用;用途上安全性、可靠性很重要的就要用外键,否则可以不用。具体情况具体分析

    具体缺啥字段由业务来决定

    Antwort
    0
  • StornierenAntwort