您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件开发技术基础作业与答案
数据库部分题目一:SQL语句练习教学管理系统有3个基本表,S(SNO,SN,SD,SA,SEX),C(CNO,CN,PC),SC(SNO,CNO,GRADE)。各属性的含义依次为:学号SNO,姓名SN,所属系SD,年龄SA,性别SEX,课程号CNO,课程名CN,先修课程PC,成绩GRADE,其中GRADE允许为空。数据库表示例如图所示,试完成如下SQL操作:1.创建基本表SC,要求:数据类型的定义为:SNO:CHAR(3),CNO:CHAR(3),GRADE:DEC(5,2)定义主键为(SNO,CNO)分别在SNO(参照表S的SNO)和CNO(参照表C的CNO)定义外键将GRADE约束在0~100之间且可以为空(NULL)答案:CreateTableSC(SNOCHAR(3),CNOCHAR(3),GRADEDEC(5,2),PrimaryKey(SNO,CNO),ForeignKey(SNO)ReferencesS(SNO),ForeignKey(CNO)ReferencesC(CNO),Check(GRADEisNULLOrGRADEBetween0And100));2.新增一学生的信息,学号:S36,姓名:古悦宁,所属系:为空(NULL),年龄:19,性别:女答案:InsertIntoSValues(‘S36’,‘古悦宁’,NULL,19,‘女’);或InsertIntoS(SNO,SN,SD,SA,SEX)Values(‘S36’,‘古悦宁’,NULL,19,‘女’);或InsertIntoS(SNO,SN,SA,SEX)Values(‘S36’,‘古悦宁’,19,‘女’);3.将课程编号为“C5”的课程名更改为“C语言”,且先修课置为空答案:UpdateCSetCN=‘C语言’,PC=NULLWhereCNO=‘C5’;4.删除罗军同学的选课记录答案:DeleteFromSCWhereSNOIn(SelectSNOFromSWhereSN=‘罗军’);关系S关系SC关系C5.删除王玲同学的所有信息答案:DeleteFromSCWhereSNOIn(SelectSNOFromSWhereSN=‘王玲’);DeleteFromSWhereSN=‘王玲’;6.当赵明不再选修课程时,删除其信息答案:DeleteFromSWhereSN=‘赵明’AndSNONotIn(SelectDISTINCTSNOFromSC);7.查询学号尾数是18的学生的姓名和年龄答案:SelectSN,SAFromSWhereSNOLike‘%18’;8.查询课程名中含有“数”这个字的课程号答案:SelectCNOFromCWhereCNLike‘%数%’;9.查询年龄在19岁以上的学生的姓名和性别答案:SelectSN,SEXFromSWhereSA=19;10.查询姓“李”的学生所选修的课程名答案:SelectCNFromS,SC,CWhereSNLike‘李%’AndS.SNO=SC.SNOAndSC.CNO=C.CNO;或SelectCNFromCWhereCNOIn(SelectCNOFromSCWhereSNOIn(SelectSNOFromSWhereSNLike‘李%’));11.查询先修课程是“数据结构”的课程号和课程名答案:SelectCNO,CNFromCWherePCIn(SelectCNOFromCWhereCN=‘数据结构’);12.查询缺考学生的学号、姓名,以及缺考课程的课程名答案:SelectS.SNO,SN,CNFromS,SC,CWhereGRADEIsNULLAndS.SNO=SC.SNOAndSC.CNO=C.CNO;13.在基本表S的SA上建立降序索引、SEX上建立升序索引,索引名为IDX_S答案:CreateIndexIDX_SOnS(SADesc,SEXAsc);14.统计未缺考女同学的学号、姓名、选课数、最高分、最低分和总分,并且按照最高分降序排列、总分升序排列答案:SelectS.SNO,SN,COUNT(CNO),MAX(GRADE),MIN(GRADE),SUM(GRADE)FromS,SCWhereSex=‘女’AndS.SNO=SC.SNOGroupByS.SNO,SNHavingS.SNONotIn(SelectDISTINCTSNOFromSCWhereGRADEIsNULL)OrderBy4Desc,6Asc;15.统计课程平均分在80分以上的课程号、选修人数、最高分、最低分和平均分,并按照选修人数升序排列答案:SelectCNO,COUNT(SNO),MAX(GRADE),MIN(GRADE),AVG(GRADE)FromSCGroupByCNOHavingAVG(GRADE)80OrderBy2Asc;16.建立一个视图DSINFO,用于统计“数据结构”课程的选课人数、最高分、最低分和平均分。答案:CreateViewDSINFO(选课人数,最高分,最低分,平均分)ASSelectCOUNT(SNO),MAX(GRADE),MIN(GRADE),AVG(GRADE)FromSC,CWhereSC.CNO=C.CNOAndCN=‘数据结构’GroupByC.CNO或CreateViewDSINFO(选课人数,最高分,最低分,平均分)ASSelectCOUNT(SNO),MAX(GRADE),MIN(GRADE),AVG(GRADE)FromSCGroupByCNOHavingCNOIn(SelectCNOFromCWhereCN=‘数据结构’;题目二:关系模式规范化练习1.设有关系模式CTHRSG(C,T,H,R,S,G),满足下列函数依赖:C→T每门课程仅有一位教师讲授HR→C在任一时间,每个教室只能上一门课程HT→R在一个时间一位教师只能在一个教室上课CS→G每个学生的每门课程只有一个成绩HS→R在一个时间每个学生只能在一个教室听课试求关系模式CTHRSG的候选键。答案:1)可能的候选键为:“HS”或“HS与(C,R,T)的组合”2)验证HS是否候选键(注:HS若是候选键,则HS与C,R,T的任意组合就不是)3)HS是候选键,且是唯一的候选键2.设有关系模式R(ABCDE),其上的FD集F={A→BC,CD→E,B→D,E→A},试求R的候选键答案:1)因为所有属性既在FD左部,又在FD右部,故所有属性的任意组合都可能是候选键。2)验证:(A)+(E)+(BC)+(CD)+={ABCDE}={ABCDE}={ABCDE}={ABCDE}3)候选键共有4个,分别为:A,E,BC,CD3.假设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额,每个职工只在一个部门工作,每个部门只有一个领导。1)写出关系模式R基本的函数依赖集和关键码2)判断R满足的范式,并阐述理由答案:1)关系模式R基本的函数依赖集:F={(职工编号,日期)→日营业额,职工编号→部门名,部门名→部门经理}候选键为:(职工编号,日期)2)关系模式R满足1NF理由:①构成关系模式R的所有属性都是原子的,不可再分的,因而满足1NF;②在关系模式R上存在如:(职工编号,日期)→部门名,(职工编号,日期)→部门经理的非主属性对候选键的部分函数依赖,因而不满足2NF基于以上2点,关系模式R仅仅满足1NF题目三:数据库设计练习1.某自产自销企业,生产多种产品,有多个门市部。每种产品可以在多个门市部销售,每个门市部可以销售多种产品,每种产品在每个门市部都有月计划销售量,其值不低于200;已经制定了产品销售计划的门市部不允许倒闭(注:倒闭的门市部信息将从数据库中删除)。每个门市部聘用多名营业员,每位营业员只能在一个门市部工作;门市部聘用营业员有聘期和工资,工资底线为500元。产品有产品号、产品名、规格等属性;门市部有门市部号、门市部名、地址等属性;营业员有工号、姓名、性别等属性。该企业拟建立一个能管理产品、门市部和营业员相关信息的“产品与销售管理系统”,请:1)为“产品与销售管理系统”做概念设计,画出E-R图。门市部营业员产品名工作1nmn地址工号姓名性别规格月计划销售量门市部号门市部名销售产品产品号工资聘期2)在概念设计的基础上,为该系统做逻辑设计(即将E-R图转换成关系模式),写出各个关系模式,用单下划线标出主键,用波浪线标出外键。关系模式:产品(产品号,产品名,规格);门市部(门市部号,门市部名,地址);营业员(工号,姓名,性别,门市部号,聘期,工资);销售(产品号,门市部号,月计划销售量)2.在校田径运动会中设置了各类比赛,每一比赛类别有类别编号、类别名称和主管等属性,每一比赛类别包含很多比赛项目;每一比赛项目有项目编号、项目名称、比赛时间和级别等属性;各个系团队有团编号、团名称、领队等属性,每一代表团有多名运动员组成,运动员有编号,姓名,年龄,性别等属性;每一名运动员可以参加多个比赛项目,每一比赛项目也有多名运动员参加,运动员参加比赛有成绩属性。1)根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;比赛项目系团队比赛类别姓名包含组成n1mn级别团编号领队团名称类别编号类别名称主管性别年龄成绩项目编号项目名称比赛时间参加运动员运动员编号1n2)将ER图转换成关系模式,并指出每个关系模式的主键和外键。软件工程部分题目一:数据流图的练习1.在某文具店的销售和订货系统中,每次文具进货,店主将文具信息录入数据库中,顾客购买文具时,由售货员更新文具的库存信息,当文具的库存数量少于库存临界值时就产生文具的订购报表,并通知采购员,由采购员负责订购文具。根据上述需求画出文具销售与订货管理的功能级数据流图。参考答案:文具店店主事务文具店采购员库存清单订货清单1.1接收事务订货信息2产生报表订货信息1.2更新事务1.3处理订货事务库存信息订货报表文具店售货员事务库存信息2.某超市计划使用计算机系统进行商品的销售与订货管理:商品入库时,接收超市管理员提供的商品入库信息,然后更新商品的库存数据;顾客购买商品时,根据售货员提供的商品销售信息来更新商品的库存数据;当商品的库存数量少于库存临界值时,需要进行订货处理,然后生成商品的订货报表,并通知采购员进行订货。试画出超市销售与订货管理的功能级数据流图。超市管理员事务超市采购员库存清单订货清单1.1接收事务订货信息2产生报表订货信息1.2更新事务1.3处理订货事务库存信息订货报表超市售货员事务库存信息题目二:对象模型(类图)的练习1.交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机;陆上交通工具分为火车、汽车,汽车由不同的生产厂商生产,汽车由发动机、底盘、车身和电气设备组成,水上交通工具有轮船,轮船分为客轮、货轮、客货混合轮。试画出交通工具对象模型的类图。车身底盘发动机电气设备客机货机专用轻型机交通工具继承继承聚合空中交通工具客货混合轮水上交通工具客轮货轮火车汽车陆上交通工具继承继承继承继承生产商2.一个软件公司有许多部门,分为开发部门和管理部门两种。每个开发部门开发多个软件产品。该公司有许多员工,员工分为经理、工作人员和开发人员。开发部门有经理和开发人员,管理部门有经理和工作人员。每个开发人员可参加多个开发软件产品,每个软件产品需要多个开发人员。每位经理可主持多个开发软件产品。试画出软件公司对象模型的类图。产品11nnnn1111部门开发部门管理部门软件公司员工工作人员开发人员经理继承聚合继承11nmnn题目三:状态图练习1.试用状态机图,描述了学习驾照的过程。开始报名理论学习理论考试桩训桩考试场内练习电子路考路训路考结业领证结束办卡,领教材通过不通过通过=90不通过通过通过不通过不通过且桩考100分不通过且桩考90分2.某销售POS机,它的工作流程是:当客户到收银台后,收银员逐一输入用户购买的商品,输入完之后,计算出总金额,然后
本文标题:软件开发技术基础作业与答案
链接地址:https://www.777doc.com/doc-4155709 .html