Mô hình dữ liệu mối quan hệ thực thể. Mô hình cơ sở dữ liệu khái niệm - Sơ đồ quan hệ đối tượng

Để phát triển cơ sở dữ liệu, cấu trúc của cơ sở dữ liệu này không phụ thuộc vào nhu cầu thông tin cụ thể và cho phép bạn thực hiện bất kỳ yêu cầu nào của người dùng, sơ đồ mô hình thông tin “mối quan hệ thực thể” (sơ đồ ER) được sử dụng.

Thông thường, việc chính thức hóa các ý tưởng về lĩnh vực chủ đề được thực hiện trong khuôn khổ mô hình “mối quan hệ thực thể” (“mối quan hệ đối tượng”). Ở giai đoạn thiết kế này, phương pháp “bản chất-mối quan hệ” được sử dụng, còn được gọi là phương pháp “sơ đồ ER” (“Bản chất” - thực thể, “Quan hệ” - kết nối). Phương pháp này dựa trên việc sử dụng các sơ đồ tương ứng được gọi là sơ đồ phiên bản ER và sơ đồ loại ER.

ER – sơ đồ “mối quan hệ thực thể” là một tập hợp gồm nhiều đối tượng và đặc điểm của chúng, cũng như mối quan hệ giữa chúng, cần thiết để xác định dữ liệu sau đó được sử dụng bởi các chức năng của hệ thống được thiết kế.

Các khái niệm chính của phương pháp mối quan hệ thực thể như sau:

Nước hoa;

Thuộc tính thực thể;

Khóa thực thể;

Mối quan hệ giữa các thực thể;

Mức độ kết nối;

Lớp thành viên của các thể hiện thực thể;

sơ đồ phiên bản ER;

Sơ đồ kiểu ER.

Đối tượng thông tin được hiểu là một thực thể nào đó của một mảnh thực tế, ví dụ: một tổ chức, một tài liệu, một nhân viên, một địa điểm, một sự kiện, v.v. Thực thể là một đối tượng, thông tin về đối tượng đó được lưu trữ trong cơ sở dữ liệu. Các trường hợp thực thể khác biệt với nhau và được xác định duy nhất. Tên thực thể là danh từ. Mỗi loại đối tượng được xác định bởi tập hợp các thuộc tính vốn có của nó. Trong dự án khóa học này, các thực thể là: nhân viên, vị trí, trình độ học vấn, hình thức tham gia lao động, khoa, phòng ban và chủ đề.

Thuộc tính ((từ tiếng Latin attribuo - thuộc tính) - một thuộc tính hoặc vật không thể tách rời khỏi một đối tượng) là một phần tử không thể phân chia về mặt logic của cấu trúc thông tin, được đặc trưng bởi vô số giá trị nguyên tử. Khái niệm này tương tự như khái niệm “thuộc tính” trong một quan hệ. Một thể hiện đối tượng được đặc trưng bởi một tập hợp các giá trị thuộc tính cụ thể của một kiểu đối tượng nhất định. Một hoặc một số nhóm thuộc tính của đối tượng thuộc loại này có thể đóng vai trò là thuộc tính khóa (khóa thực thể). Trong dự án khóa học này, các thực thể trên được đặc trưng bởi các thuộc tính, chẳng hạn như: mã_bộ phận, tên_bộ phận, mã_bộ phận, tên_nhân viên, v.v.



Khóa thực thể là một thuộc tính hoặc tập hợp các thuộc tính xác định một phiên bản của một thực thể (ví dụ: job_code).

Mối quan hệ giữa hai hoặc nhiều thực thể là sự phụ thuộc giữa các thuộc tính của các thực thể đó. Nó được biểu thị bằng một động từ. Hơn nữa, có hai loại kết nối:

Thứ bậc;

Cấp một.

Để tăng tính rõ ràng và dễ dàng trong thiết kế, các phương tiện đồ họa thể hiện thực thể, các thể hiện của thực thể và mối quan hệ giữa chúng được sử dụng. Sơ đồ ER được trình bày trong Phụ lục A.


Phân loại kết nối

Trong cơ sở dữ liệu thực, thông tin được đặt trong một số bảng. Các bảng được liên kết bởi ngữ nghĩa thông tin. Trong các DBMS quan hệ, để biểu thị mối quan hệ của bảng, một thao tác liên kết được thực hiện. Điều này làm tăng độ tin cậy của thông tin được lưu trữ trong cơ sở dữ liệu vì DBMS kiểm soát tính toàn vẹn của dữ liệu được nhập vào cơ sở dữ liệu theo các kết nối đã thiết lập.

Việc thiết lập kết nối giúp việc truy cập dữ liệu dễ dàng hơn khi thực hiện các thao tác: tìm kiếm, xem, chỉnh sửa, truy xuất và lập báo cáo, bởi vì quyền truy cập vào bất kỳ trường nào của các bảng liên quan được cung cấp.

Những điều sau đây có thể được cài đặt giữa các bảng:

Kết nối nhị phân;

kết nối ternary;

liên kết N-ary.

Khi liên kết hai bảng, bảng chính và bảng phụ (bảng mẹ và bảng con) được phân biệt. Liên kết logic của các bảng được thực hiện bằng cách sử dụng khóa liên kết. Các trường của bảng chính có thể đơn giản hoặc có khóa. Các trường liên kết của một bảng bổ sung thường là khóa. Tùy thuộc vào cách xác định các trường kết nối của bảng chính và bảng bổ sung (cách các trường khóa liên quan đến các trường kết nối), các loại kết nối được thiết lập:

1:1 (một đối một);

1:M (một đến nhiều);

M:1 (nhiều thành một);

M:M (nhiều đến nhiều).

Mối quan hệ 1:1 được hình thành nếu tất cả các trường của mối quan hệ giữa bảng cha và bảng con là khóa. Vì các giá trị trong các trường khóa của hai bảng không lặp lại nên có sự tương ứng một-một giữa các bản ghi từ các bảng này. Trên thực tế, bản thân các bảng ở đây trở nên bình đẳng.

Mối quan hệ 1:M xảy ra khi một bản ghi trong bảng cha tương ứng với một số bản ghi trong bảng con.

Mối quan hệ M:1 xảy ra khi một hoặc một số bản ghi của bảng chính được khớp với một bản ghi của bảng bổ sung.

Mối quan hệ M:M xảy ra trong trường hợp một số bản ghi của bảng chính tương ứng với một số bản ghi của bảng bổ sung.

Tương tự như mối quan hệ 1:1, mối quan hệ M:M không thiết lập các bảng phụ. Trong thực tế, một mối quan hệ thường bao gồm nhiều bảng. Trong trường hợp này, một bảng có thể có nhiều loại mối quan hệ khác nhau với một số bảng, tạo thành một hệ thống phân cấp hoặc “cây quan hệ”.

Trong dự án khóa học này, các bảng được kết nối bằng mối quan hệ 1:M (một-nhiều). Ví dụ: bảng “khoa” là bảng cha của bảng con “khoa”. Các bảng này có liên quan theo mối quan hệ 1:M bằng cách sử dụng khóa “faculty_code”

Giống như bất kỳ mô hình nào, mô hình “mối quan hệ thực thể” có một số khái niệm cơ bản tạo thành các khối xây dựng ban đầu mà từ đó các đối tượng phức tạp hơn được xây dựng theo các quy tắc định trước.

Mô hình này phù hợp nhất với khái niệm thiết kế hướng đối tượng, hiện nay chắc chắn là cơ sở cho sự phát triển của các hệ thống phần mềm phức tạp, vì vậy nhiều khái niệm có thể có vẻ quen thuộc với bạn và nếu điều này đúng thì nó sẽ càng dễ dàng hơn. giúp bạn làm chủ công nghệ thiết kế cơ sở dữ liệu, dựa trên mô hình ER.

