三表查询,,查询选修了全部课程的学生的姓名,求解答。。在线等

u011150962 2014-02-25 03:48:09
这是那三个表
学生表:student 课程表Course 选课表

sno,sname cno,cname sno,cno
0001,张三 001,语文 0001,001
0002,李四 002,数学 0001,002
0003,xxxx 003,英语 0001,003
0002,001
0002,002

,本来想用group by 查询选课表每个人的count(1) 与 课程表count,判断是否相等,但是这两个表没有外键关联,不一定对。请教更好的方法查询
...全文
940 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011150962 2014-02-25
  • 打赏
  • 举报
回复
引用 23 楼 DBA_Huangzj 的回复:
不过作为良好的设计,不存在的课程不应该可选,也就是选课的时候不会列出来,那么数据也不应该存进去,这是前端约束或者select语句的
谢谢版主提醒。。不过暂时没办法改啦,只能用你后面写的方法啦,。OK ,结贴
發糞塗牆 2014-02-25
  • 打赏
  • 举报
回复
不过作为良好的设计,不存在的课程不应该可选,也就是选课的时候不会列出来,那么数据也不应该存进去,这是前端约束或者select语句的
u011150962 2014-02-25
  • 打赏
  • 举报
回复
引用 21 楼 DBA_Huangzj 的回复:
是不是要这样?
--> 测试数据:[student]
if object_id('[student]') is not null drop table [student]
go 
create table [student]([sno] varchar(4),[sname] varchar(4))
insert [student]
select '0001','张三' union all
select '0002','李四' union all
select '0003','xxxx'
--> 测试数据:[ Course]
if object_id('[Course]') is not null drop table [Course]
go 
create table [Course]([cno] varchar(3),[cname] varchar(4))
insert [Course]
select '001','语文' union all
select '002','数学' union all
select '003','英语'
   
--> 测试数据:[选课表]
if object_id('[选课表]') is not null drop table [选课表]
go 
create table [选课表]([sno] varchar(4),[cno] varchar(3))
insert [选课表]
select '0001','001' union all
select '0001','002' union all
select '0001','003' union all
select '0002','001' union all
select '0002','002' union all
select '0002','004' union all
select '0002','002'

SELECT  s.sno ,
        s.sname ,
        COUNT(b.cno) [选课数量] ,
        ( SELECT    COUNT(1)
          FROM      course
        ) [总课数]
FROM    student s
        RIGHT  JOIN [选课表] b ON s.sno = b.sno
        LEFT JOIN course c ON b.cno = c.cno
GROUP BY s.sno ,
        s.sname
HAVING COUNT(b.cno)=( SELECT    COUNT(1)
          FROM      course
        )

		/*
		sno  sname 选课数量        总课数
---- ----- ----------- -----------
0001 张三    3           3

		*/
辛苦版主啦, 就是要这个答案
發糞塗牆 2014-02-25
  • 打赏
  • 举报
回复
是不是要这样?
--> 测试数据:[student]
if object_id('[student]') is not null drop table [student]
go 
create table [student]([sno] varchar(4),[sname] varchar(4))
insert [student]
select '0001','张三' union all
select '0002','李四' union all
select '0003','xxxx'
--> 测试数据:[ Course]
if object_id('[Course]') is not null drop table [Course]
go 
create table [Course]([cno] varchar(3),[cname] varchar(4))
insert [Course]
select '001','语文' union all
select '002','数学' union all
select '003','英语'
   
--> 测试数据:[选课表]
if object_id('[选课表]') is not null drop table [选课表]
go 
create table [选课表]([sno] varchar(4),[cno] varchar(3))
insert [选课表]
select '0001','001' union all
select '0001','002' union all
select '0001','003' union all
select '0002','001' union all
select '0002','002' union all
select '0002','004' union all
select '0002','002'

SELECT  s.sno ,
        s.sname ,
        COUNT(b.cno) [选课数量] ,
        ( SELECT    COUNT(1)
          FROM      course
        ) [总课数]
FROM    student s
        RIGHT  JOIN [选课表] b ON s.sno = b.sno
        LEFT JOIN course c ON b.cno = c.cno
GROUP BY s.sno ,
        s.sname
