资源描述:
《数据库-张-上机实验点评及参考答案2014.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、上机实验三——基本表的建立和修改三、实习内容:1.启动MSSQLServer服务,打开EnterpriseManager和QueryAnalyzer。2.在QueryAnalyzer中用CREATETABLE命令在实验二创建的GradeManager数据库中定义基本表:学生表(Student)、课程表(Course),利用EnterpriseManager的图形化功能建立班级表(Class)以及成绩表(Grade)。createtableStudent(Snochar(7)primarykey,Snamevarchar(20)notnull,Ssexc
2、har(2)notnull,SageSmallint,Clnochar(5)notnull);createtableClass(Clnochar(5)primarykey,Specialityvarchar(20)notnull,Inyearchar(4)notnull,Numberinteger,Monitorchar(7));createtableCourse(Cnochar(1)primarykey,Cnamevarchar(20)notnull,CreditSmallint);createtableGrade(Snochar(7)referen
3、cesstudent(sno),Cnochar(1)referencescourse(cno),Gmarknumeric,Primarykey(sno,cno));四、针对以上四个表,用SQL语言完成以下各项操作。①给学生表增加一属性Nation(民族),数据类型为Varchar(20);②删除学生表中新增的属性Nation;③向成绩表中插入记录(”2001110”,”3”,80);④修改学号为”2001110”的学生的成绩为70分;⑤删除学号为”2001110”的学生的成绩记录;⑥为学生表创建一个名为IX_Class的索引。1.ALTERTABLES
4、tudentADDNationvarchar(20);2.ALTERTABLEStudentDROPCOLUMNNation;3.Insertintograde(sno,cno,gmark)values(‘2001110’,’3’,80)点评:该语句没有语法错误,但好多同学在执行时出现了问题,是对的。但同学们要知道为什么会出现这个问题。4.UPDATEGradeSETGmark=70WHERESno='2001110';5.DELETEFROMGradeWHERESno='2001110';6.CREATEINDEXIX_ClassONStudent(
5、ClnoAsc);7.DROPINDEXStudent.IX_Class;五、思考题在定义基本表语句时,NOTNULL参数的使用有何作用?答:NotNull参数,可以保证在插入数据时,该属性列的取值不为空。上机实验四——SELECT语句的使用(一)三、实习内容:完成以下各项操作的SQL语句:①找出所有被学生选修了的课程号;selectdistinctcnofromgrade;该语句实现的路径应该是Grade表,Course表中可能有某门课,一个学生都没有选修的。所以不能是查询Course表的Cno。②找出01311班女学生的个人信息;select*fr
6、omstudentwhereSsex='女'andclno='01311';③找出01311班、01312班的学生姓名、性别、出生年份;selectSname,Ssex,2012-Sageasbirthfromstudentwhereclno='01311'orclno='01312';OR:selectSname,Ssex,2012-Sageasbirthfromstudentwhereclnoin('01311','01312');OR:(在T-SQL中,超大纲了,呵呵)Selectsname,sex,year(getdate())-sageFro
7、mstudentWhereclnoin(‘01311’,’01312’);④找出所有姓李的学生的个人信息;select*fromstudentwhereSnamelike'李%';⑤找出学生李勇所在班级的学生人数;Selectcount(*)fromstudentWhereclnoin(SelectclnofromstudentWheresname=”李勇”);Or:SelectnumberfromclassWhereclnoin(SelectclnofromstudentWheresname=”李勇”);Or:Selectnumberfromclas
8、s,studentWheresname=’李勇’andclass.clno=student.c