ERD là gì? – Thinhnotes

Bài viết ERD là gì? – Thinhnotes thuộc chủ đề về Huyền Học thời gian này đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng Buyer.Com.Vn tìm hiểu ERD là gì? – Thinhnotes trong bài viết hôm nay nhé ! Các bạn đang xem nội dung : “ERD là gì? – Thinhnotes”

Đánh giá về ERD là gì? – Thinhnotes


Xem nhanh
Cơ sở dữ liệu playlist: https://www.youtube.com/playlist?list=PLn9lhDYvf_3EMQ-TDLGko2ijSDGvWI8HB
Nhóm thảo luận: https://www.facebook.com/groups/115838366528104

ERD – Entity Relationship Diagram, cái tên không ít thì nhiều cũng khá quen với anh em chứ hả 🙂

Bài note hôm nay mình sẽ nói về ERD, một trong số những công cụ không thể thiếu của người làm Business Analyst.

Sẽ là tất tần tật về ERD, một cách “thực tiễn” nhất có thể, bao gồm: ERD là gì, các thành phần của ERD, hay vai trò của ERD đối với BA. Và quan trọng nhất là 15 phút thực hành ERD để hiểu rõ: thực sự ERD giúp ích được gì cho công việc của BA nha 😎

Nội dung

  • 1. ERD là gì?
  • 2. ERD để làm gì?
  • 3. Ai vẽ – ai dùng ERD?
  • 4. Ba thành phần của một ERD
    • 4.1. Entity
    • 4.2. Attribute
    • 4.3. Relationship
  • 5. Thực hư 1-1, 1-nhiều, và thường xuyên-nhiều?!?
    • 5.1. Relational Database
    • 5.2. Giải nghĩa các mối quan hệ

ERD phun nem là “Entity” “Relationship” Diagram.

  • “Entity” nghĩa là các thực thể
  • “Relationship” là các mối quan hệ, (giữa các thực thể đó).

==> Vậy tóm gọn: ERD là một sơ đồ, thể hiện các thực thể có trong database, và mối quan hệ giữa chúng với nhéu.

Còn một khái niệm khác anh em có thể nghe tới, đó là Class Diagram.

Mặc dù cách vẽ và hình dáng của 2 loại diagram này khá giống nhéu. Nhưng Class Diagram và ERD là hai khái niệm hoàn toàn khác nhéu.

Class Diagram là “con” của nhà UML (Unified Modeling Languaget). Còn ERD là khái niệm đến từ concept của ERM (Entity-Relationship Modeling). Một kỹ thuật dùng để mô hình hóa cơ sở dữ liệu.

Một bên là Class, còn một bên là Entity.

  • Class là nhóm các Object có cùng các thuộc tính.
  • Còn Entity thể hiện các Object ngoài đời thực.

Ví dụ hệ thống built ra để quản lý đối tượng khách hàng, đơn hàng, danh mục… Thì chính những khách hàng, đơn hàng, danh mục… đó là những đối tượng Entity.

mặt khác Entity thường được sử dụng để mapping với khái niệm table trong relational database, và nó có những business logic nhất định.

Nên, ERD – Entity Relationship Diagram sẽ giúp anh em hình dung tổng quan được các “real business object” mà hệ thống đang quản lý. Và đặc biệt nó thể hiện mối quan hệ giữa các “real business object” này với nhéu.

Diagram này sẽ giúp anh em mần những chuyện sau:

Giúp mường tượng tổng quan hệ thống có gì

Tiếp cận theo hướng top-down, ERD sẽ giúp anh em liệt kê các đối tượng có trong hệ thống.

Từ đó, anh em dễ dàng scope được các chức năng của hệ thống. Không lo out of scope, không lo phân tích thiếu đối tượng, cũng như đảm bảo cung cấp đủ một lượng thông tin để setup database cho giai đoạn triển khai sau này.

Ví dụ: hệ thống giúp quản lý hợp đồng, mà trong ERD không có đối tượng hợp đồng là tèo.

