数据库原理及SQL Server 应用上机题2

更新时间:2023-03-08 17:45:15 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.以最简单的方式创建一个数据库,数据库的名称自定义。

create database 教学管理系统

2.在自己创建的数据库中用t_sql语言创建,班级表,学生表,课程表,成绩表 其中有关字段的名称和数据类型如下: 班级表:(班号为主键,班级人数必须大于20) 班号 char(20) 专业 char(20) 所在系 char(20) 人数 smallint create table 班级表 (

班号 char(20) primary key, 专业 char(20), 所在系 char(20),

人数 smallint check(人数>20)

)

学生表:(学号为主键,班号为外键)

学号 char(20) 姓名 char(20) 性别 char(20) 籍贯 char(20) 出生日期 smalldatetime 班号 char(20)

create table 学生表 (

学号 char(20) primary key, 姓名 char(20),

性别 char(20), 籍贯 char(20),

出生日期 smalldatetime,

班号 char(20) references 班级表(班号) on delete cascade on update cascade )

课程表:(课程号为主键)

课程号 char(20) 课程名 char(20) 教材 char(20) 课时 smallint create table 课程表

(

课程号 char(20) primary key, 课程名 char(20), 教材 char(20), 课时 smallint

)

成绩表:(学号和课号为主键)

学号 char(10) 课号 char (10) 成绩 int create table 成绩表 (

学号 char(10) ,

课号 char(100),

成绩 int,

constraint cjb_zj primary key(学号,课号) )

3.用t_sql语言为每个表做修改

1) --为学生表增加一个字段“年龄”,数据类型为smallint alter table 学生表 add 年龄 smallint

2) --为成绩表中字段学号和课号添加非空约束 alter table 成绩表

add constraint xuehao_kehao_nonull check (学号 is not null and 课号 is not null) 3) --为成绩表添加外键约束 alter table 成绩表

add constraint cj_wj foreign key (学号) references 学生表(学号) on delete cascade

on update cascade alter table 成绩表

add constraint cj_wj1 foreign key (课号) references 课程表(课程号) on delete cascade

on update cascade

4) --为成绩表成绩添加约束,成绩必须在0到100分之间 alter table 成绩表

add constraint cj_check check(成绩>=0 and 成绩<=100)

5) --为学生表年龄添加约束,年龄必须小于40,(思考:加入对现有违反约束的数据不检查怎么写?)

alter table 学生表 with nocheck

add constraint nl_check check(年龄<40) 6) --删除学生表年龄的check约束

alter table 学生表 drop constraint nl_check 7) --删除成绩表中字段“课程”的外键 alter table 成绩表 drop constraint cj_wj1

8) --删除学生表年龄字段 alter table 学生表 drop column 年龄

本文来源:https://www.bwwdw.com/article/s6d6.html

Top