Mô hình ER dựa trên các khái niệm cơ bản sau:

  • Tinh chất với với sự trợ giúp của một lớp các đối tượng tương tự được mô hình hóa. Một thực thể có tên duy nhất trong hệ thống đang được mô hình hóa. Vì một thực thể tương ứng với một lớp đối tượng nhất định cùng loại, nên giả định rằng có nhiều phiên bản của thực thể này trong hệ thống. Đối tượng mà khái niệm thực thể tương ứng có tập hợp riêng của nó thuộc tính - các đặc điểm xác định các thuộc tính của một đại diện lớp nhất định. Trong trường hợp này, tập hợp các thuộc tính phải sao cho có thể phân biệt được các trường hợp cụ thể của thực thể. Ví dụ: thực thể Nhân viên có thể có tập hợp các thuộc tính sau: Mã số nhân sự, Họ, Tên, Người bảo trợ, Ngày sinh, Số con, Sự hiện diện của người thân ở nước ngoài. Một tập hợp các thuộc tính xác định duy nhất một thể hiện cụ thể của một thực thể được gọi là chìa khóa.Đối với thực thể Nhân viên, thuộc tính chính sẽ là Mã số Nhân sự, vì mã số nhân sự sẽ khác nhau đối với tất cả nhân viên của một doanh nghiệp nhất định. Một thể hiện của thực thể Nhân viên sẽ là mô tả về một nhân viên cụ thể của doanh nghiệp. Một trong những cách biểu diễn đồ họa được chấp nhận rộng rãi của một thực thể là một hình chữ nhật, ở phần trên có viết tên của thực thể và các thuộc tính được liệt kê bên dưới, với các thuộc tính chính được đánh dấu, ví dụ: bằng gạch chân hoặc phông chữ đặc biệt. (Hình 7.1):

Cơm. 7.1.Ví dụ về định nghĩa thực thể trong mô hình ER

Giữa các thực thể có thể được thiết lập thông tin liên lạc- các liên kết nhị phân cho thấy các thực thể liên quan hoặc tương tác với nhau như thế nào. Một mối quan hệ có thể tồn tại giữa hai thực thể khác nhau hoặc giữa một thực thể và chính nó (kết nối đệ quy). Nó cho thấy các thể hiện thực thể có liên quan với nhau như thế nào. Nếu một mối quan hệ được thiết lập giữa hai thực thể thì nó sẽ xác định mối quan hệ giữa các thể hiện của thực thể này và thực thể kia. Ví dụ: nếu chúng ta có một kết nối giữa thực thể “Sinh viên” và thực thể “Giáo viên” và kết nối này là giám sát các dự án văn bằng thì mỗi sinh viên chỉ có một người giám sát, nhưng cùng một giáo viên có thể giám sát nhiều sinh viên tốt nghiệp. Do đó, nó sẽ là mối quan hệ một-nhiều (1:M), một ở phía Giáo viên và nhiều ở phía Học sinh (xem Hình 7.2).


Cơm. 7.2.Ví dụ về mối quan hệ một-nhiều khi liên kết các thực thể “Học sinh” và “Giáo viên”

Các ký hiệu khác nhau thể hiện sức mạnh giao tiếp khác nhau. Trong ví dụ của chúng tôi, chúng tôi đang sử dụng ký hiệu CASE của hệ thống POWER DESIGNER, ở đây bội số được mô tả bằng cách chia liên kết cho 3. Liên kết có tên chung là "Thiết kế kỷ luật" và có tên vai trò ở cả hai phía của thực thể. Về phía học sinh, vai trò này được gọi là “Viết luận văn dưới sự hướng dẫn”, về phía giáo viên, mối liên hệ này được gọi là “Hướng dẫn”. Giải thích bằng đồ họa về mối quan hệ cho phép bạn đọc ngay ý nghĩa của mối quan hệ giữa các thực thể; nó trực quan và dễ diễn giải. Các kết nối được chia thành ba loại theo tính đa dạng của chúng: một đối một(1:1), od và i-to-many(1M), nhiều nhiều(MM). Mối quan hệ một-một có nghĩa là một thể hiện của một thực thể chỉ liên quan đến một thể hiện của thực thể khác.

Mối quan hệ 1: M có nghĩa là một thể hiện của một thực thể nằm ở phía bên trái của mối quan hệ có thể được liên kết với một số thể hiện của một thực thể nằm ở phía bên phải của mối quan hệ. Mối quan hệ một-một (1:1) có nghĩa là một phiên bản của một thực thể chỉ được liên kết với một phiên bản của thực thể khác, trong khi mối quan hệ nhiều-nhiều (M:M) có nghĩa là một phiên bản của thực thể đầu tiên một thực thể có thể được liên kết với nhiều phiên bản của thực thể thứ hai và ngược lại, một phiên bản của thực thể thứ hai có thể được liên kết với nhiều phiên bản của thực thể thứ nhất. Ví dụ: nếu chúng ta xem xét mối quan hệ thuộc loại “Nghiên cứu” giữa các thực thể “Sinh viên” và “Kỷ luật”, thì đây là mối quan hệ thuộc loại “nhiều-nhiều” (M:M), bởi vì mỗi sinh viên có thể học một số các môn học, nhưng mỗi môn học lại có nhiều sinh viên theo học. Mối liên hệ như vậy được thể hiện trong Hình 2. 7.3.

  • Bất kỳ số lượng kết nối nào có tải ngữ nghĩa khác nhau đều có thể được chỉ định giữa hai thực thể. Ví dụ: giữa hai thực thể “Sinh viên” và “Giáo viên”, hai kết nối ngữ nghĩa có thể được thiết lập, một là “Thiết kế văn bằng” đã thảo luận trước đó và thứ hai có thể được gọi một cách có điều kiện là “Bài giảng” và nó xác định bài giảng nào của giáo viên nào học sinh lắng nghe và giáo viên này giảng bài cho học sinh. Rõ ràng đây là một kết nối như nhiều nhiều. Một ví dụ về các kết nối này được hiển thị trong Hình. 7.3.

Cơm. 7.3.Ví dụ về mô hình hóa mối quan hệ nhiều-nhiều

  • Bất kỳ loại giao tiếp nào trong số này đều có thể bắt buộc, nếu mọi phiên bản của một thực thể phải tham gia vào một mối quan hệ nhất định, không bắt buộc - nếu không phải mọi cá thể thực thể đều phải tham gia vào một mối quan hệ nhất định. Trong trường hợp này, kết nối có thể một mặt bắt buộcmặt khác là tùy chọn. Bản chất bắt buộc của kết nối cũng được biểu thị khác nhau trong các ký hiệu khác nhau. Chúng tôi lại sử dụng ký hiệu POWER DESIGNER. Ở đây, tính tùy chọn của kết nối được biểu thị bằng một vòng tròn trống ở cuối kết nối và nghĩa vụ được biểu thị bằng đường vuông góc cắt ngang kết nối. Và ký hiệu này có cách giải thích đơn giản. Vòng tròn có nghĩa là không có phiên bản nào có thể tham gia vào kết nối này. Và vuông góc được hiểu là có nghĩa là ít nhất một thể hiện của thực thể có liên quan đến kết nối này.

Để thực hiện việc này, hãy xem xét ví dụ đã cho trước đây về kết nối “Thiết kế bằng tốt nghiệp”. Trong hình của chúng tôi, kết nối này được hiểu là tùy chọn ở cả hai bên. Nhưng trên thực tế, mỗi sinh viên viết luận văn đều phải có người hướng dẫn làm luận văn riêng, nhưng mặt khác, không phải giáo viên nào cũng phải chủ trì đồ án luận văn. Do đó, trong công thức ngữ nghĩa này, hình ảnh của kết nối này sẽ thay đổi và trông giống như trong Hình 2. 7.4.

Cơm. 7.4.Ví dụ về mối quan hệ bắt buộc và tùy chọn giữa các thực thể

Ngoài ra, mô hình ER cho phép áp dụng nguyên tắc phân loại các thực thể. Điều này có nghĩa là, giống như trong các ngôn ngữ lập trình hướng đối tượng, khái niệm về một kiểu con thực thể được đưa ra, nghĩa là một thực thể có thể được biểu diễn dưới dạng hai hoặc nhiều kiểu con của nó - thực thể, mỗi trong số đó có thể có các thuộc tính và mối quan hệ chung và/hoặc các thuộc tính và mối quan hệ được xác định một lần ở cấp cao nhất và được kế thừa ở cấp thấp hơn. Tất cả các kiểu con của một thực thể được coi là loại trừ lẫn nhau và khi chia một thực thể thành các kiểu con, nó phải được biểu diễn dưới dạng một tập hợp đầy đủ các kiểu con loại trừ lẫn nhau. Nếu ở cấp độ phân tích không thể xác định được Danh sách các kiểu con đầy đủ, thì một kiểu con đặc biệt sẽ được giới thiệu, có điều kiện được gọi là KHÁC, có thể được làm rõ thêm. Trong các hệ thống thực, việc giới thiệu phân nhóm ở hai hoặc ba cấp độ thường là đủ.

Thực thể trên cơ sở đó các kiểu con được xây dựng được gọi là siêu kiểu. Bất kỳ phiên bản nào của siêu kiểu phải thuộc về một kiểu con cụ thể. Để thể hiện bằng đồ họa nguyên tắc phân loại hoặc phân loại của một thực thể, một phần tử đồ họa đặc biệt được giới thiệu, được gọi là nút phân biệt đối xử, trong ký hiệu POWER DESIGNER, nó được mô tả dưới dạng hình bán nguyệt, với mặt lồi của nó hướng về phía siêu thực thể. Mặt này được kết nối bằng một mũi tên hướng tới siêu thực thể và các kiểu con của thực thể này được kết nối với đường kính của vòng tròn này bằng các mũi tên (xem Hình 7.5).

Cơm. 7.5.Sơ đồ kiểu con thực thể TEST

Sơ đồ này có thể được giải mã như sau. Mỗi bài kiểm tra trong hệ thống kiểm tra là bài kiểm tra kiến ​​thức về ngôn ngữ SQL hoặc một số nhiệm vụ phân tích được thực hiện bằng cách sử dụng các ứng dụng Java được viết sẵn hoặc bài kiểm tra trong một số lĩnh vực kiến ​​thức, bao gồm một bộ câu hỏi và một bộ câu trả lời được đề xuất cho mỗi câu hỏi.

Kết quả của việc xây dựng một mô hình miền dưới dạng một tập hợp các thực thể và các mối quan hệ, chúng ta thu được một biểu đồ được kết nối. Trong biểu đồ kết quả, cần tránh các kết nối tuần hoàn - chúng bộc lộ tính không chính xác của mô hình.

Ví dụ: chúng tôi sẽ thiết kế một mô hình thần thoại của một hệ thống được thiết kế để lưu trữ thông tin về sách và các lĩnh vực kiến ​​thức được trình bày trong thư viện. Mô tả về lĩnh vực chủ đề đã được đưa ra trước đó. Hãy bắt đầu phát triển mô hình bằng cách xác định các thực thể chính.

Trước hết, có thực thể “Sách”, mỗi cuốn sách có một mật mã duy nhất, là khóa của nó và một số thuộc tính được lấy từ mô tả của lĩnh vực chủ đề. Tập hợp các thực thể thực thể xác định tập sách được lưu trữ trong thư viện. Mỗi phiên bản của thực thể “Sách” không tương ứng với một cuốn sách cụ thể trên giá mà tương ứng với mô tả về một cuốn sách nhất định, thường được đưa ra trong danh mục chủ đề của thư viện. Mỗi cuốn sách có thể có nhiều bản và đây chỉ là những cuốn sách cụ thể có trên kệ thư viện.

Để phản ánh điều này, chúng ta phải giới thiệu một thực thể Phiên bản, thực thể này sẽ chứa các mô tả về tất cả các bản sao sách được lưu trữ trong thư viện. Mỗi phiên bản của thực thể Phiên bản tương ứng với một cuốn sách cụ thể trên giá. Mỗi bản sao có một số gia nhập duy nhất xác định duy nhất một cuốn sách cụ thể. Ngoài ra, mỗi bản sao của một cuốn sách có thể ở trong thư viện hoặc trong tay một độc giả nhất định, và trong trường hợp thứ hai, đối với một bản sao nhất định, ngày người đọc lấy cuốn sách và ngày dự kiến ​​trả lại cuốn sách đó. cuốn sách được chỉ định bổ sung.

Có mối quan hệ một-nhiều (1:M) giữa các thực thể “Sách” và “Phiên bản”, được yêu cầu ở cả hai bên. Điều gì quyết định loại kết nối này? Chúng ta có thể giả định rằng mỗi cuốn sách có thể có trong thư viện với nhiều bản sao, do đó có mối quan hệ một-nhiều. Hơn nữa, nếu thư viện không có một bản sao của một cuốn sách nhất định thì chúng tôi sẽ không lưu trữ mô tả của nó, vì vậy nếu cuốn sách được mô tả theo bản chất “Sách” thì ít nhất một bản sao của cuốn sách này sẽ có trong thư viện. . Điều này có nghĩa là về phía cuốn sách, việc kết nối là bắt buộc. Đối với thực thể “Bản sao”, không được tồn tại một bản sao nào trong thư viện không liên quan đến một cuốn sách cụ thể, do đó, việc kết nối từ phía “Bản sao” cũng là bắt buộc.

Bây giờ chúng ta cần xác định cách thể hiện reader trong hệ thống của chúng ta. Việc đề xuất giới thiệu thực thể “Người đọc” cho mục đích này là điều tự nhiên, mỗi phiên bản của thực thể đó sẽ tương ứng với một người đọc cụ thể. Trong thư viện, mỗi độc giả được gán một số thẻ thư viện duy nhất, số này sẽ nhận dạng duy nhất độc giả của chúng tôi. Số thẻ thư viện sẽ là thuộc tính chính của thực thể Readers.

Ngoài ra, trong thực thể “Người đọc” phải có các thuộc tính bổ sung cần thiết để giải quyết các nhiệm vụ được giao, các thuộc tính này sẽ là: “Họ Tên người bảo trợ”, “Địa chỉ người đọc”, “Điện thoại nhà” và “Điện thoại cơ quan” . Tại sao chúng tôi lại giới thiệu hai thuộc tính riêng biệt cho điện thoại? Vì bạn cần gọi những số điện thoại này vào những thời điểm khác nhau để thu hút độc giả nên điều quan trọng là ban quản lý thư viện phải biết đây là loại điện thoại gì. Trong phần mô tả lĩnh vực chủ đề của chúng tôi, có giới hạn về độ tuổi của độc giả, vì vậy trong thực thể “Độc giả”, chúng tôi cần giới thiệu thuộc tính bắt buộc “Ngày sinh”, thuộc tính này sẽ cho phép chúng tôi kiểm soát độ tuổi của độc giả .

Từ mô tả về lĩnh vực chủ đề, chúng tôi biết rằng mỗi độc giả có thể cầm trên tay nhiều bản sách. Để phản ánh tình huống này, chúng ta cần tạo kết nối giữa các thực thể “Người đọc” và “Phiên bản”. Tại sao không phải là giữa các thực thể “Người đọc” và “Sách”? Bởi vì người đọc lấy một bản sao cụ thể của một cuốn sách cụ thể từ thư viện chứ không chỉ một cuốn sách. Làm thế nào bạn có thể biết được một độc giả cụ thể có cuốn sách nào? Và điều này có thể được tìm ra bằng một kết nối bổ sung giữa các thực thể “Trường hợp” và “Sách” và kết nối này chỉ định một cuốn sách cho mỗi trường hợp, vì vậy, bất kỳ lúc nào chúng tôi cũng có thể xác định rõ ràng cuốn sách nào nằm trong tay người đọc, mặc dù chúng tôi chỉ liên kết với người đọc số lượng tồn kho của những cuốn sách đã lấy. Mối quan hệ một-nhiều được thiết lập giữa các thực thể “Người đọc” và “Phiên bản”, đồng thời nó là tùy chọn cho cả hai bên. Người đọc hiện tại có thể không cầm trên tay một cuốn sách nào, mặt khác, bản sao cuốn sách này có thể không thuộc quyền sở hữu của bất kỳ độc giả nào mà chỉ đơn giản là đứng trên kệ trong thư viện.

Bây giờ chúng ta cần phản ánh thực thể cuối cùng được liên kết với thư mục hệ thống. Danh mục hệ thống chứa danh sách tất cả các lĩnh vực kiến ​​​​thức, thông tin có trong sách thư viện. Chúng ta có thể nhớ lại danh mục hệ thống trong thư viện, từ đó chúng ta thường bắt đầu tìm kiếm những cuốn sách mình cần nếu không biết tác giả và tựa sách của chúng. Tên của vùng kiến ​​thức có thể dài và bao gồm nhiều từ, vì vậy để mô hình hóa danh mục hệ thống, chúng tôi sẽ giới thiệu thực thể “Danh mục hệ thống” với hai thuộc tính: “Mã vùng kiến ​​thức” và “Tên vùng kiến ​​thức”. Thuộc tính Mã lĩnh vực kiến ​​thức sẽ là thuộc tính chính của thực thể.

