テーブルを作っています
モバイルモデル情報
+-------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-----------------+------+-----+---------+----------------+
| ID | int(5) unsigned | NO | PRI | NULL | auto_increment |
| linktospecs | varchar(255) | YES | | NULL | |
| name | varchar(30) | NO | UNI | NULL | |
| company | varchar(20) | NO | | NULL | |
+-------------+-----------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
この表では、どの携帯電話メーカーの各携帯電話も 1 回だけ表示され、それに加えて、メーカー名や仕様への公式リンクなどのその他の情報が表示されます。今思いつくのはそれだけです。
私が望むのは、name
列は本質的に一意であるため (同じモバイル モデルの 2 つの行はばかげているでしょう)、それを使用してインデックスを作成できるようにしたいということです。単純に、私のアプリケーションでは、ユーザーがモバイル名を検索するときに、この列を使用してname
、このテーブルから他のすべての列を取得します。
しかし、多くの例で、単純な主キーとして保持するために自動インクリメントする余分な単純な ID 列を使用する人を見てきました。それで、私の質問は、ID
列を保持する必要がありますか、それともこのテーブルを使用するには一意のname
列で十分ですか? データベースと SQL は初めてです。