银行账户数据库

时间:2014-05-22 16:01:36

标签: database database-design entity-relationship account bank

我为银行创建数据库'我只是不确定我的帐户附加帐户的方法是否最有效。以下是一些企业规则:

- 有两种类型的帐户(当前和储蓄)

- 每个帐户都有一个字段:余额,上次访问日期

- 现有账户透支

-savings帐户有interest_rate

- 客户可以拥有任意数量的帐户

- 帐户可以订阅'无限的人

我不确定最佳方法是否只是将帐户表中的利率和透支设置为空,如果它是错误的帐户类型。

很抱歉,如果这个问题没有得到很好的解决(我在这里打破了我的stackoverflow处女)。此外,这里是到目前为止创建的ER图的链接:https://drive.google.com/file/d/0BwKmjTsIbwP0SE9Xbk1ycnkyV0E/edit?usp=sharing

很抱歉,我无法直接在此处发布图片,这只是因为我没有代表...

提前致谢!

1 个答案:

答案 0 :(得分:10)

您可以获取您提供的信息,并将normalize数据转换为关系。这就是您使用关系数据库的原因。

因此,让我们从客户开始吧。我们将创建一个Customer表。通常,表名是单数。

Customer
--------
Customer ID
Customer name
Customer address
...

如您所见,Customer表中的所有数据都与客户有关。

接下来,我们将创建一个帐户表。

Account
-------
Account ID
Account Type ID
Account balance
Account interest rate
Account overdraft
Account last access time stamp

Account表中的所有数据都来自您的需求声明。对于没有兴趣的帐户,利率设置为零。对于没有透支的账户,透支被设置为零。

接下来,我们将创建一个帐户类型表。

Account Type
------------
Account Type ID
Account Type

数据将是(0,检查)和(1,储蓄)。使用“帐户类型”表,您可以轻松添加新帐户类型,例如(2,存款证明)。

接下来,即使您没有提及它,我们也会创建一个Transaction表。您需要这样才能打印月结单。

Transaction
-----------
Transaction ID
Transaction time stamp
Transaction amount
Account ID

好的,我们已经为银行业务设置了所有实体类型表。现在,让我们设置关系表。

客户和帐户有很多关系。客户可以拥有多个帐户,一个帐户可以拥有许多客户。

因此,让我们创建一个客户帐户表。

Customer Account
----------------
Customer ID
Account ID
Customer Account creation time stamp

主要(群集)密钥是(客户ID,帐户ID)。您还需要一个唯一索引(帐户ID,客户ID)

我相信我们已经完成了创建表格。

  • 帐户具有帐户类型。

  • 客户可以拥有多个帐户。

  • 一个帐户可以有很多客户。

  • 帐户可以有多笔交易。

  • 交易过帐到一个帐户。