HI520 Unit 3 Normalization Exercise Example

Reviewed by Chester Goodwin, MBA Database Design and SQL Purdue University Global Free custom sample in 24 to 48h

This HI520 Unit 3 normalization exercise takes a composite pediatric practice's sixteen-column registry export to third normal form. Purdue Global HI 520 asks MS in Health Informatics students to justify every split, and the sample lists seven functional dependencies before touching any relation. The wide table repeats names and addresses and holds three diagnosis codes in one cell separated by semicolons. A section shows update, insertion and deletion anomalies with the export's own data. First normal form moves the diagnoses to their own relation and drops a derived age column; second normal form separates orders from results; third normal form pulls out patients, sites, providers and tests. A join test confirms the split is lossless, and a final check against the earlier diagram finds the encounter the export had flattened away.

CourseHI520 Database Design and SQL
UnitUnit 3
Paper typeNormalization exercise
LengthAbout 950 words, 6 pages double-spaced
FormatAPA 7 student paper
SchoolPurdue University Global
ProgramMS in Health Informatics
UpdatedOctober 2026

Free sample paper for HI520 Unit 3

1

One Wide Export, Sixteen Columns and a Cell Full of Semicolons: A Unit 3 Normalization Exercise Taking a Pediatric Asthma Registry Extract to Third Normal Form

[Student Name]

Purdue University Global

HI520: Database Design and SQL

Unit 3 Normalization Exercise

[Instructor Name]

[Date]

Calder Bay Pediatrics, its export and every value are composite; the sources cited are real.

What this part is doingStating every dependency before touching the relation it affects means no split appears without a reason the grader can check.
2

The Starting Relation

The export, called RESULT_EXPORT, has sixteen attributes: MRN, patient_name, birth_date, age_at_collection, site_name, site_address, provider_name, provider_npi, order_number, order_date, local_test_code, test_name, units, result_sequence, result_value, collection_time and dx_list. One sample row reads: MRN 48211, Mia Torres, birth date 2017-08-04, age 8, Harbor Street, 410 Harbor Street, Dana Okafor NP, NPI 1912345678, order 77310, order date 2026-03-10, test SPIRO, spirometry, percent predicted, sequence 1, value 74, collected 2026-03-12 at 10:20, diagnoses J45.40; J30.2; L20.9. A second row for the same order holds the post-bronchodilator value with sequence 2 and value 86, repeating every other column.

Why the Wide Table Causes Trouble

The export works for reading one row at a time and fails for everything else. If the Harbor Street site moves, its address must be changed on every row that mentions it, thousands of them, and any row missed keeps the old address: an update anomaly. A new provider who has not yet ordered a test cannot be recorded at all, because a row needs an order: an insertion anomaly. If the only result for a rarely used test is deleted, the test's name and units disappear with it: a deletion anomaly. And a count of children with asthma requires searching text in the diagnosis cell, which miscounts any row where a code was typed with a space or in lowercase. Each normal form below removes one source of these problems.

What this part is doingShowing the three anomalies with the export's own data gives the grader a reason for normalization before the rules are applied.
3

Functional Dependencies

1. MRN determines patient_name and birth_date.

2. site_name determines site_address.

3. provider_npi determines provider_name.

4. order_number determines MRN, order_date, provider_npi, site_name, local_test_code and dx_list.

5. local_test_code determines test_name and units.

6. order_number together with result_sequence determines result_value and collection_time.

7. birth_date together with collection_time determines age_at_collection.

The key of RESULT_EXPORT is order_number plus result_sequence, since one order can return more than one result.

First Normal Form

Rule: every attribute holds a single value. dx_list breaks the rule, because one cell holds three codes, and no query can count children by a diagnosis buried inside a string without unreliable text matching. The diagnosis list is moved to its own relation, ORDER_DIAGNOSIS, with one row per code: order_number, dx_code and dx_sequence, keyed on order_number and dx_code. The sequence keeps the original order, so the first-listed code remains identifiable. age_at_collection is also removed at this step: it is not a stored fact but a value derived from birth_date and collection_time, and storing it invites the two to disagree after a correction. No query can reliably count children with persistent asthma while their diagnoses sit together in one text cell, which is why the semicolon list goes first.

Second Normal Form

Rule: every non-key attribute depends on the whole key, not part of it. With a key of order_number plus result_sequence, every attribute that depends on order_number alone violates the rule: MRN, order_date, provider_npi, site_name and local_test_code, along with everything they determine. The decomposition creates TEST_ORDER, keyed on order_number and holding MRN, order_date, provider_npi, site_name and local_test_code, and TEST_RESULT, keyed on order_number plus result_sequence and holding result_value and collection_time.

Third Normal Form

Rule: an attribute outside the key may not get its value by way of some other attribute outside the key. TEST_ORDER still carries attributes that depend on order_number only through another attribute: patient_name through MRN, site_address through site_name, provider_name through provider_npi, and test_name and units through local_test_code. Each transitive chain becomes its own relation: PATIENT with MRN, patient_name and birth_date; SITE with site_name and site_address; PROVIDER with provider_npi and provider_name; and TEST with local_test_code, test_name and units. TEST_ORDER keeps only foreign keys and order_date.

What this part is doingNaming the specific chain behind each third normal form split shows the grader the dependency reasoning rather than just the finished tables.
4

Final Relations

1. PATIENT: MRN (key), patient_name, birth_date.

2. SITE: site_name (key), site_address.

3. PROVIDER: provider_npi (key), provider_name.

4. TEST: local_test_code (key), test_name, units.

5. TEST_ORDER: order_number (key), MRN, order_date, provider_npi, site_name, local_test_code.

6. TEST_RESULT: order_number and result_sequence (key), result_value, collection_time.

