携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第25天,点击查看活动详情
数据库的逻辑结构设计
我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:
*每一个实体要转换成一个关系
*所有的主键必须定义非空(NOT NULL)
*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。
根据E-R模型,学生信息管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。
(1)学生信息表主要是记录了学生基本信息。表结构如表3.1所示。
表学生信息表(t_xuesheng)
| 列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
|---|---|---|---|---|---|
| id | int | 4 | 否 | 是 | 编号 |
| xuehao | varchar | 50 | 否 | 否 | 学号 |
| xingming | varchar | 50 | 否 | 否 | 姓名 |
| xingbie | varchar | 50 | 否 | 否 | 性别 |
| nianling | varchar | 50 | 否 | 否 | 年龄 |
| banji | varchar | 20 | 否 | 否 | 班级 |
| loginname | varchar | 20 | 否 | 否 | 登录名 |
| loginpw | varchar | 20 | 否 | 否 | 登录密码 |
(2)老师信息表主要是记录了教师基本信息。表结构如表所示。
表老师信息表(t_laoshi)
| 列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
|---|---|---|---|---|---|
| id | int | 4 | 否 | 是 | 编号 |
| bianhao | varchar | 50 | 否 | 否 | 教师号 |
| xingming | varchar | 50 | 否 | 否 | 姓名 |
| xingbie | varchar | 50 | 否 | 否 | 性别 |
| nianling | varchar | 50 | 否 | 否 | 年龄 |
| zhicheng | varchar | 20 | 否 | 否 | 职称 |
(3)课程信息表主要是记录了课程的基本信息,表结构如图所示。
表课程信息表(t_kecheng)
| 列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
|---|---|---|---|---|---|
| id | int | 4 | 否 | 是 | 编号 |
| bianhao | varchar | 50 | 否 | 否 | 课程编号 |
| mingcheng | varchar | 50 | 否 | 否 | 课程名称 |
| keshi | varchar | 50 | 否 | 否 | 课时 |
(4)课表信息表主要是课表的基本信息,表结构如图所示。
表课表信息表(t_kebiao)
| 列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
|---|---|---|---|---|---|
| id | Int | 4 | 否 | 是 | 编号 |
| kecheng_id | Int | 4 | 否 | 否 | 课程ID |
| shijian | varchar | 50 | 否 | 否 | 上课时间 |
| jieci | varchar | 50 | 否 | 否 | 节次 |
| jiaoshi | varchar | 50 | 否 | 否 | 上课教室 |
| laoshi_id | Int | 4 | 否 | 否 | 老师ID |
(5)考勤信息表主要是记录学生签到的基本信息,表结构如图所示。
表签到信息表(t_kaoqin)
| 列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
|---|---|---|---|---|---|
| id | int | 4 | 否 | 是 | 编号 |
| xuesheng_id | int | 4 | 否 | 否 | 学生ID |
| kebiao_id | int | 4 | 否 | 否 | 课表ID |
| shijian | varchar | 50 | 否 | 否 | 签到时间 |