要求:通过SQL语句创建以下基本表:

教师关系 T(T#, TNAME,TITLE)

课程关系 C(C#,CNAME,T#)

学生关系 S(S#,SNAME,AGE,SEX)

选课关系SC(S#,C#,SCORE)

班级关系CLASS(CLASSID,CLASSNAME)

其中红色粗体为主键,带下划线的属性为外键。

通过SQL语句在CLASS表的CLASSID列上创建聚集索引IDX_CLASSID

通过SQL语句创建在S#C#两个列上创建索引IDX_S#_C#,并指定索引按S#降序,C#升序有序。

通过SQL语句实现以下操作:

撤销索引IDX_CLASSID及IDX_S#_C#

在学生关系中增加班级号属性列CLASSID

撤销学生关系中的班级号属性列CLASSID

撤销班级关系CLASS

方法:

1.打开SQL Server Mangement Studio, 连接到本地数据库。在对象资源管理 器中,点击数据库,然后选择新建查询。输入创建数据库的代码,点击执行,在消息窗口出现命令已成功完成。在存放的文件夹中产生mdf主数据文件和ldf日志文件。在对象资源管理器中右键数据库,选择刷新,将会出现work数据库。

create database work

on primary(

name='work', --主数据文件的逻辑名称

filename='F:\SQL\work1\work.mdf', --主数据文件的物理名称

size=10mb, --主数据文件的初始大小

filegrowth=10mb --主数据文件的增长率

)

log on(

name='work_log', --日志文件的逻辑名称

filename='F:\SQL\work1\work_log.ldf', --日志文件的物理名称

size=5mb, --日志文件的初始大小

filegrowth=10% --日志文件的增长率

)

2.输入创建各个表的代码,选择这些代码点击执行,刷新work数据库,会出现创建的表。

create table T --创建表教师关系T

(T# char(4) not null,

TNAME char(8) not null,

TITLE char(10),

PRIMARY KEY(T#) --设置主键为T#

);

create table C --创建表课程关系T

(C# char(4),

CNAME char(10) not null,

T# char(4),

PRIMARY KEY(C#), --设置主键为C#

FOREIGN KEY(T#)REFERENCES T(T#) --设置外键为T#

);

create table S --创建表学生关系S

(S# char(4) not null,

SNAME char(8) not null,

AEG char(1),

PRIMARY KEY(S#) --设置主键为S#

);

create table SC --创建表选课关系SC

(S# char(4),

C# char(4),

SCORE SMALLINT,

PRIMARY KEY(S#,C#), --设置主键为S#,C#

FOREIGN KEY(S#)REFERENCES S(S#), ----设置外键为S#

FOREIGN KEY(C#)REFERENCES C(C#) ----设置外键为C#

);

create table class --创建表班级关系class

(

CLASSID char(4),

CLASSNAME char(8)

);

3.输入代码,右键class表,点击设计。出现表class,然后右键CLASSID,选择索引。SC表统一操作。

create unique index IDX_CLASSID on class(CLASSID); --在CLASS表的CLASSID列上创建聚集索引IDX_CLASSID

create unique index IDX_S#_C# on SC(S# DESC,C# ASC);--创建在S#和C#两个列上创建索引IDX_S#_C#,并指定索引按S#降序,C#升序有序

4.撤销索引IDX_CLASSID及IDX_S#_C#。代码为:

DROP INDEX IDX_CLASSID on class; --撤销索引IDX_CLASSID

DROP INDEX IDX_S#_C# on SC; --撤销索引IDX_S#_C#

在学生关系中增加班级号属性列CLASSID。代码为:

alter table S add CLASSID char(4); --在学生关系中增加班级号属性列CLASSID

撤销学生关系中的班级号属性列CLASSID,代码为:

alter table S drop column CLASSID; --撤销学生关系中的班级号属性列CLASSID

撤销班级关系CLASS,代码为:

drop table class ; --撤销班级关系CLASS