数据库------绪论+关系数据库及其运算基础
创始人
2025-05-31 14:21:56
0

绪论

1 数据库系统概述:DB、DBS、DBMS、数据管理技术的发展
2 数据库系统的结构
3 数据库系统的组成:三级体系结构、两层映象、数据独立性
4信息、数据、数据处理与数据管理的基本概念;
5数据管理技术发展的三个阶段及各自的优缺点;
6整个数据库系统主要包括数据库、数据库用户、计算机硬件系统和计算机软件系统等几部分;
7数据库系统内部的体系结构:三级模式结构;
8数据库系统的三级抽象和二级映象保证了数据库系统的逻辑独立性和物理独立性
9E-R模型
层次模型、网状模型、关系模型和面向对象模型

文件系统和数据库

文件系统中,应用程序直接访问存储数据的文件;而数据库系统中,应用程序则通过数据库管理系统(DBMS)来访问数据。
数据库系统中,数据不再仅仅为某个程序或用户服务,存储数据的文件也不再需要直接被应用程序管理,而是由一个称为数据库管理系统的软件
统一管理

在这里插入图片描述

在这里插入图片描述

DBMS在操作系统支持下工作,应用程序在DBMS支持下才能使用数据库。

数据库系统的组成:三级体系结构、两层映象、数据独立性

三级模式结构

在这里插入图片描述

二级映象与数据独立性

在这里插入图片描述

计算机世界及其有关基本概念

属性

实体所具有的某一特性称为属性

实体

客观存在并且可以相互区别的“事物”称为实体
实体可以是具体的人、事、物,也可以是抽象的事件

实体型

具有相同属性的实体必然具有共同的特征

实体集

同型实体的集合称为实体集

能惟一标识一个实体的属性或属性集称为实体的键

属性的取值范围称为该属性的域

字段(Field)

标记实体属性的命名单位称为字段。

记录(Record)

字段的有序集合称为记录。如,一个学生(990001,张立,20,男,计算机)为一个记录。

文件(File)

同一类记录的集合称为文件。所有学生的记录组成了一个学生文件。

关键字(Key)

能惟一标识文件中每个记录的字段或字段集,称为记录的关键字 。

分量

每一行对应的列的属性值,即为元组中的一个属性值。

关键字(Key)

可惟一标识一个元组的属性或属性集,也称为关系键或主码,如S表中学号可以惟一确定一个学生,为学生关系的主码。

关系模式

关系模式是对关系的描述,是关系模型的“型” 。
一般表示为:关系名(属性1,属性2,……属性n)
如:学生(学号,姓名,性别,年龄,系别)

关系实例

关系实例是关系模式的“值”,是关系的数据,相当于二维表中的数据 。

在这里插入图片描述

关系数据库及其运算基础

关系

在这里插入图片描述

关系

关系是一种规范化了的二维表中行的集合

每一列中的分量必须来自同一个域,必须是同一类型的数据。
不同的列可来自同一个域,每一列称为属性,不同的属性必须有不同的名字 。
列的顺序可以任意交换
关系中元组的顺序(即行序)可任意
关系中每一分量必须是不可分的数据项

关系的描述称为关系模式(Relation Schema)

R(U,D,DOM,F)
R–关系名
U–属性名集合
D–属性所来自的域
DOM–属性向域的映像集合
F–属性间数据的依赖关系集合

简记为:R(U)或R(A1,A2,…,An)

关系模式

对关系的描述,一般表示为:关系名(属性1,属性2,……属性n),如:学生(学号,姓名,性别,年龄,系别)。

关系数据库与关系数据库模式

在这里插入图片描述

在这里插入图片描述

主关系键(Primary Key)

从多个候选键中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为 主关系键
每个关系必定有且仅有一个主关系键

主属性(Prime Attribute)与非码属性(Non-Prime Attribute)
主属性:包含在主关系键中的各个属性称为主属性
非码属性:不包含在任何候选键中的属性称为非码属性(或非主属性)
全码 :所有属性的组合是关系的候选键

外部关系键

被参照关系的主码和参照关系的外码必须定义在同一个域上
在这里插入图片描述
在这里插入图片描述

实体完整性(Entity Integrity)

主关系键的值不能为空或部分为空

学生关系中的主关系键“学号”不能为空
选课关系中的主关系键“学号+课程号”不能部分为空,
即“学号”和“课程号”两个属性都不能为空

