Tôi đang cố gắng ghi nhớ một số cú pháp sql và tôi đã nhận được cú pháp TABLE ADD CONTER TĂNG ALTER xuống. Tôi tin rằng tôi là chính xác khi tôi nói rằng khi bạn sử dụng cú pháp này để thêm một khóa NGOẠI HỐI hoặc hạn chế CHÍNH PRIMARY, máy chủ sql tự động tạo ra các chỉ mục để hỗ trợ các hoạt động hạn chế. (Điều đó đúng ... hay là nó chỉ đúng trên PK chứ không phải FK?)Khi giảm một ràng buộc, các chỉ số hỗ trợ cũng sẽ bị loại bỏ?
Nếu vậy, khi bạn sử dụng cú pháp ALTER TABLE DROP CONSTRAINT ... là các chỉ mục hỗ trợ tự động bị giảm không? Các chỉ số hỗ trợ tiềm ẩn này có bị giảm một cách rõ ràng không? Nếu vậy, CONSTRAINT sẽ tự động bị xóa?
Tôi chỉ muốn biết nó hoạt động như thế nào "dưới bìa". Googling đã không giúp đỡ. Tôi tưởng tượng tôi có thể đã truy vấn một số bảng sys để khám phá sự thật nhưng tôi nghĩ rằng tôi sẽ thử ở đây để thay thế.
Cảm ơn sự giúp đỡ của bạn.
Seth
Không phải lúc nào cũng đúng. Nếu đã có một chỉ mục nhóm trên bảng, ràng buộc PRIMARY KEY sẽ được thực thi bởi một chỉ mục không độc quyền duy nhất. –
Trong các khóa ngoại SQL Server 2008 có điểm chung với các chỉ mục. Tôi không thể thả một chỉ mục (và nó không phải là chỉ số khóa chính), bởi vì nếu được tham chiếu bằng khóa ngoài. – LukLed
@LukLed, khi bạn có mối quan hệ cha-con từ 1 đến nhiều được thực thi bằng FK, cha mẹ cần phải là duy nhất, nếu bạn cố gắng loại bỏ ràng buộc duy nhất trên phụ huynh, nó sẽ ném một lỗi. –