1. 写出用Create Table创建表student1、course1、sc1 ,并按下列要求设置完整性约束。要求: (1)Student1表 属性:Sno(学号) Sname(姓名) Ssex(性别) Sage (年龄) Sdept(系部) student 的约束: 主码:sno Sname不可为空,且唯一 性别 不能为空且取值范围为{男,女} check (ssex in (‘男’,‘女’)) 年龄大于16岁 check (2) Course1表 属性:Cno(课程号) Cname(课程名) Cpno(先修课号) Ccredit(学分) course 的约束: 主码:cno Ccredit 取值范围[ 1-6 ] Course表的外码Cpno ,参照表Course的Cno (3) SC1表 属性:Sno(学号) Cno(课程号) Grade(成绩) SC1 的约束: 主码:(sno,cno) 成绩(grade)只能在 0 – 100分之间 check Sc1的外码: 外码:SC 表的sno 参照表 student 的 sno 外码:sc 表的Cno 参照表 course 的 cno
时间: 2024-02-24 20:57:28 浏览: 70
数据库技术与应用 使用Create语句创建课程表并设定约束-A学习任务书.doc
创建表student1:
```
CREATE TABLE student1 (
Sno CHAR(10) PRIMARY KEY,
Sname VARCHAR(20) UNIQUE NOT NULL,
Ssex CHAR(2) NOT NULL CHECK (Ssex IN ('男', '女')),
Sage INT CHECK (Sage > 16),
Sdept VARCHAR(20)
);
```
创建表course1:
```
CREATE TABLE course1 (
Cno CHAR(10) PRIMARY KEY,
Cname VARCHAR(20),
Cpno CHAR(10) REFERENCES course1(Cno),
Ccredit INT CHECK (Ccredit BETWEEN 1 AND 6)
);
```
创建表sc1:
```
CREATE TABLE sc1 (
Sno CHAR(10) REFERENCES student1(Sno),
Cno CHAR(10) REFERENCES course1(Cno),
Grade INT CHECK (Grade BETWEEN 0 AND 100),
PRIMARY KEY (Sno, Cno)
);
```
阅读全文