sqlserver2005实验指导书_第1页
sqlserver2005实验指导书_第2页
sqlserver2005实验指导书_第3页
sqlserver2005实验指导书_第4页
sqlserver2005实验指导书_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、sql server 2005课程实训指导书编写:吴琼2014年12月目录实训1 通过e-r图设计关系数据模型1【实训目的】1【实训环境】1【实训内容】1实训2 确定表中的关键字2【实训目的】2【实训环境】2【实训重点及难点】2【实训内容】2实训3 创建并管理数据库3【实训目的】3【实训环境】3【实训重点及难点】3【实训内容】3实训4 创建表并输入数据4【实训目的】4【实训环境】4【实训重点及难点】4【实训内容】5实训5 使用select 语句查询数据(一)简单查询7【实训目的】7【实训环境】7【实训重点及难点】7【实训内容】7实训6 使用select 语句查询数据(二)汇总查询8【实训目的】

2、8【实训环境】8【实训重点及难点】8【实训内容】8实训7 使用select 语句查询数据(三)连接查询和子查询9【实训目的】9【实训环境】9【实训重点及难点】9【实训内容】9实训8 创建视图并通过视图操作表数据10【实训目的】10【实训环境】10【实训重点及难点】10【实训内容】10实训9 使用 t-sql编写程序11【实训目的】11【实训环境】11【实训重点及难点】11【实训内容】11实训10 使用触发器实现数据完整性12【实训目的】12【实训环境】12【实训重点及难点】12实训11导入导出数据15【实训目的】15【实训环境】15【实训重点及难点】15实训12 综合训练17【实训目的】17【

3、实训环境】17【实训重点及难点】17实训1 通过e-r图设计关系数据模型【实训目的】1) 熟悉使用visio 2003画e-r模型。2) 掌握将现实世界的事物转化成e-r图的基本技巧。3) 熟悉关系数据模型的基本概念。4) 掌握将e-r图转化成关系表的基本技巧。【实训环境】visio 2003,sql server 2005。【实训重点及难点】1) 根据需求确定实体、属性和联系。2) 将实体、属性和联系转化为e-r图。3) 将e-r图转化为表。【实训内容】(1) 设计能够表示出班级与学生关系的数据模型1) 确定班级实体和学生实体的属性和码。2) 确定班级和学生之间的联系,给联系命名并指出联系的

4、类型。3) 确定联系本身的属性。4) 使用visio 2003画出班级和学生关系的e-r图。5) 将e-r图转化为表,写出表的关系模式并标明各自的主键或外键。(2) 设计能够表示出顾客与商品关系的数据模型1) 确定顾客实体和商品实体的属性和码。2) 确定顾客和商品之间的联系,给联系命名并指出联系的类型。3) 确定联系本身的属性。4) 使用visio 2003画出顾客与商品关系的e-r图。5) 将e-r图转化为表,写出表达关系模式并标明各自的主键或外键。(3) 设计能够表示出学校与校长关系的数据模型1) 确定学校实体和校长实体的属性和码。2) 确定学校和校长之间的联系,给联系命名并指出联系的类型

5、。3) 确定联系本身的属性。4) 使用visio 2003画出学校与校长关系的e-r图。5) 将e-r图转化为表,写出表达关系模式并标明各自的主键或外键。(4) 设计能够表示出房地产交易中客户、业务员和合同三者之间的关系的数据模型1) 确定客户实体、业务员实体和合同的属性和码。2) 确定客户实体、业务员实体和合同之间的联系,给联系命名并指出联系的类型。3) 确定联系本身的属性。4) 使用visio 2003画出客户实体、业务员实体和合同关系的e-r图。5) 将e-r图转化为表,写出表达关系模式并标明各自的主键或外键。实训2 确定表中的关键字【实训目的】1) 正确理解候选键、主键、组合键、外键的

