Многие проектировщики дают таблицам непосредственно имена сущностей (в единственном числе), например street, city. Другие же ратуют за то, что таблицы нужно называть множественным числом - streets, cities. И единого мнения быть не может. Дело в том, что если говорить об удобочитаемости SQL-запросов, вроде следующего:
SELECT * FROM cities, streets WHERE streets.cityid = cities.cityid AND streets.name LIKE "%тупик Третьего Интернационала%"
то нетрудно заметить, что секция FROM грамматически подразумевает множественное число - "ВЫБРАТЬ.. ИЗ городов, улиц". В то же время секция WHERE "читается" с единственным числом - "ВЫБРАТЬ ту запись, ГДЕ название улицы ПОХОЖЕ ...", и это понятно - ведь условие под WHERE применяется к каждой записи набора по отдельности, то есть к каждой улице.
Если вспомнить, что мы хотим использовать имя сущности также в программах обработки данных, где объектом работы становится именно "единица" информации (например в названии класса для хранения одной улицы TStreet, а затем в названии переменой-объекта objStreet1), то разумнее остановиться на единственном числе как на стандарте. Но ведь в таблице все-таки живет множество сущностей! Как это выразить? Для таблиц примем следующее волюнтаристское решение:
Имя таблицы состоит из служебного префикса и имени сущности. Например.
Префикс |
Имя сущности |
Имя таблицы |
Название таблицы в целом (как множества сущностей) |
C |
STRTYPE (тип улицы) |
CSTRTYPE | Каталог типов улиц |
S |
STREET (улица) |
SSTREET | Справочник улиц |
R |
ABON (абонент) |
RABON |
Реестр
абонентов |
J |
CALCOP (выч. операция) |
JCALCOP | Журнал вычислительных операций |
Таким образом, благодаря мысленной расшифровке префикса мы можем воспринимать таблицу как множество сущностей со своим нравом - ведь таблица таблице рознь. Я предлагаю такие префиксы: