【发布时间】:2013-08-21 21:56:59
【问题描述】:
我正在构建一个 PHP 应用程序来用客户数据预填充第三方 PDF 帐户表单,但我在数据库设计上遇到了困难。
当前的表单有大约 70 个字段,这似乎太多了,无法设置为单独的列,尤其是有些(即公司/信托信息)与客户需要的帐户类型无关。
我尝试过规范化,但似乎会有很多连接,并且还需要多个子查询来处理多个地址等问题。
这也意味着在更新时检查行是否存在以决定脚本是否需要执行 INSERT、DELETE 或 UPDATE 的大量额外查询,而如果它们都在一行中,则基本上只是每次都要更新。
不确定这是否有帮助,但这里列出了大部分字段:
id、account_type、account_phone、account_email、account_designation、account_adviser、account_source、account_complete、 account_residential_unit_number, account_residential_street_number, account_residential_street_name, account_residential_street_type, account_residential_suburb, account_residential_state, account_residential_postcode, account_postal_unit_number, account_postal_street_number, account_postal_street_name, account_postal_street_type, account_postal_suburb, account_postal_state, account_postal_postcode, individual_1_title、individual_1_firstname、individual_1_middlename、individual_1_lastname、individual_1_dob、individual_1_occupation、individual_1_email、individual_1_phone、 individual_1_unit_number,individual_1_street_number,individual_1_street_name,individual_1_street_type,individual_1_suburb,individual_1_state,individual_1_postcode, individual_2_title、individual_2_firstname、individual_2_middlename、individual_2_lastname、individual_2_dob、individual_2_occupation、individual_2_email、individual_2_phone、 individual_2_unit_number,individual_2_street_number,individual_2_street_name,individual_2_street_type,individual_2_suburb,individual_2_state,individual_2_postcode, 公司名称,公司日期, company_unit_number, company_street_number, company_street_name, company_street_type, company_suburb, company_state, company_postcode, 信任名称,信任日期, 结算银行,结算帐户,结算bsb
最多需要处理大约 200,000 个应用程序,一旦数据进入数据库,它就不会经常更改,如果有的话 - 不确定这是否相关?
所以真的只是想找出最聪明的方法来设计它,即使它只是一个名称或需要进一步研究的主题。
【问题讨论】:
标签: mysql database-design database-normalization denormalization