我已经整理好啦~你们根据目录找对应题目就好啦,嘿嘿~姐姐是不是还有点小贴心呢?
° · 🛸 🌏 ° 🌘 • .° ✯✯ ★ *° 🛰 °· . • °★ •
▁▂▃▄▅▆▇▇▆▅▄▃▁▂▃.
目录
2.设R={A,B,C,D},F={A→B,A→C,C→D},ρ={ABC,CD}。分解是否无损联接分解?试说明理由。
3.设关系模式R(ABC),函数依赖F={A→B,B→A,A→C}满足3NF还是满足BCNF,试说明理由。
7.设有关系模式R(A,B,C,D,E,G,K),其最小函数依赖集F={AB→C,B→DE,C→G,G→A}
S(S#,SNAME,AGE,SEX)
C(C#,CNAME,TEACHER)
SC(S#,C#,GRADE)
试用关系代数表达式表示下列查询语句:
(1)检索至少选修两门课程的学生学号(S#)。
∏S# (σ1=4∧2≠5(SC×SC)
(2)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
∏C#,CNAME(C⋈(∏S#,C#(SC) ÷∏S#(S))
(3)检索选修课程包含“陈军”老师所授课程之一的学生学号(S#)。
∏S#(SC⋈∏C#(σTEACHER=’陈军’(C))
(4)检索选修课程号为k1和k5的学生学号(S#)。
∏S#, C# (SC) ÷∏C#(σC#=’k1’∨ C#=’k5’(C))
学生表S(SNO,SNAME,AGE,SEX),其属性分别表示学号、学生姓名、年龄、性别。课程表C(CNO,CNAME,TEACHER),其属性分别表示课程号、课程名、上课教师名。选修表SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
有如下SQL查询语句:
SELECT CNO
FROM C
WHERE CNO NOT IN
(SELECT CNO
FROM S,SC
WHERE S.SNO=SC.SNO
AND SNAME='张三');
请完成下列问题:
(1)用汉语句子阐述上述SQL语句的含义。
答:查询张三同学没有选修的课程的课程号。
(2)用等价的关系代数表达式表示上述SQL查询语句。
答:πCNO(C)- πCNO (sSNAME='张三' (S)⋈SC) 或
πCNO(C)- πCNO (sSNAME='张三' (S⋈SC))
学生(学号,姓名,性别,专业)
课程(课程号,课程名,学分)
学习(学号,课程号,分数)
分别用关系代数表达式和SQL语句实现下列1—5小题
(1)检索所有选修了课程号为“C112”的课程的学生的学号和分数;
解:SQL语句:
SELECT 学号,分数 FROM 学习 WHERE 课程号=’C112’
(SELECT 学号,分数 FROM 学习,WHERE 课程号=’C112’)
关系代数:
π学号,分数(课程号=’C112’(学习))
(π学号,分数,课程号=’C112’(学习)
(2)检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数;
SQL语句:
SELECT 学生.学号,姓名,课程名,分数
FROM 学生,学习,课程
WHERE 学习.学号=学生.学号 AND 学习.课程号=课程.课程号 AND 专业=’英语’
关系代数:
π学号,姓名,课程名,分数(π学号,姓名(专业=’英语’(学生))学习π课程号,课程名(课程))
(π学号,姓名,课程名,分数1分,π学号,姓名(专业=’英语’(学生))学习π课程号,课程名(课程)
(3)检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数;
SQL语句:
SELECT 学生.学号,姓名,专业,分数
FROM 学生,学习,课程
WHERE 学生.学号=学习.学号 AND 学习.课程号=课程.课程号 AND分数>90 AND 课程名=‘数据库 原理’
关系代数:
π学号,姓名,专业,分数(π学号,姓名,专业(学生)(分数>90(学习))π课程号,课程名( 课程名=’数 据库原理’(课程)))
(π学号,姓名,专业,分数,π学号,姓名,专业(学生)(分数>90(学习))π课程号,课程名(课程名=’数据库原理’(课程))
(4)检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业;
SQL语句:
SELECT 学号,姓名,专业
FROM 学生
WHERE 学号 NOT IN
(SELECT 学号 FROM 学习 WHERE 课程号=‘C135’)
关系代数:
(π学号(学生)-π学号(课程号=‘C135’ (学习)))(π学号,姓名,专业(学生)
(π学号(学生)-1分,π学号(课程号=‘C135’ (学习)))(π学号,姓名,专业(学生)
(5)检索至少学过课程号为“C135”和“C219”的课程的学生的信息,包括学号、姓名和专业。
SQL语句:
SELECT 学号,姓名,专业 FROM 学生 WHERE 学号 IN
(SELECT X1.学号 FROM 学习 X1,学习 X2 WHERE X1.学号=X2.学号 AND X1.课程号=‘C135’AND X2.课程号=‘C219’)
关系代数:
(π学号,课程号(学习)÷π课程号(课程号=‘C135’∨课程号=‘C219’ (课程)))π学号,姓名,专业(学生)
(π学号,课程号(学习)÷π课程号(课程号=‘C135’∨课程号=‘C219’ (课程))1分,π学号,姓名,专 业(学生)
学生表:S(Sno, Sname, Sage, Ssex)
成绩表:SC(Sno, Cno, Grade)
现有如下SQL语句:
SELECT Sname FROM S INNER JOIN SC ON S.Sno=SC.Sno
WHERE Grade >= 60
请给出关系代数式和题目含义。
解答:
关系代数:
题目含义:查询成绩大于等于60分所有学生的姓名。
(1)R(X,Y,Z)
F={X→Y,X→Z}
答:BCNF.R的候选码为X,而且F中每一个函数依赖的左部都包含了候选码X。
(2)R(A,B,C,D,E)
F={AB→C,AB→E,A→D,BD→ACE}
答:3NF.R的候选码是AB和BD,R中非主属性C和E都直接且完全函数依赖于候选码AB和BD,但存在主属性D对候选码AB的部分函数依赖,因此R最高属于3NF。
(3)R(W,X,Y,Z)
F={X→Z,WX→Y}
答:1NF。R的候选码为WX,则Y,Z为非主属性,又由于X→Z,因此F中存在非主属性对候选码的部分函数依赖。
解:设R1=ABC,R2=CD
∵R1∩R2=C,R2-R1=D,而C→D(已知)
故R1∩R2→R2-R1成立
根据定理,分解ρ为无损联接分解
解: 对于关系模式R(ABC),函数依赖F={A→B,B→A,A→C},
分析可知,该关系模式关键字为A。
同样由分析可得,该关系模式不存在非主属性B、C对关键字A的部分依赖和传递依赖现象, R∈3NF,但由于B→A(已知),而B不是关键字,
故该关系模式R∈BCNF不成立。
R(A,B,C,D,E),F = { ABC→DE,BC→D,D→E }。
试求下列问题:
(1)关系R的侯选码是什么?R属于第几范式?并说明理由。
答:关系R的候选码是(A,B,C),R∈1NF,因为R中存在非主属性D,E对候选码(A,B,C)的部分函数依赖。
(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。
答:
首先消除部分函数依赖
将关系分解为:
R1(A,B,C) (A,B,C)为候选码,
R1中不存在非平凡的函数依赖
R2(B,C,D,E),(B,C)为候选码,
R2的函数依赖集为:F2={(B,C)→D,D→E}
在关系R2中存在非主属性E对候选码(B,C)的传递函数依赖,所以将R2进一步分解:
R21(B,C,D) ,(B,C)为候选码,
R21的函数依赖集为:F21 = {(B,C)→D }R22依赖集为:F22 = { D→E },D为候选码
在R1中已不存在非平凡的函数依赖,在R21、R22关系模式中函数依赖的决定因素均为候选码,所以上述三个关系模式均是BCNF。
(1)读者编号是候选码吗?
答:不是。
(2)写出该关系模式的主码。
答:(图书编号,读者编号,借阅日期)
(3)该关系模式中是否存在非主属性对码的部分函数依赖?如果存在,请写出一个。
答:存在。(图书编号,读者编号,借阅日期)→书名、(图书编号,读者编号,借阅日期)→作者名、(图书编号,读者编号,借阅日期)→出版社、(图书编号,读者编号,借阅日期)→读者姓名。
(4)该关系模式满足第几范式?并说明理由。
答:1NF。因为存在非主属性对码的部分函数依赖。
解:E-R:

产品(产品号,产品名)
零件(零件号,零件名)
组装(产品号,零件号)
① 求模式R的所有候选码;
② 说明R不是2NF的理由,并把R分解成2NF模式集;
解:
①
L属性:B;R属性:DE;LR属性:A,C,G;NLR属性:K。
计算(B)+={DE},所以,B不能做为唯一的候选码,需要与LR属性联合;
计算(AB)+={ABCDEG},故ABK是候选码;
计算(BC)+={ABCDEG},故BCK是候选码;
计算(BG)+={ABCDEG},故BGK是候选码;
②
在上面的关系中,非主属性只有{DE},但存在函数依赖B→DE,即存在非主属性对码的部分函数依赖,故不是2NF;
将R分解成:
R1(A,B,C,G,K, AB→C,C→G,G→A)
R2(B,D,E, B→DE)
R1关系中的候选码仍为ABK,BCK,BGK,没有非主属性,故一定满足2NF;R2关系中候选码为B,主属性只有一个,故一定满足2NF
1)只出现在左边的⼀定是候选码
2)只出现在右边的⼀定不是候选码
3)左右都出现的不⼀定
4)左右都不出现的⼀定是候选码
5)再求确定的候选码的闭包,如果可以推出全部,那么当前确定的就是候选码
S(SN,SNAME,CITY)
P(PN,PNAME,COLOR,WEIGHT)
J(JN,JNAME,CITY)
SPJ(SN,PN,JN,QTY)
其中:S表示供应商,SN为供应商编码,SNAME为供应商名字,CITY为供应商所在城市;P表示零件,PN为零件编码,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量;J表示工程,JN为工程编码,JNAME为工程名字,CITY为工程所在城市;SPJ表示供应关系,QTY表示提供的零件数量。
写出实现以下各题功能的SQL语句:
(1)取出所有工程的全部细节。
SELECT *
FROM J;
(2)取出所在城市为南京的所有工程的全部细节。
SELECT *
FROM J
WHERE CITY=’南京’;
(3)取出为所在城市为上海的工程提供零件的供应商编码。
SELECT DISTINCT SN
FROM SPJ
WHERE JN IN
(SELECT JN
FROM J
WHERE CITY=’上海’);
(4)取出为所在城市为上海或北京的工程提供红色零件的供应商编码。
SELECT SN
FROM SPJ
WHERE JN IN
(SELECT JN
FROM J
WHERE CITY=’上海’ OR CITY=’北京’)
AND PN IN
(SELECT PN
FROM P
WHERE COLOR=’红’)
(5)取出供应商与工程所在城市相同的供应商提供的零件编码。(3分)
SELECT SPJ.PN
FROM S,J,SPJ
WHERE S.SN=SPJ.SN AND J.JN=SPJ.JN AND S.CITY=J.CITY;
(6)取出至少由一个和工程不在同一城市的供应商提供零件的工程编码。
SELECT DISTINCT SPJ.JN
FROM S,J,SPJ
WHERE S.SN=SPJ.SN AND J.JN=SPJ.JN AND S.CITY<>J.CITY;
(7)取出上海供应商不提供任何零件的工程编码。
SELECT JN
FROM J
WHERE JN NOT IN
(SELECT DISTINCT JN
FROM SPJ
WHERE SN IN
(SELECT SN
FROM S
WHERE CITY=’上海’));
(8)取出所有这样的一些<CITY,CITY>二元组,使得第1个城市的供应商为第2个城市的工程提 供零件。
SELECT S.CITY,J.CITY
FROM S,J,SPJ
WHERE S.SN=SPJ.SN AND J.JN=SPJ.JN;
科室:科室名,科地址,科电话,医生姓名;
病房:病房号,床位号,所属科室名;
医生:姓名,职称,所属科室名,年龄,工作证号;
病人:病历号,姓名,性别,年龄,主管医生,病房号;
其中,一个科室有多个病房,多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
要求:画出该计算机管理系统的E-R图。
解:

(1)在教学管理数据库中有学生、课程和选课三个表,它们的定义分别为为:
Student(Sno Char(5),Sname Char(6),Ssex Char(2),
Sage Int,Sdept Char(2))
Course(Cno Char(1), Cname Char (10), Cpno Char(1),
Ccredit Int)
SC(Sno Char(5), Cno Char(1), Grade int)
根据下面的要求,写出SQL语句。
① 用SQL语句建立数据表SC,以(Sno, Cno)作为主键;
用SQL语句建立数据表SC,以(Sno, Cno)作为主键
CREATE TABLE SC (
Sno CHAR(5),
Cno CHAR(1),
Grade INT,
PRIMARY KEY (Sno,Cno)
);
② 向Student表插入一条记录(95011, 张三, 女, 19,CS);
INSERT INTO Student VALUES('95011', '张三', '女', 19, 'CS');
③ 检索计算机系(CS)所有女同学的姓名和年龄;
SELECT Sname, Sage FROM Student
WHERE Sdept='CS' AND Ssex='女';
④ 检索选修了2号课程学生的学号、姓名、成绩,并按成绩降序排序;
SELECT Student.Sno, Sname, Grade
FROM Student INNER JOIN SC ON Student.Sno=SC.Sno
WHERE SC.Cno='2'
ORDER BY Grade DESC
⑤ 建立一个信息系(IS)所有不及格(Grade<60)学生的视图vwStudent。
CREATE VIEW vwStudent AS (
SELECT Student.*
FROM Student INNER JOIN SC ON Student.Sno=SC.Sno
WHERE Sdept='IS' AND Grade < 60
)
下列E-R图是反映产品与仓库两实体间联系的信息模型,要求:

(1)给出该E-R图的关系数据库模式,并指出相应的关键字。
解:
关系数据库模式:
仓库W(仓库号W#,仓库名WN,地址WA) 关键字:W#
产品P(产品号P#,产品名称PN,规格PS,型号PM) 关键字:P#
存放L(仓库号W#,产品号P#,数量QTY) 关键字:(W#,P#)
(2)若仓库号、仓库名及仓库地均为字符型且长度均为10,用SQL语言为仓库关系建立相应的基表并说明实体完整性规则。
解:CREATE TABLE W(W# CHAR(10) PRIMARY KEY,
WN CHAR(10),
WA CHAR(10))
(3)将仓库基表的查询权限授予所有用户,收回User3对仓库的查询权限。
解:GRANT SELECT ON W TO PUBLIC
REVOKE SELECT ON W FROM User3

实体的主要属性如下,其中下划线部分为主码:
仓库(仓库号,仓库名,面积,货位数)
零件(零件号,零件名称,规格型号,计量单位,供货商号,价格)
库存(?,?,库存量)
(1)请在?处填上相应的属性。
(2)试用SQL定义上述E-R图中所有的实体、属性及联系,所对应的英文名称为:
Warehouse(wno,wname,square,cou)
Material(mno,mname,type,unit,cusnum,price)
Storage(?,?,storenumber),要求反映主码和外码,其中的类型长度可以根据需要自行确定。
(3)用SQL与关系代数表示查询:找出零件名为“镙丝”的零件号、所存放的仓库号、库存量。
(4)建立一个包含仓库号、仓库名、零件号、零件名、价格、库存量的视图VIEW1。
答: 仓库号 零件号
建立仓库表
Create table warehouse
(
wno varchar(10) primary key,
wname varchar(20),
square number(10,2),
cou int)
建立零件表
Create table material
(
mno varchar2(10) primary key,
mname varchar2(20),
type varchar2(10),
unit varchar2(10),
cusnum varchar2(10),
price number(10,2))
建立库存表
Create table storage
(
wno varchar2(10) foreign key references warehouse(wno),
mno varchar2(10) foreign key references material(mno),
storenumber number(10,2),
primary key(wno,mno))

我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳
我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01 客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02 数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
我正在尝试在Rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf
文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,
SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手
前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立