Bài giảng Phân tích & Thiết kế hệ thống - Chương 3: Mô hình hoá quan niệm - Nguyễn Trần Phương

Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
CHƢƠNG 3:  
MÔ HÌNH HOÁ QUAN NIỆM  
Chương này trình bày các nội dung trọng tâm:  
- Những công việc của việc phân tích, mô hình hóa, thiết kế và thực hiện các  
giải pháp  
- So sánh giữa sự tiếp cận dựa trên tập tin truyền thống với sự tiếp cận hiện  
đại dựa trên CSDL để giải quyết các vấn đề tích hợp.  
- Nắm được những khái niệm căn bản của CSDL quan hệ.  
Các kỹ thuật cơ bản để xây dựng mô hình dữ liệu sử dụng mô hình thực thể  
kết hợp; Thực thể - thuộc tính – từ điển dữ liệu  
- Nhận biết các ký hiệu khác nhau về ký hiệu mô hình ER; Xây dựng mô  
hình ER bằng các thực thể, thuộc tính nhận diện, thuộc tính mô tả và mối kết hợp.  
- Xác định được bản số của mối kết hợp.  
- Giải quyết được mối kết hợp nhiều nhiều bằng cách đưa vào tập kết hợp  
thích hợp.  
3.1 MÔ HÌNH THỰC THỂ  
3.1.1 Khái niệm  
Thực thể (Entity) 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. Các đối tượng tồn tại độc lập tương đối và khách quan với nhau.  
Chúng chỉ liên hệ với nhau thông qua hệ thống.  
Ví dụ: SINH_VIÊN là một thực thể trong đó tên một sinh viên cụ thể là một  
cá thể như “Nguyễn Tuấn Long “ hoặc “Hoàng Thị Bích Hồng”. Thực thể có thông  
tin trạng thái của thực thể còn gọi là thuộc tính của thực thể đó, chẳng hạn thực thể  
SINH_VIÊN có thông tin trạng thái là TÊN, NGÀY_SINH, GIỚI_TÍNH, v.v…  
Rõ ràng với phương pháp biểu diễn như trên chúng ta có thể mô hình hóa và  
phân biệt kiểu đối tượng và một đại diện cụ thể của kiểu đó. Như đã trình bày ở  
phân đầu chương 1. Như vậy, một đối tượng là thể hiện của một lớp và một lớp là  
một định nghĩa trừu tượng của đối tượng. Một đối tượng biểu diễn một thực thể vật  
lý, một thực thể khái niệm hoặc một thực thể phần mềm.  
3.1.2 Thuộc tính  
Các thông tin trạng thái của thực thể được mô hình hóa bởi các thuộc tính  
(Attribute). Mỗi thuộc tính cũng có một tên, kiểu thuộc tính và miền giá trị. Một  
thực thể có thể có hơn một thuộc tính nhưng định danh các thuộc tính đó phải phân  
biệt. Với ví dụ trên thì các thuộc tính là TÊN, NGÀY_SINH, GIỚI_TÍNH hoặc có  
thể nhiều hơn nữa thế nhưng tên gọi của thuộc tính TÊN là chính nó, kiểu thuộc  
tính là xâu ký tự và miền giá trị là tập hợp các ký tự có nghĩa theo ngôn ngữ đang  
sử dụng. Tương tự như vậy thuộc tính NGÀY_SINH, kiểu thuộc tính có thể là xâu  
ký tự với ngày <= 31 tháng <=12. Thuộc tính có thể chia làm ba loại chính:  
Thuộc tính đơn: Là thuộc tính không thể phân tách được ví dụ thuộc tính  
GIỚI_TÍNH.  
Giáo viên biên soạn: Nguyễn Trần Phương  
56  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Thuộc tính hợp thành: Là thuộc tính có hơn một thuộc tính đơn ví dụ thuộc  
tính NGÀY_SINH.  
Thuộc tính lặp: Là thuộc tính hợp thành có cùng bản chất trong một thực thể  
ví dụ thực thể MÔN (ĐIỂM_1, ĐIỂM_2,.., ĐIỂM_N). Xét các thuộc tính ĐIỂM_i  
thì rõ ràng ĐIỂM_i là thuộc tính lặp.  
Để tìm hiểu chi tiết vấn đề này độc giả có thể tìm đọc các tài liệu bàn về  
quản trị cơ sở dữ liệu.  
3.1.3 Ràng buộc toàn vẹn trên thực thể (Entity integrity constraint)  
Các thuộc tính của một thực thể trong thế giới thực không phải khi nào cũng  
được phép nhận những giá trị tùy ý. Trong một số trường hợp giá trị các thuộc tính  
phải chịu những ràng buộc mà ta gọi là các ràng buộc toàn vẹn.  
Ràng buộc toàn vẹn chính là tính hợp lý, hợp lô gíc của thế giới thực mà tin  
học cần mô tả. Trong hệ thống thông tin các ràng buộc toàn vẹn giúp hệ thống phát  
hiện các điểm bất hợp lý trong quá trình thu thập, xử lý và truyền thông tin. Có một  
số ràng buộc cơ bản như sau:  
Miền giá trị được xác định là tập hợp các giá trị thỏa một điều kiện nào  
đó thuộc thế giới thực. Ví dụ như năm sinh >=1990.  
Tương hợp về giá trị là tập các giá trị có thật của thế giới thực hay những  
giá trị định trước.  
Định danh là một hay một nhóm các thuộc tính có thể xác định duy nhất  
một thực thể hay một đối tượng trong lớp. Ví dụ như số báo danh của thi sinh trong  
một kỳ thi nào đó.  
3.2 MỒ HÌNH QUAN NIỆM VỀ DỮ LIỆU  
3.2.1 Mô hình quan niệm về dữ liệu  
Trước hết phải nói đây là một vấn đề dễ gây nhiều tranh cãi trong quá trình  
phân tích và thiết kế hệ thống thông tin với một số lý do sau đâu:  
Phụ thuộc vào kinh nghiệm của nhóm nghiên cứu hiện trạng và phương  
pháp tiếp cập để phân tích, thiết kế hệ thống. Chẳng hạn như nhóm phân tích, thiết  
kế chỉ quan tâm đến mối quan hệ chi tiết khi tiếp cận dự án nhưng nhóm nghiên  
cứu lại quan tâm chi tiết các chức năng, nhiệm vụ chính của hệ thống.  
Các hợp phần của dự án phân chia không đồng nhất, không tối ưu hóa các  
giải pháp trong quá trình cài đặt thuật toán. Quan trọng nhất là có các quan niệm  
khác nhau khi xác định mục đích đối tượng.  
Chính vì một số điều như trên nên nhà phát triển phải thống nhất các điểm  
sau làm tiêu chí để xác định vấn đề:  
Một đối tượng là thực thể chỉ khi có lớp các cá thể tương ứng, thực thể tồn  
tại khách quan và tương đối độc lập với hoạt động của hệ thống.  
Thuộc tính của một thực thể phải là đặc trưng nhất nhằm mô tả trọn vẹn đối  
tượng đó trong hệ thống và đồng nhất với yêu cầu tương ứng trong hồ sơ dự án.  
Trong đó các thuộc tính là thuộc tính cơ sở, những thuộc tính lặp phải minh bạch  
Giáo viên biên soạn: Nguyễn Trần Phương  
57  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
bởi số lần lặp và phù hợp với các quy tắc thường là quy tắc quản lý thì nên có các  
thuộc tính khóa cho kiểu thực thể.  
Đối với các thực thể có quan hệ nhiều chiều thì nói chung là tìm cách phân  
rã để hạ bậc chiều của mối quan hệ đó. Đây chính là việc chuẩn hóa mô hình chính  
vì lẽ đó mà chúng ta có một số tiêu chí để làm căn cứ cho việc chuẩn hóa:  
Tiêu chí 1: Mức độ cơ sở của các thuộc tính. Tức là tùy thuộc vào mục đích  
và mục tiêu xây dựng của hệ thống mà nhà phát triển có thể thiết kế sao cho các  
thuộc tính đó là cơ sở nằm trong thực thể đó để thực thể vẫn mô tả trọn vẹn sự vật,  
sự việc đó. Ví dụ như DANH_SACH_SINH_VIEN nếu cần sắp xếp theo tên thì  
cần có thuộc tính TEN là độc lập còn không thì chỉ cần thuộc tính HO_TEN là đủ.  
Tiêu chí 2: Sự phụ thuộc của các thuộc tính vào toàn bộ thuộc tính định  
danh (có tài liệu nói là thuộc tính khóa). Ví như số tiết học chỉ phụ thuộc vào  
MÔN_HỌC chứ không phụ thuộc vào “phân phối chương trình giảng dạy” gồm  
LỚP_HỌC, MÔN_HỌC, GIÁO_VIÊN, SỐ_TIẾT.  
Tiêu chí 3:Không phụ thuộc bắc cầu. Thuộc tính thứ nhất không phụ thuộc  
vào thuộc tính thứ hai, thuộc tính thức hai không phụ thuộc vào thuộc tính thứ 3.  
Tiêu chí 4: Thuộc tính định danh phụ thuộc vào thuộc tính không định  
danh.Ví dụ như định danh LỚP và MÔN trong thực thể LỚP, GIÁO_VIÊN và  
MÔN.  
Công nghệ phát triển hiện nay một hệ thống được xây dựng đại đa số trên mô hình  
mạng do đó khuynh hướng lưu trữ dữ liệu trong CSDL tập trung ngày nay đã bị  
đảo ngược. Sự tiến bộ của mạng máy tính và công nghệ về CSDL đã cho phép dữ  
liệu được lưu trữ trên nhiều CSDL để phân tán ở các nơi và cho phép khả năng  
khai thác CSDL qua nhiều vị trí vật lý khác nhau. Vậy người dùng khai thác CSDL  
(thông qua HQTCSDL) có thể phân lớp thành ba loại:  
Người quản trị CSDL (administrator): Hàng ngày, người QTCSDL chịu  
trách nhiệm quản lý và bảo trì CSDL như: Sự chính xác và toàn vẹn của dữ liệu và  
ứng dụng trong CSDL sự an ninh của CSDL; Lưu phòng hờ và phục hồi CSDL;  
Giữ liên lạc với người phát triển ứng dụng, người lập trình và người dùng cuối;  
Hoạt động trôi chảy và hiệu quả của CSDL và HQTCSDL  
Người phát triển ứng dụng và lập trình (programer) là những người  
chuyên nghiệp về máy tính có trách nhiệm thiết kế, tạo ra và bảo trì hệ thông tin  
cho người dùng cuối.  
Người dùng cuối (end user) là những người chuyên nghiệp vể máy tính  
nhưng họ là các chuyên gia trong các lãnh vực khác có trách nhiệm cụ thể trong tổ  
chức. Họ khai thác CSDL quan hệ thông qua hệ được phát triển bởi người phát  
triển ứng dụng hay các công cụ truy vấn, báo cáo để rút trích thông tin cần thiết.  
Nhớ rằng chỉ CSDL quan hệ cung cấp khả năng thực cho người dùng cuối khai  
thác trực tiếp CSDL. Hệ QTCSDL dựa trên loại phân cấp và mạng thông thường  
đòi hỏi khai thác dữ liệu bởi các ứng dụng đặc biệt, được phát triển bởi những  
chuyên gia máy tính chuyên nghiệp, còn đa phần chỉ tạo được những xử lý dữ liệu  
đơn giản.  
Giáo viên biên soạn: Nguyễn Trần Phương  
58  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Xét ví dụ sau:  
Mã  
hàng  
12 Máy tính  
15 Máy in  
17 Máy phô tô  
19 Server  
24 Loa  
27 Bàn  
34 Ghế  
Mã nhà  
cung cấp  
123  
Mô tả  
Nhà cung cấp  
Chi nhánh  
CMC Việt nam  
CMC Việt nam  
Hùng Thịnh  
IBM Việt nam  
CMC Việt nam  
Hòa Phát  
Hà Nội  
Hà Nội  
HCM  
123  
179  
111  
123  
179  
256  
HCM  
Hà Nội  
Hà Nội  
Hà Nội  
Hòa Phát  
Sự dư thừa dữ liệu của bảng trên gây ra các vấn đề sau: Sự kiện CMC Việt  
nam được lưu trữ 3 lần. Khi cần xóa một mặt hàng sẽ kéo theo khả năng xóa luôn  
nhà cung cấp. Khi có nhu cầu sửa đổi tên một nhà cung cấp sẽ phải sửa tất cả các  
dòng có tên nhà cung cấp này.  
Khi đó việc dư thừa là không mong muốn do các tập tin đã phân tán khắp  
trong tổ chức. Trong xử lý, các cố gắng nhằm hợp nhất các thành phần dữ liệu dư  
thừa. Dữ liệu có thể chia sẻ cho nhiều ứng dụng khác nhau và người sử dụng có thể  
khai thác đồng thời các tập con dữ liệu liên quan đến họ.  
Nói tóm lại giải quyết vấn đề về CSDL rõ ràng cần thiết phải tiếp cận có phương  
pháp để:  
Nhận diện phần tử dữ liệu (sự vật, sự việc) của vấn đề.  
Thiết lập mối kết hợp giữa các phần tử dữ liệu.  
Việc phân tích và cấu trúc hóa dữ liệu này được xem như mô hình hóa dữ  
liệu. Trước đây, một ứng dụng máy tính được thiết kế và cài đặt sau khi nghiên  
cứu kỹ các xử lý và yêu cầu chức năng của hệ thống. Nhưng kinh nghiệm cho thấy  
các xử lý và chức năng của một tổ chức thường có khuynh hướng hay thay đổi còn  
cấu trúc dữ liệu lại ít thay đổi. Vì lý do này mà nhiều hệ thống thông tin hiện nay  
cơ bản dựa trên dữ liệu hơn là dựa vào xử lý. Nếu nhà phát triển quan tâm đúng  
mức về phân tích và thiết kế dữ liệu và CSDL thì chắc chắn phải có mô hình quan  
niệm dữ liệu tốt. Một đề nghị mô hình để tham khảo hình 3.1.  
Tóm lại các giai đoạn xây dựng một hệ cơ sở dữ liệu bao gồm:  
Giai đoạn phân tích (analysis phase, requirements phase)  
Hoàn thành mô hình dữ liệu  
Hoàn thành chi tiết tài liệu trong tự điển dữ liệu  
Giai đoạn thiết kế CSDL logic (logical design phase)  
Biến đổi mô hình thực thể thành mô hình quan hệ  
Kiểm tra yêu cầu chức năng  
Chuẩn hóa các quan hệ  
Giai đoạn thiết kế CSDL vật lý (physical design phase)  
Trong HQTCSDL được chọn, xây dựng các bảng (Table) và các chi tiết  
cài đặt.  
Giáo viên biên soạn: Nguyễn Trần Phương  
59  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Hình 3.1 : Các bước trong thiết kế mô hình dữ liệu và CSDL quan hệ  
Phân tích yêu cầu về dữ liệu của ứng dụng để thiết lập  
dữ liệu yêu cầu  
Dữ liệu yêu cầu  
Phân tích  
Độc lập với  
HQTCSDL  
Cấu trúc hóa dữ liệu để tạo mô hình dữ liệu. Hình ảnh  
hóa việc trình bày bằng mô hình thực thể kết hợp có bổ  
sung bảng từ điển dữ liệu.  
Mô hình dữ liệu  
Quan hệ tuyển chọn  
Quan hệ chuẩn  
Tuyển chọn các quan hệ dự tuyển. Biến đổi mô hình  
thực thể kết hợp thành mô hình quan hệ  
Thiết kế csdl  
logic  
Độc  
lập với  
Chuẩn hóa quan hệ tuyển chọn đạt tối thiểu dạng chuẩn  
3
Thiết  
CSDL  
quan hệ  
kế  
Bảng trong CSDL  
quan hệ  
Quyết định cấu trúc thực của bảng để lưu trữ trong  
Thiết kế csdl  
vật lý trong  
một  
QTCSDL cụ  
thể  
Thực hiện cài đặt đầy đủ CSDL vật lý, Sử dụng các  
tiến bộ của các đặc tính của HQTCSDL và tinh chỉnh  
CSDL về thi hành  
Bảng có cài đặt các  
hỗ trợ của QTCSDL  
Giáo viên biên soạn: Nguyễn Trần Phương  
60  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
3.2.2 Mô hình hệ thống  
3.2.2.1 - Sự kiện (Event):  
Một trong những thành phần quan trọng bậc nhất của một đối tượng là sự  
kiện. Một sự kiện là một sư kích thích được gửi từ đối tượng này sang đối tượng  
khác.  
Một sự kiện là một việc sẽ xảy ra và có thể gây ra một hành động nào đó. Ví  
dụ như khi bạn bấm lên nút Play trên máy CD-Player, nó sẽ bắt đầu chơi nhạc (giả  
sử rằng CD-Player có điện, trong máy có đĩa CD và nói chung là dàn CD-Player  
hoạt động tốt). Sự kiện ở đây là bạn nhấn lên nút Play, và hành động ở đây là bắt  
đầu chơi nhạc. Nếu có một sự nối kết được định nghĩa rõ ràng giữa sự kiện và hành  
động, người ta gọi nó là quan hệ nhân quả (Causality).  
Trong công nghệ phần mềm, chúng ta thường chỉ mô hình hóa các hệ thống  
mang tính nhân quả, nơi sự kiện và hành động được nối kết với nhau. Một phản ví  
dụ của quan hệ nhân quả:  
Bạn lái xe trên xa lộ với tốc độ quá nhanh, cảnh sát ngăn xe lại. Đây không  
phải là nhân quả bởi hành động ngăn bạn lại của cảnh sát không chắc chắn bao giờ  
cũng xảy ra; vì thế mà không có một sự nối kết được định nghĩa rõ ràng giữa sự  
kiện (lái xe quá nhanh) và hành động (ngăn xe). Trong mô hình hóa, vậy là ta quan  
tâm đến sự kiện theo nghĩa là bất kỳ hành động nào khiến hệ thống phản ứng theo  
một cách nào đó.  
Quan sát ví dụ một nhà băng lẻ, ta có một vài ví dụ về sự kiện như sau:  
Điền một tờ giấy yêu cầu rút tiền.  
Sự đáo hạn một tài khoản đầu tư có kỳ hạn.  
Kết thúc một hợp đồng trước kỳ hạn.  
Điền một giấy yêu cầu mở tài khoản.  
Riêng ngôn ngữ UML biết đến tất cả bốn loại sự kiện:  
Một điều kiện trở thành được thỏa mãn (trở thành đúng)  
Nhận được một tín hiệu ngoại từ một đối tượng khác  
Nhận được một lời gọi thủ tục từ một đối tượng khác (hay từ chính đối  
tượng đó).  
Một khoảng thời gian xác định trước trôi qua.  
Xin chú ý rằng cả các lỗi xảy ra cũng là sự kiện và có thể mang tính hữu dụng rất  
lớn đối với mô hình.  
3.2.2.2 - Sự kiện độc lập và sự kiện phụ thuộc  
Các sự kiện có thể mang tính độc lập hay liên quan đến nhau. Có một số sự kiện,  
theo bản chất, phải đi trước hoặc là xảy ra sau các sự kiện khác. Ví dụ:  
Điền các chi tiết trong một tờ yêu cầu rút tiền mặt sẽ dẫn tới việc nhận  
được một số thẻ xếp hàng.  
Sự đáo hạn của một tài khoản đầu tư có kỳ hạn sẽ dẫn đến động tác gia  
hạn hoặc rút tiền mặt.  
Giáo viên biên soạn: Nguyễn Trần Phương  
61  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Điền các chi tiết trong một giấy yêu cầu mở tài khoản sẽ dẫn tới việc phải  
nộp một khoản tiền tối thiểu (theo quy định) vào tài khoản.  
Các sự kiện độc lập là những sự kiện không được nối kết với nhau trong bất kỳ  
một phương diện nào. Ví dụ:  
Rút tiền mặt và đưa tiền vào tài khoản là các sự kiện độc lập với nhau.  
Mở một tài khoản đầu tư có kỳ hạn và mở một tài khoản giao dịch là độc  
lập với nhau.  
Kết thúc trước kỳ hạn một tài khoản đầu tư và việc mở một tài khoản đầu  
tư có kỳ hạn khác là độc lập với nhau.  
Các sự kiện độc lập còn có thể được gọi là các sự kiện song song hay đồng thời.  
Bởi chúng không phụ thuộc vào nhau, nên các sự kiện này có thể xảy ra tại cùng  
một thời điểm.  
Trong nhiều trường hợp, một sự kiện riêng lẻ trong phạm vi vấn đề sẽ được chuyển  
tải thành nhiều sự kiện trong hệ thống. Ví dụ: đưa giấy yêu cầu rút tiền mặt cho  
nhân viên phát thẻ xếp hàng sẽ có kết quả là một loạt các sự kiện nối tiếp.  
Có những tình huống nơi một sự kiện riêng lẻ sẽ được nhận bởi nhiều đối tượng  
khác nhau và khiến cho chúng phản ứng thích hợp. Ví dụ như một lời đề nghị ngăn  
một tờ séc có thể đồng thời được gửi đến cho nhân viên thu ngân và nhân viên  
kiểm tra séc.  
3.2.2.3 -Sự kiện nội (internal) và sự kiện ngoại (external):  
Sự kiện nội là các sự kiện xảy ra trong nội bộ hệ thống. Đây là các sự kiện  
do một đối tượng này gây ra đối với đối tượng khác. Ví dụ, tính toán tiền lãi cho  
một tài khoản đầu tư có kỳ hạn sẽ được nội bộ hệ thống thực hiện, tuân theo một  
đối tượng quan sát ngày tháng.  
Sự kiện ngoại là những sự kiện được kích nên từ phía bên ngoài biên giới  
của hệ thống, ví dụ như sự kết thúc trước kỳ hạn một tài khoản đầu tư.  
3.2.2.4 - Sự kiện và lớp sự kiện:  
Lớp sự kiện đối với sự kiện cũng như lớp đối với đối tượng bình thường. Lời định  
nghĩa xác định một loại sự kiện được gọi là một lớp sự kiện.  
Lớp sự kiện ngoài ra còn có thể được phân loại:  
Các tín hiệu đơn giản: Lớp sự kiện trong trường hợp này sẽ được thực  
thể hóa để chỉ ra một sự kiện hoặc là một tín hiệu của một sự kiện.  
Các sự kiện chuyển tải dữ liệu: thường thì một sự kiện có khả năng và  
chuyển tải dữ liệu. Tất cả các sự kiện cần phải "biết đến” các đối tượng sẽ nhận  
được sự kiện này. Thông tin về người nhận sự kiện được gọi là thông tin nhận  
diện. Nói một cách khác, yếu tố nhận diện xác định các đối tượng sẽ nhận sự kiện.  
Bên cạnh đó, còn có thể có các dữ liệu bổ sung thuộc về các đối tượng khác, không  
nhất thiết phải là đối tượng gửi hay nhận sự kiện.  
Về mặt nguyên tắc, các sự kiện thuộc dạng phát tin (Broadcast) sẽ được truyền đến  
cho tất cả các đối tượng. Nếu sự kiện này là không quan trọng đối với đối tượng  
nào đó trong trạng thái hiện thời của nó thì đối tượng sẽ bỏ qua sự kiện.  
Giáo viên biên soạn: Nguyễn Trần Phương  
62  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
3.2.2.5 - Thông điệp (Message):  
Trong lập trình hướng đối tượng, một tương tác giữa hai đối tượng được  
thực thi dưới dạng thông điệp được gửi từ đối tượng này sang đối tượng khác.  
Trong ngữ cảnh này, yếu tố quan trọng là không nên hiểu danh từ "thông điệp” quá  
chính xác theo nghĩa văn học bình thường. Một thông điệp ở đây thường được thực  
hiện qua một lệnh gọi thủ tục đơn giản (một đối tượng này gọi một thủ tục của một  
đối tượng khác); khi thủ tục đã được thực hiện xong, quyền điều khiển được trao  
trở về cho đối tượng gọi thủ tục cùng với giá trị trả về. Một thông điệp mặt khác  
cũng có thể là một thông điệp thực thụ được gửi qua một số cơ chế giao tiếp nào  
đó, hoặc là qua mạng hoặc là nội bộ trong một máy tính, đây là điều thường xảy ra  
trong các hệ thống thời gian thực. Thông điệp được thể hiện trong tất cả các loại  
biểu đồ động (tuần tự, cộng tác, hoạt động và trạng thái) theo ý nghĩa là sự giao  
tiếp giữa các đối tượng. Một thông điệp được vẽ là một được thẳng với mũi tên nối  
giữa đối tượng gửi và đối tượng nhận thông điệp. Loại mũi tên sẽ chỉ rõ loại thông  
điệp. Hình 3.2 chỉ rõ các loại thông điệp được sử dụng trong UML.  
Hình 3.2: Các ký hiệu của các kiểu thông điệp  
Thông điệp đơn giản (simple): Chỉ miêu tả đơn giản chiều điều khiển.  
Nó chỉ ra quyền điều khiển được trao từ đối tượng này sang cho đối tượng khác mà  
không kèm thêm lời miêu tả bất kỳ một chi tiết nào về sự giao tiếp đó. Loại thông  
điệp này được sử dụng khi người ta không biết các chi tiết về giao tiếp hoặc coi  
chúng là không quan trọng đối với biểu đồ.  
Thông điệp đồng bộ (synchronous): thường được thực thi là một lệnh  
gọi thủ tục. Thủ tục xử lý thông điệp này phải được hoàn tất (bao gồm bất kỳ  
những thông điệp nào được lồng vào trong, được gửi như là một thành phần của sự  
xử lý) trước khi đối tượng gọi tiếp tục thực thi. Quá trình trở về có thể được chỉ ra  
dưới dạng thông điệp đơn giản.  
Thông điệp không đồng bộ (asynchronous): đây là dạng điều khiển  
trình tự không đồng bộ, nơi không có một sự trở về đối với đối tượng gọi và nơi  
đối tượng gửi thông điệp tiếp tục quá trình thực thi của mình sau khi đã gửi thông  
điệp đi, không chờ cho tới khi nó được xử lý xong. Loại thông điệp này thường  
được sử dụng trong các hệ thống thời gian thực, nơi các đối tượng thực thi đồng  
thời.  
Thông điệp đơn giản và thông điệp đồng bộ có thể được kết hợp với nhau trong chỉ  
một đường thẳng chỉ thông điệp với mũi tên chỉ thông điệp đồng bộ ở một phía và  
Giáo viên biên soạn: Nguyễn Trần Phương  
63  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
mũi tên chỉ thông điệp đơn giản ở phía kia. Điều này chỉ rõ rằng sự trả về được xảy  
ra hầu như ngay lập tức sau lệnh gọi hàm.  
3.3. MỐI QUAN HỆ GIỮA CÁC THỰC THỂ  
Như đã trình bày ở phần trên các thực thể đều có mối quan hệ theo  
[GTPTTK.ĐHQG] mối quan hệ (Relationship - Có tài liệu gọi là mối kết hợp)  
trong mô hình CSDL quan hệ : Số thực thể trong mối quan hệ là số chiều của mối  
quan hệ đó. Mối quan hệ một chiều gọi là đơn nguyên hoặc đệ quy; Mối quan hệ  
có từ 2 chiều trở lên gọi là quan hệ đa nguyên.  
Ví dụ: về mối quan hệ một chiều.  
Hình 3.3: Mối quan hệ một chiều  
Những người phụ trách đào tạo của Trường mong muốn tạo lập một CSDL  
về các môn đào tạo của trường và học viên ghi danh vào những môn học này.  
Trường cũng có qui định là tại một thời điểm, học viên chỉ có thể ghi danh vào một  
môn học. Họ chỉ quan tâm về dữ liệu của đợt ghi danh hiện tại. Một khi học viên  
kết thúc môn học thì nhà trường sẽ không còn quan tâm đến họ và những học viên  
này phải được xóa khỏi CSDL. Thông tin cần lưu trữ về một học viên bao gồm:  
mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại, ngày nhập học của  
học viên; Thông tin về môn học gồm mã môn học, tên môn học, thời lượng.  
Đặc tả vấn đề  
Phần đặc tả vấn đề chứa đựng các qui tắc quản lý và dữ liệu yêu cầu của vấn đề.  
Chúng ta phải nhận diện được chúng và mô hình chúng trong mô hình ER.  
Thành phần dữ liệu  
Dữ liệu yêu cầu của vấn đề là:  
. Chi tiết về học viên có mã học viên, tên học viên, địa chỉ, ngày sinh, số điện  
thoại và ngày nhập học.  
. Chi tiết về môn học có mã môn học, tên môn học và thời lượng.  
Qui tắc quản lý  
Qui tắc quản lý của vấn đề là:  
. Mỗi học viên chỉ có thể ghi danh vào một môn học.  
. Nhiều học viên có thể ghi danh vào một môn học.  
. Nhà trường chỉ quan tâm đến những học viên của môn học hiện tại.  
Những khía cạnh khác  
Người phụ trách đào tạo là người dùng cuối mà chúng ta xây dựng mô hình dữ liệu  
và là CSDL cho họ, là người mà ta có thể thu thập thông tin cần thiết cho vấn đề.  
Học viên học xong môn học và không ghi danh học tiếp môn học khác phải được  
Giáo viên biên soạn: Nguyễn Trần Phương  
64  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
xóa khỏi CSDL. Đây là yêu cầu chức năng của hệ thống mà ta phải thực hiện. Yêu  
cầu chức năng không ảnh hưởng đến mô hình dữ liệu.  
. Nhà trường chỉ quan tâm đến môn học hiện tại. Điều này cho thấy khía cạnh  
tạm thời của dữ liệu và chúng được đưa vào nhằm mục đích làm đơn giản bài toán.  
3.3.1 Xây dựng mô hình ER  
Mô hình ER (Entity Relationship Model; Entity Relationship Diagram)  
Hình 3.4 : Mô hình ER mối quan hệ HỌC_VIÊN và MÔN_HỌC  
Mô hình ER đôi khi còn được gọi là mô hình ý niệm dữ liệu (Conceptual  
Data Model) hay đơn giản là mô hình dữ liệu (data model)  
Các tính chất trong mô hình ER  
Tập thực thể (entity type, regular entity type,entity class, generic entity):  
Hình chữ nhật được gọi là tập thực thể. Tên của tập thực thể được ghi bên trong  
hình chữ nhật và dùng danh từ để đặt tên cho tập thực thể.  
Thực thể (instance, entity instance): Một tập thực thể có nhiều phần tử có  
cùng loại. Mỗi một phần tử như vậy được gọi là một thực thể.  
Mối kết hợp (relationship): Đường nối giữa hai tập thực thể được gọi là mối  
kết hợp. Mối kết hợp trong vấn đề trên là mối kết hợp một-nhiều (1:N). Nội dung  
của mối kết hợp được diễn tả theo hai chiều: “ghi danh vào”, “được ghi danh bởi”  
Thuộc tính (attribute): Các dữ liệu ghi bên cạnh tập thực thể được gọi là  
thuộc tính. Chúng cung cấp thông tin chi tiết về tập thực thể. Có hai loại thuộc  
tính:  
Thuộc tính nhận diện hay còn gọi là định danh (identifier) là thuộc tính để  
phân biệt thực thể (instance) này với thực thể kia trong tập thực thể.  
Thuộc tính mô tả (descriptive attribute) là thuộc tính cung cấp thông tin chi  
tiết hơn về thực thể trong tập thực thể.  
Biểu diễn qui tắc doanh nghiệp trên mô hình  
Mô hình ER trên đã diễn tả được hai qui tắc quản lý là: Mỗi HỌC VIÊN ghi  
danh vào một MÔN HỌC; Mỗi MÔN HỌC được ghi danh bởi một hay nhiều HỌC  
VIÊN.  
Ví dụ : Mối kết hợp một-một (1:1)  
Để quản lý lý lịch cá nhân những người lái xe và bằng lái của họ. Một người  
chỉ được cấp một bằng lái và một bằng lái chỉ thuộc về một người. Thông tin về lái  
xe đáng quan tâm là:  
Mã người lái xe  
Giáo viên biên soạn: Nguyễn Trần Phương  
65  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Tên  
Địa chỉ  
Ngày sinh  
Thông tin về bằng lái cần lưu trữ quản lý là:  
Mã bằng lái  
Loại bằng lái  
Ngày hết hạn  
Hình 3.5 : Mô hình ER mối quan hệ NGƯỜI_LÁI_XE và BẰNG_LÁI  
Các mối quan hệ:  
Mỗi NGƯỜI LÁI XE chỉ lấy được một BẰNG LÁI  
Mỗi BẰNG LÁI chỉ thuộc về một NGƯỜI LÁI XE  
Ví dụ: Mối kết hợp nhiều-nhiều  
Người phụ trách đào tạo Trường mong muốn thiết lập một CSDL về các  
môn học mà họ cung cấp và các học viên ghi danh vào các môn học này. Nhà  
trường qui định là một học viên được ghi danh học tối đa ba môn học trong cùng  
một lúc. Họ chỉ quan tâm đến dữ liệu của môn học hiện tại. Một khi học viên kết  
thúc môn học, họ sẽ không còn thuộc diện quản lý của nhà trường và phải được  
xóa khỏi CSDL trừ khi học viên này ghi danh học tiếp môn mới. Thông tin về một  
học viên gồm: mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại, ngày  
nhập học của học viên; Thông tin về môn học gồm: mã môn học, tên môn học, thời  
lượng  
Mô hình thực thể thể hiện  
Để làm rõ hơn các qui tắc quản lý của doanh nghiệp, người ta dùng một mô  
hình để biểu diễn một vài dữ liệu ví dụ gọi là mô hình thực thể thể hiện:  
Hình 3.6: Mô hình thực thể của Trường  
Giáo viên biên soạn: Nguyễn Trần Phương  
66  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Jenny là một thực thể (entity instance) của tập thực thể học viên.  
Mô hình ER  
Hình 3.7 : Mô hình ER đào tạo của trường  
Các mối quan hệ:  
Mỗi HỌC VIÊN ghi danh vào một hay nhiều MÔN HỌC  
Mỗi MÔN HỌC được ghi danh bởi một hay nhiều HỌC VIÊN  
Mô hình ER trên có mối kết hợp nhiều nhiều.  
Loại bỏ bản số kết nối nhiều nhiều (nếu có thể)  
Mô hình trên gặp phải khuyết điểm sau:  
Ngày nhập học là thuộc tính gắn liền với tập thực thể HỌC VIÊN sẽ không  
hợp lý vì không diễn tả được trường hợp học viên học cùng lúc nhiều môn học.  
Còn nếu ngày nhập học là thuộc tính của MÔN HỌC thì không diễn tả được  
tình trạng cùng môn học nhưng học viên có các ngày nhập học khác nhau.  
Để giải quyết vấn đề này ta phải đưa vào:  
Hình 3.8 : Mô hình ER đào tạo của trường  
Một tập thực thể làm trung gian giữa HỌC VIÊN và MÔN HỌC gọi là tập  
kết hợp PHIẾU GHI DANH (associative Entity, intersection entity). PHIẾU  
GHI DANH là tập thực thể yếu (weak Entity)  
Thuộc tính nhận diện của tập kết hợp là sự kết hợp giữa thuộc tính nhận diện  
của tập thực thể HỌC VIÊN và MÔN HỌC  
Thuộc tính mô tả của tập kết hợp là ngày nhập học  
Bản số mối quan hệ của tập kết hợp với tập thực thể là một-nhiều (1:n)  
Nội dung của mối kết hợp giữa các tập thực thể là:  
Mỗi HỌC VIÊN có một hay nhiều PHIẾU GHI DANH  
Mỗi PHIẾU GHI DANH thuộc về một HỌC VIÊN  
Mỗi PHIẾU GHI DANH ghi nhận đào tạo về một MÔN HỌC  
Mỗi MÔN HỌC được ghi nhận đào tạo bởi một hay nhiều PHIẾU GHI  
DANH  
Giáo viên biên soạn: Nguyễn Trần Phương  
67  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Các qui tắc phải tuân thủ khi thêm tập kết hợp làm trung gian để loại bỏ bản số kết  
nối nhiều nhiều:  
Phải nhận diện được thuộc tính mô tả của tập kết hợp.  
Nếu có thuộc tính mô tả thì tạo tập kết hợp làm trung gian giữa hai tập thực  
thể.  
Nếu không có thuộc tính mô tả thì vẫn giữ nguyên mô hình như Hình 3.7.  
3.3.1.1 Mô hình ER theo ký hiệu của CHEN  
Hình 3.9 : Mô hình ER MÔN HỌC/HỌC VIÊN của trường theo ký hiệu của  
Chen's  
Hình 3.10 - Mô hình ER người lái xe/bằng lái theo ký hiệu của Chen's  
Hình 3.11 : Mô hình ER MÔN HỌC/HỌC VIÊN của trường theo ký hiệu của  
Chen's quan hệ n:n  
Trong đó Ghi danh có thêm các thuộc tính:  
MÃ HỌC VIÊN  
MÃ MÔN HỌC  
NGÀY NHẬP HỌC  
3.3.1.2 Phiếu thực thể thuộc tính  
Cách diễn tả thuộc tính bên cạnh mô hình ER không phù hợp cho mô hình  
có qui mô lớn. Trong trường hợp này kèm theo mô hình ER có phiếu thực thể  
thuộc tính. Từ ví dụ Hình 3.8:  
Phiếu thực thể – thuộc tính  
Dự án: Hệ ghi danh học viên  
Tập thực thể Tên khác  
HỌC VIÊN  
Ngày: xx.xx.xxxx  
Thuộc tính  
MÃ HỌC VIÊN  
TÊN HỌC VIÊN  
Tên khác  
Giáo viên biên soạn: Nguyễn Trần Phương  
68  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
ĐỊA CHỈ  
NGÀY SINH  
SỐ ĐIỆN THOẠI  
MÔN HỌC  
MÃ MÔN HỌC  
TÊN MÔN HỌC  
THỜI LƯỢNG  
PHIẾU GHI DANH  
MÃ HỌC VIÊN  
MÃ MÔN HỌC  
NGÀY NHẬP HỌC  
Bảng 3.12: Phiếu thực thể thuộc tính của Trường  
3.3.2 Bản số  
Mối kết hợp của vấn đề trên là mối kết hợp hai ngôi (binary relationship) có  
bản số (cardinality, degree of relationship) kết nối một nhiều. Bản số kết nối một-  
nhiều rất phổ biến trong mô hình ER. Hai loại bản số kết nối còn lại ít phổ biến  
hơn nhưng không kém phần quan trọng là mối kết hợp một-một và mối kết hợp  
nhiều-nhiều.  
Giả sử ta đã hoàn thành giai đoạn phân tích dữ liệu, thì đây cũng là lúc  
chúng ta phải hoàn thành phần đặc tả vấn đề và phần việc còn lại chính là tập trung  
cấu trúc hóa dữ liệu hay nói cách khác đo đếm các mối quan hệ (kết hợp) nhằm  
mục tiêu hạn chế dư thừa dữ liệu. Việc này có ý nghĩa cực kỳ quan trọng đặc biệt  
trong việc giảm chi phí trong tiến trình thực hiện dự án tin học hóa.  
3.3.2.1 Các bước cấu trúc hóa dữ liệu  
Bƣớc 1: Nhận diện các tập thực thể  
Tập thực thể là gì? tập thực thể phải là một đối tượng (sự vật, sự việc) thực  
hay trừu tượng có liên quan đến vấn đề, liên quan đến dữ liệu cần lưu trữ. Tên tập  
thực thể được diễn tả bằng một danh từ như:  
XE trong Hệ quản lý bằng lái.  
KHẾ ƯỚC trong Hệ Bảo hiểm nhân thọ.  
SINH VIÊN trong Hệ thống thông tin sinh viên.  
GIAI ĐOẠN CẤT CÁNH trong Hệ thông tin các chuyến bay.  
CHUYẾN BAY trong Hệ thông tin các chuyến bay.  
Tập thực thể phải có trên một thực thể ngược lại, ta không mô hình nó thành  
tập thực thể; Mỗi tập thực thể phải có ít nhất một thuộc tính mô tả; Tập thực thể  
phải kết hợp với ít nhất một tập thực thể khác. Tập thực thể không thể đứng riêng  
lẻ; Tập thực thể phải có thuộc tính nhận diện để phân biệt thực thể này với thực thể  
kia trong tập thực thể.  
Bƣớc 2: Nhận diện mối kết hợp giữa các tập thực thể  
Tên tập thực thể kết hợp với tên mối kết hợp tạo thành câu diễn tả qui tắc  
quản lý của doanh nghiệp; Tên mối kết hợp phải được diễn tả theo hai chiều; Bản  
số (cardinality) của mối kết hợp phải là một trong các giá trị sau một-một (1:1),  
một-nhiều (1:N), nhiều–nhiều (N:N); Nếu mối kết hợp giữa hai tập thực thể là  
nhiều nhiều và tồn tại một thuộc tính không thuộc về một trong hai tập thực thể  
này thì ta phải bổ sung thêm tập thực thể kết hợp như Hình 3.8.  
Giáo viên biên soạn: Nguyễn Trần Phương  
69  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Bƣớc 3: Gắn thuộc tính mô tả vào tập thực thể  
Khái niệm: Thuộc tính là tính chất cơ bản gắn liền với thực thể. Ví dụ như:  
XE có các thuộc tính:  
Cấu tạo  
Kiểu dáng  
Năm sản xuất  
Màu  
Số máy  
BẢO HIỂM có các thuộc tính:  
Loại bảo hiểm  
Ngày bảo hiểm  
Ngày hết hạn  
Phí bảo hiểm hàng năm  
Tóm lại sau ba bƣớc ta có sơ đồ sau:  
DỮ LIỆU YÊU CẦU  
B1. Nhận diện các tập thực thể và thuộc tính nhận diện  
- Nhận diện các tập thực thể  
- Ghi nhận tên khác trong từ điển dữ liệu hay phiếu thực thể thuộc  
tính  
Mỗi tập thực thể cần kiểm tra các tính chất sau:  
- Có nhiều thực thể không  
- Có thuộc tính nhận diện không  
- Có thuộc tính mô tả không  
- có mối quan hệ với tập thể khác không  
B2. Nhận diện mối quan hệ giữa các tập thực thể  
- Thiết lập mối quan hệ giữa các tập thực thể  
(vẽ đường nối và diễn tả nội dung mối quan hệ theo hai chiều)  
- Xác định bản số mối quan hệ  
-Xác định tập kết hợp trong mối quan hệ nhiều-nhiều nếu được  
MÔ HÌNH DỮ LIỆU  
B3. Gắn thuộc tính mô tả vào tập thực thể  
- Gắn một lần duy nhất mỗi thuộc tính vào tập thực thể thích hợp  
Hình 3.13 : Các bước và công việc thực hiện trong mô hình hóa dữ liệu  
Giáo viên biên soạn: Nguyễn Trần Phương  
70  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
3.3.2.2 Thực hành các bước mô hình hóa dữ liệu  
Ví dụ: Công ty kinh doanh kim khí X  
Một công ty kinh doanh kim khí X hoạt động trong lãnh vực kho hàng có  
chức năng phân phối hàng. Công ty mua hàng từ các nhà cung cấp khác nhau. Lưu  
trữ về hàng có các thông tin như mã hàng, mô tả. Công ty có nhu cầu lưu trữ mã  
nhà cung cấp, tên, địa chỉ, số điện thoại và số fax.  
Doanh nghiệp phải cạnh tranh, nên một mặt hàng được lấy từ nhiều nhà  
cung cấp khác nhau và mỗi lần giao, nhà cung cấp có thể giao với số lượng tối đa  
theo qui định của từng mặt hàng của từng nhà cung cấp. Hàng được đóng bao bì.  
Mỗi bao bì có mã bao bì và kích thước.  
Đôi khi bao bì lại quá nhỏ để chứa tất cả hàng vì thế hàng được chứa trên  
nhiều bao bì. Tuy nhiên, không thể có hai mặt hàng cùng chứa trong một bao bì.  
Hãy xây dựng mô hình ER cho bài toán trên. Sử dụng các bước và các hoạt động  
như Hình 3.13.  
Thực hiện các bƣớc  
Bƣớc 1: Nhận diện thực thể chính (bản chất là tìm khóa).  
Tìm danh từ diễn tả đối tượng hay khái niệm của bài toán như:  
Công ty kinh doanh kim khí X, công ty, doanh nghiệp  
Kho hàng  
Hàng, mặt hàng  
Nhà cung cấp  
Bao bì  
Hình 3.14 : Các tập thực thể và thuộc tính nhận diện của công ty kim khí X  
Bƣớc 2: Nhận diện mối kết hợp giữa các thực thể  
Hàng được mua từ nhiều nhà cung cấp  
Hàng được chứa trên nhiều bao bì  
Bản số của thực thể  
Mỗi mặt hàng được mua từ một hay nhiều nhà cung cấp  
Mỗi nhà cung cấp cung cấp một hay nhiều mặt hàng  
Mỗi mặt hàng được chứa trong một hay nhiều bao bì  
Mỗi bao bì chứa một mặt hàng  
Giáo viên biên soạn: Nguyễn Trần Phương  
71  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Mối kết hợp giữa hai tập thực thể MẶT HÀNG và NHÀ CUNG CẤP là mối kết  
hợp nhiều-nhiều  
Bƣớc 3: Gắn các thuộc tính vào tập thực thể.  
MẶT HÀNG  
. Mã hàng  
. Mô tả  
?????  
NHÀ CUNG CẤP  
. Mã nhà cung cấp  
. Tên  
. Địa chỉ  
. Số điện thoại  
. Số fax  
?????  
BAO BÌ  
. Mã bao bì  
. Kích cỡ  
. Số lượng tối đa  
?????  
Trong bước ba, bản số kết nối nhiều-nhiều phải được giải thành hai bản số kết nối  
một-nhiều vì tồn tại thuộc tính số lượng tối đa không là thuộc tính của cả MẶT  
HÀNG lẫn NHÀ CUNG CẤP. Kết quả như hình 3.16.  
Hình 3.16 : Thuộc tính mô tả đã được đưa vào ứng dụng quản lý tại Cty X  
3.3.2.3 Từ điển dữ liệu (Data Dictionnary)  
Nhằm làm rõ hơn các khái niệm của vấn đề, người ta phải xây dựng từ điển  
dữ liệu để giải thích thêm ý nghĩa của các tập thực thể và thuộc tính. Ví dụ tập thực  
thể hàng.  
Giáo viên biên soạn: Nguyễn Trần Phương  
72  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
Sẽ có từ điển dữ liệu như sau:  
Thực thể  
Tên khác  
Mô tả  
MẶT HÀNG  
hàng, sản phẩm, hàng hóa  
Hàng là những thứ được mua với số lượng khác nhau từ các nhà  
cung ứng, được lưu trữ trong kho và bán cho khách hàng  
Thuộc tính Mã hàng: Là một số dùng để phân biệt mặt hàng này với mặt  
hàng kia. Giá trị có dạng 0001->9999  
Mô tả:  
Mô tả mặt hàng gồm qui cách và hình dáng. Loại dữ  
liệu chuỗi gồm 100 ký tự. Có thể có giá trị rỗng  
Đơn giá hiện tại của mặt hàng. Có loại dữ liệu số với 2  
số thập phân, có giá trị từ 10 đến 50. Giá trị mặc nhiên  
là 0.  
Đơn giá:  
Thuế suất: Tỉ suất thuế bán của mặt hàng được ghi dưới dạng phần  
trăm. Có loại dữ liệu số, có giá trị từ 0 đến 99. Giá trị  
mặc nhiên 0.  
Như đã trình bày ở chương 2. Thuộc tính cần đề cập các nội dung sau:  
Giải thích ngữ nghĩa.  
Xác định kiểu dữ liệu.  
Xác định miền giá trị  
Xác định giá trị mặc nhiên  
Cho phép để rỗng không  
Xác định các ràng buộc khác  
3.3.3 Các bài tập về xác định bản số  
Bài tập 1:  
Vẽ sơ đồ quan hệ giữa người ở trong nhà. Xác định bản số của quan hệ đó.  
Bài tập 2:  
Xác định bản số của người trong mối quan hệ kết hôn.  
Bài tập 3:  
Vẽ sơ đồ quan hệ dạy học của thầy và trò. Xác định bản số của quan hệ đó.  
Bài tập 4:  
Trường Cao đẳng KTKTHB xem xét lại vấn đề học viên/môn học và quyết  
định đưa chi tiết về các môn vào cơ sở dữ liệu của họ. Thông tin về các môn có mã  
các môn, tên các môn, thời lượng. Hãy sửa đổi mô hình ER sao cho nó thể hiện  
được các qui tắc quản lý sau:  
(1) Một học viên có thể đăng ký học nhiều các môn và một môn được học  
bởi nhiều học viên.  
(2) Một môn học bao gồm một số học phần và một học phần chỉ thuộc về  
một môn học.  
(3) Một môn có tính bắt buộc còn một số môn khác có tính tự chọn.  
(4) Điểm của học viên của mỗi môn cũng được ghi nhận.  
Bài tập 5:  
Giáo viên biên soạn: Nguyễn Trần Phương  
73  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
HT mua hàng (nhận diện bởi mã hàng) từ các nhà cung cấp (nhận diện bởi  
mã nhà cung cấp) khác nhau. Việc giao hàng được thực hiện theo thông lệ, thông  
thường và số lượng của từng mặt hàng trong mỗi lần giao của từng nhà cung cấp  
được ghi nhận. Một nhà cung cấp có thể cung cấp cùng mặt hàng nhưng không  
cùng ngày. Đơn giá cung cấp của một mặt hàng có thể khác nhau trong từng  
chuyến hàng. HT mong muốn ghi nhận mô tả mặt hàng và đơn giá cũng như số  
lượng đã được cung cấp. Tên, địa chỉ, số điện thoại và số fax của nhà cung cấp  
cũng được lưu vào cơ sở dữ liệu. Hãy xây dựng mô hình ER và phiếu thực thể  
thuộc tính của vấn đề.  
Bài tập 6:  
Hãy sửa đổi bài tập 4 cho phép sự thay đổi về qui tắc quản lý của trường cao đẳng  
KTKTHB sao cho:  
(1) Một học phần có thể nằm trong nhiều môn học.  
(2) Một học viên có thể đăng ký vào một môn học hơn một lần (chẳng hạn  
Bùi Văn Hùng rút khỏi Lớp nông lâm ở học kỳ 1 năm 2006 và có đăng ký lại trong  
học kỳ 2. Quách Đình Tuấn đã rớt trong kỳ thi thực hành tay nghề nhưng được  
phép đăng ký học lại vào học kỳ tiếp vì anh đã đạt kết quả tốt trong các môn khác.  
Bài tập 7:  
NOS là một nhà cung cấp đồ dùng văn phòng và trang thiết bị văn phòng  
cho các tổ chức doanh nghiệp trong cả nước. Họ sử dụng đường bưu điện để nhận  
và gởi đơn hàng, ca-ta-lô theo thông lệ thông thường. Có nhiều loại ca-ta-lô, chẳng  
hạn loại ca-ta-lô tuần, loại ca-ta-lô tháng, loại ca-ta-lô qúi. Họ cũng có các loại ca-  
ta-lô chuyên mục về một số mặt hàng, chẳng hạn:  
Loại ca-ta-lô OE chuyên về trang thiết bị văn phòng.  
Loại ca-ta-lô PS chuyên về sản phẩm giấy và đồ dùng văn phòng.  
Loại ca-ta-lô CE chuyên về trang thiết bị máy tính và các phụ kiện.  
NOS mong muốn lưu trữ chi tiết về sản phẩm mà họ cung cấp cụ thể mã  
hàng, mô tả, màu sắc và đơn vị tính. Chủng loại các mặt hàng trong mỗi loại ca-ta-  
lô thì khác nhau từ vài trăm cho loại ca-ta-lô tuần đến vài ngàn cho loại ca-ta-lô  
quí. Một sản phẩm có thể xuất hiện trên nhiều loại ca-ta-lô.  
NOS phát hành các loại ca-ta-lô theo từng đợt xuất bản. Một sản phẩm chỉ  
xuất hiện một lần trên một ca-ta-lô nhưng có thể có các giá khác nhau trên các đợt  
xuất bản khác nhau. Mỗi ca-ta-lô có một ngày bắt đầu khuyến mãi và ngày kết thúc  
khuyến mãi. Thời gian khuyến mãi của các ca-ta-lô khác nhau có thể trùng lên  
nhau chẳng hạn:  
Trùng một phần: ca-ta-lô tuần có thời gian khuyến mãi trùng một phần  
với ca-ta-lô quí.  
Trùng toàn bộ: ca-ta-lô CE có thể có cùng thời gian khuyến mãi với ca-  
ta-lô tuần.  
Hãy xây dựng mô hình ER của vấn đề và chú ý đến sự kiện giá một mặt hàng thì  
khác nhau trong các ca-ta-lô khác nhau, trong các khoảng thời gian khác nhau.  
Bài tập 8:  
Sửa đổi bài tập 7 sao cho NOS có thể ghi nhận hàng đã cung cấp cho khách  
hàng. Thông tin về khách hàng có mã khách hàng, họ tên, địa chỉ. Khi một khách  
Giáo viên biên soạn: Nguyễn Trần Phương  
74  
Trường Trung học Kinh tế Kỹ thuật Hòa Bình – Ngành Công nghệ Thông tin - Môn Phân tích & Thiết kế hệ thống  
hàng đặt mua hàng từ NOS thì mã ca-ta-lô (như OE, PS) và đợt xuất bản được ghi  
kèm theo mã hàng trong đơn hàng. Điều này cho phép NOS cung cấp cho khách  
hàng, sản phẩm có giá đúng với ca-ta-lô của khách hàng. Một đơn hàng có nhiều  
mặt hàng và mỗi mặt hàng đều có số lượng đặt mua. Thông tin về đơn hàng có số  
đơn hàng (duy nhất), ngày đơn hàng và chi tiết khách hàng.  
Giáo viên biên soạn: Nguyễn Trần Phương  
75  
pdf 20 trang myanh 25100 Free
Bạn đang xem tài liệu "Bài giảng Phân tích & Thiết kế hệ thống - Chương 3: Mô hình hoá quan niệm - Nguyễn Trần Phương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_phan_tich_thiet_ke_he_thong_chuong_3_mo_hinh_hoa_q.pdf