As we move into the concept of databases - we need to understand the formal process for creating any new system. We use the Systems Development Life cycle (SDLC) which includes the following phases:
1. Analysis phase
2. Design/requirements phase
3. Development phase
4. testing/implementation phase
Any type of data file - a flat file or database file supports the enterprise and the various applications that the enterprise needs. The idea of databases different from flat files is that we create a large database where fields (last name, first name, etc.) are only listed ONCE! Each application that needs particular data uses the database fields that are necessary for the application to work. We DO NOT create a new database for each application!!
So, in order to create databases that will support the various aspects of the enterprise we must first (using the SDLC) - analyze the enterprise to see what it does. The first step in doing this is to list the various Business Functions of the company. A Business function is an area of activity that a business does - for example, all companies have Accounting as a business function - which includes which sub-business functions as accounts payable, accounts receivable, payroll, etc. Most companies have Marketing as a business function. Other business functions would be Customer Support, Vendor Management, Sales, and in manufacturing environments you would have additional business functions including Distribution, Inventory Management, etc.
For the Analysis phase of creating a database - you are actually analyzing the enterprise - so you begin by
1. Making a list of all of the high level business functions (such as Customer Support, Sales, Accounting, etc.)
2. Then make a list of any sub-business functions under each high level business function (such as accounts payable, etc.) - you do NOT have to have sub-business functions
Then continuing with the analysis phase - we need to look at Entities - Entities are "people, places or things" that support a business function. In other words, what do you have to have as far as people, places or things in order to make a particular business function work. When we list a particular "entity" with a business function we are saying that we need that particular entity in that particular business function. Entities are listed as a Noun - and are considered a "set of". For example, for the Sales business function we need such entities as CUSTOMER (set of all customers), VENDOR (set of vendors we would order from), PART (set of all parts we order and sell), EMPLOYEE (set of all employees for our company who interact with Sales). Again - be sure that your entities are written as a singular Noun representing the set-of.
So, after making my list of business functions - I take the first business function in my list of all business functions and proceed to list the various Entities that I need to support that business function. In the example above for Sales, I have the entity CUSTOMER. If one of my other business functions later in my list is Customer Support - then I would AGAIN list CUSTOMER as one of my entities. Be careful to use the exact same entity name - such as CUSTOMER - if you use an entity in various business functions.
Your business function/entity list would then look like:
Business Function 1 (i.e, Sales)
Entity 1 (i.e, CUSTOMER)
Entity 2 (i.e, VENDOR)
Entity 3 (i.e, PART)
Entity 4 (i.e, EMPLOYEE)
etc.
Business Function 2 (i.e, Customer Management)
Entity 1 (i.e, CUSTOMER)
Entity 2 (i.e, EMPLOYEE)
etc.
Business Function 3 (i.e, Accounting)
Entity 1 (i.e, EMPLOYEE)
Entity 2 (i.e, PURCHASE ORDER)
Entity 3 (i.e, INVOICE)
etc.
When you finish with your list of business functions and entities - we are then ready to "diagram" the enterprize. We do this with our Entity/Relationship Diagram (notice the word Entity). Entity/relationship diagrams take the various entities that you have identified, and these become the basis of the data (entities) that we will need for the company. The relationship portion of the diagram explains how different entities are related to each other. We will examine this in module 3.