Подтвердить что ты не робот

Что такое таблица поиска?

Я только что дал диаграмму базы данных для базы данных, созданной мной для нашего руководителя базы данных, и она поставила кучу заметок на ней, предлагая переименовать определенные таблицы, чтобы было ясно, что они представляют собой таблицы поиска (добавьте "lu" в начало имени таблицы).

Моя проблема в том, что они не соответствуют определению того, что я считаю таблицей поиска. Я всегда рассматривал таблицу поиска в основном как набор опций, которые не определяют отношения. Пример:

luCarMake
-----------
id    Make
--    ---------
1     Audi
2     Chevy
3     Ford

Лицо базы данных при моей работе указывает на то, что я переименовываю несколько таблиц, которые являются только идентификаторами, сопоставляющими одну таблицу с другой как таблицы поиска. Пример (Location_QuadMap ниже):

Location
----------
LocationId
name
description

Location_QuadMap <-- suggesting i rename this to luLocationQuad
----------------
QuadMapId
LocationId

luQuadMap
---------
QuadMapId
QuadMapName

Можно ли предположить, что она неправильно читает диаграмму или есть другое определение, о котором я не знаю?

4b9b3361

Ответ 1

То, что у вас там, называется таблица соединений. Он также известен как:

  • таблица перекрестных ссылок
  • Таблица моста
  • присоединиться к таблице
  • Таблица карт
  • таблица пересечений
  • таблица ссылок
  • Таблица ссылок

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

Ответ 2

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

Если это соглашение об именах для других баз данных, то я бы не стал удачи.

Ответ 3

Таблица поиска обычно представляет собой таблицу, которая действует как "главный список" для чего-то, и вы используете ее для поиска значения бизнес-ключа (например, "Make" ) в exachange для его идентификатора (например, столбца id) для использования в другой таблице столбец внешнего ключа.

В принципе, вы приходите с чем-то, чтобы "искать" и обменивать его на что-то другое.

Location_quadmap с другой стороны - это таблица моста, которая, как уже говорили другие, используется, когда у вас есть отношение "многие ко многим" между двумя объектами. Если вы вызовете эту таблицу поиска, я бы сказал, что любую таблицу можно назвать поисковой таблицей. Эти таблицы содержат только идентификаторы для других таблиц, поэтому вам придется сначала искать идентификатор в одной таблице, искать идентификаторы, которые соответствуют таблице моста, а затем искать соответствующие строки (строки) в 3-й стол? Кажется, что этот термин слишком затянулся.

Ответ 4

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

Ответ 5

Mark Byers имеет правильное определение для этой таблицы. В основном таблица пересечений. См. Учебник по базе данных.

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

Поэтому постарайтесь указать ей, но если она не согласна с этим, не воспринимайте это слишком серьезно...

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

Ответ 6

Таблица поиска - это таблица, содержащая только идентификатор, имя и описание какого-либо объекта/объекта/вещи. Идентификатор - это первичный ключ и auto_increment. Больше ничего.