ODBC Как хранить массив строк переменной длины? - PullRequest
0 голосов
/ 02 июня 2010

Y.A.N.Q. (еще один вопрос n00b).

Мне удалось спроектировать мою базу данных, определив таблицы и столбцы. У меня даже есть код для доступа к БД, ууу!

Теперь, один момент, которого я еще не получил в «Ускоренном курсе MySql».

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

Как мне лучше всего справиться с этим? Должен ли я просто объединить строки в одну при записи и разделить их при чтении обратно? Таким образом, мне понадобится только один столбец TEXT.

Или есть предпочтительный способ?

1 Ответ

1 голос
/ 02 июня 2010

Это зависит от вашего приложения. Один из вариантов - наличие двух таблиц Notebook и Note и отношения 1-many между ними. Таким образом, одна тетрадь может иметь много заметок. Каждая заметка состоит из строки и, возможно, даты создания или чего-то еще, чтобы использовать для заказа. Конечно, Notebook действительно может быть любым столом.

РЕДАКТИРОВАТЬ: Да, я думаю, что вы на правильном пути. Это может быть:

Notebook:
  id INTEGER PRIMARY KEY AUTO_INCREMENT

Note:
  id INTEGER PRIMARY KEY AUTO_INCREMENT
  notebook_id INTEGER
  note_text VARCHAR(1024)

Вы можете переименовывать и добавлять поля к каждому. Например, Notebook может быть чем-либо, что требует прикрепленных заметок (например, Project), и может иметь другие атрибуты проекта (например, крайний срок). Примечание может иметь дату, если вы хотите иметь возможность заказать их, кроме как по идентификатору.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...