SQL-Server实验答案上海师范大学计算机系SQL-Server实验讲义2目录第一部分企业管理器的使用.........................................................................................................3试验一注册服务器..................................................................................错误!未定义书签。试验二创建数据库..................................................................................错误!未定义书签。试验三创建表..........................................................................................错误!未定义书签。实验四数据输入......................................................................................错误!未定义书签。实验五登录到数据库服务器..................................................................错误!未定义书签。第二部分SQL语言........................................................................................................................3第二部分SQL语言........................................................................................................................3试验一数据库创建.................................................................................................................3试验二创建表.........................................................................................................................3试验三创建数据完整性.........................................................................................................5试验四数据完整性试验.........................................................................................................6试验五索引...........................................................................................................................10试验六更新数据...................................................................................................................11试验七Sql查询语句...........................................................................................................12试验八视图...........................................................................................................................15试验九安全性控制实验.......................................................................................................16试验十存储过程...................................................................................................................17试验十二触发器...................................................................................................................21试验十二恢复技术...............................................................................................................25试验十三事务.......................................................................................................................26试验十四锁...........................................................................................................................27SQL-Server实验讲义3第一部分企业管理器的使用第二部分SQL语言试验一数据库创建目的:1掌握利用SQL语言进行数据库的创建、维护。2sp_helpdb命令要求:1创建数据库2修改数据库3删除数据库一建立school数据库1使用查询分析器创建数据库schoolCreateDataBaseschool2使用SP_helpdb查询数据库School的信息3使用SQL-Server的企业管理器查看数据库school的信息。4记录:1)school数据库文件所在的文件夹。2)school数据库的文件名二删除School数据库1使用查询分析器删除数据库schoolDROPDATABASEschool2使用SQL-Server的企业管理器删除数据库school。三createDatabase深入研究1建立school数据库,要求数据库存储在c:\data文件夹下,初始大小为5MB,增量为1MB。CREATEDATABASEschoolON(Name=‘school_dat’,Filename='c:\sqldata\school.mdf',SIZE=5,FILEGROWTH=1)2使用SQL-Server的企业管理器,将数据库的每次增量改为20%。试验二创建表目的:1掌握利用SQL语言创建表的方法。2sp_help命令要求:1创建表2修改表结构3删除表一写出使用CreateTable语句创建表student,sc,course的SQL语句。学生表、课程表、选课表属于数据库School,其各自得数据结构如下:学生Student(Sno,Sname,Ssex,Sage,Sdept)序号列名含义数据类型长度1Sno学号字符型(char)62Sname姓名字符型(varchar)8SQL-Server实验讲义43Ssex性别字符型(char)24Sage年龄整数(smallint)5sdept系科字符型(varchar)15课程表course(Cno,Cname,Cpno,Ccredit)序号列名含义数据类型长度1Cno课程号字符型(char)42cname课程名字符型(varchar)203Cpno先修课字符型(char)44Ccredit学分短整数(tinyint)学生选课SC(Sno,Cno,Grade)序号列名含义数据类型长度1Sno学号字符型(char)42Cno课程名字符型(char)63Grade成绩小数(decimal)12,1二把创建表的sql语句的脚本存储到文件school.sql。createtableStudent(Snochar(6),Snamechar(10),Ssexchar(2),Sagesmallint,Sdeptchar(10),)createtablecourse(Cnochar(4),Cnamechar(16),Cpnochar(4),Ccreditint,)createtableSC(Snochar(6),Cnochar(4),Gradeint)三使用SP_HELP查看表student的表结构利用企业管理器查看表sc的表结构四利用sql语句表结构修改1在student表中添加列:家庭地址address长度为60varchar型入学日期inDate日期型ALTERTABLEstudentADDaddressvarchar(60)ALTERTABLEstudentADDinDatedatetime完成后用sp_help查看是否成功。2将家庭地址address长度为50SQL-Server实验讲义5ALTERTABLEstudentALTERCOLUMNvarchar(50)完成后用sp_help查看是否成功。3删除student表的inDate列ALTERTABLEstudentDROPCOLUMNinDate五删除表1删除表sc2删除表student3删除表course试验三创建数据完整性目的:1掌握创建数据完整性约束的命令。2掌握完整性约束的修改、删除。要求:1能建立完整性约束2修改完整性约束3删除完整性约束一写出带有完整性约束的CreateTable命令建立表student、course、sc。要求:1Student表的主码:snostudent的约束:姓名不可为空,且唯一性别不能为空且取值范围为{男,女}年龄大于16岁sdept默认为‘JSJ’系2Course表的主码:cnocourse的约束:Ccredit取值范围{0,1,2,3,4,5}课程表的每一行的Cno与cpno不可相同3Sc表的主码:sno,cno。主码名为PK_SCSc的外码:外码:SC表的sno参照表student的sno外码:sc表的Cno参照表course的cno4把上述创建表的sql语句的脚本存储到文件createSchool.sql。createtableStudent(Snochar(6),Snamechar(10)notnullunique,Ssexchar(2)check(ssex='男'orssex='女'),Sagesmallintcheck(sage16),Sdeptchar(10)notnulldefault'JSJ',primarykey(sno))createtablecourse(Cnochar(4),Cnamechar(16),SQL-Server实验讲义6Cpnochar(4),Ccreditintcheck(Ccredit=0andCcredit=5),check(cnocpno),--约束primarykey(cno))createtableSC(Snochar(6),Cnoch