Top 13 # Cách Vẽ Erd Diagram / 2023 Xem Nhiều Nhất, Mới Nhất 11/2022 # Top Trend | Maiphuongus.net

Erd Là Gì? Cách Vẽ Mô Hình Thực Thể Erd Siêu Đơn Giản / 2023

1.2. Lịch sử của mô hình ERD

Peter Chen (hay còn gọi là Peter Pin-Shan Chen), hiện là giảng viên tại Đạ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 vào những năm 1970. Trong thời gian làm 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 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”.

Theo nghĩa rộng hơn, việc miêu tả sự liên kết với nhau của các sự vật 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 gần gũi 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 trong thế giới thực. James Martin đã thêm 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.

Gợi ý: Bảng chi tiết lương công nghệ thông tin đã có tại chúng tôi

2. Công dụng của mô hình ERD

Thiết kế cơ sở dữ liệu: Biểu đồ ER được sử dụng để lập mô hình 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 cho một dự án hệ thống thông tin. Sau này nó cũng được sử dụng để lập mô hình một cơ sở dữ liệu hoặc các 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 đó khi cần thiết.

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 hiện có để tìm và giải quyết các vấn đề về logic hoặc triển khai. Vẽ sơ đồ sẽ cho thấy nó đang sai ở đâu.

Tái thiết kế quy trình nghiệp vụ (BPR): Biểu đồ ER 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à mô hình hóa thiết lập cơ sở dữ liệu mới.

Giáo dục: Cơ sở dữ liệu là phương pháp ngày nay để lưu trữ thông tin quan hệ cho mục đích giáo dục và truy xuất sau này, vì vậy Sơ đồ ER có thể có giá trị 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 sơ đồ ER có thể đó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.

3. 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ữ:

Một thứ có thể xác định đượ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ể là danh từ. Ví dụ: khách hàng, sinh viên, ô tô hoặc sản phẩm. Thường được hiển thị dưới dạng hình chữ nhật.

Loại Entity: 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 thực thể 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.

Các loại đối tượng: Các đối tượng được phân loại là mạnh, yếu hoặc liên kết. Một thực thể mạnh có thể được xác định chỉ bằng các thuộc tính của chính nó, trong khi một thực thể yếu thì không thể. Một thực thể liên kết liên kết các thực thể (hoặc các phần tử) trong một tập thực thể.

Khóa thực thể: Đề 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ể. Khóa thực thể có thể là siêu, ứng cử viên hoặc khóa chính. Siêu khóa: 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ể. Khóa ứng viên: Một siêu khóa tối thiểu, nghĩa là nó có số lượng 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 khóa ứng viên. Khóa chính: Một khóa ứng viên do người thiết kế cơ sở dữ liệu chọn để xác định duy nhất tập thực thể. Khóa ngoại: Xác định mối quan hệ giữa các thực thể.

Relationship – mối quan hệ:

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 mối quan hệ như độ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à khoa học, và mối quan hệ được mô tả là hành động ghi danh, kết nối hai thực thể theo cách đó. Các mối quan hệ thường được thể hiện dưới dạng kim cương hoặc nhãn trực tiếp trên các đường kết nối.

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

Thuộc tính hoặc đặc điểm của một thực thể, thường đượ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ả: Thuộc tính hoặc đặc điểm của mối quan hệ (so với của một thực thể)

Đa giá trị: 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.

Giá trị đơn: Chỉ một giá trị thuộc tính. Các loại có thể được kết hợp, chẳng hạn như: thuộc tính đơn giá trị đơn giản hoặc thuộc tính đa giá trị tổng hợp.

Xác định các thuộc tính số của mối quan hệ giữa hai thực thể hoặc tập thực thể. Ba mối quan hệ cơ bản chính là một-một, một-nhiều và nhiều. Một ví dụ one-to-one sẽ là một sinh viên liên kết với một địa chỉ gửi thư. Một ví dụ một-nhiều (hoặc nhiều-to-one, tùy thuộc vào sự chỉ đạo mối quan hệ): Một sinh viên đăng ký cho nhiều khóa học, nhưng tất cả những khóa học có một dòng duy nhất để lại rằng một học sinh. Ví dụ về 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 đến lượt mình được liên kết với nhiều sinh viên.

Chế độ xem Cardinality: Cardinality có thể được hiển thị dưới dạng xem qua hoặc cùng một phía, tùy thuộc vào vị trí các biểu tượng được hiển thị.

