So I was reading Roger's "Entity-Relationship Diagramming" document (http://www.rogersaccesslibrary.com/Tutorials/Entity_Relationship.zip), and he mentions that with this method, the fields of the record should depend on the primary key. For example: first name, last name, address, phone number, birthdate... all of those should change when the primary key changes since (theoretically) those are very unique attributes for those records and aren't shared between others.
My database is required to keep track of Missions. These are the attributes for each mission:
to this...
Multiple missions can be performed by the same Unit; multiple missions can take place at the same location, multiple missions can be ISO the same objective; multiple missions can be performed on the same terrain; multiple missions can occur on the same Mission Day; multiple missions can be the same type. All these attributes are shared between missions and therefore not particularly unique to each mission.
I'd like your input and thoughts on changing the design to this. Would the effort be worth it? Would there be any performance differences? Is this overkill or even necessary at all? To give you an idea the size of our database right now, we're approaching record number 1000 in our current mission table, and there ranges from 10-30 missions per day.
My database is required to keep track of Missions. These are the attributes for each mission:
- Mission Day (format: YYAA[ie: 14AA, 14AB, 14AC, 14AD, so on for each day)
- Date (format: mm/dd/yyyy)
- Scheduled Start Time
- Actual Start Time
- Scheduled End Time
- Actual End Time
- Mission # (the # mission for that day. There could be 20 missions in a day, so the mission numbers will range from 1-20)
- Mission Type (Each mission is a certain type)
- Unit (who's tasked to accomplish the mission)
- Priority
- Location (where mission is being performed)
- ISO ("In Support Of"... mission could be in support of a bigger objective)
- Terrain (On *what* the mission is being performed... Examples are Domain Controllers, DMZs, Public Facing Webservers, DNSs, Routers, etc)
- IP Range (IP range of the Terrain)
- Comments (anything pertaining to the mission that at this point in time isn't common enough to make a standard field)
- T-30 Minutes (Yes/No: Units are to notify us 30 minutes before start of the mission that they are ready/preparing to start)
- Status (current status [calculated]: has it completed, was it cancelled, etc

to this...

Multiple missions can be performed by the same Unit; multiple missions can take place at the same location, multiple missions can be ISO the same objective; multiple missions can be performed on the same terrain; multiple missions can occur on the same Mission Day; multiple missions can be the same type. All these attributes are shared between missions and therefore not particularly unique to each mission.
I'd like your input and thoughts on changing the design to this. Would the effort be worth it? Would there be any performance differences? Is this overkill or even necessary at all? To give you an idea the size of our database right now, we're approaching record number 1000 in our current mission table, and there ranges from 10-30 missions per day.