Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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
C# SQL数据库模型_C#_Sql_Database_Linq_Database Design - Fatal编程技术网

C# SQL数据库模型

C# SQL数据库模型,c#,sql,database,linq,database-design,C#,Sql,Database,Linq,Database Design,我正在努力研究如何为我想要构建的数据库绘制模型。一旦数据库建模正确,我将在C#中使用SQL2LINQ 我要看的第一部分是为通讯组列表设计SQL表 由于以下规则适用,这些DL看起来相当复杂: 有三种不同类型的DLL(用于特定事件) 每种类型的DL将包含多个DL(可以超过10个) 一个人可以处于所有三种不同类型的DL中 一个人可以在同一类型的多个DLs中 对于此人,我将持有以下信息: 名字 姓 联系电话 电子邮件地址 我不喜欢的是重复信息的想法,让同一个人在数据库中重复多次;看起来不太干净 如果您能

我正在努力研究如何为我想要构建的数据库绘制模型。一旦数据库建模正确,我将在C#中使用SQL2LINQ

我要看的第一部分是为通讯组列表设计SQL表

由于以下规则适用,这些DL看起来相当复杂:

  • 有三种不同类型的DLL(用于特定事件)
  • 每种类型的DL将包含多个DL(可以超过10个)
  • 一个人可以处于所有三种不同类型的DL中
  • 一个人可以在同一类型的多个DLs中
  • 对于此人,我将持有以下信息:

  • 名字
  • 联系电话
  • 电子邮件地址
  • 我不喜欢的是重复信息的想法,让同一个人在数据库中重复多次;看起来不太干净


    如果您能提供任何帮助,我将不胜感激。我不知道如何才能做到这一点。

    您需要了解外键和父/子关系

    我不确定我是否会像你描述的那样设计它。对于每个通讯组列表,您可以有一个单独的表,也可以有一个带有列的表来说明它所属的事件类型

    我不明白为什么通讯组列表需要递归,但您可以自己拥有外键关系。这样写查询会比较困难,但是可以由一个有足够技能的人来完成。谷歌搜索“递归SQL”


    在它们之间有一个PERSON表、DISTRIBUTION_LIST表和JOIN表。在我看来,个人和通讯组列表之间似乎存在多对多关系。

    听起来好像您只想在个人和通讯组列表之间建立多对多关系,您可以使用连接表对其进行建模:

    • 身份证
    • 名字
    分销渠道

    • 身份证
    • 分配列表
    • 拟人
    分销列表

    • 身份证
    • 类型

    您可以将
    类型
    直接存储在通讯组列表表中,也可以将其作为
    DistributionListTypes
    表的外键,其中包含有关通讯组列表类型的其他信息。

    谢谢,这很有帮助。这种设置方式不是我设计的,而是我继承的。这一切都是在Excel电子表格中完成的。目前,我希望将其更新。我不了解这些联接表:-(我想我知道这是怎么回事了,现在,你使用联接表来关联这两个表,所以在联接表中,我添加了一条记录,其中包含一个Person ID和一个DistributionListID,这就形成了这两个表之间的关系。我想我现在已经知道了。我唯一的问题是联接tbale中的mu ID字段都是samm int..所以当编辑时使用它时,只需知道每个通讯组列表或个人的正确int值即可:-(不一定。对于您认识其中一个的情况(“为此人提供所有列表”或“告诉我属于此列表的所有人”),这很好。对于其他情况,您将在父表上使用WHERE子句(例如。“告诉我名单上所有有红头发的人。”)当DL包含DL时,他们必须是同一类型的人吗?