powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правило создания таблиц!
41 сообщений из 41, показаны все 2 страниц
Правило создания таблиц!
    #35114115
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас работаю над БД, которую сначало буду разробатвать только я, затем присоединяться другие. А в дальнейшем кто ещё захочет!

Я решил придумать несколько строгих правил присвоения имён таблиц, во первых чтобы был порядок в БД и чтобы в дальнейшем не путаться.

Скоро будут и другие правила, но я пока прошу оценить эти:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Таблицы.

Имена таблиц должны присваиваться по следующим правилам:
•	Все имена таблиц должны начинаться на символ “t” (Например “tUsers”).
•	Имя таблицы должно отображать данные хранящиеся в таблице.
•	Суммарное количество символов имени таблицы не должно превышать 20 символов (так как в некоторых ситуациях имя таблицы используется в имени поля).
•	Имя таблицы должно состоять из латинских символов и/или цифр.
Поля в таблице делятся на следующие категории :
1)	Поля являющиеся только первичными ключами.
2)	Поля являющиеся только внешними ключами.
3)	Поля одновременно являющиеся первичными и внешними ключами.
4)	Остальные поля(содержащие данные).
Имена полям таблицы присваиваются по следующим правилам:
•	Имя поля начинается с обозначения категории поля.
Категория 1 имеет обозначение “pk”. 
Категория 2 имеет обозначение “fk”.
Категория 3 имеет обозначение “pfk”.
Категория 4 имеет обозначение “d”
•	После обозначения категории в имени поля следует символ “_”.
•	Далее в зависимости от категории следует имя таблицы:
Категория 1,3,4: следует имя таблицы, в котором находится поле
Категория 2: следует имя таблицы, на которое ссылается ключ.
•	После имени таблицы, в имени поля следует символ “_”.
•	После чего следует непосредственно имя поля, обозначающее её значение.
Пример:
Категория 1: pk_tEmployees_Id
Категория 2: fk_tEmployees_Id
Категория 3: pfk_tEmployees_DBUIN
Категория 4: d_tEmployees_Name

Интересует только здоровая, нормальная критика!
Спасибо!
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35114566
Entaro Adun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
префикс к таблицы имхо лишний, и не имеет слысловой нагрузки;
префик к primaty key, имхо лишний это поле обычно первое и так.
форенкеи обычно xxx_id где xxx первые три буквы имени таблицы на которую ссылается;
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35114573
Entaro Adun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeximusПоля одновременно являющиеся первичными и внешними ключами.

Это связь таблиц 1 к 1 ?
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35114643
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно иметь более длинные префиксы имен таблиц.

Стандартный, не подверженный изменениям или подверженный слабым изменениям словарь (в схеме звезда) SDC
Словарь, наполняемый пользователями (типы, виды и т.п.) UDC
Таблица основных данных (в схеме звезда) TAB
Перекрестная таблица, реализующая M:M TCR
Таблицы, хранящие деревья (самосоединение) TRE
Ненормализованные таблицы, хранящие насчитанные суммарные данные SUM
Ненормализованные таблицы, хранящие насчитанные данные в форме сводных отчетов PVT

Можно выделить отдельный префикс для метаданных, можно классифицировать таблицы метаданных по предыдущей схеме ME+<префикс>
Можно выделить отдельный префикс для системных данных (пользователи, сеансы, права доступа и т.п.) SY+<префикс>

В зависимости от спецификм задачи всякий раз будет получаться какая-то новая оптимальная именно под нее классификация.

Система именования полей тоже сильно зависит от задачи.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35114661
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С моей точки зрения все эти дублирования и венгерская нотация излишни

Я бы оставил:
- Имя таблицы должно отображать данные хранящиеся в таблице.
- Суммарное количество символов имени таблицы не должно превышать XX символов (минимальная из макимальных длин полей, поддерживаемых СУБД).
- Имя таблицы должно состоять из латинских символов и/или цифр.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35115058
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leximus пишет:

> Категория 1 имеет обозначение “pk”.
> Категория 2 имеет обозначение “fk”.
> Категория 3 имеет обозначение “pfk”.
> Категория 4 имеет обозначение “d”

Зачем бы это все городить ? В метаданных СУБД и так описано,
какое поле является PK, FK, PKFK или еще как.
Это тебе затруднит потом использование полей, будешь все
время тыркаться набирать ненужные "pk", "fk". К тому же
чел. который пишет запросы - зачем ему вообще знать,
PK оно или FK ? Какая разница ?

> • После обозначения категории в имени поля следует символ “_”.
> • Далее в зависимости от категории следует имя таблицы:
> Категория 1,3,4: следует имя таблицы, в котором находится поле

А rolename-ы ? Если ДВА таких поля в дочерней таблице будет ?

> Категория 2: следует имя таблицы, на которое ссылается ключ.
> • После имени таблицы, в имени поля следует символ “_”.
> • После чего следует непосредственно имя поля, обозначающее её значение.
> Пример:
> Категория 1: pk_tEmployees_Id
> Категория 2: fk_tEmployees_Id
> Категория 3: pfk_tEmployees_DBUIN
> Категория 4: d_tEmployees_Name

а в имя поля писать имя ее таблицы - вообще дебилизм IMHO.
Задолбаешься потом набирать, а в жизни это ничем не поможет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35115065
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
belugin пишет:

> Я бы оставил:
> - Имя таблицы должно отображать данные хранящиеся в таблице.
> - Суммарное количество символов имени таблицы не должно превышать XX
> символов (минимальная из макимальных длин полей, поддерживаемых СУБД).
> - Имя таблицы должно состоять из латинских символов и/или цифр.
+1
Вот еще у нас таблицы большими буквами, поля - маленькими. Ничем
особенно тоже не помогает, просто так, красиво.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35115329
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жесть!
сходу нагуглил несколько ссылок, прочитайте их перед изобретением этого жуткого велосипеда

тынц , или тынц , или тынц , ну и традиционно гугл

З.Ы. главная штука в соглашении по именованию объектов заключается в том, что она должна быть максимально простой, иначе ей не будут пользоваться, в том числе и автор ))
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35115378
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
а в имя поля писать имя ее таблицы - вообще дебилизм IMHO.
Задолбаешься потом набирать, а в жизни это ничем не поможет.
Posted via ActualForum NNTP Server 1.4

Согласен за одним исключением.
Желательно, чтобы в разных таблицах одна и та же сущность имела одинаковое имя (ИМХО-разумеется). Тогда, если именовать поле суррогатного ключа ID во всех таблицах - требует именовать в связанных таблицах, как customer_ID/customerID. Меня это всегда сбивало. Поэтому для таблицы Customers я использую поле customer или customerId - и так во всех связанных таблицах.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35115402
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy MasterZiv
а в имя поля писать имя ее таблицы - вообще дебилизм IMHO.
Задолбаешься потом набирать, а в жизни это ничем не поможет.
Posted via ActualForum NNTP Server 1.4

Согласен за одним исключением.
Желательно, чтобы в разных таблицах одна и та же сущность имела одинаковое имя (ИМХО-разумеется). Тогда, если именовать поле суррогатного ключа ID во всех таблицах - требует именовать в связанных таблицах, как customer_ID/customerID. Меня это всегда сбивало. Поэтому для таблицы Customers я использую поле customer или customerId - и так во всех связанных таблицах.+1 , к обоим авторам
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35115754
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy пишет:

> Желательно, чтобы в разных таблицах одна и та же сущность имела
> одинаковое имя (ИМХО-разумеется).

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

Тогда, если именовать поле
> суррогатного ключа ID во всех таблицах - требует именовать в связанных
> таблицах, как customer_ID/customerID. Меня это всегда сбивало. Поэтому
> для таблицы Customers я использую поле customer или customerId - и так
> во всех связанных таблицах.

