Download presentation
Presentation is loading. Please wait.
1
第1章 数据库基础与Access 2010
2
通过本章的学习,读者应该掌握以下内容: (1)数据库的基础知识。 (2)Access 2010的启动和退出。 (3)Access 2010的工作界面。 (4)Access 2010的6大对象以及对象间的关系。 (5)Access 2010的数据类型、表达式和函数。 (6)Access 2010帮助系统的使用。
3
1.1 数据库系统的基本概念 数据库技术是数据管理技术,是计算机科学的一个重要分支。在计算机应用的三大领域(科学计算、数据处理和过程控制)中,数据处理约占其中的70%,而数据库技术就是作为一门数据处理技术发展起来的,是目前应用最广的技术之一,它已成为计算机信息系统的核心技术和重要基础。
4
数据、数据库、数据库管理系统 1.数据 数据(Data)是描述事物的符号记录,是数据库中存储的基本对象。
5
数据、数据库、数据库管理系统 2.数据库 数据库(DataBase,DB),顾名思义,就是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。也就是说,数据库是具有统一的结构形式并存放于统一的存储介质内的多种应用数据的集成,并可被各个应用程序所共享。
6
数据、数据库、数据库管理系统 3.数据库管理系统 数据库管理系统(DataBase Management System,DBMS)是位于用户与操作系统之间的一层数据管理软件。 数据库在建立、运行和维护时由数据库管理系统统一管理、统一控制。数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性,多用户对数据的并发使用及发生故障后的系统恢复。
7
数据、数据库、数据库管理系统 4.数据库管理员 由于数据库的共享性,因此对数据库的规划、设计、维护、监视等需要有专人管理,称他们为数据库管理员(DataBase Administrator ,DBA)。
8
数据、数据库、数据库管理系统 5.数据库系统 数据库系统(DataBase System,DBS)由如下几部分组成:数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。这五个部分构成了一个完整的运行实体,称为数据库系统。
9
数据、数据库、数据库管理系统 6.数据库应用系统 数据库应用系统(DataBase Application System,DBAS)是由数据库系统加上应用软件及应用界面这三者所组成。其中应用软件是由数据库系统所提供的数据库管理系统(软件)及数据库系统开发工具书写而成,而应用界面大多由相关的可视化工具开发而成。
10
数据库系统的发展 数据管理发展至今经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。 1.人工管理阶段 20世纪50年代中期之前,计算机的软硬件均不完善。硬件存储设备只有磁带、卡片和纸带,软件方面还没有操作系统,当时的计算机主要用于科学计算。这个阶段由于还没有软件系统对数据进行管理,程序员在程序中不仅要规定数据的逻辑结构,还要设计其物理结构,包括存储结构、存取方法、输入输出方式等。当数据的物理组织或存储设备改变时,用户程序就必须重新编制。由于数据的组织面向应用,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量的重复数据,很难维护应用程序之间数据的一致性。
11
人工管理阶段
12
2.文件系统阶段 这一阶段的主要标志是计算机中有了专门管理数据的软件——操作系统(文件管理)。 20世纪50年代中期到60年代中期,由于计算机大容量存储设备(如硬盘)的出现,推动了软件技术的发展,而操作系统的出现标志着数据管理步入一个新的阶段。在文件系统阶段,数据以文件为单位存储在外存,并且由操作系统统一管理。操作系统为用户使用文件提供了友好界面。文件的逻辑结构与物理结构脱钩,程序和数据分离,使数据与程序有了一定的独立性。用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的数据共享。 但由于数据的组织仍然是面向程序,所以存在大量的数据冗余。而且数据的逻辑结构不能方便地修改和扩充,数据逻辑结构的每一点微小改变都会影响到应用程序。由于文件之间互相独立,因而它们不能反映现实世界中事物之间的联系,操作系统不负责维护文件之间的联系信息。如果文件之间有内容上的联系,那也只能由应用程序去处理。
13
2.文件系统阶段
14
3.数据库系统阶段 20世纪60年代后,随着计算机在数据管理领域的普遍应用,人们对数据管理技术提出了更高的要求:希望面向企业或部门,以数据为中心组织数据,减少数据的冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,以降低应用程序研制与维护的费用。数据库技术正是在这样一个应用需求的基础上发展起来的。 数据库系统阶段的应用程序与数据的关系通过数据库管理系统(DBMS)来实现。
15
3.数据库系统阶段
16
数据库系统的基本特点 数据库技术是在文件系统基础上发展产生的,两者都以数据文件的形式组织数据,但由于数据库系统在文件系统之上加入了DBMS对数据进行管理,从而使得数据库系统具有以下特点。 1.数据的集成性 数据库系统的数据集成主要表现在以下几个方面。 (1)在数据库系统中采用统一的数据结构方式,如在关系数据库中采用二维表作为统一结构方式。 (2)在数据库系统中按照多个应用的需要组织全局的统一的数据结构(即数据模式),数据模式不仅可以建立全局的数据结构,还可以建立数据间的语义联系从而构成一个内在紧密联系的数据整体。 (3)数据库系统中的数据模式是多个应用共同的、全局的数据结构,而每个应用的数据则是全局结构中的一部分,称为局部结构(即视图),这种全局与局部的结构模式构成了数据库系统数据集成性的主要特征。
17
数据库系统的基本特点 数据库技术是在文件系统基础上发展产生的,两者都以数据文件的形式组织数据,但由于数据库系统在文件系统之上加入了DBMS对数据进行管理,从而使得数据库系统具有以下特点。 1.数据的集成性 数据库系统的数据集成主要表现在以下几个方面。 (1)在数据库系统中采用统一的数据结构方式,如在关系数据库中采用二维表作为统一结构方式。 (2)在数据库系统中按照多个应用的需要组织全局的统一的数据结构(即数据模式),数据模式不仅可以建立全局的数据结构,还可以建立数据间的语义联系从而构成一个内在紧密联系的数据整体。 (3)数据库系统中的数据模式是多个应用共同的、全局的数据结构,而每个应用的数据则是全局结构中的一部分,称为局部结构(即视图),这种全局与局部的结构模式构成了数据库系统数据集成性的主要特征。
18
数据库系统的基本特点 2.数据的高共享性与低冗余性 由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。
19
数据库系统的基本特点 3.数据独立性 数据的独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。 数据独立性包括物理独立性和逻辑独立性两级。 (1)物理独立性:是指数据的存储结构或存取方法的修改不会引起应用程序的修改。 (2)逻辑独立性:数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要修改应用程序,这就是数据的逻辑独立性。
20
数据库系统的基本特点 4.数据统一管理与控制 数据库系统不仅为数据提供高度集成环境,同时它还为数据提供统一管理的手段,这主要包含以下三个方面。 (1)数据的完整性检查:检查数据库中数据的正确性以保证数据的正确。 (2)数据的安全性保护:检查数据库访问者以防止非法访问。 (3)并发控制:控制多个应用的并发访问所产生的相互干扰以保证其正确性。
21
1.1.4 数据库系统的内部体系结构 数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式与外部级模式,二级映射则分别是概念级到内部级的映射以及外部级到概念级的映射。这种三级模式与二级映射构成了数据库系统内部的抽象结构体系。
22
1.1.4 数据库系统的内部体系结构 1.数据库系统的三级模式结构 数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式。 (1)概念模式。概念模式(Conceptual Schema)是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。 实际上模式是数据库数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。
23
1.1.4 数据库系统的内部体系结构 1.数据库系统的三级模式结构 (2)外模式。外模式(External Schema)也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 外模式通常是模式的子集。一个数据库可以有多个外模式。由于它是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则他们的外模式描述就是不同的。即使是对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。另外,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。 外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据对他们来说是不可见的。
24
1.1.4 数据库系统的内部体系结构 1.数据库系统的三级模式结构 (3)内模式。内模式(Internal Schema)又称物理模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。 数据模式给出了数据库的数据框架结构,数据是数据库中的真正的实体,但这些数据必须按框架所描述的结构组织。以概念模式为框架所组成的数据库叫概念数据库(Conceptual DataBase),以外模式为框架所组成的数据库叫用户数据库(User’s Database),以内模式为框架所组成的数据库叫物理数据库(Physical Database)。这三种数据库中只有物理数据库是真实存在于计算机外存中,其他两种数据库并不真正存在于计算机中,而是通过两种映射由物理数据库映射而成。
25
1.1.4 数据库系统的内部体系结构 2.数据库系统的两级映射 数据库系统的三级模式是对数据的三个抽象级别。它把数据的具体组织留给数据库管理系统(DBMS)管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。而为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映射:外模式/概念模式映射和概念模式/内模式映射。正是这两级映射保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
26
1.1.4 数据库系统的内部体系结构 2.数据库系统的两级映射 (1)外模式/概念模式映射。对于每一个外模式,数据库系统都有一个外模式/概念模式映射,它定义了该外模式与概念模式之间的对应关系。当概念模式改变时,由数据库管理员对各个外模式/模式映像作相应改变,也可以使外模式保持不变,因为应用程序是依据数据的外模式编写的,从而应用程序也不必修改,保证了数据与程序的逻辑独立性。
27
1.1.4 数据库系统的内部体系结构 2.数据库系统的两级映射 (2)概念模式/内模式映射。概念模式/内模式映射定义了数据全局逻辑结构与物理存储结构之间的对应关系。当数据库的存储结构改变时,由数据库管理员对概念模式/内模式映射作相应改变,可以使概念模式保持不变,从而保证了数据的物理独立性。
28
1.2 数据模型 数据库需要根据应用系统中数据的性质、内在联系,按照管理的要求来设计和组织。数据模型就是从现实世界到机器世界的一个中间层。现实世界的事物反映到人的大脑,人们把这些事物抽象为一种既不依赖于具体的计算机系统又不为某一数据库管理系统支持的概念模型,然后再把概念模型转换为计算机上某一数据库管理系统支持的数据模型。
29
组成要素 数据模型通常由数据结构、数据操作和数据的完整性约束三部分组成。 (1)数据结构 数据结构是研究存储在数据库中的对象类型的集合,这些对象类型是数据库的组成部分。数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作与约束均建立在数据结构上。不同数据结构有不同的操作与约束,因此,一般数据模型均以数据结构的不同而分类。 数据库系统是按数据结构的类型来组织数据的,因此数据库系统通常按照数据结构的类型来命名数据模型,如层次结构、网状结构和关系结构的模型分别命名为层次模型、网状模型和关系模型。
30
组成要素 (2)数据操作 数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作和有关的操作的规则。例如插入、删除、修改、检索、更新等操作,数据模型要定义这些操作的确切含义、操作符号、操作规则以及实现操作的语言等。
31
组成要素 (3)数据的完整性约束 数据的约束条件是完整性规则的集合,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。数据模型中的数据及其联系都要遵循完整性规则的制约。 另外,数据模型应该提供定义完整性约束条件的机制以反映某一应用所涉及的数据必须遵守的特定的语义约束条件。
32
1.2.2 概念模型 1.基本概念 数据的描述既要符合客观现实,又要适应数据库原理与结构,同时也适应计算机原理与结构。进一步说,由于计算机不能够直接处理现实世界中的具体事物,所以人们必须将客观存在的具体事物进行有效的描述与刻画,转换成计算机能够处理的数据,这一转换过程可分为三个数据范畴:现实世界、信息世界和计算机世界。
33
1.2.2 概念模型 从客观现实到计算机的描述,数据的转换过程如图1-6所示。 图1-6 数据的转换过程
34
1.2.2 概念模型 (1)现实世界 用户为了某种需要,需将现实世界中的部分需求用数据库实现,这样,我们所见到的是客观世界中的划定边界的一部分环境,它称为现实世界。
35
1.2.2 概念模型 (2)信息世界 又称概念世界,通过抽象对现实世界进行数据库级上的刻画所构成的逻辑模型叫信息世界。信息世界与数据库的具体模型有关,如层次、网状、关系模型等。 人们从现实世界抽象各种事物到信息世界时,通常采用实体来描述现实世界中具体的事物或事物之间的联系。
36
1.2.2 概念模型 (2)信息世界 ①实体 客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如学生、课程、教师都是属于实际存在的事物,而学生选课就是比较抽象的事物,是由学生和课程之间的联系而产生的等。 ②实体的属性 描述实体的特性称为属性。一个实体可以由若干个属性来刻划,如一个学生实体有学号、姓名、性别、出生日期等方面的属性。属性有属性名和属性值,属性的具体取值称为属性值。例如,对某一学生的“性别”属性取值“女”,其中“性别”为属性名,“女”为属性值。 ③实体集和实体型 同类型的实体的集合称为实体集。例如,对于“学生”实体来说,全体学生就是一个实体集。 属性的集合表示一个实体的类型,称为实体型。例如,学生(学号,姓名,性别,出生日期)就是一个实体型。 属性值的集合表示一个实体。例如,属性值的集合( ,李文建,男, ,计算机科学与技术学院)就是代表一个具体的学生。
37
1.2.2 概念模型 (3)计算机世界 在信息世界基础上致力于其在计算机物理机构上的描述,从而形成的物理模型叫计算机世界。现实世界的要求只有在计算机世界中才能得到真正的物理实现,而这种实现是通过信息世界逐步转化得到的。
38
2.实体联系模型(E-R模型) 实体联系模型又称E-R模型或E-R图,它是描述概念世界、建立概念模型的工具。 E-R图包括三个要素: (1)实体。用矩形框表示,框内标注实体名称。 (2)属性。用椭圆形表示,框内标注属性名。E-R图中用连线将椭圆形与矩形框(实体)连接起来。 (3)实体之间的联系。用菱形框表示,框内标注联系名称。E-R图中用连线将菱形框与有关矩形框(实体)相连,并在连线上注明实体间的联系类型。
39
2.实体联系模型(E-R模型) (a)实体与属性 (b)实体与实体之间的联系
40
2.实体联系模型(E-R模型) 实体之间的对应关系称为联系,它反映现实世界之间的相互联系。两个实体(通常是指两个实体集)间的联系有以下三种类型。 (1)一对一联系 实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B之间为一对一的联系,记作1:1。例如,一个学校只有一个校长,一个校长只能管理一个学校。 (2)一对多联系 如果对于实体集A中的每一个实体,实体集B中有多个实体与之对应;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应,则称实体集A与实体集B之间为一对多联系,记为1 : n。例如,学校的一个系有多个专业,而一个专业只属于一个系。 (3)多对多联系 如果对于实体集A中的每一个实体,实体集B中有多个实体与之对应;反之,对于实体集B中的每一个实体,实体集A中也有多个实体与之对应,则称实体集A与实体集B之间为多对多联系,记为m : n。例如,一个学生可以选修多门课程,一门课程可以被多名学生选修。
41
三种数据模型 数据模型是从现实世界到机器世界的一个中间层次。现实世界的事物反映到人的大脑中,人们把这些事物抽象为一种既不依赖于具体的计算机系统又不依赖于具体的DBMS的概念模型,然后,再把该概念模型转换为计算机中某个DBMS所支持的数据模型。 数据模型是实现数据抽象的主要工具。它决定了数据库系统的结构、数据定义语言和数据操纵语言、数据库设计方法、数据库管理系统软件的设计与实现。常见的数据模型有三种:层次模型、网状模型和关系模型。根据这三种数据模型建立的数据库分别为:层次型数据库、网状型数据库和关系型数据库。
42
三种数据模型 1.层次模型 层次模型是数据库系统中最早采用的数据模型,它是通过从属关系结构表示数据间的联系,层次模型是有向“树”结构。
43
三种数据模型 2.网状模型 网状模型是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构,网状模型是有向“图”结构。
44
三种数据模型 3.关系模型 关系数据模型(简称关系模型)以二维表的方式组织数据。关系模型建立在严格的数学概念基础之上,发展迅速。20世纪80年代以来,几乎所有的数据库系统都是建立在关系模型之上。
45
1.3 关系数据库 关系是数学集合论中的一个重要概念。1970年,E.F.Codd发表了题为“大型共享数据库数据的关系模型”的论文,把关系的概念引入了数据库,自此人们开始了数据库关系方法和关系数据理论的研究,在层次和网状数据库系统之后,形成了以关系数据模型为基础的关系数据库系统。
46
关系模型 1.关系中常用的术语 关系模型是用二维表格的形式描述相关数据,也就是把复杂的数据结构归纳为简单的二维表格。表格中的每一个数据都可以看成是独立的数据项,它们共同构成了该关系的全部内容。在关系模型中,有以下常用的术语。
47
关系模型 1.关系中常用的术语 (1)关系:一个关系就是一张二维表格,每个关系有一个关系名,在Access 2010中,一个关系就是一个表对象。 (2)元组:表格中的每一行称为一个元组。在Access 2010中,称为记录。 (3)属性:表格中的每一列称为一个属性,给每列起一个名称,该名称就是属性名,如“学生”表中的学号、姓名、性别、出生日期等。在Access 2010中,称为字段。 (4)分量:元组中的一个属性值称为分量。关系模型要求关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表。
48
关系模型 1.关系中常用的术语 (5)域:属性的取值范围。从总体上说,以属性分类的若干个元组的集合,构成关系模式中的一个关系,在某种意义上也可以说,关系模式就是一张二维表格,用来描述客观事物以及不同事物间的联系。 (6)候选关键字:关系中的某个属性组(一个属性或几个属性的组合)可以唯一标识一个元组,这个属性组称为候选关键字。 (7)关键字:关键字是指在一个数据表中,若某一字段或几个字段的组合值能够唯一标识一个记录,则称其为关键字(或键),当一个数据表有多个关键字时,可从中选出一个作为主关键字。 (8)外部关键字:如果关系中的一个属性不是本关系的关键字,而是另外一个关系的关键字或候选关键字,这个属性就称为外部关键字。 (9)主属性:包含在任一候选关键字中的属性称为主属性。
49
关系模型 2.关系的性质 关系是一个二维表,但并不是所有的二维表都是关系。关系应具有以下性质。 (1)每一列中的分量是同一类型的数据,来自同一个域。 (2)不同的列要给予不同的属性名。 (3)列的顺序无所谓,即列的次序可以任意交换。 (4)任意两个元组不能完全相同。 (5)行的顺序无所谓,即行的次序可以任意交换。 (6)每一个分量都必须是不可再分的数据项。 由上述可知,二维表中的每一行都是唯一的,而且所有行都具有相同类型的字段。关系模型的最大优点是一个关系就是一个二维表格,因此易于对数据进行查询等操作。
50
关系模型 3.关系之间的联系 在关系数据库中,表之间具有相关性。表之间的这种相关性是依靠每一个独立的数据表内部具有相同属性的字段建立的。在两个相关表中,起着定义字段取值范围作用的表称为父表,而另一个引用父表中相关字段的表称为子表。根据父表和子表中相关字段的对应关系,表和表之间的关联存在以下4种类型。 (1)一对一联系:父表中每一个记录最多与子表中的一个记录相关联,反之也一样。具有一对一关联的两张表通常在创建表时可以将其合并成为一张表。 (2)一对多联系:父表中每一个记录可以与子表中的多个记录相关联,而子表中的每一条记录都只能与父表中的一条记录相关联。一对多关联是数据库中最为普遍的关联。 (3)多对一联系:父表中多个记录可以与子表中的一条记录相关联。 (4)多对多联系:父表中的每一条记录都与子表中的多条记录相关联,而子表中的每一条记录又都与父表中的多条记录相关联。多对多关联在数据库中比较难实现,通常将多对多关联分解为多个一对多关联。
51
关系模型 4.关系数据库 在关系模型中,实体以及实体之间的联系都是用关系来表示的。例如教师实体、学生实体、课程实体等。在一个给定的应用领域中,所有实体以及实体间联系的关系的集合就构成一个关系数据库。 关系数据库系统是支持关系模型的数据库系统。它是由若干张二维表组成的,包括二维表的结构以及二维表中的数据两部分。Access就是一个关系型的数据库管理系统,由Access所创建的二维表称为数据表。
52
关系代数运算 关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询要求的。 关系代数的运算对象是关系,运算结果也是关系。关系代数的运算可以分为两大类:传统的集合运算和专门的关系运算。
53
关系代数运算 1.传统的集合运算 设R和S均为n元关系(元数相同即属性个数相同),且两个关系属性的性质相同。 下面以学生A(表1-2)和学生B(表1-3)两个关系为例,用以说明传统的集合运算:并运算、交运算和差运算。
54
关系代数运算 (1) 并运算 两个关系的并运算可以记作R∪S,运算结果是将两个关系的所有元组组成一个新的关系,若有相同的元组,只留下一个。 学生A∪学生B的结果如表1-4所示。
55
关系代数运算 (2)交运算 两个关系的交运算可以记作R∩S,运算结果是将两个关系中公共元组组成一个新的关系。 学生A∩学生B的结果如表1-5所示。
56
关系代数运算 (3) 差运算 两个关系的差运算可以记作R-S,运算结果是由属于R但不属于S的元组组成一个新的关系。 学生A-学生B的结果如表1-6所示。
57
关系代数运算 (4) 广义笛卡尔积运算 设R和S是两个关系,如果R是m元关系,有i个元组,S是n元关系,有j个元组,则笛卡尔积R×S是一个m+n元关系,有i×j个元组。记作:R×S 。 例如,教师和教师授课表两个关系,如表1-7和表1-8所示。
58
关系代数运算 (4) 广义笛卡尔积运算 教师和教师授课表两个关系的笛卡尔积的结果如表1-9所示。
59
2. 专门的关系运算 专门的关系运算包含选择、投影、连接和除运算。这类运算将“关系”看作是元组的集合,其运算不仅涉及关系的水平方向(表中的行),而且也涉及关系的垂直方向(表中的列)。
60
2. 专门的关系运算 (1) 选择运算 选择(Selection)是根据给定的条件选择关系R中的若干元组组成新的关系,是对关系的元组进行筛选。记作:F(R)。其中F是选择条件,是一个逻辑表达式,它由逻辑运算符和比较运算符组成。 选择运算也是一元关系运算,选择运算结果往往比原有关系元组个数少,它是原关系的一个子集,但关系模式不变。 例如:从表1-2中,选择性别为“女”的学生名单,可以记成: 性别="女"(学生A)
61
2. 专门的关系运算 (2) 投影运算 从指定的关系中选择某些属性的所有值组成一个新的关系,记作:ΠA(R),A是R中的属性列。它是从列的角度进行操作的。 例如:从表1-3中列出所有学生的姓名,性别,可以记成: П姓名,性别(学生A)
62
2. 专门的关系运算 (3) 连接运算 用来连接相互之间有联系的两个或多个关系,从而组成一个新的关系。连接运算是一个复合型的运算,包含了笛卡尔积、选择和投影三种运算。通常记作:R⋈S 。 每一个连接操作都包括一个连接类型和一个连接条件。连接条件决定运算结果中元组的匹配和属性的去留;连接类型决定如何处理不符合条件的元组,有内连接、自然连接、左外连接、右外连接和全外连接等。
63
2. 专门的关系运算 (3) 连接运算 ①内连接。也叫等值连接,是按照公共属性值相等的条件连接,并且不消除重复属性。 表1-7和表1-8的内连接,操作过程是: 首先,形成教师×教师授课表的乘积,共有9个元组,如表1-9所示。 然后根据连接条件“教师.教师编号=教师授课表.教师编号”,从乘积中选择出相互匹配的元组。结果如表1-12所示。
64
2. 专门的关系运算 (3) 连接运算 ②自然连接。是在内连接的基础上,再消除重复的属性,这是最常用的一种连接,自然连接的运算用⋈表示。 表1-7和表1-8的自然连接的结果如表1-13所示。
65
2. 专门的关系运算 (5) 除运算 关系R与关系S的除法运算应满足的条件是:关系S的属性全部包含在关系R中,关系R的一些属性不包含在关系S中。关系R与关系S的除法运算表示为R÷S。除法运算的结果也是关系,而且该关系中的属性由R中除去S中的属性之外的全部属性组成,元组由R与S中在所有相同属性上有相等值的那些元组组成。如表1-14所示。
66
关系的完整性 关系模型允许定义3种完整性约束,即实体完整性、参照完整性和用户定义完整性约束。 其中实体完整性约束和参照完整性约束统称为关系完整性约束,是关系模型必须满足的完整性的约束条件,它由关系数据库系统自动支持。用户定义完整性约束是应用领域需要遵循的约束条件。 1.实体完整性约束 由于每个关系的主键是唯一决定元组的,所以实体完整性约束要求关系的主键不能为空值,组成主键的所有属性都不能取空值。 例如,在“学生”关系:学生(学号、姓名、性别、出生日期),其中学号是主键,因此,学号不能为空值。 例如,在“成绩”关系:成绩(学号、课程编号、分数),其中学号和课程编号共同构成主键,因此,学号和课程编号都不能为空值。
67
关系的完整性 2.参照完整性约束 参照完整性约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组,即在关系中的外键取值只能是关联关系中的某个主键值或者为空值。 例如,院系编号是“院系(院系编号、名称、简介)”关系的主键,是“学生(学号、姓名、院系编号)”关系的外键。“学生”关系中的“院系编号”必须是“院系”关系中一个存在的“院系编号”的值,或者是空值。
68
关系的完整性 3.用户定义的完整性约束 实体完整性约束和参照完整性约束是关系数据模型必须要满足的,而用户定义的完整性约束是与应用密切相关的数据完整性的约束,不是关系数据模型本身所要求的。用户定义的完整性约束是针对具体数据环境与应用环境由用户具体设置的约束,它反映了具体应用中数据的语义要求,它的作用就是要保证数据库中数据的正确性。 例如,限定某属性的取值范围,学生成绩的取值必须是0~100的数值。
69
关系规范化 关系模型是建立在严格的数学关系理论基础之上的,通过确立关系中的规范化准则,既可以方便数据库中数据的处理,又可以给程序设计带来方便。在关系数据库设计过程中,使关系满足规范化准则的过程称为关系规范化(Relation Normalization)。 关系规范化就是将数据库中不太合理的关系模型转化为一个最佳的数据模型,因此它要求对于关系数据库中的每一个关系都要满足一定的规范,根据满足规范的条件不同,可以划分为6个范式(Normal Form,NF),分别为:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF、第四范式(4NF)和第五范式(5NF)。
70
关系规范化 (1)第一范式:若一个关系模式R的所有属性都是不可再分的基本数据项,则该关系模式属于第一范式(1NF)。 第一范式是指数据库表的每一列都是不可再分割的基本数据项,同一列不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式中表的每一行只包含一个实例的信息。 简而言之,第一范式就是无重复的列。在任何一个关系数据库中,第一范式是对关系模型的基本要求,不满足第一范式的数据库就不是关系数据库。
71
关系规范化 (2)第二范式(2NF):若关系模式R属于1NF,且每个非主属性都完全函数依赖于主键,则该关系模式属于2NF,2NF不允许关系模式中的非主属性部分函数依赖于码。 第二范式是在第一范式的基础上建立起来的,即满足第二范式必须先满足第一范式。第二范式要求数据库表中的每个实例或行必须可以被唯一地区分。这个唯一属性列被称为主关键字或主键。 第二范式要求实体的属性完全依赖于主关键字。所谓“完全依赖”是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。
72
关系规范化 (3)第三范式(3NF):若关系模式R属于1NF,且每个非主属性都不传递依赖于主键,则该关系模式属于3NF。 满足第三范式必须先满足第二范式。也就是说,第三范式要求一个数据库表中不包含已在其他表中包含的非主关键字信息。 简而言之,第三范式就是属性不依赖于其他非主属性。
73
数据库的设计方法 在数据库设计中有两种方法,一种是以信息需求为主,兼顾处理需求,称为面向数据的方法(Data-Oriented Approach);另一种是以处理需求为主,兼顾信息需求,称为面向过程的方法(Process-Oriented Approach)。这两种方法目前都有使用,在早期由于应用系统中处理多于数据,因此以面向过程的方法使用较多,而近期由于大型系统中数据结构复杂、数据量庞大,而相应处理流程趋于简单,因此用面向数据的方法较多。由于数据在系统中稳定性高,数据已成为系统的核心,因此面向数据的设计方法已成为主流方法。
74
数据库的设计方法 根据规范化理论,数据库设计的步骤可以分为以下阶段。 (1)需求分析阶段 需求分析是数据库设计的第一阶段,也是数据库应用系统设计的起点。准确了解与分析用户需求(包括数据与处理),是整个设计过程的基础。这里所说的需求分析只针对数据库应用系统开发过程中数据库设计的需求分析。 (2)概念设计阶段 概念结构设计是数据库设计的关键,是对现实世界的第一层面的抽象与模拟,最终设计出描述现实世界的概念模型。概念模型是面向现实世界的,它的出发点是有效和自然地模拟现实世界,给出数据的概念化结构。长期以来被广泛使用的概念模型是实体-联系模型(Entity -Relationship Model,即E-R模型)。该模型将现实世界的要求转化成实体、属性、联系等几个基本概念,以及它们之间的基本连接关系,并且用E-R图非常直观地表示出来。 (3)逻辑设计阶段 逻辑结构设计是将上一步所得到的概念模型转换为某个数据库管理系统所支持的数据模型,并对其进行优化。 (4)物理设计阶段 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。 (5)数据库实施阶段 运用数据库管理系统提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 (6)数据库运行与维护阶段 数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
75
1.4 初识Access 2010 Access 2010 是Microsoft公司最新推出的Access 版本,是微软办公软件包Office 2010的一部分。
76
1.4.1 Access 2010的启动和退出 1.Access 2010应用程序的启动
单击“开始”菜单“所有程序”“Microsoft Office”“Microsoft Office Access 2010”,即可启动Access 2010应用程序。 如果在桌面上或任务栏中建立了Access 2010的快捷方式,可直接双击桌面上的快捷方式图标,或单击任务栏中的快捷方式图标,即可启动Access 2010应用程序。
77
1.4.1 Access 2010的启动和退出 2.Access 2010应用程序的退出 单击打开的应用程序窗口右上角的“关闭”按钮。
选择“文件”选项卡“退出”命令。 直接按Alt+F4组合键。 双击打开的应用程序左上角的控制菜单图标。
78
Access 2010的工作界面
79
Access 2010的命令选项卡 Access 2010的功能区包括“文件”、“开始”、“创建”、“外部数据”和“数据库工具”等选项卡,此外,在对数据库对象进行操作时,还将打开上下文命令选项卡。
80
Access 2010的命令选项卡 1.“文件”选项卡
81
Access 2010的命令选项卡 1.“文件”选项卡
82
Access 2010的命令选项卡 2.“开始”选项卡
83
Access 2010的命令选项卡 3.“创建”选项卡
84
Access 2010的命令选项卡 4.“外部数据”选项卡
85
Access 2010的命令选项卡 5.“数据库工具”选项卡
86
Access 2010的命令选项卡 6.“上下文”选项卡 “表格”上下文选项卡
87
Access 2010的选项卡式文档 启动 Office Access 2010 后,可以用选项卡式文档代替重叠窗口来显示数据库对象。为便于日常的交互使用,可以采用选项卡式文档界面,如图1-10所示。
88
1.5 Access 数据库中的对象 1.5.1 表 表是数据库中用来存储数据的对象,它是整个数据库系统的数据源,也是数据库其他对象的基础。
89
1.5 Access 数据库中的对象 1.5.2 查询 查询是数据库设计目的的体现,数据库建立完成以后,数据只有被使用者查询才能真正现它的价值。查询也是一个“表”,它是以“表”或“查询”为基础数据源的“虚表”,查询本身存放的只是设计的查询结构。
90
1.5 Access 数据库中的对象 1.5.3 窗体 窗体是用户与数据库进行交互的图形界面,它提供一种方便用户浏览、输入和更改数据的窗口以及应用程序的执行控制界面,在窗体中可以运行宏和模块,以实现更加复杂的功能,它是Access数据库对象中最灵活的一个对象。
91
1.5 Access 数据库中的对象 1.5.4 报表 报表是数据库中数据输出的另一种形式,利用报表可以将数据库中需要的数据提取出来进行分析、整理和计算,然后打印出来,是一种很有效的方法。
92
1.5 Access 数据库中的对象 1.5.5 宏 宏对象是Access数据库对象中的一个基本对象。宏是指一个或多个操作的集合,其中每一个操作实现特定的功能,例如打开某个窗体或打印某个报表。
93
1.5 Access 数据库中的对象 1.5.6 模块 模块用来实现数据的自动操作,是应用程序开发人员的工作环境,创建完整的数据库应用程序。
模块 模块用来实现数据的自动操作,是应用程序开发人员的工作环境,创建完整的数据库应用程序。 模块是用Access所提供的VBA(Visual Basic for Application)语言所编写的程序。
94
1.5 Access 数据库中的对象 1.5.7 对象间的关系
95
1.6 Access 中的数据 作为数据库管理系统,Access中的数据也是有类型之分的。在设计表的过程中,相应的字段必须使用明确的数据类型,同时操作数据库的过程中会随时使用表达式和函数,因此有必要对这些内容做一个预览。
96
1.6 Access 中的数据 1.6.1 字段的数据类型 Access 2010中定义了12种数据类型:文本、备注、数字、日期/时间、货币、自动编号、是/否、超链接、OLE对象、附件、计算以及查阅向导。
97
1.6 Access 中的数据 1.6.1 字段的数据类型
98
1.6 Access 中的数据 1.6.1 字段的数据类型
99
1.6 Access 中的数据 1.6.1 字段的数据类型
100
1.6 Access 中的数据 1.6.2 表达式 表达式是各种数据、运算符、函数、控件和属性的组合,其运算结果是某个确定数据类型的值。表达式能实现数据计算、条件判断、数据类型转换等许多作用。在后续的内容中,许多操作如筛选条件、有效性规则、查询条件、计算控件等都要用到表达式。
101
1.6 Access 中的数据 1.运算符 运算符和操作数构成了表达式,运算符是用来表明运算性质的符号,它指明了多操作数进行运算的方法和规则。根据运算不同,Access中常用4种类型的运算符:算术运算符、关系运算符、逻辑运算符、连接运算符。
102
1.6 Access 中的数据 (1)算术运算符:用于实现常见的算术运算 。 运算符 含义 示例 表达式 结果 + 加法 1+1 2 -
减法 3-2 1 * 乘法 2*3 6 / 浮点除法 6/2 3 ^ 指数 2^2 4 \ 整数除法 10\4 Mod 取余 12 mod 5 说明:对于Mod,如果操作数是小数,系统会四舍五入变成整数后再运算。如果被除数是负数,余数也是负数。反之,如果被除数是正数,余数也是正数。
103
1.6 Access 中的数据 (2)关系运算:比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为True,若关系不成立,结果为False。 关系运算的规则如下: 数值型数据按数值大小比较。 日期型数据按照日期的先后顺序比较,日期大则大,日期小则小。 字符型数据按照字符的ASCII码值的大小从左到右一一比较,直到出现不同的字符为止。
104
1.6 Access 中的数据 关系运算示例 运算符 含义 示例 表达式 结果 > 大于 "abc">"ABC" TRUE
>= 大于等于 "a">="ab" FALSE < 小于 2<3 <= 小于等于 "12"<="3" <> 不等于 "abc"<>"ABC" = 等于 "abc"="ABC"
105
1.6 Access 中的数据 (3)逻辑运算符:用于逻辑运算,主要有与(And)、或(Or)和非(Not)。
运算结果为逻辑值True或False。 优先级不相同:Not > And > Or 可用来描述复杂的关系表达式
106
1.6 Access 中的数据 逻辑运算符示例 运算符 含义 示例 表达式 结果 Not 非(求反) Not (10<4) True
And 与(同时成立) 10>4 And 5>3 Or 或(或者成立) 10>4 Or 3>5
107
1.6 Access 中的数据 (4)连接运算符:用于字符串连接。 当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:
+(连接运算):两个操作数均应为字符串类型;当两旁的操作量都为数字时,它就变成了加法符号,执行加法运算。当两旁的操作量有一个是数字,另外一个是字符时,则会出现出错信息。 &(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字符,然后进行连接操作。
108
1.6 Access 中的数据 连接运算符示例 运算符 含义 示例 表达式 结果 & 字符串连接 "VB" & "程序设计教程"
+ "ABCD" + "EFGHI" "ABCDEFGHI"
109
1.6 Access 中的数据 (5)特殊运算符 运算符 含义 示例 Like 像…一样 Like "张*" In 在集合中
Between … And … 在…与…之间 Between 15 And 30
110
1.6 Access 中的数据 2.运算符的优先级 在一个表达式中进行若干操作时,每一部分都会按预先确定的顺序进行计算求解,称这个顺序为运算符的优先顺序。
111
1.6 Access 中的数据 【例】计算表达式3*3\3/3的结果 【例】计算5+2*10 Mod 10 \ 9 / 3 +2 ^2的结果
112
1.6.3 函数 函数是由事先定义好的一系列确定功能的语句组成,并最终返回一个确定类型的值。
标准函数一般用于表达式中,有的能和语句一样使用。其使用形式如下: 函数名(<参数1><,参数2>[,参数3][,参数4][,参数5]) 其中,函数名必不可少,函数的参数放在函数名后的圆括号中,参数可以是常量、变量或表达式,可以有一个或多个,少数函数为无参函数。
113
1.6.3 函数 1.算术函数 函数名 格式 Abs Abs(<数值表达式>) Int Int(<数值表达式>)
Fix Fix(<数值表达式>) Round Round(<数值表达式>[,<表达式>]) Sgn Sgn(<数值表达式>) Rnd Rnd(<数值表达式>)
114
随机函数Rnd示例 Int(100*Rnd()) Int(101*Rnd()) Int(Rnd()*6)+1
115
1.6.3 函数 2.字符串函数 函数名 格式 Left Left(<字符串表达式>,N) Right
Right(<字符串表达式>,N) Mid Mid(<字符串表达式>,<N1>,<N2>) Space Space (<字符表达式>) Len Len(<字符串表达式>) Ltrim Ltrim(<字符表达式>) Rtrim Rtrim(<字符表达式>) Trim Trim(<字符表达式>) InStr ([Start,]<Str1>,<Str2>[,Compare])
116
InStr函数示例 InStr(" ", " 65 ") Instr(3,"aSsiAB","a",1)
117
1.6.3 函数 3.日期/时间函数 函数名 格式 Date Date() Time Time() Now Now() Year
Month Month(<日期表达式>) Day Day(<日期表达式>) DateSerial DateSerial(表达式1,表达式2,表达式3)
118
DateSerial函数举例 DateSerial(2013,5,2) DateSerial(2013-1,8-2,0)
119
1.6.3 函数 4.类型转换函数 类型转换函数的功能是将数据类型转换成指定数据类型。
120
类型转换函数 (1)字符串转换成字符代码函数 Asc (<字符串表达式>) 功能:返回首字符的ASCII码
? Asc("abcde") (2)字符代码转换成字符函数 Chr (<字符代码>) 功能:返回与字符代码相关的字符 ? Chr(97) ? Chr(13)
122
类型转换函数 (3)数字转换成字符串函数 Str (<数值表达式>)
功能:将数值表达式值转换成字符串。注意,当一数字转成字符串时,总会在前面保留一个空格来表示正负。表达式值为正,返回的字符串包含一前导空格表示有一正号。 ? str(99) ? str(-6) m=2.17 Len(Str(m)+Space(5))
123
类型转换函数 (4)字符串转换成数字函数 Val (<字符串表达式>) 功能:将数字字符串转换成数值型数字。
注释:数字串转换时可自动将字符串中的空格、制表符和换行符去掉,当遇到它不能识别为数字的第一个字符时,停止读入字符串。当字符串不是以数字开头时,函数返回0。 ? val("18") ? val(" ") ? val("12ab3") ? val("ab123")
124
1.7 Access 2010的帮助系统 Access 2010提供了完善的帮助系统,很好地利用系统的帮助,对于解决疑难问题、熟悉Access系统、学习和研究Access有着十分重要的作用。 (1)全面系统的目录式帮助 (2)随时随地的帮助
125
习题1
126
习题1
127
习题1
128
习题1
129
习题1
130
习题1
131
习题1
132
习题1
133
习题1
134
习题1
135
习题1
136
习题1
137
习题1
138
习题1
Similar presentations