Ràng buộc về số lượng: Các số tối thiểu hoặc tối đa áp dụng cho một mối quan hệ.

ERD thường được mô tả trong một hoặc nhiều mô hình sau:

Mô hình dữ liệu logic, chi tiết hơn mô hình dữ liệu khái niệm, minh họa các thuộc tính và mối quan hệ cụ thể giữa các điểm dữ liệu . Trong khi mô hình dữ liệu khái niệm không cần phải được thiết kế trước mô hình dữ liệu logic, thì mô hình dữ liệu vật lý dựa trên mô hình dữ liệu logic.

Mô hình dữ liệu vật lý, cung cấp bản thiết kế cho một biểu hiện vật lý – chẳng hạn như cơ sở dữ liệu quan hệ – của mô hình dữ liệu logic. Một hoặc nhiều mô hình dữ liệu vật lý có thể được phát triển dựa trên mô hình dữ liệu logic.

Có năm thành phần cơ bản của một sơ đồ mối quan hệ thực thể. Các thành phần tương tự sẽ được chỉ định bởi cùng một hình dạng. Ví dụ: tất cả các loại thực thể có thể được bao trong một hình chữ nhật, trong khi tất cả các thuộc tính được bao trong một hình thoi. Các thành phần bao gồm:

Thực thể là các đối tượng hoặc khái niệm có thể có dữ liệu được lưu trữ về chúng. Thực thể tham chiếu đến các bảng được sử dụng trong cơ sở dữ liệu.

Thuộc tính là thuộc tính hoặc đặc điểm của thực thể. Một thuộc tính ERD có thể được biểu thị là một khóa chính, xác định một thuộc tính duy nhất hoặc một khóa ngoại, có thể được gán cho nhiều thuộc tính.

Bài 1. Tất Tần Tật Về Mô Hình Quan Hệ Thực Thể (Entity Relationship Diagram Erd) – Bê Thui’S Blog / 2023

Chào các bạn,

Trước khi tạo một Database cho công ty của mình, chúng ta cần phải có một cái sơ đồ dữ liệu. Cũng giống như trước khi bắt tay vào sản xuất một cái ô tô thì ta cần có bản vẽ thiết kế chi tiết của nó vậy. Trong trường hợp bạn là Data Analyst thì bạn cần phải biết đọc bản thiết kế của cái database bạn sẽ dùng. Nói chung là bạn cần đọc bài này nếu có làm việc dính dáng tới Database. Mình có tìm thử thì thấy cũng có một số bài viết về loại sơ đồ này bằng tiếng Việt. Nhưng chúng không được đầy đủ lắm.

Bài này mình sẽ nói tới các ký hiệu dùng trong một sơ đồ dữ liệu, tiếng Anh gọi là Entity Relationship Diagram (ERD), tiếng Việt là Mô hình Quan hệ Thực thể một cách đầy đủ nhất. Bài này nằm trong chuỗi bài sử dụng SQL để quản lý Big Data. Mình viết ra quan trọng nhất là để ghi chép tổng hợp kiến thức, sau dễ bề tham khảo.

Trước hết, bạn nên mở công cụ ERDPlus ở đây: https://erdplus.com/#/standalone, cùng lúc với học bài. Vừa đọc vừa vẽ lại hình, nó sẽ giúp bạn dễ hiểu bài hơn nhiều. Học phải đi đôi với hành mà.

Đầu tiên chúng ta nhìn vào những hình chữ nhật. Mỗi hình chữ nhật tượng trưng cho một Entity. Mình chả biết dịch thế nào mà mình cũng hạn chế dịch mấy thuật ngữ tiếng Anh, sau lại mất công học lại. Bạn chỉ cần nhớ là với mỗi Entity thì ta có thể tạo ra một bảng dữ liệu con. Entity như kiểu một theme dữ liệu ấy.

Với mỗi hình chữ nhật ta sẽ có nhiều hình ô van kết nối với nó. Hình ô van tượng trưng cho Attribute (Đặc tính) của cái Entity đó. Nôm na thì nó là mỗi cột dữ liệu của bảng dữ liệu.

Các Entity (hình chữ nhật) được kết nối với nhau bằng hình thoi (Mối liên hệ).

Ví dụ:

Ở cái Database này ta có 2 bảng dữ liệu kết với nhau. Bảng về Doctor có 3 cột dữ liệu là cột DrID, DrYearGrad và DrName. Bảng về OutpatientLoc thì có 2 cột dữ liệu là OLID và OLName. Mối liên hệ ở trên giữa 2 bảng là WorkAt, nghĩa là Bác sĩ  này làm việc tại Địa điểm nào.

Điểm chú ý nhỏ là Tên Mối quan hệ thường là Động từ.

Tiếp theo ta nhìn thấy mấy cái gạch như ở dưới:

1 gạch: chỉ có 1 kết nối

Gạch hình chân chim: có nhiều kết nối

Gạch ở xa hình chữ nhật: chỉ giá trị nhỏ nhất

Gạch ở gần hình chữ nhật: chỉ giá trị lớn nhất

Hình tròn: optional, không bắt buộc

Ngoài ra ta có thể ghi số ở đây thay vì gạch. Số có nghĩa là  số lượng mối quan hệ cụ thể. Ví dụ thay vì gạch ở trên ta thấy (1,5) thì nghĩa là có ít nhất 1 bác sĩ, hoặc nhiều nhất 5 bác sĩ, làm việc tại một địa điểm nào đó.

Quay trở lại với Hình Ovan (Attribute).

– Nếu chữ trong hình Ovan được gạch dưới, nghĩa là với attribute này, mỗi dòng dữ liệu chỉ có một  giá trị duy nhất.

Thường nó sẽ là ID của bảng dữ liệu đó. Nó còn gọi là Unique key, unique attribute, Primary Key, hay Indentifier. Chú ý là mỗi Entity có thể có nhiều Unique key. Khi đó ta chỉ cần chọn một trong số đó làm Primary Key. Ví dụ trong trường dữ liệu Sinh Viên, ta có thể có Mã số sinh viên và Số CMND đều chỉ có gía trị duy nhất cho từng sinh viên nhưng ta chỉ chọn một làm Primary Key.

– Nhưng nếu chữ  trong hình Ovan được gạch dưới đứt quãng và hình chữ nhật có 2 viền, điều này nghĩa là Attribute đó là Partial Key. Tức là một mình nó không thể dùng để xác định được Entity vì nó phụ thuộc vào Key (unique attribute) của một Entity khác. Ta phải dùng Unique Key của một Entity khác cùng với Parital Key của Entity này mới truy cập được đúng dữ liệu mình muốn.

Ví dụ như hình ở dưới. Anh Tèo ở nhà số 4, phố Huế. Trong thành phố có 36 phố phường, phố Trần Hưng Đạo bên cạnh cũng có nhà số 4. Nếu chỉ gọi dữ liệu là nhà số 4 thì không ra được nhà anh Tèo, mà phải gọi thêm dữ liệu ID phố nữa.

Để biết là cái Partial Key phụ thuộc vào Unique Key của Entity nào thì ta tìm cái hình thoi (mối liên kết) cũng có 2 viền. Đầu kia của cái hình thoi là cái Entity có Unique Key ta cần tìm. Nói chung bộ 4 cái: Hình chữ nhật 2 viền + attribute gạch dưới đứt quãng + hình thoi 2 viền + Unique key luôn đi với nhau

Nếu hình Ovan (Attribute) có viền gạch đứt quãng, nó nghĩa là Derived. Nghĩa là ta không cần thu thập data cho nó mà có thể suy ra từ một Attribute khác trong Database. Ví dụ dựa vào ngày sinh, ta có thể suy ra người đó bao nhiêu tuổi.

Nếu hình Ovan (Attribute) có 2 viền đây là một Multivalued attribute: nó có nhiều giá trị khác nhau cho cùng một dòng. Ví dụ attribute có tên Sở thích. Mỗi Người có thể có vài sở thích khác nhau chứ không chỉ giới hạn ở một sở thích.

contactid firstname lastname hobbies

1639 George Barnes reading

5629 Susan Noble hiking, movies

3388 Erwin Star hockey, skiing

5772 Alice Buck

1911 Frank Borders photography, travel, art

4848 Hanna Diedrich gourmet cooking

