Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

Toàn vẹn thực thể và toàn vẹn tham chiếu là hai dạng toàn vẹn dữ liệu đặc biệt quan trọng trong cơ sở dữ liệu quan hệ. Cơ sở dữ liệu quan hệ chia nhỏ việc lưu trữ dữ liệu thành các phần tử thường phải được nối lại với nhau để tạo ra kết quả có ý nghĩa. Nếu không có sự đảm bảo về hai loại tính toàn vẹn này, dữ liệu sẽ bị loại bỏ hoặc trùng lặp

Cơ sở dữ liệu quan hệ

Các hệ quản trị cơ sở dữ liệu quan hệ đại diện cho mô hình cơ sở dữ liệu được triển khai rộng rãi nhất trên thế giới hiện nay. Mô hình quan hệ dựa trên dữ liệu "Chuẩn hóa". Chuẩn hóa là một quá trình được thực hiện trong quá trình thiết kế cơ sở dữ liệu để đảm bảo rằng các bảng chứa dữ liệu không có dữ liệu lặp lại và không thể tạo ra sự lặp lại hoặc mất mát khi chúng được nối với nhau

Video trong ngày

Dữ liệu tham khảo

Hầu hết các ứng dụng cơ sở dữ liệu sử dụng hai loại dữ liệu khác nhau. dữ liệu giao dịch và dữ liệu tham chiếu. Ví dụ: cơ sở dữ liệu kho rất cơ bản sẽ ghi lại các giao dịch chuyển kho. Hãy tưởng tượng một bản ghi giao dịch chẳng hạn như. Mục 1010, Số lượng 5, Hướng ra ngoài. Người quản lý có thể muốn xem báo cáo về dữ liệu này với tên mặt hàng và mô tả mặt hàng cũng như số mặt hàng. Những chi tiết này là thuộc tính của một thực thể khác mô tả từng bộ phận trong kho. Đây là bảng tham khảo

bình thường hóa

Trong ví dụ về cơ sở dữ liệu kho, bảng giao dịch chỉ cần giữ mã định danh cho bộ phận. Nếu các chi tiết như tên và mô tả được giữ trong bảng giao dịch, điều này sẽ gây ra sự lặp lại không cần thiết. Bất kỳ mục nào luôn có cùng tên và mô tả và những chi tiết này liên quan đến bộ phận chứ không liên quan đến giao dịch. Trong hệ thống ví dụ này, các chi tiết bộ phận được giữ trong một bảng khác. Mỗi bản ghi trong bảng phải được xác định duy nhất bởi một trường hoặc tổ hợp các trường, được gọi là khóa chính. Việc tách ra các nhóm lặp lại được gọi là "chuẩn hóa. "

Tính toàn vẹn của thực thể

Trong ví dụ về cơ sở dữ liệu kho hàng, khóa chính của bảng bộ phận phải là một thuộc tính xác định duy nhất từng bản ghi. Đây là tính toàn vẹn của thực thể. Nói chung, các trường số tốt hơn cho khóa chính so với trường văn bản. Trong bảng bộ phận, trường tốt nhất cho khóa chính sẽ là Số mục. Tổ chức có thể bán nhiều loại sản phẩm có cùng tên, chẳng hạn như "cờ lê nhỏ. " Số Mặt hàng sẽ luôn là duy nhất cho mỗi mặt hàng và do đó, điều này đảm bảo tính toàn vẹn thực thể cho bảng bộ phận. Nếu một số bản ghi có cùng giá trị khóa chính, việc tham chiếu chi tiết từ bảng này bằng cách nối nó với bảng giao dịch sẽ khiến các bản ghi giao dịch trùng lặp để khớp với từng bản ghi có cùng mã định danh

Toàn vẹn tham chiếu

Tính toàn vẹn tham chiếu đảm bảo rằng liên kết giữa bảng giao dịch và bảng bộ phận được hình thành chính xác. Trong bảng giao dịch, mã số tạo thành khóa ngoại, là thuộc tính liên kết với khóa chính của bảng bộ phận. Chỉ những số mục được liệt kê trong bảng phụ tùng mới có thể xuất hiện trong bảng giao dịch. Đây là tính toàn vẹn tham chiếu. Nếu bảng giao dịch chứa một số mục không có trong bảng bộ phận, việc nối các bảng lại với nhau sẽ khiến các giao dịch có số mục bị thiếu không được đưa vào kết quả

