Bài giảng Phân tích & Thiết kế hệ thống - Chương 4: Mức tổ chức và vật lý - 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 4:  
MỨC TỔ CHỨC VÀ VẬT LÝ  
Chƣơng này trình bày các nội dung trọng tâm:  
- Cung cấp phƣơng pháp để xây dựng và mô hình hoá các vật lý  
- Học sinh, sinh viên biết lựa chọn kết hợp cả hƣớng đối tƣợng, hƣớng chức  
năng để giải quyết bài toán và một công cụ thích hợp cho phát triển phần mềm  
- Học sinh, sinh viên có thể sử dụng một công cụ để phát triển một phần  
mềm.  
- Giới thiệu một số công cụ hiện có và đang đƣợc sử dụng rộng rãi trên thị  
trƣờng  
4.1 MÔ HÌNH TỔ CHỨC VỀ XỬ LÝ  
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 nêu trên. Tất nhiên những phƣơng pháp phân tích  
hiện đại không giải quyết nhƣ nhau toàn bộ tiến trình phân tích ý niệm hoá một áp  
dụng tin học, không dùng cùng một tên để chỉ cùng một khái niệm. Cũng không  
xem xét tất cả các công cụ tin học dƣới cùng một góc độ. Song, có thể khẳng định  
là chúng đều cùng theo các mục tiêu và cũng chịu ảnh hƣởng của những định  
hƣớng dƣới đây:  
Có tiếp cận toàn cục bằng cách xét mỗi phần tử, mỗi dữ liệu, mỗi chức năng  
là bộ phận của một tổng thể toàn vẹn. Sự hiểu biết tổng thể toàn vẹn này rất cần  
thiết cho việc phát triển tốt của mỗi bộ phận trong nó.  
Xét toàn bộ tổ chức, phòng ban, xƣởng, vị trí làm việc v.v... là một phần tử  
có cấu trúc, một hệ thống có những dòng vào, dòng ra, các quy tắc hoạt động và  
quản lý hệ thông tin của mình v.v...  
Có một cách tiếp cận phân tích và ý niệm đi xuống, hƣớng vào việc nhận  
thức và ra quyết định thoạt tiên một cách tổng quát, sau đến là những đặc thù, cái  
thứ nhất, tiếp đến là cái thứ hai v.v...  
Nhận dạng những mức trừu tƣợng và bất biến của hệ thống đƣợc nghiên cứu  
phụ thuộc vào khoảng thời gian của vòng đời, vai trò lớn hay nhỏ của việc lựa chọn  
các kỹ thuật và các tổ chức có liên quan.  
Nhận dạng các thành phần, dữ liệu, xử lý, bộ xử lý, v.v… của hệ thống mà  
không có sự "thiên vị" nào đối với chúng.  
Vận dụng những công cụ thủ công, tự động hoá trợ giúp cho việc phân tích.  
Nhận dạng những điểm đối thoại và thoả thuận với ngƣời sử dụng, những  
điểm này dùng để đánh dấu sự chuyển tiếp giai đoạn trong quá trình phân tích.  
4.1.1 Các yếu tố tổ chức  
Nhƣ đã trình bày ở chƣơng 3, mức tổ chức cùng hƣớng tới việc xây dựng hai mô  
hình: Mô hình dữ liệu và Mô hình xử lý.  
Giáo viên biên soạn: Nguyễn Trần Phương  
76  
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ục tiêu khi xây dựng mô hình dữ liệu ở mức vật lý là làm rõ các khía cạnh  
về giải pháp thực hiện cụ thể tại các điểm công tác cụ thể hơn là ai? ở đâu? Làm  
nhƣ thế nào?  
Mục tiêu khi xây dựng mô hình xử lý ở mức vật lý là tính định kỳ, thời hạn  
đáp ứng của hệ thống và mức độ tự động hóa của phần mềm có thể thực hiện đƣợc.  
Để tƣờng minh chúng ta cùng nhau xét một ví dụ về giao dịch tài chính qua  
tài khoản tại một ngân hàng:  
Trƣớc kia khi thực hiện thủ công, một doanh nghiệp hoặc cá nhân khi lƣu  
chuyển tiền qua ngân hàng ngƣời ta phải kiểm tra số dƣ tài khoản trƣớc khi có  
nghiệp vụ lƣu chuyển sau đó chủ tài khoản phải điền thông tin chủ yếu là mã số  
thuế và lƣợng tiền cần lƣu chuyển. Nhân viên ngân hàng sẽ kiểm tra sổ sách đối  
chiếu để kiểm ghi giá trị mới của tài khoản sau khi đã tính tới thuế nếu có. Cuối  
cùng thì nghiệp vụ giao dịch này mới bổ xung tài chính bằng phiếu báo có hoặc nợ  
cho tài khoản đó thƣờng thì thủ tục này phải thực trong vòng 15 ngày.  
Bây giờ khi sử dụng một phần mềm chẳng hạn nhƣ sử dụng thẻ ATM thì chủ  
tài khoản chỉ cần ghi nhập số tiền cần chuyển vào tài khoản phần mềm hệ thống sẽ  
tự kiểm tra mã tài khoản, mã số thuế và cộng tổng giá trị để có số dƣ hiện có, trả  
kết quả lập tức nếu là tiền mặt hoặc sau vài ngày nếu là chuyển khoản. Còn đối với  
việc rút tiền thì đơn giản hơn nhiều chỉ sau vài phút.  
Xét về mục đích thì thì rõ ràng hai quy trình này là nhƣ nhau thế nhƣng về  
quan niệm thì đây là giải pháp hoàn toàn khác nhau về cách tổ chức vì trong quá  
trình kiểm tra thủ công thì ít nhất phải có hai công đoạn báo nợ và báo có cho một  
tài khoản. Còn sử dụng phần mềm chỉ duy nhất một lần báo nợ, có mà thôi.  
Sau đây là các yếu tố tổ chức đáng quan tâm khi phát triển dự án dù cho cách  
thức tiếp cận hƣớng đối tƣợng hay tiếp cận hƣớng chức năng:  
Điểm công tác: Nhƣ đã trình bày ở chƣơng 2 nếu tiếp cận hƣớng đối tƣợng  
thì là đây ghi nhận các hành vi hoạt động còn nếu tiếp cận hƣớng chức năng thì đây  
ghi nhận một số công đoạn phải thực hiện.  
Bản chất của việc xử lý: Thể hiện mức độ tự động hóa. Thông thƣờng trong  
các hệ thông tin đủ phức tạp ngƣời ta phối hợp, phân chia thành các phân hệ. Mỗi  
phân hệ có đầy đủ các đặc tính của một hệ thống bao gồm Hệ quản trị - Hệ thông  
tin - Hệ tác nghiệp. Trong đó hệ quản trị chính là hoạt động chính bao trùm hệ  
thống hay chính là nhiệm vụ cơ bản của tổ chức (có tài liệu còn gọi là hạt nhân của  
hệ thống).  
Hệ thống tin bao gồm luồng thông tin và khối lƣợng thông tin cần trao đổi  
của hệ thống; Hệ tác nghiệp gồm toàn bộ quá trình xử lý thông tin. Ví dụ nhƣ xem  
xét mô hình tổ chức tại một trƣờng trung cấp ta thấy: Nhiệm vụ đào tạo bao trùm  
toàn bộ hoạt động, các nhiệm vụ bổ trợ nhƣ tài chính, quản lý cơ sở vật chất, quản  
lý giảng viên, v.v.. theo mô hình 4.1.  
Xử lý tương tác người – Máy: Xử lý bằng máy nhƣng cần thông tin tức thời  
trong quá trình xử lý.  
Giáo viên biên soạn: Nguyễn Trần Phương  
77  
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 4.1 : Phân hệ trƣờng trung cấp chuyên nghiệp HB  
Xử lý hàng loạt: Xử lý thứ tự các công việc theo theo một trình tự cho trƣớc.  
Nhƣng phân biệt sự khác nhau giữa hiện trạng và giửi pháp thiết kế sau này.  
Thời gian: Thông thƣờng các vấn đề về yếu tố thời gian có liên quan đến dây  
chuyền xử lý, thời hạn và tính chu trình và thƣờng thì không diễn tả bằng các công  
thức đƣợc.  
4.1.2 Các quy tắc tổ chức  
Các quy tắc tổ chức là một phần của mức tổ chức. Tuy nhiên nhƣ đã trình  
các quy tắc tổ chức cũng phụ thuộc và mức quan niệm.  
Mỗi điểm công tác sẽ có các quy tắc tổ chức liên quan cơ cấu tổ chức con  
ngƣời và mối quan hệ đến các đối tƣợng đó.  
Cách thức xử lý thì phụ thuộc vào hai yếu tố chính là điều kiện kỹ thuật cho  
phép và kỹ năng của con ngƣời tham gia hệ thống nằm lẫn trong mỗi công đoạn  
cùng với quy tắc quản lý.  
4.1.3 Khái niệm pha  
Pha là chuỗi các nhiệm vụ nối tiếp nhau sao cho chúng cùng xảy cùng một  
điểm công tác và cùng cách thức xử lý. Pha là hoạt động của hệ thống có tính đến  
các yếu tố tổ chức.  
Ở mức quan niệm với các khái niệm công đoạn, công việc, quá trình, mô  
hình hệ thống và các nhiệm vụ. Trong mức tổ chức các nhiệm vụ đó đƣợc kết hợp  
với các yếu tố tổ chức, theo [GTPTTK.ĐHQG] để diễn tả mô hình tổ chức về xử  
lý cũng đƣợc sử dụng mô hình hệ thống tƣơng tự nhƣ mô hình quan niệm về xử lý  
với một số thay đổi nhƣ sau:  
Đơn vị hệ thống là pha.  
Đƣa vào các yếu tố tiến trình thời gian theo các pha.  
Điểm công tác, bản chất xử lý theo các pha.  
Giáo viên biên soạn: Nguyễn Trần Phương  
78  
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ó rất nhiều phƣơng pháp toán học hỗ trợ việc xây dựng, đánh giá một mô  
hình tổ chức tốt nhƣ sơ đồ PERT sẽ đƣợc trình bày ở chƣơng 5.  
4.2 MÔ HÌNH CƠ SỞ DỮ LIỆU  
Giải pháp tổ chức về dữ liệu là chính mô hình cơ sở dữ liệu (CSDL) đƣợc sử dụng  
thể hiện ở các tiêu chí :  
Tính nhất quán của dữ liệu về cấu trúc và quản trị.  
Tính độc lập không phục thuộc vào các công cụ phát triển cụ thể nào đó.  
Để quản trị CSDL ngƣời ta xây dựng những phần mềm quản trị CSDL gồm chức  
năng cơ bản:  
. Tạo lập các cấu trúc dữ liệu (loại, kiểu, thành phần, tính chất).  
. Cập nhật dữ liệu.  
. Thiết lập các quan hệ.  
. Kiểm soát các ràng buộc.  
. Phân quyền truy cập.  
. Bảo mật hệ thống  
Điển hình hiện nay đang đƣợc sử dụng nhiều là phần mềm quản trị cơ sở dữ liệu  
(HQTCSDL) Foxpro, Access. Đối với các công cụ này còn hỗ trợ cả môi trƣờng  
lập trình ở các cấp độ khác nhau cho ngƣời sử dụng (SQL, sinh giao diện, sinh báo  
cáo). Vậy cho nên với dự án phần mềm nhỏ thì việc đặc tả, sinh mã có thể chỉ cần  
sử dụng những phần mềm này là đƣợc nhƣng đối với phần mềm có quy mô lớn,  
phức tạp thì rất khó khăn nếu không nói là không thể (các dự án này đều được phát  
triển bởi do nhiều đội phát triển độc lập với sự kết hợp có thể hơn một công cụ hỗ  
trợ phân tích). Chính điều đó các công ty phát triển ngƣời ta đều sử dụng một công  
cụ chuyên biệt nào đó nhƣ CASE; RATION ROSE, AGRO UML; POWER  
DESIGN;… có thể sử dụng ngôn ngữ UML để phát triển dự án. Các công cụ này  
cung cấp phƣơng pháp xây dựng các biểu đồ theo cách tiếp cận hƣớng đối tƣợng  
bao gồm những phần chính:  
. Xây dựng biểu đồ sử dụng các đối tƣợng (use-case diagram)  
. Xây dựng các biểu đồ, lƣợc đồ lớp (class diagram)  
. Xây dựng biểu đồ trình tự  
. Xây dựng biểu đồ cộng tác  
. Xây dựng biểu đồ hoạt động  
. Xây dựng lƣợc đồ các thành phần (component diagram)  
. Sinh mã  
. Lập tài liệu  
4.2.1 Mô hình phân cấp  
Mô hình phân cấp là mô hình ra đời vào vào những năm 60 của thế kỷ trƣớc. Ở đây  
dữ liệu đƣợc phân loại theo các tiêu chuẩn của từng tầng khác nhau theo cấu trúc  
dạng cây. Để tìm thông tin trong CSDL ta đi theo nhánh.  
Giáo viên biên soạn: Nguyễn Trần Phương  
79  
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  
Ví dụ: Nhằm diễn tả việc cung cấp chức năng hệ thống thông tin từ mức tổng quát  
đến mức chi tiết gần của hệ thống cung ứng vật tƣ, biểu đồ có dạng cây (tree) nhƣ  
sau:  
Hình 4.2: Biểu đồ phân cấp chức năng Hệ thống cung ứng vật tƣ  
4.2.2 Mô hình mạng theo [GTPTTK.ĐHQG]  
Mô hình mạng hay còn gọi là mô hình CODASYL có những khái niệm cơ bản:  
Đơn vị dữ liệu (Data Item): Tƣơng ứng với từng thuộc tính của đối tƣợng  
cần mô tả.  
Nhóm dữ liệu (Data agreate): Tƣơng ứng với các thuộc tính hợp thành.  
Bản ghi (Record): Là bộ phận có thứ tự của đơn vị dữ liệu và nhóm dữ liệu.  
Liên kết (Set): Mô tả quan hệ giữa hai bản ghi mà tronh đó có một bản ghi là  
bản ghi chủ vầ bản ghi còn lại là thành viên. Để biểu diễn mô hình mạng ngƣời ta  
dùng đồ thị có hƣớng.  
Ví dụ: Vẽ BĐLDL của hệ cung ứng vật tƣ (chỉ xét về mặt thông tin).  
Thông tin thƣơng lƣợng  
Nhà cung cấp  
Nhà cung cấp  
Cheque  
Phiếu giao  
Đơn đặt  
Thanh toán  
hàng  
hàng  
(+hàng)  
Hóa đơn  
Đặt hàng  
Hóa  
đã xác  
Đơn hàng  
đơn  
nhận chi  
Danh sách đơn hàng  
Nhận hàng  
Nhận hàng  
Đối chiếu  
Dự  
Dự trù / Đơn hàng  
trù  
Danh sách  
hàng nhận  
Phân xƣởng  
sản xuất  
Phiếu phát hàng  
Hình 4.3: BĐLDL của hệ cung ứng vật tƣ  
Giáo viên biên soạn: Nguyễn Trần Phương  
80  
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  
4.2.3 Mô hình quan hệ  
Mô hình ra đời cùng thời với mô hình mạng (1970). Đây chính là mô hình đã  
nghiên cứu ở chƣơng 3. Trong mô hình này có một số khái niệm chính tuy chƣa đề  
cập nhƣng đã thể hiện phần nào trong chƣơng trƣớc.  
Quan hệ (relation): Mô hình quan hệ xoay quan các khái niệm quan hệ, bộ  
(tuple) và thuộc tính (attribute). Những khái niệm này tƣơng ứng với các khái niệm  
tập thực thể, thực thể và thuộc tính. Hình 3.11: Mô hình ER mối quan hệ  
HỌC_VIÊN và MÔN_HỌC đã thể hiện mối quan hệ này.  
Miền (Domain): Tập hợp các giá trị đƣợc xác định bởi một tên và có miền  
giá trị cụ thể. Ví dụ miền giới tính có hai giá trị “Nam, “Nữ”  
Thuộc tính (attribute): Phần giao giữa dòng và cột là giá trị thuộc tính. Giá  
trị của thuộc tính phải là giá trị đơn không đa trị hay cấu trúc. Một quan hệ có giá  
trị thuộc tính nhƣ vậy thì quan hệ này đạt dạng chuẩn một có dạng nhƣ sau:  
Tên quan hệ  
Bộ 1  
Tên miền 1  
Giá trị  
Tên miền 2  
Giá trị  
…
Tên miền n  
Giá trị  
Bộ 1  
…
Bộ m  
Giá trị  
Giá trị  
Giá trị  
Giá trị  
Giá trị  
Giá trị  
Giá trị  
Giá trị  
Giá trị  
Bộ (tuple): Là một bộ các giá trị của các thuộc tính trong một dòng của quan  
hệ. Thứ tự xuất hiện các thuộc tính trong một bộ thì không ảnh hƣởng đến kết quả  
tính toán. Một bộ có tính duy nhất trong quan hệ. Nghĩa là trong một quan hệ  
không thể có hai bộ giống nhau giá trị các thuộc tính đều giống nhau). Một thuộc  
tính hay nhóm các thuộc tính dùng để phân biệt bộ này với bộ kia trong quan hệ  
đƣợc gọi là khoá chính. Khóa chính trong một quan hệ lại xuất hiện trong một quan  
hệ khác đƣợc gọi là khóa ngoại.  
Quy ƣớc đƣợc đề nghị để biểu diễn:  
Tên quan hệ đƣợc ghi bằng chữ hoa trƣớc ngoặc tròn và tất cả thuộc tính  
đƣợc liệt kê trong ngoặc tròn.  
Khóa chính gạch chân.  
Khóa ngoại viết nghiêng  
Khoá (key, candidate key): Là tập hợp nhỏ nhất các thuộc tính mà giá trị của  
nó dùng để phân biệt bộ này với bộ kia trong một quan hệ.  
Khóa hợp (composite key): Là khóa có trên một thuộc tính.  
Khóa chính (primary key): Là khóa đƣợc chọn để cài đặt trong một  
QTCSDL. Khi chọn khóa chính ta phải chú ý các tính chất sau: áp dụng, duy nhất,  
nhỏ nhất, ổn định.  
Khóa có tính áp dụng khi nó không bỏ sót bất kỳ trƣờng hợp nào của vấn  
đề.  
Khóa phải có tính duy nhất dùng để phân biệt bộ này với bộ kia trong  
quan hệ.  
Khóa có tính nhỏ nhất khi ta bỏ bất kỳ thuộc tính nào của nó thì nó không  
còn tính duy nhất nữa.  
Giáo viên biên soạn: Nguyễn Trần Phương  
81  
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  
Khóa có tính ổn định khi giá trị của khóa không thay đổi.  
Ví dụ về khóa chính không ổn định  
WSE bán lẻ đồ điện, là cửa hàng được cung cấp hàng bởi NSD. Thỏa thuận giữa  
WSE và NSD là WSE phải mua tối thiểu 90% hàng của NSD. WSE có thể mua tối  
đa 10% hàng của những nhà cung ứng độc lập khác.  
WSE đang thiết lập một hệ máy tính cho điều hành và xử lý đơn hàng. Hệ sử dụng  
cùng mã sản phẩm với NSD và tạo mã riêng cho nguồn hàng mua từ nơi khác.  
Ví dụ trên dẫn tới hai vấn đề nhƣ sau:  
Khi NSD thay đổi mã hàng thì mã hàng của WSE sẽ bị thay đổi theo gây ra  
tính mất ổn định.  
Khi một mặt hàng vừa đƣợc cung ứng từ nhà cung ứng độc lập và từ NSD  
thì sẽ gây ra tình trạng một mặt hàng có tới hai mã hàng khác nhau. Để tránh tình  
trạng này buộc lòng phải thay đỗi mã hàng.  
Khóa ngoại (foreign key): Trong mô hình quan hệ, để diễn tả mối kết hợp,  
ngƣời ta chép khóa chính từ quan hệ này sang quan hệ kia. Trong quan hệ nhận,  
khoá đƣợc chép sang gọi là khóa ngoại. Từ ví dụ của Hình 3.7.  
HỌC_VIÊN (Mã học viên, tên học viên,…, mã môn học)  
MÔN_HỌC (Mã môn học, tên môn học, thời lƣợng)  
Khóa dự tuyển và khóa khác:  
Ví dụ về khóa dự tuyển: ANFD (Liên hiệp các nhà phân phối thực phẩm quốc tế)  
là một tập đoàn phục vụ khách hàng thông qua mạng lƣới các văn phòng buôn bán  
cấp quốc gia và nó có trên 150 văn phòng nhƣ vậy. ANFD quản lý chi tiết xe của  
các văn phòng đại diện bằng quan hệ sau:  
XE(số đăng bộ, qui cách, hình dáng, màu sắc, số sƣờn, số máy, mã xe, quốc  
gia). Bƣớc đầu, có một số nhóm thuộc tính có khả năng phân biệt xe này với xe  
kia. Các nhóm thuộc tính này đƣợc gọi là khóa dự tuyển: (số đăng bộ, quốc gia),  
(số sƣờn), (số máy), (mã xe).  
Khóa dự Điều kiện  
tuyển lựa chọn  
Số đăng bộ, Áp dụng Gây ra vấn đề khi cần lƣu trữ thông tin về xe chƣa đăng  
Diễn giải  
quốc gia  
bộ  
Ổn định Gây ra vấn đề vì số đăng bộ có khả năng thay đổi. Khi  
số đăng bộ thay đổi (khi bán xe) ta phải sửa lại giá trị  
số đăng bộ của xe đó làm cho khóa chính không ổn  
định  
Duy nhất Chỉ riêng số đăng bộ không có tính duy nhất từ quốc  
gia này sangquốc gia khác  
Nhỏ nhất Không nhỏ nhất trong phạm vi một quốc gia  
Áp dụng Không có vấn đề vì mỗi xe có số sƣờn khác nhau  
Ổn định Không có vấn đề vì số sƣờn không thay đổi  
Duy nhất Duy nhất cho mỗi xe  
Số sƣờn  
Nhỏ nhất Chỉ gồm một thuộc tính thì đƣơng nhiên nhỏ nhất  
Giáo viên biên soạn: Nguyễn Trần Phương  
82  
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ố máy  
Áp dụng Không vấn đề  
Ổn định Có vấn đề vì máy có khả năng đƣợc thay mới  
Duy nhất Không có vấn đề  
Nhỏ nhất Chỉ gồm một thuộc tính thì đƣơng nhiên nhỏ nhất  
Áp dụng Không có vấn đề vì do công ty tạo ra  
Ổn định Không có vấn đề vì do công ty tạo ra  
Duy nhất Không có vấn đề vì công ty tự chịu trách nhiệm bảo  
đảm chúng phải khác nhau  
Mã xe  
Nhỏ nhất Chúng chỉ gồm một thuộc tính nên đƣơng nhiên nhỏ  
nhất  
Qua bảng phân tích trên thì khóa chính có khả năng là một trong hai thuộc  
tính sau: Số sƣờn và mã xe. Do số sƣờn thƣờng dài và không đồng nhất nên không  
tiện trong công tác quản lý của công ty. Công ty tự tạo ra mã xe là giải pháp chọn  
lựa có tính thực tiễn cao.  
Số đăng bộ,  
quốc gia  
Loại vì không có tính duy nhất  
Số đăng bộ,  
quốc gia  
Số sƣờn  
Khóa phụ  
Số máy  
Mã xe  
Khóa chính  
Hình 4.4: Mối quan hệ khóa dự tuyển, khóa khác và khóa chính  
Khóa nhân tạo (khóa đại diện) artificial key (surrogate key): Đôi khi việc  
xác định khóa chính không phải lúc nào cũng thực hiện đƣợc do bốn tính chất ràng  
buộc: Áp dụng, ổn định, duy nhất, nhỏ nhất. Trong các trƣờng hợp nhƣ vậy, buộc  
ta phải đƣa vào một thuộc tính với mục đích làm khóa chính đƣợc gọi là khóa nhân  
tạo (artificial key), đôi khi còn gọi là khóa đại diện (surrogate key). Các khóa nhân  
tạo nhƣ: mã nhân viên, mã khách hàng, số hóa đơn, mã tài sản cố định.  
Khóa nhân tạo luôn luôn thỏa 4 tính chất áp dụng, ổn định, duy nhất, nhỏ  
nhất. Khi sử dụng khóa nhân tạo ta cần chú ý các điều sau:  
Không gắn ngữ nghĩa của vấn đề vào khóa nhƣ mã khách hàng từ 1 đến  
1000 là khách hàng của các chi nhánh phía bắc, mã khách hàng lớn hơn  
1000 là khách hàng của các chi nhánh phía nam.  
Không dùng lại giá trị khóa đã xóa cho một bộ giá trị mới vì ảnh hƣởng  
đến dữ liệu cũ.  
Kiểm tra trƣờng hợp nhập hai bộ giá trị của một đối tƣợng.  
Khóa phụ (Secondary keys): Khóa phụ là một thuộc tính hay một nhóm các  
thuộc tính thƣờng hay đƣợc sử dụng trong khai thác dữ liệu. Ví dụ vấn đề Trƣờng  
cao đẳng có thuộc tính tên học viên và thuộc tính tên môn học hay đƣợc dùng  
Giáo viên biên soạn: Nguyễn Trần Phương  
83  
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  
trong tìm kiếm nên chúng đƣợc sắp xếp để đẩy nhanh tốc độ xử lý. Những vùng  
này đƣợc gọi là khóa phụ.  
Những tính chất khác của mô hình quan hệ là:  
Đại số quan hệ, phép tính quan hệ: Đại số quan hệ và phép tính quan hệ tạo ra một  
số chức năng nhƣ:  
o Trích một số dòng trong quan hệ.  
o Trích một số cột trong quan hệ.  
o Kết nối quan hệ thông qua khóa ngoại  
o Ràng buộc toàn vẹn  
Mô hình quan hệ định nghĩa ba mức ràng buộc:  
. Ràng buộc toàn vẹn thực thể (Entity integrity constraint): Thực chất của  
ràng buộc thực thể là các ràng buộc trên khóa chính thỏa mãn các tính  
chất: duy nhất, không rỗng, nhỏ nhất.  
. Ràng buộc toàn vẹn tham chiếu (Referential integrity constraint): Ràng  
buộc tồn tại đòi hỏi giá trị khóa ngoại trong một quan hệ phải tồn tại  
trong quan hệ có khóa chính tƣơng ứng.  
HỌC VIÊN  
MÔN HỌC  
Mã  
học  
viên  
Tên học viên  
…
…
Mã  
môn  
học  
Mã  
môn  
học  
Tên môn học  
Thời  
lƣợng  
Sv001 Nguyễn Văn Thịnh  
Sv002 Quách Hữu An  
Sv003 Lê Quang Khai  
CN001  
CN010  
CN012  
…
CN001 Hệ điều hành  
CN010 Toán rời rạc  
CN012 Hệ QT CSDL  
45 giờ  
30 giờ  
75 giờ  
…
…
…
…
…
Sv055 Trần Thanh Quý  
CN099  
CN055 CTDL&GT  
?
30 giờ  
Hình 4.5: Ràng buộc sƣ tồn tại bị vi phạm bởi học viên Sv055  
. Ràng buộc toàn vẹn loại dữ liệu (Data type integrity constraint)  
. Ràng buộc miền giá trị (Domain integrity constraint)  
o Ngôn ngữ hỏi có cấu trúc SQL (Structured Query Language). Các chức  
năng này đƣợc thể hiện trong HQTCSDL quan hệ qua ngôn ngữ SQL. SQL là ngôn  
ngữ phi thủ tục chúng khai thác dữ liệu bằng cách mô tả truy xuất cái gì hơn là truy  
xuất nhƣ thế nào. Các bƣớc và công việc thực hiện trong mô hình hóa dữ liệu sơ đồ  
của Hình 3.7 đƣợc tóm tắt thành các quy tắc chính trong giai đoạn thiết kế nhƣ  
sau:  
o QT 1: Mỗi tập thực thể trong mô hình ER đƣợc chuyển thành một quan  
hệ.  
o QT 2: Mỗi thuộc tính trong mô hình ER đƣợc chuyển thành thuộc tính  
trong quan hệ tƣơng ứng.  
Giáo viên biên soạn: Nguyễn Trần Phương  
84  
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  
o QT 3: Thuộc tính nhận diện trong mô hình ER đƣợc chuyển thành khóa  
chính trong quan hệ tƣơng ứng. Trƣờng hợp khóa chính không thỏa bốn tính chất  
chọn lựa, thì phải chọn khóa chính khác hay đƣa vào khóa nhân tạo.  
o QT 4: Thể hiện mối quan hệ thông qua khóa ngoại:  
1 : 1 Chuyển khóa chính từ quan hệ 1 sang quan hệ 2 hay ngƣợc lại (tức là  
khóa chính của thực thể này thành thuộc tính của thực thể kia).  
1 : n Chuyển khóa chính từ bên một sang bên nhiều (tức là chuyển khóa  
chính của thực thể từ bên 1 sang bên n để làm khóa ngoại).  
n : n Tạo quan hệ toàn khóa (tức là tạo một quan hệ mới có khóa chính là sự  
kết hợp các khóa chính của hai quan hệ có bản số kết nối nhiều nhiều để hạ bậc  
quan hệ hai thực thể chính bằng thực thể trung gian)  
4.2.4 Mô hình CSDL trong phân tích và thiết kế hƣớng đối tƣợng  
Với cách tiếp cập theo hƣớng đối tƣợng nhà phát triển lại quan tâm CSDL  
theo mô hình lớp và xây dựng các mối quan hệ trên các lớp đó.  
4.2.4.1 Vấn đề xác định lớp  
Khái niệm cơ bản nhất trong phƣơng pháp hƣớng đối tƣợng là khái niệm đối  
tƣợng. Một đối tượng được hiểu là một thực thể có thực hoặc là một thực thể khái  
niệm. Mỗi đối tượng được mô tả bởi các trạng thái và hành vi cho biết đối tượng  
đó sẽ hành động như thế nào khi nhận được thông điệp từ các đối tượng khác.  
Hoạt động của hệ thống đƣợc thể hiện qua trạng thái của các đối tƣợng và sự  
tƣơng tác giữa các đối tƣợng đó.  
Một nhóm đối tượng có chung thuộc tính và phương thức tạo thành một lớp.  
Vấn đề xác định lớp trở thành một trong những nhiệm vụ cơ bản của phân tích,  
thiết kế hệ thống hƣớng đối tƣợng.  
Mối tƣơng tác giữa các đối tƣợng trong hệ thống sẽ đƣợc biểu diễn thông  
qua mối quan hệ giữa các lớp. Các lớp (bao gồm cả các thuộc tính và phương thức)  
cùng với các mối quan hệ sẽ tạo thành biểu đồ lớp.  
Biểu đồ lớp là một biểu đồ dạng mô hình tĩnh. Một biểu đồ lớp miêu tả  
hƣớng nhìn tĩnh của một hệ thống bằng các khái niệm lớp và mối quan hệ giữa  
chúng với nhau.  
Một trong các mục đích của biểu đồ lớp là tạo nền tảng cho các biểu đồ  
khác, thể hiện các khía cạnh khác của hệ thống (ví dụ như trạng thái của đối tượng  
hay cộng tác động giữa các đối tượng, được chỉ ra trong các biểu đồ động). Một  
lớp trong một biểu đồ lớp có thể đƣợc thực thi trực tiếp trong một ngôn ngữ hƣớng  
đối tƣợng có hỗ trợ trực tiếp khái niệm lớp. Một biểu đồ lớp chỉ ra các lớp, nhƣng  
bên cạnh đó còn có một biến tấu hơi khác đi một chút chỉ ra các đối tƣợng thật sự  
là các thực thể của các lớp này (biểu đồ đối tượng).  
Xác định lớp là một trong những bƣớc khó nhất trong phát triển phần mềm  
hƣớng đối tƣợng. Không có một quy tắc chung nào cho viêc xác định lớp trong mọi  
hệ thống. Kết quả của bƣớc xác định lớp phụ thuộc nhiều vào kinh nghiệm của các  
nhóm phát triển phần mềm khác nhau. Các phƣơng pháp xác định lớp đƣợc đƣa ra  
chỉ mang tính định hƣớng cho nhóm phát triển chứ không giúp nhóm phát triển tìm  
ra cụ thể lớp nào là cần thiết hay không cần thiết, đúng hay sai.  
Giáo viên biên soạn: Nguyễn Trần Phương  
85  
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ó nhiều phƣơng pháp xác định lớp khác nhau. Ba phƣơng pháp xác định  
lớp sau đây đƣợc xem là phổ biến và nhiều nhóm phát triển đã áp dụng:  
Phương pháp trích danh từ: Theo phƣơng pháp này, đầu tiên ngƣời phát  
triển hệ thống cần định nghĩa sản phẩm phần mềm bằng một câu, sau đó kết hợp  
các ràng buộc để phát triển thành một đoạn. Dựa trên đoạn văn mô tả này, ngƣời  
phát triển sẽ lấy ra các danh từ, chia thành các nhóm và đề cử ra các lớp cũng nhƣ  
thuộc tính và phƣơng thức của các lớp đó  
Phương pháp dùng thẻ ghi CRC (class responsibility collaboration):  
Dựa trên một số lớp đã có, phƣơng pháp này sử dụng một thẻ ghi cho mỗi lớp  
trong đó biểu diễn các thông tin liên quan đến trách nhiệm (responsibility) của lớp  
đó và các lớp phối hợp với nó (collaboration). Từ thẻ ghi này, ngƣời phát triển sẽ  
tìm ra các lớp khác cần thiết và quan trọng hơn là xác định đầy đủ các thuộc tính,  
phƣơng thức của từng lớp và mối quan hệ giữa các lớp.  
Phương pháp xác định lớp từ use case và scenario: ngƣời phát triển  
nghiên cứu cẩn thận các use case và scenario (cả chuẩn và ngoại lệ) để tìm ra các  
thành phần đóng vai trò nào đó trong các use case. Các thành phần này sẽ đƣợc tập  
hợp lại và đề cử ra các lớp. Các danh từ xuất hiện trong scenario biểu diễn thông  
tin cho một thành phần nhƣ vậy có thể trở thành các thuộc tính còn các động từ  
xuất hiện trong mối quan hệ giữa các thành phần đó có thể trở thành các phƣơng  
thức tƣơng ứng trong lớp đó.  
Phƣơng pháp xác định lớp từ use case và scenario sẽ đƣợc trình bày cụ thể  
trong các phần xây dựng biểu đồ lớp trong pha phân tích Giới thiệu rational rose  
2003 của tài liệu.  
4.2.4.2 Xây dựng biểu đồ lớp trong pha phân tích  
Biểu đồ lớp là một trong những biểu đồ quan trọng nhất, có tính quyết định trong  
tiến trình phát triển phần mềm hƣớng đối tƣợng. Trong pha phân tích, biểu đồ lớp  
chƣa đƣợc xây dựng hoàn chỉnh mà chỉ có các nhiệm vụ chính là:  
Xác định các lớp  
Xác định các thuộc tính và một số phƣơng thức cơ bản (chƣa chi tiết các  
phƣơng thức).  
Bƣớc đầu chỉ ra một số mối quan hệ trong sơ đồ lớp.  
Bước 1: Xác định các lớp từ các use case và scenario  
Bƣớc này đƣợc thực hiện theo nguyên tắc chung nhƣ sau:  
Nghiên cứu kỹ tất cả các use case và scenario để tìm ra các danh từ có vai trò  
nào đó trong các scenario (khởi đầu một tƣơng tác, bắt đầu hay nhận một hành  
động trong scenario, …). Các danh từ này sẽ trở thành các lớp ứng cử viên.  
Loại bỏ các lớp ứng cử viên không thích hợp. Các danh từ không thích hợp  
thuộc vào một trong các trƣờng hợp sau:  
Lớp dư thừa: do có hai hay nhiều danh từ cùng chỉ một thực thể nên ta  
chỉ cần giữ lại một từ duy nhất và loại bỏ các từ khác.  
Danh từ không thích hợp: đó là các danh từ không liên quan đến phạm vi  
của bài toán.  
Giáo viên biên soạn: Nguyễn Trần Phương  
86  
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  
Danh từ mô tả những lớp không rõ ràng: đó là các danh từ hoặc không  
biểu diễn một thực thể cụ thể hoặc các khái niệm không rõ nghĩa.  
Các danh từ chỉ là một vai trò (role) trong mối quan hệ với một lớp khác.  
Các danh từ biểu diễn các công cụ xây dựng phần mềm hoặc các thuật  
ngữ trong lập trình hay thuật toán (ví dụ stack, list, array, …).  
Xem xét bài toán quản lý thƣ viện, từ các use case và scenario, ta có thể liệt  
kê các danh từ nhƣ sau: bạn đọc, tên bạn đọc, địa chỉ bạn đọc, thủ thư, username,  
password, thẻ mượn, sách, ngày mượn sách, ngày trả sách, số lượng sách … Dựa  
vào tập danh từ này, bƣớc đầu ta có thể xác định một số lớp nhƣ: bạn đọc, thủ thư,  
thẻ mượn, sách.  
Bước 2: Xác định các thuộc tính và một số phương thức cơ bản  
Dựa trên tập các lớp đã đƣợc xác định, ngƣời phát triển hệ thống tiếp tục nghiên  
cứu kỹ các use case và scenario và trả lời các câu hỏi sau:  
Với mỗi lớp, những danh từ nào mô tả thông tin của lớp đó. Trả lời câu  
hỏi này sẽ giúp ta tìm ra các thuộc tính.  
Những thông tin nào của lớp thực sự liên quan đến lĩnh vực quan tâm của  
hệ thống. Trả lời câu hỏi này giúp ta loại các thuộc tính không cần thiết.  
Những thông tin nào là thông tin riêng của lớp (các thuộc tính private),  
những thông tin nào có thể chia sẻ trong mối quan hệ với lớp khác (các thuộc tính  
protected hoặc public).  
Tiếp theo, ngƣời phát triển hệ thống xem xét các động từ đi kèm với các  
danh từ biểu diễn lớp trong scenario và xem xét xem các động từ ấy có trở thành  
các phƣơng thức đƣợc hay không. Tuy nhiên, trong pha phân tích, chúng ta chỉ có  
thể xác định một số phƣơng thức dễ nhận thấy và cũng chƣa cần xác định chi tiết  
giá trị trả về cũng nhƣ các tham số. Các thông tin này sẽ đƣợc cụ thể hóa trong pha  
thiết kế.  
Biểu đồ lớp bƣớc đầu của hệ quản lý thƣ viện đƣợc biểu diễn nhƣ trong  
Hình 4.6. Các lớp Bạn đọc và Thủ thƣ đƣợc kế thừa từ một lớp chung tên là  
Ngƣời. Tại một thời điểm, một bạn đọc có tƣơng ứng một Thẻ mƣợn. Một thẻ  
mƣợn có thể cho mƣợn cùng một lúc một hoặc nhiều cuốn sách.  
Giáo viên biên soạn: Nguyễn Trần Phương  
87  
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 4.6: Sơ đồ lớp phân tích của hệ thống quản lý thƣ viện  
4.3 CHUẨN HÓA TRÊN MÔ HÌNH CSDL  
Một CSDL còn dƣ thừa dữ liệu sẽ gây trở ngại cho việc cập nhật dữ liệu. Chuẩn  
hóa CSDL là hoạt động tạo ra một CSDL không còn dƣ thừa dữ liệu, một CSDL  
đạt tối thiểu dạng chuẩn 3. Trong các giai đoạn phân tích thiết kế hệ thống, hoạt  
động chuẩn hóa nằm trong giai đoạn thiết kế CSDL (xem hình):  
THIẾT KẾ HỆ THỐNG - (SYSTEMS DESIGN)  
1. Thiết kế giao diện con ngƣời (designing the human interface)  
2. Thiết kế cơ sở dữ liệu (designing database)  
a) Thiết kế csdl logic (designing logical database)  
- Biến đổi mô hình ER thành mô hình quan hệ  
- Kiểm tra yêu cầu chức năng  
- Chuẩn hóa cơ sở dữ liệu  
b) Thiết kế csdl vật lý (designing physical database)  
- Chuyển các quan hệ đạt chuẩn thành các đặc tả  
tập tin máy tính  
THỰC HIỆN VÀ VẬN HÀNH HỆ THỐNG  
(SYSTEMS IMPLEMENTATION AND  
OPERATION)  
Chƣơng 2 trong tài liệu đã đề cập phần nào về chuẩn hóa mô hình tuy nhiên  
chƣơng nay chúng ta sẽ đề cập chi tiết hơn. Một lƣợc đồ quan hệ trên đó thƣờng thì  
sẽ áp đặt các phụ thuộc hàm (Khóa là một trường hợp riêng của phụ thuộc hàm).  
Phụ thuộc hàm (Functional Dependency): Thuộc tính Y trong quan hệ phụ  
thuộc hàm vào thuộc tính X (hay X1, X2,..) của cùng quan hệ, nếu ứng với giá trị  
của X chỉ có 1 giá trị của Y.  
Ký hiệu: X  
Y hay X1,X2  
Y
Ta nói Thuộc tính Y phụ thuộc hàm vào thuộc tính X hay giá trị của X xác định  
duy nhất một giá trị của Y hay Y đƣợc xác định bởi X.  
Ví dụ: Trong hệ CSDL HỌC VIÊN, thuộc tính tên học viên phụ thuộc hàm  
vào mã học viên  
Phụ thuộc hàm đầy đủ: Thuộc tính Y trong quan hệ phụ thuộc hàm đầy đủ vào  
thuộc tính X (X1, X2,..) của cùng quan hệ, nếu nó phụ thuộc hàm vào X và không  
phụ thuộc hàm vào một phần của X.  
Ví dụ: Ta đã có qui tắc quản lý trong mối quan hệ sau:  
Mỗi HỌC VIÊN có thể ghi danh vào học một hay nhiều MÔN HỌC.  
Mỗi MÔN HỌC có thể đƣợc ghi danh bởi một hay nhiều HỌC VIÊN.  
Giáo viên biên soạn: Nguyễn Trần Phương  
88  
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 4.7 : Mô hình ER đào tạo của trƣờng  
Mã học viên, mã môn học  
Các dạng chuẩn  
ngày nhập học  
Ví dụ: Công ty Kim khí Đai ốc và Bù lon (NBHC) có nhiều cửa hàng hoạt  
động với tên riêng. Bảng tồn kho của Cửa hàng Kim khí Mặt nam (một trong các  
cửa hàng của Công ty NBHC) có dạng nhƣ sau:  
CÔNG TY KIM KHÍ ĐAI ỐC VÀ BÙ LON  
DANH SÁCH TỒN KHO  
Tên cửa hàng:  
Mã cửa hàng:  
Cửa hàng kim khí mặt nam  
M515  
mã  
mô tả hàng  
mã nhà  
cung cấp  
34513  
34513  
57913  
34513  
00972  
57913  
….  
tên nhà cung  
cấp  
địa chỉ nhà cung  
cấp  
lƣợng  
tồn  
đơn  
thành  
hàng  
giá  
tiền  
3241 Bù lon 2 cm  
3541 Ốc 5 cm  
4325 Vòng đệm 30 mm  
5678 Đai ốc 8 mm  
1478 Đinh ốc 40 mm  
4327 Vòng đệm 40 mm  
Acme Bolt Co  
Acme Bolt Co  
Washer Co  
Acme Bolt Co  
Best Fasteners  
Washer Co  
…
45 Hay Street  
45 Hay Street  
7 Blacktown Road  
45 Hay Street  
281 Pilbara Way  
7 Blacktown Road  
…
123  
546  
567  
342  
$0.50 $61.50  
$0.70 $382.20  
$0.12 $68.04  
$0.17 $58.14  
1267 $0.09 $114.03  
165  
$0.15 $24.75  
…
….  
…
…
…
$708.66  
Tổng cộng  
Bảng Tồn kho của Cửa hàng Kim khí Mặt nam là mẫu tiêu biểu cho tất cả  
cửa hàng.  
Mỗi nhà cung cấp cung cấp nhiều mặt hàng, nhƣng một mặt hàng chỉ  
đƣợc cung cấp bởi một nhà cung cấp.  
Một mặt hàng đƣợc lƣu trữ ở nhiều cửa hàng. Ví dụ mặt hàng mã số 3241  
đƣợc lƣu trữ trong cửa hàng M515 nhƣng nó cũng đƣợc lƣu trữ trong cửa hàng  
M516 và M517.  
Lƣợng tồn là số lƣợng tồn của một mặt hàng của một cửa hàng.  
Đơn giá của một mặt hàng là đơn giá chung cho tất cả các cửa hàng  
Tổng cộng là tổng của cột thành tiền  
Mã cửa hàng, mã hàng, mã nhà cung cấp là thuộc tính nhận diện của cửa  
hàng, hàng, nhà cung cấp  
Ta thực hiện các bƣớc chuẩn hóa quan hệ của ví dụ công ty NBHC theo các bƣớc  
của mô hình sau:  
Giáo viên biên soạn: Nguyễn Trần Phương  
89  
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  
QUAN HỆ KHÔNG CHUẨN  
- Loại bỏ các thuộc tính tổng hợp (thuộc tính có giá trị là kết quả  
tính toán từ các giá trị khác)  
- Xác định khóa chính  
- Chuyển thuộc tính lặp lại thành thuộc tính của quan hệ riêng  
QUAN HỆ DẠNG CHUẨN 1  
- Chỉ thực hiện khi khóa chính gồm nhiều thuộc tính.  
- Thuộc tính không khóa phải phụ thuộc hàm đầy đủ và khóa chính  
- Chuyển thuộc tính chỉ phụ thuộc vào một phần khóa chính thành  
thuộc tính của quan hệ riêng.  
QUAN HỆ DẠNG CHUẨN 2  
- Chuyển thuộc tính không khóa phụ thuộc bắc cầu vào khóa chính  
thành thuộc tính của quan hệ  
QUAN HỆ DẠNG CHUẨN 3  
Hình 4.8 : Các bƣớc thực hiện để đƣa các quan hệ về dạng chuẩn 3  
Dạng chuẩn một (first normal form)  
Định nghĩa: Thuộc tính A là lặp lại (repeating group of attribute) nếu ứng với  
một giá trị khóa chính có nhiều giá trị của thuộc tính A.  
MẶT HÀNG  
Mã hàng  
Mô tả  
Đơn giá bán  
0.68  
1003  
Tụ điện  
0.67  
0.65  
1007  
Đầu nối  
2.00  
2.10  
1.90  
BẢNG DỮ LIỆU KHÔNG ĐẠT DẠNG CHUẨN 1  
Trong quan hệ MẶT HÀNG trên, thuộc tính đơn giá bán là thuộc tính lặp lại (đôi  
khi còn gọi là thuộc tính đa giá trị: multi value attribute) .  
Định nghĩa: Một quan hệ R ở dạng chuẩn một nếu nó không có thuộc tính lặp lại.  
Cách chuẩn hóa: Một quan hệ R không ở dạng chuẩn 1 được chuẩn hóa bằng cách  
chuyển thuộc tính lặp lại vào quan hệ riêng.  
B1. Chuyển tất cả thuộc tính vào một quan hệ: TỒN KHO (mã cửa hàng, tên cửa  
hàng, mã hàng, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp, địa chỉ, lƣợng  
tồn, đơn giá, thành tiền, tổng cộng)  
Giáo viên biên soạn: Nguyễn Trần Phương  
90  
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  
B2. Loại bỏ các thuộc tính tổng hợp: TỒN KHO (mã cửa hàng, tên cửa hàng, mã  
hàng, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp, địa chỉ, lƣợng tồn, đơn  
giá).  
B3. Xác định khóa chính (chọn ngẫu nhiên một khóa chính nhƣ mã cửa hàng):  
TỒN KHO (mã cửa hàng, tên cửa hàng, mã hàng, mô tả mặt hàng, mã nhà cung  
cấp, tên nhà cung cấp, địa chỉ, lƣợng tồn, đơn giá)  
Ta thấy ứng với giá trị mã cửa hàng “M515” thì có nhiều giá trị lặp lại của các  
thuộc tính: mã hàng, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp, địa chỉ,  
lƣợng tồn, đơn giá. Thuộc tính lặp lại này đòi hỏi phải chuyển qua quan hệ riêng.  
Khóa chính của quan hệ mới này thƣờng là khóa hợp (khóa có trên một thuộc tính)  
là hợp của khóa chính của quan hệ nguồn và khoá chính của các thuộc tính lặp lại.  
TỒN KHO  
Mã  
tên cửa  
mã  
mã  
ncc  
lƣợn  
g tồn  
đơn giá  
của  
mô tả  
tên ncc  
địa chỉ  
hàng  
hàng  
hàng  
M515 chkkmn 3241 Bù lon 2cm  
3241 Ốc 5cm  
34513 Acme bolt co  
34513 Acme bolt co  
57913 Washer co  
34513 Acme bolt co  
00972 Best fastener  
57913 Washer co  
34513 Acme bolt co  
57913 Washer co  
00972 Best fastener  
45 ... 123  
0.50  
45 ...  
7 ..  
546  
567  
342  
0.70  
0.12  
0.17  
0.09  
24.75  
0.50  
0.12  
0.09  
0.70  
4325 Vòng...  
5678 Đai ốc ...  
45 ...  
1478 Đinh ốc ...  
281 ... 1267  
4327 Vòng ...  
7 ...  
45 ...  
7 ...  
165  
20  
M516 chkkmb 3241 Bù lon 2cm  
4325 Vòng ...  
30  
1478 Đinh ốc ...  
281 ..  
60  
M517 chkkmt 3541 Bù lon 2cm  
34513 Acme bolt co  
45 ...  
100  
…
…
…
…
…
…
…
…
…
B4. Chuyển thuộc tính lặp lại thành quan hệ riêng:  
CỬA HÀNG (mã cửa hàng, tên cửa hàng)  
TỒN KHO (mã cửa hàng, mã hàng, mô tả mặt hàng, mã nhà cung cấp, tên  
nhà cung cấp, địa chỉ, lƣợng tồn, đơn giá)  
Dạng chuẩn hai (second normal form)  
Định nghĩa: Một quan hệ R ở dạng chuẩn 2 nếu nó ở dạng chuẩn 1 và mỗi thuộc  
tính không khóa phụ thuộc hàm đầy đủ vào khóa quan hệ (không phụ thuộc vào  
một phần khoá quan hệ)  
Cách chuẩn hóa: Một quan hệ R không ở dạng chuẩn 2 được chuẩn hóa bằng cách  
chuyển thuộc tính phụ thuộc vào một phần khóa vào quan hệ riêng.  
Quan hệ CỬA HÀNG đƣơng nhiên đạt dạng chuẩn 2 vì khóa chính chỉ gồm  
một thuộc tính  
Quan hệ TỒN KHO có khóa chính gồm hai thuộc tính nên ta phải kiểm tra  
sự phụ thuộc hàm của các thuộc tính  
Giáo viên biên soạn: Nguyễn Trần Phương  
91  
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 4.9: Các phụ thuộc hàm  
CỬA HÀNG (mã cửa hàng, tên cửa hàng).  
TỒN KHO (mã cửa hàng, mã hàng, lƣợng tồn).  
MẶT HÀNG (mã hàng, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp,  
địa chỉ, đơn giá).  
Dạng chuẩn ba (third normal form)  
Định nghĩa: Một quan hệ R ở dạng chuẩn 3 nếu nó ở dạng chuẩn 2 và không có sự  
phụ thuộc hàm giữa các thuộc tính không khóa.  
Cách chuẩn hóa: Một quan hệ R không ở dạng chuẩn 3 được chuẩn hóa bằng cách  
chuyển thuộc tính phụ thuộc vào thuộc tính không khóa vào quan hệ riêng.  
Hình 4.10: Các phụ thuộc hàm có tính bắc cầu  
CỬA HÀNG(mã cửa hàng, tên cửa hàng)  
TỒN KHO (mã cửa hàng, mã hàng, lƣợng tồn)  
MẶT HÀNG (mã hàng, mô tả mặt hàng, mã nhà cung cấp, đơn giá)  
NHÀ CUNG CẤP (mã nhà cung cấp, tên nhà cung cấp, địa chỉ)  
Chuẩn hóa theo lý thuyết CSDL: Lƣợc đồ quan hệ Q = CỬA HÀNG (mã cửa  
hàng, tên cửa hàng, mã hàng, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp,  
địa chỉ, lƣợng tồn, đơn giá) có tập phụ thuộc hàm:  
F = { mã cửa hàng  
tên cửa hàng;  
mã cửa hàng, mã hàng  
lƣợng tồn;  
mã hàng  
mô tả mặt hàng, đơn giá, mã nhà cung cấp, tên nhà cung  
tên nhà cung cấp, địa chỉ  
cấp, địa chỉ;  
mã nhà cung cấp  
}
TN = {mã cửa hàng, mã hàng} TG = {mã nhà cung cấp} Xi là tập con của tập TG:  
Giáo viên biên soạn: Nguyễn Trần Phương  
92  
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  
Xi  
TN υ Xi  
mã cửa hàng,  
mã hàng  
(TN υ Xi)+  
Siêu khóa  
mã cửa hàng,  
mã hàng  
mã cửa hàng,  
mã hàng,  
Khóa  
mã cửa hàng,  
mã hàng  
Ø
Q+  
mã nhà cung mã cửa hàng,  
Q+  
cấp  
mã hàng,  
mã nhà cung cấp  
mã nhà cung cấp  
F={mã cửa hàng -> tên cửa hàng; mã cửa hàng, mã hàng ->  
lƣợng tồn; mã hàng -> mô tả mặt hàng, đơn giá, mã nhà cung  
cấp, tên nhà cung cấp, địa chỉ; mã nhà cung cấp -> tên nhà  
cung cấp, địa chỉ}  
Q={mã cửa hàng, tên cửa hàng, mã hàng, mô tả mặt hàng,....}  
F1 ={mã cửa hàng -> tên cửa hàng}  
CỬA HÀNG ={mã cửa hàng, tên  
cửa hàng}  
F1 ={mã cửa hàng, mã hàng -> lƣợng tồn; mã hàng -> mô tả  
mặt hàng,đơn giá, mã nhà cung cấp, tên nhà cung cấp, địa chỉ;  
mã nhà cung cấp -> tên nhà cung cấp, địa chỉ}  
K1 = {mã cửa hàng}  
Q2 ={mã cửa hàng, mã hàng, mô tả mặt hàng,....}  
F3 ={mã hàng -> mô tả mặt hàng,đơn giá, mã nhà cung  
cấp,  
tên nhà cung cấp, địa chỉ; mã nhà cung cấp -> tên nhà cung  
cấp, địa chỉ, ...}  
Q3 ={mã cửa hàng, mã hàng, mô tả mặt hàng,....}  
F4 ={mã cửa hàng, mã hàng -> lƣợng tồn}  
Q4 ={mã cửa hàng, mã hàng, mô tả mặt  
hàng,....}  
K4 = {mã cửa hàng, mã hàng }  
K3 = {mã hàng}  
F5 ={mã hàng -> mô tả mặt hàng,đơn giá, mã nhà  
F6 ={mã nhà cung cấp -> tên nhà cung cấp, địa chỉ}  
cung cấp}  
Q6 ={mã nhà cung cấp, tên nhà cung cấp, địa chỉ}  
Q5 ={mã cửa hàng, mô tả mặt hàng, đơn giá, mã nhà  
cung cấp}  
K6 = {mã nhà cung cấp}  
K5 = {mã hàng }  
4.4 MÔ HÌNH LÔ GIC  
Chúng ta đã làm quen với cách thức và phƣơng pháp tạo ra một mô hình dữ  
liệu mức quan niệm về các thông tin của tổ chức nào đó. Nó rất giàu về mặt ngữ  
nghĩa, do đó dễ dàng để mọi thành phần tham gia vào việc phát triển hệ thống  
thông tin hiểu đƣợc, đặc biệt là với ngƣời dùng. Nhƣng nó lại không dễ dàng để hệ  
thống quản lý tập tin và các hệ quản trị cơ sở dữ liệu hiểu đƣợc. Do đó cần thiết  
phải qua một giai đoạn chuyển đổi mô hình quan niệm về dữ liệu thành mô hình  
logic cho dữ liệu - một mô hình "gần gũi" với ngôn ngữ máy tính hơn. Giai đoạn  
này gọi là phân tích và thiết kế thành phần dữ liệu mức logic. Nhiệm vụ của giai  
Giáo viên biên soạn: Nguyễn Trần Phương  
93  
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  
đoạn này không đi sâu vào chi tiết kỹ thuật truy xuất hoặc lƣu trữ dữ liệu (đó là  
nhiệm vụ của mô hình dữ liệu mức vật lý), nhƣng phải kể đến các khả năng, giới  
hạn của hệ thống quản lý tập tin hay hệ thống quản lý cơ sở dữ liệu. Hơn nữa, mô  
hình luận lý cho dữ liệu quan tâm đến sự tổ chức cho dữ liệu, sao cho thích hợp với  
thời gian đáp ứng mà xử lý đòi hỏi.  
Nhƣ vậy, mục tiêu của mô hình logic cho dữ liệu là nhằm:  
Tổ chức dữ liệu.  
Tối ƣu hóa cách tổ chức đó.  
Chúng ta đã biết rằng có 3 kiểu mô hình cơ sở dữ liệu: Mô hình mạng, mô  
hình phân cấp, và mô hình quan hệ. Mô hình kiểu mạng xuất hiện trƣớc nhất, vào  
những năm 70. Sau đó là mô hình quan hệ và mô hình phân cấp gần nhƣ xuất hiện  
đồng thời. Mô hình quan hệ dù xuất hiện sau nhƣng có nhiều đặc tính ƣu việt hơn  
hai kiểu mô hình còn lại và nhanh chóng phát triển. Hiện nay hầu hết các hệ quản  
trị cơ sở dữ liệu cài đặt theo mô hình quan hệ. Chính vì vậy mà chúng ta quan tâm  
tới việc chuyển mô hình thực thể - kết hợp thành cơ sở dữ liệu theo mô hình quan  
hệ.  
Ðể có một cơ sở dữ liệu theo mô hình quan hệ phải xuất phát từ mô hình  
thực thể - kết hợp. Quá trình chuyển đổi có thể chia thành các bƣớc với những quy  
tắc nhƣ sau:  
BƢỚC 1: (không bắt buộc nếu trong HÌNH THỰC THỂ - KẾT HỢP không có tổng  
quát hóa - chuyên biệt hóa)  
Chúng ta phải xét xem trong mô hình thực thể - kết hợp có sử dụng khái  
niệm tổng quát hóa - chuyên biệt hóa để trình bày vấn đề hay không. Nếu có thì  
phải biến đổi mô hình về dạng không còn tổng quát hóa - chuyên biệt hóa trong mô  
hình nữa. Có hai cách loại bỏ tổng quát hóa/chuyên biệt hóa:  
Cách 1:  
Xem mỗi chuyên biệt là một thực thể: khi đó mỗi mối kết hợp giữa thực thể  
tổng quát với các thực thể khác phải tách ra theo các thực thể chuyên biệt. Các thực  
thể chuyên biệt ngoài thuộc tính của bản thân nó (nếu có) còn đƣợc thừa hƣởng  
mọi thuộc tính của thực thể tổng quát, tuy nhiên chúng ta nên điều chỉnh tên gọi  
cho mô hình hợp lý.  
Ví dụ:  
Giáo viên biên soạn: Nguyễn Trần Phương  
94  
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 ta biến đổi thành như sau:  
Cách 2:  
Gộp các chuyên biệt thành một thực thể chung, khi đó phải bổ sung thêm tất  
cả các thuộc tính của các chuyên biệt (nếu có) vào thực thể tổng quát, và khi đó có  
thể phải điều chỉnh lại bản số và thƣờng phát sinh thêm các ràng buộc.  
Bản số của nó với mối kết hợp - dạy - là (0, n). Khi chuyển sang mô hình  
quan hệ thì ngoài việc  
áp dụng các quy tắc  
chuyển đổi để có các  
quan hệ cần bổ sung  
các ràng buộc sau:  
Ràng buộc 1:  
Không tồn tại một  
ngƣời vừa là cán bộ  
hành chính vừa là cán  
bộ giảng dạy (hay vừa  
có chức danh vừa có  
nghiệp vụ).  
Ràng buộc 2:  
"Với mọi cán bộ, nếu không có chức danh thì không tham gia công tác giảng dạy".  
Những ràng buộc này sẽ đƣợc đề cập đến trong các quá trình xử lý sau.  
BƢỚC 2:  
Áp dụng các quy tắc  
chuyển đổi nhƣ sau:  
Quy tắc 1. Một thực  
thể của mô hình thực thể  
- kết hợp chuyển thành  
một bảng.  
Giáo viên biên soạn: Nguyễn Trần Phương  
95  
Tải về để xem bản đầy đủ
pdf 42 trang myanh 21440 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích & Thiết kế hệ thống - Chương 4: Mức tổ chức và vật lý - 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_4_muc_to_chuc_v.pdf