关系代数习题.doc

上传人:jian****018 文档编号:7797423 上传时间:2020-03-24 格式:DOC 页数:8 大小:317.50KB
返回 下载 相关 举报
关系代数习题.doc_第1页
第1页 / 共8页
关系代数习题.doc_第2页
第2页 / 共8页
关系代数习题.doc_第3页
第3页 / 共8页
点击查看更多>>
资源描述
习题四1 试述关系模型的三个组成部分。关系结构、关系操作、关系完整性约束.关系是由(R,U,D,dom,F)组成,R为关系名,U位组成关系的元组属性集合,D为属性集合U来自的域,dom为对象关系的映像集合,F为属性依赖关系集合。关系操作为关系代数、关系演算、关系映象操作,此语言表达能和功能强大,约束:参照完整性约束,用户自定义约束,实体完整性约束。2 试述关系数据语言的特点和分类。关系操作语言灵活方便、语言表达能力和功能强,其特点:操作一体化,操作方式一次一集合,高度的非过程化的操作,关系操作语言包括:关系代数语言、关系演算语言、基于映像的语言,关系代数语言是对关系的运算来表达查询的语言,关系演算语言查询元组的应该满足的谓词条件的运算查询语言,基于映像的语言具有关系代数与关系演算的语言的双重特点语言查询!3定义并解释下列术语,说明它们之间的联系与区别。1)主码、候选码、外码。在一个关系中某个属性(或属性组)能够唯一标识一个元组,则称该属性为候选码,选择其中一个为主码,在关系R中属性F不是R的码,h为K关系的主码,如果F与h相对应,则称F为管系R的外码2)笛卡尔积、关系、元组、属性、域。给定一组域D1,D2,D33)关系、关系模式、关系数据库。4. 试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?5. 试述等值连接与自然连接的区别和联系。6. 对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号 成绩)。用关系代数完成如下查询。1)求学过数据库课程的学生的姓名和学号。2)求学过数据库和数据结构的学生姓名和学号。3)求没学过数据库课程的学生学号。4)求学过数据库的先行课的学生学号。7. 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNANE,CITY); SPJ(SNO,PNO,JNO,QTY)。 其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。试用关系代数完成如下查询: 1)求供应工程J1 零件的供应商号码SNO。 2)求供应工程J1 零件P1的供应商号码SNO。 3)求供应工程J1 零件为红色的供应商号码SNO。 4)求没有使用天津供应商生产的红色零件的工程号。 5)求至少用了供应商S1所供应的全部零件的工程号。8. 设属性A 是关系R 的主属性,则属性A 不能取空值小(NULL),这是_。 A. 实体完整性规则 B. 参照完整性规则 C. 用户定义完整性规则 D. 域完整性规则9. 下面对于关系的叙述中,不正确的是_。 A. 关系中的每个属性是不可分解的 B. 在关系中元组的顺序是无关紧要的 C. 任意的一个二维表都是一个关系 D. 每一个关系只有一种记录类型10. 设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡尔积 则T的元组个数是_。 A. 400 B. 10000 C. 30000 D. 9000011. 设关系R与关系S具有相同的目(或称度),且相对应的属性的值取自同一个域,则R-(R-S)等于_。 A. RS B. RS C. RS D. RS习题四解答1答:关系模型的三个组成部分为关系结构、关系操作和关系完整性约束。在关系模型中,无论是实体集,还是实体集之间的联系均由单一的关系表示。关系模式可以形式化地表示为:R(U,D,Dom,F),其中R为关系名,U为组成该关系的属性集合,D为属性组U中属性所来自的域,Dom为属性向域的映像的集合,F为属性间数据的依赖关系集合。关系操作语言包括关系代数、关系演算和基于映像的语言。关系操作语言灵活方便表达能力和功能都非常强大。其主要特点是:关系操作语言操作一体化;关系操作的方式是一次一集合方式;关系操作语言是高度非过程化的语言。关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。2 答:关系操作语言灵活方便,表达能力和功能都非常强大,其主要特点是:关系操作语言操作一体化;关系操作的方式是一次一集合方式;关系操作语言是高度非过程化的语言。关系操作语言包括关系代数、关系演算和基于映像的语言。关系代数语言是用对关系的运算来表达查询要求的语言。关系演算语言是用查询得到的元组应满足的谓词条件来表达查询要求的语言。基于映像的语言是具有关系代数和关系演算双重特点的语言。3答:1)若关系中的某一属性组(或单个属性)的值能惟一标识一个元组,则称该属性组(或属性)为候选码。当一个关系有多个候选码时,应选定其中的一个候选码为主码;而如果关系中只有一个候选码,这个惟一的候选码就是主码。设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系s的主码KS相对应,则称厅是基本关系R的外码。2)给定一组域D1,D2, Dn这些域中可以有相同的部分,则D1,D2, Dn的笛卡地积为:D1D2Dn(dl,d2,dn)diDi,i=1,2, ,n。D1D2Dn的子集称作在域D1,D2, Dn上的关系,表示为:R(D1,D2, Dn)。其中,R表示关系的名字,n是关系的目。笛卡儿积集合中的每一个元素(dl,d2,dn)称为一个元组。关系中的每一列称为一个属性。域为数据集合,属性值来源于域。3)关系是留卡儿积的有限子集,所以关系也是一个二维表。关系的描述称为关系模式。关系模式可以形式化地表示为:R(U,D,Dom,F)。其中R为关系名,它是关系的形式化表示;U为组成该关系的属性集合;D为属性组U中属性所来自的域;Dom为属性向域的映像的集合;F为属性问数据的依赖关系集合。在某一应用领域中,所有实体集及实体之间联系所形成关系的集合就构成了一个关系数据库。4答:关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。关系的实体完整性规则为:若属性A是基本关系R的主属性,则属性A的值不能为空值。关系的参照完整性规则为:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对干R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。由于外码在被参考关系A中,是非主属性,其值为空,不影响关系的实体完整性。当外码值不清楚或不确定时,可以设为空值,此时参照表中没有对应的记录与之匹配。5答:等值连接是从关系R和S的广义笛卡儿积中选取A和B属性值相等的那些元组。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。6答:7答:8答:A9答:D10答:C11答:B7. 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNANE,CITY); SPJ(SNO,PNO,JNO,QTY)。 其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。试用关系代数完成如下查询: 1)求供应工程J1 零件的供应商号码SNO。 2)求供应工程J1 零件P1的供应商号码SNO。 3)求供应工程J1 零件为红色的供应商号码SNO。 4)求没有使用天津供应商生产的红色零件的工程号。 5)求至少用了供应商S1所供应的全部零件的工程号。3. 设工程_零件数据库中有四个基本表: 供应商(供应商代码,姓名,所在城市,联系电话); 工程(工程代码,工程名,负责人,预算); 零件(零件代码,零件名,规格,产地,颜色); 供应零件(供应商代码,工程代码,零件代码,数量) 试用SQL语句完成下列操作 l)找出天津市供应商的姓名和电话。 2)查找预算在50000-100000元之间的工程的信息,并将结果按预算降序排列。 3)找出使用供应商S1所供零件的工程号码。 4)找出工程项目J2使用的各种零件名称及其数量。 5)找出上海厂商供应的所有零件号码。 6)找出使用上海产的零件的工程名称。 7)找出没有使用天津产零件的工程号码。 8)把全部红色零件的颜色改成蓝色。 9)将由供应商S5供给工程代码为J4的零件P6改为由S3供应,并作其他必要的修改。 10)从供应商关系中删除S2的记录,并从供应零件关系中删除相应的记录。8)UPDATE 零件SET颜色=蓝色WHERE颜色=红色;9)UPDATE 供应零件SET供应商代码=S3WHERE供应商代码=S5 AND工程代码=J4AND零件代码=P6;10)DELETEFROM供应零件WHERE供应商代码=S2;DELETEFROM供应商WHERE供应商代码=S29. 设要建立学生选课数据库,库中包括学生、课程和选课3个表,其表结构为: 学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课), 选课(学号,课程号,成绩)。 用 Transact-SQL完成下列操作。 l)建立学生选课库。 2)建立学生、课程和选课表。 3)建立各表以主码为索引项的索引。 4)建立学生性别只能为“男”或“女”的规则,性别为“男”的缺省,并将它们绑定在学生表上。 5)建立在对选课表输入或更改数据时,必须服从参照完整性约束的INSERT和UPDATE触发器。 6)建立在删除学生记录时,同时也要把相应的选课记录删除的触发器。 7)查询各系及学生数,最后来出共有多少系和多少学生。 8)将学生表和选课表进行内连接、左外连接和右外连接。 9)列出学生学号、姓名及学习情况。学习情况用好、较好、一般或较差表示。当平均成绩大于85分时,学习情况为好;当平均成绩在7085分之间,学习情况为较好;当平均成绩在6070分之间,学习成绩为一般;平均成绩在60分以下的为学习情况较差。1).CREATE DATABASE学生选课库ON PRIMARY(NANE=学生选课库,FILENAMEC:msSQLdata学生选课mdf,SIZE=4MB,MAXSIZE6MB,FILEROWHT=2MB)GO2)CREAT TABLE学生(学号 CHAR10)PRIMARY KEY CLUSTERED,姓名CHAR(8),性别 CHAR(2),年龄SMALLINT所在系VARCHAR(50)GOCREAT TABLE课程(课程号CHAR(10)PRIMARY KEY CLUSTERED,课程名VARCHAR(50),先行课VARCHAR(50)GOCREATE TABLE选课(学号 CHAR(10),课程号VARCHAR(50),成绩SMALLINT,CONSTRAINT C1 PRIMARY KEY(学号,课程号),CONSTRAINT C2 FOREIGN KEY(学号)REFRENCES学生(学号),CONSTRAINT FOREIGN KEY(课程号)REFERENCES课程(课程号)GO3)CREATE INDEX student_ind ON学生(学号)GOREATEI巨class_ind ON课程(课程号)GOCREATE INDEX select_ind ON选课(学号,课程号)GO4)CREAT RULE value_rule AS VALUE IN(男,女)GOCREAT DEFAULE性别缺省AS男GOEXEC sp_bindrule value_rule,学生性别GOEXEC Sp_binddefault 性别缺省,学生性别GO5)CREATE TRIGGER sc_insert ON选课FOR INSERTAS IF(SELECT COLJNT(*)FROM 学生,inserted,课程WHERE学生学号=inserted学号AND课程课程号=inserted课程号)=0ROLLBACK TRANSACTIONGOCREATE TRIGGER sc_updat6 ON选课FOR UPDATEAS IF(SELECT COUNT(*)FROM 学生,updated,课程WHERE学生学号=updated学号 AND课程课程号=updated课程号)=0ROLLBACK TRANSACTIONGO6)CREATE TRIGGER delete_all ON 学生FOR DELETEAS DELETEFROM选课WHERE选课学号=deleted学号GO7)SELECT所在系,COUNT(学号)FROM学生GROUP BY学生所在系COMPUTE COUNT(DISTINCT(所在系)COMPUTE COUNT学号)BY所在系GO8)SELECT*FROM学生INNER JOIN课程GOSELECT*FROM学生LEFT OUTER JOIN课程GOSELECT*FROM学生RIGHT OUTER JOIN课程GO9)SELECT选课学号,学生姓名,学习情况=CASEWHEN AVG(成绩)85 THEN好WHEN AVG(成绩)=75 AND AVG(成绩) 85 THEN较好WHEN AVG(成绩)60 THEN较差ENDFROM学生选课WHERE学生学号=选课学号GROUP BY选课学号GO
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!