Lỗi khi chỉnh sửa đối tượng trong sql năm 2024
Bạn có thể sử dụng bộ quy tắc này, fork từ nhánh này hoặc tự tạo ra phiên bản của riêng mình - Điều quan trọng ở đây là sau khi chọn một bộ quy tắc thì phải tuân thủ theo chúng. Để đề xuất các thay đổi hoặc sửa lỗi, hãy tạo một issue hoặc pull request trên GitHub. Show
Những quy tắc này tương đồng với những gì được đề cập tới trong quyển SQL Programming Style của Joe Celko để giúp cho những độc giả đã đọc quyển sách đó cảm thấy dễ dàng liên kết hơn. Bộ quy tắc này có phần cứng nhắc ở một vài điểm, nhưng cũng không quá chặt chẽ ở những phần còn lại. Nếu bạn đọc quyển sách của Celko thì sẽ hiểu rõ hơn về ý tưởng đằng sau những quy tắc đó. Bạn có thể dễ dàng đặt bộ quy tắc này ở định dạng Markdown vào thẳng thư mục code của dự án hoặc chỉ đơn giản là đặt tham chiếu tới đây để nếu ai muốn thì có thể tìm đọc phiên bản sách giấy. Bộ quy tắc viết câu lệnh SQL này được tạo ra bởi Simon Holywell và được bảo vệ bằng giấy phép Creative Commons Attribution-ShareAlike 4.0 International. Có tham khảo https://www.sqlstyle.guide/. Những quy tắc chungNên làm
Nên tránh
Quy tắc đặt tênQuy tắc chung
Đặt tên bảng
Đặt tên cột
Đặt tên alias / correlation
Đặt tên procedure
Một số hậu tố thường gặpCác hậu tố dưới đây đã đủ phổ biến để ai đọc cũng có thể hiểu ngay ý nghĩa. Hãy cố gắng dùng hậu tố phù hợp.
Quy tắc viết queryTừ khóaLuôn luôn viết các bằng chữ cái in hoa, chẳng hạn
1 hay
7. Tốt nhất là tránh các từ khóa viết tắt, hãy sử dụng phiên bản đầy đủ. Ví dụ dùng
3 thay vì
4. Đừng dùng những từ khóa đặc biệt chỉ tồn tại ở một số cơ sở dữ liệu đặc thù. Hãy cố gắng chỉ dùng những từ khóa theo tiêu chuẩn ANSI SQL. Làm như vậy sẽ khiến câu lệnh SQL dễ dàng được sử dụng ở nhiều dự án, nhiều server, nhiều môi trường khác nhau.
Khoảng trắngĐể làm câu lệnh dễ dọc hơn, hãy học cách sử dụng các khoảng trắng để căn lề. Đừng viết những câu lệnh dài lê thê mà không ngắt nghỉ. Dấu cáchDấu cách có thể sử dụng để căn lề sao cho những từ khóa quan trọng nhất thẳng hàng với nhau về bên phải. Điều này giúp tạo nên một đường thẳng vô hình chạy dọc câu lệnh, khiến người đọc lia mắt rất nhanh và tìm kiếm mệnh đề rất hiệu quả. Những đường thẳng đó gọi là rivers, vốn là cấm kỵ trong thiết kế typography, nhưng rất hữu ích ở trường hợp này.
Chú ý các từ khóa
1,
6, vân vân… đều được căn lề phải, trong khi tên cột và các chi tiết khác được căn lề trái. Dù đây chưa phải là một bộ quy tắc đầy đủ, nhưng ít nhất thì hãy thêm dấu cách vào:
Xuống dòngLuôn luôn xuống dòng trong những trường hợp sau:
Nếu có thể căn lề phải cho các từ khóa và căn lề trái cho các giá trị, thì các khoảng trống thẳng hàng (river) sẽ giúp người đọc lướt nhanh hơn và tìm mệnh đề dễ hơn.
0 Thụt lềĐể đảm bảo câu lệnh SQL dễ đọc, một điều rất quan trọng là thống nhất được quy tắc thụt lề. Phép nối bảng (JOIN)Những mệnh đề liên quan tới phép nối bảng (như
4. Các điều kiện
3 tiếp theo nên tiếp tục được thụt lề sang phải thêm 1 cấp nữa. Nếu có nhiều phép nối thì nên để trống 1 dòng giữa 2 phép nối cho rõ ràng hơn.
1 Query lồng nhauCác câu query lồng nhau nên được thụt lề cùng cấp với từ khóa
1 của query con. Đôi khi người ta còn chủ động đóng mở ngoặc cả query con để người đọc không bị lẫn với query cha.
2 Một số quy tắc không chính thức
3 Quy tắc viết câu lệnh CREATEKhi khai báo thông tin schema, điều quan trọng nhất là đảm bảo người đọc có thể hiểu được cấu trúc của bảng. Để làm được điều đó, hãy xếp các cột theo thứ tự và nhóm các cột liên quan lại với nhau. Khi thụt lề trong câu lệnh
5, hãy dùng 4 dấu cách. Chọn kiểu dữ liệu
Cụ thể hóa giá trị mặc định
Khóa và các ràng buộcCác ràng buộc nói chung và tập con của chúng nói riêng, tức các khóa, là một thành phần cực kỳ quan trọng trong bất kỳ cơ sở dữ liệu nào. Chúng có thể trở nên rất khó hiểu do tính phức tạp của mình, vậy nên một bộ quy tắc để khai báo các ràng buộc là cần thiết để giúp chúng chuẩn hóa hơn. Quy tắc chọn khóaViệc quyết định (các) cột nào tạo nên khóa của bảng cần được cân nhắc kỹ lưỡng, vì nó sẽ ảnh hưởng tới tốc độ thực thi và tính toàn vẹn của dữ liệu.
Dù một vài quy tắc có vẻ đối lập nhau, bạn cần cân bằng chúng một cách hợp lý. Nếu yêu cầu của dự án khác có phần đặc biệt, đừng ngần ngại thay đổi bộ quy tắc này cho phù hợp nhé. Định nghĩa các ràng buộcMột khi các khóa đã được khai báo, ta có thể bắt đầu sử dụng chúng trong các ràng buộc giữa các trường với nhau. Quy tắc chung
Thứ tự khai báo
Validation
Ví dụ
4 Nên tránh
Phụ lụcCác từ khóaĐây là list các từ khóa chuẩn ANSI SQL (92, 99 và 2003), MySQL 3 tới 5.x, PostgreSQL 8.1, MS SQL Server 2000, bất kỳ từ khóa nào của MS ODBC và Oracle 10.2
5 Các kiểu dữ liệu cọtDưới đây là gợi ý các kiểu dữ liệu cột phổ biến, để tối đa hóa khả năng tương thích giữa nhiều cơ sở dữ liệu khác nhau. |