Modeling your Database

Once you decide on creating your custom database application, you need to first put together the requirements for such an app, before you start building the app. The details you will need will include :

What type of records do you want to store online ?

For example, for a property management app, one will require to store details about Owners, their Properties which are to be managed, Tenants who have rented out those properties and Tickets related to maintenance of the properties.

Similarly for a customer support database, the details to be stored will include Customer details, Support Staff details and details of Issues/Tickets raised by the Customers.

In a spreadsheet based database, each of the entities would have been stored in an individual sheet.

What details do you want to store as part of those records ?

In case of the property management app, the Owner entity will have attributes like Name, Phone, Postal Address, EmailFax, Preferred Contact Mode,  Preferred Payment Mode in which the owner wants to accept payments, etc.,.

In a spreadsheet based database, each of the attributes would have been represented by a column in a specific sheet.

Other Details

While it good to get even more details like..
  • Which users will have access to the databases ? 
  • Will the users have full access or will they be allowed partial access only to a specific entities or, may be, even to specific sub-set of attributes within those entities ?
  • What kind of pre-created views ("My Open Tickets", "All Open Tickets", "High Priority Tickets", etc.,) will be required ?
..the details of the entities and attributes are sufficient to start creating the database app. We can further refine it later based on specific requirements.