You are on page 1of 142

TRƯỜNG ĐẠI HỌC KHOA HỌC HUẾ

KHOA CÔNG NGHỆ THÔNG TIN


[ \

NGUYỄN MẬU HÂN

GIÁO TRÌNH

PHÂN TÍCH THIẾT KẾ HỆ THỐNG


THÔNG TIN

(Dùng cho sinh viên chuyên ngành Công nghệ Thông tin)

Huế 2004
LỜI NÓI ĐẦU

Phân tích thiết kế hệ thống là một giai đoạn quan trọng để xây dựng
thành công một hệ thống thông tin. Xây dựng một hệ thống thông tin được
gọi là thành công nếu hệ thống này đáp ứng được các yêu cầu của tổ chức
đặt ra, có chu kỳ sống (life cycle) chấp nhận được, và hơn thế nữa có thể
phát triển khi hệ thống yêu cầu. Trong thực tế nhiều hệ thống thông tin chỉ
tồn tại trong một thời gian ngắn và sau đó không còn đáp ứng được nhu cầu
của người sử dụng. Một trong những lý do là không quan tâm đến giai đoạn
phân tích và thiết kế, để rồi khi tổ chức phát triển thì hệ thống không còn
khả năng đáp ứng. Một lý do khác không kém phần quan trọng, là các nhà
xây dựng hệ thống thông tin không được trang bị một cách đầy đủ các kiến
thức và phương pháp cơ bản để có thể tiến hành việc xây dựng một hệ thống
thông tin. Nếu phần phân tích thiết kế không hoàn chỉnh và đúng đắn thì sẽ
dẫn đến việc cài đặt thất bại.
Môn phân tích thiết kế hệ thống là một môn học chính cho các sinh
viên chuyên ngành công nghệ thông tin trong các trường đại học và cao
đẳng. Hiện nay có khá nhiều sách vỡ, tài liệu mô tả khá đầy đủ về các
phương pháp phân tích thiết kế hệ thống thông tin của các chuyên gia tin
học đầu ngành nhưng cũng không ít những tài liệu quá cô đọng hoặc rườm
rà khó tiếp cận được. Trước nhu cầu học tập của đông đảo sinh viên chuyên
ngành, với những kinh nghiệm thực tế và kinh nghiệm qua nhiều năm giảng
dạy chúng tôi mạnh dạn viết giáo trình này. Đây cũng là một tài liệu tham
khảo tốt cho những ai quan tâm đến việc phân tích thiết kế hệ thống thông
tin.
Trong giáo trình chúng tôi sử dụng các kiến thức về cơ sở dữ liệu,

2
kiến thức và kỹ thuật lập trình do đó đòi hỏi người học cần trang bị trước
những phần kiến thức liên quan.
Giáo trình được chia làm 5 chương, mỗi nội dung chúng tôi có đưa
các ví dụ thực tiễn, những sai lầm có thể xảy ra trong quá trình phân tích
thiết kế để phân tích viên khỏi mắc sai lầm khi làm việc. Chương đầu tiên
giới thiệu tổng quan về hệ thống thông tin. Chương 2, chúng tôi trình bày
các kỹ thuật thu thập và xử lý sơ bộ dữ liệu trong quá trình nghiên cứu hiện
trạng một hệ thống thông tin. Các chương 3 và 4 chúng tôi trình bày khá chi
tiết mô hình quan niệm và tổ chức của hệ thống thông tin. Chương cuối
cùng, mức vật lý của hệ thống thông tin, trình bày các bước quan trọng để
người phân tích chuẩn bị công việc mã hóa và cài đặt. Các chương của giáo
trình được trình bày với những ví dụ thực tế để người đọc thấy được bức
tranh toàn cục của hệ thống qua các bước thiết kế.
Trong quá trình biên soạn, mặc dù đã cố gắng tham khảo nhiều tài liệu
và giáo trình khác nhưng tác giả không khỏi tránh được những thiếu sót và
hạn chế. Tác giả chân thành mong đợi những nhận xét, đánh giá và góp ý để
cuốn giáo trình ngày một hoàn thiện hơn.

Huế, Ngày 20 tháng 11 năm 2004


Tác giả

Nguyễn Mậu Hân

3
MỤC LỤC
Chương 1: TỔNG QUAN VỀ PHÂN TÍCH THIẾT KẾ HTTT
1.1 Tổng quan về hệ thống thông tin 5
1.1.1 Đặt vấn đề 5
1.1.2 Hệ thống - Hệ thống thông tin 6
1.2 Các hệ thống thông tin thông dụng 6
1.2.1 Hệ xử lý dữ liệu (DPS-Data Processing System) 6
1.2.2 Hệ thông tin quản lý (MIS-Management Information System) 7
1.2.3 Hệ hỗ trợ quyết định (DSS- Decision Support System) 7
1.2.4 Hệ chuyên gia (ES-Expert System) 8
1.3 Các thành phần của một hệ thống thông tin quản lý 8
1.4 Các tính năng của một HTTT 10
1.5 Mục đích, yêu cầu phương pháp phân tích thiết kế HTTT 11
1.5.1 Mục đích 11
1.5.2 Yêu cầu 11
1.6 Xây dựng thành công một hệ thống thông tin 11
1.6.1 Khái niệm về một dự án công nghệ thông tin thành công 11
1.6.2 Quản lý và phát triển một dự án công nghệ thông tin 12
1.6.2.1 Khởi tạo dự án 12
1.6.2.2 Lập kế hoạch dự án 13
1.6.2.3 Thực hiện dự án 13
1.6.2.4 Kết thúc dự án 14
1.7 Giới thiệu một vài phương pháp phân tích thiết kế 15
1.7.1 Phương pháp phân tích thiết kế có cấu trúc 15
1.7.2 Phương pháp phân tích thiết kế Merise 16
1.7.4 Phương pháp phân tích GLACSI 19
1.8 Những sai lầm có thể xẩy ra khi phân tích thiết kế HTTT 20

151
1.9 Các giai đoạn xây dựng một hệ thống thông tin tin học hóa 20
1.9.1 Lập kế hoạch 21
1.9.2 Phân tích 22
1.9.2.1 Phân tích hiện trạng 22
1.9.2.2 Phân tích khả thi và lập hồ sơ nhiệm vụ 23
1.9.2.3. Xây dựng mô hình hệ thống chức năng 23
1.9.3 Thiết kế 24
1.9.4 Giai đoạn thực hiện 24
1.9.5 Chuyển giao hệ thống 25
1.9.6 Bảo trì 26
1.10 Các mức bất biến của một hệ thống thông tin 26
1.10.1 Mức quan niệm 26
1.10.2 Mức tổ chức 27
1.10.3 Mức vật lý (tác nghiệp) 27

Chương 2 NGHIÊN CỨU HIỆN TRẠNG CỦA HTTT


2.1 Một số vấn đề chung khi nghiên cứu hệ thống 29
2.2 Yêu cầu đặt ra đối với hệ thống thông tin tin học hóa 30
2.2 Quy mô tin học hóa 31
2.3 Vai trò của những người tham gia phát triển hệ thống thông tin 32
2.3.1 Người quản lý hệ thống thông tin 32
2.3.2 Người phân tích hệ thống 32
2.3.3 Người lập trình 33
2.3.4 Người sử dụng đầu cuối 33
2.3.5 Kỹ thuật viên 34
2.3.6 Chủ đầu tư 34
2.4 Nghiên cứu hiện trạng 34
2.4.1 Mục đích 34

152
2.4.2 Nội dung nghiên cứu và đánh giá hiện trạng 35
2.4.3 Các kỹ thuật thu thập thông tin 35
2.4.3.1 Các khái niệm và thuật ngữ sử dụng trong khảo sát hiện trạng 35
2.4.3.2 Các phương pháp nghiên cứu hiện trạng 37
2.5 Các công việc sau khảo sát hiện trạng 41
2.5.1 Xử lý sơ bộ kết quả khảo sát 41
2.5.2 Tổng hợp kết quả khảo sát 42
2.5.2.1 Tổng hợp các xử lý 42
2.5.2.2 Tổng hợp các dữ liệu 43
2.5.3 Hợp thức hoá kết quả khảo sát 44
2.6 Giới thiệu nghiên cứu hiện trạng của một số HTTT 45
2.6.1 Hệ thống thông tin "Quản lý kho hàng" 45
2.6.2 Hệ thống thông tin " Quản lý công chức" 49
2.5.3 Hệ thống thông tin "Quản lý đào tạo" 50

2.7 Phân tích hệ thống về chức năng 51


2.7.1 Các mức độ diễn tả chức năng 52
2.7.2 Biểu đồ chức năng nghiệp vụ BFD 53

2.8.1 Sơ đồ ngữ cảnh 55


2.8.2 Biểu đồ luồng dữ liệu DFD 56
2.8.3 Kỹ thuật phân mức 60
Chương 3: MÔ HÌNH QUAN NIỆM CỦA HỆ THỐNG THÔNG TIN
3.1 Giới thiệu về mô hình quan niệm 64
3.2 Mô hình thực thể-mối quan hệ (mô hình ER) 64
3.2.1 Ý nghĩa của mô hình 64
3.2.2 Các thành phần của mô hình ER 64
3.2.1 Thực thể và tập thực thể 65
3.2.2 Thuộc tính 66

153
3.3 Mối quan hệ giữa các tập thực thể 67
3.3.1 Mối quan hệ 67
3.3.2 Bản số 70
3.3.3 Bản số trực tiếp giữa các mối quan hệ 71
3.3.4. Tách một mối quan hệ đa nguyên thành các mối quan hệ nhị nguyên 72
3.3.5. Ràng buộc phụ thuộc hàm trên mối quan hệ đa nguyên 75
3.4 Một vài nhận xét để rà soát lại mô hình ER 78
3.4.1 Đối tượng nào có thể làm tập thực thể? 78
3.4.2 Yếu tố thông tin gì có thể làm thuộc tính cho một tập thực thể? 79
3.4.3 Loại bỏ các thuộc tính vô nghĩa 79
3.4.4 Tính độc lập của các thuộc tính 79
3.4.5 Xác định thuộc tính khóa 79
3.4.6 Tách thuộc tính có dung lượng lớn 80
3.4.7 Xử lý một thuộc tính lặp nằm trong một tập thực thể 80
3.4.8 Xử lý một nhóm thuộc tính lặp nằm trong cùng một tập thực thể 81
3.4.8 Xử lý các thuộc tính phức hợp 81
3.4.9 Các tập thực thể có mối quan hệ ISA 81
3.5 Mô hình quan niệm về dữ liệu 82
3.6 Mô hình quan niệm xử lý 85
3.6.1 Mục đích 85
3.6.2 Một số thuật ngữ và khái niệm 85

Chương 4 MÔ HÌNH TỔ CHỨC CỦA HTTT 94

4.1 Khái niệm 94


4.2 Mô hình dữ liệu quan hệ 94
4.2.1 Các định nghĩa cơ bản 94
4.2 Mô hình tổ chức dữ liệu 96
4.2.1 Khái niệm 96

154
4.2.2 Quy tắc chuyển đổi 97
4.2.3. Thuật toán chuyển đổi mô hình ER thành các quan hệ 105
4.2.3 Mô hình tổ chức dữ liệu 111
4.3 Chuẩn hoá và kiểm tra lại mô hình ER 114
4.3.1 Mục đích của chuẩn hóa 114

4.3.2 Định nghĩa các dạng chuẩn 115

4.3.3 Chuẩn hoá các lược đồ quan hệ 116

4.3.4 Một số ví dụ về chuẩn hoá 118


4.4 Ràng buộc toàn vẹn 129
4.5 Mô hình tổ chức về xử lý 131
4.5.1 Mục đích 131
4.5.2 Các khái niệm 131
4.4.2 Bảng công việc 132
4.4.4 Mô hình tổ chức về xử lý 133

Chương 5 MỨC VẬT LÝ CỦA HTTT 138

5.1 Mô hình vật lý về dữ liệu 138

5.1.1 Thiết kế cơ sở dữ liệu vật lý 138

5.1.2 Thiết kế các trường 139

5.1.2 Thiết kế các file 140

5.1.3 Các hệ quản lý file 140

5.1.4 Các cấu trúc dữ liệu và phương thức truy nhập 141

5.1.6 Xác định quy mô file và không gian lưu trữ cần thiết 142

5.2 Mô hình vật lý về xử lý 145

5.2.1 Mục đích 145

5.2.2 Mô đun xử lý 145

155
5.2.3 Phân rã mô đun 146

5.2.4 Sơ đồ tổng thể phân rã chức năng 147

5.2.5 Mô tả các mô đun 150

156
TÀI LIỆU THAM KHẢO

[1] Nguyễn văn Vị, Phân tích thiết kế các hệ thống thông tin hiện đại, NXB
Thống kê, 2002

[2] Nguyễn văn Ba, Phân tích thiết kế các hệ thống thông tin quản lý, NXB
Khoa học Kỹ thuật, 2002

[3] Thạc Bình Cường, Phân tích thiết kế hệ thống thông tin, NXB Khoa học Kỹ
thuật, 2002

[4] Đào Kiến Quốc, Bài giảng Phân tích thiết kế hệ thống thông tin, 2000

[5] Ngô Trung Việt, Phân tích và thiết kế hệ thống thông tin quản lý-kinh
doanh-nghiệp vụ, NXB Giao thông vận tải

[6] Benjamin S.Blanchard Wolter J.Fabrycky, System Engineering and


Analysis, Pren Hall, Australia, 1990

[7] Roger S.Pressman, PhD. Software Engineering, Kỹ nghệ phần mềm, bản
dịch của Ngô Trung Việt, NXB Giáo dục

[8] Judson R.Ostle, Information systems Analysis and Design, Burgess


Communication, USA, 1985

[9] A. Collongues J.Hugues B.Laroche, Merise. Phương pháp phân tích thiết kế
hệ thống thông tin tin học hóa phục vụ quản lý doanh nghiệp. Bản dịch của
Trương văn Tú, NXB Khoa học kỹ thuật, 1994

157
Chương 1: Phân tích thiết kế hệ thống thông tin

1.1 Tổng quan về hệ thống thông tin


1.1.1 Đặt vấn đề:
• Hệ thống thông tin tin học hoá là một trong những ứng dụng đầy đủ và toàn
diện nhất các thành tựu của công nghệ thông tin vào một tổ chức.
• Tại sao phải phân tích và thiết kế hệ thống thông tin?
. Có một cái nhìn đầy đủ, đúng đắn và chính xác về hệ thống thông tin được
xây dựng trong tương lai.
. Tránh sai lầm trong thiết kế và cài đặt.
. Tăng vòng đời (life cycle) hệ thống
. Dễ sửa chữa, bổ sung và phát triển hệ thống trong quá trình sử dụng hoặc
khi hệ thống yêu cầu.
Để thấy được sự cần thiết của việc phân tích và thiết kế hệ thống thông tin tự
động, chúng ta xem các số liệu liên quan đến xây dựng các phần mềm mà công
ty IBM đã thống kê được trong giai đoạn 1970-1980.
Phân tích về sai sót:
ý niệm /quan niệm : 45%
Mã hóa : 25%
Soạn thảo : 7%
Các sai sót ở mức 2 : 20%
Các sai sót không xếp loại : 3%
Phân tích về chi phí
Bảo trì : 54%
Phát triển : 46%
Phân tích phân bổ hoạt động
Sản xuất mã : 15%
Phát hiện và sửa chữa sai sót : 50%
Khác : 35%
Các số liệu trên cho thấy sai sót lớn nhất trong tất cả các loại sai sót mắc
phải là ở phần ý niệm, quan niệm, tức là nằm trong việc phân tích và thiết kế.
Chi phí chiếm tỉ trọng lớn nhất là chi phí bảo hành, lượng công việc chiếm tỷ lệ
lớn nhất là phát hiện và sửa chữa. Tình trạng này bắt nguồn từ các thiếu sót
trong phân tích và thiết kế, do đó các nhà tin học luôn tìm ra một phương pháp
phân tích hữu hiệu nhất nhằm khắc phục các tình trạng trên.

3
1.1.2 Hệ thống - Hệ thống thông tin
• Hệ thống là tập hợp các phần tử có quan hệ qua lại với nhau cùng hoạt động
hướng đến một mục tiêu chung thông qua việc tiếp nhận các đầu vào và sản
xuất các đầu ra nhờ một quá trình chuyển đổi được tổ chức. Hệ thống này còn
được gọi là hệ thống động (Dynamic System)
• Hệ thống thông tin là một tập hợp gồm nhiều thành phần mà mối liên hệ giữa
các thành phần này cũng như liên hệ giữa chúng với các hệ thống khác là liên
hệ thông tin với nhau.

1.2 Các hệ thống thông tin thông dụng


Trong thực tế, bốn hệ dưới đây thường được sử dụng.
1.2.1 Hệ xử lý dữ liệu (DPS-Data Processing System)
Chức năng
• Xử lý các giao dịch và ghi lại những dữ liệu cho từng chức năng đặc thù.
• Dữ liệu đưa vào được thường xuyên cập nhật. Dữ liệu đầu ra định kỳ bao
gồm các tài liệu hoạt động và báo cáo.
Hệ xử lý dữ liệu có tính cục bộ thường dành cho các cho các nhà quản lý cấp
tác nghiệp.
1.2.2 Hệ thông tin quản lý (MIS-Management Information System)
Hệ thông tin quản lý là một hệ thống thông tin được sử dụng trong các tổ
chức kinh tế xã hội, hệ gồm nhiều thành phần, mỗi thành phần là một hệ thống
con hoàn chỉnh.
Ví dụ: hệ thống thông tin quản lý trong một xí nghiệp có các hệ thống con là hệ
thống “Quản lý vật tư”, hệ thống “Quản lý tài chính”,..., hệ thống thông tin
quản lý trong một trường đại học có các hệ thống con là hệ thống “Quản lý vật
tư”, hệ thống “Quản lý đào tạo”, hệ thống “Quản lý NCKH”,...
Chức năng của MIS:
• Hỗ trợ các chức năng xử lý dữ liệu trong giao dịch và lưu trữ.
• Dùng một cơ sở dữ liệu hợp nhất và hỗ trợ cho nhiều chức năng.
• Cung cấp cho các nhà quản lý các thông tin theo thời gian của hệ thống.
• Có cơ chế bảo mật thông tin theo từng cấp độ có thẩm quyền sử dụng.
Cách xem xét tốt nhất một hệ thống thông tin quản lý là đặt nó trong mục
đích của tổ chức đang sử dụng hệ thống đó, một trong các cách như vậy là nhìn
hệ thống thông tin dưới góc độ của một hệ hỗ trợ ra quyết định.
1.2.3 Hệ hỗ trợ quyết định (DSS- Decision Support System)
Mục đích của hệ là giúp cho tổ chức những thông tin cần thiết để ra quyết
định hợp lý và đủ độ tin cậy.

4
Khả năng của hệ:
• Cung cấp, sắp xếp các phương án theo tiêu chuẩn của người làm quyết định.
• Cung cấp và phân tích dữ liệu, biểu diễn dữ liệu bằng đồ thị một cách tự
động.
• Chọn lựa giúp một phương án tối ưu trên cơ sở các thông tin đưa vào.
Đặc trưng của DSS
• Hỗ trợ các nhà làm quyết định trong quá trình ra quyết định.
• Tạo những mô hình đa chức năng, có khả năng mô phỏng và có các công cụ
phân tích.
• Tạo thuận lợi cho liên lạc giữa các mức làm quyết định.
1.2.4 Hệ chuyên gia (ES-Expert System)
Hệ thông tin giúp các nhà quản lý giải quyết và thực hiện vấn đề ở mức
cao hơn DSS. Hệ này liên quan đến lĩnh vực trí tuệ nhân tạo, làm cho máy tính
có khả năng lập luận, học tập, tự hoàn thiện như con người. Chẳng hạn các
chương trình lập kế hoạch tài chính, chẩn đóan bệnh, dịch máy,...

1.3 Các thành phần của một hệ thống thông tin quản lý
Theo quan điểm của hệ thống thì một hệ thống thông tin quản lý thường có
3 thành phần:
- Thành phần quyết định: thực hiện chức năng ra quyết định.
- Thành phần thông tin: thực hiện chức năng tiếp nhận, xử lý, truyền tin và
lưu trữ thông tin trong hệ thống.
- Thành phần tác nghiệp: là thành phần bảo đảm các hoạt động cơ sở của
một tổ chức.
Ví dụ: hệ thống thông tin quản lý trong một xí nghiệp có thành phần quyết định
là Ban Giám đốc, thành phần thông tin là các phòng ban chức năng, thành phần
tác nghiệp là các phân xưởng, cơ sở sản xuất.
Chúng ta có thể thấy mối quan hệ giữa các thành phần của một hệ thống thông
tin qua sơ đồ dưới đây.

5
TP QUYẾT ĐỊNH

Quyết Báo cáo

Thông tin vào Thông tin ra


từ môi trường TP THÔNG TIN từ môi trường
ngoài ngoài

Thông tin Thông tin


Điều hành Kiểm tra

Nguyên liệu vào TP TÁC NGHIỆP Sản phẩm ra

Hệ thống thông tin theo quan điểm hệ hỗ trợ ra quyết định

Bây giờ chúng ta đi đến một định nghĩa có tính chất mô tả của một hệ thống
thông tin:
Hệ thống thông tin của một tổ chức là tập hợp các phương tiện, nhân lực, thông
tin và phương pháp xử lý tin nhằm cung cấp các thông tin cho quá trình ra
quyết định đúng thời hạn và đủ độ tin cậy.
Trong đó:
*Tổ chức: có thể là cơ quan, xí nghiệp, trường học...
*Phương tiện (phần cứng-phần mềm): cơ sở vật chất dùng để thu nhập, xử lý,
lưu trữ, chuyển tải thông tin trong hệ thống như máy tính, máy in, điện thoại ...
*Nhân lực: bao gồm tập thể, cá nhân tham gia vào việc thu thập dữ liệu, xử
lý, truyền tin,...những người phát triển và duy trì hệ thống.
*Thông tin (dữ liệu): Các thông tin được sử dụng trong hệ thống, các thông
tin từ môi trường bên ngoài vào hệ thống, các thông tin từ hệ thống ra môi
trường bên ngoài. Tuy nhiên, khi nói đến thông tin phải nói đến các yếu tố kèm
theo nó như:
.Giá mang thông tin: là các phương tiện lưu trữ tin như giấy, đĩa từ, âm
thanh...
.Kiểu thông tin: thông tin văn bản, âm thanh, hình ảnh, tri thức.
.Qui tắc tiếp nhận và hành trình của thông tin.

6
.Vai trò của thông tin trong hoạt động tác nghiệp, trong việc đưa ra quyết
định.
*Phương pháp xử lý tin: là các tài nguyên phi vật chất như các mô hình toán
học, các thuật toán, tri thức của con người trong hệ thống, các phần mềm tin
học.
Tóm lại, hệ thống thông tin được cấu thành từ 4 yếu tố chính: thông tin,
phương pháp xử lý tin, con người và phương tiện.

1.4 Các tính năng của một HTTT


• Thời gian trả lời: được tính bằng khoảng thời gian từ khi thông tin được hệ
thống tiếp nhận đến khi hệ thống tác nghiệp nhận được quyết định tương ứng
với thông tin đến.
• Bản chất của quyết định thuộc loại tự động hóa được hay không.
• Kiểu sản phẩm của hệ thống tác nghiệp.
• Khối lượng thông tin được xử lý.
• Độ phức tạp của dữ liệu.
• Độ phức tạp của xử lý.
• Độ phức tạp về cấu trúc của hệ thống.
• Độ tin cậy của hệ thống.

1.5 Mục đích, yêu cầu đối với một phương pháp phân tích thiết kế HTTT
1.5.1 Mục đích
. HTTT có vòng đời dài (long life cycle)
. Có chức năng là một hệ hỗ trợ ra quyết định
. Chương trình cài đặt dễ sửa chữa, bảo hành
. Hệ thống dỄ sử dụng, có độ chính xác cao.

1.5.2 Yêu cầu


. Quan điểm tiếp cận tổng thể: bằng cách xem mọi bộ phận, dữ liệu,
chức năng là các phần tử trong hệ thống là các đối tượng phải được nghiên cứu.
Do đó hiểu biết tất cả những điều đó là cần thiết cho phát triển của hệ thống.
. Quan điểm top-down: là quan điểm phân tích từ trên xuống theo hướng
từ tiếp cận tổng thể đến riêng biệt.
. Nhận dạng được các mức trừu tượng và bất biến của hệ thống ứng với
chu trình phát triển hệ thống
. Nhận dạng được các thành phần dữ liệu và xử lý của hệ thống.

7
. Định ra được các kết quả cần đạt được cho từng giai đoạn phát triển hệ
thống và các thủ tục cần thiết trong mỗi giai đoạn.

1.6 Xây dựng thành công một hệ thống thông tin


1.6.1 Khái niệm về một dự án công nghệ thông tin thành công
Trong thực tế chưa có một tiêu chuẩn cụ thể nào để xác định được một
hệ thống thông tin được xem là thành công. Ngay cả một hệ thống thông tin nhỏ
đang hoạt động tốt thì mọi người vẫn không đồng ý với nhau về hiệu quả của
nó. Tuy nhiên để có cơ cở cho việc đánh giá một hệ thống thông tin người ta
đưa ra một số tiêu chuẩn và quy tắc sau: Một hệ thống thông tin được xem là có
hiệu lực nếu nó góp phần nâng cao chất lượng hoạt động và quản lý tổng thể
của một tổ chức, nó thể hiện cụ thể trên các mặt:
. Phù hợp với chiến lược hoạt động của tổ chức.
. Đạt được mục tiêu thiết kế đề ra của tổ chức.
. Chi phí vận hành là chấp nhận được.
. Có độ tin cậy cao, đáp ứng được các chuẩn mực của một hệ thống
thông tin hiện hành. Chẳng hạn như tính sẵn sàng: thời gian làm việc trong
ngày, tuần; thời gian thực hiện một dịch vụ, một tìm kiếm; các kết xuất thông
tin đúng yêu cầu như biểu mẫu, số chỉ tiêu...
. Sản phẩm có giá trị xác đáng: thông tin đưa ra là đúng đắn, kịp thời, có
ý nghĩa thiết thực đối với hoạt động chức năng và quản lý, nâng cao chất lượng
sản phẩm và dịch vụ của tổ chức, các sai sót có thể cho phép.
. Dễ học, dễ nhớ và dễ sử dụng.
. Mềm dẽo, hướng mở, dễ bảo trì.

1.6.2 Quản lý và phát triển một dự án công nghệ thông tin


Mục tiêu của việc quản lý dự án là đảm bảo cho các dự án phát triển
HTTT đáp ứng được sự mong đợi của khách hàng và được thực hiện trong
phạm vi giới hạn cho phép (như ngân sách, thời gian, điều kiện của tổ chức).
Đây là một khâu quan trọng của việc phát triển HTTT. Quản lý một dự án là sự
tiến hành có kế hoạch một loạt các hoạt động có liên quan với nhau để đạt một
mục tiêu, có điểm bắt đầu và điểm kết thúc. Nó bao gồm 4 pha: Khởi tạo dự án
- Lập kế hoạch dự án - Thực hiện dự án - Kết thúc dự án. Mỗi pha của dự án
yêu cầu một số công việc phải được thực hiện.

1.6.2.1 Khởi tạo dự án


Đây là bước đầu tiên của quá trình quản lý dự án mà trong đó cần thực
hiện một số hoạt động để đánh giá quy mô, phạm vi và sự phức tạp của dự án.
Các hoạt động đó là:

8
. Thiết lập đội dự án ban đầu
. Thiết lập mối quan hệ với khách hàng
. Thiết lập dự án sơ bộ: công việc này bao gồm: xác định quy mô và
phạm vi dự án, lập lịch trình cho các cuộc họp
. Thiết lập các thủ tục quản lý: để bảo đảm cho sự thành công của dự án,
cần phải lập các thủ tục quản lý có hiệu quả như: thủ tục báo cáo, truyền thông,
xét duyệt, thay đổi dự án, xác định thời hạn cấp vốn, hoàn tất chứng từ,...
. Thiết lập môi trường quản lý dự án và lập nhật ký công việc dự án:
Nhật ký dự án nhằm ghi lại các công việc, các sự kiện, cái vào, cái ra, thủ tục,
các chuẩn sử dụng cho việc kiểm tra dự án.

1.6.2.2 Lập kế hoạch dự án


Giai đoạn này tập trung vào việc xác định và mô tả các hoạt động và
công việc cần thiết của mỗi hoạt động cụ thể trong dự án. Nội dung lập kế
hoạch dự án bao gồm:
. Phát hoạ một kế hoạch truyền thông
. Xác định các chuẩn và các thủ tục dự án
. Mô tả phạm vi dự án, các phương án có thể và đánh giá khả thi
. Phân chia dự án thành các nhiệm vụ có thể quản lý được
. Phát triển một lịch trình sơ bộ
. Xác định và đánh giá các rủi ro
. Lập kế hoạch và ngân sách ban đầu
. Thiết lập mô tả công việc
. Lập kế hoạch dự án cơ sở
1.6.2.3 Thực hiện dự án
Thực hiện dự án là đưa kế hoạch dự án cơ sở vào thực hiện. Nội dung
của việc thực hiện dự án bao gồm:
. Triển khai kế hoạch dự án cơ sở, đưa dự án cơ sở vào thực hiện: bao
gồm khởi động dự án, nhận và phân bổ nguồn lực, định hướng và đào tạo thành
viên mới, theo dõi tình hình thực hiện đảm bảo chất lượng của sản phẩm tạo ra.
. Thúc đẩy tiến trình thực hiện dự án theo kế hoạch cơ sở: đánh giá kết
quả thực hiện, điều chỉnh hoạt động, nguồn lực và ngân sách. Trong trường hợp
có thể phải sửa đổi kế hoạch dự án cơ sở cho phù hợp.
. Quản lý sự thay đổi đối với kế hoạch dự án cơ sở: mọi thay đổi cần
được phản ảnh trong kế hoạch dự án cơ sở và nhật ký công việc của dự án.
. Bổ sung nhật ký công việc của dự án: tất cả các sự kiện diễn ra của dự
án cần phải được ghi vào nhật ký công việc. Nó cung cấp cho những thành viên

9
mới các thông tin để làm quen với nhiệm vụ của dự án. Nó cung cấp tài liệu lịch
sử để phân tích, ra các quyết định và lập báo cáo.
. Thông báo về tình trạng dự án: mục đích là để giữ mối liên hệ giữa các
thành viên của dự án. Việc thông báo kịp thời các diễn tiến của dự án là một
yêu cầu để có được những hiểu biết giữa các thành viên cùng làm việc với
nhau. Đảm bảo sự phối hợp hành động một cách có hiệu quả.

1.6.2.4 Kết thúc dự án


Mục tiêu của giai đoạn này là hoàn tất dự án, bao gồm các công việc
sau:
. Đóng dự án lại: cần thực hiện một số các hoạt động như đánh giá các
thành viên và kiến nghị lợi ích cho họ, hoàn tất các tài liệu và chứng từ thanh
toán. Cám ơn những người đã đóng góp, tham gia và hỗ trợ trong quá trình thực
hiện dự án.
. Tổng kết sau dự án: mục tiêu là xác định được mặt mạnh, mặt yếu từ
các sản phẩm của dự án, của quá trình hình thành lên nó và quá trình quản lý dự
án, từ đó rút ra những kinh nghiệm cho các dự án sau.
. Kết thúc mọi hợp đồng: ký kết các bản thanh lý hợp đồng với các bên
liên quan.

1.7 Giới thiệu một vài phương pháp phân tích thiết kế
1.7.1 Phương pháp phân tích thiết kế có cấu trúc (SADT-Structured
Analysis and Design Technique-Kỹ thuật phân tích và thiết kế có cấu trúc):
Phương pháp này xuất phát từ Mỹ, ý tưởng cơ bản của nó là Phân rã một hệ
thống lớn thành các hệ thống con đơn giản. SADT được xây dựng dựa trên 7
nguyên lý sau:
. Sử dụng một mô hình
. Phân tích kiểu Top-down.
. Dùng một mô hình chức năng và một mô hình quan niệm (còn được gọi
là “mô hình thiết kế” để mô tả hệ thống.
. Thể hiện tính đối ngẫu của hệ thống
. Sử dụng các biểu diễn dưới dạng đồ hoạ
. Phối hợp các hoạt động của nhóm
. Ưu tiên tuyệt đối cho hồ sơ viết.
Công cụ để phân tích:
. Sử dụng sơ đồ chức năng công việc BFD (Business Function Diagram)
và lưu đồ luồng dữ liệu DFD (Data Flow Diagram) .
. Mô hình dữ liệu (Data Modes)

10
. Ngôn ngữ có cấu trúc SL (Structured Language)
. Từ điển dữ liệu (Data Dictionary)
. Bảng và cây quyết định (Warnier/orr)
. Đặc tả các tiến trình (Process Specification).
Phương pháp phân tích thiết kế SADT có ưu điểm là dựa vào nguyên lý phân
tích có cấu trúc, thiết kế theo lối phân cấp, bảo đảm từ một dữ liệu vào sản xuất
nhiều dữ liệu ra. Nhược điểm của phương pháp này là không bao gồm toàn bộ
các tiến trình phân tích do đó nếu không thận trọng có thể đưa đén tình trạng
trùng lặp thông tin.

1.7.2 Phương pháp phân tích thiết kế Merise


MERISE viết tắt từ cụm từ Methode pour Rassembler les Ideés Sans
Effort (phương pháp tập hợp các ý tưởng không cần cố gắng). Phương pháp này
ra đời vào những năm cuối của thập niên 70. Xuất phát từ những suy nghĩ của
một nhóm nghiên cứu đứng đầu bởi J.L.Lemoigne tại trường đại học Aix-En-
Provence - Pháp và những nghiên cứu hiện thực đồng thời ở Trung tâm nghiên
cứu trang bị kỹ thuật (CETE), dưới sự lãnh đạo của H.Tardien.Trong sự phát
triển nhanh chóng của công nghệ mới, MERISE còn được dùng để điều hành dự
án không chỉ trong công sở mà còn trong nhiều xí nghiệp đủ loại khác nhau.
Ý tưởng cơ bản của phương pháp Merise:
Ý tưởng cơ bản của phương pháp phân tích thiết kế Merise dựa trên 3 mặt cơ
bản sau:
Mặt thứ nhất: quan tâm đến chu kỳ sống (life cycle) của hệ thống thông tin qua
các giai đoạn: Thai nghén (Gestation) - Quan niệm/Ý niệm - Quản trị - Chết.
Chu kỳ sống này có thể kéo dài từ 15đến 20 năm đối với các hệ thống thông tin
lớn.
Mặt thứ hai: đề cập đến chu kỳ đặc trưng của hệ thống thông tin, còn được gọi
là chu kỳ trừu tượng. Mỗi tầng được mô tả dưới dạng mô hình tập trung bao
gồm tập hợp các thông số chính xác. Theo đó khi những thông số của tầng dưới
tăng trưởng, tầng đang mô tả không biến đổi và nó chỉ thay đổi khi các thông số
của mình thay đổi. Mỗi mô hình được mô tả thông qua một hình thức dựa trên
các quy tắc, nguyên lý ngữ vựng và cú pháp quy định. Có những quy tắc cho
phép chuyển từ mô hình này sang mô hình khác một cách tự động nhiều hoặc ít.
Mặt thứ ba: mặt này liên quan đến chu kỳ các quyết định cần phải đưa ra trong
các chu kỳ sống của sản phẩm.
Đặc trưng của phương pháp Merise là tách rời dữ liệu và xử lý nhằm đảm bảo
tính khách quan trong quá trình phân tích và cung cấp đầy đủ các mô hình để
diễn đạt các bước cập nhật. Hệ thống bao gồm dữ liệu và xử lý được biểu diễn ở
ba mức:

11
- Mức quan niệm (Concept): xác định các thành phần của dữ liệu và xử lý .
- Mức tổ chức (Oganization): chi tiết hóa những quan hệ giữa chúng.
- Mức tác nghiệp (Physic): các thành phần được thể hiện trong thực tế như
thế nào.
Công cụ để phân tích:
Trên cơ sở ba mức bất biến của hệ thống thông tin, phương pháp phân tích thiết
kế Merise sử dụng các mô hình tương ứng trên các mức này để phân tích thiết
kế một hệ thống thông tin.
MỨC DỮ LIỆU XỬ LÝ
Mức quan niệm MH quan niệm về dữ liệu MH quan niệm về xử lý
Mức tổ chức MH tổ chức về dữ liệu MH tổ chức về xử lý
Mức vật lý MH vật lý về dữ liệu MH vật lý về xử lý
Ưu điểm của phương pháp phân tích thiết kế MERISE là có cơ sở khoa
học vững chắc. Hiện là một trong những phương pháp được dùng nhiều ở Pháp
và Châu Âu khi phải phân tích các hệ thống lớn. Nhược điểm của phương pháp
này là cồng kềnh. Do đó, để giải quyết các ứng dụng nhỏ phương pháp này
thường đưa đến việc kéo dài thời gian.
Trong giáo trình này, chúng tôi sẽ bám sát phương pháp này để trình
bày các bước phân tích thiết kế một hệ thống thông tin
Có thể hình dung các bước phát triển của một hệ thống thông tin thông
qua mô hình không gian ba chiều: chiều các thành phần của hệ thống thông tin,
chiều các mức bất biến của hệ thống thông tin và chiều các giai đoạn phân tích
thiết kế một hệ thống thông tin.

Mức vật lý

Mức tổ chức

Mức quan niệm

thiết bị con người Xử lý Thông tin

Lập kế hoạch

Phân tích

Thiết kế

Thực hiện

12
1.7.3 Phương pháp phân tích MCX (Méthode de xavier castellani)
Phương pháp phân tích MCX có nguồn gốc từ Pháp, do giáo sư của Học viện
Tin học cho các xí nghiệp IIE (Institut Informatique d’Entrerise) sáng tạo.
Phương pháp phân tích MCX dựa trên các nguyên lý và đặc trưng cơ bản sau:
Cho phép xây dựng được một mô hình tổng quát chính xác để biểu diễn hệ
thống thông tin hoặc các phân hệ của hệ thống thông tin.
Cho phép phân tích, nắm dữ liệu, quá trình xử lý và truyền thông của hệ thống
thông tin.
Cho phép lượng hoá các xử lý.
MCX có ưu điểm là thích hợp với việc thực hành. Nhược điểm là rườm rà.
1.7.4 Phương pháp phân tích GLACSI (Groupe d’ Animation et de Liaison
pour l’ Analyse et de conception de Système d’ Information)
Phương pháp này cũng có nguồn gôc từ Pháp, ra đời vào tháng 4 năm 1982. Tác
giả của nó là một nhóm giáo sư của Học viện Công nghệ Pháp (IUT). Nội dung
cơ bản của phương pháp là trình bày một tập hợp các công cụ và nguyên liệu để
tiến hành các giai đoạn cơ bản sau đây của tiến trình phân tích:
• Nghiên cứu hệ thống
ƒ Nghiên cứu hiện trạng
ƒ Nghiên cứu khả thi
• Phân tích chức năng
ƒ Mô hình dữ liệu
ƒ Mô hình xử lý
• Phân tích cấu trúc
ƒ Tổ chức dữ liệu: ở mức logic và mức vật lý
ƒ Tổ chức xử lý: xử lý theo lô, xử lý theo thời gian thực
ƒ Môi trường tiếp nhận: máy tính, mạng máy tính, ngôn ngữ, các
phần mềm chuyên dụng
ƒ Giao diện người-máy
Nhược điểm của phương pháp là chưa thử nghiệm nhiều trong thực tế.
Ưu điểm của phương pháp là một công cụ tốt để giảng dạy.
Ngoài các phương pháp phân tích thiết kế đã nói ở trên còn có phương
pháp phân tích hướng đối tượng (OOA: Object Oriented Annalysis) sẽ được
bàn đến ở chương cuối cùng.
1.8 Những sai lầm có thể xẩy ra khi phân tích thiết kế HTTT
Những phương pháp phân tích hiện đại mong muốn và hướng tới giải quyết
toàn bộ hoặc từng phần các tồn tại và khiếm khuyết trong quá trình phân tích
như sau:

13
• Thiếu sự tiếp cận tổng thể trong phát triển hệ thống:
.Người phân tích bị ảnh hưởng đến nhu cầu trực tiếp của chủ đầu tư và
NSD.
• Thu thập nhiều lần cùng một thông tin
• Dùng các thuật ngữ khác nhau đối với cùng một quan niệm
• Sự phiến diện, không đầy đủ của hồ sơ
• Sự bất hợp tác của người sử dụng.
• Thiếu một chuẩn thống nhất
.Người phân tích thiếu một chuẩn thống nhất để mô tả, cài đặt các ứng
dụng trong hệ thống
1.9 Các giai đoạn xây dựng một hệ thống thông tin tin học hóa
Mọi phương pháp phân tích thiết kế hệ thống thông tin phải trải qua các
giai đoạn sau:
• Nghiên cứu nhu cầu (hệ thống cần gì?)
• Nghiên cứu khả thi (cân nhắc giữa nhu cầu và khả năng)
• Đề xuất một kiểu kiến trúc mới của hệ thống
• Mã hóa (tổ chức dữ liệu và lập trình)
• Thử nghiệm và khai thác
Quá trình phát triển của hệ thống thông tin phải bắt đầu từ tình trạng của hệ
thống thông tin cũ và từ sự thiếu hiệu quả của hệ thống cũ so với nhiệm vụ đặt
ra của tổ chức.

PHÂN TÍCH THIẾT KẾ

Hệ thống cũ
họat động như Hệ thống mới Xác định hệ thống
thế nào? phải làm gì? mới phải làm như
thế nào?

Tìm hiểu yêu cầu


Hệ thống cũ THỰC HIỆN
thực tế và yêu cầu
làm gì?
sử dụng.

Mã hóa, chuyển
giao, bảo trì.
Bắt đầu

14
1.9.1 Lập kế hoạch (khảo sát hệ thống):
Đây là giai đoạn đầu tiên thông qua việc tiếp xúc giữa người phân tích
và chủ đầu tư nhằm xác định các công việc cần thiết trước khi có thể tiến hành
nghiên cứu các lĩnh vực, bộ phận, hệ thống con, các tổ chức có liên quan đến hệ
thống thông tin cần xây dựng. Giai đoạn này là làm rõ được ý muốn của chủ
đầu tư là: xây dựng 1 hệ thống thông tin mới hay nâng cấp 1 hệ thống thông tin
cũ. Mục đích cần làm sáng tỏ những vấn đề sau:
• Có cần thiết xây dựng hệ thống thông tin mới hoặc nâng cấp HTTT cũ
không? Nếu có,
• Thời gian bắt đầu, thời gian kết thúc
• Ước tính chi phí thực hiện
• Nhân lực, vật lực phục vụ cho hệ thống tương lai.
• Có ích lợi và những cản trở gì.
• Trách nhiệm mỗi bên cũng được thỏa thuận sơ bộ vào giai đoạn này.
Nói tóm lại, kết thúc của giai đoạn này là một hợp đồng không chính thức giữa
người phân tích thiết kế và chủ đầu tư.
1.9.2 Phân tích:
Là giai đoạn trung tâm khi xây dựng 1 hệ thống thông tin, giai đoạn này
bao gồm các giai đoạn và khởi sự ngay trong giai đoạn lập kế hoạch. Phân tích
bao gồm các công đoạn sau:
1.9.2.1 Phân tích hiện trạng:
Giai đoạn này nhằm hiểu rõ tình trạng hoạt động của hệ thống cũ trong
mục đích hoạt động của tổ chức. Cụ thể, nó bao gồm các công việc:
- Tìm hiểu hiện trạng: thông qua việc nghiên cứu hồ sơ, tài liệu để tìm
hiểu thông tin chung về ngành dọc của tổ chức.
- Tìm hiểu hoạt động hiện tại của tổ chức
- Xác định các thành phần tham gia trong tổ chức
- Các nhiệm vụ của các tổ chức thành viên và các tổ chức bên ngoài có
liên quan
- Các mối quan hệ thông tin giữa các thành viên trong tổ chức
1.9.2.2 Phân tích khả thi và lập hồ sơ nhiệm vụ:
Phân tích khả thi phải tiến hành trên 3 mặt:
. Phân tích khả thi về kỹ thuật: xem xét khả năng kỹ thuật hiện có để đề
xuất giải pháp kỹ thuật áp dụng cho hệ thống thông tin mới.
. Phân tích khả thi kinh tế: xem xét khả năng tài chính để chi trả cho việc
xây dựng hệ thống thông tin mới cũng như chỉ ra những lợi ích mà hệ thống sẽ
đem lại.

15
. Phân tích khả thi hoạt động: khả năng vận hành hệ thống trong điều kiện
khuôn khổ, điều kiện tổ chức và quản lý cho phép của tổ chức.
Sau đó, người phân tích phải định ra một vài giải pháp và so sánh, cân
nhắc các điểm tốt và không tốt của từng giải pháp. Tóm lại, trong giai đoạn này
người phân tích phải tìm ra một điểm cân bằng giữa nhu cầu và khả năng.
Sau khi đã chọn lựa xong giải pháp người phân tích cần phải lập hồ sơ
nhiệm vụ. Công việc này nhằm mục đích:
- Định hình các chức năng hệ thống cần đạt được.
- Định ra các thủ tục xây dựng quan niệm và thực hiện hệ thống.
- Định hình sơ lược giao diện của hệ thống với người sử dụng trong tương
lai. Làm các bản mẫu (prototype) để NSD hình dung được hệ thống trong tương
lai.
Tóm lại, lập hồ sơ nhiệm vụ là một thỏa thuận không chính thức giữa 3
phía: Người phân tích, Chủ đầu tư và Người sử dụng.
1.9.2.3. Xây dựng mô hình hệ thống chức năng:
Người phân tích dựa vào kết quả phân tích để xây dựng mô hình nghiệp vụ
của hệ thống, từ đó làm rõ mô hình thông tin và mô hình họat động của hệ
thống. Trong toàn bộ hoạt động phân tích thì đây là giai đoạn quan trọng nhất.
Quá trình tìm hiểu và xây dựng mô hình hệ thống được gọi là hoàn tất nếu
không còn một phản hồi nào từ phía chủ đầu tư.
1.9.3 Thiết kế:
Thiết kế và phân tích không phải là hai giai đoạn rời nhau. Thiết kế hệ
thống sẽ cho một phương án tổng thể hay một mô hình đầy đủ của hệ thống
thông tin. Nó bao gồm tất cả các đặc tả về hình thức và cấu trúc của hệ thống.
Trong giai đoạn thiết kế người phân tích phải xác định một cách chi tiết:
- Các thông tin.
- Các qui tắc phát sinh, tiếp nhận và xử lý thông tin
- Các kiểu khai thác
- Các phương tiện cứng và mềm được sử dụng trong hệ thống.
Tóm lại, thiết kế bao gồm các công việc sau:
• Thiết kế dữ liệu: xác định các đối tượng (tập thực thể) và cấu trúc dữ liệu
được sử dụng trong hệ thống.
• Thiết kế chức năng: định ra các modun xử lý thể hiện các chức năng xử lý
của hệ thống thông tin.
• Thiết kế giao diện: chi tiết hóa hình thức giao tiếp người - máy
• Thiết kế an toàn hệ thống
• Thiết kế phần cứng: tính toán các yêu cầu kỹ thuật cho hệ thống
• Dự kiến nhân sự tại các vị trí công tác của hệ thống.

16
1.9.4 Giai đoạn thực hiện
Trong giai đoạn này xây dựng hệ thống bao gồm xây dựng các file cơ bản.
Viết các chương trình thực hiện các chức năng của hệ thống mới tương ứng với
các kiểu khai thác đã đặt ra. Thực chất của giai đoạn này là thực hiện mã hóa dữ
liệu và giải thuật nên còn được gọi là giai đoạn mã hóa (coding)
Một trong những nhiệm vụ quan trọng của giai đoạn này là làm tài liệu sử
dụng để cho hướng dẫn cho người sử dụng và làm tài liệu kỹ thuật cho các
chuyên gia tin học phát triển hệ thống sau này.
1.9.5 Chuyển giao hệ thống
Giai đoạn này là giai đoạn cuối cùng để người phân tích hiệu chỉnh hệ
thống thông tin và đưa hệ thống vào khai thác, vận hành thử bằng số liệu giả để
phát hiện sai sót. Sau đó người phân tích phải đào tạo người sử dụng tại mỗi vị
trí trong hệ thống.
1.9.6 Bảo trì
Là quá trình sửa đổi, khắc phục những thiếu sót của hệ thống thông tin để
làm cho hệ thống thích nghi hơn, thuận tiện hơn trong sử dụng.
Tóm lại, quá trình xây dựng một hệ thống thông tin có thể mô tả theo sơ đồ
dưới đây:

LËp kÕ ho¹ch

P h © n t Ýc h

T h iÕ t k Õ

T h ù c h iÖ n

C h u y Ó n g ia o

B¶o tr×

1.10 Các mức bất biến của một hệ thống thông tin
Việc định ra các mức trừu tượng hóa của một hệ thống thông tin xuất phát
từ nhu cầu của các nhà phân tích. Các nhu cầu đó bao gồm:
• Cần có một mô hình hoặc một ngôn ngữ đặc tả đơn giản nhưng đơn nghĩa để
xác định những yêu cầu trong mỗi giai đoạn phân tích.
• Cần có một mô hình hoặc một ngôn ngữ để đối thoại với những người không
chuyên tin học trong hệ thống thông tin.

17
• Cần có một ngôn ngữ mô tả các mức quan niệm khác nhau của hệ thống
thông tin liên quan đến chu kỳ sống của hệ thống.
Có 3 mức trừu tượng của một hệ thống thông tin:
1.10.1 Mức quan niệm
Mức quan niệm của một hệ thống thông tin là sự mô tả mục đích hệ
thống thông tin đó và những ràng buộc phải tôn trọng trong mối quan hệ với
mục đích của hệ thống. Các mô tả này phải độc lập với mọi giải pháp cài đặt
sau này. Ví dụ, hệ thống thông tin quản lý các chuyến bay của một công ty hành
không.
Cụ thể, ở mức quan niệm người ta cần mô tả:
- Các đối tượng được sử dụng trong hệ thống.
- Các hiện tượng và các mối quan hệ thông tin giữa các đối tượng, giữa các
hệ thống con trong hệ thống và giữa hệ thống với môi trường bên ngoài.
- Thứ tự công việc được thực hiện trong hệ thống.
- Các qui tắc biến đổi, công thức tính toán, thuật toán.
- Các nhiệm vụ mà hệ thống phải thực hiện và các ràng buộc mà hệ thống
phải tôn trọng.
Có 3 loại quy tắc:
+ Qui tắc quản lý: qui định mục tiêu và ràng buộc của hệ thống (thường là
những quy định, luật lệ áp đặt từ môi trường ngoài). Ví dụ: "SV phải nộp học
phí khi vào học", "doanh nghiệp phải đong thuế VAT". Một cách để xem xét
một quy tắc có phải là quy tắc quản lý không là nếu hủy bỏ quy tắc này thì hệ
thống có nguy cơ bị phá vỡ không?
+ Qui tắc tổ chức: qui tắc liên quan đến giải pháp họat động của hệ thống.
+ Qui tắc kỹ thuật: qui tắc liên quan đến các yêu cầu kỹ thuật để đảm bảo
hệ thống có thể họat động được.
Tóm lại ở mức quan niệm cần trả lời các câu hỏi:
. Chức năng của hệ thống thông tin là gì?
. Hệ thống thông tin cần những yếu tố gì?
. Hệ thống gồm những dữ liệu và các quy tắc quản lý như thế nào?
1.10.2 Mức tổ chức
Mục đích của mức tổ chức là xác định các phương tiện, nhân lực, máy
móc, cách tổ chức để cung cấp các thông tin cho người sử dụng đúng thời hạn
và đủ độ tin cậy. Tại mức này, cần trả lời các câu hỏi: Ai làm? Làm ở đâu? Làm
khi nào?
Thông tin ở mức tổ chức được mô tả theo giải pháp cơ sở dữ liệu và thực
chất là quan hệ logic của chúng. Do đó, đối với dữ liệu mức tổ chức còn gọi là
mức logic.

18
1.10.3 Mức vật lý (tác nghiệp)
Đây là mức ít trừu tượng nhất vì nó chính là hệ thống có thể họat động và
vận hành. Tại mức này, cần trả lời các câu hỏi hệ thống hoạt động như thế nào?
Mục tiêu của mức vật lý là xác định cách thực hiện của hệ thống thông tin
trong một môi trường cài đặt nào đó, thông tin ở đây được mô tả với các cấu
trúc, giá mang và phương thức truy nhập.
Mô hình của không gian phát triển hệ thống:

MVL

MTC

MQN

TTin XLý Cngười Thbị


Lập kế hoạch

Phân tích

Thiết kế

Có thể xem mỗi bước trong quá trình phân tích thiết kế hệ thống là một
điểm trong không gian 3 chiều trong hình vẽ ở trên.
Mức Dữ liệu Xử lý
Quan niệm Mô hình quan niệm về dữ liệu Mô hình quan niệm về xử lý
Logic Mô hình tổ chức dữ liệu Mô hình tổ chức xử lý
Vật lý Mô hình vật lý dữ liệu Mô hình vật lý xử lý

19
Chương 2 NGHIÊN CỨU HIỆN TRẠNG
CỦA HỆ THỐNG THÔNG TIN

2.1 Một số vấn đề chung khi nghiên cứu hệ thống


Trong thực tế gần 75% các hệ thống thông tin lớn và phức tạp đã hoạt
động yếu kém, không đạt được mục tiêu đề ra ban đầu. Những yếu kém này
thường rơi vào các vấn đề cơ bản sau:
ƒ Sai lầm về thiết kế: không hiểu biết đầy đủ các yêu cầu thông tin của tổ
chức. Nhiều chức năng của tổ chức không được đáp ứng. Giao diện
người-máy nghèo nàn, khó sử dụng. Cấu trúc rối rắm, phức tạp khó bảo
trì và hạn chế công việc phát triển. Chương trình không mềm dẻo.
Nguyên nhân của sai lầm này thực chất là do việc phân tích không đầy đủ
về hệ thống.
ƒ Sai lầm về dữ liệu: Dữ liệu trong hệ thống không thống nhất, không đầy
đủ hoặc không thích hợp cho mục đích của hệ thống, đôi khi còn sai lệch
vô nghĩa.
ƒ Hoạt động yếu kém: hệ thống hoạt động không hiệu quả, làm mất nhiều
thời gian để bảo trì sửa chữa, chưa đáp ứng chức năng của một hệ hỗ trợ
ra quyết định. Không đạt được yêu cầu các chuẩn về thông tin, người
dùng không muốn sử dụng.
ƒ Không bảo đảm tính năng hoàn vốn đầu tư: hệ thống hoạt động với chi
phí cao, tốn kém nhân lực. Đôi khi không sử dụng hệ thống còn tốt hơn,
nhanh hơn.
Những vấn đề trên đã được nghiên cứu và cải thiện từng bước tương ứng với
mỗi nguyên nhân gây ra chúng. Cách thức giải quyết các vấn đề trên tập trung
vào ba mặt:
- Nâng cao kỹ năng của các nhà phát triển hệ thống.
- Không ngừng hoàn thiện và phát triển công nghệ, tăng cường sử dụng
các công cụ tiện ích để tự động hoá ngày càng nhiều các hoạt động phát triển,...
làm cho hệ thống có tính mở (openning) cao.
- Hoàn thiện quá trình quản lý các dự án phát triển phần mềm.
2.2 Yêu cầu đặt ra đối với hệ thống thông tin tin học hóa
Mỗi tập thể hoặc cá nhân tham gia vào việc phát triển hệ thống thường có
những quan điểm khác nhau tuỳ theo vị trí của họ trong hệ thống.
Yêu cầu từ phía chủ đầu tư (người lãnh đạo): với tư cách là người đại diện cho
quuyền lợi của tổ chức, người lãnh đạo quan niệm hệ thống theo khía cạnh lợi
ích có tính chiến lược. Các yêu cầu mà chủ đầu tư thường đặt ra đối với những
người phát triển hệ thống là:
. Hệ thống thông tin tin học hoá phải phù hợp với chiến lược hoạt động
của tổ chức. Yêu cầu cầu này là hiển nhiên, vì mục đích của việc tin học hoá là

22
làm thế nào để có những thông tin chính xác và nhanh nhất để phục vụ cho quá
trình ra quyết định phù hợp với hoạt động của tổ chức.
. Hệ thống thông tin tin học hoá phải có chức năng hỗ trợ ra quyết định
và giảm thời gian ra quyết định. Trong thực tế nhiều người nhầm lẫn rằng, một
công việc nào đó được thực hiện trên máy tính là một hệ thống thông tin, ví dụ
nhập điểm và in điểm cho sinh viên ở một trường đại học, nhập số KW điện tiêu
thụ hàng của khách hàng để in ra hoá đơn tiền tiền điện,... chỉ là một công đoạn
nào đó trong hệ thống thông tin bởi vì kết quả của công đoạn này không có chức
năng hỗ trợ ra quyết định.
. Hệ thống thông tin tin học hoá phải cho sản phẩm hoặc dịch vụ mới tốt
hơn. Ví dụ nếu hệ thống thông tin quản lý trong ngân hàng không được tin học
hoá thì việc chuyển khoản, thanh toán không có hiệu quả tức thời, cũng không
nãy sinh ra các dịch vụ tiện lợi khác như rút tiền tự động trên các máy ATM,
Credit Card, mua hàng hoá trừ vào tài khoản,...
. Khả năng hoàn vốn đầu tư: không nên hiểu hoàn vốn là chuyển nhượng
hệ thống thông tin này cho những tổ chức khác để thu lợi nhuận. Một hệ thống
thông tin có khả năng hoàn vốn đầu tư nếu hệ thống đó có thể đem lại cho tổ
chức nhiều dịch vụ, tạo ra ưu thế cạnh tranh, đưa ra thông tin có giá trị giúp cho
tổ chức có những chiến lược đúng đắn.
Yêu cầu từ phía người sử dụng: người sử dụng đầu cuối thường quan niệm hệ
thống như là một sự mô phỏng công việc thường ngày chỉ có khác là có sự tham
gia của máy tính. Các yêu cầu mà người sử dụng thường đặt ra đối với những
người phát triển hệ thống là:
. Hệ thống thông tin phải có nhiều khả năng. Nghĩa là hệ thống phải làm
được các công việc của người sử dụng đầu cuối. Ví dụ, trong hệ thống thông tin
“Quản lý nhân sự” có thể in ấn và thống kê theo một hoặc nhiều điều kiện khác
nhau của cán bộ công chức trong cơ quan.
. Hệ thống thông tin phải dễ sử dụng và có ích thực sự cho người sử
dụng: hệ thống phải làm cho người sử dụng thấy được sự nổi trội, hơn hẳn so
với khi chưa sử dụng hệ thống. Tuy nhiên, người phát triển hệ thống phải làm
thế nào để hệ thống thân thiện và dễ sử dụng nhất.
. Hệ thống phải có độ tin cậy cao
Người kỹ thuật viên quan niệm hệ thống như là sự tổ chức lại các công
việc theo mục đích xử lý thông tin. Các quan niệm này đôi khi mâu thuẩn nhau
mà sự thành công của hệ thống đòi hỏi chúng ta phải dung hoà các quan niệm có
thể rất khác nhau.
Quan niệm đúng đắn nhất là hệ thống thông tin đã tồn tại ngay trong hoạt
động của tổ chức, và nó phục vụ cho mục đích chiến lược của tổ chức. Như vậy
đối với hệ thống thông tin tin học hoá thì trước hết phải phục vụ cho mục đích
chiến lược của tổ chức sau đó mới đến nhu cầu cụ thể của người sử dụng cũng
như nhân viên kỹ thuật.
2.2 Quy mô tin học hóa

23
Quy mô tin học hoá của một tổ chức cho biết trình độ quản lý và mức độ
tin học hoá của tổ chức đó, nó phụ thuộc vào các yếu tố sau:
. Tổ chức có nhu cầu tin học hoá nhiều hay ít.
. Trình độ quản lý của tổ chức cao hay thấp.
. Quy mô hoạt động của tổ chức
Trong thực tế việc tin học hoá một hệ thống thông tin xẩy ra một trong
hai dạng: tin học hoá toàn thể và tin học hoá từng bộ phận.
Việc tin học hoá toàn thể thường đòi hỏi một tập thể người phân tích đồng
thời tham gia và phải có một đầu tư lớn ban đầu, thời gian xây dựng đối với tin
học hoá loại này cũng dài hơn. Một khó khăn đối với tin học hoá toàn bộ là vấn
đề tâm lý, bởi vì nó thay đổi hầu như toàn bộ các hoạt động cơ bản của tổ chức
và thói quen của người sử dụng. Nhưng có một ưu điểm là hệ thống đồng hoạt
động đồng bộ, không manh múm, chắp vá.
Việc tin học hoá từng bộ phận thường xẩy ra đối với tổ chức lớn. Phương
pháp này có nhiều ưu điểm: không gây xáo trộn hoạt động của tổ chức, đầu tư
dần dần. Tuy nhiên, phương pháp này có nhược điểm là sự không nhất quán
giữa các phân hệ thông tin trong hệ thống. Điều này thường xẩy ra đối với các
hệ thống thông tin mà những người phát triển hệ thống không cùng trong một
tập thể phân tích hoặc hoạt động độc lập lẫn nhau.
2.3 Vai trò của những người tham gia phát triển hệ thống thông tin
Một trong những yếu tố quyết định sự thành công của một hệ thống thông
tin là tập thể và cá nhân tham gia vào quá trình phát triển hệ thống. Thông
thường có sáu đối tượng tham gia vào công việc này.
2.3.1 Người quản lý hệ thống thông tin:
Đó là những người được lãnh đạo của tổ chức giao trách nhiệm đưa ra các
yêu cầu chi tiết cho phân tích viên và triển khai tổ chức thực hiện khi hệ thống
hoạt động. Đối với các hệ thống thông tin vừa và nhỏ thì người quản lý hệ thống
thông tin thường là các trưởng phòng ban chức năng có nhiệm vụ cung cấp tình
hình, số liệu, phương thức xử lý, công thức tính toán,... trong hoạt động nội bộ
của phòng mình và mối quan hệ thông tin giữa phòng mình với các bộ phận
khác.
2.3.2 Người phân tích hệ thống
Là người chủ chốt trong quá trình phát triển hệ thống, những người nầy sẽ
quyết định vòng đời của hệ thống. Trong các hệ thống thông tin vừa và nhỏ một
phân tích viên có thể là là người lập trình cho hệ thống. Tuy nhiên đối với các
HTTT lớn thì bộ phận phân tích viên phải là một tập thể, vì như thế mới có đủ
khả năng nắm bắt các lĩnh vực và hoạt động của tổ chức. Một phân tích viên
được gọi là có năng lực nếu họ hội đủ các điều kiện sau:
. Có kỹ năng phân tích: có thể hiểu được tổ chức và sự hoạt động của nó.
Có thể xác định được các vấn đề đặt ra và giải quyết chúng. Có khả năng suy
nghĩ mang tính chiến lược và hệ thống.

24
. Có kỹ năng kỹ thuật: hiểu biết về thiết bị và phần mềm. Biết chọn lựa
các giải pháp phần cứng và mềm cho các ứng dụng đặc biệt nơi cần tin học hoá.
Hiểu biết công việc của người lập trình và người sử dụng đầu cuối.
. Có kỹ năng quản lý: có khả năng quản lý nhóm làm việc, biết được điểm
mạnh, điểm yếu của những người làm việc trong nhóm. Biết lắng nghe, đề xuất
và giải quyết vấn đề. Có khả năng lập kế hoạch, điều phối các nguồn lực.
. Có kỹ năng giao tiếp: phân tích viên phải đóng vai trò chính trong việc
liên kết giữa các đối tượng: chủ đầu tư, người sử dụng, người lập trình và các
thành phần khác trong hệ thống. Kỹ năng giao tiếp của phân tích viên thể hiện ở
chổ: năng lực diễn đạt và thuyết phục, khả năng hoà hợp với mọi người trong
nhóm làm việc. Có khả năng tổ chức và điều hành các cuộc họp.
2.3.3 Người lập trình
Là tập thể hoặc cá nhân có nhiệm vụ mã hoá các đặc tả được thiết kế bởi
phân tích viên thành các cấu trúc mà máy tính có thể hiểu và vận hành được.
Người lập trình cũng phải viết các tài liệu chương trình và các chương trình thử
nghiệm hệ thống, chuẩn bị các số liệu giả để kiểm định độ chính xác của hệ
thống.
2.3.4 Người sử dụng đầu cuối
Trong quá trình phân tích thiết kế phân tích viên phải làm việc với người
sử dụng để biết được chi tiết các thông tin của từng bộ phận, từng mảng công
việc trong hệ thống. Người sử dụng sẽ cho phân tích viên biết ưu điểm và nhược
điểm của hệ thống thông tin cũ, cho nên những ý kiến của họ có ý nghĩa quan
trọng đến việc sử dụng hệ thống một cách có hiệu quả.
2.3.5 Kỹ thuật viên
Là bộ phận phụ trách về mảng kỹ thuật của hệ thống như: bảo đảm sự
hoạt động của phần cứng máy tính, đường truyền dữ liệu từ bộ phận này đến bộ
phận khác trong hệ thống và từ hệ thống đến môi trường ngoài.
2.3.6 Chủ đầu tư
Thường là thành phần quyết định của tổ chức, là người cung cấp cho phân
tích viên những thông tin chung của tổ chức. Hệ thống thông tin tin học hóa bao
giờ cũng có chức năng hỗ trợ ra quyết định, chức năng này giúp cho lãnh đạo
của tổ chức những thông tin cần thiết trong quá trình ra quyết định.
2.4 Nghiên cứu hiện trạng
2.4.1 Mục đích
Trong thực tế một hệ thống thông tin mới được xây dựng là nhằm để thay
thế hệ thống thông tin cũ đã bộc lộ nhiều yếu kém. Vì vậy mà việc tìm hiểu nhu
cầu đối với hệ thống mới thường bắt đầu từ việc khảo sát và đánh giá hệ thống
cũ đó. Vì rằng hệ thống này đang tồn tại và đang hoạt động nên chúng ta gọi là
hiện trạng. Nghiên cứu hiện trạng một hệ thống thông tin là nhằm các mục đích
sau:
. Tiếp cận với nghiệp vụ chuyên môn, môi trường hoạt động của hệ thống.
. Tìm hiểu các chức năng, nhiệm vụ và cung cách hoạt động của hệ thống.
25
. Chỉ ra các ưu điểm của hệ thống để kế thừa và các khuyết điểm của hệ
thống để nghiên cứu khắc phục.
Tóm lại, mục đích của việc nghiên cứu hiện trạng là trả lời cho được các câu hỏi
sau:
. Hệ thống đang làm gì? Gồm những công việc gì? Đang quản lý cái gì?
. Những công việc trong hệ thống do ai làm? Làm ở đâu? Khi nào làm?
. Mỗi công việc được thực hiện như thế nào? Mỗi công việc liên quan đến
dữ liệu nào?
. Chu kỳ, tần suất, khối lượng công việc?
. Đánh giá các công việc hiện tại: tầm quan trọng như thế nào? Các thuận
lợi, khó khăn? Nguyên nhân dẫn đến khó khăn?
2.4.2 Nội dung nghiên cứu và đánh giá hiện trạng
Với mục đích đã nói trên, để nghiên cứu hiện trạng một hệ thống thông tin,
phân tích viên nên khảo sát các nội dung sau:
. Tìm hiểu môi trường xã hội, kinh tế và kỹ thuật của hệ thống. Nghiên
cứu cơ cấu tổ chức của cơ quan chủ quản của hệ thống đó.
. Nghiên cứu các chức trách, nhiệm vụ, các trung tâm ra quyết định và
điều hành, sự phân cấp quyền hạn trong tổ chức (sơ đồ tổ chức).
. Thu thập và nghiên cứu các hồ sơ, sổ sách, các file dữ liệu cùng với các
phương thức xử lý các thông tin đó.
. Thu thập và mô tả các quy tắc quản lý, tức là các quy định, các quy tắc,
các công thức tính toán,...
. Thu thập và tìm hiểu các chứng từ giao dịch. Mô tả các luồng thông tin
và tài liệu giao dịch được luân chuyển như thế nào.
. Thống kê các phương tiện và tài nguyên đã và có thể sử dụng.
. Thu thập và tìm hiểu các ý kiến khen chê về hệ thống thông tin cũ và
những yêu cầu, đòi hỏi về hệ thống tương lai.
. Lập hồ sơ tổng hợp về hiện trạng
Một trong những yếu tố quan trọng quyết định sự thành công của hệ
thống thông tin là giai đoạn nghiên cứu hiện trạng của hệ thống. Điều này đòi
hỏi phân tích viên phải làm việc nghiêm túc và chính xác.
2.4.3 Các kỹ thuật thu thập thông tin
2.4.3.1 Các khái niệm và thuật ngữ sử dụng trong khảo sát hiện trạng
ƒ Điểm công tác (nơi làm việc)
Là các điểm, đầu mối phát sinh hoặc thu nhận thông tin. Thông thường thì
điểm phát sinh hoặc thu nhận thông tin cũng là nơi lưu trữ và xử lý nó. Có hai
loại điểm công tác: điểm công tác trong và điểm công tác ngoài. Điểm công tác
trong có thể là nơi lưu trữ, xử lý, thu nhận và phát sinh thông tin. Trong khi đó
điểm công tác ngoài chỉ có thể là nơi phát sinh hoặc thu nhận thông tin. Trong
SADT điểm công tác trong và điểm công tác ngoài còn được gọi là tác nhân
trong và tác nhân ngoài. Ví dụ, trong HTTT “Quản lý kho hàng” thì điểm công
26
tác Kế toán kho là điểm công tác trong, vì đây là nơi lưu trữ, xử lý, phát sinh và
thu nhận thông tin. Trong khi đó điểm công tác Nhà cung cấp phải là điểm công
tác ngoài, vì ở đây không cần thiết phải lưu trữ thông tin của hệ thống mà chỉ là
nơi phát sinh hoặc thu nhận thông tin mà thôi.
ƒ Tài liệu
Được dùng với ý nghĩa là mọi giá mang thông tin được sử dụng trong hệ
thống. Ví dụ: tài liệu giấy như hoá đơn, hồ sơ,...; tài liệu số hoá như các file dữ
liệu, ảnh số,...
ƒ Tài liệu lưu trữ-Kho dữ liệu
Các thông tin được lưu trữ để phục vụ cho các chức năng công việc của hệ
thống.
ƒ Chức năng-Công việc
Một chức năng được hiểu là một hoặc nhiều công việc nhằm thực hiện một
nhiệm vụ ở một phạm vi nào đó có tác động trực tiếp lên dữ liệu và thông tin
của hệ thống đó. Những tác động trực tiếp lên dữ liệu và thông tin thường được
nhắc đến như: cập nhật, lưu trữ, truyền thông tin, xử lý và biểu diễn thông tin.
Kết thúc một chức năng thường cho một sản phẩm cũng là thông tin và có thể là
sản phẩm trung gian hoặc sản phẩm cuối cùng. Ví dụ, trong HTTT “Quản lý đào
tạo” ở một trường đại học, chức năng Xếp loại sinh viên được thực hiện khi các
công việc Nhập điểm thi, Tính điểm trung bình được thực hiện. Kết thúc của
chức năng này là một danh sách (thông tin) sinh viên đã được xếp loại.
ƒ Quy tắc nghiệp vụ
Quy tắc nghiệp vụ là những quy định hoặc những hướng dẫn được chấp nhận
mà chúng sẽ chi phối các hoạt động của tổ chức nhằm bảo đảm cho hoạt động
của tổ chức đạt được các mục tiêu đề ra trong những điều kiện cụ thể. Các quy
tắc nghiệp vụ được chia làm 3 loại:
a. Quy tắc về quản lý: là các quy tắc quy định mục tiêu và ràng buộc của
hệ thống. Các quy tắc này có thể được áp đặt từ bên ngoài hệ thống,
cũng có thể là do tổ chức quy định. Ví dụ, “Sinh viên có có số tiết vắng
học lơn hơn 1/3 tổng số tiết của học phần thì không được dự thi kết
thúc học phần” hoặc “Doanh nghiệp phải đóng thuế VAT là 5% và
thuế lợi tức là 35%” là các quy tắc về quản lý được áp đặt từ bên
ngoài hệ thống. Xét quy tắc, “ Sinh viên có thể học lại lần thứ 3 theo
phương pháp tự học.” là quy tắc do hệ thống quy định.
b. Quy tắc về tổ chức: là các quy tắc liên quan đến giải pháp hoạt động
của hệ thống. Đây là các quy định, trình tự làm việc cần tuân thủ để
đạt được mục tiêu trong điều kiện của tổ chức. Ví dụ, quy tắc “Chỉ tổ
chức thi lần 2 cho sinh viên sau khi đã hoàn tất việc thi lần 1“ là một
quy tắc tổ chức.
c. Quy tắc về kỹ thuật: là các quy tắc liên quan đến các yêu cầu kỹ thuật
để bảo đảm sự hoạt động của hệ thống. Ví dụ, quy tắc “máy in không
được sử dụng liên tục quá 1 giờ” là một quy tắc kỹ thuật.

27
Để xác định hiện trạng của hệ thống thông tin, phân tích viên cần nghiên
cứu, tìm hiểu để nắm được tình trạng hoạt động của HTTT cũ, các công việc,
quy tắc hoạt động của mỗi bộ phận trong tổ chức, trên cơ sở đó để quyết định
phải làm gì và làm như thế nào. Có nhiều phương pháp để nghiên cứu hiện trạng
một HTTT như: phương pháp quan sát, phương pháp điều tra bằng phiếu thăm
dò, phương pháp phỏng vấn,...

2.4.3.2 Các phương pháp nghiên cứu hiện trạng


a. Phương pháp quan sát
Phương pháp này phân tích viên có thể quan sát trực tiềp hoặc gián tiếp
(quan sát qua phương tiện hoặc đọc tài liệu) về hiện trạng hệ thống thông tin.
Với phương pháp này phân tích viên phải ghi chép lại các yêu cầu sau:
- Các bộ phận trong tổ chức
- Mối quan hệ nghiệp vụ giữa các bộ phận trong tổ chức
- Các hoạt động tác nghiệp của mỗi bộ phận
- Cách thức giao tiếp và trao đổi thông tin giữa các bộ phận
- Khối lượng công việc của mỗi bộ phận
- Những yếu tố bất thường để xác định tính khả thi của dự án mà trong
giai đoạn lập kế hoạch trước đây chúng ta chưa lường được hết.
Phương pháp này có nhiều khiếm khuyết:
- Mang lại một kết quả có tính chủ quan do sự thiếu hiểu biết của người
phân tích.
- Khó giới hạn được lĩnh vực nghiên cứu vi phân tích viên có phần thụ
động trước các hiện tượng.
- Chỉ có thể nắm bắt được các yếu tố bên ngoài
- Gây tâm lý khó chịu cho người bị quan sát
Tuy nhiên, phương pháp này cho một bức tranh khái quát về hệ thống thông
tin tương lai. Chúng ta nên sử dụng phương pháp quan sát kết hợp với các
phương pháp khác thì có hiệu quả hơn.
b. Phương pháp điều tra bằng phiếu thăm dò
Phương pháp này thường được sử dụng trong xã hội học, những điều tra
mang tính vĩ mô. Đối với việc nghiên cứu hiện trạng một hệ thống thông tin
phương pháp này ít được sử dụng, nó chỉ thích hợp với mục đích điều tra tần
suất trong nghiên cứu khả thi. Thông thường phương pháp này chỉ lấy những
thông tin mang tính định hướng.
c. Phương pháp phỏng vấn
Phương pháp này thường được sử dụng trong các hệ thống thông tin kinh
tế xã hội, bởi vì nó mang lại những thông tin xác thực và chi tiết cho quá trình
phân tích và thiết kế. Phân tích viên cần phải phỏng vấn: Ban lãnh đạo và các
điểm công tác.
ƒ Phỏng vấn lãnh đạo:
28
Mục đích là nắm các thông tin chung nhất của tổ chức, có thể là cần nắm:
- Nhiệm vụ chung của tổ chức
- Sơ đồ tổ chức - Chúng sẽ cho danh sách các điểm công tác và vai
trò của chúng trong hệ thống
- Các số liệu chung - Chúng sẽ cho biết quy mô của hệ thống
- Các lĩnh vực cần nghiên cứu có liên quan đến hệ thống thông tin
sắp được xây dựng
ƒ Phỏng vấn các điểm công tác:
Mục đích là thu thập các thông tin chi tiết liên quan đến các hoạt động cụ
thể và tất cả các thông tin liên quan đến hệ thống thông tin. Tại mỗi điểm
công tác cần phải mô tả và liệt kê các quy trình của công việc phải thực
hiện. Mỗi qui trình phải nắm cho được:
- Phương thức hoạt động: công việc được thực hiện tự động hay thủ
công.
- Các thông tin và khối lượng thông tin liên quan đến công việc, các
quy tắc thực hiện công việc.
- Điều kiện khởi động: khi nào, với điều kiện nào thì công việc được
khởi động.
- Thời gian và chu kỳ thực hiện công việc: công việc được thực hiện
khi nào và khoảng thời gian bao lâu thi công việc được thực hiện
lại.
Ngoài ra, phân tích viên cũng phải nắm:
- Ngôn ngữ công việc tại mỗi điểm công tác để thiết kế giao diện
người-máy giữa người sử dụng với hệ thống thông tin tương lai.
- Các luồng thông tin tác nghiệp đi từ điểm công tác này đến điểm
công tác khác hoặc đến môi trường ngoài của hệ thống.
ƒ Tổ chức phỏng vấn
Trước khi phỏng vấn phân tích viên nên thông báo trước thời gian, địa
điểm và nội dung phỏng vấn với người được phỏng vấn. Phỏng vấn với lãnh đạo
và các điểm công tác không phải là một lần duy nhất, nên phân tích viên phải
tạo tạo quan hệ tốt với người được phỏng vấn. Cần mở đầu hợp lý, biểu lộ thiện
cảm, sự tin cậy và tôn trọng đối với người được phỏng vấn. Sau khi phỏng vấn
xong, phân tích viên phải tóm tắt nội dung đã phỏng vấn, khẳng định các thoả
thuận, để ngỏ khả năng tranh luận để phát huy tính tích cực của người được
phỏng vấn.
Để có được tài liệu tổng kết giai đoạn nghiên cứu hiện trạng, sau mỗi lần
phỏng vấn phân tích viên phải ghi chép lại các thông tin về cuộc phỏng vấn như:
người được phỏng vấn, chức vụ, chủ đề phỏng vấn, tên dự án, ai hỏi, thời gian
hỏi, địa điểm hỏi, các câu hỏi, các câu trả lời tương ứng, đánh giá của người
phỏng vấn, ngày tháng năm phỏng vấn,... các thông tin này nên tổ chức trên các
phiếu phỏng vấn như sau:

29
Tên dự án: <..............> PHIẾU PHỎNG VẤN Số: <......>
Tên dự án con: <................................> Nơi phỏng vấn: <........................>
Nội dung phỏng vấn (các câu hỏi và các câu trả lời)
........................................................................................................................
........................................................................................................................
Các thoả thuận tiếp theo
........................................................................................................................
........................................................................................................................
Một số đánh giá của người phỏng vấn
........................................................................................................................
........................................................................................................................
Người phỏng vấn (Họ tên và chữ ký) <........................................................>

Nội dung một phiếu phỏng vấn


d. Nghiên cứu các tài liệu
Nghiên cứu tài liệu cũng là một phần công việc của nghiên cứu hiện
trạng. Qua các tài liệu của hệ thống phân tích viên có thể nắm được:
• Các chức năng của tổ chức.
• Các quy tắc, công thức tính toán,... tại mỗi điểm công tác.
• Các tài liệu nghiên cứu bao gồm:
- Các văn bản pháp quy, quy định về chức năng, nhiệm vụ của tổ chức.
- Các văn bản pháp quy, quy định về tiêu chuẩn, quy tắc, phương thức
làm việc.
- Các chủ trương chính sách của tổ chức nhà nước đã ban hành.
- Các báo cáo, báo biểu, thống kê đã có.
Phân tích hiện trạng một hệ thống thông tin là việc làm rất quan trọng,
quyết định sự thành công của dự án, thông thường phân tích viên phải sử dụng
tất cả các phương pháp trên một cách khéo léo để đạt được mục tiêu đề ra.

2.5 Các công việc sau khảo sát hiện trạng


Sau khi dùng các phương pháp khác nhau để thu thập thông tin và dữ liệu
liên quan đến hệ thống tương lai, phân tích viên phải xử lý sơ bộ, phân loại và
tổng hợp các dữ liệu thu được để tiện việc theo dõi, quản lý, phục vụ trực tiếp
quá trình khảo sát và làm tư liệu cho các bước tiếp theo.
2.5.1 Xử lý sơ bộ kết quả khảo sát
Dữ liệu thu thập được trong quá trình khảo sát hiện trạng là một khối các
dữ liệu thô, phân tích viên phải xem lại và hoàn thiện tài liệu thu được. Công
việc này bao gồm việc phân loại, sắp xếp, bổ sung,... làm cho nó trở nên đầy đủ,
30
chính xác, cân đối, gọn gàng, dễ kiểm tra và dễ theo dõi. Phát hiện chổ thiếu để
bổ sung, chổ sai để sửa chữa. Những việc cần làm là:
. Làm rõ các chức năng của hệ thống: qua khảo sát hoặc bằng kinh
nghiệm phân tích viên có thể xác định được các chức năng và dữ liệu của hệ
thống: như các đối tượng, các điểm công tác, các hoạt động. Đối với mỗi chức
năng cần làm rõ: điều kiện khởi động, kết quả thu được, thời gian thực hiện, tần
số, chu kỳ, các quy tắc phải tuân thủ.
. Rà soát lại dữ liệu: ngoài các kết quả của phỏng vấn, phân tích viên nên
sao chụp lại các bảng biểu, tài liệu để tách các thông tin cần sử dụng. Kiểm tra
lại các thông tin sau về dữ liệu:
- Tên dữ liệu: do người phân tích lựa chọn
- Định nghĩa về dữ liệu: mô tả bằng lời hoặc bằng công thức
- Kiểu dữ liệu (số, chuỗi,...)
- Loại: là dữ liệu cơ sở hay dữ liệu được suy từ dữ liệu khác.
- Ràng buộc về giá trị
2.5.2 Tổng hợp kết quả khảo sát
Việc phỏng vấn tại các điểm công tác chưa nói lên được mối quan hệ giữa
các điểm công tác với nhau như thế nào. Lúc này người phân tích cần tổng hợp
lại để có được một bức tranh tổng thể của hệ thống. Việc tổng hợp được tiến
hành theo hai loại: tổng hợp các xử lý và tổng hợp theo dữ liệu.
2.5.2.1 Tổng hợp các xử lý
Mục đích của tổng hợp các xử lý là làm rõ các thiếu sót và sự rời rạc của
các yếu tố liên quan đến công việc khi phỏng vấn. Có hai cách tổng hợp các xử
lý: tổng hợp kết hợp với yếu tố tổ chức và tổng hợp tách rời các yếu tố tổ chức.
ƒ Tổng hợp kết hợp với yếu tố tổ chức
Tổng hợp kết hợp với yếu tố tổ chức sẽ kết hợp các chức năng với điểm
công tác. Tổng hợp này cho phép chúng ta kết nối được những công việc
cùng thuộc một chức năng chung nhưng liên quan đến nhiều điểm công tác.
Thông qua tổng hợp này chúng ta sẽ rà soát được các khiếm khuyết của việc
điều tra tại các điểm công tác khác nhau. Tổng hợp kết hợp với yếu tố tổ
chức dựa trên cơ sở lĩnh vực hoạt động trong hệ thống. Lĩnh vực hoạt động
là một tập hợp các nhiệm vụ cùng liên quan đến một tập dữ liệu và một
nhóm quy tắc quản lý. Để tách ra một lĩnh vực hoạt động cần phải:
- Nhóm các hoạt động có mối quan hệ với nhau theo mục đích
- Kết hợp các hành động đó với một tập hợp các quy tắc quản lý
chung.
- Kết hợp các hành động đó với một tập hợp các dữ liệu chung.
ƒ Tổng hợp tách rời các yếu tố tổ chức
Mục đích của tổng hợp loại này là làm xuất hiện mức bất biến cao nhất
(mức quan niệm) của hệ thống. Nếu bỏ đi các yếu tố tổ chức (như các điểm

31
công tác) và yếu tố kỹ thuật thì hệ thống chỉ còn lại các điểm công tác ngoài,
các chức năng và thông tin về các đối tượng được xử lý.
2.5.2.2 Tổng hợp các dữ liệu
Mục đích của tổng hợp dữ liệu là liệt kê ra tất cả các dữ liệu có liên quan
đến hệ thống nhằm xây dựng một từ điển dữ liệu chung cho toàn nhóm phân
tích. Nếu không sau này có thể gây nhiều rắc rối khi xây dựng quan niệm và mã
hoá hệ thống. Các mục từ đưa vào từ điển cần phải chọn lọc và chính xác hoá,
loại bỏ những từ đồng nghĩa và đa nghĩa.
Ví dụ: Bảng tổng hợp hồ sơ, tài liệu theo thực thể dữ liệu
STT Tên - vai trò Công việc liên quan
1 PHIẾU VẬT TƯ: ghi hàng hoá xuất hoặc nhập T1
2 ĐƠN ĐẠT HÀNG: ghi lượng hàng hoá đặt gửi T1
nhà cung cấp
3 PHIẾU GIAO HÀNG: ghi số lượng hàng của T2,T3
Nhà cung cấp phát ra
4 SỔ ĐẶT HÀNG: tập hợp các đơn hàng đã đặt T1,T2
..... ..... .....

Ví dụ: Bảng tổng hợp từ điển dữ liệu


ST Tên gọi- Kiểu cỡ Khuôn Lĩnh Quy tắc, ràng
T Ý nghĩa dạng vực buộc
1 SỐ HOÁ ĐƠN ký tự 8 Kế toán Chữ hoa
2 TÊN HÀNG ký tự 20 Kế toán
3 NGÀY HOÁ ĐƠN ngày 8 dd-mm-yy Kế toán
..... ..... ..... ..... ..... ..... .....

2.5.3 Hợp thức hoá kết quả khảo sát


Mục đích của việc hợp thức hoá kết quả khảo sát là nhằm xác định tính
đúng đắn của thông tin và dữ liệu phản ánh yêu cầu thông tin của hệ thống và
bảo đảm tính pháp lý của nó cho việc sử dụng sau này. Hợp thức hoá kết quả
khảo sát bao gồm các công việc:
- Hoàn chỉnh và trình bày các dữ liệu thu được để người sử dụng xem xét
và cho ý kiến.
- Tổng hợp các tài liệu để các nhà quản lý và các nhà lãnh đạo đánh giá và
bổ sung.
- Đề đạt thêm một số quy tắc mới (như các quy tắc về an toàn hệ thống,
các yêu cầu về nhân sự,...) Do đó hợp thức hoá còn mang ý nghĩa là sự thoả
thuận các quy tắc mới.
Hợp thức hóa là một khâu không thể bỏ qua, nếu không có thể sẽ đối mặt
với những khó khăn không lường trước được khi triển khai dự án.

32
2.6 Giới thiệu nghiên cứu hiện trạng của một số HTTT
Dưới đây chúng ta hãy xét một số nghiên cứu hiện trạng của hệ thống
thông tin thông thường trong thực tế. Các hệ thống thông tin này được sử dụng
trong các chương sau.
2.6.1 Hệ thống thông tin "Quản lý kho hàng"
Một công ty sản xuất bánh kẹo, có nhiều kho để chứa vật tư và hàng hoá:
. Kho nguyên liệu: chứa đường, bột, hương liệu, bao bì,...
. Kho nhiên liệu: chứa xăng, dầu, than
. Kho phụ tùng: chứa các thiết bị thay thế
. Kho thành phẩm: chứa bánh kẹo đã sản xuất được
Mỗi kho đều có thủ kho chuyên trách. Nhiệm vụ của thủ kho là xuất nhập
vật tư hàng hoá theo phiếu xuất hoặc phiếu nhập do người quản lý kho viết ra.
Ví dụ, phiếu xuất hoặc phiếu nhập kho thành phẩm do bộ phận kinh doanh viết,
phiếu xuất hoặc phiếu nhập kho nguyên liệu do phòng cung ứng viết theo công
việc thực tế. Ngoài ra định kỳ, người thủ kho phải kiểm kê và báo cáo tồn kho
từng loại mặt hàng trong kho. Báo cáo tồn kho được dùng với mục đích sau:
. Để làm kế hoạch sản xuất, ví dụ xem xét khả năng có thể đáp ứng một
hợp đồng hay không.
. Đối chiếu với các chứng từ xuất nhập xem tồn kho trên thực tế có phù
hợp với tồn kho theo chứng từ hay không. Công việc này nhằm mục đích xem
có thất thoát về vật tư hoặc có nhầm lẫn về chứng từ không.
. Để bảo đảm sản xuất ổn định, một số mặt hàng và vật tư phải đạt được
một độ dự trữ lớn hơn một mức nào đó được gọi là dự trữ tối thiểu, nếu mức dự
trữ này thấp hơn thì quản lý kho phải làm đơn đạt hàng bổ sung. Mô số mặt
hàng nào đó cũng quy định một mức gọi là dự trữ tối đa, nếu tồn kho vượt quá
mức này thì phải có biện pháp khắc phục để tránh đọng vốn trên nguyên vật liệu
hoặc hàng hoá không tiêu thụ được.
Nếu không có sự phù hợp giữa thực tế và theo chứng từ thì hoặc có sự
thất thoát về vật tư hàng hoá hoặc có sự nhầm lẫn về chứng từ. Cần kiểm tra. Để
tiện theo dõi xuất nhập theo chứng từ, thủ kho lập cho mỗi mặt hàng một thẻ
kho. Mỗi lần xuất hoặc nhập hàng đều ghi vào thẻ kho đó số lượng xuất, số
lượng nhập, số lượng tồn kho tương ứng. Bản báo cáo tồn kho có dạng như
trong tài liệu A và thẻ khó có dạng như trong tài liệu B.
Người quản lý kho không trực tiếp xuất nhập hàng hoá mà chỉ là nơi phát
sinh các chứng từ xuất nhập. Các chứng từ chủ yếu là chứng từ xuất hoặc nhập.
Khi có nhu cầu về vật tư, người quản lý kho tiếp xúc với Nhà cung cấp để làm
đơn đặt hàng. Khi hàng về, sau khi giám định chất lượng, người quản lý kho viết
phiếu nhập lưu lại một bản, một bản gửi cho kế toán để thanh toán, một bản gửi
cho Nhà cung cấp và một bản cho thủ kho để làm thủ tục nhập kho. Đối với kho
thành phẩm, việc nhập kho chỉ là thủ tục nội bộ theo thông báo của các phân
xưởng dưới sự kiểm tra của nhà máy. Một phiếu nhập kho cũng có thể có nhiều

33
mặt hàng nhưng chỉ từ một Nhà cung cấp hoặc từ một phân xưởng mà thôi.
Phiếu nhập kho có dạng như tài liệu C.
Đối với kho nguyên liệu hoặc kho nhiên liệu, phiếu xuất kho được thực
hiện theo yêu cầu của sản xuất do Ban giám đốc ra lệnh.
Đối với kho thành phẩm, việc xuất kho chính là bán hàng, phiếu xuất kho
được viết theo lệnh của Phòng kinh doanh. Một phiếu xuất cũng gồm bốn bản
như phiếu nhập. Hoá đơn kiêm Phiếu xuất kho có dạng như tài liệu D.
Công ty không bán lẻ mà bán buôn cho một số đại lý có hợp đồng với
công ty, vì vậy các phiếu xuất không nhất thiết phải thanh toán ngay. tuy nhiên,
nếu khách hàng thanh toán ngay sẽ được một khoản khấu trừ trên giá gọi là
chiết khấu. Hồ sơ khách hàng (lập từ hợp đồng đại lý) cũng được lưu trữ để xác
nhận khi họ đến lấy hàng. Hồ sơ có dạng như trong tài liệu E
Định kỳ (hàng ngày, hàng tuần, hàng tháng, hàng quý, hàng năm) người
quản lý kho phải báo cáo với Ban lãnh đạo biến động của kho hàng bao gồm:
tồn kho mỗi mặt hàng đầu kỳ, số lượng nhập, số lượng xuất trong kỳ và tồn kho
cuối kỳ. Ban lãnh đạo căn cứ vào các số liệu này để nắm tình hình kinh doanh
của công ty. Báo cáo tồn kho có dạng như trong tài liệu F.
Một số tài liệu liên quan đến HTTT “Quản lý kho hàng".
Tài liệu A

Công ty Hải Hà BÁO CÁO TỒN KHO TÍNH ĐẾN NGÀY ..............

Stt Tên hàng Mã hàng Đơn vị Đơn giá Tồn kho Ghi chú
1 Bánh Chocola A01 Kg 356
2 Kẹo chanh B07 Kg 250
3 Bánh quy bơ A12 Kg 57
4 .... .... .... .... ....
Tài liệu B

Công ty Hải Hà THẺ KHO SỐ .....


Tên kho: Kho Thành phẩm

Tên vật tư hàng hoá: Kẹo Chocola Mã hàng: A01


Dự trữ tối thiểu: 50Kg Đơn giá: 2500đ
Dự trữ tối đa: 500Kg Đơn vị tính: Kg
Ngày Số chứng từ Nhập Xuất Tồn
Tồn đầu kỳ 25
12/01/2004 8345 200 225
16/01/2004 5467 150 75
02/03/2004 2345 20 55

34
... ... ... ... ...

Tài liệu C
Công ty Hải Hà PHIẾU NHẬP KHO Ngày .....
Kho Nguyên liệu Số phiếu: 015

Họ tên người giao: Tô thị Đẹp Địa chỉ: 16 Phan Đình Phùng
Đơn vị: Công ty Nông sản thực phẩm Tỉnh TT Huế
Theo Hợp đồng số: 1234/KT Ngày 12/10/2004
Stt Tên hàng Mã hàng Đơn vị Đơn giá Số lượng Thànhtiền
1 Đường RE C09 Kg 5000 12000 60000000
2 Bột mì Pháp B14 Kg 2500 5000 12500000
3 Sữa Hà lan B16 Lit 8000 1500 12000000
... ... ... ... ...
Tổng cộng: 84500000
Người giao Người kiểm tra Thủ kho Thủ trưởng

Tài liệu D
Công ty Hải Hà HOÁ ĐƠN KIÊM PHIẾU XUẤT KHO
Kho Thành phẩm Ngày xuất..... Số phiếu: 215

Họ tên người nhận: Hoàng Dùi Địa chỉ: 18 Hùng vương


Đơn vị: Đại lý số 4
Theo Hợp đồng đại lý số : 124/HDDL ngày 12/02/2004
Stt Tên hàng Mã hàng Đơn vị Đơn giá Số lượng Thànhtiền
1 Kẹo Chôcôla A09 Kg 7000 120 840000
2 Bánh quy bơ A14 Kg 3000 50 150000
3 Kẹo sữa C16 Kg 8000 10 80000
... ... ... ... ...
Tổng cộng: 1070000
Người nhận Người viét phiếu Kế toán Thủ kho Thủ trưởng

35
Tài liệu E

Công ty Hải Hà DANH SÁCH ĐẠI LÝ

Mã Tên đại lý Địa chỉ Số hợp Ngày ký Đại diện Số


đồng CMND
D1 Cửa hàng 1-5 01-Lê Duẫn 1356 1/2/03 Bà Năm 1234567
D2 Bà Nọi 12 Lê lợi 5678 4/6/02 Chị Tèo 9876544
D3
... ... ... ...

Tài liệu F
Công ty Hải Hà BẢNG CÂN ĐỐI KHO
Kho Thành phẩm Tính từ ngày ......... đến ngày ...........

Stt Tên vật tư Mã Đơn Tồn đầu Lượng Lượng Tồn cuối
hàng hoá vị kỳ xuất nhập kỳ
1 Kẹo Chôcôla A09 Kg 120 200 150 70
2 Bánh quy bơ A14 Kg 80 20 0 60
3 Kẹo sữa C16 Kg 40 250 300 90
... ... ... ...

2.6.2 Hệ thống thông tin " Quản lý công chức"


Một cơ quan hành chính sự nghiệp cần tin học hoá việc quản lý cán bộ
công chức của cơ quan mình. Qua nghiên cứu hiện trạng phân tích viên đã nắm
được các thông tin sau:
Mỗi công chức được cơ quan quản lý các thông tin sau đây: Họ tên, đơn vị công
tác, giới tính, ngày sinh, nơi sinh, địa chỉ, dân tộc, tôn giáo, chính trị, trình độ
văn hóa, ngoại ngữ, loại hình đào tạo, cựu chiến binh, ngày vào cơ quan, ngày
vào biên chế, cha mẹ, vợ chồng, con, khen thưởng, kỷ luật.
Trong lý lịch, quản lý:

36
Nơi sinh chỉ quản lý cấp huyện và tỉnh.
Địa chỉ được phân làm hai loại: Nếu địa chỉ thành thị thì quản lý số nhà, đường
phố. Nếu địa chỉ nông thôn thì quản lý xã, huyện.
Cha mẹ bao gồm Tên, nghề nghiệp, cơ quan, chức vụ của cha và mẹ.
Vợ chồng bao gồm: Tên, ngày sinh, nghề nghiệp, cơ quan và chức vụ của vợ hay
chồng.
Con bao gồm: Tên, ngày sinh, nghề nghiệp của từng đứa con.
Chính trị bao gồm Đoàn viên, Đảng viên. Nếu là Đảng viên thì quản lý: Ngày
VĐ, ngày CT, nơi vào Đảng (Tỉnh).
Đi nước ngoài vào thời gian nào, nước đi.
Cựu chiến binh: Ngày NN, ngày XN, binh chủng, cấp bậc khi xuất ngũ.
Công việc tin học hoá hệ thống nhằm đáp ứng:
. Bất kỳ lúc nào cũng có thể trả lời các thông tin chính xác về tình hình
công tác, lí lịch của một công chức.
. Thống kê theo mọi lĩnh vực.
2.5.3 Hệ thống thông tin "Quản lý đào tạo"
Một trường đại học dân lập cần tin học hoá việc quản lý đào tạo của
trường, qua nghiên cứu hiện trạng, một phân tích viên đã nắm được các thông
tin như sau:
Trường đại học dân lập này chỉ gồm một bộ máy quản lý, còn toàn bộ
giáo viên phải thuê từ các trường đại học khác và các viện nghiên cứu dưới danh
nghĩa cộng tác viên. Trường đã lập sẵn một hồ sơ các cộng tác viên gồm tên,
tuổi, giới tính, địa chỉ, trình độ chuyên môn (cử nhân, thạc sĩ, tiến sĩ). Tùy theo
trình độ, cộng tác viên được trả một thù lao (tính theo tiết) khác nhau.
Trường có một số lớp, mỗi lớp có thể có số sinh viên khác nhau. Các môn
học được tuân theo một chương trình đào tạo được Bộ GD & ĐT phê duyệt về
nội dung chuyên môn và số tiết cần thiết. Trường phải thuê một số phòng học ở
nhiều nơi nên phải có một hồ sơ về các phòng học bao gồm số phòng và địa chỉ.
Việc xếp lịch học cho các lớp phải phù hợp với số chổ của mỗi phòng học.
Đầu năm học, hội đồng nhà trường lập một bảng phân công giảng dạy
gồm thầy nào, dạy lớp nào, môn nào. Còn giáo vụ phải xếp lịch học và phòng
học. Dĩ nhiên một thầy có thể dạy nhiều môn và nhiều lớp khác nhau. Do thời
gian của giáo viên phụ thuộc rất nhiều thời gian công tác của họ tại cơ quan, nên
thời khóa biểu chỉ có thể lập và điều chỉnh theo từng tuần. Giáo viên phải đề đạt
yêu cầu của họ vào thứ năm hàng tuần để kịp làm lịch học cho tuần sau. Trong
thời khóa biểu sẽ chỉ ra thứ mấy, từ tiết nào đến tiết nào, ai dạy lớp nào, môn
nào, ở phòng học nào. Trong thời khóa biểu phát cho các lớp, mỗi ô của thời
khóa biểu đều có để một khoảng trống để giáo viên ký xác nhận giảng dạy. Vì
vậy những bản này cũng gọi là phiếu giảng dạy. Cuối tuần các lớp phải nộp lại
cho giáo vụ phiếu giảng dạy này.
Hàng tháng căn cứ vào bảng xác nhận, nhà trường làm bảng thanh toán
cho giáo viên trên cơ sở số giờ thực dạy. Đôi khi cũng phải lập bảng thanh toán

37
theo yêu cầu của giáo viên hay hiệu trưởng trong những trường hợp đặc biệt, ví
dụ như giáo viên chấm dứt hợp đồng giảng dạy giữa tháng.
Cuối mỗi học kỳ, giáo vụ căn cứ vào bảng xác nhận để xác định số giờ đã
dạy của mỗi môn. Nếu môn nào của lớp nào dạy chưa đủ thời gian thì lập kế
hoạch dạy bù.
Ngoài việc quản lý và thanh toán giảng dạy, hệ thống thông tin này còn
phải đáp ứng được các thông tin về giáo viên, học sinh, môn học, các phòng học
cơ hữu và các phòng học thuê mướn của trường.
2.7 Phân tích hệ thống về chức năng
Để có thể mô tả các kết quả nghiên cứu qua từng giai đoạn và mô tả các
chức năng nghiệp vụ của hệ thống, người phân tích cần sử dụng một số phương
tiện và mô hình được nói dưới đây.
2.7.1 Các mức độ diễn tả chức năng
Chức năng được nói ở đây là các chức năng xử lý thông tin trong các hệ
thống thông tin quản lý. Tuỳ theo ngữ cảnh mà việc mô tả các chức năng của hệ
thống được thể hiện ở nhiều mức độ khác nhau.
ƒ Mô tả vật lý và mô tả logic: mô tả chức năng ở mức độ vật lý đòi hỏi phải
nói rõ mục đích và cách thực hiện của quá trình xử lý, nghĩa là phải trả lời câu
hỏi: làm gì? và làm như thế nào?. Sự mô tả chức năng ở mức độ logic lại đơn
giản hơn, chỉ cần trả lời đầy đủ câu hỏi làm gì? Nghĩa là chỉ diễn tả mục đích,
bản chất của quá trình xử lý mà không cần quan tâm đến các yếu tố về thực hiện,
cài đặt như phương pháp, phương tiện, tác nhân, thời điểm, thời gian,... Thông
thường mô tả vật lý được sử dụng trong giai đoạn khảo sát sơ bộ một hệ thống có
sẵn, còn mô tả logic được sử dụng trong giai đoạn thiết kế. Có thể thấy sự thay
đổi mức độ mô tả vật lý/logic trong hình dưới đây, trong đó các bước chuyển đổi
(1) và (2) thuộc giai đoạn phân tích còn bước chuyển đổi (3) thuộc giai đoạn thiết
kế.
Mô tả HT cũ làm Mô tả HT mới làm
như thế nào? như thế nào?

(1) (3) Mức vật lý


Mức logic

Mô tả HT cũ làm (2) Mô tả HT mới


gì? làm gì?

Một trình tự mô hình hoá hệ thống

ƒ Mô tả đại thể và mô tả chi tiết: ở mức độ đại thể một chức năng được mô tả
dưới dạng hộp đen. Nội dung bên trong hộp đen không được chỉ rõ mà chỉ
mô tả các thông tin vào và ra hộp đen đó. Ví dụ quá trình “lập hoá đơn” để
xuất hàng được mô tả qua hộp đen như sau:

38
Đơn đặt hàng Lập Phiếu xuất kho
Hoá đơn

Thông tin về tồn kho


Ở mức độ chi tiết thì nội dung của quá trình xử lý phải được chỉ rõ hơn.
Thông thường thì cần chỉ ra các chức năng con, các mối quan hệ thông tin và điều
khiển giữa những chức năng đó. Nếu một chức năng có nhiều chức năng con thì
để mô tả chi tiết người phân tích phải phân rã các chức năng con này thành nhiều
mức. Các mức này được biểu diễn qua biểu đồ phân cấp chức năng dưới đây.
2.7.2 Biểu đồ chức năng nghiệp vụ BFD (Business Function Diagram)
Biểu đồ chức năng nghiệp vụ là một sơ đồ hình học dùng để mô tả sự phân
rã có thứ bậc các chức năng của hệ thống từ đại thể đến chi tiết. Mỗi nút trong
biểu đồ là một chức năng, các chức năng này có quan hệ bao hàm với nhau và
chúng được nối với nhau bằng các cung để tạo nên một cấu trúc cây.
Ví dụ: Biểu đồ chức năng nghiệp vụ của hệ thống thông tin “quản lý
doanh nghiệp”
Quản lý
Doanh nghiệp

Quản lý Quản lý Quản lý


Nhân sự Vật tư Tài chính

Tài sản Thiết Lương Kế


cố định bị tiền toán

Có hai dạng để biểu diễn mô hình chức năng nghiệp vụ là dạng phân cấp chức
năng và dạng phân tích công ty.
a. Xây dựng BFD theo phân cấp chức năng:
Để hình thành biểu đồ phân cấp chức năng người ta phân chia một chức năng của
một bộ phận thành các chức năng con và dựa trên nguyên tắc sau:
ƒ Tính thực chất của mỗi chức năng: mỗi chức năng được phân rã từ một chức
năng ở mức trên phải là một bộ phận thực sự tham gia thực hiện chức năng
đã phân rã ra nó. Do đó, để hình thành một mức tiếp theo, người phân tích
phải đặt câu hỏi “để hoàn thành chức năng này thì các chức năng con nào sẽ
được thực hiện?”
ƒ Tính đầy đủ của mỗi chức năng con: Việc thực hiện các chức năng ở mức kế
tiếp phải bảo đảm thực hiện được chức năng mức trên đã phân rã ra chúng
ƒ Bố trí, sắp xếp các chức năng: khi thiết lập biểu đồ BFD không nên có quá 6
mức, một hệ thống nhỏ thông thường có khoảng 3 mức. Mỗi chức năng

39
trong mô hình có thể có nhiều chức năng con. Ở mỗi mức các chức năng con
nên đặt trên cùng một hàng. Sơ đồ nên cân bằng, nghĩa là các chức năng
cùng một mức nên có kích thước và độ phức tạp tương đương nhau.
ƒ Đặt tên cho chức năng: Mỗi chức năng nên có một tên riêng đơn giản
nhưng thể hiện bao quát các chức năng con và phản ánh được thực tế nghiệp
vụ của nó.
ƒ Mô tả chi tiết chức năng lá: các chức năng cuối cùng của một BFD được gọi
là chức năng lá. Các chức năng này thực hiện trực tiếp công việc của hệ
thống nên nó cần phải được mô tả một cách trình tự và chi tiết.
Ví dụ: BFD về “Quản lý trông giữ xe”

Quản lý trông giữ xe

1. Nhận xe 2. Trả xe 3. Giải quyết sự cố

1.1 Nhận dạng xe 2.1 Kiểm tra vé 3.1 Kiểm tra sổ gửi

1.2 Ktra chổ trống 2.2 Đối chiếu vé 3.2 Ktra hiện trường

1.3 Ghi vé xe 2.3 Thanh toán 3.3 Lập biên bản

1.4 Ghi số xe vào 2.4 Ghi số xe ra 3.4 Thanh toán sự cố

b Xây dựng BFD theo dạng công ty:


BFD dạng công ty được sử dụng để mô tả chức năng tổng quát của tổ chức,
thường được sử dụng trong các hệ thống lớn, đòi hỏi phải phân tích sao cho dữ
liệu phải được xử lý và sử dụng chung trong toàn bộ hệ thống. Để mô tả BFD
dạng công ty phân tích viên phải xác định tất cả các chức năng nghiệp vụ ở mức
cao nhất của tổ chức và chú ý rằng bất kỳ dự án nào cũng là bộ phận của một
hoặc nhiều chức năng cao nhất này.
Ví dụ: Biểu đồ chức năng nghiệp vụ mức cao nhất (dạng công ty) của hệ thống
thông tin quản lý đào tạo trong một trường đại học.

Quản lý
Đào tạo

Quản lý Quản lý Quản lý


Sinh viên Giáo viên Môn học

40
Chú ý: cần phân biệt một BFD với một sơ đồ tổ chức của một cơ quan. Sơ đồ tổ
chức của một cơ quan mô tả các bộ phận, các tổ chức hợp thành của cơ quan đó
nên cũng có dạng hình cây. Sơ đồ tổ chức thường dùng để mô tả luồng thông tin
đi từ bộ phận này đến bộ phận khác trong tổ chức.
2.8 Mô hình hoá các tiến trình của hệ thống
Trong quá trình phân tích, một yêu cầu thông tin cần phải được mô tả khi
hệ thống vận hành đó là các luồng dữ liệu đi từ vị trí này đến vị trí khác của tổ
chức. Hai loại biểu đồ thường được các phương pháp phân tích thiết kế hệ thống
sử dụng là sơ đồ ngữ cảnh và các loại biểu đồ luồng dữ liệu. Chúng thể hiện việc
chuyển tải, lưu trữ thông tin trong hệ thống, giúp phân tích viên hình dung được
các loại thông tin được sử dụng và lưu chuyển như thế nào.

2.8.1 Sơ đồ ngữ cảnh


a. Các biểu tượng để trình bày tài liệu

Điểm công Điểm công Tài liệu


Tài liệu
tác trong tác ngoài
lưu trữ

Nhiệm vụ hoặc CSDL Luồng dữ liệu


Sự kiện
chức năng

b. Sơ đồ ngữ cảnh: là sơ đồ hình học được xây dựng theo điểm công tác nào đó
dùng để làm rõ mối quan hệ thông tin giữa các điểm công tác của hệ thống. Điểm
trung tâm là điểm đang xét, các điểm công tác khác có liên hệ thông tin với điểm
trung tâm sẽ được mô tả bằng mũi tên và ghi chú kèm theo.
Ví dụ: Sơ đồ ngữ cảnh của bài toán "quản lý kho". Điểm trung tâm là Người
quản lý kho
Thủ kho

Phiếu
Xuất/Nhập Kế toán
Đại lý

Phiếu Xuất Phiếu


Xuất/Nhập
Người quản
lý kho

Phiếu
Xuất/Nhập Báo cáo

Phiếu Nhập

Phân xưởng
Lãnh đạo
41

Nhà cung cấp


2.8.2 Biểu đồ luồng dữ liệu DFD
Biểu đồ luồng dữ liệu (DFD-Data Flow Diagram ) là một sơ đồ hình học
nhằm diễn tả các luồng tài liệu thông qua các chức năng của hệ thống.
a. Những hỗ trợ của DFD
ƒ Xác định yêu cầu của người dùng.
ƒ Lập kế hoạch và minh hoạ những phương án cho phân tích viên và người
dùng xem xét.
ƒ Trao đổi giữa những phân tích viên và người dùng trong hệ thống.
ƒ Làm tài liệu đặc tả yêu cầu hình thức và đặc tả thiết kế hệ thống.
b. Các thành phần của một DFD:
ƒ Luồng dữ liệu (Data flow): mô tả dữ liệu di chuyển từ một vị trí này đến
một vị trí khác, một DFD được mô tả bởi một mũi tên với tên dữ liệu kèm
theo, chiều của mũi tên chỉ hướng di chuyển của dữ liệu. Tên của luồng dữ
liệu thể hiện trạng thái logic của thông tin chứ không phải dạng vật lý của
nó.
Đại lý

Phiếu Xuất

Người quản
lý kho

Ví dụ: Một luồng dữ liệu là “Phiếu xuất” đi từ tác nhân trong “Người quản
lý kho” đến tác nhân ngoài “Đại lý”
ƒ Kho dữ liệu (Data store): là các dữ liệu được lưu giữ tại một nơi nào đó
trong hệ thống. Về mặt vật lý, kho dữ liệu là các tập tin dữ liệu trong máy
tính hoặc những tập tài liệu được lưu trữ ở văn phòng. Do đó một kho dữ
liệu có thể biểu diễn các dữ liệu được lưu trữ ở nhiều vị trí không gian khác
nhau, như các thư mục khác nhau, các máy tính khác nhau,... Kho dữ liệu
là các dữ liệu được lưu giữ trên giá mang nó, vì vậy người ta thường lấy
tên của vật mang nó làm tên của kho dữ liệu.
Ví dụ: “ Phiếu xuất kho”, “Đơn đặt hàng”

D Phiếu xuất kho Đơn đặt hàng D

42
ƒ Tiến trình (Proccess) hoặc chức năng: là một công việc hoặc một hành
động có tác động lên dữ liệu làm cho chúng di chuyển, thay đổi hoặc được
phân phối. Chỉ được xem là một tiến trình trong DFD nếu chúng nhận
thông tin đầu vào và có thông tin đầu ra.
Ví dụ: Tiến trình “Làm hoá đơn” trong hệ thống thông tin “Quản lý Kho
hàng”
Làm hoá đơn

Trong SADT một tiến trình còn được ký hiệu bởi một vòng tròn

Làm
hoá
đơn

ƒ Tác nhân ngoài (extenal entity): Tác nhân ngoài còn được gọi là đối tác, là
một cá nhân hoặc một tổ chức ở bên ngoài lĩnh vực nghiên cứu của hệ thống, có
thể hiểu tác nhân ngoài như là điểm công tác ngoài. Nghĩa là nơi thu nhận, nơi
phát sinh thông tin nhưng không phải là nơi lưu trũ chúng. Tác nhân ngoài là
phần sống còn của hệ thống, bởi vì chúng là nguồn cung cấp thông tin cho hệ
thống và là nguyên nhân kích hoạt hệ thống.
Ví dụ: một luồng dữ liệu là “Phiếu nhập” đến một tác nhân ngoài là “Nhà cung
cấp”.

Nhà cung cấp

Phiếu nhập

ƒ Tác nhân trong (intenal entity): tương tự như điểm công tác trong. Nghĩa
là, có thể là nơi thu nhận, nơi phát sinh và nơi lưu trữ và xử lý thông tin.
Ví dụ: một luồng dữ liệu là “Phiếu xuất/nhập” đến một tác nhân trong là “Thủ
kho”
Thủ kho
Phiếu nhập/xuất

c. Các chú ý khi xây dựng một DFD


Để xây dựng một DFD người ta dựa vào biểu đồ chức năng nghiệp vụ và
sơ đồ ngữ cảnh. Sử dụng BFD để xác định các tiến trình theo từng mức cho DFD.
Bởi vì BFD được thực hiện phân rã thành các mức nên nó dùng để chỉ ra các mức
43
tương ứng trong DFD. Sử dụng sơ đồ ngữ cảnh để nhận dạng ra được các luồng
dữ liệu vào và ra hệ thống, các tác nhân ngoài của hệ thống. Tuy nhiên đê kiểm
tra tính đúng đắn của các thành phẩm trong một DFD cần phải dựa vào các đặc
trưng dưới đây.
Tiến trình:
- Không một tiến trình nào chỉ có cái vào mà không có cái ra. Nếu một đối tượng
nào đó mà chỉ có cái vào thì đó có thể là một tác nhân (đích-thu nhận thông tin).
- Không một tiến trình nào chỉ có cái ra mà không có cái vào. Nếu một đối tượng
nào đó mà chỉ có cái ra thì đó có thể là một tác nhân (nguồn-phát sinh thông tin).
- Cái vào của một tiến trình phải khác với cái ra của tiến trình đó.
- Tên một tiến trình phải là một mệnh đề chỉ hành động.
Kho dữ liệu:
- Tên một kho dữ liệu phải là một mệnh đề danh từ.
- Dữ liệu không thể di chuyển trực tiếp từ một kho dữ liệu này đến một kho dữ
liệu khác.
- Không thể di chuyển trực tiếp dữ liệu từ một tác nhân đến một kho dữ liệu.
- Không thể di chuyển trực tiếp dữ liệu từ một kho dữ liệu đến một tác nhân.
Tác nhân:
- Tên một tác nhân phải là một mệnh đề danh từ.
- Dữ liệu không thể di chuyển trực tiếp từ một tác nhân này đến một tác nhân
khác.
Luồng dữ liệu:
- Tên một luồng dữ liệu phải là một mệnh đề danh từ.
- Một luồng dữ liệu chỉ có một hướng chỉ hướng di chuyển của dữ liệu.
- Một luồng dữ liệu không thể quay lui nơi nó vừa đi khỏi.
- Một luồng dữ liệu đi vào một kho có nghĩa là kho được cập nhật dữ liệu.
- Một luồng dữ liệu đi ra khỏi một kho có nghĩa là kho dữ liệu được đọc.

2.8.3 Kỹ thuật phân mức


Căn cứ vào việc phân rã chức năng của một BFD, chúng ta có thể mô tả
một DFD theo nhiều mức khác nhau. Mỗi mức được thể hiện trong một hoặc
nhiều trang.
. Mức 0: còn gọi là mức bối cảnh, chỉ gồm một DFD, trong đó chỉ có một chức
năng duy nhất (chức năng tổng quát của hệ thống) trao đổi các luồng thông tin
với các đối tác. Tên của trang mức 0 là tên của hệ thống.
. Mức 1: còn gọi là mức đỉnh, cũng chỉ gồm một DFD, và các mức 2,3,4,... mỗi
mức gồm nhiều DFD được thành lập như sau:
ƒ Cứ mỗi chức năng ở mức trên, ta thành lập một DFD ở mức dưới, gọi là
biểu DFD định nghĩa chức năng đó theo cách sau:
- Phân rã chức năng đó thành nhiều chức năng con;
44
- Vẽ lại các luồng dữ liệu vào và ra chức năng trên, nhưng bây giờ
phải vào hoặc ra chức năng con thích hợp;
- Nghiên cứu các quan hệ về dữ liệu giữa các chức năng con, nhờ đố
bổ sung các luồng dữ liệu nội bộ hoặc các kho dữ liệu nội bộ.
ƒ Các chức năng được đánh số theo ký pháp chấm để tiên theo dõi vệt triển
khai từ trên xuống.
Tổng quát, có thể định nghĩa một cách quy nạp biểu đồ luồng dữ liệu các mức
như sau:
Biểu đồ luồng dữ liệu mức n là biểu đồ luồng dữ liệu nhận được từ việc
phân rã một tiến trình thuộc biểu đồ luồng dữ liệu mức n-1.
Như vậy biểu đồ luồng dữ liệu ở mỗi mức là tập hợp các DFD ở mức đó.

0
mức 0

3.0
Biểu đồ phân rã mức 0

1.0 2.0

3.1
1.0 2.3

3.2
2.1 2.2

Biểu đồ phân rã mức 1

2.1 2.2.2

Biểu đồ phân rã mức 2


2.2.1 2.2.3

Các mức trong quá trình phân rã biểu đồ luồng dữ liệu


45
Ví dụ: Xét hệ thống thông tin “Quản lý tín dụng” có BFD như sau:
Quản lý
tín dụng

Cho vay Thu nợ

Nhận đơn Duyệt vay Trả lời đơn

Xác định kỳ Xử lý nợ trả Xử lý nợ trả


hạn trả trong hạn ngoài hạn

Hãy xây dựng các DFD của các mức được phân rã từ BFD đã cho.
. Mức 0: chức năng tổng quát của hệ thống là: “Quản lý tín dụng”. Tác nhân của
hệ thống là “Khách vay”. Ta có DFD ở mức bối cảnh như sau:
Trả lời đơn vay

Đơn vay
Khách vay Quản lý tín dụng

Nợ hoàn trả

DFD ở mức 0 (mức bối cảnh)

. Mức 1: chức năng ở mức 0 được phân rã thành 2 chức năng con là “Cho vay” và
“Thu nợ”. Ngoài ba luồng dữ liệu đã có ở chức năng 0 phải được bảo toàn, thì ta
thấy luồng dữ liệu trao đổi giữa hai chức năng “Cho vay” và “Thu nợ” không
trực tiếp mà phải thông qua một kho dữ liệu đó là “Sổ nợ”. Ta có DFD mức đỉnh
như hình dưới đây.

. Mức 2: chức năng “Cho vay” ở mức 1 được phân rã thành 3 chức năng con là
“Nhận đơn”, “Duyệt vay” và “Trả lời đơn”; chức năng “Thu nợ” ở mức 1 được
phân rã thành 3 chức năng con là “Xác định kỳ hạn trả”, “Xử lý nợ trả trong
hạn” và “Xử lý nợ trả ngoài hạn”. Để bảo toàn các luồng dữ liệu vào/ra và thêm
các luồng dữ liệu nội bộ ta thành lập được hai DFD định nghĩa cho hai chức năng
1 và 2 như sau:

46
Trả lời đơn vay
1.Cho vay

Đơn vay Sổ nợ
Khách vay

2. Thu nợ
Nợ hoàn trả

DFD ở mức 1 (mức đỉnh)

Đơn đã
kiểm tra
Đơn vay
Khách vay 1.1 Nhận đơn 1.2 Duyệt vay

Đơn đã
duyệt
Sổ nợ
Từ chối vay

1.3 Trả lời đơn

Đáp ứng

DFD ở mức 2 (định nghĩa chức năng 1: Chovay)


Nợ trả
trong hạn
2.2 Xử lý nợ trả
Nợ hoàn trong hạn
trả

Khách vay 2.1 Xác định


kỳ hạn trả Sổ nợ

2.3 Xử lý nợ trả
ngoài hạn
Nợ trả
ngoài hạn

DFD ở mức 2 (định nghĩa chức năng 2: Thu nợ)


Chú ý:
- Quá trình phân rã thành các mức không thể kéo dài mãi mà phải dừng sau một
số mức. Ta quyết định dừng việc phân rã khi có những biểu hiện sau:
. Các chức năng được phân rã cuối cùng khá đơn giản
. Nếu phân rã tiếp sẽ vượt ra ngoài câu hỏi “Làm gì?” và bắt đầu sang câu
hỏi “Làm như thế nào?”
- Số mức vào khoảng 7±2 (tuỳ thuộc hệ thống là đơn giản hoặc phức tạp)

47
Chương 3: MÔ HÌNH QUAN NIỆM CỦA HỆ THỐNG THÔNG TIN
3.1 Giới thiệu về mô hình quan niệm
Mô hình quan niệm 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 quan niệm về dữ liệu và mô hình quan
niệm về xử lý.
Mô hình quan niệm về dữ liệu: là sự mô tả toàn bộ dữ liệu của hệ thống,
những mô tả này độc lập với các lựa chọn môi trường cài đặt, là công cụ cho
phép người phân tích thể hiện dữ liệu của hệ thống ở mức quan niệm. Mô
hình có thể mô tả bằng ngôn ngữ tự nhiên hoặc bằng hình vẽ.
Mô hình quan niệm về xử lý: mô tả toàn bộ các quy tắc xử lý được áp dụng
cho dữ liệu của hệ thống.
Mô hình quan niệm cũng là cơ sở để trao đổi giữa những người phân
tích thiết kế hệ thống.
3.2 Mô hình thực thể-mối quan hệ (mô hình ER)
3.2.1 Ý nghĩa của mô hình
Mô hình ER do Peter Chen đề xuất năm 1976, được sử dụng rộng rãi từ
năm 1988. ANSI đã chọn nó làm mô hình chuẩn cho IRDS. Mô hình ER là
một cách để mô tả thế giới thực gần gủi với quan niệm và cách nhìn nhận
bình thường. Mô hình này là một mô tả logic chi tiết dữ liệu của một tổ chức
hoặc một lĩnh vực nghiệp vụ, nó còn là công cụ để phân tích thông tin nghiệp
vụ. Mô hình được sử dụng rộng rãi trong các phần mềm thiết kế như ER
Designer CASE (Chen và Associates 1988), trong các phần mềm trợ giúp
thiết kế bằng máy tính.
3.2.2 Các thành phần của mô hình ER
Mô hình ER có các thành phần cơ bản sau:
- Các tập thực thể
- Các mối quan hệ giữa các thực thể
- Các thuộc tính của các thực thể và các mối quan hệ

62
- Các mối quan hệ để mô tả kiểu kết nối giữa các thực thể (hoặc các
bản số của các thực thể thông qua các mối quan hệ tương ứng)
3.2.1 Thực thể và tập thực thể
Một tập thực thể là mô hình của một lớp đối tượng cụ thể hoặc trừu tượng
của thế giới thực. Mỗi thể hiện trong một tập thực thể được gọi là một thực thể
hoặc cá thể (bản thể) của tập thực thể đó. Các đối tượng trong một tập thực thể
tồn tại khách quan và độc lập tương đối lẫn nhau. Sự tồn tại của chúng không
phụ thuộc vào hoạt động của hệ thống và chúng liên hệ với nhau thông qua tổ
chức của hệ thống hoặc hoạt động của hệ thống.
Một thực thể được nhận diện bằng một số các đặc trưng của nó gọi là
thuộc tính. Như vậy thuộc tính (Attribute) là các yếu tố thông tin cụ thể để
nhận biết một tập thực thể.
Mỗi tập thực thể được đặc trưng bởi một tên và danh sách các thuộc
tính của nó. Người ta dùng một trong các ký hiệu sau để mô tả một tập thực
thể.

Thuộc tính 1
<Tên tậpthực thể>
- Thuộc tính 1
- Thuộc tính 2 hoặc <Tên tậpthực thể>
- ...
- Thuộc tính N Thuộc tính 2 Thuộc tính N

Ví dụ: Mã số nhân viên, họ tên, ngày sinh, đơn vị, nơi sinh là các yếu tố thông
tin tạo thành tập tập thực thể NHÂN VIÊN.

§¬n vÞ M· nh©n viªn


Nh©n viªn
- M· nh©n viªn
- Hä Tªn hoặc NHÂN VIÊN
- Ngµy sinh
- §¬n vÞ - Hä Tªn Ngµy sinh

3.2.2 Thuộc tính

63
Thuộc tính của một thực thể có thể phân thành các loại chủ yếu sau: thuộc
tính đơn, thuộc tính lặp (đa trị), thuộc tính định danh.
a. Thuộc tính đơn
Thuộc tính đơn là thuộc tính mà giá trị của nó không thể phân tách
được trong các xử lý theo một ý nghĩa tương đối nào đó.
Ví dụ: Thuộc tính HỌTÊN là thuộc tính đơn trong hệ thống thông tin “Quản
lý nhân sự” bởi vì trong hệ thống này người ta không có nhu cầu tách thuộc
tính HỌTÊN thành hai thuộc tính HỌLÓT và TÊN, tuy nhiên điều này không
còn đúng nữa khi ở trong hệ thống thông tin “Quản lý Đào tạo”
b. Thuộc tính phức hợp
Thuộc tính phức hợp là thuộc tính được tạo từ những thuộc tính đơn
khác nhau.
Ví dụ: Thuộc tính Ngày sinh là gộp của 3 thuộc tính ngày, tháng và năm sinh.
Thuộc tính HỌTÊN được tạo từ hai thuộc tính HỌLÓT và TÊN
c. Thuộc tính lặp (đa trị): thuộc tính có thể nhận nhiều hơn một giá trị đối với
mỗi thực thể.
Ví dụ: KỸNĂNG, TĐỘNGNGỮ là các thuộc tính lặp trong tập thực thể
NHÂNVIÊN vì mỗi nhân viên có thể có nhiều kỹ năng và trình độ ngoại ngữ
khác nhau.
d. Thuộc tính định danh (khóa)
Thuộc tính định danh là một hoặc một số tối thiểu các thuộc tính của
một tập thực thể mà giá trị của nó cho phép phân biệt các thực thể khác nhau
trong tập thực thể. Trong một tập thực thể có thể có nhiều thuộc tính định
danh khác nhau. Thông thường người ta chọn thuộc tính định danh là một
thuộc tính đơn duy nhất.
Ví dụ: Trong tập thực thể NHÂNVIÊN thuộc tính MÃNV, SỐCMND là các
thuộc tính có thể làm thuộc tính định danh.

64
Để tiện cho việc tổ chức dữ liệu và xử lý sau này, khi chọn thuộc tính
định danh nên chú ý đến các yếu tố sau:
ƒ Chọn định danh sao cho giá trị của nó không thay đổi trong suốt vòng
đời của thực thể. Ví dụ, SỐCMND ít khi được chọn làm thuộc tính
định danh vì mỗi nhân viên có thể có nhiều chứng minh nhân dân khác
nhau và có thể không có chứng minh nhân dân.
ƒ Chọn định danh phải bảo đảm giá trị của nó đối với thực thể thuộc tập
thực thể phải khác rỗng (NOT NULL). Nếu định danh là hợp bởi một
số thuộc tính khác nhau thì phải bảo đảm mỗi thuộc tính thành phần
phải khác rỗng.
ƒ Tránh sử dụng các định danh áp đặt mà cấu trúc của nó có thành phần
chỉ sự phân loại, địa điểm.
3.3 Mối quan hệ giữa các tập thực thể
3.3.1 Mối quan hệ
Khái niệm tập thực thể với các thuộc tính không nói lên được mối liên
quan giữa các tập thực thể với nhau. Mối quan hệ là sự mô tả sự liên hệ giữa
các phần tử của các tập thực thể với nhau, chúng là các gắn kết các tập thực
thể với nhau.

Chúng ta có thể diễn tả khái niệm mối quan hệ giữa các tập thực thể
một cách hình thức như sau: Mối quan hệ R giữa các tập thực thể E1, E2,..., Ek
là một tập con của tích Descartes F1x F2x ... x Fn , trong đó Fi∈{E1, E2,...,
Ek}. Một thể hiện của mối quan hệ R là một tập các n-bộ (e1,e2,...,en), trong đó
ei ∈Fi (i=1...n). Nếu n-bộ (e1, e2,..., en) là một thể hiện của R thì ta nói rằng
e1,e2 ,..., en có mối quan hệ R với nhau. Ta có thể phân loại các mối quan hệ
giữa các tập thực thể như sau:
Mối quan hệ giữa các tập thực thể có thể là một mối quan hệ sở hữu
hoặc phụ thuộc hoặc mô tả sự tương tác giữa chúng.

65
Một mối quan hệ có thể có thuộc tính riêng của nó. Để mô tả một mối
quan hệ người ta dùng một hình ellip trong đó ghi tên của mối quan hệ và các
thuộc tính riêng của nó nếu có.

Sinh viên Điểm thi Môn học


- Mã SV - Lần - Mã MH
- Họ SV - Điểm - Tên MH
- Tên SV - Số ĐVHT
- Ngày sinh

Số ĐVHT
Mã SV
hoặc
Sinh viên Điểm thi
Môn học

Ngàysinh Họ SV Mã MH Tên MH
Tên SV Lần Điểm

Khi định nghĩa một mối quan hệ cần phải nêu ý nghĩa của nó.

Ví dụ: (e1,e2) ∈ điểm thi có ý nghĩa: sinh viên e1 thi một môn học e2 lần thứ
mấy và được bao nhiêu điểm.
Một tập thực thể có thể tham gia nhiều mối quan hệ và giữa hai tập thực thể
có thể có nhiều mối quan hệ khác nhau.
Ví dụ: Giữa hai tập thực thể Sinh viên và Môn học có hai mối quan hệ là
ĐKMH và Điểm thi.
Chiều của mối quan hệ: là số tập thực thể tham gia vào mối quan hệ đó.
Mối quan hệ một chiều (đệ quy-phản xạ): mối quan hệ giữa các thực thể của
cùng một tập thực thể. Ký hiệu:
Ví dụ:

Người Nhân viên


- Mã Kết hôn - Mã NV Quản lý
- Họ - Năm
- Họ tên
- Tên
- Ngày sinh

66
Mối quan hệ hai chiều: là sự kết nối giữa hai tập thực thể, còn gọi là mô hình
nhị nguyên. Mối quan hệ này thường được sử dụng trong thực tế.
Ví dụ:

NGƯỜI Sở hữu NHÀ


Năm SH
Hoten Sốnhà
SoCM Đườngphố
Dtich

Mối quan hệ nhiều chiều: mối quan hệ có số tập thực thể tham gia lớn hơn 2,
còn gọi là mô hình đa nguyên. Trong thực tế, người ta thường dưa các mối
quan hệ nhiều chiều về mối quan hệ hai chiều.

Giáo viên Sinh viên


Họtên Họtên
QQuán Dạy QQuán

Môn học
Tên MH
Số tiết

Mối quan hệ ba chiều


Mối quan hệ Dạy có ý nghĩa:

(a,b,c,d,e) ∈ TKB : Giáo viên a Dạy Sinh viên b Môn học c tại Phòng học d
vào tiết thứ e.

M«n häc Gi¸o viªn


- M· MH - M· GV
- Tªn MH - Tªn GV
TKB

Ngµy t t TiÕt häc p häc


- M· ngµy - M· TH - M· phßng
- Tªn ngµy - Giê B§ - Tªnphßng

Mối quan hệ năm chiều

67
3.3.2 Bản số
Xác định mối quan hệ giữa các tâp thực thể như ở trên chưa nói lên độ
phức tạp của chúng. Chẳng hạn, khó có thể biết được mỗi thực thể của tập
thực thể này có liên hệ với bao nhiêu thực thể của tập thực thể kia thông qua
mối quan hệ. Để diễn tả tần suất xuất hiện của các phần tử của tập thực thể
trong một mối quan hệ người ta dùng một khái niệm là bản số.
Bản số (Cardinality) là một cặp số nguyên (i,j), chứa số tối thiểu và số tối đa
trường hợp có thể có của các phần tử của tập thực thể tham gia vào mối quan hệ.
Bản số của tập thực thể nào thì được ghi trên nhánh của tập thực thể đó. Nếu i,j
nhận giá trị lớn hơn 1 thì quy ước thay chúng bởi ký tự n.
Ví dụ
Sinh viên Lớp học
- Mã SV (1,1) (1,n)
học - Mã lớp
- Họ tên - Tên lớp

Bản số (1,1): Một sinh viên học ít nhất là 1 lớp và nhiều nhất là 1 lớp.
Bản số (1,n): một lớp có ít nhất là 1 sinh viên và nhiều nhất là n sinh viên.
Các ví dụ:
a. Giả sử một người phải ở và chỉ ở trong một nhà, khi đó bản số của các tập
thực thể NGƯỜI và NHÀ qua mối quan hệ Ở là (1,1)-------(1,n)

(1,1) (1,n)
Người ở Nhà
- Họ tên Năm - Số nhà
- Số CMND - Đường
- Dtích

b. Bản số của mối quan hệ Kết hôn của công dân Việt nam

(0,1)
(0,1)

Nhân viên
Người Kết hôn Quản lý
- Năm - Mã NV
- Họ tên
- Họ tên
- Số CMND
- Quê quán (0,1)
- Gtính (0,1)

68
c. Giả sử mọi vật tư của công ty phải được chứa trong các kho hàng và một
vật tư chỉ ở trong một kho mà thôi, khi đó bản số của các tập thực thể VÂT
TƯ và KHO qua mối quan hệ Chứa trong là (1,1)-----(1,n)

VẬT TƯ (1,1) (1,n) KHO


Chứa trong

MaVT Tenkho
TenVT Đchi

d. Bản số của các tập thực thể THẦY và TRÒ qua mối quan hệ Dạy học

THAY (1,n) Dạy (1,n) TRÒ

MaGV MaSV
TenGV HTen

Các trường hợp có thể xảy ra của các cặp bản số:
(1,1) (1,1) hoặc (0,1) (0,1) hoặc (0,1) (1,1)
(1,1) (1,n) hoặc (0,1) (1,n) hoặc (1,1) (0,n)
(1,n) (1,n) hoặc (0,n) (1,n) hoặc (1,1) (0,n)
3.3.3 Bản số trực tiếp giữa các mối quan hệ
Trong một số phương pháp phân tích người ta không biểu diễn một cách rõ
ràng bản số của một tập thực thể trong mối quan hệ mà chỉ biểu diễn bản số
trực tiếp giữa hai tập thực thể. Bản số trực tiếp giữa hai tập thực thể:
Giả sử tập thực thể E1 có bản số trong mối quan hệ là (i1:j1); tập thực thể
E2 có bản số trong mối quan hệ là(i2:j2). Khi đó bản số trực tiếp giữa hai tập
thực thể E1,E2 là (j2:j1).
Người ta dùng các ký hiệu sau để mô tả bản số trực tiếp của hai tập thực thể:

(1:1) (n:n) (1:n)


hoặc

69
(1:1) (n:n) (1:n)
hoặc sử dụng các ký hiệu: , , tương ứng với: 0, 1, n

Sinh viên Khóa học (n:n)

Mối quan hệ ISA (cha-con): Cho hai tập thực thể A và B. Ta nói A có mối
quan hệ ISA với B nếu mỗi thực thể trong A cũng là một thực thể trong B
(còn gọi là A là con của B).
Ký hiệu
TTThể con 1 TTThể cha
n
- Ttinh1 ISA - Ttinh1
- .... - ....
- Ttính n - Ttính m

Ví dụ: Tập thực thể NHÂNVIÊN có tập thực thể ĐẢNGVIÊN là tập thực thể
con. Vậy: ĐẢNGVIÊN ISA NHÂNVIÊN
3.3.4. Tách một mối quan hệ đa nguyên thành các mối quan hệ nhị
nguyên
Trong mô hình ER người ta xem bậc (degree) của một mối quan hệ là
số các tập thực thể tham gia vào mối quan hệ này. Chẳng hạn mối quan hệ bậc
hai, còn được gọi là mối quan hệ nhị nguyên, là mối quan hệ giữa hai tập thực
thể. Trên thực tế để đơn giản và tiện cho việc thiết kế cài đặt các CSDL, hầu
hết các mối quan hệ đa nguyên đều được chuyển đổi thành các mối quan hệ
nhị nguyên. Dựa vào khả năng chuyển đổi này của mối quan hệ đa nguyên,
một số công cụ thiết kế CSDL chỉ cho phép sử dụng các mối quan hệ nhị
nguyên. Cụ thể phương pháp chuyển đổi được thực hiện như sau.
Thuật toán 3.1. Tách một mối quan hệ đa nguyên thành các mối quan hệ nhị
nguyên không kèm thuộc tính.

70
Input: Mối quan hệ R giữa các tập thực thể E1, E2, ..., En là mối quan hệ bậc n
(n > 2). Bản số đính kèm trên cung nối tập Ei và R là (mini, maxi), với i=1,
2,..., n.
Output: Các mối quan hệ nhị nguyên
Method: Thay R bởi n mối quan hệ Ri (không kèm thuộc tính) giữa các tập
thực thể Ei với tập thực thể E (biểu diễn mối quan hệ R), với i =1, 2, ..., n.
Procedure Chuyen_doi_MQH_da_nguyen;
1. Mối quan hệ R được thay thế bởi tập thực thể E có cùng tập các thuộc
tính;
2. For i:=1 to n do
3. Xây dựng mối quan hệ nhị nguyên Ri giữa tập thực thể Ei với tập
thực thể E;
4. Gán bản số của cung nối Ri với Ei là (mini, maxi);
5. Gán bản số của cung nối Ri và E là (1, 1);
6. Endfor;
End Chuyen_doi_MQH_da_nguyen;
Lúc này ta hiểu rằng: mỗi thể hiện (e1, e2, ..., en) thuộc R (mối quan hệ
cũ), với ei ∈ Ei (i = 1, 2, ..., n), sẽ cho tương ứng với một thực thể e thuộc E
(tập thực thể mới tạo lập), sao cho các thể hiện (e, ei) thuộc Ri (các mối quan
hệ mới tạo lập).
Ví dụ. Hình sau đây trình bày một ví dụ về một mối quan hệ tam nguyên, và
trình bày kết quả chuyển đổi thành ba mối quan hệ nhị nguyên.

GIÁO VIÊN
MSGV
HOTEN
(0,n)

Dạy
Thời gian
(1,n) (1,n)
LỚP MÔN HỌC
MALOP Hình a MSMON
TENLOP SOTIET
71
GIÁO VIÊN
MSGV
HOTEN
(1,1)

Dạy

(0,n)
LỊCH DẠY
THỜI GIAN
(1,1) (1,1)

Bố trí Gồm có

(1,n) (1,n)

LỚP MÔN HỌC


MALOP MSMON
TENLOP SOTIET
Hình b

Hình 3.1. Minh hoạ việc chuyển đổi một mối quan hệ tam nguyên. (a) Ví dụ
về một mối quan hệ tam nguyên. (b) Kết quả chuyển đổi thành ba mối quan hệ
nhị nguyên.
Ví dụ trên cho thấy rằng, mối quan hệ DAY trong hình a được chuyển
đổi thành tập thực thể LICHDAY đóng vai trò như một tập thực thể yếu
không có khoá bộ phận và có ba mối quan hệ định danh là GIANG, BOTRI
và GOMCO. Ba tập thực thể tham gia vào các mối quan hệ này là
GIAOVIEN, LOP, MONHOC đều là các tập thực thể chủ của tập thực thể
LICHDAY. Vì vậy, mỗi thực thể thuộc tập thực thể yếu LICHDAY được
định danh bởi sự phối hợp của ba thực thể lần lượt thuộc ba tập thực thể chủ
GIAOVIEN, LOP và MONHOC.
Rõ ràng, ta cũng có thể sử dụng thuật toán 3.1. để phân tách một mối
quan hệ nhị nguyên (đặc biệt là mối quan hệ nhị nguyên có kèm thuộc tính)
thành các mối quan hệ nhị nguyên không kèm thuộc tính.
72
3.3.5. Ràng buộc phụ thuộc hàm trên mối quan hệ đa nguyên
Xét mối quan hệ R là mối quan hệ đa nguyên bậc n (n > 2) giữa n tập
thực thể E1, E2, ..., En. Khác với mối quan hệ nhị nguyên, đối với mối quan hệ
đa nguyên R, ngoài ràng buộc về bản số đính kèm trên mỗi cung nối tập Ei và
R là (mini, maxi), với i = 1, 2, ..., n; ta cần bổ sung một loại ràng buộc khác
được gọi là ràng buộc phụ thuộc hàm giữa các tập thực thể tham gia vào mối
quan hệ R (gọi tắt là ràng buộc phụ thuộc hàm trên R). Một cách hình thức, ta
lần lượt xét các định nghĩa sau:
Thể hiện của một mối quan hệ: Gọi R là mối quan hệ đa nguyên bậc n
(n > 2) giữa n tập thực thể E1, E2, ..., En; gọi tắt là mối quan hệ R trên
{E1, E2, ..., En}. Gọi e1, e2, ..., en lần lượt là các thực thể thuộc các tập thực thể
E1, E2, ..., En. Khi đó, một bộ t gồm n thành phần (e1, e2, ..., en), ký hiệu t = (e1,
e2, ..., en), được gọi là một thể hiện của mối quan hệ R, nếu và chỉ nếu (e1, e2,
..., en) thuộc mối quan hệ R.

Chiếu của một thể hiện: Xét mối quan hệ R trên Ω = {E1, E2, ..., En}, X là
một tập con của Ω, và t = (e1, e2, ..., en) ∈ R. Khi đó, chiếu của t trên X, ký
hiệu là t[X], là bộ t chỉ chứa các thành phần tương ứng với các thực thể của
các tập thực thể có trong X.

Phụ thuộc hàm giữa các tập thực thể: Xét mối quan hệ R trên Ω, gọi X và Y
là các tập con của Ω. Khi đó, ta nói rằng R thoả phụ thuộc hàm
X → Y (đọc là: X xác định Y, hoặc Y phụ thuộc hàm vào X) nếu và chỉ nếu:
với mọi t1, t2 ∈ R ta có: t1[X] = t2[X] kéo theo t1[Y]= t2[Y].
Một mối quan hệ R được gọi là thoả F - tập các phụ thuộc hàm trên R,
nếu R thoả tất cả các phụ thuộc hàm trong F.
Từ những định nghĩa hình thức được nêu ở trên, ta có thể nhận thấy
rằng, có sự tương ứng 1-1 giữa một số khái niệm này với các khái niệm của lý
thuyết phụ thuộc hàm trong mô hình quan hệ. Cụ thể:

73
• Một mối quan hệ đa nguyên R tương ứng với một lược đồ quan hệ trên
mô hình quan hệ. Và tập các thể hiện của mối quan hệ đa nguyên này tương
ứng với một quan hệ trong lược đồ quan hệ trên. Tức là, một thể hiện của mối
quan hệ R tương ứng với một bộ thuộc quan hệ đó.

• Các tập thực thể tham gia vào R tương ứng với các thuộc tính có trong
một lược đồ quan hệ.

• Một ràng buộc phụ thuộc hàm trên một mối quan hệ R tương ứng với
một ràng buộc phụ thuộc hàm trong một lược đồ quan hệ.
Thành phần của một bộ trong một quan hệ là giá trị của một thuộc tính,
nhưng một thành phần của một thể hiện trong mối quan hệ R là một thực thể.
Vì vậy, hai thực thể e và e′ được gọi là bằng nhau, ký hiệu là e = e’, nếu e và
e’ cùng tham chiếu đến một đối tượng trong cùng một tập thực thể.
Từ việc so sánh này, cho phép một loạt các định nghĩa (bao đóng của
tập các phụ thuộc hàm trên một mối quan hệ, bao đóng của tập các tập thực
thể, khoá của một mối quan hệ, ...), các tính chất và các thuật toán (thuật toán
tìm bao đóng của tập các tập thực thể, bài toán thành viên, thuật toán tìm khoá
của một mối quan hệ, ...) được xây dựng một cách tương tự như đối với lý
thuyết phụ thuộc hàm trên mô hình quan hệ. Chẳng hạn, chúng ta có thể định
nghĩa khoá của một mối quan hệ đa nguyên như sau.

Khoá của một mối quan hệ đa nguyên: Xét mối quan hệ đa nguyên R trên Ω
thoả tập phụ thuộc hàm F, gọi X là một tập con của Ω. Khi đó, X được gọi là
khoá của R nếu thoả mãn hai điều kiện sau:

(1). R thoả phụ thuộc hàm X → Ω, hay ta gọi X là một siêu khoá trên R.

(2). Không tồn tại tập X’ ⊂ X (X’ là tập con thực sự của X) thoả điều
kiện trên.

Từ định nghĩa này, cho thấy rằng Ω là một siêu khoá của mối quan hệ R. Và
thuật toán xác định một khoá của mối quan hệ được xây dựng như sau.
Thuật toán 1.2. Xác định một khoá của mối quan hệ R.

74
+ Input: Mối quan hệ R trên Ω thoả tập phụ thuộc hàm F
+ Output: Một khoá K của mối quan hệ R.
+ Method:
Function Key(Ω, F);

1. K := Ω;
2. for mỗi tập thực thể E trong Ω do
3. if R thoả K−{E}→ Ω then
4. K := K−{E}
5. endif;
6. endfor;
7. return K;
Xét mối quan hệ DAY giữa ba tập thực thể GIAOVIEN, MONHOC và
LOP có ngữ nghĩa rằng: (g, m, l) ∈ DAY nếu giáo viên g dạy môn m cho lớp
l. Giả sử F chỉ có một phụ thuộc hàm {MONHOC, LOP}→{GIAOVIEN} để
chỉ rằng một môn học của một lớp chỉ do một giáo viên phụ trách. Khi đó,
theo thuật toán trên ta có K={MONHOC, LOP} là một khoá của mối quan hệ
DAY.
Rõ ràng, ta có thể chỉ ra mối liên quan giữa các ràng buộc về bản số và
ràng buộc phụ thuộc hàm trong mối quan hệ đa nguyên bởi các tính chất sau.

Tính chất 3.1: Xét mối quan hệ R trên Ω = {E1, E2, ..., En}, khi đó: chỉ số cực
đại của bản số thuộc cung nối Ek ∈ Ω và R trên sơ đồ ER là bằng 1, khi và chỉ
khi R thoả Ek→ Ω (hay K = Ek là một khoá của R).
Tính chất 3.1 cho ta một tiêu chuẩn để xác định khoá của R dựa vào
ràng buộc bản số. Dĩ nhiên tính chất này còn có thể áp dụng đối với mối quan
hệ nhị nguyên (với n = 2). Dựa vào tính chất này, ta có thể chứng minh tính
chất sau khi xét một mối quan hệ nhị nguyên.
Tính chất 3.2: Xét mối quan hệ nhị nguyên R giữa hai tập thực thể E1 và E2,
khi đó: mối quan hệ R là mối quan hệ nhiều-nhiều, khi và chỉ khi khoá của R
là Ω = {E1, E2}.

75
Tính chất 1.2. cho thấy rằng, đối với mối quan hệ nhị nguyên, ràng
buộc phụ thuộc hàm là thật sự không cần thiết trong việc xác định khoá của
mối quan hệ này.
Ngoài ra, liên quan đến việc phân tách một mối quan hệ đa nguyên
trong một mô hình ER thành các mối quan hệ nhị nguyên, ta nhận thấy rằng,
rõ ràng việc phân tách này có thể làm mất mát ngữ nghĩa của các ràng buộc
phụ thuộc hàm giữa các tập thực thể tham gia vào mối quan hệ đa nguyên đó.
3.3.6 Mô hình thực thể-mối quan hệ (ER model)
Mô hình thực thể-mối quan hệ là mô hình liên hoàn các tập thực thể và các
mối quan hệ trong hệ thống thông tin. Trên mô hình này sẽ thể hiện đầy đủ
các tập thực thể và mối quan hệ giữa chúng trong hệ thống. Đây cũng chính là
mô hình quan niệm về dữ liệu của hệ thống thông tin.
Ví dụ 1: Mô hình thực thể-mối quan hệ của HTTT "Quản lý Kho hàng"

NHÀ CC KHO KHHÀNG

(1,n) (1,n) (1,n)

Nhập từ Chứa Xuất cho

(1,1) (1,1)
(1,1)

PH NHẬP (1,n) Gồm các (1,n) HÀNG (0,n) Gồm các (1,n) PH XUẤT
khoản_N khoản_X

Mô hình thực thể -mối quan hệ của HTTT "QL Kho hàng"

3.4 Một vài nhận xét để rà soát lại mô hình ER


3.4.1 Đối tượng nào có thể làm tập thực thể?

76
Một đối tượng có thể làm tập thực thể nếu nó được tạo thành từ một lớp
các cá thể tương ứng. Ví dụ, tập thực thể SINHVIÊN được tạo từ các thực thể
mà mỗi thực thể là một sinh viên.
3.4.2 Yếu tố thông tin gì có thể làm thuộc tính cho một tập thực thể?
Các thông tin đặc trưng để xác định các thực thể trong một tập thực thể
đều có thể làm thuộc tính cho tập thực thể đó. Tuy nhiên cần phải chọn thông
tin nào cần thiết và được sử dụng trong các xử lý. Để tránh nhầm lẫn khi xác
định thuộc tính cho một tập thực thể, ta đặt hệ thống thông tin ở trạng thái
tĩnh và xem thử thuộc tính đó có nguy cơ bị phá vỡ không. Nếu có thì thuộc
tính đó là một tập thực thể hoặc là thuộc tính của một tập thực thể khác.
3.4.3 Loại bỏ các thuộc tính vô nghĩa
Loại bỏ các thông tin không bao giờ sử dụng đến. Ví dụ trong quản lý
sinh viên thì thuộc tính anhem không cần.
3.4.4 Tính độc lập của các thuộc tính
huộc tính của một tập thực thể không được suy từ những thuộc tính khác
của tập thực thể đó.
Ví dụ :
Hóa đơn Hóa đơn
- Mã hóa đơn chuyển thành - Mã hóa đơn
- Số lượng - Số lượng
- Đơn giá - Đơn giá
- Thành tiền

Thuộc tính Thành tiền được tính toán từ hai Thuộc tính Số lượng và Đơn
giá. Ta loại bỏ Thuộc tính Thành tiền khỏi tập thực thể hóa đơn.
3.4.5 Xác định thuộc tính khóa
Trong mỗi tập thực thể nên chọn khóa chỉ có một thuộc tính để tiện việc
xử lý. Nếu trong tập thực thể không có một thuộc tính nào để làm khóa thì
nên áp đặt một thuộc tính bên ngoài để làm khóa.
Thông thường thuộc tính áp đặt này có dạng: Mã + <Tên tập thực thể>,

77
Ví dụ : Trong tập thực thể NHÂN VIÊN không tồn tại một thuộc tính nào để
làm khóa, ta đưa thêm thuộc tính Mã nhân viên làm khóa.
Trong biểu diễn tập thực thể, những thuộc tính khóa được gạch dưới.
3.4.6 Tách thuộc tính có dung lượng lớn
Nếu một thuộc tính của tập thực thể có nhiều giá trị, mỗi giá trị chiếm một
dung lượng lớn và lặp lại nhiều lần thì nên tách thành một tập thực thể riêng
có tên là <tên thuộc tính> và có hai thuộc tính là: Mã + <tên thuộc tính> và
Tên + <tên thuộc tính>.
Ví dụ : Thuộc tính Đơn vị, Nơi sinh trong tập thực thể Nhân viên với Nơi
sinh bao gồm Huyện và Tỉnh được tách thành các tập thực thể riêng như sau:

Nhân viên Huyện Tỉnh


Quê quán Thuộc
- Mã NV - Mã huyện - Mã tỉnh
- Tên huyện
- Họ NV - Têntỉnh

- Tên NV Đơn vị
- Ngày sinh
- Mã đơn vị
- Tên đơn vị

3.4.7 Xử lý một thuộc tính lặp (đa trị) nằm trong một tập thực thể
Nếu trong tập thực thể có thuộc tính đa trị thì tách thuộc tính này thành
một tập thực thể có tên là <tên thuộc tính đa trị> và có hai thuộc tính là:
Mã + <tên thuộc tính> và Tên + <tên thuộc tính>.
Ví dụ: một nhân viên có thể biết nhiều ngoại ngữ khác nhau (lặp). Khi đó
thuộc tính Ngoại ngữ trong tập thực thể Nhân viên phải được chuyển thành
một tập thực thể khác.

Nhân viên Nhân viên (1,n) (1,n) Ngoại ngữ


Biết
- Mã NV - Mã NV - Mã ngngữ
- Họ NV - Họ NV - Tên ngngữ
- Tên NV - Tên NV
- Ngày sinh - Ngày sinh
- Ngoại ngữ

78
3.4.8 Xử lý một nhóm thuộc tính lặp nằm trong cùng một tập thực thể
Nếu trong một tập thực thể có một nhóm thuộc tính lặp thì tách chúng
(các thuộc tính lặp) thành một tập thực thể riêng. Tập thực thể này nhận các
thuộc tính lặp làm thuộc tính và nhận thuộc tính khóa của tập thực thể gốc
làm khóa.
Ví dụ: một bệnh nhân có thể có nhiều triệu chứng, ngày khám và bác sĩ khám.
Trong trường hợp dưới đây chúng ta chuyển các thuộc tính lặp này thành một
tập thực thể riêng.

Bệnh nhân Bệnh nhân (1,1) (1,n) Lsử điều trị



MaBN MaBN MaBN
HtênBN HtênBN Triệu chứng
Đchỉ Đchỉ Ngày khám
Triệu chứng (l) Bác sĩ khám
Ngày khám (l)
Bác sĩ khám (l)

3.4.8 Xử lý các thuộc tính phức hợp


Thay thuộc tính phức hợp bởi các thuộc tính đơn tạo thành nó.
Ví dụ:

Nhân viên Nhân viên Ngoaingu


- Mã NV - Mã NV MaNN
- HọTên NV - Họ NV Tênngngu
- Ngày sinh - Tên NV
- Ngoại ngữ - Ngày sinh

3.4.9 Các tập thực thể có mối quan hệ ISA


Khi một thuộc tính của tập thực thể mà chỉ có một số phần tử có giá trị,
nếu phần tử nào có giá trị thì có thêm một số thuộc tính riêng của nó thì
chuyển thành một tập thực thể riêng có tên là <tên thuộc tính> và có thuộc
tính là các thuộc tính riêng của nó (trường hợp này giữa hai tập thực thể này
có mối quan hệ ISA).
79
Tập thực thể gốc gọi là tập thực thể Cha, tập thực thể được tách ra gọi là tập
thực thể Con.
Ví dụ: Trong hệ thống quản lý nhân viên của một cơ quan, với tập thực thể
Nhân viên, ngoài những Thuộc tính chung như : Họ, tên, ngày sinh, giới tính,
nơi sinh... còn có các Thuộc tính Đảng viên, Bộ đội ...
Thuộc tính Đảng viên để quản lý những Đảng viên trong cơ quan. Chỉ có một
số nhân viên là Đảng viên, nếu là Đảng viên thì quản lý : Ngày vào Đảng, ngày
chính thức, nơi vào Đảng. Nơi vào Đảng chỉ quản lý cấp tỉnh.
Thuộc tính Bộ đội để quản lý những nhân viên trong cơ quan từng đi bộ đội.
Chỉ có một số nhân viên là Bộ đội. Nếu là Bộ đội thì quản lý các thuộc tính:
Ngày nhập ngũ, ngày xuất ngũ, cấp bậc và binh chủng khi xuất ngũ. Như vậy,
Thuộc tính Đảng viên và Bộ đội được tách thành các tập thực thể con.

Nhân viên
- Mã NV
- Họ Tên
- Ngày sinh chuyển thành
- Bộ đội
- Đảng viên

Bộ đội ISA
Nhân viên ISA
Đảng viên
- Ngày NN - Mã NV - Ngày VĐ
- Ngày XN - Họ Tên - Ngày CT
- Ngày sinh

Nếu trong tập thực thể con được tách ra tồn tại các thuộc tính có tính chất
trên thì tiếp tục tách thuộc tính đó thành tập thực thể như phương pháp ở trên.
3.5 Mô hình quan niệm về dữ liệu
Mô hình quan niệm dữ liệu mô tả toàn bộ dữ liệu của hệ thống. Thực
chất mô hình quan niệm dữ liệu là mô hình thực thể - mối quan hệ. Để mô tả
mô hình quan niệm về dữ liệu của một hệ thống thông tin, cần mô tả thông tin
theo các bước sau:
B1: Mô tả toàn bộ các tập thực thể và các thuộc tính tương ứng của chúng.

80
B2: Mô tả toàn bộ các mối quan hệ. Ý nghĩa của mỗi mối quan hệ và các
thuộc tính tương ứng của chúng (nếu có). Bản số của mỗi tập thực thể qua
mối quan hệ. Loại mối quan hệ: một chiều, hai chiều (1-1, 1-n, n-n, isa,...),
nhiều chiều.
B3: Vẽ mô hình thực thể - mối quan hệ.

81
Ví dụ: Mô hình thực thể của hệ thống thông tin "Quản lý Công chức"

Tỉnh Đảng viên Đơn vị Dân tộc Tôn giáo Văn hóa
-Mã tỉnh -Ngày VĐ -Mã ĐV -Mã DT -Mã TG -Mã VH
-Tên tỉnh -Ngày CT -Tên ĐV -Tên DT -Tên TG -Tên VH

isa
N ngữ
-Mã NN
Huyện
Công chức -Tên NN
-Mã huyện
Mã CC
-Tên huyện
isa Họ CC
Tên CC LHĐT
Giới tính -Mã LHĐT
Nông thôn
Ngày sinh -Tên LHĐT
Đoàn viên
Ngày vào CQ
isa Ngày biên chế

-Mã xã Tên Cha Nước
-Tên xã Tên mẹ -Mã nước
Thành thị -Tên nước
- Số nhà
B lương
isa -Mã BL
-Hệ số
Đường
(1,1)
CC binh
-Mã đường
- Ngày NN
-Tên đường
- Ngày XN

B chủng Chức vụ Cơ quan Nghề


Ngạch
-Mã BC -Mã CV -Mã CQ -Mã nghề
-Mã ngạch
-Tên BC -Tên CV -Tên CQ -Tên nghề
-Tên ngạch

Cấp bậc
-Mã CB
KT-KL
-Tên CB
-Mã KTKL
-Tên KTKL
Con
Vợ chồng -Mã con
-Tên VC -Họ tên con
-Ngày sinh VC isa Công chức -Ng sinh con

82
Mô hình thực thể -mối quan hệ của httt "Quản lý Công chức"

Tỉnh Đơn vị Dân tộc Tôn giáo Văn hóa


(1,n)
-Mã tỉnh ĐV-T -Mã ĐV -Mã DT -Mã TG -Mã VH
-Tên tỉnh (1,1) -Tên ĐV -Tên DT -Tên TG -Tên VH

(1,n) Đảng viên


(1,n) (1,n) (1,n) (1,n) (1,n)
-Ngày VĐ
-Ngày CT CC-ĐV CC-DT CC-TG CC-VH
H-T
(1,1) (1,1)
(1,1) N ngữ
(1,1) isa
Ng phép (1,n) -Mã NN
Huyện - Ngày (1,n)
Công chức (1,n)
-Tên NN
-Mã huyện BĐ
-Mã CC (1,n)
-Tên huyện (1,1) CC-NN
(1,n)
-Họ CC
CC-H -Tên CC -Cấp độ LHĐT
(1,n)
-Giới tính (1,1) (1,n) -Mã LHĐT
Nông thôn isa CC-H
X-H -Ngày sinh -Tên LHĐT
-Đoàn viên (1,n)
(1,1) (1,1) (1,n) -Ngày vào CQ CC-ĐNN
Anh
Xã NT-X -Ngày biên chế -Ngày đi
em
-Mã xã -Tên Cha -Ngày về Nước
(1,n)
-Tên xã -Tên mẹ -Mã nước
isa (1,n) (1,n)
Thành thị -Tên nước
(1,n) - Số nhà (1,1) (1,1) QTL
-Ngày LL B lương
Đ-H isa (1,1)
(1,1) (1,1)
CVM (1,n) -Mã BL
(1,1) TT - Đ (1,1)
CVC (1,1) -Hệ số
Đường CQM
(1,1)
CC binh NC
(1,n) (1,n) (1,1)
-Mã đường (1,n)
- Ngày NN NM
-Tên đường CQC BL-N
- Ngày XN (1,n)
(1,n) (1,n)
(1,n) (1,n)
B chủng Chức vụ Cơ quan Nghề
CCB-BC Ngạch
-Mã BC -Mã CV -Mã CQ -Mã nghề
(1,n) -Mã ngạch
-Tên BC -Tên CV -Tên CQ -Tên nghề
(1,1) -Tên ngạch
CCB-CB (1,n) (1,n) (1,n)
Cấp bậc (1,n)
(1,n)
-Mã CB CVVC CQVC NVC NC
-Tên CB
(1,1)
(1,1) (1,1) KT-KL (1,1)
-Mã KTKL Con
Vợ chồng CC-KTKL -Tên KTKL
(1,n) -Mã con
-Ngày (1,n)
-Tên VC isa -Họ tên con
-Ngày sinh VC (1,n) (1,1)
Công chức CC-C -Ng sinh con

83
3.6 Mô hình quan niệm xử lý:
3.6.1 Mục đích: Mô hình quan niệm xử lý nghiên cứu mặt động của hệ thống
thông tin, nhằm xác định hệ thống gồm những chức năng gì, các chức năng đó
liên hệ với nhau như thế nào? Ở mức này chưa quan tâm các chức năng đó do
ai làm, làm khi nào, làm ở đâu?
3.6.2 Một số thuật ngữ và khái niệm
a. Biến cố (sự kiện): một sự việc gây ra sự thay đổi trạng thái của hệ thống.
Một biến cố có thể xuất hiện bên trong hay bên ngoài hệ thống, tạo phản ứng
cho hệ thống thông qua một qui tắc quản lý nào đó. Một biến cố sau khi kích
hoạt một công việc thực hiện sẽ tạo một biến cố mới hay dữ liệu mới. Ví dụ,
biến cố "có độc giả mượn sách" sẽ kích hoạt sự hoạt động của hệ thống.
Có thể phân loại biến cố theo nhiều khía cạnh
Biến cố vào: biến cố tham gia vào việc kích hoạt một công việc nào đó
của hệ thống. Biến cố này còn gọi là biến cố khởi động. Ví dụ, biến cố "có
yêu cầu xuất kho"
Biến cố ra: biến cố được sinh ra sau một hoặc nhiều công việc của hệ
thống được thực hiện. Ví dụ, biến cố "đủ tư cách độc giả" sinh ra sau công
việc "Kiểm tra tư cách độc giả".
Biến cố trong: biến cố xảy ra bên trong hệ thống để các hệ thống trao
đổi thông tin cho nhau. Ví dụ, biến cố "có sách theo yêu cầu" xảy ra sau công
việc "Tìm sách", biến cố này sẽ được công việc "Cho mượn sách" sử dụng.
Biến cố ngoài: biến cố đến từ môi trường bên ngoài hệ thống. Ví dụ.
biến cố "có sách mới" đến từ "Nhà xuất bản"
Biến cố thời gian: biến cố gắn liền với thời gian, có tính chu kỳ. Ví dụ,
việc thông báo ĐTB cho SV vào cuối năm học.
b. Công việc: là một xử lý nhỏ nhất mà hệ thống thực hiện khi một biến cố
trong hệ thống xuất hiện. Thông thường một công việc chưa đủ để xác định
được một chức năng hoặc một nhiệm vụ của hệ thống. Ví dụ, công việc "Kiểm
tra hàng nhập về" chưa đủ điều kiện để thực hiện nhiệm vụ "nhập kho", bởi vì
84
nhiệm vụ này chỉ được hoàn tất sau khi các công việc kiểm tra và làm phiếu
nhập được thực hiện. Một công việc còn được gọi là một quy tắc quản lý. Sau
khi một công việc được thực hiện thì thông thường một trong hai trạng thái sẽ
xảy ra: thành công (OK) và không thành công (⌐OK). Hai trạng thái này sẽ
kèm theo các biến cố ra tương ứng.
c. Điểm đợi: một công việc được thực hiện phải được kích hoạt bởi một hay
nhiều biến cố. Các biến cố này có thể được sinh từ kết quả của những công
việc khác hoặc những biến cố đã có sẵn. Thời điểm để đợi các biến cố xảy ra
thì công việc mới thực hiện được gọi là điểm đợi. Các biến cố này kích hoạt
công việc theo hai chế độ:

• Chế độ AND: khi tất cả các biến cố tại điểm đợi cùng xảy ra thì công
việc mới được thực hiện.

• Chế độ OR: khi một trong các biến cố tại điểm đợi xảy ra thì công việc
mới được thực hiện.
Ví dụ: Biến cố "sách đã cho mượn" được thực hiện bởi công việc "CHO
MƯỢN SÁCH" nếu tại điểm đợi các biến cố xảy ra:

[(Độc giả yêu cầu) ∧ (Đủ tư cách độc giả) ∨ (có lệnh của GĐ)]∧(có sách)
Ký hiệu:

Biến cố 1 Biến cố 2 Biến cố 3

AND/OR

CÔNG VIỆC
⌐OK OK

Biến cố 4 Biến cố 5

85
Tổng quát, Ở mức tổ chức một hệ thống thông tin hoặc một chức năng của hệ
thống được mô tả như sau:

Biến cố vào
Biến cố vào
Biến cố vào

ĐIỂM ĐỢI

TÊN HỆ THỐNG
Lược đồ dữ Lược đồ dữ
liệu vào (trạng MÔ TẢ CÁC XỬ LÝ liệu ra (trạng
thái trước) thái mới)
Trạng Trạng Trạng
Thái 1 Thái 2 Thái n

Biến cố ra Biến cố ra

Biến cố ra

Biểu diễn một hệ thống


Một hệ thống có thể được phân rã thành các hệ thống con bằng cách chi tiết
các xử lý thành các công việc để cuối cùng mỗi công việc sau khi thực hiện sẽ
cho một trong hai trạng thái ⌐OK và OK. Hai trạng thái này sẽ cho các biến
cố ra khác nhau để làm biến cố vào cho các công việc tiếp theo.
Ví dụ, trong hệ thống thông tin “Quản lý kho hàng” Chức năng “Bán hàng”
sẽ bao gồm các công việc: kiểm tra tư cách khách hàng, kiểm tra hàng tồn
kho, viết phiếu xuất, thanh toán, xuất kho.
Chúng ta có thể phân rã một hệ thống lớn thành các hệ thống nhỏ hơn, hoặc
phân rã một chức năng thành các công việc.

86
Có khách
hàng mua

BÁN HÀNG
.SỐ PHIẾU . Kiểm tra kh hàng .SỐ PHIẾU
.NGÀY . Kiểm tra tồn kho .NGÀY
.LƯỢNG XUẤT .LƯỢNG XUẤT
. Thanh toán .TON=TON-XUẤT
. Viết phiếu xuất
. Xuất kho
⌐OK OK

Từ chối hàng đã xuất

Chức năng bán hàng khi chưa phân rã

87
Ví dụ: Chức năng bán hàng khi đã phân rã được mô tả như sau:

Có khách
hàng mua . Kiểm tra tồn kho
⌐OK OK
. Kiểm tra kh hàng
⌐OK OK Từ chối

Đủ tư cách
Từ chối khách hàng Đáp ứng được

. Thanh toán
OK

Đã thanh toán

. Viết phiếu xuất


OK
. Ghi thẻ kho
OK Phiếu xuất
đã viết

Trong thời gian


làm việc
Thẻ kho đã ghi
. Xuất kho
OK

Hàng đã xuất

Chức năng bán hàng khi đã phân rã

88
3.6.3 Mô hình quan niệm về xử lý
Là mô hình liên hoàn các biến cố và các công việc của hệ thống thông tin.
Khi mô tả mô hình quan niệm xử lý cần phải liệt kê thứ tự thực hiện các công
việc của hệ thống.
Ví dụ: Danh sách các công việc, theo thứ tự thực hiện của HTTT "Quản lý
tuyển sinh đại học":

1. Thông báo tuyển sinh 2. Nhận hồ sơ dự thi


3. Đánh SBD 4. Lập danh sách TS trong phòng thi
5. In Giấy báo thi 6. Gửi Giấy báo thi
7. Thi tuyển sinh 8. Làm phách
9. Chấm thi 10.Nhập điểm
11.Ráp phách 12.Thống kê điểm
13.Lập danh sách đề nghị xét tuyển 14.Xét tuyển
15.In giấy báo kết quả 16.Thông báo kết quả trúng tuyển

89
Mô hình quan niệm xử lý của hệ thống thông tin “Quản lý tuyển sinh ĐH”
Đầu năm Có chỉ
tiêu TS
Trong thời
hạn nhận HS
AND

Thbáo tuyển sinh


OK
Th báo
đã phát Nhận hồ sơ dự thi
⌐OK OK

Hồ sơ bị Danh
từ chối sách TS

Đánh SBD
OK
Danh sách
TS có SBD
Lập DSTS Phòng thi
OK Lịch thi

DSTS
phòng thi

In Giấy báo thi


OK
Giấy báo
thi đã in

Gửi Giấy báo thi


⌐OK OK Lịch thi

Giấy báo
thi đã nhận

Giấy báo thi


không người nhận
Thi tuyển sinh
⌐OK OK
DS thí sinh
vắng thi Bài thi

(1)

90
Bảng Hdẫn (1)
đánh số phách

Làm phách BT
⌐OK OK
Lịch chấm thi
Bài thi
bị loại
Bài thi đã làm
phách
Chấm thi TS
OK
Điểm thi
các môn
Nhập điểm thi
⌐OK OK
Điểm thi theo
số phách

Số phách Ráp phách BT


vắng thi OK

Kquả điểm
Thống kê điểm
⌐OK OK
Danh sách Kết quả thi
TS bị loại đã thống kê

Chỉ tiêu TS

Xét tuyển
⌐OK OK
Danh sách TS trúng tuyển
Danh sách
TS rớt

In Giấy báo kết quả


OK
Giấy báo
Gửi Giấy báo kết quả kết quả thi

OK
Giấy báo kết quả thi đã gửi

91
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 và mô hình tổ chức về xử lý.
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 mô tả theo giải pháp cơ sở dữ liệu và 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ệ có nhiều ưu điểm như: đơn giản, chặt chẻ, tính độc lập giữa dữ liệu
và 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 và 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á
là 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ả lý 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.
Đã có 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 lý thuyết cơ sở dữ liệu quan hệ
mà 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 là 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, di∈ Di. Người ta mô tả một quan hệ là 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ệ và 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à 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 là 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 là 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’ là 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 là 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 là tập các thuộc tính của một lược đồ quan hệ R, X và 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 và chỉ nếu: với mọi r là 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].

Ví 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.
Ví dụ:

Công nhân (1,1) (0,n) Xí nghiệp


thuộc
MaCN MaXN
Hten TenXN

Với quy tắc quản lý: "mỗi công nhân luôn thuộc về một xí nghiệp nào đó. Biết
được một công nhân thì sẽ biết được xí nghiệp". Ta có các phụ thuộc hàm:
MaCN → Hten MaXN → TenXN Công nhân → Xí nghiệp
Ví dụ 2: Xét mối quan hệ 4 chiều trong HTTT quản lý 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ó E1→E2

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ệ mà đầ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 lý 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 đã có 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ệ là 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 của tập thực thể; có thuộc tính và khóa là

71
thuộc tính và khóa của tập thực thể và có thể có thêm thuộc tính là khóa ngoại nếu
có.
Ví 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
Nhân viên (Mã NV , Họ NV, Tên NV, Ngày sinh)
- 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.
Ví 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 và Đơn vị có mối quan hệ Thuộc với cặp bản số (1,1) ----- (1,n)
như mô tả dưới đây.

Nhân viên (1,1) (1,n) Đơn vị


Thuộc
- Mã NV - Mã đơn vị
- Họ NV - Tên đơn vị
- Tên NV
- Ngày sinh

đượ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ị (Mã đơn vị, Tên đơ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í dụ 1: Một trường đại học cần quản lý cán bộ công chức theo 3 đối tượng: công
chức biên chế, cán bộ hợp đồng dài hạn và cán bộ hợp đồng ngắn hạn. Mỗi cán
bộ nhân viên được quản lý các thông tin: Mã nv, Họ tên, quê quán.

• Nếu là công chức biên chế thì quản lý thêm: Hệ số lương, phụ cấp, trình độ
chuyên môn (trung cấp, cao đẳng. đại học, thạc sĩ, tiến sĩ). Nếu là tiến sĩ thì
quản lý thêm: chuyên ngành đào tạo, ngày bảo vệ, nơi cấp bằng.

• Nếu là cán bộ hợp đồng dài hạn thì quản lý thêm: Số hợp đồng, Hệ số
lương.

• Nếu là cán bộ hợp đồng ngắn hạn thì quản lý: Số hợp đồng, lương thỏa
thuận. Tùy theo đối tượng, công ty có các cách tính tiền lương khác nhau.

Ví dụ 1: Với sơ đồ dưới đây sẽ được chuyển thành các quan hệ:

Bộ đội n 1 Nhân viên 1


ISA
n Đảng viên
ISA
- Ngày NN - Mã NV - Ngày VĐ
- Ngày XN - Họ NV - Ngày CT
(1,1) (1,1) - Tên NV
- Ngày sinh
BĐ-CB BĐ-BC
(1,n) (1,n)
Cấp bậc Binh chủng
- Mã CB - Mã BC
- Tên CB - 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)
Bộ đội (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)

73
Trong trường hợp một tập thực thể là 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Đ dài hạn Biên chế HĐ ngắn hạn


- Số HĐồng - HSL - Số HĐồng
- HSL - Phụ cấp - Lương
- Trình độ 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)
HĐ dài hạn (Mã NV, Số HĐồng, HSL )
HĐ ngắn hạn (Mã NV, Số HĐồng, Lương)
Tiến sĩ (Mã 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ệ.

Nhân viên (1,1) (1,n) Đơn vị


Ví dụ: - Mã NV
Thuộc
- Mã đơn vị
- Họ NV - Tên đơn vị
- Tên NV
- Ngày sinh

Chuyển thành:
Nhân viên (Mã NV , Họ NV,Tên NV, Ngày sinh, Mã đơn vị)
Đơn vị (Mã đơn vị, Tên đơn vị)
Mô tả dưới dạng bảng:

b. Mối quan hệ hai ngôi có 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ệ, có 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ó).
Ví dụ:
Nhân viên (1,1) Thuộc (1,n) Đơn vị
- Mã NV - Năm - Mã đơn vị
- Họ NV - Tên đơn vị
- Tên NV
- Ngày sinh

