MSSQL DB-在数据库中建立关系有什么好处?

时间:2019-07-16 11:23:50

标签: c# sql-server database relationship

我正在制作一个C#表单,该表单将来自我的MSSQL服务器数据库的一些数据显示到一些datagridviews和dataflowpanels中。

我没有与我的表建立任何关系,因为当我可以从程序中查询表并使用“ id”列中的单元格值在不同数据库的单独查询中使用时,我不知道它们的用途

这是io当前用于查询“类别”的代码

print("Acc is",sess.run(accuracy,feed_dict:{X:mnist.test.images[0:59],Y:mnist.test.labels[0:59]}))

Category table

Brand table

我打算使用“ Catergory_id”值来查询不同的表,除了添加诸如“ Where Catergory_id = Catergory_id”之类的查询以显示仅包含该ID的行外,其他方法相同。

现在我的问题是。我无需在数据库服务器中设置关系就可以做到这一点。我为什么需要设置它们?在设置好它们之后,这将如何改变查询和填充表格和网格的方式?

如果您需要更多或更少的信息,请告诉我。 PS请忽略我的拼写错误大声笑

如果我可以提供一些示例代码,或者您可以向我解释一下,或者向我指出正确的方向,将不胜感激:)

感谢堆!


感谢大家为您提供的解释和链接!我现在开始对它有所了解。

我还有另一个相关问题。 (如果我应该将其单独发布,请告诉我)

Q:在这段视频https://www.studytonight.com/dbms/database-normalization.php中,我谈到了使用归一化的一些好处,我发现,这与建立关系几乎是一样的。我看到了提到的好处,例如可以修复/减少插入异常,更新异常和删除异常。

使用视频中的示例:如果我想记录学生以前的老师怎么办?根据视频,调整分支老师的姓名后,它会更改学生列表中的所有条目。

我如何在两全其美的情况下将旧条目保留在学生表中,但是当添加新行时,它们使用新的数据/老师名称吗?

再次感谢:)

2 个答案:

答案 0 :(得分:1)

在数据库中具有关系会增加对新数据和现有数据的约束。他们确保任何更新或插入的行值在插入的表和相关的表上匹配。在您的示例中,这将确保两个表中都存在Category_id。

答案 1 :(得分:0)

问:我可以在不设置数据库服务器关系的情况下做到这一点。为什么我需要设置它们?

R:是的,但是您可以控制

问:在设置好它们之后,这将如何改变查询和填充表格和网格的方式?

R:是的,这样会更容易

请阅读以下文本:

Why is it important to setup relationships in a database? What are the advantages and disadvantages of using relationships?

Why Relationships Are Important

Database Relationships - Database relationships are the backbone of all relational databases

Definition of Database Relation

4 Important Roles of Database Management System in Industry - It is needed to maintain strong relationships between data