3

多くの企業がデータベーステーブルにプレフィックスを使用していることに気づきました。たとえば、テーブルにはMS_Order、MS_Userなどの名前が付けられます。これを行う正当な理由はありますか?

私が考えることができる唯一の理由は、名前の衝突を避けることです。しかし、それは本当に起こりますか?人々は1つのデータベースで複数のアプリを実行していますか?他に理由はありますか?

4

9 に答える 9

3

個人的には、何の価値もありません。実際、すべてがMS_で始まるため、インテリセンスのような機能には不便です。:) マスターも私に同意します

于 2009-07-30T01:12:19.320 に答える
2

巨大なスキーマには、多くの場合、類似しているが異なる目的を持つ多くのテーブルがあります。したがって、さまざまな「セグメント化された」命名規則。

くそー、最初の投稿を取得しませんでした:-)

于 2009-07-30T01:13:37.217 に答える
1

私は、別の会社によって作成および保守されたアプリケーションの既存のデータベースがあり、独自のテーブルをいくつか追加するだけで、同じデータを大量に使用する別のアプリを追加する必要があるシステムに取り組んできました。 、その場合、アプリ固有のプレフィックスを付けると、分離に役立ちます。

元の質問に少し正直に、データベースがプレフィックスを使用してテーブルが保持しているデータのタイプを示すのを見てきました。サイズと内容の両方で明らかにかなり静的なルックアップテーブルのプレフィックスと、変数データを含むテーブルの異なるプレフィックスがあります。これは、ログ、処理済み注文、顧客トランザクションなどに追加されたが実際には変更されていないテーブル用のプレフィックスと、顧客残高などのより可変的なデータ用のプレフィックスに分割される場合があります。リンクテーブルには、それらを分離するための独自のプレフィックスを付けることもできます。

于 2009-07-30T15:27:01.710 に答える
1

データベースにアプリケーションが1つしかない場合でも、プレフィックスはアプリケーションの一部のようにグループ化するのに役立ちます。したがって、cutomer情報を含むテーブルには、cust_のプレフィックスが付けられ、倉庫情報を含むテーブルには、inv_(在庫用)のプレフィックスが付けられ、財務情報を含むテーブルには、fin_のプレフィックスが付けられます。

于 2009-07-30T13:15:00.017 に答える
1

SQL Server 2005以降では、スキーマ機能により、あらゆる種類のプレフィックスが不要になります。それらの使用法の良い例は、AdventureWorksのスキーマについて読むことで見つけることができます。

一部の古いバージョンのSQLサーバーでは、疑似名前空間を作成するためのプレフィックスを付けると、テーブルが多数あるDBで役立つ場合があります。

それ以外は本当に要点がわかりません。

于 2009-07-30T13:16:48.127 に答える
0

これは、複数のアプリケーションが1つのデータベースを共有している場合に最もよく使用されます。たとえば、Wordpressをインストールすると、すべてのテーブルの前に「wp_」が付きます。これは、アプリケーションでデータを非常に簡単に共有したい場合に適しています(たとえば、社内のすべてのアプリケーションでのセッション)。

ただし、これを実現するためのより良い方法があります。各アプリケーションには独自の自己完結型データベースがあるため、テーブル名にプレフィックスを付けることはありません。

于 2009-07-30T02:57:58.163 に答える
0

異なるアプリケーションのテーブルを同じデータベース名前空間に配置することは通常意味がないため、名前の衝突は見たことがありません。さまざまなアプリケーションに統合できる再利用可能なライブラリがある場合は、それが理由かもしれませんが、そのようなものは見たことがありません。

とはいえ、今考えてみると、ユーザーが作成できるデータベースの数が非常に少ない安価なWebホスティングプロバイダーがいくつかあるため、1つのデータベースを使用してさまざまなアプリケーションを実行できます。名前は衝突しませんでした(そしてそのような接頭辞の規則は確かに役立ちます)。

于 2009-07-30T01:12:25.233 に答える
0

特定のテーブルを使用する複数のアプリケーション、正しい。プレフィックスは名前の衝突を防ぎます。また、テーブルのバックアップと同じデータベースへの保持がかなり簡単になり、プレフィックスを変更するだけでバックアップが完全に機能するようになります。それ以外は、これは良い習慣です。

于 2009-07-30T01:12:29.197 に答える
0

プレフィックスは、複数のアプリが同じデータベースにディップするときに、どのSQLオブジェクトがどのアプリに関連付けられているかを分類するための良い方法です。

また、セキュリティの管理を容易にするために、同じアプリ内でSQLオブジェクトに異なるプレフィックスを付けました。つまり、admin_を持つすべてのオブジェクトにはこのセキュリティを適用する必要があり、残りのオブジェクトには別のものが必要です。

プレフィックスは、人間、検索ツール、およびスクリプトに便利です。ただし、単純な状況であれば、まったく役に立たないでしょう。

于 2009-07-30T01:33:49.613 に答える