Trong CSDL h ng đ i t ng, các đ i t ng đ c phân bi t v i nhau trong h th ng b i đ nh danh c a nĩ và các đ nh danh này là n đ i v i ng i dùng. i u này cĩ th d n đ n tr ng h p là t n t i hai hay nhi u đ i t ng b ng nhau trên m i giá tr c a
thu c tính, đây là m t d ng d th a d li utrong CSDL h ng đ i t ng. kh c ph c
v n đ này, khi thi t k CSDL h ng đ i t ng ng i ta th ng s d ng m t t p các
thu c tính c a đ i t ng mà giá tr c a nĩ dùng đ xác đ nh duy nh t m t đ i t ng
trong l p đĩ. V i khái ni m ph thu c hàm m , khái ni m khĩa c a l p cĩ th đ c
phát bi u nh sau.
nh ngh a 2.2: Cho l p đ i t ng m C(U), K Í U, K đ c g i là khĩa c a l p đ i t ng m C n u th a mãn hai đi u ki n sau đây:
1. K¾¾®fc U
2. "K’ ÌK, K’ ¾¾®fc U
Ví d 2.3: Cho l p SinhVien đ c đ nh ngh a nh sau: Class SinhVien
ATTRIBUTE:
maSV: integer with degree of 1.0;
- 37 -
tuoi: fuzzy domain {{1.0/20, 1.0/21, 0.7/22, 0.5/23}, {0.4/22, 0.6/23, 0.8/24, 1.0/25, 0.9/26 0.8/27, 0.6/28}, {0.6/27, 0.8/28, 0.9/29, 1.0/30, 0.9/31, 0.6/32, 0.4/33, 0.2/34}} OR integer with degree of 1.0;
lop: Lop with degree of 1.0;
m: float; WEIGHT: w(maSV) = 1.0; w(hoTen) = 0.1; w(tuoi) = 0.9; w(lop) = 0.8; METHODS:
Nhap_SV(maSV, hoTen, tuoi, lop); Xoa_SV(maSV);
… END;
Và t p ph thu c hàm m trên l p SinhVien:
F = {maSV ¾¾®fc hoTen,maSV ¾¾®fc tuoi,maSV ¾¾®fc lop}
L p SinhVien cĩ m t khĩa duy nh t đĩ là {maSV}.
C ng nh trong mơ hình d li u quan h , m t l p đ i t ng cĩ th cĩ nhi u h n
m t khĩa, trong s các khĩa ng i ta cĩ th ch n m t khĩa làm khĩa chính.
nh ngh a 2.3: Cho l p m C(U), K Í U, K là m t trong s các khĩa c a l p đ i t ng m C, Ađ c g i là thu c tính khĩa n u A Ỵ K. Nh ng thu c tính khơng ph i
là thu c tính khĩa g i là thu c tính khơng khĩa.
Ví d 2.4: Thu c tính maSV c a l p SinhVien trong Ví d 2.3 là thu c tính khĩa, các
thu c tính hoTen, tuoi, lop là các thu c tính khơng khĩa, thu c tính mơ t đ i t ng.