Từ mô tả về lĩnh vực chủ đề, chúng tôi biết rằng mỗi cuốn sách có thể chứa thông tin từ một số lĩnh vực kiến ​​thức và mặt khác, từ thực tế, chúng tôi biết rằng một thư viện có thể chứa nhiều sách liên quan đến cùng một lĩnh vực kiến ​​thức, vì vậy chúng ta cần thiết lập giữa các thực thể “Danh mục hệ thống” và “Sách” là mối quan hệ nhiều-nhiều, bắt buộc đối với cả hai bên. Thật vậy, danh mục hệ thống không được chứa một lĩnh vực kiến ​​​​thức như vậy, thông tin không được trình bày trong bất kỳ cuốn sách nào trong thư viện của chúng tôi; ngược lại sẽ là vô nghĩa. Và ngược lại, mỗi cuốn sách nên được giao cho một hoặc nhiều lĩnh vực kiến ​​thức để người đọc có thể tìm kiếm nhanh hơn.

Mô hình thần thoại của lĩnh vực chủ đề “Thư viện” được trình bày trong Hình 2. 7.6.

Cơm. 7.6.Mô hình thần thoại "Thư viện"

Chúng tôi đã phát triển mô hình thần thoại “Thư viện” cho các nhiệm vụ đã được liệt kê trước đó. Trong các nhiệm vụ này, chúng tôi không đặt điều kiện lưu trữ lịch sử đọc sách, chẳng hạn như với mục tiêu tìm ra người trước đây đã giữ cuốn sách và có thể đã làm hỏng nó hoặc vô tình để quên một số tiền lớn trong đó. Nếu chúng ta đặt cho mình nhiệm vụ lưu trữ thông tin này thì mô hình logic thông tin của chúng ta sẽ khác. Tôi sẽ để lại nhiệm vụ này cho sự sáng tạo độc lập của bạn.

Một trong những phương tiện phổ biến nhất để chính thức hóa lĩnh vực chủ đề của các hệ thống tập trung vào xử lý thông tin thực tế là mô hình “mối quan hệ thực thể”, là cơ sở cho một số lượng đáng kể các sản phẩm CASE thương mại hỗ trợ chu trình phát triển đầy đủ của hệ thống cơ sở dữ liệu hoặc các giai đoạn riêng lẻ của nó. Đồng thời, nhiều trong số chúng không chỉ hỗ trợ giai đoạn thiết kế khái niệm về lĩnh vực chủ đề của hệ thống đang được phát triển mà còn cho phép thực hiện giai đoạn thiết kế logic dựa trên mô hình được xây dựng bằng phương tiện của họ bằng cách tự động tạo một lược đồ cơ sở dữ liệu khái niệm cho DBMS đã chọn, ví dụ: lược đồ cơ sở dữ liệu cho một số DBMS máy chủ SQL hoặc đối tượng.

Việc mô hình hóa khu vực chủ đề trong trường hợp này dựa trên việc sử dụng sơ đồ đồ họa, bao gồm một số lượng thành phần tương đối nhỏ và quan trọng nhất - công nghệ xây dựng những sơ đồ như vậy.

Cơ sở ngữ nghĩa của mô hình ER bao gồm các giả định sau:

phần đó của thế giới thực (một tập hợp các đối tượng được kết nối với nhau), thông tin về phần đó cần được đặt trong cơ sở dữ liệu, có thể được trình bày như toàn bộ thực thể;

Mỗi thực thể có các thuộc tính (thuộc tính) đặc trưng để phân biệt nó với các thực thể khác và cho phép nó để xác định;

Các thực thể có thể được phân loại theo loại thực thể: mỗi thể hiện của một thực thể (đại diện cho một số đối tượng) có thể được phân loại ĐẾN lớp học - loại thực thể, mỗi thể hiện của nó có các thuộc tính chung và phân biệt chúng với các thực thể của các lớp khác;

hệ thống hóa biểu diễn dựa trên lớp thường giả định sự phụ thuộc có thứ bậc của các loại: thực thể loại MỘTtiểu loại nước hoa TRONG, nếu mỗi trường hợp của loại MỘT là một thể hiện của một thực thể thuộc loại TRONG;

mối quan hệ giữa các đối tượng có thể được biểu diễn dưới dạng kết nối - thực thể, dùng để ghi lại (đại diện) sự phụ thuộc lẫn nhau của hai hoặc nhiều thực thể.

Ở đây chúng ta nên nhấn mạnh một lần nữa bản chất thông tin của khái niệm nước hoa và mối quan hệ của nó với các đối tượng vật chất hoặc tưởng tượng của lĩnh vực chủ đề. Bất kỳ đối tượng miền chủ đề nào cũng có các thuộc tính, một số thuộc tính được phân biệt là đặc trưng - có ý nghĩa theo quan điểm của nhiệm vụ được áp dụng. Trong trường hợp này, chẳng hạn, trong quá trình phân tích và hệ thống hóa một lĩnh vực chuyên môn, các lớp học - một tập hợp các đối tượng có cùng tập thuộc tính, được chỉ định trong biểu mẫu bộ thuộc tính(tất nhiên các giá trị thuộc tính của các đối tượng cùng lớp có thể khác nhau). Theo đó, ở cấp độ thể hiện lĩnh vực chủ đề (tức là mô hình thông tin học của nó), đối tượng được coi là một khái niệm (một đối tượng trong tâm trí con người) tương ứng với khái niệm đó. nước hoa; một vật thể, với tư cách là một bộ phận của thế giới vật chất (và tồn tại độc lập với ý thức con người), phù hợp với khái niệm thể hiện thực thể; lớp đối tượng tương ứng với khái niệm loại thực thể.


Trong phần tiếp theo, vì mô hình thông tin không xem xét các trường hợp riêng lẻ của các đối tượng mà là các lớp, nên chúng tôi sẽ không phân biệt giữa các khái niệm tương ứng của hai cấp độ này, tức là chúng tôi sẽ thừa nhận tính đồng nhất của các khái niệm một đối tượngthực thể, thuộc tính của đối tượngtài sản của một thực thể.

mô hình ER, với tư cách là một mô tả về lĩnh vực chủ đề, nó phải xác định các đối tượng và mối quan hệ giữa chúng, tức là thiết lập các kết nối của hai loại sau.

1. Kết nối giữa các đối tượng và tập hợp các thuộc tính đặc trưng và do đó xác định chính các đối tượng đó.

2. Mối liên hệ giữa các đối tượng, xác định tính chất và chức năng phụ thuộc lẫn nhau của chúng.

Như đã lưu ý trước đó, mô hình ER của một lĩnh vực chủ đề dựa trên việc sử dụng sơ đồ đồ họa như một cách đơn giản (quen thuộc), trực quan, đồng thời mang tính thông tin và đa chiều để hiển thị các thành phần dự án. Do đó, việc trình bày các điều khoản chính của mô hình ER sẽ được minh họa bằng tài liệu từ ví dụ về sơ đồ ER được hiển thị trong Hình. 5.4.

Nước hoa. Thực thể mà một lớp các đối tượng tương tự được mô hình hóa được định nghĩa là “một đối tượng có thể được xác định rõ ràng”. Giống như mỗi đối tượng được đặc trưng duy nhất bởi một tập hợp các giá trị thuộc tính, một thực thể phải được xác định như thế này một tập hợp các thuộc tính,điều này sẽ cho phép người ta phân biệt giữa các trường hợp riêng lẻ của một thực thể. Mỗi phiên bản của một thực thể phải được phân biệt với mọi phiên bản khác của cùng một thực thể (yêu cầu này tương tự như yêu cầu không có bộ dữ liệu trùng lặp trong các bảng quan hệ). Ví dụ: để xác định duy nhất từng phiên bản của thực thể "Nhân viên", thuộc tính "Mã số nhân sự" được giới thiệu, do tính chất của nó, thuộc tính này sẽ luôn có một giá trị duy nhất trong doanh nghiệp. Nghĩa là, mã định danh thực thể duy nhất có thể là một thuộc tính, sự kết hợp của các thuộc tính, sự kết hợp của các mối quan hệ hoặc sự kết hợp của các mối quan hệ và thuộc tính giúp phân biệt duy nhất bất kỳ phiên bản nào của thực thể với các phiên bản khác của cùng loại thực thể.

Thực thể có Tên, duy nhất trong mô hình. trong đó tên thực thể - Cái này tên loại, và không phải một số trường hợp cụ thể.

