@zxcursed

Как спроектировать базу данных слов?

Необходимо хранить в базе набор слов/фраз при этом иметь возможность удобно селектить средствами php/react js и так же апдейтить, как лучше всего подскажете это сделать? Слов не более 100-150 будет
В голове идея создать varchar ячейку и в неё через запятую всё записывать. (необходимо затем ещё удобно это всё селектнуть и запихнуть в один массив)
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 2
@MEDIOFF
Python Developer
| words |
+ ------ +
| lalala |
| ... |

Вот так, ячейку, да, Varchar, каждое слово отдельно храните, через запятую не удобно селектить, почитайте про нормализацию
Ответ написан
Комментировать
@Akina
Сетевой и системный админ, SQL-программист.
В голове идея создать varchar ячейку и в неё через запятую всё записывать.

С точки зрения работы с СУБД хранение массива данных в виде CSV-значения - крайне неудачный вариант. И весьма проблемный в обработке. Впрочем, если речь идёт о достаточно статичном массиве данных в сотню записей - вариант допустимый.

Нормализованная структура, удобная в обработке, может выглядеть, например, так (само собой, это только кусок для хранения слов и фраз):
CREATE TABLE words (
    word_id INT AUTO_INCREMENT PRIMARY KEY,
    word VARCHAR(255) UNIQUE NOT NULL
);

CREATE TABLE phrase (
    phrase_id INT NOT NULL,
    FOREIGN KEY (phrase_id) REFERENCES phrases (phrase_id),
    word_id INT NOT NULL,
    FOREIGN KEY (word_id) REFERENCES words (word_id),
    word_position INT,
    PRIMARY KEY (phrase_id, word_position)
);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы