数据库关系图有什么用?

数据库关系图有什么用?,第1张

我来解释一下,看对你有用没:

首先,使用关系图的用户首先是SQL Server用户,MSSMS你要能打开可视化编辑视图。

其次,键约束,当你在 *** 作一个表时,他的记录靠主键关系约束关系表,再在关系表中 *** 作就要在他约束字段值范围内添加。

比如我们一个表1字段是: 工号 姓名 岗位编号 另一个表2是:岗位编号 薪资,我们依据岗位编号来做键约束,建立两个表之间的关系,我先对第一个表进行 *** 作,第二哥表就只能添加第一个表里曾在的岗位编号,是主键还不能重复添加,表1里没有的岗位编号是添加不进去的,以保存就报异常,这叫外键约束。

第三点作用是方便开发人员查看表与表之间的关系和表的结构。

这才是关系图,不是ER图。ER图才能解决数据关联问题,关系图是表与表之间的依赖关系。

可以在数据库关系图中的表间创建关系以显示某个表中的列如何链接到另一表中的列。

在关系数据库中,关系能防止冗余的数据。例如,如果正在设计一个数据库来跟踪有关书的信息,而每本书的信息(如书名、出版日期和出版商)都保存在一个名为 titles 的表中。同时还有一些想保存的有关出版商的信息,例如出版商的电话号码、地址和邮政编码。如果将所有这些信息都保存在 titles 表中,则对于某个出版商出版的每本书,出版商的电话号码将是重复的。

一个更好的解决方案是,单独在一个名为 publishers 的表中只保存一次出版商信息。然后在 titles 表中设置指针,以引用 publishers 表中的项。

若要确保数据同步,可以在 titles 表和 publishers 表之间强制引用完整性。引用完整性关系能确保某个表中的信息与另一个表中的信息相匹配。例如,titles 表中的每个书名必须和 publishers 表的特定出版商相关联。不能在数据库中添加数据库中不存在的出版商的书名。

为更好地理解表关系,请参见:

表关系类型

引用完整性概述

表关系类型

关系是通过匹配键列中的数据而工作的,而键列通常是两个表中具有相同名称的列。在大多数情况下,关系将一个表中为每个行提供唯一标识符的主键与另一个表中外键内的项相匹配。例如,通过在 titles 表的 title_id 列(主键)和 sales 表的 title_id 列(外键)之间创建一个关系,可以使销售额与特定的销售书名相关联。

表与表之间存在三种类型的关系。所创建的关系类型取决于相关联的列是如何定义的。

一对多关系

多对多关系

一对一关系

一对多关系

一对多关系是最常见的关系类型。在这种关系类型中,表 A 中的行可以在表 B 中有许多匹配行,但是表 B 中的行只能在表 A 中有一个匹配行。例如,publishers 表和 titles 表是一对多的关系:每一个出版商可出版许多书,但每一本书只能有一个出版商。

如果在相关列中只有一列是主键或具有唯一约束,则创建的是一对多关系。

一对多关系中的主键方由一个键 符号表示。关系中的外键方由一个无穷大 符号表示。

多对多关系

在多对多关系中,表 A 中的一行可与表 B 中的多行相匹配,反之亦然。通过定义称为连接表的第三方表创建这样的关系,该连接表的主键包括表 A 和表 B 中的外键。例如,authors 表和 titles 表是多对多关系,该关系通过从这些表中的每个表与 titleauthors 表的一对多关系定义。titleauthors 表的主键由 au_id 列(authors 表的主键)和 title_id 列(titles 表的主键)组成。

一对一关系

在一对一关系中,表 A 中的一行最多只能与表 B 中的一行相匹配,反之亦然。如果两个相关列都是主键或具有唯一约束,则创建的是一对一关系。

这种关系不常见,因为这种方式的大部分相关信息都在一个表中。使用一对一关系可以是为了:

分割一个含有许多列的表。

出于安全考虑而隔离表的某一部分。

存储可以很容易删除的临时数据,只需删除表即可删除这些数据。

存储只应用于主表子集的信息。

一对一关系的主键方由键 符号表示。外键方也由键 符号表示。

引用完整性概述

引用完整性是一种规则系统,这些规则可确保相关表中各行间关系的有效性,并确保不会意外删除或更改相关的数据。

在强制引用完整性时必须遵循以下规则:

如果在相关表的主键中不存在某个值,则不能在相关表的外键列中输入该值。但是,可以在外键列中输入空值。例如,在 employee 表中没有包括某职员,则不能指明分配给该职员的工作,但是可在 employee 表的 job_id 列输入空值来指明没有给该职员分配工作。

如果在相关表中存在与某行匹配的行,则不能从主表中删除该行。例如,如果在 employee 表中给多个职员分配了由 jobs 表中某行所代表的工作时,则不能删除该行。

当主表的某行有相关行时,则不能更改主键值。例如,如果将 jobs 表中的一项工作分配给某职员,则不能从 employee 表中删除该职员。

当满足下述所有条件时,可以设置引用完整性:

主表中相匹配的列是主键或具有唯一约束 。

相关列具有相同的数据类型和长度。

两个表属于同一个数据库。

数据库关系图中的已强制关系和未强制关系

在数据库关系图中创建关系线将在相关表上创建外键约束,从而自动强制引用完整性。在数据库关系图中,已强制关系用实线表示。例如:

在关系图中,未强制关系用虚线表示,这种关系的外键约束被禁用。例如:

根据数据库的功能,对于某些情况(例如在 INSERT 和 UPDATE 事务处理过程中)可设置选项以禁用外键约束。

关系模型数据库的优点:

1、关系模型和格式化模型不同,它是简历在严格的数学概念的基础上的。

2、关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据库的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。

3、关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

关系模型数据库的缺点:

1、由于存取路径岛屿用户是隐蔽的,查询效率往往不如格式化数据模型。

2、为了提高性能,数据库管理系统必须到用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。

扩展资料

其他数据库的优缺点:

层次数据库的优点:

1、数据结构比较简单清晰。

2、层次数据库的查询效率高。因为层次模型中记录之间的联系用有向边表示,这种练习在DBMS中常常用指针来实现,因此这种练习也就是记录之间的存取路径。当药存取某个节点的记录值,DBMS就沿着这一条路径很快找到该记录值,所以层次数据库的性能优于关系数据库,不低于网状数据库。

3、层次数据模型提供了良好的完整性支持。

层次数据库的缺点:

1、现实世界中很多联系都是非层次性的。

2、对插入和产出 *** 作的限制比较多,因此应用程序的编写比较复杂、

3、由于结构严密,层次命令趋于程序化。

参考资料:百度百科-关系型数据库

参考资料:百度百科-层次型数据库


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10807890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存