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

Ý nghĩa của khóa ngoại tự tham chiếu là gì?

ALTER TABLE [SchemaName].[TableName]  WITH CHECK ADD  
CONSTRAINT [FK_TableName_TableName] FOREIGN KEY([Id])
REFERENCES [SchemaName].[TableName] ([Id])

Khóa ngoại này là hoàn toàn thừa và chỉ cần xóa nó đi là được. Nó không bao giờ có thể bị vi phạm vì một hàng khớp với chính nó xác nhận ràng buộc.

Trong bảng phân cấp, mối quan hệ sẽ nằm giữa hai cột khác nhau (ví dụ:IdParentId )

Đối với lý do tại sao nó có thể được tạo ra khá có thể thông qua việc sử dụng trình thiết kế trực quan nếu bạn nhấp chuột phải vào nút "Keys" trong trình khám phá đối tượng và chọn "New Foreign Key", sau đó đóng hộp thoại mà không xóa khóa ngoại đã tạo và sau đó thực hiện một số các thay đổi khác trong trình thiết kế bảng đã mở và lưu nó sẽ tạo ra loại ràng buộc dư thừa này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thêm cột mới vào bảng hiện có trong SQL Server (T-SQL)

  2. Nhật ký giao dịch cho cơ sở dữ liệu đã đầy

  3. SSMS phiên bản 18 - không có Sơ đồ cơ sở dữ liệu

  4. Kích thước của tệp nhật ký có ảnh hưởng đến hiệu suất của cơ sở dữ liệu không? Làm thế nào để thu nhỏ tệp nhật ký?

  5. Cách SCHEMA_ID () hoạt động trong SQL Server