Application Design Overview
Carefully planning the details of your database application will help to ensure that your database has the best possible design. An application that has been correctly designed is easier to build and maintain. This section contains guidelines for creating applications by using the methods of analysis, design, and implementation.
Steps in Designing a Dynamics NAV Application
Designing a Dynamics NAV application usually includes the following steps:
Understanding the problem.
Designing the data model (tables, fields, relationships, and constraints).
Designing the application.
Understanding the Problem
First, you must understand the business problem that you want your application to solve. You may want to know who will be using the application and what they will be trying to accomplish. For more information about gathering information and using that information to plan your design, see Developing a Database Plan (SQL Server).
Designing the Data Model
After you understand the problem that you want your application to solve, you must design the structure of the database for your application. For more information about how to design the data model, see the following topics:
One consideration when you design your data model is data integrity. Enforcing data integrity guarantees the quality of the data in the database. You must consider how to define and enforce the following:
Unique values in identifier columns of a table.
Valid data types in each field of a table.
Consistency across tables.
Other constraints that are specific to your application.
For more information about data integrity, see the following topics:
Designing the Application
After you have a design for your database, you can begin to design the application itself. Designing the application involves:
Creating table objects in Dynamics NAV to implement the design of your database.
Designing pages for entering and retrieving data, and reports for viewing and presenting data.
Creating C/AL code to connect the application objects.
Designing objects or writing code to extend functionality or to integrate your application together with other systems.
For more information about how to design your application, see the following topics: