Ответы пользователя по тегу Базы данных
  • Как лучше спроектировать бд?

    delphinpro
    @delphinpro
    frontend developer
    Второй вариант.

    Вы там в самом начале написали условие получения наград - и/или
    Это предполагает, что за задание может выдаваться несколько наград (диплом и мерч к примеру).

    Значит вам нужна связь между таблицами задач и наград "многие-ко-многим" с промежуточной связной таблицей.

    Учитывая, что награды бывают разных типов, то имеет смысл определить для каждого типа свою таблицу и организовать полиморфную связь.

    таблица tasks
    id | other_fileds...
    
    таблица rewards_diplomas
    id | other_fields...
    
    таблица rewards_currencies
    id | other_fields...
    
    и т.д.
    
    reward_task - связная таблица
    
    task_id | reward_type | reward_id
    task_id     - идентификатор задачи
    reward_type - тип награды (diploma, currency..)
    reward_id   - идентификатор награды из соответствующей таблицы


    Из плюсов - расширяемость. Из минусов - усложнение запросов выборки и невозможность использования внешних ключей и ограничений.
    Ответ написан
    Комментировать
  • Как сделать ограничения кликов по времени?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Вы можете использовать любое хранилище - БД, куки, локальное хранилище, сессию.
    Куки и localstorage в принципе можно поправить или вовсе очистить средствами браузера.
    БД или php-сессия в этом смысле более надежна.

    А сам принцип один, вне зависимости от того, какое хранилище вы будете использовать.
    1. Клик
    2. Проверить, сохранено ли время предыдущего клика
    3.1. Если нет, то разрешить голосование. И сохранить время.
    3.2. Если да, то проверить время.
    3.2.1. Если прошло достаточно, разрешить голосование и сохранить время
    3.2.2. Если нет, ничего не делать или сообщить пользователю, что он слишком увлекся.
    Ответ написан
    Комментировать
  • Как организовать хранение заявок и клиентов в БД?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Я бы сделал одну таблицу
    application_orders с полями
    id, type, name, phone_number, email, message.
    type - тип заявки - продукты или звонок
    Ответ написан
    4 комментария
  • Где хранить логотип веб-сайта?

    delphinpro
    @delphinpro
    frontend developer
    Возможно у вас уже есть таблица с глобальными настройками для сайта. Вот туда и запихните логотип.
    Но, соглашусь, требование странное. Можно так же хранить логотип на диске, можно даже в отдельной папке, и параметр в админке, для выбора/загрузки лого.
    Ответ написан
    1 комментарий
  • Верна ли структура БД?

    delphinpro
    @delphinpro
    frontend developer
    user_comments – не нужно. У каждого коммента может быть только один пользователь. Значит здесь нужна связь Один-ко-Многим. Достаточно поля user_id в таблице комментариев.

    По поводу product_comments

    Если на сайте комменты только для товаров, то product_comments тоже не нужны. Один коммент для одного товара. Просто поле product_id в таблице комментариев.
    Но если планируется комментить не только продукты, но и, допустим статьи или отзывы на сайте, тогда нужна полиморфная связь многие-ко-многим.
    То есть таблица commentable с полями

    commentable_type – тип объекта для комментирования (продукт, отзыв, статья)
    commentable_id – идентификатор объекта комментирования
    comment_id – идентификатор комментария
    Ответ написан
  • Какие существуют бесплатные базы данных?

    delphinpro
    @delphinpro
    frontend developer
    Ответ написан
    Комментировать
  • Зачем таблицам в базах данных многих сайтов задают префикс?

    delphinpro
    @delphinpro
    frontend developer
    Иногда бывает одна и та же база используется для нескольких сайтов. Чтобы таблицы не путались, их префиксуют.
    Ответ написан
    Комментировать
  • Какую выбрать СУБД для небольшой фирмы?

    delphinpro
    @delphinpro
    frontend developer
    у нее база данных за 2 -3 года 150мб

    Это вообще ни о чем. Даже несколько гигов - фигня. Что для мускула, что для постгри. Берите ту, что лучше знаете.
    Ответ написан
    Комментировать