Hỏi đáp công nghệ

Sơ đồ ERD là gì? Tìm Hiểu Các Thành Phần Chính Trong ERD

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Table of Contents

Sơ đồ ERD là gì? Trong bài viết này, hãy cùng Hỏi đáp công nghệ tìm hiểu thông tin cơ bản về Sơ đồ ER và Mô hình ER, cùng với nguồn gốc, cách sử dụng, một số ví dụ, các thành phần, giới hạn và hướng dẫn về cách vẽ loại sơ đồ này nhé!

Sơ đồ ERD là gì?

Sơ đồ mối quan hệ thực thể (Entity Relationship Diagram), là một loại sơ đồ minh họa cách các “thực thể” như người, đối tượng hoặc khái niệm liên quan đến nhau trong một cùng hệ thống. Sơ đồ ER thường được sử dụng nhiều nhất để thiết kế hoặc sửa lỗi cơ sở dữ liệu quan hệ trong các lĩnh vực kỹ thuật phần mềm, hệ thống thông tin kinh doanh, giáo dục và nghiên cứu. Sơ đồ mối quan hệ thực thể, còn được gọi là ERD hoặc Mô hình ER, sử dụng một tập hợp các ký hiệu đã được định nghĩa bao gồm hình chữ nhật, hình thoi, hình bầu dục và các đường kết nối để mô tả tính liên kết của các thực thể, mối quan hệ và các thuộc tính của chúng. Chúng phản ánh cấu trúc ngữ pháp, với các thực thể là danh từ và các mối quan hệ là động từ.

erd là gì
ERD là gì?

ERD liên quan đến sơ đồ cấu trúc dữ liệu (DSD), nó tập trung vào mối quan hệ của các phần tử bên trong thực thể thay vì mối quan hệ giữa bản thân các thực thể. Sơ đồ ERD cũng thường được sử dụng cùng với sơ đồ luồng dữ liệu (DFD), giúp vạch ra luồng thông tin cho các quy trình hoặc hệ thống.

Sơ đồ ERD là gì?
Sơ đồ ERD là gì?

Lịch sử của các mô hình ER

Peter Chen (hay còn gọi là Peter Pin-Shan Chen), hiện là giảng viên của Đại học Carnegie-Mellon ở Pittsburgh, được ghi nhận là người đã phát triển mô hình ER cho thiết kế cơ sở dữ liệu (database) vào những năm 1970. Khi đang là trợ lý giáo sư tại Trường Quản lý Sloan của MIT, ông đã xuất bản một bài báo lớn vào năm 1976 với tiêu đề Mô hình mối quan hệ – thực thể: Hướng tới một quan điểm thống nhất về dữ liệu (Nguyên văn: The Entity-Relationship Model: Toward a Unified View of Data).

Theo nghĩa rộng hơn, việc miêu tả sự liên kết với nhau của mọi thứ có từ thời Hy Lạp cổ đại, với các tác phẩm của Aristotle, Socrates và Plato. Nó được xuất hiện gần đây hơn trong các tác phẩm của thế kỷ 19 và 20 của các nhà triết học-logic như Charles Sanders Peirce và Gottlob Frege.

Vào những năm 1960 và 1970, Charles Bachman (ở trên) và APG Brown đã làm việc với những người tiền nhiệm thân thiết với phương pháp của Chen. Bachman đã phát triển một loại Sơ đồ cấu trúc dữ liệu, được đặt theo tên ông là Sơ đồ Bachman. Brown đã xuất bản các công trình về mô hình hệ thống thực tiễn (real-world systems modeling). James Martin đã bổ sung các sàng lọc ERD. Công việc của Chen, Bachman, Brown, Martin và những người khác cũng đóng góp vào sự phát triển của Ngôn ngữ mô hình thống nhất (UML), được sử dụng rộng rãi trong thiết kế phần mềm.

