2016-03-18 4 views
0

Я новичок в MySQL, и я пытаюсь создать базу данных с помощью Netbeans. Я хочу сохранить в этой базе данных имя (например, строку), а затем неопределенное число целых чисел (я не знаю заранее, сколько бы это было).База данных MySQL с неизвестным числом значений

Единственным решением, которое я нашел до сих пор, является запись значений этих целых чисел в одну строку с указанным разделителем. Есть ли какой-то лучший подход к этой проблеме (какие-то надувные массивы или что-то подобное)?

Я планирую использовать эту базу данных в программе Java.

+0

будут ли эти цифры отфильтрованы, запрошены частично или полностью каким-либо образом сейчас или в будущем? Если это так, нормализуйте данные, а не просто введите их в 1 поле. – xQbert

ответ

1

Вы можете просто добавить несколько записей для одного и того же имени.

Name Number 
------------ 
Test 1 
Test 3 
Test 5 
Other 2 
... 

Затем выберите все записи для этого имени, когда вы читаете их.

+0

Хорошая нормальная форма использования. и позволяет легче фильтровать записи. – xQbert

+0

Что делать, если мне нужно было добавить еще один столбец? Должен ли я повторять его содержание в каждой строке с таким подходом? –

+0

В таких случаях вам может понадобиться создать вторую таблицу, содержащую пары «имя - другой столбец». Затем присоединитесь к ним, когда вы хотите прочитать все сразу;) –

1

Обычный подход заключается в нормализации данных:

имя таблицы

id name 
------------------ 
0 Foo 
1 Bar 

Таблица чисел

id nameId number 
------------------ 
0 0  1 
1 0  5 
2 0  17 
3 1  256 

Каждая запись в имени, имеющий 0..n записи в таблице номеров. Идентификаторы могут быть необязательными в зависимости от других требований вашего приложения. Это может привести к разработке, предложенному г-ном М.

+1

Это хорошая идея, чтобы привыкнуть к наличию столбца id, даже если он синтетический. Конечно, вы можете это усвоить, если это ваша вещь. – Kayaman

Смежные вопросы