Các cấu trúc của mô hình thực thể liên kết – Thuộc tính

ER-model
ER-model

Mỗi thực thể có một số thuộc tính của nó. Một thuộc tính (attribute) là một đặc tính của kiểu thực thể mà chúng ta cần quan tâm đến nó trong dự án của mình.

Thuộc tính đơn và thuộc tính phức hợp

Thuộc tính đơn (simple attribute) là thuộc tính mà không thể phân nhỏ thành các thành phần nhỏ hơn nữa.

Thuộc tính phức hợp (composite attribute) là thuộc tính mà có thể phân nhỏ nó thành các thành phần khác nhỏ hơn.

Ví dụ:

  • Số điện thoại: là một thuộc tính đơn, vì chúng ta không thể tách 1 số điện thoại thành các thành phần nhỏ hơn nữa.
  • Địa chỉ: có thể xem là một thuộc tính phức hợp, chúng ta có thể tách các đơn vị hành chính như: xã-phường, quận-huyện, tỉnh-thành phố ra thành các thuộc tính nhỏ hơn để dễ quản lý.

Thuộc tính đơn trị và thuộc tính đa trị

Thuộc tính đơn trị là thuộc tính mà mỗi thể hiện của thực thể chỉ nhận một giá trị duy nhất.

Thuộc tính đa trị (multivalued attribute) là thuộc tính mà mỗi thể hiện của thực thể có thể nhận nhiều hơn 1 giá trị.

Ví dụ:

  • Ngày sinh là một thuộc tính đơn trị của thực thể SINH VIÊN, mỗi thể hiện của thực thể này là 1 bạn sinh viên cụ thể chỉ có duy nhất 1 giá trị ngày sinh.
  • Chuyên môn là một thuộc tính đa trị của thực thể GIẢNG VIÊN, mỗi giảng viên có thể có nhiều chuyên môn như: ‘Lập trình’, ‘Toán cao cấp’ và ‘CSDL’….vv

Thuộc tính dẫn xuất

Thuộc tính dẫn xuất (derived) là một thuộc tính có thể suy ra từ những thuộc tính liên quan.

Ví dụ: Trong trường học, chúng ta cần quan tâm đến tuổi của sinh viên, tuy nhiên thuộc tính tuổi không cần lưu vào CSDL một cách trực tiếp, chúng ta có thể dựa vào ngày sinh để suy ra tuổi của họ. Vậy thuộc tính tuổi chính là một thuộc tính dẫn xuất.

Thuộc tính xác định

Thuộc tính xác định (identifier attribute) là một thuộc tính hoặc một tổ hợp vài thuộc tính mà thông qua đó, chúng ta xác định được những thể hiện riêng biệt của một thực thể.

Ví dụ: Một chiếc xe máy có nhiều thuộc tính khác nhau như: nhãn hiệu, loại xe, năm sản xuất, màu sơn…số khung, số máy…vv Với 2 thuộc tính ‘số khung’ và ‘số máy’ chúng ta có thể phân biệt được tất cả các thể hiện của thực thể này.

Biểu diễn thuộc tính trong sơ đồ ER

Để biểu diễn 1 thuộc tính trong sơ đồ ER, chúng ta sử dụng hình elíp (ellipse) và một đường thẳng nối đến thực thể hoặc mối liên kết mà thuộc tính đó thuộc về.

Với thuộc tính dẫn xuất chúng ta sẽ sử dụng hình elíp với nét gạch đứt. Và với thuộc tính đa trị, chúng ta sẽ sử dụng hình elíp với 2 đười viền để thể hiện. Trong trường hợp thuộc tính là là thuộc tính xác định, tên thuộc tính sẽ được gạch chân.

Để dễ hình dung hơn, chúng ta cùng xem sơ đồ ER bên dưới:

Mô hình ER - thuộc tính
Mô hình ER – thuộc tính

Mô hình phía trên mô tả một số thuộc tính của thực thể GIẢNG VIÊN. Chúng ta có

  • Mã nhân viên là một thuộc tính xác định dựa vào thuộc tính này chúng ta có thể phân biệt các nhân viên trong trường học, cũng như các giảng viên khác nhau.
  • Số năm công tác có thể liên quan đến phúc lợi, mức lương … đây là một thuộc tính đáng quan tâm, nhưng thuộc tính này có thể suy ra từ thuộc tính ngày vào làm. Do đó, đây là một thuộc tính dẫn xuất.
  • Kỹ năng là một thuộc tính đa trị, như ví dụ phía trên, 1 giảng viên có thể có nhiều hơn 1 kỹ năng.