Первичные ключи: Doing It Wrong
2014/07/29Об именовании полей первичных ключей можно долго спорить.
В таблицах вида 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_sitemeta
— meta_id
, а вот бедный site
куда-то потерялся...
Привет, опенсорс!
А все почему? Потому что нет человека, который в последний момент придет и выдаст разработчикам методические указания, заставив переделать все перед релизом.