SQL naming conventions
Quy tắc đặt tên chung
Sử dụng tiếng Anh: Tránh đặt tên bằng ngôn ngữ địa phương.
Tên có ý nghĩa: Tránh đặt tên kiểu
tbl1
,colA
, thay vào đó đặtcustomer
,order_date
.Tuân theo quy tắc thống nhất: Không pha trộn giữa kiểu
CamelCase
,snake_case
vàPascalCase
.Không dùng từ khóa SQL: Tránh đặt tên bảng là
user
,order
,text
,timestamp
(vì đây là từ khóa trong SQL).Sử dụng lowercase thay vì uppercase
Ví dụ: first_name thay vì First_Name
Các tên dài nên được phân tách bới dấu gạch dưới (snake_case)
Ví dụ: word_count, team_member_id
Tránh viết tắt khó hiểu: Không viết tắt những từ không phổ thông
Ví dụ: middle_name thay vì mid_name, i18n thay vì Internationalization
Không đặt tên chung chung:
data
,value
,info
không có nhiều ý nghĩa.
Quy tắc đặt tên cụ thể
Thành phần | Quy tắc đặt tên | Ví dụ đúng | Ví dụ sai |
Database | snake_case , không chứa khoảng trắng, bắt đầu bằng chữ cái | sales_db , hr_system | SalesDB , 123database |
Schema | snake_case , ngắn gọn | public , finance_schema | FinanceSchema |
Table | snake_case , số ít (trừ khi có lý do đặc biệt) | customer , order_detail | customers , OrderDetails |
Column | snake_case , mô tả rõ ràng | first_name , created_at | FName , CreatedDate |
Primary Key (PK) | table_name_id | customer_id , order_id | ID , CustomerID |
Foreign Key (FK) | table_name_id | customer_id , product_id | cust_ID , fk_productId |
Index | idx_table_column | idx_customer_email | index1 , idxCust |
Unique Constraint | uq_table_column | uq_user_email | UQ1 , unique_customer |
Check Constraint | chk_table_column | chk_order_status | check_1 , status_check |
Default Constraint | df_table_column | df_customer_status | default1 , default_status |
Stored Procedure | sp_action_object | sp_get_orders , sp_update_customer | getOrders , spOrdersGet |
Function | fn_action_object | fn_calculate_tax | calculateTaxFunction |
Trigger | tr_table_event | tr_order_before_insert | trigger1 , orderTrigger |
View | v_description | v_customer_orders | view_orders , custView |