数据库设计说明书

1. 逻辑结构设计

所有数据存储在数据库ruc_zixizhushou中。

admin (admin_id, admin_name, admin_password, admin_loc, admin_status)

此为管理员用户对应的关系模式,管理员编号是关系的主码。admin_name, admin_password表示管理员登录姓名和密码,admin_loc是管理员所在的教学楼,admin_status是管理员此时是否在岗的标识

user (user_id, user_openid, user_status)

此为普通用户实体对应的关系模式,用户编号是关系的主码,open_id是通过微信登录接口获得的用户唯一标识码,user_status代表用户是否已入座自习

classroom (classroom_id, classroom_building, classroom_name, classroom_capacity)

此为教室基本信息对应的关系模式,教室编号是关系的主码和外码。classroom_building代表教学楼,classroom_name代表教室名称,classroom_capacity表示教室最多可容纳人数。

cls_status (classroom_id, cls_current, cls_people, cls_time)

此为教室状态对应的关系模式,教室编号是关系的主码。cls_current代表是否有课或被借出,cls_people代表教室现有自习人数,cls_time是时间段

library (lib_id, lib_area, lib_seat, lib_person, lib_outlet)

此为图书馆对应的关系模式,lib_id和lib_area是关系的主码。lib_seat代表座位号,lib_person代表是否有人,lib_outlet代表是否有插座。

request (request_id, user_id, user_stuid, user_name, user_school, request_time, request_building, request_classroom, request_reason, request_feedback)

此为教室借用申请对应的关系模式,请求编号是关系的主码。user_id是申请人的编号,user_stuid, user_school和user_name是申请人的学号、学院和姓名。request_time、request_building、request_classroom和request_reason是打算占用的时间、教学楼、教室名称和原因。request_feedback代表管理员对请求的处理

2. 物理结构设计

存取方法

  1. 在classroom表的classroom_id和classroom_building列上建立索引。由于教室号和教学楼号经常作为查找对象,建立连接操作,所以建立索引,可以提高查询速度。
  2. 在library表的lib_id列上建立聚簇,由于本校只有图书馆和藏书馆两个library,所以含有相同lib_id的元组比较多,所以适合建立聚簇,把lib_id列上具有相同值的元组集中存放在连续的物理块中。

 

数据库基本表概览

posted @ 2016-05-09 14:59  rucswe007  阅读(4255)  评论(0编辑  收藏  举报