Помогите мне превратить эти структуры данных в таблицы базы данных - PullRequest
2 голосов
/ 23 марта 2009

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

  1. У меня есть список записей (строк).
  2. Каждая запись имеет свое имя и уникальный идентификатор.
  3. Записи могут делиться именами, но не идентификаторами.
  4. Записи также могут иметь свойства (строки).
  5. Записи могут иметь более одного свойства.
  6. Каждое свойство для каждой записи может иметь собственное значение (строку).

Какая таблица для этих требований наилучшая?

Хорошо, тупой вопрос. В любом случае спасибо за помощь. : Р

Ответы [ 3 ]

3 голосов
/ 23 марта 2009

Таблица ввода, с именем и уникальным идентификатором (PK)

Таблица свойств с PropertyName и ID (PK)

Таблица EntryProperty с EntryID (FK), PropertyID (FK), UniqueID (PK), значением.

2 голосов
/ 23 марта 2009
CREATE TABLE entries (
  INTEGER id NOT NULL AUTOINCREMENT,
  VARCHAR(XX) name,
  PRIMARY KEY(id)
)

CREATE TABLE properties (
  INTEGER id NOT NULL AUTOINCREMENT,
  VARCHAR(XX) name,
  VARCHAR(XX) value,
  INTEGER entryid NOT NULL,
  FOREIGN KEY(entryid) REFERENCES entries (id)
)
1 голос
/ 23 марта 2009

Ну, проблема для меня в том, чтобы понять как обрабатывать записи, имеющие несколько дублирующих свойств. Я создать новую таблицу для каждой записи или что?

Ну нет: -)

Предполагая, что у вас есть таблица ввода и свойства, я предполагаю, что вам потребуется таблица со следующими столбцами:

id, entry_id, property_id, property_value, timestamp

Это помогает или я все неправильно понял?

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