数据库系统概论(第四版)王珊、萨师煊 第二章知识点
数据库体系概论(第四版 王珊)2.1-2.3关系模型三要素
关系的类型
关系可以分为三种类型: (1)基本表: 是数据库实际存储数据的逻辑表示,是实际存在的表。 (2)视图表: 是由基本表或其他视图表导出的表,不对应实际存储 的数据,是虚表。 (3)查询表: 是对基本表或视图表进行查询,查询结果对应的表。
关系模式
定义:关系的描述称为关系模式。 它可以形式化的表示为: R(U,D,DOM,F) -其中, R 关系名 U 组成该关系的属性名集合 D 属性组U中属性所来自的域 DOM 属性向域的映象集合 F 属性间的数据依赖关系集合 关系模式是型,关系是值
关系的表示
关系也是一个二维表,表的每行对应一个元组,表的每列对 应一个域。
表 2.2 SAP 关系
SUPERVISOR 张清玫 张清玫 刘逸 SPECIALITY 信息专业 信息专业 信息专业 POSTGRADUATE 李勇 刘晨 王敏
关系中的码
超键 侯选码(键) 在关系中能惟一标识元组的属性集称为 关系模式的超键。 不含多余属性的超键称为候选键 用户选作元组标识的候选键称为主键。 其中的每个属性都称为主属性。而不属 于任何侯选码 的属性叫作非主属性 如果模式R中属性K是其他模式的主键, 那么K在模式R中称为外键。
关系代数
关系演算
如 ALPHA QUEL 如 QBE
SQL
目前关系数据库的标准 数据库语言,如T-SQL
三、关系的完整性
实体完整性(Entity Integrity) 参照完整性(Referential Integrity) 用户定义的完整性(User-defined Integrity)
关系模型
什么是关系模型 用二维表格表示实体集,用码进行数据导航 的数据模型称为关系模型。 关系模型的三要素 关系数据结构 关系操作 关系的完整性
数据库系统概论笔记萨师煊、王珊版.doc
数据库技术总结数据(Data):是数据库中存储的基本对象数据的定义:描述事物的符号记录数据的种类:文字、图形、图象、声音等数据的特点:数据与其语义是不可分的数据库(Database,简称DB):是长期储存在计算机内、有组织的、可共享的大量数据集合数据库的特征:⏹数据按一定的数据模型组织、描述和储存⏹可为各种用户共享⏹冗余度较小⏹数据独立性较高⏹易扩展数据库管理系统(Database Management System,简称DBMS):是位于用户与操作系统之间的一层数据管理软件。
DBMS的用途:科学地组织和存储数据、高效地获取和维护数据DBMS的主要功能:数据库的运行管理保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复⏹数据库的建立和维护功能(实用程序)数据库数据批量装载数据库转储介质故障恢复数据库的重组织性能监视等数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。
⏹数据库系统的构成⏹由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。
⏹数据管理⏹对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
⏹数据模型应满足三方面要求⏹能比较真实地模拟现实世界⏹容易为人所理解⏹便于在计算机上实现⏹数据模型分成两个不同的层次(1) 概念模型也称信息模型,它是按用户的观点来对数据和信息建模。
(2) 数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。
⏹客观对象的抽象过程---两步抽象⏹现实世界中的客观对象抽象为概念模型;⏹把概念模型转换为某一DBMS支持的数据模型。
⏹数据结构⏹对象类型的集合数据结构是对系统静态特性的描述⏹两类对象⏹与数据类型、内容、性质有关的对象⏹与数据之间联系有关的对象⏹数据操作⏹对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则⏹数据操作的类型⏹检索⏹更新(包括插入、删除、修改)⏹数据模型对操作的定义⏹操作的确切含义⏹操作符号⏹操作规则(如优先级)⏹实现操作的语言⏹数据操作是对系统动态特性的描述。
数据库系统概论(第四版)_王珊_萨师煊_chp5
《数据库系统概论》--电子系信息工程教研室
5.1.1 实体完整性定义
关系模型的实体完整性
CREATE TABLE中用PRIMARY KEY定义
单属性构成的码有两种说明方法
定义为列级约束条件 定义为表级约束条件
对多个属性构成的码只有一种说明方法
定义为表级约束条件
《数据库系统概论》--电子系信息工程教研室
3. 设置为空值(SET-NULL)
• 对于参照完整性,除了应该定义外码,还应定义外码列是否允 许空值
《数据库系统概论》--电子系信息工程教研室
违约处理(续)
[例4] 显式说明参照完整性的违约处理示例
CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY(Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON DELETE CASCADE /*级联删除SC表中相应的元组*/ ON UPDATE CASCADE, /*级联更新SC表中相应的元组*/ FOREIGN KEY (Cno) REFERENCES Course(Cno) ON DELETE NO ACTION /*当删除course 表中的元组造成了与SC表不一致时拒绝删除*/ ON UPDATE CASCADE /*当更新course表中的cno时,级联更新SC表中相应的元组*/ );
Location CHAR(10),
PRIMARY KEY (Deptno) );
《数据库系统概论》--电子系信息工程教研室
属性上的约束条件的定义(续)
3. 用CHECK短语指定列值应该满足的条件
【数据库系统概论】课后习题答案_王珊[1].萨师煊(第4版)之欧阳家百创编
数据库课后习题答案欧阳家百(2021.03.07)--<王珊.萨师煊>第四版第1章绪论1.试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l)数据( Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
解析在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。
( 2)数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3)数据库系统( DataBas 。
Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
( 4)数据库管理系统( DataBase Management sytem ,简称DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。
数据库系统概论(第四版)王珊萨师煊chp3-2
查询家庭住址“海淀区”的同学的姓名和家庭住 址 SELECT 姓名,籍贯 FROM [education].[dbo].[学生] WHERE 家庭住址=’%海淀区%’ ’ 查询学号前两位是“05”的学生的姓名和系号 SELECT 姓名,系号 FROM [education].[dbo].[学生] WHERE 学号 LIKE ’05%’
排序合并法
找到表 1 的第二条元组,然后从刚才的中断点处继续顺
序扫描表2,查找满足连接条件的元组,找到后就将表1
中的第一个元组与该元组拼接起来,形成结果表中一个
元组。直接遇到表2中大于表1连接字段值的元组时,对 表2的查询不再继续 重复上述操作,直到表1或表2中的全部元组都处理完毕 为止
索引连接(INDEX-JOIN)
例:查询每门课程的选修情况,P79
查询每门课程的选修情况
SELECT Course.* , SC.* FROM Cours值与非等值连接查询 二、自身连接 三、外连接 四、复合条件连接
二、自身连接
自身连接:一个表与其自己进行连接
连接字段:连接谓词中的列名称
连接条件中的各连接字段类型必须是可比的,但名字不必是相同的
连接操作的执行过程
嵌套循环法(NESTED-LOOP)
首先在表1中找到第一个元组,然后从头开始扫描表2,逐一查找 满足连接件的元组,找到后就将表 1 中的第一个元组与该元组拼 接起来,形成结果表中一个元组。 表2全部查找完后,再找表1中第二个元组,然后再从头开始扫描
数据库系统概论
查询家庭住址“海淀区”的同学的姓名和家庭住 址 SELECT 姓名,籍贯 FROM [education].[dbo].[学生] WHERE 家庭住址=’海淀区’ ’ 查询学号前两位是“05”的学生的姓名和系号 SELECT 姓名,系号 FROM [education].[dbo].[学生] WHERE 学号 LIKE ’05_’
数据库系统概论课后习题答案 王珊萨师煊第4版1
第1章绪论1•试述数据、数据库、数据库系统、数据库管理系统的概念。
答:(I )数据(Data :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
(2 )数据库(DataBase,简称DB :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
(3 )数据库系统(DataBas e Sytem,简称DBS :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
(4 )数据库管理系统(DataBase Management sytem简称DBMs :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析DBMS是一个大型的复杂的软件系统,是计算机中的基础软件。
2•使用数据库系统有什么好处?答:使用数据库系统的好处是由数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。
使用数据库系统可以大大提高应用开发的效率。
既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。
3•试述文件系统与数据库系统的区别和联系答:文件系统与数据库系统的区别是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。
数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。
【数据库系统概论】课后习题答案_王珊.萨师煊(第4版)(1).
第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据( Data :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
( 2 )数据库( DataBase ,简称 DB :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3 )数据库系统( DataBas 。
Sytem ,简称 DBS :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。
2 .使用数据库系统有什么好处?答:使用数据库系统的好处是由数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。
使用数据库系统可以大大提高应用开发的效率。
既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。
3 .试述文件系统与数据库系统的区别和联系。
答:文件系统与数据库系统的区别是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。
数据库系统概论第四版王珊萨师煊第二章知识点
第二章关系数据库关系数据结构及形式化定义按照数据模型的3个要素,关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成。
关系在用户看来,关系模型中的数据的逻辑结构是一张扁平的二维表。
关系模型是建立在集合代数的基础上的,从集合论角度给出关系数据结构的形式化定义为:1、域定义2.1 域是一组具有相同数据类型的值的集合2、笛卡尔积笛卡尔积是域上面的一种集合运算。
定义2.2 给定一组域D1,D2,…,D n,这些域中可以是相同的域。
D1,D2,…,D n的笛卡尔积为D1×D2×…×D n={(d1,d2,…,d n)∣di∈Di,i=1,2,…,n}其中每一个元素(d1,d2,…,d n)叫做一个n元组或简称元组。
元组中的每一个值d i叫作一个分量。
若D i(i=1,2,…,n)为有限集,其基数为m i(i=1,2,…,n),则D1×D2×…×D n的基数M为笛卡尔积可表示为一个二维表。
表中每行对应一个元组,表中每一列的值来自一个域。
3、关系定义2.3 D1×D2×…×D n的子集叫作在域D1×D2×…×D n上的关系,表示为R(D1,D2,…,D n)这里R表示关系的名字,n是关系的目或度。
当n=1时,为单元关系或一元关系;当n=2时为二元关系。
关系是笛卡尔积的有限子集,表的每列对应一个域。
由于列可以相同,为了加以区分,必须对每列起一个名字,称为属性。
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。
若一个关系有多个候选码,则选定其中一个为主码。
候选码的诸属性成为主属性。
不包含在任何候选码中的属性成为非主属性或非码属性。
在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码。
关系可以由三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。
数据库系统概论王珊第四版
(2) 数据结构 一个数据结构可以由若干个数据项组成,也可以由若干个 数据结构组成,或由若干个数据项和数据结构混合组成。 数据结构描述={数据结构名,含义说明,
组成:{数据项或数据结构}}
数据结构 : 以“学生”为例 数据结构:学生 含义说明:是学籍管理子系统的主体数据结构,定义了一
数据库设计定义
广义:是数据库及其应用系统的设计 狭义: 设计数据库本身
一般定义:是指对于一个给定的应用环境,构造最优的数 据库模式,建立数据库及其应用系统,使之能够有效地存 储和管理数据,满足各种用户的应用需求,包括信息管理 要求和数据操作要求。
数据库系统概论王珊第四版
7.1 数据库设计概述
7.1.1 数据库设计的特点
个学生的有关信息 组成:学号,姓名,性别,年龄,所在系,年级
数据库系统概论王珊第四版
(3) 数据流 数据流是数据结构在系统内传输的路径。 数据流描述={数据流名,说明,数据流来源,
数据流去向,组成:{数据结构}, 平均流量,高峰期流量}
数据流: “体检结果”可如下描述: 数据流:体检结果 说明:学生参加体格检查的最终结果 数据流来源:体检 数据流去向:批准 组成:…… 平均流量:…… 高峰期流量:……
二、需求分析的方法
结构化分析方法(SA) :是从最上层的系统组织机构入手,采 用自顶向下,逐层分解的方式分析系统,并用数据流图和数据 字典描述系统。
SA方法把任何一个系统抽象为如下形式。
数据存储
信息要求
数据流
数据流
数据来源
处理
数据输出
处理要求
数据库系统概论王珊第四版
三、数据流图(DFD, Data Flow Diagram)
数据库系统概论(第四版)复习重点.docx
《数据库系统概论》复习重点重点在一到七章,考试内容三大类:基本概念,SQL语言和数据库的设计与应用第一章、绪论1・1、数据库系统概述1.1.K数据、数据库、数据库管理系统和数据库系统1.数据(Data):描述事物的符号记录。
数据与其语义密不可分。
2.数据库(DataBase,简称DB):长期存储在计算机内、有组织的、可共享的大量数据的集合。
因此,永久存储、有组织、可共享是数据库的三个基本特点。
3.数据库管理系统(DataBase Management System,简称DBMS):位于用户与操作系统之间的一层数据管理软件,其任务是科学地组织和存储数据、高效地获取和维护数据。
数据库管理系统的主要功能:1)数据定义功能2)数据组织、存储和管理3)数据操纵功能4)数据库的事务管理和运行管理5)数据库的建立和维护功能6)其他功能:DBMS与网络中其他软件系统的通信功能;一个DBMS与另一个DBMS或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等。
4.数据库系统(DataBase System, DBS):在计算机系统屮引入数据库后的系统, 由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DataBase Administrator, DBA)构成。
1.1.2,数据管理技术的产生和发展1.人工管理阶段:出现于20世纪50年代中期以前,数据处理方式是批处理。
其特点为:1)数据不保存2)应用程序管理数据3)数据不共享4)数据不具有独立性2.文件系统阶段:岀现于20世纪50年代后期到60年代中期,数据处理方式是批处理、联机实时处理。
其特点为:1)数据可以长期保存2)由文件系统管理数据文件系统缺点:数据共享性差、冗余度大、数据独立性差3.数据库系统阶段:出现于20世纪60年代后期至今,数据处理方式是批处理、联机实时处理、分布处理。
其特点(1. 1.3.数据库系统的特点)为:1)数据结构化2)数据的共享性高,冗余度低,易扩充3)数据独立性高物理独立性:用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
数据库系统概论(第四版)王珊,萨师煊考试总结
1、数据库的定义数据库(Database,简记为DB),DB是长期存储在计算机内、有组织的、可共享的大量相关数据的集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
2、DBMS的功能数据库的定义功能;数据库的操纵功能;数据库运行管理功能;数据库的建立和维护功能3、数据库系统的构成数据库;数据库管理系统;应用系统;数据库管理员(DBA);用户4、数据管理技术的发展过程▪人工管理阶段(20世纪40年代中期--50年代中期)▪文件系统阶段(20世纪50年代末期--60年代中期)▪数据库系统阶段(20世纪60年代末期--现在)5、模型是对现实世界的模拟和抽象。
6、数据模型是现实世界中数据特征的抽象7、数据模型组成要素数据结构;数据操作;完整性约束条件8、逻辑模型层次模型、网状模型、关系模型、面向对象模型、对象关系模型9、层次模型的优缺点优点:结构简单,易于实现;查询效率高。
缺点:不能表示两个以上实体型之间的复杂联系和实体型之间的多对多的联系;数据操纵不方便。
子结点的存取只能通过父结点来进行。
插入、删除复杂,父结点的删除导致子结点的删除,丢失必要的信息。
10、网状数据模型的优缺点优点▪更直接地描述现实世界,如一个结点可以有多个双亲▪具有良好的性能,存取效率较高缺点▪结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握▪DDL、DML语言复杂,用户不容易使用11、关系的完整性约束条件▪实体完整性(组成主码的属性不能有空值)▪参照完整性(不允许引用不存在的元组)▪用户定义的完整性(针对某一具体数据的约束条件,由应用决定)12、关系数据模型的优缺点优点▪建立在严格的数学概念的基础上▪概念单一▪关系模型的存取路径对用户透明缺点▪查询效率往往不如非关系数据模型▪增加了开发DBMS的难度。
13、外模式/模式映像:逻辑独立性模式/内模式映像:物理独立性14、选择、投影、并、差、笛卡尔积是5种基本操作。
数据库系统概论课后习题答案(王珊、萨师煊)
第2章关系数据库作者:佚名来源:网络1、试述关系模型的三个组成部分。
(46页)答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2、试述关系数据语言的特点和分类。
(47页)答:关系数据语言可以分为三类:A、关系代数语言。
B、关系演算语言:元组关系演算语言和域关系演算语言。
C、 SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
2、定义并理解下列术语,说明它们联系与区别:(P46---50页)(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外部码(3)关系模式,关系,关系数据库3、试述关系模型的完整性规则(53页),在参照完整性中,为什么外部码属性也可以为空?什么情况下才可以为空?(55页)答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
(P55页)若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S 不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σSno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘ (σCOLOR=’红‘ (P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))(见P62页例6)6.试述等值连接与自然连接的区别和联系。
数据库原理-王珊-萨师煊电子教案 PPT课件
FOXPRO的记录定位、插入、删除与恢复命令的应用;掌握数组与数据库文
件间的数据传递;掌握FOXPRO数据库的排序、索引、检索及数据统计命令
的应用。
五、FOXPRO程序设计
掌握FOXPRO程序文件的建立、修改与运行操作及命令使用;掌握
FOXPRO的键盘输入命令;掌握FOXPRO的运行控制命令;掌握FOXPRO程
数据的约束条件是一组完整性规则的集合。
数据库原理
30
1.2.2 概念数据模型
一、基本概念 (1)实体(Entity)
客观存在并可以相互区别的事物称为实体。(具体,抽象) (2)属性(Attribute)
实体所具有的某一特性。 例:(02001,刘成海,男,20,土木建筑)
(3)码(Key)-键
唯一表示实体的属性集。
数据库原理
17
一、人工管理阶段(20世纪50年代中期以前)
此时期特点:计算机主要用于科学计算。没有磁盘; 只有汇编语言,没有操作系统,没有管理数据的软件;数 据处理方式是批处理。
此时期数据管理特点: (1)数据不保存 (2)应用程序管理数据 (3)数据不共享 (4)数据不具有独立性
数据库原理
18
应用程序1
系统为网状数据库系统。
数据库原理
23
3、E.F.Codd的文章(1970年)
第一次提出关系模型的文章是E.F.Codd于1970年在美 国计算机学会通信杂志(CACM)上发表的“A Relational Model of Data for Large Shared Data Banks”一文。 这篇文章奠定了关系数据库的理论基础,使关系数据库从 一开始就建立在集合论和谓词演算的基础上。
数据库原理
第二章王珊,萨师煊版《数据库系统概论》讲义及课后习题答案
A 关 系 R a a c
B b b a
X={A,B}
C c c c
D d f d
Y={C,D} Z={C,D}
C 关 系 S c e
D d f
R ÷S
A a
B b
• 示例: 示例: • 设教学数据库中有三个关系: • 学生关系S(S#,Sname,Age,Sex); • 选课关系SC(S#,C#,Grade); • 课程关系C(C#,Cname,Teacher)。 • 用关系代数表达式表达下面的查询语句。
{t | φ (t )}
• 原子公式有三类:
• ① R(t) • R是关系名,t是元组变量,R(t)表 R t R t 示t是R中的元组,可表示为:
{t | R (t )}
•②
t[i ]θu[ j ]
• t,u是元组变量, 是算术比较运算符。 θ • t[i]θu[ j ]表示命题“元组t的第i个分量与元 组u的第j个分量满足比较关系θ ”
联接: • 将两个关系拼接成一个关系 • 联接是通过联接条件来控制的,联接条件为公共 属性,或者具有相同语义、可比的属性。
关系S1
Sno No0001 No0003 No0004 Sname Mary Candy Jam Sdept IS IS IS Sno
关系S2
Age 23 21 22
No0001 No0008 No0021
关系S2
Sname Mary Katter Tom Sdept IS IS IS
S1 ∪ S2
Sno No0001 No0003 No0004 No0008 No0021 Sname Mary Candy Jam Katter Tom Sdept IS IS IS IS IS
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章关系数据库关系数据结构及形式化定义按照数据模型的3个要素,关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成。
关系在用户看来,关系模型中的数据的逻辑结构是一张扁平的二维表。
关系模型是建立在集合代数的基础上的,从集合论角度给出关系数据结构的形式化定义为:1、域定义2.1 域是一组具有相同数据类型的值的集合2、笛卡尔积笛卡尔积是域上面的一种集合运算。
定义2.2 给定一组域D1,D2,…,D n,这些域中可以是相同的域。
D1,D2,…,D n的笛卡尔积为D1×D2×…×D n={(d1,d2,…,d n)∣di∈Di,i=1,2,…,n}其中每一个元素(d1,d2,…,d n)叫做一个n元组或简称元组。
元组中的每一个值d i叫作一个分量。
若D i(i=1,2,…,n)为有限集,其基数为m i(i=1,2,…,n),则D1×D2×…×D n的基数M为笛卡尔积可表示为一个二维表。
表中每行对应一个元组,表中每一列的值来自一个域。
3、关系定义2.3 D1×D2×…×D n的子集叫作在域D1×D2×…×D n上的关系,表示为R(D1,D2,…,D n)这里R表示关系的名字,n是关系的目或度。
当n=1时,为单元关系或一元关系;当n=2时为二元关系。
关系是笛卡尔积的有限子集,表的每列对应一个域。
由于列可以相同,为了加以区分,必须对每列起一个名字,称为属性。
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。
若一个关系有多个候选码,则选定其中一个为主码。
候选码的诸属性成为主属性。
不包含在任何候选码中的属性成为非主属性或非码属性。
在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码。
关系可以由三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。
基本关系具有6条性质:列是同质的;不同的列可以出自同一个域,不同的属性要给与不同的属性名;列的顺序无所谓,即列的次序可以任意交换;任意两个元组的候选码不能相同;行的顺序无所谓;分量必须取原子值,即每个分量都必须是不可分的数据项。
关系模式定义2.4 关系的描述称为关系模式。
它可以形式化地表示为R(U,D,DOM,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
关系模式通常可以简记为R(U)或R(A1,A2,…,A n),其中R为关系名,A1,A2,…,A n为属性名。
关系数据库关系数据库也有型和值之分。
关系数据库的型也成为关系数据库模式,是对关系数据库的描述。
关系数据库模式包括:若干域的定义;在这些域上定义的若干关系模式。
关系操作基本的关系操作关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。
查询操作又可分为:选择、投影、连接、除、并、差、交、笛卡尔积等。
其中选择(σ)、投影(π)、并(∪)、差(-)、笛卡尔积(×)是5种基本操作。
关系操作的特点是集合操作方式关系数据语言的分类关系代数是用对关系的运算来表达查询要求的。
关系演算式用谓词来表达查询要求的。
关系数据语言可以分为三类:关系代数语言例如ISBL元组关系演算语言例如APLHA、QUEL关系数据语言关系演算语言域关系演算语言例如QBE具有关系代数和关系演算双重特点的语言例如SQL这些关系数据语言的共同特点是:语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
关系的完整性关系的三类完整性约束关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
实体完整性和参照完整性被称作是关系的两个不变性,由关系系统自动支持。
实体完整性规则2.1 实体完整性规则若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。
参照完整性定义2.5 设F是基本关系R的一个或一组属性,但不是关系R的码。
K s是基本关系S的主码。
如果F 与K s相对应,则称F是R的外码。
并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。
关系R和S不一定是不同的关系。
同一关系内部属性之间也可能存在引用关系;外码并不一定要与相应的主码同名。
规则2.2 参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K s 相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
用户定义的完整性关系代数关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。
传统的集合运算将关系看作元组的集合,运算是从关系的“水平”方向进行。
专门的关系运算不仅涉及行而且涉及列。
比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的。
传统的集合运算传统的集合运算是二目运算,包括并、差、交、笛卡尔积四种运算。
R∪S={t︱t∈R∨t∈S}R-S ={t︱t∈R∧t∉S}R∩S ={t︱t∈R∧t∈S}=R-(R-S)R×S={︱t r∈R∧t s∈S}专门的关系运算专门的关系运算包括选择、投影、链接、除运算等。
选择:又称为限制,它是在关系R中选择满足给定条件的诸元组,记作σF(R)={ t︱t∈R∧F(t)=’真’} 其中F表示选择条件,它是一个逻辑表达式,取逻辑值“真”或“假”。
选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。
这是从行的角度进行的运算。
Exp:σSdept=’IS’(Student)投影:关系R上的投影是从R中选择出若干属性列组成新的关系。
记作πA(R)={t[A] ︱t∈R} 其中A为R中的属性列。
投影操作时从列的角度进行的运算。
投影操作不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后可能出现重复行。
Exp:πSname,Sdept(Student)连接:也成为θ连接。
它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
连接运算中有两种最为重要最为常用的连接:等值连接:即θ为“=”的连接运算自然连接:要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
一般的连接是从行的角度进行运算。
自然连接是同时从行和列的角度进行运算。
在两个关系R和S作自然连接时,关系R中某些元组有可能在关系S中不存在公共属性上值相等的元组,从而造成这些元组在操作时被舍弃了。
如果把被舍弃的元组也保存在结果关系中,而在其他属性上填空值(NULL),那么这种连接就叫做外连接。
如果只把左边关系R中要舍弃的元组保留就叫做左外连接,如果只把右边关系S中舍弃的元组保留就叫作右外连接。
除运算:给定关系R(X,Y)和S(Y,Z),其中X、Y、Z为属性组。
R中的Y与S中的Y可以由不同的属性名,但必须出自相同的域集。
R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Y x包含S在Y上投影的集合。
除操作是同时从行和列的角度进行运算。
关系演算元组关系演算语言ALPHAALPHA语言主要有GET、PUT、HOLD、UPDATE、DELETE、DROP6条语句。
语句的基本格式是: 操作语句工作空间名(表达式):操作条件检索操作:用GET语句实现GET W(o)GET W(Student.Sno,Student.Sage):Student.Sdept=’IS’∧Student.Sage<20GET W(Student.Sno,Student.Sage):Student.Sdept=’CS’ DOWN Student.Sage带定额的检索GET W(3)( Student.Sno,S tudent.Sage):Student.Sdept=’I S’ DOWN Student.Sage用元组变量的检索,元组变量主要有两方面的用途:1.简化关系名;2.操作条件中使用量词时必须用元组变量。
RANGE Student XGET W(X.Sname):X.Sdept=’IS’用存在量词的检索:查询条件使用量词时必须用元组变量。
RANGE Course CXSC SCXGET W(Student.Sname):SCX CX(SCX.Sno=Student.Sno∧o=o∧CX.Pcno=’6’)用全称量词的检索:RANGE SC SCXGET W(Student.Sname):SCX(SCX.Sno≠Student.Sno∨o≠’1’)用蕴涵的检索RANGE Couse CXSC SCXSC SCYGET W(Student.Sno):CX(SCX(SCX,Sno=’95002’∧o=o)SCY(SCY.Sno=Student.Sno∧o=o))聚集函数,关系演算中提供了COUNT, TOTAL, MAX, MIN, AVG等聚集函数。
GET W(COUNT(Student.Sdept))GET W(AVG(Student.Sage):Student=’IS’)更新操作:修改操作:用UPDATE语句实现为修改数据而读取元组时必须使用HOLD语句,HOLD语句是带上并发控制的GET语句。
HOLD W (Stuednt.Sno, Student.Sdept):Student.Snp=’95007’MOVE ‘IS’ TO W.SdeptUPDATE W插入操作:用PUT语句实现MOVE ‘8’ TO oMOVE ‘计算机组织与结构’ TO ameMOVE ‘6’ To W.CpnoMOVE‘2’ To reditPUT W(Course) (把W中的元组插入制定关系Course中)删除操作:用DELETE语句实现HOLD W(Student):Stude nt.Sno=’95110’DELETE WExp:若要将学号95001改为95102先将95001的记录读取到工作空间中;然后删除这条记录;再用宿主语言MOVE在工作空间中建立新元组;用PUT语句把该元组存入指定的关系中。
元组关系演算域关系演算语言QBE域关系演算以元组变量的分量即域变量作为谓词变元的基本对象。
QBE是一种高度非过程化的基于屏幕表格的查询语言,用户通过终端屏幕编辑程序以填写表格的方式构造查询要求,而查询结果也是以表格形式显示。
简单操作简单查询:P.是操作符,表示打印,实际上是显示。
条件查询聚集函数,主要包括CNT,SUM,AVG,MAX,MIN等对查询结果排序:“AO(i).”或“DO(i).”,升序降序,i表示排序的优先级,i值越小优先级越高。