Отображение базы данных: добавление нового револьвера в конце игры? - PullRequest
2 голосов
/ 25 июля 2011

Давайте использовать цифры и буквы. Мои номера являются моим основным ключом. Они всегда были эксклюзивными, поэтому я позволил базе данных вращаться вокруг цифр. Буквы представляют разные типы данных, которые находятся под числами, которые являются первичным ключом. Иногда есть a_1, a_2, a_n, b_1, b_2, b_n и т. Д.

1 равно a, b и c 2 равно b, c и d ...

Итак, все вращается вокруг числового типа данных.

Теперь, вот где у меня есть ког в моем маре:

a_1 и a_2 равны 1.

Похоже, это не страшно, но есть какая-то проблема с общением. Они равны, когда вы читаете слева направо, но не когда вы читаете справа налево.

Даже если я объясню это другими словами, кажется, что это не имеет значения, но в моем первичном ключе есть проблема исключительности. Я видел пример в книге, где говорилось, что это часто случается со временем. Например, если у вас есть имя человека: «Мэри Смит», а затем она выходит замуж и становится «Мэри Чарльз», тогда вам нужно добавить новое имя. Если вы не планировали это, то вам нужно добавить поле даты. Однако книга не охватывает то, как я могу заставить данные всегда появляться с обоими именами. Итак, я хочу убедиться, что каждый раз, когда кто-то ищет имя Мэри Смит, он получает Мэри Смит; Мэри Чарльз

1 Ответ

0 голосов
/ 24 января 2012

Я не уверен, что это поможет, но вы можете сгенерировать; разделенный список имен в случае, когда у вас есть несколько записей, используя GROUP_CONCAT и GROUP_BY. Например:

SELECT GROUP_CONCAT(Name SEPARATOR ';'), Col2, Col3 FROM People GROUP BY Ssn;

...