Được chuyển thành


Nhân viên (Mã NV , Họ NV,Tên NV, Ngày sinh)
Đơn vị (Mã đơn vị, Tên đơn vị)
Thuộc (Mã NV, Mã đơn vị, Năm)
Mô tả dưới dạng bảng:

75
1
1
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’.
Ví dụ:
Trưởng khoa (1,1) Lãnh đạo (1,1) Khoa
HTen Số năm MãKhoa
Địa chỉ Tênkhoa
SĐT

Đượ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ỉ có 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 vì 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 thể nà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.
Ví dụ: Nam (0,1) Nữ
(0,1) Kết hôn
Mãnam Ngày Mãnữ
HTên nam HTên nữ
Địa chỉ SĐT

Đượ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ệ có 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 là 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ó (nếu có).
Ví dụ 1:
Giáo viên (1,n) Dạy (1,n) Sinh viên
Mã GV Mã SV
Họ Tên Họ Tên
Trình độ Lớp

Mối quan hệ Dạy được chuyển thành một quan hệ sau:


Dạy(Mã GV, Mã SV)
Mô tả dưới dạng bảng:

1
1

Ví dụ 2:
Phiếu xuất kho (1,n) Chứa (0,n) Hàng
-Số phiếu -Số lượng -Mã hàng
-Ngày -Tên hà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)
Mô 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ể.

