Xây dựng biểu đồ cấu trúc dữ liệu theo mô hình quan hệ

Một phần của tài liệu giáo trình phân tích thiết kế hệ thống thông tin (Trang 41 - 48)

Mô hình quan hệ là mô hình cơ sở dữ liệu thông dụng và dễ cài đặt cho các hệ quản trị cơ sở dữ liệu. Nó có các ưu điểm như đơn giản, chặt chẽ, trừu tượng hoá cao. Sử dụng mô hình quan hệ như là bước tiếp theo để hoàn chỉnh các lược đồ dữ liệu theo mô hình thực thể liên kết ER. Trong phần này chỉ trình bày một số các khái niệm cơ bản, đặc biệt là phụ thuộc hàm, chuẩn hoá quan hệ vừa đủ để cho mục đích này.

2.2.6.1. Quan hệ

+ Miền giá trị: Là một tập giá trị (ví dụ kiểu dữ liệu).

+ Miền thuộc tính: là tập các giá trị của một miền được sử dụng trong một quan hệ. - Định nghĩa 1: Cho một tập miền trị D1, D2,..., Dn (Không nhất thiết phân biệt). R là một quan hệ trên n tập đó. Nếu nó là một tập các bộ t được sắp xếp d1, d2,..., dn sao cho: di  Di, với i = 1, 2, 3,…,n.

- Định nghĩa 2: Cho 1 tập các miền trị D1, D2,..., Dn (không nhất thiết phân biệt), tích đề các của n tập này là tập tất cả các bộ t có thể có và được sắp (d1, d2,..., dn) sao cho di  Di, với i = 1, 2, 3,…,n.

R là quan hệ trên tập n miền đó nếu nó là tập con của tích đề các n tập này.

Quan hệ tương ứng với bảng, bộ tương ứng với hàng, thuộc tính tương ứng với cột. + Số cột (thuộc tính) trong một bảng được gọi là bậc hay là ngôi của quan hệ. + Số bộ (hàng) trong một bảng được gọi là lực lượng của quan hệ.

2.2.6.2. Ràng buộc toàn vẹn và lưu đồ quan hệ

- Ràng buộc toàn vẹn: Là một điều kiện ràng buộc các giá trị của một hoặc n thuộc tính, là cơ sở để chúng ta đi tìm hiểu và thiết kế một CSDL.

+ Ràng buộc về một giá trị có thể có của một thuộc tính.

+ Ràng buộc về qui tắc tính giá trị của một hoặc nhiều thuộc tính từ các thuộc tính khác.

+ Ràng buộc phản ánh sự tồn tại của một thuộc tính được qui định bởi các thuộc tính khác.

+ Ràng buộc đặc biệt giữa các thuộc tính có tên là Ràng buộc phụ thuộc hàm. - Lược đồ quan hệ: Là bộ đôi R<U, F> trong đó U là tập thuộc tính, F là tập ràng buộc. Lược đồ quan hệ là một tập các quan hệ và một quan hệ là hiện thân của lược đồ đó. Hoặc có thể định nghĩa lược đồ quan hệ: R(U,F) trong đó U là tập các thuộc tính A1, A2, A3, ..., An}. Và với mỗi thuộc tính có một miền xác định D(Ai).

F: là tập phụ thuộc hàm: Là các ràng buộc giữa các thuộc tính với nhau.

- Phụ thuộc hàm: Cho một lược đồ R xác định trên tập thuộc tính U = {A1,A2,...An} X, Y là 2 tập con của U. Ta nói X  Y (X xác định hàm Y) hay Y phụ thuộc hàm X nếu :

r là một quan hệ xác định trên R. Sao cho bất kì hai bộ nào t1 ≠ t2 và thuộc r mà : t1[X] = t2[X] thì t1[Y] = t2[Y].

Dựa vào ý nghĩa của các thuộc tính để tìm phụ thuộc hàm. - Hệ tiên đề Amstrong:

+ Tính phản xạ : X  X

+ Tính tăng trưởng: X  Y thì XZ  YZ + Tính bắc cầu : X  Y, Y  Z thì X  Z Có ba hệ quả (ba luật) :

