powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / О нейминге, или как вы придумываете имена
37 сообщений из 37, показаны все 2 страниц
О нейминге, или как вы придумываете имена
    #38770174
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую, господа и дамы.

Встала задача проектирования базы данных для одного производства. Понял, на сколько сложно придумывать имена, когда нет системного подхода.
Думаю, у каждого опытного комрада свой подход.
Прошу поделиться опытом.
Какую систему(набор правил) для генерации имен используете вы?
Или может вы посоветуете кого почитать.

P.S. Понимаю что есть гугл, но хотелось услышать мнения живых людей.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770217
Триггерман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PAPA_RimskY,

1. Все названия объектов только буквами английского алфавита.
2. Все названия объектов на английском языке.
3. Для каждого типа объекта свой префикс и знак "подчёркивания"

Например,
таблица - T_
вьюха - V_
процедура - P_
функция - F_
первичный ключ - PK_
внешний ключ - FK_
индекс - IX_
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770238
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, результат зависит от ограничений конкретных технологий и принятых традиций.
Я бы посмотрел, есть ли готовые соглашения об именовании на предприятии или в технологиях. который вы используете (например если C#, то PascalCase, если где-то где принято подчеркивание для разделения слов то разделять_подчеркиванием).

Я называю таблицы именем сущности в единственном числе используя PascalCase, в имена полей не включаю никаких префиксов (Не ElefantID, а просто ID) а в название полей входящих в FK, если это единственное поле, не включаю названия PK (не MotherID, а просто Mother) .
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770250
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триггерман3. Для каждого типа объекта свой префикс и знак "подчёркивания"


Такой подход связывает использующий код с типом объектов. То есть если у вас есть выборка select * from T_employee и вы решили сделать общую таблицу Human, а там завести какое-нибудь поле Type = 'Employee', то вам придется переделывать этот select, а не просто сделать view employee.

А чем он облегчает жизнь?
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770268
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PAPA_RimskYПриветствую, господа и дамы.

Встала задача проектирования базы данных для одного производства. Понял, на сколько сложно придумывать имена, когда нет системного подхода.
Думаю, у каждого опытного комрада свой подход.
Прошу поделиться опытом.
Какую систему(набор правил) для генерации имен используете вы?
Или может вы посоветуете кого почитать.

P.S. Понимаю что есть гугл, но хотелось услышать мнения живых людей.Возьмите для начала какое-нибудь средство проектирования, PowerDesigner к примеру.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770270
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebSharper,

Тут есть проблема:
Отталкиваться от существующей структуры проблематично, т.к. есть еще задача выработки новой системы наименования их сущностей.

К вопросу о соглашениях принятых в используемом языке:
Мне кажется что имена используемые в хранимых процедурах, должны отличаться от имен используемых в базе.
Разве не удобнее когда правила наименования отличаются для них, тогда даже просто читая документацию будет сразу понятно про какую часть идет речь. И не придется лишний раз лезть в справочник.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770273
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Пока что использую MySQL WorkBench, его нейминг мне не понравился.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770289
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триггерман,

Радует лаконичность правил.
Проблем у вас с ними не возникало?
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770459
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PAPA_RimskYWebSharper,

Тут есть проблема:
Отталкиваться от существующей структуры проблематично, т.к. есть еще задача выработки новой системы наименования их сущностей.

К вопросу о соглашениях принятых в используемом языке:
Мне кажетсячто имена используемые в хранимых процедурах, должны отличаться от имен используемых в базе.
Разве не удобнее когда правила наименования отличаются для них,
тогда даже просто читая документацию
будет сразу понятно про какую часть идет речь.
И не придется лишний раз лезть в справочник.
*виздецц
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770468
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PAPA_RimskYК вопросу о соглашениях принятых в используемом языке:
Мне кажется что имена используемые в хранимых процедурах, должны отличаться от имен используемых в базе.
Разве не удобнее когда правила наименования отличаются для них, тогда даже просто читая документацию будет сразу понятно про какую часть идет речь. И не придется лишний раз лезть в справочник.

Я хранимых процедур не пишу, может для них и дико важно знать каждый раз тип сущности. В тех инструментах с которыми я работаю, во-первых, посмотреть тип совершенно не проблема - 1 нажатие клавиши, во-вторых, смысл кода мало зависит от того, тчо за тип (select count(*) from employee подсчитывает количество работников и не важно, как конкретно они реализованы), в-третьих, есть много деталей помимо типа, которые интересно знать (не забивать же все в имя Employee_With_Name_And_Title)
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770513
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триггерман3. Для каждого типа объекта свой префикс и знак "подчёркивания"

Например,
таблица - T_
вьюха - V_
процедура - P_
функция - F_
первичный ключ - PK_
внешний ключ - FK_
индекс - IX_
Лишнее дублирование, имхо. Мне не принципиально - из таблицы я получаю данные, из вьюхи или из процедуры. Поэтому префиксы (у меня) указывают на функциональное значение объекта, а не на его тип в базе данных. Услово - REF_ - справочник, INT_ - внутрений документ, INC_ - входящий документ, OUT_ - исходящий документ, TMP_ - временный объект, RPL_ - объект относится к репликации. И так далее.

А процедуры от тригеров мне среда разработки отделит.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770545
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PAPA_RimskYWebSharper,

Тут есть проблема:
Отталкиваться от существующей структуры проблематично, т.к. есть еще задача выработки новой системы наименования их сущностей.

К вопросу о соглашениях принятых в используемом языке:
Мне кажется что имена используемые в хранимых процедурах, должны отличаться от имен используемых в базе.
Разве не удобнее когда правила наименования отличаются для них, тогда даже просто читая документацию будет сразу понятно про какую часть идет речь. И не придется лишний раз лезть в справочник.Хм...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE PROCEDURE dbo.DoAnything
  @p_nAnythingID           INTEGER,
  @p_cAnythingCode         CHAR(3),
  @p_sAnythingName         VARCHAR(200)
AS
BEGIN
  DECLARE @nSomethingID    INTEGER
  DECLARE @cSomethingCode  CHAR(3)
  DECLARE @sSomethingName  VARCHAR(200)
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770904
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица - имя существительное в ед. числе без префиксов.

Представление - имя существительное в ед. числе с префиксом v_.

Часто не только имя но и дополнения к нему.

Пакет - основной обычно совпадает с именем проекта, с префиксом p. Еще обычно в проекте два дополнительных, в одном код процедур (большей частью сгенерированный) для редактирования справочников в админке (pref, от reference), во втором - курсоры для клиентов - отчеты, выборки для lookup-ов и тд. В пакете редактирования и основном курсоры имеют префикс cr_, в пакете курсоров (pcursor) - без этого префикса.

Процедур. Вне пакетов не держим. Обычно глагол с существительным - что и с чем делает.

Функции - стараюсь не использовать. Если приходится, начинаются с get_.

Поля таблиц.
ПК - практически всегда id, иногда code если справочник маленький и редактировать его пользователь не будет, а будет только разработчик.
Внешние ключи - без префикса или суффикса id, обычно имя совпадает с именем сущности куда ссылается. Но конкретное (предметное) имя, если таковое есть, приоритетнее. Например, boss как начальник отдела лучше чем employee даже если ссылка на employee одна в таблице.

В примечании к ссылке всегда указывается таблица на которую поле ссылается. Например
Код: sql
1.
2.
3.
4.
5.
create table departament (
  id integer not null primary key, -- ПК
  name varchar2(200) not null, -- Название отдела
  boss integer not null references employee(id) -- Начальник отдела, ссылка на employee(id)
)



Параметры процедур - с префиксом i_ (in), o_ (out), io_ (inout).
Локальные переменные процедуры - с префиксом l_.
Глобальные переменные пакетов - с префиксом g_.
Константы - локальный/глобальный префикс + префикс "c". gc_closed_status_code constant varchar2(30) := 'closed';

Использую для oracle и firebird.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38770911
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PowerDesigner-у, например, не нравится дублирующиеся имена полей сущностей, и он грязно ругается т.к. это доставляет ему геморой при формировании имет констрейнов и индексов. Поэтому у меня имена полей PK всегда содержат имя или часть сущности. Да и с написанием запросов по-легче, можно предположить чей это ID.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38771045
Фотография Станислав Клевцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТриггерманPAPA_RimskY,

1. Все названия объектов только буквами английского алфавита.
2. Все названия объектов на английском языке.
3. Для каждого типа объекта свой префикс и знак "подчёркивания"

Например,
таблица - T_
вьюха - V_
процедура - P_
функция - F_
первичный ключ - PK_
внешний ключ - FK_
индекс - IX_

Добавлю еще немного ....

Схема *_STG. (сырые данные)
S_ - таблица

V_ - витрина

prc_ - процедура

M_ - промежуточная таблица

$H_ - история загрузки
Схема *_DV (data vault)
Префиксы:

V_ - витрина

T_ - таблица

prc_ - процедура
Постфиксы:

_H - хаб

_HS -хаб-сателлит

_L - линк

_LS - линк-сателлит
Схема *_DV (non data vault)
Префиксы

Т_ - таблица

V_ - Витрина

prc_ - процедура
Постфиксы:

_AGG_01 - ежедневный агрегат

_AGG_02 - ежемесячный агрегат

_AGG_03 - еженедельный агрегат

_LNK - линк (связь)
Схема *_DM
Префиксы:

D_ - таблица

V_ - витрина

prc_ - процедура
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38771137
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PAPA_RimskYПриветствую, господа и дамы.

Встала задача проектирования базы данных для одного производства. Понял, на сколько сложно придумывать имена, когда нет системного подхода.
Думаю, у каждого опытного комрада свой подход.
Прошу поделиться опытом.
Какую систему(набор правил) для генерации имен используете вы?
Или может вы посоветуете кого почитать.

P.S. Понимаю что есть гугл, но хотелось услышать мнения живых людей.

Все украдено до нас Венгерская нотация

<:o)
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38771146
Фотография Станислав Клевцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulPAPA_RimskYПриветствую, господа и дамы.

