# /usr/bin/torunar

Первичные ключи: Doing It Wrong

Об именовании полей первичных ключей можно долго спорить.

В таблицах вида prefix_tablename чаще всего можно встретить такие ПК:

  • id — просто и понятно.
  • tablename_id — для любителей информационной избыточности.
  • prefix_tablename_id — треш и угар, например.

Однако, если заглянуть в БД, что ведется Wordpress'ом, можно увидеть, что разработчики не особо заботились о единообразии.

Так, таблица wp_site использует индекс id. Отлично, поехали дальше.

wp_posts использует индекс ID. Ладно, кто-то просто любит покричать, SQL же case-insensitive. Да и большие буквы добавляют солидности этой таблице — как-никак, центральный объект WP.

wp_comments: comment_ID. Разные регистры в ключе — почему бы и нет, опять же.

wp_terms и wp_term_taxonomy используют term_id и term_taxonomy_id. Все еще вписывается в выстроенную систему, да?

Напоследок: первичный ключ wp_sitemetameta_id, а вот бедный site куда-то потерялся...

Привет, опенсорс!

А все почему? Потому что нет человека, который в последний момент придет и выдаст разработчикам методические указания, заставив переделать все перед релизом.