SQL课程设计__会员管理系统.doc_第1页
SQL课程设计__会员管理系统.doc_第2页
SQL课程设计__会员管理系统.doc_第3页
SQL课程设计__会员管理系统.doc_第4页
SQL课程设计__会员管理系统.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

logo课 程 设 计设计题目 健身中心会员管理系统学生姓名 学 号 专业班级 指导教师 信息工程学 院 计算机系XX年X月X日目录摘 要1第一章 绪 论21.1课题简介21.2设计目的31.3 设计内容3第二章 需求分析42.1系统需求分析42.2数据库需求分析52.2.1数据流图52.2.2数据字典6第三章 数据分析与建模63.1概念模型63.2 E-R图向关系模型转换7第四章 数据库的建立84.1数据库逻辑结构设计84.2数据库物理结构设计134.3系统功能结构24第五章 结 论24参考资料25致 谢26摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统采用SQL Server 2000数据库进行开发。本文首先对健身中心VIP管理系统的设计进行了详细的需求分析;然后给出了健身中心VIP管理系统的设计方案及系统的具体实现,实现了健身中心VIP管理系统的构建,主要包括系统会员信息添加,会员信息查询,会员信息的修改,会员注销时删除会员信息。最后,通过测试与分析,说明该系统运行稳定、可靠,具有一定的使用价值。第一章 绪 论1.1课题简介信息时代已经来临,信息处理的利器计算机应用于各行各业日常管理,为各行各业现代化带来了从未有过的动力和机遇,为各行各业飞速发展提供了无限潜力。采用计算机管理信息系统已成为现代管理科学化和现代化的重要标志,给各种行业带来了明显的经济效益和社会效益。在此背景下,本文论述了健身中心VIP管理系统的设计实现。通过对各种数据库管理系统的模型分析,结合现代人们精神物质的实际需求,和对健身消费的需求,本文说明了健身中心VIP管理系统的开发过程及各种技术细节。本系统是适应时代发展的需要,提高管理的效率而开发设计的。 健身中心VIP管理系统的主要任务,通过实现会员信息的计算机管理,以提高工作效率。实现计算机管理的最佳技术就是数据库技术。我们可以利用数据库将所有会员信息情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。一个会员信息管理系统应达到的目标是提供及时、广泛的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。 考虑到系统管理员对会员信息管理的事务起着直接的作用,所以我们讨论认为系统对系统管理员来进行管理是非常有必要的,所以在课程设计中加入了管理员登陆这一功能,只有管理员输入唯一的工作证号和正确的密码之后才能进行正常的管理工作,这样也方便了健身中心对管理员的考勤和统计管理员的工作成绩。会员信息是以管理员管理为基础,其中包括会员信息的录入,添加,注销,删除等操作。1.2设计目的在当今社会,计算机占据了非常重要的位置,这些大部分都是通过使用软件而提高生产、管理效率来体现的。本文研究的健身中心VIP管理系统正好就是这样性质的一个软件。 计算机主要是借助软件用来存储、更新数据的,并有统计帐目的功能。严格的说,这并不是智能化,但是,这样的处理模式比已往的人工处理的好处显然还是很明显的,所有的数据都由数据库管理,可以随时动态的提取、存储数据,并可以将修改后的数据覆盖掉原有的数据;使用管理系统软件,虽然公司需要投入一定的资金,但同时却可以使处理速度成倍、成十倍的增加,使在固有的时间内能让尽量多的会员办理完手续,增加了销售收入,而且可以减少员工数量,是公司更加精简;由于计算机是一种高精度的机器,所以使用计算机软件辅助后,出错的几率也就变得非常低了。1.3 设计内容1需求分析需求分析的任务是准确了解并分析健身中心VIP管理系统的需要和要求,弄清健身中心VIP管理系统要达到的目标和实现的功能,得到数据字典和数据流图。2概念结构设计将需求分析得到的用户需求抽象为信息结构即概念模型(E-R图)。先设计E-R图,然后集成得到的E-R图,最后通过消除不必要的冗余,设计基本E-R图。 3数据分析与建模逻辑设计的任务就是把概念设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。首先按照E-R图向数据模型转换的规则,将概念结构转换为DBMS所支持的数据模型;然后对关系模式进行优化。4数据库的实施(1)表的建立 需要明确数据库需要建立多少表,以及每个表中所要包括的内容。在建立表的过程中。要对每个表进行字段属性的设置。(2)表之间关系的设置 为数据库设置了不同的表之后必须告诉DBMS如何将这些信息合并在一起,因此要定义表之间的关系。(3)完成相关查询 主要包括已录入会员的基本信息:查看信息,添加信息,修改信息以及删除信息等功能。第二章 需求分析2.1系统需求分析系统分析是开发管理信息系统的关键性阶段,是一个从不断认识和逐步细化的过程,是下一阶段的工作基础,是为下一阶段进行物理方案设计、解决“怎么做”提供依据,基关键性主要体现在“理解需求”和“表达需求”两方面。通过对现行系统的详细调研,主要是从系统的角度理解用户的需要,确定新系统的综合要求,并提出这些需求的实现条件以及需求应达到的标准,也就是确定新系统要做什么,做到什么程度。通过调查,要求系统需要有以下功能:1、由于该系统的使用对象多,要求有较好的权限管理; 2、原始数据修改简单方便,支持多条件修改3、方便的数据查询,支持多条件查询;4、在相应的权限下,删除数据方便简单,数据稳定性好;5、数据计算自动完成,尽量减少人工干预2.2数据库需求分析2.2.1数据流图数据流图如图2.1所示:会员基本信息系统管理员会员卡 图2.1 数据流图2.2.2数据字典:数据字典是以数据库中数据基本单元为单位,按一定顺序排列,对其内容作详细说明的数据集。针对健身中心会员管理系统得到过程和数据流程分析,设计得到如下的数据项和数据结构:会员,包括的数据项主要有:姓名,性别,年龄,健身项目,联系方式会员卡,包括的数据项主要有:卡号,姓名,卡类型,缴费时间,到期时间管理员,包括的数据项主要有:账号,密码,性别,年龄第三章 数据分析与建模3.1概念模型在本系统中,主要功能包括:1、会员信息的录入、修改、查询和删除。2、管理员管理健身中心VIP系统。根据所学数据库基础知识和以上对本次课程设计系统的分析,最终画出系统的实体关系图(E-R图)如图3.1所示。会员办理会员卡年龄卡类型卡号性别联系电话到期时间健身项目缴费时间性别管理员账号年龄管理管理理1nnnnn姓名姓名密码图3.1 E-R图3.2 E-R图向关系模型转换将图3.1的概念模型转换为下列关系模型:会员(姓名,性别,年龄,健身项目,联系方式)会员卡(卡号,姓名,卡类型,缴费时间,到期时间)管理员(账号,密码,性别,年龄)第四章 数据库的建立4.1数据库逻辑结构设计1.创建JSGL数据库,代码如下:CREATE DATABASE JSGLON(NAME=JSGL_dat,FILENAME=D:JSGL_dat.mdf,SIZE=5,MAXSIZE=10,FILEGROWTH=10%)LOG ON(NAME=XSGL,FILENAME=D:JSGL.ldf,SIZE=5,MAXSIZE=10,FILEGROWTH=15%)图4.1 JSGL数据库2.建立数据表:(1)会员表的建立,代码如下:USE JSGLGOCREATE TABLE Huiy(姓名 char(30) NOT NULL PRIMARY KEY, 性别 char(30) NOT NULL DEFAULT 男, 年龄 decimal CHECK(年龄0 and年龄0 and 年龄150) )图4.6 管理员表将管理员表插入数据,代码如下:USE JSGLGOinsert into Gly(账号,密码, 性别,年龄)values(无痕天空,AH883721,男,32)insert into Gly(账号,密码, 性别,年龄)values(龙驹断剑,ZDK12345,男,28)insert into Gly(账号,密码, 性别,年龄)values(你不露痕迹,XP154321,男,28)图4.7 插入数据后的管理员表4.2数据库物理结构设计1.建立索引:为了提高查询和更新速度、保证数据一致性,本课程设计建立如下索引:对于HuiY表,按姓名建立主键索引(primary key约束)索引组织方式为聚集索引。对于Kab表,按卡号建立主键索引(primary key约束)索引组织方式为唯一聚集索引。代码如下:USE JSGLGOCREATE CLUSTERED INDEX IX_nameON HuiY(姓名)WITH FILLFACTOR=20USE JSGLGOCREATE UNIQUE CLUSTERED INDEX IX_numberON Kab(卡号)WITH FILLFACTOR=40删除卡表中的索引IX_number:USE JSGLGODROP INDEX Kab. IX_number2.建立视图:为了更加详细的查询会员的信息特建立以下会员信息视图并使用select语句进行查询,代码如下:use JSGLGOcreate view 会员信息视图asselect Huiy.姓名,Huiy.性别,Huiy.联系方式,Kab.卡号,Kab.卡类型,Kab.缴费时间,Kab.到期时间from Huiy,Kabwhere Huiy.姓名=Kab.姓名select *from 会员信息视图图4.8 会员信息视图现只需查询季卡会员的信息,特将会员信息视图修改如下:use JSGLGOALTER view 会员信息视图asselect Huiy.姓名,Huiy.性别,Huiy.联系方式,Kab.卡号,Kab.卡类型,Kab.缴费时间,Kab.到期时间from Huiy,Kabwhere Huiy.姓名=Kab.姓名ADD Kab.卡类型=季卡select *from 会员信息视图图4.9 修改后的视图3.建立游标:用SQL语句对表进行操作时,得到的结果通常是一组记录,但是有时需要单独对其中某一条记录进行处理,可以通过建立游标实现对其中的一行或者几行进行单独操作。这里通过卡类型来集中处里Kab表中的会员信息。(1)对年卡会员建立名为Kab_cur1的游标,代码如下:USE JSGLDECLARE Kab_cur1 CURSORGLOBALSCROLLFORSELECT *FROM Kab WHERE 卡类型=年卡FOR UPDATE OF 卡号,姓名,卡类型,缴费时间,到期时间GOOPEN Kab_cur1FETCH FIRST FROM Kab_cur1 FETCH NEXT FROM Kab_cur1图4.10 Kab_cur1(2)对季卡会员建立名为Kab_cur2的游标,代码如下:USE JSG DECLARE Kab_cur2 CURSORGLOBALSCROLLFORSELECT *FROM Kab WHERE 卡类型=季卡FOR UPDATE OF 卡号,姓名,卡类型,缴费时间,到期时间GOOPEN Kab_cur2FETCH FIRST FROM Kab_cur2FETCH NEXT FROM Kab_cur2图4.11 Kab_cur2(3)对月卡会员建立名为Kab_cur3的游标,代码如下:DECLARE Kab_cur3 CURSORGLOBALSCROLLFORSELECT *FROM Kab WHERE 卡类型=月卡FOR UPDATE OF 卡号,姓名,卡类型,缴费时间,到期时间GOOPEN Kab_cur3FETCH FIRST FROM Kab_cur3 FETCH NEXT FROM Kab_cur3图4.12 Kab_cur3334.存储过程的建立创建名为select_Huiy的存储过程,该过程可查询所有会员信息,代码如下:USE JSGLGOIF EXISTS(EXISTS name FROM sysobjects WHERE name=select_HuiyAND type=P)DROP PROCEDURE select_HuiyGOCREATE PROCEDURE select_HuiyASSELECT * FROM HuiyORDER BY Huiy.年龄GOEXEC select_HuiyGO图4.13 select_Huiy当需要改为能检索街舞会员的信息时,用ALTER PROCEDURE 重新定义该存储过程代码如下:USE JSGLGOALTER PROCEDURE select_HuiyWITH ENCRYPTIONASSELECT * FROM HuiyWHERE 健身项目=街舞ORDER BY Huiy.年龄GOEXEC select_HuiyGO图4.14 select 街舞会员将select_Huiy存储过程名改为Huiy_information,代码如下:USE JSGLGOsp_rename select_Huiy,Huiy_information图4.15 Huiy_information删除存储过程Huiy_information,代码如下:USE JSGLGODROP PROCEDURE Huiy_information5.触发器的建立此触发器是建立在Kab表上,进行修改操作 for insert 。在有会员车时间与系统时间进行比较。如果系统时间大于发车时间即列车已开走则不允许退票代码如下:USE JSGLGOif exists (select name from sysobjectswhere name=Huiy_deleteand type=tr)drop trigger Huiy_deletegocreate trigger Huiy_delete on Kabinstead of deleteasdelete from Kabwhere 到期时间 IN(select 到期时间 from deleted)godelete Kab where 到期时间=2011-12-12select *from Kab图4.16 Huiy_delete触发器4.3系统功能结构根据需求分析和数据库的设计,构画出健身中心会员管理系统功能结构图,如下所示:会员档案添加会员档案修改会员档案删除卡信息添加卡信息修改卡信息删除卡信息浏览会员缴费浏览会员缴费查询添加用户重新登录更改密码系统管理会员缴费管理会员卡管理会员档案管理会员管理系统图4.17 系统功能结构图第五章 结 论通过这次课程设计,我对数据库的基本知识有了进一步的了解:存储过程的设计体现了程序和数据库的链接及具体程序如何将操作反应到数据库;视图是从一个或几个基本表(或视图)导出的表,其数据随基表中数据的变化而变化,通过它可以看到自己感兴趣的数据;对于触发器,我了解了建立的语法要求及所代表的意思,以及在维护数据库数据一致性方面的重要作用。在数据库建立过程中,我对数据库的优化、完整性、一致性等有了更深的认识,熟悉了数据库建立的一般方法和过程。但由于能力有限,此课程设计还有许多不足:系统功能还不够完善,权限设置还不完整,数据库的设计也比较简单。参考资料1郑阿奇,刘启芬,顾韵华.SQL Server应用教程.人民邮电出版社 20092刘亚姝,李金莱.ASP网络编程技术与实践M.清华大学出版社 20083明日科技等编著. ASP程序开发范例宝典(第二版)M.人民邮电出版社20094李春葆,曾慧.SQL Server 2000 应用系统开发教程.清华大学出版社 20085李晓黎.ASP+SQL Server网络应用系统开发与实例.人民邮电出版社20046闪四清. SQL Server 2005基础教程.清华大学出版社.20077王珊.撒师煊.数据库系统概论.高等教育出版社.20068王能斌.数据库系统教程.干等教育出版社.20089王珊,陈红.数据库系统教程,清华大学出版社.200710邦贵,郭胜.数据库开发入门与范例解析.机械工业出版.200611李洪飞.管理信息系统开发应用实例教程.人民邮电出版社.2004致 谢本文是在万家华老师的热情关心和指导下完成的,他渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题设计起到了很大的作用。课题指导期间,万老师严谨细致地进行修改斧正,最终使得该篇文章得以成型。在此向他表示我最衷心的感谢!在论文完成过程中,本人还得到了其他老师和许多同学的热心帮助,在此向他们表示深深的谢意!最后向在百忙之中评审课程设计的老师表示衷心的感谢!课程设计任务及成绩院(系):信息工程学院 教研室:软件教研室学 号103210411510321041551032104148学生姓名黄红兵张道奎 徐鹏专业班级10级软件技术班课程设计题目健身中心会员管理系统课 程 设 计 任 务1、实现健身会员信息的相关操作,方便快速得到得到会员的各种信息,并且能通过后台管理实现会员信息的更新、插入、删除等操作。2、掌握运用数据库原理进行后台的设计和管理;掌握SQL Server 2000基本操作;掌握后台和前台的连接;掌握前台对后台进行访问操作。3、通过课程设计,加深对数据库课程所学内容的进一步理解和巩固;加深对结构化课程设计思想的理解,并设计合理的模块化结构;提高程序开发功能,能运用合理的控制流程编写清晰高效的 程序;培养分析问题、解决问题的能力。4、在课程设计过程中,充分发挥小组优势完成课程设计,同时认真体会小组合作的重要性与必要性。成绩成绩: 指导教师签字: 年 月 日注:为方便交流特附上数据库代码CREATE DATABASE JSGLON(NAME=JSGL_dat,FILENAME=D:JSGL_dat.mdf,SIZE=5,MAXSIZE=10,FILEGROWTH=10%)LOG ON(NAME=XSGL,FILENAME=D:JSGL.ldf,SIZE=5,MAXSIZE=10,FILEGROWTH=15%)CREATE TABLE Huiy(姓名 char(30) NOT NULL PRIMARY KEY, 性别 char(30) NOT NULL DEFAULT 男, 年龄 decimal CHECK(年龄0 and 年龄0 and 年龄150) )insert into Huiy(姓名 ,性别,年龄, 健身项目,联系方式)values(刘明,男,19,散打insert into Huiy(姓名 ,性别,年龄, 健身项目,联系方式)values(李平,女,19,街舞insert into Huiy(姓名 ,性别,年龄, 健身项目,联系方式)values(张亮,男,20,器械健身insert into Huiy(姓名 ,性别,年龄, 健身项目,联系方式)values(王丽,女,19,跆拳道insert into Huiy(姓名 ,性别,年龄, 健身项目,联系方式)values(陈强,男,21,街舞insert into Kab(卡号,姓名,卡类型,缴费时间,到期时间)values(1001,李平,年卡,2011-03-22,2012-03-22)insert into Kab(卡号,姓名,卡类型,缴费时间,到期时间)values(1002,王丽,季卡,2011-05-11,2011-08-11)insert into Kab(卡号,姓名,卡类型,缴费时间,到期时间)values(1003,陈强,年卡,2011-06-15,2012-06-15)insert into Kab(卡号,姓名,卡类型,缴费时间,到期时间)values(1004,刘明,季卡,2011-07-09,2011-10-09)insert into Kab(卡号,姓名,卡类型,缴费时间,到期时间)values(1005,张亮,月卡,2011-02-24,2011-03-24)insert into Gly(账号,密码, 性别,年龄)values(无痕天空,AH883721,男,32)insert into Gly(账号,密码, 性别,年龄)values(龙驹断剑,ZDK12345,男,28)insert into Gly(账号,密码, 性别,年龄)values(你不露痕迹,XP154321,男,28)update Huiy set 年龄=年龄+1 update Huiy set 性别=男 where 姓名=李平delete from Huiy where 姓名=刘明delete from Kab where 卡号=1004select 姓名, 健身项目 from Huiyselect * from Huiyselect 姓名, 出生年份为: , year(getdate() - 年龄 from Huiyselect 姓名, 卡类型 ,到期时间 from Kab select * from Huiy where 年龄 between 18 and 22select 姓名 from Huiy where 姓名 like 李索引use JSGLGOcreate nonclustered index IX_hnameon Huiy (姓名)with fillfactor=20create unique index IX_hno_hnameon Kab (卡号,姓名)with ignore_dup_key建立会员信息视图use JSGLGOcreate view 会员信息视图asselect Huiy.姓名,Huiy.性别,Huiy.联系方式,Kab.卡号,Kab.卡类型,Kab.缴费时间,Kab.到期时间from Huiy,Kabwhere Huiy.姓名=Kab.姓名select *from 会员信息视图use JSGLGOALTER view 会员信息视图asselect Huiy.姓名,Huiy.性别,Huiy.联系方式,Kab.卡号,Kab.卡类型,Kab.缴费时间,Kab.到期时间from Huiy,Kabwhere Huiy.姓名=Kab.姓名ADD Kab.卡类型=季卡select *from 会员信息视图游标USE JSGLDECLARE Kab_cur1 CURSORGLOBALSCROLLFORSELECT *FROM Kab WHERE 卡类型=年卡FOR UPDATE OF 卡号,姓名,卡类型,缴费时间,到期时间GOOPEN Kab_cur1FETCH FIRST FROM Kab_cur1 FETCH NEXT FROM Kab_cur1DECLARE Kab_cur2 CURSORGLOBALSCROLLFORSELECT *FROM Kab WHERE 卡类型=季卡FOR UPDATE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论