JAVA EE社团管理升级版-数据库设计

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)社团名
原文地址:https://www.cnblogs.com/ximate/p/13170331.html