银行账户数据库

use*_*815 4 database account database-design entity-relationship bank

我正在为"银行"创建一个数据库,并且不确定我将帐户附加到客户的方法是否最有效.以下是一些企业规则:

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

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

- 现金账户透支

-savings账户有interest_rate

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

- 帐户可以"订阅"无限制的人

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

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

对不起,我无法直接在这里发布图片,这只是因为我没有代表......

提前致谢!

Gil*_*anc 11

您获取所提供的信息,并将数据标准化为关系.这就是你使用关系数据库的原因.

所以让我们从客户开始吧.我们将创建一个Customer表.通常,表名是单数.

Customer
--------
Customer ID
Customer name
Customer address
...
Run Code Online (Sandbox Code Playgroud)

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

接下来,我们将创建一个Account表.

Account
-------
Account ID
Account Type ID
Account balance
Account interest rate
Account overdraft
Account last access time stamp
Run Code Online (Sandbox Code Playgroud)

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

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

Account Type
------------
Account Type ID
Account Type
Run Code Online (Sandbox Code Playgroud)

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

接下来,即使您没有提及它,我们也将创建一个Transaction表.你需要这个才能打印月度报表.

Transaction
-----------
Transaction ID
Transaction time stamp
Transaction amount
Account ID
Run Code Online (Sandbox Code Playgroud)

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

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

那么,让我们创建一个客户帐户表.

Customer Account
----------------
Customer ID
Account ID
Customer Account creation time stamp
Run Code Online (Sandbox Code Playgroud)

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

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

  • 帐户具有帐户类型.

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

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

  • 一个帐户可以有很多交易.

  • 交易过帐到一个帐户.

  • 在交易表中,需要有交易双方的参考。你只有一个。 (2认同)