社团管理系统数据库设计:高效管理社团活动
一、数据库结构设计
- 用户表(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/n1CU 著作权归作者所有。请勿转载和采集!