Mô hình quan hệ – thực thể (Entity – Relationship Model) là gì

1240
mô hình quan hệ thực thể là gì

Mô hình quan hệ – thực thể là gì?

Mô hình quan hệ thực thể (Entity Relationship model – E-R) ,được CHEN giới thiệu vào năm 1976, là một mô hình được sử dụng rộng rãi trong các bản thiết kế cơ sở dữ liệu ở mức khái niệm, được xây dựng dựa trên việc nhận thức thế giới thực thông qua tập các đối tượng được gọi là các thực thể và các mối quan hệ giữa các đối tượng này.

So với mô hình mạng thì mô hình quan hệ thực thể có nhiều ưu điểm hơn và nó thể hiện rõ hơn các thành phần trong thế giới thực. Nếu như mô hình mạng chỉ biểu diễn các đối tượng chính chứ không mô tả được các đặc điểm trong đối tượng đó thì trong mô hình quan hệ thực thể lại khắc phục được những điểm yếu này. Chính vì vậy việc lựa chọn mô hình này luôn là quyết định của các nhà phân tích thiết kế cơ sở dữ liệu.

  Cryptography - Nó là gì và hoạt động như thế nào?
  JSON Web Token (JWT) là gì ?

Vai trò của mô hình E-R trong quá trình thiết kế cơ sở dữ liệu

Mục tiêu của mô hình E-R trong quá trình thiết kế cơ sở dữ liệu đó là phân tích dữ liệu, xác định các đơn vị thông tin cơ bản cần thiết của tổ chức, mô tả cấu trúc và mối liên hệ giữa chúng

Mô hình quan hệ - thực thể là gì

E-R là mô hình trung gian để chuyển những yêu cầu quản lý dữ liệu trong thế giới thực thành mô hình cơ sở dữ liệu quan hệ.

Tìm hiểu thêm về Bigdata là gì?

Các thành phần cơ bản của mô hình E-R

Thực thể và tập thực thể

Thực thể là một đối tượng trong thế giới thực.

Một nhóm bao gồm các thực thể tương tự nhau tạo thành một tập thực thể.

Việc lựa chọn các tập thực thể là một bước vô cùng quan trọng trong việc xây dựng sơ đồ về mối quan hệ thực thể.

Ví dụ: “Quản lý các dự án của công ty”

  • Một nhân viên là một thực thể
  • Tập hợp các nhân viên là tập thực thể
  • Một dự án là một thực thể
  • Tập hợp các dự án là tập thực thể
  • Một phòng ban là một thực thể
  • Tập hợp các phòng ban là tập thực thể

Thuộc tính

Mỗi tập thực thể có một tập các tính chất đặc trưng, mỗi tính chất đặc trưng này gọi là thuộc tính của tập thực thể. Ứng với mỗi thuộc tính có một tập các giá trị cho thuộc tính đó gọi là miền giá trị.

Miền giá trị của thuộc tính gồm các loại giá trị như sau:

  • Kiểu chuỗi (string)
  • Kiểu số nguyên (integer)
  • Kiểu số thực (real)

Ví dụ tập thực thể NHANVIEN có các thuộc tính

  • Họ tên (hoten: string[20])
  • Ngày sinh (ns: date)
  • Điểm TB (DTB:float)

Thuộc tính bao gồm các loại như sau:

  • Thuộc tính đơn – không thể tách nhỏ ra được
  • Thuộc tính phức hợp – có thể tách ra thành các thành phần nhỏ hơn

Các loại giá trị của thuộc tính:

  • Đơn trị: các thuộc tính có giá trị duy nhất cho một thực thể (VD: số CMND, …)
  • Đa trị: các thuộc tính có một tập giá trị cho cùng một thực thể (VD: bằng cấp, …)
  • Suy diễn được (năm sinh <—-> tuổi)

Mỗi thực thể đều được phân biệt bởi thuộc tính khóa

Ví dụ 1: tập thực thể NHANVIEN có các thuộc tính

  • Mã NV (MaNV: integer)
  • Họ tên (Hoten: string[50])
  • Ngày sinh (ns:date)
  • Địa chỉ (diachi:string[100])
  • Quê quán (quequan:string[30])
  • Hệ số lương (hsluong:float)
  • Hệ số phụ cấp (hsphucap:float)
  • Tổng lương (tongluong:float)

Ví dụ 2:

Mô hình quan hệ - thực thể là gì

Ví dụ 3:

Mô hình quan hệ - thực thể là gì

Mối quan hệ giữa các tập thực thể:

Quan hệ là sự liên kết giữa hai hay nhiều tập thực thể

Ví dụ giữa tập thực thể NHANVIEN và PHONGBAN có các liên kết như sau:

  • Một nhân viên thuộc một phòng ban nào đó
  • Một phòng ban có một nhân viên làm trưởng phòng

Tập quan hệ là tập hợp các mối quan hệ giống nhau

Lược đồ E-R:

Là đồ thị biểu diễn các tập thực thể, thuộc tính và mối quan hệ

Các ký hiệu trong lược đồ E-R

  • Đỉnh:

Mô hình quan hệ - thực thể là gì

  • Cung: là đường nối giữa tập thực thể và thuộc tính, mối quan hệ và tập thực thể

Ví dụ lược đồ E-R:

Mô hình quan hệ - thực thể là gì

Các kiểu liên kết trong lược đồ E-R:

Mô hình quan hệ - thực thể là gì

Ví dụ:

  • Một phòng ban có nhiều nhân viên

Mô hình quan hệ - thực thể là gì

  • Một nhân viên chỉ thuộc 1 phòng ban

Mô hình quan hệ - thực thể là gì

  • Một nhân viên có thể được phân công vào nhiều dự án hoặc không được phân công vào dự án nào

Mô hình quan hệ - thực thể là gì

  • Một nhân viên có thể là trưởng phòng của 1 phòng ban nào đó

Mô hình quan hệ - thực thể là gì

Một loại thực thể có thể tham gia nhiều lần vào một quan hệ với nhiều vai trò khác nhau

Mô hình quan hệ - thực thể là gì

Thuộc tính khóa:

Mỗi tập thực thể phải có 1 khóa

Một khóa có thể có 1 hay nhiều thuộc tính

Có thể có nhiều khóa trong 1 tập thực thể, ta sẽ chọn ra 1 khóa làm khóa chính cho tập thực thể đó

Xây dựng mô hình E-R

Quy tắc

  • Chính xác
  • Tránh trùng lặp
  • Dễ hiểu
  • Chọn đúng mối quan hệ
  • Chọn đúng kiểu thuộc tính

Các bước xây dựng

  • Liệt kê, chọn lọc thông tin
  • Xác định tập thực thể
  • Xác định mối quan hệ
  • Xác định thuộc tính và gắn thuộc tính cho tập thực thể và mối quan hệ
  • Quyết định thuộc tính khóa
  • Vẽ biểu đồ mô hình thực thể E-R
  • Chuẩn hóa biểu đồ

Ví dụ

Ví dụ 1: Xây dựng mô hình E-R cho cơ sở dữ liệu quản lý đơn đặt hàng với các thông tin như sau:

Mô hình quan hệ - thực thể là gì

Bước 1: Liệt kê, chọn lọc thông tin:

— Đơn đặt hàng gồm những thông tin như sau:

  • Số đơn hàng (Số ĐH)
  • Tên đơn vị đặt hàng (Tên ĐV)
  • Địa chỉ
  • Điện thoại
  • Ngày đặt
  • Tên hàng
  • Mô tả
  • Đơn vị tính (Đv tính)
  • Số lượng
  • Người đặt hàng (Họ tên NĐ)

— Phiếu giao hàng gồm những thông tin như sau:

  • Số phiếu giao hàng (Số PG)
  • Tên đơn vị đặt hàng (Tên ĐV)
  • Địa chỉ
  • Nơi giao hàng (Tên nơi GH)
  • Ngày giao
  • Tên hàng
  • Đơn vị tính (Đv tính)
  • Số lượng
  • Đơn giá
  • Thành tiền
  • Tên người nhận (Họ tên NN)
  • Tên người giao (Họ tên NG)

Bước 2: Xác định thực thể, thuộc tính:

— Thực thể ĐƠN VỊ ĐH gồm các thuộc tính sau:

  • Mã ĐV
  • Tên ĐV
  • Địa chỉ
  • Điện thoại

— Thực thể ĐƠN VỊ KH gồm các thuộc tính sau:

  • Mã ĐV
  • Tên ĐV
  • Địa chỉ

— Thực thể HÀNG gồm các thuộc tính sau:

  • Mã hàng
  • Tên hàng
  • Đv tính
  • Mô tả hàng

— Thực thể NGƯỜI ĐẶT gồm các thuộc tính sau:

  • Mã số NĐ
  • Họ tên NĐ

— Thực thể NƠI GIAO gồm các thuộc tính sau:

  • Mã số ĐĐG
  • Tên nơi giao

— Thực thể NGƯỜI NHẬN gồm các thuộc tính sau:

  • Mã số NN
  • Họ tên NN

— Thực thể NGƯỜI GIAO gồm các thuộc tính sau:

  • Mã số NG
  • Họ tên NG

Bước 3: Xác định các mối quan hệ

— Hai động từ tìm được là: Đặt, Giao –> Dựa vào hai động từ tìm được, đặt các câu hỏi để xác định các mối quan hệ như sau:

Mô hình quan hệ - thực thể là gì

— Từ đó ta có các quan hệ như sau:

  • Người đặt hàng THUỘC Đơn vị đặt hàng
  • Người nhận hàng THUỘC Đơn vị khách hàng

Bước 4: Vẽ biểu đồ mô hình quan hệ thực thể E-R

Mô hình quan hệ - thực thể là gì

Bước 5: Chuẩn hóa, rút gọn mô hình quan hệ thực thể E-R

Do đơn vị đặt hàng và đơn vị khách hàng đều là các đơn vị ở bên ngoài giao dịch với cửa hàng nên ta gộp thành một thực thể là Đơn vị khách gồm các thuộc tính: Mã ĐV, Tên ĐV, Địa chỉ, Điện thoại

Ta có mô hình E-R như sau:

Mô hình quan hệ - thực thể là gì

Ví dụ 2: Xây dựng cơ sở dữ liệu đề công ty theo dõi các thông tin liên quan đếnnhân viên, phòng ban và đề án với các yêu cầu sau:

  • Cty có nhiều phòng ban, mỗi phòng ban có tên duy nhất, mã phòng ban duy nhất, một trưởng phòng và ngày nhận chức.
  • Mỗi phòng ban có thể ở nhiều nhiều nhân viên
  • Nhân viên có mã nhân viên, họ tên, địa chỉ, chức vụ
  • Mỗi nhân viên làm việc ở 1 phòng ban, tham gia vào các đề án
  • Mỗi đề án có mã đề án, tên đề án

Ta có lược đồ E-R như sau:

Mô hình quan hệ - thực thể là gì

Kết luận

Cảm ơn các bạn đã theo dõi. Hy vọng qua bài viết này, các bạn có thể hiểu hơn về mô hình quan hệ – thực thể là gì.

Nguồn tham khảo: 

Đừng bỏ lỡ những bài viết hay về:

Xem thêm việc làm Software Developers hot nhất trên TopDev

TopDev via viblo

  First-class functions trong Javascript là gì? (Phần 1)
  Gitignore là gì ?