7. ORDER_DIAGNOSIS: order_number and dx_code (key), dx_sequence.

Join Test

Joining TEST_RESULT to TEST_ORDER on order_number, then to PATIENT, SITE, PROVIDER and TEST on their keys, and to ORDER_DIAGNOSIS on order_number, reproduces every original row's values without adding rows that never existed, because each join follows a foreign key to exactly one parent row. Recomputing age from birth_date and collection_time reproduces the dropped column. Mia's two spirometry rows reassemble exactly: one order, two results, three diagnoses. The decomposition is lossless, a property the relational model treats as essential for any split (Codd, 1970).

Checking Against the Diagram

The Unit 2 diagram was drawn from the scenario before any data arrived, following the entity approach (Chen, 1976), so comparing it with relations derived from real data is a useful test of both. The normalized relations match most of it: PATIENT, SITE, PROVIDER, TEST_ORDER and TEST_RESULT appear in both. Two differences matter. First, the export has no encounter: diagnoses hang from orders, because the source system flattened the visit away when it produced the file. Normalization cannot recover an entity the data never contained. When the export is loaded, orders must be matched to encounters using the source system's encounter identifier, which the import request should add. Second, the site in TEST_ORDER is the ordering site, while the diagram also records a performing site for each result. Data quality work warns that an extract can look complete while silently dropping the context needed to interpret it (Weiskopf & Weng, 2013), and the missing encounter is exactly that kind of loss.

5

References

Chen, P. P.-S. (1976). The entity-relationship model: Toward a unified view of data. ACM Transactions on Database Systems, 1(1), 9-36. https://doi.org/10.1145/320434.320440

Codd, E. F. (1970). A relational model of data for large shared data banks. Communications of the ACM, 13(6), 377-387. https://doi.org/10.1145/362384.362685

Weiskopf, N. G., & Weng, C. (2013). Methods and dimensions of electronic health record data quality assessment: Enabling reuse for clinical research. Journal of the American Medical Informatics Association, 20(1), 144-151. https://doi.org/10.1136/amiajnl-2011-000681

What the HI520 Unit 3 assignment asks for

The third unit commonly gives you a flat table or export and asks you to normalize it, usually to third normal form. Expect to identify the starting key, list functional dependencies, and then apply first, second and third normal form in order, stating each rule and the attributes that violate it. Many instructors want a demonstration that the decomposition is lossless, such as a join test. You should explain the anomalies the flat table causes, which gives normalization its purpose. Comparing the result with your earlier entity diagram is often required, and differences should be explained rather than hidden. Support the method with Codd's model or a standard database textbook, plus a data quality source if you discuss what the export lost. Relational notation with numbered relations makes the work easy to check, and composite sample rows help.

How this HI520 Unit 3 example is built

The exercise opens with the export's sixteen attributes and two sample rows for one spirometry order. A section on anomalies shows why the wide table fails for updates, new providers, deletions and counting by diagnosis. Seven dependencies follow in arrow form, and the composite key is stated. Each normal form section gives the rule in one sentence, names the violating attributes and shows the decomposition; the highlighted sentence explains why the semicolon list goes first. A margin note marks the third normal form chains. Seven final relations are listed with keys. The join test reassembles the two sample rows exactly and recomputes the dropped age. A final section compares the relations with the diagram and explains the missing encounter as a gap in the export, citing data quality work.

Where the points sit in the HI520 Unit 3 rubric

Normalization exercises are generally graded on dependencies, correct application of each normal form, the final relations, the lossless check and explanation. Dependency points reward a complete list stated before any decomposition. Each normal form section earns credit when the rule is stated, violations are named and the split follows from them; students lose many points by jumping straight to final tables without showing the steps. The lossless check is often its own block, and graders want an explicit demonstration rather than an assertion. Explanation earns credit for anomalies shown with real rows and for differences from the earlier diagram discussed honestly. Correct notation, consistent keys and APA citations complete the rubric. Dropping derived attributes, with a reason, can earn points beyond the minimum.

Common HI520 Unit 3 mistakes, and how to avoid them

Students often present the final tables in Unit 3 without listing dependencies, so the grader cannot see why any split happened. Another common mistake is treating first normal form as just removing duplicate rows while leaving multi-valued cells like a diagnosis list. Some exercises stop at second normal form and miss transitive chains such as a test code determining units. Derived columns like age are frequently kept without comment. A missing join test leaves the lossless property unproven. Many students also skip comparing the result with the earlier diagram, which is where real modeling insight appears. If you have an export or flat table to normalize, share its columns, a few sample rows and the instructions, and the dependencies can be laid out before each split.

Get an HI520 Unit 3 example written to your instructions

Where the Unit 3 prompt supplies its own flat table, attach it as delivered, whether a spreadsheet or a relation typed into the instructions, along with the HI520 rubric. Dependencies, each normal form and the join tests are then worked on that table. Delivery is 24-48h, and there is no charge for the first custom sample. The paper above is an original model document written by our desk, not a submitted student paper and not an official Purdue University Global document.

More HI520 papers and MS in Health Informatics samples

HI520 Unit 3 questions, answered

Where can I find a free HI520 Unit 3 sample paper?

You can read the complete Unit 3 exercise on this page, normalizing a sixteen-column registry export to third normal form.

Why handle the diagnosis list first?

A cell holding several codes breaks first normal form, and no query can reliably count children by a diagnosis inside a string.

Why drop the age column?

Age is derived from birth date and collection time, so storing it lets the two disagree after a correction.

How do you show a decomposition is lossless?

Join the relations back on their keys and confirm the original rows reappear without extra rows, as the sample does.

What did the export lose?

The encounter, so orders had to be matched to visits using the source system's encounter identifier on import.