高手请进

zhaomaster 2003-08-19 10:49:26
(2001年试题8)
设有如下两个关系U和V,则U|×|V运算结果的元组个数是 __A__,属性个数是__B__;U|×|V运算结果的元组个 2=1
数是__C__,属性个数是__D__。

U: A B C V: B C D
3 2 1 2 4 3
6 5 4 2 6 4
9 8 7 8 0 7
8 7 9
ER 模型可以转换成关系模型。当两个实体间联系是 M:N 联系时,它通常可转换成__E__个关系模式。
供选择的答案:
A: ①1 ②2 ③3 ④4
B: ①6 ②5 ③4 ④3
C: ①1 ②2 ③3 ④4
D: ①6 ②5 ③4 ④3
E: ①Z ②3 ③M+N ④M×N


联接操作又称"θ联接"。联接运算是从关系R和S的笛卡儿积中选取属性值之间满足一定条件的元组,记为R|×|S,这里i和j分别是关系R和S中第i个、第j个属性。
iθj
形式定义如下:
R|×|S≡σiθ(i+j)(R×S)
iθj
这里R的元数是r,θ是算术比较运算符。R|×|S操作是在R和S的笛卡儿积中挑选第i个
iθj
分量和第(r+j)个分量满足θ运算的元组组成新的关系。如果θ是等号"=",那么这个联接操作称为"等值联接"。
自然联接(Natural Join)是构造新关系的有效方法,是关系代数中常用的一种运算。利用投影、选择和自然联接操作可以任意地分割和构造关系。一般,自然联接使用在R和S有公共属性的情况中。如果两个关系没有公共属性,那么它们的自然联接就化为笛卡儿积。
两个关系R和S的自然联接用R|×|S表示,具体计算过程如下:
计算 R×S;
设R和S的公共属性是A1,A2,…,Ak,挑选R×S中满足R.A1=S.A1, R.A2, …,R.Ak=S.Ak的那些元组:
去掉S.A1, S.A2, …,S.Ak列。
因而R|×|S可用下式形式定义:
R|×|S≡πi1, i2, …, im(σR.A1=S.A1∧…∧R.Ak=S.Ak(R×S)

谁能帮我解释一下 R|x|S怎么算?能帮我把具体的过程写一下吗?就题论题。
...全文
31 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linux2001 2003-08-19
  • 打赏
  • 举报
回复
天啊,程序员考试的题都贴上来问了
dulei115 2003-08-19
  • 打赏
  • 举报
回复
等值联接:选出U,V中相同的列,即B和C,观察两个关系中B,C两列是否有相等的,上题中只有一行满足,为(8,7)=(8,7),所以结果为:
A B C B C D
9 8 7 8 7 9
自然联接:在等值联接的结果中可以看出,B和C的数据重复,即多余。平时的应用中都要去掉重复的列,因此有了自然联接,即去掉等值联接的结果中重复的列,上题结果为
A B C D
9 8 7 9
第三问结果为‘3个关系模式’,分别记载实体1的属性,实体2的属性和两实体之间的关系。

zhaomaster 2003-08-19
  • 打赏
  • 举报
回复
对呀,就是想问问题的,没人up吗??

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