Thực thể là gì? Mô hình hóa thực thể – LyTuong.net

Thực thể là gì? Mô hình hóa thực thể – LyTuong.net

Thực thể là gì

Trong chương trước, chúng ta đã xem xét việc phân tích hệ thống theo cách tiếp cận từ sơ đồ chức năng kinh doanh BFD đến sơ đồ luồng dữ liệu DFD. Sơ đồ DFD chỉ ra làm thế nào, ở đâu và khi nào dữ liệu được biến đổi từ đầu vào thành đầu ra, nhưng nó không định nghĩa cấu trúc và các quan hệ giữa các thành tố dữ liệu. Trong phần này, chúng ta sẽ xem xét một cách tiếp cận thứ hai hoàn toàn khác với các tên gọi khác nhau như: Mô hình hóa thực thể, Mô hình hóa dữ liệu hoặc Phân tích dữ liệu logic. Phương pháp luận dùng để mô hình hóa dữ liệu bao gồm các kỹ thuật phân tích dữ liệu và các kỹ thuật phân tích quá trình.

Mô hình hoá thực thể hay phân tích dữ liệu là phương pháp xác định các đơn vị thông tin cơ sở có ích cho hệ thống, được gọi là các thực thể (Entity) và định rõ mối quan hệ bên trong hoặc các tham trỏ chéo với nhau giữa chúng. Mọi thành phần dữ liệu sẽ chỉ được lưu trữ một lần trong toàn bộ HTTT của tổ chức và có thể truy nhập được từ bất kỳ chương trình nào. Nói một cách ngắn gọn thì trong HTTT phải có chỗ cho mọi thứ và mọi thứ đều phải ở đúng chỗ của nó.

Phân tích dữ liệu logic là cách xem xét dữ liệu hoặc thông tin được sử dụng theo quan điểm trừu tượng thuần túy mà không tính đến chức năng kinh doanh thực tại của nó, không tính đến người sử dụng nó, nơi nó được dùng hoặc khuôn dạng vật lý, tệp hoặc tài liệu chứa nó. Đây là phương pháp thâu tóm cấu trúc tự nhiên sẵn có của thông tin. Phân tích dữ liệu logic là xem xét chính các thực thể và cơ chế vận hành của chúng, tìm kiếm phương pháp tốt nhất để lưu trữ chúng và tạo điều kiện truy cập thuận lợi nhất cho mọi người có nhu cầu trong toàn bộ hệ thống.

Trong mỗi tổ chức, giữa các bộ phận trong HTTT có mối quan hệ chằng chịt với nhau nên không thể tránh khỏi sự trùng lắp và dư thừa thông tin (Hình 1).

Hình 1. Các dòng thông tin trong một tổ chức
Hình 1. Các dòng thông tin trong một tổ chức

Hiện nay tại nhiều tổ chức, mô hình được cải tiến bằng cách thiết lập một CSDL chung cho toàn bộ hệ thống. Các bộ phận trong guồng máy quản lý không liên hệ trực tiếp như trước mà thông qua CSDL chung (Hình 2).

Hình 4.2. Mô hình CSDL trong một tổ chức hoặc doanh nghiệp
Hình 2. Mô hình CSDL trong một tổ chức hoặc doanh nghiệp

Xây dựng các thực thể

Khái niệm

Mô hình hoá thực thể hay mô hình dữ liệu logic (còn được gọi là Sơ đồ tiêu chuẩn) được xây dựng bằng bốn kiểu khối tương ứng với bốn khái niệm logic chính:

  • Thực thể (Entity)
  • Cá thể (Instance)
  • Thuộc tính (Attribute)
  • Quan hệ (Relation)

– Thực thể là một khái niệm dùng để chỉ một lớp các đối tượng có cùng đặc tính chung mà người ta muốn quản lý thông tin về nó. Mỗi thực thể có một tên duy nhất, không được trùng lặp với tên của các thực thể khác trong toàn bộ hệ thống.

Ví dụ: thực thể “Nhân viên” dùng để chỉ những người nhân viên làm việc trong tổ chức, họ có các đặc tính chung cần quản lý là mã nhân viên, tên gọi, ngày sinh, công việc chuyên môn, trình độ, thâm niên công tác…; thực thể “Sinh viên” dùng để chỉ những người đang theo học và nghiên cứu ở các trường đại học với thông tin cần quản lý là mã sinh viên, họ và tên, ngày sinh, địa chỉ, chuyên ngành học, khóa học, lớp…

Trong thực tế có rất nhiều loại thực thể khác nhau như:

  • Thực thể xác thực: mô tả cho các đối tượng hữu hình như xe đạp, nhà, máy tính…
  • Thực thể chức năng: mô tả cho mục đích, chức năng, hoặc nhiệm vụ của con người, thiết bị trong hệ thống hoặc tổ chức như sinh viên, nhân viên, khách hàng …
  • Thực thể sự kiện: mô tả cho sự kiện hoặc biến cố, như biên bản, biên lai, chứng từ kho, hóa đơn…
  • Thực thể quan hệ: mô tả quan hệ giữa các đối tượng như kết hôn, hợp đồng, chuyến hàng… Đây là một thực thể chứa mối quan hệ giữa các cá thể thuộc các thực thể khác nhau (thường có thêm dữ liệu riêng từ mối quan hệ đó).

– Cá thể: là một đối tượng cụ thể trong thực thể.

Ví dụ: Nguyễn Văn A là một cá thể của thực thể “Sinh viên”; Tivi Sony là một cá thể của thực thể “Hàng hóa”…

– Thuộc tính: là các đặc trưng riêng của các đối tượng trong thực thể. Mỗi thuộc tính có một tên riêng, không trùng lặp với tên của các thuộc tính khác trong cùng một thực thể.

READ  Account marketinglà gì? Account marketing làm việc gì? - TopCV

Ví dụ: thực thể “Sinh viên” có các thuộc tính là Mã sinh viên, Họ và tên sinh viên, Ngày sinh, Địa chỉ, Trường, Khoa, Khóa học, Lớp học… Thực thể “Hàng hóa” có các thuộc tính là Mã hàng hóa, Tên hàng hóa, Đơn vị tính, Đơn giá…

Các loại thuộc tính phổ biến:

– Thuộc tính định danh (Identifer) (hay còn gọi là khóa): là một hay tổ hợp của một số thuộc tính mà giá trị của nó được xác định một cách duy nhất đối với mỗi cá thể của một thực thể. Giá trị của các trường này không thể trùng nhau đối với các cá thể khác

+ Khi chỉ một thuộc tính là thuộc tính định danh: khóa đơn

+ Khi một số thuộc tính là thuộc tính định danh: khóa kép

Ví dụ: “số chứng minh nhân dân”, “mã nhân viên”, “mã hàng hóa”, “số hiệu khách hàng”… là các khóa đơn. Bộ hai thuộc tính “mã sinh viên, mã môn học” là khóa kép để xác định thuộc tính mô tả là “điểm thi”.

– Thuộc tính mô tả (Description): để làm rõ tính chất và cung cấp thông tin về các cá thể của thực thể. Giá trị của các thuộc tính này có thể trùng nhau với các cá thể khác nhau của cùng một thực thể.

Ví dụ:

+ Các thuộc tính mô tả của thực thể “Nhân viên” như Họ và tên, Năm sinh, Giới tính, Nghề nghiệp, Địa chỉ… ;

+ Các thuộc tính mô tả của thực thể “Sinh viên”: Họ và tên, Năm sinh, Giới tính, Trường học, Lớp học …

+ Các thuộc tính mô tả của thực thể “Hàng hóa”: Tên hàng hóa, Đơn vị tính, Đơn giá, xuất xứ,…

– Thuộc tính quan hệ (Relation): là những thuộc tính mà giá trị của nó cho phép xác định mối quan hệ giữa cá thể trong cùng một thực thể hoặc của thực thể này với cá thể của thực thể

+ Nếu xét mối quan hệ giữa cá thể trong cùng một thực thể, thì thuộc tính quan hệ của một cá thể sẽ nhận giá trị ứng với giá trị thuộc tính định danh của cá thể mà nó có quan hệ.

+ Nếu xét mối quan hệ giữa cá thể của hai thực thể, thuộc tính này rất giống với thuộc tính mô tả thông thường trong bản thân thực thể chứa nó nhưng ở trong một thực thể khác thì nó là một thuộc tính định danh.

Ví dụ: Trong thực thể “Hóa đơn” chứa thuộc tính “Mã khách hàng” – cho ta biết ai là người đặt hàng. Thuộc tính này đồng thời xuất hiện trong thực thể “Khách hàng” với tư cách là thuộc tính định danh. Tóm lại, thuộc tính “Mã khách hàng” chỉ ra mối quan hệ giữa một khách hàng với một hóa đơn. Điều này cũng nói lên không cần lưu giữ các thông tin khác của khách hàng trong bảng thực thể “Hóa đơn”, nếu muốn biết các thông tin chi tiết về khách hàng, chỉ cần dùng “Mã khách hàng” để dò tiếp trong bảng thực thể “Khách hàng”.

Hình 3. Các dạng thuộc tính của thực thể
Hình 3. Các dạng thuộc tính của thực thể

– Thuộc tính lặp (Repeatable) là những thuộc tính có thể nhận nhiều hơn một giá trị.

Ví dụ: Kỹ năng là một thuộc tính lặp vì mỗi nhân viên có thể có nhiều kỹ năng như soạn thảo văn bản, lái xe, ca hát… Trong hóa đơn bán hàng, thuộc tính “Tên hàng hóa” là một thuộc tính lặp vì trong một hóa đơn có thể ghi nhiều tên hàng hóa.

– Thuộc tính thứ sinh (Secondary): là những thuộc tính mà giá trị của nó có thể tính toán hoặc suy luận từ các thuộc tính khác.

Ví dụ: thuộc tính “Thành tiền” trong hóa đơn bán hàng là thuộc tính thứ sinh vì nó được tính bằng số lượng nhân với đơn giá hoặc thuộc tính “Viết bằng chữ” cũng là thuộc tính thứ sinh vì nó được suy ra từ tổng số tiền phải trả.

Các phương pháp biểu diễn thực thể

♦ Biểu diễn thực thể trên sơ đồ: bằng cách dùng các ký pháp ở hình 4.

Hình 4. Các ký pháp biểu diễn thực thể
Hình 4. Các ký pháp biểu diễn thực thể

Mỗi ký pháp tương ứng với một khái niệm: thực thể, thuộc tính mô tả, thuộc tính định danh (khóa), thuộc tính quan hệ và thuộc tính lặp.

Hình 5. Thực thể Nhân viên
Hình 5. Thực thể Nhân viên

Ví dụ, thực thể “Nhân viên” được vẽ như hình trên. Mỗi nhân viên có một mã nhân viên dùng để phân biệt nhau. Tổ chức chỉ quan tâm quản lý Họ và tên nhân viên, địa chỉ nhà riêng, các kỹ năng và phòng công tác của nhân viên.

Cùng với khái niệm thuộc tính lặp còn có nhóm lặp lại: là nhóm gồm nhiều thuộc tính lặp của một thực thể liên quan nhau về ý nghĩa.

Ví dụ: {Họ và tên người thân, Tuổi, Quan hệ} là tập các thuộc tính đa trị phụ thuộc vào mỗi nhân viên: mỗi nhân viên có một vài người thân (có thể là cha, mẹ, vợ/chồng, con), mỗi người thân có họ và tên, tuổi và mối quan hệ với người nhân viên (cha/mẹ/vợ/,…).

READ  Giải đáp tuổi Giáp Thân sinh năm bao nhiêu? - Tuvikhoahoc.vn
Hình 6. Thực thể Nhân viên
Hình 6. Thực thể Nhân viên

♦ Biểu diễn thực thể dưới dạng bảng:

Bảng thực thể là một cấu trúc đơn giản gồm cột và hàng:

  • Mỗi cột của bảng thực thể tương ứng với một thuộc tính của thực thể,
  • Mỗi hàng của bảng quan hệ tương ứng với một cá thể trong thực thể. Các bảng thực thể của một hệ thống phải thoả mãn các điều kiện sau:
  • Mỗi bảng chỉ có một tên duy nhất trong toàn bộ hệ thống.
  • Các giá trị của các cột đều là nguyên tố (không chứa nhiều thành phần nhỏ hơn). Mỗi phần tử của bảng là đơn vị dữ liệu nhỏ nhất được hệ thống lưu trữ và đọc ra. Như vậy, nếu thực thể khách hàng có thuộc tính “địa chỉ” gồm “số nhà”, “đường”, “phường”, “quận” mà hệ thống cần phải phân biệt trên từng thành tố này (ví dụ: để đếm số lượng khách hàng có trong một quận), thì bảng thực thể tương ứng sẽ phải có các trường “số nhà”, “đường”, “phường”, “quận” thay vì chỉ có 1 trường “địa chỉ”.
  • Mỗi dòng là duy nhất, không thể có 2 dòng hoàn toàn giống nhau trong một bảng. Tương tự như vậy giá trị khóa của bảng không được rỗng và phải là duy nhất trong bảng. Khóa của bảng tương ứng với khóa của thực thể.
  • Mỗi cột có một tên duy nhất trong bảng để phân biệt với các cột khác của bảng. Thứ tự của các cột trong bảng không quan trọng.

