我为银行创建数据库'我只是不确定我的帐户附加帐户的方法是否最有效。以下是一些企业规则:
- 有两种类型的帐户(当前和储蓄)
- 每个帐户都有一个字段:余额,上次访问日期
- 现有账户透支
-savings帐户有interest_rate
- 客户可以拥有任意数量的帐户
- 帐户可以订阅'无限的人
我不确定最佳方法是否只是将帐户表中的利率和透支设置为空,如果它是错误的帐户类型。
很抱歉,如果这个问题没有得到很好的解决(我在这里打破了我的stackoverflow处女)。此外,这里是到目前为止创建的ER图的链接:https://drive.google.com/file/d/0BwKmjTsIbwP0SE9Xbk1ycnkyV0E/edit?usp=sharing
很抱歉,我无法直接在此处发布图片,这只是因为我没有代表...
提前致谢!
答案 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)
我相信我们已经完成了创建表格。
帐户具有帐户类型。
客户可以拥有多个帐户。
一个帐户可以有很多客户。
帐户可以有多笔交易。
交易过帐到一个帐户。