目录

  • 第1单元    数据库系统导论
    • ● 任务1.1  数据库基本概念
    • ● 任务1.2  设计E—R 图
    • ● 任务1.3   将E-R图转换成关系模型
    • ● 任务1.4   练习与作业
    • ● 教与学参考资源
  • 第2单元   认识SQL SERVER数据库
    • ● 任务2.1 数据库应用场景
    • ● 任务2.3  SQL  Server 数据库安装
    • ● 任务2.4 SQL Server 的管理
    • ● 任务2.5  使用SSMS连接数据库
    • ● 教与学参考资源
  • 第3单元  创建和管理数据库
    • ● 任务3.1 创建数据库
    • ● 任务3.1(2)  命令创建数据库
    • ● 任务3.2 管理数据库
    • ● 任务3.2(2) 查看、收缩数据库
    • ● 教与学参考资源
  • 第4单元 创建和管理数据库表
    • ● 任务4.1 SQL Server常用数据类型
    • ● 任务4.2  创建数据表
    • ● 任务4.3  命令创建表
    • ● 任务4.4 实施完整性约束
    • ● 教与学参考资源
  • 第 5 单元   查询数据表
    • ● 任务5.1 单表数据查询
    • ● 任务5.2 多表数据查询
    • ● 任务5.3 嵌套查询
    • ● 任务5.4 合并查询结果
    • ● 教与学参考资源
  • 第6单元  管理表中数据
    • ● 任务6.1   添加数据
    • ● 任务6.2  修改数据
    • ● 任务6.3  删除数据
    • ● 习题与训练
    • ● 教与学参考资源
  • 第7单元  使用索引和视图
    • ● 任务7.1  使用索引
    • ● 使用T-SQL创建索引
    • ● 任务7.2  使用视图
    • ● 使用T-SQL语句创建视图
    • ● 教与学参考资源
  • 第8单元 Transact-SQL语言编程
    • ● 任务8.1   声明和使用变量
    • ● 任务8.2   流控语句
    • ● 任务8.3   常用系统函数
    • ● 任务8.4   创建自定义函数
    • ● 教与学参考资源
  • 第9单元  事务和锁
    • ● 任务   9.1     事务
    • ● 事务的基本操作
    • ● 任务9.2    锁
    • ● 死锁及避免方法(例)
    • ● 教与学参考资源
  • 第10单元  创建和管理存储过程
    • ● 任务10.1 存储过程及优点
    • ● 任务10.2 创建和执行存储过程
    • ● 任务10.3   存储过程参数和返回值
    • ● 任务10.4 修改、删除、 重新编译存储过程
    • ● 教与学参考资源
  • 第11单元 创建和管理触发器
    • ● 任务1 触发器的作用和分类
    • ● 任务2 触 发器的创建与执行
    • ● 任务3 创建级联触发器
    • ● 任务4 修改、删除触发器
  • 第12单元 创建和使用游标
    • ● 任务1  游标的作用及使用步骤
    • ● 任务2  创建基本游标
    • ● 任务3  使用变量保存游标数据
    • ● 任务4  使用循环环提取游标数据
  • 第13单元 SQL Server用户管理
    • ● 任务1数据库安全管理概述
    • ● 任务2SQL Server 安全机制
    • ● 任务3 账号、角色及权限管理
    • ● 任务4数据库完整性管理
    • ● 任务5 数据库的备份与还原
    • ● 任务6   数据的导入与导出
  • 第14单元  综合应用案例
    • ● 概述
    • ● 需求分析
    • ● 概述设计-逻辑设计- 物理设计
    • ● 编写数据库设计说明书
  • 学生做项目成果展示
    • ● 项目一  设计《我班同学数据库》
    • ● 项目二  设计《(Teaching)教学数据库》
    • ● 项目三  数据库应用系统设计开发项目
    • ● 项目四 《华夏-宿舍管理系统》设计开发
    • ● 项目五   综合实训大作业
    • ● 综合实训团队项目大作业
    • ● 学生完成项目摘录展示
  • 总复习与综合训练
    • ● 总复习
    • ● 综合训练一
    • ● 综合训练二
    • ● 综合训练三
    • ● 综合训练四
    • ● 综合训练五
    • ● 简答综合训练
  • 在线专题测验
    • ● 自检自测一
    • ● 自检自测二
  • 拓展   数据库管理工具平台  Navicat
    • ● 关于Navica
    • ● Navicat 的系统需求
    • ● Navicat 的用户界面
    • ● Navicat 创建数据库对象
    • ● 在Navicat创建的SQL 程序脚本
    • ● 在Navicat创建的SQL  server 脚本(2)
    • ● 综合实训(1)
    • ● 综合实训(2)
  • 技术拓展   (MYSQL)数据库技术与应用
    • ● MYSQL技术
  • 教与学图片剪影
    • ● 教学团队
    • ● 学生学习实训
    • ● 活动与交流