Góc nhìn top down bao giờ cũng quan trọng, nó giúp anh em xác định rõ ngay lập tức những thành phần xuất hiện trong hệ thống, và mối quan hệ giữa chúng với nhau.

Giúp phân tích hệ thống

Trong những dự án maintenance, việc đọc hiểu ERD của hệ thống hiện nay là một cách hiệu quả để anh em nắm được tổng quan các đối tượng và chức năng giữa chúng với nhau.

Ví dụ anh em thấy cục A quan hệ với cục B, cục B quan hệ với cục C.

Thì tức là, sẽ có một chức năng nào đó liên quan giữa cục A & cục B. Và một chức năng nào đó liên quan giữa cục B & cục C.

Khi thống kê sâu hơn tài liệu Requirements, đôi lúc nó cũng sẽ giúp anh em phát hiện được những “behind the scenes” cực kỳ quan trọng nhưng lại chưa được thể hiện trong tài liệu.

Giúp nắm rõ hơn tầng database

Mọi Người Xem :   Chrome OS là gì? Các tính năng vượt trội bạn nên xem qua

Trong những system phức tạp, cấu trúc loằng ngoằng, hoặc chứa cả trăm table, việc visualize các table ra hình ảnh sẽ giúp anh em dễ dàng phát hiện ra những điểm chưa hợp logic, những mối quan hệ “mờ ám”, “dư thừa” giữa các table với nhéu.

ngoài ra, có một số tool hỗ trợ việc convert ERD thành dòng lệnh SQL chạy trên các DBMS, như: Visual-Paradigm, ModelRight, hay Datanamic. Từ đó giúp anh em tiết kiệm thời gian viết query.

Giúp design report

ERD sẽ giúp anh em hiểu được: cấu trúc các table link với nhéu như thế nào.

Từ đó có thể viết các expression một cách chính xác nhất có khả năng (tức viết các câu query để moi móc, tính toán, đo lường, hoặc so sánh các dữ liệu với nhéu để ra được kết quả nhu cầu).

Vì đôi lúc, có những quan hệ thường xuyên – nhiều anh em không thể xử lý expression trực tiếp được, mà phải thông qua một vài table trung gian nào đó. ERD sẽ giúp anh em biết được: đó là những table nào. Từ đó, móc data ra như thế nào là chính xác nhất.

Vì BA là người facing trực tiếp với khách hàng và moi móc yêu cầu từ họ. Nên rõ ràng, BA là người hiểu rõ khách hàng muốn gì nhất.

BA chính là người phác họa ra ERD: mô tả những đối tượng xuất hiện trong hệ thống, thuộc tính và mối quan hệ giữa chúng ra sao.

Vậy thì vẽ ERD xong, ai là người sử dụng?

Cũng chính BA luôn, à há.

BA vẽ ERD để capture lại các components xuất hiện trong hệ thống. Và BA cũng dùng ERD để làm tài liệu thiết kế luôn. tuy nhiên, ngoài việc tự sướng, tự cung tự cấp ra, thì BA còn vẽ ERD để…

Cung cấp cho các Database Designer, để họ thiết kế database trong giai đoạn triển khai. Và dĩ nhiên, anh em Developer cũng rất cần đọc bản thiết kế này.

Để biết được phạm vi các đối tượng cần quản lý, biết được độ lớn của system. có thể phần nào hiểu được chức năng đằng sau các đối tượng này, và tìm cách tối ưu database sao cho tiết kiệm tài nguyên nhất có thể.

Ô kê nãy giờ anh em đã nắm sơ bộ ERD rồi, giờ mình sẽ đi vào chi tiết, để xem hình thù của một ERD nó trông thế nào nhé. 

Như anh em đã biết, chưa biết, hoặc biết rồi mà làm bộ chưa biết, thì ERD gồm 3 thành phần chính:

  • Entity: thực thể (hoặc đối tượng) mà hệ thống quản lý
  • Attribute: thuộc tính của các đối tượng.
  • Relationship: mối quan hệ giữa các đối tượng.

