V. Ma trận chức năng thực thể
2. Thuộc tính
Thuộc tính ( attribute ) là một đặc trng của thực thể, thể hiện một khía cạnh nào đó của thực thể có liên quan tới hệ thống. Mỗi một thực thể có một tập hợp các thuộc tính. Mô tả một thực thể chính là các mô tả các thuộc tính của nó.
Ví dụ:
- Tên của khách hàng là Nguyễn Văn A - Địa chỉ của khách hàng là 15, LTT, HP - Số đơn hàng là 1256
- Mã khách hàng là KH027
- Họ tên của sinh viên là Trần Văn An
- Ngày sinh của Trần Văn An là 19/ 12/ 1972 - Lớp của Trần Văn An là T35
Trong các ví dụ trên, giá trị cụ thể của thuộc tính ứng với từng thực thể đợc nêu ra kèm với một cái tên:
- Tên : Nguyễn Văn A
- Địa chỉ : 15, LTT, HP - Số đơn hàng : 1256 - Mã khách hàng: KH027 - Họ tên : Trần Văn An - Ngày sinh : 19/ 12/ 1972 - Lớp : T35
Tên đợc nêu ra ở đây thực chất là tên chung đối với mọi giá trị đợc lựa chọn để mô tả một khía cạnh nào đó của thực thể. Chẳng hạn, cùng với tên “ Ngày sinh” nh ng các giá trị khác nhau là thông tin về ngày tháng năm sinh của các sinh viên khác nhau. Trong ví dụ trên có các thuộc tính nh: tên, địa chỉ, số đơn hàng, mã khách hàng, họ tên, ngày sinh, lớp.
Nh vậy, thuộc tính thể hiện một đực trng, một khía cạnh thông tin nào đó của kiểu thực thể. Do đó, kiểu thực thể còn đợc hiểu là một tập hợp các thực thể đợc mô tả bởi cùng một tập hợp các thuộc tính và cùng mô tả về một đối tợng nào đó trong hệ thống.
Với cách hiểu nh vậy thì mỗi kiểu thực thể có thể hình dung nh một bảng, trong đó, mỗi thuộc tính đợc biểu diễn nh một cột, mỗi thực thể biểu diễn trên một dòng, giá trị thuộc tính của một thực thể cụ thể nào đó đợc biểu diễn trong một ô của bảng. Cũng vì vậy mà kiểu thực thể còn đợc gọi là bảng thực thể.Một số ví dụ về các kiểu thực thể đ- ợc mô tả thông qua tập hợp các thuộc tính:
Sinh viên : Mã SV. Họ tên SV, Ngày sinh, Nghành học, Lớp, Trình độ ngoại ngữ Đơn hàng :Số ĐH, Mã KH (Khách hàng), Tên KH, Địa chỉ KH, Số TK, Ngày lập ĐH, Mã MH, Tên MH, Đơn vị tính, Số lợng, Đơn giá
Mặt hàng : Mã MH, Tên MH,Mô tả MH, Đơn vị tính, Đơn giá, Số lợng
Khách hàng : Mã KH, Tên KH, Địa chỉ,Điện thoại, Số TK
Số điểm : Mã SV, Mã MH, Điểm
Các thuộc tính đợc chia ra làm bốn loại:
f) Thuộc tính định danh ( identifer attribute )
Một hoặc tập hợp một số thuộc tính trong kiểu thực thể đợc gọi là thuộc tính định danh ( hay khoá ) nếu thông qua giá trị của nó, có thể xác định thực thể một cách duy nhất. Nói cách khác, thuộc tính định danh ( hay khoá ) đảm bảo sự tham khảo tới từng thực thể trong bảng thực thể. Thuộc tính định danh có thể có sẵn khi xác định kiểu thực thể, cũng có thể không có sẵn ở thời điểm mới xác định kiểu thực thể. Trong trờng hợp không có sẵn thuộc tính định danh, phân tích viên phải đa ra đợc thiết kế thuộc tính định danh phù hợp với các yêu cầu của hệ thống. Khi mô tả kiểu thực thể bằng danh sách các thuộc tính, thuộc tính định danh đợc ghạch chân để phân biệt với các thuộc tính khác. Ví dụ về thuộc tính định danh:
Mã SV trong kiểu thực thể sinh viên
Số ĐH trong kiểu thực thể Đơn hàng
Mã KH trong kiểu thực thể Khách hàng
Mã SV, Mã MH trong kiểu thực thể Sổ điểm
Thông thờng, thuộc tính định danh đợc viết với các tiền tố ID, # SH ( số hiệu ) hoặc Mã, nh “ ID Student ”, “ Mã SV”. Trong một kiểu thực thể có thể có nhièu thuộc tính dùng làm định danh đợc. Ví dụ, Trong hồ sơ nhân viên có “ Mã nhân viên” hoặc “ Số CMT” đều có thể dùng làm định danh.
Khi chọn hoặc xây dựng thuộc tính định danh mới, phải chú ý đảm bảo sao cho thuộc tính này không chứa giá trị rỗng và không chứa những thành phần có khả năng thay đổi trong quá trình hoạt động của hệ thống. Ví dụ, Nừu trong Mã SV có chứa thông tin về lớp hoặc khoá học thì rõ ràng là không tốt, vì thông tin sẽ bị thay đổi khi sinh viên chuyển lớp học khoá học. Các chi tiết trong Mã SV không phản ánh đúng thông tin về sinh viên nếu có thay đổi.
Với nhiều kiểu thực thể, phần lớn các thuộc tính của nó là thuộc tính mô tả. Các thuộc tính mô tả cung cấp thông tin làm rõ thêm về thực thể. Chẳng hạn, trong kiểu thực thể Khách hàng, các thuộc tính Tên KH, Địa chỉ KH hoặc số TK là các thuộc tính mô tả.
Thuộc tính mô tả chỉ cần xuất hiện trong một kiểu thực thể nào đó của mô hình dữ liệu của hệ thống. Nừu thuộc tính mô tả xuất hiện trong nhiều kiểu thực thể thì có thể gây ra d thừa dữ liệu, và là nguyên nhân dẫn đến sự không nhất quán về dữ liệu trong hệ thống. Chẳng hạn, trong kiểu thực thể Khách hàng có thuộc tính “ Địa chỉ KH”, và trong kiểu thực thể Đơn hàng cũng có thuộc tính “ Địa chỉ KH”. Trong bảng thực thể Đơn hàng địa chỉ của một khách hàng nào đó có thể xuất hiện nhiều lần. Ngoài việc gây ra tốn không gian lu trữ, còn có thể gây ra sự không thống nhất về địa chỉ của khách hàng trong bảng thực thể Đơn hàng, hoặc sự không thống nhất giữa địa chỉ khách hàng trong bảng thực thể Đơn hàng với địa chỉ khách hàng trong bảng thực thể Khách hàng. Trong số các thuộc tính mô tả có một số thuộc tính mang nhiệm vụ kết nối, chỉ ra mối liên kết giữa một thực thể trong một bảng thực thể này và một thực thể khác trong một bảng khác. Trong thực thể chứa nó thì thuộc tính kết nối giống nh thuộc tính mô tả, nhng trong thực thể khác ở bảng khác có liên kết với bảng thực thể chứa nó thì thông thờng thuộc tính này là một định danh.
Ví dụ, xét hai bảng thực thể
Khách hàng : Mã KH, Tên KH, Địa chỉ KH, Điện thoại, Số TK Và
Đơn hàng : Số ĐH, Mã KH, Tên KH, Địa chỉ KH, Ngày lập ĐH, Chi tiết mặt hàng Thuộc tính Mã KH trong kiểu thực thể Đơn hàng là thuộc tính kết nối, nó cho biết thông tin về ngời chủ của Đơn hàng này trong bảng thực thể Khách hàng. Các thông tin về khách hàng này đợc lu trữ trong bảng thực thể Khách hàng và trong bảng thực thể này thuộc tính Mã KH là thuộc tính định danh.
Trong phần này trình bày về hai loại thuộc tính đợc nêu trong mô hình thực thể liên kết mở rộng: Thuộc tính phức hợp và thuộc tính đa trị. Đây là thuộc tính thờng xuyên gặp phải ở giai đoạn đầu của phân tích dữ liệu. Mặc dù tài liệu này chỉ trình bày về mô hình thực thể liên kết kinh điển, nhng hai loại thuộc tính này vẫn đợc nêu ra để bạn đọc tham khảo .
• Thuộc tính phức hợp ( assocition attribute)
Những thuộc tính mà giá trị của nó mà không thể phân tích đợc trong các xử lý gọi là thuộc tính đơn. Những thuộc tính là gộp một số thuộc tính đơn lại gọi là thuộc tính phức hợp. Trong các ví dụ trên, có thuộc tính là hợp thành của một số thành phần thông tin- thuộc tính của thực thể. Ví dụ, thuộc tính “Họ tên” là gộp của “ Họ đệm” và “Tên”, hoặc “ Địa chỉ KH” là hợp thành của “ Tỉnh/ Thành”, “ Huyện/ Quận”, “ Xã/ Phờng” và chi tiết địa chỉ nh “ Ngõ, Số nhà”. Trong một vài hệ thống thì “ Họ đệm” và “ Tên” đợc tách thành hai thuộc tính, trong một số hệ thống khác thì Họ đệm và tên đợc tổ
chức nh là một thuộc tính. Nh vậy, tuỳ theo nhu cầu xử lý mà phân tích viên tổ chức một thành phần thông tin nào đó nh một thuộc tính đơn hoặc phân rã nó ra thành một số thuộc tính đơn.
• Thuộc tính đa trị ( multivalued attribute )
Thuộc tính đa trị là thuộc tính có thể nhận nhiều hơn một giá trị đối với mỗi thực thể trong bảng thực thể. Ví dụ, trong kiểu thực thể Sinh viên ở ví dụ trên, các thuộc tính Lớp và Trình độ ngoại ngữ là đa trị, vì với một vài sinh viên nào đó có thể học hai lớp ( do nghỉ học hoặc không lên lớp), hoặc biết tới hai, ba ngoại ngữ khác nhau, với các trình độ khác nhau. Cũng có trờng hợp, trong kiểu thực thể có cả một nhóm thuộc tính đa trị có liên quan với nhau. Ví dụ, nhóm các thuộc tính Mã MH, Tên MH, ĐV tính, Số lợng, Đơn giá, trong kiểu thực thể Đơn hàng, đều là thuộc tính đa trị. Nhóm các thuộc tính đa trị có tính chất nh vậy gọi là nhóm thuộc tính lặp.
1. Liên kết
Giữa các kiểu thực thể vốn tồn tại một liên kết ( relationship ) tự nhiên, phản ánh bản chất các hoạt động diễn ra trong hệ thống thực. Ví dụ:
- “ Sinh viên” hoàn thành “ Môn học”, - “ Khách hàng” gửi “ Đơn hàng”, - “ Đơn hàng” chứa “ Mặt hàng”,
- “ Nhà cung cấp” giới thiệu “ Mặt hàng”, - “ Bài hát” thuộc “ Chơng trình ca nhạc”, - “ Bạn đọc” mợn “ Sách”.
Mỗi liên kết đặc trng bởi số kiểu thực thể tham gia vào liên kết, gọi là bậc của liên kết. Ví dụ, liên kết “ hoàn thành” giữa kiểu thực thể “ Sinh viên” và kiểu thực thể “ Môn học” có hai bậ là hai, còn gọi là liên kết hai ngôi. Mối liên kết “ Giảng” giữa kiểu thực thể “ Giáo viên” với các kiểu thực thể “ Môn học” và “ Lớp” có bậc ba, còn gọi là liên kết ba ngôi.
Cần chú ý là tên của liên kết thờng chỉ phản ánh ý nghĩa của mối liên kết theo một chiều. Chẳng hạn, “ Sinh viên” hoàn thành “ Môn học” chứ không phải “ Môn học” hoàn thành “ Sinh viên”.
Trong liên kết hai ngôi giữa hai kiểu thực thể A và B, ta gọi bản số của liên kết về phía A hoặc B là số các thực thể có thể tham gia vào liên kết.Có thể chia ra làm hai loại chính là chỉ có duy nhất một thực thể tham gia vào liên kết hoặc có thể nhiều thực thể tham gia vào liên kết. Ví dụ, mỗi “ Khách hàng” có thể gửi “ một hay nhiều Đơn hàng”, nhng mỗi đơn hàng thì chỉ thuộc về một khách hàng nào đó. Đây là liên kết mà “ Khách hàng” tham gia với bản số một, còn “ Đơn hàng” tham gia với bản số nhiều, còn gọi là liên kết một- nhiều, kí hiệu là 1- n. Một ví dụ khác là liên kết giữa “ Đơn hàng” và “ Mặt hàng” . Mỗi “ Đơn hàng” chứa một hoặc nhiều “ Mặt hàng”, ngợc lại, mỗi “ Mặt hàng” có thể có mặt trong một hoặc nhiều “ Đơn hàng”. Mối liên kết này thuộc loại nhiều- nhiều, kí hiệu là n- n.
2. Kí hiệu
Trong mô hình thực thể liên kết các thực thể đợc kí hiệu bởi hình chữ nhật, bên trong là tên của kiểu thực thể. Mối liên kết đợc kí hiệu bởi hình thoi, bên trong chứa tên của liên kết. Bản số đợc biểu thị bởi số đờng kết nối. Một số tác giả sử dụng kí hiệu là các chữ số 1 hay n biểu thị cho hai trờng hợp là có đúng một thực thể tham gia vào liên kết và có nhiều thực thể tham gia vào liên kết. Ví dụ
Quan hệ hai ngôi loại 1 – n
Quan hệ hai ngôi loại n – n Hình 4.5 Mối liên kết hai ngôi
Hình4.6. Mối liên kết nhiều ngôi
Mối liên kết đệ quy đợc mô tả trong hình 4.7 là một loại liên kết đặc biệt, liên kết xảy ra giữa một kiểu thực thể với chính nó.
Hình 4.7. Mối liên kết đệ quy
Khách hàng Gửi Đơn hàng
Sinh viên Hoàn Môn học
thành
Giáo viên Giảng Lớp
Môn học
Vật t Có thành
Một số chú ý:
_Giữa hai kiểu thực thể không phải chỉ có một kiểu liên kết, mà có nhiều kiểu liên kết. Ví dụ, giữa hai đối tợng “ Công ty ” và “Căn hộ” có hai liên kết là “Sở hữu” và “Cho thuê”.
- Có thể ghi thuộc tính của các kiểu thực thể trong hình chữ nhật cùng với tên của kiểu thực thể.
- Các liên kết cũng có thuộc tính mô tả chi tiết liên kết đó. Các thuộc tínhnày có thể ghi trng hình chữ nhật nối với hình thoi, mô tả liên kết, bằng một số đờng nét đứt.Một số tác giả ghi danh sách thuộc tính ở bên ngoài, cạnh với hình thoi mô tả liên kết hoặc hình chữ nhật mô tả kiểu thực thể.