4.4 数据库关系图的创建和管理
SQL Server中的关系是表之间的关联,在使用数据库关系图工具可以快速简便地完成表之间的关联。在数据库关联图中,两个相互之间关联的表之间由一根线连接,如果是强制表之间的参照完整性,则关系线在关系图中以一根实线表示,如果INSERT和UPDATE事务不参加强制参照完整性,则以虚线表示。关系先的终结点显示一个主键符号以表示主键到外键的关系,或者显示一个无穷符号,表示一对多关系的外键。
4.4.1 使用SSMS创建数据库关系图
【例4.13】创建成绩管理数据库AMDB中student和class两个参照表之间的数据库关系图。
具体操作步骤如下:
(1)在“对象资源管理器”中,依次展开“服务器实例”→“数据库”→“AMDB”→“数据库关系图”。
(2)右击数据库的“数据库关系图”结点,在弹出的快捷菜单中选择“新建数据库关系图”命令,如图4.18所示。
(3)在弹出的“添加表”对话框中,选择所需要的表student和class,如图4.19所示,单击“添加”按钮,完成表的添加。
图4.18 “新建数据库关系图”命令
图4.19 “添加表”对话框
(4)所选择的表将以图形方式显示在新建的数据库关系图中,由于在前面设置了这两个表的参照完整性,因此它们之间由关联线连接,如图4.20所示。
图4.20 关系图
(5)单击“保存”按钮,在“选择名称”对话框中输入关系图的名字“gx-1”,单击“确定”按钮,完成关系图的创建。
4.4.2 使用SSMS修改数据库关系图
【例4.14】修改成绩管理数据库AMDB中数据库关系图gx-1,将其他三个表也加入进来,并添加合适的关联。
具体操作步骤如下:
(1)在“对象资源管理器”中,依次展开“服务器实例”→“数据库”→“AMDB”→“数据库关系图”。
(2)双击“gx-1”关系图,即可打开该关系图。
(3)在关系图空白处右击,在弹出的快捷菜单中选择“添加表”命令,选择“teacher”表、“course”表和“score”表,将这三个表添加进关系图。
(4)在关系图上,单击student表中的stu_no字段,拖动到鼠标到course表,在弹出的表和列对话框中,设置正的主键和外键字段即可,如图4.21所示。
图4.21 “表和列”对话框
(5)参照步骤(4),依次设置course表和score表之间的关联(course表的course字段为PK,core表的course_no为FK)和teacher表和score主键的关联(teacher表的t_no字段为PK,score表的t_no为FK),如图4.22所示。
图4.22 修改后的关系图
(6)如果需要修改关联,右击需要修改的关联线,在弹出的快捷菜单中选择“属性”命令,在打开的“属性”面板中进行修改即可,如图4.23所示。
(7)如果需要删除关联,右击需要修改的关联线,在弹出的快捷菜单中选择“从数据库中删除关系”命令,确认后即可删除该关联。
4.4.3 使用SSMS删除数据库关系图
(1)在“对象资源管理器”中,依次展开“服务器实例”→“数据库”→进行关系图删除的数据库→“数据库关系图”。
(2)右击要删除的数据库关系图,在弹出的快捷菜单中选择“删除”命令。
(3)此时会显示一条信息,提示用户确认删除,选择“是”,则删除此数据库关系图。
在删除数据库关系图时,关系图中的数据表以及表之间的关联并不会被删除。
图4.23 关系图“属性”面板