④ 选择(Selection)。
从一个关系中找出满足条件的记录的操作称为选择。选择是从原来的表中选出某些符合条件的行,其结果是原关系的一个子集。例如,从表1-1所示的“教师”表中选择所有男教师的记录,结果如表1-5所示。
表1-5 选择运算
⑤ 投影(Projection)。
从一个关系中选出若干个字段组成新的关系称为投影。投影是从原来的表中选出某些列(或全部)组成新表,相当于对关系进行垂直分解。新关系的关系模式所包含的字段个数通常比原关系的字段个数少,或者字段的排列顺序不同。例如,从表1-1所示的“教师”表中找出所有教师的教工号、姓名和性别,结果如表1-6所示。
表1-6 投影运算
⑥ 联接(Join)。
联接是指把两个关系中字段满足一定条件的记录横向结合,组成一个新的关系。新关系中包含满足联接条件的记录。
在联接操作中,以两个关系的字段值对应相等为条件进行的联接称为等值联接(Equal Join)。去掉重复字段的等值联接称为自然联接(Natural Join),它利用两个关系中的公共字段(或语义相同的字段),把该字段值相等的记录联接起来。自然联接是常用的联接运算。例如,将表1-1中的“授课”表和“教师”表进行自然联接,结果如表1-7所示。
表1-7 联接运算
(4)关系规范化。
关系型数据库中的关系是要满足一定要求的,满足一定要求的关系模式称为范式(Normal Form,NF)。满足最低要求的关系模式称为第一范式(1NF)。在第一范式中进一步满足一些要求的关系模式称为第二范式(2NF),还有第三范式(3NF)、BC 范式(BCNF)、第四范式(4NF)和第五范式(5NF)。
在关系型数据库中,任何一个关系模式都必须满足第一范式,即表中的每个字段必须是不可分割的数据项(表中不能再包含表)。然而满足第一范式的关系并不是最好的关系,仍然存在不少缺点,如数据冗余太多,有必要对其进行分解使之满足更高的范式。将一个低级范式的关系模式通过投影运算分解为若干个高级范式的关系模式的集合,这种过程称为规范化。
关系规范化可以避免大量的数据冗余、节省存储空间、保持数据的一致性。但由于信息被存储在不同的关系中,在一定程度上增加了操作的难度。
(5)关系的完整性。
为了保证数据库中的数据与现实世界中的数据一致,需要对关系模型中的关系施加完整性约束条件,以保证数据的正确性、有效性和相容性。关系模型中有以下3类完整性约束。
① 实体完整性。
因为现实世界中的每一个实体都是可以区分的,实体完整性规则要求关系中的主键不能取空值或重复的值。所谓空值就是“不知道”或“无意义”的值。
例如,在“教师”表中,“教工号”为主键,“教工号”字段就不能取空值,也不能有重复值。在“授课”表中,“教工号”和“课程号”构成主键,这两个字段都不能取空值,也不允许该表中任何两条记录的教工号和课程号的值完全相同。
② 参照完整性。
参照完整性规则要求“不允许参照不存在的实体”,即外键或者取空值,或者等于相应关系中主键的某个值。
例如,“授课”表中的“课程号”是“课程”表的主键,是“授课”表的外键,“授课”表中的“系号”字段只能取空值(表示教师未授某门课程),或者取“课程”表中已有的一个课程号值(表示教师已授某门课程)。
③ 用户定义的完整性。
实体完整性和参照完整性是关系模型必须满足的完整性约束条件,它们由系统自动支持。此外,用户还可以根据某一个具体应用所涉及的数据必须满足语义的要求,自定义完整性约束,这类完整性又被称为域完整性。
例如,在“课程”表中,如果要求学分最少2分,最多5分,用户就可以在表中定义学分字段为整数型数据,取值范围为2分~5分。
1.2 Access 2016 基础
1.2.1 Access 2016 的特点
Access 2016是Microsoft Office 2016办公系统应用软件系列中的一个关系型数据库管理软件。在许多企业的办公自动化系统中常作为一个前后台结合的小型数据库管理系统使用,或者作为各种信息管理系统中的小型后台数据库使用。
Access 2016的主要特点如下。
(1)Access 2016是Microsoft Office 2016组件中的一个数据库管理软件,与Word 2016、Excel 2016和PowerPoint 2016 等应用软件具有统一的操作界面,并可以共享数据。
(2)使用方便,数据库对象中的表、查询、窗体、报表都提供了“向导”和“设计器”两种创建方式,用户几乎不必做任何的VBA和SQL编程工作就可以设计界面美观的应用系统。同时用户在使用中可以通过4种方式查询帮助信息。
(3)Access 2016增强了安全机制,降低受到恶意攻击带来的风险。
(4)Access 2016增强了与XML之间的转换功能,可以更加方便地共享跨越各种平台和不同用户级别的数据,还可以作为企业级后端数据库的前台客户端。
(5)Access 2016内置了大量函数,提供许多宏命令,用户一般不必编写代码就可以解决许多问题。
(6)Access 2016内置编程语言Visual Basic(VB),该编程语言提供了使用方便的开发环境VBA窗口,与独立Visual Basic语言在语法和使用上兼容。VBA极地加强了 Access 2016的应用系统开发功能。
1.2.2 Access 2016 的启动与退出
1.启动Access 2016
(1)单击“开始”菜单,选择“所有程序”中的“Access 2016”命令,如图1-6所示。