Person、StudentID など、明確で統一されたラベルと列名を使用します。
テーブル名には、SchoolNames ではなく SchoolName など、複数形ではなく単数形を使用します。
テーブル名にはスペースを使用しないでください。
TblSchool の代わりに School を使用したり、SchoolTable を使用したりするなど、テーブル名に不要な接頭辞や接尾辞を使用しないでください。
データベース内のパスワードは暗号化され、アプリケーションで復号化される必要があります。 (実際には、ハッシュストレージと一方向暗号化です)
IDフィールドとしてintegerを使用します。おそらく今は必要ありませんが、関連テーブル、インデックスなど、将来的には必要になります。 。
インデックス作成には整数フィールドを使用してください。そうしないと、パフォーマンスに大きな問題が発生します。
ビットをブール値フィールドとして使用し、整数または varcha を使用するのは無駄です。また、そのようなフィールドは「Is」で始まる必要があります。
データベースにアクセスするには認証が必要です。すべてのユーザー管理ユーザーに権限を与えないでください。
パフォーマンスを向上させるために、「select *」の使用を避け、「select [required_column_list]」を使用してください。
プログラム コードがより複雑な場合は、Hibernate、iBatis などの ORM フレームワークを使用します。 ORM フレームワークのパフォーマンスの問題は、詳細な設定によって解決できます。
パフォーマンスを向上させるために、使用頻度の低いテーブルを別の物理ストレージに分割します。
重要なデータベースには、クラスタリング、同期などの安全なバックアップ システムを使用します。
外部キー、null 以外の制限、その他の制限を使用してデータの整合性を確保し、プログラムにすべてを投げつけないでください。
データベースドキュメントの欠如は致命的です。 トリガー、ストアド プロシージャ、その他のスクリプトを含むデータベース設計を文書化する必要があります。
頻繁に使用されるクエリや大規模なデータテーブルには、インデックスを使用します。データ分析ツールは、インデックスの作成方法を決定するのに役立ちます。
データベースサーバーとWebサーバーは別のマシンに配置する必要があります。これにより、セキュリティが向上し、CPU の負荷が軽減されます。
画像フィールドと BLOB フィールドは、一般的に使用されるデータ テーブルで定義しないでください。定義しないと、パフォーマンスに影響します。
パフォーマンスを向上させるために、必要に応じて正規化を使用する必要があります。正規化が不十分だとデータの冗長性が生じ、正規化が過剰だと結合とデータ テーブルが過剰になり、どちらもパフォーマンスに影響します。
データベース設計により多くの時間を費やさないと、将来的に 2 倍の時間を支払うことになります。
プログラム効率の問題の多くは、実際には不合理なデータベース設計によって引き起こされることが時間の経過とともに証明されているため、合理的なデータベースを設計できることは、ソフトウェアと Web サイト全体にとって非常に重要です。
以上がmysqlデータベース設計スキルを分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。