实验二 使用SQL Server管理数据表:

1、请在指定数据库内完成以下内容:

1) 依据数据表的结构创建相对应的数据表,表结构如下所示;

**学生信息表(student)**

字段名称    字段类型及长度    说明    备注
Sno    Char(***生学号    主关键字
Sname    Char(6)    学生姓名    非空
Ssex    Char(2)    学生性别    可为空
Sage    Int            学生年龄    可为空
Sdept    Char(8)      学生所在院系 可为空
**课程信息表(course)**

字段名称    字段类型及长度    说明    备注
Cno    Char(4)    课程编号    主关键字
Cname    Char(20)    课程名称    非空
Cpno    Char(4)    先行课    可为空
Ccredit   Int             学分    可为空
**选课信息表(sc)**

字段名称    字段类型及长度    说明    备注
Sno    Char(***生学号    主关键字
Cno    Char(4)    课程编号    主关键字
Grade      Int              成绩     可为空

2) 在表student中增加新字段 “班级名称(sclass)“;
3) 在表student中删除字段“班级名称(sclass)”;
4) 修改表student中字段名为“sname”的字段长度由原来的6改为8;
5) 修改表student中字段“sdept”名称为“dept”,长度为20;
6) 修改表student中sage字段名称为sbirth,类型为smalldatetime;
7) 修改表student新名称为stu_info;
8) 删除数据表stu_info;

2、创建教师授课管理数据库JSSK,并完成以下内容;

1) 在数据库JSSK中创建下列三张表;

**表名:Teachers**

列名    数据类型     说明      描述
Tno    字符型,长度7    主键     教师号
Tname    字符型,长度10    非空      姓名
Tsex    字符型,长度2    默认为“男”  性别
Birthday 小日期时间型    允许空    出生日期
Dept    字符型,长度20    允许空    所在部门
Sid    字符型,长度18         身份证号
**表名: Lessons**

列名    数据类型            说明     描述
Cno    字符型,长度10    主键    课程号
Cname    字符型,长度20    非空    课程名
Credit    短整型         学分
property 字符型,长度为10         课程性质
**表名: TL**

列名    数据类型            说明      描述
Tno    字符型,长度7    主键    教师号
Cno    字符型,长度10    主键    课程名
Hours    整数                   课时

2) 在TL表里添加一个授课类别字段,列名为Type,类型为Char,长度为4;

3) 将TL表的Hours的类型改为smallint;

4) 删除Lessons表中的property列;

创建产品销售数据库CPXS,数据文件的逻辑文件名为cpxs_data,物理文件名为D:\sql\cpxs.mdf;文件初始大小为2MB,自动增长,每次增长1MB;日志文件逻辑文件名为cpxs_log,物理文件为D:\sql\cpxs.ldf;文件初始大小2MB,自动增长,每次增长15%;

3、(选做)在数据库CPXS中创建下列三张表;

**表名:产品表(cp)表结构**

列名    数据类型     说明    描述
Cpbh    字符型,长度6    主键    产品编号
Cpmc    字符型,长度30    非空    产品名称
Jg    浮点型,长度8    允许空    价格
Kcl    整型,长度4    允许空    库存量
**表名:销售商(xss)表结构**

列名    数据类型       说明    描述
Xsbh    字符型,长度6    主键    销售商编号
Xsmc    字符型,长度30    非空    销售商名称
Dq    字符型,长度10    允许空    地区
Fzr    字符型,长度8    允许空    负责人
Dh    字符型,长度12    允许空    电话
Bz    文本,长度16    允许空    备注
**表名: 产品销售(xss)表结构**

列名    数据类型            说明    描述
Cpbh    字符型,长度6    主键    产品编号
Xsbh    字符型,长度6    主键    销售商编号
Xssj    Datetime,长度8    非空    销售时间
Sl    整型,长度4    非空    数量
Je    浮点型,长度8    非空    金额
--1.1
use Stu
create table student
(
Sno char(9) primary key,
Sname char(6) not null,
Ssex char(2),
Sage int,
Sdept char(8)
)    

create table course
(
Cno char(4) primary key,
Cname char(20) not null,
Cpno char(4),
Ccredit int,
)    

create table sc
(
Sno char(9),
Cno char(4),
Grade int,
primary key (Sno,Cno)
)

--1.2
alter table student
add sclass char(10)

--1.3
alter table student
drop column sclass

--1.4
alter table student
alter column sname char(8)

--1.5
exec sp_rename 'student.sdept' ,'dept', 'column'
alter table student
alter column dept char(20)

--1.6
exec sp_rename 'student.sage' ,'sbirth', 'column'
alter table student
alter column sbirth smalldatetime

--1.7
exec sp_rename 'student' ,'stu_info'

--1.8
drop table stu_info

--2.1
create table Teachers
(
Tno char(7) primary key,
Tname char(10) not null,
Tsex char(2) default '男',
Birthday smalldatetime,
Dept char(20),
Sid char(18)
)
create table Lessons
(
Cno char(10) primary key,
Cname char(20) not null,
Credit smallint,
property char(10)
)
create table TL
(
Tno char(7),
Cno char(10),
Hours int,
primary key(Tno,Cno)
)

--2.2
alter table TL
add Type char(4)

--2.3
alter table TL
alter column hours smallint

--2.4
alter table lessons 
drop column property