2017-01-11 9 views
1

私は一貫したフィールド名を持つためにデータベースを修正するこの日に混乱している。Mysqlの命名規則:フィールド名に過去の時制を使用する必要がありますか?

説明するフィールドに名前を付けるときは、ロックした人の名前、またはその人の投稿を隠した人の名前です。 私は使用するフィールドは何ですか?

locked_by_usernamelock_by_usernameまたはlock_username hidden_by_usernamehide_by_usernameまたはhidden_username

現在の時制または過去時制?フィールド名の内部にbyを使用する必要がありますか?それは悪い習慣ですか?

投稿を投稿したユーザーのユーザー名を説明するために、多くのデータベースの使用post_usernameまたはposter_usernameが表示されます。

しかし、ロックと非表示の動詞では、それを記述するための良い方法はありません。

申し訳ありませんが、これは本当にばかげた質問ですが、英語は母国語ではありません。

+0

を見ることができるでしょうあなたは 'locking'または' hiding'を使用することができますが、私は(過去のいずれかの緊張限り、フィールド名があいまいでないように問題を見たことがありませんトランステーブルの中の 'void_trans'のように、現在のレコードボイドを示す可能性があります。トランスは、現在のレコードを無効にします。 ...それらを参照するためにid値ではなくユーザー名を使用することで、より多くの問題が発生します。 – Uueerdo

+0

@Uueerdo 'lock'または' hiding'は意味を明確にしません。レコードの状態を示すのが好きです。フィールド名を読むことは、それが何であるかを正確に伝えることができると思います。これは 'poster_id'〜>数値フィールド、' poster_name'〜>テキストフィールドのようなものです。または、 'ロックするユーザ名'を意味する場合は、次のような別の意味があると思います: 'posted_date'と' posting_date' https://community.dynamics.com/gp/f/32/t/106939 – TomSawyer

+0

私は 'locked_by'を選びますそれは短いですが、動詞と受動的な意味を持っています –

答えて

0

母国語がKiswahiliかKlingonか英語かに関係なく、現在の状態を表す列名が必要です。たとえば、username_holding_lockは、行にロックを保持しているユーザーの名前が列に含まれていることを意味します。

SELECT *を実行してトラブルシューティングを行うツールを使用しているユーザーは、ある行に値TomSawyerが表示されたときに何が起きているのかを推測できます。

+0

だから、 'lock_by_username'、' post_by_username'のように現在の時制を使うべきですか? dbフィールドの命名は、一方の側を選択するのと似ていますが、コンシステンシーまたは意味の両方ではありません。私は 'post_username'を好きですが、' lock_username'や 'hide_username'を使うとばかげて聞こえます。 – TomSawyer

+0

列名に*動詞*を避けることをお勧めします。 "locked"は動詞のように見えますが、それは形容詞です。 –

0

私はこれがより多くの意見に基づいていると思いますが、私は一般的にはラクダのケースを使用します。 私は個人的に使用します。 HiddenByUsername LockedByUsername

良いアイデアは、MicrosoftのサンプルDBの一部を見てかもしれません。 例はAdventureWorksDBまたはあなたがここに http://codeplex.com/SqlServerSamples

+0

fwiwの場合、MySQLは一般的にカラム名に関して大文字と小文字を区別しません。 –

関連する問題