计算机基础第一讲-数据库基础知识.ppt
第第1章章 数据库基础知识数据库基础知识Access简介简介4数据库的相关概念数据库的相关概念1关系数据库关系数据库2数据库设计的步骤数据库设计的步骤3 1.1 数据库的概念数据库的概念1 1数据和数据管理数据和数据管理2 2数据管理技术发展数据管理技术发展3 3数据库系统数据库系统4 4实体及其联系实体及其联系 5 5数据模型数据模型 2 21.1 数据库的概念数据库的概念1.1.1 数据和数据管理数据和数据管理信息:指现实世界中事物的存在方式或运动信息:指现实世界中事物的存在方式或运动状态的反映。状态的反映。数据:是描述现实世界事物的符号记录形式,数据:是描述现实世界事物的符号记录形式,是利用物理符号记录下来的可以识别的信息。是利用物理符号记录下来的可以识别的信息。1信息和数据信息和数据3 31.1 数据库的概念数据库的概念1.1.1 数据和数据管理数据和数据管理物理符号包括:数字、文字、图形、图像、声音、其它物理符号包括:数字、文字、图形、图像、声音、其它物理符号包括:数字、文字、图形、图像、声音、其它物理符号包括:数字、文字、图形、图像、声音、其它特殊符号。特殊符号。特殊符号。特殊符号。信息和数据的关系信息和数据的关系信息和数据的关系信息和数据的关系数据是信息的符号表示或载体数据是信息的符号表示或载体数据是信息的符号表示或载体数据是信息的符号表示或载体信息是数据的内涵,是对数据的语义解释信息是数据的内涵,是对数据的语义解释信息是数据的内涵,是对数据的语义解释信息是数据的内涵,是对数据的语义解释1信息和数据信息和数据4 41.1 数据库的概念数据库的概念1.1.1 数据和数据管理数据和数据管理数据管理包括对各种形式的数据进行收集、存数据管理包括对各种形式的数据进行收集、存储、加工和传输等活动。储、加工和传输等活动。目的目的目的目的1.1.从大量原始数据中抽取、推从大量原始数据中抽取、推导出有价值的信息,以此作为导出有价值的信息,以此作为行动和决策的依据。行动和决策的依据。2.2.借助计算机科学地保存和管借助计算机科学地保存和管理复杂大量的数据,使人们能理复杂大量的数据,使人们能够方便和充分利用信息资源。够方便和充分利用信息资源。2数据管理数据管理5 51.1 数据库的概念数据库的概念1.1.2 数据管理技术的发展数据管理技术的发展数据管数据管理技术理技术的发展的发展人工管理阶段人工管理阶段文件系统阶段文件系统阶段数据库系统阶段数据库系统阶段分布式数据库系统阶段分布式数据库系统阶段6 61.1 数据库的概念数据库的概念1.1.2 数据管理技术的发展数据管理技术的发展时间:时间:2020世纪世纪5050年代以前年代以前用途:主要用于数值计算用途:主要用于数值计算硬件:卡片、纸带和磁带硬件:卡片、纸带和磁带软件:无系统软件和管理数据的软件软件:无系统软件和管理数据的软件1人工管理阶段人工管理阶段7 71.1.2 数据管理技术的发展数据管理技术的发展主主要要特特点点1.程序间不能共享数据;程序间不能共享数据;2.程序复杂;程序复杂;3.数据量小且无法长期保存;数据量小且无法长期保存;4.数据重复输入量大。数据重复输入量大。1人工管理阶段人工管理阶段1.1 数据库的概念数据库的概念8 81.1.2 数据管理技术的发展数据管理技术的发展时间:时间:2020世纪世纪5050年代后期至年代后期至6060年代中期年代中期硬件:磁鼓和磁盘等直接存取设备硬件:磁鼓和磁盘等直接存取设备软件:有操作系统和文件系统软件:有操作系统和文件系统2文件管理阶段文件管理阶段1.1 数据库的概念数据库的概念9 91.1.2 数据管理技术的发展数据管理技术的发展主主要要特特点点1.程序间可以共享数据;程序间可以共享数据;2.程序代码有所简化;程序代码有所简化;3.数据冗余度大;数据冗余度大;4.程序对数据依赖性较强;程序对数据依赖性较强;5.专业性较强。专业性较强。2文件管理阶段文件管理阶段1.1 数据库的概念数据库的概念10101.1.2 数据管理技术的发展数据管理技术的发展时间:时间:2020世纪世纪6060年代后期至年代后期至7070年代后期年代后期用途:主要用于数值计算用途:主要用于数值计算外存:大容量磁盘外存:大容量磁盘软件:出现许多数据库管理系统软件:出现许多数据库管理系统3 数据库系统阶段数据库系统阶段1.1 数据库的概念数据库的概念11111.1.2 数据管理技术的发展数据管理技术的发展主主要要特特点点1.数据集中式管理,高度共享;数据集中式管理,高度共享;2.数据结构化并与程序分离;数据结构化并与程序分离;3.数据冗余度小,并具有一的一致性数据冗余度小,并具有一的一致性和完整性等特点。和完整性等特点。3数据库系统阶段数据库系统阶段1.1 数据库的概念数据库的概念12121.1.2 数据管理技术的发展数据管理技术的发展主主要要特特点点1.具有很强的可靠性和可用性具有很强的可靠性和可用性;2.强大数据共享和并发控制能力强大数据共享和并发控制能力;3.数据一致性和安全性控制措施更加数据一致性和安全性控制措施更加完善。完善。4分布式系统阶段分布式系统阶段1.1 数据库的概念数据库的概念13131.1.3 数据库系统数据库系统数据库系统指带有数据库并利用数据库技术进行数据数据库系统指带有数据库并利用数据库技术进行数据管理的计算机系统,可以实现有组织地、动态地存储管理的计算机系统,可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。大量相关数据,提供数据处理和信息资源共享服务。数据库数据库(Database,简称简称DB)是数据的集合,并是数据的集合,并按照特定的组织方式将数据保存在存储介质上,按照特定的组织方式将数据保存在存储介质上,同时可以被各种用户所共享。同时可以被各种用户所共享。1 数据库数据库1.1 数据库的概念数据库的概念14141.1.3 数据库系统数据库系统1.1.数据库数据库:数据库系统的数据源数据库系统的数据源数据库系统的数据源数据库系统的数据源2数据库系统的组成数据库系统的组成1.1 数据库的概念数据库的概念2.2.数据库管理系统数据库管理系统:数据库系统的核心,是一:数据库系统的核心,是一:数据库系统的核心,是一:数据库系统的核心,是一种系统软件,负责数据库中的数据组织、操纵、种系统软件,负责数据库中的数据组织、操纵、种系统软件,负责数据库中的数据组织、操纵、种系统软件,负责数据库中的数据组织、操纵、维护、控制、保护和数据服务等。数据库管理系维护、控制、保护和数据服务等。数据库管理系维护、控制、保护和数据服务等。数据库管理系维护、控制、保护和数据服务等。数据库管理系统是位于用户与操作系统之间的数据管理软件统是位于用户与操作系统之间的数据管理软件统是位于用户与操作系统之间的数据管理软件统是位于用户与操作系统之间的数据管理软件15151.1.3 数据库系统数据库系统3.3.硬件硬件:支持系统运行的计算机硬件设备支持系统运行的计算机硬件设备支持系统运行的计算机硬件设备支持系统运行的计算机硬件设备4.4.软件软件:包括操作系统和数据库系统开发工具等包括操作系统和数据库系统开发工具等包括操作系统和数据库系统开发工具等包括操作系统和数据库系统开发工具等 5.5.数据库管理员数据库管理员:对数据库的规划、设计、对数据库的规划、设计、对数据库的规划、设计、对数据库的规划、设计、维护等进行管理的人员,一般要具有较高的数维护等进行管理的人员,一般要具有较高的数维护等进行管理的人员,一般要具有较高的数维护等进行管理的人员,一般要具有较高的数据库技术和较好的人际交往能力。据库技术和较好的人际交往能力。据库技术和较好的人际交往能力。据库技术和较好的人际交往能力。2数据库系统的组成数据库系统的组成1.1 数据库的概念数据库的概念16161.1.3 数据库系统数据库系统1.1.数据结构化数据结构化2.2.数据共享性高,冗余度低、易扩充数据共享性高,冗余度低、易扩充3.3.数据独立性高数据独立性高4.4.数据由数据库管理系统统一管理和控制数据由数据库管理系统统一管理和控制3数据库系统的特点数据库系统的特点1.1 数据库的概念数据库的概念17171.1.3 数据库系统数据库系统是用于建立、维护和管理数据库的系统软件,它是用于建立、维护和管理数据库的系统软件,它提供数据安全性和完整性的控制机制,具有完备提供数据安全性和完整性的控制机制,具有完备数据库操作命令体系;可在交互方式下管理和访数据库操作命令体系;可在交互方式下管理和访问问(存取存取)数据库,也可利用开发工具开发数据库数据库,也可利用开发工具开发数据库管理系统管理系统。Data Base Management System,DBMSData Base Management System,DBMS4 数据库管理系统数据库管理系统1.1 数据库的概念数据库的概念18181.1.3 数据库系统数据库系统1.1.数据定义数据定义 利用利用DBMSDBMS数据定义语言数据定义语言(Data Definition(Data Definition Language,DLL)Language,DLL)可以定义数据库、数据库表、可以定义数据库、数据库表、视图和索引等数据库中的相关信息。视图和索引等数据库中的相关信息。数据库管理系统管理的对象主要是数据库,其功能包括数据库管理系统管理的对象主要是数据库,其功能包括4 数据库管理系统数据库管理系统1.1 数据库的概念数据库的概念19191.1.3 数据库系统数据库系统2.2.数据操纵数据操纵通过通过DBMSDBMS数据操纵语言数据操纵语言(Data Manipulation(Data Manipulation Language,DML)Language,DML)可以对数据库中的数据进行可以对数据库中的数据进行插入、修改和删除。插入、修改和删除。3.3.数据查询数据查询通过数据查询语言通过数据查询语言(Data Query Language,(Data Query Language,DQL)DQL)可以对数据进行查询、排序、汇总和表连可以对数据进行查询、排序、汇总和表连接等操作。接等操作。4 数据库管理系统数据库管理系统1.1 数据库的概念数据库的概念20201.1.3 数据库系统数据库系统4.4.数据库运行管理和控制数据库运行管理和控制包括并发控制、安全性检查、完整性约束条件包括并发控制、安全性检查、完整性约束条件检查和执行、数据库内部资料自动维护等。检查和执行、数据库内部资料自动维护等。5.5.数据维护数据维护主要包括数据更新和转换,数据库转存和恢复,主要包括数据更新和转换,数据库转存和恢复,数据库重新组织、结构维护和性能监视等。数据库重新组织、结构维护和性能监视等。4 数据库管理系统数据库管理系统1.1 数据库的概念数据库的概念21211.1.3 数据库系统数据库系统6.6.数据组织、存储和管理数据组织、存储和管理DBMSDBMS要对数据字典、用户数据和存取路径等信要对数据字典、用户数据和存取路径等信息进行分类组织、存储和管理。息进行分类组织、存储和管理。7.7.数据通信数据通信提供与操作系统的联机处理、分时处理和远程作提供与操作系统的联机处理、分时处理和远程作业传输接口。业传输接口。4 数据库管理系统数据库管理系统1.1 数据库的概念数据库的概念22221.1.4 实体及其联系实体及其联系是客观事物的真实反映。是客观事物的真实反映。实体实体实体实体实体属性实体属性实体属性实体属性事物的特性。事物的特性。实际实际 教师,教材教师,教材 抽象抽象 一门课程,一门课程,一次借阅图书一次借阅图书实体属性值实体属性值实体属性值实体属性值是实体属性的具体化表示,属性是实体属性的具体化表示,属性值值值的集合表示一个实体值的集合表示一个实体。1实体的相关术语实体的相关术语1.1 数据库的概念数据库的概念23231.1.4 实体及其联系实体及其联系实体类型实体类型实体类型实体类型用实体名及所有属性的用实体名及所有属性的集合表示一集合表示一种实体类型,简称实体型种实体类型,简称实体型。例如,例如,例如,例如,一个教师类实体一个教师类实体教师(教师编号,教师姓名,性别,出生日期,职称,教师(教师编号,教师姓名,性别,出生日期,职称,教师(教师编号,教师姓名,性别,出生日期,职称,教师(教师编号,教师姓名,性别,出生日期,职称,联系电话,是否在职)联系电话,是否在职)联系电话,是否在职)联系电话,是否在职)例如,例如,例如,例如,一个课程类实体一个课程类实体课程(课程编号,课程姓名,开课学期,理论学时,课程(课程编号,课程姓名,开课学期,理论学时,课程(课程编号,课程姓名,开课学期,理论学时,课程(课程编号,课程姓名,开课学期,理论学时,实验学时,学分)实验学时,学分)实验学时,学分)实验学时,学分)1实体的相关术语实体的相关术语1.1 数据库的概念数据库的概念24241.1.4 实体及其联系实体及其联系实体集实体集实体集实体集具有相同属性的实体集合。具有相同属性的实体集合。在关系数据库中,通常将同一种实体型的在关系数据库中,通常将同一种实体型的数据存放在一个表中,实体属性集合作为数据存放在一个表中,实体属性集合作为表结构,而一个实体属性值的集合作为表表结构,而一个实体属性值的集合作为表中一个数据记录,表示一个实体。中一个数据记录,表示一个实体。1实体的相关术语实体的相关术语1.1 数据库的概念数据库的概念25251.1.4 实体及其联系实体及其联系一对一联系一对一联系一对一联系一对一联系指一个实体与另一个实体之间存在指一个实体与另一个实体之间存在一一对应关系。一一对应关系。例如,例如,例如,例如,一个班级一个班级 班长班长现实世界中事物之间相互关联,在事物数据化过现实世界中事物之间相互关联,在事物数据化过程中表现为实体之间的对应关系,称为联系。实程中表现为实体之间的对应关系,称为联系。实体之间的联系有一对一、一对多、多对多三种。体之间的联系有一对一、一对多、多对多三种。2实体之间联系实体之间联系1.1 数据库的概念数据库的概念26261.1.4 实体及其联系实体及其联系一对多联系一对多联系一对多联系一对多联系指一个实体对应多个实体指一个实体对应多个实体例如,例如,例如,例如,一个班级一个班级 多个学生多个学生多对多联系多对多联系多对多联系多对多联系指多个实体对应多个实体指多个实体对应多个实体例如,例如,例如,例如,学生学生 课程课程2实体之间联系实体之间联系1.1 数据库的概念数据库的概念27271.1.5 数据模型数据模型“树树”中中 结点结点 实体类型实体类型 结点间箭头结点间箭头 实体类型间联系实体类型间联系是通过树型结构表示实体及其实体是通过树型结构表示实体及其实体之间联系的数据模型。之间联系的数据模型。数据模型是数据库管理系统中用于描述实体及其数据模型是数据库管理系统中用于描述实体及其实体之间联系的方法。用于描述数据库管理系统实体之间联系的方法。用于描述数据库管理系统的数据模型有层次模型有以下三种。的数据模型有层次模型有以下三种。1层次模型层次模型1.1 数据库的概念数据库的概念28281.1.5 数据模型数据模型特点:有且仅有一个结点没有父结点,称为根结点;特点:有且仅有一个结点没有父结点,称为根结点;特点:有且仅有一个结点没有父结点,称为根结点;特点:有且仅有一个结点没有父结点,称为根结点;每个非根结点有且仅有一个父结点。每个非根结点有且仅有一个父结点。每个非根结点有且仅有一个父结点。每个非根结点有且仅有一个父结点。1层次模型层次模型1.1 数据库的概念数据库的概念学校学校 学院学院图图1.1 层次模型示例层次模型示例科研项目科研项目固定资产固定资产学生学生职工职工车辆车辆办公用品办公用品实验仪器实验仪器29291.1.5 数据模型数据模型通过网状结构表示实体及其实体之间联系的通过网状结构表示实体及其实体之间联系的通过网状结构表示实体及其实体之间联系的通过网状结构表示实体及其实体之间联系的数据模型。数据模型。数据模型。数据模型。“网网”中中 结点结点 实体类型实体类型 结点间箭头结点间箭头 实体类型间联系实体类型间联系2网状模型网状模型1.1 数据库的概念数据库的概念3030出版社出版社科研机构科研机构作者作者图书图书读者读者图图1.2 网状模型示例网状模型示例1.1.5 数据模型数据模型特点:可能有多个结点没有父结点,即多个根结点;特点:可能有多个结点没有父结点,即多个根结点;特点:可能有多个结点没有父结点,即多个根结点;特点:可能有多个结点没有父结点,即多个根结点;某个非根结点可能有多个父结点。某个非根结点可能有多个父结点。某个非根结点可能有多个父结点。某个非根结点可能有多个父结点。2网状模型网状模型1.1 数据库的概念数据库的概念31311.1.5 数据模型数据模型通过二维表结构表示实体及其实体之间联系通过二维表结构表示实体及其实体之间联系的数据模型,用二维表来表示实体类型,表的数据模型,用二维表来表示实体类型,表中一行数据描述一个实体。中一行数据描述一个实体。一张二维表一张二维表 一种实体类型一种实体类型表中的一行表中的一行 一个实体一个实体3关系模型关系模型1.1 数据库的概念数据库的概念32321.1.5 数据模型数据模型关系模型:民族关系模型:民族编码编码名称名称01021011汉汉族族满满族族朝族朝族蒙古族蒙古族编编 码码名称名称类别类别101102201202301数学数学电电子学子学法学法学新新闻闻学学英英语语理科理科理科理科文科文科文科文科文科文科学号学号姓名姓名性别性别民族民族编码编码出生日期出生日期专业编码专业编码0310101031010203111010301201李大明李大明张晓张晓光光韩韩雪雪王宇王宇鹏鹏男男男男女女女女020110011985/05/041986/06/011985/01/121985/10/01101101301202关系模型:专业关系模型:专业关系模型:专业关系模型:专业关系模型:学生关系模型:学生关系模型:学生关系模型:学生1.1 数据库的概念数据库的概念33331.2 1.2 关系数据库关系数据库1 1关系模型关系模型2 2关系运算关系运算1.2.1 关系模型关系模型1.2 关系数据库关系数据库关系关系关系关系一个关系就是一张二维表,表是属性一个关系就是一张二维表,表是属性及属性值的集合。及属性值的集合。表中每一列称为一个属性(字段),表中每一列称为一个属性(字段),每列都有属性名,为列名或字段名。每列都有属性名,为列名或字段名。表示各个属性的取值范围。表示各个属性的取值范围。指表中的一行数据,也称为记录。一个元组指表中的一行数据,也称为记录。一个元组指表中的一行数据,也称为记录。一个元组指表中的一行数据,也称为记录。一个元组对应一个实体,每张表中可以含多个元组。对应一个实体,每张表中可以含多个元组。对应一个实体,每张表中可以含多个元组。对应一个实体,每张表中可以含多个元组。属性属性属性属性域域域域元组元组元组元组1关系模型中常用术语关系模型中常用术语35351.2.1 关系模型关系模型属性值属性值属性值属性值表中行和列的交叉位置对应某个属性表中行和列的交叉位置对应某个属性的值。的值。是关系名及其所有属性的集合,一个是关系名及其所有属性的集合,一个关系模式对应一张表结构。关系模式对应一张表结构。关系模式的格式:关系模式的格式:关系名(属性关系名(属性1 1,属性,属性2 2,属性,属性3,3,属性属性n)n)关系模式关系模式关系模式关系模式1关系模型中常用术语关系模型中常用术语1.2 关系数据库关系数据库36361.2.1 关系模型关系模型候选键候选键候选键候选键在一个关系中,由一个或多个属性组在一个关系中,由一个或多个属性组成,其值能唯一地标识一个元组。成,其值能唯一地标识一个元组。1关系模型中常用术语关系模型中常用术语1.2 关系数据库关系数据库主关键字主关键字主关键字主关键字一个表中可能由多个候选键,通常用户仅一个表中可能由多个候选键,通常用户仅一个表中可能由多个候选键,通常用户仅一个表中可能由多个候选键,通常用户仅选用一个候选键,称为主关键字选用一个候选键,称为主关键字选用一个候选键,称为主关键字选用一个候选键,称为主关键字37371.2.1 关系模型关系模型如果一个关系如果一个关系如果一个关系如果一个关系R R R R的一组属性的一组属性的一组属性的一组属性F F F F不是关系不是关系不是关系不是关系R R R R的候的候的候的候选键,如果选键,如果选键,如果选键,如果F F F F与某关系与某关系与某关系与某关系S S S S的主键相对应(对的主键相对应(对的主键相对应(对的主键相对应(对应属性含义相同),则应属性含义相同),则应属性含义相同),则应属性含义相同),则F F F F是关系是关系是关系是关系R R R R的外部关的外部关的外部关的外部关键字,简称外键。键字,简称外键。键字,简称外键。键字,简称外键。外部关键字外部关键字外部关键字外部关键字例如,例如,例如,例如,“教室编号教室编号教室编号教室编号”、“星期星期星期星期”和和和和“课节课节课节课节”是是是是“选课学选课学选课学选课学生表生表生表生表”的一组属性(非候选键),也是的一组属性(非候选键),也是的一组属性(非候选键),也是的一组属性(非候选键),也是“教室表教室表教室表教室表”的候的候的候的候选键,如果这组属性被选为选键,如果这组属性被选为选键,如果这组属性被选为选键,如果这组属性被选为“教室表教室表教室表教室表”的主键,则这组的主键,则这组的主键,则这组的主键,则这组属性就是属性就是属性就是属性就是“选课学生表选课学生表选课学生表选课学生表”的一个外键。的一个外键。的一个外键。的一个外键。1关系模型中常用术语关系模型中常用术语1.2 关系数据库关系数据库38381.2.1 关系模型关系模型主表和从表主表和从表主表和从表主表和从表主表和从表是指通过外键相关联的两个表,主表和从表是指通过外键相关联的两个表,主表和从表是指通过外键相关联的两个表,主表和从表是指通过外键相关联的两个表,其中以外键为主键的表称为主表,外键所在其中以外键为主键的表称为主表,外键所在其中以外键为主键的表称为主表,外键所在其中以外键为主键的表称为主表,外键所在的表称为从表。的表称为从表。的表称为从表。的表称为从表。以上术语和前面的其他概念的对应关系如表以上术语和前面的其他概念的对应关系如表以上术语和前面的其他概念的对应关系如表以上术语和前面的其他概念的对应关系如表1.11.11.11.1所示。所示。所示。所示。现实现实世界世界关系模型关系模型数据数据库库文件文件实实体体元元组组记录记录实实体集体集关系关系数据数据库库文件或数据文件或数据表文件表文件实实体属性体属性属性属性字段字段1关系模型中常用术语关系模型中常用术语1.2 关系数据库关系数据库39391.2.1 关系模型关系模型每一个分量必须是不可分的数据项。每一个分量必须是不可分的数据项。每一列中的分量是同一类型的数据,来自同一每一列中的分量是同一类型的数据,来自同一个域。个域。不同的列可以来源于同一个域,称其中的每一列不同的列可以来源于同一个域,称其中的每一列为一个属性,不同的属性要有不同的属性名。为一个属性,不同的属性要有不同的属性名。列的次序可以任意交换。列的次序可以任意交换。任意两个元组不能完全相同。任意两个元组不能完全相同。行的顺序可以任意交换。行的顺序可以任意交换。2关系模型的特点关系模型的特点1.2 关系数据库关系数据库40401.2.2 关系运算关系运算对关系数据库进行查询时,对关系数据库进行查询时,需要找到用户感兴趣的数据,需要找到用户感兴趣的数据,这就需要对关系进行一定的这就需要对关系进行一定的关系运算。关系的基本运算关系运算。关系的基本运算有两类:一类是传统的集合有两类:一类是传统的集合运算,另一类是专门的关系运算,另一类是专门的关系运算。运算。1.2 关系数据库关系数据库41411.2.2 关系运算关系运算设有两个相同结构的关系设有两个相同结构的关系设有两个相同结构的关系设有两个相同结构的关系R R R R和和和和S S S S,R R R R与与与与S S S S的差的差的差的差是由属于是由属于是由属于是由属于R R R R但不属于但不属于但不属于但不属于S S S S的元组组成的集合。的元组组成的集合。的元组组成的集合。的元组组成的集合。差运算差运算差运算差运算交运算交运算交运算交运算两个具有相同结构的关系两个具有相同结构的关系两个具有相同结构的关系两个具有相同结构的关系R R R R和和和和S S S S,它们的交,它们的交,它们的交,它们的交是由属于是由属于是由属于是由属于R R R R又属于又属于又属于又属于S S S S的元组组成的集合。的元组组成的集合。的元组组成的集合。的元组组成的集合。在在在在AccessAccessAccessAccess中没有直接提供传统的集合运算,但可以通过其中没有直接提供传统的集合运算,但可以通过其中没有直接提供传统的集合运算,但可以通过其中没有直接提供传统的集合运算,但可以通过其他操作或编程来实现。他操作或编程来实现。他操作或编程来实现。他操作或编程来实现。并运算并运算并运算并运算两个相同结构关系的并是由属于这两个关两个相同结构关系的并是由属于这两个关两个相同结构关系的并是由属于这两个关两个相同结构关系的并是由属于这两个关系的元组组成的集合。系的元组组成的集合。系的元组组成的集合。系的元组组成的集合。1传统的集合运算传统的集合运算1.2 关系数据库关系数据库4242例:已知两个关系例:已知两个关系例:已知两个关系例:已知两个关系R R R R和和和和S S S S,关系,关系,关系,关系R R R R代表参加项目代表参加项目代表参加项目代表参加项目1 1 1 1的员工,关的员工,关的员工,关的员工,关系系系系S S S S代表参加项目代表参加项目代表参加项目代表参加项目2 2 2 2的员工,如表的员工,如表的员工,如表的员工,如表1.21.21.21.2和和和和1.31.31.31.3所示。所示。所示。所示。表表表表1.2 1.2 1.2 1.2 关系关系关系关系R R R R员员工工编编号号员员工姓名工姓名0100101001王磊王磊0100301003张晓华张晓华0100501005刘洋刘洋表表表表1.3 1.3 1.3 1.3 关系关系关系关系S S S S员员工工编编号号员员工姓名工姓名0100201002王浩田王浩田0100301003张晓华张晓华0100401004孟德水孟德水1.2.2 关系运算关系运算1.2 关系数据库关系数据库4343关系关系R R关系关系R和关系和关系S的并运算、差运算和交运算的结果如下表所示。的并运算、差运算和交运算的结果如下表所示。并运算(并运算(并运算(并运算(R RS S)差运算差运算差运算差运算(R(RS)S)交运算交运算交运算交运算(RS)(RS)员员工工编编号号员员工姓名工姓名0100101001王磊王磊0100201002王浩田王浩田0100301003张晓华张晓华0100401004孟德水孟德水0100501005刘洋刘洋员员工工编编号号员员工姓名工姓名0100101001王磊王磊0100501005刘洋刘洋员员工工编编号号 员员工姓名工姓名0100301003张晓华张晓华1.2.2 关系运算关系运算1.2 关系数据库关系数据库44441.2.2 关系运算关系运算选择操作选择操作选择操作选择操作选择操作是从表中选取满足某种条件的元选择操作是从表中选取满足某种条件的元选择操作是从表中选取满足某种条件的元选择操作是从表中选取满足某种条件的元组(记录)进行操作。通常在命令中加上组(记录)进行操作。通常在命令中加上组(记录)进行操作。通常在命令中加上组(记录)进行操作。通常在命令中加上条件子句和逻辑表达式来完成选择操作。条件子句和逻辑表达式来完成选择操作。条件子句和逻辑表达式来完成选择操作。条件子句和逻辑表达式来完成选择操作。投影操作投影操作投影操作投影操作投影是从表中选取若干列进行操作。选取投影是从表中选取若干列进行操作。选取投影是从表中选取若干列进行操作。选取投影是从表中选取若干列进行操作。选取列时不受表中列顺序的约束,可按实际需列时不受表中列顺序的约束,可按实际需列时不受表中列顺序的约束,可按实际需列时不受表中列顺序的约束,可按实际需要安排各列顺序。通常在命令中加上要选要安排各列顺序。通常在命令中加上要选要安排各列顺序。通常在命令中加上要选要安排各列顺序。通常在命令中加上要选取的各个列名称来完成投影操作。取的各个列名称来完成投影操作。取的各个列名称来完成投影操作。取的各个列名称来完成投影操作。2专门的关系运算专门的关系运算1.2 关系数据库关系数据库45451.2.2 关系运算关系运算联接操作联接操作联接操作联接操作联接是对两张表进行联接,同时生成一张联接是对两张表进行联接,同时生成一张联接是对两张表进行联接,同时生成一张联接是对两张表进行联接,同时生成一张新表,新表中含的列是被联接的两张表中新表,新表中含的列是被联接的两张表中新表,新表中含的列是被联接的两张表中新表,新表中含的列是被联接的两张表中列的并集或该并集的子集,新表中包含的列的并集或该并集的子集,新表中包含的列的并集或该并集的子集,新表中包含的列的并集或该并集的子集,新表中包含的元组是满足联接条件的所有元组集合。元组是满足联接条件的所有元组集合。元组是满足联接条件的所有元组集合。元组是满足联接条件的所有元组集合。2专门的关系运算专门的关系运算1.2 关系数据库关系数据库46461.2.2 关系运算关系运算实体完整性规则实体完整性规则实体完整性规则实体完整性规则实体完整性规则规定关系的所有主属性都不能实体完整性规则规定关系的所有主属性都不能实体完整性规则规定关系的所有主属性都不能实体完整性规则规定关系的所有主属性都不能为空值,而不是整体不能为空值。为空值,而不是整体不能为空值。为空值,而不是整体不能为空值。为空值,而不是整体不能为空值。关系模型的完整性规则是对关系的某种约束条件。关系模型的完整性规则是对关系的某种约束条件。关系模型的完整性规则是对关系的某种约束条件。关系模型的完整性规则是对关系的某种约束条件。例如例如例如例如,学生选课关系学生选课关系学生选课关系学生选课关系“学生选课(学号,课程编号,成绩)学生选课(学号,课程编号,成绩)学生选课(学号,课程编号,成绩)学生选课(学号,课程编号,成绩)”中,中,中,中,“学号、课程编号学号、课程编号学号、课程编号学号、课程编号”为主关键字,则为主关键字,则为主关键字,则为主关键字,则“学号学号学号学号”和和和和“课程编号课程编号课程编号课程编号”都不能取空值,而不是整体不能为空。都不能取空值,而不是整体不能为空。都不能取空值,而不是整体不能为空。都不能取空值,而不是整体不能为空。3关系的完整性关系的完整性1.2 关系数据库关系数据库47471.2.2 关系运算关系运算不同的关系数据库系统根据其应用环境的不同,不同的关系数据库系统根据其应用环境的不同,不同的关系数据库系统根据其应用环境的不同,不同的关系数据库系统根据其应用环境的不同,通常需要针对某一具体字段设置约束条件。通常需要针对某一具体字段设置约束条件。通常需要针对某一具体字段设置约束条件。通常需要针对某一具体字段设置约束条件。用户定义的完整性规则用户定义的完整性规则用户定义的完整性规则用户定义的完整性规则例如,学生成绩字段的取值必须在例如,学生成绩字段的取值必须在例如,学生成绩字段的取值必须在例如,学生成绩字段的取值必须在0 0 0 0 100100100100之间。之间。之间。之间。3关系的完整性关系的完整性1.2 关系数据库关系数据库48481.2.2 关系运算关系运算参照完整性规则参照完整性规则参照完整性规则参照完整性规则参照完整性是相关联的两个表之间的约束。对于具有主参照完整性是相关联的两个表之间的约束。对于具有主参照完整性是相关联的两个表之间的约束。对于具有主参照完整性是相关联的两个表之间的约束。对于具有主从关系的两个表来说,表中每条记录外键的值必须是主从关系的两个表来说,表中每条记录外键的值必须是主从关系的两个表来说,表中每条记录外键的值必须是主从关系的两个表来说,表中每条记录外键的值必须是主表中存在的,如果在两个表之间建立了关联关系,则对表中存在的,如果在两个表之间建立了关联关系,则对表中存在的,如果在两个表之间建立了关联关系,则对表中存在的,如果在两个表之间建立了关联关系,则对一个关系进行的操作要影响到另一个表中的记录。一个关系进行的操作要影响到另一个表中的记录。一个关系进行的操作要影响到另一个表中的记录。一个关系进行的操作要影响到另一个表中的记录。例如例如例如例如,在学生表和选课表之间用学号建立了关联关系,学,在学生表和选课表之间用学号建立了关联关系,学,在学生表和选课表之间用学号建立了关联关系,学,在学生表和选课表之间用学号建立了关联关系,学生表是主表,选课表是从表,那么在向从表添加新记录时,生表是主表,选课表是从表,那么在向从表添加新记录时,生表是主表,选课表是从表,那么在向从表添加新记录时,生表是主表,选课表是从表,那么在向从表添加新记录时,系统要检查新记录的学号是否在主表中已存在,如果存在系统要检查新记录的学号是否在主表中已存在,如果存在系统要检查新记录的学号是否在主表中已存在,如果存在系统要检查新记录的学号是否在主表中已存在,如果存在则允许执行输入操作,否则拒绝输入,这就是参照完整性。则允许执行输入操作,否则拒绝输入,这就是参照完整性。则允许执行输入操作,否则拒绝输入,这就是参照完整性。则允许执行输入操作,否则拒绝输入,这就是参照完整性。3关系的完整性关系的完整性1.2 关系数据库关系数据库49491.3 1.3 数据库设计的步骤数据库设计的步骤设计设计步骤步骤需求分析需求分析概念结构设计概念结构设计逻辑结构设计逻辑结构设计物理结构设计物理结构设计数据库实施数据库实施数据库运行和维护数据库运行和维护50501.3 数据库设计的步骤数据库设计的步骤设计一个数据库,首先必须准确、全面和深入地了解设计一个数据库,首先必须准确、全面和深入地了解设计一个数据库,首先必须准确、全面和深入地了解设计一个数据库,首先必须准确、全面和深入地了解和分析用户需求,包括数据需求和处理需求。需求分和分析用户需求,包括数据需求和处理需求。需求分和分析用户需求,包括数据需求和处理需求。需求分和分析用户需求,包括数据需求和处理需求。需求分析是整个设计活动的基础,也是最困难、最花时间的析是整个设计活动的基础,也是最困难、最花时间的析是整个设计活动的基础,也是最困难、最花时间的析是整个设计活动的基础,也是最困难、最花时间的一步。一般由数据库专业人员与业务专家合作进行。一步。一般由数据库专业人员与业务专家合作进行。一步。一般由数据库专业人员与业务专家合作进行。一步。一般由数据库专业人员与业务专家合作进行。1需求分析需求分析2概念结构设计概念结构设计在需求分析基础上,用概念数据模型(如在需求分析基础上,用概念数据模型(如在需求分析基础上,用概念数据模型(如在需求分析基础上,用概念数据模型(如E-RE-RE-RE-R模型),表模型),表模型),表模型),表示数据及其相互间的联系,形成数据库概念结构(如示数据及其相互间的联系,形成数据库概念结构(如示数据及其相互间的联系,形成数据库概念结构(如示数据及其相互间的联系,形成数据库概念结构(如E-RE-RE-RE-R图)。概念结构(模式)与具体图)。概念结构(模式)与具体图)。概念结构(模式)与具体图)。概念结构(模式)与具体DBMSDBMSDBMSDBMS无关,是对现实世界无