Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL

12 Quy tắc của E.F. Codd cho RDBMS


Hệ quản trị cơ sở dữ liệu (DBMS) về cơ bản bao gồm một tập hợp chương trình ứng dụng toàn diện có thể dùng để truy cập, quản lý và cập nhật dữ liệu, miễn là dữ liệu có liên quan lẫn nhau và bền vững. Giống như bất kỳ hệ thống quản lý nào, mục tiêu của DBMS là cung cấp môi trường hiệu quả và thuận tiện để dễ dàng truy xuất và lưu trữ thông tin vào cơ sở dữ liệu. Không cần nói, cơ sở dữ liệu được dùng để lưu trữ và quản lý lượng lớn thông tin.

Để đạt được điều này, sau đây là những yêu cầu tuyệt đối:

  • Mô hình hóa dữ liệu (Data Modeling): Xác định cấu trúc lưu trữ thông tin.
  • Cung cấp cơ chế (Provision of Mechanisms): Để thao tác dữ liệu đã xử lý và sửa đổi cấu trúc tệp/hệ thống, cần cung cấp cơ chế xử lý truy vấn.
  • Khôi phục sự cố và Bảo mật (Crash Recovery and Security): Để tránh sự chênh lệch và đảm bảo dữ liệu an toàn, cơ chế khôi phục sự cố và bảo mật là bắt buộc.
  • Kiểm soát đồng thời (Concurrency Control): Nếu hệ thống được chia sẻ bởi nhiều người dùng, kiểm soát đồng thời là nhu cầu cấp bách.

TS Edgar F Codd

TS E.F.Codd, còn được biết đến như 'Cha đẻ của Hệ thống Quản trị Cơ sở dữ liệu' đã đề xuất 12 quy tắc mà thực tế là 13 quy tắc. Các quy tắc được đánh số từ 0 đến 12. Theo ông, một DBMS hoàn toàn quan hệ nếu nó tuân theo tất cả 12 quy tắc. Cho đến nay, chỉ một vài cơ sở dữ liệu tuân theo tất cả 11 quy tắc. 12 quy tắc của ông được gọi thân mật là '12 Điều răn của E.F.Codd'. Bài báo nghiên cứu xuất sắc và nền tảng của ông 'A Relational Model of Data for Large Shared Data Banks' hoàn toàn là một món quà cho mắt.

Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS)

Có một quy tắc không thành văn trong thuật ngữ DBMS. Vì các cơ sở dữ liệu triển khai tất cả quy tắc của E.F.Codd rất hiếm, quy tắc không thành văn này đang ngày càng được chấp nhận.

12 Quy tắc của E.F. Codd cho RDBMS

  • Nếu hệ thống quản lý/phần mềm tuân theo 5-6 quy tắc của E.F.Codd, nó đủ điều kiện là Hệ quản trị cơ sở dữ liệu (DBMS).
  • Nếu tuân theo 7-9 quy tắc, đủ điều kiện là RDBMS bán phần (semi-RDBMS).
  • Nếu tuân theo 9-12 quy tắc, đủ điều kiện là RDBMS hoàn chỉnh (complete RDBMS).

12 Điều răn của TS Edgar F Codd

12 Quy tắc của E.F. Codd cho RDBMS Dưới đây là tóm tắt 12 quy tắc của E.F.Codd:

Quy tắc 0 - Quy tắc nền tảng (Foundation rule)

Mọi RDBMS được đề xuất là RDBMS phải có khả năng quản lý dữ liệu lưu trữ toàn bộ thông qua khả năng quan hệ của nó.

Quy tắc 1 - Quy tắc thông tin (Rule of Information)

Cơ sở dữ liệu quan hệ phải lưu dữ liệu dưới dạng quan hệ. Bảng là quan hệ trong RDBMS. Dù là dữ liệu do người dùng định nghĩa hay siêu dữ liệu, quan trọng là lưu giá trị như một thực thể trong ô bảng.

Quy tắc 2 - Quy tắc truy cập đảm bảo (Rule of Guaranteed Access)

Việc dùng con trỏ truy cập dữ liệu về mặt logic bị cấm hoàn toàn. Mọi thực thể dữ liệu nguyên tử phải được truy cập logic bằng tổ hợp đúng: tên bảng, khóa chính (giá trị hàng cụ thể), tên cột (giá trị thuộc tính).

Quy tắc 3 - Quy tắc hỗ trợ giá trị NULL hệ thống (Rule of Systematic Null Value Support)

Giá trị NULL được hỗ trợ hoàn toàn trong cơ sở dữ liệu quan hệ. Chúng phải được xem đồng nhất là 'thông tin thiếu'. NULL độc lập với kiểu dữ liệu. Không được nhầm lẫn với khoảng trắng, số không, hoặc chuỗi rỗng. NULL cũng có thể hiểu là 'dữ liệu không áp dụng' hoặc 'thông tin không biết'.

Quy tắc 4 - Quy tắc Catalog quan hệ trực tuyến và hoạt động (Rule of Active and online relational Catalog)

Trong từ điển DBMS, 'siêu dữ liệu' (metadata) là dữ liệu về cơ sở dữ liệu hoặc dữ liệu về dữ liệu. Catalog trực tuyến hoạt động lưu trữ siêu dữ liệu gọi là 'Từ điển dữ liệu' (Data dictionary). Từ điển dữ liệu chỉ truy cập được bởi người dùng được ủy quyền có đặc quyền cần thiết và ngôn ngữ truy vấn dùng cho cơ sở dữ liệu phải dùng cho dữ liệu của từ điển dữ liệu.

Quy tắc 5 - Quy tắc ngôn ngữ con dữ liệu toàn diện (Rule of Comprehensive Data Sub-language)

Một ngôn ngữ mạnh đơn lẻ phải có khả năng định nghĩa ràng buộc toàn vẹn, view, thao tác dữ liệu, giao dịch và ủy quyền. Nếu cơ sở dữ liệu cho phép truy cập các thứ trên, nó vi phạm quy tắc này.

Quy tắc 6 - Quy tắc cập nhật View (Rule of Updating Views)

View phải phản ánh cập nhật của bảng cơ sở tương ứng và ngược lại. View là bảng logic hiển thị dữ liệu hạn chế. View thường làm dữ liệu chỉ đọc không sửa đổi. View giúp trừu tượng hóa dữ liệu.

Quy tắc 7 - Quy tắc chèn, cập nhật, xóa cấp độ tập hợp (Rule of Set level insertion, update and deletion)

Một thao tác đơn lẻ phải đủ để truy xuất, chèn, cập nhật và xóa dữ liệu.

Quy tắc 8 - Quy tắc độc lập dữ liệu vật lý (Rule of Physical Data Independence)

Thao tác batch và người dùng cuối được tách biệt logic khỏi lưu trữ vật lý và phương pháp truy cập tương ứng.

Quy tắc 9 - Quy tắc độc lập dữ liệu logic (Rule of Logical Data Independence)

Batch và người dùng cuối có thể thay đổi schema cơ sở dữ liệu mà không phải tái tạo nó hoặc tái tạo ứng dụng xây dựng trên nó.

Quy tắc 10 - Quy tắc độc lập toàn vẹn (Rule of Integrity Independence)

Ràng buộc toàn vẹn phải có sẵn và lưu trữ như siêu dữ liệu trong từ điển dữ liệu, không phải trong chương trình ứng dụng.

Quy tắc 11 - Quy tắc độc lập phân tán (Rule of Distribution Independence)

Ngôn ngữ thao tác dữ liệu (DML) của hệ thống quan hệ không nên quan tâm đến lưu trữ vật lý dữ liệu và không nên yêu cầu thay đổi nếu dữ liệu vật lý được tập trung hoặc phân tán.

Quy tắc 12 - Quy tắc không phá hoại (Rule of Non Subversion)

Mọi hàng phải tuân thủ ràng buộc bảo mật và toàn vẹn được áp dụng. Không có đặc quyền đặc biệt nào áp dụng.

Gần như tất cả DBMS quy mô đầy đủ là RDBMS. Oracle triển khai 11+ quy tắc, Sybase cũng vậy. SQL Server cũng triển khai 11+ quy tắc, trong khi FoxPro triển khai 7+ quy tắc.