实验五 使用T-SQL语句定义数据、操纵数据

�一.实验目的:

\1. 掌握使用T-SQL语句创建、修改、打开和删除数据库。

\2. 掌握使用T-SQL语句创建、修改和删除表。

\3. 掌握使用T-SQL语句对表中的数据进行增删改。

\4. 掌握使用T-SQL语句创建、修改和删除视图。

二.实验内容:(将所有题写到实验报告中)

1.使用T-SQL语句创建数据库

创建数据库stuinfo_2,要求:

(1)包含三个数据文件(MF.mdf、F1.ndf、F2.ndf)和两个日志文件(L1.ldf、L2.ldf),文件的其他属性自定义。

(2)F1.ndf和F2.ndf放到自定义的文件组G1中。

(3)数据库文件存储到D:\SQLDATA。

2.使用T-SQL语句修改数据库

   向数据库stuinfo_2中添加一个文件组G2,再向该文件组中添加一个数据文件F3.ndf,文件的属性自定义。

3.使用T-SQL语句创建表及约束

(1)在stuinfo库中创建student_2表,字段及数据类型同student表,另外要求:

①sno列为主键;

②sname取值唯一且可以为空;

③ssex列的默认值设为“男”;。

(2)在stuinfo创建score_2表,字段及数据类型同score表,另外要求:

①sno列和cno列的组合为主键;

②degree列的取值在0到100之间;

③sno列为外键,参照student表的sno列;

④cno列为外键,参照course表的cno列。

4.使用T-SQL语句修改表

(1)修改teacher表,向该表中添加一列communist(是否党员),类型为逻辑型(bit)。

   (2)修改course表,添加一列cpno(先行课),类型为char(6),设该列为外键,参照自身表的cno列,添加cname列的值唯一约束。

   (3)删除teacher表的communist列。

5.使用T-SQL语句操作表中数据

(1)向student表中添加一条记录s。

(2)将score表的101号学生的3-105课程的成绩改为80。

   (3)删除student表中姓名是“李强”的学生。

\6. 使用T-SQL语句创建视图

   (1)创建“95031”班学生的视图V-student-95031_2。

(2)创建“95031”班学生的选课视图V-score-95031_2,包括的列为:学号、姓名、课程名、成绩,并使用汉字做列名。

   (3)创建“6-166”课的选课视图V-score-6-166_2,包括的列为:课程号、课程名、学号、姓名、成绩,并使用汉字做列名。

   (4)创建每个学生平均成绩的视图VS-avgdegree-1_2,包括的列为:班级、学号、姓名、平均成绩,并使用汉字做列名。

(5)创建其平均成绩高于等于80分的学生视图VS-avgdegree-2_2,包括的列为:班级、学号、姓名、平均成绩,并使用汉字做列名。

   (6)创建各门课平均成绩的视图VC-avgdegree_2,包括的列为:课程号、课程名、平均成绩,并使用汉字做列名。

   (7)创建缺考学生的视图V-student-absent_2,包括的列为:学号、姓名、课程号、课程名,并使用汉字做列名。

(8)将视图V-score-6-166_2中的成绩都减去5分。

实验一

create database stuinfo_2 

on primary

(name='MF',

filename='E:\SQLDATA\MF.mdf'

),

filegroup G1

(name='F1',

filename='E:\SQLDATA\F1.ndf'

),

(name='F2',

filename='E:\SQLDATA\F2.ndf'

)

 

log on

(name='L1',

filename='E:\SQLDATA\L1.ldf'

),

(name='L2',

filename='E:\SQLDATA\L2.ldf'

)


GO
实验二

alter database stuinfo_2

ADD FILEGROUP G2

alter database stuinfo_2

add file

(name='F3',

filename='E:\SQLDATA\F3.ndf'

)

to filegroup G2

go
实验三

USE stuinfo

create table student_2 

(sno char(5) primary key, 

sname char(10) not null, 

ssex char(2) default '男',

sbirthday nchar(20) not null, sclass char(10) not null,

monitor char(5)  constraint fk_student references student(sno) )

create table score_2 (

Sno char(5) ,

Cno char(6) ,

PRIMARY KEY(Sno,Cno),

FOREIGN KEY(Sno)REFERENCES student(Sno),

FOREIGN KEY(Cno)REFERENCES course(Cno),

degree char (10)check(degree between 0 and 100))

实验四

alter table teacher

add communist bit null

ALTER TABLE Course ADD cpno char(6)  

ALTER TABLE Course ADD CONSTRAINT cname UNIQUE(cno)

ALTER TABLE Course    

WITH CHECK 

ADD FOREIGN KEY(cpno)

REFERENCES Course(cno)

ALTER table teacher

drop column communist
实验五

use stuinfo

insert into student (sno,sname,ssex,sbirthday,sclass) values ('111','李强',default,'1998-01-01','95031')

update score set degree=80 where cno='3-105' and sno='101'

delete from student where sname='李强'

7)

create view "V-student-absent_2"

as

select score.sno as '学号', student.sname as '姓名', score.cno as '课程号', course.cname as '课程名'

from score, student, course

where score.degree is null and student.sno = score.sno and score.cno = course.cno

8)

update [V-score-6-166_2] set 成绩 = 成绩 - 5
实验六

1)

create view V_student_95031_2 as select * from student

2)

create view "V-score-95031_2" as

select score.sno as '学号',student.sname as '姓名',course.cname as '课程名', score.degree as '成绩' 

from score, student, course

where score.sno = student.sno and score.cno = course.cno

3)

create view "V-score-6-166_2" as

select course.cno as '课程号', course.cname as '课程名', student.sno as '学号', student.sname as '姓名', score.degree as '成绩'

FROM course, student, score

WHERE dbo.course.cno = '6-166' and course.cno = score.cno and student.sno = score.sno

4)

create view "VS-avgdegree-1_2" as

SELECT dbo.student.sclass AS '班级', dbo.student.sno AS '学号', dbo.student.sname AS '姓名', AVG(dbo.score.degree) AS '平均成绩'

FROM dbo.student INNER JOIN

dbo.score ON dbo.student.sno = dbo.score.sno

GROUP BY dbo.student.sclass, dbo.student.sno, dbo.student.sname

5)

create view "VS-avgdegree-2_2" as

SELECT dbo.student.sclass AS 班级, dbo.student.sno AS 学号, dbo.student.sname AS 姓名, AVG(dbo.score.degree) AS 平均成绩  FROM   dbo.student INNER JOIN

dbo.score ON dbo.student.sno = dbo.score.sno

GROUP BY dbo.student.sclass, dbo.student.sno, dbo.student.sname

HAVING      (AVG(dbo.score.degree) >= 80)

6) create view "VC-avgdegree_2"  as

SELECT  dbo.course.cno AS 课程号, dbo.course.cname AS 课程名, AVG(dbo.score.degree) AS 平均成绩 FROM  dbo.course INNER JOIN dbo.score ON dbo.course.cno = dbo.score.cno

GROUP BY dbo.course.cno, dbo.course.cname
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容