数据库原理及应用实验指导书湖南工程学院计算机科学与通信学院实验答案_第1页
数据库原理及应用实验指导书湖南工程学院计算机科学与通信学院实验答案_第2页
数据库原理及应用实验指导书湖南工程学院计算机科学与通信学院实验答案_第3页
数据库原理及应用实验指导书湖南工程学院计算机科学与通信学院实验答案_第4页
数据库原理及应用实验指导书湖南工程学院计算机科学与通信学院实验答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理及应用实验指导书湖南工程学院计算机科学与通信学院2011年9月实验一实验目的:掌握建立一个数据库表结构的方法和步骤,了解数据库表的基本组成。实验内容:基本表的创建和修改。三、实验要求:(必做)硬件:IntelPentium120或以上级别的CPU,大于16MB的内存。软件:Windows95/98/2000操作系统,关系数据库管理系统SQLSERVER2000。学时:2学时四、实验步骤:1、用create建立教学数据库的五个基本表:(1)学生表(学号,姓名,性别,年龄),student((Sno,sname,ssex,sage);(2)课程表(课程号,课程名,学分),Course(Cno,Cname,credit);(3)选课表(学号,课程号,成绩),SC(Sno,,Cno,grade);(4)教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address);(5)工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj);2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列;(2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。3、建立一个临时表,然后将其删除/*学生表"createtableStudent(Snochar(4)notnull,Snchar(8),Schar(4),Ssmallint)createtableCourse(Cnochar(4)notnull,Cnchar(40),Cresmallint)createtableSC(Snochar(9)notnull,char(4)notnull,grsmallint)createtableT(Tnochar(4)notnull,Tnchar(20),schar(4),birthchar(10),dchar(20),tichar(10),addressvarchar(40))/**/createtableSalary(Tnochar(4)notnull,jmoney,zmoney,money,)—/*在已存在的学生表student中增加一个sdept(系)的新的属性列*/AltertableStudentaddSdeptchar(20)/*将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。*/AltertableStudentaltercolumnSnamechar(10);/*3、建立一个临时表,然后将其删除*/createtableStudent01(Snochar(4),Snchar(8),Schar(4),Ssmallint,Sdchar(4))droptableStudent01实验二一、实验目的:了解建立索引的目的,掌握建立索引与删除索引,掌握创建、修改、删除约束。二、实验内容:建立聚簇索引、非聚簇索引、唯一索引、复合索引,删除索引,创建、修改、删除约束力。三、实验要求:(必做)硬件:IntelPentium120或以上级别的CPU,大于16MB的内存。软件:Windows95/98/2000操作系统,关系数据库管理系统SQLSERVER2000。学时:2学时四、实验步骤:1、用createindex在学生表student的学号sno上建立聚簇索引。2、在学生表student中,为姓名sname建立非聚簇索引。3、在课程表的课程号Cno上建立唯一索引。4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。5、用drop删除学生表student的索引。6、增加学生表student中姓名唯一约束。7、增加学生表student中性别‘男’、‘女’唯一约束。8、增加学生表student中年龄18~25岁约束。9、增加选课表SC中学号sno的外码约束。二、实验内容与步骤/*用createindex在学生表student的学号sno上建立聚簇索引。火/createclusteredindexstuSnoonStudent(Sno)/*在学生表student中,为姓名sname建立非聚簇索引。火/createindexstuSnameonStudent(Sname)/*在课程表的课程号Cno上建立唯一索引。*/createuniqueindexCoCnoonCourse(Cno/*在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。*/createindexSCsgonSC(SnoASC,gradeDESC)/*、用drop删除学生表student的索引*/dropindexstudent.stuSnodropindexstudent.stuSname/*---增加学生表student中姓名唯一约束。*/altertableStudentaddunique(Sname)/*---增加学生表student中性别、男’、、女’唯一约束。——*/altertablestudentaddconstraintck_Ssexcheck(Ssexin('男','女'))/*---增加学生表student中年龄~25岁约束。*/altertablestudentaddconstraintck_Sagecheck(Sagebetween18and25/*---增加选课表SC中学号sno的外码约束——*/altertableStudentaddconstraintc3primarykey(Sno)altertableSCaddconstraintck_Snoforeignkey1Sno)referencesStudentSno实验三一、实验目的:掌握向数据表中输入、更新和删除记录的基本方法。二、实验内容:数据记录的插入、更新和删除。三、实验要求:(必做)硬件:IntelPentium120或以上级别的CPU,大于16MB的内存。软件:Windows95/98/2000操作系统,关系数据库管理系统SQLSERVER2000。学时:2学时四、实验步骤:1、用insert输入数据。学生表student的数据991201张三22男计算机系991202李四21男信息系991101王五23男数学系991102陈六19男计算机系991103吴七24女数学系000101刘八22女信息系课程表course的数据1数学52数据结构43程序设计24数据库原理35操作系统3选课表SC的数据991201190991201580991201385991201490991102185991102298000101291基本表T的数据0001张三男1968-10信息副教授湘潭0002李四女1956-11信息教授长沙1001王五男1973-07计算机讲师湘潭1008陈六男1970-08计算机副教授北京基本表Salary的数据000110003001300000215005002000100180020010002、用delete删除数据记录删除教师表T中教师号为0001的元组。删除教师表T中的全部数据。3、用update更新数据记录把0001号教师的基本工资加100。把所有教师的基本工资都加100。二、实验内容与步骤insertintodbo.Student(Sno,Sname,Sage,Ssex,Sdept)values('991201','张三','22','男','计算机系')insertintodbo.Student(Sno,Sname,Sage,Ssex,Sdept)values('991202','李四','21','男','信息系')insertintodbo.Student(Sno,Sname,Sage,Ssex,Sdept)values('991101','王五','23','男','数学系')insertintodbo.Student(Sno,Sname,Sage,Ssex,Sdept)values('991102','陈六','19','男','计算机系')insertintodbo.Student(Sno,Sname,Sage,Ssex,Sdept)values('991103','吴七','24','女','数学系')insertintodboStudent(SnoSname,SageSsexSdeptvalues('000101','刘八','22','女','信息系')insertintodboCourse(CnoCnameCreditvalues('1','数学','5')insertintodbo.Course(Cno,Cname,Credit)values('2','数据结构','4')insertintodbo.Course(Cno,Cname,Credit)values('3','程序设计','2')insertintodbo.Course(Cno,Cname,Credit)values('4','数据原理','3')insertintodbo.Course(Cno,Cname,Credit)values('5','操作系统','3')insertintodbo.SC(Sno,Cno,gradevalues('991201','1','90')insertintodbo.SC(Sno,Cno,gradevalues('991201','5','80,)insertintodbo.SC(Sno,Cno,gradevalues('991201','3','85')insertintodbo.SC(Sno,Cno,gradevalues('991201','4','90')insertintodbo.SC(Sno,Cno,gradevalues('991102','1','85')insertintodbo.SC(Sno,Cno,gradevalues('991201','2','98')insertintodbo.SC(Sno,Cno,gradevalues('000101','2','91')insertintodbo.T(Tno,Tname,ssex,birthday,dept,title,address)values('0001','张三','男',convert(char(10),'1968-10'),'信息','副教授','湘潭')insertintodbo.T(Tno,Tname,ssex,birthday,dept,title,address)values('0002','李四','女',convert(char(10),'1956-11'),'信息','教授','长沙')insertintodbo.T(Tno,Tname,ssex,birthday,dept,title,address)values('1001','王五','男',convert(char(10),'1973-07'),'计算机','讲师','湘潭')insertintodbo.T(Tno,Tname,ssex,birthday,dept,title,address)values('1008','陈六','男',convert(char(10),'1970-08'),'计算机','副教授','北京')insertintodbo.Salary(Tno,jbgz,zwgz,hj)values('0001','1000','300','1300')insertintodbo.Salary(Tno,jbgz,zwgz,hj)values('0002','1500','500','2000')insertintodbo.Salary(Tno,jbgz,zwgz,hj)values('1001','800','200','1000')/*删除教师表T中教师号为的元组*/deletefromTwhereTno='0001';/*删除教师表T中的全部数据。*/deletefromT/*()把号教师的基本工资加*/updatedbo.Salarysetjbgz=jbgz+100whereTno='0001';/*()把所有教师的基本工资都加*/updatedbo.Salarysetjbgz=jbgz+100;实验四一、实验目的:掌握数据表的简单查询和多表连接方法。二、实验内容:数据库文件的简单和多表连接查询。三、实验要求:(必做)硬件:IntelPentium120或以上级别的CPU,大于16MB的内存。软件:Windows95/98/2000操作系统,关系数据库管理系统SQLSERVER2000。学时:4学时四、实验步骤:1、简单查询,用select检索(1)查询所有学生的基本情况。(2)查询教师每月应交纳的个人所得税。(3)查询张三与李四两位同学的基本情况。(4)查询9911班学生的基本信息(规定学生学号的前四位是班级号)。(5)查询所有年龄在20岁以下的学生姓名及其年龄。(6)查询选修了2门以上课程的学生学号。2、多表查询,用select检索(1)查询教师的收入情况,包括教师号、姓名及月总收入。(2)查询每个学生的学号、姓名、选修课程及成绩。(3)查询每一门课的间接先修课。(4)查询有相同地址的两位教师的信息。(5)查询选修2号课程且成绩在90分以上的所有学生。(6)查询与王五在同一个系学习的学生。/*查询所有学生的基本情况*/select*fromStudent/*查询教师每月应交纳的个人所得税*/selectSalary.hj,(casewhen(hj>'500'andhj<='1500')thenhj*0when(hj>'1500'andhj<='4500')thenhj*0.05else0end)as'应缴个人所得税'fromSalary/*查询张三与李四两位同学的基本情况*/select*fromStudentwhereSname='张三'orSname='李四'/*查询班学生的基本信息(规定学生学号的前四位是班级号)*/select*fromStudentwhereSnolike'9911'或者’9911%’/*查询所有年龄在岁以下的学生姓名及其年龄*/selec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论