某电信营业厅收费系统-数据库课程设计_第1页
某电信营业厅收费系统-数据库课程设计_第2页
某电信营业厅收费系统-数据库课程设计_第3页
某电信营业厅收费系统-数据库课程设计_第4页
某电信营业厅收费系统-数据库课程设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库课程设计课程设计报告 设计题目:某电信营业厅收费管理系统 学院名称: 信息工程学院 专业班级: 姓 名: 学 号: 目 录题目要求42 需求分析阶段42.1需求分析阶段的目标42.2需求分析阶段的任务42.2.1 处理对象:42.2.2处理功能及要求:52.3 需求分析阶段成果52.3.1 体会与收获52.3.2 电信营业厅收费系统数据字典53 概念设计阶段63.1 概念设计阶段的任务和目标64逻辑设计阶段94.1逻辑设计的任务和目标94.2数据组织94.2.1将E-R图转换为关系模型94.2.2数据库模式定义105.1物理设计阶段的目标与任务125.2系统功能模块图126 实施阶段13

2、 6.1.1 建立数据库、数据表136.2数据入库147系统调试、测试158心得体会18题目要求某电信营业厅营业收费管理系统l 实现费用类型、业务员管理;l 实现客户信息管理,客户设有结余金额;l 实现收费管理,自动修改用户的结余金额(用触发器实现);l 创建存储过程统计指定月份各种费用类型的收费情况;l 创建存储过程统计指定日期各业务员的收费情况;l 创建规则限定客户的电话号码是以数字1开头的11位数字组成的号码;l 创建表间关系。2 需求分析阶段需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后后来各个阶段的设计,并

3、影响到设计结果是否合理和使用。2.1需求分析阶段的目标1.了解电信营业厅营业收费管理系统的基本内容;2.了解电信营业厅营业收费管理系统的基本业务流程;3.了解电信营业厅营业收费管理系统对业务员的管理,费用类型管理,客户信息管理的过程。4.通过调查和与电信营业厅人员的交流,了解用户对电信营业厅系统的业务要求,安全性和完整性要求;2.2需求分析阶段的任务2.2.1 处理对象:根据电信营业厅收费系统要完成的功能,该系统有以下数据库信息。收营员信息。包括登录该管理系统的收营员的基本信息,如收营员编号、收营员编号、密码、收营员年龄。客户信息。包括各个客户的基本信息,如客户手机号码、客户姓名、客户地区信息

4、、客户结余金额等。话费信息。包括该客户每月话费的详细信息,如:通话费、业务费、上网费等。收费管理。包括客户电话、收银员编号、收费金额、收费日期。2.2.2处理功能及要求:1.能够存储所有入网客户的信息,并方便有效的进行相应的数据操作和管理,主要包括1)客户入网2)客户信息的关键字检索查询。2.能够对客户的交费信息进行查询,这主要包括: 1)客户交费交费纪录2)客户余额查询2.3 需求分析阶段成果2.3.1 体会与收获系统需求分析主要是通过对周边的附近各电信营业厅进行访问,请教,了解电信营业厅运行机制,并通过上网搜索相关电信营业厅的知识。由于不熟悉电信营业厅的运行规则,在绘制业务流程图和数据流程

5、图时,遇到很多问题,存在许多考虑不周的问题。反反复复的重新考虑,重新分析和完善,才逐步把业务弄清楚,最终顺利的完成了需求分析阶段的任务。2.3.2 电信营业厅收费系统数据字典数据字典是体统中各类数据描述的集合,是进行详细的数据手机和数九分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储、处理过程和外部实体6个部分。数据项是不可再分的数据单位。数据结构反映了数据之间的组合关系。数据流是数据结构在系统内传输的路径。数据存储是数据结构停留或保存的地方也是数据流的来源和去向之一。处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典是需

6、要描述处理过程的说明性信息。本文中包括14个数据项 如下:数据项字段类型数据项字段类型收营员编号char(11)收营员姓名char(10)年龄int密码char(20)手机号码bigint客户姓名char(10)地区char(20)结余金额int通话费int业务费int上网费int月份int收费金额int收费日期date4个数据结构如下收营员客户信息话费信息收费管理3 概念设计阶段将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。 3.1 概念设计阶段的任务和目标 (1)选择底层数据流为切入点,通常选择实际系统中的子系统; (2)设计分E-R图,

