Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.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
Database design 数据库设计 第一个问题_Database Design - Fatal编程技术网

Database design 数据库设计 第一个问题

Database design 数据库设计 第一个问题,database-design,Database Design,我有以下实体:表单可以有一些参数(但不一定),表单有表。在一种情况下(如果表单没有参数),我提前知道哪些表对应于表单,在另一种情况下(如果表单有用户选择的参数),我根据选择的参数来决定加载哪些表。如何在数据库中存储此信息 [Update]此时我有以下模式:table Form、table FormParam、table table;表单与FormParam(一对多)相关,表单与表(一对多)相关;但是在这个模式中,不存在关于FormParam表的依赖性的信息。我可以在FormParam和表之间建立

我有以下实体:表单可以有一些参数(但不一定),表单有表。在一种情况下(如果表单没有参数),我提前知道哪些表对应于表单,在另一种情况下(如果表单有用户选择的参数),我根据选择的参数来决定加载哪些表。
如何在数据库中存储此信息
[Update]此时我有以下模式:table Form、table FormParam、table table;表单与FormParam(一对多)相关,表单与表(一对多)相关;但是在这个模式中,不存在关于FormParam表的依赖性的信息。我可以在FormParam和表之间建立关系,但在我的例子中,并非所有情况下表都依赖于FormParam

  • 第二个问题
  • 我有一个表,其中包含一些数据(组织目录)。在另一个表中,我有用户从表单中选择的数据。在某些表单中,用户必须从组织列表中选择组织。我想要用户从表单中选择的数据存储的一致性,这样我就可以在第二个表中复制第一个表中的记录,但我不想要(我认为这是一种糟糕的样式)。
    在这种情况下,我该怎么办
    [更新]也许有一种设计数据库的解决方案,我可以指定第一个表来引用另一个表中存储的记录。也许我错了


    谢谢大家!

    我认为您需要花一些时间来设计系统的数据模型。也许你的方法会从“操作”变为“数据”本身

    现在要解决您的问题,您可以在nxn关系中创建表,其中在表A中有表单信息,在表B中有参数信息。在第三个表NxN relation中,指定应加载所需表(将存储在此表中的字符串字段中)的属性


    注意你的爱人的复杂性。如果您有许多不同的组合,可能您有太多的记录,实现表加载几乎是不可能的。

    您实际上想要实现什么还不清楚。请重写问题使其更清楚。@Manu感谢您的指点。我更新了问题谢谢你的提示。如果表格不依赖于参数,该如何处理?我必须根据参数拆分提取表的逻辑,而表不依赖于参数?您应该提供有关您的系统的更多信息,这对另一个人来说似乎相当混乱。但是,根据我的理解,您应该或多或少地以这种方式创建一个表:(prm_参数:int PK FK;prm_表:string)。在第一个字段(prm_参数)中,您必须以某种方式链接用户填写的表单参数。在第二个字段中,添加选择/填充该参数时必须加载的表的名称。然后,当您通过字段prm_table查询表分组时,将只能加载选定的表。它可以解决这个问题。