Mô hình ER là gì? Học với ví dụ
⚡ Tóm tắt thông minh
Mô hình quan hệ thực thể (Entity Relationship Modeling) là một phương pháp đồ họa trong thiết kế cơ sở dữ liệu, biểu diễn các đối tượng trong thế giới thực dưới dạng các thực thể, mô tả chúng bằng các thuộc tính và nắm bắt cách chúng kết nối thông qua các mối quan hệ, tạo ra một bản thiết kế rõ ràng trước khi xây dựng bất kỳ bảng nào.

Mô hình ER là gì?
Mô hình mối quan hệ thực thể (Mô hình ER) là một cách tiếp cận đồ họa để thiết kế cơ sở dữ liệu. Đây là mô hình dữ liệu cấp cao xác định các thành phần dữ liệu và mối quan hệ của chúng đối với một hệ thống phần mềm được chỉ định. Một mô hình ER được sử dụng để thể hiện các đối tượng trong thế giới thực.
Thực thể là một vật thể hoặc đối tượng trong thế giới thực có thể phân biệt được với môi trường xung quanh. Ví dụ, mỗi nhân viên của một tổ chức là một thực thể riêng biệt. Sau đây là một số đặc điểm chính của thực thể.
- Một thực thể có một tập hợp các thuộc tính.
- Thuộc tính thực thể có thể có giá trị.
Hãy xem xét lại ví dụ đầu tiên của chúng ta. Một nhân viên của một tổ chức là một thực thể. Nếu “Peter” là một lập trình viên (một nhân viên) tại MicrosoftAnh ta có thể có các thuộc tính như tên, tuổi, cân nặng, chiều cao, v.v. Rõ ràng là những thuộc tính đó đều có giá trị liên quan đến anh ta.
Mỗi thuộc tính có thể có nhiều giá trị. Trong hầu hết các trường hợp, một thuộc tính chỉ có một giá trị. Nhưng cũng có trường hợp thuộc tính có nhiều giá trị. Ví dụ, tuổi của Peter chỉ có một giá trị. Nhưng thuộc tính "số điện thoại" của anh ấy có thể có nhiều giá trị.
Các thực thể có thể có mối quan hệ với nhau. Hãy xem xét ví dụ đơn giản nhất. Giả sử rằng mỗi Microsoft Một lập trình viên được giao một chiếc máy tính. Rõ ràng, máy tính của Peter cũng là một thực thể. Peter đang sử dụng chiếc máy tính đó, và chính chiếc máy tính đó được Peter sử dụng. Nói cách khác, có một mối quan hệ tương hỗ giữa Peter và máy tính của anh ta.
Trong mô hình quan hệ thực thể, chúng ta mô hình hóa các thực thể, thuộc tính của chúng và các mối quan hệ giữa các thực thể.
Tại sao nên sử dụng mô hình ER?
Bây giờ bạn có thể nghĩ tại sao lại sử dụng mô hình ER khi chúng ta có thể đơn giản tạo cơ sở dữ liệu và tất cả các đối tượng của nó mà không có mô hình ER? Một trong những thách thức phải đối mặt khi thiết kế cơ sở dữ liệu là việc các nhà thiết kế, nhà phát triển và người dùng cuối có xu hướng xem dữ liệu và cách sử dụng nó một cách khác nhau. Nếu tình trạng này không được kiểm soát, chúng ta có thể tạo ra một hệ thống cơ sở dữ liệu không đáp ứng được yêu cầu của người dùng.
Các công cụ giao tiếp mà tất cả các bên liên quan (người dùng kỹ thuật cũng như phi kỹ thuật) đều hiểu được là rất quan trọng trong việc tạo ra các hệ thống cơ sở dữ liệu đáp ứng yêu cầu của người dùng. Mô hình quan hệ thực thể (ER) là một ví dụ về những công cụ như vậy.
Sơ đồ ER cũng giúp tăng năng suất người dùng, vì chúng có thể dễ dàng chuyển đổi thành các bảng quan hệ.
Mô hình mối quan hệ thực thể nâng cao (EER)
Mô hình Quan hệ Thực thể Nâng cao (EER) là một mô hình dữ liệu cấp cao cung cấp các phần mở rộng cho mô hình Quan hệ Thực thể (ER) ban đầu. Mô hình EER hỗ trợ thiết kế chi tiết hơn. Mô hình EER nổi lên như một giải pháp để mô hình hóa các cơ sở dữ liệu có độ phức tạp cao.
EER sử dụng ký hiệu UML. UML là viết tắt của... Ngôn ngữ mô hình thống nhất; nó là ngôn ngữ mô hình hóa có mục đích chung được sử dụng khi thiết kế các hệ thống hướng đối tượng. Các thực thể được biểu diễn dưới dạng sơ đồ lớp. Các mối quan hệ được biểu diễn dưới dạng liên kết giữa các thực thể. Sơ đồ hiển thị bên dưới minh họa sơ đồ ER bằng cách sử dụng ký hiệu UML.
Nghiên cứu trường hợp: Sơ đồ ER cho thư viện video “MyFlix”
Bây giờ chúng ta hãy cùng làm việc với hệ thống cơ sở dữ liệu Thư viện Video MyFlix để hiểu rõ hơn về khái niệm sơ đồ ER. Chúng ta sẽ sử dụng cơ sở dữ liệu này cho tất cả các bài thực hành trong hướng dẫn này.
MyFlix là một đơn vị kinh doanh cho các thành viên của mình thuê phim. MyFlix đã lưu trữ hồ sơ của mình theo cách thủ công. Ban quản lý hiện muốn chuyển sang một DBMS.
Hãy cùng xem các bước để xây dựng sơ đồ EER cho cơ sở dữ liệu này:
- Xác định các thực thể và xác định các mối quan hệ tồn tại giữa chúng.
- Mỗi thực thể, thuộc tính và mối quan hệ cần có tên gọi phù hợp, dễ hiểu ngay cả đối với người không chuyên về kỹ thuật.
- Các mối quan hệ không nên được kết nối trực tiếp với nhau. Mối quan hệ nên kết nối các thực thể.
- Mỗi thuộc tính trong một thực thể nhất định phải có một tên duy nhất.
Các thực thể trong thư viện “MyFlix”
Các thực thể được bao gồm trong của chúng tôi sơ đồ ER là:
- Thành viên – thực thể này sẽ lưu giữ thông tin thành viên.
- Phim ảnh – mục này sẽ lưu trữ thông tin liên quan đến phim ảnh.
- Danh mục – thực thể này sẽ lưu trữ thông tin phân loại phim vào các danh mục khác nhau như “Phim chính kịch”, “Phim hành động”, “Phim sử thi”, v.v.
- Cho thuê phim – mục này sẽ lưu trữ thông tin về các bộ phim đã được cho thuê cho các thành viên.
- Thanh toán – mục này sẽ lưu giữ thông tin về các khoản thanh toán do các thành viên thực hiện.
Xác định mối quan hệ giữa các thực thể
Thành viên và phim
Nội dung sau đây là đúng đối với sự tương tác giữa hai thực thể.
- Một thành viên có thể thuê nhiều bộ phim trong một khoảng thời gian nhất định.
- Một bộ phim có thể được nhiều thành viên thuê trong một khoảng thời gian nhất định.
Từ tình huống trên, ta thấy bản chất của mối quan hệ là nhiều-nhiều. Cơ sở dữ liệu quan hệ không hỗ trợ mối quan hệ nhiều-nhiều. Chúng ta cần giới thiệu một thực thể trung gian. Đây là vai trò mà thực thể MovieRentals đảm nhiệm. Nó có mối quan hệ một-nhiều với bảng Members và một mối quan hệ một-nhiều khác với bảng Movies.
Thực thể phim và danh mục
Những điều sau đây đúng với phim và thể loại phim.
- Một bộ phim chỉ có thể thuộc một thể loại duy nhất, nhưng một thể loại có thể chứa nhiều hơn một bộ phim.
Từ đó, ta có thể suy ra rằng bản chất của mối quan hệ giữa các bảng danh mục và bảng phim là mối quan hệ một-nhiều.
Thành viên và đơn vị thanh toán
Những điều sau đây đúng về hội viên và thanh toán.
- Một thành viên chỉ có thể có một tài khoản nhưng có thể thực hiện nhiều khoản thanh toán.
Từ đó, ta có thể suy ra rằng bản chất của mối quan hệ giữa các thành viên và các đơn vị thanh toán là mối quan hệ một-nhiều.
Tạo mô hình EER bằng cách sử dụng MySQL Workbench
In MySQL WorkbenchNhấp vào nút “+”.
Double Nhấp vào nút Thêm sơ đồ để mở không gian làm việc cho sơ đồ ER.
Cửa sổ sau xuất hiện.
Hãy nhìn vào hai đối tượng mà chúng ta sẽ làm việc cùng.
- Đối tượng bảng
Cho phép chúng ta tạo ra các thực thể và định nghĩa các thuộc tính liên kết với thực thể đó.
- Mối quan hệ địa điểm
Nút này cho phép chúng ta xác định mối quan hệ giữa các thực thể.
Thực thể Thành viên sẽ có các thuộc tính sau:
- Số thành viên
- Tên đầy đủ
- Giới tính
- Ngày tháng năm sinh
- Địa chỉ vật lý
- địa chỉ bưu điện
Bây giờ chúng ta hãy tạo bảng Thành viên.
1. Kéo đối tượng bảng từ bảng công cụ.
2. Kéo thả nó vào khu vực làm việc. Một thực thể có tên là bảng 1 sẽ xuất hiện.
3. Double Nhấp chuột vào đó. Cửa sổ thuộc tính như hình bên dưới sẽ hiện ra.
Tiếp theo,
- Thay đổi bảng 1 thành Thành viên.
- Chỉnh sửa idtable1 mặc định thành membership_number.
- Nhấp chuột vào dòng tiếp theo để thêm trường tiếp theo.
- Thực hiện tương tự với tất cả các thuộc tính được xác định trong thực thể Thành viên.
Cửa sổ thuộc tính của bạn bây giờ sẽ trông như thế này.
Lặp lại các bước trên cho tất cả các thực thể được xác định.
Không gian làm việc sơ đồ của bạn bây giờ trông giống như không gian làm việc được hiển thị bên dưới.
Hãy cùng nhau xây dựng mối quan hệ giữa các Thành viên và Dịch vụ Cho thuê Phim.
- Chọn mối quan hệ giữa các địa điểm bằng công cụ cột hiện có.
- Nhấp vào membership_number trong bảng Members.
- Nhấp vào reference_number trong bảng MovieRentals.
Lặp lại các bước trên cho các mối quan hệ khác. Sơ đồ ER của bạn giờ sẽ trông như thế này –









