Solved

Building Film Production Database

Posted on 2008-10-02
2
518 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
ID: 22631129
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
ID: 22637667
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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

830 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