组长:杨凯乾
组员:信 昕
王旭飞
王 帅
• 需 求 分 析
• 概 念 设 计
• 逻 辑 结 构 设 计
• 物 理 结 构 设 计
• 数 据 库 实 施
需求分析
• 处理对象处理对象
银行信息表(银行号,银行名称,电话,地址)
储户资料表(储户号,姓名,身份证号,联系电话,账户)
工作人员资料表(工作人员信息,工号,密码)
存单(存款人姓名,存款银行,业务员编号,存款金额,存款日期,手续费,
帐户余额)
取单(取款人姓名,取款银行,受理业务员,取款金额,取款日期,手续费,
帐户余额)
余额表(帐户,交易种类,交易日期,剩余金额)
利息表(利率,存款日期,取款日期,存款种类)
• 处理功能处理功能
1.能够处理正常的存取款单和存取款活动,其中包括:
(1)存款信息审核,反馈信息,计算账户余额,计算存款类型和利率
(2)取款信息审核,重新计算账户余额,反馈利息
2.能够对一定数量的储户、管理员进行相应的信息存储与管理,这其
中包括:
(1)储户信息的存入,查询,删除,修改
(2)管理员信息的存入,修改,查询,删除
3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删
改、查询。
4.对查询、统计的结果能够列表显示。
取款功能:
(1) 用户输入自己的密码
(2)业务员输入相关信息
(3)系统利息计算,在原账户信息中将取款额减去。
(4)若为清户,记录注销该账户,将账户余额一并交与 储户。
(5)打印利息清单给储户。
5.存款功能:
(1)系统需要在原账户信息中增加一条记录,包括存款人姓名,存
款类型,存款日期,利息等信息。
(2)若为储户建立一个新的账户,须记录此次的记录。
打印存款单给储户。
• 安全性和完整性安全性和完整性
(1) 安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安
全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权
的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、
设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的
安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的
安全性和网络体系的安全性等方面。
(2) 完整性要求
系统完整性要求系统中数据的正确性以及相容性。可通过建立主、
外键,使用check约束,或者通过使用触发器和级联更新。
数据流图
• 顶层数据流图
• 功能结构图
• 第二层数据流图(取款活动)
• 第二层数据流图(存款活动)
• 第三层数据流图(取款活动)
• 第三层数据流图(存款活动)
数据字典数据字典
• 储户表
主键:帐号;
约束条件:各属性均非空,密码长度为6位;
• 活期存取款表
主键:nID;外键:帐号;被参照表:储户表
约束条件:各属性均非空;
• 定期存款表
主键:nID;外键:帐号;被参照表:储户表
约束条件:各属性均非空;
• 定期取款表
主键:nID;外键:nID;被参照表:定期存款表
约束条件:各属性非空
• 定期操作记录表
主键:nID;外键:nID;被参照表:定期存款表,定期取款表
约束条件:各属性非空
流程图
概念设计
• 各个属性关系
• 合并各分E-R图
• 个实体E-R图的各属性如下所示:
业务员:Maneger(ManegerNo,ManegerNa)
储户:C(CName, Cpassword, CID, CSex,Cdate,Cadress,Cno,Cbalance)
银行:Bank(BankNo, BankName, address, BankPN)
存单:Deposit(money, date, rate,name)
取单:take(money, date)
• E-R图中联系的属性如下所示:
办理:transaction(MangerNo, MangerNa, C, bankbook)
存取款:takeordeposit(money,date,rate)
逻辑结构设计
• E-R图转化为关系模型
储户:C(Cname, Cno, CID, CDate, CAd)
银行:BANK(bankID, bankDate, bankno,bankpwd)
业务员:Maneger(MID, MName, Mpwd, MAuth, MTeleph, MAddre)
存单类别:DepositTpye(DPID, DPName, DPnum, DPbqx, DPqx)
• 各E-R图中联系的属性如下所示:
存款信息:Deposit (DepositID, DepositorID, DepositDate, Depositnum)
取款历史:Draw(DepositID,Depositpwd, Drawnum, DrawDate)
查询信息:Inquire(AccountID,Accountpwd, DepositorName,
DepositorID,Accountnum)
• 系统功能模块
• 账户基本信息的查询和更新模块
• 模型优化
• 实体的属性就是关系的属性,实体的码就是关系的码。关系模式Depositor,
Account,Maneger,DepositTpye,存在非主属性对主属性的部分函数依赖,
也不存在传递函数依赖,已经达到了3NF,但是存款信息关系模式,取款历
史关系模式,查询信息关 系模式(Deposit,Draw,Inquire)中存在着一些
数据冗余,现将三个关系模型进行合并消除冗余优化为:
存款信息(AccountID,DepositorID,DepositDate,Depositnum,
Accountpwd,Drawnum,DrawDate,DepositorName,DepositorID,Accountnum
)
物理结构设计
数据库实施
• 建立数据库
creat database bank
● 建立数据表
use bank
go
create table Account
(CNo char(20) primary key,
CName char(20) unique,
CPassword char(20),
CID char(20),
CSex char(2),
CBalance char(20),
CDate datetime,
CAddress char(20));
use bank
go
create table Bank
(BankNo char(20)
primary key ,
BankName char(20),
Bankaddress char(20),
BankPN char(20))
use bank
go
create table Deposit
(nID char(4) primary key,
CNo char(20),
Cmoney char(8),
Cstyle char(10),
Cdate datetime,
CInterest char(8),
Cbalance char(8));
• 建立索引
use bank
go
create unique index accountID
on account(cid);
use bank
go
create unique index pdeposit
on deposit(nid);
• 存取款基本信息的执行和更新模块
• 建立触发器
use bank
go
create trigger acc
on account
after update
as
if(select cbalance from inserted)<10000
select cbalance
from account
begin
print '该帐户余额少于'
rollback
end
• 数据入库
将exel里面的数据导入建立的表格中
• 创建各个功能的存储过程
use bank
go
create procedure getaccount
as
select *
from account
where cbalance>10000
begin
print '钱大于的'
end
exec getaccount
• 数据插入
• 查询结果
系统调试和测试
• 对该道具管理管理系统进行测试,验证每个功能是否符合
要求,具体的测试如下:
(1)通过视图查看各个基本表和视图中的数据
(2)检测各个存储过程的功能
(3)对应用程序的测试(通过界面操作和数据库中各个表格检查,确认
所有功能都能够正确的操作数据库,必须提供相应的检查步骤和结果,可以
以附录的形式提供)
谢谢观赏