Помогите правильно составить таблицу базы данных

Если тебе потребуется выдернуть только те объявления, которые имеют отмеченный чекбокс site и не отмеченный sms придётся юзать поиск по текстовому полю, что работает значительно медленнее проверки полей TINYINT или битовых масок или даже математических операций.

Если думаешь, что справишься - делай битовые маски - это наиболее производительный способ для высоконагруженных приложений, но может быть сложным в реализации, если не знаком с концепцией.
В противном случае делай 100500 полей по количеству чекбоксов и не парься, что их слишком много, придёт время отрефакторишь.
Это настройки у каждого юзера. Типо куда отправлять уведомления, почта,сайт,смс. для каждого типа уведомлений 3 типа отправки. можно выбирать в настройках все 3 типа отправки для каждого уведомления
 
Тоже задался этой целью.
Точнее у меня задача стоит следующим образом: сделать форму для создания форм поиска на сайте.
То есть в БД должны храниться шаблоны форм, а потом в конкретном месте собираться в форму с помощью «перетащи и брось».

Вот что придумалось пока.
Все значимые элементы форм (инпуты, селекты) содержат поля: Имя (name), Значение (value) или массив значений, какой-то поясняющий текст.
Соответственно — минимальный набор не поместишь в одной таблице. Всё из-за того, что Значения могут быть массивом.

Примерная структура БД
1. Таблица инпутов
— ИД (автоинкремент)
— Тип (инпут, селект и т.п.)
— Текст (который будем писать рядом или внутри поля)
— Шаблон (преобразование типа в конечный элемент формы)
— Стиль элемента формы
2. Таблица значений
— ИД (автоинкремент)
— ИД связанного инпута
— Само значение

И вот тут-то и возникает вопрос. Ради использования массива в значениях (фактически это — селект, инпут типа радио и новый тип ранже) — приходится использовать 2 таблицы. И соответственно будут и 2 запроса. Ну вот нафига? Оккама бы не одобрил.

Может как-то по-другому спроектировать? Чтобы была одна таблица?
Есть мысли по этому поводу? Может где в фреймворках такое уже есть?
Думаю, что кто-то таким уже заморачивался, не может быть чтобы этот вопрос не возникал.
 
Последнее редактирование:
в таких случаях я всегда пользуюсь Php admin на c-panel она уже предустановлена
 
Назад
Сверху