4.1. Entity

4.1. Entity

Entity là những đối tượng như: người, vật, sự việc, hoặc địa điểm… nào đó, mà anh em muốn lưu trữ thông tin trên hệ thống.

Thường thì Entity rất dễ hình dung trong hệ thống.

Nhưng cũng có một vài entity không tồn tại ở business thực tế bên ngoài. Nó là những entity trung gian, nằm giữa 2 entity khác, và thể hiện mối quan hệ thường xuyên-thường xuyên giữa 2 entity này với nhéu.

Entity được thể hiện bằng hình chữ nhật đứng, tên nằm ngay chính giữa.

Entity PHẢI LUÔN là danh từ nha anh em.

Xem thêm video cùng chủ đề : Bài 3: Mô hình ERD và chuẩn hóa cơ sở dữ liệu

Mô tả video

Cơ sở dữ liệu playlist: https://www.youtube.com/playlist?list=PLn9lhDYvf_3EMQ-TDLGko2ijSDGvWI8HBnNhóm thảo luận: https://www.facebook.com/groups/115838366528104

4.2. Attribute

4.2. Attribute

Attribute nghĩa là thuộc tính. Thuộc tính của chính những entity này.

Nói thuộc tính nghe có vẻ “IT” quá. Anh em có thể hiểu nó là các đặc tính của một đối tượng bất kỳ. Là những thông tin riêng biệt của đối tượng đó mà mình sẽ lưu trữ.

Ví dụ Đơn hàng sẽ có 5 thông tin riêng biệt sau, mà chỉ có đơn hàng mới có, mấy thằng khác không có, như:

  • Ngày đặt hàng
  • Tổng tiền chưa Giảm
  • Tiền khuyến mãi
  • Thành tiền
  • Điều khoản thanh toán.

Hoặc Khách hàng sẽ có 7 thông tin riêng biệt sau mà mấy thằng khác không có, như:

  • Họ và tên
  • Email
  • Ngày sinh nhật
  • Số điện thoại
  • Sở thích

có khả năng đối tượng Đơn hàngKhách hàng sẽ còn rất thường xuyên thông tin khác, nhưng mình chỉ quan tâm đến nhiêu đây thông tin, nên mình chỉ lưu trữ nhiêu đây attribute thôi.

Các thuộc tính sẽ được liệt kê ngay trong thực thể.

Chỗ PK (Primary Key) và FK (Foreign Key) để lát nói sau nha anh em.

Mọi Người Xem :   TRÁI PHIẾU DBOND VÀ VBOND - Mua cổ phiếu

4.3. Relationship

4.3. Relationship

Về cơ bản thì relationship của ERD có 3 loại:

  1. One-to-One: quan hệ 1-1
  2. One-to-Many: quan hệ 1-thường xuyên
  3. Many-to-Many: quan hệ thường xuyên-nhiều.

Từ 3 loại này, anh em sẽ thể hiện cụ thể hơn bằng 6 mối quan hệ như sau:

6 mối quan hệ cụ thể trong ERD.

Mình sẽ thực tế hơn cho anh em bằng sê ri: Mối quan hệ giữa Y TÁ vs. BỆNH NHÂN trong một hệ thống quản lý bệnh viện như sau.

(Slideshow có nút Pause ở giữa nhé anh em)

Hi vọng seri trên giúp anh em hiểu được chi tiết 6 mối quan hệ của ERD. Và quan trọng nhất, là cách đọc các mối quan hệ này.

Hiểu để làm gì?

Để khi khách hàng mô tả bằng ngôn ngữ thường ngày của họ, thì anh em có khả năng lấy cái đó >> chuyển hóa nó thành ngôn ngữ ERD >> và phác thảo các mối quan hệ ra như vầy.

Mấu chốt là anh em cần nhìn được: Quan hệ giữa 2 thực thể đó là gì?

Khi đó, ghép vào bối cảnh cụ thể, anh em sẽ hiểu được mối quan hệ giữa hai thực thể này là gì, và qua lăng kính business thực tế là như thế nào?