NHÂN VIÊN (0,n)


-Mã NV
Quản lý
-Tên NV
-NSinh (1,1)

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, Mã 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 Mã 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 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ể; có thuộc tính là các thuộc tính riêng của mối quan hệ.
Ví 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)

Ví dụ:
(0,1)

Công chức
Vợ chồng
-Mã CC Ngày cưới
-Tên CC

(1,n)

Mối quan hệ Vợ chồng được chuyển thành quan hệ:


Vợ chồng (Mã CC, Mã vợchồng, Ngày cưới), trong đó giá trị của Mã 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 rõ 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, ký hiệu quy ước và các thuật toán tựa Pascal.
Các quan hệ thu được 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ị, và chuyển đổi mối quan hệ is-a.
Trước tiên, ta quy ước một số ký hiệ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 và 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 là 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 ký hiệu: FK ≅ PKR. Tên
các thuộc tính có trong FK có 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 bộ t thuộc R chỉ có thể là null hoặc bằng giá trị
của PKR’ tạ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 và 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ị
và 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 là 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. DB:= ∅;
2. for mỗi tập thực thể mạnh E trong ER do
3. Tạo ra một quan hệ R với UR = ΩE;
4. Chọn PKR = k, với k ∈ KE;
5. DB := DB ∪ {R};
6. 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: Các quan hệ thuộc DB kèm khoá chính, khoá ngoài tương ứng với
mỗi quan hệ