HAVING COUNT(b.cno)=( SELECT    COUNT(1)
          FROM      course
        )

		/*
		sno  sname 选课数量        总课数
---- ----- ----------- -----------
0001 张三    3           3

		*/
u011150962 2014-02-25
  • 打赏
  • 举报
回复
继续加分, 可惜分不多啦,
u011150962 2014-02-25
  • 打赏
  • 举报
回复
引用 18 楼 DBA_Huangzj 的回复:
写法很多种,不过既然写了上面的,就接着改下去
谢谢版主啦,。 既然问啦, 那我也再多问一下。。 如果把你上面的数据改下就不对啦,

--> 测试数据:[ Course]
if object_id('[Course]') is not null drop table [Course]
go 
create table [Course]([cno] varchar(3),[cname] varchar(4))
insert [Course]
select '001','语文' union all
select '002','数学' union all
select '003','英语'
  
--> 测试数据:[选课表]
if object_id('[选课表]') is not null drop table [选课表]
go 
create table [选课表]([sno] varchar(4),[cno] varchar(3))
insert [选课表]
select '0001','001' union all
select '0001','002' union all
select '0001','003' union all
select '0002','001' union all
select '0002','002' union all
select '0002','004' union all
select '0002','002'
多添加了两条数据, 其中有一个是004,这个在课程表中不存在,(可能存在这种情况)。 版主大人,如果是这样怎么破
發糞塗牆 2014-02-25
  • 打赏
  • 举报
回复
写法很多种,不过既然写了上面的,就接着改下去
u011150962 2014-02-25
  • 打赏
  • 举报
回复
引用 14 楼 yupeigu 的回复:
[quote=引用 8 楼 u011150962 的回复:] [quote=引用 6 楼 DBA_Huangzj 的回复:] 不过貌似你的逻辑有点问题吧?一个学生选了多少个课,和课程表中的数量有什么关系? select s.sno,s.sname,count(cno)[选课数量],(select count(1) from course) [总课数] from student s left join 选课 b on s.sno=b.sno right join course c on b.cno=c.cno group by s.sno,s.sname 这样可以不?
所以请教各位。有没有更好的办法。[/quote] 没看明白是什么意思[/quote] 就是想 查询选修了全部课程的学生的姓名,以上面数据为例,选修了全部课程的就只有张三。 ---下面的可以忽略 ,本来想用group by 查询选课表每个人的count(1) 与 课程表count,判断是否相等,但因为 两个表没有外键关联,有可能存在选课表录入错误, 比如,选课表有004(地理),所以被难倒啦
發糞塗牆 2014-02-25
  • 打赏
  • 举报
回复
--> 测试数据:[student]
if object_id('[student]') is not null drop table [student]
go 
create table [student]([sno] varchar(4),[sname] varchar(4))
insert [student]
select '0001','张三' union all
select '0002','李四' union all
select '0003','xxxx'
 
--> 测试数据:[ Course]
if object_id('[Course]') is not null drop table [Course]
go 
create table [Course]([cno] varchar(3),[cname] varchar(4))
insert [Course]
select '001','语文' union all
select '002','数学' union all
select '003','英语'
 
--> 测试数据:[选课表]
if object_id('[选课表]') is not null drop table [选课表]
go 
create table [选课表]([sno] varchar(4),[cno] varchar(3))
insert [选课表]
select '0001','001' union all
select '0001','002' union all
select '0001','003' union all
select '0002','001' union all
select '0002','002'
 
SELECT  s.sno ,
        s.sname ,
        COUNT(b.cno) [选课数量] ,
        ( SELECT    COUNT(1)
          FROM      course
        ) [总课数]
FROM    student s
        LEFT JOIN [选课表] b ON s.sno = b.sno
        RIGHT JOIN course c ON b.cno = c.cno
GROUP BY s.sno ,
        s.sname
HAVING COUNT(b.cno)=( SELECT    COUNT(1)
          FROM      course
        )
 /*
 sno  sname 选课数量        总课数
---- ----- ----------- -----------
0001 张三    3           3
 */
u011150962 2014-02-25
  • 打赏
  • 举报
回复
引用 13 楼 DBA_Huangzj 的回复:
--> 测试数据:[student]
if object_id('[student]') is not null drop table [student]
go 
create table [student]([sno] varchar(4),[sname] varchar(4))
insert [student]
select '0001','张三' union all
select '0002','李四' union all
select '0003','xxxx'

