Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как грамотно связать таблицы?
|
|||
|---|---|---|---|
|
#18+
Суть проблемы. Дан список студентов и список заданий. Нужно сохранить в реляционной БД (аксесс) информацию о выполненных каждым студентом заданиях. У меня пока лишь одна идея - создать отдельную таблицу (помимо таблицы с n студентами и таблицы с m заданиями) с mxn записями по каждому сочетанию "студент-задание" с указанием логического значения "выполнил/не выполнил" Но мне лично такое решение кажется далеко не оптимальным по причине значительного размера таблицы результатов. Итак, вопрос: существует ли более эффективный способ, и как его можно выразить средствами ERwin, к примеру? И еще один ламерский вопрос (никогда особо не увлекался разработкой БД:) Как обратиться к данным в таблице по ЕК (по СК всегда делал через ВЫБРАТЬ из Таблица ГДЕ СК = значение) интуиция подсказывает, что, возможно, это тоже не вери бест способ выборки и ссылки между таблицами жду ответа:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 17:07 |
|
||
|
как грамотно связать таблицы?
|
|||
|---|---|---|---|
|
#18+
Сам понимаешь это неправильный подход к проектированию баз данных.На блюдечке тебе ответ на твой вопрос врядли сдесь так преподнесут, потому что подобных примеров много в учебниках по SQL и не поленись открой пожалуста и почитай.Овет очень прост просто открой книгу и прочти.Если ты это уже сделал и все равно не разобрался, тогда дело сдесь не обойдется одной таблицей ;) Успехов. P.S.И еще, подобных тем много обсуждалось на форуме попробуй воспользоваться поиском . Побольше почитай топиков . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 17:29 |
|
||
|
как грамотно связать таблицы?
|
|||
|---|---|---|---|
|
#18+
MadKirgiz , Кратность ассоциации между классами Студентов и заданий - многие ко многим, соответственно в реляционных БД это дело реализуется через промежуточную таблицу. Вот только логическое поле мне кажется лишним. Если студент M выполнил задание N, то в таблице Студент_Задание будет запись ID(PK);M(FK);N(FK) а если не выполнил - ничего не будет. Или наоборот, в зависимости от того, данные о чем лучше хранить, а о чем - вычислять - о выполненных или невыполненных. А вот если "состояние выполнения задания" надо характеризовать каким-то более сложным образом, то так сделать уже не получится, и придется хранить все отношения между студентами и заданиями и доп. параметры типа "процент выполнения задания" или еще что-то. Все вышеизложенное - частное мнение, не претендующее на истину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 17:42 |
|
||
|
как грамотно связать таблицы?
|
|||
|---|---|---|---|
|
#18+
Классный форум - за час-полтора уже 2 человека не прошли мимо... Благодарю за помощь. По поводу необходимости логического поля - на этой таблице связей Студент-Задание основана статистика выполненных заданий и оценка успеваемости, так что логическое поле выглядит логичнее:) По поводу книг и поиска - меня хватило на 3,5 часа...:) дальше как-то тяжелее уже А книги нужны, нужны, это да... щас заодно и поглядим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 18:04 |
|
||
|
как грамотно связать таблицы?
|
|||
|---|---|---|---|
|
#18+
MadKirgiz Либо логическое поле и хранение данных о всех взвимоотношениях между студентами и заданиями, либо сохранение информации только о том, что не выполнено (либо выполенно), а остальное можно будет посчитать в косвенном виде, как то, чего нет в таблице. Тогда объем будет меньше. Не вижу, как можно совместить и то и другое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 18:16 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=170&tid=1546526]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 369ms |

| 0 / 0 |
