完整版数据库设计实验报告.docx

上传人:b****7 文档编号:10436001 上传时间:2023-02-11 格式:DOCX 页数:35 大小:2.46MB
下载 相关 举报
完整版数据库设计实验报告.docx_第1页
第1页 / 共35页
完整版数据库设计实验报告.docx_第2页
第2页 / 共35页
完整版数据库设计实验报告.docx_第3页
第3页 / 共35页
完整版数据库设计实验报告.docx_第4页
第4页 / 共35页
完整版数据库设计实验报告.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

完整版数据库设计实验报告.docx

《完整版数据库设计实验报告.docx》由会员分享,可在线阅读,更多相关《完整版数据库设计实验报告.docx(35页珍藏版)》请在冰豆网上搜索。

完整版数据库设计实验报告.docx

完整版数据库设计实验报告

课程设计

课程名称__《数据库系统概论》__

题目名称__学生火车票订票系统__

学生学院___经济管理学院_______

专业班级____电子商务4班______

学号___**********_________

学生姓名_____林奕鹏___________

指导教师_____吴菊华老师_______

 

2008年9月18日

课程设计任务书

题目名称

学生火车票订票系统

学生学院

经济管理学院

专业班级

电子商务4班

姓名

林奕鹏

学号

3106005680

一、课程设计的内容

(一)、设计题目内容

学生火车票定票系统

(1)背景:

一年两次的火车票订票管理

(2)主要实现以下功能:

1)学生基本信息的管理,尤其是所在地

2)学生购票的基本信息,尤其是价钱和车票目的地

3)购票以后的分发管理

4)退票的管理

5)信息的统计和查询

6)操作员管理

二、课程设计的要求与数据

(1)、有必要进行对企业的报刊订阅业务进行分析、调查

(2)、加分功能:

购票后的分发管理的设计与实现(自由发挥);

(3)、保质保量完成课程设计要求的所有内容。

(4)、打印实验报告和实验任务书并上交。

(5)、杜绝抄袭。

如若发现有明显抄袭现象,抄袭者和被抄袭者的课程设计成绩全部取消。

三、课程设计应完成的工作

(1)、需求分析(阐明应用系统背景,组织结构情况以及需求分析的过程,并绘制出数据流程图)

(2)、概念结构设计:

根据概念结构设计的基本原则,确定概念模型,并阐明分析步骤和理论依据。

(3)、逻辑结构设计:

根据需求分析和概念模型,将实体及实体间的联系按一定的转换规则转换为关系模型,写出转换步骤及相应的理论依据,并确定主码、外码。

四、课程设计进程安排

序号

设计各阶段内容

地点

起止日期

1

根据设计问题查阅收集有关资料

宿舍

6.28-29

2

需求分析(阐明应用系统背景,组织结构情况以及需求分析的过程,并绘制出数据流程图)

宿舍

6.30-7.1

3

(数据库)概念(模型)设计阶段

宿舍

7.2

4

逻辑模型设计阶段

机房

7.3

5

数据库物理设计与数据库保护设计

宿舍

7.25-26

6

处理功能设计阶段

宿舍

7.27-29

7

数据库应用系统的实现

宿舍

8.28-9.4

8

数据库应用系统运行

宿舍

9.4-10

9

撰写课程设计报告

宿舍

9.10-15

五、应收集的资料及主要参考文献

1、《数据库系统概论》王珊,萨师煊

2、《系统分析与设计技术》张友生主编

2、海纳服饰有限公司进销存系统

3、网上其它资料

 

发出任务书日期:

年月日指导教师签名:

计划完成日期:

年月日基层教学单位责任人签章:

主管院长签章:

 

 

报告内容

概述:

随着国民经济快速发展,人们出行、交通越来越频繁,对服务的快捷、便利性要求也越来越高。

从而对客运行业的建设与管理提出了更高的要求。

为适应和推动客运行业的发展,各种交通公司和部门开始广泛采用使用日趋成熟的计算机技术和数据库技术来实现票务信息的现代化管理,具有手工管理所无法比拟的优点,如:

检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。

这些优点能够极大地提高信息管理和业务管理的效率。

本学生火车订票系统正是通过数据库存储信息实现高效率管理。

该实验设计首先进行需求分析,然后在需求文档的指导下实现系统的功能,如操作员的信息管理功能及普通学生的火车信息查询、订票、退票等功能,最终实现的是学生购得一张自己满意的票券,同时力求通过数据库系统及计算机在其中的运用达到提高工作效率,节约人力资源的效果。

1.需求分析

1.1用户需求:

(一)、问题描述:

学生火车票定票系统

(1)背景:

一年两次的火车票订票管理

(2)主要实现以下功能:

1)学生基本信息的管理,尤其是所在地

2)学生购票的基本信息,尤其是价钱和车票目的地

3)购票以后的分发管理

4)退票的管理

5)信息的统计和查询

6)操作员管理

(二)、目的及现状:

1)、实验目的:

数据库设计就是要使学生采用本课程中学习的数据库设计方法,运用其基本思路与主要图表工具完成一个自己所了解的业务的数据库应用系统信息需求分析与数据库的概念设计、逻辑设计、物理设计以及处理功能设计,用自己熟悉的数据库管理系统、程序设计语言及其相关开发工具实现该系统,并运行、评价、改进之;在此基础上严格按本大纲所附报告提纲撰写课程设计报告。

通过本设计进一步弄懂数据库系统及其相关的基本概念,理解数据库系统的系统结构、主要特点,掌握数据库设计的原理、方法及其基本过程,初步具备数据库应用设计的能力,初步形成运用数据库应用系统解决管理决策中的实际问题的基本素质。

2)、现状和系统要求:

在传统模式下利用人工进行火车订票业务,存在着较多的缺点,如:

效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。

诸如这些情况,给各相关部门工作人员带来了很大困难,严重影响了他们的工作效率。

运用计算机技术和数据库技术来实现票务信息的现代化管理,具有手工管理所无法比拟的优点,如:

检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。

这些优点能够极大地提高信息管理和业务管理的效率。

在本系统中,系统用户共有两种,并根据用户权限的不同而实现不同的功能,如操作员

拥有添加、修改、删除某火车相关信息及修改自己的个人信息的功能。

学生有对车票信息、、哪一车次哪天还剩余多少张票和自己所订票券的查询功能,订票功能及退票功能。

系统利用计算机和数据库的高效率大大减轻了学校票点工作人员的劳动强度,提高了各部门的工作效率。

1.2业务流程分析:

(一)、描述系统的业务流程:

本系统共有两种用户,根据用户权限的不同而实现不同的功能。

操作员的权限最大,他进入系统必须先登录。

操作员可以添加、修改、删除某车票的相关信息,可以修改自己的个人信息;查询、删除学生的订票情况,确认学生是否已付款取票等。

学生可以按目的地的车次对车票信息进行查询,可以订票,订票时须录入自己的信息及所选择的车次,系统将检查该车次票数是否已订完或不足,若已订完或不足则提示错误信息并返回到订票界面,订票成功后将生成订票单。

学生还可以对自己所订的票券即订票单进行查询,以及查询哪一车次哪天还剩余多少张票。

用户付款和取票可在学校票点完成。

(二)、初步业务流程图:

1.3信息需求分析

1.3.1资料收集

1.3.2事项分析:

在本火车票订票系统中,各资料的基本数据项列举如下:

学生资料:

学号,姓名,密码,所在学院,专业,班级,电话,目的城市

车票基本信息:

车次号,出发站,开车时间,到达站,到达时间,车票种类,余票数

车次详细信息:

ID号,车次号,途径站,票价,

订票单信息:

订单号,订票人学号,订单时间,付款取票与否

订票具体信息:

ID号,订单号,所得车次号,目的城市,订票数,总票价,取票时间

订票点信息:

票点号,票点主任的员工号,联系电话,所在校区

操作员资料:

员工号,票点号,密码,姓名,性别,电话

1.4功能需求分析:

(一)、完善业务流程图:

(二)、功能层次图:

本系统共有两种用户,根据用户权限的不同而实现不同的功能,如操作员查询、添加、修改、删除某火车相关信息及查询、修改自己的个人信息的功能。

学生对车票信息、、哪一车次哪天还剩余多少张票和订票功能以及对自己所订票券的查询功能、退票功能。

2.(数据库)概念(模型)设计

2.1构思ERD的四条原则及根据这些原则相应得出的实体、联系及其属性:

1原则1(确定实体):

能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。

在本系统中,实体主要有学生、操作员、车票信息、车票详细信息表、订票单,订票详细信息表,订票点。

②原则2(确定联系):

两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。

实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。

在本系统中,学生、车票信息、订票单和订票详细信息表之间存在“订购”的联系,一个车票信息可以被多个学生购买,而一个学生只可以购买多个车次所属的一到两张车票,它们之间的联系是一对多的“购买”联系,同时一次登录无论订多少车次只生成一张订票单。

订票点和操作员之间存在“隶属”的联系,它们之间的联系是一对多的“隶属”联系;车票信息和车票详细信息表之间存在“包含”与被包含的关系;订票单和订票详细信息表之间也存在“包含”与被包含的关系。

③原则3(确定属性):

实体的属性是实体的本质特征。

实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。

联系的属性是联系的结果或状态。

从这条原则可得到实体和联系的属性如下:

学生(学号,姓名,密码,所在学院,专业,班级,电话,目的城市)

车票基本信息(车次号,出发站,开车时间,到达站,到达时间,车票种类,余票数)

车次详细信息(ID号,车次号,途径站,票价)

订票单信息(订单号,订票人学号,订单时间,付款取票与否)

订票具体信息(ID号,订单号,所得车次号,目的城市,订票数,总票价,取票时间)

订票点(票点号,票点主任的员工号,所在校区,电话)

操作员(员工号,票点号,密码,姓名,性别,电话)

④原则4(一事一地):

信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。

根据以上的分析,可以画出本系统的原始ERD的基本结构。

2.2、系统具体E-R图:

3.(数据库)逻辑(模型)设计

3.1一般逻辑模型设计:

(一)、由ERD导出一般关系模型的四条原则:

原则1(实体转换为关系模式):

ERD中每个独立的实体转换为一个关系模式,实体的属性组成关系的属性,实体的主标识转换成关系的主码。

原则2(从实体及其主从联系转换为关系模式):

ERD中一个从实体及其主从联系转换为一个关系,从实体的属性及其主实体关系的属性组成的属性,其主实体关系的主码,在主从关系联系为一对多联系时还要加上可把同一主实体个体所对应的从实体个体区分开来的,从实体的一组属性,作为该关系的主码。

对子类实体可作类似一对一联系的从实体的转换。

原则3(一对多联系在关系模式中的表示):

ERD中的一个一对多联系通过在其“多”实体关系上增加“1”实体关系的主码(作为外码)和联系本身的属性来表示。

原则4(多对多联系转换为关系):

ERD中的一个多对多联系转换为一个关系,其被联系实体关系的主码和该联系本身的属性一起组成的属性,被联系关系的主码组成该关系的复合主码。

(二)、数据库初步构思的关系框架:

通过ERD转换为一般关系模型四条原则分析,得到须在数据库中进行存储的一般关系模型如下(带下划线的为主码,带#的为外键):

学生(学号,姓名,密码,所在学院,专业,班级,电话,目的城市)

车票基本信息(车次号,出发站,开车时间,到达站,到达时间,车票种类,余票数)

车次详细信息(ID号,车次号#,途径站,票价)

订票单信息(订单号,订票人学号#,订单时间,付款取票与否)

订票具体信息(ID号,订单号#,所得车次号#,目的城市,订票数,总票价,取票时间)

订票点(票点号,票点主任的员工号#,所在校区)

操作员(员工号,密码,姓名,性别,电话)

3.2具体逻辑模型设计:

(1)、Student表:

用来保存学生信息:

项名

类型

长度

小数位

值域

主键

外键

空键

学号

字符

12

非空

姓名

字符

20

非空

密码

字符

12

非空

学院

字符

40

非空

专业

字符

30

非空

班级

数据

4

0

>0

非空

电话

字符

12

非空

目的城市

字符

30

非空

(2)、Ticket表:

用来保存车票信息表

项名

类型

长度

小数位

值域

主键

外键

空键

车次号

字符

20

非空

出发站

字符

30

非空

开车时间

日期

8

非空

到达站

字符

30

非空

到达时间

日期

8

非空

车票种类

字符

20

非空

余票数

数据

8

0

>0

非空

(3)、Citysite表:

用来保存车票详细信息表:

项名

类型

长度

小数位

值域

主键

外键

空键

ID号

整数,自动编号

8

非空

车次号

字符

20

非空

途径城市

字符

30

非空

票价

decimal

非空

(4)、Ticketsite表:

用来保存订票点表:

项名

类型

长度

小数位

值域

主键

外键

空键

票点号

整数,自动编号

8

0

非空

票点主任员工号

整数,自动编号

8

0

非空

联系电话

字符

12

非空

所在校区

字符

40

非空

(5)、Admin表:

用来保存操作员表:

项名

类型

长度

小数位

值域

主键

外键

空键

员工号

整数,自动编号

8

0

非空

用户名

字符

20

非空

密码

字符

12

非空

姓名

字符

20

非空

性别

字符

4

非空

电话

字符

12

非空

(6)、Book表:

用来保存订单表:

项名

类型

长度

小数位

值域

主键

外键

空键

订单号

整数,自动编号

8

0

非空

学号

字符

非空

订单时间

字符

非空

付款取票与否

整数

2

0

非空

(7)、Ticket表:

用来保存取票单表:

项名

类型

长度

小数位

值域

主键

外键

空键

ID号

整数,自动编号

8

0

非空

取票号

字符

8

0

非空

车次号

字符

非空

目的城市

字符

非空

订票数

数据

8

0

>0

非空

总票价

Decimal

非空

取票时间

日期

8

非空

4.数据库物理设计与数据库保护设计

根据表的结构关系,本系统采用SQLServer2000数据库。

SQLServer2000是微软公司关系型数据库产品,它是在由MSSQLServer7.0建立的坚固基础之上产生的。

客户的需求极大的推动了该产的革新,SQLServer2000在易用性、可缩放性和可靠性,以及数据仓库等诸多方面有了很大的增强。

这使得SQLServer2000在很多数据库产品发展最快的应用领域(如电子商务、移动计算、分支自动化、商业级应用和数据交换中心等)中成为领先者

在数据库中创建表的同时须创建相关的索引。

索引就是加快检索表中数据的方法。

数据库的索引类似于书籍的索引。

在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。

在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。

本数据库表较为简单,且每个表中定义主键约束或者唯一性键约束,已经间接创建了索引,故无需再创建索引。

5.处理功能设计

5.1主控模块设计:

(1)、登录系统模块:

在登录窗体界面中,你可以输入代码和密码,选择你的身份(操作员或系统管理员),确认后就可进入主界面窗体。

如果你是学生,且还没注册,可以在此窗体界面上点击“注册”,在注册界面输入所要求的项,确定后重新返回登录界面,用你刚注册的账号登录进入主界面。

在主界面中包含上述模块图的几部分,根据身份,即是用户或者管理员,对应权限不同,分为不同的主界面,即用户主界面和管理员主界面。

(2)、系统设置模块图:

用户:

在此模块用户可以查询、修改自身注册信息以及退出登录,退出系统后将返回登录界面。

管理员模块:

在此模块管理员除了拥有用户的各项设置外还可以注册新的管理员,但为了安全起见,此功能只有当登录人是票点主任时才可执行。

5.2子模块设计:

5.2.1、管理员模块

1、车票信息管理模块:

在此模块,管理员可以执行车票信息录入、查询、删除和修改功能,不过删除和修改功能须当该车次没有被预订的情况下才可执行。

2、订票管理模块:

在此模块,管理员可以查询所有订单情况、已付款取票和未付款取票的订单情况,还可以按学号查询某学生的订票情况以及各种统计信息,并在学生来付款取票时执行“付款”操作。

另外还可以在订单已付款或学生取消订单时删除订单。

5.2.2、用户模块:

1、订票管理模块:

在此模块,用户可以查询车票信息和自身订票情况。

查询车票情况分为按车次、按目的地、按起始站—目的站查询,当查询到自身所想要的车票时即可订票,但注意预定票的目的地须与学生家乡所在城市相符,否则系统不允许订票;查询自身订票情况包括订单信息及金额统计,还须注意订票信息上要求的取票期限,订票人须在规定期限内去所在校区的票点付款取票,逾期票点工作人员将不予处理。

2、用户小贴士模块:

在这里,用户将了解本订票系统的订票流程及相关规定及用户订票后付款取票地点的信息等。

6.数据库应用系统的实现

6.1数据库及其表结构的建立:

利用SQLServer企业管理器创建数据库Tickets,然后创建表:

1、学生表Book

createtableStudent

(Snovarchar(12)primarykey,Snamevarchar(20)notnull,

Ssexvarchar(4)notnull,Spwvarchar(12)notnull,//密码

Sadmvarchar(40)notnull,//学院

Sdeptvarchar(30)notnull,Sclassnumeric(4)notnull,

Stelvarchar(12)notnull,//电话

Semailvarchar(50)notnull,Shcityvarchar(30)notnull//所在地

);

2、车票信息表Ticket

createtableTicket

(Tnovarchar(20)primarykey,//车次号

Startcityvarchar(30)notnull,Starttimevarchar(20)notnull,

Endcityvarchar(100)notnull,Endtimevarchar(20)notnull,

Ttypevarchar(20)CHECK(TtypeIN('硬座','软座','硬卧','软卧')),

Ticketsintnotnull//票数

);

3、车次站次信息表Citysite

createtableCitysite

(Citynonumeric(8)identity(1,1),//票点号

Tnovarchar(20),Cityvarchar(100),

Tpricedecimalnotnull,//票价

primarykey(Cityno,Tno),

foreignkey(Tno)referencesTicket(Tno)ondeletecascade

4、订票单表Book

createtableBook

(Bnonumeric(8)identity(1,1)primarykey,Snovarchar(12),

Maketimedatetimenotnull,judgeint,

foreignkey(Sno)referencesStudent(Sno),);

5、订票详细信息表Bookno

createtableBookno

(IDnumeric(8)identity(1,1)primarykey,

Bnonumeric(8),Tnovarchar(20),Cityvarchar(100),

Booktimevarchar(20)notnull,Ticketnumsintnotnull,

Pricedecimalnotnull,//票价

Pickdatedatetimenotnull,foreignkey(Tno)referencesTicket(Tno),

foreignkey(Bno)referencesBook(Bno));

6、操作员表Operater

createtableOperater

(Adnamevarchar(20)primarykey,//登录用户名

Adpwvarchar(12)notnull,//登录密码

Opnamevarchar(20)notnull,//员工真实姓名

Opsexvarchar(4)notnull,Optelvarchar(12)notnull,

Opemailvarchar(50)notnull);

7、订票点表Ticketsite

createtableTicketsite

(Sitenonumeric(8)primarykeyidentity,//票点号

Adnamevarchar(20),//票点主任登录名

Sitetelvarchar(12)notnull,Siteaddrvarchar(40),

foreignkey(Adname)referencesOperater(Adname));

//为安全起见,学校各校区订票点内容的添加要以直接输入数据库的方式进行

insertintoTicketsite(Adname,Sitetel,Siteaddr)values('linyp','870432','龙洞校区行政楼205')

insertintoTicketsite(Adname,Sitetel,Siteaddr)values('admin','87084432','大学城校区E区205')

6.2创建表的相关视图:

1、创建V_Book视图,得到

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1