+ Luật hợp: X  Y, Y  Z thì X  YZ + Luật tách: X  YZ thì X  Y, X  Z + Luật tựa bắc cầu: X  Y, WY  Z thì XW  Z

- Thuộc tính khoá: Là những thuộc tính nằm trong khoá và ngược lại là thuộc tính không khoá.

- Phụ thuộc hàm đầy đủ / không đầy đủ.

Ví dụ : AB  C (C phụ thuộc đầy đủ vào khoá). B  D (D phụ thuộc không đầy đủ vào khoá). Khoá là AB.

- Phụ thuộc trực tiếp và bắc cầu:

X  Y là phụ thuộc hàm trực tiếp nếu không tồn tại A: X  A và A  Y ;

Các bất thường khi cập nhật dữ liệu:

+ Thêm

+ Sửa + Xoá

2.2.6.3. Chuẩn hoá quan hệ

- Chuẩn hoá : Quan hệ chuẩn hoá là quan hệ trong đó mỗi miền của một thuộc tính

chỉ chứa gí trị nguyên tố, tức là không phân nhỏ được nữa.

+ Dạng chuẩn 1 (1NF - First Normal Form): Một quan hệ R gọi là chuẩn 1 nếu như quan hệ xác định trên nó chỉ chứa các giá trị nguyên tố, không có thuộc tính lặp.

+ Dạng chuẩn 2 (2NF - Second Normal Form): Một quan hệ được coi là dạng chuẩn 2 nếu như nó là chuẩn 1 và tất cả các thuộc tính không khoá phụ thuộc đầy đủ vào khoá chính.

Một quan hệ ở dạng chuẩn 1 mà không ở dạng chuẩn 2 thì chắc chắn có khoá chính ở dạng tổ hợp.

+ Dạng chuẩn 3 (3NF): Một quan hệ được coi là ở dạng chuẩn 3 nếu như nó ở dạng chuẩn 2 và các thuộc tính không khoá phụ thuộc trực tiếp vào khoá chính (Không có quan hệ bắc cầu).

2.2.6.4. Đồ thị phụ thuộc hàm

Cho R = <U, F>. F là một tập các phụ thuộc hàm. Ta có thể biểu diễn F bởi một đồ thị có hướng. Ở đồ thị này mỗi nút của đồ thị là 1 hoặc một số thuộc tính, cạnh của đồ thị là các phụ thuộc hàm mà vế phải là có một thuộc tính.

Tổng kết về phân tích hệ thống về dữ liệu

- Mục đích: Xây dựng biểu đồ cấu trúc dữ liệu (BCD) - Yêu cầu: Khi phân tích dữ liệu phải đảm bảo các yêu cầu:

+ Không bỏ sót dữ liệu. + Không được trùng lặp.

+ Trong giai đoạn này ta chưa tính đến hai yêu cầu nhanh và tiện lợi trong

quá trình quản lý.

- Cách thực hiện:

(1) TOP – DOWN: đi từ tổng thể đến chi tiết (xây dựng BCD theo mô hình ER), cung cấp cho chúng ta một cách nhìn trực quan.

(2) BOTTOM – UP: Xây dựng BCD theo mô hình quan hệ, xuất phát từ danh sách thuộc tính cần thiết rồi chúng ta đi lên để xây dựng một lược đồ quan hệ. Với phương pháp này cung cấp cho chúng ta thuộc tính vừa đủ (đầu vào là gì thì đầu ra là cái đó).

(1) Lập biểu đồ cấu trúc dữ liệu theo mô hình ER

Sử dụng phương pháp tiếp cận TOP - DOWN Mô hình ER gồm: Thực thể, thuộc tính, quan hệ.

Vì thế để lập biểu đồ cấu trúc dữ liệu ta phải phát hiện các thực thể, thuộc tính, quan hệ.

a) Phát hiện thực thể của bài toán

- Phát hiện ra các thực thể có ích cho quản lý. - Nguồn phát hiện:

+ Nguồn tài nguyên: Là thực thể có thực, liên quan đến con người, tài sản, hàng hoá, vật tư,...

+ Nguồn giao dịch: Hệ thống nằm trong một môi trường, có sự giao tiếp với môi trường.

Giao dịch: Là luồng thông tin đến từ môi trường, làm kích hoạt một chuỗi hoạt động nào đó của hệ thống.

+ Nguồn thông tin, tài liệu, tư liệu đã được cấu trúc hoá như là sổ sách, tệp,...Và dữ liệu phải đủ nhưng không dư thừa (được lưu trữ ở chuẩn 3NF). Vì thế, chúng ta phải lựa chọn các thuộc tính có ích và phải được chuẩn hoá.

b) Phát hiện thuộc tính

Một thuộc tính là một giá trị mô tả một khía cạnh nào đó của một thực thể hay một liên kết. Không phải mọi đặc điểm có thể có của một thực thể đều được xem là thuộc tính của nó mà phải được tuyển chọn theo yêu cầu quản lý.

c) Phát hiện các liên kết

- Chỉ ghi nhận các kiểu liên kết có ích cho quản lý và các liên kết giữa các thực thể đã phát hiện ở trên.

- Liên kết chỉ ra các sự ràng buộc.

(2) Lập biểu đồ cấu trúc dữ liệu theo mô hình quan hệ

Sử dụng phương pháp tiếp cận BOTTOM - UP. Ta tiến hành theo năm bước:

- Bước 1: Thành lập một danh sách các thuộc tính hay còn gọi là danh sách xuất phát, qua điều tra, khảo sát chúng ta đã thu được các thông tin cơ bản. Các thông tin này được thể hiện ở các tài liệu xuất ra của hệ thống.

Phương thức “ Cái ra”. Và có thể có nhiều danh sách xuất phát. - Bước 2: Tinh chỉnh lại danh sách thuộc tính.

+ Loại bỏ các thuộc tính có tên đồng nghĩa. + Loại bỏ các thuộc tính tính toán.

+ Loại bỏ các thuộc tính tích luỹ.

+ Thay thế các thuộc tính không đơn bởi các thuộc tính đơn. - Bước 3: Tìm phụ thuộc hàm.

+ Tìm các phục thuộc hàm có trong danh sách.

+ Duyệt từng cặp thuộc tính trong danh sách xem chúng có liên quan với nhau hay không. Chú ý tìm các phụ thuộc hàm ở vế phải không đơn (gồm nhiều thuộc tính).

- Bước 4: Chuẩn hoá. Có hai phương pháp chuẩn hoá: + Phương pháp phân rã:

Ban đầu coi cả danh sách thuộc tính là một quan hệ. Sau đó phân rã quan hệ này thành nhiều quan hệ theo các bước:

Đưa về dạng 1NF.

Đưa về dạng 2NF: Loại bỏ phụ thuộc hàm bộ phận hay là khoá.

Đưa về dạng 3NF: Loại bỏ các phụ thuộc hàm không khoá (tức phụ thuộc hàm bắc cầu).

+ Phương pháp đồ thị:

Với phương pháp này người ta đi xây dựng một đồ thị phụ thuộc hàm, tức đồ thị có hướng. Trong đó nút của đồ thị là thuộc tính hoặc một nhóm thuộc tính nằm ở vế trái phụ thuộc hàm, cung là một phụ thuộc hàm mà vế phải là 1 thuộc tính (các cung tạo thành hình tam giác). Sau đó dùng một khung hình chữ nhật để khoanh vùng đồ thị: Mỗi một nút trong cùng với các con của nó tạo thành một quan hệ và lấy nút đó làm khoá của quan hệ.

- Bước 5: Gộp các quan hệ chung: Sau khi chuẩn hoá các danh sách thuộc tính khác nhau,

ta thu được nhiều quan hệ từ quan hệ ban đầu. Nhưng mỗi quan hệ có thể có chung một số thuộc tính. Khi gộp lại có thể xuất hiện phụ thuộc bắc cầu. Khi đó ta lại phải tiếp tục chuẩn hoá. Cuối cùng ta thu được các quan hệ ở dạng 3NF.

