有三个关系模式: Student(sno varchar(10) 主键,sname varchar(8) 唯一 不为空, ssex varchar(2) 默认为‘男’, sage int 介于20到50之间(将此约束命名为student_chk_sage), sdept varchar(20)); Course(cno varchar(5) 主键, cname varchar(20) 唯一, cpno varchar(5) 允许为空,外键,参照Course表的cno(将此外键约束命名为course_fk_cpno), credit int ); SC(sno varchar(10) , cno varchar(5) , grade float 分数在大于等于0到小于等于100分之间(将此约束命名为sc_chk_grade)),主键是(sno,cno)。Sno是外键参照student表的主键sno(将此外键约束命名为sc_fk_sno),cno是外键参照course表的主键cno(将此外键约束命名为sc_fk_cno)。 (1)创建上述3个基本表。
时间: 2024-02-22 19:58:37 浏览: 103
以下是创建三个关系模式的SQL语句:
创建Student表:
```
CREATE TABLE Student (
sno VARCHAR(10) PRIMARY KEY,
sname VARCHAR(8) UNIQUE NOT NULL,
ssex VARCHAR(2) DEFAULT '男',
sage INT CHECK (sage BETWEEN 20 AND 50) CONSTRAINT student_chk_sage,
sdept VARCHAR(20)
);
```
创建Course表:
```
CREATE TABLE Course (
cno VARCHAR(5) PRIMARY KEY,
cname VARCHAR(20) UNIQUE,
cpno VARCHAR(5) REFERENCES Course(cno) CONSTRAINT course_fk_cpno,
credit INT
);
```
创建SC表:
```
CREATE TABLE SC (
sno VARCHAR(10) REFERENCES Student(sno) CONSTRAINT sc_fk_sno,
cno VARCHAR(5) REFERENCES Course(cno) CONSTRAINT sc_fk_cno,
grade FLOAT CHECK (grade BETWEEN 0 AND 100) CONSTRAINT sc_chk_grade,
PRIMARY KEY (sno, cno)
);
```
阅读全文