Встала задача проектирования базы данных для одного производства. Понял, на сколько сложно придумывать имена, когда нет системного подхода.
Думаю, у каждого опытного комрада свой подход.
Прошу поделиться опытом.
Какую систему(набор правил) для генерации имен используете вы?
Или может вы посоветуете кого почитать.

P.S. Понимаю что есть гугл, но хотелось услышать мнения живых людей.

Все украдено до нас Венгерская нотация

<:o)

в этом что-то есть )))
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38771167
dvim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триггерман,
Поддерживаю. При этом при смене команды/платформы клиента (давно, еще до меня) сменили префиксы.

Единственное - на английском называются те понятия, которые более менее известны на английском.
Неоднозначные понятия - транслит.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38772956
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Триггерман1. Все названия объектов только буквами английского алфавита.
2. Все названия объектов на английском языке.
О, Господи! В тайне лелется мысль, что эта автоматизация ларька будет востребована еще где-то, кроме как в трех палатка на центральном рынке Воронежа!
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38773557
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Как именуете таблицы связи many-to-many?
2. Таблицы справочников? Префиксы или что-то в духе EntityList?
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38773612
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>1. Как именуете таблицы связи many-to-many?
Entity1_Entity2_xref
>Таблицы справочников
что-то в духе EntityList?
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38774003
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Триггерман1. Все названия объектов только буквами английского алфавита.
2. Все названия объектов на английском языке.
О, Господи! В тайне лелется мысль, что эта автоматизация ларька будет востребована еще где-то, кроме как в трех палатка на центральном рынке Воронежа!Стив Джобс начинал в гараже.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38774037
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PAPA_RimskY1. Как именуете таблицы связи many-to-many?

