文档库 最新最全的文档下载
当前位置:文档库 › 华工2017 数据库(含课程设计)大作业

华工2017 数据库(含课程设计)大作业

华工2017 数据库(含课程设计)大作业
华工2017 数据库(含课程设计)大作业

数据库原理与设计大作业

专业:计算机科学与技术

学生姓名:

学号:

完成时间:2020年8月5日

目录

1. 作业要求 (3)

2. 概述 (5)

2.1. 项目背景 (5)

2.2. 编写目的 (5)

2.3. 开发环境 (5)

3. 需求分析 (6)

3.1. 可行性分析 (6)

3.2. 经济可行性 (6)

3.3. 操作可行性 (6)

3.4. 用户体验性 (7)

3.5. 功能需求 (7)

3.6. 性能需求 (7)

3.7. 安全与保密性 (7)

4. 功能模块设计 (8)

4.1. 系统功能概述 (8)

4.2. 功能模块图 (8)

4.2.1. 用户角色功能划分 (8)

4.2.2. 模块分布图 (9)

4.3. 功能模块分析 (9)

4.4. 业务流程分析 (13)

4.5. ER模型图 (15)

5. 数据库设计 (16)

5.1. 数据库设计概述 (16)

5.2. 数据表及数据字典设置 (16)

5.3. 数据表关系........................................................................................ 错误!未定义书签。

6. 界面设计 (25)

7. 关键技术 (32)

8. 结束语 (34)

9. 参考文献 (35)

1.作业要求

1.1.内容

购书中心管理信息系统

某购书中心需建立一个信息管理数据库来存储管理以下信息(最少要求):*购书中心信息包括购书中心编码,名称,总经理,运营费用。

*购书中心内有多个部门,每个部门有部门号、部门主管姓名、地址,电话及每个月的部门运营费用。

*每个部门有多个员工,每个员工有员工号、姓名、年龄、性别,职位及月工资。

*每个部门销售不同类型的书籍,书籍有编号、书名、规格,采购成本和零售价格、批发价格。

*书籍采购自出版商,出版商有编码,名称,联系电话,联系地址。

*所有的书籍存在商场购书中心或仓库中。

*购书中心有多个仓库,仓库有仓库号,仓库管理者姓名、电话及仓库的运营成本。

主要功能:

(1)基础信息管理功能,如购书中心信息的管理功能,包括录入、修改、查询、

输出超市的信息;部门信息的管理功能,包括录入、修改、查询、输出部门的信息;

还有员工,书籍,出版商,仓库等的信息管理功能。

(2)购书中心的进销存功能模块,包括进货,销售,库存以及盘点等常见功能。

(3)购书中心的利润统计功能,包括月利润和年利润统计;并能输出各种报表,

如员工工资月报表,年报表;每个部门销售的书籍的月报表;仓库存储书籍的月报

表;购书中心的运营开销和部门运营开销的月报表等。

1.2.开发环境

数据库选用微软的SQL SERVER。

开发工具可以选择:

(1)Delphi;

(2)Visual Basic;

(3)C++ builder;

(4)Visual C++;

(5)Visual C#;

(6)自选。

1.3.基本要求

(1)完成上面所提及的所有需求

(2)要求撰写不少于2500字符的Word文档。

(3)文档中至少要包括:ER模型图、系统功能图、数据字典、表关系的详细说明。

(4)用户界面设计:采用图形界面菜单驱动,界面要友好,操作要简单,C/S和B/S 架构自由选择。

(5)用户手册,描述软件系统所具有的功能及基本的使用方法。使用户能了解该软件

的用途,并能确定在什么情况下、如何使用它。

1.4.文档格式

1、概述

包括项目背景、编写目的、软件定义、开发环境等内容。

2、需求分析

问题陈述、需完成的功能。

画出ER模型图

3、数据库逻辑设计

把ER模型图转换为关系表。

描述每一个基本表关系。要求所有关系达到BCNF范式。

定义视图、定义索引、主关键字、定义权限。

4、软件功能设计

画出软件功能图。

描述每一个功能所完成的任务情况。

5、界面设计

界面设计要合理。

6、结束语

写出完成本课程设计的心得,领会数据库理论与软件开发实践的关系。有哪些收获。软件还需要哪些改进。

7、参考文献。

1.5.评分标准

1.优――完成上述题目的所有内容,并能适当扩展需求功能,功能完善,文档详细,数据库设计合理,人机接口界面好。

2.良――完成上述题目的大部分内容,功能完善,文档详细,数据库设计较合理,人机接口界面较好。

3.中――完成上述题目的大部分内容,功能基本完善,文档较详细,数据库设计基本合理,有基本的人机接口界面。

4.及格――基本完成上述内容,只有基本功能文档。

