94 | | Many types of things are associated with an incident. The "relational" way to do this, without adding fields to entities, is to add relationship tables that associate an incident with each of the types. That is, there would be an "incident assessments" table that says which assessments go with which incident, and so-on for the other associated types. This allows overlap. When an entity is no longer needed for an incident, it's relationship can be deleted or "expired" by setting an end date. (If a "paper trail" is needed, i.e. a record of what was used for each incident, there are several ways of providing that. One is to add start and end dates to the relationship. Since those could clutter the table, one could dump / pickle historical data, or move them to a parallel set of "expired" relationship tables. Keeping it online would be more convenient for preparing reports. Simplest is to leave them in the main incident relationship tables but set their end dates.) |
| 102 | ==== Use relationship tables ==== |
| 103 | Many types of things are associated with an incident. The "relational" way to do this, without adding fields to entities, is to add relationship tables that associate an incident with each of the types. That is, there would be an "incident assessments" table that says which assessments go with which incident, and so-on for the other associated types. This allows overlap. When an entity is no longer needed for an incident, it's relationship can be deleted or "expired" by setting an end date. |
| 104 | |
| 105 | (If a "paper trail" is needed, i.e. a record of what was used for each incident, there are several ways of providing that. One is to add start and end dates to the relationship. Since those could clutter the table, one could dump / pickle historical data, or move them to a parallel set of "expired" relationship tables. Keeping it online would be more convenient for preparing reports. Simplest is to leave them in the main incident relationship tables but set their end dates.) |