6、基本概念。2) 能够正确判断给定表中各种类型的键。3) 在设计数据库时能正确指定各种类型的键,知道如何实施数据的完整性。【实训环境】sql server 2005【实训重点及难点】1) 复习候选键、主键、外键、组合键以及数据完整性的基本概念。2) 在给出的部门表和员工表中能正确标识出各种类型的键。【实训内容】1) 写出候选键、主键、组合键、外键、实体完整性、域完整性、参照完整性的定义。2) 已知部门表和员工表如下所示: 部门表部门代码部门名负责人地点0001生产部李华江重庆荣昌县0002销售部张丽重庆渝中区0003市场部王欣重庆江北区员工表员工代码姓名家庭住址联系电话邮政编码部门代码20000

7、1王华重庆676909864011470001200002李想成都543876595087630003200003张丽上海678935422087610002200004李江华重庆7654987340005400013) 确定部门表和员工表中的候选键,并陈述理由。4) 在候选键中确定部门表和员工表的主键。5) 确定部门表和员工表中的共有属性。6) 指出哪个表中的哪个属性时外键。7) 确定哪个表是主表,哪个表是从表。8) 回答问题:部门表和员工表是如何通过关键字实施数据完整性的?实训3 创建并管理数据库【实训目的】1) 熟悉sql server management studio 窗口。2) 掌

8、握创建数据库的方法。3) 掌握管理数据库的方法。【实训环境】sql server 2005【实训重点及难点】1) 启动 sql server management studio 窗口。2) 创建 xscj 数据库。3) 修改 xscj 数据库。4) 分离xscj 数据库。5) 附加 xscj 数据库。【实训内容】1) 打开“sql server management studio”窗口,在“对象资源管理器”中展开服务器,鼠标右键单击“数据库”节点,单击“新建数据库”命令,会出现“新建数据库”对话框。2) 在对话框的“数据库名称”框内输入数据库名“xscj”后,单击“确定”按钮即可创建默认大小的

9、数据库。3) 鼠标右键单击“xscj”数据库,在弹出的快捷菜单中选择“属性”命令,会出现“数据库属性”对话框;在对话框中单击“文件”选项卡,可以增加或删除数据库文件,单击“确定”按钮即可完成数据库的修改。4) 鼠标右键单击“xscj”数据库,在弹出的快捷菜单中选择“任务”“分离”命令,会出现“分离数据库”对话框,单击“确定”按钮即可完成数据库的分离。5) 鼠标右键单击“数据库”,在弹出的快捷菜单里选择“附加”命令,会出现“附加数据库”对话框,在该对话框中单击“添加”按钮,会出现“定位数据库文件”对话框,在改对话框中,选择要附加的数据库文件(.mdf),单击“确定”按钮后,返回到“附加数据库”对

10、话框,再单击“确定”按钮即可完成数据库的附加。实训4 创建表并输入数据【实训目的】1) 熟悉创建数据表的操作2)掌握创建数据表的操作3)掌握数据输入和修改的操作【实训环境】sql server 2005【实训重点及难点】1) 在xscj数据库中分别创建学生情况表xsqk,课程表kc,学生与课程表xs_kc,并表结构分别如表所示。列名数据类型长度属性约束是否允许为空默认值标识符学号char6否无主键姓名char8否无唯一性别bit1否10或1出生日期smalldatetime4否无所在系char10否无专业名char10否无联系电话char11是无总学分tinyint1是无0200备注text3

11、0是无 学生情况表xsqk表列名数据类型长度属性约束是否允许为空值默认值标识列序号int 4初始值 增量为1课程号char3否无主键课程名char20否无授课教师char8无开课学期tinyint1否1只能为16学时tinyint1无学分tinyint1无 课程表kc 列名数据类型长度属性约束是否允许为空默认值学号char6否无外键,参照xsqk表组合为主键课程号char3否无外键,参照ck表成绩tinyint1无0100学分tinyint1无学生与课程表xs_kc2) 分别向xsqk,kc,xs_kc表中输入数据,其内容由用户自定义。【实训内容】1) 打开“sql server manage