Nếu chữ trong hình Ovan (Attribute) được đóng mở ngoặc. Tức là một Attribute Composite. Như cái tên, ta hiểu nôm na là cái Attribute này sẽ được tạo bởi những attribute khác. Ví dụ Tên Họ được tạo bởi Tên, Tên Đêm và Họ. Thường không ai điền một dòng data dài dặc Nguyễn Văn Tèo cả. Mà ta chia nhỏ dữ liệu ra cho dễ truy cập thành: Nguyễn (Họ), Văn (Tên Đệm) và Tèo (Tên).

Update 10/11/20:

Associative entity: Associative entities relate the instances of several entity types. They also contain attributes specific to the relationship between those entity instances.

Bài tập: Ở trên là tất cả khái niệm cần có trong một ERD. Bây giờ bạn thử quay lại và đọc cái ERD trên đầu bài xem sao? (bấm vào đây để xem rõ hình). Lời giải ở đây

– Gợi ý: Đọc từ hình chữ nhật trước. Sau đó đọc các hình Ovan. Rồi kết nối hình chữ nhật với nhau bằng hình Thoi.

Thân

Nhung

Share this:

Twitter

Facebook

Like this:

Số lượt thích

Đang tải…

Phần Mềm Staruml Vẽ Sơ Đồ Use Case, Activity Diagrams, Sequence Diagrams / 2023

Hướng dẫn sử dụng Phần mềm StarUML, StarUML là phần mềm mã nguồn mở, có kích thước nhỏ gọn, hỗ trợ thiết kế với hầu hết các ngôn ngữ lập trình phổ biến hiện nay như C++, Java, C#, … giao diện thân thiện và là công cụ tuyệt vời hỗ trợ phân tích thiết kế theo hướng UML.

Phần mềm StarUML là phần mềm mã nguồn mở, có kích thước nhỏ gọn, hỗ trợ thiết kế với hầu hết các ngôn ngữ lập trình phổ biến hiện nay như C++, Java, C#, … giao diện thân thiện và là công cụ tuyệt vời hỗ trợ phân tích thiết kế theo hướng UML, hỗ trợ vẽ sơ đồ Use Case, Activity diagrams, Sequence diagrams tốt nhất hiện nay.

Trong bài này, chúng ta sẽ bàn về một số công cụ có thể dùng để biểu diễn và quản lý các bản vẽ UML một cách hiệu quả.

1. Giới thiệu các công cụ vẽ UML phổ biến

Có rất nhiều công cụ được sử dụng để vẽ các bản vẽ UML rất chuyên nghiệp như Rational Rose, Enterprise Architect, Microsoft Visio v.v.. và rất nhiều các công cụ phần mềm nguồn mở miễn phí có thể sử dụng tốt.

Các công cụ có cách sử dụng khá giống nhau và ký hiệu của các bạn vẽ trên UML cũng đã thống nhất nên việc nắm bắt một công cụ khi chuyển sang làm việc với một công cụ khá không quá khó khăn.

Trong bài này, xin giới thiệu với các bạn công cụ Start UML, một phần mềm nguồn mở, miễn phí, có đầy đủ chức năng và có thể sử dụng tốt trên môi trường Windows.

2. Giới thiệu về Start UML

Cài đặt

Bạn có thể download bộ cài đặt của phần mềm Start UML tại http://staruml.sourceforge.net/en/. Sau khi download và tiến hành các bước cài đặt chúng ta nhanh chóng có được công cụ này trên máy tính.

Các Model

Khởi động Start UML vào màn hình chính chúng ta có được các model như sau:

Hình 1. Cửa sổ giao diện của Start UML

Nhìn cửa sổ Model Explorer bên phải chúng ta nhận thấy có 5 model.

Use Case Model: chứa các bản vẽ phân tích Use Case

Analysis Model: chứa các bản vẽ phân tích

Design Model: chứa các bản vẽ thiết kế

Implementation Model: chứa các bản vẽ cài đặt

Deployment Model: chứa các bản vẽ triển khai

Tùy theo nhu cầu phân tích, thiết kế chúng ta xác định sẽ sử dụng model nào để thể hiện.

3. Cách tạo các Diagram

Để tạo các các bản vẽ, chúng ta chỉ cần chọn model mà bạn muốn sử dụng, kích phải chuột, chọn add diagram và chọn bản vẽ cần xây dựng.

Hình 2. Cách tạo ra một bản vẽ

Sau khi chọn bản vẽ, cửa sổ bên trái sẽ hiển thị thanh công cụ chứa các ký hiệu tương ứng của bản vẽ để bạn có thể vẽ được các bản vẽ một các dễ dàng.

