项目一 创建和使用SQL Server实例 1
任务一 创建“教学管理实例” 1
操作一 创建命名实例 2
操作二 在【服务管理器】中启动实例 10
操作三 在【服务管理器】中停止实例 11
任务二 使用“教学管理实例” 11
操作一 在【企业管理器】中创建“教学管理组” 12
操作二 注册“教学管理实例” 13
操作三 在【查询分析器】中连接“教学管理实例” 15
项目实训 16
项目小结 17
思考和练习 18
项目二 创建和管理数据库 20
任务一 创建“教学管理数据库” 20
操作一 在【数据库属性】窗口中创建数据库 22
操作二 用create database语句创建数据库 25
任务二 修改数据库 27
操作一 在【数据库属性】窗口中修改数据库属性 27
操作二 用alter database语句修改数据库 29
任务三 删除数据库 30
操作一 在【企业管理器】中删除数据库 30
项目实训 31
操作二 用drop database语句删除数据库 31
项目小结 33
思考和练习 34
项目三 创建与管理表 36
任务一 创建“学生表” 36
操作一 在【表设计器】中创建表 37
操作二 用create table语句创建表 39
任务二 修改表的数据结构 41
操作一 在【表设计器】中修改表结构 41
操作二 用alter table语句修改表结构 42
操作一 在【表编辑器】中插入记录 44
任务三 向“学生表”插入记录 44
操作二 用insert语句插入记录 45
任务四 修改“学生表记录” 49
操作一 在【表编辑器】中修改记录 49
操作二 用update语句修改记录 50
任务五 删除“学生表”的记录 51
操作一 在【表编辑器】中删除记录 51
操作二 用delete语句删除记录 51
任务六 删除表 52
操作一 在【企业管理器】中删除表 52
操作二 用drop table语句删除表 53
实训二 用alter table语句修改“教师表”数据类型 54
实训一 用create table语句创建“教师表” 54
项目实训 54
实训三 用alter table语句为“教学授课表”增加列 55
实训四 用insert语句为“教师表”添加记录 55
实训五 用update语句为“教师表”修改记录 56
实训六 用delete语句删除“教师表”中的记录 56
项目小结 56
思考和练习 57
项目四 设置主键、外键和索引 61
任务一 为“学生表”设置主键 61
操作一 在【表设计器】中设置主键 61
操作二 在表的【属性】窗口中移除主键 64
操作三 在create table语句中设置主键 65
操作四 在alter table语句中设置主键 67
操作五 在alter table语句中移除主键 68
任务二 定义“学生表”与“专业表”的关系 68
操作一 在表的【属性】窗口中定义关系 68
操作二 在create table语句中定义关系 73
操作三 在alter table语句中定义关系 74
操作四 在表的【属性】窗口中删除关系 74
操作五 在alter table语句中删除关系 76
任务三 为“学生表”定义索引 76
操作一 在表的【属性】窗口中定义索引 77
操作三 用drop index语句删除索引 78
操作二 用create index语句定义索引 78
项目实训 79
实训一 为“专业表”、“班级表”和“教师表”设置主键 79
实训二 定义“班级表”与“专业表”的关系 79
实训三 将“学生编号”设置为“成绩表”的索引 79
实训四 将“选修课程编号”设置为“成绩表”的索引 79
项目拓展 79
项目小结 80
思考和练习 81
项目五 用对单一表查询实现学籍管理 83
任务一 用简单查询显示学生信息 83
操作一 显示“学生姓名”、“职务”和“入学日期”等指定列 84
操作二 使用表达式对列计算并显示学生的年龄 85
操作三 用where子句限制返回行 88
操作四 使用like的模糊查询显示籍贯为黑龙江省的学生记录 91
操作五 用between...and...设置闭合区间 93
操作六 使用order by对查询结果排序 94
任务二 使用函数管理学籍 96
操作一 用distinct消除相同行 97
操作二 用case...when...分类处理 98
操作三 用convert转换数据类型 100
操作四 用substring截取字符串 102
实训二 对各教师按工龄由长到短排列 104
项目实训 104
实训一 显示各教师的工龄(当前日期与入职日期相减) 104
实训三 显示入学时间长短,并按时间长短划分年级 105
项目拓展 105
项目小结 106
思考和练习 107
项目六 用聚合函数统计成绩 109
任务一 统计成绩 109
操作一 用max和min查询最高成绩和最低成绩 109
操作二 用sum计算总成绩 111
操作三 用count计算参与考试的学生总数 112
操作四 用avg计算平均成绩 113
任务二 分组和筛选统计结果 114
操作一 用group by对统计结果分组 115
操作二 用having筛选分组统计结果 118
任务三 用子查询作成绩对比 120
操作一 使用any的子查询 121
操作二 使用all的子查询 122
项目实训 123
实训一 显示B01班学生的最大和最小年龄 123
实训二 用avgsum和count函数计算B01班学生平均年龄 123
实训四 按班级分组显示各班平均年龄并按降序顺序排序 124
项目拓展 124
实训三 用avg函数计算B01班学生平均年龄 124
项目小结 125
思考和练习 126
项目七 创建和使用视图 128
任务一 创建视图 128
操作一 在【视图设计器】中创建“住宿管理视图” 128
操作二 用create view语句创建“学籍管理视图” 133
任务二 使用视图 135
操作一 对“住宿管理视图”查询 135
操作二 用“住宿管理视图”视图对“学生表”添加记录 136
操作四 用“学籍管理视图”视图删除“学生表”的记录 137
操作三 用“学籍管理视图”视图修改“学生表”的记录 137
任务三 删除视图 138
操作一 在【企业管理器】中删除“住宿管理视图” 138
操作二 用drop view语句删除“学籍管理视图” 139
项目实训 139
实训一 在【视图设计器】中创建“班级平均年龄视图” 140
实训二 用create view语句创建“班级平均年龄视图” 140
项目拓展 141
项目小结 142
思考和练习 143
项目八 用多表连接查询管理教学计划 144
任务一 两个表的内连接查询 144
操作一 “课程表”和“教师表”的内连接查询 145
操作二 “课程表”与“教师表”的自然连接 148
操作三 对“课程表”的自连接 149
任务二 两个表的外连接查询 152
操作一 “教师表”与“课程表”的左连接查询 152
操作二 “教师表”与“课程表”的右连接查询 154
操作三 “教师表”与“课程表”的全连接查询 156
操作四 用交叉连接生成“学生考勤记录” 158
任务三 用子查询检查教学计划 162
操作一 使用in的子查询 162
操作二 使用exist的子查询 163
实训一 显示各专业的学生信息 164
项目实训 164
实训二 显示各班级班主任信息 165
实训三 统计学生成绩 165
项目拓展 166
项目小结 167
思考和练习 168
项目九 备份和还原数据库 170
任务一 创建“教学管理数据库备份设备” 170
操作一 在【备份设备属性】窗口中创建备份设备 170
操作二 用sp_addumpdevice创建备份设备 172
操作一 在【SQL Server备份】窗口中备份数据库 173
任务二 备份“教学管理数据库” 173
操作二 用backup database语句备份数据库 176
任务三 还原“教学管理数据库” 178
操作一 在【还原数据库】窗口中还原数据库 178
操作二 用restore database语句还原数据库 181
项目实训 182
实训一 为pubs创建备份设备“PubsBackupDevice” 182
实训二 备份pubs到PubsBackupDevice 183
实训三 从PubsBackupDevice还原pubs 183
项目小结 184
思考和练习 184
操作一 用向导导出“课程表”和“教师表” 186
项目十 导入、导出数据 186
任务一 导出数据到Excel文件 186
操作二 用向导导出查询结果 192
任务二 导入文本文件和Excel文件 194
操作一 用向导导入文本文件数据 194
操作二 用Excel文件追加数据 197
项目实训 199
项目小结 200
思考和练习 200
附录Ⅰ SQL Server的内置函数 202
附录Ⅱ 创建SQL Server的ODBC 217