What information do we want to record?
The CAD Landscape application is based on a MySQL database and the intention in this project is to use a NoSQL database. First, lets take a look at the infirmation we want to record.
Each entry in the database contains a url, descriptive name, the date it was created and a description of the entry. In addition, each entry can belong to 1 or more categories.
Categories are stored in the table 3dl_category which contains the fields:
- category_id, numeric identifier
- category_name, category title
- description, description of the category
Entries are stored in the table 3dl_entry which contains the fields:
- entry_id, numeric identifier
- url, corresponding url
- name, descriptive title
- description, description about the link
- date, the date the entry was created
Details about which categories each entry belongs to are stored in the table 3dl_entry2cat which contains the fields:
- entry_id, numeric identifier defining the entry
- category_id, numeric identifier defining the category
As an example, consider the creation of the following “bookmark” for SolidWorks
When the bookmark is created, the next available id is automatically assigned and the user enter details for the url “http://www.solidworks.com” and a description “SolidWorks – A leading mid-range 3D Solid Modelling CAD application”. The user also specifies details of relevant categories for this entry (which are created if they don’t already exist) and the date of creation (timestamp) of the entry is automatically recorded.
Next, we’ll look at possible options in the database world.