5. 不及格――未按时完成上述内容,或者抄袭(雷同者全部为不及格)。

2.概述

2.1. 项目背景

当今社会正处于信息时代,信息技术已渗透到社会生活的各个领域,特别是各行业的管理领域,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。信息数据的管理作为一个公司的基层管理工作,是公司对员工工作管理的基本依据。

网上书城与传统实体书店相比,网上书城的经营方式和销售渠道是全新的。另外一方面,网上书城可以及时的向在线网民提供最新的书籍信息,提供的服务也是相当完善。

小组成员经过讨论决定设计开发“基于Web的网上书城系统”,希望可以为同学们提供一个销售平台并进一步拓展市场。

2.2. 编写目的

随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。

2.3. 开发环境

Windows10

Visual Stdio 2017 C#版本

SQL Server 2016

3.需求分析

3.1. 可行性分析

目前图书管理存在的问题:

(1)检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分

门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有

此书或已被别人借走。图书馆的规模越大,这个问题越突出。

(2)借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之

而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等

的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这

样那样的差错。

(3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术

的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来

越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更

新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。

由上可知,我们有必要对图书管理实行信息化,让系统去帮助我们完成管理工作,且这项工作在技术上、经济上与社会等其它因素上都是可行的。

3.2. 经济可行性

本系统可以运用于现在市场上所出售的各种个人电脑,成本主要集中在系统的开发上,而且当系统投入运营后,可以逐渐发展成为一个B2C的网上销售系统。

其所带来的经济效益远远大于系统软件的开发成本。在另外的角度考虑,若可以结

合当下的网络营销环境以及网上购书系统存在的弊端进一步进行优势性的发展,很

有可能可以占据一片属于自己的市场。

3.3. 操作可行性

界面设计充分考虑到用户的习惯,图书信息浏览、部门管理、员工管理等功能操作方便。页面设计简洁、合理,不会让用户感到视觉疲劳。由于界面以及功能的

专一性,不会令用户产生厌烦的情绪,换言之,开发人员与测试人员积极沟通,大

大提升了系统的可操作性。

3.4. 用户体验性

用户体验当前各类网站、软件、APP开发所必须考虑的首要条件,本系统在考虑用户的体验性时刻意将系统简化,功能突出,网站的核心突出。希望老师同学

在测试过程中可以体验到不一样的舒适。

3.5. 功能需求

对购书中心的部门、员工、图书信信息的进行有效的管理;对图书的添加、存储、销售、订单的管理等环节进行信息化管理;实现购书中心的进销存信息日常管

理、分析报表等便捷性功能。

3.6. 性能需求

数据库的录入;部门信息管理;图书检索;用户信息查询;图书信息查询;销售利润分析报表;运营开销报表。

3.7. 安全与保密性

所有的图书能够供用户随时查阅;管理员对部门和员工信息可以修改、添加、删除;书店图书的信息只能由管理人员添加、修改。

系统设计的安全性、便于管理等各个方面均十分重要。本系统一方面给以用户一定的权限,另一方面又限制用户的权限保障用户信息的安全。

4.功能模块设计

4.1. 系统功能概述

一个设计良好的项目结构必备的条件是:易维护性、可扩展性、当遇到需求变更或功能变更时能够以最低的代码成本响应变更。这就要求整个软件在设计上做好周密、全方位的设计。

4.2. 功能模块图

4.2.1.用户角色功能划分

●管理员

基础信息管理(购书中心信息管理)

书籍信息管理

部门信息管理

员工信息管理

出版商信息管理

仓库信息管理

采购书籍

所有报表功能

①中心销售利润报表(月报、年报)

②中心书籍进货、库存销售报表(月报、年报)

③中心员工工资报表(月报、年报)

④中心运营开销报表(月报、年报)

●部门主管

员工信息管理

查看部门销售利润报表(月报、年报)

查看部门书籍进货、库存销售报表(月报、年报)

查看部门员工工资报表(月报、年报)

查看部门运营开销报表(月报、年报)

●员工

员工销售书籍

查看自己员工信息

4.3. 功能模块分析

4.3.1.1.公共功能

该部分功能为所有系统角色用户都具有的功能,包括登录退出、查看员工个人信息功能。

4.3.1.1.1.登录

信息来源:所有用户

信息要求:用户登录系统及其身份验证

事件信息系统处理:点击登录按钮后,验证用户名和密码是否允许登录。

对于用户名或密码无效的用户,弹出提示“用户名或密码错误!”,并不允许

登录;对于通过验证的用户,允许用户登录,并根据用户的不同身份跳转到相

应的默认页面。

信息处理结果:对于系统管理员,默认跳转到“系统管理”;对于用户,默认跳转到“前台结算”。

4.3.1.1.2.退出

信息来源:所有用户

信息要求:退出系统

事件信息系统处理:点击退出按钮,注销当前用户的登录,并跳转到登录页面。

信息处理结果:注销当前登录用户信息,跳转到登录页面。

4.3.1.1.3.查看个人信息

信息来源:所有用户

信息要求:查看个人信息

事件信息系统处理:点击个人信息,连接到个人信息页面。

信息处理结果:显示个人信息页面。

4.3.1.2.管理员功能

4.3.1.2.1.基础信息管理

信息来源:系统管理员

信息要求:对购书中心的基础信息管理,包括录入、修改、查询等。

事件信息系统处理:打开页面系统自动载入当前购书中心基础信息,管理员可以根据实际情况做修改。

信息处理结果:将新信息保存到数据库,完成基础信息管理功能。

4.3.1.2.2.书籍信息管理

信息来源:系统管理员

信息要求:对书籍信息进行增加、修改、删除、查询功能。

事件信息系统处理:BookID为只读ID,对于用户不可见。修改时系统自动载入现有信息。删除时需要管理员再次确认。查询系统现在书籍,没有是

可以选择增加新书籍。

信息处理结果:增加、修改、删除书籍信息,并更新数据库,完成书籍管理功能。

4.3.1.2.3.部门信息管理

信息来源:系统管理员

信息要求:对部门信息进行增加、修改、删除功能。

事件信息系统处理:部门信息必须唯一,DepartmentID为只读ID,对用户为不可见。在用户信息需要对部门信息做关联处理。

信息处理结果:增加、修改、删除部门信息,并更新到数据库,完成部

门管理功能。

4.3.1.2.4.员工信息管理

信息来源:系统管理员

信息要求:对员工信息进行增加、修改、删除功能。

事件信息系统处理:员工信息必须唯一,EmployeeID为只读ID,对用户为不可见。在用户信息归属部门信息需要做关联处理。

信息处理结果:增加、修改、删除员工信息,并更新到数据库,完成员工管理功能。

4.3.1.2.

5.出版商信息管理

信息来源:系统管理员

信息要求:对出版商信息进行增加、修改、删除功能。

事件信息系统处理:出版社信息必须唯一,PublisherID为只读ID,对用户为不可见。

信息处理结果:增加、修改、删除出版商信息,并更新到数据库,完成出版商管理功能。

4.3.1.2.6.仓库信息管理

信息来源:系统管理员

信息要求:对仓库信息进行增加、修改、删除功能管理。

事件信息系统处理:仓库信息必须唯一,RepertoryID为只读ID,对用户不可见。

信息处理结果:将增加、修改、删除的仓库信息更新到数据库,完成对仓库信息管理。

4.3.1.2.7.采购书籍

信息来源:系统管理员

信息要求:发起采购单

事件信息系统处理:对书籍进行采购处理,并完成入库、核算功能,同时更新库存信息。

信息处理结果:将采购的书籍信息保存到仓库表中,并更新数据库信息。

4.3.1.2.8.报表功能

信息来源:系统管理员

信息要求:出系统报表、报表形式如下所示:

①中心销售利润报表(月报、年报)

②中心书籍进货、库存销售报表(月报、年报)

③中心员工工资报表(月报、年报)

④中心运营开销报表(月报、年报)

事件信息系统处理:对现有系统数据进行分析统计,并生成报表数据。

信息处理结果:将已筛选的数据报表输出到界面。

4.3.1.3.部门主管功能

4.3.1.3.1.员工信息管理

信息来源:员工(主管角色)

信息要求:可以查看自己部门下面所有员工信息。

事件信息系统处理:根据员工部门归属信息列出所有员工信息。

信息处理结果:显示该部门下面的所有员工信息列表。

4.3.1.3.2.查看部门销售利润报表

信息来源:员工(主管角色)

信息要求:查看部门销售报表信息。

事件信息系统处理:根据指定时间段分析该部门的销售报表信息。

信息处理结果:显示该部门员工所有销售报表分析。

4.3.1.3.3.查看部门书籍进货、库存销售报表

信息来源:员工(主管角色)

信息要求:查看部门库存报表信息。

事件信息系统处理:根据指定时间段分析该部门的库存报表信息。

信息处理结果:显示该部门所有库存报表分析。

4.3.1.3.4.查看部门员工工资报表

信息来源:员工(主管角色)

信息要求:查看部门所有员工工资报表

事件信息系统处理:查看指定月份的部门员工工资报表信息。

信息处理结果:显示部门所有员工的工资报表信息。

4.3.1.3.

5.查看部门运营开销报表

信息来源:员工(主管角色)

信息要求:查看部门运营开销报表

事件信息系统处理:查看指定月份的部门运营开销报表信息。

信息处理结果:显示部门运营开销报表信息。

4.3.1.4.员工功能

4.3.1.4.1.员工销售书籍

信息来源:员工

信息要求:发起销售单

事件信息系统处理:对销售单信息进行核实统计,并对库存进行清算。

信息处理结果:将销售单信息保存,并完成客户结算。

4.3.1.4.2.查看自己员工信息

信息来源:员工

信息要求:查看自己的个人信息

事件信息系统处理:对该员工的个人信息进行提取。

信息处理结果:显示该员工的个人信息。

4.3.1.4.3.销售利润报表

信息来源:员工

信息要求:查看自己的销售报表信息。

事件信息系统处理:根据指定时间段分析销售报表信息。

信息处理结果:显示该员工所有销售报表分析。

4.4. 业务流程分析

4.4.1.1.顾客结算流程

前台卖书

顾客选待买书籍

付款

Y 员工登录

登录操作

N 核对库存

结束

4.4.1.2. 书籍采购流程

书籍采购

选择待采购书籍

员工登录登录操作

Y

N 采购结算

调整库存

结束

4.5. ER模型图

5.数据库设计

5.1. 数据库设计概述

根据概念设计的步骤,产生的E-R图,然后再将E-R图各个部分分解。(E-R图具体见4.5.ER模型图)

根据购书中心信息管理系统的功能模块进行划分和设计局部E-R图,根据需求建立相关联系。

5.2. 数据表及数据字典设置

数据库表规划及设置,如下图所示:

5.2.1. 数据库创建

CREATE DATABASE [BookShop]

CONTAINMENT = NONE

ON PRIMARY

( NAME = N'BookShop', FILENAME = N'F:\My Documents\Desktop\Sam的技术作业\Data\BookShop.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ) LOG ON

( NAME = N'BookShop_log', FILENAME = N'F:\My Documents\Desktop\Sam的技术作业\Data\BookShop_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB ) GO

5.2.2. 购书中心基础信息

USE [BookShop]

GO

CREATE TABLE [dbo].[centre](

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [varchar](50) NULL,

[manager] [nvarchar](50) NULL,

[cost] [nchar](10) NULL

) ON [PRIMARY]

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编码' , @level0type=N'SCHEMA',@level0name=N'dbo',

@level1type=N'TABLE',@level1name=N'centre',

@level2type=N'COLUMN',@level2name=N'id'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中心名称' , @level0type=N'SCHEMA',@level0name=N'dbo',

@level1type=N'TABLE',@level1name=N'centre',

@level2type=N'COLUMN',@level2name=N'name'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总经理' , @level0type=N'SCHEMA',@level0name=N'dbo',

@level1type=N'TABLE',@level1name=N'centre',

@level2type=N'COLUMN',@level2name=N'manager'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'运营费用' , @level0type=N'SCHEMA',@level0name=N'dbo',

@level2type=N'COLUMN',@level2name=N'cost'

GO

5.2.3. 部门信息

CREATE TABLE [dbo].[department](

[id] [int] IDENTITY(1,1) NOT NULL,

[manager] [varchar](50) NULL,

[address] [varchar](100) NULL,

[tel] [varchar](10) NULL,

[cost] [int] NULL

) ON [PRIMARY]

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编号' , @level0type=N'SCHEMA',@level0name=N'dbo',

@level1type=N'TABLE',@level1name=N'department',

@level2type=N'COLUMN',@level2name=N'id'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'部门主管姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'department',

@level2type=N'COLUMN',@level2name=N'manager'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'地址' , @level0type=N'SCHEMA',@level0name=N'dbo',

@level1type=N'TABLE',@level1name=N'department',

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电话' , @level0type=N'SCHEMA',@level0name=N'dbo',

@level1type=N'TABLE',@level1name=N'department',

@level2type=N'COLUMN',@level2name=N'tel'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'运营费用' , @level0type=N'SCHEMA',@level0name=N'dbo',

@level1type=N'TABLE',@level1name=N'department',

@level2type=N'COLUMN',@level2name=N'cost'

GO

5.2.4. 员工信息

CREATE TABLE [dbo].[employe](

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [varchar](10) NULL,

[salary] [int] NULL,

[position] [varchar](10) NULL,

[sex] [char](2) NULL,

[age] [int] NULL

) ON [PRIMARY]

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'employe',

@level2type=N'COLUMN',@level2name=N'id'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'员工姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'employe', @level2type=N'COLUMN',@level2name=N'name'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工资' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'employe', @level2type=N'COLUMN',@level2name=N'salary'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'职位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'employe', @level2type=N'COLUMN',@level2name=N'position'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'employe', @level2type=N'COLUMN',@level2name=N'sex'

GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年龄' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'employe', @level2type=N'COLUMN',@level2name=N'age'

GO

5.2.5. 出版商管理

CREATE TABLE [dbo].[publisher](

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [varchar](50) NULL,

相关文档