Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapter 09

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 33
At a glance
Powered by AI
Some of the key takeaways from the document include systems analysis and design, data modeling using entities and relationships, and database normalization to third normal form. The document discusses concepts like entities, attributes, relationships, and normalization in the context of a training management system case study.

The main entities discussed include student, instructor, course, corporate client, scheduled course, and training record.

Normalization is the process of organizing data to avoid anomalies. The document discusses first, second, and third normal form (1NF, 2NF, 3NF). 1NF means each field depends on the key, 2NF means each non-key field depends on the whole key, and 3NF means each non-key field depends on the key only.

Systems Analysis and Design, Ninth Edition

Page 1 of 33

Systems Analysis and Design


Ninth Edition

End of Chapter Solutions


CHAPTER NINE

DATA DESIGN
ANSWERS TO CASE-SIM: SCR ASSOCIATES CASE-SIM: SCR ASSOCIATES 1. List all the entities that interact with the TIMS system. Start by reviewing the data library, previous e-mail messages, DFDs, and other documentation. Answers will vary. Based on the overall fact situation, students might submit a list of entities that includes the following: STUDENT INSTRUCTOR TRAINING ADMINISTRATOR CORPORATE CLIENT COURSES In addition, the ACCOUNTING SYSTEM can be shown as an external entity that interacts with the TIMS system. If students use object modeling in addition to DFDs, they will find that DFD entities tend to be represented as actors in an object model (see Chapter 3 for more information about object modeling). Also, an object model probably includes object classes that appeared as data stores in the process-oriented DFDs. Regardless of the modeling method, it is important for students to realize that an entity can represent an event or transaction, such as an airline reservation. For example, when a student takes a course at SCR, the event that is recorded might be called a REGISTRATION RECORD, or a TRAINING RECORD. Students should understand that these objects are associative entities, which are explained in the chapter. You might call attention to Figure 9-18 on page 408, to point out the associative entity called ORDERLINE. Again, remind students that an entity can be a person, place, thing, or event and an order line is an example that involves two other entities (ORDER and PRODUCT). Also remind students that in data design, associative entities are not always apparent at first and sometimes are identified after the logical analysis process. Also point out that associative entities typically are needed whenever a M:N relationship exists. In these situations, there usually is no common field, and the associative entity joins two other entities. 2. Draw an ERD that shows cardinality relationships among the entities. Send the diagram to Jesse. Note that the example contains an entity called TRAINING RECORD, which includes attributes that relate to a specific student and a specific course. Also note the separate

Systems Analysis and Design, Ninth Edition

Page 2 of 33

entity called SCHEDULED COURSE, which did not appear in the initial list. An analogy might be made to an airline flight schedule. For example, there are many instances of Flight 890, but there is only one instance of Flight 890 on June 1, 2010. As the answer for Assignment 3 indicates, this entity requires a combination primary key.

CORPORATE CLIENT 1

SENDS

STUDENT M 1
GENERATES

Note: TRAINING RECORD is an associative entity that relates a specific student and a specific course

M TRAINING RECORD M

The SCHEDULED COURSE entity represents a specific course scheduled on specific date

INVOLVES

1 1 COURSES
LISTED ON

SCHEDULED COURSE M

INSTRUCTOR

1
TEACHES

Systems Analysis and Design, Ninth Edition

Page 3 of 33

The following screen shows a sample set of relationships that could exist among the SCR entities:

3. For each entity, Jesse wants to see table designs in 3NF. Use standard notation format to show the primary key and the other fields in each table. The design for STUDENT, INSTRUCTOR, COURSE, and CORPORATE CLIENT are not difficult. Most students will be able to create the 3NF designs, where all fields depend solely on the primary key, which is represented by a single field. The following examples would be typical: STUDENT (SSN, LASTNAME, FIRSTNAME, ADDRESS, PHONE, BIRTHDATE, CLIENT NO) INSTRUCTOR (INSTRUCTOR NO, LASTNAME, FIRSTNAME, OFFICE, EXTENSION) COURSE (COURSE NO, COURSE NAME, HOURS, TUITION FEE) CORPORATE CLIENT (CLIENT NO, CLIENT NAME, ADDRESS, PHONE, CONTACT PERSON) Some students might include a scheduled course as an entity. This is a refinement that shows a good understanding of the normalization concept. A scheduled course is analogous to a scheduled flight in an airline scenario. For example, Flight 333 might be listed as a record in a flight schedule table (just as a course might be listed in a course table), but Flight 333 on a specific date, such as 12/31/2009, is a specific flight that flies

Systems Analysis and Design, Ninth Edition

Page 4 of 33

that day. Thus, the following might work well as a design. Notice that the course has a date and an assigned instructor and is in 3NF: SCHEDULED COURSE (SCHEDULED COURSE NO, SCHEDULE DATE, INSTRUCTOR NO, LOCATION) The most difficult task is to create the design for the training record that reflects the information about a specific student in a specific course. Fortunately, the analogy is very close to the school registration example that begins on page 417. The textbook example begins with an unnormalized design (Figure 9-29 on page 418) that resembles a paper registration form. The example then moves into 1NF by eliminating the repeating group, and later into 2NF and 3NF. Similarly, the training record for SCR Associates might initially look like this, where every nonkey field depends on the combination key that consists of two fields, SSN and SCHEDULED COURSE NO: TRAINING RECORD (SSN, SCHEDULED COURSE NO, PAID STATUS, STUDENT ACHIEVEMENT) 4. Jesse wants to use sample data to populate fields for at least three records in each table. Better get started on this right away.
STUDENT
SSN Lastname Firstname
Jan Ralph Ellen

Address
101 Main Street 999 Broad Street 444 Cherry Lane

Phone

Birthdate

Client No
ABC111 ABC111 DEF222

111-11-1111 Rose 222-22-2222 Jones 333-33-3333 Smith

123-1111 1/1/81 456-2222 12/31/75 789-3333 8/13/76

INSTRUCTOR
Instructor No Lastname Firstname Office
101 102 103 Martin Rodgers Wade Mary Jennie Laura C-101 C-102 C-103

Extension
1111 2222 3333

COURSE
Course No
A101 B102 C103

Course Name
Test Course 1 Test Course 2 Test Course 3

Hours
8 8 16

Tuition Fee
400 400 750

SCHEDULED COURSE
Scheduled Course No
20040204A101 20040415A101 20040422B102

Course No
A101 A101 B102

Scheduled Date Instructor No


2/5/2009 4/16/2009 4/23/2009 101 102 102 Lab A Lab B Lab B

Location

Systems Analysis and Design, Ninth Edition


TRAINING RECORD
SSN
111-11-1111 111-11-1111 222-22-2222

Page 5 of 33

Scheduled Course No Paid Status


20020204A101 20020422B102 20020422B102 Paid Paid Not Paid

Student Achievement
Completed Completed Withdrew

CORPORATE CLIENT
Client No
ABC111 DEF222 GHI333

Client Name
Acme Company Wetlands Trucking Cloud Nine Services

Address
111 Smith Avenue 222 Olcott Place 333 Jamison Square

Phone

Contact Person

111-1111 Sally Parsons 222-2222 Nell Bridges 333-3333 Sam Johnson

ANSWERS TO CHAPTER EXERCISES Review Questions 1. Explain the main differences between a file processing system and a database system. A file-oriented system processes one or more individual data files using a method called file processing. A database consists of linked data files, also called tables, which form an overall data structure. Compared to file processing, a database environment offers greater flexibility and efficiency. File processing systems still exist to handle specific applications, but most information systems today are designed as databases. (Page 392) 2. What is a DBMS? Briefly describe the components of a DBMS. A DBMS provides an interface between a database and users who need to access the data. In addition to interfaces for users, database administrators, and related systems, a DBMS also has a data manipulation language, schema, and physical data repository. (Page 396) 3. Describe a primary key, candidate key, secondary key, foreign key, and common field. A primary key is the field or combination of fields that uniquely and minimally identifies a single member of an entity. A candidate key is a field or combination of fields that could serve as a primary key; only one of the candidate keys can be designated as the primary key. A secondary key is a field or combination of fields that serves as a basis for some type of retrieval or processing. A foreign key is a field or combination of fields whose value must match a primary key value in some other table or file. A common field is an attribute that appears in more than one entity and can be used to link entities in various types of relationships. (Pages 402 - 404) 4. What are entity-relationship diagrams and how are they used? What symbol is used to represent an entity in an ERD? What symbol is used for a relationship? What is cardinality, and what symbols do you use in the crows foot notation method? Entity-relationship diagrams (ERDs) are graphical representations of an information system. They are used to show how each entity relates to the other entities in the system,

Systems Analysis and Design, Ninth Edition

Page 6 of 33

but they do not show the flow of data through the information system. A rectangle is used to represent an entity, while relationships are represented by diamonds. Cardinality describes how an entity relates to other entities in the ERD. In a specific relationship, an entity can be mandatory, meaning it must be present, or optional, meaning it may be present. Crows foot notation displays cardinality in a graphical manner using symbols. A single bar indicates one possibility, a double bar means one and only one, a circle indicates zero and a crows foot indicates many possibilities. (Page 406-408) 5. What are data warehousing and data mining? Are the terms related? A data warehouse is an integrated collection of data that can include seemingly unrelated information, no matter where it is stored in the company. Because it can link various information systems and databases, a data warehouse provides an enterprise-wide view to support management analysis and decision making. Data mining software looks for meaningful patterns and relationships among data. For example, data mining software could help a consumer products firm identify potential customers based on their prior purchases. The terms are related in the sense that both refer to data storage and extraction. The data warehouse, however, describes data organization and storage; while data mining focuses on methods of obtaining valuable business knowledge from a data warehouse. (Pages 430 - 431) 6. What is the criterion for a table design to be in first normal form? How do you convert an unnormalized design to 1NF? A record is said to be in first normal form if it contains no repeating groups. To convert an unnormalized record you would expand the primary key of the record to include the key of the repeating group. (Page 412) 7. What are the criteria for a table design to be in second normal form? How do you convert a 1NF design to 2NF? To be in second normal form, a record must first be in first normal form and all fields that are not part of the primary key must be dependent on the entire primary key. To convert from 1NF to 2NF, you would create a new record for each field and a possible combination of the fields in the primary key. For each new record, designate one field or combination of fields as a primary key. Place the remaining fields with the primary key on which they depend. When finished placing the fields, discard any record that does not contain any additional fields other than its primary key. The remaining records are the 2NF of the original record. (Page 413-414) 8. What are the criteria for a table design to be in third normal form? How do you convert a 2NF design to 3NF? A record is in third normal form if it is in second normal form and if no nonkey field is dependent on another nonkey field. To convert a record to 3NF you would move the dependent field to a new record, which has the field it is dependent on as the primary key. (Page 416)

Systems Analysis and Design, Ninth Edition

Page 7 of 33

9. Explain the difference between a logical record and a physical record. A logical record contains fields related to a single person, place, thing, or event. A physical record, also known as a block, consists of one or more logical records and is the smallest unit of data accessed by the operating system. Programs and people deal with logical records; computer operating systems and storage devices deal with physical records. (Page 433) 10. How would a specific date, such as September 1, 2011, be represented as an absolute date? An absolute date is the total number of days from some specific base date. Using a base date of January 1, 1900, the absolute date value of September 1, 2009 is 40057. (Page 435) Discussion Topics 1. Are there ethical issues to consider when planning a database? For example, should sensitive personal data (such as medical information) be stored in the same DBMS that manages employee salary and benefits data? Why or why not? Answers will vary. Students may raise concerns about privacy and confidentiality. Although these can be addressed (in theory) by strong security policies and procedures, many people are uncomfortable about sensitive data being available in these situations. 2. Suggest three typical business situations where referential integrity avoids data problems. Students might respond with examples similar to the following. Referential integrity would avoid problems such as: Entering an order for a customer number that does not exist Deleting a customer who still has open orders pending Entering a part number on an order for a part that has not been entered in the system yet Entering a reservation code for a passenger who has not been entered into the system yet Registering a student for a course that has not been entered into the system yet Deleting a course that has students in it 3. Consider an automobile dealership with three locations. Data fields exist for stock number, vehicle identification number, make, model, year, color, and invoice cost. Identify the possible candidate keys, the likely primary key, a probable foreign key, and potential secondary keys. To identify candidate keys, students must determine which fields in the record are unique to a single vehicle. Only the stock number and vehicle identification number meet this requirement and could serve as primary keys. Because the stock number probably is smaller and locally generated by the automobile dealership, it might be the best choice for the primary key. It is possible that the model field is in the form of a code, such as Z99 or 4DX, which might serve as a foreign key for a record in the MODEL table. The dealership might want to access, display, or print information by make, model, year, color, or invoice cost so these fields are potential secondary keys. A record design might resemble the following: VEHICLE (STOCK NO, MAKE, MODEL, YEAR, COLOR, INVOICE COST, LOCATION)

