银行管理系统数据库设计

本文详细描述了针对特定应用环境的数据库设计过程,包括数据字典的创建、实体关系模型的转换、表设计(如客户信息、贷款申请等)、表间关联设计、存储过程、触发器和Job的设计,以支持系统开发和数据完整性保障。
摘要由CSDN通过智能技术生成

目  录

目  录

1 引言

1.1 预期的读者

1.2 数据库

1.3 目的和作用

2 数据字典设计

3 数据库设计

3.1 系统物理结构设计

3.2 表设计

3.2.1 客户信息表 dk_kh

3.2.2 贷款申请表 dk_sq

3.2.3 用户信息表 t_person

3.2.4 单位信息表 t_dw

3.2.5 资产管理表 t_zcgl

3.2.6 贷款分户表 t_dkfh

3.2.7 部门信息表 t_depart

3.2.8 系统角色表 t_role

3.2.9 贷款还款表 t_dkhk

3.2.10 贷款利息表 t_dklx

3.3 表之间的关联设计

3.4 存储过程设计

3.5 触发器设计

3.6 Job设计


  1. 引言
    1. 预期的读者

1.项目经理

2.客户项目经理

3.系统开发人员

4.系统测试人员

    1. 数据库
  1. 所采用的数据库管理系统是Oracle v10中文简体版

    1. 目的和作用

将数据分析的结果进一步整理,形成最终的计算机模型,以便开发人员建立物理数据库。

  1. 数据字典设计

数据字典的主要目的是提供查阅对不了解的条目的解释。在数据字典中记录数据元素的下列信息:一般信息(名字,别名,描述等),定义(数据类型,长度,结构等),使用特点(值的范围,使用频率,使用方式—输入/输出/本地,条件值等),控制信息(来源,用户,使用它的程序,改变权等),分组信息(父结构,从属结构,物理位置—记录、文件和数据库等)。

下面的例子是通过卡片来描述数据字典:

  1. 数据库设计
    1. 系统物理结构设计

数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。本节主要将前一阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构,完成逻辑结构设计。[14-19]

(1)部门实体拥有部门编号、名称、电话、地址、职能和负责人等属性。部门实体图如图3.1所示。

图3.1 部门实体图

(2)操作员实体包括人员姓名、性别、电话身份证、手机号、家庭地址和所属部门等属性。操作员实体图如图3.2所示。

图3.2 操作员实体图

(3)客户实体包括账户、姓名、客户类型、证件号码、联系地址和信用评级等属性。客户实体图如图3.3所示。

图3.3 客户实体图

(4)资产实体包括资产编号、评估公司、评估价格、存放单位、相应贷款金额评估日期等属性。资产实体图如图3.4所示。

图3.4 资产实体图

(5)贷款实体包括贷款编号、客户号、贷款分类、金额、抵押物和贷款期限等属性。贷款实体图如图3.5所示。

图3.5贷款实体图

(6)利息实体包括贷款编号、客户号、贷款金额、贷款利率、利息额和处理标志等属性。利息实体图如图3.6所示。

图3.6 利息实体图

(7)客户信息维护(管理)操作包括客户和管理员两个实体。一个管理员可以对多个客户进行信息维护,二者关系为1:N。客户信息维护的E-R图如图3.7所示。

图3.7 客户信息维护实体图

(8)贷款发放操作包括放贷人员、贷款和客户三个实体。一个放贷人员可以对多个客户进行贷款,二者关系为1:N;而一个客户可以获得多笔贷款,二者关系为1:M。贷款发放的E-R图如图3.8所示。

图3.8 贷款发放实体图

(9)利息计算操作包括会计人员、贷款和利息三个实体。一个会计人员可以对进行多次利息,二者关系为1:N;一项贷款可以拥有多笔利息,二者关系为1:M。利息计算的E-R图如图3.9所示。

图3.9贷款发放实体图

 (10)角色分配操作包括操作员,人员和角色三个实体。一个操作员可以添加多个角色,二者关系为1:N;一个角色拥有多个用户,而一个用户只有一个角色,二者关系为1:M。角色分配的E-R图如图3.10所示。

图3.10 角色分配实体图

信贷管理系统主要包括以下实体:客户管理员、客户、贷款、信贷员、贷款、利息、会计、角色和系统管理员等九个角色。经过以上的分析可知,客户和客户管理员的关系为N:1;客户与贷款的关系为1:N,信贷员与贷款的关系为1:M;贷款与利息的关系为1:N,会计与利息的关系为1:M。系统管理员可以设置多个角色,二者关系为1:N。每一个系统角色(用户组)可以包含多个用户,角色与信贷员的关系、角色与会计的关系以及角色与客户管理员的关系都为一对多。信贷系统整体E-R图如图3.11所示。

图3.11 信贷管理系统整体E-R图

    1. 表设计
      1. 客户信息表 dk_kh

3.1 客户信息表

字段名

类型

长度与格式

备注

说明

kdid

Int

4

Primary key

客户号

Name

char

20

Not null

客户名称

Khzl

char

1

Not null

客户种类:1 单位,2个人

Khdz

char

