当前位置:文档之家› 数据库课程设计--社团管理系统案.doc

数据库课程设计--社团管理系统案.doc

《数据库原理及应用》课程设计说明书题目:社团管理系统专业班级:学生姓名:学号:指导教师:二0一四年 6 月9日目录1.设计要求及功能简介 (2)1.1本系统的设计内容及要求 (2)2.需求分析 (2)2.1开发背景 (2)2.2开发目的 (2)2.3功能需求 (2)2.4数据需求 (3)3.数据库设计 (3)3.1概念设计 (3)3.1.1实体及其属性图 (3)3.1.2实体及其联系图 (5)3.1.3完整的实体—联系图 (5)3.1.3完整实体的PDM图 (5)3.2逻辑设计 (6)4.课题分析和查询方案及实现 (8)5.系统总结 (10)5.1总结 (10)5.2系统不足 (10)1.概述1.1本系统的设计内容及要求根据目前我校社团管理机制,设计的社团管理系统后台数据库。

实现社团日常业务运作的信息化管理。

包括:社团基本信息管理,活动开展,活动分录入。

活动参与,参与结果等次评定。

团员之间的消息互动(类似微信),普通学生入会申请,社团内部职位安排等功能。

策略分析题目:1按照社团给出职位一览信息。

2按照活动给出参与及得分情况。

3按照会员给出参与社团及曾经参加的活动列表,以及报名待申请的活动列表。

4查询某同学消息互动2.需求分析2.1开发背景当前还没有类似系统的使用,一直以来人们以传统人工方式管理学生社团,这种管理方式效率比较低,且还容易丢失,数据多的话对查找、更新、维护都带来了不少困难,随着科学技术的逐步提高,计算机功能日益成熟,它已进入人类社会的各个领域并发挥着越来越重要的作用,人们逐渐认识到了计算机的作用是多么的强大,我们完全可以利用计算机强大的功能开发出一个数据库来管理这些繁多的数据。

2.2开发目的现在科学技术那么发达,为了改变当前传统人工管理学生社团的局面,需要开发一种即省时又省力的方便快捷数据管理软件,因此我编写了此程序,使我们能够只从表面看数据,更清晰,同时方便了对数据的维护,使使用者能够很快的找到自己需要的信息,即节省了时间又节省了许多人力资源,在当今时间观念那么紧的社会下,能多一点时间做别的事情就能多一份收获。

2.3功能需求社团管理(包括添加社团,解除社团,修改社团基本信息等)活动开展(在活动信息表中添加一个活动信息)活动分数录入(修改活动与社团关系表中的活动分数(活动分数允许为空))活动参与(在活动与社团关系表添加信息)参与结果等次评定(根据活动分数排名社团名次)团员之间的消息互动(在交互信息表中添加一个信息)普通学生入会申请(在学生与社团关系表添加一个信息)社团内部职位安排(修改学生与社团关系表中的职务信息)按照社团给出职位一览信息(在学生与社团关系表中根据社团名称查询所有符合的职位)按照活动给出参与及得分情况(在活动与社团关系表中根据活动名称查询参与的社团及得分情况)按照会员给出参与社团及曾经参加的活动列表(先在学生与社团关系表中根据某学生的姓名查询所在社团,再在活动与社团关系表中根据所查出的社团名称查询参加过的活动并把两个信息组成一个表显示出来)。

查询某同学消息互动(在交互信息表中根据某学生的姓名查询交互信息)2.4数据需求社团信息:包括社团名称,社团性质,成立日期和创始人。

学生信息:包括学号姓名,性别,班级,年级,院系,学号和联系方式。

活动信息:活动名称,活动地点,活动时间。

消息信息:互动方式。

3.数据库设计3.1概念设计3.1.1实体及其属性E-R图①社团实体的属性包括社团名称,社团性质,成立日期和创始人。

社团信息实体E-R图②活动实体的属性活动属性有活动名称,活动地点,活动时间。

活动信息实体E-R图③学生实体的属性学生属性有学号姓名,性别,班级,年级,院系,学号和联系方式。

学生信息实体E-R图3.1.2实体及其联系图整体E-R图3.1.3完整的实体—联系图整体E-R图3.1.4完整实体的pdm图3.2逻辑设计建立的数据库名称为社团管理系统,数据库中有七个表,名称分别为Unioninf,Stuinf,Actinf,SUinf,AUinf,Mesinf和SMinf,Unioninf 为社团信息表,用来存储社团相关信息,主键为社团名称,Stuinf为学生信息表,用来存储加入过社团的学生的相关信息,主键为学号,Activityinf为活动信息表,用来存储活动相关信息,主键为活动名称,AUinf为社团和活动的关系表,用来存储有哪些社团参加了哪些活动,主键为活动名称和社团名称,其中活动名称和社团名称分别是外码,SUinf为社团和学生的关系表,用来存储哪些学生参加了哪些社团,主键为学号和社团名称,其中学号和社团名称分别为外码,Mesinf为消息信息表,用来存储消息的属性,主键为互动方式。

