SQL Server 2005系列教学(7) 数据库关系图

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

数据库关系图;      

SQL SERVERSSMS图形界面中有一种很实用的工具。它可以将表和表间关系以及其他对象以图形方式表现出来,并且我们也可以通过它以图形的方式来增加、修改表和表间关系等数据库对象。学习之前我们先来看一下什么是表间关系与外键约束
表间关系及外键约束
外键是用来在两个表之间建立链接关系的一个字段,将一个表的主键增加到另一个表中可以创建两个表之间的链接,这样这个字段就成了另一个表的外键。我们来举例说明。CLASSSTUDENT表之间存在链接。因为在班级和学生之间存在一定的逻辑联系。现在我们在学生表STUDENT中建立一个CLASSID的列,让它和班级表CLASS中的CLASSID相对应。这样,CLASS这个表中的CLASSID列就是STUDENT表中的外键列.
具体操作如下:打开学生表STUDENT表的设计视图。在STUDENTID下面添加一个CLASSID的列,类型和长度与CLASS表中一致,不允许空值存在,点击工具栏上的属性按纽。打开STUDENT表的属性对话栏,并且切换到关系选项上。点击“新建”,系统会出现一个表现表间关系的一个关系。关系名为FK_STUDENT_CLASSCLASS是主键所在的表。STUDENT是外键所在的表。CLASS表的下拉框中选择CLASSID列。STUDENT表的下拉框中也选择CLASSID列。因为我们要让这两个表之间通过CLASSID建立起关系“创建中检查现有数据”是指是否检查已经存在的记录。“级联删除相关的记录”如果一个班级不存在了,则系统会自动删除所有学生记录。“级联更新相关的记录”指现STUDENT中一有个学生属于2班,但现在CLASS中的2班的CLASSID改为4了,则STUDENT中相应记录的值也会改为4。点击关闭,回到设计视图中保存,则提示两个表都要保存,而我们只对一个表进行了更改,这说明我们已经在它们之间建立了一种联系。我们保存。
 
 
下面我们就来创建一个数据库关系图,并且让大家学会使用数据库关系图来做一些常用的事情。打开SSMS图形界面中的DUFEI数据库并且打开它,选中其中的关系图节点,在右侧的区域中点击鼠标右键,在弹出的快捷菜单中选中新建数据库关系图,打开新建数据库关系图向导,通过欢迎向导我们看到,可以新建一个向导并在其中添加表。还能够根据这个表自动添加一些相关的表。并且系统能将这些表自动排列在关系图中。下一步继续,出现要选择的表的窗口中。在这个窗口中有两个列表,左边的是可用的表,右边的显示的是可以添加到关系图中的表。如第一个表人事表,公司表。在左边表的下方,有个“自动添加相关的表的选项”这个复选框有什么作用呢?当我们在人事表和公司表之间建立了一个外键链接之后,这两个表就成为互相关链的表了。对不对?在我们建立关系图的时候,这两个表就自然少不了联系?极有可能,我们把一个表加到关系图中后,另一个表也会被增加到关系图中,在这种情况下我们就可以选个这个复选项。再选中人事表,添加到关系图中,果然公司表也被自动添加进来了。单击下一步,完成。这时候我们看到了系统自动把人事表和公司表加到了关系图中,并进行了排列,使它们看起来更清楚,完成之后,我们还可以用鼠标选中它们,调整它们的位置。在关系图中每个表都被图形化了,我们看到人事表和公司表都是以一个方框的形式显示出来,并且它们之间还通过了一条链进行了链接,它们的每一列的名称也被显示了出来,是不是。我们也可以进行更改,这个更改就是直接改了这个表的列名,而不是仅仅局限于关系图中。进行更改操作,然后到表中验证。
在选中它们之间的一条链,看看链的属性。这个链就是我们刚刚建立的。两端不一样,钥匙
的一端与CLASS接触,说明这是主键,另一端无穷大,说明是外键,右键“属性”又打开了我们曾经用过的关系窗口。
 
上面的内容可以用部门表,员工表,领导表来进行讲解!
在关系数据库中,关系能防止冗余的数据。如多个员工同属于一个部门中。是不是每个员工都要把部门信息描述一次,这就将造成数据的重复吧!设置好表间关系后只需要一个指针就能引用相关的信息。通常用一对多的关系!
 
如果选中对 INSERT  UPDATE 强制关系 当对外键表插入、更新记录时会检查主键值是否正确,如果在主键表中没有相应的主键值则禁止操作。
级联更新相关的字段:无论何时更新主键值,都指示自动更新该关系的外键值
级联删除相关的记录:指从主键表里删除记录时会从外键表中删除相关的记录
 




 本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/80755,如需转载请自行联系原作者

 
 
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
4天前
|
数据库 Windows
SqlServer数据恢复—SqlServer数据库所在分区损坏的数据恢复案例
一块硬盘上存放的SqlServer数据库,windows server操作系统+NTFS文件系统。由于误操作导致分区损坏,需要恢复硬盘里的SqlServer数据库数据。
|
25天前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
65 11
|
2月前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
1月前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
1月前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
2月前
|
SQL 关系型数据库 MySQL
体验使用DAS实现数据库SQL优化,完成任务可得羊羔绒加厚坐垫!
本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。完成任务,即可领取羊羔绒加厚坐垫,限量500个,先到先得。
200 12
|
2月前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
2月前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
2月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
2月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
125 1