2.熟悉数据库、数据表的代码创建;
写出Teach数据库中5个关系模式,并标注主键外键
S(学生关系)
Sno 学号 | Sn 姓名 | Sex 性别 | Age 年龄 | Dept 系别 |
S1 | 赵亦 | 女 | 17 | 计算机 |
S2 | 钱尔 | 男 | 18 | 信息 |
S3 | 孙珊 | 女 | 20 | 信息 |
S4 | 李思 | 男 | 21 | 自动化 |
S5 | 周武 | 男 | 19 | 计算机 |
S6 | 吴丽 | 女 | 20 | 自动化 |
C(课程关系)
Cno 课程号 | Cn 课程名 | Ct 课时 |
C1 | 程序设计 | 60 |
C2 | 微机原理 | 80 |
C3 | 数字逻辑 | 60 |
C4 | 数据结构 | 80 |
C5 | 数据库原理 | 60 |
C6 | 编译原理 | 54 |
C7 | 操作系统 | 60 |
T(教师关系)
Tno 教师号 | Tn 姓名 | Sex 性别 | Age 年龄 | Prof 职称 | Sal 工资 | Comm 岗津 | Dept 系别 |
T1 | 李力 | 男 | 47 | 教授 | 1500 | 3000 | 计算机 |
T2 | 王平 | 女 | 28 | 讲师 | 800 | 1200 | 信息 |
T3 | 刘伟 | 男 | 30 | 讲师 | 900 | 1200 | 计算机 |
T4 | 张雪 | 女 | 51 | 教授 | 1600 | 3000 | 自动化 |
T5 | 张兰 | 女 | 39 | 副教授 | 1300 | 2000 | 信息 |
SC(选课关系)
Sno 学号 | Cno 课程号 | Score 成绩 |
S1 | C1 | 90 |
S1 | C2 | 85 |
S2 | C4 | 70 |
S2 | C5 | 57 |
S2 | C6 | 80 |
S2 | C7 |
|
S3 | C1 | 75 |
S3 | C2 | 70 |
S3 | C4 | 85 |
S4 | C1 | 93 |
S4 | C2 | 85 |
S4 | C3 | 83 |
S5 | C2 | 89 |
TC(授课关系)
Tno 教师号 | Cno 课程号 |
T1 | C1 |
T1 | C4 |
T2 | C5 |
T3 | C1 |
T3 | C5 |
T4 | C2 |
T4 | C3 |
T5 | C5 |
T5 | C7 |
S表:
列名 | 含义 | 数据类型 | 是否可空 | 主外键 |
SNo | 学生学号 | char(10) | N | PK |
SN | 学生姓名 | varchar(20) | N |
|
Sex | 性别 | char(2) | Y |
|
Age | 年龄 | int | Y |
|
Dept | 所在系别 | varchar(20) | Y |
|
C表:
列名 | 含义 | 数据类型 | 是否可空 | 主外键 |
CNo | 课程代码 | char(10) | N | PK |
CN | 课程名称 | varchar(10) | N |
|
CT | 课时 | int | Y |
|
T表:
列名 | 含义 | 数据类型 | 是否可空 | 主外键 |
TNo | 教师号 | char(10) | N | PK |
TN | 教师姓名 | varchar(20) | N |
|
Sex | 性别 | char(2) | Y |
|
Age | 年龄 | int | Y |
|
Prof | 职称 | char(10) | Y |
|
Sal | 工资 | int | Y |
|
Comm | 岗位津贴 | int | Y |
|
Dept | 系别 | varchar(20) | Y |
|
SC表:
列名 | 含义 | 数据类型 | 是否可空 | 主外键 |
SNo | 学号 | char(10) | N | PK,FK |
CNo | 课程代码 | char(10) | N | PK,FK |
Score | 成绩 | decimal(5,2) | Y |
|
TC表:
列名 | 含义 | 数据类型 | 是否可空 | 主外键 |
TNo | 教师号 | char(10) | N | Pk,FK |
CNo | 课程代码 | char(10) | N | PK,FK |
CREATE DATABASE IF NOT EXISTS Teach DEFAULT CHARACTER SET utf8; USE Teach;
CREATE TABLE IF NOT EXISTS S( Sno CHAR(10) PRIMARY KEY, Sn VARCHAR(20) NOT NULL, Sex CHAR(2), Age int, Dept VARCHAR(20) )DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS C( CNo CHAR(10) PRIMARY KEY, CN VARCHAR(10) NOT NULL, CT INT )DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS T( TNo char(10) PRIMARY KEY, TN VARCHAR(20) NOT NULL, Sex char(2), Age INT, Prof char(10), Sal int, Comm int, Dept VARCHAR(20) )DEFAULT CHARSET=utf8;
INSERT INTO S(Sno,Sn,Sex,Age,Dept) VALUES ('S1','赵亦','女',17,'计算机'), ('S2','钱尔','男',18,'信息'), ('S3','孙珊','女',20,'信息'), ('S4','李思','男',21,'自动化'), ('S5','周武','男',19,'计算机'), ('S6','吴丽','女',20,'自动化'); INSERT INTO C(Cno,Cn,Ct) VALUES ('C1','程序设计',60), ('C2','微机原理',80), ('C3','数字逻辑',60), ('C4','数据结构',80), ('C5','数据库原理',60), ('C6','编译原理',54), ('C7','操作系统',60); INSERT INTO T(Tno,Tn,Sex,Age,Prof,Sal,Comm,Dept) VALUES ('T1','李力','男',47,'教授',1500,3000,'计算机'), ('T2','王平','女',28,'讲师',800,1200,'信息'), ('T3','刘伟','男',30,'讲师',900,1200,'计算机'), ('T4','张雪','女',51,'教授',1600,3000,'自动化'), ('T5','张兰','女',39,'副教授',1300,2000,'信息');
CREATE TABLE IF NOT EXISTS SC( Sno CHAR(10), CNo CHAR(10), Score decimal(5,2), PRIMARY KEY(Sno,CNo) )DEFAULT CHARSET=utf8;
INSERT INTO SC(Sno,CNo,Score) VALUES ('S1','C1',90), ('S1','C2',85), ('S2','C4',70), ('S2','C5',57), ('S2','C6',80), ('S2','C7',NULL), ('S3','C1',75), ('S3','C2',70), ('S3','C4',85), ('S4','C1',93), ('S4','C2',85), ('S4','C3',83), ('S5','C2',89);
CREATE TABLE IF NOT EXISTS TC( TNo CHAR(10), CNo CHAR(10), PRIMARY KEY(TNo,CNo) )DEFAULT CHARSET=utf8;
INSERT INTO TC(TNo,CNo) VALUES ('T1','C1'), ('T1','C4'), ('T2','C5'), ('T3','C1'), ('T3','C5'), ('T4','C2'), ('T4','C3'), ('T5','C5'), ('T5','C7');
ALTER TABLE S ADD Birthdary DATE; ALTER TABLE S MODIFY Birthdary DATE AFTER Age;
UPDATE S SET Birthdary=('1986-9-13') WHERE Sno=('S1'); UPDATE S SET Birthdary=('1984-2-23') WHERE Sno=('S2'); UPDATE S SET Birthdary=('1984-1-27') WHERE Sno=('S3'); UPDATE S SET Birthdary=('1986-9-10') WHERE Sno=('S4'); UPDATE S SET Birthdary=('1984-2-20') WHERE Sno=('S5'); UPDATE S SET Birthdary=('1984-3-20') WHERE Sno=('S6');
可以根据个人操作习惯进行多个同时更改
第一章练习到此结束,第二章练习过几天有待更新.....