SMinf为学生消息互动表,用来存储哪些学生进行了哪些消息互动,主键是消息编号。

字段名类型长度是否为空备注社团名称varchar 20 否主键社团性质varchar 50 否成立日期varchar 20 否创始人varchar 10 否社团名称 varchar(20) primary key,社团性质 varchar(50) not null,成立日期 varchar(20) not null,创始人 varchar(10) not null,)学号 int primary key,姓名 varchar(10) not null,性别 varchar(2) not null,班级 varchar(10) not null,院系 varchar(20) not null,联系方式 int,年级 int not null,)社团名称 varchar(20) not null,学号 int not null,入团时间 varchar(10) not null,职务 varchar(10) not null default'普通会员',Primary key (社团名称,学号),Foreign key (社团名称) references Unioninf (社团名称), Foreign key (学号) references Stuinf (学号),)活动名称 varchar(20) not null ,活动日期 varchar(10) not null ,活动地点 varchar(50) not null ,Primary key (活动名称) ,)社团名称 varchar(20) not null ,活动名称 varchar(20) not null ,活动评分 int check(活动评分>=0 and 活动评分<=100), Primary key (社团名称,活动名称),Foreign key (社团名称) references Unioninf(社团名称), Foreign key (活动名称) references Actinf(活动名称), )互动方式 varchar(20) not null,Primary key (互动方式),)Create table SMinf(消息编号 int not null ,发送方学号 int not null,交互方式 varchar(20) not null,交互对象 varchar(10) not null,Primary key (消息编号),Foreign key (发送方学号) references Stuinf (学号), Foreign key (交互方式) references Mesinf (互动方式),)注:以为两个个学生之间可以有多个消息互动,所以这个主键不能是发送方学号和交互方式,只能重新定义一个消息编号作为主键。

而且每次添加数据一次要添加两个。

4.课题分析和查询方案及实现1.社团管理(包括添加社团,解除社团,修改社团基本信息等)添加社团:insert into Unioninf values('羽毛球协会','体育','2013.2.23','张佳')解除社团:delete from Unioninf where社团名称='羽毛球协会'修改社团基本信息:update Unioninf set创始人='王进'where社团名称='网球社团'2.活动开展insert into Actinf values ('晨跑','操场','2014.3.6')3.活动分数录入update AUinf set活动评分= 99 where社团名称='吉他协会'and活动名称='晚会'4.活动参与insert into AUinf values('吉他协会','晚会','90')5.参与结果等次评定select社团名称,活动评分from AUinf where活动名称='春游'order by活动评分desc6.团员之间的消息互动insert into SMinf values('9','121515','QQ','刘婷')insert into SMinf values('10','130522','QQ','蒋平')7.普通学生入会申请insert into SUinf values('电子创新协会','130522','2014.05.06','普通会员')8.社团内部职位安排update SUinf set职务='财务总监'where学号in(select学号from Stuinf where姓名='唐灿华')9.按照社团给出职位一览信息select职务,姓名from SUinf inner join Stuinf on Stuinf.学号=SUinf.学号where社团名称='电子创新协会'10.按照活动给出参与及得分情况select社团名称参与该活动的社团,活动评分from AUinf where活动名称='培训'11.按照会员给出参与社团select社团名称该学生参与的社团from SUinf where学号in(select学号from Stuinf where姓名='李娟')12.按照会员给出曾经参加的活动列表select AUinf.社团名称该同学参与的社团,活动名称该学生在对应社团参与的活动fromSUinf inner join AUinf on SUinf.社团名称=AUinf.社团名称where学号in(select学号from Stuinf where姓名='杨朝来')13.查询某同学消息互动select姓名,消息编号,交互方式,交互对象from Stuinf inner join SMinf on Stuinf.学号=SMinf.发送方学号where姓名='吕红'5.系统总结5.1总结本系统是以Microsof SQL Server 2008作为后台数据库实现的一款用T-SQL 语句操作的系统,能够实现对学生社团管理的基本功能,包括对社团信息的添加、删除、修改和查询,活动开展,活动分数录入,参与结果等次评定,普通学生入会申请,社团内部职位安排,按照活动给出参与及得分情况,按照会员给出参与社团及曾经参加的活动列表,查询某同学消息互动等功能,通过用一些数据对系统的测试,系统运行基本稳定,运行结果符合要求,能够实现上述功能,简单易用。

相关主题