12、ment studio”窗口,单击在标准”工具栏汇总“新建查询”按钮,会出现如图所示的界面。2) 在“sql编辑器”工具栏中,单击“可用数据库”右边的下拉按钮,将当前数据库切换成”xscj”库。3) 在查询窗口中,输入如下的命令。 create table xsqk(学号 char(6) not null,姓名 char(8) not null,性别 bit not null default 1,生日 smalleatetime not null,专业 char(10) not null,所在系 char(10) not null,联系电话 char(11),总学分 tinyint,备注 te

13、xt,constraint pk_xsqk_xh primart key(学号),constraint uq_xsqk_dh unique(姓名),constraint ck_xsqk_xb check(姓名=1 or 姓名=0)constraint ck_xsqk_dh check(联系电话 like【1-9】【1-9】【1-9】【1-9】【1-9】【1-9】),constraint ck_xsqk_zxf check(总学分<=0 and 总学分<=200))go create table kc(序号 int indentity,课程号 char(3) not null pri

14、mary key(课程号),课程名char(20) not null ,授课教师 char(8),开课上学期 tinyint not null default 1,学时 tinyint not null,学分 tinyint,constraint ck_kc_xq check(开课学期>=1 and 开课学期<=6)go create table xs_ke( 学号 char(6) not null references xsqk(学号),课程号char(3) not null,成绩 tinyint check(成绩>=0 and 成绩<=100),学分 tinyint

15、 ,primary key(学号 ,课程号),foreign key(课程号) referenced ke(课程号))4)在“sql编辑器工具栏中,单击“执行”, xsqk,kc,xs_kc表创建成功后,在结果窗口会出现 “命令以成功”,的信息提示。5) 在“对象资源管理器“中展开数据库”xscj”鼠标右键单击”表“节点,在弹出的快捷菜单中单击”刷新“命令,课看到个那个创建号的上面3张表。实训5 使用select 语句查询数据(一)简单查询【实训目的】掌握select语句的使用和简单查询方法。【实训环境】sql server 2005【实训重点及难点】1)启动sql server 2005查询

16、环境。2)涉及单表的简单查询。【实训内容】1) 打开“sql server management studio”窗口。2) 单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口3) 在窗口中输入以下sql查询命令并执行:a.在kc表中,查询第2学期开课的课程、授课教师。b.在xsqk表中,查询女同学的姓名和电话号码c.在xs_kc表中,查询成绩在80分以上的学号、课程号和成绩d.在xs_kc表中,查询在80以上和不及格学生的信息e.在xsqk表中,查询不在1980年7、8、9月出生的学生信息f. 在xsqk表中,擦汗寻陈姓且单名的信息g.在xsqk表中,查询学号中含有1的记录信息h.在

17、xsqk表中,查询电话号码第7位为4和6的记录信息i.在kc表中,查询第一、三、五学期开设的课程信息j.查询xsqk表,输出学号、姓名、出生日期、并使查询结构按出生日期升序排列实训6 使用select 语句查询数据(二)汇总查询【实训目的】掌握数据汇总查询及其相关子句的使用。【实训环境】sql server 2005【实训重点及难点】1)启动sql server 2005查询环境。2)涉及单表的汇总查询。【实训内容】1) 打开“sql server management studio”窗口。2) 单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口3)在窗口中输入以下sql查询命令并执

18、行:a.在kc表中,统计每学期的总分数b.在xs_kc表中统计每个学生的选修课程的门数c.统计kc表中的总学分,并显示明细信息d.按开课学期统计kc表中各期的学分,并显示明细信息e.将xs_kc表中的数据记录按学号分类汇总,输出学号和平均分f.查询平均分大于70且小于80的学生学号和平均分g.查询xs_kc表,输出学号、课程号、成绩,并使查询结果首先按照课程号的升序排列,当课程号相同时再按照成绩降序排列,并将查询结果保存到新表temp_kc中h.查询选修了“101”课程的学生的最高分和最低分i.统计每个学期所开设的课程门数j.查询各专业的学生人数实训7 使用select 语句查询数据(三)连接

19、查询和子查询【实训目的】)掌握内连接的查询方法。)了解子查询的查询方法。【实训环境】sql server 2005【实训重点及难点】1)启动sql server 2005查询环境。)涉及多表的复杂查询。【实训内容】1) 打开“sql server management studio”窗口。2) 单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口3)在窗口中输入以下sql查询命令并执行:a.查询不及格学生的学号、课程名、授课教师、开课学期的信息b.按学号分组汇总总分高于100的学生记录,并按总分的降序排列c.使用子查询求恰好有两门课程不及格的学生信息d.使用子查询查询每门课程的最高分的

20、学生记录e.使用子查询查询每个学生的最低分的课程记录实训8 创建视图并通过视图操作表数据【实训目的】1)掌握视图的创建。2)掌握使用视图来插入、更新、删除表数据。【实训环境】sql server 2005【实训重点及难点】1)启动sql2005查询编辑器。2)创建一个简单的视图,查询第3学期及其以后开课的课程信息。3)在视图中使用insert语句插入数据。4)在视图中使用update语句更新数据。5)在视图中使用delete语句删除数据。【实训内容】(1)创建视图1)打开“sql server management studio”窗口。2)单击:“标准”工具栏上的“新建查询”按钮,打开“查询编

21、辑器”窗口。#在窗口内直接输入以下语句,按要求创建视图。在xscj数据库中,基于kc表创建一个名为”v_开课信息”的视图,要求该视图中包含列“课程号”、“课程名”、“开课学期”和“学时”、并且限定视图中返回的行中只包括第3学期及以后开课的课程信息。3)单击“sql编辑器”工具栏上的“分析”按钮,检查输入的t-sql语句是否有语法错误。如果有语法错误,则进行修改。4)确保无语法错误后,在xscj数据库中就会添加一个名为“v_开课信息”的视图,通过select语句查看视图中的数据,如图所示(2)在视图中使用insert语句插入数据1)在“查询编辑器”串口内输入以下语句,在视图中插入一行数据。2)单

22、击”sql编辑器”工具栏上的“执行”按钮。3)执行上述语句后,利用select语句查看视图中的数据,如图所示。(3)在视图中使用update语句更新数据1)在“查询编辑器”串口内输入以下语句,修改途中的数据。2)单击“sql编辑器”工具栏上的“执行”按钮。3)执行上述语句后,视图中课程号为“012”的数据记录被修改了,基表中对应数据记录也被修改了。通过select语句查看视图和基表中的数据。(4)在视图中使用delete语句删除数据1)在“查询编辑器”窗口内输入以下语句,删除视图中的数据。2)单击“sql编辑器”工具栏上的“执行”按钮。3)执行上述语句后,先前在视图中添加的数据行被删除。同时,

23、在基表中该数据行也被删除。实训9 使用 t-sql编写程序【实训目的】)掌握常用函数的使用方法。)掌握流程控制语句的使用方法。【实训环境】sql server 2005【实训重点及难点】)启动sqlserver 2005 查询编辑器。 2) 应用转换函数。 3)应用聚合函数。 4)应用字符串函数。 5)应用if··· else语句。 6)应用while语句。 【实训内容】 (1)应用转换函数 1)打开“sqlserver manageement studio” 窗口。 2)单击“标准”工具栏上的“新建查询”按钮,打开“查询编辑器”窗口。 3)在窗口内直接输入语句,

24、求kc表中课程号为“107”的课程名称的长度,并输入结果。 4)单击“sql编辑器”工具栏上的“分析”按钮,检查输入的t-sql语句是否有语法错误。如果有语法错误,则进行修改,直到没有语法错误为止。 5)确保无语法错误后,单击“sql编辑器”工具栏上的“执行”按钮。()应用聚合函数 )在“查询编辑器”窗口内输入以下语句,统计xsqk表中的学生人数,并输出结果。 2 )单击“sql编辑器”工具栏上的“执行”按钮,执行结果如图8-2所示。 (3 ) 应用字符串函数 1) 在“查询编辑器”窗口内输入以下语句,将字符串“welcome to sql qerver” 转换为大写字母输出。 2) 单击“s