Method:
1. for mỗi mối quan hệ R là quan hệ 1-1 trong ER do
2. Xác định các tập thực thể E và E’ tham gia vào mối quan hệ R;
3. 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’;
4. if min(E; R) = 0 and min(E’; R) = 0 then
5. Tạo ra một quan hệ mới T với UT = ΩR ∪ F ∪ F’ trong đó
F ∈ FKT: F ≅ PKS và F’ ∈ FKT: F’ ≅ PKS’;
6. Chọn PKT = F hoặc F’;
7. Chọn FKT = {F, F’};
8. DB := DB ∪ {T};
9. endif;

82
10. if min(E; R) = 1 then
11. US:= US ∪ ΩR ∪ F, với F ∈ FKS: F ≅ PKS’;
12. FKS := FKS ∪ {F};
13. else (*khi đó: min(E’; R) = 1*)
14. US’:= US’ ∪ ΩR ∪ F’, với F’ ∈ FKT: F’ ≅ PKS;
15. FKS’ := FKS’ ∪ {F’};
16. 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: Các quan hệ thuộc DB kèm khoá chính, khoá ngoài tương ứng với
mỗi quan hệ

Method:
1. for mỗi mối quan hệ R là quan hệ 1-nhiều trong ER do
2. Xác định các tập thực thể E (“phía nhiều”) và E’ (“phía 1”) tham
gia vào mối quan hệ R;
3. 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’;
4. if min(E; R) = 0 then
5. Tạo ra một quan hệ mới T với UT = ΩR ∪ F ∪ F’ trong đó
F ∈ FKT: F ≅ PKS và F’ ∈ FKT: F’ ≅ PKS’ ;
6. Chọn PKT = F’
7. Chọn FKT = {F, F’};
8. DB := DB ∪ {T};
9. else
10. US:= US ∪ ΩR ∪ F, với F ∈ FKS: F ≅ PKS’;
11. FKS := FKS ∪ {F};
12. 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. for mỗi mối quan hệ R là quan hệ nhiều-nhiều trong ER do
2. Xác định các quan hệ S và S’ tươ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 ∪ F’ với
F ∈ FKT: F ≅ PKS và F’ ∈ FKT: F’ ≅ PKS’;
4. Chọn PKT = F ∪ F’;
5. Chọn FKT = {F, F’};
6. DB := DB ∪ {T};
7. 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 là 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 và 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 là 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. Và nếu
mối quan hệ phản xạ R là 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 thể E có 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 E′ và tất cả các thuộc tính có
trong E′ thì 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ì vậy, E còn được gọi là một lớp con của E′,
hay E′ là lớ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 có 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 và S’ tương ứng với các tập thực thể E và 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. for mỗi mối quan hệ “E is-a E′” trong ER do
2. 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’;
3. US := US ∪ F , với F ∈ FKS: F ≡ PKS’ ;
4. PKS := F;
5. FKS := FKS ∪ {F};
6. endfor;
Lưu ý rằng, trên thực tế có 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 là 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 tự nhiê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ử lý 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 có 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.
Ví 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 kho Mãkhách
Tên NCC Đch ỉkho Tên khách
Đchỉ NCC Đ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 (1,n) (1,n)