7、即各子模块的E-R图;(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;(4)生成全局E-R图,通过消除冲突等方面。 收营员实体图 客户信息实体图 收费管理实体图 话费信息实体图 系统ER图4逻辑设计阶段4.1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。4.2数

8、据组织4.2.1将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系

9、模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 具有相同码的关系模式可合并。由于客户与话费的联系方式是1:n(一对多),而收营员与客户之间的联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:收营员(收营员编号,密码,年龄,姓名)收费管理(手机号码(外码),收营员编号(外码),收费金额,收费日期)客户管理(手机号码,姓名,地区,结余金额)话费信息(手机号码(外码),月份,通话费,上网费,业务费)(注:画框的字为主码)4.2.2数据库模式定义数据库的模

10、式定义包括三个方面:1. 数据的逻辑结构;2. 数据之间的联系;3. 数据有关的完整性约束、安全性要求。收营员表客户信息表手机号码为主码,每个人的的手机号码可以确定该客户的名字及信息。手机号码要求以1开头,且只能输入11位,该约束语句如下手机号码 bigint,check(手机号码 like 1%),check (len(手机号码)=11)收费管理表由于每个手机号码可以交多次费,且每个收营员可以为同一客户进行交费,故该表中没有主码,手机号码位客户信息表中的主码,在此作外码。收营员编号为收营员表中的主码,在此做外码。收费日期,必须输入正确的年月日,故为date型。话费信息表由于每个客户每个月只有

11、一张话费信息表,估、故只有手机号码与月份同时确定时才可确定一张话费信息表。且月份只能输入1-12月,该约束方式如下月份 int,check (月份)between 1 and 12)5物理设计阶段5.1物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。5.2系统功能模块图本系统的功能主要包括如图几个方面: 系统功能图 6 实施阶段6.1.1 建立数据库、数据表数据库的建立create databas

12、e Chinanet6.1.2 建立数据表收银员表create table 收银员(收营员编号 char(11)primary key,收营员姓名 char(10) not null,年龄 int,密码 char(20) not null);客户信息create table 客户信息(手机号码 bigint primary key, check(手机号码 like 1%),check (len(手机号码)=11) , 姓名 char(10) not null, 地区 char(20) not null,结余金额 int); 话费信息create table 话费信息(手机号码 bigint,c

13、heck(手机号码 like 1%),check (len(手机号码)=11), 通话费 int not null, 业务费 int, 上网费 int,月份 int,check (月份)between 1 and 12),foreign key(手机号码) references 客户信息(手机号码),primary key (手机号码,月份);收费管理create table 收费管理(手机号码 bigint (,check(手机号码 like 1%),check (len(手机号码)=11),收营员编号 char(11) not null,收费金额 int not null,收费日期 dat

14、e not null, foreign key(收营员编号) references 收银员(收营员编号),foreign key(手机号码) references 客户信息(手机号码),); 6.1.3 建立存储过程存储过程 共有4个存储过程1.统计指定日期各业务员的收费情况create procedure P_存储过程(收费日期 date,收营员编号 char(11),收费总金额 int output)asselect 收费总金额=SUM(收费金额) from 收费管理 where (收费日期=收费日期 and 收营员编号=收营员编号)2.统计指定月份各种费用类型的收费情况(1)上网费cre

15、ate procedure T_存储过程(月份 int,上网费总金额 int output)asselect 上网费总金额=SUM(上网费) from 话费信息 where (月份=月份)(2)业务费create procedure T1_存储过程(月份 int,业务费总金额 int output)asselect 业务费总金额=SUM(业务费) from 话费信息 where (月份=月份)(3)通话费create procedure T2_存储过程(月份 int,通话费总金额 int output)asselect 通话费总金额=SUM(通话费) from 话费信息 where (月份=月

16、份)6.1.4 建立触发器触发器收费管理,自动修改用户的结余金额create trigger T3_ on 收费管理 for insert as declare 余金额 int select 余金额=收费金额 from 收费管理 update 客户信息 set 结余金额=结余金额+余金额 where 客户信息.手机号码=(select 手机号码 from inserted)6.2数据入库系统包括客户收费,客户增加,收营员管理等功能,共有4张基本表,采用事先在Excel中录入数据,然后使用SQL Server 2008数据导入/导出向导功能,直接将数据导入到相应的基本表中。7系统调试、测试对电信

17、营业厅收费管理系统进行测试,验证每个功能是否符合要求,具体的测试如下:1 基本表和视图视图查看收营员表查看客户信息表查看收费管理表查看话费信息表查看2 检验各个存储过程统计指定日期各业务员的收费情况declare 收费总金额 intexec P_存储过程 2015-12-06,1, 收费总金额 outputselect 收费总金额=收费总金额统计指定月份各种费用类型的收费情况上网费declare 上网费总金额 intexec T_存储过程 3, 上网费总金额 outputselect 上网费总金额=上网费总金额业务费declare 业务费总金额 intexec T1_存储过程 3, 业务费总金额 outputselect 业务费总金额=业务费总金额通话费declare 通话费总金额 intexec T2_存储过程 3, 通话费总金额 outputselect 通话费总金额=通话费总金额3 检验各个触发器在进行交费之后insert into 收费管理 values 2,30,2015-12-06)该客户结余金额如下8心得体会 在本次课程设计过程中,首先拿到题目时,给我最大的感觉就是难。对于建表,如何创建表间关系都毫无头绪,无从下手。在经过网上查阅、与同学探讨

温馨提示

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

评论

0/150

提交评论