❓ ❓ ❓ Ví dụ tìm mối quan hệ giữa các thực thể sau:

  • Khách hàng – Đơn hàng
    • Khách hàng Đơn hàng
    • Đơn hàng thuộc về Khách hàng.
  • Người sử dụng – Đặt chỗ (Booking)
    • Người sử dụng tiến hành đặt Booking
    • Booking được đặt bởi Người sử dụng.
  • dịch vụ – Hợp đồng
    • dịch vụ nằm trong Hợp đồng
    • Hợp đồng bao gồm dịch vụ.
  • Nhân viên CSKH – Khách hàng
    • NV chăm sóc Khách hàng
    • Khách hàng được chăm sóc bởi NV.
  • Sinh Viên – Sách
    • Sinh viên mượn Sách
    • Sách được mượn bởi Sinh viên.
  • Khách hàng – hoạt động tương tác
    • Khách hàng thực hiện vận hành tương tác
    • hoạt động tương tác được thực hiện bởi Khách hàng.

ngoài ra, anh em có khả năng chú thích rõ mối quan hệ này bằng một hình con thoi nhỏ.

Chú thích này giúp anh em đọc ERD dễ hơn, nhưng cũng dễ gây ra rối hình.

Tóm gọn váy lần một:

  • Mối quan hệ giữa các thực thể đều đặn là: ĐỘNG TỪ (có, thuộc, đặt, chăm sóc, mượn, thực hiện…)
  • Khi đọc mối quan hệ theo chiều ngược lại, anh em chỉ cần chuyển nó thành THỂ BỊ ĐỘNG là xong 🙂 (được mượn, được chăm sóc, được thực hiện…).

Tóm gọn váy lần hai, anh em có thể thấy:

  • Thực thể ám chỉ DANH TỪ
  • Thuộc tính ám chỉ TÍNH TỪ, chỉ những tính chất – đặc điểm của thực thể (ví dụ khách hàng thì cao 175cm, nặng 65kg, giới tính Nam, địa chỉ nhà, email…)
  • Còn mối quan hệ thì ám chỉ ĐỘNG TỪ.

Nhận diện được những đối tượng này, anh em sẽ đơn giản bóc tách ngôn ngữ thường ngày của khách hàng thành các đối tượng trong ERD ==> phác họa nhénh chóng & chính xác hơn.

*NOTE KHÔNG HỀ NHỎ: Thực hư quan hệ NHIỀU-NHIỀU quay đi quẩn lại cũng chính là quan hệ 1-NHIỀU. chi tiết như nào xem tiếp phần dưới nha anh em 😎 

Ô kê xam bu chêêêêê.

Phần trên anh em đã hiểu được: entity, attributerelationship trong ERD. Nhưng nếu anh em vẫn còn thắc mắc:

Vẽ như zậy rồi trên hệ thống nó chạy ra sao.

1-nhiều, rồi nhiều-thường xuyên THỰC TẾ khác nhau như thế nào?

Thì ở phần dưới đây, mình sẽ giải đáp thắc mắc này cho anh em.

✅ Mọi người cũng xem : phượng tím đà lạt ở đâu

5.1. Relational Database

5.1. Relational Database

Đầu tiên anh em cần mường tượng lại đôi chút về Relational Database.

Relational Database nôm na là các database được tổ chức thành nhiều bảng, và giữa các bảng quan hệ với nhéu bằng các khóa.

Mà bảng (table) là gì?

Mapping với khái niệm ERD, 1 table chính là 1 entity (một đối tượng, hoặc một thực thể) mà database lưu trữ.

Table thì đơn thuần có các cộtdòng. Như ví dụ trên:

  • Cột chính là thuộc tính (attribute) của đối tượng Customer, bao gồm cột: Last Name, First Name, Email, bla, bla… các kiểu.
  • Còn dòng là các “bản ghi”, mình hay gọi là các record, là số lượng dữ liệu mà table đó lưu trữ trong database.