60

Not null

客户地址

Khdh

Char

20

Not null

客户电话

Zjhm

char

18

Not null

证件号码

Post

Char

6

Not null

邮编

Email

Char

30

电邮地址

account

Char

20

首笔贷款账号

Dkje

money

18

贷款金额

Khhmc

Char

20

开户行名称

Jbhzh

Char

20

基本户账户

jszh

Char

12

结算账号

xypj

int

4

信用评级

Sjdw

Char

60

上级单位

Xdyh

Int

4

归属信贷员号

      1. 贷款申请表 dk_sq

3.2 贷款申请表

字段名

类型

长度与格式

备注

说明

Dk_sqh

Dec(10)

10:yyyymmdd00

Primary key

贷款申请号:自动生成

Dkkhid

int

4

Not null

客户号:外键

Dkzl

char

10

Not null

贷款种类

Dkxz

Char

10

贷款性质

Dkyt

Char

20

贷款用途

Dkfw

Char

10

贷款范围

Dkdyp

char

16

贷款抵押品

dypje

money

18

抵押品金额

Dbrid

Int

4

担保人客户号

Dkje

Money

18

贷款金额

Zcglid

Int

4

资产管理号

Sqrq

Date

8:yyyy-mm-dd

申请日期

Sprq

Date

8:yyyy-mm-dd

审批日期

Fdbz

Int

4

放贷标志

Sprid

Int

4

审批人标号

Dkzh

Dkzh

12

贷款账户

Dkhth

Char

6

贷款合同号

Dkhtje

Money

18

贷款合同金额

Dkhtll

Money

18

合同贷款利率

Hkfs

Char

3

还款方式

Mqhkje

Money

18

每期还款金额

dcxdyid

int

4

调查信贷员

      1. 用户信息表 t_person

3.3 用户信息表

字段名

类型

长度与格式

备注

说明

Per_id

integer

4

Primary key

用户编号

Per_cod

char

6

Not null

人员代号

per_name

char

16

Not null

姓名

Per_sex

Bit

2

性别:1男,0 女

Per_addr

varchar

50

家庭地址

Per_tele

Varchar

12

电话

idcrd

varchar

18

Not null

身份证号

Per_mobi

varchar

12

手机号

Pre_role

Int

R

系统角色

Per_memo

varchar

100

备注

      1. 单位信息表 t_dw

3.4 单位信息表

字段名

类型

长度与格式

可否为空

说明

dw_id

integer

4

Primary key

单位编号,主键

Dw_nam

char

18

Not null

单位名称

Dw_zzh

char

18

Not null

营业执照号

Dw_frdb

char

16

Not null

法人代表

Dw_frzjh

Bit

2

Not null

法人证件号

Dw_ywfw

varchar

30

Not null

业务范围

Dw_zczj

Varchar

12

Not null

注册资金

Dw_xzid

char

12

单位性质

Dw_hyid

char

16

所属行业性质

      1. 资产管理表 t_zcgl

3.5 资产管理表

字段名

类型

长度与格式

可否为空

说明

Zcgl_id

Integer

4

Primary key

资产编号,主键

zcgl_pgrq

Date

8:yyyy-mm-dd

评估日期

Dksqid

Int

4

Not null

贷款申请号,外键

Zcgl_Pgje

Money

18

Not null

评估金额

Zcgl_Pggs

Char

50

评估公司

Zcgl_cfdd

Char

60

存放单位

      1. 贷款分户表 t_dkfh

3.6 贷款分户表

字段名

类型

长度与格式

可否为空

说明

Dkzh

char

12

Primary key

贷款编号,主键

Khid

int

4

Not null

客户号

Dksqid

Int

4

Not null

贷款申请号,外键

Kmh

char

5

Not null

科目号,外键

Sybz

Char

1

Not null

贷款使用标志

Dkbz

char

1

Not null

贷款标志

dklx

Char

1

Not null

贷款五级分类

Dkgsbm

int

4

Not null

贷款归属部门,外键

dkksrq

Date

8:yyyy-mm-dd

贷款开始日期

Kddqrq

Date

8:yyyy-mm-dd

贷款到期日期

Dkzqrq

Date

8:yyyy-mm-dd

贷款展期日期

Zhhkrq

Date

8:yyyy-mm-dd

最后还款日期

Zhjxrq

Date

8:yyyy-mm-dd

最后计息日期

Ye

Money

贷款余额

sjLl

Float

6

实际利率

Zqll

Float

6

展期利率

Yqll

Float

6

预期利率

Fxll

Float

6

罚期利率

      1. 部门信息表 t_depart

3.7 部门信息表

字段名

类型

长度与格式

可否为空

说明

Dpt_id

integer

6

Primary key

部门编号

Dpt_cod

char

10

Not null

部门代码

Dpt_name

char

16

Not null

部门名称

Dpt_addr

varchar

50

部门位置

Dpt_tele

varchar

18

Not null

部门电话

Dpt_man 

integer

6

Not null

负责人编号:外键

Dpt_memo

varchar

100

备注

      1. 系统角色表 t_role

3.8 系统角色表

字段名