25、ql编辑器” 工具栏上的“执行” 按钮,执行结果如图8-3所示。 (4) 应用if···else 语句 1) 在“查询编辑器”窗口内输入以下语句,查询学号为“020101” 的学生的平均分是否超过了85分, 若超过则输出“ x x 考出了高分”, 否则输出 “xx 考的一般”。 实训10 使用触发器实现数据完整性【实训目的】1) 掌握用触发器实现域完整性的方法。2) 掌握用触发器实现参照完整性的方法。3) 掌握触发器与约束的不同。【实训环境】sql server 2005【实训重点及难点】1) 启动sql server2005查询编辑器。2) 为表建立一个触发器,

26、实现域完整性,并激活触发器进行验证。3) 为表建立一个能级联更新的触发器,实现参照完整性,并激活触发器进行验证。4) 比较约束与触发器的执行顺序。【实训内容】(1) 实现域完整性1) 打开“sql server management studio”窗口2) 单击“标准”工具栏上的“新建查询”按钮,打开“查询编辑器”窗口。3) 在“sql编辑器”工具栏上选择可用数据库,如“xscj”。4) 在窗口内直接输入以下create trigger语句,创建触发器。为kc表创建一个insert触发器,当插入的新行中开课学期的值不是16时,就激活该出发器,撤销该插入操作,并使用raiserror语句返回一个

27、错误信息。5) 单击“sql编辑器”工具栏上的“分析”按钮,检查输入的t-sql语句是否有语法错误。如果有语法错误,则进行修改,直到没有语法错误为止。6) 确保无语法错误后,单击“sql编辑器”工具栏上的“执行”按钮,完成触发器的创建。7) 在左边的“对象资源管理器”中用鼠标右键单击目标“表”节点,如“kc”,弹出快捷菜单,选择“打开表”命令,打开表的数据记录窗口。8) 在表中分别插入两行记录以激活该触发器,第一行的开课学期的值在16以内,第二行的开课学期的值在16以外。当插入第一行时,系统成功地接受了数据,无信息返回。而在插入第二行时,系统撤销该插入操作,拒绝接受非法数据,并返回错误信息,从

28、而保证了域完整性。(2)1)在“查询编辑器”窗口内直接输入以下create trigger语句,创建触发器。为kc表再创建一个update触发器,当更新了某门课程的课程号信息时,就激活该触发器级联更新xs_kc表中相关的课程号信息,并使用print语句返回一个提示信息。2)单击“sql编辑器”工具栏上的“分析”按钮,检查输入的t-sql语句是否有语法错误。如果有语法错误,则进行修改,知道没有语法错误为止。3)确保无语法错误后,单击“sql编辑器”工具栏上的“执行”按钮,完成触发器的创建。4)在“查询编辑器”窗口内如入并执行以下update语句,修改kc表的课程号列,以激活触发器,级联修改xs_

29、kc表中的课程号列,并返回提示信息,从而实现了参照完整性。(3)比较约束与触发器的执行顺序1)在“查询编辑器”窗口内输入并执行以下alter table语句,为kc表添加一个约束,使得开课学期的值只能为16。 3) 在“查询编辑器”窗口内输入并执行以下insert语句。从这部分实训中可以看到,约束优先于for或after触发器起作用,它在更新前就生效,对要更新的值进行规则检查。当检查到与现有规则冲突时,系统给出错误消息,并取消更新操作。如果检查没有问题,更新被执行,再激活触发器。实训11导入导出数据【实训目的】1)了解数据的导入导出概念。2)掌握数据的导入导出方法。3)理解数据导入导出时数据类