Sơ đồ ERD dùng để làm gì?

  • Thiết kế cơ sở dữ liệu: Sơ đồ ER được sử dụng để mô hình hóa và thiết kế cơ sở dữ liệu quan hệ, về mặt logic và các quy tắc nghiệp vụ (trong mô hình dữ liệu logic) và về công nghệ cụ thể sẽ được thực hiện (trong mô hình dữ liệu vật lý.) Trong kỹ thuật phần mềm, một sơ đồ ER thường là bước đầu tiên trong việc xác định các yêu cầu đối với một dự án hệ thống thông tin. Sau này nó cũng được sử dụng để thiết lập mô hình cho một hoặc nhiều cơ sở dữ liệu cụ thể. Cơ sở dữ liệu quan hệ có một bảng quan hệ tương đương và có thể được biểu diễn theo cách đó.
  • Khắc phục sự cố cơ sở dữ liệu: Biểu đồ ER được sử dụng để phân tích cơ sở dữ liệu giúp tìm và giải quyết các vấn đề về logic hoặc triển khai. Bằng cách vẽ sơ đồ, bạn có thể thấy mình đang sai ở đâu.
  • Hệ thống thông tin kinh doanh: Các sơ đồ được sử dụng để thiết kế hoặc phân tích cơ sở dữ liệu quan hệ được sử dụng trong các quy trình kinh doanh. Bất kỳ quy trình kinh doanh nào sử dụng dữ liệu thực địa liên quan đến các thực thể, hành động và tác động lẫn nhau đều có thể được hưởng lợi từ cơ sở dữ liệu quan hệ. Nó giúp hợp lý hóa các quy trình, khám phá thông tin dễ dàng hơn và cải thiện kết quả.
  • Tái thiết kế quy trình nghiệp vụ (BPR): Sơ đồ ERD giúp phân tích cơ sở dữ liệu được sử dụng trong quá trình tái thiết kế quy trình nghiệp vụ và trong việc lập mô hình thiết lập cơ sở dữ liệu mới.
  • Giáo dục: Database là phương pháp lưu trữ thông tin cho mục đích giáo dục và truy xuất sau này, vì vậy Sơ đồ ERD có thể hữu ích trong việc lập kế hoạch các cấu trúc dữ liệu đó.
  • Nghiên cứu: Vì quá nhiều nghiên cứu tập trung vào dữ liệu có cấu trúc, nên mô hình ER đóng một vai trò quan trọng trong việc thiết lập cơ sở dữ liệu hữu ích để phân tích dữ liệu.

Xem thêm >> Nghề Developer là gì? Công việc của lập trình viên gồm những gì?

Các thành phần của mô hình ER

Các thành phần và tính năng của sơ đồ ERD
Các thành phần và tính năng của sơ đồ ERD

Sơ đồ ERD bao gồm các thực thể, mối quan hệ và thuộc tính. Chúng cũng mô tả cardinality, xác định các mối quan hệ về mặt số lượng. Đây là bảng thuật ngữ:

Entity – Thực thể

Thực thể là một thứ có thể định nghĩa được — chẳng hạn như một người, đối tượng, khái niệm hoặc sự kiện — có thể được lưu trữ dữ liệu về nó. Hãy coi các thực thể như là các danh từ. Ví dụ: một khách hàng, sinh viên, ô tô hoặc sản phẩm. Trong mô hình ER, thực thể thường được hiển thị dưới dạng hình chữ nhật.

Thực thể trong mô hình ER

Loại thực thể: Một nhóm những thứ có thể xác định được, chẳng hạn như sinh viên hoặc vận động viên, trong khi đối tượng sẽ là học sinh hoặc vận động viên cụ thể. Các ví dụ khác: khách hàng, ô tô hoặc sản phẩm.

Tập thực thể: Giống như một loại thực thể, nhưng được xác định tại một thời điểm cụ thể, chẳng hạn như sinh viên đăng ký vào một lớp học vào ngày đầu tiên. Ví dụ khác: Khách hàng mua xe tháng trước, xe hiện đăng ký tại Hà Nội. Một thuật ngữ liên quan là một biến, trong đó người hoặc xe cụ thể sẽ là một biến của tập thực thể.

Các loại entity: Một thực thể sẽ thuộc một trong 3 kiểu sau: mạnh, yếu hoặc liên kết.  Kiểu thực thể mạnh (strong entity): các thực thể thuộc kiểu này có thể tồn tại một cách độc lập. Kiểu thực thể yếu (weak entity): các thực thể thuộc kiểu này sẽ không thể tồn tại một cách độc lập mà phải dựa vào các thực thể khác. Một thực thể liên kết sẽ liên kết các thực thể (hoặc các phần tử) trong một tập thực thể.

Entity - Thực thể
Entity – Thực thể trong mô hình ERD

Key entities: Đề cập đến một thuộc tính xác định duy nhất một thực thể trong một tập thực thể. Key entities có thể là một super kry, candidate key hoặc primary key. Super key: Một tập hợp các thuộc tính (một hoặc nhiều) cùng xác định một thực thể trong một tập thực thể. Candidate key: là một super key tối thiểu, nghĩa là nó có số thuộc tính ít nhất có thể để vẫn là một siêu khóa. Một tập thực thể có thể có nhiều hơn một candidate key. Primary key: là candidate key được người thiết kế cơ sở dữ liệu chọn để xác định duy nhất tập thực thể. Foreign key: Xác định mối quan hệ giữa các thực thể.

Relationship – Mối quan hệ

Relationship là cách các thực thể tác động lên nhau hoặc được liên kết với nhau. Hãy coi các relationship như các động từ. Ví dụ, sinh viên được nêu tên có thể đăng ký một khóa học. Hai thực thể sẽ là sinh viên và khóa học, và mối quan hệ được mô tả là hành động đăng ký, kết nối hai thực thể theo cách đó. Các relationship thường được thể hiện dưới dạng hình kim cương hoặc được đính trực tiếp trên các đường kết nối.

Mối quan hệ đệ quy: là chỉ cùng một thực thể tham gia nhiều hơn một lần vào relationship.

Relationship - Mối quan hệ
Relationship – Mối quan hệ

Attribute – Thuộc tính

Attribute là thuộc tính hoặc đặc điểm của một thực thể. Giống như một chiếc xe thì sẽ có tên xe, màu sắc, ngày sản xuất, hãng, biển số,… Thường thì thuộc tính trong mô hình ER được hiển thị dưới dạng hình bầu dục hoặc hình tròn.

Thuộc tính mô tả: là thuộc tính hoặc đặc điểm của mối quan hệ (so với thực thể.)

Các loại thuộc tính: Các thuộc tính được phân loại là bao gồm thuộc tính đơn, thuộc tính phức hợp, thuộc tính dẫn xuất, cũng như thuộc tính đơn trị và đa trị. Thuộc tính đơn: Có nghĩa là giá trị thuộc tính là nguyên tử và không thể chia nhỏ hơn, chẳng hạn như số điện thoại. Thuộc tính phức hợp – Composite: Các thuộc tính phụ bắt nguồn từ một thuộc tính. Thuộc tính dẫn xuất – Derived: Thuộc tính được tính toán hoặc có nguồn gốc từ một thuộc tính khác, chẳng hạn như tuổi từ ngày sinh.

Attribute - Thuộc tính trong sơ đồ ERD
Attribute – Thuộc tính trong sơ đồ ERD

Thuộc tính Đa trị (multivalued attribute): Biểu thị nhiều giá trị thuộc tính, chẳng hạn như nhiều số điện thoại của một người.

Thuộc tính Đa trị (multivalued attribute) trong mô hình ERD
Thuộc tính Đa trị (multivalued attribute) trong mô hình ERD

Thuộc tính đơn trị (single-value attribute): Là thuộc tính chỉ một giá trị duy nhất ở một thời điểm. Ví dụ: Giưới tính, sinh nhật,…

Cardinality

Cardinality xác định có bao nhiêu trường hợp của một thực thể liên quan đến một trường hợp của một thực thể khác. Ba dạng liên kết chính của Cardinality bao gồm 1-1, 1-n và n-n. Ví dụ về 1-1 sẽ là một học sinh được liên kết với một địa chỉ gửi thư. Ví dụ về 1-n (một-nhiều hoặc nhiều-một, tùy thuộc vào hướng mối quan hệ): Một sinh viên đăng ký nhiều khóa học, nhưng tất cả các khóa học đó đều có một dòng quay lại một sinh viên đó. Ví dụ về n-n (nhiều-nhiều): Sinh viên trong một nhóm được liên kết với nhiều giảng viên và các thành viên của giảng viên lại được liên kết với nhiều sinh viên.

