Архитектура БД для экспорта таблицы

128
15 декабря 2016, 15:53

Заранее извиняюсь за много букв.

1. Входные данные

Есть 2 таблицы:

// theme - тематика
id | num | description
// project - проекты
id | description

Эти две таблицы связаны 3-ей таблицей, Много ко Многим.

По структуре: Тема содержит несколько Проектов. По каждому проекту можно узнать сумму затраченных часов, т.е. для Темы рассчитать часы тоже можно.

2. Решаемая мной задача

Возникла необходимость создать экспорт шаблонный, настраиваемый (из php) в Excel. Значит шаблон должен храниться, я выбрал место хранение - таблица в БД. В качестве шаблона подразумевается только шапка таблицы.

3. Особенности шаблона:

  • Столбцом может быть как Тема, так и Проект
  • Темы и Проекты могут быть сгруппированы

К примеру:

Тема1 1)
  - проект1 (п1)
  - проект2 (п2)
Тема2 2)
  - проект1 (п1)
  - проект3 (п3)
Тема3 3)
  - проект1 (п1)
  - проект4 (п4)

Данную структуру чтобы можно было сформировать такой шаблон:

Группировка1  | Т2 | Т3.п1 | Т3.п4 |
Т1.п1 | Т1.п2 |    |       |       |

4. Мои задумки / начало проектирования

Создать таблицу, одна строка которой будет содержать либо "Группировку", либо "Тему" (ссылку), либо "Проект" (ссылку) и настройки.

id            // 
id_theme      // ссылка на тему
id_project    // ссылка на проект
description   // описание, название колонки
parent        // для темы и проекта - отношение к группировке
order         // порядок

сочетание id_theme и id_project формируют вид - Группировка (оба null), Тема (id_project = null), Проект (оба заданы).

Но с такой структурой возникают некоторые сложности с редактированием.

5. Вопрос

  • В правильную ли меня сторону вообще заносит в подходе к данной задаче?
  • Есть ли более лучший (по структуре / производительности / простоте) подход?
READ ALSO
Все элементы, родитель которых - корневой

Все элементы, родитель которых - корневой

Есть таблица с такой структурой:

147
Php запись из БД в xml

Php запись из БД в xml

У меня есть база данных с картинками и текстом, как сделать так чтобы все данные из базы записались в xml файл, с помощью php скрипта может быть?...

153
Сравнение данных их двух таблиц и занесение данных в третью

Сравнение данных их двух таблиц и занесение данных в третью

Доброй ночи! Проблема такаяЕсть две таблицы в БД - в одной "ответы студента на тест", в другой "ключи к тесту"

133