PTTKHT(hi)
1. KHÁI NIỆM VỀ HỆ THỐNG, HỆ THÔNG TIN QUẢN LÝ
- Hệ thống: Là tập hợp các phần tử có những mối quan hệ ràng buộc lẫn nhau cùng hoạt động chung cho một số mục tiêu nào đó. Trong hoạt động có trao đổi vào ra với môi trường ngoài.
- Hệ thống quản lý: Là một hệ thống có một mục đích mang lại lợi nhuận hoặc lợi ích nào đó. Đặc điểm của hệ thống là có sự tham gia của con người và có trao đổi thông tin.
Hệ thống quản lý chia thành hai hệ thống con:
+ Hệ tác nghiệp (trực tiếp sản xuất): gồm con người, phương tiện, phương pháp trực tiếp thực hiện mục tiêu đã đề ra.
+ Hệ quản lý (gián tiếp sản xuất): Gồm con người, phương tiện, phương pháp cho phép điều khiển hoạt động của hệ thống.
Hệ này lại chia thành hai hệ con:
- Hệ quyết định : Đưa ra các quyết định
- Hệ xử lý thông tin : Xử lý thông tin
- Hệ thống thông tin (information system) : Là một hệ thống sử dụng công nghệ thông tin để thu thập, truyền, lưu trữ, xử lý và biểu diễn thông tin trong một hay nhiều quá trình kinh doanh.
Hệ thông tin phát triển qua bốn loại hình :
+ Hệ xử lý dữ liệu :lưu trữ và cập nhật dữ liệu hàng ngày, ra các báo cáo theo định kỳ (Ví dụ: Các hệ thống tính lương).
+ Hệ thông tin quản lý (Management Information System - MIS): Một hệ thông tin gồm cơ sở dữ liệu hợp nhất và các dòng thông tin giúp con người trong sản xuất, quản lý và ra quyết định.
+ Hệ trợ giúp quyết định: Hỗ trợ cho việc ra quyết định (cho phép nhà phân tích ra quyết định chọn các phương án mà không phải thu thập và phân tích dữ liệu).
+ Hệ chuyên gia: Hỗ trợ nhà quản lý giải quyết các vấn đề và làm quyết định một cách thông minh.
2. VAI TRÒ, NHIỆM VỤ CỦA HỆ THỐNG THÔNG TIN
2.1. Vai trò
Hệ thông tin đóng vai trò trung gian giữa hệ quyết định và hệ tác nghiệp trong hệ thống quản lý.2.2.Nhiệm vụ
- Trao đổi thông tin với môi trường ngoài
- Thực hiện việc liên lạc giữa các bộ phận và cung cấp thông tin cho các hệ tác nghiệp và hệ quyết định.
3. CÁC BỘ PHẬN HỢP THÀNH HỆ THỐNG THÔNG TIN
- Dữ liệu: là nguyên liệu của hệ thông tin được biểu diễn dưới nhiều dạng : văn bản, truyền khẩu, hình vẽ,... và những vật mang tin :Giấy, bảng từ, đĩa từ...
- Các xử lý: Thông tin đầu vào qua các xử lý thành thông tin đầu ra
4. CÁC PHƯƠNG PHÁP PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN
4.1. Phương pháp thiết kế hệ thống cổ điển ( thiết kế phi cấu trúc)
Đặc điểm:
- Gồm các pha (phase) : Khảo sát, thiết kế, viết lệnh, kiểm thử đơn lẻ, kiểm thử trong hệ con, kiểm thử trong toàn hệ thống.
- Việc hoàn thiện hệ thống được thực hiện theo hướng “bottom-up” (từ dưới lên) và theo nguyên tắc tiến hành tuần tự từ pha này tới pha khác.
Nhược điểm:
- Gỡ rối, sửa chữa rất khó khăn và phức tạp.
Ví dụ trong giai đoạn kiểm thử (test) nếu có lỗi nào đó xuất hiện ở giai đoạn cuối pha kiểm thử. Lúc đó, tuỳ theo mức độ nghiêm trọng của lỗi, có thể buộc phải sửa đổi hàng loạt các mođun. Khi một lỗi được phát hiện, khó chẩn đoán mođun nào (trong số hàng trăm, hàng ngàn mô đun) chứa lỗi.
- Vì thực hiện theo nguyên tắc tuần tự các pha nên sau khi đã kết thúc một pha, người ta có thể không cần phải bận tâm đến nó nữa à Nếu ở pha trước còn lỗi thì các pha sau sẽ phải tiếp tục chịu ảnh hưởng của lỗi đó. Mặt khác hầu hết các dự án thường phải tuân thủ theo một kế hoạch chung đã ấn định từ trước =>kết quả sẽ khó mà được như ý với một thời gian quy định.
4.2. Phương pháp phân tích thiết kế hệ thống bán cấu trúc
Đặc điểm:
- Một loạt các bước “bottom-up” như viết lệnh và kiểm thử được thay thế bằng giai đoạn hoàn thiện “top-down”. Nghĩa là các modun mức cao được viết lệnh và kiểm thử trước rồi đến các modun chi tiết ở mức thấp hơn.
- Pha thiết kế cổ điển được thay bằng thiết kế có cấu trúc.
Nhược điểm:
Người thiết kế nói chung liên lạc rất ít với phân tích viên hệ thống và cả hai chẳng có liên hệ nào với người sử dụng => Quá trình phân tích và thiết kế gần nhưlà tách ra thành hai pha độc lập.
4.3. Phương pháp phân tích thiết kế hệ thống có cấu trúc
Đặc điểm
- Phương pháp này bao gồm 9 hoạt động: Khảo sát, phân tích, thiết kế, bổ sung, tạo sinh, kiểm thử xác nhận, bảo đảm chất lượng, mô tả thủ tục, biến đổi cơ sở dữ liệu, cài đặt.
- Các hoạt động có thể thực hiện song song. Chính khía cạnh không tuần tự này mà thuật ngữ “pha” được thay thế bởi thuật ngữ “hoạt động” (“pha” chỉ một khoảng thời gian trong một dự án trong đó chỉ có một hoạt động được tiến hành). Mỗi hoạt động có thể cung cấp những sửa đổi phù hợp cho một hoặc nhiều hoạt động trước đó.
Một số phương pháp phân tích có cấu trúc: Các phương pháp hướng chức năng
- Phương pháp SADT (Structured Analysis and Design Technie) của Mỹ dựa theo phương pháp phân rã một hệ thống lớn thành các hệ thống con đơn giản hơn.
- Nó có hệ thống trợ giúp theo kiểu đồ hoạ để biểu diễn các hệ thống và việc trao đổi thông tin giữa các hệ con. Kỹ thuật chủ yếu của SADT là dựa trên sơ đồ luồng dữ liệu, từ điển dữ liệu (Data Dictionnary), ngôn ngữ mô tả có cấu trúc, ma trận chức năng. Nhưng SADT chưa quan tâm một cách thích đáng đối với mô hình chức năng của hệ thống.
- Phương pháp MERISE (MEthod pour Rassembler les Idees Sans Effort) của Pháp dựa trên các mức bất biến (còn gọi là mức trừu tượng hoá) của hệ thống thông tin như mức quan niệm, mức tổ chức, mức vật lý và có sự kết hợp với mô hình.
- CASE (Computer-Aided System Engineering) - phương pháp phân tích và thiết kế tự động nhờ sự trợ giúp của máy tính.
Từ kinh nghiệm và nghiên cứu trong quá trình xây dựng hệ thống, hãng Oracle đã đưa ra một tiếp cận công nghệ mới - Phương pháp luận phân tích và thiết kế hệ thống CASE*Method. Đây là một cách tiếp cận theo hướng "topdown" và rất phù hợp với yêu cầu xây dựng một hệ thống thông tin trong các doanh nghiệp sản xuất kinh doanh thương mại.
Các phương pháp hướng đối tượng
- Phương pháp HOOD (Hierarchical Object Oriented Design) là một phương pháp được lựa chọn để thiết kế các hệ thống thời gian thực.
Những phương pháp này lại yêu cầu các phần mềm phải được mã hoá bằng ngôn ngữ lập trình ADA. Do vậy phương pháp này chỉ hỗ trợ cho việc thiết kế các đối tượng mà không hỗ trợ cho các tính năng kế thừa và phân lớp.
- Phương pháp RDD (Responsibility Driven Design) dựa trên việc mô hình hoá hệ thống thành các lớp.
Các công việc mà hệ thống phải thực hiện được phân tích và chia ra cho các lớp của hệ thống. Các đối tượng trong các lớp của hệ thống trao đổi các thông báo với nhau nhằm thực hiện công việc đặt ra. Phương pháp RDD hỗ trợ cho các khái niệm về lớp, đối tượng và kế thừa trong cách tiếp cận hướng đối tượng.
- Phương pháp OMT (Object Modelling Technique) là một phương pháp được xem là mới nhất trong cách tiếp cận hướng đối tượng.
Phương pháp này đã khắc phục được một số nhược điểm của các phương pháp tiếp cận hướng đối tượng trước mắc phải.
5. CÁC GIAI ĐOẠN PHÂN TÍCH THIẾT KẾ
Các phương pháp phân tích và thiết kế hệ thống dù được phát triển bởi nhiều tác giả khác nhau, có nhiều điểm, thuật ngữ, quy ước khác nhau, nhưng tựu trung lại các phương pháp luận này đều định ra các giai đoạn cơ bản cho quá trình phát triển dự án:
1.Khảo sát hiện trạng và xác lập dự án.
2.Phân tích hệ thống : Phân tích các chức năng và dữ liệu của hệ thống cũ để đưa ra mô tả của hệ thống mới.
3.Thiết kế hệ thống
4.Xây dựng hệ thống
CHƯƠNG 3 PHÂN TÍCH CHỨC NĂNG CỦA HỆ THỐNG
1. MÔ HÌNH PHÂN RÃ CHỨC NĂNG
1.1. Định nghĩa
Mô hình phân rã chức năng (BFD) là công cụ biểu diễn việc phân rã có thứ bậc đơn giản các công việc cần thực hiện. Mỗi công việc được chia ra làm các công việc con, số mức chia ra phụ thuộc kích cỡ và độ phức tạp của hệ thống.
1.2.Các thành phần
a. Chức năng
- Chức năng: là công việc mà tổ chức cần làm và được phân theo nhiều mức từ tổng hợp đến chi tiết.
- Cách đặt tên : Tên chức năng phải là một mệnh đề động từ, gồm động từ và bổ ngữ. Động từ thể hiện hoạt động, bổ ngữ thường liên quan đến các thực thể dữ liệu trong miền nghiên cứu.
b.Quan hệ phân cấp
- Mỗi chức năng được phân rã thành các chức năng con. Các chức năng con có quan hệ phân cấp với chức năng cha
1.3. Đặc điểm và mục đích của mô hình
Đặc điểm
Cung cấp cách nhìn khái quát chức năng
Dễ thành lập
Gần gũi với sơ đồ tổ chức.
Không đưa ra được mối liên quan về thông tin giữa các chức năng.
Mục đích
Xác định phạm vi của hệ thống cần phân tích
Cho phép mô tả khái quát dần các chức năng của một tổ chức một cách trực tiếp khách quan. Cho phép phát hiện chức năng thiếu, trùng lặp
Giúp làm việc giữa nhà thiết kế và người sử dụng trong khi phát triển hệ thống.
1.4. Xây dựng mô hình
a. Nguyên tắc phân rã các chức năng
Trong quá trình tiếp cận một tổ chức theo phương pháp từ trên xuống, ta nhận được thông tin về các chức năng từ mức gộp (do lãnh đạo cung cấp) đến mức chi tiết (do các bộ phận chức năng cung cấp). Cách phân cho này phù hợp với sự phân công các chức năng công việc cho các bộ phận chức năng cũng như cho các nhân viên của một tổ chức. Cách phân chia này thường theo nguyên tắc sau:
Mỗi chức năng được phân rã 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ó.
Việc thực hiện tất cả các chức năng ở mức dưới trực tiếp phải đảm bảo thực hiện được các chức năng ở mức trên đã phân rã ra chũng
Quy tắc này được sử dụng để phân rã một sơ đồ chức năng nhận được còn đang ở mức gộp. Quá trình phân rã dần thường được tiếp tục cho đến khi ta nhận được một mô hìnhvới các chức năng ở mức cuối mà ta hoàn toàn nằm được nội dung thực hiện nó.
b. Tiến hành
B1: Xác định chức năng
Trong hầu hết các hoàn cảnh, các chức năng cha và chức năng con trong hệ thống có thể được xác định một cách trực giác trên cơ sở thông tin nhận được trong khảo sát.
Ở mức cao nhất, một chức năng chính sẽ làm một trong ba điều sau:
+ Cung cấp sản phẩm (VD:Phát hàng)
+ Cung cấp dịch vụ (VD: Đặt hàng)
+ Quản lý tài nguyên (VD: Quản lý nhân sự, bảo trì kho..)
Mỗi chức năng có một tên duy nhất, các chức năng khác nhau phải có tên khác nhau. Để xác định tên cho chức năng có thể bàn luận và nhất trí với người sử dụng.
B2: Phân rã các chức năng
lPhân rã có thứ bậc
Thực hiện việc phân rã chức năng theo các nguyên tắc phân rã
Khi phân rã một chức năng thành các chức năng con có thể căn cứ vào một số gợi ý:
ØXác định nhu cầu hoặc kế hoạch mua sắm.
ØMua sắm và/hoặc cài đặt.
ØBảo trì và hỗ trợ.
ØThanh lý hoặc chuyển nhượng
VD: Chức năng "Đặt hàng" :Kế hoạch mua sắm gợi ý:"Chọn nhà cung cấp".
Mua sắm gợi ý "Làm đơn hàng", Hỗ trợ :"Cập nhật kết quả thực hiện đơn hàng"...
l Cách bố trí sắp xếp
Không nên quá 6 mức đối với hệ thống lớn, không quá 3 mức đối với hệ thống nhỏ.
Sắp xếp các công việc trên một mức cùng một hàng đảm bảo cân đối.
Các chức năng con của cùng một mẹ nên có kích thước, độ phức tạp và tầm quan trọng xấp xỉ như nhau.
Các chức năng mức thấp nhất nên mô tả được trong không quá nửa trang giấy, nó chỉ có một nhiệm vụ hoặc một nhóm nhiệm vụ nhỏ do từng cá nhân thực hiện.
lYêu cầu :
Mô hình phân rã chức năng cho ta một cái nhìn chủ quan về hệ thống nên cần tạo ra mô hình tốt và đạt được sự thống nhất với người sử dụng.
B3: Mô tả chi tiết chức năng mức lá
Đối với mỗi chức năng lá (mức thấp nhất) trong mô hìnhcần mô tả trình tự và cách thức tiến hành nó bằng lời và có thể sử dụng mô hình hay một hình thức nào khác. Mô tả thường bao gồm các nội dung sau:
Tên chức năng
Các sự kiện kích hoạt (khi nào? cái gì dẫn đến? điều kiện gì?)
Quy trình thực hiện
Yêu cầu giao diện cần thể hiện (nếu có)
Dữ liệu vào (các hồ sơ sử dụng ban đầu)
Công thức (thuật toán) tính toán sử dụng (nếu có)
Dữ liệu ra (các báo cáo hay kiểm tra cần đưa ra)
Quy tắc nghiệp vụ cần tuân thủ
Ví dụ: Mô tả các chức năng lá “kiểm tra khách hàng”: Người ta mở sổ khách hàng để kiểm tra xem có khách hàng nào như trong đơn hàng không? (họ tên, địa chỉ,…) Nếu không có, đó là khách hàng mới. Ngược lại là khách hàng cũ thì cần tìm tên khách hàng trong sổ nợ và xem khách có nợ không và nợ bao nhiêu, có quá số nợ cho phép b không và thời gian nợ có quá thời hạn hợp đồng không
1.5. Các dạng mô hình phân rã chức năng
Mô hình phân rã chức năng nghiệp vụ có thể biểu diễn ở hai dạng: dạng chuẩn và dạng công ty. Chọn dạng nào để dùng là tuỳ thuộc vào chiến lược xử lý dữ liệu của công ty và vào tầm quan trọng và độ mềm dẻo của hệ thống.
a. Mô hình dạng chuẩn
Dạng chuẩn được sử dụng để mô tả các chức năng cho một lĩnh vực khảo sát (hay một hệ thống nhỏ). Mô hình dạng chuẩn là mô hình cây: ở mức cao nhất chỉ gồm một chức năng, gọi là “chức năng gốc” hay “chức năng đỉnh”; những chức năng ở mức dưới cùng (thấp nhất) gọi là “chức năng lá”
b. Mô hình dạng công ty
Dạng công ty được sử dụng để mô tả tổng thể toàn bộ chức năng của một tổ chức có qui mô lớn. ở dạng công ty, mô hình thường gồm ít nhất hai mô hình trở lên. Một “mô hình gộp” mô tả toàn bộ công ty với các chức năng thuộc mức gộp (từ hai đến ba mức). Các mô hình còn lại các các “mô hình chi tiết” dạng chuẩn để chi tiết mỗi chức năng lá của mô hình gộp. Nó tương ứng với các chức năng mà mỗi bộ phận của tổ chức thực hiện, tức là một miền được khảo cứu.
2. MÔ HÌNH LUỒNG DỮ LIỆU
2.1. Khái quát
Mục đích :
Bổ xung khiếm khuyết của mô hình phân rã chức năng bằng việc bổ xung các luồng thông tin nghiệp vụ cần để thực hiện chức năng.
Cho ta cái nhìn đầy đủ hơn về các mặt hoạt động của hệ thống
Là một trong số các đầu vào cho quá trình thiết kế hệ thống.
Phương pháp : Phương pháp phân tích top-down. Hệ thống được mô tả bởi nhiều DFD ở nhiều mức
2.2. Định nghĩa
Mô hình luồng dữ liệu (DFD - Data Flow Diagram) là một công cụ mô tả mối quan hệ thông tin giữa các công việc .
2.3. Các thành phần
a. Chức năng (Tiến trình)
- Định nghĩa: Là một hoạt động có liên quan đến sự biến đổi hoặc tác động lên thông tin như tổ chức lại thông tin, bổ sung thông tin hoặc tạo ra thông tin mới. Nếu trong một chức năng không có thông tin mới được sinh ra thì đó chưa phải là chức năng trong DFD.
- Cách đặt tên: Động từ + bổ ngữ.
VD: Chấp nhận nguồn hàng, ghi kho vật liệu...
- Biểu diễn : hình chữ nhật góc tròn hoặc hình tròn
b. Luồng dữ liệu :
- Định nghĩa: Là luồng thông tin vào hoặc ra khỏi chức năng
- Cách đặt tên : Danh từ + tính từ
- Biểu diễn : là mũi tên trên đó ghi thông tin di chuyển
c. Kho dữ liệu
- Định nghĩa: Là nơi biểu diễn thông tin cần cất giữ, để một hoặc nhiều chức năng sử dụng chúng.
- Cách đặt tên : danh từ + tính từ. Chỉ nội dung dữ liệu trong kho
- Biểu diễn : cặp đường thẳng song song chứa thông tin cần cất giữ
d. Tác nhân ngoài
- Định nghĩa: Là một người hoặc một nhóm người nằm ngoài hệ thống nhưng có trao đổi trực tiếp với hệ thống. Sự có mặt của các nhân tố này trên sơ đồ chỉ ra giới hạn của hệ thống, định rõ mối quan hệ của hệ thống với thế giới bên ngoài
- Tên : Danh từ
- Biểu diễn : hình chữ nhật
e. Tác nhân trong
- Là một chức năng hoặc một hệ thống con của hệ thống đang xét nhưng được trình bày ở một trang khác của mô hình.
Mọi sơ đồ luồng dữ liệu đều có thể bao gồm một số trang, thông tin truyền giữa các quá trình trên các trang khác nhau được chỉ ra nhờ kí hiệu này.
- Tên: động từ + bổ ngữ
2.4. Một số quy tắc vẽ biểu đồ luồng dữ liệu
Các luồng dữ liệu vào của một tiến trình cần khác với các luồng dữ liệu ra của nó. Tức là các dữ liệu qua một tiến trình phải có thay đổi. Ngược lại, tiến trình là không cần thiết vì không tác động gì đến các luồng thông tin đi qua nó.
Các đối tượng trong một mô hình luồng dữ liệu phải có tên duy nhất: mỗi tiến trình phải có tên duy nhất. Tuy nhiên, vì lí do trình bày cùng một tác nhân trong, tác nhân ngoài và kho dữ liệu có thể được vẽ lặp lại.
Các luồng dữ liệu đi vào một tiến trình phải đủ để tạo thành các luồng dữ liệu đi ra.
Nói chung tên luồng thông tin vào hoặc ra kho trùng với tên kho vì vậy không cần viết tên luồng. Nhưng khi ghi hoặc lấy tin chỉ tiến hành một phần kho thì lúc đó phải đặt tên cho luồng
Không có một tiến trình nào chỉ có cái ra mà không có cái vào. Đối tượng chỉ có cái ra thì có thể là tác nhân ngoài (nguồn)
Không một tiến trình nào mà chỉ có cái vào. Một đối tượng chỉ có cái vào thì chỉ có thể là tác nhân ngoài (đích)
2.5. Xây dựng mô hình luồng dữ liệu
- Bước 1: Xây dựng mô hình luồng dữ liệu mức khung cảnh (mức 0)
Mô hình luồng dữ liệu mức khung cảnh gồm một chức năng duy nhất biểu thị toàn bộ hệ thống đang nghiên cứu, chức năng này được nối với mọi tác nhân ngoài của hệ thống.
Các luồng dữ liệu giữa chức năng và tác nhân ngoài chỉ thông tin vào và ra của hệ thống
b.Xây dựng mô hình luồng dữ liệu mức đỉnh (mức 1)
- Với mức đỉnh các tác nhân ngoài của hệ thống ở mức khung cảnh được giữ nguyên với các luồng thông tin vào ra.
- Hệ thống được phân rã thành các chức năng mức đỉnh là các tiến trình chính bên trong hệ thống theo mô hình phân rã chức năng mức 1.
- Xuất hiện thêm các kho dữ liệu và luồng thông tin trao đổi giữa các chức năng mức đỉnh.
c.Xây dựng mô hình luồng dữ liệu mức dưới đỉnh (mức 2 và dưới 2)
- ở mức này thực hiện phân rã đối với mỗi chức năng của mức đỉnh.
- Khi thực hiện mức phân rã này vẫn phải căn cứ vào mô hình phân rã chức năng để xác định các chức năng con sẽ xuất hiện trong mô hình luồng dữ liệu.
- Việc phân rã có thể tiếp tục cho đến khi đủ số mức cần thiết
- Khi phân rã các chức năng phải đảm bảo tất cả các luồng thông tin vào ra ở chức năng mức cao phải có mặt trong các chức năng mức thấp hơn và ngược lại.
*Chú ý:
- Các kho dữ liệu không xuất hiện ở DFD mức khung cảnh.
- Nên đánh số các chức năng theo sự phân cấp.
- Các kho dữ liệu, các tác nhân ngoài có thể xuất hiện nhiều lần.
- Số mức phụ thuộc vào độ phức tạp của hệ thống.
2.6. Chuyển từ mô hình luồng dữ liệu vật lý sang mô hình luồng dữ liệu logic
l Trong thực tế người ta thấy tạo ra một mô hình DFD cho hệ thống thực dưới dạng vật lý không có lợi:
ØTốn nhiều thời gian và tiêu tốn nguồn tài nguyên phát triển dự án một cách không cần thiết. Có thể xem quá trình này là việc sao chép công việc của kỹ thuật viên điều tra, sao chép tất cả những gì đang thực hiện hiện tại.
ØKhi tạo ra mô hình thì phải tạo ra những điều chỉnh tượng trưng cho nó, xử lý nó như mô hình logic, kết quả là hệ thống mới chỉ đơn thuần là tin học hoá hệ thống cũ với rất nhiều lỗi mà cái ta cần cuối cùng là mô hình DFD logic.
l Mô hình logic loại những ràng buộc, các yếu tố vật lý, nó chỉ quan tâm chức năng nào là cần cho hệ thống và thông tin nào là cần để thực hiện cho chức năng đó.
l Các yếu tố vật lý cần loại bỏ:
Ø Các phương tiện, phương thức: tự động, thủ công, bàn phím, màn hình,..
Ø Các giá mang thông tin: các tệp, chứng từ
Ø Các chức năng xử lý gắn với các công cụ hay cách thức cài đặt cụ thể
l Tiến hành các loại bỏ và chỉnh đốn lại cấu trúc. Loại bỏ: loại bỏ các ngôn từ, hình vẽ biểu diễn các phương tiện, giá mang tin,.. giữ lại các chức năng và nội dung thông tin
* Chú ý:
+ Nên xây dựng mô hình logic cần có bằng cách điều chỉnh mô hình logic thực tại.
+ Không có sự phân chia rõ rệt giữa logic và vật lý. Mô hình càng phân rã ở mức thấp thì càng thêm nhiều yếu tố vật lý.
+ Càng giữ cho mô hình của mình được logic nhiều nhất khi đi sâu vào chi tiết càng tốt.
2.7. Chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới.
Giai đoạn này có ý nghĩa vô cùng quan trọng ảnh hưởng to lớn đến sự thành công của hệ thống mới.
Trong giai đoạn này nhà quản lý và nhà phân tích phải hợp tác chặt chẽ để tìm cách hoà hợp cơ cấu tổ chức, nhận thức được vai trò của máy tính để thay đổi hệ thống cũ.
Để chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới trước tiên phải xác định các mặt yếu kém cần cải tiến, thay đổi trong hệ thống cũ.
Các yếu kém chủ yếu do sự thiếu vắng gây ra : thiếu vắng về cơ cấu tổ chức hợp lý, thiếu vắng các phương tiện hoạt động từ đó dẫn đến hiệu quả hoạt động thấp, chi phí hoạt động cao.
Xem lại mô hình luồng dữ liệu
+ Nếu thiếu vắng thì bổ xung
+ Nếu thừa thì loại bỏ
+ Nếu thay đổi bắt đầu từ mức đỉnh
Ø Khoanh vùng vùng sẽ được thay đổi
Ø Giữ nguyên các luồng vào và luồng ra của vùng
Ø Xác định chức năng tổng quát của vùng
Ø Xoá bỏ mô hình luồng dữ liệu bên trong vùng được khoanh, lập lại các chức năng từ mức thấp nhất.
Ø Thành lập kho dữ liệu và luồng dữ liệu cần thiết.
Sửa lại mô hình phân rã chức năng theo mô hình luồng dữ liệu.
Kiểm tra lại các mô hình dữ liệu điều chỉnh lại cho hợp lý.
Ví dụ: Hệ cung ứng vật tư
- Nhược điểm : thiếu kho hàng thông dụng
+ Tốc độ chậm vì có khâu đối chiếu thủ công
+ Theo dõi thực hiện đơn hàng còn nhiều sai sót
+ Lãng phí do đối chiếu thủ công
-Sửa mô hình luồng dữ liệu
+ Bổ xung : Kho chứa vật tư
+ Sửa lại DFD của hệ thống
2.8. Hoàn chỉnh mô hình DFD
Khi đã hoàn thành sơ đồ luồng dữ liệu cần kiểm tra về tính đầy đủ và nhất quán của nó. Phải làm cho sơ đồ đơn giản, chính xác và logic nhất có thể được.
Có thể xảy ra các tình huống sau nên tránh:
- Hiệu ứng mặt trời bừng sáng : Một chức năng có quá nhiều dòng vào ra.
Khắc phục : Gom nhóm hoặc phân rã tiếp một số chức năng chưa hợp lý.
VD: Thông tin đi qua một chức năng mà không bị thay đổi
Tác dụng:
- Xác định nhu cầu thông tin ở mỗi chức năng
- Cho một thiết kế sơ bộ về thực hiện chức năng
- Là phương tiện giao tiếp giữa người phân tích thiết kế và người sử dụng
- Luôn có hai mức diễn tả vật lý và lôgíc. Mức vật lý trả lời câu hỏi như thế nào, mức lôgíc trả lời câu hỏi làm gì.
2.9.Phân mức
- Sơ đồ luồng dữ liệu đầy đủ của hệ thống là rất phức tạp không thể xếp gọn trong một trang => Cần dùng tới kỹ thuật phân rã sơ đồ theo một số mức.
- Các mức được đánh số thứ tự, mức cao nhất (mức khung cảnh) là 0 sau đó đến mức đỉnh 1, các mức dưới đỉnh 2,3,...
Mức 0: Tên chức năng là tên toàn bộ hệ thống.
Mức 1: Mỗi chức năng được gắn với một số và sẽ được mang tiếp theo với các chỉ số chỉ mức phụ thuộc, xem như một cách đặt tên theo số cho từng chức năng con của nó. Bắt đầu ở mức 1 mới có các kho dữ liệu
2.10. Hạn chế của mô hình luồng dữ liệu
- Không chỉ ra được yếu tố thời gian (Ví dụ:Thông tin chuyển từ tiến trình này sang tiến trình khác hết bao nhiêu thời gian)
- Không xác định được trật tự thực hiện các chức năng.
- Không chỉ ra được yếu tố định lượng đối với dữ liệu có liên quan (tối đa và tối thiểu những thông tin là cơ bản trong quá trình phân tích)
1.3. Các nguyên tắc chung khi thiết kế giao diện
- Luôn cung cấp thông tin phản hồi về công việc đang tiến hành cho người sử dụng.
- Thông tin trạng thái : cung cấp cho người sử dụng thông tin về phần hệ thống đang được sử dụng.
Công việc tối thiểu : Hạn chế tối đa sự cố gắng không cần thiết của người sử dụng.
- Trợ giúp : Sẵn sàng cung cấp các trợ giúp khi người sử dụng cần.
Dễ dàng thoát ra : Cho phép người sử dụng thoát ra khỏi hộp thoại dễ dàng bằng các thao tác quen thuộc.
Ví dụ : ấn phím ESC/Alt-F9...
- Làm lại : Cho phép huỷ bỏ các thao tác đã tiến hành, tăng tính khoan dung của chương trình
4.4.Mã hoá
- Mã :Tên vắn tắt gắn cho một đối tượng nào đó
- Đối tượng có thể là :
+ Một ứng dụng tin học
+ Một chức năng hay nhiệm vụ
+ Một chương trình
+ Một tệp
+ Một thông tin trong các tài liệu, trong các tệp
+ Các biến hàm dùng trong chương trình...
- Chất lượng cơ bản của sự mã hoá
+ Không nhập nhằng :Không gây nhầm lẫn giữa đối tượng này với đối tượng khác (Có ánh xạ 1-1 giữa tập đối tượng và tập mã hoá)
+ Thích ứng với phương thức sử dụng
Xử lý bằng tay :Dễ hiểu, dễ giải mã
Xử lý bằng máy phải có cú pháp chặt chẽ.
+ Có khả năng mở rộng hoặc xen thêm
Mở rộng về phía trên hoặc phía dưới tập mã
Xen thêm ở bên trong tập mã nhưng phải đảm bảo một trình tự nào đó.
+ Mã phải ngắn gọn
+ Mã phải có tính gợi ý
- Các kiểu mã
+ Mã liên tiếp: Dùng các số nguyên liên tiếp để mã hoá đối tượng
+ Mã theo lát: Vẫn dùng số nguyên nhưng phân ra từng khoảng giá trị cho đối tượng, trong mỗi khoảng dùng mã liên tiếp.
+ Mã phân đoạn : Được phân thành nhiều đoạn mỗi đoạn có ý nghĩa riêng. Ví dụ: Mã xe máy 29 S2 3219 (Tỉnh-loại phân khối-liên tiếp trong lát)
+ Mã phân cấp : Mã được phân thành nhiều đoạn, mỗi đoạn trỏ vào một tập đối tượng.
- Lựa chọn mã hoá
+ Nghiên cứu việc sử dụng sau này
+ Nghiên cứu số lượng đối tượng được mã hoá
+ Nghiên cứu sự phân bố thống kê của các đối tượng
+ Tìm xem đã có những mã nào được dùng
+ Cần thoả thuận với người sử dụng sau này
+ Cần thử nghiệm trước khi dùng chính thức
Câu 12 : Mô hành thực thể liên kết: Khái niệm thực thể, kiểu thực thể, thuộc tính,lien kết. Kỹ thuật xác định các kiểu thực thể chính, xác định các thuộc tính và xác lập các liên kết.
* Khái niệm thực thể: Thực thể là một sự kiện, một đối tượng hay một chủ điểm mà thông tin chứa trong nó cần thiết cho hệ thống thông tin cần xây dựng . Ví dụ:
“ Khách hàng Nguyễn Văn A, địa chỉ 15, LTT,HP
“ Đơn hàng số 1256, của khách KH027
* Kiểu thực thể là một tập hợp các thực thể cùng mô tả một đối tượng nào đó trong hệ thống, nói cách khác, kiểu thực thể là định nghĩa về một laọi thông tin nào đó. Ở ví dụ trên kiểu thực thể tương ứng là Káhch hàng, Đơn hàng.
* Thuộc tính: là một đặc trưng của thực thể, thể hiện mọt khía cạnh nào đó của thực thể liên quan tới hệ thống. Mỗi một thực thể có một tập hợp các thuộc tính, mô tả một thực thể chính là mô tả các thuộc tính của nó.
Ví dụ :
“ Tên của khách hàng là Nguyễn Văn A
“ Đại chỉ của khách hàng là 15,LTT,HP
“Số đơn hàng là 1256
“ Mã khách hàng là KH027
trong ví dụ trên, giá trị cụ thể của thuộc tính ứng với từng thực thể đc nêu ra kèm với 1 cái tên :
“ Tên : Nguyễn Văn A
“Đại chỉ : 15,LTT,HP
“ Số đơn hàng: 1256
“Mã khách hàng: KH027
Thuộc tính đc chia ra làm 4 loại :
a) Thuộc tính đinh danh : Một hoặc một số thuộc tính trong kiểu thực thể đc gọi là thuộc tính định danh (hay khóa) tập hợp nếu thông qua giá trị của nó, có thể xác định thực thể một cáh duy nhất. Khi mô tả kiểu thực thể bằng danh sách các thuộc tính, thuộct ính định danh đc gạch chân để phân biệt với các thuộc tính khác. Ví dụ về thuộc tính định danh:
Sinh viên { mãSV, Họ tên SV, Ngày sinh, Ngành học, lớp, Trình độ ngoại ngữ}
Thuộc tính định danh trong kiểu thực thể Sinh Viên là MãSV
Khi chọn hoặc xây dựng thuộc tính định danh mới, phải chú ý đảm bảo sao chp thuộc tính này không chứa giá trị rỗng và ko chứa các thành phần có khả năng thay đổi trong qua strình hoạt động của hệ thống, ví dụ trong MãSV mà có chứa thông tin về lớp hoặc khóa học thì rõ ràng là ko tốt, vì thông tin này sẽ bị thay đổi khi sinh viên chuyển lớp hoăch khóa học.
b)Thuộc tính mô tả : với nhiều kiểu thực thể, phần lớn các thuộc tính của nó là thuộc tính mô tả, các thuộc tính mô tả cung cấp thôg tin làm rõ thêm về thực thể . Ví dụ, trong kiểu thực thể Sinh viên trên , các thuộc tính Họ tên SV, Ngày sinh, Ngành học, lớp, Trình độ ngoại ngữ là các thuộc tính mô tả. Thuộc tính mô tả chỉ cần xuất hiện trong một kiểu thực thể nào đó của mô hìn dữ liệu của hệ thống, nếu thuộc tính mô tả xuất hiện trong nhiều kiểu thực thể thì có thể gây ra dư thừa dữ liệu,và là nguyên nhân dẫn đến sự không nhất quán về dữ liệu trong hẹ thống.
c) Thuộc tính phức hợp: những thuộc tính mà giá trj của nó ko thể phân tích đc trong các xử lý gọi là thuộc tính đơn. Những thuộc tính là gộp một số thuộct ính đơn lại gọi là thuộc tính phức hợp. Trong các ví dụ trên, có thuộct ính là hợp thành của một số thành phần thông tin- thuộc tính của thực thể. Ví dụ, thuộc tính “Họ tên” là gộp của “Họ đệm” và “Tên”. Trong một số hệ thống thì “Họ đệm” và “Tên” đc tách thành 2 thuộc tính, trong một số hệ thống khá thì “Họ đêm” và “Tên” đc tổ chức như một thuộc tính. Như vậy, tùy theo nhu cầu xử lý mà phân tích viên tổ chức một thông tin nào đó. Như một thuộc tính đơn phân rã nó ra thành một số thuộpc tính đơn.
d)Thuộc tính đa trị : Thuộc tính đa trị là thuộc tính có thể nhận nhiều hơn một giá trị đối với mỗi thực thể trong bảng thực thể. Ví dụ, trong kiểu thực thể Sinh viên ở ví dụ trên, các thuộc tính lớp và trình độ ngoại ngữ là đa trị, vì với một vài Sinh viên nào đó có thể hcọ ở 2 lớp, trong kiểu thực thể có cả 1 nhóm thuộc tính đa trị có liên quan đên nhau. Ví dụ, nhóm thuộc tính MãMH, TênMH, ĐVtính, Số lượng, Đơn giá, trog kiểu thực thể đơn hàng đều là kiểu thực thể đa trị. Nhóm các thuộc tính đa trị có tính chất như vậy gọi là hóm thuộc tính lặp
* Liên kết: Giữa các kiểu thực thể vốn tồn tại liên kêt tự nhiên, phản ánh bản chất hoạt động diễn ra trong hệ thống thực. Ví dụ:
- “ Sinh Viên “ hoàn thành “Môn học”
- “Khách hàng ” gửi “Đơn hàng”
Mỗi liên kết đặc trưng bởi số kiểu thực thể tham gia vào liên kết, gọi là bậc của liên kết. Ví dụ, liên kết “hoàn thành” giữa kiểu thực thực thể “Sinh Viên” và thực thể “Môn học”, có bậc là 2, còn gọi là liên kết 2 ngôi, mối liên kết “Giảng”. Giữa kiểu thưc thể “Giáo Viên” với các kiểu thực thể “Môn học” và “Lớp” có bậc 3, còn gọi là liên kết 3 ngôi. Có thể chia ra làm 2 laoi chính là chỉ có duy nhất 1 thực thể tham gia vào liên kết hoặc có thể có nhiều thực thể tham gia vao liên kêt. Ví dụ, mỗi “Khách hang” có thể gửi 1 hay nhiều “Đơn hàng” những mỗi “Đơn hàng ” thì chỉ thuộc tính về một “Khách hang” nào đó. Đây là liên kết “Khách hàng” tham gia với bản số 1, còn “Đơn hàng” tham gia với bản số nhiều, còn gọi là liên kết 1-nhiều, ký hiệu là 1-n. Một ví dụ khác là liên kết giữa “đơn hàng” và “măt hàng”, mỗi “Đơn hàng” chứa một hoặc nhiều “mặt hàng “, ngược lại mỗi “mặt hàng” có thể mặt trong một hoặc hniều “đơn hàng”, mối liên kết này thuộc laọi nhiều-nhiều, ký hiệu n-n.
* Xác định các kiểu thực thể chính :trong kỹ thuật xây dựng mô hình tập thể thì việc xác định các kiểu thực thể là rất quan trrọng .bước đầu cần xác định được những kiểu thực thể chính của hệ thống.có thể dựa vào gợi ý,những kiểu thực thể quan trọng trong hệ thống thì thưiừng liên quan tới mọt trong các loại thông tin sau:
a)Thông tin liên quan tới các giao dịch chính hệ thống (ví dụ như đơn hàng,phiếu xuất,phiếu nhập,phiếu đăng ký nhập học)
b)thông tin liên quan tới tài nguyên của hệ thống (ví dụ như sinh viên,giáo viên,môn học,phòng học)
c)thông tin liên quan tới thông kê và kế hoạch (ví dụ như thời khóa biểu học kỳ )
Trong nhiều trường hợp ,những gợi ý trên chỉ có tác dụng ở thời điểm đầu của quá trình khi phân tích .Với hầu hết các hệ thống ,các thông tin loại này thường là dễ xác định .
Để xác định được các kiểu thực thể khác không dê nhìn thấy ngay trong hệ thống ,cần xem xét tới sự cần thiết của những thông tin đang đc phân tích đối với hệ thống và kả năng hình thành của 1 bảng để lưu trữ. Trong những trường hợp phức tạp như vậy, cần phải xem xét dựa vào câu hỏi:
- Thông tin này có cần cho hệ thống ko ?
- Có thể tổ chức lưu trữ các thông tin này để phục vụ cho nhu các nhu cầu khai thác thông tin sau này ko? Nói cách khác, nếu các tổ chức các thông tin này thành một kiểu thực thể thì có thể phân biệt đc các thực thể với nhau ko ?
* Xác định thuộc tính: Sau khi đã xác định đc thực thể, bbước tiếp theo là làm rõ các thành phần thông tin với mỗi thực thể, tưc slà xác định thuộc tính của thực thể.
Dựa vào vai trò các thuộc thính chia ra làm 3 loại:
-Thuộc tính định danh(hay thuộc tính khóa)
-Thuộc tính kết nối(hay khóa ngoài,)
-Thuộc tính mô tả
Sự có mặt của các thuộc tính mô tả đảm bảo cho tính đầy đủ của các thông tin. Vì vậy, xác định đắn các thuộc tính mô tả là rất quan trọng. Một số phân loại các thuộc tính mô tả sau đây có thể là những gợi ý tốt khi xác định thuộc tính của một kiểu thực thể.
a) Thành phân fdữ liệu ít biến động, hoặc hầu như ko biến động (Họ tên, địa chỉ, ngành nghề) và thành phần dữ liệu thg xuyên biến động(chức vụ, nơi làm việc,).
b)Thành phần dữ liệu tham gia vào các xử lý dạng tính toán(điểm thi, số lượng hàng nhập,) hoặc kết quả của một sô phép tính xử lý(điểm trung bình, số lượng hàng tồn khodanh sách sinh viên thi lại hoặc danh sách sinh viên tốt nghiệp)
c)Thnàh phần dữ liệu bền vững (lượng hàng, giá trị tiền trong một hóa đơn, điểm thi môn hoc của một sinh viên) hay ko bền vững (số lượng hàng tồn kho, số con của một nhân viên, địa chỉ của 1 nhân viên)
d)Thành phần là dữ liệu mang tính lích sử (chức vụ đã qua, công việc đã thực hiện, các dự an đã tham gia) hoặc mang hoạt động hiện tại (chức vụ, mức lương)
Cách làm thông thường là sau khi đã xác định các thực thể trong hệ thông, tiếp tục xác định các thuộc tính của từng kiểu thực thể, tuy nhiên cũng có thực thể hiện theo cách khác: trước tiên xác định các thuọc tính trong hệ thống tnhư là các thông tin cơ bản(sơ đăng) sau đó gộp các thuộc tính này thành từng nhóm theo một số chủ đề mô tả. Mỗi nhóm thuộc tính đc tổ chức thành một kiểu thực thể.
Bước tipế theo là xác định các thuộc tính định danh(khóa) và các thuộc tính kết nối(khóa ngoài), đối với mỗi kiểu thực thể. Trong trường hợp ko có sẵn các thuộc tính định danh có thể xây dựng thuộc tính đinh danh mới. (ví dụ mnhư Mã SV, mã môn hoc), thuôck tính kết nối có thể xác định bằng cách đơn giản là dó tìm các thuộc tính có mặt trong kiểu thực thể không phải là khóa,nhưng là thuộc tính khóa trong kiểu thực thể khác
*Xác lập liên kết: Sau khi đã xác định đc các thực thể cùng với thuọc tính của chúng, cần phải xác dịnh mối liên kết giưa các kiểu thực thể. Việc tìm liên kết 2 ngôi có thể thực hiện theo 2 cách:
a)Tìm trên danh sách các thuộc tính của kiểu thực thể A náo đó những thuộc tính kết nối. Một kiểu thực thể B, chứa thuộc tính này và nhận thuộc tính này lam khóa có liên kết với kiểu thực thể A. Ví dụ,trong kiều thực thể “Đơn hàng” có chứa thuọc tính “mã khachhàng”, trong khi đó, ở kiểu thực thể “Khách hàng”, thhộc tính “Mãkháchhàng” là thuộc tính khóa. Như vậy trong kiểu thực thể “Đơn hàng” thuộc tính “MãKH” là thuộc tính kết nối. Điều này chứng tỏ giữua 2 kiểu thực thể “Đơn hàng ” và “Khách hàng” phải có một liên kết
b)Xem xét ý nghĩa của các kiểu thực thể, xem xét quy tắc quản lý, quản lý xử lý thông tin, quy trình thực hiện công tác nghiệp vụ, để từ đó có thể phát hiện ra những liên kết tự nhiên giữa các kiểu thực thể . Ví dụ, ta đã biết là trong hệ thống có các kiểu thực thể “ĐƠn hàng” và “Khách hàng”. Theo quy trình thực hiện công tác nghiệp vụ thì khách hàng phải đăng ký việc mua hàng cảu mính thông qua đơn hàng. Từ quy trình này có thể phát hiện ra mối liênkếtgiữua 2 kiểu thực thể “đơn hàng” và “khách hàng”
Câu 13 :Quan hệ:
a) Khái niệm:Quan hệ là một bảng dữ liệu hai chiều được đặt tên .Mỗi quan hệ (hay bảng) gồm một số hữu hạn các cột được đặt tên và một số tùy ý các dòng không có tên.
b) Tính chất của quan hệ:
-Giá trị đưa vào mỗi cột phải là đơn nhất
-Các giá trị đưa vào cùng một cột phải thuộc cùng một miền dliệu
-Mỗi dòng trong bảng phải là duy nhất. Trong bảng không có dòng nao giống hệt nhau. Điều kiện duy nhất của các dòng dữ liệu tương đương với điều kiện là bảng có khóa chính khác trống
-Thứ tự các cột trong bảng là không quan trọng. Cột đươc xác định thông qua tên chứ ko phải dựa vào vị trí của chúng.
-Thứ tụ các dòng là ko quan trọng. Cũng như các cột, các dòng có thể đổi chỗ cho nhau, có thể xem dữ liệu trong bảng với các thứ tự khác nhau của các dòng, tùy theo yêu cầu.
Một quan hệ có tính chất tôt là quan hẹ có lượng dư thừa dữliệu ít nhất và cho phép ng sử dụng thêm, sửa đổi hay xóa các dòng dữ liệu mà không gây ra lỗi hoặc sự ko nhất quan trong bảng. Khi xây dựng một hệ thống thông tin với mô hình quan hệ, ở thời điểm ban dầu, các thuộc tính có thể đc gom nhóm một cách tùy ý thành các lược đồ quan hẹ, các lược đồ như vậy thường ko có chất lượng cao.
*Các dạng chuẩn hóa: Lược đồ quan hẹ đc xây dựng ở thời điểm ban đầu thường chứa nhiều nhược điểm như dư thừa dữ liệu, deex gây ra thiếu nhất quán khi bổ sung, sửa chữa hoặc loại bỏ các dòng trong qua hệ. Chất lượng của các lược đồ quan hệ đc cải thiện trên cơ sở biến đổi chuẩn. Ta có ba dạng chuẩn:
a)Dạng chuẩn 1: Một quan hệ R là dạng chuẩn 1(1NF) nếu các thuộc tính của nó đều đơn trị. Nói cách khác, quan hệ R đạt chuẩn 1 nếu nó ko chứa các thuộc tính lặp. Giá trị tại mỗi ô của bảng (giao của cột và dòng) phải là dơn trị
b)Dạng chuẩn2: Một quan hệ R là dạng chuẩn 2(2NF) nếu nó là 1NF và các phụ thuộc hàm giữua các thuộc tính ngoài khóa và khóa đều là các phụ thuộc hàm sơ đẳng, nói cách khác, mọi thuộc tính ngoìa khóa đều ko có phụ thuộc hàm vào bộ phận của khóa.
c)Dạng chuẩn 3: Một quan hệ R là dạng chuẩn 3 (3NF) nếu nó là 2NF và các phụ thuộc hàm giữa các thuộc tính khóa ngoài và khóa đều là các phụ thuộc hàm trực tiếp-nghĩa là ko tồn tại những phụ thuộc hàm ngoài khóa.
Dạng chuẩn 1. Quan hệ là 1NF nếu ko chứa các thuộc tính lặp, các thuộc tính phải là đơn, nghĩa là giá trị của các ô là giao của hàng và cột phải có giá trị đơn, như vậy, mọi quan hệ đều là 1NF. Nếu bảng dữ liệu chứa các thuộc tính lặp thì ko phải quan hệ, để chuyển bảng dữ liệu có lặp thành quan hẹ, có thể tách các thuọctính lặp thành một hoặc hniều bảng khác và nếu cần thiểt thì tăng cường khóa cho các bảng mới này. Tiép tục xem xét cac sbảng mới để đảm bảo sao cho các bảng này cũng là quan hệ, tức là đạt chuẩn 1.
Ví dụ: Từ bảng DONHANG ban đầu với các thuộc tính: SODH,MA_KH,TEN_KH,DIA_CHI,NG_LD,MA_MH,TEN_MH,DV,SL,DG và TIEN.
Chứa các thuộc tính lặp:
MA_MH,TEN_MH,DV,SL,DG,TIEN
Các thuộc tinhd lặp đc tách thành bảng DONG_DH, trong đó có bổ sung thuộc tính SODH từ các thuộc tính còn lại để tạo khóa. Phần còn lại của bảng DONHANG và bảng mới DONG_DH ko chứa thuộc tính lặp. các bảng này thỏa mãn các tính chất của quan hệ, chúng đều đạt chuẩn 1, ta có lược đồ sau :
DONHANG(SODH,MA_KH,TEN_KH,DIA_CHI,NG_LD)
DONG_DH(SODH,MA_MH,TEN_MH,DV,SL,DG,TIEN)
DẠng chuẩn 2: Một quan hệ R là dạng chuẩn 2(2NF) nếu nó là 1NF và các phụ thuộc hàm giữa các thuộc tính ngoài khóa và khóa đều là các phụ thuộc hàm sơ đẳng, nói cách khác, mọi thuộc tính ngoìa khóa đều ko có phụ thuộc hàm vào bộ phận của khóa.Nếu quan hệ R chứa những thuộc tính có phụ thuộc hàm vào một bộ phận của khóa thì cần tách các nhóm thuộc tính phụ thuộc vào bộ phận của khóa và bổ sung thêm cho các nhóm này một phần khóa mà chúng có phụ thuộc hàm, để thành quan hệ. Nhóm còn lại taọ thành một quan hệ với khóa như cũ. Các quan hệ đc tạo lập đều là 2NF
Ví dụ: Xét quan hệ DONG_DH có lược đồ:
DONG_DH(SODH,MA_DH,TEN_MH,DV,SL,DG,TIEN)
Giả thiết là đơn giá bán ko phụ thuộc vào từng đơn hàng, các phụ thuộc hàm trực tiếp trong quan hệ sẽ là:
MA_MH -> {TEN_MH,DV,DG}
SODH,MA_MH ->{SL<TIEN}
Rõ ràng DONG_DH ko phải là 2NF, tách các thuộc tính TEN_MH, DV,DG có phụ thuộc hàm vào bộ phận MA_MH của khóa thành một nhóm. Nhóm còn lại SODH,MA_DH,SL<TIEN là quan hệ 2NF:
DONG_DH(SODH,MA_DH, SL,TIEN)
Nhóm bị tách ra sẽ đc bổ sung bộ phận của khóa MA_MH và nhận MA_MH làm khóa. ĐÓ là quan hệ 2NF:
MATHANG1(MA_MH,TEN_MH,DV,DG)
Dạng chuẩn 3: : Một quan hệ R là dạng chuẩn 3 (3NF) nếu nó là 2NF và các phụ thuộc hàm giữa các thuộc tính khóa ngoài và khóa đều là các phụ thuộc hàm trực tiếp-nghĩa là ko tồn tại những phụ thuộc hàm ngoài khóa.. Nếu R khong phai là 3NF, nghĩa là trong R tồn tại thuộc tính không phụ thuộc hàm trực tiệp vào khóa, thì tách các nhóm thuộc tính có phụ hàm vào thuộc tính khóa thành một quan hệ. khóa của quan hệ mới này chính là thuộc tính mà chúng có phụ thuộc hàm.
Ví dụ: quan hệ DONHANG đã xét ở phần chuẩn 1NF ko phai rlà 3NF:
DONHANG(SODH,MA_KH,TEN_KH,DIA_CHI,NG_LD)
Có các phụ thuộc ham ftrực tiếp:
SODH->{MA_KH,NG_LD}
MA_KH->{TEN_KH,DIA_CHI}
Nhóm mới này đc tách ra gồm có MA_KH,TEN_KH và DIA_CHI. Thuộc tính MA_KH sẽ là khóa của quan hệ mới này. Nhóm còn lại tạo thành một quan hệ với khóa như cũ :
DONHANG(SODH,MA_KH,NG_LD)
KHACHHANG(MA_KH,TEN_KH,DIA_CHI)
Bạn đang đọc truyện trên: Truyen247.Pro