Что я должен назвать таблицей, которая отображает две таблицы вместе? [закрытый]

Я думаю, что с оператором может пригодиться при преобразовании шаблонного языка в JavaScript. Например JST в base2, но я видел его чаще.

я соглашаюсь, что можно программировать это без с оператором. Но потому что это не дает проблем, это - законное использование.

126
задан OMG Ponies 6 March 2010 в 05:55
поделиться

21 ответ

В Информатика: инвалидация кеша и присвоение имен объектам
- Фил Карлтон

Придумав хорошее имя для таблицы, которая представляет отношение многие-ко-многим , эти отношения легче читать и понимать. Иногда найти великое имя нетривиально, но обычно стоит подумать о нем.

Пример: Читатель и Газета .

A Газета. имеет много читателей , а Читатель имеет много газет

Вы можете назвать связь NewspaperReader , но имя вроде Подписка может лучше передать, о чем таблица.

Имя Подписка также более идиоматично на случай, если вы захотите сопоставить таблицу с объектами позже.

Соглашение об именах таблиц многие-ко-многим представляет собой конкатенацию имен обеих таблиц, участвующих в отношении. ColourShape будет разумным вариантом по умолчанию в вашем случае. Тем не менее, я думаю, что Ник D предложил два отличных предложения: Стиль и Текстура .

172
ответ дан 24 November 2019 в 00:51
поделиться

Я бы использовал r_shape_colors или r_shape_color в зависимости от его значения.
r_ мог бы заменить xref_ в этом случае.

0
ответ дан 24 November 2019 в 00:51
поделиться

Назовите это таблицей перекрестных ссылок.

XREF_COLOR_SHAPE
(
     XCS_ID INTEGER
     C_ID   INTEGER
     S_ID   INTEGER
)
0
ответ дан 24 November 2019 в 00:51
поделиться

В соответствии с тем, что связано с Developer Art,

ColorShape

было бы обычным соглашением об именах. На диаграмме ER это будет отношение.

0
ответ дан 24 November 2019 в 00:51
поделиться

Трудно ответить на что-то столь же произвольное, как этот, но я предпочитаю идею Тоша назвать это после чего-то в реальном домене, а не некоторое общее описание лежащих в основе отношений.

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

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

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

Все, что сказано, я бы назвал это ПОВЕРХНОСТЬ, если бы я знал, что позже появятся дополнительные поверхностные свойства. В противном случае у меня не было бы проблем называть его SHAPE_COLOR или что-то в этом роде и переходить к более насущным проблемам дизайна.

1
ответ дан 24 November 2019 в 00:51
поделиться

Я бы назвал его точными именами соединяемых таблиц = ColorShape.

0
ответ дан 24 November 2019 в 00:51
поделиться

Я всегда был неравнодушен к термину «гамбургерный стол». Не знаю почему - это просто звучит хорошо.

О, и я бы назвал таблицу ShapeColor или ColorShape в зависимости от того, какая таблица используется чаще.

1
ответ дан 24 November 2019 в 00:51
поделиться

Таблица «Многие-многие». Я бы назвал это «ColourShape» или наоборот.

1
ответ дан 24 November 2019 в 00:51
поделиться

Таблица соединений

ИЛИ Таблица мостов

ИЛИ Таблица соединений

ИЛИ Таблица сопоставления

ИЛИ Таблица ссылок

ИЛИ Таблица перекрестных ссылок

Это используется, когда мы переходим к отношениям «многие ко многим», когда ключи из обеих таблиц образуют составной первичный ключ соединительного стола.

4
ответ дан 24 November 2019 в 00:51
поделиться

Intermediate Table or a Join Table

I would name it "ColorShapes" or "ColorShape", depending on your preference

3
ответ дан 24 November 2019 в 00:51
поделиться

I usually hear that called a Junction Table. I name the table by what it joins, so in your case either ColorShape, or ShapeColor. I think it makes more sense for a Shape to have a color than for a Color to have a shape, so I would go with ShapeColor.

4
ответ дан 24 November 2019 в 00:51
поделиться

A mapping table is what this is usually called.

ColorToShape
ColorToShapeMap
6
ответ дан 24 November 2019 в 00:51
поделиться

Назовите таблицу как хотите, если она информативна:

COLOR_SHAPE_XREF

С точки зрения модели, таблица называется таблицей соединений / сопоставлений / перекрестных ссылок. Я сохранил привычку использовать _XREF в конце, чтобы сделать связь очевидной.

18
ответ дан 24 November 2019 в 00:51
поделиться

Это ассоциативная сущность , которая довольно часто значима сама по себе.

Например, связь "многие ко многим" между ПОЕЗДАМИ и ВРЕМЕНАМИ порождает РАСПИСАНИЕ.

Если нет очевидной новой сущности (например, расписания), тогда соглашение состоит в том, чтобы объединить два слова, давая COLOUR_SHAPE или подобное.

7
ответ дан 24 November 2019 в 00:51
поделиться

Interesting about half of the answers give a general term for any table that implements a many-to-many relationship, and the other half of the answers suggest a name for this specific table.

I called these tables intersections tables generally.

In terms of naming conventions, most people give a name that is an amalgam of the two tables in the many-to-many relationship. So in this case, "ColorShape" or "ShapeColor." But I find this looks artificial and awkward.

Joe Celko recommends in his book "SQL Programming Style" to name these tables in some natural language manner. For instance, if a Shape is colored by a Color, then name the table ColoredBy. Then you could have a diagram that more or less reads naturally like this:

Shape <-- ColoredBy --> Color

Conversely, you could say a Color colors a Shape:

Color <-- Colors --> Shape

But this looks like the middle table is the same thing as Color with a plural naming convention. Too confusing.

Probably most clear to use the ColoredBy naming convention. Interesting that using the passive voice makes the naming convention more clear.

22
ответ дан 24 November 2019 в 00:51
поделиться

Как насчет ColorShapeMap или Style или Текстура .

34
ответ дан 24 November 2019 в 00:51
поделиться

I've also heard the term Associative table used.

a name for your table might be ColorShapeAssociations meaning that each row represents an association between that color and that shape. The existence of a row implies that the color comes in that shape, and that the shape comes in that color. All rows with a specific color would be the set of all shapes the color is associated with, and the rows for a specific shape would be the set of all colors that shape came in...

2
ответ дан 24 November 2019 в 00:51
поделиться

Я работал с администраторами баз данных, которые называют это таблицей соединения .

Colour_Shape довольно типичен, если только отношения не имеют явного доменного имени.

6
ответ дан 24 November 2019 в 00:51
поделиться

Я бы лично выбрал Colour_Shape с подчеркиванием: просто потому, что я видел, что это соглашение довольно сильно изменилось. [но согласитесь с другими сообщениями здесь, что, вероятно, есть более «поэтические» способы сделать это].

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

0
ответ дан 24 November 2019 в 00:51
поделиться

Я голосую за имя, которое лучше всего описывает таблицу. В этом случае это может быть ShapeColor , но во многих случаях лучше использовать имя, отличное от конкатенации. Мне нравится удобочитаемость, и для меня это означает отсутствие суффиксов, подчеркиваний и префиксов.

0
ответ дан 24 November 2019 в 00:51
поделиться

Maybe just ColoredShape?

I'm not sure I get the question. Is this about this specific case or are you looking for general guidelines?

1
ответ дан 24 November 2019 в 00:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: