How should you adjust the database design?

You designed a database for patient records as a pilot project to cover a few hundred patients in three clinics. Your design used a single database table to represent all patients and their visits, and you used self-joins to generate reports. The server resource utilization was at 50%. Since then, the scope of the project has expanded. The database must now store 100 times more patient records. You can no longer run the reports, because they either take too long or they encounter errors with insufficient compute resources.

How should you adjust the database design?
A . Add capacity (memory and disk space) to the database server by the order of 200.
B . Shard the tables into smaller ones based on date ranges, and only generate reports with prespecified date ranges.
C . Normalize the master patient-record table into the patient table and the visits table, and create other necessary tables to avoid self-join.
D . Partition the table into smaller tables, with one for each clinic. Run queries against the smaller table pairs, and use unions for consolidated reports.

Answer: C

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments