Я создаю базу данных с помощью Access. Это просто тестовая база данных, похожая на мои требования, так что я могу получить свои навыки, прежде чем создавать ее для работы. Я создал базу данных для вымышленной школы, поскольку это хорошая игровая площадка и богатые данные (у многих учеников много предметов, много учителей и т. Д.).
Вопрос 1
В чем разница, если она есть, между использованием столбца «Уточняющий запрос» и таблицы «многие ко многим»?
Пример: у меня есть таблицы «Учитель» и «Тема». У многих учителей много предметов. Я могу создать таблицу Teacher_Subject и выполнять запросы с этим.
Затем я создал справочную колонку в таблице учителей с данными по предметам. Похоже, что столбец поиска занимает место таблицы teacher_subject. (хотя данные о взаимоотношениях явно дублируются между справочной таблицей и teacher_subject и могут различаться). Какой вариант «лучше»? Есть ли проблема с использованием справочных таблиц?
(Я понимаю, что это очень «общий» вопрос. Ссылки на другие ресурсы и ответы, говорящие «это зависит ...», приветствуются)
Вопрос 2
Что привлекает меня в таблицах поиска, так это следующее: при создании формы для ввода предметов для учителей с помощью поиска я могу просто создать флажки и щелкнуть тему для учителя «включено» или «выключено». Каждый клик вкл / выкл создает / удаляет запись в столбце поиска (который заменяет teacher_subject).
Если я использую форму из запроса от предмета учителя с учителем в качестве основной формы и предмета в качестве подчиненной, я сталкиваюсь с этой проблемой: В подчиненной форме я могу выбрать любой предмет, который есть у учителя, в поле Bombo, то есть нажать, прокрутить вниз, выбрать , перейти к следующей строке, щелкнуть, прокрутить вниз и т. д. (занимает слишком много времени) ИЛИ Я могу создать список, в котором перечислены все доступные темы в каждой строке, но можно выбрать только одну. (занимает слишком много места). Возможно ли иметь список включения / выключения для учителя_субъекта, создавая / удаляя там записи с каждым кликом?
Примечание. Я знаю ноль SQL или VB. Если правильный ответ «вам нужно знать SQL для этого», то это круто. Мне просто нужно знать.
Спасибо!