Từ ví dụ trên, anh em có thể kết luận như sau về table Customer:

  • Table này gồm 6 thuộc tính (Full Name, First Name, Last Name, Email, Company Name và Business Phone)
  • Table này hiện đang lưu trữ 23 records (vì có 23 dòng dữ liệu).

mặc khác, vì table lưu trữ thường xuyên record quá ==> nhu cầu nảy sinh: cần phân biệt các record với nhéu ==> khóa chính (Primary Key) ra đời.

Bản chất thì khóa chính cũng chỉ là một cột, trong hằng hà các cột mà table lưu trữ. Nhưng nó khác biệt ở chỗ:

Nói theo xì tai của anh Người Phán Xử thì:

Khóa chính là thứ tồn tại độc lập duy nhất (và không được giống nhau).Tất cả những cột khác, giống nhéu hay không, không quan trọng.

Còn nói theo ngôn ngữ lập trình thì: khóa chính là thứ để định danh duy nhất mỗi bản ghi trong table của cơ sở dữ liệu. 

Tiếp theo là khóa ngoại (Foreign Key).

Vì các table liên kết với nhau. Nhưng để liên kết với nhau thì nó cần có điểm chung nào đó. Foreign Key chính là điểm chung đó. Nó là key sử dụng để kết nối 2 tables lại với nhau.

Foreign Key sẽ là Primary Key ở một table, nhưng lại là Foreign Key ở một table khác mà table đó liên kết đến.

Foreign Key là gì? (Nguồn ảnh: hostingadvice.com)

5.2. Giải nghĩa các mối quan hệ

5.2. Giải nghĩa các mối quan hệ

Phần này giải thích cho câu hỏi nhức nhối nhất nãy giờ: Đâu là sự khác biệt trên hệ thống thực tế, giữa các quan hệ:

  • 1-1
  • 1-thường xuyên
  • Và thường xuyên-thường xuyên

Bằng cách, mang anh em đến với phần mềm thực tế 😎

.

.

.

Ô kê, đầu tiên mình có 4 entity với các attribute như sau.

Nhà có 4 anh em: A, B, C và D.

Mình sẽ cho 4 entity này quan hệ với nhau như sau:

  • D quan hệ 1-1 với A
  • A quan hệ 1-nhiều với B
  • B quan hệ nhiều-nhiều với C.

4 anh em quan hệ dây mơ rễ má zới nhéu.

Nhưng khoan,

Anh B và anh C đang quan hệ thường xuyên-nhiều. Chỗ này thực tế nó sẽ không quan hệ nhiều-nhiều trực tiếp với nhau như vầy, mà cần thông qua một entity trung gian.

Thế là Entity E ra đời. Ảnh chen vào giữa anh B và anh C như sau.

Thực hư quan hệ nhiều – thường xuyên.

Ô kê tới đây anh em đã có: các thực thể đã kết nối chúng với nhau.

Nhưng trước khi đi tiếp mình có 1 câu hỏi: Bản chất quan hệ 1-nhiều nghĩa là sao?

Ví dụ A quan hệ 1-nhiều với B.

Nghĩa là, 1 record A bao gồm rất nhiều record B. Hoặc, thường xuyên record B cùng kết nối đến 1 record A.

Vì vậy, để hình dung quan hệ 1-thường xuyên đơn giản, anh em cứ hình dung đến cái LƯỚI hoặc BẢNG là được. Vì lưới hoặc bảng có rất thường xuyên DÒNG trong đó.

Nếu A quan hệ 1-nhiều với B, nghĩa là trên A có một cái LƯỚI hoặc một cái BẢNG chứa các dòng dữ liệu B. Chỉ dễ dàng zậy thôi!

Dưới đây sẽ là: đối chiếu giữa ERD và thực tế phần mềm để anh em hình dung rõ điều mình vừa nói ở trên nha.

(Slide Show có nút Pause chính giữa nha anh em).