Hàng (0,n) (1,n) PH XUẤT
Gồm hàng_N Gồm hàng_X

Số phiếu N SL nhập Mã hàng SL_xuất


Số phiếu_X
Ngày nhập Tên hàng Ngàyxuất
Đơn vị
Đơ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 (Mã NCC, Tên NCC, Đchỉ NCC)

Kho (Tên kho, Đchỉ kho)

Khhàng (Mã khách, Tên khách, Đchỉ khách)

Phiếu nhập (Số phiếu_N, Ngày nhập, Mã NCC)

Phiếu xuất (Sốphiếu_X, Ngày xuất, Mãkhách)

Hàng (Mãhàng, Tênhàng, Đơnvị, Đơngiá, Tên kho)

86
Gồm hàng_N (Sốphiếu_N, Mãhàng, SL_nhập)

Gồm hàng_X (Sốphiếu_X, Mãhàng, SL_xuất)

Chứa (Tồn kho, Tên kho, Mã hàng)

1 1
1

n
n
n n

1
1
1

n n

Ví dụ 2: Mô hình tổ chức dữ liệu của HTTT "Quản lý Công chức"


TỈNH (MÃ TỈNH, TÊN TỈNH)
HUYỆN (MÃ HUYỆN, TÊNHUYỆN, MÃ TỈNH)
ĐƯỜNG (MÃ ĐƯỜ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)
CƠ QUAN (MÃ CQ, TÊN CQ)

