Có bất cứ điều gì mà một khai báo ràng buộc mức bảng có thể làm mà một điều mà một mức cột không thể làm được không?


7

Có một kỳ thi ngày hôm nay. Một câu hỏi làm tôi băn khoăn:

Ràng buộc ở mức bảng có thể làm gì mà ràng buộc ở mức cột không thể làm được?

Câu trả lời của tôi là chỉ một khai báo ràng buộc mức bảng cho phép thiết lập khóa chính tổng hợp. Tôi đoán đây không phải là sự khác biệt duy nhất. Làm thế nào tôi có thể thêm vào đó?

Câu trả lời:


14

Bạn đã quên về các loại ràng buộc khác ngoài khóa chính (cũng áp dụng cho các ràng buộc khóa duy nhất, kiểm tra và khóa ngoài) nhưng về cơ bản đó là nó.

Một ràng buộc cấp độ cột chỉ có thể tham chiếu cột mà nó được khai báo bên cạnh. Một ràng buộc mức bảng có thể tham chiếu nhiều cột.


Hừm, đây là triển khai SQL Server, phải không? Postgres cho phép create table a (t int not null, u int not null check (u > t+v), v int null );ví dụ. Không biết tiêu chuẩn nói gì.
ypercubeᵀᴹ

@ ypercubeᵀᴹ - vâng, đối với Máy chủ SQL. Tôi không biết tiêu chuẩn nói gì (hoặc cách các DBMS khác giải quyết vấn đề này)
Martin Smith
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.