我已经编写了一个使用数据源(CSV,固定宽度,制表符分隔)并将它们转换为SQL数据表的程序。我在SQL数据库中控制这个程序的设置。我使用的每个数据源都称为程序。每个程序只有一个DatasouceDefinition。 DatasourceDefinition是一个表格,它使用ProgramID作为返回到Program表格的外键。这样,因为我知道ProgramID,所以我可以在DatasourceDefinition表中找到定义我试图转换为SQL的程序的数据源的行。现在我试图扩大一点。我希望能够定义一组DatasourceDefinition实体,然后可以使用这些实体来定义多个程序。我的场景是我有三个程序使用完全相同的数据源模式(总共112列),所以不是制作三组数据源定义条目(3组x112行= 336行),我宁愿只制作一组1组x 112行= 112行),然后将该组行连接到三个程序。我做了一个乌鸦的脚图来帮助我看看这是如何工作的,但是我设计的东西好像是不好的数据库设计。我想知道如果任何人有输入对我怎么样了我的设置修改建议:数据库设计完整性检查
在我看来,从[程序]接头[DatasourceDefinitionsId]至[DatasourceDefinitions] [DatasourceDefinitionsId]。打破良好的数据库设计实践但是,此连接器显示的关系是有效且必要的。
任何意见表示赞赏。
为什么您需要ProgramSettings *表中的DatasouceDefinitionId?您可以通过ProgramId和Progams表获得它。 – dbugger
我同意@dbugger所有你真正需要改变的是在程序设置shcema中与程序ID的外键关系。之后,你会被规范化到你需要的地方。 –