質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

3回答

3926閲覧

定義するカラムの順番

ikasoumen

総合スコア110

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

1クリップ

投稿2017/10/23 10:22

とてもどうでもいい問題かもしれませんが、
RDBのテーブルに定義するカラム順に推奨する規約的なものは存在しますか?

例えば、私は以下のようなカラムを順番に定義しましたが、
id
name
category

ある人は以下の順が見やすいと言います。
id
category
name

私的には、一意性が強いカラムを左に置きたいわけですが、
そういえばそんな規約をみた覚えもないなと。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2017/10/24 01:25

「見やすい」というのが、どのような観点に基づくものなのかを”ある人”に聞いてみてはどうですか? 一般的な規約は無いと思いますが、職場内ルールや慣習があるのかも知れませんから。
ikasoumen

2017/10/27 14:18

カテゴリ別に見たい場合の方が多いといったところでしょうか。
guest

回答3

0

「列の順番によって有意な性能差がある」という状況でもなければ、順番はまさしくどうでもいいと考えます。列を取り出すときだって、名前で指定する、もしくはSELECTで列名を指定するわけなので、コードが順番に依存するような状況は、基本的に適当でありません。

MicrosoftのSQL Serverでは、ALTER TABLEで列を追加する時、最後にしか追加できません(情報元)。

ALTER TABLE ステートメントを使用してテーブルに列を追加すると、これらの列は自動的にテーブルの最後に追加されます。

投稿2017/10/23 11:43

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikasoumen

2017/10/27 14:18

ありがとうございます。 たしかに、アプリケーション上だとあまり列の順番は関係ないですね。 設計書とか、select * FROM でちょこっと検索する時に少し気になるかなと。
guest

0

ベストアンサー

primary key などの索引になる列は最初に、更新日時の類は最後に設定するのが伝統的なテーブル設計に多いと思いますが、質問のnameやcategoryの順はどちらでも良いのでは?どちらかに決めたら、すべてのテーブル設計のnameとcategoryの順序は統一した方が良いでしょう。

投稿2017/10/23 10:43

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikasoumen

2017/10/27 14:18

ありがとうございます。 僕としてもnameを先にすることにそこまで頑固になる必要はないと思っているので、 categoryを先にしました!
guest

0

そこは好みな気がしますね。
大きなカテゴリを先に持って来たい人もいると思います。
実際の使われ方なども考えながら決めたりしますかね。

絶対に○○カテゴリの××NAMEで使うのならばその順番でもいい気がしますし
カテゴリに関わらずNAMEで使うことがあるなら、NAMEが先でも良いでしょう。

投稿2017/10/23 11:28

yuki-saito

総合スコア928

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikasoumen

2017/10/27 14:18

ありがとうございます。 好みということで気が楽になりました。
yuki-saito

2017/10/28 04:35

よかったです^^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問