Try OpenEdge Now
skip to main content
Database Essentials
Database Design : Data analysis
 

Data analysis

The first step in the database design cycle is to define the data requirements for your business. Answer the following questions to get started:
*What types of information does my business currently use? What types of information does my business need?
*What kind of information do I want from this system? What kind of reports do I want to generate?
*What will I do with this information?
*What kind of data control and security does this system require? For information on how a user is identified and authenticated and access is authorized, see OpenEdge Getting Started: Identity Management.
*Where is expansion most likely to occur?
*Will multiple clients or sites utilize one common database? Is any information shared between the clients? For a complete introduction to multi-tenancy, see OpenEdge Getting Started: Multi-tenancy Overview.
*Do you anticipate large tables that can be partitioned horizontally? Horizontal table partitioning allows you to design a physical database layout that aligns storage with specific data values or ranges. The physical separation of data into partitions can improve performance, maintenance, and data availability. For overview information on table partitioning, see OpenEdge Getting Started: Table Partitioning.
It is never too early to consider the security requirements of your design. For example:
*Will any data need to be encrypted?
*Will I need to audit changes to my data?
For complete discussions of OpenEdge support for auditing and transparent data encryption, see OpenEdge Getting Started: Core Business Services - Security and Auditing.
To answer some of these questions, list all the data you intend to input and modify in your database, along with all the expected outputs. For example, some of the requirements a retail store might include are the ability to:
*Input data for customers, orders, and inventory items
*Add, update, and delete rows
*Sort all customer addresses by zip code
*List alphabetically all customers with outstanding balances of over $1,000
*List the total year-to-date sales and unpaid balances of all customers in a specific region
*List all orders for a specific item (for example, ski boots)
*List all items in inventory that have fewer than 200 units, and automatically generate a reorder report
*List the amount of overhead for each item in inventory
*Track customer information to have a current listing of customer accounts and balances
*Track customer orders, and print customer orders and billing information for both customers and the accounting department
*Track inventory to know which materials are in stock, which materials need to be ordered, where they are kept, and how much of your assets are tied up with inventory
*Track customer returns on items to know which items to discontinue and which suppliers to notify
The process of identifying the goals of the business, interviewing, and gathering information from the different sources who will use the database is a time-consuming but essential process. Once you the information gathered, you are ready to define your tables and columns.