Các thực thể được chia thành mạnhyếu đuối. Một thực thể yếu nếu sự tồn tại của nó phụ thuộc vào một thực thể khác mạnh hơn trong mối quan hệ với nó. Ví dụ: thực thể cấp dưới yếu trước ĐẾN Thực thể “Nhân viên”: nếu một bản ghi tương ứng với một nhân viên nào đó có cấp dưới bị xóa thì thông tin về cấp dưới cũng phải bị xóa.

Của cải. Bản chất của tài sản, cách thức bản chất của kết nối các thuộc tính với một thực thể (đối tượng) có thể khác nhau. Chúng ta hãy xem xét các loại tài sản chính.

Tài sản có thể được nhiều hoặc đơn - nghĩa là, một thuộc tính xác định một thuộc tính có thể đồng thời có nhiều giá trị hoặc theo đó, chỉ một giá trị. Ví dụ: một nhân viên có thể có một số chuyên môn nhưng giá trị duy nhất là “Mã số nhân sự”.

Tài sản có thể được đơn giản(không bị phân chia thêm theo quan điểm của các nhiệm vụ được áp dụng) hoặc hợp chất - nếu giá trị của nó được tạo thành từ các giá trị của các thuộc tính đơn giản. Ví dụ: thuộc tính "Năm sinh" rất đơn giản và thuộc tính "Địa chỉ" phức tạp vì nó bao gồm các giá trị của các thuộc tính đơn giản "Thành phố", "Đường phố", "Nhà".

Trong một số trường hợp, sẽ rất hữu ích khi phân biệt nền tảngcác dẫn xuất của cải. Ví dụ: "Nhà cung cấp" có thể có thuộc tính "Tổng số bộ phận được cung cấp", được tính bằng cách tính tổng số bộ phận mà họ cung cấp cho một dự án.

Nếu sự hiện diện của một thuộc tính nào đó cho tất cả các phiên bản của một thực thể là không bắt buộc thì thuộc tính đó được gọi là có điều kiện. Ví dụ: không phải tất cả nhân viên đều có thuộc tính “bằng cấp học thuật”.

Giá trị thuộc tính có thể không đổi - tĩnh hoặc năng động, tức là thay đổi theo thời gian. Ví dụ: thuộc tính Mã số nhân sự là tĩnh, trong khi thuộc tính Địa chỉ là động. Tài sản có thể được không chắc chắn, nếu nó là động, nhưng giá trị hiện tại của nó vẫn chưa được đặt.

Tài sản có thể được coi là chìa khóa, nếu ý nghĩa của nó là duy nhất và, có lẽ trong một ngữ cảnh cụ thể, xác định duy nhất thực thể đó. Ví dụ, cấp dưới của một nhân viên nào đó.

Kết nối Ngoài các kết nối giữa một đối tượng và các thuộc tính của nó, mô hình thông tin còn phản ánh các kết nối giữa các đối tượng thuộc các lớp khác nhau. TRONG sự liên quanđược định nghĩa là “một hiệp hội hợp nhất một số thực thể.” Sự kết hợp này luôn có thể tồn tại giữa các thực thể khác nhau hoặc giữa một thực thể và chính nó (kết hợp đệ quy).

Giống như bản chất, sự kết nối là đặc trưng khái niệm, tức là tất cả các trường hợp của các thực thể liên kết đều phải tuân theo các quy tắc liên kết loại. Sự khác biệt cơ bản trong các kiểu kết nối giữa các kiểu và các thể hiện được minh họa bằng sơ đồ ER cho các kiểu và thể hiện được trình bày trong Hình. 5.5.

Các thực thể được thống nhất bởi một mối quan hệ được gọi là những người tham gia. Mức độ kết nốiđược xác định bởi số lượng người tham gia giao tiếp.

Nếu mọi thể hiện của một thực thể tham gia vào ít nhất một thể hiện của một mối quan hệ thì sự tham gia đó của thực thể đó được gọi là hoàn thành(hoặc bắt buộc); nếu không thì - chưa hoàn thiện(hoặc không bắt buộc).

Bản chất định lượng của sự tham gia của các trường hợp thực thể (một hoặc nhiều) được chỉ định kiểu kết nối(hoặc sức mạnh truyền thông), Có thể có các loại sau: "một đối một"(1:1), "một đến nhiều"(1M), "nhiều thành một"(M:1), "nhiều nhiều"(MM).

Cần lưu ý rằng công cụ liên kết là một phương tiện thể hiện các đối tượng phức tạp, mỗi trong số đó có thể được coi là một tập hợp các phần được kết nối với nhau những đồ vật đơn giản. Việc phân chia thành các đối tượng đơn giản và phức tạp, cũng như bản chất của mối quan hệ, là có điều kiện và được xác định bởi đặc thù của việc phân tích lĩnh vực chủ đề, tức là cuối cùng, bởi bản chất của việc sử dụng các đối tượng này trong các vấn đề ứng dụng đang được giải quyết. Hơn nữa, từ quan điểm của một nhà thiết kế, chẳng hạn, PHẦN là một đối tượng phức tạp, nhưng theo quan điểm của một nhà cung cấp, nó là một đối tượng đơn giản.

Trong số rất nhiều loại mối quan hệ, phổ biến nhất là các mối quan hệ thứ bậc như “bộ phận - toàn bộ”, “chi - loài”.

Mối quan hệ bộ phận-toàn bộ được sử dụng để thể hiện các vật thể tổng hợp. Ví dụ: MÁY bao gồm ĐƠN VỊ, ĐƠN VỊ bao gồm PHỤ TÙNG. Mối quan hệ có thể ở đây "một đến nhiều" vậy sau đó "nhiều nhiều".

Mối quan hệ “chi – loài” – về mặt đại diện đối tượng tổng quát. Ví dụ NHÂN VIÊN được chia theo ngành nghề thành THIẾT KẾ, LẬP TRÌNH, CÔNG NHÂN; LẬP TRÌNH - thành LẬP TRÌNH ỨNG DỤNG và LẬP TRÌNH HỆ THỐNG. Các mối quan hệ thứ bậc, và đặc biệt là mối quan hệ “chi-loài”, thường được sử dụng làm cơ sở để phân loại các đối tượng theo tập hợp các đặc điểm đặc trưng. Hơn nữa, các đối tượng “loài” thừa kế thuộc tính "chung".

Một loại mối quan hệ được sử dụng rộng rãi khác là tập hợp - kết hợp các đối tượng đơn giản thành các đối tượng phức tạp dựa trên nguyên tắc thành viên của chúng. đơn vị hoặc sự tham gia chung của họ trong một số quá trình. Sự tập hợp, ở đây được coi là một trường hợp tổng quát hơn của các mối quan hệ thứ bậc, kết hợp các đối tượng có tính chất khác nhau với thuộc tính chung duy nhất là “sự tham gia chung”. Các đối tượng tổng hợp thường được đặt tên bằng danh từ động từ, ví dụ: "Hợp chất": PHỤ LỤC bao gồm NGƯỜI LAO ĐỘNG; "Cung cấp": CÁC NHÀ CUNG CẤP quân nhu CHI TIẾT.

Siêu kiểu và kiểu phụ. Một thực thể có thể được chia thành hai hoặc nhiều loại loại trừ lẫn nhau tiểu loại, mỗi trong số đó bao gồm các thuộc tính và/hoặc mối quan hệ chung. Các thuộc tính và/hoặc mối quan hệ chung này được xác định rõ ràng một lần ở cấp độ cao hơn. Các kiểu con có thể xác định các thuộc tính và/hoặc mối quan hệ của riêng chúng. Về nguyên tắc, việc phân loại có thể tiếp tục ở các cấp độ thấp hơn, nhưng trong hầu hết các trường hợp, hai hoặc ba cấp độ là đủ.

Thực thể trên cơ sở xác định các kiểu con được gọi là siêu kiểu. Các kiểu con phải tạo thành một tập hợp hoàn chỉnh, nghĩa là bất kỳ phiên bản nào của siêu kiểu phải thuộc về một kiểu con nào đó. Đôi khi, để hoàn thiện bộ này, cần phải xác định một kiểu con bổ sung, ví dụ: OTHERS.

Kiểu con kế thừa các thuộc tính và mối quan hệ của siêu kiểu. Ví dụ: loại thực thể LẬP TRÌNH là một kiểu con của thực thể NGƯỜI LAO ĐỘNG. Lập trình viên có tất cả tài sản của nhân viên và tham gia vào mọi hoạt động giao tiếp, nhưng điều ngược lại thì không đúng.

