The hospital runs on six separate files
This is a working file-based system. Read records, edit them, add and delete rows. Everything you do stays trapped in the file you did it in.
Hospital file dashboard
Six departments, six independent copies of the same patients.
Reception file
Front desk registrations and walk-ins
| ID | Name | Phone | Visit Date | |
|---|---|---|---|---|
| 101 | John Mathew | 9999999999 | 12 Mar 2026 | |
| 102 | Aisha Khan | 9812345670 | 12 Mar 2026 | |
| 103 | Rahul Verma | 9876500011 | 13 Mar 2026 | |
| 104 | Meera Nair | 9700012345 | 13 Mar 2026 | |
| 105 | Sanjay Patil | 9611122334 | 14 Mar 2026 |
The same patient, stored six times
Every department typed John in separately. Storage multiplies and so does risk.
Patient 101 · John Mathew
Scan every department file for this person
reception_patients.txt
Patient ID: 101
Name: John Mathew
Phone: 9999999999
doctor_notes.txt
Patient ID: 101
Name: John Mathew
Phone: 9999999999
lab_reports.txt
Patient ID: 101
Name: John Mathew
Phone: 9999999999
pharmacy_issue.txt
Patient ID: 101
Name: John Mathew
Phone: 9999999999
billing_ledger.txt
Patient ID: 101
Name: John Mathew
Phone: 9999999999
admin_master.txt
Patient ID: 101
Name: John Mathew
Phone: 9999999999
Update one file and the truth splits in two
Change John's phone number at Reception, then look at everyone else.
John changed his phone number
He tells the receptionist. Only the receptionist.
Reception
9999999999
Doctor
9999999999
Laboratory
9999999999
Pharmacy
9999999999
Billing
9999999999
Administration
9999999999
One patient's history lives in six unrelated places
There is no global search. Open each file yourself and count the clicks.
Build John's complete medical history
There is no single search box. Open each file one at a time.
reception_patients.txt
Contents locked — file not opened yet.
doctor_notes.txt
Contents locked — file not opened yet.
lab_reports.txt
Contents locked — file not opened yet.
pharmacy_issue.txt
Contents locked — file not opened yet.
billing_ledger.txt
Contents locked — file not opened yet.
admin_master.txt
Contents locked — file not opened yet.
A new question means a new manual procedure
Find every patient who visited Cardiology — by scanning files one by one.
Question: “Which patients visited Cardiology?”
No query language exists. Scan each file line by line.
Answer assembled so far
Two people save the same file — one edit vanishes
No locks, no transactions. The last writer silently wins.
Two staff members open patient.txt at the same time
Save one, then the other. Watch what survives.
Reception · editing address
Doctor · editing phone
patient.txt on disk
Address: 14 Rose Lane, Pune
Phone: 9999999999
If you can open the folder, you can read everything
Log in as an intern and open confidential clinical files.
Log in as any staff member
The hospital shares one folder on one machine.
One delete, twelve thousand patients gone
Delete patient.txt and try to get it back.
One accidental delete
patient.txt holds 12,480 patient records.
patient.txt · 4.2 MB
12,480 records · no copy anywhere
Patients, appointments and doctors know nothing about each other
You have to perform the join in your head, file by file.
“Who is John's doctor on 26 March?”
Three files, no foreign keys. You are the join engine.
patients.txt
████ | ██████
████ | ██████
████ | ██████
████ | ██████
appointments.txt
████ | ██████
████ | ██████
████ | ██████
████ | ██████
doctors.txt
████ | ██████
████ | ██████
████ | ██████
████ | ██████
There had to be
a better solution.
In 1970, Edgar Codd proposed storing every fact exactly once, in related tables, behind one engine that guards it. Watch the same hospital run on it.
Rebuild on a database