#mysql #database #database-design #relational-database
#mysql #База данных #база данных-дизайн #реляционная база данных
Вопрос:
Я совсем новичок в этом, поэтому я хотел бы получить отзывы о том, как я должен структурировать эти категориальные базы данных.
Итак, допустим, у нас есть компьютерный вентилятор со светодиодной подсветкой. Светодиодный вентилятор имеет цвета, и я хочу, чтобы пользователи могли фильтровать по цвету. Очевидно, что существует довольно много цветов, поэтому я пришел к трем выводам для реализации этого.
-
Используйте ENUM . Однако я прочитал несколько тем об ее использовании, которые могут быть проблематичными, и почти исключил эту.
-
Создайте столбец для каждого цвета и используйте логические значения, чтобы отметить, какого цвета будет светодиодный вентилятор. Я предполагаю, что этот метод потребовал бы большей производительности, но я не эксперт и должен быть исправлен.
-
Используйте varchar и вводите значения цвета вручную, что потенциально может привести к вводу неправильных входных значений, но к экономии производительности?(Вопросительный знак, потому что я понятия не имею о производительности в базах данных.)
Если бы я мог получить несколько мнений, я был бы признателен! Заранее благодарю вас!
Комментарии:
1. В основном зависит от а) запросов, которые будут выполняться, б) возможно ли более одной категории для одного и того же элемента в) как часто будут добавляться категории. Если вы сомневаетесь в производительности базы данных, попробуйте и убедитесь.
2. Обычно вы должны поместить эти параметры в отдельную таблицу и использовать отношение «один ко многим» или «многие ко многим».
3. Создайте инструкции
INSERT
andSELECT
для каждой реализации. Это упражнение может привести вас к принятию собственного решения.