Một kiểu thực thể, các kiểu con của nó, các kiểu con của các kiểu con này, v.v. hệ thống phân cấp của các loại thực thể, một ví dụ được thể hiện trong hình. 5.6.

Mô hình này được Peter Ping-Shen Chen đề xuất vào năm 1976. Hầu hết các phương pháp hiện đại để thiết kế cơ sở dữ liệu (chủ yếu là quan hệ) đều dựa trên việc sử dụng các biến thể của mô hình ER. Mô hình hóa miền dựa trên việc sử dụng các sơ đồ đồ họa bao gồm một số lượng nhỏ các thành phần không đồng nhất. Do sự rõ ràng trong cách trình bày sơ đồ cơ sở dữ liệu khái niệm, các mô hình ER đã trở nên phổ biến trong các hệ thống CASE hỗ trợ thiết kế tự động các cơ sở dữ liệu quan hệ.

Các khái niệm cơ bản của mô hình ER là thực thể, mối quan hệ và thuộc tính.

Nước hoa– là một đối tượng có thật hoặc tưởng tượng, thông tin về đối tượng đó được quan tâm. Trong sơ đồ mô hình ER, một thực thể được biểu diễn dưới dạng hình chữ nhật chứa tên của thực thể đó. Trong trường hợp này, tên của thực thể là tên của loại chứ không phải là một đối tượng cụ thể - một thể hiện của loại này. Mỗi phiên bản của một thực thể phải được phân biệt với mọi phiên bản khác của cùng một thực thể.

Sự liên quan là một liên kết được mô tả bằng đồ họa được thiết lập giữa hai thực thể. Sự liên kết này luôn ở dạng nhị phân và có thể tồn tại giữa hai thực thể khác nhau hoặc giữa một thực thể và chính nó (mối quan hệ đệ quy). Trong bất kỳ kết nối nào, hai đầu được xác định (theo cặp thực thể được kết nối), mỗi đầu cho biết tên của điểm cuối của kết nối, mức độ kết thúc của kết nối (có bao nhiêu trường hợp của thực thể này được kết nối) , tính chất bắt buộc của kết nối (tức là liệu có bất kỳ phiên bản nào của thực thể này phải tham gia vào kết nối này hay không).

Một kết nối được biểu diễn dưới dạng một đường nối hai thực thể hoặc dẫn từ một thực thể đến chính nó. Trong trường hợp này, tại thời điểm kết nối với thực thể “tham gia”, lối vào ba điểm vào hình chữ nhật của thực thể được sử dụng. Nếu thực thể này có thể có nhiều phiên bản thực thể trong mối quan hệ và mục nhập một điểm nếu chỉ một phiên bản thực thể có thể tham gia vào mối quan hệ. Đầu cuối cần thiết của kết nối được mô tả bằng một đường liền nét và đầu tùy chọn có một đường đứt nét.

Giống như một thực thể, một mối quan hệ là một khái niệm chung; tất cả các trường hợp của cả hai cặp thực thể liên quan đều phải tuân theo các quy tắc kết hợp.

Cơm. 12. Ví dụ về mối quan hệ giữa các thực thể

Sơ đồ này có thể hiểu như sau: Mỗi SINH VIÊN chỉ học một NHÓM; Bất kỳ NHÓM nào cũng bao gồm một hoặc nhiều HỌC SINH. Hình dưới đây mô tả thực thể MAN với kết nối đệ quy kết nối nó với chính nó.

Cơm. 13. Ví dụ liên kết đệ quy

Một cách giải thích bằng miệng ngắn gọn về sơ đồ được mô tả như sau:

Mỗi NGƯỜI là con của một và chỉ một NGƯỜI;


Mỗi NGƯỜI có thể là cha của một hoặc nhiều NGƯỜI (“NGƯỜI”).

Thuộc tính thực thể là bất kỳ chi tiết nào dùng để làm rõ, xác định, phân loại, định lượng hoặc thể hiện trạng thái của thực thể. Tên thuộc tính được nhập vào một hình chữ nhật đại diện cho thực thể, dưới tên thực thể và được mô tả bằng chữ nhỏ. Ví dụ:

Cơm. 14. Hình ảnh của một thực thể với các thuộc tính của nó

Mã định danh duy nhất của một thực thể là một thuộc tính, sự kết hợp của các thuộc tính, sự kết hợp của các mối quan hệ hoặc sự kết hợp của các mối quan hệ và thuộc tính giúp phân biệt duy nhất bất kỳ phiên bản nào của thực thể với các phiên bản khác của cùng loại thực thể.

Giống như trong các lược đồ cơ sở dữ liệu quan hệ, các lược đồ ER đưa ra khái niệm về các dạng chuẩn tắc và ý nghĩa của chúng rất khớp với ý nghĩa của các dạng chuẩn tắc quan hệ. Lưu ý rằng công thức của các dạng chuẩn của lược đồ ER làm cho ý nghĩa của việc chuẩn hóa các lược đồ quan hệ trở nên rõ ràng hơn.Chúng ta sẽ chỉ xem xét các định nghĩa rất ngắn gọn và không chính thức của ba dạng chuẩn đầu tiên.

Ở dạng bình thường đầu tiên Lược đồ ER loại bỏ các thuộc tính hoặc nhóm thuộc tính trùng lặp, tức là các thực thể ngầm được “ngụy trang” khi các thuộc tính được xác định.

Ở dạng bình thường thứ hai các thuộc tính chỉ phụ thuộc vào một phần của mã định danh duy nhất sẽ bị loại bỏ. Phần định danh duy nhất này xác định một thực thể riêng lẻ.

Ở dạng bình thường thứ ba các thuộc tính phụ thuộc vào các thuộc tính không phải là một phần của mã định danh duy nhất sẽ bị loại bỏ. Những thuộc tính này là cơ sở của một thực thể duy nhất.

Chúng tôi chỉ tập trung vào các khái niệm quan trọng nhất của mô hình dữ liệu ER. Các phần tử phức tạp hơn của mô hình bao gồm:

Các kiểu con và siêu kiểu các thực thể. Mô hình ER cho phép bạn chỉ định mối quan hệ IS-A giữa các loại. Hơn nữa, nếu T, IS-A T 2 (trong đó T 1 và T 2 là các kiểu thực thể) thì T được gọi là kiểu con của T 2 và T 2 là siêu kiểu của T. Do đó, có khả năng kế thừa một kiểu thực thể loại thực thể dựa trên một hoặc nhiều siêu kiểu.

Mối quan hệ nhiều-nhiều.Đôi khi cần phải liên kết các thực thể theo cách có thể có nhiều thực thể ở cả hai đầu của liên kết (ví dụ: tất cả các thành viên của hợp tác xã cùng sở hữu tài sản của hợp tác xã). Để làm được điều này, một kiểu quan hệ “nhiều-nhiều” được giới thiệu.

Mức độ kết nối có thể chỉ định.Đôi khi, sẽ rất hữu ích khi xác định số lượng thực thể có thể tham gia vào một mối quan hệ nhất định (ví dụ: một nhân viên được phép tham gia không quá ba dự án cùng một lúc). Để thể hiện ràng buộc ngữ nghĩa này, nó được phép chỉ ra ở cuối kết nối mức độ tối đa hoặc bắt buộc của nó.

Xóa tầng các phiên bản thực thể. Một số mối quan hệ rất mạnh (tất nhiên là trong trường hợp mối quan hệ một-nhiều) đến mức khi bạn xóa cá thể thực thể tham chiếu (tương ứng với một đầu của mối quan hệ), bạn cũng phải xóa tất cả các cá thể thực thể tương ứng với nhiều kết thúc của mối quan hệ. Yêu cầu tương ứng về "xóa xếp tầng" có thể được đưa ra khi xác định một thực thể.

Tên miền. Giống như mô hình dữ liệu quan hệ, sẽ rất hữu ích khi có thể xác định một tập giá trị có khả năng hợp lệ cho một thuộc tính thực thể (miền).

Những yếu tố này và các yếu tố phức tạp hơn khác của mô hình dữ liệu Mối quan hệ thực thể làm cho nó mạnh mẽ hơn, nhưng đồng thời khiến nó khó sử dụng hơn một chút. Tất nhiên, khi thực sự sử dụng sơ đồ ER để thiết kế cơ sở dữ liệu, bạn cần làm quen với tất cả các khả năng.

