1

Это база данных об актерах и фильмах. Я тоже хочу заполнить их по возрасту, чтобы я мог ответить на вопросы:

  • в каком возрасте они сняли свой последний фильм.
  • Какой средний возраст, когда они снимали свои фильмы?

и т.д. Это мои предложенные таблицы: Таблица актеров с полями:

  • название
  • возраст
  • название фильмов
  • год снятых фильмов

Кинопленка с полями:

  • название фильмов
  • год снятых фильмов
  • имена актеров в этом фильме

Что было бы лучше всего использовать в качестве ключа?

C. Тогда мне, вероятно, понадобится таблица ссылок с полями:

  • Актеры
  • Фильмы

Для всех 3 таблиц: Какое поле лучше всего использовать в качестве ключа?

мой следующий вопрос: какие еще таблицы мне понадобятся?

И Access 2003 является единственным, на который у клиента есть лицензия. Труд любви, волонтерство.

1 ответ1

1

Для меня это были бы три разные таблицы.

  1. Актеры:
    • actorTableKey
    • имя актера
    • дата рождения актера (возраст можно рассчитать динамически, вычитая DOB из текущей даты)
    • актерская биография
    • здесь нет списков фильмов
  2. Фильмы
    • filmTableKey
    • название фильма
    • описание фильма
    • дата выхода фильма
    • нет актеров списки здесь
  3. Таблица связывания
    • actorTableKey
    • filmTableKey

Таблица связывания просто перечисляет actorTableKeys и связанные с ними filmTableKeys.

Затем вы можете сделать groupby actorTableKey в Linking Table чтобы получить список filmID, соответствующих каждому актеру, и наоборот, groupby filmTableKey чтобы получить актеров по фильмам.

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

Это отношение «многие ко многим», использующее то, что называется доступом к соединительной таблице.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .