Demand
Use "id_{context}" to name fields of external identification codes and "{context}_id" to internal ones.
Description
When creating a column in a table that reference an id (identification code) of a table located at the database you are dealing it should be named as "{Table Name}_id".
When creating a column in a table that reference an id of a context external to the database you are dealing with it should be named as "id_{Context Name}".
Examples
1: CREATE TABLE customer (
2: id INT NOT NULL,
3: name VARCHAR(100) NOT NULL,
4: id_ssn COMMENT 'the United States, the Social Security number',
5: user_id INT NULL COMMENT 'if the customer have a system login it will be refernced here',
6: PRIMARY KEY (id),
7: UNIQUE `uq_ssn` (`ssn`),
8: CONSTRAINT `fk_customers_user_id_users_user_id`
9: FOREIGN KEY (`user_id`)
10:
REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
11: );
Examples Explanation
If a column in table "table1" references a table in the same database, such as e.g., "table2", then such a column in "table2" must be named by entering the name of the table where the key related to the column being created is located followed by an "id". In this example, it would be "table1.table2_id" (as used in most of the companies nowadays) and when we reference an "id" column in an external context we start with the string "id" followed by the name of the column or context that the id relates to. In our example the SSN field most of the times are just named as "ssn" and in the upper CREATE TABLE it was named "id_ssn" and anyone looking at it, even non americans, would then know that it is not an item originated in our database and that the column is an ID or could be used as an ID but it is not referencing a data, context or table inside the domains of that database.
Comentários
Postar um comentário