Các ràng buộc là một tính năng rất quan trọng trong một mô hình quan hệ. Trên thực tế, mô hình quan hệ hỗ trợ lý thuyết ràng buộc được xác định rõ đối với các thuộc tính hoặc bảng. Các ràng buộc rất hữu ích vì chúng cho phép người thiết kế chỉ định ngữ nghĩa của dữ liệu trong cơ sở dữ liệu và các ràng buộc là các quy tắc để thực thi các DBMS nhằm kiểm tra xem dữ liệu có thỏa mãn ngữ nghĩa hay không.

TÍCH HỢP MIỀN

Miền giới hạn giá trị của các thuộc tính trong quan hệ và nó là một ràng buộc của mô hình quan hệ. Tuy nhiên, có ngữ nghĩa thế giới thực trên dữ liệu không thể chỉ định nếu chỉ được sử dụng với các ràng buộc miền. Chúng tôi cần những cách cụ thể hơn để nêu rõ những giá trị dữ liệu nào được phép/không được phép và định dạng nào phù hợp với một thuộc tính. Ví dụ: ID nhân viên phải là duy nhất, ngày sinh của nhân viên nằm trong khoảng [01/01/1950, 01/01/2000]. Thông tin như vậy được cung cấp trong các câu lệnh logic được gọi là ràng buộc toàn vẹn

Có một số loại ràng buộc toàn vẹn

Tính toàn vẹn của thực thể – Mỗi bảng yêu cầu một khóa chính. Khóa chính, cũng như bất kỳ phần nào của khóa chính, có thể chứa giá trị NULL. Điều này là do các giá trị NULL cho khóa chính có nghĩa là chúng tôi không thể xác định một số hàng. Ví dụ: trong bảng NHÂN VIÊN  , Điện thoại không thể là khóa vì một số người có thể không có điện thoại

Tính toàn vẹn tham chiếu – khóa ngoại phải có khóa chính phù hợp hoặc khóa phải là null

Ràng buộc này được chỉ định giữa hai bảng (cha và con); . Nó có nghĩa là tham chiếu từ một hàng trong bảng này sang bảng khác phải hợp lệ. Ví dụ về ràng buộc toàn vẹn tham chiếu

VÍ DỤ THAM KHẢO VỀ TÍNH TÍCH HỢP

Trong cơ sở dữ liệu Khách hàng/Đơn hàng

  • Khách hàng(custid, custname)
  • Đơn hàng(ID đơn hàng, người trông coi, Ngày đặt hàng)

Để đảm bảo rằng không có bản ghi mồ côi nào, chúng ta cần thực thi tính toàn vẹn tham chiếu

Bản ghi mồ côi là bản ghi có giá trị khóa ngoại không được tìm thấy trong thực thể tương ứng – thực thể nơi đặt PK. Nhớ lại rằng một liên kết điển hình là giữa PK và FK

Ràng buộc toàn vẹn tham chiếu nói rằng CustID trong bảng Đơn hàng phải khớp với CustiD hợp lệ trong bảng Khách hàng. Hầu hết các cơ sở dữ liệu quan hệ đều có tính toàn vẹn tham chiếu khai báo. Nói cách khác, khi các bảng được tạo, các ràng buộc toàn vẹn tham chiếu được thiết lập

Trong cơ sở dữ liệu Khóa học/Lớp học

  • Khóa học(CrsCode, DeptCode, Mô tả)
  • Lớp(CrsCode, Mục, Giờ học)

Ràng buộc toàn vẹn tham chiếu cho biết rằng CrsCode trong bảng Lớp phải khớp với một CrsCode hợp lệ trong bảng Khóa học. Trong tình huống này, việc CrsCode và Mục trong bảng Lớp tạo nên PK là chưa đủ, chúng ta còn phải thực thi tính toàn vẹn tham chiếu

Khi thiết lập tính toàn vẹn tham chiếu, điều quan trọng là PK và FK có cùng kiểu dữ liệu và đến từ cùng một miền. Nếu không, RDBMS sẽ không cho phép tham gia

TÍCH HỢP THAM KHẢO TRONG MS ACCESS

Trong MS Access, tính toàn vẹn tham chiếu được thiết lập bằng cách nối PK trong bảng Khách hàng với CustID trong bảng Đơn hàng


Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

