Thông thường với hệ quản trị cơ sở dữ liệu thì việc chỉ ra ràng buộc toàn vẹn dữ liệu được thể hiện ở ba mức đó là ràng buộc cố hữu (inherrent), ẩn (implicit) và ràng buộc khai báo (explicitly) [7], minh họa hình 2.17.
Ràng buộc cố hữu trong mô hình dữ liệu và không cần phải khai báo trong lược đồ,
Ràng buộc ẩn được chỉ ra sử dụng ngôn ngữ định nghĩa dữ liệu DDL (Data definition language). Ví dụ như các trường khóa không được rỗng trong cơ sở dữ liệu quan hệ,
Ràng buộc khai báo được gọi là business rule hay ràng buộc adhoc. Nó là ứng dụng phụ thuộc và không được bao gói trong cấu trúc dữ liệu, được định nghĩa bởi chương trình ứng dụng sử dụng cơ sở dữ liệu.
Ràng buộc toàn vẹn cũng được phân loại trong ngữ cảnh trạng thái của cơ sở dữ liệu thành: Ràng buộc tĩnh (static), ràng buộc chuyển đổi trạng thái (transition) và ràng buộc động (dynamic) và được minh họa bởi hình 2.18. Chúng được mô tả như sau:
Ràng buộc tĩnh thể hiện các thuộc tính độc lập với bất kì trạng thái trước đó của cơ sở dữ liệu. Ví dụ: Các miền thuộc tính, khóa chính, ràng buộc tham chiếu,
Ràng buộc chuyển trạng thái giới hạn các trạng thái của cơ sở dữ liệu, nó là trạng thái trước và sau một giao dịch. Ví dụ khi cập nhật dữ liệu sử dụng ràng buộc before update trước khi dữ liệu được cập nhật,
Các ràng buộc động cho phép thể hiện điều kiện trên chuỗi hai hay nhiều trạng thái cơ sở dữ liệu.
Ràng buộc tĩnh được quan tâm ở đây trong ngữ cảnh cơ sở dữ liệu không gian. Trong cơ sở dữ liệu không gian, ràng buộc toàn vẹn được phân loại thành ba loại ràng buộc đó là: Ràng buộc Tôpô, ràng buộc ngữ nghĩa và ràng buộc do người dùng tự định nghĩa, được thể hiện bởi hình 2.18.
Inherent constraints Implicit constraints Explicitly constraints
Mô hình dữ liệu Ngôn ngữ định nghĩa dữ liệu Chương trình ứng dụng
Dưới đây là trình bày chi tiết về ba loại ràng buộc toàn vẹn dữ liệu này.