База данных Mysql - PullRequest
       1

База данных Mysql

0 голосов
/ 25 марта 2012

Я создал следующую схему базы данных и начал кодировать приложение. Чем больше я читаю, тем больше я понимаю, что моя структура базы данных, вероятно, неверна / неэффективна / плохая идея. Прежде чем разрабатывать слишком много кода с использованием этого макета, я хочу убедиться, что я делаю это «правильно».

В основном у меня есть список из ~ 2000 магазинов и список из ~ 50 промо-кодов. Мне нужно хранить, является ли каждый код действительным в каждом магазине. Прямо сейчас я решил сохранить каждый номер магазина в качестве заголовка столбца, причем первый столбец содержит все возможные коды. Вот изображение части таблицы до сих пор (1 представляет действительный код, 0 недействителен в этом магазине).

Промо-коды будут меняться относительно часто, но номера магазинов должны быть относительно статичными и не сильно меняться.

Я впервые создаю базу данных с нуля, как эта, и я новичок в использовании mysql, поэтому любая помощь очень ценится!

Ответы [ 2 ]

2 голосов
/ 25 марта 2012

Этот тип отношений называется «многие ко многим». У меня обычно есть три стола для такого типа ситуации. Одна таблица для магазинов, одна для промо-кодов и третья реляционная таблица, которая будет иметь два столбца: идентификатор магазина и идентификатор акции.

2 голосов
/ 25 марта 2012

Вам лучше использовать таблицу для своих магазинов. Если вы этого не сделаете, когда будет добавлен один магазин, вы потратите много времени на добавление нового поля ...

Вот что я бы сделал:

table store will contains your 2000s stores
    id
    name

table code will contains your 50 codes
    id
    name

table code_store will contains only the valid codes ID, and related store_id(no need to save invalid ones I guess)
    code_id
    store_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...