We've had a lot of discussion this week about how to structure the database. We have 3 different types of items to put in the database; documentaries, background reading and things to be purchased. All of them will be based on links to external data. We have decided to treat all of these in the same way in the database. When you do a search the search engine will search through all kinds of items, find the ones that match the keywords and display them according to what type they are.
This seems the best way to do it as:
1. There is no need to build a huge relational system where administrators can relate the different types of items to each other.
2. Administrators save time and don't have to pick relations manually every time they upload new documentaries.
3. All items can easily be administered individually.
4. Items can be removed without breaking relations in the database.
As we have decided to treat all types the same way we have chosen the data fields each item will have in the database:
- Id (all item must have an Id)
- Title (Caption when being listed)
- Country (The country the material is related to)
- Section (The section/topic the material is related to)
- Description (A short description of the item)
- Keywords (Keywords designated by the administrator)
- ImageURL (URL to an image when listing the item)
- TargetURL (URL to the data the item links to)
More fields can be added if necessary. "Country" and "Section" are used for structured sections where the user might not know exactly what to search for.
This is the first outline of the database. All data will be administered through a CMS(Content Management System) using forms with input boxes and dropdown menus. This should give the backend a simple and easy-to-use interface.