非常に多くの企業のプロジェクトでは、テーブルを設計するときにテーブル名に接頭語を追加しますが、これは何の役に立つのでしょうか?プロジェクト全体を見ると、これが役に立つとは思いませんでした
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
テーブル名の接頭辞は以前は一般的な方法でした。現在の傾向は、プレフィックスの追加によってもたらされる利点が問題に比べてはるかに小さいため、プレフィックスの追加を放棄することです。多くの場合、クロスデータベース設計はテーブル プレフィックス設計よりも柔軟で実用的ですが、プレフィックス設計によって引き起こされる混乱と問題 (特に混合状況で) は、多くの初心者にとって最大の問題です。ご注意ください。
管理が簡単
複数のプロジェクトを同じデータベースに入れると便利です
プロジェクト 1 ユーザー テーブル - p1_user プロジェクト 2 ユーザー テーブル - p2_user
一度言えば分かります
それは単なるデザインの習慣です。通常、同じライブラリ内の異なるシステム テーブルを区別するために作成されます。 写真に示すように、プレフィックスのないテーブルはバックグラウンド管理システムのテーブルです。 wmsプレフィックスが付いたテーブルはwmsシステムのテーブルです
正直に言うと、データベースに応じて異なるタイプのテーブルを分割する方が適切です
プレフィックスは、例えば、user的表,直接show tables like '%user%'就可以了,用mysqlコマンドライン
user
show tables like '%user%'
mysql
特に多くのプラグインやモジュールを含むプロジェクトの場合、これらの接頭辞を追加すると、データベース テーブルやその他の操作のバッチ処理にも役立ちます
すべてのプロジェクトの同じデータベース内の異なるプロジェクトのデータテーブルを区別するために使用されます
テーブル名のプレフィックスは単なる命名規則であり、関数の実装には影響しません。
より複雑なシステムでは、テーブル名のプレフィックスによってテーブルのモジュールと分類を大まかに理解できるため、日常の開発や運用保守の際に便利と思われます。また、初心者がシステムのデータ構造を理解する際に従うべきルールもあります。
個人的にはこのアプローチに賛成です。コストは非常に低いですが、後の運用とメンテナンスに便利です。
データテーブルが 1 つのデータベース内にあり、多数のデータテーブルがある場合、区別は非常に簡単です
プロジェクトに 100 を超えるテーブルがある場合、それらを使用する必要がある理由が理解できるでしょう。
理想的には、user_tabel1 は user.table1 として書くことができます (複数のライブラリを作成するため) 問題は、多くの開発者は、多くのフレームワーク (1 つのライブラリにしか接続できない) を含め、単に追加、削除、変更、確認することしかデータベースを知らないことです
たとえば、Oracle の最も古典的な scott インスタンスには部門と部門担当者のリストがあり、hr (別のインスタンス) には部門のリストがあります。 hr インスタンスには部門のリストがあります。 scott.emp のリストには選択権限はありますが、更新権限はありません 個人的には、この設計によりデータのセキュリティが向上し (インスタンスが攻撃されてクラックされた場合に、すべてのデータが公開されることはありません)、論理的な明瞭さが大幅に向上すると感じています。また、開発者はデータベースをより深く理解し、熟知する必要があります しかし、私たちがよく目にするのは、開発者のすべてのテーブルが 1 つのライブラリに配置されているということです 。
テーブル名の接頭辞は以前は一般的な方法でした。現在の傾向は、プレフィックスの追加によってもたらされる利点が問題に比べてはるかに小さいため、プレフィックスの追加を放棄することです。多くの場合、クロスデータベース設計はテーブル プレフィックス設計よりも柔軟で実用的ですが、プレフィックス設計によって引き起こされる混乱と問題 (特に混合状況で) は、多くの初心者にとって最大の問題です。ご注意ください。
管理が簡単
複数のプロジェクトを同じデータベースに入れると便利です
プロジェクト 1 ユーザー テーブル - p1_user
プロジェクト 2 ユーザー テーブル - p2_user
一度言えば分かります
それは単なるデザインの習慣です。通常、同じライブラリ内の異なるシステム テーブルを区別するために作成されます。
写真に示すように、プレフィックスのないテーブルはバックグラウンド管理システムのテーブルです。 wmsプレフィックスが付いたテーブルはwmsシステムのテーブルです
正直に言うと、データベースに応じて異なるタイプのテーブルを分割する方が適切です
プレフィックスのことは非常に面倒です。プレフィックスは、例えば、
についてすべてを知りたい場合に非常に便利です。user
的表,直接show tables like '%user%'
就可以了,用mysql
コマンドライン特に多くのプラグインやモジュールを含むプロジェクトの場合、これらの接頭辞を追加すると、データベース テーブルやその他の操作のバッチ処理にも役立ちます
すべてのプロジェクトの同じデータベース内の異なるプロジェクトのデータテーブルを区別するために使用されます
テーブル名のプレフィックスは単なる命名規則であり、関数の実装には影響しません。
より複雑なシステムでは、テーブル名のプレフィックスによってテーブルのモジュールと分類を大まかに理解できるため、日常の開発や運用保守の際に便利と思われます。また、初心者がシステムのデータ構造を理解する際に従うべきルールもあります。
個人的にはこのアプローチに賛成です。コストは非常に低いですが、後の運用とメンテナンスに便利です。
データテーブルが 1 つのデータベース内にあり、多数のデータテーブルがある場合、区別は非常に簡単です
プロジェクトに 100 を超えるテーブルがある場合、それらを使用する必要がある理由が理解できるでしょう。
理想的には、user_tabel1 は user.table1 として書くことができます (複数のライブラリを作成するため)
問題は、多くの開発者は、多くのフレームワーク (1 つのライブラリにしか接続できない) を含め、単に追加、削除、変更、確認することしかデータベースを知らないことです
たとえば、Oracle の最も古典的な scott インスタンスには部門と部門担当者のリストがあり、hr (別のインスタンス) には部門のリストがあります。
(上記は私の個人的な理解です)hr インスタンスには部門のリストがあります。 scott.emp のリストには選択権限はありますが、更新権限はありません
個人的には、この設計によりデータのセキュリティが向上し (インスタンスが攻撃されてクラックされた場合に、すべてのデータが公開されることはありません)、論理的な明瞭さが大幅に向上すると感じています。また、開発者はデータベースをより深く理解し、熟知する必要があります
しかし、私たちがよく目にするのは、開発者のすべてのテーブルが 1 つのライブラリに配置されているということです
。