Systems Analysis and Design, Ninth Edition

Page 8 of 33

In this example, LOCATION would be a foreign key to link the VEHICLE table to the LOCATION table. 4. In the example shown in Figures 9-25 and 9-26 on pages 416 and 417, the 2NF customer table was converted to two 3NF tables. Verify that the four potential problems identified for 2NF tables were eliminated in the 3NF design. In the record shown in Figures 9-25 and 9-26, the four problems have been eliminated as follows: the creation of a new SALES-REP record allows a change to be made to the salesrep-name without changing the CUSTOMER record. Because the sales-rep-name now is completely dependent on the sales-rep-num and because only the sales-rep-num appears in the CUSTOMER record, a sales rep can have only the name related to that sales-rep-num. A new sales rep without customers can be assigned simply by adding a new record to the SALES-REP record that will have no effect on the existing customer records. Finally, any customer can be deleted from the CUSTOMER record without losing the data for sales rep formerly assigned to that customer. Projects 1. Search the Internet to find information about data storage formats. Also do research on international date formats. Determine whether the date format used in the United States is the most common format. When they search the Internet, students will learn more about the four data storage formats, EBCDIC, ASCII, Unicode, and binary, that are described on pages 433-434. With regard to date fields, students might mention the model established by the International Organization for Standardization (ISO), which requires a format of four digits for the year, two for the month, and two for the day (YYYYMMDD). Also, as the SoccerMom case on page 436 suggests, the United States has many trading partners who use different methods of formatting dates. In all likelihood, the U.S. is in a minority. Two trends have emerged, however: multinational U.S. firms can and do use different formats for international transactions, and many foreign firms with U.S. import and export customers make modifications in the interest of consistency. Finally, point out to students that multinational language and format support is built into many software applications. As the following Microsoft Excel screen indicates, you easily can select from many different date formats.

Systems Analysis and Design, Ninth Edition

Page 9 of 33

2. Visit the IT department at your school or at a local business and determine whether the organization uses file processing systems, DBMSs, or both. Write a brief memo with your conclusions. Answers will vary, and it might be interesting to have students share the results of their field visit with the class. Students probably will find that most schools and businesses rely on relational databases to manage their operations. In some cases, however, file processing systems are used to handle specific tasks such as payroll or end-of-month processing, and students might find examples of these situations. 3. Use Microsoft Access or similar database software to create a DBMS for the imaginary company called TopText Publishing, which is described in Case In Point 9.1 on page 410. Add several sample records to each table and report to the class on your progress. Students must read the TopText Publishing fact statement to understand the relationships among the entities. An associative entity will be needed to join the M:N relationship between Author and Book. When these entities are transformed into tables, a partial list of fields might include the following: Table Author Fields (the primary key is underlined) Author ID, SSN, Last Name, First Name, Street, City, State, Zip Code, Telephone, Commission Rate

Systems Analysis and Design, Ninth Edition Table Book Book-Author Fields (the primary key is underlined) ISBN No, Number, Title, Copyright Date, Price ISBN No, Author ID

Page 10 of 33

4. Visit the bookstore at your school or a bookstore in your area. Interview the manager or store employees to learn how the operation works and what entities are involved in bookstore operations. Remember that an entity is a person, place, thing, or event that affects the information system. Draw an ERD, including cardinality that describes the bookstore operations. Answers will vary. A possible ERD might look like the following:

ORDER 1 M

PLACED BY

STUDENT 1

LISTS

M ORDER-ITEM M

INCLUDES

COURSE 1 1

BOOK

M
NEEDED FOR

Systems Analysis and Design, Ninth Edition ANSWERS TO APPLY YOUR KNOWLEDGE 1

Page 11 of 33

Pick and Shovel Construction Company Situation: Pick and Shovel Construction Company is a multi-state building contractor specializing in medium-priced town homes. C. T. Scott, the owner, is in your office for the third time today to see how the new relational database project is coming along. Unfortunately, someone mentioned to C. T. that the delay had something to do with achieving normalization. Why is all this normalization stuff so important? he asks. The old system worked OK most of the time, and now you are telling me that we need all these special rules. Why is this necessary? 1. How should you respond to C. T.? Write him a brief memo with your views. Students should provide a brief description of normalization that managers and other non-IT staff can understand. They should point out that flaws in the initial database design usually turn into costly, long-term problems for the organization. A relevant analogy is that the best carpenters cannot turn a poor architectural design into an excellent one. Students should explain that normalization provides a database design that is simple, flexible, and free of data redundancy. 2. Assume that the Pick and Shovels main entities are its customers, employees, projects, and equipment. A customer can hire the company for more than one project, and employees sometimes work on more than one project at a time. Equipment, however, is assigned only to one project. Draw an ERD showing those entities. Note: The following solution combines Assignments 2 and 3. Notice that in addition to the entities named, two associative entities appear: EMPLOYEE-PROJECTASSIGNMENT contains data about a specific employee on a specific project, and EQUIPMENT-ASSIGNMENT contains data about a specific piece of equipment assigned to a specific project. The concept is similar to the associative entity that appears in the Cutting Edge case study later in the chapter. Also, have students review Figures 9-41 and 9-42, and note that SERVICE-PARTS-DETAIL and SERVICE-LABOR-DETAIL are associative entities similar to the ones in this case study.

Systems Analysis and Design, Ninth Edition

Page 12 of 33

CLIENT 1

EMPLOYEE 1

EQUIPMENT 1

REQUIRES

ASSIGNED TO

ASSIGNED TO

M EMPLOYEEPROJECTASSIGNMENT M EQUIPMENTASSIGNMENT

INVOLVES

INVOLVES

1 M PROJECT 1

3. Add cardinality notation to your ERD. See suggested solution to Task 2. 4. Create 3NF table designs. Answers will vary. Students might suggest other fields for the entities. A sample set of designs might be as follows. Note the combination primary keys in the two associative entities. CLIENT (CLIENT NO, CLIENT NAME, ADDRESS, TELEPHONE, CONTACT PERSON) EQUIPMENT (EQUIPMENT NO, DESCRIPTION, PURCHASE DATE, VALUE, VENDOR) EMPLOYEE (EMPLOYEE NO, SSN, NAME, ADDRESS, TELEPHONE, BIRTHDATE) PROJECT (PROJECT NO, CLIENT NO, DATE STARTED, STATUS) EQUIPMENT-ASSIGNMENT (EQUIPMENT NO, PROJECT NO, COSTS) EMPLOYEE-PROJECT-ASSIGNMENT (EMPLOYEE NO, PROJECT NO, HOURS)

Systems Analysis and Design, Ninth Edition

Page 13 of 33

Puppy Palace Situation: Puppy Palace works with TV and movie producers who need dogs that can perform special tricks, such as headstands, somersaults, ladder climbs, and various dog-andpony tricks. Puppy Palace has about 16 dogs and a list of 50 tricks from which to choose. Each dog can perform one or more tricks, and many tricks can be performed by more than one dog. When a dog learns a new trick, the trainer assigns a skill level. Some customers insist on using dogs that score a 10, which is the highest skill level. As an IT consultant, you have been asked to suggest 3NF table designs. You are fairly certain that a M:N relationship exists between dogs and tricks. 1. Draw an ERD for the Puppy Palace information system. See the answer to Assignment 2. 2. Indicate cardinality. Note: The following solution combines Assignments 1 and 2. The objective is to create an ERD that will represent the M:N relationship between puppies and tricks. To accomplish this, it is necessary to use an associative entity (PUPTRICK) that contains data about a specific puppy and a specific trick. With 16 dogs and 50 tricks, this table might contain hundreds of records. The unique primary key will be the combination of a puppy number and a trick number, as shown in the answer to Assignment 4. A second associative entity (CUSTOMER-REQUEST) also is shown. This entity is based on the assumption that one customer might place requests, and that any specific combination in PUPTRICK could be requested by more than one customer. The unique primary key for CUSTOMERREQUEST would be the combination of the customer number, the trick requested, and the skill level needed.

Systems Analysis and Design, Ninth Edition

Page 14 of 33

PUPPY 1

CUSTOMER 1

TRICK 1

KNOWS

SPECIFIES

LEARNED IN

M CUSTOMERREQUIREMENT M

MATCHES

1 M PUPTRICK M 1

3. Identify all fields you plan to include in the dogs and tricks tables. For example, in the dogs table, you might want breed, size, age, name, and so on. In the tricks table, you might want the trick name and description. You will need to assign a primary key in each table. Hint: Before you begin, review some database design samples in this chapter. You might spot a similar situation that requires an associative entity that you can use as a pattern. In addition, remember that numeric values work well in primary key fields. Answers will vary. This might be a good time to point out the importance of breaking a name into several fields, rather than treating it as a single field. Separate fields provide flexibility in sorting and report design and allow the creation of professional-looking form letters. For example, many databases use six separate fields for names: Salutation, First Name, Middle Initial, Last Name, Suffix, and Nickname. This arrangement allows you to create mailing labels with the full name (for example, Col. John J. Sullivan, Jr.) and begin the greeting with a nickname (for example, Dear Jack). Also, in the PUPPY table, point out that it is better to use a date of birth field that never needs updating, rather than an age field that would need periodic updating.

Systems Analysis and Design, Ninth Edition

Page 15 of 33

4. Create 3NF table designs. Note the combination primary keys specified for the two associative entities. CUSTOMER (CUST NO, SALUTATION, FIRST NAME, MIDDLE INITIAL, LAST NAME, SUFFIX, NICKNAME, STREET, CITY, STATE, ZIP, TELEPHONE) PUPPY (PUP NO, NAME, BREED, SIZE, BIRTHDATE, SHOT STATUS, FAVORITE FOOD) TRICK (TRICK NO, TRICK NAME) PUPTRICK (PUP NO, TRICK NO, SKILL LEVEL) CUSTOMER-REQUIREMENT (CUST NO, TRICK NO, SKILL LEVEL, STATUS)

Mayville Public Library Situation: Mayville is a rural village with a population of 900. Until now, Mayville was served by a bookmobile from a larger town. The Mayville Village Council has authorized funds for a small public library, and you have volunteered to set up an information system for the library. Assume that the library will have multiple copies of certain books. 1. Draw an ERD for the Mayville library system. The following ERD is from the sample project in Visible Analyst, Student Edition. It is reproduced here as an example of an ERD that uses crows foot notation. Note that the entities named BOOK CHECKOUT, CHECKOUT LIST, and COPY have different symbols. If you share this example with students, explain that Visible Analyst recognizes three types of entities. The first is called a fundamental entity (rectangle shape) that describes a real-world object, such as BOOK or USER. The second is an associative entity (rectangle shape with a diamond inside) similar to ones described in this chapter. An associative entity, such as BOOK CHECKOUT, exists in order to link and relate two other entities. Visible Analyst also identifies a third entity type, called an attributive entity (rectangle shape with rounded rectangle inside). An attributive entity is used to show that data is wholly dependent on the existence of another entity. In the example, COPY is wholly dependent on the existence of BOOK. Point out that the ERD also would be correct if COPY were shown as a fundamental entity, but the attributive entity does allow the additional information to be shown.

Systems Analysis and Design, Ninth Edition


Is Waiting Fo r Boo k On

Page 16 of 33

USER

Borrows Bo ok Du rin g Boo k Check ed Ou t By

Con tain s

BOOK CHECKOUT

Is Part Of Con tain s Each

BOOK
Is Borrowed In vo lv es During

CHECKOUT LIST

Is Writes Written By

Has Is of

COPY

AUTHOR

2. Indicate cardinality. See the answer to Assignment 1. 3. Identify all fields you plan to include in the tables. Answers will vary. Students should be imaginative and suggest field attributes that would be appropriate and typical in a library information system that Mayville Public Library would use. 4. Create 3NF table designs. Answers will vary. The following is adapted from the example used in the Visible Analyst, Student Edition. Note the combination primary keys in several of the tables. USER (USER ID, NAME, BORROW LIMIT, NUMBER CHECKED OUT, FINES DUE) AUTHOR (AUTHOR ID, AUTHOR NAME, BIRTHDATE, COUNTRY OF BIRTH, DEATH DATE) BOOK (CALL NO, AUTHOR NAME, ISBN, PUBLISHER, DATE PUBLISHED) COPY (CALL NO, COPY NO, DATE ACQUIRED, CONDITION, CHECKOUT STATUS) BOOK CHECKOUT (CALL NO, COPY NO, USER ID, DATE OUT, DATE DUE BACK) CHECKOUT LIST (CALL NO, USER ID, DATE REQUESTED) 4 Western Wear Outfitters Situation: Western Wear is a mail-order firm that offers an extensive selection of casual clothing for men and women. Western Wear plans to launch a new Web site, and the company wants to develop a new set of product codes. Currently, 650 different products exist, with the possibility of adding more in the future. Many products come in various sizes, styles, and colors. The marketing manager asked you to develop an individualized product code that can identify a specific item and its characteristics. Your initial reaction is that it can

Systems Analysis and Design, Ninth Edition

Page 17 of 33

be done, but the code might be fairly complex. Back in your office, you give the matter some thought. 1. Design a code scheme that will meet the marketing managers stated requirements. Answers will vary. Some firms use a straight numeric sequence code, because it is simple and can be assigned automatically by the system. Other firms choose a significant digit code that indicates item, style, color, and size. A combination code might assign two digits for the type of item (10=hat; 64=belt), a dependent number for the style, followed by several digits that show details such as color and size. For example, consider the following design for Western Wear: Item Hat, felt, black, size 7 Hat, felt, black, size 8 Hat, felt, tan, size 7 Belt, dress, black, size 32 Product Code 10-772-B7 10-772-B8 10-772-T7 64-385-B32

2. Write a brief memo to the marketing manager suggesting at least one alternative to the code she proposed, and state your reasons. Answers will vary. Students should be able to support their choice of code with businessrelated logic and reasons. You might bring in samples of mail order catalogs that use different code schemes or ask students if they are personally familiar with other codes. 3. Suggest a code scheme that will identify each Western Wear customer. The two most common code schemes are straight sequence codes automatically assigned by the system and codes that combine alphabetic and sequence blocks. An example of the latter might be the first four alphabetic letters of the customers last name followed by a 4-, 5-, or 6-digit dependent number. For example, Jason Melville might be MELV28645. Many firms like this approach because it provides some indication of the customers last name (which is valuable both to the customer and the company). 4. Suggest a code scheme that will identify each specific order. Unless there is some other reason, the order entry system automatically assigns order numbers dependently. If it is desirable to code the source of the order (such as W for Web-based, or T for telephone), you could devise a code that includes an identifying character for this purpose. ANSWERS TO CASE STUDIES New Century Health Clinic Assignments 1. Create an initial entity-relationship diagram for the New Century Health Clinic system. Answers will vary depending on the logical design that students prepared during the systems analysis phase of the SDLC. Students should understand and apply the guidelines on ERDs and cardinality described in this chapter. The form of the diagram is not

Systems Analysis and Design, Ninth Edition

Page 18 of 33

important systems analysts use various styles, and each CASE tool has its own way of displaying the information. The main objective is to represent the entities and the relationships among them. A sample diagram follows:
SUBMITTED TO PAYS INSURANCE CO

OFFERS INSURANCE PROGRAM

CLAIM

EMPLOYER

PRODUCES APPLIES TO

PROVIDES INSURANCE COVERAGE

HOUSEHOLD

PAYS

PAYMENT

CHARGE

INCLUDES

PATIENT IS BASED ON SCHEDULES

APPT SERVICE IS INCLUDED IN

APPOINTMENT

CPT CODE AND FEE

INVOLVES PROCEDURES USING PERFORMS

PROVIDER

2. Normalize your table designs. Answers will vary depending on the logical design that students prepared during the systems analysis phase of the SDLC. Students should apply the guidelines described in this chapter and consider the SWL normalization examples described on pages 447-448. A normalized record design for the entities in the ERD required in Assignment 1 follows: PATIENT (PATIENT NUMBER, PATIENT FIRST NAME, PATIENT LAST NAME, DATE OF BIRTH, HOUSEHOLD NUMBER, RELATIONSHIP CODE) APPOINTMENT (APPT NUMBER, PATIENT NUMBER, APPOINTMENT DATE, APPOINTMENT TIME, PROVIDER NUMBER)

Systems Analysis and Design, Ninth Edition

Page 19 of 33

APPT SERVICE (APPT SERVICE NUMBER, APPT NUMBER, CPT CODE, STATUS, FEE, EXPLANATION) PROVIDER (PROVIDER NUMBER, PROVIDER NAME) EMPLOYER (EMPLOYER NUMBER, EMPLOYER NAME, INSURANCE GROUP NUMBER) HOUSEHOLD (HOUSEHOLD NUMBER, HOUSEHOLD LAST NAME, HOUSEHOLD FIRST NAME, HOUSEHOLD ADDRESS, HOUSEHOLD CITY, HOUSEHOLD STATE, HOUSEHOLD ZIP CODE, EMPLOYER NUMBER, HOUSEHOLD HOME PHONE, HOUSEHOLD WORK PHONE, PRIOR BALANCE, CHARGES YTD, HOUSEHOLD PAYMENTS YTD, INSURANCE PAYMENTS YTD) INSURANCE COMPANY (INSURANCE COMPANY NUMBER, INSURANCE COMPANY ADDRESS, INSURANCE COMPANY CITY, INSURANCE COMPANY STATE, INSURANCE COMPANY ZIP CODE, INSURANCE COMPANY PHONE) CPT CODE AND FEE (CPT CODE, CPT DESCRIPTION, STANDARD FEE) CLAIMS (CLAIM NUMBER, INSURANCE COMPANY NUMBER, APPT SERVICE NUMBER, CLAIM AMOUNT, CLAIM DATE) MTD CHARGES (CHARGE NUMBER, APPT SERVICE, PATIENT NUMBER, CHARGE DATE, FEE) MTD PAYMENTS (PAYMENT NUMBER, HOUSEHOLD NUMBER, PAYMENT DATE, PAYMENT AMOUNT, PAYMENT SOURCE, INSURANCE COMPANY NUMBER) Note: Point out that the APPT SERVICE record might have a primary key based on the unique combination of APPOINTMENT and CPT CODE because only one procedure normally would be performed on a particular patient during a specific appointment. Assigning a primary key of APPT SERVICE NUMBER, however, makes it easier to link this file to other entities. Also mention that assigning primary keys to the Claims, MTD charges, and MTD payments transaction files makes it easier to trace specific transactions and provides an audit trail. 3. If you identified any new entities during normalization, create a final entity-relationship diagram for the system. The ERD in Assignment 2 represents the final ERD for the New Century system. 4. Write a memo for your documentation file that contains your recommendation about whether a file processing or a database environment should be used. Attach copies of your ERD(s) and normalized designs. After reviewing the chapter material, including the SWL case study, most students will recommend that New Century use a database approach in the design of the new system. In responding, students should note the characteristics of a file processing environment and compare them to the database environment. As the text points out, the trend is toward relational database designs that provide a more powerful, flexible, and scalable environment for users throughout an organization. Students also should note that a database approach involves certain disadvantages, including a high degree of security and extensive backup/recovery features. Students also should review Figures 9-3 and 9-4, which highlight the differences between the two approaches. Students can attach the ERD(s) and normalized designs they prepared for Assignments 1, 2, and 3.

