在我的数据库中,客户可以拥有多个帐户,并且许多证券都可以保护帐户。客户可以与银行中的另一个客户相关联。例如,房地产开发商可能与验船师相关联。
客户无法与其他客户关联两次。
我已经为SQL中的客户,账户证券和关联设置了表格。
在参考数据方面,企业有以下要求:账户,证券和协会可以是多种类型。例如,账户可以是储蓄,信贷;证券可以是债券,房屋,并且协会可以是客户1是客户2的验船师(验船师是协会)。他们不希望有许多表存储这些类型。他们想要一种通用的方法来存储数据库中的所有引用(类型)数据。
我对此非常陌生,我无法找出存储参考数据的通用方法。我是否需要另一个类型表,其类型ID为Pk,然后是描述(如果我这样做,表格将与不相关的数据混合)?
答案 0 :(得分:0)
根据我的理解,您必须提供一个需要在4NF中才能可靠和可升级的设计。如果您希望正确完成此操作,您将需要一堆表来支持信息,并避免任何可能导致存储在数据库中的信息不一致的更新问题。
让我们从基本表开始:
user_table
ID (PK, NN)
First Name
Last Name
Any other Field
account_type_table
ID (PK, NN)
Account Type (savings, checking, etc)
account_security_type_table
ID (PK, NN)
type of security (bond, house, etc)
users_account_table
ID (PK, NN)
UserID (Foreign Key from users table)
AccountTypeID (Foreign Key from account_type table)
AccountSecurityID (Foreign key from account_security_type table)
Any other information for the account
以前的方法仅适用于帐户的一种安全类型,如果您需要为单个帐户拥有多个证券,我们需要修改user_account_table并创建另一个将帐户链接到安全类型的表格。 / p>
users_account_table
ID (PK, NN)
UserID (Foreign Key from users table)
AccountTypeID (Foreign Key from account_type table)
Any other information for the account
account_security_table
ID (PK, NN)
AccountID (Foreign key from users_account_table)
SecurityID (Foreign key from account_security_type_table)
Any other field you need.
对于测量师来说,我并不是很了解它的含义,如果你进一步解释这一点,我可以帮助你。
答案 1 :(得分:0)
如果您决定需要查找类型表,那么您可以创建类型的通用表,并添加一个描述该类型特定内容的列。