87
VỢ CHỒNG (MÃ CC, MÃ V-C, NSINH V-C, MÃ CV, MÃ CQ, MÃ NGHỀ)
NGHỀ (MÃ NGHỀ, TÊN NGHỀ)
CON (MÃ CON, NSINH CON, MÃ CC, MÃ NGHỀ)
BLƯƠNG (MÃ BL, HSL, MÃ NGẠCH)
NGẠCH (MÃ NGẠCH, TÊN NGẠCH, TLL )
NƯỚC (MÃ NƯỚC, TÊN NƯỚC)
ĐẢNG VIÊN (MÃ CC, NGÀY VĐ, NGÀY CT, MÃ TỈNH)
LHĐT (MÃ LHĐT, TÊN LHĐT)
NG NGỮ (MÃ NN, TÊN NN)
DÂN TỘC (MÃ DT, TÊN DT)
TÔN GIÁO (MÃ TG, TÊN TG)
VĂN HÓA (MÃ TĐVH, TÊN TĐVH)
ĐƠN VỊ (MÃ ĐV, TÊN ĐV)
CÔNG CHỨC (MÃ CC, HTÊN CC, GTÍNH, NSINH, SỐ NHÀ, ĐOÀN VIÊN,NGÀY
VÀO CQ, NGÀY BCHẾ, TÊN CHA, TÊN MẸ, MÃ ĐV, MÃ NGẠCH, MÃ LHĐT, MÃ
HUYỆN, MÃ ĐƯỜNG, MÃ DT, MÃ BL, MÃ CV CHA, MÃ CV MẸ, MÃ NGHỀ CHA,
MÃ NGHỀ MẸ, MÃ TG, MÃ TĐVH)

