Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Khi nào / Tại sao sử dụng Cascading trong SQL Server?

Tóm tắt những gì tôi đã thấy cho đến nay:

  • Một số người hoàn toàn không thích xếp tầng.

Xóa theo tầng

  • Xóa theo tầng có thể có ý nghĩa khi ngữ nghĩa của mối quan hệ có thể liên quan đến "độc quyền là một phần của "description. Ví dụ:một bản ghi OrderLine là một phần của đơn hàng mẹ của nó và OrderLines sẽ không bao giờ được chia sẻ giữa nhiều đơn đặt hàng. Nếu Đơn hàng bị biến mất, thì OrderLine cũng nên và một dòng không có Đơn hàng sẽ là một vấn đề.
  • Ví dụ chính tắc cho Xóa theo tầng là SomeObject và SomeObjectItems, trong đó việc một bản ghi các mục tồn tại mà không có bản ghi chính tương ứng sẽ không có ý nghĩa gì.
  • Bạn không nên sử dụng Cascade Delete nếu bạn đang bảo lưu lịch sử hoặc sử dụng "soft / logic delete" trong đó bạn chỉ đặt cột bit đã xóa thành 1 / true.

Cập nhật theo tầng

  • Cập nhật theo tầng có thể có ý nghĩa khi bạn sử dụng khóa thực thay vì khóa thay thế (cột nhận dạng / tự động gia tăng) trên các bảng.
  • Ví dụ chính tắc cho Cập nhật theo tầng là khi bạn có khóa ngoại có thể thay đổi, chẳng hạn như tên người dùng có thể thay đổi.
  • Bạn không nên sử dụng Cập nhật theo tầng với các khóa là cột Danh tính / tự động gia tăng.
  • Cập nhật theo tầng tốt nhất được sử dụng cùng với một ràng buộc duy nhất.

Khi nào sử dụng xếp tầng

  • Bạn có thể muốn nhận được sự xác nhận mạnh mẽ từ người dùng trước khi cho phép thực hiện một thao tác, nhưng điều đó phụ thuộc vào ứng dụng của bạn.
  • Xếp tầng có thể khiến bạn gặp rắc rối nếu bạn thiết lập sai khóa ngoại của mình. Nhưng bạn sẽ không sao nếu làm đúng.
  • Sẽ không khôn ngoan nếu bạn sử dụng tính năng xếp tầng trước khi bạn hiểu nó một cách kỹ lưỡng. Tuy nhiên, đây là một tính năng hữu ích và do đó đáng dành thời gian để hiểu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GETDATE () Ví dụ trong SQL Server (T-SQL)

  2. SQL, Làm thế nào để kết hợp các kết quả?

  3. Thủ thuật để cải thiện giám sát cơ sở dữ liệu liên tục

  4. Viết một số có hai chữ số thập phân SQL Server

  5. Sử dụng TYPEPROPERTY () để trả về thông tin về kiểu dữ liệu trong SQL Server