In software engineering, data modeling is the process of creating a data model for an information system. This is done by applying formal data modeling techniques.
There are many tools which can help you with modeling. Some of them are free, some of them aren't. I will list you few of them which I've found most useful.
SQLDBM offers you an easy, convenient way to design your database absolutely anywhere on any browser, working away without need for any extra database engine or database modelling tools or apps. Use SQLDBM to design and manage both large and small databases and data models on the fly. All while incorporating any needed database rules and objects such as database keys, schemas, indexes, column constraints and relationships.
PowerDesigner is arguably the industry’s leading data modelling tool. Its features include: fully integrated models, different modelling techniques that cater to both an IT-centric audience and non IT-centric. It also supports a powerful metadata repository and various output formats. It has a nice and polished user interface with easily readable help documentation aiding the user to quickly solve ad hoc problems.
ER/Studio is an intuitive data modelling tool that supports single and multi-platform environments, with native integration for big data platforms such as – MongoDB and Hadoop Hive. It can forward and reverse engineer models, includes a compare and merge function and is able to create reports in various formats (XML, PNG, JPEG). Built-in features automate routine tasks and supports the popular database platforms. ER/Studio is a great tool that that is easy to start working with due to its intuitive design and good user support.
Price: $1,500 up to $7,500
It truly depends on you. To design, or redesign, a database of any complexity, the Entity-Relationship modelling tool becomes essential. The specialized tools that have dominated the industry for a long while are expensive and are installed on a workstation.