数据库课程实习 运动会管理系统.doc_第1页
数据库课程实习 运动会管理系统.doc_第2页
数据库课程实习 运动会管理系统.doc_第3页
数据库课程实习 运动会管理系统.doc_第4页
数据库课程实习 运动会管理系统.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

目 录1、实习的目的和任务12、实习要求13、实习地点14、主要仪器设备(实验用的软硬件环境)15、实习内容25.1需求分析25.2概念结构设计45.3数据库逻辑结构设计65.3数据库关系图86、问题讨论与分析87、结论9参考文献10附录10运动会管理系统1、实习的目的和任务通过课程实习设计,让学生能够全面了解数据库应用系统的整个开发过程,验证课堂教学中的理论;掌握数据库系统的基本概念、基本原理及应用技术;掌握SQL语言的定义和各种操作能力,进一步掌握SQL语言的数据库编程技能;学会利用课堂上已学过的数据库知识进行数据库设计;使学生对开发信息管理系统有一个总体认识,可使学生得到很好锻炼,为以后学习、工作打下坚实基础。2、实习要求系统需求分析与功能设计:阐明应用系统背景,组织结构情况以及需求分析的过程,并绘制出数据流程图,写出数据字典。概念结构设计:根据概念结构设计的基本原则,确定概念模型,并阐明分析步骤和理论依据完成数据库的概念设计,画出E-R图。逻辑结构设计:根据需求分析和概念模型,将实体及实体间的联系按一定的转换规则转换为关系模型,写出转换步骤及相应的理论依据,并确定主码、外码。按数据库设计方法和规范化理论得出符合3NF的逻辑模型。利用SQL Server2005建立相应的数据库对象。利用SQL语句实现相应功能。认真完成本课程实习设计的全部过程。3、实习地点田家炳楼实验室4044、主要仪器设备(实验用的软硬件环境)硬件:计算机软件:Windows 2000和SQL Server 2000 5、实习内容5.1需求分析本系统的主要功能是收集运动员和裁判信息便于管理人员的查询。主要包括运动员基本信息表、裁判信息表、运动项目信息表、运动员成绩表。主要功能有:运动员、队伍和裁判的基本信息输入运动员、队伍和裁判信息查询运动员成绩录入运动员成绩及处罚情况查询和打印1)数据字典1数据项:运动员编号 = 名称:编号,别名:运动员编号,数据类型:varchar,长度:6,取值范围:100000-199999,取值含义:第一位1表示是运动员,接着的两位表示运动员参加的运动项目编号,最后三位表示该运动员编号 姓名 = 名称:姓名,数据类型:varchar,长度:20 性别 = 名称:性别,数据类型:char,长度:2 年龄 = 名称:年龄,数据类型:int 隶属队 = 名称:隶属队,别名:运动员隶属队,数据类型:varchar,长度:20 裁判编号 = 名称:编号,别名:裁判编号,数据类型:varchar,长度:6,取值范围:200000-299999,取值含义:第一位2表示是裁判,接着的两位表示裁判所在运动项目编号,最后三位表示该裁判编号 职位 = 名称:职位,别名:裁判职位,数据类型:varchar,长度:20 工作单位 = 名称:工作单位,含义:裁判来自哪里,数据类型:varchar,长度:50项目编号 = 名称:项目编号,数据类型:varchar,长度:2项目名称 = 名称:项目名称,数据类型:varchar,长度:20地点 = 名称:地点,别名:赛场,数据类型:varchar,长度:20成绩 = 名称:成绩,数据类型:int队伍编号 = 名称:编号,数据类型:varchar,长度:6队伍名 = 名称:队伍名,数据类型:varchar,长度:20归属地 = 名称:归属地,数据类型:varchar,长度:20处罚情况 = 名称:处罚情况,数据类型:varchar,长度:502数据结构:运 动 员 : 编号、姓名、性别、年龄、隶属队、项目编号裁 判 : 编号、姓名、性别、年龄、项目编号、职位、工作单位项 目 : 编号、名称、地点成 绩 : 运动员编号、项目编号、成绩队 伍 : 编号、队伍名、归属地处罚记录 : 运动员编号、处罚情况2)系统设计运动会管理系统录入基本信息信息管 理查询运动员运动项目裁判队伍成绩录入处罚记录修改查询成绩查询处罚打印3)数据流程图比赛信息输入比赛成绩处罚信息基本信息输入运动员、裁判、运动项目、队伍基本信息查询5.2概念结构设计将需求分析得到的用户抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。1)局部E-R图运动员E-R图运动员编号姓名性别年龄项目隶属队裁判E-R图裁判编号姓名性别年龄项目职位单位运动项目编号名称地点运动项目E-R图成绩E-R图成绩编号项目编号成绩处罚记录E-R图处罚记录运动员编号处罚情况队伍E-R图队伍编号队伍名归属地2)总E-R图运动员参加运动项目取得成绩裁判评判归属队伍获得处罚记录 1 n1 1 1 n n nn 1 n m总E-R图5.3数据库逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型想符合的逻辑结构运动员信息表序号数据类型长度可否为空取值范围性质1编号Varchar6否主键2姓名Varchar20否3性别Char2否4年龄Int否18-355项目Varchar20否外键6隶属队Varchar30否外键裁判信息表序号字段数据类型长度可否为空取值范围性质1编号Varchar6否主键2姓名Varchar20否3性别Char2否4年龄Int是5项目Varchar20否外键6职位Varchar20否7单位Varchar30否项目信息表序号字段数据类型长度可否为空取值范围性质1编号Varchar2否00-99主键2项目名称Varchar20否3地点Varchar30否成绩序号字段数据类型长度可否为空取值范围性质1运动员编号Varchar6否主键/外键2项目编号Varchar2否主键/外键3成绩Int否队伍信息序号字段数据类型长度可否为空取值范围性质1编号Varchar6否主键2队伍名Varchar20否3归属地Varchar20否处罚信息序号字段数据类型长度可否为空取值范围性质1编号Varchar6否主键/外键2处罚情况Varchar50否5.3数据库关系图6、问题讨论与分析通过本次实习,我发现要滤清事物之间的关系是一件挺难的事情,这就涉及到如果我们要做好这个系统,就得先完成两件事,首先,做好需求分析,完成数据字典,画出它的功能流程图,然后,根据需求分析阶段所收集到的用户需求,设计数据库的概念数据模型,它是从用户角度看到的数据库。即根据这个功能流程图画出这个系统的E-R图,这是建立数据库的关键,也是这次数据库课程设计的关键。在画E-R图的时候,遇到了许多问题,在诸多的实体中主要理清他们之间的关系,需要将关系逐渐明确,最后顺利的完成E-R图的绘制。需求分析对于数据库设计来说至关重要,小到自己的实习大到企业级数据库设计都必须认真做好需求分析,否则后续的设计和实施都会有想象不到的麻烦。针对课程设计,要求学生同时站在客户和供应商的角度思考问题。让一个人按部就班的一点一点写需求分析真的很需要耐性。从每个数据项的名称、含义、数据类型、长度和取值范围到表的结构以及表与表之间关系的设计,从外键、索引到各个约束条件和默认值的设计都要在需求分析阶段完成,这是很繁杂的工作。所以这种课程设计也是对学生做事严谨精神的锻炼。在对需求分析进行概念结构设计之后,就应设计逻辑结构。设计逻辑结构应该选择最适于相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。同时,在本次的实习中,使用到了各种软件。如用到了MicrosoftVisio2003,用它来完成数据库功能流程图和E-R图的绘制。7、结论通过本次实习,我已掌握数据库的基本知识,并熟悉了SQL Server 2005的基本操作。首先,数据库操作的实习是对基本功的考验。从基本的SQL语句、视图到自定义函数、存储过程、触发器再到数据库的备份与恢复及用户权限设置都要求对数据库充分熟悉对基本操作足够熟练。同时,学到的很多理论知识,在这次课程设计实习中更具体的体现了出来,在实践过程中,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能真正学到知识并写出有用的程序,所以提高自己的实际动手能力和独立思考的能力是十分重要的。总的来说,通过此次实习我得以将过去所学的知识综合融汇,进一步加深了对数据库的认识,更加熟练的掌握了数据库设计的一般过程及其具体环节。参考文献 1 王珊 萨师煊.数据库系统概论(第四版).北京:高等教育出版社.2005 2 詹英.数据库技术与应用-SQL Server 2005 教程.北京.清华大学出版社.20083 刘大玮 马传宝 孙颖洁.SQL Server 数据库项目案例导航.北京.清华大学出版社.2005 4 夏邦贵 刘凡馨.SQL Server 数据库开发经典案例精解.北京.机械工业出版社.2006附录use SportManager-创建表create table R(re_no varchar(6) primary key,re_name varchar(20) not null,re_sex char(2) check(re_sex in(男,女),re_age int,re_event varchar(2) not null,re_title varchar(20),re_add varchar(30) not null,constraint CK_RENO check(re_no like 20-90-90-90-90-90-9),constraint FK_R_E foreign key(re_event) references E(ev_no)create table S(sp_no varchar(6) primary key,sp_name varchar(20) not null,sp_sex char(2) not null check(re_sex in(男,女),sp_age int check(sp_age between 18 and 35),sp_event varchar(2) not null,team varchar(2) not null,constraint FK_S_S foreign key(sp_event) references E(ev_no),constraint FK_S_T foreign key(team) references T(t_no),constraint CK_SPNO check(sp_no like 10-90-90-90-90-9)create table E(ev_no varchar(20) primary key check(ev_no like 0-90-9),ev_name varchar(20) not null,ev_place varchar(30) not null default 校本部)create table G(sp_no varchar(6),ev_no varchar(2),score int not null,constraint PK_G primary key (sp_no,ev_no), constraint FK_G_SP foreign key(sp_no) references S(sp_no),constraint FK_G_EV foreign key(ev_no) references E(ev_no)create table P(sp_no varchar(6) primary key,punish varchar(50) not null,constraint FK_P_S foreign key(sp_no) references S(sp_no) )create table T(t_no varchar(2) primary key,t_name varchar(20),t_add varchar(20) not null,coach varchar(20) not null,constraint CK_T_NO check(t_no like 0-90-9)-索引create unique index ev_name_indexon E(ev_name)create nonclusteredindex sp_event_indexon S(sp_event)-简单查询-查询102001号运动员01项目的成绩select score=score from Gwhere sp_no=01 and ev_no=102001 -查询103002号运动员的姓名、教练和比赛项目select sp_name,ev_name,coach from S,T,Ewhere sp_no=103002 and sp_event=ev_no and team=t_no-自定义数据类型CREATE TYPE NUM FROM char(6) NULL-查询某位运动员的基本信息 内嵌表值函数create function selectSporter(num varchar(6) returns tableasreturn(select * from S where sp_no=num)select * from selectSporter(101001)-查询某位裁判的基本信息 内嵌表值函数create function selectReferee(num varchar(6) returns tableasreturn(select * from R where re_no=num)select * from selectReferee(201001)-查询某运动员在某项目取得的成绩 标量函数create function selectSpGain(num varchar(6),evno varchar(2) returns intasbegin declare score intselect score=score from Gwhere sp_no=num and ev_no=evno return scoreendselect dbo.selectSpGain(101001,01)-或者declare gain intexec gain = dbo.selectSpGain 101001,01select gain as 成绩-查询某运动员的姓名、教练和比赛项目 多语句表值函数create function selectSpInfor(num varchar(6)returns infor table(姓名varchar(20),教练varchar(20),项目varchar(20)asbegin insert into inforselect sp_name,ev_name,coach from S,T,Ewhere sp_no=num and sp_event=ev_no and team=t_noreturnend select * from selectSpInfor(101001)-查询某项赛事的地点 存储过程create procedure selectEvent evno varchar(2),place varchar(30) outputasbegin select place=ev_place from E where ev_no=evnoenddeclare where varchar(30)exec selectEvent 01 ,where outputselect where as 地点-查询所有处罚信息create procedure selectPunishasbeginselect * from Pendexec selectPunish-创建视图-创建裁判与赛事的视图create view referee_eventasselect re_name,ev_name,ev_place from R join E on re_event=ev_noselect * from referee_event-创建运动员和队伍的视图cre

温馨提示

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

评论

0/150

提交评论