实验二 使用SQL Server管理数据表:
1、请在指定数据库内完成以下内容:
1) 依据数据表的结构创建相对应的数据表,表结构如下所示;
**学生信息表(student)**
字段名称 字段类型及长度 说明 备注
Sno Char(9) 学生学号 主关键字
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(9) 学生学号 主关键字
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