30、型的转换。【实训环境】sql server 2005【实训重点及难点】1)实现数据库之间数据的导入导出。2)实现不同数据源与目标源之间数据的传输。【实训内容】在sql server 2005中使用数据导入导出向导可以在不同的数据源和目标之间复制与转换数据。使用sql server2005导入导出向导可以在sql server之间,或者sql server与ole db、odbc数据源,甚至是sql server与文本文件之间进行数据的导入导出操作。数据的导入是指从其他数据源里把数据复制到sql server数据库中;数据的导出是指从sql sercer数据库中把数据复制到其他数据源中。其他数据

31、源可以是:同版本或旧版本的sql server、excel、access、通过ole db 或odbc来访问的数据源、纯文本文件等。(1)导入数据将xscj数据库里的所有数据表导入到test数据库中1)启动“sql server management studio”,连接上数据库实例,在“对象资源管理器”里选择“实例名”“数据库”“xscj”数据库。2)鼠标右键单击“xscj”数据库,选择“任务”“导出数据”选项,弹出“欢迎使用sql server导入导出向导”对话框,在该对话框里单击“下一步”按钮。3)弹出“选择数据库”对话框,在该对话框中可以选择导出数据的数据库,在本例中选择xscj数据库

32、。在“数据源”下拉列表里选择“sql native client”选项;在“服务器名称”下拉列表里选择数据库所在的服务器名,也可以直接输入;在“身份验证”区域里设置正确的身份验证信息;在“数据库”下拉列表里可以选择要导出数据的数据库名,在此以xscj数据库为例。设置完成单击“下一步”按钮。4)弹出“选择目标”对话框,该对话框里用来设置接收数据目标。在本例中选择test,然后单击“下一步”按钮。5)淡出“指定表复制或查询”对话框,在该对话框里设置用何种方式来指定传输的数据,可以选项有两种,一种是“复制一个或多个表或视图的数据”,如果选择该项,则接下来的操作是选择一个或多个数据表或视图,并将其中数

33、据导入到目标源中;另一种是“编写查询以指定要传输的数据”,如果选择该项,则接下来的操作是输入一个t-sql查询语句,sql sever导入导出向导会执行这个查询语句,然后将结果导出到目标源中。在本例中选择“复制一个或多个表或视图的数据”单选项,然后单击“下一步”按钮。6)弹出“选择源表或源视图”对话框,在该对话框中可以选择要导出的数据表或视图,可以选择一个或多个。7)类型设置完成后,单击“确定”按钮,弹出“保存并执行包”对话框,在该对话框里可以选择是立即执行导入导出操作,还是将前面步骤的设置保存为ssis包,以便日后的操作使用。8)弹出“完成该向导”对话框,单击“完成”按钮。(2)导出数据sq

34、l server导入导出可以在不同的数据库之间进行数据的导入导出,下面将xscj数据库中的 kc表里的数据导出到excel中。1)启动“sql server management studio”,连接上数据库实例,在“对象资源管理器”里选择“实例名”“数据库”“xscj”数据库。2)鼠标右键单击“xscj”数据库,选择“任务”“导出数据”选项,弹出“欢迎使用sql server导入导出向导”对话框,在该对话框里单击“下一步”按钮。弹出“选择数据源”对话框,在该对话框中可以选择导出数据的数据源,在本试验中,选择xscj数据库,单击“下一步”按钮。3)在“选择目标”对话框中,在“目标”下拉列表框里

35、选择“microsoft excel”选项,在“excel文件路径”文本框里输入要保存的excel文件位置及文件名,单击“下一步”按钮。4)弹出“指定表复制或查询”对话框,单击“下一步”按钮。5)在“选择源表和源视图”对话框中选择要导出的表,单击“下一步”按钮。6)弹出“保存并执行包”对话框,单击“下一步”按钮,出现“完成该向导”对话框,单击“完成”按钮。7)在“正在执行操作”对话框中单击“关闭”按钮。实训12 综合训练【实训目的】1)掌握数据库的设计方法。2)熟练使用visio 2003画e-r模型。3)熟练使用ssms数据库开发。【实训环境】sql server 2005【实训重点及难点】1)

温馨提示

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

最新文档

评论

0/150

提交评论