Trước khi bắt đầu tạo một hệ thống xử lý thông tin tự động, nhà phát triển phải hình thành các khái niệm về các đối tượng, sự kiện và sự kiện mà hệ thống này sẽ vận hành. Để đưa các khái niệm này vào mô hình dữ liệu này hoặc mô hình dữ liệu khác, cần phải thay thế chúng bằng các biểu diễn thông tin. Một trong những công cụ thuận tiện nhất để biểu diễn dữ liệu thống nhất, độc lập với phần mềm triển khai nó, là mô hình mối quan hệ thực thể (mô hình ER).

Mô hình mối quan hệ thực thể dựa trên một số thông tin ngữ nghĩa quan trọng về thế giới thực và nhằm mục đích biểu diễn dữ liệu một cách logic. Nó xác định ý nghĩa của dữ liệu trong bối cảnh mối quan hệ của chúng với dữ liệu khác. Điều quan trọng đối với chúng tôi là thực tế là tất cả các mô hình dữ liệu hiện có (phân cấp, mạng, quan hệ, đối tượng) có thể được tạo từ mô hình “mối quan hệ thực thể-mối quan hệ”, vì vậy đây là mô hình chung nhất.

Mô hình “mối quan hệ thực thể” được đề xuất vào năm 1976 bởi Peter Ping-Sheng Chen; bản dịch tiếng Nga của bài báo “Mô hình “mối quan hệ thực thể” - một bước tiến tới biểu diễn dữ liệu thống nhất” đã được đăng trên tạp chí “DBMS” Không ngày 3 tháng 3 năm 1995.

Chế độ xem dữ liệu đa cấp

Khi nghiên cứu một mô hình dữ liệu, bạn nên xác định các mức độ biểu diễn logic của dữ liệu mà mô hình này liên quan. Bằng cách mở rộng tập hợp các điều khoản, chúng ta có thể xác định bốn cấp độ trình bày dữ liệu:

Thông tin liên quan đến các thực thể và kết nối tồn tại trong trí tưởng tượng của chúng ta; - cấu trúc thông tin - tổ chức thông tin trong đó các thực thể và mối quan hệ được thể hiện bằng dữ liệu. - cấu trúc dữ liệu độc lập với đường dẫn truy cập - cấu trúc dữ liệu không liên quan đến các lược đồ tìm kiếm, lập chỉ mục, v.v. - cấu trúc dữ liệu phụ thuộc vào đường dẫn truy cập.

Hình 1. Phân tích mô hình dữ liệu bằng nhiều lớp khung nhìn logic

Thông tin về các thực thể và mối quan hệ

Ở cấp độ này, chúng tôi xem xét các thực thể và mối quan hệ. Thực thể là một đối tượng có thể được xác định theo cách nào đó để phân biệt nó với các đối tượng khác. Ví dụ về một thực thể là một cá nhân, công ty hoặc sự kiện cụ thể. Mối quan hệ là sự kết hợp được thiết lập giữa các thực thể. Ví dụ: cha-con là sự kết nối giữa hai thực thể con người.1)

Cơ sở dữ liệu doanh nghiệp chứa thông tin về các thực thể và mối quan hệ mà doanh nghiệp đó quan tâm. Không thể nhập mô tả đầy đủ về một thực thể hoặc mối quan hệ vào cơ sở dữ liệu doanh nghiệp. Không thể (và có lẽ không cần thiết) lưu trữ tất cả thông tin có sẵn về các thực thể và mối quan hệ. Tiếp theo, chúng ta sẽ chỉ xem xét những thực thể và mối quan hệ (và thông tin về chúng) cần được đưa vào dự án cơ sở dữ liệu.

Thực thể và nhiều thực thể

Hãy để e biểu thị một thực thể nào đó tồn tại trong trí tưởng tượng của chúng ta. Mỗi thực thể thuộc về một số tập thực thể riêng biệt, chẳng hạn như NHÂN VIÊN, DỰ ÁN hoặc BỘ PHẬN. Mỗi tập hợp thực thể được liên kết với một vị từ cho phép bạn kiểm tra xem một thực thể nhất định có thuộc tập hợp này hay không. Ví dụ, nếu chúng ta biết rằng một thực thể thuộc về tập thực thể EMPLOYEE thì chúng ta cũng biết rằng thực thể này có các thuộc tính chung với các thực thể khác trong tập thực thể EMPLOYEE. Những thuộc tính này bao gồm vị ngữ được đề cập ở trên. Gọi Ei là tập hợp các thực thể. Lưu ý rằng các tập hợp thực thể không nhất thiết phải rời rạc. Ví dụ: một thực thể thuộc về tập thực thể MALE-PERSON cũng thuộc về tập thực thể PERSON. Trong trường hợp này, MALE-PERSON là tập con của PERSON.

Kết nối, vai trò và nhiều kết nối.

Hãy xem xét các hiệp hội thực thể. Tập quan hệ Ri là mối quan hệ toán học giữa n thực thể, mỗi thực thể thuộc về một tập thực thể nhất định:

( | e1 ∈ E1, e2 ∈ E2, ..., en ∈ En), và mỗi bộ thực thể, , là một mối quan hệ. Lưu ý rằng trong định nghĩa này, Ei không nhất thiết phải là các tập hợp riêng biệt. Ví dụ: hôn nhân là mối quan hệ giữa hai thực thể từ tập thực thể PERSON.

Vai trò của một thực thể trong một mối quan hệ là chức năng mà thực thể đó thực hiện trong một mối quan hệ nhất định. Chồng (chồng) và vợ (vợ) đều là vai trò. Thứ tự của các thực thể trong định nghĩa mối quan hệ (lưu ý rằng dấu ngoặc vuông đã được sử dụng) có thể thiếu nếu vai trò của các thực thể được chỉ định rõ ràng trong mối quan hệ: (r1/e1, r2/e2 ,..., rn/en ), trong đó ri là vai trò của thực thể ei trong kết nối này.

Thuộc tính, giá trị và tập giá trị.

Thông tin về một thực thể hoặc mối quan hệ có được thông qua quan sát hoặc đo lường và được thể hiện dưới dạng tập hợp các cặp thuộc tính-giá trị. 3, màu đỏ, Peter và Johnson là các giá trị. Các giá trị được phân loại thành nhiều bộ giá trị khác nhau, chẳng hạn như FEET, COLOR, FIRST-NAME và LAST-NAME. Mỗi bộ giá trị có một vị từ liên kết với nó để kiểm tra xem giá trị có thuộc về bộ đó hay không. Một giá trị từ một bộ giá trị nào đó có thể tương đương với một giá trị khác từ một bộ giá trị khác. Ví dụ: 12 trong bộ giá trị INCH tương đương với 1 trong bộ giá trị FEET.

Một thuộc tính có thể được định nghĩa chính thức là một hàm ánh xạ một tập hợp các thực thể hoặc một tập hợp các mối quan hệ thành một tập hợp các giá trị hoặc tích Descartes của các tập hợp giá trị:

f: Ei hoặc Ri → Vi hoặc Vi1 × Vi2 × ... × Vin Trong hình. Hình 2 cho thấy một số thuộc tính được xác định trên tập thực thể PERSON. Thuộc tính AGE ánh xạ tới tập giá trị NO-OF-YEARS. Thuộc tính có thể chỉ định ánh xạ các tập hợp giá trị thành tích Descartes. Ví dụ: thuộc tính NAME chỉ định hiển thị các giá trị FIRST-NAME và LAST-NAME trong tập hợp. Lưu ý rằng nhiều thuộc tính có thể ánh xạ cùng một bộ thực thể tới cùng một bộ giá trị (hoặc cùng một nhóm bộ giá trị). Ví dụ: các thuộc tính NAME và ALTERNATIVE-NAME chỉ định ánh xạ từ thực thể EMPLOYEE được đặt thành các bộ giá trị FIRST-NAME và LAST-NAME. Do đó, một thuộc tính và một tập giá trị là các khái niệm khác nhau, mặc dù trong một số trường hợp chúng có thể có cùng tên (ví dụ: thuộc tính EMPLOYEE-NO chỉ định ánh xạ từ EMPLOYEE sang tập giá trị EMPLOYEE-NO - EMPLOYEE)). Sự khác biệt này không rõ ràng trong mô hình mạng và trong nhiều hệ thống quản lý dữ liệu hiện có. Cũng lưu ý rằng thuộc tính được định nghĩa là một hàm. Do đó, nó ánh xạ một thực thể nhất định tới một giá trị duy nhất (hoặc một bộ giá trị trong trường hợp tích Descartes của các bộ giá trị).