DepartmentPosition

2. Таблицы справочников? Префиксы или что-то в духе EntityList?

Customer, Employee, Position
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38774269
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сколько проблем у программистов из-за того, что они так любят программировать)) С утра до вечера.. Одно и то же. Надо же, проблема, как именовать ИДЕНТИФИКАТОРЫ (!!!) объектов))
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38774305
Фотография Станислав Клевцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebSharperPAPA_RimskY1. Как именуете таблицы связи many-to-many?

DepartmentPosition

2. Таблицы справочников? Префиксы или что-то в духе EntityList?

Customer, Employee, Position

T_DEPARTMENT_POSITION_LNK или можно использовать сокращения T_DEP_POSITION_LNK

T_CUSTOMER,T_EMPLOYEE, T_POSITION или можно использовать сокращения T_CUSTOMER, T_EMPL, T_POSITION
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38774313
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТриггерманPAPA_RimskY,

1. Все названия объектов только буквами английского алфавита.
2. Все названия объектов на английском языке.
3. Для каждого типа объекта свой префикс и знак "подчёркивания"

Например,
таблица - T_
вьюха - V_
процедура - P_
функция - F_
первичный ключ - PK_
внешний ключ - FK_
индекс - IX_
Возможно, таблицам префиксы, о том что это таблица не нужны в РМД. Так как таблицы это собственно основное в БД - средство структурирования данных (БД - это прежде всего информация). И их имена могли бы иметь только намек на содержание данных таблицы. А для подчеркивания роли "справочника", возможно, в имя добавлять подслово TYPE. Т.е. нацелить именование именно на упрощение содержательно понимания схемы БД.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38774398
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>1. Как именуете таблицы связи many-to-many?

