Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 两个单独的表和一个带列的表之间的差异_Mysql_Database_Database Design_Database Schema - Fatal编程技术网

Mysql 两个单独的表和一个带列的表之间的差异

Mysql 两个单独的表和一个带列的表之间的差异,mysql,database,database-design,database-schema,Mysql,Database,Database Design,Database Schema,我有用户和医生。这是一个普通人和医生都可以使用的应用程序。我不确定用哪种方式设置我的数据库 两个表格-用户和医生表格 一个表,额外列-用户带有列的表用户类型 哪一个是最好的方法?这两种方法的优缺点是什么?为我保留单独的表是很好的,特别是如果您使用户表尽可能基本(使用用户名和密码)。这样您就知道,即使将来需求发生变化,并且需要添加另一个带有其他字段的用户类型,那么您也不必担心代码的其他部分。我只是在考虑将来的变化或增加。医生是抽象的。在将来,当你必须对他们进行分类时(例如根据他们的专业),这可能也

我有
用户
医生
。这是一个普通人和医生都可以使用的应用程序。我不确定用哪种方式设置我的数据库

  • 两个表格-
    用户
    医生
    表格
  • 一个表,额外列-
    用户
    带有列的表
    用户类型

  • 哪一个是最好的方法?这两种方法的优缺点是什么?

    为我保留单独的表是很好的,特别是如果您使用户表尽可能基本(使用用户名和密码)。这样您就知道,即使将来需求发生变化,并且需要添加另一个带有其他字段的用户类型,那么您也不必担心代码的其他部分。我只是在考虑将来的变化或增加。医生是抽象的。在将来,当你必须对他们进行分类时(例如根据他们的专业),这可能也是一个问题


    只要我两分钱。

    两张桌子是你最好的方法。虽然不是你建议的两张桌子

    如果你更基本地分析一下你的情况,你有用户,他们属于两个群体中的一个(普通公众和医生)

    这是一种标准的用户组情况,因此使用1个表存储用户特定的数据,并引用用户组表(即用户属于组)是一个很好的解决方案

    这也允许您稍后添加组-肾脏患者、肾脏医生、心脏患者、心脏医生

    与用户和用户组一起使用设置通常是一个好方法