--> 测试数据:[ Course]
if object_id('[Course]') is not null drop table [Course]
go 
create table [Course]([cno] varchar(3),[cname] varchar(4))
insert [Course]
select '001','语文' union all
select '002','数学' union all
select '003','英语'

--> 测试数据:[选课表]
if object_id('[选课表]') is not null drop table [选课表]
go 
create table [选课表]([sno] varchar(4),[cno] varchar(3))
insert [选课表]
select '0001','001' union all
select '0001','002' union all
select '0001','003' union all
select '0002','001' union all
select '0002','002'

SELECT  s.sno ,
        s.sname ,
        COUNT(b.cno) [选课数量] ,
        ( SELECT    COUNT(1)
          FROM      course
        ) [总课数]
FROM    student s
        LEFT JOIN [选课表] b ON s.sno = b.sno
        RIGHT JOIN course c ON b.cno = c.cno
GROUP BY s.sno ,
        s.sname

/*
sno  sname 选课数量        总课数
---- ----- ----------- -----------
0002 李四    2           3
0001 张三    3           3
*/
辛苦版主啦, 如题, 麻烦版主帮我再查询选修了全部课程的学生的姓名,以上面数据为例,选修了全部课程的就只有张三
LongRui888 2014-02-25
  • 打赏
  • 举报
回复
引用 8 楼 u011150962 的回复:
[quote=引用 6 楼 DBA_Huangzj 的回复:] 不过貌似你的逻辑有点问题吧?一个学生选了多少个课,和课程表中的数量有什么关系? select s.sno,s.sname,count(cno)[选课数量],(select count(1) from course) [总课数] from student s left join 选课 b on s.sno=b.sno right join course c on b.cno=c.cno group by s.sno,s.sname 这样可以不?
所以请教各位。有没有更好的办法。[/quote] 没看明白是什么意思
發糞塗牆 2014-02-25
  • 打赏
  • 举报
回复
--> 测试数据:[student]
if object_id('[student]') is not null drop table [student]
go 
create table [student]([sno] varchar(4),[sname] varchar(4))
insert [student]
select '0001','张三' union all
select '0002','李四' union all
select '0003','xxxx'

--> 测试数据:[ Course]
if object_id('[Course]') is not null drop table [Course]
go 
create table [Course]([cno] varchar(3),[cname] varchar(4))
insert [Course]
select '001','语文' union all
select '002','数学' union all
select '003','英语'

--> 测试数据:[选课表]
if object_id('[选课表]') is not null drop table [选课表]
go 
create table [选课表]([sno] varchar(4),[cno] varchar(3))
insert [选课表]
select '0001','001' union all
select '0001','002' union all
select '0001','003' union all
select '0002','001' union all
select '0002','002'

SELECT  s.sno ,
        s.sname ,
        COUNT(b.cno) [选课数量] ,
        ( SELECT    COUNT(1)
          FROM      course
        ) [总课数]
FROM    student s
        LEFT JOIN [选课表] b ON s.sno = b.sno
        RIGHT JOIN course c ON b.cno = c.cno
GROUP BY s.sno ,
        s.sname

/*
sno  sname 选课数量        总课数
---- ----- ----------- -----------
0002 李四    2           3
0001 张三    3           3
*/
u011150962 2014-02-25
  • 打赏
  • 举报
回复
引用 3 楼 u010192842 的回复:
如果有重复的话,可以先去重,然后再按照去重后的数量来判断!
去重也不行,两个表没有外键关联,有可能存在选课表录入错误, 比如,选课表有004(地理),但是课程表没有。那结果就不对啦
發糞塗牆 2014-02-25
  • 打赏
  • 举报
回复
把你源代码贴上来看看
u011150962 2014-02-25
  • 打赏
  • 举报
回复
引用 9 楼 DBA_Huangzj 的回复:
包什么错??
from 附近有错
發糞塗牆 2014-02-25
  • 打赏
  • 举报
回复
包什么错??
u011150962 2014-02-25
  • 打赏
  • 举报