Ну, это вполне разумно. Мы делаем так же.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35115854
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати вопрос, таблицы именовать в единственном числе али множественном?
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35116011
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nafкстати вопрос, таблицы именовать в единственном числе али множественном?я предпочитаю во множественном, хотя принципиальной разницы не вижу
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35116758
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за ответы!

Но теперь вопрос такой: Что если я введу в имя поля префикс типа, который будет указывать на то, каким путём созданно поле.
Ну представим что при инсталяции базы создаются некоторые поля(назовём их стандартные), затем через модули системы(клиентской части) пользователь решил добавить дополнительное поле, ну например к Клиентам решил добавить поле Дата рождения! Соответственно оно будет с другим префиксом. Или другая ситуация, Тот кто купил БД решил в ручную добавить поле которое нужно для чего либо, но уже с другим префиксом.
А нужно это для того, что если я например потом им дам обновление, чтобы поля не пересекались, и у них не возникло проблемм!
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35116843
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Entaro Adun LeximusПоля одновременно являющиеся первичными и внешними ключами.

Это связь таблиц 1 к 1 ?

В моей БД это будет часто встречаться.
Например:
Есть таблица DataBases
В этой таблице хранится список Баз данных, с которыми текущая БД будет обмениваться данными.
Соответсвенно в таблицах будет указано к какой БД запись относится...
И этот указатель вместе с Id клиента будет первичным ключём для других таблиц.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35117375
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf пишет:
> кстати вопрос, таблицы именовать в единственном числе али множественном?
Мы - в единственном делаем. Т.е. по названию экземпляра.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35118242
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Naf пишет:
> кстати вопрос, таблицы именовать в единственном числе али множественном?
Мы - в единственном делаем. Т.е. по названию экземпляра.
Posted via ActualForum NNTP Server 1.4

Руби-на-Рельсах предлагает именовать таблицы в множественном, а объектную переменную извлеченую из строки таблицы - в единственном. Чисто интуитивно воспринимается таблица - как множество - Детали, Работники ...
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35118496
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy

Руби-на-Рельсах предлагает именовать таблицы в множественном, а объектную переменную извлеченую из строки таблицы - в единственном. Чисто интуитивно воспринимается таблица - как множество - Детали, Работники ...

Названия "работник" и "работники" применительно к таблице несут одинаковый смысл, но в форме множественного числа слово обычно имеет больше букв, что может конфликтоать с ограничением на длинну идентификатора.

Вообще, префиксы и прочие украшения меют второстепенный смысл, а префиксы предложенные автором практически не несут дополнительной информации (всё это есть в словаре БД). Гораздо важнее сосредоточиться на лингвистических аспектах задачи. Например, название таблицы должно быть существительным в едиственном/множественном числе. Название столбца не должно содержать его тип или дублировать название таблицы. Например в столбце "дата размещения заказа" таблицы "заказ", слово "дата" указывает на тип данных, а слово "заказа" повторяет название таблицы. И то и другое содержится в словаре БД. Поэтому название дожно быть изменено, например на "размещён", что в SQL запросе будет читаться как "заказ.размещён" - коротко, ясно и почти на естественном языке.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35118827
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab пишет:
> Вообще, префиксы и прочие украшения меют второстепенный смысл, а
> префиксы предложенные автором практически не несут дополнительной
> информации (всё это есть в словаре БД). Гораздо важнее сосредоточиться
> на лингвистических аспектах задачи. Например, название таблицы должно
> быть существительным в едиственном/множественном числе.

Согласен абсолютно !

Название столбца
> не должно содержать его тип или дублировать название таблицы. Например в
> столбце "дата размещения заказа" таблицы "заказ", слово "дата" указывает
> на тип данных, а слово "заказа" повторяет название таблицы. И то и
> другое содержится в словаре БД. Поэтому название дожно быть изменено,
> например на "размещён", что в SQL запросе будет читаться как
> "заказ.размещён" - коротко, ясно и почти на естественном языке.