参照完整性(Referential integrity)

如果关系R2的外部关系键X与关系R1的主关系键相符,则X的每个值或者等于R1中主关系键的某一个值,或者取空值

用户定义完整性(User-defined Integrity)

针对某一具体关系数据库的约束条件

反映某一具体应用所涉及的数据必须满足的语义要求

如:成绩属性的取值范围在0-100之间

关系运算

关系代数

在这里插入图片描述

关系代数的运算按运算符的不同主要分为两类:

传统的集合运算:

把关系看成元组的集合,以元组作为集合中元素来进行运算,其运算是从关系的“水平”方向即行的角度进行的。
包括并、差、交和笛卡尔积等运算

专门的关系运算:

不仅涉及行运算,也涉及列运算,这种运算是为数据库的应用而引进的特殊运算。
包括选取、投影、连接和除法等运算

相容性定义

设给定两个关系R、S,若满足:
(1) 具有相同的度n;
(2) R中第i个属性和S中第i个属性必须来自同一个域。
则说关系R、S是相容的。
除笛卡尔积外,其他的集合运算要求参加运算的关系必须满足上述的相容性定义。

并(Union) :R∪S={t | t∈R∨t∈S} 
差(Difference) :R-S = {t | t∈R∧┐t∈S} 
交(Intersection) :R∩S = {t | t∈R∧t∈S} 
广义笛卡尔积(Extended Cartesian Product) :
R×S = {tr⌒ts| tr∈R∧ts∈S}

由于传统的集合运算,只是从行的角度进行,而要灵活地实现关系数据库多样的查询操作,必须引入专门的关系运算。
在讲专门的关系运算之前,为叙述上的方便先引入几个概念。
(1)设关系模式为R(A1,A2,……An),它的一个关系为R,t∈R表示t是R的一个元组,t[Ai]则表示元组t中相应于属性Ai的一个分量。
(2)若A={Ai1,Ai2,……,Aik},其中Ai1,Ai2,……,Aik是A1,A2,……,An中的一部分,则A称为属性列或域列,Ã则表示{A1,A2,……,An}中去掉{Ai1,Ai2,……,Aik}后剩余的属性组。t[A]={t[Ai1],t[Ai2],……,t[Aik]}表示元组t在属性列A上诸分量的集合。
(3)R为n目关系,S为m目关系,tr∈R, ts∈S,tr ⌒ ts称为元组的连接(concatenation),它是一个n+m列的元组,前n个分量为R的一个n元组,后m个分量为S中的一个m元组。
(4)给定一个关系R(X,Z),X和Z为属性组,定义当t[X]=x时,x在R中的象集(image set),为Zx={t[Z]|t∈R,t[X]=x},它表示R中的属性组X上值为x的诸元组在Z上分量的集合。

在这里插入图片描述

选择运算

是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算

投影运算

是从R中选择出若干属性列,组成新的关系,即对关系在垂直方向进行的运算,从左到右按照指定的若干属性及顺序取出相应列,删去重复元组。记作:
ΠA®={t[A]|t∈R}
其中A为R中的属性列,Π为投影运算符。
从其定义可看出,投影运算是
从列的角度进行的运算;

自然连接

在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉,记为:R*S

等值连接与自然连接的区别

自然连接要求相等属性值的属性名相同,而等值连接不要求
自然连接是去掉重复列的等值连接

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

外连接

如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。

左外连接

如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)

右外连接

如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

除法(Division)

R÷S = {tr[X] | tr∈R∧Πy(S)Yx}

除法运算同时从行和列的角度进行运算,适合于包含“全部”之类的短语的查询。

在这里插入图片描述
关系R中,A可以取4个值{a1,a2,a3,a4}。其中:
a1 的象集为{(b1,c2),(b2,c3),(b2,c1)}
a2 的象集为{(b3,c7),(b2,c3)}
a3 的象集为{(b4,c6)}
a4 的象集为{(b6,c6)}
S在(B,C)上的投影为{(b1,c2),(b2,c1),(b2,c3)}
显然,只有a1的象集(B,C)a1包含了S在(B,C)属性组上的投影,所以
R ÷S={a1}
在这里插入图片描述
[例2-13] 查询至少选修了C1课程和C3课程的学生学号。

  ΠSNo,CNo(SC)÷ΠCNo(CNo='C1'∨CNo='C3' (C))

只有S4同学的象集至少包含了C1课程和C3课程,因此,查询结果为S4 。

[例2-14] 查询选修了全部课程的学生学号和姓名。

	ΠSNo,CNo(SC)÷ΠCNo(C)*ΠSNo,SN(S)

关系演算

关系演算

在这里插入图片描述
在这里插入图片描述

ALPHA语言

元组关系演算语言的典型代表是E.F.Codd提出的ALPHA语言,这种语言虽然没有实际实现,但较有名气,INGRES关系数据库上使用的QUEL语言,就是在ALPHA语言的基础上研制的。
在这里插入图片描述
下面以教学数据库为例,说明ALPHA语言的使用。

  1. 数据查询

(1)简单查询
例 查询所有学生的数据。

GET W (S)

GET语句的作用是把数据库中的数据读入内存空间W,目标表为学生关系S,代表查询出来的结果,即所有的学生。
冒号后面的操作条件缺省,表示无条件查询。

查询所有被选修的课程号码。
GET W (SC.CNO)

目标表为选课关系SC中的属性CNO,代表所有被选修的课程号码,查询结果自动消去重复行
(2)条件查询
由冒号后面的逻辑表达式给出查询条件,在表达式中可以使用如下三类运算符:
① 比较运算符:>,≥,<,≤,=等于,≠;
② 逻辑运算符:∧(与),∨(或),┐(非)
③ 表示执行次序的括号:()
其中,比较运算符的优先级高于逻辑运算符,可以使用()改变它们的优先级。

查询计算机系工资高于1000元的教师的姓名和工资。
GET W (T.TN,T.SAL):T.DEPT=’计算机’∧T.SAL>1000

目标表为教师关系T中的两个属性SN和SAL组成的属性列表。

(3)排序查询

例:查询S3同学所选课程号及成绩,并按成绩降序排列。
GET W (SC.CNO,SC.SCORE):SC.SNO=’S3’DOWN SC.SCORE
DOWN表示降序,后面紧跟排序的属性名。

升序排列时使用UP

(4)定额查询

例:查询一名男教师的教师号和姓名。
GET W (1) (T.TNO,T.TN):T.SEX=’男’

所谓的定额查询就是通过在W后面的括号中加上定额数量,限定查询出元组的个数。
这里(1)表示查询结果中男教师的个数,取出教师表中第一个男教师的教师号和姓名。
排序和定额查询可以一起使用。

例: 查询年龄最小的一名男教师的教师号和姓名。
GET W (1) (T.TNO,T.TN):T.SEX=’男’ UP T.AGE
此语句的执行过程为:先查询所有男教师的教师号和姓名,再按照年龄由小到大排序,然后找出第一位,也就是年龄最小的男教师。

(5)带元组变量的查询
所谓的元组关系演算就是以元组变量作为谓词变元的基本对象,在关系演算的查询操作时,可以在相应的关系上定义元组变量。
元组变量代表关系中的元组,其取值是在所定义的关系范围内变化,所以也称作范围变量Range Variable,一个关系可以设多个元组变量。

例: 查询S3同学所选课程号。
RANGE SC X
GET W (X.CNO):X.SNO=’S3’

使用RANGE来说明元组变量,X为关系SC上的元组变量。
如果关系的名字很长,使用起来不方便,这时可以设一个名字较短的元组变量来代替关系名,简化关系名,使操作更加方便。

QBE

QBE是Query By Example的缩写,也称为示例查询,它是一种很有特色的屏幕编辑语言,其特点如下:
(1)以表格形式进行操作
每一个操作都由一个或几个表格组成,每一个表格都显示在终端的屏幕上,用户通过终端屏幕编辑程序以填写表格的方式构造查询要求,查询结果也以表格的形式显示出来,所以它具有直观和可对话的特点。
(2)通过例子进行查询
通过使用一些实例,使该语言更易于为用户接受和掌握。
(3)查询顺序自由
当有多个查询条件时,不要求使用者按照固定的思路和方式进行查询,使用更加方便。

使用QBE语言的步骤:
(1)用户根据要求向系统申请一张或几张表格,显示在终端上;
(2)用户在空白表格的左上角的一栏内输入关系名;
(3)系统根据用户输入的关系名,将在第一行从左至右自动填写各个属性名;
(4)用户在关系名或属性名下方的一格内填写相应的操作命令,操作命令包括:P.(打印或显示)、U.(修改)、I.(插入)、D.(删除)。如果要打印或显示整个元组时,应将“P”填在关系名的下方,如果只需打印或显示某一属性,应将“P”填在相应属性名的下方。

