Solved

Building Film Production Database

Posted on 2008-10-02
2
514 Views
Last Modified: 2013-11-05
I am attempting to build a film production database. Allow me to define:

Tables:

Films
     ID, Name, (other info)
Scenes
     ID, FilmID (which film the scene is from), Scene no., (other info)
Characters
     ID, FilmID, SceneID, Name, Actor (PersonnelID)
Personnel
     ID, Name, (other info)

Etc. That's the basic structure, with a lot more tables than just characters, like props, make-up, etc.

I've built the tables but I'm running into a problem. Each scene should be able to have several characters, props, etc. I assume I would want to make a table as follows:

Scene Items
     ID, FilmID, SceneID (who's lookup is dependent on the selected FilmID), ItemID (like CharacterID, PropID)

The problems are the following: making one lookup dependent on the other (ie SceneID dependent on FilmID) and finding a way to make ItemID attach itself to ALL the item tables( eg. Characters, Props) and select only one. So it might end up like the following for a scene with two characters and a prop:

Scene Items

1     Glass     1     Jenna (in Characters table)
2     Glass     1     Nathan (in Characters table)
3     Glass     1     Nathan's Phone (in Props table)

I suppose I could include a type field...

1     Glass     1     Char     Jenna (in Characters table)
2     Glass     1     Char     Nathan (in Characters table)
3     Glass     1     Prop     Nathan's Phone (in Props table)

But the lookup Item field would still have to be dependent on the type field, which as I proved above, I seem to be lost on. Thanks.
0
Comment
Question by:rose1013
2 Comments
 
LVL 10

Accepted Solution

by:
slamhound earned 125 total points
Comment Utility
You probably need some sort of linking table. This will allow for many to many relationships.

FilmID, ItemID (where ItemID can be any character, prop etc), ItemType (All props will be ItemType 1, characters will be ItemType 2 etc)

This way the linking table will contain everything that a film owns.

0
 

Author Comment

by:rose1013
Comment Utility
Good. I expected that would be the right way to go. Therefore, how do you set up that self-dependent relationship?
ie
You have 2 tables: Films and Scenes
You have a linking table: Scene Items

Films has FilmID, Film Name
Scenes has SceneID, Scene No., FilmID (which film the scene is from, since the DB will contain a running catalog of all production info related to each film produced)

Scene Items has ItemID, FilmID (which film we're talking about), SceneID (which gives only scenes with the same FilmID as this records)

As you can see, [Scene Items].SceneID's possible choices are directly dependent on the input found at [Scene Items].FilmID. For some reason the answer eludes me.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

In Debugging – Part 1, you learned the basics of the debugging process. You learned how to avoid bugs, as well as how to utilize the Immediate window in the debugging process. This article takes things to the next level by showing you how you can us…
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now