序号实验名称(学生实验后填写)学时数成绩(分数或等级)1熟悉SQLSERVER的环境22建立表格,并插入若干记录23修改表格结构,修改和删除表格中的数据44查询(多表查询,嵌套查询,分组查询)125为表格建立约束,修改约束和查询约束46SqlServer数据库安全管理47使用ADO连接数据库4实验报告(1).......................................................................................................2实验报告(2).......................................................................................................7实验报告(3).....................................................................................................10实验报告(4).....................................................................................................13实验报告(5).....................................................................................................20实验报告(6).....................................................................................................25实验报告(7).....................................................................................................28实验报告(1)实验名称熟悉SQLSERVER的环境同组人姓名实验性质□基本操作●验证性□综合性□设计性实验日期3/5实验成绩教师评价:实验预习□实验操作□实验结果□实验报告□其它□教师签名:一、实验目的及要求:了解SQLServermanagementstudio的使用二、实验内容回答下面每一个问题,写出实验步骤1)在“已注册服务器窗口”中注册sqlserver数据库服务器2)在“对象资源管理器”中创建名字为sc的数据库3)在sc数据库中创建一个名字为student的基本表4)在查询窗口中里创建名为S_C的数据库5)在查询窗口中使用sql语言创建名字为course的基本表三、主要设备及软件:(1)PC(2)MicrosoftSQLServer2005四、实验流程、操作步骤或核心代码、算法片段打开SQL1.在“已注册服务器窗口”中注册sqlserver数据库服务器2.在“对象资源管理器”中创建名字为sc的数据库3.在sc数据库中创建一个名字为student的基本表4.在查询窗口中里创建名为S_C的数据库createdatabaseS_C5.在查询窗口中使用sql语言创建名字为course的基本表createtablecourse(Nochar(4),Namechar(40),Ccreditsmallint);五、实验结果的分析与评价这个实验主要完成了对数据库的基本认识和了解,并完成了建立数据库、基本表的操作,为下面系统地学习数据库奠定了良好的基础实验报告(2)实验名称建立表格,并插入若干记录同组人姓名实验性质□基本操作●验证性□综合性□设计性实验日期3/15实验成绩教师评价:实验预习□实验操作□实验结果□实验报告□其它□教师签名:一、实验目的及要求:学会使用CreateTable语句和Insert语句二、实验内容1)使用sql语言建立student,course和sc共三张表格(包括主键,外码的指定),分析具体情况适当给出一些用户自定义的约束.2)使用Insert语句向这四张表格里添加至少10条记录(数据如教材56页所示),如果出现错误,分析错误原因3)在“对象资源管理器”中实现(1)题中的三张表4)在“对象资源管理器”中向这(1)题中的三张表添加至少10条记录(数据如教材56页所示),如果出现错误,分析错误原因六、主要设备及软件:(1)PC(2)MicrosoftSQLServer2005七、实验流程、操作步骤或核心代码、算法片段新建表CreatetableStudent(Snochar(9)primarykey,snamevarchar(10),Ssexchar(2),Sagesmallint,Sdeptchar(10));CreatetableCourse(Cnochar(5)primarykey,Cnamevarchar(10),Cpnochar(5),Ccreditsmallint,foreignkey(Cpno)referencesCourse(Cno))CreatetableSC(Snochar(9),Cnochar(5),Gradesmallint,primarykey(Sno,Cno),foreignkey(Sno)referencesStudent(Sno),foreignkey(Cno)referencesCourse(Cno))插入1.InsertintoStudent(Sno,Sname,Ssex,Sdept,Sage)values('2010111','张三','JK',19)错误消息109,级别15,状态1,第1行INSERT语句中列的数目大于VALUES子句中指定的值的数目。VALUES子句中值的数目必须与INSERT语句中指定的列的数目匹配。原因:插入的属性个数少于规定的个数2.InsertintoStudent(Sno,Sname,Ssex,Sdept,Sage)values('2010111','张三','男','JK',19)3.InsertintoStudentvalues('2010112','张三','男','JK',19)消息213,级别16,状态1,第1行插入错误:列名或所提供值的数目与表定义不匹配。原因:插入的值与属性列没有一一对应4.InsertintoStudentvalues('2010113','张三','男',19,'JG')5.InsertintoSC(Sno,Cno)values('2010111','1')消息547,级别16,状态0,第1行INSERT语句与FOREIGNKEY约束FK__SC__Cno__03317E3D冲突。该冲突发生于数据库gkcc,表dbo.Course,column'Cno'。原因:数据插入的先后顺序6.InsertintocourseValues('1','数据结构','2','90');7.Insertintocoursevalues('2','数据库','3','95');8.Insertintocoursevalues('3','C语言',null,'100');9.InsertintoSCvalues('2010111','1','100');10.InsertintoSCvalues('2010112','2','98');11.InsertintoSCvalues('2010113','3','98');八、实验结果的分析与评价通过本次实验学会了一些简单的SQL语句,如新建表、向表中插入数据、表中的具体约束以及当插入数据失败后的错误分析。实验报告(3)实验名称修改表格结构,修改和删除表格中的数据同组人姓名实验性质□基本操作●验证性□综合性□设计性实验日期4/1实验成绩教师评价:实验预习□实验操作□实验结果□实验报告□其它□教师签名:一、实验目的及要求:用ALTER语句修改表结构:添加列,修改列定义,删除列。使用UPDATE和DELETE语句修改和删除Student,sc,course表格中的数据。二、实验内容如下所示,创建表s,并完成随后的操作Createtables(snochar(2)primarykey,snamechar(10));1)向表中添加属性列status,数据类型为int2)向表中添加属性列city,数据类型为varchar(20),并限定其取值范围为“上海”,“北京”,“天津”之一3)修改属性列status的数据类型为smallint4)删除(3)题中取值范围的约束5)删除属性列status如教材85页所示,建立student,sc,course等表,并插入若干数据,完成如下操作:1)列出没有成绩的学生的学号和课程号2)列出2号课程成绩在70分到80分学生的学号3)查询所有2005级的学生的姓名,性别和所在系4)查询计科系2004级全体学生的所有信息5)查询计科系2006级3班和4班学生的姓名和性别6)查询所有以“数”打头的课程的名称和学分7)查询数学系所有学生的姓名,性别和出生年份8)将course表中名为PASCAL语言的课程更名为“C语言”9)将所有课程的学分增加1分10)删除没有选课成绩的选课记录11)删除“IS”系的所有学生信息12)删除所有的课程信息九、主要设备及软件:(1)PC(2)MicrosoftSQLServer2005十、实验流程、操作步骤或核心代码、算法片段对S表的操作1.向表中添加属性列status,数据类型为intaltertablesaddstatusint;2.向表中添加属性列city,数据类型为varchar(20),并限定其取值范围为“上海”,“北京”,“天津”之一altertablesaddcityvarchar(20)check(cityin('上海','北京','天津'));3.修改属性列status的数据类型为smallintaltertablesaltercolumnstatussmallint;4.删除(3)题中取值范围的约束5.删除属性列statusaltertablesdropcolumnstatus;对student,sc,course表的操作1.列出没有成绩的学生的学号和课程号selectsno,cnofromscwheregrade=0;2.列出2号课程成绩在70分到80分学生的学号selectsnofromscwheregradebetween70and80;3.查询所有2005级的学生的姓名,性别和所在系selectsname,ssex,sdeptfromstudentwheresnolike'2005%'4.查询计科系2004级全体学生的所有信息select*fromstudentwheresnolike'2004%'andsdept='JK'5.查询计科系2006级3班和4班学生的姓名和性别selectsname,ssexfromstudentwheresdept='GK'and(snolike'2006__3%'orsnolike'2006__4%')6.查询所有以“数”打头的课程的名称和学分selectcname,ccreditfromcoursewherecnamelike'数%';7.查询数学系所有学生的姓名,性别和出生年份selectsname,ssex,(2012-sage)as'出生年份'fromstudentwheresdept='SX'8.将course表中名为PASCAL语言的课程更名为“C语言”updatecoursesetcname='C语言'wherecname='PASCAL语言';9.将所有课程的学分增加1分updatecoursesetccredit=ccredit+1;10.删除没有选课成绩的选课记录deletefromscwheregrade=0;11.删除“IS”系的所有学生信息