Managing your ideas, A worked example
Managing your Ideas – an example:
Keeping track of a fantasy world design
When your imagination (or any serious thinking) is working on a project that requires a lot of information to be managed and it is going to carry on expanding into the foreseeable future, then you need to find a good way of keeping control of all of that information.
This page looks at a real example of a database design for doing just that. It does not explain too much about the process of doing the design since that is covered in the main article, it just considers what the database structure and connections are for this specific design
It is based upon the one I designed to keep track of the (ever expanding) information for my fantasy world design. It will take you through the thought process on how to identify the type of information that is to be stored in the database, how they related to each other and the basic layout structure required for the database. At the end is a short piece on implementing the database design using Web Pages local to the PC (not part of the World Wide Web).
- To first learn about managing your own ideas in general, as well as an introduction to databases, go to Managing your ideas and plans
- If you are interested in learning about how to share ideas with others and keep track of shared information than see Sharing Ideas (Shared data)
Database example – Fantasy world design management
When it comes to the writing of fiction it is essential that you have some method of keeping track of all of the complex information that relates to the story if you do not want inconsistencies to appear. This requirement is especially true for the writing of fantasy fiction since a fantasy world needs to be created within which the stories take place, this needs to include details such as places, characters and culture. So a method of cross referencing quickly between these categories is essential as all of them interlink with each other to some extent.
The only way to keep track of this sort of information is to create a database structure that includes the following properties:
- It is capable of accommodating the different types of information (people, places, items, …)
- It provides an easy way of entering all of the details
- It provides an efficient way of moving around between the information
- It needs to be easy to maintain as it is likely to be updated frequently!
1) Identifying the key categories for your data
The key aspect to managing complex information is to identify the categories under which the information is to be archived; for every piece of data must belong to a category that defines its main purpose. These categories should be kept as ‘simple’ as possible and as ‘few’ as possible
For the fantasy world the key subject areas (categories) that were identified are:
- World Structure — Geography, towns etc.
- Culture — Behaviour to others and social standing
- History — What lies behind the stories
- Characters — The people and creatures found in the stories
- Special — Special items and magical creatures
- Stories — The telling of their tales
- Time line — The passage of time and when the story occurred
Useful Tip – an ‘everything else‘ category may take care of any odds and ends that are not easy to classify. In some ways the ‘Special’ category fulfilled that purpose here.
2) Identifying the attributes for each category
Once the categories have been identified then you need to look at the information that relates to a category, and identify the different attributes that exist within that category. For example the Character category would have age and name as part of its attributes. Sometimes an attribute may have attributes of its own – but lets not go there!
Attributes can be of different formats – for example an attribute can be a value (such as someone’s age), a selection from a pre-defined list (e.g. weapon types) or as a ‘descriptive attribute’, where details are provided in an easily readable way
Some of the attributes identified for the different categories include:
- Characters — Character Name, Age, history, possessions, family and friends, stories they appear in (pre-defined list), …
- Special — Item type (possibly from a list of types (weapon, creature, …)), its purpose, its special features, its history, …
- Time line — A date for a moment in time and the events associated with it (chronological list). In the case of a chronological list this may include details from more than one story or may relate to something just referenced in a story – During time X, event A happened in location A, whilst event B happened in location B where person C died
Testing it out: Once the attributes for each category have been identified, test it by creating a couple of pieces of data and entering their attributes into their categories, this will help you to see if you have missed anything (see main article for more info).
3) Identifying the inter-connectivity between the categories
One of the major aspects of information stored in a database is that, quite often, it does not work in isolation. An action upon a piece of data in one category may have an impact on data in another category
Fantasy world inter-connectivity
There is a lot of inter-connectivity in the fantasy world. To summarise:
The Stories contain Characters who are travelling through the World (landscape/towns) and interacting with the Culture within this world; each story will have a History behind it and will have its own place on the Time line, and at any given moment may have some Special feature in play!
Every category therefore has a connection with at least one other category, they all work together to make a whole, a change in one category has a chance of requiring a change in another. A new Story will need to be put onto the Time line, may have introduced a new area requiring the World to be updated, introduced another Special feature of the World, and so on…
Any inter-connectivity requirements between the categories will need to be identified and recorded before you start to build in the complexity into your database
If there is a relationship between categories, then within each category make a simple note of its relationship to the other category and what that relationship is – For this design some examples are:
- Every Character will have a connection with the Story category. Therefore the Character and Story categories will need a note made that they share a relationship.
- In this instant the connection is that Stories involve Characters and Characters exist within Stories. When a story causes a character to perform some special feat, the Character will be updated that it has performed this feat whilst the Story will need to be aware that the Character does that feat during its telling.
- A Story may cause a new area of the World to be explored. Therefore the Story will have a connection to World in that it has visited that location. However the World will not have a connection to Story
- World is used purely for world location and description, no area will have an awareness of what happens there. A valley will not know that a band of riders raced through it – even if a startled squirrel in a tree may have known about it.
4) Identifying the connection between categories and attributes
Once you have identified the interconnections between categories, you will then need to look to see what specific attributes a change in a connected item may have upon its own category and the impact of those changes.
For example if a Character finds a bow then his weapon attribute will need to be updated to indicate that he has that item.
Making multiple changes
If you do need to do an update to a connected item, you would then need to look at the connected items within that item to see what other items that that change may have an impact on – thus allowing you to move from item to item until all of the changes have been implemented.
For example if a change is made to a story:
- The Story attributes will need to be checked and modified if required. Perhaps the story introduced a special item to be used by a character, this would require the associated Character to be updated to reflect that it now has this item. This could then require the Character to update the Special Item so that if anyone looks at that Special Item they will see to whom it belongs.
- But a change within a Story will never affect its position on the Time line, for example if you change what characters do in a story, this will not change the period of time it is set in.
Changes to attributes between categories should avoid having a direct impact back to where they started from.
A change should ‘ripple’ out but it should avoid requiring a change to go back to the original, otherwise you will end up going round in circles – there should be only one starting point.
- A story introduces an existing character into it and during the story some changes are made to the character. Then the Story will need to update the Character with the changes that have occurred to it.
- Never should a Character then decide to update a Story so it can appear in it – if it does then the author has loss control!
Fantasy Design – Designing the database for my requirements
So, now to design a database that allows the information from the world (characters, history, and so on) to be quickly referenced and to be able to move between the connected categorises as required. To be able to ‘hop out’ of a story plot you are reading, read the notes on the character and then ‘hop back’ again!
Creating a long document file is one option and it would be able to fulfil the requirements, but it would be very clumsy to use and update, even with a good index in it. It would also end up being a very, very long file. A spreadsheet could improve on the cross-referencing, but it is not too good for storing lots of paragraphs
One method that works is to use a simple desk-top web page network design, web pages allow ease of movement between them and allow you to make a direct link to other pages (as this site does).
Web pages do not have to actually be ‘live’ on the World Wide Web for their properties to be used
You can create a web page database local to a PC and have the links between the pages reference only with respect to your PC – thus the design would only need to focus on the relationship between the design and nothing else to do with the internet. For this example
- For every category that was identified in step 1 (character, location, special item, …) A ‘tab’ would be created on a short-cut bar.
- For every item that appears in the design, a separate web page would be created. For example each character would have a dedicated web page. This page would be assessable under the ‘character’ tab.
- For every link required between pages, you insert a ‘link’ directly into the page with the address of the target, allowing it to be selected by a single click
Too many different types of information
When you come to a category that contains lots of different types of information then you can, in those cases, subdivide them into separate types and give them their own space. This ‘category’ page will then act as the first (top) page of that category, and within that page each type of information will have its own sub-page beneath it – the top page providing an index into those sub-menus.
For my design the special area was split into the sub-menus of special abilities, magical items and special creatures. With the top (special) page providing the menu (links) into those sub-menu areas
Designing a common layout for each page
It is easier if each page has a common formatted header identifying the topic of the page and include a standard short-cut menu bar to provide quick access to all of the main areas. The rest of the page below the header contains the unique details of the subject that the page related to.
I chose to set up the directory structure on the PC to match that of the database structure, with sub directories matching sub categories. My top level directory structure included History, Culture and Characters directories, and under the character directory you would find a page for each character within which would be its data.
This picture shows one of my characters within my fantasy world – I will let you decide for yourself whether he is a good or a bad creature within my stories! He does have an important role in the events that are happening to the world.
Jenny Maryl ~ Inspiring the Imagination ~ Contact Me