任务引入 [4分钟]
请同学们回忆在设计关系时定义了哪些主键? 引导学生思考:
学生浏览相关资料
有的关系中的某些字段是需要参考另外一个关系中的主键,
布置任务 [4分钟] 任务实施 [45分钟]
相关知识 [34分钟]
怎样在MySQL中实现这些?
任务:正确设置相关表的主键、外键等约束,部分实现表的数据完整性。
实施步骤:
1.教师将学生分组,每个小组经商讨后,进一步明确需在表中实现的数据完整性。
2.小组成员先尝试实现主键约束;再尝试实现外键约束、UNQUE约束、CHECK约束、默认值等。 3.学生访问参考网址,自行搜索所需资料:
http://www.daodoc.com http://www.daodoc.com ……
4.在实现过程中,教师提示引导同学们参考教材,最后整理设计结果并形成文件,上交到指定位置。 相关知识
二、数据的完整性
数据库完整性就是确保数据库中数据的一致性和正确性。MySQL通过各种约束、默认值、规则等数据库对象来保证数据库的完整性。
1.约束
(1)PRIMARY KEY约束
表的一列或多列称为表的主键,通过它可强制表的实体完整性。
教师引导
学生分组
学生讨论
主键是在创建表时进行创建的,添加到表中还没有创建主键 约束的数据表中,一个表只能有一个PRIMARY KEY约束。如 果已经创建了一个PRIMARY KEY约束,则可以对其进行修改或删除。在一个表中,不能有两行包含相同的主键值。不能在主键内的任何列中输入NULL值。
(2)FOREIGN KEY约束
FOREIGN KEY约束标识表之间的关系,用于强制参照完整性,为表中一列或者多列数据提供参照完整性。
FOREIGN KEY作为表定义的一部分在创建表时创建。如果FOREIGN KEY约束与另一个表(或同一表)已有的PRIMARY KEY约束或UNQUE约束相关联,则可向现有表添加FOREIGN KEY约束。一个表可以有多个FOREIGN KEY约束。可以对已有的FOREIGN KEY约束进行修改或删除。
(3)UNQUE约束
实施实体完整性。确保在非主键列中不输入重复的值。想要强制一列或多列组合的唯一性时使用该约束而不是PRIMARY KEY约束,可以对一个表声明多个UNIQUE约束,且允许NULL值。
(4)CHECK约束
CHECK约束通过限制用户输入的值来加强域完整性。它指定应用于列中输入的所有值的布乐搜索条件,拒绝所有不取值为TRUE的值。可以为每列指定多个CHECK约束。
(5)列约束和表约束
约束可以是列约束和表约束。列约束被定为列定义的一部分,并且仅适用于那个列,表约束的声明与列的定义无关,可以适用于表中一个以上的列。当一个约束中必须包含一个以上的列时,必须使用表约束。
2.默认值
在设计表结构时可根据需要为某列设置默认值,也可以创建默认值对象并绑定到某一列。
小结 [3分钟]
本次课我们了解了B2C网站应该具有的会员在线订购功能及流程,并且设计了结构合理的数据表,存储相关信息。