Chúng ta không quan tâm đến cấu trúc lưu trữ vật lý (kiểu, loại) của bảng thực thể. Ngoài việc bảo vệ toàn vẹn dữ liệu, chúng ta cần quan tâm hạn chế tối đa sự trùng lặp dữ liệu ở các dòng, vì khó bảo toàn được tính nhất quán cho dữ liệu khi chúng được cập nhật (thêm, xóa, sửa) và sẽ gây lãng phí không gian lưu trữ vật lý khi cài đặt bảng trên CSDL.

Ví dụ:

Bảng 1. Bảng thực thể “NHÂN VIÊN”

#Mã NV Họ và tên Ngày sinh Địa chỉ Kỹ năng 1 Kỹ năng 2 VP01 Nguyễn Văn An … … … VP02 Lê Thanh Bình … … … TCCB04 Trần Thu Hà … … … KT12 Vũ Ngọc Hoa … … … … … … … … …

Xác định mối quan hệ giữa các thực thể

Trong thực tế, các thực thể không thể tồn tại độc lập mà chúng luôn luôn có quan hệ mật thiết với nhau. Quan hệ ở đây là mối liên kết giữa một hoặc nhiều thực thể để chỉ ra sự liên quan về nội dung và ý nghĩa giữa các cá thể trong các thực thể.

Ví dụ như mối quan hệ giữa thực thể “khách hàng” và thực thể “hóa đơn” (khách hàng mua hàng được liệt kê trong hóa đơn, trong mỗi hóa đơn có tên một khách hàng), mối quan hệ giữa thực thể “sản phẩm” và thực thể “nhà cung cấp” (một sản phẩm được cung cấp bởi một số nhà cung cấp và một nhà cung cấp sẽ cung cấp một số loại sản phẩm nào đó). Quan hệ “Mỗi sinh viên học nhiều môn học, mỗi môn học có nhiều sinh viên tham gia” thể hiện sự liên kết ý nghĩa của thực thể “Sinh viên” và thực thể “Môn học”.

Khi xác định một quan hệ giữa các cá thể của cùng một thực thể hoặc của hai thực thể thì tất cả các cá thể trong thực thể đều được xét đến quan hệ này (có thể có hoặc không có quan hệ này). Giữa chúng có thể có nhiều quan hệ khác nhau, ví dụ giữa hai thực thể “Nhân viên” và “Công việc” có quan hệ “Thực hiện”, “Phân công”, “Kiểm tra”… Do đó, việc xác định quan hệ giữa các cá thể của cùng một thực thể hoặc của các thực thể mang tính chọn lọc, chỉ nên quan tâm đến quan hệ nào cần sử dụng trong hệ thống.

Những mối quan hệ như vậy được biểu diễn trên mô hình thực thể bằng hình thoi, bên trong ghi tên quan hệ, các đoạn thẳng nối từ hình thoi với các hình chữ nhật ghi tên các thực thể.

Hình 7. Biểu diễn mối quan hệ giữa hai thực thể

♦ Có hai khái niệm liên quan đến các mối quan hệ giữa các thực thể, đó là bậc quan hệ và kiểu quan hệ.

Bậc của quan hệ chỉ số lượng thực thể tham gia vào quan hệ đó, cụ thể là:

+ Quan hệ bậc 1 là quan hệ của một cá thể với các cá thể khác thuộc cùng một thực thể.

+ Quan hệ bậc 2 là quan hệ giữa 2 thực thể. Đây là quan hệ thường gặp trong thực tế.

+ Quan hệ bậc 3 trở lên được gọi quan hệ bậc cao. Người ta đã chứng minh được rằng mọi quan hệ bậc cao đều biến đổi được về quan hệ bậc 2.

Kiểu quan hệ liên quan tới mỗi cá thể của một thực thể không liên kết hoặc có liên kết với một hoặc nhiều cá thể của chính nó hoặc của các thực thể khác. Có ba kiểu quan hệ chính được sử dụng dưới các dạng đơn giản nhất của Mô hình thực thể:

READ  Thuật Ngữ Trong Rap – Những Thuật Ngữ ... - Phê Bình Văn Học

+ Kiểu quan hệ Một – Một (1-1)

+ Kiểu quan hệ Một – Nhiều (1-N)

+ Kiểu quan hệ Nhiều – Nhiều (N-N)

Trong mỗi bậc quan hệ đều tồn tại các kiểu quan hệ nêu trên.

Quan hệ bậc 1

Kiểu quan hệ 1-1 của quan hệ bậc 1: một cá thể không có quan hệ hoặc chỉ quan hệ với một cá thể khác thuộc cùng một thực thể.