В приоритете - по смыслу. Лучше указать смысл связи в имени (часто такая таблица - полноценная сущность), это важнее того, какие именно сущности связываются.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38774407
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гхостик>1. Как именуете таблицы связи many-to-many?

В приоритете - по смыслу. Лучше указать смысл связи в имени (часто такая таблица - полноценная сущность), это важнее того, какие именно сущности связываются.
Такая таблица вполне может может быть "полноценной" связью (в ней собсно присутствуют атрибуты по которым связь). Потому чтобы это сразу бросалось в глаза, можно как-то указать это в имени. Например, по три буквы от каждой таблы (или идентификаторов по котором идет связь), а межу подчеркивание. Глядя на схему это сразу подскажет что речь идет о связи многие ко многим. Но так или иначе выделить.

Там где работаю принято: у каждого атрибута всегда суффикс из трех букв таблы. Это тоже как-то упрощает: сразу видна разница между родными и мигрированными атрибутами.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38775003
Фотография Владимир П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebSharperв имена полей не включаю никаких префиксов (Не ElefantID, а просто ID) а в название полей входящих в FK, если это единственное поле, не включаю названия PK (не MotherID, а просто Mother) .
Я выработал противоположную практику. Все поля снабжаю префиксом -- 2--4 буквенным сокращением имени таблицы. Поле, входящее в FK, называю префиксом от таблицы-источника. Так, если таблица Elefant ссылается на таблицу Mother, то: id в таблице Mother получит название MOTH_ID, и в таблице Elefant поле - ссылка на Mother получит то же имя MOTH_ID.

Чем удобно -- конструируя SQL-запросы с джойнами можно будет обойтись краткой записью «from T1 natural join T2» вместо «T1 join T2 on (длинная формулировка условия)».
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38775023
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир П.Все поля снабжаю префиксом -- 2--4 буквенным сокращением имени таблицы. Поле, входящее в FK, называю префиксом от таблицы-источника. Так, если таблица Elefant ссылается на таблицу Mother, то: id в таблице Mother получит название MOTH_ID, и в таблице Elefant поле - ссылка на Mother получит то же имя MOTH_ID.

Чем удобно -- конструируя SQL-запросы с джойнами можно будет обойтись краткой записью «from T1 natural join T2» вместо «T1 join T2 on (длинная формулировка условия)».
А давайте слон будет ссылаться на папу и маму - тоже слонов, как напишете запрос для показа имен слона, его мамы и папы? Мой вариант:

Код: sql
1.
2.
3.
4.
select e.id, e.name, m.name mother_name, f.name father_name
from elephant e
join elephant m on m.id = e.mother
join elephant f on f.id = e.father
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38775038
Фотография Владимир П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГхостикА давайте слон будет ссылаться на папу и маму
Т.е. таблица ссылается сама на себя, формируя иерархическую связь? В подлобных случаях, конечно, трюк с natural join не выйдет, и мой запрос будет такой же по сути, как ваш.

С учетом принятых правил именования:

Код: sql
1.
2.
3.
4.
select e.ele_id, e.ele_name, m.ele_name mother_name, f.ele_name father_name
from elephants e
join elephants m on m.ele_id = e.ele_mother_id
join elephants f on f.ele_id = e.ele_father_id
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38778167
stanilar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Селко неплохо написано про принципы наименования. У него есть даже очень интересная мысль - заменить прификсы окончаниями. Этот прием очень неплохо себя показал в нормальных языках программирования, потому что сразу видно когда работают связанные по смыслу команды, а когда - нет. А информация о типе хоть и важна, но вторична по отношению к смысловой нагрузке.

Вообще префикс - это наследие тех времен, когда программы придумывались долго, а набирали, например на перфокарту, быстро, да еще и компы могли быть разной архитектуры. Соответственно больше ошибок было при наборе.

Сейчас другие реалии, быстро придумывают и долго набирают. Так долго, что даже begin и end некоторых отягощает просто непосильно. :-)
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38778190
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу про нашу базу рассказать, она весьма большая и весьма старая.

Таблицы называются в единственном числе, без префиксов и суффиксов
Поля - аналогично
PK может называться как угодно, но все FK обязаны называться так же, как и PK
Названия индексов начинаются с IX_
Название вьюх начинается с префикса, подчеркивающего их *назначение*.
У нас оракл, так что соглашений для хранимок нет, а пакеты начинаются с префикса PKG_
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38783331
Фотография Евгений Фадеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scfPK может называться как угодно, но все FK обязаны называться так же, как и PK

Это хорошее правило. Но оно не может быть столь категоричным. Просто потому что следовать ему не всегда возможно.
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38783675
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scfPK может называться как угодно, но все FK обязаны называться так же, как и PK
Названия индексов начинаются с IX_Как это, у нескольких констрейнов одинаковое имя???

Мы называем так:
PK_ИмяТаблицы
FK_ИмяТаблицы_ИмяТаблицы
IX_ИмяТаблицы_ИенаПолей
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38783728
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир П.Mother получит название MOTH_ID

Люблю смотреть всякие сокращения и описки в словарях. Moth - это моль :)
...
Рейтинг: 0 / 0
О нейминге, или как вы придумываете имена
    #38783909
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблицы - существительные без разделителей, CamelCase. Поля - Id, ParentEntityId.
Вьюхи - зависит от случая: если просто прокси для таблицы с разыменованием справочников, то ViewTableName; если группирует неск. таблиц в отдельную сущность, то ViewThisEntityName. Вообще, не люблю подчеркивания.

Процедуры - примерно как если бы это были методы объектов (коими их, при должном уровне абстракции, вполне можно считать). Сначала логическая подсистема, потом (опционально) уточнение, потом - название метода. Например: documents_create, security_user_update, workflow_document_changeowner. В сложносоставных частях делаю Camel, но чаще все имя в нижнем регистре.

PK и FK - написал специальные скрипты для PowerDesigner, которые массово переименовывают соотв. объекты к видам PK_TableName и FK_ChildTable_ParentTable_ChildColumnList, соответственно. До этого был аналогичный скрипт на SQL, но лучше в консерватории править, как известно. Но иногда и в БД приходится переименовывать, если схема чужая и все вразнобой.
Индексы - IX_TableName_ColumnList, но иногда бывает и короче. Если есть натуральный ключ, то UQ_TableName_NK. Иногда, если очень большой список столбцов, то приходится обрезать до 128 знаков (FK тоже касается).

Т.е. правила есть, но без фанатизма (исключение - все на английском, в моем случае это обязательно).
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / О нейминге, или как вы придумываете имена
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]