2.sql server数据表的管理(实验报告)

目录

一﹑实验目的

二﹑实验平台

三﹑实验内容和步骤

四﹑命令(代码)清单

五﹑运行结果


一﹑实验目的

  1. 掌握使用SQL Server管理平台和Transact-SQL语句Create table和Alter table创建和修改表的方法;
  2. 掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法;
  3. 掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法;
  4. 了解SQL Server的常用数据类型。

二﹑实验平台

操作系统:Windows xp,Win7,Win10

DBMS:SQL Server 2005, SQL Server 2008

三﹑实验内容和步骤

(1)启动SQL Server管理平台,创建数据库studentdb并在对象资源管理器中展开studentdb数据库文件夹。

(2)在studentdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构见图1-2至1-4所示。

列名

数据类型

允许空

学号

Char(4)

Not null

姓名

Char(8)

性别

Char(2)

出生日期

datetime

家庭住址

Varchar(50)

备注

text

图1-2 student_info

列名

数据类型

允许空

课程编号

char(4)

No null

课程名称

char(50)

学分

int

图1-3 curriculum

列名

数据类型

允许空

学号

Char(4)

Not null

课程编号

Char(4)

Not null

分数

Numeric(3,1)

图1-4 grade

(3)在SQL Server管理平台中创建student_info、curriculum表;

(4)在SQL Server管理平台中,将student_info表的学号列设置为主键,非空;

(5)使用Transact-SQL语句Create table在studentdb数据库中创建grade表;

(6)student_info、curriculum、grade表中的数据如图1-5至1-7所示。

学号

姓名

性别

出生日期

家庭住址

备注

0001

刘卫平

1980-10-1

衡阳市东风路78号

null

0002

张卫民

1980-12-2

东阳市八一北路25号

null

0003

马东

1980-7-4

长岭市五一路785号

null

0004

钱达理

1980-5-10

滨海市洞庭大道278号

null

0005

东方牧

1980--1-3

东方市中山路25号

null

0006

郭文斌

1980-6-4

长岛市解放路25号

null

0007

肖海燕

1980-3-15

南山市红旗路15号

null

0008

张明华

1980-4-18

滨江市解放路35号

null

图1-5 student_info的数据

课程编号

课程名称

学分

0001

大学计算机基础

2

0002

C语言程序设计

2

0003

SQL Server数据库及应用

2

0004

英语

4

0005

高等数学

4

图1-6 curriculum的数据

学号

课程编号

分数

0001

0001

80

0001

0002

90

0001

0003

87

0001

0004

86

0001

0005

78

0002

0001

76

0002

0002

73

0002

0003

69

0002

0004

70

0002

0005

89

0003

0001

83

0003

0002

73

0003

0003

84

0003

0004

75

0003

0005

65

图1-7 grade的数据

(7)在SQL Server管理平台中为student_info、curriculum、grade表添加数据。

(8)使用SQL语句insert into …values向studentdb数据库的grade表插入数据:学号为0004,课程编号为0001,分数为80。

(9)使用SQL语句alter table修改curriculum表的“课程编号”列,使之为非空。

(10)使用SQL语句alter table修改grade表的“分数”列,使其数据类型为real。

(11)使用SQL语句alter table修改student_info表的“姓名”列,使其数据类型为varchar(10),非空。

(12)分别使用SQL Server管理平台和SQL语句delete删除studentdb数据库的grade表中学号为’0004’的成绩记录。

(13)使用SQL语句update修改studentdb数据库的grade表中学号为0003、课程编号为0005的记录,使其成绩为90。

(14)使用SQL语句alter…add为studentdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为varchar(20)。

四﹑命令(代码)清单

5

use studentdb
create table grade(
学号 char(4) not null,
课程编号 char(4) not null,
分数 numeric(3,1)
)

7

use studentdb
insert into student_info values('0001','刘卫平','男','1980-10-1','衡阳市东风路78号',null);
insert into student_info values('0002','张卫民','男','1980-12-2','东阳市八一北路25号',null);
insert into student_info values('0003','马东','男','1980-7-4','长岭市五一路785号',null);
insert into student_info values('0004','钱达理','男','1980-5-10','滨海市洞庭大道278号',null);
insert into student_info values('0005','东方牧','男','1980-1-3','东方市中山路25号',null);
insert into student_info values('0006','郭文斌','男','1980-6-4','长岛市解放路25号',null);
insert into student_info values('0007','肖海燕','女','1980-3-15','南山市红旗路15号',null);
insert into student_info values('0008','张明华','女','1980-4-18','滨江市解放路35号',null);

use studentdb
insert into curriculum values('0001','大学计算机基础',2)
insert into curriculum values('0002','C语言程序设计',2)
insert into curriculum values('0003','SQL Server数据库及应用',2)
insert into curriculum values('0004','英语',4)
insert into curriculum values('0005','高等数学',4)

use studentdb
insert into grade values('0001','0001',80)
insert into grade values('0001','0002',90)
insert into grade values('0001','0003',87)
insert into grade values('0001','0004',86)
insert into grade values('0001','0005',78)
insert into grade values('0002','0001',76)
insert into grade values('0002','0002',73)
insert into grade values('0002','0003',69)
insert into grade values('0002','0004',70)
insert into grade values('0002','0005',89)
insert into grade values('0003','0001',83)
insert into grade values('0003','0002',73)
insert into grade values('0003','0003',84)
insert into grade values('0003','0004',75)
insert into grade values('0003','0005',65)

(8)

use studentdb
insert into grade values('0004','0001',80)

(9)

use studentdb
alter table curriculum
alter column  课程编号 char(4) not null

10

alter table grade
alter column  分数 real

11

alter table student_info
alter column  姓名 varchar(10)

12

delete from grade where 学号='0004'

13

update grade
set 分数=90 where 学号='0003' and 课程编号='0004'

14

alter table grade add 备注 varchar(20)

五﹑运行结果

1

 

2

3

 

4

 

5

7

(8)

(9)

10

11

12

使用管理平台删除

②用sql语句:

(13)

(14)

本文档为数据库上机实验报告,是自己认认真真一步一步写的,报告包含试验中的具体步骤,过程以及代码和实验结果截图,和实验总结。 实验实验题目: 数据库管理系统的使用 实验目的: 掌握SQL SERVER2005的使用和数据库设计的一般方法。 实验内容: (1)SQL SERVER2005的使用 (2)数据库的设计过程并利用SQL SERVER2005建立数据库实验实验题目: 数据库的定义 实验目的:掌握数据表建立、修改、删除、索引的SQL语句实验内容: (1)数据表的建立 (2)数据表的修改 (3)数据表的删除 (4)数据表的索引建立 为S的DEPT建立唯一索引 (5)视图的建立与删除 建立一个计算机系学生基本信息视图CSV(SNO,SNAME,SEX,AGE) 查询1983年以后出生的计算机系学生基本信息。 建立一个计算机系学生成绩视图JSGV(SNO,CNO,GRADE)。 查询计算机系学生选课多于3门的学生学号。 查询计算机系学生2号课不及格的学生学号和成绩。 实验实验题目: 数据表的操作 实验目的: 掌握数据表数据操作的SQL语句实验内容: SQL语句插入数据操作 SQL语句修改数据操作 SQL语句删除数据操作 SQL语句查询数据操作 维护数据SQL语句: (1)在学生中插入一新生信息(‘200213808’,’HUJING’,’女’,22,’计算机’) (2)删除数据库中学号为’200213801’的退学学生有关信息。 (3)将计算机系学生2号课成绩全部提高5%。 查询数据SQL语句: (4)统计有学生选修的课程门数。 (5)统计HU老师所授每门课程的学生平均成绩。 (6)统计所有选修人数多于20的课程号和选课人数,并按人数降序排列,若人数相等,则按课程号升序排列。 (7)检索所有缓考即成绩为NULL的同学学号、姓名和缓考课程号。 (8)检索‘OS’课成绩高于该课平均成绩的同学学号。 (1) 检索计算机系女生的学号和姓名。 (2) 检索全体学生姓名、出生年份和所在系。 (3) 检索未选修任何课程的学生学号。 (4) 检索WANG老师所授课程号、课程名。 (5) 检索所有姓LI同学的基本信息。 (6) 检索选修‘DATABASE’课程的学生学号。 (7) 检索年龄介于LIPING同学年龄和28岁之间的学生基本信息。 (8) 检索选修TIAN老师所授全部课程的学生学号。 实验实验题目: T-SQL编程 实验目的: 掌握T-SQL语句的使用。 实验内容: 1.定义一个变量,用来存储两名学生的学号,姓名,所在系。 2.编写一个自定义的函数,该函数接受一个学生姓名,返回其学生中基本信息及选课情况。 3.试用CASE语句输出学生中各年龄段的学生人数。 4.编写存储过程,以系别作为参数,统计指定系别的人数,并作为存储过程的输出。 实验题目: 数据库的完整性 实验目的: 掌握数据库的完整性约束定义,完整性检查及违约处理方式。 掌握触发器的定义及使用。 实验内容: 1. 定义S, C的完整性约束 2. 定义SC的完整性约束,要求当其被参照发生删除操作时,违约处理的方式为级联,当其被参照发生修改操作时,违约处理的方式为拒绝。 3. 触发器 ☆ 建立一DML触发器,每当学生的成绩发生更新时,将更新的学号,成绩存入g-log内 ☆ 建立一个INSTEAD OF触发器,每当修改课程中记录时,利用触发器动作替代修改操作。 ☆ 建立一个DDL 触发器,不允许删除数据库,并作出响应。 实验实验题目: 数据库的安全性 实验目的: 掌握SQL SERVER 2005的安全控制机制 实验内容: 1. 创建登录 创建lg1,lg2,并设定口令 2. 定义用户 定义user1,user2,user1以lg1登录,user2以lg2登录,user1定义角色ddl_admin,datareader,datawriter 3. 掌握SQL SERVER 2005架构和用户分离的概念 为user1创建架构u1,并建立test,通过授权模式的方法,授权给user2访问test的权限 4. 数据库的授权、收权语句 ☆ 将查询SC和修改GRADE属性的权限授予用户user1。 ☆ 将对S的插入权限授予用户user2,并允许他将此权限授予其他用户。 ☆ 收回所有用户对S的插入权限。 实验实验题目: 数据库的设计 实验目的: 掌握数据库的概念结构设计和逻辑结构与设计,掌握ER图的示方法即如何将ER模型转化为关系模型 1.学校有若干系,每个系有若干班级和教研室,每个教研室有若干教师,其中有教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课有若干学生选修。 2.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料组成,不同零件所用的材料可以相同。有些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值