㈠ 数据库关系代数
因为存在操作符和操作数,操作数为表,操作符为交、并等;
关系代数有分为基于集合的关系代数和基于包的关系代数;
关系代数的基本操作:并、选择、投影、笛卡尔积、差、重命名;
基本操作的意思是其他的操作符可以通过基本操作推出;
注意:如果我们使用并、交、差运算,必须保证R和S的属性集合是相同的,当然如果不同,也可以通过重命名操作;
㈡ 关系数据库关系代数表达式怎么写
一、关系代数的9种操作:
关系代数中包括了:并、交、差、乘、选择、投影、联接、除、自然联接等操作。
五个基本操作:
并(∪)、差(-)、笛卡尔积(×)、投影(σ)、选择(π)
四个组合操作:
交(∩)、联接(等值联接)、自然联接(R S)、除法(÷)
注2:等值连接表示先做笛卡尔积(×)之后,对相应列进行选择或等值关联后的结果(仅筛选行、不筛选列)
注2:自然连接表示两个关系中若有相同名称的属性,则自动作为关联条件,且仅列出一列
二、关系代数表达式:
由关系代数运算经有限次复合而成的式子称为关系代数表达式。这种表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的查询和更新操作。
三、举例说明:
设教学数据库中有3个关系:
学生关系S(SNO, SNAME,AGE,SEX)
学习关系SC(SNO,CNO,GRADE)
课程关系C(CNO,CNAME,TEACHER)
(1) 检索学习课程号为C2的学生学号与成绩
------------------------------------
SELECT SNO,GRADE
FROM SC
WHERE CNO='C2'
------------------------------------
π SNO, GRADE (σ CNO='C2' (SC))
************************************
(2) 检索学习课程号为C2的学生学号与姓名
------------------------------------
SELECT SC.SNO,S.SNAME
FROM SC,S
WHERE SC.SNO=S.SNO
AND SC.CNO='C2'
------------------------------------
π SNO,SNAME (σ CNO='C2' (S SC))
此查询涉及S和SC,先进行自然连接,然后再执行选择投影操作。
----
π SNO,SNAME (S) (π SNO (σ CNO='C2' (SC)))
自然连接的右分量为"学了C2课的学生学号的集合"。
此表达式比前一个表达式优化,执行起来要省时间、省空间。
************************************
(3) 检索选修课程名为MATHS的学生学号与姓名
------------------------------------
SELECT SC.SNO,S.SNAME
FROM SC,S,C
WHERE SC.SNO=S.SNO
AND SC.CNO=C.CNO
AND C.CNAME='MATHS'
------------------------------------
π SNO, SANME (σ CNAME='MATHS' (S SC C))
************************************
(4) 检索选修课程号为C2或C4的学生学号
------------------------------------
SELECT SNO
FROM SC
WHERE CNO='C2'
OR CNO='C4'
------------------------------------
π SNO (σ CNO='C2'∨CNO='C4' (SC))
************************************
(5) 检索至少选修课程号为C2或C4的学生学号
------------------------------------
SELECT SA.SNO
FROM SC AS SA,SC AS SB
WHERE SA.SNO=SB.SNO
AND SA.CNO='C2'
AND SB.CNO='C4'
------------------------------------
π 1 (σ 1=4∧2='C2'∧5='C4' (SC×SC))
************************************
(6) 检索不学C2课的学生姓名与年龄
------------------------------------
SELECT SNAME,AGE
FROM S
MINUS
SELECT S.SNAME,S.AGE
FROM SC,S
WHERE SC.SNO=S.SNO
AND SC.CNO='C2'
(Oracle)
------------------------------------
π SNAME, AGE (S)-π SNAME, AGE (σ CNO='C2' (S SC))
************************************
(7) 检索学习全部课程的学生姓名
------------------------------------
㈢ 数据库原理习题求助~~分别用关系代数和sql语言写一下这6个小题~~拜托万分感谢啦~~
子查询..inner join.都可以..你自己想吧
㈣ 数据库原理难题,设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:注意分别用关系代数和SQL语句哦
关系代数:
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))
sql语句:
( l )求供应工程 Jl 零件的供应商号码 SNO ;
SELECT SNO FROM SPJ WHERE JNO=’J1’
( 2 )求供应工程 Jl 零件 Pl 的供应商号码 SNO ;
SELECT SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'
( 3 )求供应工程 Jl 零件为红色的供应商号码 SNO ;
SELECT SNO FROM SPJ,P WHEREJNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'
( 4 )求没有使用天津供应商生产的红色零件的工程号 JNO ;
SELECT JNO FROM SPJ WHERE JNO NOT IN(SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' ANDS.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
( 5 )求至少用了供应商 Sl 所供应的全部零件的工程号 JNO ;
由于VFP不允许子查询嵌套太深,将查询分为两步
A、查询S1供应商供应的零件号
SELECT PNO FROM SPJ WHERE SNO='S1'结果是(P1,P2)
B、查询哪一个工程既使用P1零件又使用P2零件。
SELECT FROM SPJ WHEREPNO='P1'
AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')
㈤ 求解数据库关系代数查询
1.select 系别,年龄 from table where 学号 = '99011'
2.select 学生name, 课程名 from table where 成绩<60
3.select 学生名 from table where 课程名= '计算机' and 成绩<60
4select 成绩 from table where 学生名 = '数据库原理'
㈥ 关系数据库中关系代数的基本运算有哪些
五种基本操作:并,差,积,选择,投影;构成关系代数完备的操作集。其他非基本操作:可以用以上五种基本操作合成的所有操作。并(U)、交(⌒)、投影(π)选择(σ)和笛卡儿积(×)。
传统的集合运算:
1、并(UNION)设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。
2、差(DIFFERENCE)R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。记为T=R-S。
3、交(INTERSCTION)R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。R∩S=R-(R-S)。
(6)数据库原理关系代数扩展阅读:
在数据库世界里,后关系数据库仍旧泰然自若,保持其本色。
在现代IT界,SQL和XML已经成为数据库的非常重要组成部分,这二者成为数据库系统结构组成部分的历史也很长久了,至于开始的时间我也很难记得了。
在60年代末和70年代初,出现了具备灵活字段长度、嵌套表格、松散数据类型选择的数据库构架,这样的数据库系统不仅受市场欢迎,也得到大家的青睐。这些早期的数据库系统虽然缺乏像XML一样的标记功能,但是它们在实际工作中却表现出和XML极为类似的功能。
描述这些数据库系统的术语是“后关系”或者“多值”,它们没有SQL关系数据库知名,是因为这些数据库系统缺乏许多新闻的宣传度,我们很容易把它认为是一个实验而已,然后这些实验在人们的印象中就会半途而废了,最终慢慢的消失。
㈦ 数据库原理:关系代数中:除法是怎么做的呢
目测那 5 7 6 是R关系中打掉的最后一排,如果是这样,那么R÷S就是{2,6}
㈧ 数据库关系代数运算问题
(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) 选择(π):根据某些条件关系作水平分割,即选择符合条件的元组。
㈨ 关系数据库的基本原理
关系型数据库是由许多数据表(Table)所组成,资料表又是由许多笔记录(Row 或Record)所组成,而纪录又是由许多的字段(Column 或Filed)所组成。假设我们是一个电子商务网站,现在要纪录使用者的数据,你可能会想到要纪录使用者的账号、密码、姓名、电话、住址以及E-mail 等数据;这一些你所要纪录的项目,每一个项目就是一个字段。