综合训练三

 <SQL   SERVER 数据库技术>  自测题

 

请写出命令代码(自己提出改善要求)并完成实操

 

1、创建数据库[成绩管理]代码(3分);

create database 成绩管理

go

 例:在D盘的HXDB目录下,创建 【HX成绩管理】数据库。

 代码:

2、创建[课程表]代码(5分);

   课程表(课程号 char(6),课程名称,课时,学分)

   要求使用:主键(课号)、非空(课程名称)

 

create table 课程表

(课程号 char(6) primary key ,

课程名称 VARchar(12) not null,

课时 int,

学分 real )

 

 

3、创建[学生表]代码(5分);

   学生表(学号 char(6),姓名,性别,民族,身份证号) 

   要求使用:主键(学号)、默认(民族为汉族)、非空(民族,姓名)、唯一(身份证号)、检查(性别)

 

create table 学生表

(学号 char(6) primary key ,

姓名char(8) not null ,

性别nchar(1) check([性别] in ('男', '女')),

民族nchar(8) default '汉族' not null,

身份证号char(18) unique)

 

4、创建[成绩表]代码(5分);

 成绩表(ID,学号,课号,分数)

   要求使用:外键(成绩表.学号,成绩表.课号)、检查(分数),自动编号(ID)

 

create table 成绩表

(ID int identity(1,1),

学号 CHAR(6)  FOREIGN KEY([学号])REFERENCES[dbo].[学生表] ([学号]),

课程号 CHAR(6) FOREIGN KEY([课程号])REFERENCES [dbo].[课程表] ([课程号]) ,

成绩 real check (成绩>=0 and  成绩<=100 ),

PRIMARY KEY CLUSTERED ( 学号 ASC, 课程号 ASC )

  )

 

5、将下列课程信息添加到课程表的代码(9分)

        课号      课程名称

        100001    大学语文

        100002    大学英语

        100003    西班牙语

 

        修改  课号为100002的课程名称:实用英语

        删除  课号为100003的课程信息   

 

insert课程表values('100001', '大学语文')

insert课程表values('100002', '大学英语')

insert课程表values('100003', '西班牙语')

 

update课程表set 名称='实用英语' where 课号='100002'

delete课程表where 课号='100003'

 

6、建视图:成绩表视图(学号,姓名,课号,课程名称,分数)的代码;(8)

create view [成绩表视图] as

select学号,姓名,课号,课程名称,分数from成绩表,学生表

where成绩表.编号=学生表.编号

 

7、写出创建:某门课程成绩内嵌表值函数以及检索的代码;(8分)

   检索:所有修  实用英语  这门学生的成绩;

 

create function [某门课程成绩](@课程名varchar(15))

returns table as

return (select 课程名称,课时数,学生姓名=姓名from成绩表视图

where实用英语=@课程名称)

go

select * from [某门课程成绩]('SQL Server数据库')

 

8、写出创建:某门课程高低均分  计算某门课程成绩最高分、最低分、平均分 存储过程以及执行的代码;(8分)

       执行:所有修  实用英语  这门学生的最高分、最低分、平均分;

 

create procedure [某门课程分数]

as

select  最高分=max(分数) ,最低分=min(分数),平均分=avg(分数) from 成绩表

go

begin

   declare @平均分int

   select @平均分=sum (课时) from 成绩表视图

   where 课程名= @实用英语

end

 

execute [某门课程分数]

 

 

 

9、检索姓李的女同学的情况:姓名、性别、民族。(6分)

 

select姓名,性别,民族from学生表

where姓名like '%'

 

10、检索有一门或一门以上课程成绩大于等于90分的所有学生的信息,包括学号、姓名。(6分)

select学号,姓名from成绩表

where学号in (select distinct 学生学号from成绩表where课程成绩>=90)

 

11查询学生表中的男生记录 (6分)

 

select *

from学生表

where性别=''

12、从学生表与课程表和成绩表中查询学生的学号、姓名、课程名和分数(6分)

 

SELECT学生表.学号,学生表.姓名,课程表.名称,成绩表.分数

from学生表,课程表,成绩表

where学生表.学号=成绩表.学号and课程表.课号=成绩表.课号

 

13、从课程表中统计第二学期的总学时。(6分)

执行结果为:

课程号  课程名  开课学期   学时

…        …      …        …

…        …      …        …

           sum

     ============ 

  

14、创建一个触发器,当修改学生表中的姓名时,显示“学生姓名已被修改”。 (6分)

create trigger

on学生

after alter

as

print '学生姓名已被修改'

 

       

 

 

 

 

       

15、设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据。请写出账户、权限设置的T_SQL脚本。(13)

 

use学生成绩数据库

exec sp_addlogin 'U领导', '888', '学生成绩数据库'

exec sp_grantdbaccess 'U领导', 'U读者'

exec sp_addrolemember 'db_datareader', 'U读者'