フロントサイドプログラミングとは異なり、使用中にデータベース構造をリファクタリングするのは苦しいだけでなく実用的ではありません。
バックエンド右の構造を前面にすることを強くお勧めします。良いニュースは、第3の正常な形態は一般的に達成することが困難ではないということです。実際には少し実用的になると、それらの用語でデータを考えるのは第二の性質になります。
第3正規形では、表内の単一レコードの各構成要素が、そのレコードのキーに対して一意であることが基本的に示されています。検討:
tblPerson: PERSONID PK 氏名 姓 MiddleName DOB SSN IncomeSource IncomeAmount
表上で定義した収入源がに固有ではないので、thrid正規形でありません実際にテーブルのPersonの発生率は、その人の人生を通して変化する可能性があります。次のように代わりに、一方が(過度に単純換算)上記の構造になる:
をtblPerson PERSONID PK 氏名 姓 MiddleName DOB SSN
tblPersonIncome PersonIncomeID PK PERSONID FK tblPerson IncomeSourceID FK tblIncomeSource IncomeAmount AsOfDate
いくつかは、上記の自動インクリメントIDフィールドの私の使用について議論することを
tblIncomeSource IncomeSourceID IncomeSource
注 - これらは、第三正規形に違反していないものの、彼らはまた、自然キーを利用しません。
バックエンドがジャンプから正常に正規化されている場合、エンティティを追加または拡張する方が処理がはるかに簡単で、追加する前に作成するフロントエンドに与える影響はずっと小さいでしょう。
とにかく、フロントエンドを正しく設計してください。そうしないと、後で構造変更を実装する必要があります。そうしないと、あなたの新しい家の土台を注ぎ、それを構築しながら後であなたのニーズに合わせてフロアプランを変更する計画に少し似ています。
ここから始めるには良いリンクがあります:http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx – Leslie