Listing data elements
To identify application data, you list its data elements.
For example, to identify application data, consider a company that provides technical education to its customers. The education company has one headquarters office, called Headquarters, and several local education centers, called Ed Centers.
A class is a single offering of a course on a specific date at a particular Ed Center. One course might have several offerings at different Ed Centers; each of these is a separate class. Headquarters is responsible for developing all the courses that will be offered, and each Ed Center is responsible for scheduling classes and enrolling students for its classes.
Suppose that one of the education company's requirements is for each Ed Center to print weekly current rosters for all classes at the Ed Center. The current roster is to give information about the class and the students enrolled in the class. Headquarters wants the current rosters to be in the format shown in the following figure.
CHICAGO 01/04/04
TRANSISTOR THEORY 41837
10 DAYS
INSTRUCTOR(S): BENSON, R.J. DATE: 01/14/04
STUDENT CUST LOCATION STATUS ABSENT GRADE
1.ADAMS, J.W. XYZ SOUTH BEND, IND CONF
2.BAKER, R.T. ACME BENTON HARBOR, MICH WAIT
3.DRAKE, R.A. XYZ SOUTH BEND, IND CANC
.
.
.
33.WILLIAMS, L.R. BEST CHICAGO, ILL CONF
CONFIRMED = 30
WAIT—LISTED = 1
CANCELED = 2
To list the data elements for a particular business process, look at the required output. The
current roster shown in the previous figure is the roster for the class, Transistor Theory
to
be given in the Chicago Ed Center, starting on January 14, 2004, for ten days. Each course has a
course code associated with it—in this case, 41837. The code for a particular course is always the
same. For example, if Transistor Theory is also offered in New York, the course code is still 41837.
The roster also gives the names of the instructors who are teaching the course. Although the example
only shows one instructor, a course might require more than one instructor.
For each student, the roster keeps the following information: a sequence number for each student, the student's name, the student's company (CUST), the company's location, the student's status in the class, and the student's absences and grade. All the above information on the course and the students is input information.
The current date (the date that the roster is printed) is displayed in the upper right corner (01/04/04). The current date is an example of data that is output only data; it is generated by the operating system and is not stored in the database.
The bottom-left corner gives a summary of the class status. This data is not included in the input data. These values are determined by the program during processing.
When you list the data elements, abbreviating them is helpful, because you will be referring to them frequently when you design the local view.
- EDCNTR
- Name of Ed Center giving class
- DATE
- Date class starts
- CRSNAME
- Name of course
- CRSCODE
- Course code
- LENGTH
- Length of course
- INSTRS
- Names of instructors teaching class
- STUSEQ#
- Student's sequence number
- STUNAME
- Student's name
- CUST
- Name of student's company
- LOCTN
- Location of student's company
- STATUS
- Student's status in class—confirmed, wait list, or cancelled
- ABSENCE
- Number of days student was absent
- GRADE
- Student's grade for the course
After you have listed the data elements, choose the major entity that these elements describe. In this case, the major entity is class. Although a lot of information exists about each student and some information exists about the course in general, together all this information relates to a specific class. If the information about each student (for example, status, absence, and grade) is not related to a particular class, the information is meaningless. This holds true for the data elements at the top of the list as well: The Ed Center, the date the class starts, and the instructor mean nothing unless you know what class they describe.