Hình 3. Vẽ bản vẽ Use case

Việc xây dựng các bản vẽ chúng ta đã bàn kỹ trong các bài trước, bạn xem lại các bài trước và biểu diễn lại các bản vẽ này lên Start UML.

Video: https://www.youtube.com/watch?v=QMzLvR3jem4

4. Kết luận

Như vậy, chúng ta đã nghiên cứu qua tất cả các bản vẽ UML được sử dụng phổ biến trong OOAD. Đến đây, bạn đã có đủ kiến thức và kỹ năng để phân tích và thiết kế một phần mềm. Bây giờ bạn hãy cố gắng thực hành phân tích và thiết kế các hệ thống phần mềm để có thêm kinh nghiệm.

Các kiến thức này các bạn có thể dùng để phân tích và thiết kế một phần mềm mới hoặc dùng để mô tả nghiên cứu một phần mềm hoặc framework có sẵn nhằm phục vụ cho việc hiệu chỉnh phần mềm cho phù hợp với nhu cầu của khách hàng.

Trong một số trường hợp, cách thức cài đặt (codding) có thể khác với các bản vẽ thiết kế mà bạn đã tìm hiểu ở trên gây khó hiểu cho bạn. Đó là khi các hệ thống ấy sử dụng các Design Pattern như MVC Pattern, Delegate, Façade …. Vấn đề này chúng ta sẽ bàn trong chuyên mục “Design Pattern” trong thời gian tới hoặc bạn có thể tự nghiên cứu để hiểu thêm về vấn đề này.

Thự Hành Xây Dựng Bản Vẽ Activity Diagram / 2023

Trong bài trước chúng ta đã nắm được khái niệm, các thành phần, cách xây dựng và ứng dụng của Activity Diagarm. Bây giờ, chúng ta áp dụng nó để phân tích nghiệp vụ cho hệ thống eCommerce mà chúng ta đã xem xét trong bài số 3 của chuyên mục này.

Xây dựng Activity Diagram cho hệ thống eCommerceBước 1: Xác định các nghiệp vụ cần phân tích.

Trước tiên, chúng ta xem xét các Use Case. Về nguyên tắc bạn phải phân tích và mô tả tất cả các nghiệp vụ của hệ thống để làm rõ hệ thống. Xem xét bản vẽ Use Case Diagram chúng ta đã vẽ ở bài 3, chúng ta có thể thấy các Use Case sau cần làm rõ: – Xem sản phẩm theo chủng loại – Thêm sản phẩm theo nhà cung cấp – Thêm giỏ hàng – Chat – Quản lý đơn hàng – Thanh toán – Theo dõi chuyển hàng – Đăng nhập

Tiếp theo, chúng ta bắt đầu phân tích và vẽ cho chức năng xem sản phẩm theo chủng loại.

Để thực hiện chức năng xem sản phẩm theo chuẩn loại hệ thống sẽ thực hiện như sau: – Điều kiện ban đầu: ở trang chủ – Điều kiện kết thúc: hiển thị xong trang sản phẩm

Các bước như sau: – Người dùng chọn loại sản phẩm. – Hệ thống sẽ lọc lấy loại sản phẩm tương ứng, sau đó lấy giá, lấy khuyến mãi cho tất cả các sản phẩm đã được chọn và hiển thị lên màn hình. – Người dùng xem sản phẩm.Bước 3: Thực hiện bản vẽ – Chúng ta thấy có 2 đối tượng tham gia vào giao dịch này là Người dùng và Hệ thống. Chúng ta nên dùng Swimlance để thể hiện 2 đối tượng trên.

– Hành động tiếp theo là Guest chọn loại sản phẩm

Kết luận

Bản vẽ Activity Diagram sẽ giúp bạn mô tả nghiệp vụ của hệ thống một cách nhanh chóng, nó là công cụ hiệu quả trong việc mô tả hoạt động nghiệp vụ của hệ thống. Do vậy, các bạn hãy thực hành và sử dụng thành thạo bản vẽ này để thuận lợi trong việc phân tích, thiết kế hệ thống sau này.

Trong bài tiếp theo chúng ta sẽ thiết kế các chức năng của hệ thống thông qua việc sử dụng Sequence Diagram. Mời các bạn đọc tiếp.

Bài tiếp: Bản vẽ Sequence Diagram

Bài trước: Bản vẽ Activity Diagram