How To Clean People's Names In Databases
How to Design a Clean Database
18 all-time practices to continue names unproblematic and consistent
No thing what kind of developer y'all are, every one time in a while, nosotros come across an API which returns data in such a manner that nosotros don't have to spend much time understanding it.
Only generating this blazon of clean and consistent effect takes fourth dimension, endeavour, and experience. Today we will accept the offset pace towards designing a clean database.
Nosotros are keeping it short and to the point. Let'southward start
Some Terminology
Table: this is a collection of data
Primary Key: This is the unique identifier of a table
Attribute: means property of your data. For example, name
is an attribute of a user
.
Data Type: Data types represent the various types of your data. For case -string, int, timestamp, etc.
1. Words should be underscore separated
When your attribute name has more than 1 discussion, so split up it with snake_case
. Don't apply camelCase
or any other example for consistency.
bad
wordcount or wordCount
Good
word_count
Reason
- Improves readability
- Names can become more platform-independent
ii. Data Types Should not Be Names
Never accept information-types as your cavalcade proper noun. This happens by and large for timestamp parameters. Give a meaningful proper noun to information technology.
Bad
timestamp or text
Proficient
created_at or description
Reason
- Using data types can create confusion on the other terminate of the awarding.
- Giving a proper name gives more context to the usage of the parameter.
3. Attribute names should exist lowercase
Don't apply upper-case names for your attributes.
Bad
Description
Proficient
description
Reason
- This practice avoids confusion from upper-instance SQL keywords
- Information technology can ameliorate typing speed
four. Write Full Words
Don't attempt to shorten the names of columns for the sake of space or whatever other logic. Try to exist as explicit as possible.
Bad
mid_name
Skilful
middle_name
Reason
This dominion promotes self-documenting design
5. But utilise common abbreviations
An exception of dominion-4 is when you lot accept a widespread abbreviation. In those situations, get for the short ane.
Skillful
i18n
But if you discover yourself in confusion, go for the full name. Information technology'southward an investment you lot are making for the hereafter.
6. Avoid having numbers in a column name
Believe it or not, I accept seen it enough. Never accept numbers in your cavalcade proper noun.
Bad
address1 , address2
Expert
primary_address, secondary_address
Reason
This is a sign of very poor normalization on your end. So try to avert it as much equally possible.
vii. Utilize brusque table names
Exist very careful when naming tables because long table names can have a huge bad impact in the time to come.
Bad
site_detail
Practiced
site
Reason
Short table names will help you when yous create relational columns and linking tables.
viii. Watch for reserved words
Each database has some reserved words. Larn them and avert them.
Bad
user lock table etc
Listing of reserved words for some popular database
- Postgres
- MySQL
- Oracle
9. Atypical names for tables
Ever try to apply singular names for tables. This is a controversial 1, and unlike people have unlike opinions. But stick to one.
bad
users and orders
Expert
user and order
Reason
- This promotes consistency with primary keys and lookup tables
- Pluralization can be tricky sometimes. Then having singular table names tin can brand it easier to program.
10. Linking tables should have alphabetical order
When creating a junction table, concatenate the names of the 2 tables in alphabetical order.
Bad
book_author
Good
author_book
xi. Singular Cavalcade Names
Usually, it's the best do unless you are breaking information normalization rules.
Bad
books
Good
book
12. Chief primal proper name
If information technology's a single column, then it should be named every bit id
CREATE Table lodge (
id bigint PRIMARY Fundamental,
order_date date NOT Zero
);
13. Foreign central proper name
It should exist the name of the other table and the referred field. For instance, if you are referencing a person
inside your team_member
the table and then you can do information technology like this.
CREATE Tabular array team_member (
person_id bigint Non NULL REFERENCES person(id),
);
14. Never suffix cavalcade names with types
There is no signal in suffixing your column names with types of data. Avoid doing this.
Bad
name_tx
Skilful
name
15. Indexes should have both table and column name
If y'all are creating an alphabetize, then have the table name followed by the column names that yous are referencing
CREATE TABLE person (
id bigserial PRIMARY KEY,
first_name text NOT NULL,last_name text Non Zero,
); CREATE INDEX person_ix_first_name_last_name ON person (first_name, last_name);
sixteen. Engagement type column names
Suffix your appointment-type column names with _on
or _date
.
For example, if you have a column for storing the updated date, then do this,
Skillful
updated_on or updated_date
17. Date-Time type cavalcade names
If your column name has time with it, so suffix them with _at
or _time
.
For example, if you lot want to store the guild time, and so
Bad
ordered
Expert
ordered_at or order_time
18. Boolean type column Names
If you lot have boolean type column names, then prefix them with is_
or has_
.
Proficient
is_admin or has_membership
Final Words
If you are already working on a project, stick to the convention that the project is already following. Considering
Merely matter worse than a bad convention is multiple conventions
But if you are learning or designing a database from scratch, having these rules in mind will take yous a long way.
What are your thoughts? Is there any rule yous disagree with? I am more happy to have some productive conversation in the comment department!
Have a great 24-hour interval! :D
Take something to say? Go in bear upon with me via LinkedIn
References
- https://launchbylunch.com/posts/2014/February/16/sql-naming-conventions/
- https://justinsomnia.org/2003/04/essential-database-naming-conventions-and-style/
Source: https://levelup.gitconnected.com/how-to-design-a-clean-database-2c7158114e2f
Posted by: ellisbelve1990.blogspot.com
0 Response to "How To Clean People's Names In Databases"
Post a Comment