Index: sql/schema.md
===================================================================
--- sql/schema.md	(revision 1b20b226a74790f84dc06dc488f4f761b510a3f2)
+++ sql/schema.md	(revision 20df1a33a74bc8c0aacbab3ab6c1e43df4734d41)
@@ -111,5 +111,4 @@
     payment {
         integer id PK
-        integer user_id FK
         integer enrollment_id FK
         integer amount
@@ -136,5 +135,4 @@
     users               ||--o| contact            : has_contact
     users               ||--o{ token              : has_token
-    users               ||--o{ payment            : pays
     users               ||--o{ enrolled_semesters : submits
     users               ||--o{ user_documents     : owns
@@ -184,2 +182,5 @@
   they differ.
 - `professour_subjects` keeps the spelling used by the table in `schema_creation.sql`.
+- `payment` has no `user_id`: the student is reached through `enrollment_id`.
+  Storing it twice violated BCNF (`enrolled_id -> user_id`) and allowed a
+  payment to contradict the enrolment it refers to. Removed in Phase 5.