согласен частично, думаю тут могут быть иключения, потому что
-- в таблице может быть несколько атрибутов, связанных с "размещением",
например, вид размещения, дата размещения, время размещения, характер
размещения. В этом случае "дата" - название не типа данных, а атрибута
размещения, они просто в этом случае совпадают. (я бы кстати переименовал бы
лучше тип данных (домен), во что-то типа date_t)
-- иногда кроме слова "date" вообще в название атрибута нечего вставить.
Ну вот есть у нас таблица "событие" там есть поле "время". Его можно назвать
либо "время", либо "время события", и оба названия будут неверными по
предлагаемому соглашению. Можно конечно назвать его "произошло в", но, ей Богу,
просто "время" проще и понятнее.
-- Иногда мы даже на естественном языке говорим про какой-то атрибут что-то типа
"дата выдачи паспорта". Тогда и в БД лучше атрибут так и называть.
Причем "выдача паспорта" было бы неправильно, потому что выдача паспорта -
это процесс, явление, а "дата выдачи паспорта" - это его свойство уже.
"Выдан в" и коряво, и не звучит, и не понятно - дата или время.
Т.е. я хочу сказать - эти правила должны быть рекомендациями.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35118972
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
"Выдан в" и коряво, и не звучит, и не понятно - дата или время.
Т.е. я хочу сказать - эти правила должны быть рекомендациями.


Это только пример не претендующий на полноту. В паспорте этот атрибут называется "дата выдачи", по сему оригинальное назание имеет смысл сохранить, а на такие случаи ввести правило - по возможности сохранять оригинальное или общепринятое название.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35119786
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как вы считаете, префикс таблицы должен быть или нет?
Мне кажется что удобно былобы в запросе сразу видеть что и к какому типу относится! Ведь например если запрос из представления то его долго можно искать в списке таблиц в менеджере! А вы как считаете?
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35119918
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждый обладает своей АБСОЛЮТНОЙ истиной. Я использую префиксы типов таблиц и длинные имена полей в таблицах, как правило включающих имя сущности: <префикс_типа(i,n,dt,mn,db,s)> + <имя_сущности_то_есть_таблицы> + <уточняющий_суффикс(Date,Nomer,Count,Amount)>
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35120383
Aviant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LeximusА как вы считаете, префикс таблицы должен быть или нет?
Мне кажется что удобно былобы в запросе сразу видеть что и к какому типу относится! Ведь например если запрос из представления то его долго можно искать в списке таблиц в менеджере! А вы как считаете? вот поэтому у представлений и имеет смысл делать префикс.
У таблиц - нет
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35120935
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aviant вот поэтому у представлений и имеет смысл делать префикс.
У таблиц - нет

А мне кажется, что если делать фрефикс у представления, то и у таблицы надо... А то может получиться не очень!
Например префикс "v", то таблица с именем velo в запросе будет приносить непонятки, толи это таблица, толи представление! Помоему префикс если и вносить в этом плане, то и для таблиц, и для представления и для другого чегонибудь!
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35121068
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предложенные префиксы как у таблиц, так и у вьюх навязывают клиенту БД знание, которое ему абсолютно не нужно, а в некоторых случаях ещё и вредно. И всё это ради сомнительного удобства быстро найти объект в списках менеджера? в топку такие префиксы :)
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35121406
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychпредложенные префиксы как у таблиц, так и у вьюх навязывают клиенту БД знание, которое ему абсолютно не нужно, а в некоторых случаях ещё и вредно. И всё это ради сомнительного удобства быстро найти объект в списках менеджера? в топку такие префиксы :)

Что подразумевается в понятии клиент БД? Если пользователь, то он вообще не будет этим пользоваться, он будет пользоваться непосредственно Клиентской программой, а она уж сама всё разрулит! А если программист БД, то мне кажется в запросе сразу будет видно где искать необходимый объект!
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35121550
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Оракле есть представления словаря БД ALL_CATALOG, так что выяснить тип отношения не составляет труда. Однако, запросы к представлениям приходится делать с большой осторожностью, поскольку их эффективность может оказаться просто катастрофической. Посему я использую суффикс _V. Вообще, довольно редко представленя БД удаётся использовать повторно, так что на счёт их названий можно особо не париться.
В идеале представления и таблицы должны быть взаимозамеяемыми. С этой позиции различать их не есть хорошо, ведь рано или поздно отношение, которое было таблицей может стать представлением и наоборот, а украшения названий только внесёт путаницу.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35121725
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab пишет:

> Это только пример не претендующий на полноту. В паспорте этот атрибут

Ну я и дополнил :-)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35121728
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leximus пишет:
> А как вы считаете, префикс таблицы должен быть или нет?
Нет.

> Мне кажется что удобно былобы в запросе сразу видеть что и к какому типу
> относится!

Для этого есть алиасы таблиц, которые в запросах обязательно должны
и так использоваться для сложных запросов.

Ведь например если запрос из представления то его долго можно
> искать в списке таблиц в менеджере! А вы как считаете?

Чего его искать -то ? не понял нифига. У него есть имя, оно уникально,
взял да нашел.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35121733
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aviant пишет:

> вот поэтому у представлений и имеет смысл делать префикс.
> У таблиц - нет

Чем таблица от представления функционально отличается ?
Ничем. Так что и префиксов не надо.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35121736
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab пишет:
> В Оракле есть представления словаря БД ALL_CATALOG, так что выяснить тип
> отношения не составляет труда.

Это есть практически во всех современных СУБД,

Однако, запросы к представлениям
> приходится делать с большой осторожностью, поскольку их эффективность
> может оказаться просто катастрофической.

Так не надо делать такие вьюхи просто.

> Вообще, довольно редко представленя БД удаётся использовать повторно,
> так что на счёт их названий можно особо не париться.

Если его нельзя использовать повторно, то на фиг оно вообще нужно ?

> В идеале представления и таблицы должны быть взаимозамеяемыми. С этой
> позиции различать их не есть хорошо, ведь рано или поздно отношение,
> которое было таблицей может стать представлением и наоборот, а украшения
> названий только внесёт путаницу.

Во, это -- правильная мысль.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35121946
Pan Vlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nafкстати вопрос, таблицы именовать в единственном числе али множественном?
Народ! Каждый делает как ему удобно, но если рассуждать здраво, что такое таблица? Как нам правильно напомнил MasterZiv, это сущность. Вот от этого и надо плясать. Если у меня в таблице хранится список контрагентов, например, тогда логично назвать ее Customer, а вот если там связь, скажем, между каждым студентом и семестрами, в которых он учился, тогда StudentSemesters. Допускаю что я где-то могу быть неправ, однако, по моему скромному мнению, тут вопрос принципиальный.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35122077
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leximus egorychпредложенные префиксы как у таблиц, так и у вьюх навязывают клиенту БД знание, которое ему абсолютно не нужно, а в некоторых случаях ещё и вредно. И всё это ради сомнительного удобства быстро найти объект в списках менеджера? в топку такие префиксы :)
Что подразумевается в понятии клиент БД? клиент БД, естественно, подразумевается клиентская программа, пользователю вообще вредно знать, что есть какая-то там БД :) mcureenab и MasterZiv фактически ответили за меня и я с ними полностью согласен.
Pan Vlad... однако, по моему скромному мнению, тут вопрос принципиальный. а по моему не менее скромному - абсолютно нет :) ибо это не тот вопрос, из-за которого стоит ломать копья, как кому удобней, тот так и называет. Главное здесь, чтобы было понятно, какую сущность собой представляет отношение (как таблица, так и представление).
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35122266
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivОднако, запросы к представлениям
> приходится делать с большой осторожностью, поскольку их эффективность
> может оказаться просто катастрофической.

Так не надо делать такие вьюхи просто.


Разные ситуации бывают.

Код: plaintext
select * from <view>;

Скорее всего будет работать как положено.

Работоспособность

Код: plaintext
select * from <view> where <predicate>;

Будет зависеть от <predicate>.

Запрос

Код: plaintext
select * from <view>, ... where <predicate>;

Наверняка потребует настройки, если вообще не придётся создавать специально заточенные под него представления. Утешает только то, что с каждым годом СУБД становятся умнее и лучше решают задачи оптимизации сложных SQL запросов.



MasterZiv
> Вообще, довольно редко представленя БД удаётся использовать повторно,
> так что на счёт их названий можно особо не париться.

Если его нельзя использовать повторно, то на фиг оно вообще нужно ?



Например, для декомпозиции сложного SQL запроса на несколько простых, чтобы читаемость запроса улучшить, уменьшить объём сетевого трафика на передачу текста SQL запроса, разместить логику отбора данных на стороне СУБД, обеспечить разграничение доступа на уровне строк. Иногда приложение БД налагает ограничения на синтаксис SQL запросов, так что запрещённые фразы приходится прятать в представление.

В общем, как правило представление затачивается для решения довольно узкого класса задач и использовать его для решения других задач не эффективно.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35122566
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab пишет:

> Например, для декомпозиции сложного SQL запроса на несколько простых,
> чтобы читаемость запроса улучшить, уменьшить объём сетевого трафика на
> передачу текста SQL запроса,

О, да я погляжу, вы достойные проблемы там решаете... Особенно актуальна
проблема сетевого траффика, создаваемого большими запросами.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35122744
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не претендую на "идеальную" систему наименований, вообще главное чтобы она была :)
Различные системы наименований обсуждались неоднократно и как правило эти обсуждения превращались в филосовские войны.
По вышеперечисленному придерживаюсь следующей:
>>Все имена таблиц должны начинаться на символ “t” (Например “tUsers”).
Таблицы именуются в единственном числе без префиксов .
Для вьюх использую префикс (vUser). Многие предпочитают не использовать префикс ни для вьюх ни для таблиц.

>>Поля в таблице делятся на следующие категории :
Нет необходимости делить их по категориям.
>>Имена полям таблицы присваиваются по следующим правилам:
Поле ПК имеет всегда одно и тоже имя во всех таблицах (ID, SID или OID)
Поле внешнего ключа именуется по правилу: TableName1TableName2ID (например: EmployeeDepartmentID)
Наименование полей данных отражают их содержание, например, DocumentDate
Примечание: MS, например не рекомендует оверхед, т.е. вместо DocumentDate рекомендует просто Date.
Но на практике удобнее изначально иметь оверхед, чем вручную писать и путаться с алиасами при написании запросов. Также удобно при использовании различных генераторов хп и вью.
Вообщем предпочитаю иметь уникальное название поля в рамках всей БД (исключение - ПК)
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35123203
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман ДынникВообщем предпочитаю иметь уникальное название поля в рамках всей БД (исключение - ПК)Тоже но с ПК в том числе <Префикс типа> + <ИмяТаблицы> + <УточняющийCуффикс>
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35125586
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник
Поле внешнего ключа именуется по правилу: TableName1TableName2ID (например: EmployeeDepartmentID)


А что делать, если имеет место двойная (множественная) связь таблиц? Или FK ссылается на вторичный ключ?

Да и ID подразумевает наличие суррогатного ключа, который может отсутствовать. В объектных БД ODI вообще скрыт от пользователя, так что PK можно выбирать живой.

Выходит стандарты сильно зависят от подхода к проктированию БД, а так же от системных ограничений или расширений, так что для каждой БД скорее всего будут применяться свои стандарты именования объектов. Не важно какие, важно, чтобы они просто были и соблюдались.

Интерес представляет просто перечень вопросов, на которые нужно дать ответ в процессе разработки стандарта. Готовые решения полезны только в качестве примера.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35127396
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabВыходит стандарты сильно зависят от подхода к проктированию БД
Выходит - Да :)
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35127812
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фигня! Придумать Самый Лучший Самый Правильный способ именования - и опа! Все базы сами стремительно разработаются. Останется только сидеть в потолок поплёвывая.
...
Рейтинг: 0 / 0
Правило создания таблиц!
    #35128571
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому профессионалы и не любят любителей, что те у них хлеб отнимают.
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правило создания таблиц!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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