C) TÀI LIỆU HỌC TẬP

[1] Nguyễn Văn Ba (2006), Phân tích và thiết kế hệ thống thông tin, NXB Đại học Quốc gia Hà Nội.

[2] Thạc Bình Cường, Nguyễn Thị Tĩnh (2005), Phân tích và thiết kế hệ thống thông tin, NXB Đại học Sư phạm.

[3] Nguyễn Văn Ba (2005), Phát triển hệ thống hướng đối tượng với UML 2.0 và C++, NXB Đại học Quốc Gia Hà Nội.

[4] Nguyễn Văn Vỵ (2007), Phân tích và thiết kế hệ thống thông tin quản lý, NXB Khoa học Tự nhiên và Công nghệ, Hà Nội.

D) CÂU HỎI, BÀI TẬP, NỘI DUNG ÔN TẬP VÀ THẢO LUẬN

Câu 1: Khi xây dựng biểu đồ phân cấp chức năng ta dựa vào các yếu tố nào? Câu 2: Tại sao luồng dữ liệu vào/ ra từ kho dữ liệu đôi khi không có tên?

Câu 3: Ý nghĩa của tác nhân ngoài đối với hệ thống. Có hệ thống nào không có tác nhân

ngoài không? Tại sao?

Câu 4: Trong biểu đồ luồng dữ liệu cho ta biết mối quan hệ gì giữa các thành phần của

hệ thống?

Câu 5: Trong biểu đồ luồng dữ liệu những sai sót nào hay gặp phải? Hãy giải thích? Câu 6: Cơ sở để xây dựng biểu đồ luồng dữ liệu các mức: Khung cảnh, mức đỉnh và

mức dưới đỉnh. Giữa biểu đồ DFD và biểu đồ BFD có mối liên hệ gì?

Câu 7: Hãy cho biết sự khác nhau giữa biểu đồ luồng dữ liệu ở mức vật lý và mức lôgic? Câu 8: Hãy thực hiện việc phân tích về chức năng xử lý của các hệ thống sau:

- Hệ thống quản lý thư viện. - Hệ thống quản lý vật tư. - Hệ thống quản lý khách sạn. - Hệ thống tuyển sinh đại học.

Câu 9: Sau đây là kết quả khảo sát qui trình xử lý việc nhận và duyệt đơn xin học của một

trung tâm giáo dục thường xuyên:

- Học viên nộp đơn xin học cho bộ phận đào tạo của trung tâm. Đơn xin học được xét duyệt dựa trên: Khả năng đào tạo của trung tâm và yêu cầu của học viên. Kết quả xét duyệt như sau:

- Với những đơn được chấp nhận sẽ được lưu lại để tổ chức việc gọi học. Với những đơn bị từ chối, bộ phận phụ trách sẽ in danh sách để thông báo cho học viên.

Yêu cầu: Hãy biểu diễn qui trình đăng ký học bằng biểu đồ dữ liệu mức vật lý.

Câu 10: Ta có một quy trình đặt mua hàng như sau:

Người mua hàng muốn trở thành khách hàng được phục vụ, lần đầu phải đăng ký bằng cách nộp phiếu đăng ký cho bộ phận quản lý đăng ký khách hàng. Và việc xét duyệt dựa trên:

- Số khách hàng đăng có và khả năng đáp ứng của cửa hàng, kết quả có thể được chấp nhận hoặc không chấp nhận. Nếu được chấp nhận khách hàng sẽ được ghi vào danh sách khách hàng, nếu không được chấp nhận thì hệ thống sẽ trả lời bằng thông báo chung.

Khi có nhu cầu mua hàng, khách hàng nộp đơn mua hàng cho bộ phận đặt hàng. Đơn hàng được xem xét xem có phải khách hàng có trong danh sách khách hàng hay không? Nếu là khách hàng trong danh sách khách hàng thì có còn nợ chưa thanh toán. Trên cở sở đó đơn hàng được duyệt hay từ chối. Nếu được duyệt thì đơn này sẽ được ghi vào tệp ĐƠN HÀNG. Nếu bị từ chối thì sẽ có thông báo.