Systems Analysis and Design, Ninth Edition

Page 20 of 33

Personal Trainer, Inc. Assignments 1. Review the Personal Trainer fact-finding summary in Chapter 4 and draw an ERD with cardinality notation. Assume that system entities include members, activities and services, and fitness instructors. Students should focus on three main entities: members, activities and services, and fitness instructors. In addition, the associative entity called training record is necessary to link students to activities/services, as shown in the following sample ERD. 2. Design tables in 3NF. As you create the database, include various codes for at least three of the fields. Sample 3NF records might look like this. Notice that the associative entity, TRAINING RECORD, has a combination primary key composed of three fields that uniquely identify a specific student in a specific course on a specific date. Note: answers on codes will vary. Encourage students to review the material on pages 423425 and select suitable codes. MEMBER (MEMBER ID, LASTNAME, FIRSTNAME, ADDRESS, PHONE) INSTRUCTOR (INSTRUCTOR ID, LASTNAME, FIRSTNAME, ADDRESS, PHONE) ACTIVITY (ACTIVITY NO, COURSE NAME, DATE, HOURS, TUITION FEE) TRAINING RECORD (MEMBER ID, ACTIVITY NO, DATE, FITNESS LEVEL)

MEMBER

ACTIVITY OR SERVICE 1

M
ASSIGNED TO

INSTRUCTOR

ENROLLS

CREATES

TRAINING RECORD

Systems Analysis and Design, Ninth Edition 3. Use sample data to populate the fields for at least three records in each table.
MEMBER
MemberID 111-11-1111 222-22-2222 333-33-3333 Lastname Wade Copeland Grosjean Firstname Gregg Amanda Jim Address 101 Main Street 999 Broad Street 444 Cherry Lane Phone 123-1111 456-2222 789-3333

Page 21 of 33

INSTRUCTOR
InstructorID 101 102 103 Lastname Burton Dallas Xenos Firstname Address Andrew Jim Laura 203 Court Street 99 Highway 66 East 3 Pointe Plaza Phone 123-1111 456-2222 789-3333

ACTIVITY
ActivityNo Course Name
A101 B102 C103 Test Course 1 Test Course 2 Test Course 3

Date
9/1/2009 10/1/2009 11/1/2009

Hours
10 12 14

Tuition Fee
25 35 45

TRAINING RECORD
MemberID 111-11-1111 111-11-1111 222-22-2222 Activity No A101 B102 B102 Date Fitness Level 9/1/2009 A-1 10/1/2009 A-2 10/1/2009 A-3

4. Recommend a date format for the new system. Should Personal Trainer adopt a single international standard, or should the format be determined by the country in which the center is located? Write a message to Susan with your recommendation. Personal Trainer faces an issue that has become important as many companies enter the international marketplace. Should a small multinational company attempt to maintain a standard date format, or is it better to adapt to the formats used in the countries where it operates? Although the Personal Trainer situation involves dates, it could involve currency formats, numeric representations, weights and measures, or any other conventions that differ from one country to another. There is no standard answer to this question. Personal Trainer must use the local format in all external relationships in order to avoid confusion and operational problems in Canada and to maintain customer satisfaction. But what about internal communications? Many users might feel that the best approach is a program or macro that automatically translates dates into the format best understood by the recipient. For example, in a communication from Personal Trainer headquarters in Chicago to the Toronto supercenter about the Canada Day holiday on July 1, 2009, the date would appear in Canadian format as 1.7.2009 even though the Chicago user entered it as 7/1/2009. Others might feel that Personal Trainer should adopt a consistent

Systems Analysis and Design, Ninth Edition

Page 22 of 33

standard for all internal communications. If so, perhaps the ISO 9000 format would be acceptable.

FastFlight Airlines Assignments 1. Create an ERD for the reservations system. Sample ERD:

PASSENGER

REQUESTS

M M RESERVATION FOR 1 FLIGHT

ENTERED BY 1 AGENT

Systems Analysis and Design, Ninth Edition

Page 23 of 33

2. Create 3NF table designs for the system. Sample 3NF table designs follow: FLIGHT (FLIGHT NUMBER, ORIGIN, DESTINATION, DEPART TIME, ARRIVE TIME, FREQUENCY) RESERVATION (FLIGHT NUMBER, FLIGHT DATE, PASSENGER NUMBER, RESERVATION CODE, SEAT NUMBER, AGENT NUMBER) PASSENGER (PASSENGER NUMBER, PASSENGER NAME) RESERVATION AGENT (AGENT NUMBER, AGENT NAME) 3. For each of the entities identified, design tables and identify the possible candidate keys, the primary key, a probable foreign key, and potential secondary keys. See the answer to Assignment 4. 4. Use sample data to populate the fields for three records. Note: The solutions for Assignments 3 and 4 have been combined. The first part of the solution shows the table design and keys that were created in Assignment 3. The second part of the solution shows the sample data. a. FLIGHT (FLIGHT NUMBER, ORIGIN, DESTINATION, DEPART TIME, ARRIVE TIME, FREQUENCY) Candidate keys: Flight number is the only candidate key. No other field will identify flights uniquely. Primary key: Flight number is the primary key. Foreign key: This record requires no foreign key. Secondary keys: Potential secondary keys include ORIGIN, DESTINATION, DEPART TIME, ARRIVE TIME, and frequency. FastFlight might want to access or display data on the basis of any of these fields, or a combination of them. Using this design, sample data for three FLIGHT records might look like this:
FLIGHT NUMBER
368 890 900

ORIGIN
AUG HPN AUG

DESTINATION
NAS AUG AUG

DEPART TIME
0923 1410 1535

ARRIVE TIME
1017 1555 1620

FREQUENCY
TTH DLY TTH

b. RESERVATION (FLIGHT NUMBER, FLIGHT DATE, PASSENGER NUMBER, RESERVATION CODE, SEAT NUMBER, AGENT NUMBER) Candidate keys: There are no candidate keys other than the combination of FLIGHT NUMBER, FLIGHT DATE, and PASSENGER NUMBER. RESERVATION CODE is a unique value assigned to a primary key combination. Primary key: The combination of FLIGHT NUMBER, FLIGHT DATE, and PASSENGER NAME is the primary key. Foreign key: PASSENGER NUMBER and AGENT NUMBER are foreign keys. Secondary keys: PASSENGER NUMBER, AGENT NUMBER, and SEAT NUMBER also can be used as secondary keys. Using this design, sample data for three RESERVATION records might look like this:
FLIGHT NUMBER FLIGHT DATE PASSENGER NUMBER RESERVATION CODE SEAT NUMBER AGENT NUMBER

Systems Analysis and Design, Ninth Edition


FLIGHT NUMBER
368 890 890

Page 24 of 33
RESERVATION CODE
AXQTBC SUVZAB RHJBVS

FLIGHT DATE
7/6/07 6/1/07 6/1/07

PASSENGER NUMBER
ALER1098 BROT4657 BROT6182

SEAT NUMBER
2A 11A 11B

AGENT NUMBER
412 686 686

c. PASSENGER (PASSENGER NUMBER, PASSENGER NAME) Candidate keys: There are no candidate keys other than PASSENGER NUMBER. Primary key: PASSENGER NUMBER is the primary key. Foreign key: This record requires no foreign key. Secondary keys: PASSENGER NAME is a secondary key. Using this design, sample data for three PASSENGER records might look like this:
PASSENGER NUMBER
ALER1098 BROT4657 BROT6182

PASSENGER NAME
Alerion, Nathan Brothers, Barbara Brothers, Sam

d. RESERVATION AGENT (AGENT NUMBER, AGENT NAME) Candidate keys: There are no candidate keys other than AGENT NUMBER. Primary key: AGENT NUMBER is the primary key. Foreign key: This record requires no foreign key. Secondary keys: AGENT NAME is a secondary key. Using this design, sample data for three RESERVATION AGENT records might look like this:
AGENT NUMBER 412 014 686 AGENT NAME Alexis, Ramon Madre, Jefferson Vasquez, Wanda

ANSWERS TO CHAPTER CAPSTONE CASE: SOFTWEAR, LIMITED (SWL) 1. Rick asked you to help him put together a brief progress update for Michael Jeremy and several other top managers. Specifically, Rick wants you to explain the concept of normalization without using a lot of technical jargon. Rick wants you to summarize the concept using plain English and simple examples. To help Rick, students must understand the normalization rules in the text and write a summary in simple language that managers will understand. Explain to students that managers expect important company data to be free of problems and complexities. Managers will understand that data is a valuable corporate resource that must be accurate, easy to maintain, and adaptable in a changing business environment. The bottom line is that a good design will be significantly less expensive to maintain and help boost customer satisfaction. Although they probably are not interested in the details, managers should know that data must be organized in a special way to achieve these objectives. The process of organizing the data is called normalization.

Systems Analysis and Design, Ninth Edition

Page 25 of 33

The normalization process creates specific requirements for data that produce better quality results, just as companies set standards for quality control objectives. First normal form is better than unnormalized data, second normal form is even better, and third normal form is what most businesses use in their day-to-day operations. Tell students that managers might ask for a specific example of how normalization works, and they should be able to respond with a relatively simple answer. Although the next section goes somewhat beyond the SWL Team Tasks assignment, it can help students test their understanding of normalization. The instructor should be prepared to display specific examples of the record designs described. Although normalization can be complex, some systems analysts like to explain the concept with the following phrase, which is easy to remember: in a properly designed record in third normal form, all nonkey fields depend on the key, the whole key, and nothing but the key. The following example demonstrates how this phrase would apply: Suppose you wanted to design a system to track your service reps and the customers assigned to them. You could set up a table with one record per service rep and with fields for as many customers as you estimate a service rep could possibly have. The service rep number would serve as the primary key. Suppose the current policy was to assign a maximum of 20 customers to each service rep, so you designed the record with 20 fields. Now ask, what would happen if the company suddenly decided to raise the limit to 25? The current database would be useless and you would have to start all over. This is an example of an unnormalized record, because it contains a repeating group the customer fields. First normal form: Suppose that you moved the customer data into a separate table with one record per customer, using the customer number as a primary key. In each customer record, include a field called service rep number, which can relate customers to their assigned reps and to the service reps name. You have removed the repeating group and created two records in first normal form. Second normal form: To be in second normal form, a record must be in first normal form and all fields must depend on the entire primary key not just a portion of it. Therefore, if a 1NF record has a single primary key such as the service rep number or a customer number to identify each individual uniquely, the record is automatically in second normal form. If a combination of two or more fields forms a primary key that uniquely identifies each record, however, then the record is in second normal form only if all the nonkey fields depend on the entire primary key not just part of it. Think of it this way: in second normal form, all fields must depend upon the key, the whole key. In this case, you would have to remove all the fields except the ones that depend on the entire primary key and place them into their own separate table. Third normal form: Now suppose you have a table in second normal form, where all the nonkey fields depend on the entire primary key, but there is one nonkey field that also depends on another nonkey field. For example, in the customer record described above, the service rep number and service rep name both depend on the customer number, but the service rep name also depends on the rep number, which creates redundancy, multiple data entries, and possible inconsistency. To get to third normal form, you must remove the service rep name to a separate table, which can contain other information about the rep, such as telephone number or location. Remember, to be in

Systems Analysis and Design, Ninth Edition

Page 26 of 33

third normal form, all nonkey fields must depend on the key, the whole key, and nothing but the key.

2. At SWL, each employee is assigned to a specific department. Employees from several departments often are assigned to special project teams, however, when a new product is launched or for major marketing events. Carla wants to develop a project management system to track the projects, employees assigned, and accumulated project hours. She believes that employees and projects are in a M:N relationship. She showed you an initial design where all data is stored in a single table: PROJECT DATA (PROJECT-NUMBER, PROJECT-NAME, START-DATE, PROJECT-STATUS, (EMPLOYEE-NUMBER, EMPLOYEE-NAME, JOB-TITLE, DEPT-NUMBER, DEPT-NAME, PROJECT-HOURS)) How would you describe Carlas design? Carlas design is unnormalized, because it contains a repeating group. When you analyze the design, you see that she has put all the fields into a single table, and that the inner set of parentheses contains the repeating group of six fields. 3. Carla wants you to create an ERD, including cardinality, for the project management system. She says that you probably will need to add an associative entity. At this point students should realize that some type of associative entity might be needed to relate employees to projects in a M:N relationship. Refer to the M:N examples on page 407 to remind students that in this type of relationship, an additional entity called an associative entity is needed. If the ERD is drawn with the associative entity included, it might look like this:

Systems Analysis and Design, Ninth Edition

Page 27 of 33

DEPARTMENT

EMPLOYS

EMPLOYEE

