本节以教育管理系统为例来介绍数据库的创键和数据表的设计
案例需求:
1.教务管理系统用来帮助高校学生选修课程。
2.学生可以通过系统查看所有选修课的相关信息,包括课程名,学时,学分,也可以查看相关授课老师的信息。
3.老师的信息包括教师姓名,性别,学历,职称,还可以通过系统查看自己的考试成绩。
4.老师通过系统可以查看选修自己课程的学生信息,包括学号,性别,姓名,出生日期,班级,也可以通过系统录入学生的考试成绩。
用Widows10控制命令行做数据库!
第一步:创建"教务管理系统"的数据库!
第二步:根据案例要求创建相关数据表
1.创建学生MySQL数据表
①创建学生信息表
学生信息表
序号 |
列名 |
数据类型 |
允许空值 |
约束 |
备注 |
1 |
stnum |
char(8) |
NO |
主键 |
学号 |
2 |
stname |
varchar(10) |
NO |
|
姓名 |
3 |
stgender |
char(2) |
YES |
|
性别 |
4 |
stbrith |
date |
YES |
|
出生日期 |
5 |
stclass |
varchar(20) |
YES |
|
班级 |
②根据"学生信息表"撰写MySQL数据表
2.创建教师MySQL数据表
①创建教师信息表
教师信息表
序号 |
列名 |
数据类型 |
是否允许空值 |
约束 |
备注 |
1 |
teanum |
char(8) |
NO |
主键 |
教工号 |
2 |
teaname |
varchar(20) |
NO |
|
教师姓名 |
3 |
teagender |
char(2) |
NO |
|
性别 |
4 |
teaacademic |
vrchar(20) |
NO |
|
学历 |
5 |
teaprofessional |
varchar(8) |
YES |
default"副教授" |
职称 |
②根据"教师信息表"撰写MySQL数据表
3..创建课程MySQL数据表
①创建课程信息表
课程信息表
序号 |
列名 |
数据类型 |
是否允许为NULL值 |
约束 |
备注 |
1 |
counum |
char(4) |
NO |
主键 |
课程号 |
2 |
couname |
varchar(40) |
YES |
唯一约束 |
课程名 |
3 |
coutime |
int (50) |
YES |
|
学时 |
4 |
coucredit |
Decimal(3.1) |
NO |
|
学分 |
5 |
couteacher |
char(4) |
NO |
是教师表的外键 |
授课教师 |
②根据"课程信息表"撰写MySQL数据表
4.创建选课信息表
①创建选课信息表
选课信息表
序号 |
列名 |
数据类型 |
是否允许为空值 |
约束 |
备注 |
1 |
counum |
char(4) |
NO |
主键/课程表的外键 |
课程号 |
2 |
stnum |
char(8) |
NO |
主键/学生表的外键 |
学号 |
3 |
source |
int |
NO |
|
成绩 |
②根据"课程信息表"撰写MySQL数据表
第三步:检验"教务管理系统"数据库创建结果
①检验数据库创建结果:
②检查数据表
③检查外键
通过select*from information_schema.KEY_COLUMN_USAGE;这条命令查询数据库中所有表的外键和主键