设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)表(四)所示,数据如表1-2的表(一)表(四)所示。用SQL语句创建四个表并完成相关题目。
表1-1数据库的表结构
表(一)Student (学生表)
属性名 数据类型 可否为空 含 义
Sno Char(3) 否 学号(主码)
Sname Char(8) 否 学生姓名
Ssex Char(2) 否 学生性别
Sbirthday datetime 可 学生出生年月
Class Char(5) 可 学生所在班级
CREATE TABLE `student` (
`Sno` char(3) NOT NULL,
`Sname` char(8) NOT NULL,
`Ssex` char(2) NOT NULL,
`Sbirthday` datetime DEFAULT NULL,
`Class` char(5) DEFAULT NULL,
PRIMARY KEY (`Sno`)
)
表(二)Course(课程表)
属性名 数据类型 可否为空 含 义
Cno Char(5) 否 课程号(主码)
Cname Varchar(10) 否 课程名称
Tno Char(3) 否 教工编号(外码)
```sql
CREATE TABLE `course` (
`Cno` char(5) NOT NULL,
`Cname` varchar(10) NOT NULL,
`Tno` char(3) NOT NULL,
PRIMARY KEY (`Cno`),
KEY `Tno` (`Tno`),
CONSTRAINT `course_ibfk_1` FOREIGN KEY (`Tno`) REFERENCES `teacher` (`Tno`)
)
表(三)Score(成绩表)
属性名 数据类型 可否为空 含 义
Sno Char(3) 否 学号(外码)
Cno Char(5) 否 课程号(外码)
Degree Decimal(4,1) 可 成绩
主码:Sno+ Cno
CREATE TABLE `score` (
`Sno` char(3) NOT NULL,
`Cno` char(5) NOT NULL,
`Degree` decimal(4,1) DEFAULT NULL,
KEY `Sno` (`Sno`),
KEY `Cno` (`Cno`),
CONSTRAINT `score_ibfk_1` FOREIGN KEY (`Sno`) REFERENCES `student` (`Sno`),
CONSTRAINT `score_ibfk_2` FOREIGN KEY (`Cno`) REFERENCES `course` (`Cno`)
)
表(四)Teacher(教师表)
属性名 数据类型 可否为空 含 义
Tno Char(3) 否 教工编号(主码)
Tname Char(4) 否 教工姓名
Tsex Char(2) 否 教工性别
Tbirthday datetime 可 教工出生年月
Prof Char(6) 可 职称
Depart Varchar(10) 否 教工所在部门
CREATE TABLE `teacher` (
`Tno` char(3) NOT NULL,
`Tname` char(4) NOT NULL,
`Tsex` char(2) NOT NULL,
`Tbirthday` datetime DEFAULT NULL,
`Prof` char(6) DEFAULT NULL,
`Depart` varchar(10) NOT NULL,
PRIMARY KEY (`Tno`)
)
表1-2数据库中的数据
表(一)Student
Sno Sname Ssex Sbirthday class
108 曾华 男 1977-09-01 95033
105 匡明 男 1975-10-02 95031
107 王丽 女 1976-01-23 95033
101 李军 男 1976-02-20 95033
109 王芳 女 1975-02-10 95031
103 陆君 男 1974-06-03 95031
INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (108, '曾华', '男', '1977-09-01', 95033);
INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (105, '匡明', '男', '1975-10-02', 95031);
INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (107, '王丽', '女', '1976-01-23', 95033);
INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (101, '李军', '男', '1976-02-20', 95033);
INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (109, '王芳', '女', '1975-02-10', 95031