PROJECT

CHARGES

INCURS

PROJECT-HOURS

4. After you create the ERD in the previous step, design a table for each entity, in third normal form. By following the examples in the chapter, students should be able to construct four tables, all of which are in 3NF: PROJECT (PROJECT-NUMBER, PROJECT-NAME, START-DATE, PROJECTSTATUS) EMPLOYEE (EMPLOYEE-NUMBER, EMPLOYEE-NAME, DEPARTMENT-NUMBER, JOB-TITLE) PROJECT HOURS (PROJECT-NUMBER, EMPLOYEE-NUMBER, PROJECT-HOURS) DEPARTMENT (DEPARTMENT-NUMBER, DEPARTMENT-NAME)

Systems Analysis and Design, Ninth Edition

Page 28 of 33

Manage the SWL Project You have been asked to manage SWLs new information system project. One of your most important activities will be to identify project tasks and determine when they will be performed. Before you begin, you should review the SWL case in this chapter. Then list and analyze the tasks, as follows: LIST THE TASKS Start by listing and numbering at least ten tasks that the SWL team needs to perform to fulfill the objectives of this chapter. Your list can include SWL Team Tasks and any other tasks that are described in this chapter. For example, Task 3 might be to Identify all entities, and Task 6 might be to Create an initial ERD. An answer might include tasks listed in the Chapter Introduction Case, and other examples of tasks found in the SWL case or elsewhere in the chapter. A sample answer follows: Task List Review data design terms and concepts, including normal forms and cardinality Determine whether the system requires a relational database Identify all entities Determine the relationships among system entities Draw an ERD that includes cardinality notation For each entity, list all necessary fields and identify a primary key Create table designs in third normal form Consider codes that might be used when developing the system Consider any physical design issues Consider suitable data control measures ANALYZE THE TASKS Now study the tasks to determine the order in which they should be performed. First identify all concurrent tasks, which are not dependent on other tasks. In the example shown in Figure 9-52, Tasks 1, 2, 3, 4, and 5 are concurrent tasks, and could begin at the same time if resources were available. Other tasks are called dependent tasks, because they cannot be performed until one or more earlier tasks have been completed. For each dependent task, you must identify specific tasks that need to be completed before this task can begin. For example, you would want to identify all the entities before you could create an initial ERD, so Task 6 cannot begin until Task 3 is completed, as Figure 9-52 shows. Answers will vary. A sample answer follows: Concurrent Tasks 1. Review data design terms and concepts, including normal forms and cardinality 2. Determine whether the system requires a relational database 3. Identify all entities Dependent Tasks 4. Determine the relationships among system entities 5. Draw an ERD that includes cardinality notation 6. For each entity, list all necessary fields and identify a primary key 7. Create table designs in third normal form

Systems Analysis and Design, Ninth Edition

Page 29 of 33 8. Consider codes that might be used when developing the system 9. Consider any physical design issues 10. Consider suitable data control measures

For each dependent task, a sample list of predecessor tasks follows: Dependent Tasks 4. Determine the relationships among system entities 5. Draw an ERD that includes cardinality notation 6. For each entity, list all necessary fields and identify a primary key 7. Create table designs in third normal form 8. Consider codes that might be used when developing the system 9. Consider any physical design issues 10. Consider suitable data control measures Predecessor Tasks 1,2,3 1,2,3 5 6 7 7 7

Chapter 3 describes project management tools, techniques, and software. To learn more, you can visit the Features section on your Student Study Tool CD-ROM, or visit the Management Information Systems CourseMate Web site at www.cengagebrain.com and locate the project management resources library for this book. On the Web, Microsoft offers demo versions, training, and tips for using Project 2010. You also can visit the OpenWorkbench.org site to learn more about this free, open-source software. The Features section on the Student Study Tool CD-ROM includes Web links for Microsoft Project and Open Workbench, and a user guide for Open Workbench. Instructors can demonstrate Microsoft Project if it is available, and show students how to download and install Open Workbench. Instructors also can create additional assignments that use project management software skills in a systems development environment

Systems Analysis and Design, Ninth Edition ANSWERS TO READY FOR A CHALLENGE

Page 30 of 33

Instructor Note: Remind students that to view sample answers to Practice Tasks, they can visit the Management Information Systems CourseMate Web site at www.cengagebrain.com, navigate to the resources for this chapter, and locate Ready for a Challenge.

Systems Analysis and Design, Ninth Edition

Page 31 of 33

The ERD shown above joins the AUTHOR and GAME tables with an associative entity, called AUTHORS and GAMES. The crow-foot notation is explained in Chapter 9 of the textbook. As shown, one and only one author can create many games, or none. On the other hand, one and only one game can be created by at least one, or many authors.

Microsoft Access was used to create a database with the tables, fields, and relationships shown above.

A one-letter code has 26 possible values. A two-letter code has 26 x 26, or 676 possible values. A three-letter code has 26 x 26 x 26, or 17,576 values and so on. As the following table shows, a six-letter code would have 308,915,776 possible values.

Systems Analysis and Design, Ninth Edition

Page 32 of 33

Have students review the design. What about normalization? The database seems to be in 2NF, because each nonkey field depends on the whole key in each table. But what about the GAME table? Notice that there is a field for Category Code, and another field for Category Description. This suggests that Category Description is dependent on the primary key, which is Product ID, but is also dependent on another field: Category Code. That means the table is in 2NF, but in not 3NF. To be in 3NF, each field must depend on the key, the whole key, and nothing but the key. As the textbook explains, the solution is to remove any fields that depend on another nonkey field, and place them in a new table where the nonkey field is the primary key. In the example shown below, a new table called CATEGORY has been created, with a primary key of Category Code. Now the design is in 3NF design, because the nonkey field called Category Description now depends on the key, the whole key, and nothing but the key.

Systems Analysis and Design, Ninth Edition

Page 33 of 33

The theoretical answer is more than 4.5 billion combinations, which will surprise many students. That is more than half the population of the Earth! We know that a four-letter code has 26 x 26 x 26 x 26, or 456,967 possible values. Adding four numeric digits would multiply that total by 10,000, for a grand total of 4,569,760,000. Of course, the answer is only theoretical, because many (perhaps most) letter combinations will not be used at all. The code might also be impractical, because popular combinations, such as SMIT (which could stand for Smith, Smithson, Smithwick, Smithson, and so on) would be limited to 10,000 usages each. In a truly huge population, like the census, that could be a problem. This might be a good time to challenge students to suggest other codes that would be both practical and easy to use.

You might also like