社团管理系统的数据库设计
一、数据库结构设计
- 用户表(user)
字段名 类型 说明 id int 用户ID,主键,自增 username varchar(50) 用户名,唯一 password varchar(100) 密码,加密存储 name varchar(50) 真实姓名 gender varchar(10) 性别 email varchar(50) 邮箱 phone varchar(20) 电话号码 role varchar(20) 用户角色,包括管理员、普通用户等
- 社团表(club)
字段名 类型 说明 id int 社团ID,主键,自增 name varchar(50) 社团名称,唯一 type varchar(20) 社团类型,如文艺、体育、学术等 description varchar(200) 社团简介 leader_id int 社长ID
- 社员表(member)
字段名 类型 说明 id int 社员ID,主键,自增 user_id int 用户ID club_id int 社团ID position varchar(20) 职位,如副社长、秘书等
- 活动表(activity)
字段名 类型 说明 id int 活动ID,主键,自增 club_id int 社团ID name varchar(50) 活动名称 type varchar(20) 活动类型,如比赛、演出等 description varchar(200) 活动简介 start_time datetime 开始时间 end_time datetime 结束时间 location varchar(50) 活动地点
- 报名表(signup)
字段名 类型 说明 id int 报名ID,主键,自增 user_id int 用户ID activity_id int 活动ID sign_time datetime 报名时间
- 签到表(signin)
字段名 类型 说明 id int 签到ID,主键,自增 user_id int 用户ID activity_id int 活动ID signin_time datetime 签到时间
二、数据库关系设计
- 用户表和社员表
用户表和社员表是一对多的关系,一个用户可以是多个社团的社员,因此社员表中需要包含用户ID和社团ID两个外键。
- 社团表和社员表
社团表和社员表是一对多的关系,一个社团可以有多个社员,因此社员表中需要包含社团ID一个外键。
- 社团表和活动表
社团表和活动表是一对多的关系,一个社团可以有多个活动,因此活动表中需要包含社团ID一个外键。
- 活动表和报名表
活动表和报名表是一对多的关系,一个活动可以有多个报名,因此报名表中需要包含活动ID一个外键。
- 活动表和签到表
活动表和签到表是一对多的关系,一个活动可以有多个签到,因此签到表中需要包含活动ID一个外键
原文地址: https://www.cveoy.top/t/topic/e3Ic 著作权归作者所有。请勿转载和采集!