zoukankan      html  css  js  c++  java
  • 数据表设计感想

    需求:管理问题,并对问题进行分类,问题与类别存在多对多的关系。

    方法1:新建一个AskType类别表,包含(类别ID)AskTypeID,(类别名称)AskTypeName,(问题ID)QuestionID,(问题名称)QuestionName.

    再建一个Question问题表,包含(问题ID)QuestionID,(问题名称)QuestionName.

    类别与问题存在多对多的关系。一个问题可以属于多个问题类别,一个类别可以包含多个问题.这些关系都在AskType表中体现.

    方法2:新建一个AskType类别表,包含(类别ID)AskTypeID和(类别名称)AskTypeName.

    再建一个Quesiton问题表,包含(问题ID)QuestionID,(问题名称)QuestionName.

    再建一个Relation表,包含(关系ID)RelationID,(类别ID)AskTypeID,(问题ID)QuestionID.

    类别与问题存在多对多的关系。一个问题可以属于多个问题类别,一个类别可以包含多个问题.这些关系都在Relation表中体现.

    方法3:新建一个AskType类别表,包含(类别ID)AskTypeID和(类别名称)AskTypeName.

      再建一个Quesiton问题表,包含(问题ID)QuestionID,(问题名称)QuestionName,(类别ID)AskTypeID.

      类别与问题存在多对多的关系。一个问题可以属于多个问题类别,一个类别可以包含多个问题.

      这些关系都在Quesiton表中体现,Quesiton表中的AskTypeID字段可以存储多个类别ID,以字符串的形式保存,各个类别ID以,分隔。(如"1,2,3")

    3个方法,都有哪些优点,哪些缺点?那个方法最佳?

    学习的路上,分享的知识有不当的地方,希望大家指出。 感谢大家的阅读,希望这些分享能够给您带来帮助。
  • 相关阅读:
    记一次线上OOM问题分析与解决
    理解JAVA内存模型
    SpringBoot+Shiro+JPA+LayUI的后台管理系统
    学会使用BeanUtils,提高你的开发效率
    一篇文章教你快速上手接口管理工具swagger
    js 多维数组转一维数组(根据字段展示)
    记一次阿里云服务器中部署egg遇到的问题 (docker vim)
    react 封装tab组件
    js 添加 好玩的注释
    js 下载文件流
  • 原文地址:https://www.cnblogs.com/lanchong/p/2350509.html
Copyright © 2011-2022 走看看