S长沙学院课程设计说明书.doc_第1页
S长沙学院课程设计说明书.doc_第2页
S长沙学院课程设计说明书.doc_第3页
S长沙学院课程设计说明书.doc_第4页
S长沙学院课程设计说明书.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

长 沙 学 院 课程设计说明书 题目 销售订单管理系统 系 部 计算机科学与技术系 专业 班级 软件七班 姓名 向郁婷 学号 2010022726 指导教师 胡易波 起止日期 2011 年 12 月 18 日 12 月 31 日 课程设计任务书 课程名称 数据库系统原理课程名称 数据库系统原理 设计题目 设计题目 销售订单数据库管理系统 1 某销售商的订单系统需要如下信息 每个供应商包含供应商编号 名称 地址 联系电话等信息 每种产品包含产品号 产品名称 产品类别等信息 每个供应商可供应多种产品 每种产品可由多个供应商供应 客户包含编号 姓名 通信地址 电话等信息 雇员包括编号 姓名 联系电话等信息 订单包括订单号等信息 一个客户可下多个订单 每个订单只能由一个客户下 一个雇员可管理多个订单 每个订单只能由一个雇员管理 一个订单订购多种产品 每种产品可在不同的订单中订购 2 系统功能基本要求 按照一定条件查询 统计订单信息 例如订单量最多的客户或者产品 能够模拟完 成一个订单交易全过程 设计工作量 设计工作量 40 课时 工作计划 工作计划 班级 周次节次教室内容 指导教师 15 周周一 1 4 涵虚楼 C 多 1布置任务 15 周周三 1 4 致远楼 1402上机 15 周周四 9 12 涵虚楼 A 多 1答疑 15 周周五 9 12 涵虚楼 A 多 1答疑 15 周周六 1 4 致远楼 1401上机 16 周周一 9 12 涵虚楼 A 多 1答疑 16 周周二 1 2 致远楼 1408上机 16 周周三 1 2 致远楼 1401上机 16 周周四 9 12 涵虚楼 A 多 1答疑 16 周周五 1 4 致远楼 1401上机 10 软件 7 班 16 周周六 1 4 致远楼 1401答辩 胡易波 指导教师签名 日期 教研室主任签名 日期 系主任签名 日期 长沙学院课程设计鉴定表 姓名向郁婷学号 2010022726 专业软件工程班级7 班 设计题目销售订单管理系统指导教师胡易波 指导教师意见 评定等级 教师签名 日期 答辩小组意见 评定等级 答辩小组长签名 日期 教研室意见 教研室主任签名 日期 系 部 意见 系主任签名 日期 说明 课程设计成绩分 优秀 良好 及格 不及格 四类 目 录 一 引言一 引言 6 1 1编写目的 6 1 2参考资料 6 二 需求规约二 需求规约 7 2 1 业务描述 7 2 1 1 设计背景 7 2 1 2 业务流程及事物需求 8 2 1 3 资源需求和设计约束 9 2 2 需求分析 10 2 2 1 功能需求 10 2 2 2 性能需求 10 2 2 3 数据分析 11 三 三 数据库环境说明数据库环境说明 12 四 四 数据库的命名规则数据库的命名规则 12 4 1 数据库对象命名规则 12 4 2 数据项编码规则 12 五 五 逻辑设计逻辑设计 13 5 1 E R 图 13 5 2 关系模型 14 六 六 物理设计物理设计 15 6 1 表汇总 15 6 2 表 1 TBL SUPPLIER 供应商表 15 6 3 表 2 TBL PRODUCT 产品表 16 6 4 表 3 TBL CUSTOMER 客户表 17 6 5 表 4 TBL EMPLOYEE 雇员表 18 6 6 表 5 TBL ORDER 订单表 19 6 7 表 6 TBL ORDERING 订购 产品表 20 6 8 表 7 TBL OFFERING 供应 产品表 21 6 9 函数依赖集以及约束范式 22 6 10 视图的设计 22 6 11 存储过程及触发器的设计 24 七 七 安全性设计安全性设计 32 7 1 防止用户直接操作数据库的方法 32 7 2 角色与权限 33 八 八 数据库管理与维护说明数据库管理与维护说明 34 九 九 总结总结 35 一 引言一 引言 1 1编写目的编写目的 随着科学的进步 以及广大市民已经不满足于在银行排队进行办理各种银行业务 一个好的 ATM 自动取款机系统变得越来越重要 此报告是对 ATM 自动取款机系统 开发的基本需求的描述 以及对系统任务功能需求和性能需求进行阐述 编写此报告的 目的是分析 ATM 系统的特点 将存款 取款 查询等业务自主化 提出该系统的功能需 求 从多个不同方面进行全方面的分析后而作的可行性研究分析 并指出存在的必要性 本实验预期的读者为软件管理人员 开发人员 维护人员 我的老师 1 2参考资料参考资料 资料名称作者文件编号 版本 数据库系统概论 王珊 萨师煊2006 年 5 月第 4 版 数据库系统原理教程 王珊 陈红1998 年 7 月 SQL Server 2008 编程入门经典 韦拉 美 2010 年 1 月第 3 版 二 需求规约二 需求规约 2 1 业务描述业务描述 2 1 12 1 1 设计背景设计背景 近年来 随着 Internet 的迅速崛起 互联网已日益成为收集提供信息的最佳渠道并 逐 步进入传统的流通领域 如今 人们的交流已越来越多 要求信息的传送速度更快 传送范围更广 信息高速公路 也就应运而生了 其中 Internet 已拥有了数千万个用 户 通过 Internet 我们就可以与全世界来联网 对于当中各种各样的信息 人们都可以 通过网络来共享和使用 银行是每个地区不可缺少的部门 他是钱财存取最安全的地方 而且他也是金钱流 动最大的地方 对其管理也是相当严格的 不容任何可靠的错误发生 这就牵扯到高科 技的应用 而高科技离不开计算机的应用 所以一直以来 计算机在银行的财务管理中 得到了广泛的应用 目前 人们对银行的信任度很高 这也就加大了银行业务复杂和繁琐度 尤其是人 们的生活速度越来越快 没有大量的时间花费在等待长时间的排队 而有一些简单的业 务可由用户自行完成 该 ATM 银行取款系统 使每个人都可以在这个网络上享受所提供 的服务 这样既节约了时间 又满足了需求 ATM 自动提款机系统 ATM 自动取款机是由计算机控制的持卡人自我服务型的金融专 用 设备 ATM 是英文 Automatic Teller Machine 的缩写 ATM 是最普遍的自助银行设 备 可以 提供最基本的银行服务之一 即出钞交易 有些全功能的产品还可以提供信封 存款业务 在 ATM 自动取款机上也可以进行账户查询 修改密码和转账的业务 系统功 能有用户在 ATM 上提取现金 查询账户余额 修改密码及转账功能 ATM 自动取款机系统 向用户提供一个方便 简单 及时 随时随地可以随心所欲存取款的互联的现代计算机 化的网络系统 可以大大减少工作人员 节约人力资源的开销 同时由于手续程序减少 也可以减轻业务员的工作负担 有效地提高了整体的工作效率和精确度 减少了用户办 理业务的等待时间 用户可以随时随地可以随心所欲存取款 并且操作简单易懂 用户 还可以选择在柜台办理业务或自己在自动提款机和自动取款机办理业务 2 1 22 1 2 业务流程及事物需求业务流程及事物需求 此次销售管理系统的业务流程如下图所示 此系统的事物需求如下所示 1 查询本周开户的卡号 显示该卡相关信息 2 查询本月交易金额最高的卡号 子查询 3 创建触发器实现发生交易时 根据是存入或是支出执行余额的相应更新 如 果是支出 余额不 足的情况 向用户报告错误消息 并输出相应的提示信息 及卡号与所对应的余额 4 创建存储过程实现存钱或取钱业务要求 参数有卡号 金额 交易类型 密码 如果密码不 正确 或取钱时余额不足 需向用户报告错误消息 2 1 32 1 3 资源需求和设计约束资源需求和设计约束 该销售订单管理系统的完成需要的人力资源 1 人 需要的资金 人民币 10 元 遵循国家相关的计算机词汇标准 用词精炼准确 没有歧义 图形的意义明确 遵 循 数据模式资源手册 该书由 Len Silverston W H Inmon 和 Kent Graziano 编 写 2 2 需求分析需求分析 2 2 12 2 1 功能需求功能需求 本系统本系统相应的需求有以下方面 1 能够读取和存储客户账户中的存取款信息 并方便有效的进行客户选择的操 作 这主要包括以下内容 a 自动调用系统中客户的原有信息 b 客户进行个人信息的查询 读取 c 客户操作的识别 密码识别 及信息的录入 更新 存储 2 能够将客户更新的信息及时保存 并将客户原有信息进行自动更新 这其中 主要包括以下内容 a 汇总客户更新的信息 并保存 b 调出系统中客户的原有信息 并进行修改 c 将系统中客户原有信息更新为客户最新输入的信息 并保存 3 提供客户信息访问的权限和管理 其中包括 a 客户访问普通信息的权限 b 银行系统管理员对客户信息的录入 更改和删除 需要补充说明的有 1 数据保存 需要长期保存的数据信息有 a 客户信息 客户开户的基本信息 b 账户信息 客户进行交易的信息 2 2 22 2 2 性能需求性能需求 该销售订单管理系统采用 Sql Server 2008 高容量数据存储的数据库 运行速 度 较快 工作效率高 对数据库及软件设置用户口令 使系统从根源上对数据安全进行管 理 2 2 32 2 3 数据分析数据分析 客户 客户 ID 客户姓名 身份证号 性别 联系电话 住址 银行卡 卡号 货币类型 存款类型 卡户日期 开户金额 余额 密码 是否挂失 客户 ID 交易 卡号 交易类型 交易时间 交易金额 备注 三 三 数据库环境说明数据库环境说明 数据库实例数据库系统 数据库部署环 境 数据库设 计工具 数据库存放 位置 说明 ATMMicrosoft SQL Server 2008 硬件 奔腾 III 以上 CPU 内存 512MB 以上 硬 盘空间 100G 软件 Windows xp win7 操作系 统 Microsoft SQL Server 2008 Microsoft word 2003 E 向郁婷 2010 级数据 库课程设计 四 四 数据库的命名规则数据库的命名规则 4 1 数据库对象命名规则数据库对象命名规则 数据库对象命名规则备注 表Tbl 功能描述字符串例如 Tbl user 视图View 功能描述字符串例如 View user 触发器tri 功能描述字符串例如 tri insert Tbl transfer 存储过程pro 功能描述字符串例如 pro takeMoney 4 2 数据项编码规则数据项编码规则 数据项命名规则数据类型长度范围备注 客户 ID从 1 开始依次自动编号整型无 银行卡卡号以 1010 3576 开头定长字符串18 位无 身份证号定长字符串 15 或 18 位 无 联系电话 以 13 14 15 18 开 头 定长字符串11 位无 五 五 逻辑设计 5 1 E R 图图 5 2 关系模型关系模型 客户 客户 ID 客户姓名 身份证号 性别 联系电话 住址 银行卡 卡号 货币类型 存款类型 卡户日期 开户金额 余额 密码 是否挂失 客户 ID 交易 卡号 交易类型 交易时间 交易金额 备注 客户 银行卡 拥有 属于 银行卡 交易 交易 记录 客户信息表 客户ID 客户名称 身份证号 联系电话 性别 地址 Integer Variable characters 40 Variable characters 18 Variable characters 18 Characters 2 Variable characters 18 主标示符 次标示符 银行卡信息表 卡号 货币类型 开户日期 开户金额 存款类型 密码 余额 是否挂失 客户ID Characters 20 Characters 4 Date alter table Tbl user add constraint Tbl user sex check sex in 男 女 alter table Tbl user add constraint Tbl user identity card check identity card like 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 x alter table Tbl user add constraint Tbl user tel num check tel num like 1 3 4 5 8 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 alter table Tbl user add constraint Tbl user uq cust id unique cust id 备注定义客户的相关信息 6 3 表表 2 Tbl card 银行卡信息表 银行卡信息表 表名Tbl card 产品表 数据库用户 secure manage 主键card id 卡号 其他排序字段无 索引字段无 序号字段名称 数据类型 精 度范围 允许 为空 Y N 唯 一 Y N 区别 度 默认值 约束条件 说 明 1card idCHAR 20 NY 高无主键 卡号 2cur typeCHAR 4 NN 低 RMB货币类型 3saving typeCHAR 8 YN 低无 存款类型 4open moneyMONEYNN 低无 开户金额 5open timeDATETIMENN 低 Getdate 开户时间 6balanceMONEYNN 低无 用户余额 7codeCHAR 6 NN 低 888888密码 8reportlossCHAR 2 NN 低否 是否挂失 9cust idINTNY 高无 外键 客户 ID sql 脚本 create table Tbl card card id char 20 not null cur type char 4 not null saving type char 8 not null open time datetime not null open money money not null balance money not null code char 6 not null reportloss char 2 not null cust id int identity 1 1 not null alter table Tbl card add constraint Tbl user card id primary key card id alter table Tbl card add constraint Tbl card Tbl user foreign key cust id references Tbl user cust id alter table Tbl card add constraint Tbl card card id check card id like 1010 3576 0 9 0 9 0 9 0 9 alter table Tbl card add constraint Tbl card cur type default RMB for cur type alter table Tbl card add constraint Tbl card saving type check saving type in 定期 活期 定 活两便 alter table Tbl card add constraint Tbl card open time default getdate for open time alter table Tbl card add constraint Tbl card open money check open money 1 alter table Tbl card add constraint Tbl card balance check balance 1 alter table Tbl card add constraint Tbl card code default 888888 for code alter table Tbl card add constraint Tbl card reportloss default 否 for reportloss constraint Tbl card check reportloss check reportloss in 是 否 备注定义银行卡的相关信息 6 4 表表 3 Tbl transfer 交易信息表 交易信息表 表名Tbl transfer 交易信息表 数据库用户secure manage secure guest 主键card id 卡号 其他排序字段无 索引字段无 序号字段名称 数据类型 精度范围 允许为 空 Y N 唯一 Y N 区别度默认值 约束条件 说 明 1card idCHAR 20 NY 高无 主键 卡号 2transtypeCHAR 4 NY 高无 交易类型 3transmoneyMONEYNN 低无 交易金额 4transdateDATETIMENN 低当天时间 交易时间 5remarkVARCHAR 40 YN 低无 备注信息 sql 脚本 create table Tbl transfer card id char 20 not null transdate datetime not null transtype char 4 not null transmoney money not null remark varchar 40 alter table Tbl transfer add constraint Tbl transfer transdate default getdate for transdate alter table Tbl transfer add constraint Tbl transfer transtype check transtype like 存入 or transtype like 支取 alter table Tbl transfer add constraint Tbl transfer card id foreign key card id references Tbl card card id alter table Tbl transfer add constraint Tbl transfer transmoney check transmoney 0 备注定义交易的相关信息 6 5 函数依赖集以及约束范式函数依赖集以及约束范式 客户 客户 ID 客户姓名 身份证号 性别 联系电话 住址 F 客户 ID 客户姓名 客户 ID 身份证号 客户 ID 性别 客户 ID 联系电话 客户 ID 住址 银行卡 卡号 货币类型 存款类型 卡户日期 开户金额 余额 密码 是否挂失 客户 ID F 卡号 货币类型 卡号 存款类型 卡号 开户日期 卡号 卡户金额 卡号 余额 卡号 密码 卡号 是否挂失 卡号 客户 ID 交易 卡号 交易类型 交易时间 交易金额 备注 F 卡号 交易时间 交易类型 卡号 交易时间 交易金额 卡号 交易时间 备注 除了 产品 订单表 和 供应 产品表 以外 其他六张表均不存在非主属性对主属 性的部分依赖 也不存在传递依赖 已经大大符合了 3NF 的标准 6 106 10 视图的设计视图的设计 通过视图用户只能查询和修改他们所能见到的数据 数据库中的其它数据则既看不 见也取不到 可以保护用户和应用程序不受某些数据库修改的影响 1 视图名 ProductCustomer 如图 6 1 所示 功能 用来返回订购任意产品的客户的列表 目的 使查找的时候更加快捷 意义 提供相应的安全性 create view View product sale as select product id 产品编号 SUM quantity 总销量 from Tbl Ordering group by product id 图6 1 2 视图名 View customer expense 如图 6 2 所示 功能 用来统计客户的消费总额 目的 使查找的时候更加快捷 意义 提供相应的安全性 create view View customer expense as select Tbl Order cust id 客户编号 SUM quantity univalence 消费总金额 from Tbl Ordering Tbl Order where Tbl Ordering order id Tbl Order order id group by Tbl Order cust id 图6 2 6 116 11 存储过程及触发器的设计存储过程及触发器的设计 存储过程是由一些 SQL 语句和控制语句组成的被封装起来的过程 它驻留在数据库 中 可以被客户应用程序调用 也可以从另一个过程或触发器调用 它的参数可以被传 递和返回 与应用程序中的函数过程类似 存储过程可以通过名字来调用 而且它们同 样有输入参数和输出参数 1 存储过程名称 Ddd supplier 如图 6 3 所示 功能 增加供应商资料 目的 增加供应商资料的时候直接使用存储过程来增加 意义 使操作更加方便 简洁 create procedure Add supplier supplier id CHAR 10 supplier phone CHAR 18 supplier add VARCHAR 30 supplier name VARCHAR 20 as insert into Tbl Supplier values supplier id supplier phone supplier add supplier name 图 6 3 通过存储过程增加供应商信息 结果如图 6 4 和图 6 5 所示 图 6 4 图 6 5 2 存储过程的名称 supplier offer 如图 6 6 所示 功能 查询某供应商供应的所有产品 目的 查询某供应商供应的所有产品时直接使用该存储过程 意义 式操作更加简洁 方便 create procedure supplier offer supply id char 10 null as select product id product name product class product price from Tbl Product where product id in select product id from Tbl Offer where supplier id supply id 执行存储器后 图 6 6 3 存储过程的名称 pro order 功能 通过这个存储过程 完成订单的过程 订单号自动生成 目的 订货的时候直接使用该存储过程进行操作 意义 使操作更加方便 简洁 create procedure pro order employee id char 10 cust id char 10 order date datetime product id char 10 quantity int as begin declare order id char 10 product price money select order id count from Tbl Ordering if order id 0 set order id 1 else set order id order id 1 select product price product price from Tbl product where product id product id insert into Tbl Order values employee id cust id order id order date product price quanti ty insert into Tbl Ordering values product id order id product price quantity end 图 6 7 4 触发器的名称 tri delete supplier products 功能 在 supplier products 表 delete 触发 会使 products 表相应的 pN 属性减少 目的 能够使相应的 pN 值进行变化 意义 是该数据库更有可靠性 正确性 create trigger tri delete supplier products on Tbl Offering for delete as update Tbl product set product pN product pN select offer quantity from deleted where Tbl product product id select product id from deleted 执行该触发器之后 如图 6 8 所示 图 6 8 5 触发器名称 tri insert supplier products 功能 对 supplier products 表 insert 触发 会使 products 表相应的 product pN 属性增加 目的 能够使相应的 product pN 值进行变化 意义 是该数据库更有可靠性 正确性 create trigger tri insert supplier products on Tbl Offering for insert as update Tbl product set product pN product pN select offer quantity from inserted where Tbl product product id select product id from inserted 执行除法器之后 如图 6 9 所示 图 6 9 6 触发器名称 tri delete order product 如图 6 10 用途 使 Tbl product 表相应的 product pN 属性增加 目的 能够使相应的 product pN 值进行变化 意义 是该数据库更有可靠性 正确性 create trigger tri delete order product on Tbl Ordering for delete as update Tbl product set product pN product pN select quantity from deleted where Tbl product product id select product id from deleted update Tbl Order set amount amount select quantity univalence from deleted where Tbl Order order id select order id from deleted 图 6 10 7 触发器名称 tri insert order product 如图 6 11 所示 功能 使 products 表相应的 pN 属性减少 目的 能够使相应的 product pN 值进行变化 意义 是该数据库更有可靠性 正确性 create trigger tri insert order product on Tbl Ordering for insert as update Tbl product set product pN product pN select quantity from inserted where Tbl product product id select product id from inserted update Tbl Order set amount amount select quantity univalence from inserted where Tbl Order order id select order id from inserted 图 6 11 七 七 安全性设计安全性设计 设计一个适合的数据库安全策略 用户身份认证 访问权限 视图 为了保护数据的安全 创建用户 并根据用户身份来设置其访问权限 保证其能完 成该做的操作 而无法进行越权的操作 在本次项目中 代表性地创建了一个登录用户 manage 授予所有权限 并分配数据库角色 db accessadmin 可以执行任何数据库管理 工作 类似登陆用户 guest 的只能拥有 Tbl Customer 表和视图 View Order 的所有权限 以及对表 Tbl Employee 的查询权限 用户身份认证 操作系统安全验证 安全模式 SQL Server 安全验证 服 务器登录标识管理 打开 sql server 企业管理器 展开 sql server 组 文件夹 在 其中选择你要改变安全模式的服务器上单击鼠标右键 在弹出式菜单中选择 编辑 sql server 注册属性 菜单项 这时打开 已注册的 sql server 属性 对话框 然后 在对话框中设置安全模式 单击 确定 按钮 SQL Server 数据库安全验证 数据 库用户管理 SQL Server 数据库对象安全验证 权限管理 可以适当的通过创建登录名 授予访问权限 添加服务器角色 另外创建一个普通 登录用户 赋予其创建表和视图的权利 7 1 防止用户直接操作数据库的方法防止用户直接操作数据库的方法 7 1 1 客户账号 1 为客户创建一个账号 账号名为 guest 密码是 000000 exec sp addlogin guest 000000 sale 2 添加一个角色 角色名为 guest test exec sp addrole guest test 3 授予 guest test 对表 Tbl Customer 的所有权限 对视图 View Order 的所有权限 对表 Tbl Employee 只有查找的权限 grant all on Tbl Customer to guest test grant all on View Order to guest test grant select on Tbl Employee to guest test grant select on Tbl product to guest test 4 为登陆 guest 在数据库 sale 中添加安全用户 secure guest exec sp grantdbaccess guest secure guest 5 添加 secure guest 为角色 guest test 的成员 exec sp addrolemember guest test secure guest 6 删除用户 guest exec sp droplogin guest

温馨提示

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

评论

0/150

提交评论