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 đó đặt customer, order_date.

  • Tuân theo quy tắc thống nhất: Không pha trộn giữa kiểu CamelCase, snake_casePascalCase.

  • 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ầnQuy tắc đặt tênVí dụ đúngVí dụ sai
Databasesnake_case, không chứa khoảng trắng, bắt đầu bằng chữ cáisales_db, hr_systemSalesDB, 123database
Schemasnake_case, ngắn gọnpublic, finance_schemaFinanceSchema
Tablesnake_case, số ít (trừ khi có lý do đặc biệt)customer, order_detailcustomers, OrderDetails
Columnsnake_case, mô tả rõ ràngfirst_name, created_atFName, CreatedDate
Primary Key (PK)table_name_idcustomer_id, order_idID, CustomerID
Foreign Key (FK)table_name_idcustomer_id, product_idcust_ID, fk_productId
Indexidx_table_columnidx_customer_emailindex1, idxCust
Unique Constraintuq_table_columnuq_user_emailUQ1, unique_customer
Check Constraintchk_table_columnchk_order_statuscheck_1, status_check
Default Constraintdf_table_columndf_customer_statusdefault1, default_status
Stored Proceduresp_action_objectsp_get_orders, sp_update_customergetOrders, spOrdersGet
Functionfn_action_objectfn_calculate_taxcalculateTaxFunction
Triggertr_table_eventtr_order_before_inserttrigger1, orderTrigger
Viewv_descriptionv_customer_ordersview_orders, custView