在这里插入图片描述
在这里插入图片描述

注意:只有目标属性包括所有的属性时,将P.填在关系名的下方。
这种语言之所以称为示例查询,就是在操作中采取“示例”的方法,凡用作示例的元素,其下方均加下划线。如上例中的“赵亦”、“女”等均为示例元素,即域变量。示例元素是所给域中可能的一个值,而不必是查询结果中的元素。比如用作示例的学生姓名,可以不是学生表中的学生,只要给出任意一个学生名即可。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

走进小城看消费丨江西资溪:低碳...   夏日时节下午4点,江西省抚州市资溪县大觉山景区漂流终点依然热闹。来自南昌的游客余鑫漂流结束后没有...
【中原晨会0625】市场分析专... 来源:市场资讯 (来源:中原证券研究所) 本期重点研报目录 【中原策略】市场分析:电子半导体领涨 ...
南向资金连买4日!低费率+可月... 6月25日早盘,港股红利资产震荡整理。截至11时14分,港股红利低波ETF招商(520550)下跌0...
618成交破百万!紫荆花用一套... 一年一度的618年中大促,是消费市场的晴雨表,也是品牌间最激烈的角力场。当各大品牌在直播间里铆足了劲...
原创 黄... 2026年6月25日的国际金价已经从前期的5500美元高点跌到4200美元下方,累计跌幅超过22%,...
英伟达CEO:Vera Rub... 截至9:38,中证半导体材料设备主题指数(931743)涨2.36%创新高;权重股中,中微公司涨3....
再被催债16亿!“钢铁大王”戴... 澎湃新闻记者 贺梨萍 因“铁本事件”入狱五年的戴国芳重返钢铁行业,但他并没有完成从阶下囚再到“钢铁大...
周三原油价格下跌 随着美国和伊朗在和平谈判中取得进展,越来越多的油轮公开穿越霍尔木兹海峡,原油在战时的价格上涨已经蒸发...
这种蛋白是大脑衰老的开关 这种蛋白是大脑衰老的开关 清晨,假设一位五十岁左右的王女士发现自己常常把手机放在熟悉的抽屉里又找不到...
信通院牵头算力Token出海生... 盘面上,截至11:04,中证科创创业50指数(931643)涨1.68%,创历史新高;权重股中,芯原...
海外 774 亿营收背后:日本... 文 | 游戏价值论 6月23日,彭博社报道了腾讯正在围绕出售多家日本游戏工作室少数股权开展谈判,包...
餐饮“抢人”大战:把店开到公交... 作者 |餐饮老板内参 内参君 医院、公交站、演唱会…餐饮品牌,正在无孔不入 在北京儿童医院,肯德基...
快讯 | 外资扫货!陈翊庭:港... 港交所行政总裁陈翊庭在接受《中国证券报》专访时指出,国际资本对中国资产的看法已彻底扭转,布局中国市场...
2777.77元!A股“股王”... 25日早盘,昨天创下历史新高的A股“股王”联讯仪器,今天上午继续走强,盘中股价再度刷新历史新高。 截...
原创 今... 欧洲自己的媒体直接下结论,欧盟衰退躲不掉,内部分裂拦不住,现在就连欧洲顶尖工业巨头,都偷偷在用中国的...
黄仁勋股东大会放言:本轮AI基... 在当地时间6月24日的英伟达(NVDA.O)2026年度股东大会上,股东批准了该公司全部10名董事会...
国际油价大跌 新华社消息, 纽约原油期货主力合约价格24日盘中跌破每桶70美元,为伊朗战事爆发以来首次。 市场分析...
马云带队插秧,什么信号? 一场别开生面的“务农”,让外界看到了一个不一样的阿里巴巴。 近日,阿里巴巴合伙人、高德董事长刘振飞在...
全球最大产能,最高丰度达99.... 本文转自【科技日报】; 6月23日,高丰度硼-10同位素技术暨产业化成果发布会在山东省东营市举办,全...
黄金大跳水!金饰克价年内暴跌近... 25日,现货黄金盘中震荡,截至发稿,报3985.070美元/盎司,跌0.17%。 当地时间24日,...