diff --git a/lang/en/docs/coding.html b/lang/en/docs/coding.html
index d29bd64cae9..faad02f9d85 100755
--- a/lang/en/docs/coding.html
+++ b/lang/en/docs/coding.html
@@ -165,10 +165,16 @@ GOOD: $assignments (for an array of objects)
Database structures
- Every table must have an auto-incrementing id field (INT10) as primary index.
- - The main table containing instances of each module must have the same name as the module (eg widget).
+ - The main table containing instances of each module must have the same name as the module (eg widget) and contain the following minimum fields:
+
+ - id - as described above
+ - course - the id of the course that each instance belongs to
+ - name - the full name of each instance of the module
+
+
- Other tables associated with a module that contain information about 'things' should be named widget_things (note the plural).
- Column names should be simple and short, following the same rules as for variable names.
- - Columns that contain a reference to the id field of another table (eg widget) should be called widgetid.
+ - Where possible, columns that contain a reference to the id field of another table (eg widget) should be called widgetid. (Note that this convention is newish and not followed in some older tables)
- Boolean fields should be implemented as small integer fields (eg INT4) containing 0 or 1, to allow for later expansion of values if necessary.
- Most tables should have a timemodified field (INT10) which is updated with a current timestamp obtained with the PHP time() function.