Cơm. 2. Các thuộc tính được xác định trên tập thực thể PERSON

Lưu ý rằng các kết nối cũng có thuộc tính. Hãy xem xét tập hợp các kết nối DỰ ÁN-WORKER (Hình 3). Thuộc tính PERCENTAGE-OF-TIME, biểu thị tỷ lệ thời gian được phân bổ cho một nhân viên cụ thể trong một dự án cụ thể, là một thuộc tính được xác định trên tập hợp mối quan hệ DỰ ÁN-WORKER. Nó không phải là thuộc tính của thực thể NHÂN VIÊN cũng không phải là thuộc tính của thực thể DỰ ÁN, vì ý nghĩa của nó phụ thuộc vào cả nhân viên và dự án. Khái niệm thuộc tính mối quan hệ rất quan trọng để hiểu ngữ nghĩa của dữ liệu và xác định các phụ thuộc chức năng giữa dữ liệu.

Cơm. 3. Thuộc tính xác định trên tập kết nối DỰ ÁN-WORKER

Cấu trúc khái niệm của thông tin.

Bây giờ chúng ta sẽ thảo luận về cách tổ chức thông tin về các thực thể và mối quan hệ. Bài báo này đề xuất phương pháp tách thông tin thực thể và thông tin mối quan hệ. Chúng tôi sẽ chỉ ra rằng sự phân tách này rất hữu ích để xác định các phụ thuộc chức năng giữa dữ liệu.

Trong bộ lễ phục. 4 hiển thị thông tin về các thực thể trong tập thực thể ở dạng bảng. Mỗi hàng giá trị đề cập đến cùng một thực thể và mỗi cột đề cập đến một tập hợp các giá trị, từ đó đề cập đến một thuộc tính. Thứ tự hàng và cột không đáng kể.

Cơm. 4. Thông tin về các thực thể từ một tập hợp các thực thể (dạng bảng)

Cơm. 5. Thông tin về các kết nối từ một tập hợp các kết nối (dạng bảng)

Trong bộ lễ phục. 5 hiển thị thông tin về các kết nối trong tập hợp các kết nối. Lưu ý rằng mỗi hàng giá trị đề cập đến một mối quan hệ được chỉ định bởi một nhóm thực thể, mỗi nhóm có một vai trò cụ thể và thuộc về một tập thực thể cụ thể.

Lưu ý rằng trong hình. Hình 4 và 2 (và cả Hình 5 và 3) trình bày các dạng khác nhau của cùng một thông tin. Biểu mẫu bảng được sử dụng để tạo điều kiện liên kết với mô hình quan hệ.

Cấu trúc thông tin

Các thực thể, mối quan hệ và ý nghĩa ở Cấp độ 1 (xem Hình 2-5) là những đối tượng khái niệm tồn tại trong trí tưởng tượng của chúng ta (tức là chúng ta đang ở trong lĩnh vực khái niệm). Ở cấp độ 2, chúng ta xem xét sự biểu diễn của các đối tượng khái niệm. Chúng ta giả định rằng có những biểu hiện trực tiếp về ý nghĩa. Tiếp theo chúng ta mô tả cách biểu diễn các thực thể và mối quan hệ.

Khóa chính.

Trong bộ lễ phục. 2 giá trị thuộc tính EMPLOYEE-NO có thể được sử dụng để xác định các thực thể trong bộ thực thể EMPLOYEE nếu mỗi nhân viên có một mã số nhân viên duy nhất. Bạn có thể cần nhiều thuộc tính để xác định các thực thể trong một tập thực thể. Cũng có thể nhiều nhóm thuộc tính sẽ được sử dụng để xác định các thực thể. Về cơ bản, khóa thực thể là một nhóm thuộc tính sao cho ánh xạ từ một tập thực thể đến một nhóm tập giá trị tương ứng là ánh xạ một-một. Nếu không thể tìm thấy ánh xạ như vậy trong dữ liệu có sẵn hoặc nếu muốn dễ dàng nhận dạng đối tượng thì một tập hợp thuộc tính và giá trị có thể được xác định một cách giả tạo để đạt được ánh xạ một-một. Khi có nhiều khóa tồn tại, khóa có ý nghĩa về mặt ngữ nghĩa thường được chọn làm khóa chính của thực thể (PK).

Cơm. 6. Biểu diễn các thực thể theo giá trị (mã số nhân viên)

Cơm. 6 có được bằng cách hợp nhất tập hợp các thực thể NHÂN VIÊN với tập hợp các giá trị NHÂN VIÊN-NO từ Hình. 2. Chúng ta hãy chú ý đến một số hệ quả ngữ nghĩa của Hình. 6. Mỗi giá trị trong bộ giá trị NHÂN VIÊN-NO đại diện cho một thực thể (nhân viên). Các thuộc tính chỉ định ánh xạ từ giá trị NHÂN VIÊN-NO được đặt thành các bộ giá trị khác. Cũng lưu ý rằng thuộc tính EMPLOYEE-NO chỉ định việc ánh xạ một tập hợp các giá trị EMPLOYEE-NO vào chính nó.

Mối quan hệ thực thể/mối quan hệ.

Thông tin về các thực thể trong tập thực thể bây giờ có thể được tổ chức theo dạng như trong Hình. 7. Lưu ý rằng hình. 7 tương tự như hình. 4, ngoại trừ các thực thể được biểu thị bằng giá trị của khóa chính của chúng. Toàn bộ bảng có trong Hình. 7 đại diện cho một quan hệ thực thể và mỗi hàng đại diện cho một bộ thực thể.

Trong một số trường hợp, các thực thể trong một tập thực thể không thể được xác định duy nhất bằng các giá trị thuộc tính của chính chúng; do đó, chúng ta phải sử dụng (các) mối quan hệ để xác định chúng. Ví dụ: hãy xem xét các thực thể phụ thuộc và hỗ trợ: cấp dưới được xác định bằng tên của họ và các giá trị khóa chính của cấp trên (tức là bằng mối quan hệ của họ với những nhân viên đó). Lưu ý rằng trong hình. 9 EMPLOYEE-NO không phải là thuộc tính của các thực thể trong tập DEPENDENT mà đại diện cho khóa chính của các nhân viên có cấp dưới. Mỗi dòng giá trị trong hình. 9 là một bộ các thực thể có EMPLOYEE-NO và NAME làm khóa chính. Toàn bộ bảng là một mối quan hệ thực thể.

Về lý thuyết, bất kỳ loại mối quan hệ nào cũng có thể được sử dụng để xác định các thực thể. Để đơn giản, chúng ta sẽ giới hạn chỉ một loại mối quan hệ: mối quan hệ nhị phân với ánh xạ 1:n, trong đó sự tồn tại của n thực thể ở một phía của mối quan hệ phụ thuộc vào sự tồn tại của một thực thể ở phía bên kia của mối quan hệ. . Ví dụ: một nhân viên có thể có n (n = 0, 1, 2,...) cấp dưới và sự tồn tại của cấp dưới phụ thuộc vào sự tồn tại của nhân viên cấp trên tương ứng.

Phương pháp xác định các thực thể theo mối quan hệ với các thực thể khác này có thể được áp dụng đệ quy cho đến khi gặp các thực thể có thể được xác định bằng các giá trị thuộc tính của chính chúng. Ví dụ: khóa chính của phòng ban của công ty có thể bao gồm mã số phòng ban và khóa chính của phòng ban đó, lần lượt bao gồm mã số phòng ban và tên công ty.

Do đó, chúng ta có hai dạng quan hệ thực thể. Nếu các mối quan hệ được sử dụng để xác định các thực thể, chúng ta sẽ gọi đây là mối quan hệ thực thể yếu (Hình 9). Nếu các mối quan hệ không được sử dụng để xác định các thực thể, chúng ta sẽ gọi nó là mối quan hệ thực thể thông thường (Hình 8). Nếu một số thực thể trong một mối quan hệ được xác định bởi các mối quan hệ khác, chúng ta sẽ gọi đây là mối quan hệ yếu. Ví dụ: mọi mối quan hệ giữa các thực thể PHỤ THUỘC và các thực thể khác sẽ dẫn đến mối quan hệ liên kết yếu vì thực thể PHỤ THUỘC được xác định bằng tên và mối quan hệ của nó với thực thể NHÂN VIÊN. Việc phân biệt giữa các mối quan hệ và mối quan hệ thực thể thông thường và yếu sẽ hữu ích trong việc duy trì tính toàn vẹn dữ liệu.