资源描述
课程预告:第课程预告:第1章章数数据库系统概述据库系统概述开始开始 所属课部:机电与信息工程开始开始 所属课部:机电与信息工程数据库原理数据库原理及应用及应用学习方式授课(课堂讲授式、小组讨论式)读书(课前预习、课后复习)报告(综合练习、开发实验报告)本章主要内容数据库数据库的概念。的概念。数据库管理技术的发展。数据库管理技术的发展。数据库系统的组成。数据库系统的组成。数据模型。数据模型。关系数据库应用系统开发的一般步骤。关系数据库应用系统开发的一般步骤。关系数据库概述。关系数据库概述。1.1数据、信息和数据处理数据、信息和数据处理 1.1.数据数据(Data)(Data)P1P1 数据是数据是反映客观事物属性的记录,是信息的具体表现形式。反映客观事物属性的记录,是信息的具体表现形式。人们人们通常使用各种各样的物理符号来表示客观事物的特性和通常使用各种各样的物理符号来表示客观事物的特性和特征,这些符号及其组合就是数据(如数字、字母、符号、图形、特征,这些符号及其组合就是数据(如数字、字母、符号、图形、图像、动画、声音等)。任何事物的属性都是通过数据来表示的图像、动画、声音等)。任何事物的属性都是通过数据来表示的。数据数据经过加工处理之后,成为信息。经过加工处理之后,成为信息。1.1.1数据与信息数据与信息 2.2.信息(信息(InformationInformation)P2P2信息是客观事物属性的反映。信息是客观事物属性的反映。它所反映的是某一客观系统中,它所反映的是某一客观系统中,某一事物的存在或某一时刻的运动状态。也就是说,信息是经某一事物的存在或某一时刻的运动状态。也就是说,信息是经过加工处理并对人类客观行为产生影响的、通过各种方式进行过加工处理并对人类客观行为产生影响的、通过各种方式进行传播、可被感知的数据表现形式。传播、可被感知的数据表现形式。信息是人们在进行社会活动、经济活动及生产活动时的产物,信息是人们在进行社会活动、经济活动及生产活动时的产物,并用以参与指导其活动过程。信息是有价值的,是可以被感知并用以参与指导其活动过程。信息是有价值的,是可以被感知的。信息可以通过载体传递,可以通过信息处理工具进行的。信息可以通过载体传递,可以通过信息处理工具进行存储、存储、加工、传播、再生和增值加工、传播、再生和增值。在信息社会中,信息一般可与物质。在信息社会中,信息一般可与物质或能量相提并论,它是一种重要的资源。或能量相提并论,它是一种重要的资源。概括上面所说就是:信息概括上面所说就是:信息=数据数据+处理。处理。1.1.2 1.1.2 数据库的定义数据库的定义数据库(数据库(DataBase,DB)是存储在计算机)是存储在计算机内有结构的相关数据的集合。它不仅包括描内有结构的相关数据的集合。它不仅包括描述事物的数据本身,还包括了相关事物之间述事物的数据本身,还包括了相关事物之间的关系。的关系。数据库中的数据是按一定的数据模型组织、数据库中的数据是按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,可以被多个用户、多据独立性和易扩展性,可以被多个用户、多个应用程序共享。个应用程序共享。数据库是以一定的数据结构形式存储在一起的相互数据库是以一定的数据结构形式存储在一起的相互有关的具有有关的具有“一少三性一少三性”特点特点的数据集合。的数据集合。“一少一少”是指冗余数据少,即基本上没有或很少有是指冗余数据少,即基本上没有或很少有重复的数据和无用的数据,也没有相互矛盾的数据,重复的数据和无用的数据,也没有相互矛盾的数据,从而显著地节约存储空间。从而显著地节约存储空间。“三性三性”是指:数据的共享性,库中数据能为多个是指:数据的共享性,库中数据能为多个用户服务;数据的独立性,全部数据以一定的数据结用户服务;数据的独立性,全部数据以一定的数据结构单独地、永久地存储,与应用程序无关;数据的安构单独地、永久地存储,与应用程序无关;数据的安全性,对数据有好的保护,防止不合法使用数据而引全性,对数据有好的保护,防止不合法使用数据而引起的数据泄露和破坏,使每个用户只能按规定对数据起的数据泄露和破坏,使每个用户只能按规定对数据进行访问和处理。进行访问和处理。1.2数据管理技术的发展数据管理技术的发展数据管理是指对数据进行数据管理是指对数据进行分类、组织、编码、存储、检索和维分类、组织、编码、存储、检索和维护护,数据管理是数据处理的中心问题。而数据处理则是将数据转换,数据管理是数据处理的中心问题。而数据处理则是将数据转换成信息的过程。数据处理包括对数据的成信息的过程。数据处理包括对数据的收集、整理、存储、分类、收集、整理、存储、分类、排序、检索、计算排序、检索、计算等操作。它的目的就是从原始数据中得到有用的等操作。它的目的就是从原始数据中得到有用的信息。即数据是信息的载体,信息是数据处理的结果。信息。即数据是信息的载体,信息是数据处理的结果。数据库技术是应数据管理任务的需要而产生的。随着计算机软数据库技术是应数据管理任务的需要而产生的。随着计算机软硬件技术的不断发展和计算机应用范围的不断拓宽,在应用需求的硬件技术的不断发展和计算机应用范围的不断拓宽,在应用需求的推动下,数据管理技术经历了人工管理、文件系统和数据库系统推动下,数据管理技术经历了人工管理、文件系统和数据库系统3个个发展阶段。发展阶段。1.2.1 1.2.1 人工管理阶人工管理阶段段P3P31.2.2 1.2.2 文件文件管理管理系统阶段系统阶段 P4 P41.2.3 1.2.3 数据库数据库管理管理系统阶段系统阶段P5P5数据库技术所具有的特点数据库技术所具有的特点:6 6 1 1数据结构化数据结构化 2 2数据共享性高、冗余度小、易扩充数据共享性高、冗余度小、易扩充 3 3数据独立性高数据独立性高 4 4统一的数据管理和控制统一的数据管理和控制 数据库管理系统数据库管理系统阶段应用程序与数据之间的关系阶段应用程序与数据之间的关系如图所示如图所示 :1.3数据库管理系统数据库管理系统数据库管理系统(数据库管理系统(DataBase Management SystemDataBase Management System,DBMSDBMS)是位)是位于用户与操作系统之间的一个数据管理软件,在操作系统支持下工于用户与操作系统之间的一个数据管理软件,在操作系统支持下工作,是负责数据库存取、维护、管理的软件。作,是负责数据库存取、维护、管理的软件。数据库管理系统支持数据库管理系统支持用户对数据库的基本操作,是数据库系统的核心软件。它的主要目用户对数据库的基本操作,是数据库系统的核心软件。它的主要目的是方便用户使用数据资源,易于为用户所共享,增强数据的安全的是方便用户使用数据资源,易于为用户所共享,增强数据的安全性、完整性和可靠性。它的基本功能包括以下几个方面:性、完整性和可靠性。它的基本功能包括以下几个方面:1 1数据定义数据定义功能功能:DBMSDBMS提供数据定义语言(提供数据定义语言(Data Definition Data Definition LanguageLanguage,DDLDDL),用户通过它可以方便地对数据库中的数据对象),用户通过它可以方便地对数据库中的数据对象进行定义。进行定义。2 2数据操纵数据操纵功能功能:DBMSDBMS还提供数据操纵语言(还提供数据操纵语言(Data Data Manipulation LanguageManipulation Language,DMLDML),用户可以使用),用户可以使用DMLDML操纵数据,实操纵数据,实现对数据的基本操作。如查询、插入、删除和修改现对数据的基本操作。如查询、插入、删除和修改。3 3数据库的运行管理功能数据库的运行管理功能:数据库在建立、运:数据库在建立、运行和维护时由数据库管理系统统一管理和控制,以行和维护时由数据库管理系统统一管理和控制,以保证数据的安全性、完整性,对并发操作的控制以保证数据的安全性、完整性,对并发操作的控制以及发生故障后的系统恢复等。及发生故障后的系统恢复等。4 4数据库的建立和维护功能数据库的建立和维护功能:它包括数据库初:它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。能,数据库的重组织功能和性能监视、分析功能等。数据库管理系统软件有多种。比较著名的有数据库管理系统软件有多种。比较著名的有OracleOracle、InformixInformix、SybaseSybase、SQL ServerSQL Server、DB2DB2等。等。1.4数据库系统数据库系统 1.4.1数据库系统的构成数据库系统(数据库系统(DataBaseSystem,DBS)是指在计算机系统中引入数据库后构成的)是指在计算机系统中引入数据库后构成的系统。系统。一般由数据库、操作系统、数据库管理系统(及其开发工具)、应用系统、一般由数据库、操作系统、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成数据库管理员和用户构成。数据库系统。数据库系统(DataBaseSystem,DBS)是由)是由硬件、软硬件、软件、数据库和用户件、数据库和用户4部分构成的整体。部分构成的整体。1数据库数据库数据库是数据库系统的核心和管理对象,数据库是存储在一起的相互有联系的数数据库是数据库系统的核心和管理对象,数据库是存储在一起的相互有联系的数据集合据集合。2硬件硬件脱机脱机存储介质(如磁盘、光盘、磁带等)以存放数据库备份存储介质(如磁盘、光盘、磁带等)以存放数据库备份。3软件软件数据库软件主要指数据库管理系统数据库软件主要指数据库管理系统。4用户用户数据库系统中存在一组管理(数据库管理员数据库系统中存在一组管理(数据库管理员DBA)、开发(应用程序员)、使用)、开发(应用程序员)、使用数据库(终端用户)的用户。数据库(终端用户)的用户。1.4.2 1.4.2 数据库系统的体系结构数据库系统的体系结构数据库系统的体系结构划分为数据库系统的体系结构划分为5 5类,即类,即集中集中式系统、个人计算机系统、分布式系统、客式系统、个人计算机系统、分布式系统、客户机户机/服务器系统和浏览器服务器系统和浏览器/服务器系统服务器系统。目前,客户机目前,客户机/服务器系统和浏览器服务器系统和浏览器/服务服务器系统是数据库系统中最为常用的结构。器系统是数据库系统中最为常用的结构。1.4.3 1.4.3 数据库系统三级模式结构数据库系统三级模式结构 从从DBMSDBMS方面考虑,数据库系统通常采用三级模式结构,这是方面考虑,数据库系统通常采用三级模式结构,这是DBMSDBMS内部的系统内部的系统结构。结构。在数据库中,数据模型可以分为三个层次,分别称为外模式、模式和内模式。在数据库中,数据模型可以分为三个层次,分别称为外模式、模式和内模式。1 1模式模式模式(模式(SchemaSchema)也称为逻辑模式,是数据中全体数据的逻辑结构和特征)也称为逻辑模式,是数据中全体数据的逻辑结构和特征描述,描述,是所有用户的公共数据视图是所有用户的公共数据视图。2 2外模式外模式外模式(外模式(External SchemaExternal Schema)又称子模式()又称子模式(Sub SchemaSub Schema)或用户模式,它是)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看到和使用的局部数据的逻辑数据库用户(包括应用程序员和最终用户)能够看到和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。辑表示。3 3内模式内模式内模式(内模式(Internal SchemaInternal Schema)也称为存储模式()也称为存储模式(Storage SchemaStorage Schema),一个数),一个数据库只有一个内模式。据库只有一个内模式。1.5 1.5 概念概念模型与模型与数据模型数据模型P15P151.5.1概念模型为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型。人们常常首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。现实世界中客观对象的抽象过程见图1-4:1.5.2 1.5.2 信息信息世界中的基本概念世界中的基本概念P16P161.实体实体(entity)客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,一个学生、一门课、一个供应商、一个部门、一本书、一位读者等都是实体。2.属性属性(attribute)实体所具有的某一特性称为属性。例如,图书实体可以由编号、书名、出版社、出版日期、定价等属性组成。3.主码(主码(primarykey)惟一标识实体的属性集称为主码。例如,学生号是学生实体的主码,职工号是职工实体的主码。学生实体中,主码由单属性-学号构成。1.5.2 1.5.2 信息信息世界中的基本概念世界中的基本概念P17P174.域(域(domain)属性的取值范围称为该属性的域。例如,职工性别的域为(男,女),姓名的域为字母字符串集合,年龄的域为小于150的整数,职工号的域为5位数字组成的字符串等。5.实实体体型型(entitytype)具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。图书(编号、书名、出版社、出版日期、定价)也是一个实体型。1.5.2 1.5.2 信息信息世界中的基本概念世界中的基本概念P10P106.实体集(实体集(entityset)同型)同型实体的集合称为实体集实体的集合称为实体集。例例如如,全全体体学学生生就就是是一一个个实实体体集集。图图书书馆馆的的图图书书也也是是一个实体集。一个实体集。7.联联系系(relationship)在在现现实实世世界界中中,事事物物内内部部以以及及事事物物之之间间是是有有联联系系的的,这这些些联联系系在在信信息息世世界界中中反反映映为为实实体体内内部部的联系和实体之间的联系的联系和实体之间的联系。实实体体内内部部的的联联系系通通常常是是组组成成实实体体的的各各属属性性之之间间的的联联系系。两个实体型之间的联系可以分为两个实体型之间的联系可以分为3类类:(1)一对一联系(一对一联系(1:1)(2)一对多联系(一对多联系(1:n)(3)多对多联系(多对多联系(m:n)1.5.3、概念模型的表示方法 概念模型的表示方法很多,其中最为常用的是P.P.S.Chen 于1976年提出的实体联系方法(Entity-Relationship Approach,E-R表示法)。该方法用ER图来描述现实世界的概念模型,称为实体联系模型,简称E-R模型。表1-1E-R图中各图形的含义班级班级学生学生班主任班主任院系院系班级班级组成组成选课选课11nmnE-R模型实例图1负责负责课程课程1:1m:n1:n需要注意的是,联系本身也可以有属性。如果一个联系具需要注意的是,联系本身也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。有属性,则这些属性也要用无向边与该联系连接起来。用用E-R图分别表示概念模型如图所示。图分别表示概念模型如图所示。该系统中有读者(编号,姓名,读者类型,已借数量)、图书(编号,书名,出版社,出版日期,定价)两个实体集,实体集之间通过借阅建立联系。假设一位读者可以借阅多本图书,一本图书可以经多位读者借阅。E-R图如图所示。【例【例1-4】图书借阅系统概念模型设计。】图书借阅系统概念模型设计。图书借阅系统E-R图1.5.4数据模型数据模型数据库管理中一个重要概念是数据模型。数据模型是数据数据库管理中一个重要概念是数据模型。数据模型是数据库系统中用以提供信息表示和操作手段的形式框架。库系统中用以提供信息表示和操作手段的形式框架。目前在数据库管理软件中常用的数据模型有三种,即目前在数据库管理软件中常用的数据模型有三种,即关系关系模型、层次模型和网状模型模型、层次模型和网状模型。关系模型关系模型是把存放在数据库中的数据和它们之间的联系看是把存放在数据库中的数据和它们之间的联系看作是一张张二维表作是一张张二维表。层次层次模型模型是把数据之间的关系纳入一种一对多的层次框架是把数据之间的关系纳入一种一对多的层次框架来加以描述来加以描述。网状模型网状模型是可以方便灵活地描述数据之间多对多联系的模是可以方便灵活地描述数据之间多对多联系的模型。型。目前在微型机上最常用的数据库管理软件都是支持关系模型目前在微型机上最常用的数据库管理软件都是支持关系模型的关系数据库系统。其中的关系数据库系统。其中Oracle、Sybase、Informix和和SQLServer是目前世界上最流行的数据库管理软件,它们将是目前世界上最流行的数据库管理软件,它们将SQL作为数据描作为数据描述、操作、查询的标准语言。述、操作、查询的标准语言。模型是现实世界特征的模拟和抽象。模型是现实世界特征的模拟和抽象。数据模型(数据模型(DataModel)也是一种模型,它是实现数据特征的抽象。数)也是一种模型,它是实现数据特征的抽象。数据库系统的核心是数据库,数据库是根据数据模型建立据库系统的核心是数据库,数据库是根据数据模型建立的,因而数据模型是数据库系统的基础。的,因而数据模型是数据库系统的基础。一般来讲,任何一种数据模型都是严格定义的概念的一般来讲,任何一种数据模型都是严格定义的概念的集合。这些概念必须能够精确地描述系统的静态特性、集合。这些概念必须能够精确地描述系统的静态特性、动态特性和完整性约束条件。因此,数据模型通常都是动态特性和完整性约束条件。因此,数据模型通常都是由由数据结构数据结构、数据操作数据操作和和完整性约束完整性约束3个要素组成。个要素组成。1.5.5 数据模型的种类层次模型层次模型层次模型(层次模型(HierarchicalModel)是数据库中最早出现的数据模)是数据库中最早出现的数据模型,用树形(层次)结构表示实体类型以及实体间的联系是层次型,用树形(层次)结构表示实体类型以及实体间的联系是层次模型的主要特征。模型的主要特征。在数据库中,满足以下条件的数据模型称为层次模型:在数据库中,满足以下条件的数据模型称为层次模型:只有一个结点无父结点,这个结点称为只有一个结点无父结点,这个结点称为“根结点根结点”。根结点以外的子结点,向上仅有一个父结点,向下有若干根结点以外的子结点,向上仅有一个父结点,向下有若干个子结点。个子结点。系部系部教研室教研室班级班级课程课程教师教师学生学生层次模型示例层次模型示例1.5.5 数据模型的种类网状模型网状模型网状模型网状模型(NetworkModel)是一种可以灵活地描述事物及)是一种可以灵活地描述事物及其之间关系的数据库模型。其之间关系的数据库模型。在数据库中,满足以下条件的数据模型称为网状模型:在数据库中,满足以下条件的数据模型称为网状模型:允许结点有多于一个的父结点。允许结点有多于一个的父结点。有一个以上的结点无父结点有一个以上的结点无父结点。系部系部教研室教研室课程课程班级班级教师教师学生学生学生学生学生学生网状模型示例网状模型示例1.5.5 数据模型的种类关系模型关系模型关系数据库系统采用关系模型作为数据的组织方式。关系数据库系统采用关系模型作为数据的组织方式。在现实世界中,人们经常用表格形式表示数据信息。在现实世界中,人们经常用表格形式表示数据信息。但是日常生活中使用的表格往往比较复杂,在关系模但是日常生活中使用的表格往往比较复杂,在关系模型中基本数据结构被限制为二维表格。因此,在关系型中基本数据结构被限制为二维表格。因此,在关系模型中,数据在用户观点下的逻辑结构就是一张二维模型中,数据在用户观点下的逻辑结构就是一张二维表。表。每一张二维表称为一个关系(每一张二维表称为一个关系(Relation)。)。关系模型比较简单,容易为初学者接受。关系在用户关系模型比较简单,容易为初学者接受。关系在用户看来是一个表格,记录是表中的行,属性是表中的列。看来是一个表格,记录是表中的行,属性是表中的列。例如:学生、课程、学生与课程之间的例如:学生、课程、学生与课程之间的“选课选课”联系都用关系来表联系都用关系来表示,图示,图1-9所示为一个关系模型示例。所示为一个关系模型示例。系 号系 名系 主 任课程号课 程 名学 分01法 律刘世坤101公共英语602计算机程 辉102高等数学503金 融张明明103网页制作技术204英 语余 凡104数据库程序设计4“系部”关系“课程”关系学 号姓 名性 别系 号学 号课 程 号成 绩091501张婷女0109150110181091505李波男0109150510279091508王燕女0109150810188091610陈晨男0209161010382091613马刚男0209161310475091718刘娟女0309171810168“学生”关系“选课”关系 1.6数据库设计的一般步骤数据库设计的一般步骤1.需求分析阶段需求分析阶段进进行行数数据据库库应应用用软软件件的的开开发发,首首先先必必须须准准确确了了解解与与分分析析用用户户需需求求(包包括数据处理)括数据处理)。2.概念结构设计阶段概念结构设计阶段一般一般用用E-R图表示概念模型。图表示概念模型。3.逻辑结构设计阶段逻辑结构设计阶段使使其其在在功功能能、性性能能、完完整整性性约约束束、一一致致性性和和可可扩扩充充性性等等方方面面均均满满足足用用户的需求。户的需求。4.数据库物理设计阶段数据库物理设计阶段即即利利用用选选定定的的DBMS提提供供的的方方法法和和技技术术,以以合合理理的的存存储储结结构构设设计计一一个个高效的、可行的数据库的物理结构。高效的、可行的数据库的物理结构。5.数据库实施阶段数据库实施阶段编制编制与调试应用程序,组织数据入库,并进行系统测试和试运行与调试应用程序,组织数据入库,并进行系统测试和试运行。6.数据库运行和维护阶段数据库运行和维护阶段在在数据库系统运行过程中必须不断地对其进行评价、调整与修改。数据库系统运行过程中必须不断地对其进行评价、调整与修改。1.7关系数据库概述关系数据库概述关系数据库关系数据库:是是基于关系模型的数据库,现实世界的实基于关系模型的数据库,现实世界的实体及实体间的各种联系均用单一的结构类型即关系来表示体及实体间的各种联系均用单一的结构类型即关系来表示。主要的关系数据库有主要的关系数据库有SQLServer、Access、DB2、MySQL等。等。1.7.1关系术语关系术语关系关系:一一个关系就是一张二维个关系就是一张二维表表,每个每个关系有一个关系关系有一个关系名名,也也称表名。在称表名。在Access中,一个关系存储为一个数据库文件的表。中,一个关系存储为一个数据库文件的表。如图如图1-9所示,其中有所示,其中有“系部系部”“课程课程”“学生学生”“选课选课”4个个关系。关系。元组元组:表表中的行称为元组,一行是一个元组,在中的行称为元组,一行是一个元组,在Access中,中,对应于数据库文件表中的一条记录。如图对应于数据库文件表中的一条记录。如图1-9所示,所示,“学生学生”关关系系中包含中包含6条记录。条记录。属性:属性:表中的一列就是一个属性,也称为一个字段。如图表中的一列就是一个属性,也称为一个字段。如图1-9所所示,示,“选课选课”关系包括关系包括“学号学号”“课程号课程号”“成绩成绩”3个字段。个字段。域:域:一个属性的取值称为一个域。如图一个属性的取值称为一个域。如图1-9所示,所示,“学生学生”关系关系的的“性别性别”字段的域是字段的域是“男男”或或“女女”。关键字:关键字:在表中能唯一标识一条记录的字段或字段组合,称为主在表中能唯一标识一条记录的字段或字段组合,称为主关键字。在关键字。在Access中,表示为字段或字段的组合。如图中,表示为字段或字段的组合。如图1-9所示,所示,“学生学生”关系中的关系中的“学号学号”字段为关键字,因为字段为关键字,因为“学号学号”可以唯可以唯一地表示一个学生,而学生表中的一地表示一个学生,而学生表中的“姓名姓名”字段可能会重名,因字段可能会重名,因此,此,“姓名姓名”字段不能作为唯一标识的关键字。字段不能作为唯一标识的关键字。候选关键字:候选关键字:如果某个属性的值能唯一地标识一个元组,这个属如果某个属性的值能唯一地标识一个元组,这个属性就称为候选关键字。一个表中可能有多个候选关键字,例如,性就称为候选关键字。一个表中可能有多个候选关键字,例如,学号和身份证号都是候选关键字,选择一个候选关键字作为主键,学号和身份证号都是候选关键字,选择一个候选关键字作为主键,主键的属性称为主属性。主键的属性称为主属性。在在Access中,主关键字和候选关键字都起唯一标识一个元组的作中,主关键字和候选关键字都起唯一标识一个元组的作用。用。1.7.1关系术语外部关键字:外部关键字:如果关系(表)中的一个属性(字段)不是本如果关系(表)中的一个属性(字段)不是本关系(表)中的关键字,而是另外一个关系(表)中的主关关系(表)中的关键字,而是另外一个关系(表)中的主关键字或候选关键字,则称为外部关键字。键字或候选关键字,则称为外部关键字。关系模式:关系模式:对关系的描述称为关系模式,其格式为:关系名对关系的描述称为关系模式,其格式为:关系名(属性(属性1,属性,属性2,属性,属性n)。图)。图1-9所示的所示的“选课选课”表的表的关系模式为:选课关系模式为:选课(学号学号,课程号课程号,成绩成绩)关系特点:关系特点:关系模型对关系有一定的要求,关系模型的主要关系模型对关系有一定的要求,关系模型的主要特点有:特点有:在关系(表)中每一个属性(字段)不可再分,是最基在关系(表)中每一个属性(字段)不可再分,是最基本的单位。本的单位。在同一个关系(表)中不能有相同的属性名(字段名)。在同一个关系(表)中不能有相同的属性名(字段名)。在关系(表)中不允许有相同的元组(记录)。在关系(表)中不允许有相同的元组(记录)。在关系(表)中各属性(字段)的顺序是任意的,任意在关系(表)中各属性(字段)的顺序是任意的,任意交换两个属性的位置不影响数据的实际含义。交换两个属性的位置不影响数据的实际含义。在关系(表)中元组(记录)的顺序可以是任意的。在关系(表)中元组(记录)的顺序可以是任意的。1.7.1关系术语1.7.2 关系数据库的主要特点 关系中的每个属性必须是不可分割的数据项,即表中不能再包含表。如果不满足这个条件,就不能称为关系数据库,例如,表1-2所示的表格就不符合要求。关系中每一列元素是同一类型的数据,并来自同一个域。关系中不能出现相同的字段。关系中不能出现相同的记录。关系中的行、列次序可以任意交换,不影响其信息内容。职职工号工号姓姓 名名应应 发发 工工 资资应应 扣扣 工工 资资实发实发工工资资基本工基本工资资奖奖 金金补补 贴贴房房 租租水水 电电公公 积积 金金1000110001周新周新 1.7.3关系的完整性关系的完整性关系模型的完整性规则是对关系的某种约束条件,以保证数关系模型的完整性规则是对关系的某种约束条件,以保证数据的正确性、有效性和相容性据的正确性、有效性和相容性。1实体完整性实体完整性实体完整性规则要求关系中的主键不能取空值或重复的值。实体完整性规则要求关系中的主键不能取空值或重复的值。所谓空值就是所谓空值就是“不知道不知道”或或“无意义无意义”的值。的值。例如:在例如:在“学生学生”表中,表中,“学号学号”为主键,则学号不能为空,为主键,则学号不能为空,也不能重复。也不能重复。2参照完整性参照完整性参照完整性是对关系数据库中建立关联关系的数据表间数据参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或整性是指关系中的外键必须是另一个关系的主键有效值,或者是者是NULL。例如:例如:“系号系号”在在“学生学生”表中为外键,在表中为外键,在“系部系部”表中为主表中为主键,则键,则“学生学生”表中的表中的“系号系号”只能取空值(表示学生尚未只能取空值(表示学生尚未选择某个系),或者取选择某个系),或者取“系部系部”表中已有的一个系号值(表表中已有的一个系号值(表示学生已属于某个系)。示学生已属于某个系)。实体完整性实体完整性和参照完整性是关系模型必须满足的完整性约束条和参照完整性是关系模型必须满足的完整性约束条件。此外,用户还可以根据某一具体应用所涉及的数据必须件。此外,用户还可以根据某一具体应用所涉及的数据必须满足的语义要求,自定义完整性约束,这类完整性也称为域满足的语义要求,自定义完整性约束,这类完整性也称为域完整性。完整性。例如:在例如:在“选课选课”中,如果要求成绩以百分制表示,并保留一中,如果要求成绩以百分制表示,并保留一位小数,则用户就可以在表中定义成绩字段为数值型数据,位小数,则用户就可以在表中定义成绩字段为数值型数据,小数位数为小数位数为1,取值范围为,取值范围为1100。1.7.3关系的完整性1.7.4关系运算关系运算在对关系数据库进行数据查询时,需要对关系进行在对关系数据库进行数据查询时,需要对关系进行一定的关系运算。关系的基本运算有两类,一类是传一定的关系运算。关系的基本运算有两类,一类是传统的集合运算(如并、查、交等),另一类是专门的统的集合运算(如并、查、交等),另一类是专门的关系运算(如选择、投影、连接等)。关系运算(如选择、投影、连接等)。1传统的集合运算传统的集合运算(1)并()并(Union)设有两个关系设有两个关系R和和S,它们具有相同的结构。,它们具有相同的结构。R和和S的并是由属于的并是由属于R或属于或属于S的元组组成的集合,运算符为的元组组成的集合,运算符为“”。记为。记为TRS。例如,将表例如,将表1-3中给出的有关学生信息的两个关系中给出的有关学生信息的两个关系进行并运算,结果如表进行并运算,结果如表1-4所示。所示。1.7.4关系运算表1-3学生信息的两个关系1.7.4关系运算(a)关系R学 号姓 名性 别出 生 日 期英 语090201张珊女89-05-0498090202李明男88-06-0782090203王芳女89-11-0676(b)关系S学 号姓 名性 别出 生 日 期英 语090101张婷女89-07-1867090202李明男88-06-0782090103陈刚男89-01-2680学 号姓 名性 别出 生 日 期英 语090201张珊女89-05-0498090202李明男88-06-0782090203王芳女89-11-0676090101张婷女89-07-1867090103陈刚男89-01-2680表1-4关系并运算结果(2)差(Difference)R和S的差是由属于R但不属于S的元组组成的集合,运算符为“”。记为TRS。例如,将表1-3中给出的有关学生信息的两个关系进行差运算,其结果如表1-5所示。1.7.4关系运算学 号姓 名性 别出 生 日 期英 语090201张珊女89-05-0498090203王芳女89-11-0676(3)交(Intersction)R和S的交是由既属于R又属于S的元组组成的集合,运算符为“”。记为TRS。RS=R-(R-S)。例如,将表1-3中给出的有关学生信息的两个关系进行交运算,其结果如表1-6所示。1.7.4关系运算学 号姓 名性 别出 生 日 期英 语090202李明男88-06-07822专门的关系运算专门的关系运算(1)选择运算)选择运算从关系中找出满足给定条件的那些元组称为选择。从关系中找出满足给定条件的那些元组称为选择。其中其中的条件是以逻辑表达式给出的,值为真的元组将被选取。这的条件是以逻辑表达式给出的,值为真的元组将被选取。这种运算是从水平方向抽取元组。例如:种运算是从水平方向抽取元组。例如:SELECT*FROM学生学生WHERE入学成绩入学成绩450;是从;是从“学生学生”关系中选择入关系中选择入学成绩大于学成绩大于450分的学生的元组组成新的关系模式。分的学生的元组组成新的关系模式。(2)投影运算)投影运算从关系模式中挑选若干属性组成新的关系称为投影。从关系模式中挑选若干属性组成新的关系称为投影。这这是从列的角度进行的运算,相当于对关系进行垂直分解。例是从列的角度进行的运算,相当于对关系进行垂直分解。例如:如:SELECT学号学号,姓名姓名,性别性别FROM学生学生;是从是从“学生学生”关系属性集合中选择学号,姓名,性别关系属性集合中选择学号,姓名,性别3个属性组成新的关个属性组成新的关系模式。系模式。1.7.4关系运算(3)连接运算)连接运算连接是将两个关系模式通过公共的属性名拼接连接是将两个关系模式通过公共的属性名拼接成一个更宽的关系模式,生成的新关系中包含成一个更宽的关系模式,生成的新关系中包含满足连接条件的元组。满足连接条件的元组。运算过程是通过连接条运算过程是通过连接条件来控制的,连接条件中将出现两个关系中的件来控制的,连接条件中将出现两个关系中的公共属性名,或者具有相同语义、可比的属性。公共属性名,或者具有相同语义、可比的属性。连接是对关系的结合。连接是对关系的结合。设设关系关系R和和S分别有分别有m和和n个元组,则个元组,则R与与S的的连接过程要访问连接过程要访问mn个元组。由此可见,涉及个元组。由此可见,涉及连接的查询应当考虑优化,以便提高查询效率。连接的查询应当考虑优化,以便提高查询效率。1.7.4关系运算小小 结结第第2章章ACCESS2010概述概述开始开始第第2章章Access2010概述概述2.1 Access数据库概述数据库概述 Access 2010提供了表生成器、查询生成器、宏生成器、报表设计器等许多可视化的操作工具,以及数据库向导、表向导、查询向导、窗体向导、报表向导等多种向导,可以使用户很方便地构建一个功能完善的数据库系统。Access 2010还为开发者提供了Visual Basic for Application(VBA)编程功能,使高级用户可以开发功能更加完善的数据库系统。2.2 Access 2010 的安装与卸载的安装与卸载见P232.3 Access 2010 的启动和退出的启动和退出见P25 2.4 Access 2010的系统界面的系统界面2.4.1 Backstage视图视图2.4.2 功能区功能区2.4.3 导航窗格导航窗格2.4.4 工作区与状态栏工作区与状态栏2.4.1 Backstage视图 nBackstage视图是 Access 2010 中的新功能。它包含应用于整个数据库的命令,排列在屏幕左侧,并且每个命令都包含一组相关命令或链接。这些命令通常适用于整个数据库,而不是数据库中的对象。在启动Access 2010时就可看到Backstage视图,通过它可快速访问常见功能,如创建新的空数据库、根据示例模板新建数据库、从O模板创建新数据库、打开最近使用的数据库,以及执行很多文件和数据库的维护任务(见图)。2.4.2 功能区功能区1命令选项卡命令选项卡Access 2010的“功能区”有4个命令选项卡,分别为“开始”“创建”“外部数据”和“数据库工具”。在每个选项卡下,都有不同的操作工具。2上下文命令选项卡上下文命令选项卡上下文命令选项卡就是根据用户正在使用的对象或正在执行的任务而显示的命令选项卡。例如,当用户在设计视图中设计一个窗体时,会出现“窗体设计工具”的“设计”选项卡,如图所示。3快速访问工具栏快速访问工具栏
展开阅读全文