您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 数据库原理(第三版)张红娟-参考答案
第一章17、成绩选修班级课程学生属于1NNM班级号班长的学号班级人数入校年份班级所在专业年龄性别姓名学号学分课程名课程号18、成绩选修班级课程学生属于1NNM班级号班长的学号班级人数入校年份班级所在专业年龄性别姓名学号学分课程名课程号教师属于MN职称姓名教师号专业学会加入NM入会年份学会名称成立时间负责人姓名会费20、供应商(供应商代号,供应商名称,联系电话)项目(项目代号,项目名称,项目负责人)零件(零件号,零件名,价格)供应商-项目(项目代号,供应商代号)项目-零件(项目代号,零件号,零件数)供应商-零件(供应商代号,零件号,零件数)21、属于NN1111NNNNMM设备号地址电话年龄性别部门名电话地址部门号规格零件号名称电话地址单位号单位号设备处零件职员设备部门生产处工作工作装配属于生产名称位置价格职务职员姓名职员号价格名称22、(1)第三章10、设有一数据库GradeManager(成绩管理),包括四个表:学生表(Student)、课程表(Course)、班级表(Class)以及成绩表(Grade),其结构如表3-4所示,数据如表3-5所示。试用SQL语句创建四个表。表3-4成绩管理数据库的表结构表一Student属性名数据类型可否为空含义SnoChar(7)否学号(唯一)SnameVarChar(20)否学生姓名SsexChar(2)否性别SageSmallint可年龄ClnoChar(5)否学生所在班级表二Course属性名数据类型可否为空含义工厂产品工人零件车间仓库属于包含生产生产包含存放存放NNNNNNN11M11MM组装NM职工号工种性别年龄姓名车间主任姓名电话车间号地址厂名价格重量零件号厂长姓名电话仓库号产品号价格仓库保管员姓名CnoChar(1)否课程号(唯一)CnameVarChar(20)否课程名称CreditSmallint可学分表三Class属性名数据类型可否为空含义ClnoChar(5)否班级号(唯一)SpecialityVarChar(20)否班级所在专业InyearChar(4)否入校年份NumberInteger可班级人数MonitorChar(7)可班长学号表四Grade属性名数据类型可否为空含义SnoChar(7)否学号CnoChar(7)否课程号GmarkNumeric(4,1)可成绩表3-5成绩管理数据库中的数据表一StudentSnoSnameSsexSageClno2000101李勇男20003112000102刘诗晨女19003112000103王一鸣男20003122000104张婷婷女21003122001101李勇敏女19013112001102贾向东男22013112001103陈宝玉男20013112001104张逸凡男2101311表二CourseCnoCnameCredit1数据库42离散数学33管理信息系统24操作系统45数据结构46数据处理27C语言4表三ClassClnoSpecialityInyearNumberMonitor00311计算机软件2000120200010100312计算机应用2000140200010301311计算机软件20012202001103表四GradeSnoCnoGmark20001011922000101388200010158620001021782000102655200010336520001036782000103566200010415420001046832001101270200110146520011022802001102490200010327620001034562000103788答:CREATETABLEStudent(SnoChar(7)NOTNULLUNIQUE,SnameVarChar(20)NOTNULL,SsexChar(2)NOTNULL,SageSmallint,ClnoChar(5)NOTNULL);CREATETABLECourse(CnoChar(1)NOTNULLUNIQUE,CnameVarChar(20)NOTNULL,CreditSmallint);CREATETABLEClass(ClnoChar(5)NOTNULLUNIQUE,SpecialityVarChar(20)NOTNULL,InyearChar(4)NOTNULL,NumberInteger,MonitorChar(7));CREATETABLEGrade(SnoChar(7)NOTNULL,CnoChar(1)NOTNULL,GmarkNumeric(4,1));INSERTINTOStudentVALUE(‘2000101’,’李勇’,’男’,20,’00311’);INSERTINTOStudentVALUE(‘2000102’,’刘诗晨’,’女’,19,’00311’);INSERTINTOStudentVALUE(‘2000103’,’王一鸣’,’男’,20,’00312’);INSERTINTOStudentVALUE(‘2000104’,’张婷婷’,’女’,21,’00312’);INSERTINTOStudentVALUE(‘2001101’,’李勇敏’,’女’,19,’01311’);INSERTINTOStudentVALUE(‘2001102’,’贾向东’,’男’,22,’01311’);INSERTINTOStudentVALUE(‘2001103’,’陈宝玉’,’男’,20,’01311’);INSERTINTOStudentVALUE(‘2001104’,’张逸凡’,’男’,21,’01311’);INSERTINTOCourseVALUE(‘1’,’数据库’,4);INSERTINTOCourseVALUE(‘2’,’离散数学’,3);INSERTINTOCourseVALUE(‘3’,’管理信息系统’,2);INSERTINTOCourseVALUE(‘4’,’操作系统’,4);INSERTINTOCourseVALUE(‘5’,’数据结构’,4);INSERTINTOCourseVALUE(‘6’,’数据处理’,2);INSERTINTOCourseVALUE(‘7’,’c语言’,4);INSERTINTOClassVALUE(‘00311’,’计算机软件’,’2000’,120,’2000101’);INSERTINTOClassVALUE(‘00312’,’计算机应用’,’2000’,140,’2000103’);INSERTINTOClassVALUE(‘01311’,’计算机软件’,’2001’,220,’2001103’);INSERTINTOGradeVALUE(‘2000101’,’1’,92);INSERTINTOGradeVALUE(‘2000101’,’3’,88);INSERTINTOGradeVALUE(‘2000101’,’5’,86);INSERTINTOGradeVALUE(‘2000102’,’1’,78);INSERTINTOGradeVALUE(‘2000102’,’6’,55);INSERTINTOGradeVALUE(‘2000103’,’3’,65);INSERTINTOGradeVALUE(‘2000103’,’6’,78);INSERTINTOGradeVALUE(‘2000103’,’5’,66);INSERTINTOGradeVALUE(‘2000104’,’1’,54);INSERTINTOGradeVALUE(‘2000104’,’6’,83);INSERTINTOGradeVALUE(‘2001101’,’2’,70);INSERTINTOGradeVALUE(‘2001101’,’4’,83);INSERTINTOGradeVALUE(‘2001102’,’2’,80);INSERTINTOGradeVALUE(‘2001102’,’4’,90);INSERTINTOGradeVALUE(‘2000103’,’1’,83);INSERTINTOGradeVALUE(‘2000103’,’2’,76);INSERTINTOGradeVALUE(‘2000103’,’4’,56);INSERTINTOGradeVALUE(‘2000103’,’7’,88);11、针对T10的四个表,用SQL语言完成以下各项操作:(1)给学生表增加一属性Nation(民族),数据类型为VarChar(20);ALTERTABLEStudentALTERCOLUMNNationVarChar(20);(2)删除学生表中新增的属性Nation;ALTERTABLEStudentDROPCOLUMNNation;(3)向成绩表中插入记录(“2001110”,“3”,80);INSERTINTOGradeVALUE(‘2001110’,’3’,80);(4)将学号为“200110”的学生的成绩修改为70分;UPDATEGradeSETGmark=70WHERESno=‘2001110’;(5)删除学号为“2001110”的学生的成绩记录;DELETEFROMGradeWHERESno=‘2001110’;(6)在学生表的Clno属性上创建一个名为IX_Class的索引,以班级号的升序排序;CREATEINDEXIX_ClassONStudent(Clno);(7)删除IX_Class索引DROPINDEXStudent.IX_Class;12、针对T10的四个表,用SQL语言完成以下各项操作:(1)找出所有被学生选修了的课程号;SELECTDISTINCTCno课程号FROMGrade(2)找出01312班女生的个人信息;SELECT*FROMStudentWHEREClno='01311'andSsex='女'(3)找出01311班和01312班的学生姓名性别出生年份;SELECTsname学生姓名,ssex性别,2011-sage出生年份FROMStudentWHEREClno='01311'orClno='01312'(4)找出所有姓李的学生的个人信息;SELECT*FROMStudentWHERESnamelike'李%'(5)找出李勇所在班级的学生人数;SELECTCOUNT(*)FROMStudentWHEREClnoin(SELECTClnoFROMStudentWHERESname='李勇')(6)找出课程名为操作系统的平均成绩最高分最低分;SELECTAVG(Gmark)平均成绩,MAX(Gmark)最高分,MIN(Gmark)最低分FROMGradeWHERECnoin(SELECTCnoFROMCourseWHERECname='操作系统')(7)选修了课程的学生人数;SELECTCOUNT(DISTINCTsno)学生人数FROMGrade(8)选修了操作系统的学生人数;SELECTCOUNT(DISTINCTsno)学生人数FROMGradeWHERECnoin(SELECTCnoFROMCourseWHERECname='操作系统')(9)找出2000级计算机软件班的成绩为空的学生姓名。SELECTSname学生姓名FROM(SELECT*FROMStudentWHEREClnoin(SELECTClnoFROMClassWHERESpeciality='计算机软件'ANDInyear='2000'))ruanjianWHEREruanjian.Snonotin(SELECTDISTINCTSnoFROMGrade)withruanjianas(SELECTSno,SnameFROMStudentjoinClassonStudent.Clno=Class.ClnoWHEREClass.Speciality='计算机软件'andClass.Inyear='2000')SELECTSname学生姓名FR
本文标题:数据库原理(第三版)张红娟-参考答案
链接地址:https://www.777doc.com/doc-4453579 .html