内容正文:
学易同步精品课堂
第2章 构建关系数据库
粤教版 信息技术(高中)
第3.5节 建立数据表间的关系
(选修4)
教学用的是access 2010!!!!!
1
课堂导入
作品编号
n
1
所在
地址
联系电话
电子邮箱
学校名称
参赛学校
1
n
作品得分
获奖等级
参赛
作品链接
作品名称
作品类别
作品大小
选手编号
姓名
学段
电子邮箱
性别
参赛选手
参赛作品
回忆:
E-R图中“联系”的作用是什么?
回忆:
建立数据模型时,E-R图中“联系”如何转换成二维表?
联系类型 位置 关系的属性
1:1 任一端 对方的主键+联系的属性
1:n n 端 1端的主键+联系的属性
m:n 建新表 两端的主键+联系的属性
思考:
对于1:n联系,在建立数据模型后,应该总共有几个表?这些表间有没有公共字段?公共字段是哪个?
1:n n 端 1端的主键+联系的属性
(主键)
(外键)
(主键)
(外键)
公共字段,是两个表间联系的“纽带”。
活动1
1. 在“中小学信息技术大赛.mdb”中,查看“郑昱琪”同学所提交作品的名称。
作品名称是( ),查看时借助于“参赛选手表”和“参赛作品表”两个表的公共字段( )。该字段在“参赛选手表”中称为( ),在“参赛作品表”中称为( )。
2. “参赛学校表”中 “学校名称”字段更改“北斗小学”为“北斗中学”,观察“参赛选手表”中“北斗小学”是否能随机应变同步更新呢?
3. “参赛学校表”中,将“北斗中学”改回成“北斗小学”(后续还要用原始数据哈)
表间联系引发的那些事儿
三个和尚没水喝
选手编号
主键
外键
2
新课教学
参赛选手
参赛学校
所在
参赛选手
参赛作品
参赛
n
1
1
n
“参赛选手表”中的学校一定是不能多于“参赛学校表”中的学校的。
“参赛作品表”中的选手一定是不能多于“参赛选手表”中的选手的。
(主表)
(相关表)
(主表)
(相关表)
关于联系
关系数据库是一般是由多个二维表组成的。但各个数据表间的数据是相对独立的,不便于查找和修改。所以需要建立数据表间的联系。
实体联系:不同实体集间的联系
数据模型:不同二维表中记录间的联系,这种联系在操作数据表时候要体现出来就需要建立表间联系了。
1. 实体联系(E-R图)
2. 数据模型(二维表)
3. 表间联系
活动2
1. 在“中小学信息技术大赛”数据库中,创建“参赛选手表”、“参赛学校表”、“参赛作品表”之间的联系。
操作提示:
教材P36操作。
2. 用表视图方式打开“参赛学校表”、 “参赛选手表”,观察每条记录前是否多了一个符号?单击此符号看看有什么变化?
如何建立数据表间的联系
思考:
你觉得在创建联系的时候有需要注意的地方吗?
创建表间联系前,必须关闭所有打开的数据表!!
体验表间关系(参照完整性)
活动3
1. 偿试修改“参赛学校表”中“北斗小学”为 “北斗中学”,可行吗?看到了什么提示信息?
2. 偿试删除“参赛选手表”,选手编号为“1001”的记录,可行吗?看到了什么提示信息?
参照完整性释疑
1. 不允许随便删除主表中的关键字值。
2. 不允许随便修改主表中的关键字值。
3. 在相关表中插入记录,主表中一定要有相对应的关键字值。
防止出现孤立记录,保证各表中数据的一致性!
思考:
希望实现主表和相关表的同步修改和级联删除可以吗?P37图2-22
修改表间联系
活动4
尝试修改“参赛选手表”、“参赛学校表”、“参赛作品表”之间的联系,以实现级联更新和级联删除。
编辑关系的操作方法是:在“关系”窗口中找到需要编辑的关系,双击该关系线,或者选中关系线后右击,在快捷菜单中选择“编辑关系”命令,即可打开“编辑关系”对话框。
体验级联更新、级联删除
活动5
1. 尝试修改“参赛学校表”中“北斗小学”为 “北斗中学”,可行吗?( )
2. 查看相关表“参赛选手表”中“北斗小学”随机应变同步更新了吗?( )
3. 偿试删除“参赛选手表”,选手编号为“1001”的记录,可行吗? ( )你看到了什么提示信息?
4. 看看“选手作品表”中还有编号为“1001”选手的作品信息吗? ( )
级联更新:
级联删除:
主表的主键字段更改时,相关表关联字段的值也同步更新。
删除主表的某个记录时,相关表与之对应记录将同步删除。
相关表会“随机应变”!!!
主表的变化(修改主键值;删除记录)
删除表间联系
活动6
尝试删除“参赛选手表”、“参赛学校表”、“参赛作品表”之间的联系。
删除关系的操作方法是:选中关系线后右击,在快捷菜单中选择“删除”命令,或者按Delete键。
3
巩固练习
1. 要求在主表更新主键值时,在相关表自动更新关联字段,则应该在表关系中设置( )
A. 有效性规则 B. 默认值
C