CLUB+ 社团管理系统
数据库设计文档
活动表:activity
- activity_id:(int)活动id,自动生成,自动递增,作为活动的主键
- activity_name:(varchar)活动名称
- activity_pic:(longtext)活动海报
- activity_desc:(varchar)活动介绍
- activity_club:(varchar)主办社团名称
- activity_place:(varchar)活动场地
- activity_starttime:(datetime)活动开始时间
- activity_endtime:(datetime)活动结束时间,默认为活动开始时间往后推6个小时
- activity_sort: (varchar)活动类别,主要有兴趣爱好、学术创新、公益服务、体育运动共四类
- activity_person:(varchar)活动联系人
- activity_matters:(varchar)活动注意事项
活动申请表:activity_application
- a_application_id:(int)活动申请编号,自动生成,自动递增,作为活动申请的主键
- a_application_name:(varchar)申请的活动名称
- a_application_club:(varchar)申请的活动的主办社团
- a_application_place:(varchar)申请的活动地点
- a_application_pic:(longtext)申请的活动海报
- a_application_starttime:(datetime)申请的活动开始时间
- a_application_endtime:(datetime)申请的活动结束时间
- a_application_sort:(varchar)申请的活动类型
- a_application_person:(varchar)申请的活动联系人
- a_application_desc:(varchar)申请的活动介绍
- a_application_matters:(varchar)申请的活动注意事项
- a_application_state:(int)活动申请的处理情况,分为待审核,已通过,已拒绝三种情况
社团表:club
- clubname:(varchar)社团名,由于社团名不可重名,故设为主键
- club_pic:(longtext)社团海报
- club_place:(varchar)社团场地(与活动场地可兼容)
- notice:(varchar)社团公告
- sort:(varchar)社团类别,主要有兴趣、游戏、艺术、组织、志愿、动漫、学术、运动共8类
- club_desc:(varchar)社团介绍
- establish_time:(datetime)社团建立时间,以通过社团申请时间为准
- member_num:(int)社团的正式成员数(不算社长),新建社团时该值为0,每加入一个用户,该值+1
- fans_num:(int)社团的粉丝数,即关注社团的人数,新建社团时该值为0,每有一个用户关注该社团,粉丝数+1;每有一个用户取消关注该社团,粉丝数-1
社团申请表:club_application
- c_application_id:(int)社团申请id,自动生成,自动递增,作为社团申请的主键
- c_application_name:(varchar)申请的社团名称
- c_application_pic:(longtext)申请的社团的海报
- c_application_place:(varchar)申请的社团专属活动地点(这里的专属是指不同的社团不能拥有同一个社团专属活动地点,但是其他社团的活动可以在这里举行)
- c_application_notice:(varchar)申请的社团的公告
- c_application_desc:(varchar)申请的社团的介绍
- c_application_sort:(varchar)申请的社团的类别
- c_application_state:(int)社团申请状态,0未审核,1已通过,2未通过(拒绝)
- c_application_userid:(int)社团申请人的学号,通过后该人成为社长
- c_application_username:(varchar)社团申请人的姓名
管理者表:manager(为web端所有用户)
- uid:(int)学号/工号,为主键,只能全数字
- uname:(varchar)用户姓名
- pwd:(varchar)用md5加密过的密码
- email:(varchar)用户邮箱
- status:(varchar)用户身份,包括普通用户,社长和管理员
- clubname:(varchar)管理者如果是社长,该属性就是他所管理的社团,否则该属性为null
公告表:notice
- noticeid:(int)公告id号
- content:(varchar)公告具体内容(显示在web端首页)
场地表:place
- placename:(varchar)场地名称
- ifclub:(varchar)是否是社团的专属场地
- activity_endtime:(datetime)该场地上有活动的最后结束时间(如果当前时间在这时间之后,就可以使用该场地)
用户表:user(为小程序用户)
- userid:(varchar)用户的id,获取微信用户的openid作为该值
- studentid:(int)用户的学号,为后续用户自己填写
- uname:(varchar)用户的昵称,获取微信用户的名字
- user_pic:(longtext)用户的头像,获取微信用户的头像
- truename:(varchar)用户的真实姓名,为后续用户自己填写
- mail:(varchar)用户的邮箱
- phone:(varchar)用户的手机号
- club_num:(int)用户加入的社团数
- activity_num:(int)用户参与的活动数
- collection_num:(int)用户关注的社团数
用户与活动对应表:user_activity
- userid:(varchar)用户的id
- activityid(int)活动id
- activityname(varchar)活动名
用户与社团对应表:user_club
- userid:(varchar)用户的id
- uname:(varchar)用户名
- user_pic:(longtext)用户的头像,获取微信用户的头像
- clubname:(varchar)社团名
- status:(varchar)用户对于该社团的状态,分为待审核和正式成员
- appintime:(datetime)分为申请时间和入社时间,在该用户待审核时期时,这是申请时间,在该用户为正式成员时,这是入社时间
用户关注表:user_collection
- userid:(varchar)用户的id
- clubname:(varchar)社团名