收藏 分销(赏)

数据库应用系统开发报告韩华.doc

上传人:仙人****88 文档编号:9457576 上传时间:2025-03-27 格式:DOC 页数:32 大小:817.50KB
下载 相关 举报
数据库应用系统开发报告韩华.doc_第1页
第1页 / 共32页
数据库应用系统开发报告韩华.doc_第2页
第2页 / 共32页
点击查看更多>>
资源描述
《学生成绩管理系统》设计报告 学 院:信息科学与工程学院 班 级: 自动化1103 学 号: 0909111418 姓 名: 彭橙 摘要 本次设计报告记录了学生成绩管理系统的实现过程,主要包括了数据库的需求分析,概念设计,逻辑设计,物理设计以及实现过程,包含在第二章,第三章,第四章中。在第一章中介绍了数据库的部分知识, 在第五章中记录了对本次试验的感想。 关键字:数据流图,数据字典,E-R图,逻辑模型,完整性约束,触发器,存储结构,索引,视图。 第一章绪论 4 1.1数据库技术的国内外发展与应用现状 4 1.2、学生成绩管理数据库应用系统开发的意义 4 1.3数据库应用系统开发方法概述 4 1.4、小结 4 第二章系统需求分析 5 2.1 概述 5 2.2 系统功能需求与数据需求 5 1.2.1 数据流图 5 1.2.2 系统功能需求 5 1.2.3 系统数据需求(数据字典) 5 2.3 小结 5 第三章 系统设计 6 3.1 概念设计(E-R图) 6 3.1.1 设计方法及关键技术 6 3.1.2 系统的E-R图 6 3.2 逻辑设计(E-R图) 6 3.2.1 设计方法及关键技术 6 3.2.2 系统的逻辑模型 6 3.3.3系统的完整性与安全性设计 6 3.3 物理设计 6 3.4 系统功能设计(E-R图) 6 3.5 系统开发平台选择 6 3.6小结 6 第四章 数据库应用系统的实现 7 4.1 数据库的定义 7 4.1.1 数据库的定义 7 4.2 应用系统的开发 7 4.3小结 7 第五章 结束语 8 第一章绪论 1.1数据库技术的现状 数据库技术发展:数据模型是数据库技术的核心和基础,因此,对数据库系统发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。按照数据模型的发展演变过程,数据库技术从开始到现在短短的30年中,主要经历了三个发展阶段:第一代是网状和层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透、有机结合,成为当代数据库技术发展的重要特征。 数据库技术应用:数据库最初是在大公司或大机构中用作大规模事务处理的基础。后来随着个人计算机的普及,数据库技术被移植到PC机(Personal Computer,个人计算机)上,供单用户个人数据库应用。接着,由于PC机在工作组内连成网,数据库技术就移植到工作组级。现在,数据库正在Internet和内联网中广泛使用。 20世纪60年代中期,数据库技术是用来解决文件处理系统问题的。当时的数据库处理技术还很脆弱,常常发生应用不能提交的情况。20世纪70年代关系模型的诞生为数据库专家提供了构造和处理数据库的标准方法,推动了关系数据库的发展和应用。1979年,Ashton-Tate公司引入了微机产品dBase Ⅱ,并称之为关系数据库管理系统,从此数据库技术移植到了个人计算机上。20世纪80年代中期到后期,终端用户开始使用局域网技术将独立的计算机连接成网络,终端之间共享数据库,形成了一种新型的多用户数据处理,称为客户机/服务器数据库结构。现在,数据库技术正在被用来同Internet技术相结合,以便在机构内联网、部门局域网甚至WWW上发布数据库数据。 1.2、学生成绩管理系统开发的目的与意义 目的:可以更快的使学生的成绩相加并且排名,这对老师来说是很好可以减少很多工作量,在多人多课考试时很有用,只要成绩出来,输入电脑就可以在几秒内是成绩相加,并知道了某学生在学校排名。 意义:让学生更好的了解和应用数据库,发挥其功能。 1.3数据库应用系统开发方法概述 1、成功开发数据库应用系统的关键,有以下五条:  1)能够为相关部门带来效益(有形、无形),具有很好性能价格比。  2)领导的热情支持,用户的积极参与,以及强有力的DBAS开发组织架构与管理(解决多部门、多用户、多资源、多层次、多任务和多开发人员等相关问题)。  3)面向用户(参与全过程),目标明确(用户沟通),业务流程清楚明了(用户意见)。  4)严格按设计规章办事(多阶段、多策略),实行标准化文档要求(阶段性成果描述)。  5)充分考虑变化的情况(各设计阶段),主要有:部门内部的变化和外界环境的变化。 2、开发数据库应用系统的基本策略,有以下二条:  1)自上而下  2)自下而上 通常是二者结合,即自上而下规划设计,自下而上设计实施。此外还有原型法和面向对象方法等。 3、开发数据库应用系统的主要步骤,有以下五步:  1)系统总体规划,对部门(企业)内外部情况进行初步调查,提出可行性报告(开题报告)。  2)系统需求分析,对部门(企业)内外部情况进行详细调查,搞清原系统的工作情况(输入、处理和输出情况),以及对新系统的功能要求(输入、处理和输出情况),提出DBAS的逻辑模型(数据模型设计和主要业务处理流程)。  系统应用设计,根据系统分析结果,完成各功能模块的设计,设计规范标准(如代码、命名等)的确立,数据库各表的具体设计,以及物理配制方案的制订(硬件、软件和网络等)。  3)系统应用实现,根据系统应用设计的结果,完成系统的编码和测试,以及硬件的安装与调试,以及新旧系统转换、系统运行维护等。  系统评价,对系统运行所带来的效益,进行评估。 1.4、本章小结 本章概述了数据库的基本概念和历史发展,并介绍了数据库的应用,阐述了开发学生成绩管理系统的目的与意义,着重介绍了数据库应用系统开发方法。包括:成功开发数据库应用系统的关键开发数据库应用系统的基本策略开发数据库应用系统的主要步骤。 学习这一章营把注意力放在掌握基本概念知识方面,为进一步学习下面的章节打下基础。 第二章系统需求分析 2.1 概述 需求分析的两个核心问题是了解需求分析的内容及需求调查。 需求分析的任务是详细调查现实世界要处理对象(组织,部门,企业等),充分了解原系统工作概况,明确用户的各种需求,定义新系统的功能(考虑扩充和改变)。 需求分析的重点:用户在数据管理中的:1数据的安全性和完整性要求,数据的保密措施和存取控制要求数据自身的或数据之间的约束条件。2处理要求,对处理功能的要求,对处理响应时间的要求,对处理方式的要求(批处理/联机处理)。3信息要求,用户需要从数据库中获得信息的内容与性质,由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据。 需求分析的主要内容:1数据:系统应包含的实体,实体应包含的属性,标识实体的关键词,属性的数据类型,实体间应建立的联系,数据的约束条件,数据存储量估计,数据存储周期的估计。2:业务处理行为:各种数据流,各种处理算法,处理频率估计。 需求调查的方法:收集资料,访问用户,开座谈会,问卷征询,请教行家,实际体验。 需求分析的困难:收集数据、整理数据的繁杂。 2.2 学生成绩管理系统需求分析 1.2.1 数据流图 学生管理数据流图 1.2.2 系统功能需求 该学生成绩管理系统主要用于管理高校学生的考试成绩,提供学生成绩的录入、修改、查询、等各种功能。成绩由各系的任课老师录入,或教务处人员统一录入。学生成绩录入后由各系系秘书签字确认,只有教务处拥有对学生成绩的修改权限。 用户的具体需求有: (1)系统管理员:负责成绩的录入,能够在一定的权限内对学生的成绩进行查询,可以对自己的登录密码进行修改以及个人信息的修改等基本功能。不论是管理员,还是学生用户都需要通过用户名和口令进行登录。用户名采用学生的学号和教师的教师号,所以规定只能包括数字。密码也只能是数字,用户只有正确填写用户名和密码才可以登入,进行下一步操作。用户名退出后,用户将不再拥有任何权限,并且从数据表中删除该用户的信息。 (2)学生:能够实现学生自己成绩和个人信息的查询等基本功能。 1.2.3 系统数据需求(数据字典) 数据项字典: 字典类别:数据项 名称:sno 别名:学号 含义:唯一标识每一位学生 类型:整形,9位 取值范围:”000000000”到”999999999” 语义约束:不能为空值 字典类别:数据项 名称:sname 别名:姓名 类型:字符型 字典类别:数据项 名称:ssex 别名:性别 类型:字符型 取值范围:”男””女” 字典类别:数据项 名称:sage 别名:年龄 类型:字符型 取值范围:大于”0” 字典类别:数据项 名称:sdepartment 别名:系 类型:字符型 字典类别:数据项 名称:sdepartment chairman 别名:系主任 类型:字符型 字典类别:数据项 名称:cno 别名:课程号 含义:唯一标识一门课 类型:整形 取值范围:”000”到”999” 语义约束:不能为空值 字典类别:数据项 名称:cname 别名:课程名 类型:字符型 字典类别:数据项 名称:gcredit 别名:学分 类型:字符型 字典类别:数据项 名称:ggrade 别名:成绩 类型:字符型 取值范围:”0”到”100” 数据存储字典: 字典类别:数据存储 名称:students 说明:学生信息表,存储所有学生的基本信息 数据项组成:学号,姓名,性别,年龄,所在系,系主任 流入:关于学生信息新增、修改数据 流出:关于学生的原始信息 语义约束:学生学号不能为空值 存取方法:随机存取 数据量估计:不超过100000人 备注:数据项组成见数据项字典相关条目 字典类别:数据存储 名称:courses 说明:课程信息表,存储所有课程信息 数据项组成:课程号,课程名 流入:关于课程信息新增、修改数据 流出:关于课程的原始信息 存取方法:随机存取 数据量估计:不超过100 备注:数据项组成见数据项字典相关条目 字典类别:数据存储 名称:grade 说明:成绩信息表,存储所有成绩信息 数据项组成:成绩,学分,学号,课程号 流入:关于成绩信息新增、修改数据 流出:关于成绩的原始信息 存取方法:随机存取 备注:数据项组成见数据项字典相关条目 2.3 小结 进行整个数据库设计必须准确了解与分析用户需求(包括数据和处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度和质量。 需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。 需求分析调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库的如下需求: (1)信息需求:指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。 (2)处理要求:明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。 (3)安全性与完整性要求(数据字典)。 第三章 系统设计 3.1 概念设计(E-R图) 3.1.1 设计方法及关键技术 概念设计的策略:自顶向下,自底向上,逐步扩张,混合策略 概念设计的基本步骤:先设计局部概念模型,集成局部概念模型为全局概念模型,优化全局概念模型 概念设计的关键技术:建立E-R图 3.1.2 系统的E-R图 该系统的数据流图: 数据抽象:将学生与学生表抽象为实体“学生”,将课程表抽象为实体“课程” 一个学生可以选择多门课程,而一门课程可以对应多名学生,所以学生和课程之间是多对多的关系。 消除数据的冗余和冲突后得到此系统的E-R图如下: 3.2 逻辑设计 3.2.1 设计方法及关键技术 实体集合的转换:一个实体集合用一个关系表示。关系的属性:实体型的属性;关系的码:实体型的码。 该系统的实体型的关系模式: 学生(学号,姓名,性别,年龄,系,系主任) 课程(课程号,课程名) 关系的转换:m:n联系转换为一个关系模式。关系的属性:与该联系相连的各实体的码以及联系本身的属性,关系的码:各实体码的组合。 该系统关系的关系模式: 成绩(学号,课程号,学分,成绩) 3.2.2 系统的逻辑模型 关系模式的定义: 在学生表中存在传递函数依赖,学号决定系,系决定系主任。其余两表中不存在部分函数依赖和传递函数依赖。符合第三范式。 将学生表分解为学生(学号,姓名,性别,年龄,系)和系(系,系主任),此时该系统的关系模式符合第三范式。 3.3.3系统的完整性与安全性设计 设置约束条件: 1、 实体完整性: Create table students (sno int(9) primary key check(sno between 000000000 and 99999999), Sname char(20) not null, Ssex char(2) check (sex in (’男’,’女’)), Sage smallint, Sdepartment char(20) ); Create table departments ( ddepartment char(20)primary key, ddepartment chairman char(20) ); Create table courses (cno int(3)check(cno between 000 and 999), Cname char(20) not null, Primary key(sno) ); 2、 参照完整性 Create table grade (sno int(9)not null, Cno int(3)not null, gcredit char(2), ggrade smallint check (ggrade>=0 and gggrade<=100), primary key (sno,cno), foreign key(sno)references students(sno), foreign key(cno)references courses (cno) ); 3、 用户自定义完整性:在上述两种完整性定义中已经定义了列值非空和检查列值是否满足一个布尔表达式(check短语),在此不再重新定义。 4、 触发器 create trigger trig_students1 on table students for insert as select * from students create trigger trig_students2 on table students for delete as select * from students create trigger trig_students3 on table students for update as select * from inserted select * from deleted create trigger trig_courses1 on table courses for insert as select * from courses create trigger trig_courses2 on table courses for delete as select * from courses create trigger trig_courses3 on table courses for update as select * from inserted select*from deleted create trigger trig_department1 on table departments for insert as select * from departments create trigger trig_department2 on table departments for delete as select * from departments create trigger trig_courses3 on table departments for update as select * from inserted select*from deleted 5、 安全性 1、 用户标识和口令 2、 存取控制,定义用户权限。 Grant select On table students,courses,grade,departments To public; Create role 教务员; //创建教务员角色 Grant all privileges On table students,courses,grade,departments To 教务员 With grant option; 3.3 物理设计 创建存储方式: Use[学生管理数据库] Go Create procedure [insert_grade] ( @学号_1 [int] @课程号_2 [int] @学分_3[char](3) @成绩_4[int]) As insert into [学生管理数据库][dbo][table grade] ([学号] [课程号] [学分] [成绩]) Values (@学号_1 @课程号_2 @学分_3 @成绩_4 ) Use[学生管理数据库] Go Create procedure [insert_students] ( @学号_1 [int] @姓名_2 [char](2) @性别_3[char](2) @年龄_4[char](3) @系_5[char](20)) As insert into [学生管理数据库][dbo][table students] ([学号] [姓名] [性别] [年龄] [系]) Values (@学号_1 @姓名_2 @性别_3 @年龄_4 @系_5) Use[学生管理数据库] Go Create procedure [insert_courses] ( @课程号_1 [int] @课程名_2 [char](20)) As insert into [学生管理数据库][dbo][table courses] ([课程号] [课程名]) Values (@课程号_1 @课程名_2) Use[学生管理数据库] Go Create procedure [insert_departments] ( @系_1 [char](20) @系主任_2 [char](20)) As insert into [学生管理数据库][dbo][table departments] ([系] [系主任]) Values (@系_1 @系主任_2) 索引的建立:由于在建表时制定了primary key,所有SQL Server自动为这些约束建立了唯一性索引,因此在这不需要重新建立索引。 3.4 系统功能设计 系统功能:1、学生对数据库具有查询功能,输入查询条件,输出查询结果。 2、教务员对数据库具有插入数据、修改数据、删除数据的功能,执行这些功能时只对数据库输入数据,同时具教务员还具有查询功能,输入查询条件,输出查询结果。 3.5 系统开发平台选择 Delphi 是可视化的开发软件,使用pascal编译器,速度快,生成代码的执行效率高,编辑语言的功能强大复杂性低,数据库结构的灵活性高可扩展性强。Delphi在数据库中主要是用来开发应用程序和应用界面。 SQL Server 2000 使用方便,提供主要的函数较丰富,性能相对于ACESS、MYSql等数据库功能强。在数据库中用来开发数据库及数据库的管理。 3.6本章小结 本章介绍了数据库概念设计,逻辑设计以及物理设计的基本内容。概念设计中,完成了对数据流图的数据抽象,消除数据冗余和冲突后绘出了该数据库的E-R图,定义了系统的概念模型。逻辑设计中,定义了系统的逻辑模型,规范关系至第三范式,建立了完整性约束条件,建立了触发器,定义了用户权限。在物理设计中,创建了存储方式和索引。另外还设计了系统功能结构图,对系统功能做出了定义。本章为后面数据库的建立打下了基础。 第四章 数据库应用系统的实现 4.1 数据库的定义 4.1.1 数据库的定义 1.数据库的创建 数据库的创建既可以用企业管理器进行创建,也能用T-SQL语言进行创建,下面给出T-SQL语言创建数据库的程序: Create database 学生管理数据库 On primary (name=pri_file, Filename=’E:\sql_database\pri_file.mdf’, Size=10MB, maxsize=50MB, filegrowth=10% ) Log on (name=’l_log’, Filename=’E:\sql_log\l_log.ldf’, Size=5MB, maxsize=25MB, filegrowth=5MB ) 视图的建立 USE [学生成绩管理系统。] GO CREATE VIEW [成绩_VIEW] AS SELECT [dbo].[成绩].[学号], [dbo].[学生].[姓名], [dbo].[成绩].[课程号], [dbo].[课程].[课程名], [dbo].[成绩].[成绩], [dbo].[课程].[学分] FROM [dbo].[成绩], [dbo].[课程], [dbo].[学生] where 学生.学号=成绩.学号 and 成绩.课程号=课程.课程号 USE [学生成绩管理系统。] GO CREATE VIEW [学生_VIEW] AS SELECT [dbo].[学生].[学号], [dbo].[学生].[姓名], [dbo].[学生].[性别], [dbo].[学生].[年龄], [dbo].[学生].[班级], [dbo].[学生].[系], [dbo].[系].[系主任] FROM [dbo].[系], [dbo].[学生] where 学生.系=系.系 2.数据库对象的定义 设计数据库的SQL语言(包括数据库的定义,表的定义,主外键的定义,默认值,规则,约束,触发器,索引等的定义)已经在第三章中加以叙述,在此不再赘述。 4.2 应用系统的开发 4.3本章小结 本章完成了delphi前台程序的设计,完成了数据库的应用程序。由于程序过于繁杂冗长,在此不再附加。 第五章 结束语 本次学生成绩管理数据库的实现是由自己独立完成,实现了整个数据库包括后台的数据库设计及前台的应用程序的设计。但是数据库的设计中还有些缺陷以及未能解决的问题,包括delphi中界面的释放,以及各界面之间的关系设计。 但是本次试验中数据库的基本功能都已实现,并且应用程序中加了各种限制是程序能够正常可靠的执行,数据库后台则加以各种限制及完整性约束,使数据的完整性良好。 综上,在此次的数据库中学到很多东西,在今后的学习生活中都会受益匪浅。 参考文献 文章、书或网址
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服