数据库的初步建立
经过几版的改进,数据库已经初步建立,以下为简述:
需求分析
管理员创建一个会议,在这个会议里可以设置多个角色,比如主持人、参会者类型一、类型二等,然后使不同的角色对应不同的文件。在这个会议里一个平板对应一个角色。
管理员可创建投票,一个平板在一次投票中投出一个或多个选项。
本次设计使用了角色和设备分离的机制来进行权限控制,会议相关文件不和设备直接关联,提高了系统使用的灵活性,管理员可以指定任意一台设备作为主持人、也可以随意调整角色的权限,通过角色和设备的管理实现权限批量调整。
数据字典
实体集
1.meeting表
名称 | 类型 | 说明 |
---|---|---|
uid | int | 会议编号 |
name | varchar | 会议名称 |
content | varchar | 会议内容 |
begin_time | time | 会议开始时间 |
end_time | time | 会议结束时间 |
会议表包含会议的基本内容,主键为会议编号
2.device表
名称 | 类型 | 说明 |
---|---|---|
uid | int | 设备编号 |
mac | varchar | MAC地址 |
name | varchar | 设备名 |
设备表包含设备的基本信息,主键为设备编号
3.role表
名称 | 类型 | 说明 |
---|---|---|
uid | int | 角色编号 |
name | varchar | 角色名称 |
角色表包含角色的基本信息,主键为角色编号
4.file表
名称 | 类型 | 说明 |
---|---|---|
uid | int | 文件编号 |
name | varchar | 文件名 |
address | varchar | 地址 |
文件表包含文件的基本信息,主键为文件编号
5.choice表
名称 | 类型 | 说明 |
---|---|---|
uid | int | 选项编号 |
content | varchar | 选项内容 |
belongs | int | 属于哪个投票 |
选项表包含选项的基本信息,主键为选项编号
6.vote表
名称 | 类型 | 说明 |
---|---|---|
uid | int | 投票编号 |
name | varchar | 投票名称 |
content | varchar | 投票内容 |
anonymous | int | 是否匿名 |
type | int | 投票类型 |
meeting_id | int | 所属会议编号 |
投票表包含投票的基本信息,主键为投票编号
关系集
1.device_role
名称 | 类型 | 说明 |
---|---|---|
role_id | int | |
device_id | int | |
meeting_id | int |
2.meeting_role
名称 | 类型 | 说明 |
---|---|---|
meeting_id | int | |
role_id | int | |
file_id | int |
3.device_choice
名称 | 类型 | 说明 |
---|---|---|
device_id | int | |
choice_id | int |