回复
引用 6 楼 DBA_Huangzj 的回复:
不过貌似你的逻辑有点问题吧?一个学生选了多少个课,和课程表中的数量有什么关系? select s.sno,s.sname,count(cno)[选课数量],(select count(1) from course) [总课数] from student s left join 选课 b on s.sno=b.sno right join course c on b.cno=c.cno group by s.sno,s.sname 这样可以不?
所以请教各位。有没有更好的办法。
u011150962 2014-02-25
  • 打赏
  • 举报
回复
引用 6 楼 DBA_Huangzj 的回复:
不过貌似你的逻辑有点问题吧?一个学生选了多少个课,和课程表中的数量有什么关系? select s.sno,s.sname,count(cno)[选课数量],(select count(1) from course) [总课数] from student s left join 选课 b on s.sno=b.sno right join course c on b.cno=c.cno group by s.sno,s.sname 这样可以不?
报错啦,
發糞塗牆 2014-02-25
  • 打赏
  • 举报
回复
不过貌似你的逻辑有点问题吧?一个学生选了多少个课,和课程表中的数量有什么关系? select s.sno,s.sname,count(cno)[选课数量],(select count(1) from course) [总课数] from student s left join 选课 b on s.sno=b.sno right join course c on b.cno=c.cno group by s.sno,s.sname 这样可以不?
u011150962 2014-02-25
  • 打赏
  • 举报
