Какие таблицы мне понадобятся для базы данных следующего человека, созданной в MS Access 2003?

398
GwenKillerby

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

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

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

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

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

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

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

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

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

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

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

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

1
Ваша критика кажется сомнительной, учитывая тот факт, что Мокубай довольно точно ответил на все мои вопросы. И точно. Но я непредубежден, поэтому: как вы думаете, я должен сделать этот вопрос менее широким? Я действительно спрашиваю, я надеюсь, что вы можете мне помочь. Пожалуйста, уточните, где я должен быть более точным. Итог: как вы думаете, что я могу улучшить вопрос и его подвопросы? Если вы не можете придумать, как я могу это сделать, я прошу вас отложить этот вопрос. Пожалуйста, не держи прошлое против меня. Это предубеждение. Спасибо! GwenKillerby 6 лет назад 0
конечно я имел ввиду ВЫКЛ держать. пожалуйста, удалите на удержание вещь. GwenKillerby 6 лет назад 0

1 ответ на вопрос

0
Mokubai

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

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

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

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

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

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

@ Mokubai: я доволен этим ответом, он довольно адекватный, но, естественно, я надеюсь, что кто-то, кто более актуален в Access 2003, сможет улучшить его, где он / она выразил неуверенность. GwenKillerby 6 лет назад 1