2数据库概念结构设计
学生宿舍管理系统的实体、实体的属性及实体之间的联系是构成E-R图的三要素,学生(Student)与院系(Department)之间是一对多的关系(一个学生可以属于一个院系,一个院系可以有多个学生)。这通过学生信息中的“院系编号”字段与院系信息中的“院系编号”字段实现。
学生(Student)与住宿(Accommodation)之间是一对一的关系(一个学生有一个住宿记录,一个住宿记录对应一个学生)。这通过学生信息中的“学号”字段与住宿信息中的“学号”字段实现。
住宿(Accommodation)与宿舍(Dormitory)之间是一对一的关系(一个住宿记录对应一个宿舍,一个宿舍可以有多个住宿记录,但每次只能被一个学生使用)。
3数据库逻辑结构设计
院系信息(Department)
字段名 | 数据类型 | 字段长度 | 描述 |
院系编号 | INT | 10 | PK唯一标识每个院系的编号 |
院系名称 | VARCHAR | 20 | 院系的名称 |
院系主管 | VARCHAR | 20 | 院系主管的姓名 |
地址 | VARCHAR | 100 | 院系所在的地址 |
院系人数 | INT | 10 | 院系中的学生人数 |
学生基本信息(Student)
字段名 | 数据类型 | 字段长度 | 描述 |
院系编号 | INT | 10 | 外键,指向院系信息的院系编号 |
学号 | INT | 20 | PK唯一标识每个学生的学号 |
姓名 | VARCHAR | 20 | 学生的姓名 |
性别 | VARCHAR | 2 | 学生的性别(如“男”、“女” |
学生类型 | VARCHAR | 10 | 学生的类型(如“本科生”、“研究生”等 |
入学日期 | DATE | - | 学生的入学日期 |
籍贯 | VARCHAR | 100 | 学生的籍贯 |
身份证号 | VARCHAR | 18 | 学生的身份证号码,唯一性约束 |
详细地址 | VARCHAR | 100 | 学生的详细地址 |
出生日期 | DATE | - | 学生的出生日期 |
所学专业 | VARCHAR | 100 | 学生所学的专业 |
民族 | VARCHAR | 20 | 学生的民族 |
电话(家) | VARCHAR | 20 | 学生家庭的电话号码 |
缴费总计 | DECIMAL | 10,2 | 学生已缴费用总计(单位:元 |
所需房费 | DECIMAL | 10,2 | 学生所需支付的房费(单位:元/月 |
备注 | TEXT | - | 关于学生的其他备注信息 |
宿舍信息(Dorm)
字段名 | 数据类型 | 字段长度 | 描述 |
区号 | VARCHAR | 10 | 复合主键,宿舍的区号 |
栋号 | VARCHAR | 10 | 复合主键,宿舍的栋号 |
房间号 | INT | 5 | 复合主键,宿舍的房间号 |
床位数 | INT | 5 | 房间内的床位数 |
租金(元/月/床) | DECIMAL | 10,2 | 每张床每月的租金(单位:元/月/床) |
住宿信息(Accommodation)
字段名 | 数据类型 | 字段长度 | 描述 |
学号 | INT | 20 | 外键,指向学生基本信息的学号 |
区号 | VARCHAR | 10 | 外键,指向宿舍信息的区号 |
栋号 | VARCHAR | 10 | 外键,指向宿舍信息的栋号 |
房间号 | INT | 5 | 外键,指向宿舍信息的房间号 |
床号 | INT | 5 | 学生所住床的编号 |
入住日期 | DATE | - | 学生的入住日期 |
备注 | TEXT | - | 关于学生住宿的其他备注信息 |