NSG/543 Week 2: Tables, Keys and Relationships, sample paper

Reviewed by Lenora Whitcombe, MSN, RN · University of Phoenix

This page holds a complete NSG/543 Week 2 sample database design, in true APA form. It turns the entities identified for a composite hospital's No One Dies Alone program into five tables with fields, data types, primary and foreign keys and relationships, describes the entity-relationship diagram in text and shows the normalization steps that remove the repetition that caused the spreadsheet's errors.

1

Five Tables, Seven Keys and One Row Per Fact: Designing and Normalizing the Relational Schema for a Volunteer Vigil Program

[Student Name]

University of Phoenix

NSG/543: Database Management

Week 2 Assignment

[Instructor Name]

[Date]

The hospital, the program and the design are a composite written for a model paper.

What this part is doingThe title states the size of the design and its guiding rule. The reader expects a complete schema that could be built.
2

In Week 1, I identified five entities for a database to replace the spreadsheet used by our hospital's No One Dies Alone program: volunteers, training records, patient vigils, shifts and units. This paper designs the tables that will hold them and shows how the design avoids the problems of the spreadsheet.

Design Goals

The design has three goals, each tied to a problem found in Week 1. Store each fact once, so a volunteer's phone number cannot become inconsistent. Record requested shifts as well as filled ones, so uncovered hours can be counted. And identify patients reliably, so two patients with the same initials cannot be confused.

Table 1: Volunteer

Fields: VolunteerID, integer, primary key, assigned automatically; FirstName and LastName, text; Phone, text of 10 digits; Email, text; StartDate, date; Status, text limited to active, inactive or leave; PreferredShifts, text; and Notes, text.

Why: every fact about a volunteer that does not change from vigil to vigil lives here and only here.

Table 2: Training

Fields: TrainingID, integer, primary key; VolunteerID, integer, foreign key to Volunteer; CourseName, text limited to orientation, annual refresher or bereavement module; DateCompleted, date; and ExpirationDate, date, calculated as one year after completion for the refresher.

Why: a volunteer completes many trainings over time, so training cannot be a single column in the volunteer table without either overwriting history or repeating columns.

Table 3: Unit

Fields: UnitID, integer, primary key; UnitName, text; Floor, integer; and NursingContact, text.

Table 4: Vigil

Fields: VigilID, integer, primary key; MRN, text, the patient's medical record number; UnitID, integer, foreign key to Unit; Room, text; RequestDateTime, date-time; RequestingNurse, text; ExpectedDurationHours, integer; EndDateTime, date-time; and EndReason, text limited to patient died, family arrived, transferred or vigil not needed.

Why: the medical record number identifies the patient uniquely, which solves the initials problem; the patient's name is not stored here but displayed from the record when needed, keeping protected health information in the database to a minimum.

Table 5: Shift

Fields: ShiftID, integer, primary key; VigilID, integer, foreign key to Vigil; VolunteerID, integer, foreign key to Volunteer, left empty when the shift is unfilled; ScheduledStart and ScheduledEnd, date-time; ActualStart and ActualEnd, date-time; and FilledStatus, text limited to filled, unfilled or canceled.

Why: when a vigil is requested, the coordinator creates shifts for the expected duration in two-hour blocks. A shift row that exists without a volunteer is the database's way of recording an hour when a dying patient was alone, which the spreadsheet could never show.

What this part is doingEach table lists every field with its type and key role and explains why the table exists. The explanation of unfilled shifts ties the design to the program's most important outcome.
3

Relationships and the Diagram

The entity-relationship diagram, described in words, has Volunteer at the left, Vigil at the right and Shift between them. Volunteer to Shift is one to many, since a volunteer works many shifts; Vigil to Shift is one to many, since a vigil has many shifts. Shift therefore resolves the many-to-many relationship between volunteers and vigils. Volunteer to Training is one to many. Unit to Vigil is one to many. Every foreign key is enforced, so a shift cannot refer to a vigil that does not exist.

Normalization

Codd (1970) introduced normal forms to prevent the anomalies that arise when data are repeated. The spreadsheet illustrates each.

First normal form requires that each field hold a single value and each row be unique. The spreadsheet's notes column sometimes listed two volunteers in one cell when they overlapped; the Shift table gives each volunteer's shift its own row.

Second normal form requires that every non-key field depend on the whole key. In the spreadsheet, a row was effectively identified by date, time and volunteer, yet the volunteer's phone number depended only on the volunteer; moving phone numbers to the Volunteer table fixes this.