Các thành phần của mô hình ER có thể được coi như các phần của một bài phát biểu, như Peter Chen đã làm. Dưới đây là cách so sánh cho thấy sự tương tự của một Sơ đồ ER so với một sơ đồ ngữ pháp:

    • Danh từ chung: Loại thực thể. Ví dụ: học sinh.
    • Danh từ riêng: Thực thể. Ví dụ: Sally Smith.
    • Động từ: Relationship. Ví dụ: Đăng ký (vào 1 khóa học)
    • Tính từ: Thuộc tính cho thực thể. Ví dụ: sinh viên năm hai.
    • Trạng từ: Thuộc tính cho mối quan hệ. Ví dụ: số hoá.

Hạn chế của sơ đồ và mô hình ER

  • Chỉ dành cho dữ liệu quan hệ: Bạn nên hiểu rằng mục tiêu là để hiển thị các mối quan hệ. Biểu đồ ER chỉ hiển thị cấu trúc quan hệ đó.
  • Không dành cho dữ liệu phi cấu trúc: Nếu dữ liệu không được phân định rõ ràng thành các trường, hàng hoặc cột khác nhau, việc sử dụng sơ đồ ER sẽ có nhiều hạn chế. Điều này cũng đúng với dữ liệu bán cấu trúc, vì chỉ một số ít dữ liệu có thể có ích khi dùng model này.
  • Khó tích hợp với cơ sở dữ liệu hiện có: Sử dụng Mô hình ER để tích hợp với cơ sở dữ liệu hiện có có thể là một thách thức vì sự khác nhau trong kiến ​​trúc.

Cách vẽ sơ đồ ERD cơ bản

  1. Mục đích và phạm vi: Xác định mục đích và phạm vi của những gì bạn định phân tích hoặc mô hình hóa.
  2. Thực thể: Xác định các thực thể có liên quan. Khi bạn đã sẵn sàng, hãy bắt đầu vẽ chúng theo hình chữ nhật (hoặc hình dạng do hệ thống của bạn lựa chọn) và đặt tên chúng dưới dạng danh từ.
  3. Mối quan hệ: Xác định xem tất cả các thực thể có liên quan như thế nào. Vẽ các đường giữa chúng để biểu thị các mối quan hệ và đặt tên cho chúng. Một số thực thể có thể không liên quan nhưng cũng không sao cả. Trong các hệ thống ký hiệu khác nhau, relationship có thể được đặt tên trong một hình thoi, một hình chữ nhật hoặc trực tiếp trên đầu đường liên kết.
  4. Thuộc tính: Phân lớp chi tiết hơn bằng cách thêm các thuộc tính chính của các thực thể. Các thuộc tính thường được hiển thị dưới dạng hình bầu dục.
  5. Cardinality: Hiển thị mối quan hệ là 1-1, 1-nhiều hay nhiều-nhiều.

Các mẹo khác cho sơ đồ ER

  1. Đảm bảo rằng mỗi thực thể chỉ xuất hiện một lần trên mỗi sơ đồ.
  2. Nếu bạn đang khắc phục sự cố cơ sở dữ liệu, hãy để ý các lỗ hổng trong mối quan hệ hoặc các thực thể hay thuộc tính bị thiếu.
  3. Đảm bảo rằng tất cả các thực thể và mối quan hệ của bạn đều được đặt tên.
  4. Đảm bảo rằng sơ đồ ER hỗ trợ tất cả dữ liệu bạn cần lưu trữ.
  5. Có thể có rất nhiều cách và nhiều tool để vẽ một sơ đồ ER. Chỉ cần nó cung cấp đầy đủ thông tin cần thiết cho phạm vi và mục đích của bạn, hãy dùng nó.
  6. Sử dụng màu sắc để làm nổi bật các phần quan trọng trong sơ đồ của bạn.

Trong bài viết trên, Hỏi đáp công nghệ đã đưa đến cho bạn đọc những thông tin quan trọng và cần thiết về ERD là gì và những khái niệm cơ bản về sơ đồ ERD. Hy vọng các bạn sẽ hiểu hơn và vận dụng thật tốt sơ đồ này trong công việc. Nếu quan tâm tới các tin tức về công nghệ, hãy tiếp tục đồng hành cùng ITNavi qua các bài viết tiếp theo bạn nhé!

Các bài viết liên quan

1 thought on “Sơ đồ ERD là gì? Tìm Hiểu Các Thành Phần Chính Trong ERD”

  1. Pingback: DevOps là gì? Lợi ích của DevOps với phát triển phần mềm

Leave a Comment

Email của bạn sẽ không được hiển thị công khai.

Bài viết liên quan