数据库及其应用是计算机科学中的一个重要分支。从最初简单的人工管理数据的方式到当前各种先进的数据库系统,数据管理技术发生了翻天覆地的变化。特别是数据库技术的应用非常广泛,以至于在计算机应用领域中都使用了数据库。目前,许多企业的业务开展都离不开数据库,如银行业务、证券业务、飞机订票业务、火车订票业务、超市业务、电子商务等。如果支持这些业务的数据库出现问题,那么相关的业务将无法正常运行。
本章主要介绍数据库系统概述、关系型数据库、Access 2016的特点、Access 2016的功能区等,希望读者尽快对Access 2016有一个整体认识,为后面章节的学习奠定基础。
本章重点:
◎ 初识数据管理基础
◎ 初识Access 2016基础
1.1 数据管理基础 1.1.1 数据与数据处理自从世界上第一台电子数字计算机(以下简称计算机)诞生以来,数据管理经历了从较为低级的人工管理到先进的数据库、数据仓库、数据挖掘的演变。
1.数据
数据是存储在某一种媒介(如计算机)上能够被识别的物理符号。也可以说,数据是描述事物的符号记录,如“庐山”“160”。数据不仅可以包括数字、字母、文字和其他特殊字符组成的文本形式,还可以包括图像、图形、影像、声音、动画等多媒体形式,它们经过数字化后可以存入计算机。本书涉及的数据类型有3种。
(1)数值型数据。
客观事物的定量表达。例如,某个人的身高、证券指数、某日大米的价格等。数值型数据可以进行数学计算。
(2)文本型数据。
客观事物的定性表达。例如,某个人的姓名、履历等。需要注意的是,文本型数据除了有文字符号,还可以有数字符号。
(3)多媒体型数据。
客观事物的形象化表达。例如,某个人的照片、某个风景区的视频、某首歌曲的声音等。
当然,这些数据都是经过数字化而被计算机所接受的。
2.数据处理
数据处理是把数据加工处理成为信息的过程。信息是数据根据需要进行加工处理后得到的结果。信息对于数据接收者来说是有意义的。例如,“庐山”“160”只是单纯的数据,没有具体意义,而“旅游景点庐山的门票价格是160元”就是一条有意义的信息。
1.1.2 数据管理技术计算机数据管理是指利用计算机对数据进行分类、组织、编码、存储、检索和维护,是数据处理的核心技术。与其他技术一样,随着计算机硬件和软件技术的发展,计算机数据管理技术也大致经历了从低级到高级的发展阶段。
1.人工管理
在 20 世纪 50 年代中期以前,计算机主要用于数值计算。当时计算机的计算能力十分有限。硬件方面没有能够直接存取大量数据的存储设备,软件方面没有操作系统和相应的数据管理软件,同时数值计算的数据量小,数据也不需要保存,程序运行结束就随之撤销。因此,数据由应用程序直接处理,数据的输入/输出格式、访问方式等都在应用程序中设定。数据依赖特定的应用程序,缺乏与应用程序之间的相对独立性、程序之间的数据共享性。数据处理采用了批处理方式,人工管理阶段数据与应用程序之间的关系如图1-1所示。
图1-1 人工管理阶段数据与应用程序之间的关系
2.文件系统
20世纪50年代后期到20世纪60年代中期,计算机的计算能力有了很大的发展,硬件方面已经有了能够直接存取大量数据的存储设备,软件方面出现了高级语言和操作系统,外存(外部存储器)中的数据由操作系统中的文件系统负责管理。因为有了文件系统,可以把数据和应用程序分开,应用程序存储在程序文件中,数据存储在独立的数据文件中,它们分别进行单独管理。计算机的应用范围逐渐扩大,计算机不仅用于科学计算,还大量用于数据管理。这个阶段称为文件系统阶段,数据和应用程序之间的关系如图1-2所示。
图1-2 文件系统管理阶段数据和应用程序之间的关系
文件系统管理阶段的最大优点就是开始实现了数据与应用程序的分离,数据存储在数据文件中,保存在外存中,可以重复使用。数据文件是由一条条记录组成的。一条记录是一些数据项的集合,如学生信息管理中的一条记录是学号、姓名、性别、年龄、家庭住址等数据项的集合。所有学生的记录就构成一个学生信息文件。用户使用文件名访问文件,对文件中的记录进行存取,不必考虑数据的物理存储。但是一个或一组数据文件基本对应一个应用程序,数据文件之间没有联系,一个数据往往重复出现在几个数据文件中,数据的共享性低、冗余度大、独立性差。
3.数据库系统
20世纪 60年代后期,计算机应用越来越广泛,管理的数据量急剧增长,管理规模越来越大,同时多应用、多用户共享数据的需求越来越大。文件系统已经解决不了所出现的问题,需要统一的数据处理中心来管理庞大的数据,向多应用系统提供数据服务,于是出现了专门的数据管理软件系统——数据库系统。数据库系统管理阶段数据与应用程序之间的关系如图1-3所示。
图1-3 数据库系统管理阶段数据与应用程序之间的关系
数据库系统管理是由数据库管理系统统一管理数据,数据库管理系统负责数据库的创建和维护、数据的查询和更新(插入、删除、修改)操作,并提供数据保护和控制功能,形成数据处理中心。数据以数据库文件组织形式长期保存,应用程序与数据的逻辑结构和物理存储结构无关,数据具有较高的逻辑独立性和物理独立性。数据库中数据是有结构的,根据数据库管理系统所支持的数学模型决定其结构形式。
数据库系统中的数据不再只是为某一应用系统所使用,而是采用面向全局的观点组织起来,为多个应用系统所使用。例如,一所学校往往包括多个应用系统,如学籍管理系统、教学管理系统,输入学生记录不仅使用学籍管理系统,还要使用教学管理系统等。因此,数据库不仅包括数据本身,而且包括数据之间的联系。数据库中的数据能够满足多用户、多应用的不同需求。数据的共享性高、冗余度小。节约存储空间可以避免数据之间的不相容性与不一致性。
4.分布式数据库系统
分布式数据库是数据库技术与网络技术相结合的产物。随着传统的数据库技术日趋成熟,以及计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上,这时集中式数据库系统表现出它的不足之处,数据按实际需要已在网络上分布存储,再采用集中式处理,势必会出现通信开销大的情况;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统都会受到影响,可靠性不高;集中式处理导致系统的规模和配置都不够灵活,系统的可扩充性差。在这种形势下,集中式数据库的“集中计算”开始向“分布计算”发展。
分布式数据库系统有两种:一种在物理上是分布的,但逻辑上却是集中的;另一种在物理上和逻辑上都是分布的,也就是联邦式分布数据库系统。
5.面向对象数据库系统
将面向对象技术与数据库技术结合产生面向对象的数据库系统,是数据库应用发展的迫切需要,也是面向对象技术和数据库技术发展的必然结果。
面向对象的数据库系统必须支持面向对象的数据模型,具有面向对象的特性。一个面向对象的数据模型是用面向对象的观点来描述现实世界实体的逻辑组织、对象之间的限制和联系的。
另外,将面向对象技术应用到数据库应用开发工具中,使数据库应用开发工具能够支持面向对象的开发方法并提供相应的开发手段,对于提高数据库应用开发效率及增强数据库应用系统界面的友好性、可伸缩性、可扩充性等具有重要的意义。
6.数据仓库
随着客户机服务器技术的成熟和并行数据库的发展,信息处理技术实现了从大量的事务型数据库中抽取数据,并将其清理、转换为新的存储格式的过程,即为决策目标把数据聚合在一种特殊的格式中。随着此过程的发展和完善,这种支持决策的、特殊的数据存储被称为数据仓库(Data Warehouse)。数据仓库是支持管理决策过程的、面向主题的、集成的、稳定的、随时间变化的数据集合。
7.数据挖掘
数据挖掘(Data Mining)又被称为数据库中的知识发现(Knowledge Discovery in DataBase),它是一个从数据库中获取有效的、新颖的、潜在有用的、最终可理解的知识的复杂过程。简单来说,数据挖掘就是从大量数据中提取或挖掘知识。
数据挖掘和数据仓库的协同工作,一方面可以迎合和简化数据挖掘过程中的重要步骤,提高数据挖掘的效率和能力,确保数据挖掘过程中数据来源的广泛性和完整性;另一方面,数据挖掘技术已经成为数据仓库应用中极为重要和相对独立的工具。
8.大数据
大数据(Big Data)又被称为巨量数据、海量数据、大资料,是指所涉及的数据量规模巨大,很难通过人工在合理时间内达到截取、管理、处理并整理成为人们所能解读的信息。一般认为,大数据具有4V特点,即Volume(数据量大)、Variety(数据多样性)、Velocity(处理速度快)、Value(价值)。
大数据的 4V 特点具有 4 个层面的含义。第一,数据量大,从 TB 级别跃升到 PB 级别(1PB=1024TB),或者从PB级别跃升到EB级别(1EB=1024PB);第二,数据多样性,如网络日志、视频、图片、地理位置信息等;第三,处理速度快,1秒定律(要在秒级时间范围内给出分析结果,超出这个时间,数据就失去了价值),可从各种类型的数据中快速获取高价值的信息;第四,只要合理利用数据并对其进行正确、准确的分析,将会带来很高的价值回报。
对大数据而言,通过云计算技术、分布式处理技术、存储技术和感知技术的发展,这些原本很难收集和使用的数据开始容易被利用起来,通过各行各业的不断创新,大数据会逐步为人类创造更多的价值。
1.1.3 数据库系统概述数据库系统(DataBase System,DBS)是指引入数据库技术后的计算机系统。数据库系统实际上是一个集合体,一般由计算机硬件系统、数据库、数据库管理系统及其相关的软件、数据库应用系统、数据库管理员和用户组成。
1.数据库
数据库(DataBase,DB)是长期存储在计算机内,有组织的、可共享的、统一管理的相关数据的集合。数据库中的数据按一定的数据模型进行组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性。数据库中不仅包括描述事物的数据本身,而且包括相关事物之间的关系。
数据库中的数据不仅面向某一种特定的应用,还面向多种应用,可以被多个用户、多个应用程序共享。
例如,某企业的数据库,可以被该企业下属的各个部门的有关管理人员共享使用,而且可供各个管理人员运行的不同应用程序共享使用。当然,为了保障数据库安全,对于使用数据库的用户应该有相应权限的限制。
2.数据库管理系统
数据库管理系统(DataBase Management System,DBMS)是数据库系统的核心软件,其主要任务是支持用户对数据库的基本操作,对数据库的创建、运行和维护进行统一管理和控制。
注意:用户不能直接接触数据库,而只能通过数据库管理系统来操作数据库。
数据库管理系统的主要功能包括以下几个方面。
(1)数据定义功能。
数据库管理系统提供了数据定义语言(Data Description Language,DDL)供用户定义数据库的结构、数据之间的联系等。
(2)数据操纵功能。
数据库管理系统提供了数据操纵语言(Data Manipulation Language,DML)完成用户对数据库提出的各种操作要求,以实现对数据库的插入、修改、删除、检索等基本操作。
(3)数据库运行控制功能。
数据库管理系统提供了数据控制语言(Data Control Language,DCL)实现对数据库进行并发控制、安全性检查、完整性约束条件的检查等功能。它们在数据库运行过程中监视数据库的各种操作,控制管理数据库资源,处理多用户的并发操作等。
(4)数据库维护功能。
数据库管理系统还提供了一些实用程序,用于对已经创建好的数据库进行维护,包括数据库的转储与恢复、数据库的重组与重构、数据库性能的监视与分析等。
(5)数据通信功能。
数据库管理系统还提供了与通信有关的实用程序,以实现网络环境下的数据通信功能。
3.数据库管理员
数据库管理员(DataBase Administrator,DBA)是负责数据库的创建、使用和维护的专门人员。
4.数据库应用系统
数据库应用系统是利用数据库系统资源,为特定应用环境开发的应用软件,如学籍管理系统、教务管理系统、财务管理系统、图书管理系统等。
5.数据库系统的组成
数据库系统是指引入数据库技术后的计算机系统,数据库系统实际上是一个集合体,通常包括以下几部分。
(1)数据库。
(2)数据库管理系统及其相关软件。
(3)数据库应用系统。
(4)计算机硬件系统。
(5)数据库管理员。
(6)用户。
数据库系统各部分之间的关系如图1-4所示。
图1-4 数据库系统各部分之间的关系
1.1.4 关系型数据库数据库技术发展至今已经有 50多年,主要按照数据模型的发展而演变,经历了层次和网状数据库系统、关系型数据库系统、面向对象数据库系统。基于层次模型(Hierarchical Model)、网状模型(Network Model)的层次和网状数据库系统构成早期的数据库产品,基于关系模型(Relational Model)的关系数据库系统当前被大量使用,如Access 2016就是基于关系模型的关系型数据库管理系统。基于面向对象模型(Object Oriented Model)的数据库系统现阶段商业化程度还不够高,大多处在实验研究阶段,有待成熟。
1.实体联系模型
在创建一个数据库应用系统之前,先要搞清楚用户需要从数据库得到什么?从而决定数据库中要存储哪些数据及如何存储这些数据。要解决这个问题,需要分析理解现实世界中的客观事物,对它某一方面的客观属性进行描述,如描述某个学生,总是用他的姓名、性别、年龄、籍贯、家庭住址、家庭成员等属性来反映他的客观存在。这样,人的认识从客观世界(现实世界)进入了概念世界(信息世界)。下一步就断定数据库存储的学生记录中需要有姓名、性别、年龄、籍贯、家庭住址、家庭成员等字段,这就进入了数据世界(计算机世界)。上述的分析过程只是一种近似的描述,在数据库技术领域,使用严格的数学模型工具完成相应的工作。实体联系模型(Entity Relationship,E-R)就是一种描述信息世界的模型,它只描述用户所关心的信息结构,而不涉及信息在计算机中的表示,是一种与任何计算机系统无关的“概念数据模型”,是用户与数据库设计人员之间进行交流的工具。
E-R模型中常用到实体、实体集、属性、码、域、联系和E-R图,它们的概念如下。
(1)实体(Entity)。
客观存在并可相互区别的事物被称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,一个学生、一所院校、学生与院校的就学关系等都是实体。同一个事物在不同的场合可以是不同的实体。例如,小张在学校是学生,在家庭是子女。
(2)实体集(Entity Set)。
同一类型的实体的集合构成实体集。例如,全体学生就是一个实体集。
(3)属性(Attribute)。
实体在某一方面的特性被称为属性,一个实体可以由若干个属性来刻画。例如,学生实体的学号、姓名、性别、出生日期、所在院系等属性表示了学生实体的5个方面的特性。实体名和各个属性名的集合构成实体型。例如,学生(学号,姓名,性别,出生日期,所在院部)就是一个实体型,(200610201,李建,男,1988/6/6,音乐学院)就是学生实体型的一个实体。
(4)码(Key)。
能唯一表示每个实体的属性集合被称为码(关键字)。例如,在学生实体中的学号。而姓名则不是,因为可能出现重名。
(5)域(Domain)。
属性的取值范围被称为该属性的域。例如,学号的域是 8 位正整数,性别的域为(男、女),姓名的域为8个字符串集合。
(6)联系(Relationship)。
现实世界的事物之间总是存在某种联系的,任何实体都不可能孤立存在,实体的联系包括实体内部的联系(通常指组成实体的各属性之间的联系)和实体之间的联系。
两个实体之间的联系可分为以下3类。
① 一对一联系(1∶1)。
如果实体集A中的每一个实体仅对应实体集B中最多一个(也可以没有)实体,反之亦然,则称实体集A与实体集B具有一对一联系,记为1∶1。例如,一夫一妻制下的丈夫与妻子、公民与身份证、学生与学号等。
② 一对多联系(1∶n)。
如果实体集A中的每一个实体与实体集B中一个以上的实体对应;反之,对实体集B中的每一个实体,实体集A中最多只有一个实体与之对应,则称实体集A与实体集B具有一对多联系,记为 1∶n。例如,班级与学生、学校与院系、工厂与车间、国家与省份、省份与县市等。
③ 多对多联系(m∶n)。
如果实体集A中的每一个实体与实体集B中一个以上的实体对应;反之,实体集B中的每一个实体也与实体集 A 中一个以上的实体对应,则称实体集 A 与实体集 B 具有多对多联系,记为n∶m。例如,一个学生可以同时选择多门课程,一门课程可以供多个学生选择,所以学生与课程之间就具有多对多联系。
(7)E-R图。
E-R图提供了表示实体、属性和联系的图示方法,是由P.P.S Chen 于1976年提出的,用于描述客观世界的概念模型。
① 矩形表示实体型,矩形框内为实体名。
② 椭圆形表示属性,椭圆形框内为属性名,并用无向边将其与实体连接。
③ 菱形表示联系,菱形框内为联系名,并用无向边分别与有关实体型连接,同时注明联系类型(1∶1、1∶n或m∶n)。如果联系有属性,则要用无向边与该联系连接起来。
图1-5所示为某高校教师教学情况的E-R图。
图1-5 某高校教师教学情况的E-R图
学校有若干个系部,每个系部有若干个教师。每个教师可讲授多门课程。本教学实体涉及“系部”“教师”“课程”3 个实体,系部与教师之间的“隶属”关系为一对多的联系,教师与课程之间的“授课”关系为多对多的联系。假设“系部”实体的属性有系号、系名和系主任,“教师”实体的属性有教工号、姓名和性别,“课程”实体的属性有课程号、课程名和学分,“授课”联系的属性是次数。
2.关系模型
使用 E-R 图将客观世界抽象为概念世界以后,还要再将概念世界转换为机器世界,这时需要使用数据模型。数据模型主要有层次模型、网状模型、关系模型和面向对象模型。其中,关系模型是Access 数据库管理系统所使用的。
利用二维表结构来表示实体联系的数据模型被称为关系模型。关系数据模型以关系数学理论为基础,一个关系对应一个二维表。直观上无论是实体还是实体之间的联系都使用关系(一个二维表)来表示。例如,教师、课程、教师与课程之间的“授课”联系都使用关系来表示,如表1-1所示。
表1-1 “教师”关系
“授课”关系
“课程”关系
(1)关系术语。
① 关系。
一个关系就是一个二维表,每个关系有一个关系名,又被称为表名(见表1-1)。其中,有“教师”“课程”“讲授”3个关系(表)。在Access中,一个关系就是数据库文件中的一个表,具有一个表名。例如,“教师”表、“课程”表、“授课”表。
② 元组。
表中的一行就是一个元组,又被称为一条记录。在Access中,元组对应数据库文件表中的一条记录。例如,教工号为001、姓名为张晴的记录。
③ 属性。
表中的一列就是一个属性,又被称为一个字段。每个属性有一个属性名。在Access中,一个属性叫作一个字段,每个字段有一个字段名。例如,教工号、姓名、性别、系号等字段。
④ 域。
域是属性的取值范围。例如,“男”或“女”是性别的取值范围,对应的是性别字段的一个域。
⑤ 关系模式。
对关系的描述被称为关系模式,它对应一个关系的结构。写成关系名(属性1,属性2,…,属性n)。
例如,在表1-1中,“教师”表的关系模式为教师(教工号,姓名,性别,系号)。
⑥ 主关键字。
在表中能够唯一标识一条记录的字段或字段组合被称为候选关键字。例如,教工号和系号都是候选关键字。一个表可能有多个候选关键字,从中选择一个作为主关键字,又被称为主键。例如,“教师”表中的“教工号”字段在每条记录中是唯一的,因此教工号就是主键。
⑦ 外部关键字。
如果表A和表B中有公共字段,且该字段在表B中是主键,则该字段在表A中被称为外部关键字或外键。例如,“授课”表和“课程”表中都有“课程号”字段,且“课程号”在“课程”表中是主键,则“课程号”在“授课”表中就是外键。
在关系型数据库中,主键和外键表示了两个表之间的联系。例如,“课程”表和“授课”表中的记录可以通过公共的“课程号”字段相联系,当要查找某名教工号的教师讲授的课程时,可以先在“授课”表中找出该教工号所属的课程号,再到“课程”表中找出该课程号所对应的课程。
(2)关系模型的主要特点。
关系模型对关系有一定的要求,关系模型的主要特点如下。
① 在关系(表)中每一个属性(字段)不可再分,是最基本的单位。就是表中不能再有表。
② 在同一个关系(表)中不能有相同的属性名(字段名)。
③ 在关系(表)中不允许有相同的元组(记录)。
④ 在关系(表)中各属性(字段)的顺序是任意的。
⑤ 在关系(表)中元组(记录)的顺序是任意的。
⑥ 在关系(表)中每一列元素必须是同一类型的数据。
(3)关系运算。
从一个关系或几个关系中查询所需要的数据,就要使用关系运算。关系运算的对象是一个关系,运算结果仍是一个关系。关系的基本运算分为传统的集合运算(并、差、交等)和专门的关系运算(选择、投影和连接)。
① 并(Union)。
假设关系A和B具有相同的关系模式,由两个关系A和B的并产生一个新的关系C,C由A和B去掉重复记录后所有的记录组成。记作C=A∪B,如表 1-2所示。
表1-2 C=A∪B
② 差(Difference)。
假设关系A和B具有相同的关系模式,由两个关系A和B的差产生一个新的关系C,C由属于A但不属于B的记录组成。记作C=A-B,如表 1-3所示。
表1-3 C=A-B
③ 交(Intersection)。
假设关系A和B具有相同的关系模式,由两个关系A和B的差产生一个新的关系C,C由既属于A又属于B的所有记录组成。记作C=A∩B,如表 1-4所示。
表1-4 C=A∩B
④ 选择(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所示。
图1-6 选择“Access 2016”命令
(2)选择“Access 2016”命令,双击“空白桌面数据库”按钮,打开Access 2016工作界面,如图1-7所示。
(3)双击桌面“Microsoft Office Access 2016”图标,双击“空白桌面数据库”按钮,打开Access 2016工作界面。
图1-7 Access 2016工作界面
2.退出Access 2016
(1)单击Access 2016工作界面标题栏右上角的“关闭”按钮。
(2)按Alt+F4组合键。
1.2.3 Access 2016 的工作界面Access 2016的工作界面由标题栏、快速访问工具栏、功能区、导航窗格、工作区和状态栏等几部分组成。
1.标题栏
“标题栏”位于 Access 2016 工作界面的顶端,用于显示当前打开的数据库文件名。在标题栏的右侧有3个按钮,从左到右依次为“最小化”按钮、“最大化”按钮(“还原”按钮)和“关闭”按钮,这是标准Windows应用程序的组成部分,如图 1-8所示。
图1-8 标题栏
2.快速访问工具栏
快速访问工具栏默认位于Access 2016工作界面顶端的左侧,默认有“保存”“撤销”“恢复”3个按钮,如图 1-9所示。
图1-9 快速访问工具栏
3.功能区
功能区是一个带状区域,位于标题栏的下方,它以选项卡的形式将各种相关的功能组合在一起,提供了Access 2016的主要命令,如图1-10所示。
通过Access 2016的功能区,用户可以快速查找所需的命令。例如,创建一个新的表格,可以在“创建”选项卡中找到各种创建表格的方式。
图1-10 功能区
使用这种选项卡式的功能区,可以使各种命令的位置与工作界面更为接近,从而方便了用户的使用。由于在使用数据库过程中,功能区是用户使用最频繁的区域,因此将在后续章节详细介绍功能区。
4.导航窗格
导航窗格位于工作区的左侧,如图 1-11所示,用于显示当前数据库中的各种数据库对象,它取代了Access早期版本中的数据库窗口。导航窗格有两种状态:折叠状态和展开状态。单击导航窗格顶端的按钮或按钮,可以展开或折叠导航窗格。如果需要较大的空间显示数据库,则可以把导航窗格折叠起来。
导航窗格用于对当前数据库的所有对象进行管理。导航窗格显示数据库中的所有对象,并按类别分组。
分组是一种分类管理数据库对象的有效方法。在一个数据库中,如果将某个表绑定到一个窗体、查询和报表,则导航窗格会把这些对象归组在一起。
图1-11 导航窗格
5.工作区
工作区位于导航窗格的右侧,用于显示数据库中的各种对象,在工作区中,可以同时打开多个对象。如图1-12所示,以选项卡的形式显示所打开对象的相应视图。
图1-12 工作区
在工作区中打开的多个对象,除了有“选项卡式文档”的显示方式,还有“重叠窗口”的显示方式,两种显示方式的切换方法为:选择“文件”选项卡中的“选项”命令,打开“Access选项”对话框,选择“Access选项”对话框左侧窗格中的“当前数据库”选项,打开“当前数据库”窗格,在“文档窗口选项”中进行选择切换,如图1-13所示。
注意:本教材第 1章~第 4章、第7章~第 9章的内容均为“选项卡式文档”显示方式,第5章、第6章的内容均为“重叠窗口”显示方式。
图1-13 文档窗口选项
6.状态栏
状态栏位于Access 2016工作界面的底端,用于显示状态信息。状态栏还包含用于切换视图的按钮。图1-14所示为表的“设计视图”中的状态栏。
图1-14 表的“设计视图”中的状态栏
1.2.4 Backstage视图在启动 Access 2016 之后但未打开数据库时,显示为 Backstage 视图,如图 1-15 所示。Backstage视图占据功能区上的“文件”选项卡,并包含很多Access早期版本“文件”菜单中的命令,还包含适用于整个数据库文件的其他命令和信息。
图1-15 Backstage视图
在Backstage视图中,可以创建新数据库,打开现有数据库,通过SharePoint Server将数据库发布到Web,以及执行很多文件和数据库维护任务等。
1.2.5 Access 2016的功能区Access 2016的功能区由以下几部分组成,其涵盖的功能类似于旧版本中的菜单。
1.显示或隐藏功能区
为了扩大数据库的显示区域,Access 2016允许把功能区折叠起来。单击功能区右侧的“折叠功能区”按钮即可折叠功能区。
折叠功能区之后,将只显示功能区的选项卡名称,如果想要再次打开功能区,则选择选项卡即可,此时,鼠标指针离开功能区之后,将自动隐藏功能区。如果想要功能区一直保持打开状态,则单击功能区右侧的“固定功能区”按钮。“折叠功能区”按钮和“固定功能区”按钮如图1-16和图1-17所示。
图1-16 “折叠功能区”按钮
图1-17 “固定功能区”按钮
2.常规选项卡
在Access 2016的功能区中有5个常规选项卡,分别是“文件”“开始”“创建”“外部数据”“数据库工具”。每个选项卡下有不同的操作工具,可以通过使用这些工具对数据库中的对象进行操作。
3.上下文命令选项卡
上下文命令选项卡就是根据正在使用的对象或正在执行的任务而显示的命令选项卡。例如,当在数据表视图下编辑一个数据表时,会出现“表格工具”中的”字段”选项卡和“表”选项卡,如图1-18和图1-19所示。
图1-18 “表格工具”中的“字段”选项卡
图1-19 “表格工具”中的“表”选项卡
4.自定义功能区
Access 2016允许用户对工作界面的一部分功能区进行个性化设置。例如,可以创建自定义选项卡和自定义组来包含经常使用的命令。具体操作步骤如下。
(1)选择“文件”选项卡中的“选项”命令,打开“Access选项”对话框。单击“Access选项”对话框左侧窗格中的“自定义功能区”选项,打开“自定义功能区”窗格,如图1-20所示。
(2)单击“新建选项卡”按钮,“主选项卡”列表框中将会添加“新建选项卡(自定义)”和“新建组(自定义)”。
(3)勾选“主选项卡”列表框中的“新建选项卡(自定义)”复选框,单击“重命名”按钮,可以重命名该复选框的名称。
(4)单击“从下列位置选择命令”右侧的下拉按钮,在弹出的下拉列表中选择“所有命令”选项。在下方的列表框中选择需要添加的命令即可。
(5)单击“选项”对话框中的“确定”按钮,完成自定义功能区。
图1-20 “自定义功能区”窗格
1.2.6 Access 2016 数据库中的对象数据库对象是Access最基本的容器对象,它是一些关于某个特定主题或目的的信息集合,具有管理本数据库中所有信息的功能。在数据库对象中,用户可以将自己的数据分别保存在彼此独立的存储空间中,这些空间称为数据表;可以使用联机窗体来查看、添加和更新数据表中的数据;使用查询功能查找并检索所需的数据;也可以使用报表以特定的版面布局分析及输出数据。总之,创建一个数据库对象是应用Access创建信息系统的第一步。
1.表
表是数据库用来存储数据的对象,是整个数据库系统的基础。创建和规划数据库,首先要做的就是创建各种数据表。数据表是数据库中存储数据的唯一单位,它将各种信息分门别类地存储在各种数据表中。Access 允许一个数据库中包含多个表,可以在不同的表中存储不同类型的数据。通过在表之间建立关系,可以将不同表中的数据联系起来,以供用户使用。
表中的数据以行和列的形式保存,类似于 Excel 电子表格。表中的列称为字段,字段是Access信息的最基本载体,说明了一条信息在某一方面的属性。表中的每一行称为记录,记录由一个或多个字段组成。一条记录就是一个完整的信息。
图1-21所示为“教务管理系统”数据库中的“课程”表。
图1-21 “课程”表
有关表的使用内容将在第3章中详细介绍。
2.查询
查询是数据库中应用得最多的对象之一。它可执行很多不同的功能,最常用的功能是从表中检索符合某个条件的数据。查询是数据库设计目的的体现,数据库创建完成后,数据只有被用户查询使用才能真正体现它的价值。
查询用来操作数据库中的数据记录,可以按照一定的条件或准则从一个或多个表中筛选出需要的字段,并将它们集中起来,形成动态数据集,这个动态数据集就是用户想看到的来自一个或多个表中的字段,它显示在一个虚拟的数据表窗口中。用户可以浏览、查询、打印,甚至修改这个动态数据集中的数据,Access 会自动将所做的任何修改更新到对应的表中。执行某个查询后,用户可以对查询的结果进行编辑或分析,并将查询结果作为其他对象的数据源。
图1-22所示为在“教务管理系统”数据库中创建“教师授课信息查询”表,查询所有职称为讲师的教师授课信息,以及未使用多媒体教学的教师授课信息。显示教师的“工号”“姓名”“职称”“课程名称”“学分”“多媒体教学”等字段,并按“学分”降序排列。
图1-22 “教师授课信息查询”表
有关查询的使用内容将在第4章中详细介绍。
3.窗体
窗体是Access数据库对象中最灵活的一种对象,其数据源可以是表或查询。窗体有时被称为数据输入屏幕。窗体是用来处理数据的界面,通常包含一些可执行各种命令的按钮。可以说窗体是数据库与用户进行交互操作的最好界面。利用窗体,用户能够从表中查询、提取所需的数据,并将其显示出来。通过在窗体中插入宏,用户可以把Access的各个对象很方便地联系起来。
图1-23所示为利用“教务管理系统”数据库中的“课程”表创建多个项目的窗体。
图1-23 创建多个项目的窗体
有关窗体的使用内容将在第5章中详细介绍。
4.报表
报表以类似于PDF的格式显示数据。Access在创建报表时提供了额外的灵活性。例如,可以配置报表以便列出给定表中的所有记录,也可以使报表仅包含满足特定条件的记录。为此,可以基于查询创建报表,该查询仅选择报表所需的记录。
用户既可以在一个表或查询的基础上创建报表,也可以在多个表或查询的基础上创建报表。利用报表可以创建计算字段;还可以对记录进行分组,以便计算出各组数据的汇总等。在报表中,用户可以控制显示的字段、每个对象的大小和显示方式,还可以按照所需的方式显示相应的内容。
图1-24所示为在“教务管理系统”数据库中,利用“报表向导”创建“教师”报表。
图1-24 “教师”报表
有关报表的使用内容将在第6章中详细介绍。
5.宏
宏是Access数据库中的一个基本对象。宏是指一个或多个操作的集合,每个操作实现特定的功能,如打开某个窗体或打印某个报表。宏可以使某些普通的、需要多个指令连续执行的任务能够通过一条指令自动完成,而这条指令就被称为宏。例如,可以创建某个宏,在用户单击某个按钮时运行该宏,打印某个报表。因此,宏可以看作一种简化的编程语言。用户利用宏不必编写任何代码,就可以实现一定的交互功能。
图1-25所示为在“教务管理系统”数据库中创建的名为“欢迎消息宏”的宏。
图1-25 创建名为“欢迎消息宏”的宏
有关宏的使用内容将在第7章中详细介绍。
6.模块
模块是Access数据库中的一个基本对象。在Access中,不仅可以通过宏列表以选择的方式创建宏,还可以利用VBA(Visual Basic for Applications)编程语言编写过程模块。
模块是将VBA的声明、语句和过程作为一个单元进行保存的集合,也就是程序的集合。创建模块对象的过程也就是使用VBA编写程序的过程。Access中的模块可以分为类模块和标准模块两类。类模块包含各种事件过程,标准模块包含与任何其他特定对象无关的常规过程。
图1-26所示为在“成绩管理系统”数据库中创建的一个模块。
图1-26 在“成绩管理系统”数据库中创建的一个模块
有关VBA程序设计的内容将在第8章中详细介绍。
习题一、填空题
1.数据库管理系统的主要功能包括________________、________________、________________、________________和________________。
2.数据库管理员是负责________________的创建、使用和维护的专门人员。
3.E-R模型中常用到实体、________________、________________、________________、域、联系和E-R图。
4.在E-R模型中,客观存在并可相互区别的事物被称为________________。
5.现实世界的事物之间总是存在某种联系的,任何实体都不可能孤立存在,实体的联系包括________的联系(通常指组成实体的各属性之间的联系)和________的联系。
6.在E-R图中,菱形表示________________,菱形框内为________________,并用无向边分别与有关实体型连接,同时注明________________类型(1∶1,1∶n或m∶n)。
7.使用E-R图将客观世界抽象为概念世界以后,还要再将概念世界转换为机器世界,这时需要使用数学模型。数学模型主要有________________、________________、________________和________________。其中,________________是Access 数据库管理系统所使用的。
8.利用________结构来表示实体联系的数据模型称为关系模型。关系数据模型以关系数学理论为基础,一个关系对应一个________。
9.在表中能够唯一标识一条记录的字段或字段组合被称为________。一个表可能有多个________,从中选择一个作为________,又被称为________。
10.关系运算的对象是________,运算结果仍是________。
11.在关系运算中,从一个关系中选出若干个字段组成新的关系称为________。
12.在联接操作中,以两个关系的字段值对应相等为条件进行的联接称为________。去掉重复字段的等值联接称为________。
13.关系数据库中的关系是要满足一定要求的,满足一定要求的关系模式称为________。
14.为了保证数据库中的数据与现实世界中的数据一致,需要对关系模型中的关系施加条件,以保证数据的正确性、有效性和相容性。
15.一个 Access 2016 数据库就是一个扩展名为________的文件,所有的数据库对象就存储在该文件内。不同的数据库对象在数据库中起不同的作用。
16.模块是用________编写的一段程序或一个函数过程。
二、单项选择题
1.数据与信息之间的关系是()。
A.数据与信息是独立的
B.数据是信息的载体
C.信息是数据的载体
D.两者之间是平等关系
2.按一定的数据模型组织在一起存储在磁盘、光盘或其他外存介质上,并可供各种用户共享的数据集合称为()。
A.数据库
B.数据库系统
C.数据库管理系统
D.数据库管理员
3.下列关于数据库管理系统的叙述中正确的是()。
A.数据库管理系统就是数据库
B.数据库管理系统就是数据库应用系统
C.数据库管理系统是位于用户与操作系统之间的一个数据管理软件
D.数据库管理系统就是数据库系统
4.数据库的基本特点是()。
A.数据结构化,数据独立性高、冗余度大、共享性高,数据统一管理和控制
B.数据结构化,数据独立性高、冗余度小、共享性高,数据统一管理和控制
C.数据非结构化,数据独立性高、冗余度小、共享性高,数据统一管理和控制
D.数据非结构化,数据独立性低、冗余度大、共享性低,数据统一管理和控制
5.数据库系统的核心是()。
A.数据库
B.数据库管理系统
C.数据库应用系统
D.计算机硬件
6.数据库管理系统是()。
A.系统软件
B.计算机辅助设计
C.应用软件
D.高级语言
7.利用二维表结构来表示实体与实体之间联系的数据模型称为()。
A.层次模型
B.网状模型
C.关系模型
D.面向对象模型
8.下列关于实体联系模型的叙述中正确的是()。
A.是一种描述机器世界的模型
B.是一种描述客观世界的模型
C.是一种描述信息世界的模型
D.以上都不是正确的
9.下列关于关系型数据库主要特点的叙述中错误的是()。
A.关系中的每个属性是可再分割的数据项
B.关系中的每一列元素必须是相同类型的数据
C.同一个关系中不能有相同的字段,也不能有相同的记录
D.关系的行、列次序能任意交换,不会影响其信息内容
10.假设一个教室可以安排多个学生,某个学生只能安排在一个教室内,教室与学生之间是()。
A.一对一的联系
B.一对多的联系
C.多对一的联系
D.多对多的联系
11.在E-R图中,用来表示属性的图形是()。
A.菱形
B.矩形
C.圆形
D.椭圆形
12.在下列关系运算中,从一个关系中选出若干个字段组成新的关系称为()。
A.投影
B.选择
C.联结
D.没有的运算
13.假设关系A和B具有相同的关系模式,由A和B去掉重复记录后产生一个新的关系C,C称为A与B的()。
A.并
B.交
C.差
D.什么都不是
14.在关系型数据库中,任何一个关系模式都必须满足()。
A.第一范式
B.第二范式
C.第三范式
D.第四范式
15.下列关于关系的完整性描述正确的是()。
A.实体完整性规则要求关系中的主键不能取空值或重复的值
B.参照完整性规则要求“允许参照不存在的实体”,即外键可以不等于相应关系中主键的某个值
C.实体完整性和参照完整性不一定是关系模型满足的完整性约束条件
D.实体完整性规则要求关系中的主键只能取空值或重复的值
16.Access 2016是()。
A.数据库应用系统
B.数据库
C.数据库管理系统
D.电子表格软件包
三、多项选择题
1.下列叙述中,()是错误的。
A.在关系模型中,实体与实体之间的联系也是用关系来表示的
B.在现实世界中事物内部及事物之间是有联系的,在信息世界中反映为实体内部的联系和实体之间的联系
C.学生实体和课程实体之间存在一对多的关系
D.数据库系统是一个管理数据库的软件
2.在数据库概念设计的E-R图中,所用的图形包括()。
A.矩形
B.菱形
C.四边形
D.椭圆形
3.关系型数据库的任何查询操作都是由 3 种基本运算组成的,这 3 种基本运算包括()。
A.连接
B.比较
C.选择
D.投影
四、简答题
1.什么是数据库?简要叙述数据库的主要特点。
2.什么是关系模型?简要叙述关系模型的主要特点。
3.分别列举两个实体之间具有一对一、一对多和多对多联系的实例。
4.分别列举选择、投影和联接关系运算的实例。
5.简要叙述Access 2016中数据库对象在数据库中起到的作用。
6.解释关系基本运算中传统的集合运算(并、差、交等)和专门的关系运算(选择、投影和连接)的运算规则,并列举实例加以说明。
7.简要叙述 Access 2016工作界面各组成部分的功能。
8.某所学校有若干个学院,每个学院有若干个教研室和专业,每个教研室有若干个教师,每个教师讲授若干门课程,每个专业有若干个学生,每个学生选修若干门课程,每门课程又被有若干个学生选修。利用E-R图画出该学校的概念模型。
五、实验题
1.安装Access 2016。
2.启动Access 2016、打开一个实例数据库、关闭实例数据库、退出Access 2016。
logo设计网(www.shejilogo.com),专业的logo免费设计在线生成网站,全自动智能化logo设计,商标设计,logo在线生成!
欢迎使用logo设计网制作属于您公司自己的logo,不仅专业而且经济实惠,全方位满足您公司品牌化、视觉化的需求。