Dựa trên đơn hàng đã đăng ký và kết quả kiểm tra hàng trong kho, bộ phận làm hóa đơn sẽ lập hoá đơn và chuyển cho bộ phận giao hàng, để bộ phận này chuẩn bị hàng giao cho khách. Sau khi nhận được hàng thì khách hàng sẽ tiến hành

thanh toán tiền hàng. Việc thanh toán sẽ được ghi nhận lại. Một số ràng buộc cần có:

- Chỉ phục vụ những khách hàng có trong danh sách khách hàng đã đăng ký. - Khách hàng đăng ký mua hàng bằng cách đặt hàng qua đơn hàng và thanh toán qua người giao hàng.

Yêu cầu: Hãy biểu diễn qui trình đăng ký mua hàng bằng biểu đồ dữ liệu mức vật lý.

Câu 11: Hoạt động chính của “ Quản lý thư viện ” được mô tả như sau:

Bộ phận quản lý kho sách hàng tháng thực hiện những công việc sau:

- Khi có sách mới về bộ phận này tiến hành vào sổ nhập sách, đối với các sách đã có chỉ cần điều chỉnh số lượng.

- Với sách mới, ngoài việc bổ sung số lượng sách còn phải bổ sung phích tra cứu. Phích sách có ghi các thông tin sau:

Số hiệu sách, Tên sách, Tên tác giả, Nhà xuất bản, Năm xuất bản.

- Hàng quý đối chiếu sách đã cho mượn với số liệu kiểm kê trong kho, chỉnh lý lại số hiệu trong sổ nhập sách và báo cáo cho bộ phận lãnh đạo thư viện.

- Bộ phận mượn trả sách thực hiện những công việc sau:

+ Cấp thẻ đọc cho độc giả mới, nếu cấp rồi thì không cấp lại. Trong mỗi thẻ có ghi: Số hiệu độc giả, Tên, Địa chỉ, Lớp,...

+ Khi độc giả có yêu cầu mượn sách thì bộ phận này cho mượn và ghi thông tin vào thẻ đọc và mỗi dòng có ghi: Số hiệu sách, Tên sách, Ngày mượn, Thời hạn phải trả.

+ Hàng tháng gửi giấy đòi sách cho độc giả quá hạn. Độc giả khi muốn mượn sách lần đầu tiên thì phải khai báo các thông tin cần thiết để làm thẻ đọc. Để tìm sách có thể tra cứu qua phích sách, tên sách hoặc tên tác giả. Sau đó viết phiếu yêu cầu mượn gửi cho bộ phận mượn trả sách.

+ Khi độc giả trả sách bộ phận mượn trả sách sẽ xoá trong thẻ đọc dòng mượn cuốn sách đó. Căn cứ vào kết quả khảo sát trên hãy thực hiện những công việc sau:

1) Liệt kê các chức năng của hệ thống.

2) Xây dựng biểu đồ phân cấp các chức năng.

3) Xây dựng biểu đồ luồng dữ liệu mức khung cảnh, mức đỉnh, mức dưới đỉnh (nếu có). 4) Vẽ biểu đồ cấu trúc dữ liệu theo: Sơ đồ thực thể liên kết.

Câu 12: Hoạch toán kết quả kinh doanh

- Cửa hàng X chuyên kinh doanh một số mặt hàng về xe máy. - Mỗi lần nhập hàng thì có một hoá đơn mua (tự biểu diễn hoá đơn). - Mỗi lần bán hàng có một hoá đơn bán (tự biểu diễn).

- Các chi phí được ghi nhận bằng các phiếu chi (tự thiết kế).

Cửa hàng cần xây dựng một hệ thống thông tin để hoạch toán lỗ/ lãi hàng tháng trên số hàng bán ra và các chi phí khác.

Một phần của tài liệu giáo trình phân tích thiết kế hệ thống thông tin (Trang 41 - 48)

Tải bản đầy đủ (PDF)

(65 trang)