|
|
|
Пожалуйста, помогите додумать схему БД
|
|||
|---|---|---|---|
|
#18+
Ребят, испытываю большие трудности в проектировании структуры БД, т.к. никогда их не любил и не особо понимал зачем это нужно, когда все возможно реализовать на программном уровне, не ломая мозг с этими схемами =) Тем не менее необходимо это сделать. Сегодня днем предзащита, так что надеюсь вы мне сможете помочь... Буду очень признателен! Итак, моя прога представляет пользователю тренировочную программу в зависимости от его телосложения, и если он пожелает, то может изменить предложенную программу на свою.. Упрощенная структура: Таблица user содержит логин-пароль ("fear","121212"), а также тип (tip) телосложения (один из трех - заранее определенных разумеется - например выбрали "эктоморф"). Далее в таблицу programname передается значение типа телосложения. Оттуда поступает инфа в таблицу programs, которая содержит собственно заранее заданную программу упражнений по заданному типу телосложения: Пример записей в этой таблице: 1 эктоморф жим_лежа 2 эктоморф становая и т.д. Теперь предположим, что пользователь меняет что-то в этой программе, скажем, удаляет ненужную упражнение (ненужную строчку). Как только он изменил что-то в программе "эктоморф", создается новая программа, в которой уже поле programs (таблицы programs)содержит значение с логином пользователя (fear). Пример: Пользователь fear, выбрал тип "эктоморф", получил программу "эктоморф", состоящую из следующих упражнений: 1 эктоморф жим_лежа 2 эктоморф становая 3 эктоморф приседания Он решил, что в принципе программа норм, но вот приседать ему нельзя, и он решил убрать "3 эктоморф приседания". Тогда уже в таблицу programs следующее значение: 4 fear жим_лежа 5 fear становая Вопросы: 1) как передать сюда логин пользователя, когда начальные программы определяются по типам, а потом уже (после их изменения) определяются по имени пользователя... 2) В таблице user, ключевым полем является tip, но это неверно, должен быть login - но я не знаю как решить эту проблему, т.к. на начальном этапе формировании программы нам надо передавать именно тип телосложения. Не знаю, понятно ли объяснил... Все это сделать программно - как два пальца для меня, а вот описать верную структуру не могу, хотя пытался - честно пытался и довольно долго [img=]:( Помогите, пожалуйста... Заранее благодарю![img=] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2011, 13:07 |
|
||
|
Пожалуйста, помогите додумать схему БД
|
|||
|---|---|---|---|
|
#18+
The_Immortal, что то у вас все слишком сложно. 1) Непонятно зачем нужна таблица programname, хранящая одно поле info и имеющая связь 1 к 1 с programs, не проще это поле перенести в programs? Программы связаны с пользователями через id_program, а вы пишите что начальные программы определяются по типам, а потом уже (после их изменения) определяются по имени пользователя, как это так? После изменения программы должна создаваться новая запись в таблице programs, а в таблице user в поле id_program пробиваться ее идентификатор. 2) Не вижу проблемы, возьмите и создайте ключ на поле login ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2011, 04:43 |
|
||
|
Пожалуйста, помогите додумать схему БД
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. The_Immortal Все это сделать программно - как два пальца для меняОчень сомневаюсь, что вы можете сделать то что не только не в силах описать, но и никогда их не любил и не особо понимал зачем это нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2011, 08:55 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1542157]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 412ms |

| 0 / 0 |