NGHỈ PHÉP (MÃ CC, MÃ TỈNH, NGÀY BD, NGÀY KT )


ANH EM (MÃ ANH, MÃ EM)
QTL (MÃ CC, MÃ BL, NGÀY )
CC-ĐNN (MÃ CC, MÃ NƯỚC, NGÀY ĐI, NGÀY VỀ, LÝ DO)
CC-NN (MÃ CC, MÃ NN, CẤP ĐỘ)

4.3 Chuẩn hoá và kiểm tra lại mô hình ER


4.3.1 Mục đích của chuẩn hóa
Chuẩn hóa dữ liệu là một quá trình chuyển một cấu trúc dữ liệu phức hợp thành
các cấu trúc dữ liệu đơn giản, rõ ràng và nhằm các mục đích sau:

88
• Tối ưu hóa lưu trữ

• Tránh dư thừa dữ liệu

• Thông tin nhất quán

• Đảm bảo các phụ thuộc dữ liệu theo đúng mô hình mà vẫn không làm tổn
thất thông tin.

4.3.2 Định nghĩa các dạng chuẩn

Dạng chuẩn 1 (1NF):

Lược đồ quan hệ R với tập phụ thuộc hàm F xác định trên R được gọi là ở
dạng chuẩn 1 nếu mọi thuộc tính của nó là thuộc tính đơn (các thuộc tính không
có nhu cầu phân rã trong các xử lý- không phải thuộc tính lặp hoặc thuộc tính
phức hợp).

Ví dụ: Lược đồ quan hệ NHANVIEN (MANV, HLOT, TEN, HSL) là ở dạng


chuẩn 1 vì các thuộc tính của nó là các thuộc tính đơn.

Dạng chuẩn 2 (2NF):

Lược đồ quan hệ R với tập phụ thuộc hàm F xác định trên R được gọi là ở
dạng chuẩn 2 nếu nó là dạng chuẩn 1 và mọi thuộc tính không khoá phải phụ
thuộc hàm đầy đủ vào khoá chính.

Dạng chuẩn 3 (3NF):

Phụ thuộc hàm bắc cầu: cho lược đồ quan hệ R và tập phụ thuộc hàm F
xác định trên R; X, Y ⊆R, A∈R. Nếu ta có: X Æ Y , Y ⌐ Æ X, Y ÆA và
A∉XY thì ta nói A phụ thuộc hàm bắc cầu vào X. A được gọi là thuộc tính phụ
thuộc bắc cầu, Y là các thuộc tính cầu.

Định nghĩa 1: Lược đồ quan hệ R với tập phụ thuộc hàm F xác định trên
R được gọi là ở dạng chuẩn 3 nếu nó là dạng chuẩn 2 và không tồn tại thuộc
tính không khoá phụ thuộc hàm bắc cầu vào khoá.

89
Định nghĩa 2: Lược đồ quan hệ R với tập phụ thuộc hàm F xác định trên
R được gọi là ở dạng chuẩn 3 nếu mọi phụ thuộc hàm XÆA, A∉X đúng trong
R thì X phải là siêu khóa hoặc A là thuộc tính khóa.

4.3.3 Chuẩn hoá các lược đồ quan hệ

Chuẩn hoá là sự phân tách một lược đồ quan hệ có cấu trúc dữ liệu phức
tạp thành các lược đồ quan hệ con ở một dạng chuẩn quy ước nào đó, thông
thường là dạng chuẩn 3. Trong thực tế, ngay từ lúc ban đầu trong khi thiết kế dữ
liệu người phân tích thường gộp tất cả các thuộc tính để hình thành các lược đồ
quan hệ theo ý chủ quan của mình. Các lược đồ như thế thường chưa được
chuẩn hoá nên thường mắc phải những khiếm khuyết như đã nêu ở trên.

a. Trường hợp quan hệ chưa là 1NF:

Khi một lược đồ quan hệ không là 1NF thì nó có chứa thuộc tính lặp. Khi
đó ta tách lược đồ quan hệ thành hai lược đồ quan hệ con:

♦ Lược đồ quan hệ 1: gồm các thuộc tính lặp và khoá chính xác định chúng.

♦ Lược đồ quan hệ 2: gồm các thuộc tính còn lại (đơn) và khoá chính.

b. Trường hợp lược đồ quan hệ chưa là 2NF

Khi một lược đồ quan hệ là 1NF nhưng không là 2NF thì trong lược đồ
quan hệ sẽ tồn tại thuộc tính không khoá phụ thuộc không đầy đủ vào khoá
chính. Khi đó ta tách lược đồ quan hệ thành hai lược đồ quan hệ con:

♦ Lược đồ quan hệ 1: gồm các thuộc tính phụ thuộc không đầy đủ vào khoá
chính và phần khoá bị phụ thuộc

♦ Lược đồ quan hệ 2: gồm các thuộc tính còn lại và khoá chính.

c. Trường hợp lược đồ quan hệ chưa là 3NF

Khi một lược đồ quan hệ là 2NF nhưng không là 3NF thì sẽ tồn tại phụ
thuộc hàm bắc cầu trong lược đồ quan hệ. Khi đó ta tách lược đồ quan hệ thành
hai lược đồ quan hệ con:

90
♦ Lược đồ quan hệ 1: gồm các thuộc tính phụ thuộc bắc cầu và thuộc tính
cầu.

♦ Lược đồ quan hệ 2: gồm các thuộc tính còn lại và thuộc tính cầu.

Sơ đồ chuẩn hoá

Quá trình chuẩn hoá có thể mô tả bằng sơ đồ dưới đây.

Quan hệ với các


thuộc tính lặp

Tách các thuộc tính


lặp

Chuẩn hoá thành


1NF

Tách các phụ thuộc


hàm bộ phận

Chuẩn hoá thành


2NF

Tách các phụ thuộc


hàm bắc cầu

Chuẩn hoá thành


3NF

91
4.3.4 Một số ví dụ về chuẩn hoá

Ví dụ 1: Một Công ty sử dụng hai loại chứng từ sau đây để theo dõi các hoạt
động kinh doanh của mình.

Sở Tài chính Vật giá Số hoá đơn: A99999999


Công ty X
ĐƠN ĐẶT HÀNG
Người đặt hàng: (27 ký tự . . . . . . . . . . . . . . . . . . )
Địa chỉ: (45 ký tự . . . . . . . . . . . . . . . . . . )
Ngày đặt hàng: dd/mm/yyyy

Stt Tên hàng Mô tả hàng Đvị tính Số lượng


xx C(15) C(30) C(10) xxxxxx
..... ............................ ................................ .................. ......................

Sở Tài chính Vật giá Số phiếu: A99999


Công ty X
PHIẾU GIAO HÀNG
Tên khách hàng: (27 ký tự . . . . . . . . . . . . . . . . . . )
Địa chỉ: (45 ký tự . . . . . . . . . . . . . . . . . . )
Nơi giao hàng: (45 ký tự . . . . . . . . . . . . . . . . . . )
Ngày giao hàng: dd/mm/yyyy

STT Tên hàng Đvị tính Đơn giá Slượng Thành tiền
xx C(15) C(10) N(5,0) N(4,0) N(10,0)
..... .......................... ............... ............... .............. ....................

Hãy thiết kế cơ sở dữ liệu (mô hình tổ chức về dữ liệu) từ các tài liệu trên
để quản lý các hoạt động kinh doanh của công ty. Chú ý rằng dữ liệu phải được
chuẩn hoá ở dạng chuẩn 3.

92
Giải quyết vấn đề

a. Xác định các tập thực thể, thuộc tính và thuộc tính định danh:
Cần trả lời các câu hỏi đã nói ở 3.4: Đối tượng nào có thể làm tập thực
thể? Yếu tố thông tin gì có thể làm thuộc tính cho một tập thực thể?

Có hai tập thực thể được xác định từ Đơn đặt hàng và Phiếu giao hàng là:
KHÁCH và HÀNG.

ƒ Tập thực thể KHÁCH có hai thuộc tính là: Tên khách và Địa chỉ khách.
Cả hai thuộc tính này đều không thể dùng làm định danh cho tập thực thể,
nên phải bổ sung thêm thuộc tính Mã khách để làm định danh.

ƒ Tập thực thể HÀNG có ba thuộc tính là: Tên hàng, Đơn vị tính và Mô tả
hàng. Cả ba thuộc tính này cũng không thể làm định danh nên phải áp đặt
thuộc tính Mã hàng để làm định danh cho tập thực thể.

b. Xác định các mối quan hệ giữa các tập thực thể

Có thể tìm tấy hai động từ trong các hoạt động của hệ thống đó là: Đặt
hàng và Giao hàng. Để xác định các tập thực thể và thuộc tính cho mối quan hệ
ta đặt các câu hỏi chung quanh động từ đó:

ƒ Cái gì được Đặt hàng (hoặc Giao hàng)? HÀNG

ƒ Ai Đặt hàng (hoặc Giao hàng)? KHÁCH

ƒ Đặt hàng (hoặc Giao hàng) như thế nào? bằng đơn hàng thể
hiện qua Số hoá đơn

ƒ Đặt hàng (hoặc Giao hàng) bao nhiêu? Số lượng đặt (giao)

và đơn giá

ƒ Đặt hàng (hoặc Giao hàng) khi nào? Ngày đặt (Giao)

ƒ Đặt hàng (hoặc Giao hàng) ở đâu? Nơi giao

Từ đó ta có, hai mối quan hệ với các thuộc tính như sau:

93
ƒ Mối quan hệ Đặt giữa hai tập thực thể KHÁCH và HÀNG với các thuộc
tính: Số hoá đơn, Ngày đặt, Số lượng đặt.

ƒ Mối quan hệ Giao giữa hai tập thực thể HÀNG và KHÁCH với các thuộc
tính: Số phiếu giao, Nơi giao, Ngày giao, Số lượng giao, đơn giá hàng
giao

c. Xây dựng mô hình thực thể - mối quan hệ (ER)

Đặt
KHÁCH (1,n)
Số hoá đơn (1,n) HÀNG
Ngày đặt hàng
Số lượng đặt
Mã khách (1,n) (1,n) Mã hàng
Tên khách Tên hàng
Địa chỉ Đơn vị
Giao Mô tả hàng
Số phiếu giao
Nơi giao
Ngày giao
Số lượng giao
Đơn giá hàng giao

d. Chuyển từ mô hình ER sang mô hình quan hệ


KHÁCH (Mã khách,Tên khách, Địa chỉ)
HÀNG (Mã hàng, Tên hàng, Đơn vị, Mô tả hàng)
Đặt (Số hoá đơn, Mã khách, Mã hàng, Ngày đặt hàng, Số lượng đặt)
Giao (Số phiếu giao, Mã khách, Mã hàng, Nơi giao, Ngày giao, Số lượng giao,
Đơn giá hàng)

e. Chuẩn hoá các lược đồ quan hệ nhận được thành 3NF

Để chuẩn hoá các lược đồ quan hệ có được chúng ta có thể xác định các
phụ thuộc hàm và sử dụng Lý thuyết chuẩn hoá cơ sở dữ liệu để tách các lược
đồ quan hệ thành các lược đồ con ở dạng chuẩn 3. Chúng ta cũng có thể chuẩn
hoá bằng cách phân rã dần một lược đồ quan hệ thành các các lược đồ con 1NF,
2NF, 3NF theo như cách dưới đây:

94
ƒ Chuẩn hoá dữ liệu từ ĐƠN ĐẶT HÀNG
0NF 1NF 2NF 3NF
Số hoá đơn Số hoá đơn Số hoá đơn Số hoá đơn
Mã khách Mã khách Mã khách Ngày đặt hàng
Tên khách Tên khách Tên khách Mã khách
Địa chỉ Địa chỉ Địa chỉ
Ngày đặt hàng Ngày đặt hàng Ngày đặt hàng Mã khách
Mã hàng(lặp) Tên khách
Tên hàng(lặp) Số hoá đơn Số hoá đơn Địa chỉ
Mô tả hàng(lặp) Mã hàng Mã hàng
Đơn vị tính(lặp) Tên hàng Số lượngđặt Số hoá đơn
Số lượngđặt (lặp) Mô tả hàng Mã hàng
Đơn vị tính Mã hàng Số lượngđặt
Số lượngđặt Tên hàng
Mô tả hàng Mã hàng
Đơn vị tính Tên hàng
Mô tả hàng
Đơn vị tính

ƒ Chuẩn hoá dữ liệu từ PHIẾU GIAO HÀNG


0NF 1NF 2NF 3NF
Số phiếu Số phiếu Số phiếu Số phiếu
Nơi giao hàng Nơi giao hàng Nơi giao hàng Nơi giao hàng
Ngày giao hàng Ngày giao hàng Ngày giao hàng Ngày giao hàng
Mã khách Mã khách Mã khách Mã khách
Tên khách hàng Tên khách hàng Tên khách hàng
Địa chỉ Địa chỉ Địa chỉ Mã khách
Mã hàng(lặp) Tên khách hàng
Tên hàng(lặp) Số phiếu Số phiếu Địa chỉ

95
Đơn vị tính(lặp) Mã hàng Mã hàng
Đơn giá Tên hàng Slượng giao Số phiếu
Slượng giao (lặp) Đơn vị tính Mã hàng
Đơn giá Mã hàng Slượng giao
Slượng giao Tên hàng Đơn giá
Đơn vị tính
Đơn giá Mã hàng
Tên hàng
Đơn vị tính

KHÁCH (Mã khách,Tên khách,Địa chỉ)


ĐƠN HÀNG (Số hoá đơn, Ngày đặt hàng, Mã khách)
DÒNG ĐƠN HÀNG (Số hoá đơn, Mã hàng, Số lượngđặt)
PHIẾU GIAO HÀNG (Số phiếu, Nơi giao hàng, Ngày giao hàng, Mã khách)
DÒNG PHIẾU (Số phiếu, Mã hàng, Slượng giao, Đơn giá)
HÀNG (Mã hàng, Tên hàng, Đơn vị tính)
Từ các kết quả chuẩn hoá, chúng ta có được mô hình dữ liệu quan hệ như sau:

1 1 1 n
n
n

1 n
n 1 1

96
Ví dụ 2: Chuẩn hoá một chứng từ xuất trong bài toán “Quản lý kho hàng”

HOÁ ĐƠN
(Kiêm phiếu xuất kho)
số phiếu:________

Họ tên người mua hàng: Nguyễn văn Nam Số CMND:


1209234567
Tên đại lý: Hoa hồng
Địa chỉ: 45 Trần Hưng Đạo
Mục đích: buôn bán

MẪHÀN TÊNHÀNG ĐVỊTÍNH SÔ LƯỢNG ĐƠN GIÁ THTIỀN


G
A01 Đường trắng Kg 200 5000 1000000
B02 Bột mì Kg 50 6000 300000

Tổng cộng số tiền:


Bằng chữ:__________________________________________________
Huế, ngày tháng năm 200

0NF 1NF 2NF 3NF


SỐPHIẾUXUẤT SỐPHIẾUXUẤT SỐPHIẾUXUẤT SỐPHIẾUXUẤT
NGÀY NGÀY NGÀY NGÀY
NGƯỜI MUA NGƯỜI MUA NGƯỜI MUA MỤCĐÍCH
ĐẠILÝ ĐẠILÝ ĐẠILÝ SỐCMND
SỐCMND SỐCMND SỐCMND
ĐỊACHỈ ĐỊACHỈ ĐỊACHỈ NGƯỜI MUA
MỤCĐÍCH MỤCĐÍCH MỤCĐÍCH ĐẠILÝ
TÊNHÀNG (lặp) SỐCMND
MẪHÀNG (lặp) SỐPHIẾUXUẤT SỐPHIẾUXUẤT ĐỊACHỈ
ĐƠNVỊ (lặp) TÊNHÀNG MẪHÀNG
ĐƠNGIÁ (lặp) MẪHÀNG SỐLƯỢNG SỐPHIẾUXUẤT

97
SỐLƯỢNG (lặp) ĐƠNVỊ MẪHÀNG
ĐƠNGIÁ MẪHÀNG SỐLƯỢNG
SỐLƯỢNG TÊNHÀNG
ĐƠNVỊ MẪHÀNG
ĐƠNGIÁ TÊNHÀNG
ĐƠNVỊ
ĐƠNGIÁ

Ví dụ 3: Chuẩn hoá một chứng từ nhập trong bài toán “Quản lý kho hàng”

Công ty Hải Hà PHIẾU NHẬP KHO Ngày .....

Kho Nguyên liệu Số phiếu: 015

Họ tên người giao: Tô thị Đẹp Địa chỉ: 16 Phan Đình Phùng
Đơn vị: Công ty Nông sản thực phẩm Tỉnh TT Huế
Theo Hợp đồng số: 1234/KT Ngày 12/10/2004
Stt Tên hàng Mã hàng Đơn vị Đơn giá Số lượng Thànhtiền

1 Đường RE C09 Kg 5000 12000 60000000

2 Bột mì Pháp B14 Kg 2500 5000 12500000

3 Sữa Hà lan B16 Lit 8000 1500 12000000

... ... ... ... ...

Tổng cộng: 84500000


Người giao Người kiểm tra Thủ kho Thủ trưởng

98
0NF 1NF 2NF 3NF
SỐPHIẾUNHẬP SỐPHIẾUNHẬP SỐPHIẾUNHẬP SỐPHIẾUNHẬP
MÃSỐ_NCC MÃSỐ_NCC MÃSỐ_NCC MÃSỐ_NCC
TÊN_NCC TÊN_NCC TÊN_NCC NGÀY
ĐỊACHỈ_NCC ĐỊACHỈ_NCC ĐỊACHỈ_NCC
NGÀY NGÀY NGÀY MÃSỐ_NCC
TÊNHÀNG (lặp) TÊN_NCC
MẪHÀNG (lặp) SỐPHIẾUNHẬP SỐPHIẾUNHẬP ĐỊACHỈ_NCC
ĐƠNVỊTÍNH (lặp) TÊNHÀNG MẪHÀNG
ĐƠNGIÁ (lặp) MẪHÀNG SỐLƯỢNG SỐPHIẾUNHẬP
SỐLƯỢNG (lặp) ĐƠNVỊTÍNH MẪHÀNG
ĐƠNGIÁ TÊNHÀNG SỐLƯỢNG
SỐLƯỢNG MẪHÀNG
ĐƠNVỊTÍNH TÊNHÀNG
ĐƠNGIÁ MẪHÀNG
ĐƠNVỊTÍNH
ĐƠNGIÁ

Ví dụ 3: Phân tích thiết kế hệ thống thông tin "Quản lý thư viện trường ĐHKH
Huế"
Nghiên cứu hiện trạng
Thư viện trường ĐHKH Huế quản lý khoảng 800.000 đầu sách và tạp chí,
phục vụ cho học sinh, sinh viên của trường. Sinh viên có thể mượn sách đọc tại
chổ hoặc về nhà. Để phục vụ độc giả nhanh, gọn và chính xác, thư viện cần tin
học hóa công việc quản lý danh mục sách và quản lý độc giả của mình. Việc
phân cấp quản lý của thư viện theo từng bộ phận như sau:
Giám đốc thư viện: điều hành chung toàn bộ các công tác trong thư viện.
Thủ thư: có trách nhiệm cập nhật thêm sách báo và quản lý độc giả của mình.
Hủy bỏ các sách đến thời điểm được thanh lý khỏi danh mục, sắp xếp sách
trong phòng chứa sách theo từng khu vực, kệ sách sao cho có thể dễ dàng tìm

99
kiếm khi có độc giả mượn. Ngoài ra định kỳ thủ thư còn phải lập báo cáo thống
kê tình hình mượn sách, thống kê độc giả, từ đó xác định được các sách, chủ đề
sách được nhiều độc giả sử dụng, để rồi có kế hoạch bổ sung sách mới một cách
hợp lý.
Bộ phận phục vụ độc giả: có trách nhiệm cấp thẻ độc giả, lập các phiếu mượn
sách, trả sách, kiểm tra tư cách độc giả, in phiếu đòi sách cho những độc giả trể
hạn, hủy bỏ các độc giả đã quá hạn đăng ký.
Các nhiệm vụ của hệ thống:
Thư viện trường ĐHKH Huế gồm 4 nhiệm vụ chính:

• Quản lý sách: bao gồm nhập sách, hủy sách khỏi danh mục.

• Quản lý độc giả: cấp hoặc hủy thẻ độc giả

• Quản lý việc mượn trả sách: tra cứu, cho mượn sách, nhận lại sách trả, đòi
sách trể hạn, kiểm tra tư cách độc giả.

• Báo cáo thông kê: thống kê sách, thống kê độc giả và tình hình mượn sách.
a. Chuẩn hoá dữ liệu từ Thẻ quản lý sách:

THẺ QUẢN LÝ SÁCH


Mã số sách: . . . . . . . . . .
Nhan đề: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Tập: . . . . . . .
Số trang: . . . . . . . . . . . . . Số lượng: . . . . . . . . . . Năm xuất bản: . . . . . .
Mã ngôn ngữ: . . . . . . . . . Ngôn ngữ: . . . . . . . . . . Mã NXB: . . . . . . . . . .
Nhà xuất bản: . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mã phân loại: . . . . . . .
Phân loại: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mã tác giả: . . . . . . . . .
Tác giả: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mã vị trí: . . . . . . . . Khu vực: . . . . . . .Kệ: . . . . . .. Ngăn: . . . . . . . . . . . . .

0NF 1NF 2NF 3NF


Mã số sách Mã số sách Mã số sách Mã số sách
Nhan đề Nhan đề Nhan đề Nhan đề
Số trang Số trang Số trang Số trang

100
Số lượng Số lượng Số lượng Số lượng
Năm xuất bản Năm xuất bản Năm xuất bản Năm xuất bản
Mã ngôn ngữ Mã ngôn ngữ Mã ngôn ngữ Mã ngôn ngữ
Ngôn ngữ Ngôn ngữ Mã phân loại Mã phân loại
Mã phân loại Mã phân loại Mã phân loại Mã phân loại
Phân loại Phân loại Mã nhóm sách Mã nhóm sách
Mã nhóm sách Mã nhóm sách Mã tác giả Mã tác giả
Nhóm sách Nhóm sách Mã NXB Mã NXB
Mã tác giả Mã tác giả Mã vị trí Mã vị trí
Tác giả Tác giả Lần XB Lần XB
Địa chỉ tác giả Địa chỉ tác giả Ngày nhập Ngày nhập
SĐT tác giả SĐT tác giả Số lần mượn Số lần mượn
Mã NXB Mã NXB
NXB NXB Mã ngôn ngữ Mã ngôn ngữ
Năm XB Năm XB Ngôn ngữ Ngôn ngữ
Địa chỉ NXB Địa chỉ NXB
SĐT NXB SĐT NXB Mã phân loại Mã phân loại
Mã vị trí Mã vị trí Phân loại Phân loại
Khu vực Khu vực
Kệ Kệ Mã nhóm sách Mã nhóm sách
Ngăn Ngăn Mã phân loại Mã phân loại
Lần XB Lần XB Nhóm sách Nhóm sách
Ngày nhập Ngày nhập
Số lần mượn Số lần mượn Mã tác giả Mã tác giả
Tác giả Tác giả
Địa chỉ tác giả Địa chỉ tác giả
SĐT tác giả SĐT tác giả

Mã NXB Mã NXB
NXB NXB
Năm XB Năm XB

101
Địa chỉ NXB Địa chỉ NXB
SĐT NXB SĐT NXB

Mã vị trí Mã vị trí
Khu vực Khu vực
Kệ Kệ
Ngăn Ngăn

c. Chuẩn hoá dữ liệu từ Thẻ độc giả:

THẺ ĐỘC GIẢ


Số thẻ: . . . .
Họ tên:. . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . .
Khoa: . . . . . . . . . . . . . . . Lớp: . . . . . . . . . . . . . . . . . ..
Địa chỉ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Ngày. . .tháng. . ..năm . . . .

d. Chuẩn hoá dữ liệu từ Phiếu mượn sách

PHIẾU MƯỢN SÁCH

Số thẻ:. . . . . . . . . . . Số phiếu mượn. . . . . . . . .


Họ và tên: . . . . . . . . . . . . . . . . . . . . . . . .
Đơn vị: . . . . . . . . . . Địa chỉ: . . . . . . . . . . . . . . . . . . . . . . . . . . .

[ ] Mượn về nhà
[ ] Đọc tại chổ

Stt Mã số sách Tên sách Tác giả Mã loại


1
2
...

Huế, Ngày. . .tháng. . ..năm 200...

102
0NF 1NF 2NF 3NF
Mã phiếu mượn Mã phiếu mượn Mã số độc giả Mã số độc giả
Mã số độc giả Ngày mượn Ngày mượn Tên độc giả
Tên độc giả Hình thức mượn Hình thức mượn Khoa
Khoa Mã số độc giả Mã số độc giả Lớp
Lớp Tên độc giả Tên độc giả Địa chỉ
Địa chỉ Khoa Khoa SĐT
SĐT Lớp Lớp
Mã số sách (lặp) Địa chỉ Địa chỉ
Tên sách (lặp) SĐT SĐT
Tác giả (lặp)
Mã phiếu mượn Mã phiếu mượn
Mã loạisách (lặp)
Mã số sách Mã số sách
Mã phân loại(lặp)
Tên sách Tên sách
Phân loại (lặp)
Tác giả Tác giả
Hình thức mượn
Mã loạisách Mã phân loại
Ngày mượn
Mã phân loại Phân loại
Phân loại

4.4 Ràng buộc toàn vẹn


Ràng buộc toàn vẹn trong một cơ sở dữ liệu là một quy luật bất biến mà
tất cả các quan hệ trong cơ sở dữ liệu ấy phải tuân theo. Ràng buộc toàn vẹn
thường được mô tả bằng một tân từ.
Một cơ sở dữ liệu có thể có nhiều ràng buộc toàn vẹn khác nhau, mỗi
ràng buộc toàn vẹn liên quan đến một số quan hệ của cơ sở dữ liệu. Tập các
ràng buộc toàn vẹn này do người thiết kế cơ sở dữ liệu đặt ra khi thiết kế hệ
thống hoặc do hệ quản trị cơ sở dữ liệu quy định. Tuỳ theo tính chất, ràng buộc
toàn vẹn được phân thành nhiều loại khác nhau.
a. Ràng buộc toàn vẹn trên thuộc tính

103
. Ràng buộc nội tại: ràng buộc này đòi hỏi giá trị của các bộ của quan hệ
tại thuộc tính bị ràng buộc phải được xác định (NOT NULL). Ví dụ, thuộc tính
HỌTÊN trong quan hệ NHÂNVIÊN phải được xác định trong tất cả các bộ của
quan hệ. Khoá cũng là một trường hợp của loại ràng buộc này.
. Ràng buộc về miền giá trị của thuộc tính: ràng buộc này yêu cầu giá trị
thuộc tính của quan hệ phải thuộc một miền cho phép nào đó.
Ví dụ: - Thuộc tính ĐIỂMTBÌNH trong quan hệ SINHVIÊN có ràng buộc toàn
vẹn là: 0 ≤ ĐIỂMTBÌNH ≤ 10.
- Thuộc tính TĐỘNGNGỮ trong quan hệ NHÂNVIÊN có ràng buộc:
các giá trị có thể có của thuộc tính này phải ở trong danh sách (A, B, C, cử
nhân, thạc sĩ, tiến sĩ).
. Ràng buộc về giá trị mặc định: loại ràng buộc được chỉ định giá trị cụ
thể cho một thuộc tính. Ví dụ, thuộc tính GIỚITÍNH có giá trị mặc định là T;
NGÀYHOÁĐƠN có giá trị mặc định là ngày hiện tại.
b. Ràng buộc toàn vẹn trên các bộ của quan hệ
Ràng buộc này thể hiện bằng một tân từ hoặc một công thức đề cập đến
các giá trị của nhiều thuộc tính của một bộ.
Ví dụ: . Trong bảng KHÁCHHÀNG của Cty Điện báo điện thoại có thuộc tính
SỐĐT được quy ước như sau: nếu số điện thoại bắt đầu bằng số ba số 090 thì
khách hàng sử dụng điện thoại Mobiphone, nếu số điện thoại bắt đầu bằng số
091 thì khách hàng sử dụng điện thoại Vinaphone.
. Trong bảng NHÂNSỰ của Đại học Huế, thuộc tính MANV được quy
ước có 6 ký tự: hai ký tự đầu để chỉ mã trường trực thuộc, hai ký tự tiếp theo để
chỉ mã đơn vị, hai ký tự cuối để chỉ số thứ tự của nhân viên trong đơn vị. Ví dụ,
KH0201 .
c. Ràng buộc về khoá
Giả sử K là khoá của lược đồ quan hệ R trong cơ sở dữ liệu D thì khoá
của R sẽ tạo ra một ràng buộc trên tập các quan hệ của lược đồ quan hệ R theo