Quan hệ bậc 2

Có hai thực thể tham gia mối quan hệ.

♦ Kiểu quan hệ 1-1 của quan hệ bậc 2

Người ta nói thực thể A có quan hệ 1-1 với thực thể B nếu mỗi cá thể của thực thể A hoặc là không liên kết hoặc là liên kết với chỉ một cá thể của thực thể B và ngược lại, mỗi cá thể của thực thể B hoặc là không liên kết hoặc là liên kết với chỉ một cá thể của thực thể A.

Có 2 cách biểu diễn quan hệ 1-1 được trình bày ở hình 11.

♦ Kiểu quan hệ 1-N của quan hệ bậc 2

Người ta nói thực thể A có quan hệ 1-N với thực thể B nếu mỗi cá thể của thực thể A liên kết với một hoặc nhiều cá thể của thực thể B và mỗi cá thể của thực thể B chỉ liên kết với một cá thể của thực thể A.

♦ Kiểu quan hệ N-N của quan hệ bậc 2

Người ta nói thực thể A có quan hệ N-N với thực thể B nếu mỗi cá thể của thực thể A liên kết với nhiều cá thể của thực thể B và mỗi cá thể của thực thể B liên kết với nhiều cá thể của thực thể A.

Khái niệm “nhiều cá thể” ở đây có thể là 0, 1 hay nhiều cá thể, có nghĩa là: mỗi cá thể của thực thể A liên kết với 0, 1 hay nhiều cá thể của thực thể B và ngược lại, mỗi cá thể của thực thể B liên kết với 0, 1 hay nhiều cá thể của thực thể A.

Quan hệ bậc 3

Ta xét 3 thực thể là “Nhà cung cấp”, “Hàng hóa” và “Siêu thị”. Quan hệ được xét là nhà cung cấp cung cấp hàng hóa cho các siêu thị.

Việc mô tả các mối quan hệ giữa các cá thể của cùng một thực thể hoặc của các thực thể khác nhau phụ thuộc vào kiểu quan hệ.

– Đối với kiểu quan hệ 1-1 và 1-N: Chúng có thể được mô tả bằng một thuộc tính quan hệ ở một thực thể, thuộc tính này là thuộc tính định danh của chính thực thể đó hoặc của thực thể

Ví dụ. “Mỗi sinh viên thuộc một lớp học”. Có hai thực thể “Sinh viên”, “Lớp học” và mối quan hệ “Thuộc” được xét đến trong phát biểu trên. Để biểu diễn quan hệ “Thuộc”, ta sử dụng thuộc tính quan hệ “Mã Lớp học” như sau:

Thực thể “Lớp học” có các thuộc tính: #Mã Lớp học, Khóa học, Ngành học, … Thực thể “Sinh viên” có các thuộc tính: #Mã Sinh viên, Họ và tên, …, Mã Lớp học Qua đó, chúng ta sẽ biết một sinh viên thuộc lớp học nào.

– Đối với kiểu quan hệ N-N: cần xây dựng một thực thể quan hệ. Thực thể này thường có những thuộc tính riêng (trong một số ít trường hợp có thể không có thuộc tính riêng).

Ví dụ 1. “Mỗi sinh viên sau mỗi lần thi một môn học sẽ có một điểm xác định cho lần thi đó”. Có 2 thực thể “Sinh viên” và “Môn học” được đề cập trong phát biểu; quan hệ “Thi” liên kết 2 thực thể này. “Lần thi” và “Điểm” là dữ liệu phát sinh sau khi thi nên chúng là thuộc tính của quan hệ Thi, không phải là thuộc tính của sinh viên hoặc môn học. Vì một sinh viên S có thể thi nhiều lần đối với một môn học M, nên quan hệ “Thi” cần có nhiều bộ dữ liệu (lần thi, điểm) để mô tả cho mối liên kết (S, M) trong quan hệ “Thi”. Như vậy “Thi” là một thực thể quan hệ, được vẽ trong hình sau:

Ví dụ 2. Có 2 thực thể “Giảng viên” và “Môn học”. Chúng ta muốn xác định “Danh sách các môn đã giảng dạy của giảng viên”. Khi đó cần xây dựng thực thể quan hệ “Giảng viên – Môn học” với hai thuộc tính quan hệ “Mã giảng viên” và “Mã môn học”. Trong trường hợp này, thực thể quan hệ có thể không chứa các thuộc tính mô tả riêng. Tuy nhiên, giữa giảng viên và môn học có thể quản lý một số thông tin như “Số năm đã dạy”, “Chất lượng giảng dạy” môn học đó…