2012-06-13 29 views
11

Về mặt kỹ thuật, ký tự gạch dưới (_) có thể được sử dụng trong các tên cột. Nhưng thực hành tốt có sử dụng dấu gạch dưới trong tên cột không? Dường như làm cho tên dễ đọc hơn nhưng tôi lo ngại về các vấn đề kỹ thuật có thể phát sinh từ việc sử dụng chúng. Tên cột sẽ không được đặt trước bằng dấu gạch dưới.Dấu gạch dưới có nên được sử dụng trong các tên cột không?

+1

Khá lúng túng tại sao bạn cảm thấy cần phải hỏi điều này –

+4

@ m.edmondson - Có điều gì không rõ ràng về câu hỏi này không? Chỉ vì một cái gì đó là 'kỹ thuật' có thể, không có nghĩa là nó thực hành tốt hay sẽ không gây ra vấn đề trong tương lai bởi vì tôi đã không đưa ra một sự xem xét do chưa biết. – Joe

+0

Ok, tôi nghĩ tôi hiểu bạn đang đến từ đâu - nhưng nếu dấu gạch dưới gây ra vấn đề thì chắc chắn sẽ không thể sử dụng nó? Thực hành tốt là một vấn đề khác tuy nhiên. –

Trả lời

6

Không có vấn đề gì với điều này, miễn là nó làm cho tên cột rõ ràng hơn.

7

Không có vấn đề kỹ thuật trực tiếp nào khi sử dụng dấu gạch dưới trong tên. Trong thực tế, tôi làm điều đó khá thường xuyên và thấy nó hữu ích. Ruby thậm chí tự động tạo dấu gạch dưới trong các tên cột và các đối tượng hệ thống của Máy chủ SQL cũng sử dụng dấu gạch dưới.

Nói chung, bạn nên có một số quy ước đặt tên mà bạn tuân thủ trong cơ sở dữ liệu và nếu điều đó bao gồm dấu gạch dưới, không có vấn đề gì lớn.

Bất kỳ ký tự nào cũng có thể được sử dụng trong tên, nếu bạn đặt dấu ngoặc vuông hoặc dấu ngoặc kép xung quanh tên khi đề cập đến nó. Tôi cố gắng tránh không gian mặc dù, vì nó làm cho mọi thứ khó đọc hơn.

Có một vài điều bạn muốn tránh khi đưa ra quy ước đặt tên cho SQL Server. Chúng là:

  1. Không được lưu trước thủ tục được lưu trữ với sp_ trừ khi bạn định làm cho hệ thống mở rộng.
  2. Không cột tiền tố có loại dữ liệu của chúng (vì bạn có thể muốn thay đổi).
  3. Tránh đặt nội dung trong lược đồ sys (bạn có thể bị hack, nhưng bạn không nên).
  4. Giả vờ mã của bạn phân biệt chữ hoa chữ thường, ngay cả khi mã đó không đúng. Bạn không bao giờ biết khi nào bạn kết thúc trên một máy chủ có tempdb được thiết lập để phân biệt chữ hoa chữ thường.
  5. Khi tạo bảng tạm thời, hãy luôn chỉ định đối chiếu cho các loại chuỗi.