Giáo trình Phân tích thiết kế hệ thống thông tin - Chương 4: Mô hình tổ chức của hệ thống thông tin

Chương 4  
MÔ HÌNH TỔ CHỨC CỦA HTTT  
4.1 Khái niệm  
Mô hình tổ chức của một hệ thống thông tin được thiết lập từ hai mô hình  
liên quan đến nhau là mô hình tổ chức về dữ liệu mô hình tổ chức về xử .  
Mô hình tổ chức về dữ liệu được hình thành do sự chuyển đổi các tập thực thể  
và các mối quan hệ trong mô hình quan niệm dữ liệu. Ỏ mức tổ chức thông tin  
được tả theo giải pháp cơ sở dữ liệu thực chất chính là quan hệ logic của  
chúng, nên mức tổ chức còn được gọi mức logic. Còn mô hình tổ chức về xử lý  
sẽ trả lời các câu hỏi: Ai?, Khi nào?, Ở đâu?, Như thế nào?  
4.2 Mô hình dữ liệu quan hệ  
Mô hình dữ liệu quan hệ do Codd đề xuất năm 1970, được hoàn thiện và  
sử dụng rộng rãi trong các hệ quản trị cơ sở dữ liệu thương mại. Mô hình dữ  
liệu quan hệ nhiều ưu điểm như: đơn giản, chặt chẻ, tính độc lập giữa dữ liệu  
chương trình cao, cung cấp cho các ngôn ngữ truy cập dữ liệu ở mức cao, dễ  
sử dụng. Mô hình quan hệ cho phép phân biệt rõ ràng giữa ngữ nghĩa cấu  
trúc của dữ liệu. Điều quan trọng hơn cả, mô hình quan hệ được hình thức hoá  
một mô hình đại số quan hệ, do đó được nghiên cứu và phát triển với nhiều  
kết quả thuyết cũng như những ứng dụng trong thực tiễn, đặc biệt là các ứng  
dụng vào việc thiết kế CSDL.  
Đã nhiều hệ quản trị CSDL được xây dựng dựa trên mô hình này và  
đưa vào sử dụng rộng rãi như: DB2, Ingres, Sybase, Foxpro, Oracle, Informix,  
Microsoft SQL Server, ...  
Ở đây chúng ta không trình bày chi tiết thuyết cơ sở dữ liệu quan hệ  
chỉ nhắc lại các kiến thức liên quan để sử dụng cho quá trình thiết kế dữ liệu  
của hệ thống.  
4.2.1 Các định nghĩa cơ bản  
a. Quan hệ:  
68  
Cho D1, D2,..., Dn là n miền giá trị của các thuộc tính A1, A2, ..., An. Một  
quan hệ r trên các miền D1, D2, ..., Dn một tập con của tích đê-cat D1 x D2  
x... x Dn. Nghĩa là, quan hệ r sẽ bao gồm những n-bộ <d1, d2, ...,. dn> D1 x D2  
x... x Dn, diDi. Người ta mô tả một quan hệ một bảng hai chiều các giá trị,  
đó là tập hợp các bộ của quan hệ tại một thời điểm nào đó.  
b. Lược đồ quan hệ:  
Một lược đquan hệ (relation scheme) là sự hợp thành bởi hai yếu tố:  
- Một cấu trúc, gồm tên quan hệ một danh sách các thuộc tính (mỗi  
thuộc tính gán với một miền) thường cho dưới dạng R(A1, A2, ..., An).  
- Một tập hợp các ràng buộc, tức là các điều kiện mọi quan hệ trong  
lược đồ đều phải thoả mãn.  
Một thể hiện của quan hệ r (relation instance) trong lược đồ quan hệ R là  
tập các bộ thoả tất cả các ràng buộc thuộc của lược đồ quan hệ R (gọi tắt thể  
hiện).  
Nếu cho một bộ t thuộc thể hiện r của lược đquan hệ R, và X U={A1,  
A2, ..., An}, ta ký hiệu: t[X] là bộ t chỉ chứa các giá trị của các thuộc tính trong  
X.  
Cho lược đồ quan hệ R, X U, X được gọi khoá (key) của lược đồ  
quan hệ R nếu thoả mãn hai điều kiện sau:  
(1). Với mọi thể hiện r, và với bất kỳ hai bộ t1, t2 r sao cho:  
t1[X] = t2[X] suy ra t1[U]= t2[U] (hay t1=t2).  
(2). Không tồn tại tập X’X (X’ tập con thực sự của X) thoả điều  
kiện trên.  
Một tập X thoả điều kiện (1) được gọi siêu khoá (super key) của lược  
đồ quan hệ R.  
c. Phụ thuộc hàm  
Định nghĩa: Cho tập U tập các thuộc tính của một lược đồ quan hệ R, X Y  
là các tập con của U. Ta nói rằng R thoả phụ thuộc hàm X Y (đọc là: X xác  
69  
định Y, hoặc Y phụ thuộc hàm vào X) nếu chỉ nếu: với mọi r thể hiện của  
R, với mọi t1, t2 r ta có: t1[X] = t2[X] kéo theo t1[Y]= t2[Y].  
dụ: Trong quan hệ Nhân viên, ta có: Mã NV (Họ tên, quê quán, ngày  
sinh)  
Ý tưởng của phụ thuộc hàm: mỗi phần tử của một lớp đối tượng nào đó sẽ được  
xác định thông qua một đại diện của một số lớp đối tượng khác.  
dụ:  
(1,1)  
(0,n)  
Công nhân  
MaCN  
nghiệp  
MaXN  
thuộc  
Hten  
TenXN  
Với quy tắc quản lý: "mỗi công nhân luôn thuộc về một nghiệp nào đó. Biết  
được một công nhân thì sẽ biết được nghiệp". Ta có các phụ thuộc hàm:  
MaCN Hten  
MaXN TenXN  
Công nhân nghiệp  
dụ 2: Xét mối quan hệ 4 chiều trong HTTT quản thời khóa biểu  
PHÒNG HỌC  
MÔN HỌC  
Dạy học  
GIÁO VIÊN  
LỚP HỌC  
Ta có các phụ thuộc hàm:  
(LỚP HỌC, MÔN HỌC) GIÁO VIÊN, (LỚP HỌC, MÔN HỌC) PHÒNG HỌC  
Nếu hai tập thực thể có quan hệ ISA với nhau, giả sử (E1 isa E2) thì ta  
luôn luôn có E1E2  
70  
4.2 Mô hình tổ chức dữ liệu  
4.2.1 Khái niệm  
Mô hình tổ chức dữ liệu của một hệ thống thông tin còn gọi là mô hình  
dữ liệu logic. Hiện nay, dữ liệu được biểu diễn dưới nhiều mô hình khác nhau:  
mô hình phân cấp, mô hình mạng, mô hình quan hệ, mô hình hướng đối tượng.  
Tuy nhiên, phần lớn các hệ quản trị cơ sở dữ liệu thương mại hiện nay đều sử  
dụng các dữ liệu theo mô hình quan hệ, nên mô hình tổ chức dữ liệu được thiết  
kế ở đây chính là các quan hệ đầu vào của chúng là mô hình thực thể - mối  
quan hệ của hệ thống. Đây cũng là bước trung gian chuyển đổi giữa mô hình  
quan niệm dữ liệu (gần với người sử dụng) và mô hình vật dữ liệu (mô hình  
trong máy tính), chuẩn bị cho việc cài đặt hệ thống.  
4.2.2 Quy tắc chuyển đổi  
Cho đến nay đã nhiều hệ thống thông tin, đặc biệt là các CSDL quan  
hệ, được thiết kế xuất phát từ mô hình ER. Theo cách này, người ta xem quá  
trình thiết kế một CSDL phải trải qua ba giai đoạn. Đầu tiên là giai đoạn thiết kế  
mô hình khái niệm, tiếp đến là giai đoạn thiết kế mô hình logic, và cuối cùng là  
giai đoạn thiết kế CSDL vật lý. Việc chuyển đổi một mô hình ER thành mô hình  
quan hệ thuộc giai đoạn thiết kế mô hình logic từ một mô hình khái niệm.  
Để làm cơ sở cho việc chuyển đổi từ mô hình quan hệ sang mô hình ER  
được bàn đến trong chương sau, một phương pháp chuyển đổi truyền thống từ  
mô hình ER sang mô hình quan hệ sẽ được đề cập đến trong phần này. Phương  
pháp này thường được sử dụng để thiết kế các CSDL quan hệ trong giai đoạn  
thiết kế logic với mô hình khái niệm ban đầu là mô hình ER.  
Khi chuyển đổi từ mô hình quan niệm dữ liệu sang mô hình tổ chức dữ liệu  
chúng ta theo các quy tắc dưới đây.  
a. Chuyển các tập thực tập thực thể thành các quan hệ  
Quy tắc 1: Mỗi tập thực thể trong mô hình quan niệm dữ liệu được chuyển  
thành một quan hệ: có tên là tên là tên ca tp thc th; có thuc tính và khóa là  
71  
thuc tính và khóa ca tp thc thvà có thcó thêm thuc tính là khóa ngoi nếu  
có.  
dụ: Tập thực thể Nhân viên với các thuộc tính như dưới đây được chuyển  
thành một quan hệ như sau:  
Nhân viên  
- Mã NV  
- Họ NV  
- Tên NV  
- Ngày sinh  
Nhân viên (Mã NV , Họ NV, Tên NV, Ngày sinh)  
Quy tắc 2: Tập thực thể tham gia vào mối quan hệ hai ngôi không có thuộc  
tính riêng, có cặp bản số (1,1) ----- (1,n) (mối quan hệ một - nhiều) thì quan hệ  
sinh ra bởi tập thực thể ở nhánh (1,1) sẽ nhận thuộc tính khóa của tập thực thể ở  
nhánh (1,n) làm khóa ngoại.  
dụ: Trong hệ thống thông tin “Quản lý công chức”, giữa hai tập thực thể  
Nhân viên Đơn vị mối quan hệ Thuộc với cặp bản số (1,1) ----- (1,n)  
như tả dưới đây.  
(1,n)  
(1,1)  
Nhân viên  
- Mã NV  
- Họ NV  
- Tên NV  
- Ngày sinh  
Đơn vị  
- đơn vị  
- Tên đơn vị  
Thuộc  
được chuyển thành các quan hệ:  
Nhân viên (Mã NV , Họ NV,Tên NV, Ngày sinh, Mã đơn vị)  
(đơn vị, Tên đơn vị)  
Đơn vị  
Chú ý, thuộc tính khóa trong quan hệ, được gạch dưới liền nét, thuộc tính  
khóa ngoại được gạch dưới không liền nét.  
Quy tắc3: Chuyển tập thực thể con trong mối quan hệ ISA thành quan hệ  
Tập thực thể con trong mối quan hệ ISA của mô hình thực thể mối quan hệ  
được chuyển thành một quan h: có tên là tên của tập thực thể con; có các thuộc  
72  
tính là các thuộc tính của tập thực thể con; và có khóa là khóa của tập thực thể  
cha.  
Ví d1: Mt trường đại hc cn qun lý cán bcông chc theo 3 đối tượng: công  
chc biên chế, cán bhp đồng dài hn cán bhp đồng ngn hn. Mi cán  
bnhân viên được qun lý các thông tin: Mã nv, Htên, quê quán.  
Nếu là công chc biên chế thì qun lý thêm: Hslương, phcp, trình độ  
chuyên môn (trung cp, cao đẳng. đại hc, thc sĩ, tiến sĩ). Nếu là tiến sĩ thì  
qun lý thêm: chuyên ngành đào to, ngày bo v, nơi cp bng.  
Nếu là cán bhp đồng dài hn thì qun lý thêm: Shp đồng, Hsố  
lương.  
Nếu là cán bhp đồng ngn hn thì qun lý: Shp đồng, lương tha  
thun. Tùy theo đối tượng, công ty có các cách tính tin lương khác nhau.  
Ví d1: Vi sơ đồ dưới đây sẽ được chuyn thành các quan h:  
1
Bộ đội  
- Ngày NN  
- Ngày XN  
Nhân viên  
- Mã NV  
- Họ NV  
Đảng viên  
- Ngày VĐ  
- Ngày CT  
n
1
n
ISA  
ISA  
- Tên NV  
- Ngày sinh  
(1,1)  
(1,1)  
BĐ-CB  
BĐ-BC  
(1,n)  
(1,n)  
Cấp bậc  
- Mã CB  
- Tên CB  
Binh chủng  
- Mã BC  
- Tên BC  
được chuyển thành:  
Binh chủng (Mã BC, Tên BC)  
Cấp bậc (Mã CB, Tên CB)  
Đảng viên (Mã NV,Ngày VĐ, Ngày CT)  
(Mã NV,Ngày NN, Ngày XN, Mã CB , Mã BC,)  
Nhân viên (Mã NV,Họ NV, Tên NV, Ngày sinh)  
Bộ đội  
73  
Trong trường hợp một tập thực thể con của hai tập thực thể cha khác  
nhau thì nó phải được chuyển thành hai quan hệ.  
Trường hợp xảy ra quan hệ ISA trong một quan hệ ISA thì quan hệ sinh ra  
từ tập thực thể "cháu" nhận thuộc tính khóa của tập thực thể "Ông" làm thuộc  
tính khóa.  
Cán bộ  
- Mã NV  
- Họ tên  
- Quê quán  
1
1
1
ISA  
ISA  
ISA  
n
n
n
HĐ ngắn hạn  
Biên chế  
dài hạn  
- Số HĐồng  
- Lương  
- HSL  
- Phụ cấp  
- Trình độ  
- Số HĐồng  
- HSL  
1
ISA  
n
Tiến sĩ  
- Chuyên ngành  
- Ngày bảo vệ  
- Nơi cấp bằng  
Nhân viên (Mã NV, Họ tên, Quê quán)  
Biên chế (Mã NV, HSL, Phụ cấp)  
dài hạn (NV, Số HĐồng, HSL )  
HĐ ngắn hạn (NV, Số HĐồng, Lương)  
Tiến sĩ (NV, Chuyên ngành, Ngày bảo vệ, Nơi cấp bằng)  
b. Chuyển đổi các mối quan hệ  
Qui tắc 4:  
74  
a. Mối quan hệ hai ngôi không có thuộc tính riêng, có cặp bản số (1,1) ---- (1,n)  
thì không chuyển thành một quan hệ.  
(1,n)  
(1,1)  
Nhân viên  
- Mã NV  
- Họ NV  
- Tên NV  
- Ngày sinh  
Đơn vị  
- đơn vị  
- Tên đơn vị  
dụ:  
Thuộc  
Chuyển thành:  
Nhân viên (Mã NV , Họ NV,Tên NV, Ngày sinh, Mã đơn vị)  
(đơn vị, Tên đơn vị)  
Đơn vị  
tả dưới dạng bảng:  
1
n
b. Mối quan hệ hai ngôi thuộc tính riêng, có cặp bản số (1,1) ---- (1,n) thì  
chuyển thành một quan hệ có tên là tên của mối quan hệ, thuộc tính là thuộc  
tính của mối quan hệ và có khoá là khoá của các thực thể tham gia vào mối  
quan hệ và khóa của mối quan hệ (nếu có).  
dụ:  
(1,n)  
(1,1)  
Nhân viên  
- Mã NV  
- Họ NV  
- Tên NV  
- Ngày sinh  
Thuộc  
- Năm  
Đơn vị  
- đơn vị  
- Tên đơn vị  
Được chuyển thành  
Nhân viên (Mã NV , Họ NV,Tên NV, Ngày sinh)  
Đơn vị  
Thuộc  
(đơn vị, Tên đơn vị)  
(Mã NV, Mã đơn vị, Năm)  
tả dưới dạng bảng:  
75  
1
1
n
n
Qui tắc 5 Chuyển đổi mối quan hệ hai ngôi 1-1  
Đối với mối quan hệ hai ngôi có cặp bản số (1,1)----(1,1) trong mô hình ER, ta  
xác định các quan hệ S và S’ tương ứng với các tập thực thể E và E’ tham gia  
vào mối quan hệ R. Khi đó, tuỳ thuộc vào sự tham gia của E và E’ đối với mối  
quan hệ R là toàn bộ hay cục bộ (chỉ số cực tiểu của bản số tại cung nối tương  
ứng trong sơ đồ ER là 1 hay 0) mà ta có các chọn lựa cách thực hiện khác nhau  
cho việc chuyển đổi. Xét cách chuyển đổi mối quan hệ 1-1 như sau:  
Trường hợp 1 (khi cả E và E’ tham gia toàn bộ vào mối quan hệ)  
Ta gộp các quan hệ tương ứng S và S’ thành một quan hệ T bao gồm đầy  
đủ các thuộc tính của S và S’ và tất cả các thuộc tính đơn trị của mối quan hệ R.  
Chọn khoá chính của T là khoá chính của S hoặc S’.  
dụ:  
(1,1)  
(1,1)  
Trưởng khoa  
HTen  
Địa chỉ  
Khoa  
MãKhoa  
Tênkhoa  
SĐT  
Lãnh đạo  
Số năm  
Được chuyển thành  
Lãnh đạo (Mãkhoa, HTen, Địa chỉ, Tênkhoa, SĐT, Số năm)  
Trường hợp 2: (chỉ một tập thực thể tham gia toàn bộ vào mối quan hệ)  
Thực hiện việc gộp các quan hệ như trường hợp 1 nhưng phải chọn khoá  
chính của T là khoá chính của quan hệ tương ứng với tập thực thể tham gia toàn  
bộ vào mối quan hệ R. Ngược lại, nếu cả E và E’ chỉ tham gia cục bộ vào mối  
76  
quan hệ R (chỉ số cực tiểu của các bản số tại các cung nối tương ứng đều là 0),  
thì ta không thể thực hiện việc chuyển đổi mối quan hệ 1-1 theo cách này, do  
khoá của một quan hệ không chấp nhận giá trị null.  
Ngoài ra, ta cũng giả thiết rằng cách thực hiện này sẽ không được sử  
dụng trong mọi trường hợp, bởi bản chất của việc gộp hai tập thực thể thành  
một sẽ làm mất ý nghĩa và vai trò của các tập thực thnày trong mô hình ER.  
Trường hợp 3: (khi cả E và E’ tham gia cục bộ vào mối quan hệ)  
Khi đó ta tạo thêm một quan hệ mới T nhằm biểu diễn mối quan hệ R.  
Các thuộc tính trong T bao gồm tất cả các thuộc tính đơn trị của mối quan hệ R,  
và các khoángoài của T lần lượt tham chiếu đến các khoá chính của S và S’.  
Ngoài ra chọn khoá chính cho T là một trong các khoá ngoài này.  
dụ:  
(0,1)  
Nam  
Mãnam  
HTên nam  
Địa chỉ  
Nữ  
Mãnữ  
HTên nữ  
SĐT  
(0,1)  
Kết hôn  
Ngày  
Được chuyển thành  
Nam (Mãnam, HTên nam, Địa chỉ)  
Nữ (Mãnữ, HTên nữ, SĐT)  
Kết hôn (Mãnam, Mãnữ, Ngày)  
Trường hợp 4. (Thành lập một khoá ngoại cho một quan hệ)  
Chọn một trong hai quan hệ này (nên ưu tiên chọn quan hệ tập thực  
thể tương ứng tham gia toàn bộ vào mối quan hệ R, hay chỉ số cực tiểu của cung  
nối tương ứng là 1), giả sử ta chọn S, từ đó bổ sung vào S tất cả các thuộc tính  
đơn trị của mối quan hệ R. Đồng thời bổ sung vào S khoá ngoài của S tham  
chiếu đến khoá chính của S’.  
Lưu ý rằng nếu E và E’ đều tham gia toàn bộ vào mối quan hệ R, thì khoá  
ngoài F trên S đồng thời cũng một khoá của s.  
77  
Một hạn chế của cách chuyển đổi này đó là: giá trị các thuộc tính R và F  
của một số bộ trên S có thể phải nhận giá trị null trong trường hợp cả E và E’  
đều không tham gia toàn bộ vào mối quan hệ R.  
Qui tắc 6: Mối quan hệ hai ngôi có cặp bản số (1,n) ---- (1,n) hay mối quan hệ  
nhiều hơn hai ngôi (không phân biệt bản số) được chuyển thành một quan hệ:  
có tên là tên của mối quan hệ; có khóa là khóa của tất cả các tập thực thể tham  
gia vào mối quan hệ - có thể có khóa riêng của mối quan hệ - có thuộc tính là  
các thuộc tính riêng của (nếu có).  
dụ 1:  
(1,n)  
(1,n)  
Giáo viên  
Mã GV  
Họ Tên  
Sinh viên  
Dạy  
Mã SV  
Họ Tên  
Lớp  
Trình độ  
Mối quan hệ Dạy được chuyển thành một quan hệ sau:  
Dạy(Mã GV, Mã SV)  
tả dưới dạng bảng:  
1
1
n
n
dụ 2:  
(1,n)  
Phiếu xuất kho  
-Số phiếu  
-Ngày  
(0,n)  
Hàng  
-Mã hàng  
-Tên hàng  
Chứa  
-Số lượng  
-Tên KH  
Mối quan hệ Chứa được chuyển thành một quan hệ sau:  
Chứa (Số phiếu, Mã hàng, Sốlượng)  
tả dưới dạng bảng:  
78  
1
1
n
n
Qui tắc 7: Mối quan hệ phản xạ (đệ quy)  
a. Mối quan hệ phản xạ dạng (1,n) và không có thuộc tính:  
Mối quan hệ phản xạ dạng (1,n) và không có thuộc tính được chuyển  
hành một quan hệ, có tên là tên của mối quan hệ, có khóa là khóa của tập thực  
thể, có thêm một thuộc tính mới để làm khóa ngoại, thuộc tính mới này nhận  
những giá trị thuộc miền giá trị của khóa tập thực thể.  
(0,n)  
NHÂN VIÊN  
-Mã NV  
Quản lý  
-Tên NV  
(1,1)  
-NSinh  
Từ quan hệ NHÂN VIÊN (Mã NV, Tên NV, NSinh) ban đầu trở thành quan hệ  
NHÂN VIÊN (Mã NV, Tên NV, NSinh, Mã người QL). Trong quan hệ này, người  
QL là khóa ngoại có cùng miền giá trị với Mã NV. Nghĩa là, với mỗi nhân viên  
cụ thể, giá trị của người QL là mã nhân viên của người quản lý mà họ trực  
thuộc.  
b. Mối quan hệ phản xạ dạng (n-n) hoặc thuộc tính riêng  
Mối quan hệ dạng này được biến đổi thành một quan hệ có khóa gồm  
khóa của tập thực thể và có một thuộc tính thêm vào tham chiếu đến khóa của  
tập thực thể; thuộc tính là các thuộc tính riêng của mối quan hệ.  
dụ:  
(0,n)  
Đề mục  
Chứa  
-Số mục  
-Tên mục  
Số lượng  
-Số trang  
(1,n)  
79  
Mối quan hệ Chứa được chuyển thành quan hệ Chứa (Số mục, Số mục con,  
Số lượng)  
dụ:  
(0,1)  
Công chức  
Vợ chồng  
-Mã CC  
-Tên CC  
Ngày cưới  
(1,n)  
Mối quan hệ Vợ chồng được chuyển thành quan hệ:  
Vợ chồng (Mã CC, vợchồng, Ngày cưới), trong đó giá trị của vợchồng  
có giá trị được lấy trong thuộc tính Mã CC của quan hệ công chức.  
4.2.3. Thuật toán chuyển đổi mô hình ER thành các quan hệ  
Đầu vào của thuật toán chuyển đổi trong phương pháp này là mô hình  
ER. Kết quả của việc chuyển đổi này là tập các quan hệ và các khoá chính  
(primary key) của chúng. Ngoài ra, nhằm chi tiết hoá các kết quả đầu ra của  
thuật toán chuyển đổi, cũng như xác định ngữ nghĩa mối quan hệ giữa các  
quan hệ (các bảng) bên trong mô hình quan hệ thu được, chúng ta còn quan tâm  
đến việc xác định rõ thông tin về tập các khoá ngoài (foreign keys) trên mỗi  
quan hệ kết quả, đồng thời thực hiện việc hình thức hoá thuật toán chuyển đổi  
này thông qua một số định nghĩa, hiệu quy ước và các thuật toán tựa Pascal.  
Các quan hệ thu được thể xem là kết quả của một ánh xạ từ các tập  
thực thể và các mối quan hệ tương ứng. Thuật toán thực hiện việc ánh xạ từ mô  
hình ER vào mô hình quan hệ trải qua các bước: chuyển đổi các tập thực thể,  
chuyển đổi mối quan hệ nhị nguyên 1-1, chuyển đổi mối quan hệ nhị nguyên 1-  
nhiều, chuyển đổi mối quan hệ nhị nguyên nhiều-nhiều, chuyển đổi mối quan hệ  
đa nguyên, chuyển đổi thuộc tính đa trị, chuyển đổi mối quan hệ is-a.  
Trước tiên, ta quy ước một shiệu như sau:  
ER: mô hình ER mà ta muốn thực hiện việc chuyển đổi (đầu vào của  
thuật toán)  
DB: tập các quan hệ trong mô hình quan hệ (đầu ra của thuật toán)  
80  
UR : tập tất cả các thuộc tính của quan hệ R  
E : tập tất cả các thuộc tính đơn trị của tập thực thể E  
R : tập tất cả các thuộc tính (đơn trị) của mối quan hệ R  
PKR : khoá chính của quan hệ R  
KE : tập các thuộc tính khoá của tập thực thể E  
FKR : tập tất cả các khoá ngoài của quan hệ R  
min(E; R), max(E; R): các chỉ số cực tiểu cực đại của bản số trên  
cung nối tập thực thể E với mối quan hệ R  
Ngoài ra, để chỉ FK một khoá ngoài của quan hệ R (tức: FK FKR)  
tham chiếu đến khoá chính của quan hệ R’ ta sử dụng hiệu: FK PKR. Tên  
các thuộc tính có trong FK thể khác so với tên các thuộc tính có trong PKR’,  
nhưng FK cần thoả mãn đồng thời hai điều kiện sau:  
(1). Các thuộc tính trong FK có cùng miền trị với các thuộc tính trong  
PKR;  
(2). Giá trị của FK tại một bt thuộc R chỉ thể null hoặc bằng giá trị  
của PKRtại một bộ t’nào đó thuộc R’  
Các điều kiện trên của khoá ngoài FK đặc tả một ràng buộc toàn vẹn  
tham chiếu (referential integrity constraint) giữa hai quan hệ R R’  
Lưu ý rằng, để chỉ ràng buộc toàn vẹn tham chiếu này, đồng thời tên các  
thuộc tính có trong FK phải trùng tên với các thuộc tính tương ứng có trong  
PKR’, ta ký hiệu: FK PKR’  
Thuật toán chuyển đổi từ mô hình ER thành mô hình quan hệ trải qua các  
bước sau:  
Bước 1. Chuyển đổi các tập thực thể  
Tương ứng với mỗi tập thực thể E trong ER, ta tạo ra một quan hệ R chứa  
tất cả các thuộc tính đơn trị của tập thực thể đó. Đối với mỗi thuộc tính đơn trị  
phức hợp trên E phải được chuyển thành các thuộc tính đơn trên R. Chuyển  
đổi này nhằm cho phép biểu diễn mỗi thực thể của E bởi một bộ của quan hệ R.  
Ta có: UR = E. Ngoài ra, chọn PKR một trong những thuộc tính khoá của E.  
81  
Nghĩa là: PKR = k, với k KE. Như vậy, ta có thuật toán chuyển đổi các tập thực  
thể như sau.  
Thuật toán 1.3. Chuyển đổi các tập thực thể  
Input:  
Tập thực thể E thuộc ER  
Output:  
Các quan hệ R thuộc DB và các PKR tương ứng  
Method:  
1.  
2.  
3.  
4.  
5.  
6.  
DB:= ;  
for mỗi tập thực thể mạnh E trong ER do  
Tạo ra một quan hệ R với UR = E;  
Chọn PKR = k, với k KE;  
DB := DB {R};  
endfor;  
Bước 3. Chuyển đổi mối quan hệ nhị nguyên 1-1  
Thuật toán 3.2. Chuyển đổi mối quan hệ 1-1  
Input:  
Các mối quan hệ 1-1 trên ER  
Output:  
mỗi quan hệ  
Các quan hệ thuộc DB kèm khoá chính, khoá ngoài tương ứng với  
Method:  
1.  
2.  
3.  
4.  
5.  
for mỗi mối quan hệ R là quan hệ 1-1 trong ER do  
Xác định các tập thực thể E E’ tham gia vào mối quan hệ R;  
Xác định các quan hệ S S’ tương ứng với các tập thực thể E E’;  
if min(E; R) = 0 and min(E’; R) = 0 then  
Tạo ra một quan hệ mới T với UT = R F F’ trong đó  
F FKT: F PKS F’ FKT: F’ PKS;  
Chọn PKT = F hoặc F’;  
6.  
7.  
8.  
9.  
Chọn FKT = {F, F’};  
DB := DB {T};  
endif;  
82  
10.  
11.  
12.  
13.  
14.  
15.  
16.  
if min(E; R) = 1 then  
US:= US  R F, với F FKS: F PKS;  
FKS := FKS {F};  
else (*khi đó: min(E’; R) = 1*)  
US:= US’  R F’, với FFKT: FPKS;  
FKS’ := FKS{F’};  
endif;  
17. endfor;  
Bước 3. Chuyển đổi mối quan hệ nhị nguyên 1-nhiều  
Thuật toán 3.3. Chuyển đổi mối quan hệ 1-nhiều  
Input:  
Các mối quan hệ 1-nhiều trên ER  
Output:  
mỗi quan hệ  
Các quan hệ thuộc DB kèm khoá chính, khoá ngoài tương ứng với  
Method:  
1.  
2.  
for mỗi mối quan hệ R là quan hệ 1-nhiều trong ER do  
Xác định các tập thực thể E (“phía nhiều”) E’ (“phía 1”) tham  
gia vào mối quan hệ R;  
3.  
4.  
5.  
Xác định các quan hệ S S’ tương ứng với các tập thực thể E E’;  
if min(E; R) = 0 then  
Tạo ra một quan hệ mới T với UT = R F F’ trong đó  
F FKT: F PKS F’ FKT: FPKS’ ;  
6.  
7.  
8.  
9.  
Chọn PKT = F’  
Chọn FKT = {F, F’};  
DB := DB {T};  
else  
10.  
11.  
12.  
US:= US  R F, với F FKS: F PKS;  
FKS := FKS {F};  
endif;  
13. endfor;  
Bước 4. Chuyển đổi mối quan hệ nhị nguyên nhiều-nhiều  
Thuật toán 3.4. Chuyển đổi mối quan hệ nhiều-nhiều  
Input: Các mối quan hệ nhiều-nhiều trên ER  
Output: Các quan hệ thuộc DB kèm khoá chính, khoá ngoài tương ứng với mỗi  
quan hệ  
83  
Method:  
1.  
2.  
for mỗi mối quan hệ R là quan hệ nhiều-nhiều trong ER do  
Xác định các quan hệ S Stương ứng với các tập thực thể tham  
gia vào mối quan hệ R;  
3.  
Tạo ra một quan hệ mới T với UT = R F Fvới  
F FKT: F PKS FFKT: FPKS;  
Chọn PKT = F F’;  
4.  
5.  
6.  
7.  
Chọn FKT = {F, F’};  
DB := DB {T};  
endfor;  
Nhận xét: Lưu ý rằng việc chuyển đổi mối quan hệ phản xạ R (hai vai  
trò) trên cùng một tập thực thể E một trường hợp đặc biệt của các mối quan  
hệ nhị nguyên (1-1, 1-nhiều nhiều-nhiều). Cụ thể, gọi S là quan hệ tương ứng  
với tập thực thể E. Khi đó, nếu mối quan hệ phản xạ R mối quan hệ 1-1 hoặc  
1-nhiều, thì một khoá ngoài của S tham chiếu vào chính khoá chính của S sẽ  
được bổ sung, cùng với tất cả các thuộc tính đơn trị của mối quan hệ R. nếu  
mối quan hệ phản xạ R mối quan hệ nhiều-nhiều thì một quan hệ mới T được  
tạo ra. Các thuộc tính trong T gồm hai khoá ngoài của T cùng tham chiếu (theo  
vai trò) đến khoá chính của S, và tất cả các thuộc tính đơn trị của mối quan hệ R.  
Bước 6. Chuyển đổi mối quan hệ is-a  
Tương tự như mối quan hệ kế thừa trong mô hình hướng đối tượng, một  
tập thực thE mối quan hệ is-a với tập thực thể E(ký hiệu là “E is-a E”) có  
nghĩa rằng một thực thể thuộc E thì cũng thuộc Etất cả các thuộc tính có  
trong Ethì cũng có trong E. Các thuộc tính bổ sung trên E nhằm chi tiết hoá  
các đặc điểm của tập thực thể E. vậy, E còn được gọi một lớp con của E,  
hay Elớp cha của E. Khi đó, việc chuyển đổi mối quan hệ is-a được thực  
hiện như sau:  
Xét một tập thực thể E mối quan hệ is-a với tập thực thể E, ta lần lượt  
xác định các quan hệ S Stương ứng với các tập thực thể E E’. Từ đó bổ  
84  
sung vào tập thuộc tính của quan hệ S khoá chính PKS đồng thời cũng là khoá  
ngoài tham chiếu đến khoá chính có cùng tên trên quan hệ S’. Tức là ta có: PKS  
FKS: PKS PKS;  
Thuật toán 3.5. Chuyển đổi mối quan hệ is-a  
Input: Các mối quan hệ is-a trên ER  
Output: Các quan hệ thuộc DB kèm khoá chính, khoá ngoài tương ứng  
Method:  
1.  
2.  
3.  
4.  
5.  
6.  
for mỗi mối quan hệ E is-a E” trong ER do  
Xác định các quan hệ S Stương ứng với các tập thực thể E E’;  
US := US F , với F FKS: F PKS’ ;  
PKS := F;  
FKS := FKS {F};  
endfor;  
Lưu ý rằng, trên thực tế nhiều cách để chuyển đổi mối quan hệ is-a  
giữa các lớp con và một lớp cha. Chẳng hạn, một số phương pháp chỉ sử dụng  
một quan hệ để biểu diễn lớp cha và kèm thông tin về các lớp con, bằng cách  
ghi nhận đồng thời tất cả các thuộc tính của tất cả các lớp con trên đó. Ở đây  
chúng ta chỉ nêu một phương pháp tiêu biểu cho bước chuyển đổi này. Mặc dù  
phương pháp chuyển đổi này có ưu điểm giải quyết được hầu hết các khả  
năng về tính kế thừa của các lớp con, chẳng hạn như việc tải bội (overlapping).  
Tuy nhiên, ngữ nghĩa của mối quan hệ is-a là không còn thể hiện rõ trong mô  
hình quan hệ thu được. Bên cạnh đó, việc sử dụng nhiều quan hệ sẽ đòi hỏi chi  
phí cho các phép kết nối tnhiên đối với một số các truy vấn.  
Ngược lại, các phương pháp chỉ sử dụng một quan hệ để biểu diễn lớp  
cha và các lớp con, mặc dù có nhược điểm là gây dư thừa dữ liệu (xuất hiện  
nhiều giá trị null trên một số thuộc tính đối với các bộ thuộc lớp con không có  
thuộc tính đó), nhưng sẽ tạo thuận lợi cho việc xử cũng như tiết kiệm chi phí  
các truy vấn được thực hiện trên quan hệ đó. Ngoài ra, chúng ta cũng thể  
85  
phát hiện ngữ nghĩa của mối quan hệ is-a trên các quan hệ đó dựa vào các thuật  
toán khai phá tri thức và các luật liên quan đến các giá trị null.  
4.2.3 Mô hình tổ chức dữ liệu  
Mô hình tổ chức dữ liệu, còn gọi là mô hình cơ sở dữ liệu là toàn bộ các  
quan hệ của bài toán được chuyển đổi từ mô hình quan niệm dữ liệu theo các  
quy tắc chuyển đổi trên.  
dụ 1: Chuyển mô hình quan niệm về dữ liệu sang mô hình tổ chức dữ liệu  
của HTTT "Quản lý kho hàng"  
Nhà CC  
Kho  
Khhàng  
Mã NCC  
Tên NCC  
Đchỉ NCC  
Tên kho  
Đch ỉkho  
Mãkhách  
Tên khách  
Đchỉ khách  
(1,n)  
(1,n)  
(1,n)  
Chứa  
Nhập từ  
Xuất cho  
Tồn kho  
(1,1)  
(1,1)  
(1,1)  
Phiếu nhập  
Hàng  
(1,n)  
PH XUẤT  
(1,n)  
(0,n)  
(1,n)  
Gồm hàng_X  
Gồm hàng_N  
SL nhập  
SL_xuất  
Số phiếu N  
Ngày nhập  
Mã hàng  
Tên hàng  
Đơn vị  
Số phiếu_X  
Ngàyxuất  
Đơn giá  
Mô hình thực thể -mối quan hệ của bài toán "QL Kho hàng"  
Từ mô hình trên các quan hệ nhận được là  
Nhà CC  
Kho  
(Mã NCC, Tên NCC, Đchỉ NCC)  
(Tên kho, Đchỉ kho)  
Khhàng  
Phiếu nhập  
Phiếu xuất  
Hàng  
(Mã khách, Tên khách, Đchỉ khách)  
(Số phiếu_N, Ngày nhập, Mã NCC)  
(Sốphiếu_X, Ngày xuất, Mãkhách)  
(Mãhàng, Tênhàng, Đơnvị, Đơngiá, Tên kho)  
86  
Gồm hàng_N  
Gồm hàng_X  
Chứa  
(Sốphiếu_N, Mãhàng, SL_nhập)  
(Sốphiếu_X, Mãhàng, SL_xuất)  
(Tồn kho, Tên kho, Mã hàng)  
1
1
1
n
n
n
n
1
1
1
n
n
dụ 2: Mô hình tổ chức dữ liệu của HTTT "Quản lý Công chức"  
TỈNH  
(TỈNH, TÊN TỈNH)  
HUYỆN  
ĐƯỜNG  
(HUYỆN, TÊNHUYỆN, TỈNH)  
(ĐƯỜNG, TÊN ĐƯỜNG)  
BINH CHỦNG (MÃ BC, TÊN BC)  
CẤP BẬC (MÃ CB ,TÊN CB)  
CC BINH (MÃ CC, MÃ BC, MÃ CB, NGÀY NN, NGÀY XN)  
CHỨC VỤ (MÃ CV, TÊN CV)  
QUAN (MÃ CQ, TÊN CQ)  
87  
Tải về để xem bản đầy đủ
doc 45 trang baolam 09/05/2022 5120
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Phân tích thiết kế hệ thống thông tin - Chương 4: Mô hình tổ chức của hệ thống thông tin", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docgiao_trinh_phan_tich_thiet_ke_he_thong_thong_tin_chuong_4_mo.doc