# Australian Vocational Education and Training/ICAA5153A Model data objects

From the official document:
    "This unit defines the competency required to understand business operations, identify entities and data, diagrammatically represent their relationships and prepare a data model."
Basically, that means you'll be able to design and prepare the data models that your client application will need. As a practical example, if you were to create a simple blog application, your models would include a Blog Post (with the fields Title, Date posted, Body) and a Comment model (with the fields PostID relating back to your blog post, name, website, comment, date posted).
This unit is also an excellent chance to learn a web-framework that provides Object-Relational Mapping - where you simply define your object models and their relationships, then the framework allows you to use them in your application (looking after the database for you)!
You can read more about this unit on the National Training Information Systems Official document for ICABA5153A.
This unit forms part of the following qualifications:

## How this unit will help you

After learning and applying the skills required by this unit you'll be able to demonstrate your skills in:
* Analyse a businesses processes to understand:
** what data is being used (the type of data)
** how that data can be grouped into real-world objects (such as a Blog-post, Book review or product detail)
** how the different data objects relate to one another (for example, a book may have many reviews, a product may have many transactions)
* Document the data objects and their relationships using an entity-relationship diagram (or if you are familiar with a language that allows you to prototype quickly, then a working prototype that demonstrates the models and their relationships is even better.)
* After analysing and understanding the business process and it's data, you may be able to review the process to suggest improvements as well as review the way the data is stored (making sure you don't have unwanted duplicates or inefficient storage of data), all the while determining the impact of these improvements on the process.
* Documenting and communicating your models and relationships to your client for signoff. Again, the best way to communicate the models is with a demonstrable prototype - if you are familiar (or keen to learn) a tool that allows quick prototyping.

## Ideas for learning the required skills

An excellent task to start learning how to model data is to create your own simple blogging application (with the help of your facilitator!) You'll need to:
* Define the data models (start with the suggestions in the example above, but you'll most likely find you'll need to add more data/relationships).
* Document/prototype the models and communicate them back to your facilitator.
You may then want to progress to a real client web application requiring multiple data objects, such as an ordering system or a product catelogue.
It is recommended that you begin learning a web-framework that will help you to model your data, such as the Django web framework (Python-based web application framework), CakePHP (a PHP-based web application framework) or Ruby On Rails. Undertaking to learn a web-framework can be a daunting task, but the benefits are huge!

## Ideas for demonstrating this unit

The best way to demonstrate these skills is through the web applications that you create. These might include activities you've done while learning, or a real client web application. Normally part of your demonstration will include answering questions about your sites and making small modifications to verify that it is your work and you understand everything included in the pages.