TÍCH HỢP THAM KHẢO SỬ DỤNG TRANSACT SQL (MS SQL SERVER)

CREATE TABLE Customer
( CustID INTEGER PRIMARY KEY,
CustName CHAR(35) )

CREATE TABLE Orders
( OrderID INTEGER PRIMARY KEY,
CustID INTEGER REFERENCES Customer(CustID),
OrderDate DATETIME )

Tính toàn vẹn tham chiếu được đặt khi tạo bảng (Đơn hàng) với FK

QUY TẮC NGOÀI

Các quy tắc khóa ngoại bổ sung có thể được thêm vào, chẳng hạn như phải làm gì với các hàng con (bảng Đơn hàng) khi bản ghi có PK – hàng mẹ (Khách hàng) bị xóa hoặc thay đổi (cập nhật). Cửa sổ mối quan hệ trong Access hiển thị hai tùy chọn bổ sung cho quy tắc khóa ngoại. Cập nhật theo tầng và xóa theo tầng. Nếu chúng không được chọn, hệ thống sẽ ngăn việc xóa hoặc cập nhật các giá trị PK trong bảng cha (Khách hàng) nếu tồn tại một bản ghi con. Bản ghi con là bất kỳ bản ghi nào có PK phù hợp

XÓA BỎ

- HẠN CHẾ

–  CASCADE

– ĐẶT THÀNH NULL

CẬP NHẬT

- HẠN CHẾ

–  CASCADE

Trong một số cơ sở dữ liệu, một tùy chọn bổ sung tồn tại khi chọn tùy chọn Xóa. Đó là 'Đặt thành Null'. Trong những trường hợp này, hàng PK bị xóa, nhưng FK trong bảng con được đặt thành Null. Mặc dù điều này tạo ra một hàng mồ côi, nhưng nó có thể chấp nhận được

Ràng buộc doanh nghiệp – đôi khi được gọi là Ràng buộc ngữ nghĩa. Chúng là các quy tắc bổ sung được chỉ định bởi người dùng hoặc quản trị viên cơ sở dữ liệu. tôi. e. Một lớp học có thể có tối đa 30 học viên. Một giáo viên có thể dạy tối đa 4 lớp một học kỳ. Một nhân viên không được tham gia quá 5 dự án. Lương của nhân viên không được vượt quá lương của người quản lý nhân viên đó

quy tắc kinh doanh

Một thuật ngữ khác chúng tôi đã sử dụng là ngữ nghĩa. Quy tắc kinh doanh được lấy từ người dùng khi thu thập yêu cầu. Quá trình thu thập yêu cầu là rất quan trọng và cần được xác minh bởi người dùng trước khi thiết kế cơ sở dữ liệu được xây dựng. Nếu các quy tắc kinh doanh không chính xác, thiết kế sẽ không chính xác và cuối cùng ứng dụng được xây dựng sẽ không hoạt động như mong đợi của người dùng

Một số ví dụ về quy tắc kinh doanh là

  • Một giáo viên có thể dạy nhiều học sinh
  • Một lớp học có thể có tối đa 35 học sinh
  • Một khóa học có thể được dạy nhiều lần, nhưng chỉ bởi một người hướng dẫn
  • Không phải tất cả giáo viên đều dạy lớp, v.v.

TỶ YẾU

Biểu thị số lần xuất hiện thực thể tối thiểu và tối đa được liên kết với một lần xuất hiện của thực thể liên quan. Quy tắc kinh doanh được sử dụng để xác định cardinality


Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

Tham gia quan hệ

Có hai mặt đối với mỗi mối quan hệ khi tham gia. Mỗi bên có thể có hai lựa chọn tham gia. Nó là 0 (không), 1 (một) hoặc nhiều. Biểu tượng bên ngoài nhất đại diện cho khả năng kết nối. tôi. e. một đến nhiều sẽ được đại diện bởi

Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

Hầu hết các ký hiệu bên trong đại diện cho lực lượng cho biết số lượng phiên bản tối thiểu trong thực thể tương ứng. tôi. e. ở phía bên tay phải nó được đọc là. tối thiểu 1 tối đa nhiều. Ở phía bên trái, nó được đọc là tối thiểu 1 và tối đa 1.    

Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

Xem bên dưới để biết thêm ví dụ

KHÔNG BẮT BUỘC

Một lần xuất hiện thực thể không yêu cầu một lần xuất hiện thực thể tương ứng trong mối quan hệ

Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu
Điều này cho thấy một số không hoặc nhiều. Nhiều bên là tùy chọn


Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

Điều này cũng có thể được đọc là

Bên phải. Một khách hàng có thể có tối thiểu 0 đơn hàng hoặc tối đa nhiều đơn hàng.
Bên trái. Thực thể đơn đặt hàng phải chứa tối thiểu một thực thể liên quan trong bảng khách hàng và tối đa 1 thực thể liên quan.

Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu
Điều này cho thấy một số không hoặc một. 1 bên là tùy chọn


Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

BẮT BUỘC

Một lần xuất hiện thực thể yêu cầu một lần xuất hiện thực thể tương ứng trong một mối quan hệ

Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu
   Điều này hiển thị một và chỉ một. 1 bên là bắt buộc.


Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu
Ví dụ này cho thấy một hoặc nhiều. Nhiều bên là bắt buộc


Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

Cho đến giờ chúng ta đã thấy rằng vế phải có thể có

Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu
 quân số 0 (không) và liên thông của nhiều hoặc một.

Vế bên trái cũng có thể có lực lượng 

Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu
0 (không).

Tuy nhiên, nó không thể có khả năng kết nối 0 chỉ 1 (như hình). Các biểu tượng kết nối hiển thị tối đa. Vì vậy, nếu bạn nghĩ về nó một cách logic, nếu biểu tượng kết nối ở phía bên trái hiển thị 0, thì sẽ không có kết nối nào giữa các bảng. Cách đọc vế trái là. CustID trong bảng Order phải được tìm thấy trong bảng Customer tối thiểu là 0 và tối đa là 1 lần. 0 có nghĩa là CustID trong bảng Đơn hàng có thể là null. Số 1 bên trái nhiều nhất (ngay trước số 0 thể hiện khả năng kết nối) nói rằng nếu có CustID trong bảng Đơn hàng thì nó chỉ có thể có trong bảng Khách hàng một lần. Khi bạn nhìn thấy biểu tượng 0 cho lực lượng, bạn có thể giả sử hai điều. FK trong bảng Thứ tự cho phép null và FK không phải là một phần của PK vì PK không được chứa giá trị null


Ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

Các loại mối quan hệ

Bạn có thể nhận thấy trong hình ảnh trước đó là đường đứt nét nối hai bảng. Đây được gọi là kiểu quan hệ. Đó là xác định hoặc không xác định. Vui lòng xem phần thảo luận về các mối quan hệ yếu và mạnh để được giải thích thêm. Điều duy nhất bạn cần hiểu trong phần này là cách mối quan hệ được mô tả trong ERD. Các mối quan hệ xác định sẽ có một đường liền nét (PK chứa FK). Mối quan hệ không xác định không chứa FK trong PK

Ràng buộc toàn vẹn thực thể là gì?

Để xác định từng hàng trong bảng, bảng phải có khóa chính. Khóa chính là một giá trị duy nhất xác định từng hàng . Yêu cầu này được gọi là ràng buộc toàn vẹn thực thể.

Tại sao các ràng buộc toàn vẹn thực thể và toàn vẹn tham chiếu lại quan trọng?

Tính toàn vẹn thực thể và tính toàn vẹn tham chiếu là hai dạng toàn vẹn dữ liệu đặc biệt quan trọng trong cơ sở dữ liệu quan hệ. Cơ sở dữ liệu quan hệ chia nhỏ việc lưu trữ dữ liệu thành các thành phần thường phải được kết hợp lại với nhau để tạo ra kết quả có ý nghĩa .

Toàn vẹn và toàn vẹn tham chiếu là gì?

Tính toàn vẹn tham chiếu là sự phụ thuộc logic của khóa ngoại vào khóa chính . Tính toàn vẹn của hàng chứa khóa ngoại phụ thuộc vào tính toàn vẹn của hàng mà nó tham chiếu—hàng chứa khóa chính phù hợp.

Khái niệm về toàn vẹn và ràng buộc tham chiếu là gì?

Ràng buộc toàn vẹn tham chiếu được định nghĩa là một phần của liên kết giữa hai loại thực thể . Định nghĩa cho ràng buộc toàn vẹn tham chiếu chỉ định thông tin sau. Đầu cuối chính của ràng buộc. (Một loại thực thể có khóa thực thể được tham chiếu bởi đầu cuối phụ thuộc. )