类型

长度与格式

可否为空

说明

Rol_id

integer

6

Primary key

角色编号

Rol_type

char

10

Not null

角色类别

Rol_qx

char

10

Not null

操作权限

Rol_name

char

10

Not null

角色名称

Rol_memo

char

100

角色描述

      1. 贷款还款表 t_dkhk

3.9 贷款还款表

字段名

类型

长度与格式

可否为空

说明

hk_id

Integer

4

Primary key

还款编号,自动生成

dk_zh

char

12

Not null

贷款账户

Dk_hm

char

50

Not null

贷款户名

Hk_rq

date

8:yyyy-mm-dd

还款日期

Hk_je

Money

18

还款金额

Hk_syje

Money

18

贷款剩余金额

Hk_czyid

char

3

还款操作员

      1. 贷款利息表 t_dklx

3.10 贷款利息表

字段名

类型

长度与格式

可否为空

说明

lx_id

Integer

4

Primary key

利息编号,自动生成

flx_id

integer

4

父利息编号

Lxbz

char

1

利息标志:‘1’ 正常利息,‘2’ 复息

dk_zh

char

12

Not null

贷款账号

dk_ye

Money

18

贷款余额

Fxzhrq

date

8:yyyy-mm-dd

复息最后日期

Fxksrq

date

8:yyyy-mm-dd

利息开始日期

Lxdqrq

date

8:yyyy-mm-dd

利息到期日期

Lxjxrq

date

8:yyyy-mm-dd

利息计算日期

Lxclrq

date

8:yyyy-mm-dd

利息处理日期

Ll

Float

6

利率

Lxe

Money

16

利息额

lxclbz

Char

1

利息处理标志: ‘0’未处理,‘1’已收利息,

表设计中应注意的问题:

1.对于字符类型的字段,要仔细确认字段的可能长度。在SQL Server数据库设计中,一般来说,对于定长的字符数据字段,去字符类型(char),对于不定长的,取变长字符类型(varchar)。

2.对于以分类形式出现的字段,建议不使用字符类型,而使用数字类型。如:人员分类为高职、中职、低职;如果用字符类型,则将这些字符串需要入库;如果使用数字类型分别用1、2、3代表高职、中职、低职,则入库的是数字信息,从程序编写的角度考虑,后者更好维护一些,主要体现在如果是多语言版本时,我们不需要在程序中将这些字符串信息进行判断处理。

    1. 表之间的关联设计

为了保证数据的完整性,需要对表之间相互的数据进行约束,主要是通过外键来实现数据增删时的数据完备。

    1. 存储过程设计

存储过程是一组预先定义并编译好的SQL语句,可以接受参数、返回状态值和参数值,并可以嵌套调用。使用存储过程可以改变SQL语句的运行性能,提高其执行效率。存储过程还可用做一种安全机制,使用户通过它访问未授权的表或视图。

    1. 触发器设计

触发器是一种特殊的存储过程,当表中的数据被修改时,由系统自动执行。使用触发器可以实施更为复杂的的数据完整性约束。

    1. Job设计

数据库系统提供了Job功能,该功能可以用来解决需要定期处理商业数据的问题

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个简单的SQL数据库银行管理系统设计: 1. 客户表 该表存储银行客户的个人信息,包括客户ID、姓名、地址、电话和电子邮件等。 CREATE TABLE Customer ( customer_id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, address VARCHAR(100), phone VARCHAR(20), email VARCHAR(50) ); 2. 账户表 该表存储银行客户的账户信息,包括账户ID、账户类型、余额、利率等。 CREATE TABLE Account ( account_id INT PRIMARY KEY, customer_id INT NOT NULL, account_type VARCHAR(20) NOT NULL, balance DECIMAL(10,2) NOT NULL, interest_rate DECIMAL(5,2), FOREIGN KEY (customer_id) REFERENCES Customer(customer_id) ); 3. 交易表 该表存储银行客户的交易信息,包括交易ID、账户ID、交易类型、交易日期、交易金额等。 CREATE TABLE Transaction ( transaction_id INT PRIMARY KEY, account_id INT NOT NULL, transaction_type VARCHAR(20) NOT NULL, transaction_date DATE NOT NULL, amount DECIMAL(10,2) NOT NULL, FOREIGN KEY (account_id) REFERENCES Account(account_id) ); 4. 用户表 该表存储银行系统的用户信息,包括用户ID、用户名、密码等。 CREATE TABLE User ( user_id INT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL ); 5. 角色表 该表存储银行系统的角色信息,包括角色ID、角色名称等。 CREATE TABLE Role ( role_id INT PRIMARY KEY, role_name VARCHAR(50) NOT NULL ); 6. 用户角色关联表 该表存储用户和角色之间的关联关系。 CREATE TABLE User_Role ( user_id INT NOT NULL, role_id INT NOT NULL, PRIMARY KEY (user_id, role_id), FOREIGN KEY (user_id) REFERENCES User(user_id), FOREIGN KEY (role_id) REFERENCES Role(role_id) ); 以上是一个简单的SQL数据库银行管理系统设计,可以根据具体需求进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值