Để ví dụ trên dễ hình dung, mình sẽ thay các entity giả định này bằng các entity thực tế như sau.

Có một mẹo chỗ này: Làm sao để xác định FK cho nhanh?

Nếu 2 table quan hệ 1-thường xuyên với nhau, anh em chỉ cần lấy PK của table ở đầu quan hệ 1, bỏ vào FK của table ở đầu quan hệ nhiều, là xong 🙂

Đọc tiếp phần 2 tại: 15 phút thực hành với sơ đồ ERD.



Các câu hỏi về sơ đồ erd là gì


Nếu có bắt kỳ câu hỏi thắc mắt nào vê sơ đồ erd là gì hãy cho chúng mình biết nhé, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình cải thiện hơn trong các bài sau nhé <3 Bài viết sơ đồ erd là gì ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết sơ đồ erd là gì Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết sơ đồ erd là gì rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nhé!!

Các Hình Ảnh Về sơ đồ erd là gì


Các hình ảnh về sơ đồ erd là gì đang được chúng mình Cập nhập. Nếu các bạn mong muốn đóng góp, Hãy gửi mail về hộp thư [email protected] Nếu có bất kỳ đóng góp hay liên hệ. Hãy Mail ngay cho tụi mình nhé

Xem thêm thông tin về sơ đồ erd là gì tại WikiPedia

Bạn hãy tìm thêm nội dung về sơ đồ erd là gì từ web Wikipedia.◄ Tham Gia Cộng Đồng Tại

???? Nguồn Tin tại: https://buyer.com.vn/

???? Xem Thêm Chủ Đề Liên Quan tại : https://buyer.com.vn/phong-thuy/

Related Posts

Tính chất hóa học của Bari (Ba) | Tính chất vật lí, nhận biết, điều chế, ứng dụng. 1

Tính chất hóa học của Bari (Ba) | Tính chất vật lí, nhận biết, điều chế, ứng dụng.

ContentsĐánh giá về ERD là gì? – Thinhnotes4.1. EntityXem thêm video cùng chủ đề : Bài 3: Mô hình ERD và chuẩn hóa cơ sở dữ liệu4.2….
Sorbitol là gì? Tác dụng của sorbitol C6H14O6 trong cuộc sống 2

Sorbitol là gì? Tác dụng của sorbitol C6H14O6 trong cuộc sống

ContentsĐánh giá về ERD là gì? – Thinhnotes4.1. EntityXem thêm video cùng chủ đề : Bài 3: Mô hình ERD và chuẩn hóa cơ sở dữ liệu4.2….
Bạc là gì? Những ứng dụng của bạc trong cuộc sống 3

Bạc là gì? Những ứng dụng của bạc trong cuộc sống

ContentsĐánh giá về ERD là gì? – Thinhnotes4.1. EntityXem thêm video cùng chủ đề : Bài 3: Mô hình ERD và chuẩn hóa cơ sở dữ liệu4.2….
CH3Cl - metyl clorua - Chất hoá học 4

CH3Cl – metyl clorua – Chất hoá học

ContentsĐánh giá về ERD là gì? – Thinhnotes4.1. EntityXem thêm video cùng chủ đề : Bài 3: Mô hình ERD và chuẩn hóa cơ sở dữ liệu4.2….
I2 - Iot - Chất hoá học 5

I2 – Iot – Chất hoá học

ContentsĐánh giá về ERD là gì? – Thinhnotes4.1. EntityXem thêm video cùng chủ đề : Bài 3: Mô hình ERD và chuẩn hóa cơ sở dữ liệu4.2….
7 lý do thú vị giải thích vì sao bạn thường xuyên bị muỗi đốt 6

7 lý do thú vị giải thích vì sao bạn thường xuyên bị muỗi đốt

ContentsĐánh giá về ERD là gì? – Thinhnotes4.1. EntityXem thêm video cùng chủ đề : Bài 3: Mô hình ERD và chuẩn hóa cơ sở dữ liệu4.2….

This Post Has One Comment

Comments are closed.