猫でもわかるWebプログラミングと副業

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

index の複数形は indexes なのか indices なのか

プログラマーが覚えておきたい英単語(http://blog.livedoor.jp/lalha/archives/50165797.html)によると

インデックスを表す単語の index の複数形についての表現。普通に複数形にすると indexes になりそうなものだが、公開されている API などを見ていると、indices が使われていることが多い。英英辞典などを見ると、indexes も indices も載っているので、両方とも間違いではないと思われる。

とある。



一方で、『SQLアンチパターン』では、

データベース関連の用語として用いられる場合、indexは順番に並べられた情報の集合を意味します。この場合のindexの望ましい複数形はindexesです。他の文脈では、indexはindicatorを意味することがあり、この場合の複数形はindicesです。

とある。

Weblioのindexのページ(http://ejje.weblio.jp/content/index)や、goo英和・和英(http://dictionary.goo.ne.jp/ej/43585/meaning/m0u/)を見てみると、

  • 索引の意味でのindexの複数形はindexes
  • 指数(配列の添字とかはどちらかと言えばこちらっぽい?)の場合はindices

というようになるようだ。きちっと調べた上で使いたい。



追記

先日、 MySQL のインデックスに関するドキュメントを読んでいたら、このような記述を見つけた。

https://dev.mysql.com/doc/refman/8.0/en/create-index.html

For string columns, indexes can be created that use only the leading part of column values, using col_name(length) syntax to specify an index prefix length:

indexes と書かれている。つまり、DBの索引の意味での index の複数形は、やっぱり indexes であるようだ。



RDB に関するおすすめ書籍

このブログでも書いた、『SQLアンチパターン』は、RDBのテーブル設計等において、やってはいけない事をまとめた書籍になっている。2013年の書籍だが、RDBの技術はその頃から変わってないので、今でも十分役に立つ書籍である。

SQLアンチパターン

SQLアンチパターン

Amazon



『SQLアンチパターン』は、ケーススタディ(こういう実装はダメ、という書き方)だったが、『達人に学ぶDB設計 徹底指南書』は、もうちょっと基本的なところですので、DB設計を学びたい場合は、まずこの本を読むと良いでしょう。



『リーダブルコード』は、変数の名前の付け方なども含めて、読みやすいコードの書き方を説明しています。今回の indexes, indices の話と近い件で、start, end, bigin あたりの言葉の使い分けの話もあります。気になる人は読んでみてください。