回复
加分,求详细解答。
加载更多回复(4)
乐山师范学院数据库编程期末疑,卷子讲解,SQL server相关 如下是一个简化的员工考勤应用E-R图,请在SQL Server中创建名为YQKG的数据库,包括两个数据文件,一个日志文件,文件名按SQL Server对象命名规范定义,数据文件按10%的比例增长,数据库定义完成后输入如下样本数据。完成后请将新定义的对象及数据生成到脚本文件3_1.sql,并分离数据库。(数据表标识说明:BMXX 部门信息,QQLX 考勤类型, JBXX 基本信息,各字段定义请根据实际语义自行定义)。 2. 运行CreateTeaching.sql在系统数据库tempdb中生成解用数据库对象,完成如下安全定义。每小题2分,共6分。 (1) 创建名为L+考生学号的登录名,密码为考生学号。完成后请将定义程序代码保存到脚本文件3_2_1.sql。 (2) 为tempdb数据库创建名为U+考生学号的带登录名的用户名,使用本题(1)中创建的登录名。完成后请将定义程序代码保存到脚本文件3_2_2.sql。 (3) 为学生表Student、课程表Course、教师表Teacher分配只读权限,成绩表分配读写权限。完成后请将程序代码保存到脚本文件3_2_3.sql。 3.运行CreateTeaching.sql在系统数据库tempdb中生成解用数据库对象,完成如下完整性定义。每小题4分,共12分 (1) 在SC与Teacher之间定义参照完整性,外码名为FK_SC_Teacher_Tno,并定义违约处理规则:修改规则为 Cascade,删除规则为 No Action。完成后请将本操作的程序保存到脚本文件3_3_1.sql。 (2) 学生表Student中学生姓名不允许重复,将此规则保存为UQ_Sname。完成后请将本操作的程序保存到脚本文件3_3_2.sql。 (3) 在学生表上规定学生的性别只能是“男”、“女”,将此规则保存为CK_Student_Ssex。完成后请将本操作的程序保存到脚本文件3_3_3.sql。 4. 运行CreateTeaching.sql在系统数据库tempdb中生成解用数据库对象,在SSMS中查询分析器中设计并调试如下查询,把SQL脚本代码分别保存到指定的SQL程序文件中。每小题3分,共15分 (1) 新增一位同学:200215129,王大鹏,男,23,CS,新增该生一条选课数据:该生选了数据库课程,该课主教教师未知,还未考试。完成后请将查询代码保存到脚本文件3_4_1.sql。 (2) 修改少数民族学生李勇所有选修课成绩,都加5分。完成后请将查询代码保存到脚本文件3_4_2.sql。 (3) 因为考试事故,删除计科系的所有选课信息。完成后请将查询代码保存到脚本文件3_4_3.sql。 (4) 查询与“刘晨”同一个院系的其他同学的所有信息。完成后请将查询代码保存到脚本文件3_4_4.sql。 (5) 生成选修课为达标的学生的信息,包括学号、姓名、院系、总学分,达标条件:选修课门数达到6门。完成后请将查询代码保存到脚本文件3_4_5.sql。 5. 运行CreateTeaching.sql在系统数据库tempdb中生成解用数据库对象,为计科系生成如下选修课综合信息视图(仅包括计科系学生的选课信息,未选课的计科系学生也包括在视图的数据集中,如果未选课则课程等相关字段记为NULL,选了课但未考试则成绩等相关字段记为NULL,如果考试成绩未及格学分记为0,否则得到课程学分)。完成后请将本视图定义的程序保存到脚本文件3_5.sql。7分 6. SQL 程序设计:运行CreateTeaching.sql在系统数据库tempdb中生成解用数据库对象,完成如下对象定义,把相应的SQL程序分别保存到指定的SQL文件中。每小题7分,共21分 (1) 为教师表定义一个名为Tr_Insert_Or_Update_Sal触发器,实现如下完整性规则:“教授的工资不得低于4000元,如果低于4000元,自动改为4000元”。请完成触发体设计,完成后请将本定义的程序保存到脚本文件3_6_1.sql。 Create Trigger Insert_Or_Update_Sal On Teacher After INSERT, UPDATE AS (2) 利用ROW_NUMBER() OVER设计一分页查询存储过程DividePage,每次调用返回指定数据表中指定页大小及页码的满足条件的记录结果集,其参数设计如下,请完成过程体设计,完成后请将本定义的程序保存到脚本文件3_6_2.sql。 Create Procedure DividePage ( @tblName varchar(255), -- 表
2007 年下半年电子商务设计师下午试卷第 1 页(共 1 页) 全国计算机技术与软件专业技术资格(水平)考试 2007 年下半年 电子商务设计师 下午试卷 (考试时间 14:00~16:30 共150 分钟) 请按下述要求正确填写题纸 1. 在题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。 2. 在题纸的指定位置填写准考证号、出生年月日和姓名。 3. 题纸上除填写上述内容外只能写解。 4. 本试卷共5道题,全部是必题。试题一至试题五均为15分,满分75分。 5. 解时字迹务必清楚,字迹不清时,将不评分。 6. 仿照下面例题,将解写在题纸的对应栏内。 例题 2007年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(1) 月(2)日。 因为正确的解是“11 月3 日”,故在题纸的对应栏内写上“11”和 “3”(参看下表)。 例题 解栏 (1) 11 (2) 3 2007 年下半年电子商务设计师下午试卷第 2 页(共 2 页) 【试说题阅明一某读】(高以共校下欲15说开分明发)和一 图个,成回绩管问理题系1统至,问记题录3并,管将理解所有填选入修课题程纸的的学对生应的栏平内时。成 绩和考为试成这绩门12..课, 学每程其门生的主课的平要程平时功都时成能有成绩描绩3。述和到课如考6程下试个结:成单束 绩元后均构进由成行每,期门每末课个考程单试的元,主结其讲束成教后绩师会作上进为传行这给一门成次课绩测程管试的理,考系其试统成成。绩绩 作。 文课选件修程来了所3.确这包 在认门含记该课的录学程单学,生元生再是相成根否对绩据选应之课修,前程了如,信这果系息门是统文课,需件程那要和,么验课若这证程没些这单有成些元,绩成信那是绩息么有是文这效否件些的有来成,效验绩否。证是则首平无是先时效无,成的效根绩;的据如是。学果否 生他与信的这息确门将意其见之保45..存前 对若,在于一无系有门效统效课成不成程绩会绩的文处,所件理系有中这统,些将效并成其的将绩保平详。存时细 在成情课绩况程和提成考交绩试给文成教件绩务中都处。已。对经在于被教无系务效处统成没记绩有录,,给系系出统统具会会体单发处独送理在成课相程错完应误6.成。的 在通主成生知讲绩成给教列教师表绩务,须列处用将表,来核之告提对前知交之,该考后系门试的统课委成会程员绩生的会报成成审告一绩查返份已。还成经 系绩齐统报全。告。 给教主务讲处教根师据,需以要便,核请对求是系否统存生的进成行审绩7现.查, 采根。系用据考统结主试将构讲委会化教员生方师会成法核在最对对审终这后查的个的之成系成后绩统绩,单进报上,行告交并分,一通析系份知与统成每设生绩个计成审,选相查得课应结到学的果如生成给图。绩系 列统表。,对递于交所考有试通委过员审会查 1-1 和图所示的顶层数据流图 1-2 所示的 0 层数据流图。 成绩管理系统 E2 E4 E1 E3 成绩单 成绩学报生告成绩核对后的成绩报告列成绩表审成结果查绩生绩请列成求表成无通效知绩完课通成知程图 1-1 顶层数据流图 2007 年下半年电子商务设计师下午试卷第 3 页(共 3 页) D5 验证学1生信息 记录无3效成绩记录有2效成绩 生成4绩列表 E2 E4 E1 D1 D3 D2 生成最E终35成绩单 D4 无效成绩有效成绩 无绩效通成知成课程通完知 学生成绩成核对绩后报告的告成报绩列生请成求绩表成绩列成表绩审查结果 成绩单 图 1-2 0 【问题层数据流图 1 】( 4 使用说明中分的)词语,给出图 1-1 中的外部实体 E1~E4 【问题的名称。 2 】( 5 分) 使用说明中的词语,给出图 1-2 中的数据存储 D1~D5 【问题的名称。 3 】( 6 数据流图分) 1-2 缺少了三条数据流,根据说明及数据流图 1-1 这三条数据流的起点和终点。起点终点提供的信息,分别指出 2007 年下半年电子商务设计师下午试卷第 4 页(共 4 页) 试题二( 15 阅读下列分说)明,回问题 1 至问题 4 【说某明汽】车维修站拟开发一套小型汽车维,修将管解理系填统入,对题车纸辆的的对维应修栏情内况。进行管理。 1 客户辆信户的息车名.辆如称对信、表于息客新,户客包性户括质及:(车车个辆牌人,号、汽、单车车位维型)修、、管折颜理扣色率系等、统信联首息系先。人登一、记个联客客系户户电信至话息少,等有包信一括息台:;车客还。户要客编记户号录及、客车 2-1 所示。表 2-1 客折户扣率编 号车 牌号9G5S %051 客联户系颜人名色称 ×杨客浩户东公及司 车车 辆型信 息客联户系性电话质车 辆类别8单2位 63 879 *0765 白色 帕萨特 微型车 2 小故车修障辆)现维.、修象记结,首录算先生维方委成修式托维车(给修辆自业委的付务托故、员书障三。。信包业如息、务表。索员包赔对括)车:等辆维信进修息行类。检型维查(修和普厂故通的障、员分加工析急分后)为、,:作与维业客修分户员类磋和(商业大,务、确员中定。、 2-2 表所示。 2-2 维修委托书No.20070702003 登记日期: 2007-07-02 业作车业务牌分号员类 *中张修小07江 65 业客结务户算员方编号式编号 故0G自障1S付02描 0 5述1 维进预修厂计完时类型工间时 间 2普0通07 0702 1:09 车头损坏,水箱漏水 3 个或多.个维具修体车间维根修项据目维,修安委排托相书关和的车维辆修的工故及障工现时象,,在生已成有维的修维派修工项单目。中维选修派择并工确单如定一表2-3 所示。表 2-3 维修派工单No.20070702003 维修项目编号维修项目 工时 维修员编号 维修员工种012 维修车头 5.00 012 机修012 维修车头 2.00 023 漆工015 水箱焊接补漏 1.00 006 焊工017 更换车灯 1.00 012 机修4 .客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆 2007 年下半年电子商务设计师下午试卷第 5 页(共 5 页) 此次根维据修需的求总阶费段用收,集记的录信在息委,托设书计中的。实体联系图(图 2-1 所示。图)和关系模式(不完整)如下 2-1 【概念结构中设业计务】员和维修工是员工的子实体。 图 2-1 【逻辑客结户构(设计】实体联系图 (5) 委车托辆书(车(牌号,客户编号,,车折型,扣颜率,色,联车系辆人类,别联)系电话) (6) 维修项目预( 维计修完项工目时编间号,,登维记,修日维项期修目,类,故型单障,价描作)述业,分总类费,用结) 算方式,进厂时间, 派工单(7) ,工时) 员工( (8) 【问题1】( ,工种,员工类型,级别) 4 根据问题分描)述,填写图 2-1 多和多对多三种,分别使用中(1)~(4)处联系的类型。联系类型分为一对一、一对 1 : 1 , 1 : n 或 1 : * , m : n 或 * : * 【问题2】( 表示。 4 补充图分) 2-1 中的联系并指明其联系类型。联系名可为:联系 1 ,联系 2 【问题3】( ,…。 4 根据图分) 2-1 【问题4】( 和说明,将逻辑结构设计阶段生成的关系模式中的空(5)~(8)补充完整。 3 根据问题描分述),写出客户、委托书和派工单这三个关系的主键。 车辆 故障 委托书 派工 维修项目 客户 业务员 员工 维修工 1 (1) (2) (3) (4) 2007 年下半年电子商务设计师下午试卷第 6 页(共 6 页) 试题三(共 15 阅读以下说分明),回问题 1 至问题 4 作【已说某完明软成】件,开开发始商进通行过测招试标和承调接试了阶一段个。企,业将的解电子填商入务网题站纸的的建对设应任栏务内。目。前,编码工【问题 1 】( 3 在电子商务分系)统的测试中 , 【测试问和题验收测试。以上哪些测试软步件骤测需试要总企体业上用分户成参四加步?:单元测试、集成测试、系统 2 】( 6 基本分) Web 系统测试的功能测试主要包括:链接测试、 Cookies 功能测试、数据库测试和帮助系统测试等。以下各种测试步骤分别测属试于、何表种单功测能试测、交试易? A .帮助文档的格式是否符合目前流行的格式( 1 ) B .对数据一致性及数据库容量进行测试(2) C .对用户输入信息的显示是否按预期要求,如密码显示为‘ * ’等(3) D .是否能正确完整地保存注册信息(4) E .确保系统中没有孤立的页面存在 (5) F 【问题.检测用户身份识别和授权功能 (6) 3 】( 2 某程序流程分图)如图 3-1 所示。其中 A 、 B 、 C 均为二进制数, X 、 Y 、 Z 的初值均为 0, 如果对此流程进行多重覆盖测试,预期的结果为 X=1 、 Y=0 、 Z=1 ,正确的测试用例是 ( 7 ),请从以下备选项中选择正确的测试用例填在题纸对应的位置。A . A=1 B=0 C=0 和 A=1 B=1 C=0 B . A=0 B=0 C=0 和 A=1 B=1 C=1 C . A=0 B=1 C=1 和 A=0 B=1 C=0 D . A=1 B=0 C=1 和 A=0 B=1 C=0 A=1or B=1 C=1 or A=0 X=1 Y=1 T F T F a b c d e Z=1 图 3-1 2007 年下半年电子商务设计师下午试卷第 7 页(共 7 页) 【问题 4 】( 4 完善图3分-2)所 示的调试过程,(从备选项中选择正确的案填写在题纸的相应位置。 11 测试结)果( 9 ( ) (10) 8 ) 假设错误原因图 3-2 ( 8 ) ~ ( 11 )备选案: A .回归测试 B .测试 C .测试用例 D 试题四(共.修正程序 15 阅读以下说分明),回问题 1 至问题 4 【说某明电】子商务网站采用,将解填入题纸的对应栏内。 SET 【问题支付模式完成网上支付。 1 】( 2 分) SET 支付模式的工作流程包括如下步骤: 1 .支付响应阶段2 .支付请求阶段3 .授权请求阶段4 .授权响应阶段5 正.确支的付流初程始顺化序请是求:和(响应阶段 1 ) A . 5-2-3-4-1 B . 2-1-3-4-5 C . 5-2-1-3-4 D . 2-1-5-3-4 【问题 2 】( 7 请根在据双支重付数请字求分阶签)名段技,利术用,在双(重数字签名技术可以保证商家不能看到客户的支付信息。 2 )~( 8 息成订的买货过信家程在息补电数充字子完摘商整要务。网和支站付选信购物息数品字后,摘生要)成,然处订后选货将择信订合息货适和信的支息付数案信字,息摘将。买要商和家家支验利用付证信客哈希息户算订数字法货信摘生要连买接家起利来用,再(利用哈希算法生成双重数字摘要。 2 )对双重数字摘要加密生成双重数字签名,将( 3 )、( 4 )和( 5 发送给商家,商家收到信息后,将接收到的双重数字签名利用( ) 6 )解密,再利用同样 2007 年下半年电子商务设计师下午试卷第 8 页(共 8 页) 的哈希算法将( 7 )生成新的订货信息摘要,再将新的订货信息摘要与( 8 的双(重数字摘要,并与买家发送的双重数字摘要比较,以确保信息的完整性和)真生实成性新。 2 )~( 8 )的备选案如下:(注:备选案可重复选择) A .买家的公钥 B .买家的私钥 C .商家的公钥 D .商家的私钥E .订货信息数字摘要 F .支付信息数字摘要G .订货信息 H .支付信息 I 【问题.双重数字签名 3 】 (2 分 ) 在 SET 模式中,使用的公钥算法是( 9 )。 A . SHA B . DES C . IDEA D . RSA 【问题 4 】( 4 分) 1 .在 SET 和管理遵循(交易模式中,数字证书保证交易实体的身份真实可信,数字证书的发放 10 )标准。2 .在数字证书中,不包含( 11 )。 A .拥有者的公钥 B .证书的有效期C .拥有者的私钥 D 试题五(共.证书的序列号 15 阅读以下说分明),回问题 1 至问题 3 【说某明公】司要开发一个招投标市场计算机,管将理解软件填项入目,具题体纸项的目对描应述栏如内表。 5-1 。表 5-2 【表示问请分题根解据的以项上目描工作述先回后顺下序列。问题。 1 】( 5 请根据表分) 5-1 的项目描述,在题纸对应位置完成项目里程碑甘特图。 2007 年下半年电子商务设计师下午试卷第 9 页(共 9 页) 表 5-1 项项目目名称标投入招投标项计目描算述机管理软件开发 180 万元,时间周期 1 年,起始时间 2005 年 1 月 1 试运行日, 20 交付物的计项划安目报及排表,工文甘作天档特信,。图息修计记改划录时的文间制档忽,定略,项。项目目网执络行计划信图息、,项分目析、时间测计试、划工…作描述…开整发个、项测目试应、分运为行用等户需求调研、开发环境准备、系统设计、 6 所需资源估计人力及设备资源等的预计个。阶段。重大里程碑开工日期 2005 年 1 月 1 需求分析: 日,各项目完成日期如下: 2005 年 3 月 11 系统设计: 日; 2005 年 5 月 26 环境搭建及调测: 日; 2005 年 6 月 4 提交测试: 日; 2005 年 8 月 23 试运行启动: 日; 2005 年 10 月 24 【问题日。 2 】( 6 请根据表分) 5-2 ,计算每项工作的最早开始时间和最迟开始时间,完成表 5-3 算结果填到题纸的对应位置表。,并将计 5-2 序号工作代码工项作目工名作称先后顺序(部分工)期 / …… 天紧前工作1 114 用户需求确认 10 111 2 121 设备选型 10 114 3 122 设备采购 10 121 4 123 设备到货 10 122 , 120 5 124 环境搭建及调测 10 123 6 131 概要设计 20 114 7 132 数据库设计 10 131 8 133 详细设计 30 131 , 132 9 141 数据库开发 20 123 , 133 …… 2007 年下半年电子商务设计师下午试卷第 10 页(共 10 页) 表 5-3 工作代码最早开始时间最早完成时项目间工作时最间迟表开始时间最迟完成时间114 40 50 40 50 121 50 60 70 80 122 60 70 80 90 123 90 100 90 100 124 100 110 100 110 131 50 70 ( 1 ) ( 2 ) 132 70 80 ( 3 ) ( 4 ) 133 80 110 ( 5 ) ( 6 ) 141 110 130 110 130 【问题 3 】( 4 计划图在图描,述如网单络代分计号)划或图双时代,号由网于络节图点等表。示方式可以有多种形式,进而有多种形式的网络 5-1 是网络计划图中节点的一种表示方法。依据图 5-1 码为的节点表示格式及工作代 141 的节点示例图(如图 5-2 所示 ) ,完成图 5-3 所示工作代码为 122 案填到题纸的对应位置。的节点图,将0 130 110 0 130 110 始最最始早时工迟时开间作开间代总码时自时差由差成最最成早时迟时完完间间141数据库开发/20 / 持续时间 图 5-1 图 5-2 ( 7 ) 70 80 90 60 122 设备采购 /10 ( 8 图) 5-3

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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