Столбец SQLAlchemy Category - PullRequest
       0

Столбец SQLAlchemy Category

0 голосов
/ 24 ноября 2018

Я использую базу данных SQLAlchemy для хранения данных для колб-приложений.Я хотел бы, чтобы один столбец в моей базе данных представлял категорию (например, возможные категории могут быть A, B или C).

Я видел в документации, что это может быть достигнуто с помощью простых отношений, которые связывают две таблицы,Одна таблица для хранения некоторых оперативных данных (включая идентификатор категории и категорию) и другая таблица для связи идентификатора категории с соответствующей категорией.http://flask -sqlalchemy.pocoo.org / 2.3 / quickstart / # simple-Relations

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

Кроме того, если названия моей категории никогда не изменятся, будет ли это плохой практикойиспользовать постоянный список имен категорий для сравнения входных данных с целью их проверки?Если так, то почему?

1 Ответ

0 голосов
/ 24 ноября 2018

Это скорее вопрос SQL, и он вообще не связан с Python.

В любом случае, на самом деле лучше использовать справочную таблицу, как вы впервые предложили.

Вв этом случае таблица Category с отношением один ко многим.Это позволяет вам изменить имя категории и обогатить категорию более подробной информацией (например, описанием), которая может стать полезной в будущем.

Другой способ, использующий константный список, считается плохой практикой, особенно при использовании Enums.Подробнее об этом можно прочитать в этой статье: 8 причин, по которым тип данных ENUM в MySQL является злым

Подробнее об этой дилемме можно прочитать здесь .

Надеюсь, это поможет.

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