Edgar F Codd là một Nhà Khoa học Máy tính, người đã phát minh ra mô hình Quan hệ để quản lý Cơ sở dữ liệu. Ông cũng được ghi nhận là người tạo ra nền tảng cho cơ sở dữ liệu quan hệ cũng như hệ quản trị cơ sở dữ liệu quan hệ.
Mười hai quy tắc của Codd xác định các đặc điểm được yêu cầu bởi một hệ thống quản lý cơ sở dữ liệu để được coi là quan hệ, tức là một hệ thống quản lý cơ sở dữ liệu quan hệ.
Quy tắc 0:Quy tắc nền tảng
Để bất kỳ hệ thống nào đủ điều kiện là hệ quản lý cơ sở dữ liệu quan hệ, hệ thống phải quản lý dữ liệu của mình bằng khả năng quan hệ của nó.
Quy tắc 1:Quy tắc thông tin
Tất cả thông tin (bao gồm cả siêu dữ liệu) được thể hiện trong bảng bằng cách sử dụng hàng và cột. Các hàng và cột phải được sắp xếp theo thứ tự nghiêm ngặt.
Quy tắc 2:Quy tắc truy cập được đảm bảo
Tất cả các giá trị trong cơ sở dữ liệu phải có thể truy cập được bằng cách sử dụng kết hợp tên bảng, khóa chính và tên cột. (Khả năng truy cập dữ liệu trực tiếp bằng con trỏ là không hợp lệ theo quy tắc này).
Quy tắc 3:Xử lý có hệ thống các giá trị Null
Giá trị NULL được hỗ trợ đầy đủ trong cơ sở dữ liệu để biểu diễn sự vắng mặt của dữ liệu hoặc dữ liệu không hợp lệ một cách có hệ thống. Giá trị NULL độc lập với kiểu dữ liệu và bất kỳ thao tác nào trên chúng phải trả về NULL.
Quy tắc 4:Danh mục trực tuyến động
Danh mục là mô tả hoàn chỉnh của cơ sở dữ liệu. Nó được lưu trữ trực tuyến và cung cấp thông tin bổ sung trên cơ sở dữ liệu. Ngôn ngữ truy vấn được sử dụng trên cơ sở dữ liệu cũng được sử dụng trên danh mục.
Quy tắc 5:Ngôn ngữ mạnh mẽ và có cấu trúc tốt
Cơ sở dữ liệu quan hệ có thể hỗ trợ nhiều ngôn ngữ. Tuy nhiên, phải có ít nhất một ngôn ngữ cung cấp tất cả các kiểu truy cập dữ liệu, thao tác dữ liệu, v.v. Một ngôn ngữ như vậy là SQL.
Quy tắc 6:Xem quy tắc cập nhật
Tất cả các chế độ xem có thể cập nhật về mặt lý thuyết cũng phải được hệ thống cập nhật.
Quy tắc 7:Chèn chất lượng, cập nhật, xóa
Có thể chèn, xóa và cập nhật đối với một toán hạng duy nhất. Cơ sở này phải có sẵn ở mọi cấp độ quan hệ.
Quy tắc 8:Độc lập dữ liệu vật lý
Các thay đổi vật lý đối với hệ thống, chẳng hạn như thay đổi không gian lưu trữ, thay đổi phương thức truy cập, v.v. sẽ không ảnh hưởng đến các chương trình ứng dụng và các hoạt động khác của hệ thống.
Quy tắc 9:Độc lập dữ liệu logic
Chế độ xem người dùng của cơ sở dữ liệu quan hệ phải duy trì nhất quán ngay cả khi có những thay đổi đối với cấu trúc logic. Quy tắc này khá khó để đáp ứng.
Quy tắc 10:Độc lập về tính chính trực
Các ràng buộc về tính toàn vẹn dành riêng cho cơ sở dữ liệu quan hệ phải được xác định bằng ngôn ngữ của cơ sở dữ liệu đó và được lưu trữ trong danh mục. Quy tắc này có nghĩa là DBMS quan hệ không phụ thuộc vào giao diện người dùng.
Quy tắc 11:Độc lập về phân phối
Ngay cả khi dữ liệu trong cơ sở dữ liệu được phân phối trên nhiều vị trí, người dùng cuối phải xem cơ sở dữ liệu như một thực thể thống nhất. Ngoài ra, cơ sở dữ liệu sẽ hoạt động hoàn hảo ngay cả khi nó được phân phối trên mạng.
Quy tắc 12:Quy tắc không chuyển đổi
Nếu cho phép truy cập mức thấp đối với cơ sở dữ liệu quan hệ, nó sẽ không thể phá bỏ các ràng buộc toàn vẹn và bỏ qua bảo mật để thay đổi dữ liệu.