03/11/2013

Quy tắc đặt tên trong SQL Server

Cái tên thường phản ánh nội dung và bản chất của đối tượng hoặc biến mà nó được dùng để đặt tên. Đặt tên sao cho nó có ý nghĩa đúng với nội dung đã khó mà đặt tên sao cho đúng với quy tắc chuẩn cũng là điều khó không kém. Đặt tên theo quy tắc chuẩn sẽ giúp những người khác khi xem code của bạn cũng cảm thấy dễ hiểu hơn vì nó một quy tắc đã được định sẵn. Nhưng việc đặt tên cho biến hoặc các đối tượng trong SQL cũng không phải là bắt buộc và bạn có thể tùy chọn việc này. Bài viết này mình xin giới thiệu cho các bạn một vài nguyên tắc đặt tên thông dụng trong SQL. 

1. Sử dụng một kí tự alphabet ở đầu tên, không sử dụng các kí tự "_" gạch dưới, hoặc số ở đầu tên biến.
2. Giới hạn việc viết tắt quá nhiều trong tên biến hoặc đối tượng. Điều này dễ gây nhầm lẫn.
3. Giới hạn việc sử dụng các từ viết tắt hai lần trong tên.
4. Đặt tên mang ý nghĩa đúng với nội dung và tính chất của biến hoặc đối tượng.
5. Không sử dụng khoảng trắng(space) hoặc các kí tự đặc biệt trong tên như *,$,#...
6. Tên bảng thường không cần bắt đầu bằng prefix "tbl" hay "tb" và tên bảng nên để ở dạng số ít như "Student" thay vì "Students". Tên bảng nên sử dụng Pascal Case tức là viết hoa chữ cái đầu của mỗi từ trong tên như SaleDepartment.
7. Nguyên tắc đặt tên cột.
* Nên đặt tên cột theo kiểu Pascal, hạn chế dùng theo kiểu camelCase( kiểu lạc đà - tức là chữ đầu không viết hoa mà viết thường còn các chữ sau có thể viết hoa chữ cái đầu của mỗi từ như myDocument).
* Đặt tên khóa chính nên có hậu tố Id thường thì công thức sẽ là tên bảng + "Id".
* Đối với khóa ngoại thì nên có tên giống với khóa chính mà nó tham chiếu tới. Ví dụ khóa chính của bảng Staff là "StaffId" và bảng [Class] có khóa ngoại đến bảng Staff thì nó có tên là "StaffId".
* Không nên sử dụng các tiến tố trước tên cột.
* Tên nên chỉ ra loại dữ liệu mà nó chứa ví dụ bạn có 1 trường dữ liệu lưu việc sinh viên có đi học vào ngày nào đó hay không thì thay vì đặt tên biến là Absent bạn có thể đặt là IsAbsent với kiểu dữ liệu là bit.
* Tên cột phải có ý nghĩa và không nên viết tắt quá nhiều nhưng bạn phải lưu ý đến độ dài của tên cột nên nằm trong khoảng dưới 30 chars là tốt nhất nhưng giới hạn của nó là 50 chars.
* Tên cột có thể chứa số nhưng không chứa các kí tự đặc biệt.
8. Đặt tên cho index thì nên bắt đầu bằng "IX_", đặt tên cho unique column thì nên bắt đầu là "UN_" hoặc "U/N"
9. Đặt tên cho ràng buộc(Constraint)
* Công thức: loại ràng buộc+ tên bảng + "_"+tên cột
* Một số prefix cho các loại ràng buộc.
o. Primary Key: Pk ví dụ PkProduct_Id.
o. Foreign Key: Fk ví dụ FkOrder_ProductId.
o. Check: Ck ví dụ CkStudent_Age.
o. Unique: Un ví dụ UnContact_Phone.
10. Đặt tên cho view.
* Nên bắt đầu bằng "vw".
* Tên nên có ý nghĩa và nên là sự kết hợp của các bảng mà nó join lại với nhau. Ví dụ bạn tạo view join bảng Product và bảng Category thì lúc tạo view nó sẽ tên là vwProductCategory.
11. Đặt tên cho thủ tục.
* Nên bắt đầu bằng "sp".
* Đặt tên theo mục đích sử dụng của thủ tục đó ví dụ thủ tục tạo product mới spProductCreate hay xóa product spProductDelete.
12. Đặt tên cho các hàm.
* Nên bắt đầu bằng "fn".
* Tên hàm nên có ý nghĩa là như những động từ chỉ chức năng mà nó sẽ thực hiện như fnGetTime...
13. Đặt tên cho trigger.
* Nên bắt đầu bằng "tr".
* Nếu trigger thực hiện nhiều chức năng thì tên nên chứa ý nghĩa thực hiện những chức năng đó ví dụ: trProductInsertUpdate.
14. Đặt tên cho dữ liệu tự định nghĩa.
* Nên bắt đầu bằng "ud".
* Không chứa các kí tự đặc biệt, chỉ nên chứa chữ và số.
15. Đặt tên cho biến.
* Tên biến không nên quá dài(giới hạn là 50 chars).
* Tên biến phải bắt đầu bằng @ và không sử dụng @@ vì đây là cách đặt tên cho biến toàn cục của SQL.
* Tên biến nên đặt tên theo kiểu camelCase. Ví dụ @totalMark.
* Không sử dụng các kí tự đặc biệt
Đây là một số quy tắc đặt tên trong SQL. Hi vọng nó sẽ giúp các bạn chuẩn hóa việc code và đặt tên trong SQL.

No comments:

Post a Comment