Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html,v diff -u -r1.48.2.10 -r1.48.2.11 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 21 Jun 2016 07:44:36 -0000 1.48.2.10 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 23 Jun 2016 08:32:45 -0000 1.48.2.11 @@ -21,10 +21,10 @@

Constraint typeAbbreviation
references (foreign key)fk
uniqueun
primary keypk
checkck
not nullnn
indexidx

Format of constraint name

<table name>_<column_name>_<constraint abbreviation>

-In reality, this won't be possible because of the character limitation on +In reality, this won't be possible because of the character limitation on names inside oracle. When the name is too long, we will follow these two steps in order: -

  1. Abbreviate the table name with the table's initials (e.g. users -> u and users_contact -> uc). +

    1. Abbreviate the table name with the table's initials (e.g. users -> u and users_contact -> uc).

    2. Truncate the column name until it fits.

    If the constraint name is still too long, you should consider rewriting your entire data model :) @@ -52,8 +52,8 @@ constraint cne_example_id_one_line_unq unique(example_id, one_line_description) ); -

Why it's good to name primary keys

-Naming primary keys might not have any obvious advantages. However, here's an +

Why it's good to name primary keys

+Naming primary keys might not have any obvious advantages. However, here's an example where naming the primary key really helps (and this is by no means a rare case!

@@ -71,7 +71,7 @@
    3	1     INDEX (UNIQUE SCAN) OF 'EXAMPLE_TOPICS_TOPIC_ID_PK' (UNI
 	  QUE)
 

-Isn't it nice to see "EXAMPLE_TOPICS_TOPIC_ID_PK" in the trace +Isn't it nice to see "EXAMPLE_TOPICS_TOPIC_ID_PK" in the trace and know exactly which table oracle is using at each step?

Naming not null constraints is optional...

People disagree on whether or not we should be naming not null @@ -81,7 +81,7 @@

About Naming the not null constraints

-Though naming "not null" constraints doesn't help immeditately in error +Though naming "not null" constraints doesn't help immeditately in error debugging (e.g. the error will say something like "Cannot insert null value into column"), we recommend naming not null constraints to be consistent in our naming of all constraints.