Дизайн базы данных MySQL - контрольный список/приложение викторины

StackOverflow https://stackoverflow.com/questions/3992328

Вопрос

В настоящее время я «изучаю» Codeigniter, PHP и MySQL одновременно, когда я пытаюсь создать веб -сайт «Контрольный список», где посетители регистрируются, создают проект и задают список вопросов, где они должны вводить определенные поля

Я немного застрял на моем DB-Design ... (на самом деле полностью застрял)

Что сводится к ...

1 Проект может иметь один из 3 типов. "Тип A/B/C"

Наберите "А имеет 20 вопросов

Тип б = Тип A + 15 вопросов

Тип c = Тип B + 15 вопросов ...

Так что в основном я хотел бы легко сказать, вопрос А Наберите "А И/или Тип б но не c.

Теперь я не знаю, правильно ли то, что я делаю, но я в основном делаю две таблицы, а затем устанавливаю отношения между ними «многие ко многим» (я думаю?) N: M в MySQL Workbench

ProjectType
id
ProjectTypeName

Questions
ID
Title etc...

ProjectType_has_Questions
ProjectType_id
Questions_id

Кроме того, каждый вопрос «не должен» иметь 3 результата (текущие факты) и 3 исправления (улучшение результатов).

Я не знаю, имеет ли это какое-либо смысл для кого-либо здесь, конечно, черт возьми, меня обрушивает:-/

Какие-нибудь мысли?

PS: Я пытался прикрепить изображение, но, видя, что это мой первый раз, когда я использую сайт, это не разрешено.

Это было полезно?

Решение

Я отвечу на то, что я понимаю здесь. Было несколько других вопросов, которые я прокомментировал в вашем вопросе.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top