Third normal form requires that non-key fields not depend on other non-key fields. In the spreadsheet, the unit's floor depended on the unit name, not on the shift; the Unit table fixes this.

The result is that each fact appears once: a phone number in Volunteer, a floor in Unit and a training date in Training.

Validation Rules

The design includes rules that prevent bad data from entering. ActualEnd must be after ActualStart. A shift cannot be marked filled without a VolunteerID. ExpirationDate is calculated rather than typed. EndReason must come from its list. A volunteer with status inactive cannot be assigned to a new shift.

Testing the Design Against the Program's Questions

The design was checked against the questions the steering committee asks. How many vigil hours were requested and how many were covered last quarter? Answerable from Shift. Which volunteers need refresher training this month? Answerable from Training. Which units request vigils most often? Answerable from Vigil and Unit. How quickly are first shifts filled after a request? Answerable by comparing RequestDateTime with the earliest ActualStart. Each question can be answered without storing any fact twice. McGonigle and Mastrian (2022) describe designing a database from the questions its users need answered, which is how these tests were chosen.

Design Choices Considered and Rejected

Two alternatives were considered. Storing patient names in the Vigil table would make reports easier to read but would duplicate protected health information that already exists in the record; the medical record number is enough to retrieve the name when a coordinator needs it. Combining Vigil and Shift into one table would simplify the design but would repeat the patient, unit and request details on every shift row, reintroducing the anomalies normalization removes. Programs of this kind depend on accurate scheduling across many volunteers (Bradas et al., 2014), and a design that keeps each fact in one place protects that accuracy.

Growth

The design allows growth. If the program adds bedside music or legacy projects, a new table can hold those activities linked to the vigil without changing existing tables.

Security in the Design

Only the Vigil table holds a patient identifier. Access will be controlled by role, with the coordinator and chaplains able to view and edit, and nursing leadership able to see only reports without identifiers.

Documentation

The design is documented in a data dictionary that lists every table and field, its type, its allowed values and its meaning in plain words, so that a future coordinator or analyst can understand the database without the designer. The dictionary also records why each design choice was made, including the choice to leave patient names in the record rather than the database.

Build Plan

The tables will be built in the hospital's approved database platform in a test environment first. Two years of spreadsheet data will be migrated with a script that splits each spreadsheet row into its Volunteer, Vigil, Shift and Unit parts, and the migrated counts will be checked against the spreadsheet before go-live.

Conclusion

Five normalized tables linked by keys now represent the program's work: volunteers and their training, units, vigils and the shifts that connect volunteers to vigils. The design stores each fact once, records unfilled shifts so uncovered hours can be measured, identifies patients reliably and limits protected health information. Week 3 will design the forms through which staff and coordinators enter data.

What this part is doingThe conclusion summarizes the schema and how it solves the problems found in Week 1. Every source cited in the paper appears in the reference list.
4

References

Bradas, C. M., Bowden, V., Moldaver, B., & Mion, L. C. (2014). Implementing the "No One Dies Alone" program: Process and lessons learned. Geriatric Nursing, 35(6), 471-473. https://doi.org/10.1016/j.gerinurse.2014.10.005

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

McGonigle, D., & Mastrian, K. G. (2022). Nursing informatics and the foundation of knowledge (5th ed.). Jones & Bartlett Learning.

How this NSG 543 Week 2 example is structured

The NSG/543 description asks students to develop tables within a database model. This paper presents the design at the level a builder needs: every table, field, type and key, the relationships between tables and the normalization reasoning, with the design checked against the program's questions before it is built. Students search this week as NSG 543 Week 2, NSG543 Wk 2 or NSG/543 Wk 2; all three are the same assignment.

NSG/543 Week 2 questions, answered

What does NSG/543 Week 2 usually ask for?

Many sections ask students to design the tables of their database, with fields, data types, keys and relationships, often shown in an entity-relationship diagram.

What is a primary key?

A field, or combination of fields, whose value uniquely identifies each row in a table, such as a volunteer ID.

What is normalization?

A process for organizing tables so that each fact is stored once and every field depends on the table's key, which prevents update errors and inconsistent data.

Write yours, or have the desk draft it

This paper is an original model document written by our desk, not a submitted student paper and not an official University of Phoenix document. Read it for the moves, then write your own to the instructions in your classroom. If you want one built to your exact prompt and rubric, the first custom sample is free and arrives in 24 to 48 hours.