创建Course表 字段名 代码 类型 约束 课程编号 cno char(10) 主键 课程名称 cname char(20) 非空 专业代码 spno char(8) 用speciality中的spno为外键 课程类型编号 ctno tinyint 理论学时 lecture tinyint 实验学时 experiment tinyint 开课学期 semester tinyint 课程学分 credit tinyint
时间: 2023-02-10 10:31:20 浏览: 247
在创建课程表(Course)时,您需要指定以下字段:
1. 课程编号(cno):char(10)类型,主键
2. 课程名称(cname):char(20)类型,非空
3. 专业代码(spno):char(8)类型,使用speciality中的spno为外键
4. 课程类型编号(ctno):tinyint类型
5. 理论学时(lecture):tinyint类型
6. 实验学时(experiment):tinyint类型
7. 开课学期(semester):tinyint类型
8. 课程学分(credit):tinyint类型
相关问题
创建Course表 字段名 代码 类型 约束 课程编号 cno char(10) 主键 课程名称 cname char(20) 非空 专业代码 spno char(8) 用speciality中的sp...
学分数 credit float 非负 教师姓名 tname char(10) 非空 上课时间 classtime char(20) 可以为空 上课地点 classroom char(20) 可以为空
其中,专业代码字段 spno 可以参考 speciality 表中的 spno 字段,建立外键关系,确保数据的一致性和完整性。
按附件(数据字典)说明在你创建的数据库下创建四个表格: t_student(学生表)、t_course(课程表)、t_scores(选课成绩表)、t_class(班级表)。学生信息表( t_student) 字段名 名称 数据类型 空 备注 SNo 学号 Char(20) N 主键 Sname 姓名 varchar(50) N Sex 性别 Char(2) Y class_name 班级名 Char(2) Y 2.课程表 课程表( t_course) 字段名 名称 数据类型 空 备注 CNo 课程编号 Char(10) N 主键 Cname 课程名称 varchar(50) N Credit 学分 Int Y 3.选课表 选课成绩表(scores) 字段名 名称 数据类型 空 备注 SNo 学号 Char(20) N 主键 CNo 课程号 Char(10) N 主键 grade 成绩 Int Y 4.班级表 班级表(t_class) 字段名 名称 数据类型 空 备注 class_name 部门编号 Char(2) N 主键 department 部门名称 varChar(50) N teacher 教师 varChar(20) classroom 教室 varChar(30)
根据数据字典,可以使用以下 SQL 语句在创建的数据库中创建四个表:
```sql
-- 创建学生表
CREATE TABLE t_student (
SNo CHAR(20) NOT NULL PRIMARY KEY COMMENT '学号',
Sname VARCHAR(50) NOT NULL COMMENT '姓名',
Sex CHAR(2) COMMENT '性别',
class_name CHAR(2) COMMENT '班级名',
FOREIGN KEY (class_name) REFERENCES t_class(class_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 创建课程表
CREATE TABLE t_course (
CNo CHAR(10) NOT NULL PRIMARY KEY COMMENT '课程编号',
Cname VARCHAR(50) NOT NULL COMMENT '课程名称',
Credit INT COMMENT '学分'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 创建选课成绩表
CREATE TABLE t_scores (
SNo CHAR(20) NOT NULL COMMENT '学号',
CNo CHAR(10) NOT NULL COMMENT '课程号',
grade INT COMMENT '成绩',
PRIMARY KEY (SNo, CNo),
FOREIGN KEY (SNo) REFERENCES t_student(SNo),
FOREIGN KEY (CNo) REFERENCES t_course(CNo)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 创建班级表
CREATE TABLE t_class (
class_name CHAR(2) NOT NULL PRIMARY KEY COMMENT '部门编号',
department VARCHAR(50) NOT NULL COMMENT '部门名称',
teacher VARCHAR(20) COMMENT '教师',
classroom VARCHAR(30) COMMENT '教室'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
```
说明:
1. 表名和列名都采用了英文名称,符合要求。
2. 每个表都设置了主键,符合要求。
3. 学生表中的 sex 字段和选课成绩表中的 grade 字段都设置了数据类型,符合要求。
4. 学生表的 class_name 字段和选课成绩表的 SNo 和 CNo 字段都设置了外键约束,参照了班级表的 class_name 字段和课程表的 CNo 字段,符合要求。
5. 课程表添加了 Credit 字段,符合要求。
6. 班级表中的 teacher 和 classroom 字段都没有设置为 NOT NULL,因为数据字典中没有要求,但是仍然按照规范进行了定义。
阅读全文