104
nghĩa như sau: Với mọi quan hệ r trên lược đồ quan hệ R, u, v là hai bộ bất kỳ
trên r thì luôn luôn có u[K] ≠ v[K].
Ví dụ: Lược đồ quan hệ DIEM(MSSV, MSMH, DIEMTHI, LANTHI) trong đó
K= {MSSV, MSMH, LANTHI} là khoá thì trên lược đồ này ta có ràng buộc
khoá là: ∀ t1, t2 ∈ DIEM ⇒ t1[K] ≠ t2[K]
d. Ràng buộc toàn vẹn trên nhiều quan hệ
. Ràng buộc về khoá ngoại
. Ràng buộc toàn vẹn tham chiếu

4.5 Mô hình tổ chức về xử lý


4.5.1 Mục đích:
Mô hình tổ chức về xử lý nhằm xác định rõ các công việc do ai làm, làm
ở đâu, làm khi nào, làm theo phương thức nào? Ở mức này người phân tích sẽ
đặt các công việc trong mô hình quan niệm về xử lý vào từng nơi làm việc cụ
thể của môi trường thực.
4.5.2 Các khái niệm
a. Nơi làm việc: một hệ thống thông tin quản lý được chia thành nhiều bộ phận,
mỗi bộ phận được gọi là một nơi làm việc. Nơi làm việc bao gồm: vị trí, con
người, trang thiết bị tại nơi làm việc đó.
b. Phương thức xử lý: là cách thức, phương tiẹn thực hiện công việc. Mỗi công
việc có thể được thực hiện bởi một trong ba phương thức xử lý:

• Xử lý thủ công: công việc do con người trực tiếp thao tác trên đối tượng làm
việc. Xử lý này thường được thực hiện trong trường hợp các quyết định
không có giải thuật hoặc không đầy đủ thông tin, hoặc độ khó cao chưa có
phương tiện kỹ thuật tự động xử lý. Ví dụ, ghi số điện hàng tháng tại các hộ
gia đình.

• Xử lý tự động (xử lý theo lô): kiểu xử lý bằng máy, do con người cung cấp
thông tin đầu vào để máy tự động thực hiện công việc. Đây là loại xử lý có

105
giải thuật và dữ liệu đầy đủ. Ví dụ, làm báo cáo tồn kho, làm hóa đơn xuất
hàng,...

• Xử lý tương tác người -máy: là kiểu xử lý bằng máy nhưng trong quá trình
xử lý phải có những giai đoạn cung cấp thông tin của người sử dụng.
c. Biến cố ở mức tổ chức: là biến cố của hệ thống nhưng được đặt ở nơi phát
sinh ra nó hay là nơi nhận biết nó. Ở mức tổ chức, một biến cố còn phải quan
tâm:

• Thời gian phản ứng: là thời gian tối đa được chờ đợi từ khi biến cố xuất
hiện cho đến khi công việc được kích hoạt.

• Tần suất: là tần số xuất hiện biến cố trong một đơn vị thời gian.

• Chu kỳ: là khoảng thời gian mà biến cố sẽ xuất hiện trở lại
4.4.2 Bảng công việc
Ở mức tổ chức công việc phải được xác định rõ: nơi làm việc, phương thức làm
việc, tần suất và chu kỳ của nó. Các đặt trưng này được thể hiên trong bảng
công việc sau đây:
Bảng công việc
STT Tên công việc Nơi thực hiện Phương thức Tần suất Chu kỳ

1
2
Ví dụ: Bảng công việc của bài toán "QL tuyển sinh"

Bảng công việc


STT Tên công việc Nơi thực hiện Phương thức Tần suất Chu kỳ

1 Thông báo TS Ban Giám hiệu Thủ công 1lần/năm 1 năm

2 Nhận hồ sơ dự thi Phòng Đào tạo Thủ công 1lần/năm 1 năm

3 Đánh SBD Phòng Đào tạo Tự động 1lần/năm 1 năm

4 Lập danh sách TS Phòng Đào tạo Tự động 1lần/năm 1 năm

106
5 In Giấy báo thi Phòng Đào tạo Tự động 1lần/năm 1 năm

6 Gửi Giấy báo thi Phòng Đào tạo Thủ công 1lần/năm 1 năm

7 Thi tuyển sinh Phòng Đào tạo Thủ công 1lần/năm 1 năm

8 Làm phách Phòng Đào tạo Tự động 1lần/năm 1 năm

9 Chấm thi Giáo viên Thủ công 1lần/năm 1 năm

10 Nhập điểm Phòng Đào tạo Thủ công 1lần/năm 1 năm

11 Ráp phách Phòng Đào tạo Tự động 1lần/năm 1 năm

12 Thống kê điểm Phòng Đào tạo Tự động 1lần/năm 1 năm

13 Lập DS xét tuyển Phòng Đào tạo Tự động 1lần/năm 1 năm

14 Xét tuyển Ban Giám hiệu Thủ công 1lần/năm 1 năm

15 In giấy báo kquả Phòng Đào tạo Tự động 1lần/năm 1 năm

16 TB kquả Phòng Đào tạo Thủ công 1lần/năm 1 năm

4.4.4 Mô hình tổ chức về xử lý


Mô hình liên hoàn các biến cố và các công việc của hệ thống. Các biến cố và
các công việc này được đăt tại một vị trị làm việc cụ thể:

107
Vị trí 1 Vị trí 2 Vị trí 3 Vị trí 4 Vị trí 5

Biến cố 4
Biến cố 1

CÔNG VIỆC 2
NO YES
CÔNG VIỆC 1
NO YES
Biến cố 6
Biến cố 3

Biến cố 5

Biến cố 2
CÔNG VIỆC 3
NO YES

Biến cố 7

Biến cố 8

Những biến cố nào không xuất phát từ một nơi làm việc nào đó không có trong
danh sach các vị trí, ta đặt giữa hai đường phân cách.

108
Ví dụ: Mô hình tổ chức xử lý của bài toán "QL Tuyển sinh"
Xã hội BGH P.Đào tạo Khoa Giáo viên

Có chỉ
Đầu năm tiêu TS

Trong thời
Thông báo TS hạn nộp HS
YES

Thông báo
đã phát

Nhận HS dự thi
NO YES

Hết hạn
DS thí sinh nộp HS
Hồ sơ bị
từ chối

Đánh SBD
YES

DS TSinh
có SBD

Phòng thi Lập DSTS-PT


Lịch thi
YES

DS TSinh
Phòng thi

In Giấy BT
YES

Giấy BT
đã in

109
Xã hội BGH P.Đào tạo Khoa Giáo viên

Gửi Giấy BT
YES NO

Giấy BT
Giấy BT Bài thi TS không nhận
đã nhận

Thi tuyển sinh


NO YES
Bản hdẫn
đánh phách

Đánh phách BT
NO YES
DS TS
vắng thi

Bài thi đã
đánh phách
Bài thi
bị loại Lịch
chấm thi

Chấm thi
YES NO
Bài thi đã
chấm xong

Bài thi
bị loại
Ráp phách BT
NO YES

Kết quả thi

Thống kê điểm
Số phách
vắng thi NO YES
(2) 110
Chấm thi
xong

DS TS
bị loại

(2)

Kết quả thi


đã ThKê

Lập DS đề
nghị xét tuyển
NO YES

DS TS
bị loại DS TS đề
nghị tuyển

Chỉ tiêu
TS

Xét tuyển
NO YES

DS TS
DS TS trúng tuyển
bị trượt

Giấy báo In Giấy báo KQ


kết quả thi
YES
111
Gửi Giấy báo
KQ
NO YES

112
Chương 5 MỨC VẬT LÝ CỦA HTTT
Ở mức tổ chức, khi xem xét mô hình cơ sở dữ liệu thực chất chúng ta
chỉ quan tâm đến cấu trúc lô gic của dữ liệu. Cấu trúc đó được thể hiện một
cách độc lập với máy tính và các phần mềm quản trị dữ liệu cụ thể. Mức vật
lý sẽ là thể hiện cụ thể trên máy tính cho giải pháp dữ liệu đã được lựa chọn.
Nó được thể hiện ở hai khía cạnh: cấu trúc dữ liệu cụ thể và phương thức truy
nhập. Cũng như hai mức đã khảo sát ở trước, mức vật lý được mô tả qua hai
mô hình: mô hình vật lý về dữ liệu và mô hình vật lý về xử lý.

5.1 Mô hình vật lý về dữ liệu

5.1.1 Thiết kế cơ sở dữ liệu vật lý

Thiết kế cơ sở dữ liệu vật lý là bước cuối cùng của giai đoạn thiết kế dữ
liệu. Quá trình thiết kế cơ sở dữ liệu vật lý là quá trình ánh xạ cấu trúc dữ liệu
logic được xây dựng ở mô hình tổ chức dữ liệu vào mô hình bên trong hệ
thống. Đa số các hệ thống thông tin hiện nay đều sử dụng một hệ quản trị cơ
sở dữ liệu nào đó để tạo ra cơ sở dữ liệu cho hệ thống. Thiết kế cơ sở dữ liệu
vật lý bao gồm các bước sau:

ƒ Thiết kế cơ sở dữ liệu: mô tả các file dữ liệu, file chỉ mục,... sẽ được


truy cập trong bộ nhớ máy tính như thế nào.

ƒ Thiết kế hệ thống và cấu trúc chương trình: mô tả các chương trình và


các mô đun chương trình khác nhau tương ứng với sơ đồ luồng dữ liệu
và những yêu cầu đặt ra trong các bước phân tích trước.

ƒ Thiết kế chiến lược xử lý phân tán: mô tả hệ thống xử lý dữ liệu như


thế nào và các xử lý cho người sử dụng trên mạng máy tính.

Thông thường, người ta sử dụng các thông tin dưới đây để tạo cơ sở dữ
liệu vật lý:

ƒ Các quan hệ đã chuẩn hoá

ƒ Định nghĩa các thuộc tính

137
ƒ Các mô tả cho biết ở đâu và khi nào dữ liệu được sử dụng (đọc, sửa
chữa, xoá,...)

ƒ Các công nghệ được sử dụng để triển khai việc xây dựng cơ sở dữ liệu.

Mặc dù trong giai đoạn thiết kế dữ liệu chúng ta đã cố gắng chuẩn hóa các
lược đồ quan hệ với hy vọng là các lược đồ đều ở dạng chuẩn 3, nhưng khi cài
đặt cụ thể các file dữ liệu để tiện lợi chúng ta có thể bổ sung vào một số
trường tính toán, hình thành một số trường phức hợp, đưa vào một số trường
được phân rã từ một trường khác. Thậm chí, có thể ghép hai lược đồ ở dạng
chuẩn 3, phá vỡ ý nghĩa của chuẩn hóa, để tiện việc xử lý.

Hiện nay nhiều công cụ CASE độc lập hoặc được tích hợp trong một số hệ
quản trị cơ sở dữ liệu để hỗ trợ cho quá trình thiết kế cơ sở dữ liệu. Trên cơ sở
cấu trúc dữ liệu vật lý được cung cấp, các CASE sẽ tạo ra các hệ thống file
cần thiết phục vụ cho hoạt động của hệ thống. Chẳng hạn, Designer của
Oracle, SQL,...

Tập hợp tất cả các quan hệ được hình thành từ mô hình tổ chức dữ liệu,
các file phục vụ cho hoạt động của hệ thống được gọi là mô hình vật lý về dữ
liệu của hệ thống thông tin.

5.1.2 Thiết kế các trường

Ở mức vật lý, một trường được đồng nhất với một thuộc tính trong mô
hình tổ chức dữ liệu. Trường là đơn vị dữ liệu nhỏ nhất một phần mềm hệ
thống nhận ra.

ƒ Các yêu cầu về việc thiết kế các trường

- Tiết kiệm không gian nhớ

- Biểu diễn được mọi giá trị có thể

- Cài đặt các ràng buộc toàn vẹn của dữ liệu

- Đặt giá trị mặc định (Default) để giảm thiểu thời gian nhập dữ
liệu

138
ƒ Chọn kiểu dữ liệu và độ rộng của trường

Hầu hết các hệ quản trị cơ sở dữ liệu thương mại đều cung cấp cho
người dùng các kiểu dữ liệu thông dụng như: text, number, logical,
date, time,... Khi chọn kiểu dữ liệu và độ rộng trường nên chọn đúng
kiểu và khai báo độ rộng vừa đủ, không nên làm phức tạp cấu trúc dữ
liệu của hệ thống.

5.1.2 Thiết kế các file

Một hệ thống thông tin hoạt động thường sử dụng sáu loại file dưới
đây:

ƒ File dữ liệu (data file): file chứa các dữ liệu nghiệp vụ liên quan đến
mô hình logic dữ liệu và mô hình vật lý dữ liệu. Loại file này luôn tồn
tại và có nội dung thay đổi. Ví dụ, file chứa các thông tin về khách
hàng, file chứa các thông tin về sách trong thư viện,...

ƒ File tham chiếu từ bảng (lookup table file): file chứa các dữ liệu được
lấy từ các bảng dữ liệu. Những file này thường sử dụng trong các
trường hợp lấy dữ liệu nhanh để kết xuất thông tin.

ƒ File giao dịch ( transaction file): là file dữ liệu tạm thời phục vụ cho
các hoạt động hằng ngày của tổ chức. File này thường được thiết kế để
phục vụ việc xử lý nhanh các tình huống có thể xảy ra.

ƒ File làm việc (work file): file tạm thời để lưu kết quả trung gian, file
này tự động xoá đi khi không cần thiết.

ƒ File bảo vệ (protection file): file được thiết kế để lưu trữ các file khác
nhau có nguy cơ bị sai hỏng trong quá trình làm việc.

ƒ File lịch sử (history file): file chứa những dữ liệu cũ hiện không sử
dụng, nhưng có thể sử dụng để làm một việc gì đó khi cần thiết.

5.1.3 Các hệ quản lý file

File là đơn vị lưu trữ của bộ nhớ ngoài dưới một hệ điều hành nào đó. Mọi
thông tin lưu trên bộ nhớ ngoài đều được tổ chức thành từng file. Về bản chất

139
thông tin, file có thể là văn bản, chương trình, dữ liệu,... nhưng dù thế nào
chúng chỉ là dãy các bit dữ liệu.

Quản lý file là thực hiện các thao tác như lưu trữ, tìm kiếm, di chuyển,
xóa, thiết lập thuộc tính cho file. Mặc dù các thao tác này được thực hiện
thông qua hệ điều hành nhưng trên thực tế có nhiều phần mềm được sử dụng
để quản lý các file dễ dàng và tiện lợi hơn. Chú ý rằng không có sự tương hợp
giữa kích thuớc file và bộ nhớ trong nên khi đọc/ghi một file hệ điều hành sử
dụng chiến lược bộ nhớ đệm để lưu hình ảnh của file hoặc một đoạn của file
đó trong bộ nhớ này.

5.1.4 Các cấu trúc dữ liệu và phương thức truy nhập

a. Tổ chức file tuần tự và truy nhập tuần tự:

Các bản ghi trong file được sắp xếp liên tiếp nhau. Việc truy nhập đến
một nơi nào đó trong file được thực hiện theo thể thức duyệt lần lược cho đến
khi gặp bản ghi cần tìm. Cách này thường mất thời gian nhưng trong một số
trường hợp là cách duy nhất để tìm kiếm thông tin.

b. Truy nhập ngẫu nhiên theo hàm băm

Trong trường hợp này các bản ghi được chia thành nhiều khối có độ dài
như nhau và người ta xây dựng một hàm băm cho phép tính địa chỉ của khối
dữ liệu chứa bản ghi theo khóa của bản ghi đó.

c. Truy nhập theo file chỉ mục

Các bản ghi các file có thể sắp xếp tùy ý. Một file chỉ mục được tạo ra
cho phép xác định được vị trí của mỗi bản ghi cụ thể trong file gốc. Nhược
điểm của phương pháp này là phải tốn không gian để lưu file chỉ mục

5.1.5 Thiết kế kiểm soát các file

Nhằm bảo vệ dữ liệu và chống lại sự phá hủy của người khác thông
thường người ta sử dụng hai biện pháp kỹ thuật là sao lưu và mã hóa file dữ
liệu.

a. Thủ tục sao lưu file

140
Các file quan trọng cần được lưu trữ vào một thiết bị riêng theo một chu
kỳ được xác định, khi cần sẽ lấy ra để sử dụng. Từ việc nghiên cứu hệ thống,
hoặc từ kinh nghiệm chúng ta có thể quyết định các file nào cần sao lưu. Việc
tổ chức sao lưu cũng có thể thực hiện bởi phần mềm trợ giúp, phần mềm này
có nhiệm vụ nhắc nhở người sử dụng công việc sao lưu.

b. Đặt mật khẩu cho chương trình và mã hoá nội dung file

Nhằm bảo đảm an toàn nội dung các file, nhất là một số ứng dụng về quân
sự, tài chính,... thông thường người ta đặt mật khẩu (password) hoặc mã hóa
nội dung file. File chỉ có thể được mở ra để làm việc nếu người sử dụng đưa
dung mật khẩu. Mã hóa nội dung file là chuyển cách biểu diễn dữ liệu của file
sang một dạng khác. Nhiều hệ điều hành và phần mềm quản lý dữ liệu đã
cung cấp công cụ mã hóa và giải mã dữ liệu.

5.1.6 Xác định quy mô file và không gian lưu trữ cần thiết

Một ví dụ về thiết kế file dữ liệu

Trong hệ thống thông tin “Quản lý kho hàng ” chúng ta đã có mô hình tổ


chức dữ liệu của hệ thống là các quan hệ sau:

Nhà CC (Mã NCC, Tên NCC, Đchỉ NCC)

Kho (Tên kho, Đchỉ kho)

Khhàng (Mã khách, Tên khách, Đchỉ khách)

Phiếu nhập (Số phiếu_N, Ngày nhập, Mã NCC)

Phiếu xuất (Sốphiếu_X, Ngày xuất, Mãkhách)

Hàng (Mãhàng, Tênhàng, Đơnvị, Đơngiá, Tên kho)

Gồm hàng_N (Sốphiếu_N, Mãhàng, SL_nhập)

Gồm hàng_X (Sốphiếu_X, Mãhàng, SL_xuất)

Chứa (Tồn kho, Tên kho, Mã hàng)

Dựa vào các khảo sát trước đây và các quan hệ trên hãy mô tả chúng dưới
dạng các khai báo sau:

141
NHA_CC

Fieldname Data type Field size Format Validation Rule

MA_NCC (K) Text 2 Chữ hoa Len()=2

TEN_NCC Text 30 Chữ đầu viết hoa Not null

ĐCHI_NCC Text 50 Chữ đầu viết hoa

KHO

Fieldname Data type Field size Format Validation Rule

TENKHO (K) Text 8 Chữ hoa

DCHI_KHO Text 25 Chữ đầu viết hoa

KHHANG

Fieldname Data type Field size Format Validation Rule

MAKHACH (K) Text 3 Chữ hoa Len()=3

TENKHACH Text 30 Chữ đầu viết hoa Not null

ĐCHI_KHACH Text 50 Chữ đầu viết hoa

PHIEUXUAT

Fieldname Data type Field size Format Validation Rule

SOPHIEU_X (K) Text 8 Chữ số Len()=8

MAKHACH (FK) Text 3 Chữ hoa Len()=3

NGAYXUAT Date 8 dd-mm-yy

142
PHIEUNHAP

Fieldname Data Field Format Validation Rule


type size

SOPHIEU_N (K) Text 8 Chữ số Len()=8

MA_NCC (FK) Text 2 Chữ hoa Len()=2

NGAYNHAP Date 8 dd-mm-yy

HANG

Fieldname Data type Field size Format Validation Rule

MAHANG (K) Text 4 Chữ hoa+Chữ số Len()=6

TENHANG Text 30 Chữ đầu viết hoa Not null

DONVI Text 6 Chữ đầu viết hoa

DONGIA Num 7 Số nguyên

TENKHO (FK) Text 8 Chữ hoa

HANGNHAP

Fieldname Data type Field size Format Validation Rule

SOPHIEU_N (K) Text 8 Chữ số Len()=8

MAHANG (K) Text 4 Chữ hoa+Chữ số Len()=6

SL_NHAP Num 4 Số nguyên

143
HANGXUAT

Fieldname Data type Field size Format Validation Rule

SOPHIEU_X (K) Text 8 Chữ số Len()=8

MAHANG (K) Text 4 Chữ hoa+Chữ số Len()=6

SL_XUAT Num 4 Số nguyên

CHUA

Fieldname Data type Field size Format Validation Rule

TENKHO (K) Text 8 Chữ hoa

TONKHO Num 6 Số nguyên

MAHANG (K) Text 4 Chữ hoa+Chữ số Len()=6

5.2 Mô hình vật lý về xử lý (mức tác nghiệp)

5.2.1 Mục đích:

Mô hình này trả lời cho câu hỏi cuối cùng là: các công việc hoạt động
như thế nào? Từ mô hình tổ chức xử lý đã có, người phân tích sẽ tiến hành
xem xét, biến các chức năng, công việc thành các đơn vị chương trình. Ứng
với mỗi đơn vị chương trình này người phân tích phải viết một đặc tả chi tiết
để chuẩn bị cho việc lập trình.

5.2.2 Mô đun xử lý

Mô đun xử lý là thể hiện các công việc có liên quan với nhau và được
thực hiện liền mạch nhằm thực hiện một chức năng nào đó. Nói chung tiêu
chuẩn để xác định một mô đun xử lý khá mờ, nó chỉ nêu lên phương hướng
phân rã chức năng mà không xác định chính xác quy mô của các mô đun.
Thông thường một mô đun xử lý thể hiện một công đoạn có bản chất là cập

144
nhật hoặc tra cứu dữ liệu và thao tác trên một nhóm dữ liệu nhỏ.

Ví dụ, Chức năng làm phiếu xuất kho sẽ bao gồm các mô đun sau:

- Tra cứu danh sách các đại lý để kiểm tra khách hàng

- Kiểm tra hàng tồn kho

- Lấy yêu cầu để lập phiếu xuất và cập nhật tồn kho

5.2.3 Phân rã mô đun

Để dễ dàng trong việc mã hoá, cài đặt chương trình và sửa chữa chương
trình, người ta phân rã một mô đun thành nhiều mô đun con. Một mô đun con
phân rã đến lúc không thể tách thêm được nữa được gọi là mô đun sơ cấp.
Tuy nhiên, việc phân rã này phải bảo đảm mối liên hệ giữa mô đun lớn với
các mô đun con. Trong thực tế thường xảy ra trường hợp phân rã mô đun nhỏ
đến một mức nào đó có thể xuất hiện các mô đun chung, điều này sẽ giảm nhẹ
công sức lập trình sau này. Phân rã mô đun cũng gợi ra giao diện chọn chức
năng theo kiểu thực đơn trong chương trình tổng thể sau này. Để mô tả việc
phân rã mô đun thành nhiều mô đun con, người ta dùng sơ đồ phân rã chức
năng như sau:

Làm phiếu xuất kho Kiểm tra tư cách đại lý

Tra cứu tồn kho

Nhập yêu cầu,


Làm phiếu xuất ,
Cập nhật tồn kho

Các yếu tố để phân rã mô đun

a. Phân rã mô đun theo điểm công tác: điều này thể hiện ở chổ nhiều người
hoặc nhiều bộ phận có những công việc như nhau, như thế các chức năng có
cùng một nơi làm việc được gom thành một mô đun. Ví dụ, các thông tin về
nâng bậc lương, chuyển ngạch,... không những cần cho bộ phận tổ chức mà

145
còn cho bộ phận kế toán. do đó phải có một mô đun chung để cập nhật, tra
cứu các thông tin này.

b. Phân rã mô đun theo hướng chức năng: theo cách này các chức năng có
cùng chung một công việc được tổ chức riêng.

c. Phân rã mô đun theo thời gian: thời gian cũng có thể một yếu tố để phân rã
mô đun. Ví dụ, việc in báo cáo kết quả học tập của sinh viên được thực hiện
vào cuối năm học với hàng loạt các báo cáo khác như báo cáo khối lượng
công tác của giáo viên,...

5.2.4 Sơ đồ tổng thể phân rã chức năng:

Dựa trên kết quả phân rã mô đun, người phân tích phải lên một sơ đồ
tổng thể các chức năng để hướng đến cấu trúc hoá chương trình. Hiện nay có
một vài quan điểm về việc gộp các mô đun thành từng nhóm chức năng trong
chương trình.

a. Gộp các mô đun theo hướng đối tượng:

Gộp theo đối tượng là nhóm các chức năng theo dữ liệu hoặc theo tập
thực thể. Ví dụ, ba tập thực thể chính trong hệ thống thông tin “Quản lý đào
tạo” là sinh viên, giáo viên và môn học. Chúng ta có thể gộp các mô đun theo
các tập thực thể này theo sơ đồ sau:

146
ĐÀO TẠO SINH VIÊN CẬP NHẬT LÝ LỊCH SINH VIÊN

CẬP NHẬT ĐIỂM THI

THÔNG KÊ KẾT QUẢ HỌC TẬP

GIÁO VIÊN CẬP NHẬT LÝ LỊCH GIÁO VIÊN

GHI NHẬN KHỐI LƯỢNG GDẠY

THÔNG KÊ GIẢNG DẠY

MÔN HỌC CẬP NHẬP MÔN HỌC

LẬP CHƯƠNG TRÌNH ĐÀO TẠO

PHÂN CÔNG GIẢNG DẠY

Hình 5.2a. Gộp các chức năng theo đối tượng

b. Gộp các mô đun theo sự kiện:

Gộp theo sự kiện là gộp theo hoạt động của hệ thống. Một sự kiện có
thể gây ra một loạt các chức năng của hệ thống. Ví dụ, trong hệ thống thông
tin “Quản lý kho hàng” có ba sự kiện chính là “Nhập hàng”, “Xuất hàng” và
“Báo cáo”. Chúng ta có thể gộp theo sự kiện các mô đun nay theo sơ đồ dưới
đây.

147
QUẢN LÝ KHO NHẬP HÀNG CẬP NHẬT SỐ LIỆU, CẬP NHẬT PHIẾU NHẬP,

CẬP NHẬT TỒN KHO

IN PHIẾU NHẬP

CẬP NHẬT SỐ LIỆU, CẬP NHẬT PHIẾU XUẤT,


XUẤT HÀNG
CẬP NHẬT TỒN KHO

IN PHIẾU XUẤT

BÁO CÁO BÁO CÁO TỒN KHO

CÂN ĐỐI KHO

Hình 5.2.b Gộp các chức năng theo sự kiện

c. Gộp các mô đun theo sự tiện lợi:

Gộp theo sự tiện lợi là gộp các mô đun theo tiêu chuẩn tiện dụng hoặc
theo người sử dụng cụ thể hoặc theo mạch công việc. Ví dụ, trong hệ thống
thông tin “Quản lý khách sạn” thường có các mạch công việc như sau: Tiếp
nhận khách bao gồm các công việc: Cập nhật phòng, Giữ chổ, Check in. Dịch
vụ bao gồm các công việc: cập nhật dịch vụ, ghi nhận dịch vụ, thanh toán.
Thống kê bao gồm các công việc: Hệ số sử dụng phòng, Số lượng khách,
Doanh thu. Chúng ta có thể tổ chức các mô đun theo mạch công việc như sau:

148
QUẢN LÝ TIẾP NHẬN CẬP NHẬT PHÒNG
KHÁCH SẠN KHÁCH

GIỮ CHỔ

CHECK IN

KHAI BÁO TẠM TRÚ

DỊCH VỤ CẬP NHẬT DỊCH VỤ

GHI NHẬN DỊCH VỤ

THANH TOÁN

THỐNG KÊ HỆ SỐ SỬ DỤNG PHÒNG

SỐ LƯỢNG KHÁCH

DOANH THU

Hình 5.2.c. Gộp các chức năng theo mạch

5.2.5 Mô tả các mô đun

Sau khi phân rã các mô đun, người phân tích phải chuyển giao các kết
quả phân tích thiết kế cho người lập trình đê chuẩn bị cài đặt. Các mô đun này
phải được mô tả một cách chi tiết thông qua các biểu đồ được gọi là IPO
Chart như sau:

149
IPO CHART Số:______

Name of modun: <tên mô đun> Date: <ngày tạo môđun>


System: <tên hệ thống thông tin> Designer: <người thiết kế>
Objective: <mô tả mục đích của mô đun>

Call by: < danh sách các mô đun Call: < danh sách các mô đun mà
gọi mô đun này> mô đun này sẽ gọi>

Input: < danh sách các tham biến Output: < danh sách các tham biến
và dữ liệu vào> và dữ liệu ra>

Processing: < mô tả chi tiết quá trình xử lý bằng thuật giải rõ ràng>

Ví dụ: Mô đun Nhập dữ liệu cho bảng Huyện trong hệ thống thông tin “Quản

lý công chức”

IPO CHART Số:______

Name of modun: Nhập Huyện Date: 01/01/2005

System:Quản lý công chức Designer: Nguyễn Mậu Hân


Objective:Nhập dữ liệu cho bảng Huyện

Call by: Main Menu Call: None

Input: Bảng Tỉnh, Huyện Output: Bảng Huyện

Processing:Tạo một Form nhập dữ liệu cho bảng Huyện. Trong Form tạo
một Combo box để chọ Mãtỉnh, Mãtỉnh là khoá của bảng Tỉnh và là FK của
bảng Huyện.

150

You might also like