数据库关系图有什么用

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

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

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

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

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

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

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

主键:

关系数据库依赖于主键---它是数据库物理模式的基石。主键在物理层面上只有两个用途:

1

惟一地标识一行。

2

作为一个可以被外键有效引用的对象。

基于以上这两个用途,下面给出了我在设计物理层面的主键时所遵循的一些原则:

1

主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。

2

主键应该是单列的,以便提高连接和筛选 *** 作的效率。

注:使用复合键的人通常有两个理由为自己开脱,而这两个理由都是错误的。其一是主键应当具有实际意义,然而,让主键具有意义只不过是给人为地破坏数据库提供了方便。其二是利用这种方法可以在描述多对多关系的连接表中使用两个外部键来作为主键,我也反对这种做法,理由是:复合主键常常导致不良的外键,即当连接表成为另一个从表的主表,而依据上面的第二种方法成为这个表主键的一部分,然,这个表又有可能再成为其它从表的主表,其主键又有可能成了其它从表主键的一部分,如此传递下去,越靠后的从表,其主键将会包含越多的列了。

3

永远也不要更新主键。实际上,因为主键除了惟一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。

注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。

4

主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。

5

主键应当有计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了惟一标识一行以外的意义。一旦越过这个界限,就可能产生认为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

外键是数据库一级的一个完整性约束,就是数据库基础理论书中所说的“参照完整性”的数据库实现方式。

外键属性当然是可以去掉的,如果你不想再用这种约束,对编程当然不会有什么影响,但相应的录入数据的时候就不对录入的数据进行“参照完整性”检查了。

例如有两个表

a(a,b)

:a为主键,b为外键(来自于bb)

b(b,c,d)

:b为主键

如果我把字段b的外键属性去掉,对编程没什么影响。

如上面,a中的b要么为空,要么是在b的b中存在的值,有外键的时候,数据库会自动帮你检查a的b是否在b的b中存在。

表是实体在数据库中的表现形式,实体间的关系可以作为表结构设计时的引导,比如老师和学生这两个实体,一个老师可以对应多个学生,一个学生同时也可以对应多个老师,及他们之间是多对多关系,由这个多对多关系可以引导我们在表设计时一个老师的teacherID(主键)对应多个学生的studentID(主键),同时一个学生的studentID(主键)对应多个学生的teacherID(主键),如果我们只设计两张表(teacher表和student表)也是可以实现他们之间的多对多关系的,但势必造成数据的大量重复,而重复数据只是为了表示一个老师或者一个学生的信息,唯一不同的就是将一个学生的studentID去对应多个老师的teacherID,同时也违背的主键唯一性,为解决这个问题我们可以设计一个中间表来表示老师和学生的对应关系,具体的设计楼主可以在网上查看多对多关系表,至于其他关系相对比较简单一些。至于最后一个问题,表是通过外键关联来反映实体之间的关系的——纯手打。

关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 :

学生表(学号,姓名,性别,班级)

其中每个学生的学号是唯一的,学号就是一个主键

用户表(用户名、密码、登录级别)

其中用户名是唯一的, 用户名就是一个主键

上机记录表(卡号,学号,姓名、序列号)

上机记录表中单一一个属性无法唯一标识一条记录,学号和姓名的组合才可以唯一标识一条记录,所以 学号和姓名的属性组是一个主键

上机记录表中的序列号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键

定义主键和外键主要是为了维护关系数据库的完整性,总结一下:

主键是能确定一条记录的唯一标识,比如,一条记录包括身份z号,姓名,年龄。身份z号是唯一能确定这个人的,其它都可能有重复,所以,身份z号是主键。

外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,就可以是A表的外键。

以上就是关于数据库关系图有什么用全部的内容,包括:数据库关系图有什么用、数据库具体有什么作用、关系数据库中实体关系的作用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存