数据库关系除法
‘壹’ 数据库常用的关系运算是什么
在关系数据库中,基本的关系运算有三种,它们是选择、投影和连接。关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接、除法、外连接等),有些查询需要几个基本运算的组合,要经过若干步骤才能完成。
一、传统的集合运算
1、并(UNION)设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。
2、差(DIFFERENCE)R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。记为T=R-S。
3、交(INTERSECTION)R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。R∩S=R-(R-S)。
二、选择运算
从关系中找出满足给定条件的那些元组称为选择。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。这种运算是从水平方向抽取元组。在FOXPRO中的短语FOR和WHILE均相当于选择运算。
如:LISTFOR出版单位='高等教育出版社'AND单价<=20
三、投影运算
从关系模式中挑选若干属性组成新的关系称为投影。这是从列的角度进行的运算,相当于对关系进行垂直分解。在FOXPRO中短语FIELDS相当于投影运算。如:LISTFIELDS单位,姓名
四、连接运算
连接运算是从两个关系的笛卡尔积中选择属性间满足一定条件的元组。
五、除法运算
在关系代数中,除法运算可理解为笛卡尔积的逆运算。
设被除关系R为m元关系,除关系S为n元关系,那么它们的商为m-n元关系,记为R÷S。商的构成原则是:将被除关系R中的m-n列,按其值分成若干组,检查每一组的n列值的集合是否包含除关系S,若包含则取m-n列的值作为商的一个元组,否则不取。
(1)数据库关系除法扩展阅读:
数据库除运算:
除运算的含义–给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。
R÷S的结果为a1,x相当于A y 相当于B,C z相当于D,按照除运算规则,我们不必关注D。只需比较B,C当S关系中的B,C所有的组合(b1,c2)(b2,c3)(b2,c1)都出现在R关系中时,结果才为A
R÷S = {tr[X] | trÎR∧πY (S) íYx },Yx:x在R中的象集,x = tr[X]。除操作是同时从行和列角度进行运算。
‘贰’ SQL如何做除法
这样:
select
t.[origin-destination],t.[SH/LANE/MOT] /(select count(1) from ['TMS$'] )ASPERCENTAGE
FROM (代码1) t
group by [origin-destination],t.[SH/LANE/MOT]
having t.[SH/LANE/MOT] /count(*) <= 0.01
注:两个count都是int,相除会没有小数部分,所以应该都给转成带小数的数。
cast as numeric(10,4) 。
(2)数据库关系除法扩展阅读:
SQL中除法运算的实现
R(X,Y)÷S(Y,Z)的运算用结构化语言SQL 语句可表达为下列形式:
select distinct R.X from R R1
where not exists
(
select S.Y from S
where not exists
(
select * from R R2
where R2.X=R1.X and R2.Y=S.Y
)
)
‘叁’ 什么是基本关系代数运算是数据库里头的额!
2.2.1 关系代数的五个基本操作
考核要求:达到“简单应用”层次
知识点:五个基本操作的含义和运算应用
(1)并(∪):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。
RUS≡{t| t∈R ∨t∈S}
(2) 差(-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。
R-S≡{t| t∈R ∧t 不属于S}
(3)笛卡尔积(×):对两个关系R和S进行操作,产生的关系中元组个数为两个关系中元组个数之积。
R×S≡{t| t=< tr,ts>∧tr∈R∧ts ∈S}
(4) 投影(σ):对关系进行垂直分割,消去某些列,并重新安排列的顺序。
(5) 选择(π):根据某些条件关系作水平分割,即选择符合条件的元组。
2.2.2 关系代数的四个组合操作
考核要求:达到“简单应用”层次
知识点:四个组合操作的含义和运算应用
(1)交(∩):R和S的交是由既属于R又属于S的元组构成的集合。
(2)联接:包括θ(算术比较符)联接和F(公式)联接.
选择R×S中满足iθ(r+j)或F条件的元组构成的集合;
概念上比较难理解,关键理解运算实例
等值联接(θ为等号“=”的联接)。
(3)自然联接(RS):在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。 如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。
(4)除法(÷):首先除法的结果中元数为两个元数的差, R÷S的操作思路如下---把S看作一个块,如果R中相同属性集中的元组有相同的块, 且除去此块后留下的相应元组均相同,那么可以得到一条元组, 所有这些元组的集合就是除法的结果
对于上述的五个基本操作和四个组合操作,应当从实际运算方面进行理解和运用。
‘肆’ 关系数据库管理系统能实现的专门关系运算包括哪些
包括投影、连接。
关系的基本运算有两种:传统的集合运算(并、差、交等)和专门的关系运算(选择、投影、自然连接、除法、外连接)。有些查询需要几个基本操作的组合,并且需要几个步骤才能完成。
在关系数据库管理系统中,数据库中的所有数据及其相互连接被组织成关系,即二维表。关系数据库系统提供完整的高级关系操作来支持数据库上的各种操作。关系模型具有严格的数学理论,使数据库的研究建立在坚实的数学基础上。
(4)数据库关系除法扩展阅读:
数据库中的专门关系操作:
1.选择:
所选逻辑表达式的基本形式是xy,其中表示比较运算符,可以是比较运算符。X和Y是属性名、常量或简单函数。它是从行的角度来看的一个操作。
2.投影:
关系R上的投影是从关系R中选择几个属性列,形成新的关系。从列的角度来看,这是一个操作。因为投影取消了某些列之后可能重复的行,所以应该取消这些相同的行。
3.自然连接:
自然连接是一种特殊的等效连接,它要求要比较的两个关系的组件必须是一组具有相同名称的属性,并且从结果中删除重复属性列。一般从连接角度看,自然连接需要取消重复的,所以是从行和列的角度来看。
4.部门:
如果关系R除以关系S的结果是关系T,那么关系T包含了R中所有的属性及其值,但不包含在S中,并且T的元组和S的元组的所有组合都在R中。
5.外部联系:
当R和S进行自然连接时,它们在公共属性中选择两个具有相同值的元组来形成新的关系。
此时,关系R和S可能具有公共属性中不相等的元组,这将导致R或S中放弃元组。这些被放弃的元组称为挂起元组。
如果悬空元组也保留在结果关系中,并且在其他属性上填充值,则该连接称为外部连接。
‘伍’ 数据库中专门的关系运算包括那三种
关系基本运算包括:选择、投影和连接。选择是筛选出符合条件的记录;投影是选择若干属性;连接是两个关系通过关联字段合并为一个新的关系。
1、选择(selection)
选择运算是单目运算,它从一个关系R中选择出满足给定条件的所有元组,并同R具有相同的结构。
关系R的选择运算是从关系R中选择满足指定条件(用F表示)的元组构成的新关系.换言之,选择运算的结果是一个表的水平方向的子集。关系R的选择运算记为:σF(R)。
2、投影(projection)
投影运算也是单目运算,它从一个关系R所有属性中选择某些指定属性,组成一个新的关系。选择运算选取关系的某些行,而投影运算选取关系的某些列,是从一个关系出发构造其垂直子集的运算。
3、连接(join)
连接运算是关系的二目运算.关系R与关系S的连接运算是从两个关系的广义笛卡尔积中选取属性间满足一定条件(称为连接条件,记为AθB)的元组形成一个新关系。
(5)数据库关系除法扩展阅读:
关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。
1、小于a<b,a小于b时返回真;否则返回假。
2、小于等于a<=b;a小于等于b时返回真;否则返回假。
3、大于a>b;a大于b时返回真;否则返回假。
4、大于等于a>=b;a大于等于b时返回真;否则返回假。
5、等于a=b;a等于b时返回真;否则返回假。
6、不等于a!=b;a不等于b时返回真;否则返回假。
关系运算符的值只能是0或1。关系运算符的值为真时,结果值都为1。关系运算符的值为假时,结果值都为0。
前4种关系运算符的优先级别相同,后两种也相同。前四种高于后两种。关系运算符的优先级低于算术运算符。关系运算符的优先级高于赋值运算符。
‘陆’ 在关系数据库中如何用五个基本操作表示除运算
加法
select sum(a) from b
减法
select a-b as c from d
求余
select mod(a,b) from c
乘法
select a*b from c
除法
select a/b from c
‘柒’ 数据库的关系代数表达式
数据库的关系代数表达式是由关系代数运算经有限次复合而成的式子。
在关系代数运算中,把由并(∪)、差(-)、笛卡尔积(×)、投影(π)、选择(σ)五个基本操作经过有限次复合的式子称为关系代数表达式。关系代数表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的各种数据查询和更新操作。
关系代数表达式用到的运算符包括集合运算符、专门的关系运算符、算术比较符和逻辑运算符。和交(∩)、联接(等值联接)、自然联接(RXS)、除法(÷) 四个组合操作。
(7)数据库关系除法扩展阅读:
关系代数表达式的运算过程是将关系的属性分为像集属性和结果属性两部分;与关系相同的属性属于像集属性;不相同的属性属于结果属性。在关系中,对像集属性投影,得到目标数据集。将被关系分组。
分组原则是结果属性值一样的元组分为一组。逐一考察每个组,如果它的像集属性值中包括目标数据集,则对应的结果属性应属于该运算结果集。
‘捌’ SQL数据库中除法用什么来实现
select 一个结果/另一个结果 from table_name
你上边写的那个*难道是多列除多列?
那好像不行吧,被除数别=0哈,要不报错
‘玖’ 数据库原理:关系代数中:除法是怎么做的呢
先找S中1 3在R中对应的C的值为2 4 6
57为2
就是
C
2
4
6
2
然后共有元组2对应属性c,所以答案是
C
2