Xây dựng hệ thống phần mềm giải bài toán cơ sở dữ liệu quan hệ

75 1K 2
Xây dựng hệ thống phần mềm giải bài toán cơ sở dữ liệu quan hệ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Ngày nay, chúng ta đang sống trong kỷ nguyên của sự bùng nổ và phát triển công nghệ thông tin. Có thể nói mọi ngành mọi lĩnh vực đều ứng dụng công nghệ thông tin và việc áp dụng công nghệ vào trong việc giảng dạy và học tập không còn là vấn đề xa lạ. Xuất phát từ thực tế đó em chọn đề tài xây dựng hệ thống phần mềm giải quyết bài toán cơ sở dữ liệu quan hệ. Với đề tài này em mong muốn sẽ một phần nào đó giúp cho các bạn sinh viên đặc biệt là các bạn sinh viên chuyên ngành IT sẽ có thêm một công cụ nữa hỗ trợ cho việc học tập.Với việc trình bày một cách hệ thống lý thuyết CSDL sẽ giúp chúng ta có một cái nhìn tổng quan về môn học. Từ đó có khả năng thiết kế được các cơ sở dữ liệu phục vụ việc giải quyết bài toán trong thực tế và có thể phát triển được các phần mềm quản lý. Và việc cài đặt các thuật toán để giải các bài toán cơ sở dữ liệu quan hệ là một công cụ hữu ích trong việc học tập môn học này.Trong quá trình tìm hiểu thực tế và thực hiện đề tài Xây dựng hệ thống phần mềm giải bài toán cơ sở dữ liệu quan hệ em đã được sự giúp đỡ rất nhiệt tình của giáo viên hướng dẫn :Ths. Nguyễn Trung Tuấn và các anh chị trong bộ phận FIS ENT. Em xin chân thành cảm ơn

Khóa luận tốt nghiệp MỞ ĐẦU Ngày nay, sống kỷ nguyên bùng nổ phát triển công nghệ thông tin Có thể nói ngành lĩnh vực ứng dụng công nghệ thông tin việc áp dụng công nghệ vào việc giảng dạy học tập không vấn đề xa lạ Xuất phát từ thực tế em chọn đề tài xây dựng hệ thống phần mềm giải toán sở liệu quan hệ Với đề tài em mong muốn phần giúp cho bạn sinh viên đặc biệt bạn sinh viên chuyên ngành IT có thêm công cụ hỗ trợ cho việc học tập Với việc trình bày cách hệ thống lý thuyết CSDL giúp có nhìn tổng quan môn học Từ có khả thiết kế sở liệu phục vụ việc giải toán thực tế phát triển phần mềm quản lý Và việc cài đặt thuật toán để giải toán sở liệu quan hệ công cụ hữu ích việc học tập môn học Trong trình tìm hiểu thực tế thực đề tài Xây dựng hệ thống phần mềm giải toán sở liệu quan hệ em giúp đỡ nhiệt tình giáo viên hướng dẫn : Ths Nguyễn Trung Tuấn anh chị phận FIS- ENT Em xin chân thành cảm ơn ! Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 Các thông tin cần quản lý Hệ thống phần mềm giải toán sở liệu ứng dụng, công cụ giúp cho việc giải toán sở liệu như: tìm bao đóng, tìm khóa, xác định dạng chuẩn, phụ thuộc hàm… Với thông tin đầu vào lược đồ quan hệ α=, U tập thuộc tính F tập phụ thuộc hàm Sau đưa vào yêu cầu hệ thống cho bạn kết xác nhanh chóng 1.2 Tổng quan sở liệu quan hệ Thuật ngữ Cơ sở Dữ liệu (Database) không xa lạ với người làm tin học Đây lĩnh vực tập trung nghiên cứu phát triển Công nghệ thông tin, nhằm giải toán quản lí, tìm kiếm thông tin hệ thống lớn, phức tạp, nhiều người sử dụng Từ năm 70, mô hình liệu quan hệ Codd đưa với cấu trúc hoàn chỉnh tạo sở toán học cho vấn đề nghiên cứu liệu Với cấu trúc đơn giản khả hình thức hoá phong phú, CSDL quan hệ dễ dàng mô hệ thống thông tin đa dạng thực tế Lưu trữ thông tin tiết kiệm, có tính độc lập liệu cao, dễ sửa đổi, bổ sung khai thác liệu ưu điểm bật CSDL quan hệ Sau đề cập tới khái niệm CSDL quan hệ Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 1.2.1 Cơ sở liệu hệ sở liệu * Cơ sở liệu Định nghĩa: Một sở liệu tập hợp liệu xí nghiệp, quan, tổ chức… lưu giữ máy tính, người sử dụng, có cách quản lí mô hình VD: Quản lí thi tuyển sinh CSDL bao gồm: + Thí sinh (tên, ngày sinh, địa chỉ, số báo danh ) + Phách (số báo danh, số phách) + Điểm (số phách, điểm) * Các tiêu chuẩn CSDL Một CSDL cần: Phản ánh tốt xí nghiệp cần quản lí Không dư thừa thông tin: Mỗi thông tin nên có mặt lần  hệ thống thông tin để tiết kiệm lưu trữ, đảm bảo truy cập  Độc lập CSDL chương trình: Sự sửa đổi chương trình không kéo theo việc sửa đổi CSDL Tính an toàn: Không bị hỏng có nhiều người sử dụng  có cố Hiệu suất sử dụng tốt: Dù nhiều người sử dụng lúc, CSDL  đảm bảo hiệu suất có người sử dụng * Kiến trúc CSDL Gồm thành phần Thực thể: Là đối tượng có thực tế mà cần mô tả  đặc trưng nó, đối tượng cụ thể trừu tượng  Thuộc tính: Là liệu thể đặc trưng thực thể  Ràng buộc: Là mối quan hệ logic thực thể Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp * Các mô hình CSDL  Mô hình phân cấp Mô hình liệu cây, nút biểu diễn tập thực thể, nút nút cha liên hệ theo mối quan hệ xác định chủ-thành viên (1-n)  Mô hình mạng Mô hình biểu diễn đồ thị có hướng  Mô hình quan hệ Mô hình dựa sở khái niệm lý thuyết tập hợp quan hệ * Hệ QTCSDL Là tập hợp có thứ tự phần mềm cho phép mô tả, lưu giữ, thao tác liệu CSDL, đảm bảo tính an toàn, bí mật môi trường có nhiều người sử dụng * Hệ thống thông tin Là tập hợp thông tin lưu giữ, tập hợp xử lí cho phép xây dựng lại hình ảnh trung thành xí nghiệp 1.2.2.Các khái niệm CSDL quan hệ * Thuộc tính  Là lô thông tin nhỏ sử dụng cách tự có ý nghĩa, độc lập với lô khác  Trong mô hình, thuộc tính định vị sở thông tin, thuộc tính định nghĩa tên miền giá trị * Quan hệ  Quan hệ định nghĩa tập tích Đề D1*D2* *Dn Di miền giá trị thuộc tính i Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp Ta xem quan hệ bảng gồm nhiều cột chứa tên thuộc tính, cột chứa miền giá trị thuộc tính, cột chứa miền giá trị thuộc tính Mỗi hàng bảng giá trị quan hệ * Phụ thuộc hàm Xét tập quan hệ Ri hai tập thuộc tính G1,G2 có mặt Ri Ta nói có phụ thuộc hàm G1,G2 với giá trị G1 kết hợp với giá trị G2 thời điểm cho trước Tính chất Ri mà có mặt G1,G2 Kí hiệu G1 > G2 * Khoá Là một tập thuộc tính nguồn phụ thuộc hàm có đích thuộc tính khác quan hệ VD: + Sinh viên(Số thẻ Sv, Họ tên, Ngày sinh, Quê Quán) Số thẻ Sv > Họ tên Số thẻ Sv > Ngày sinh Số thẻ Sv > quê quán Như Số thẻ SV khóa quan hệ Sinh viên + Giảng dạy (Số phòng học,Thời gian, Tên giảng viên, Tên môn học) Số phòng học, Thời gian > Tên giảng viên, Tên môn học Như (Số phòng học, Thời gian) khoá quan hệ Giảng dạy 1.2.3.Các phép toán quan hệ * Phép chiếu Xét tập thuộc tính C R tập quan hệ định nghĩa C Phép chiếu R tập G thuộc C thu hẹp R đến phần tử G Kí hiệu ΠG (R) Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp * Phép nối(Tự nhiên) Nối hai quan hệ có chứa thuộc tính tập thuộc tính nhau, quan hệ thu gồm có hàng hai quan hệ ban đầu đặt nối thuộc tính giống Phép nối hai quan hệ S T kí hiệu S |> Ngày mượn Số sách > Tên sách, Loại sách Số thẻ mượn >Tên độc giả, Địa độc giả * Chuẩn hoá quan hệ Coi danh sách thuộc tính thu sau bước phụ thuộc hàm chúng quan hệ, thực việc chuẩn hoá quan hệ Mục đích trình giảm bớt dư thừa thông tin, bảo đảm tính thông tin, tiện lợi cho việc truy nhập cập nhật cho CSDL Quá trình chuẩn hoá tiến hành qua nhiều bước Ta xét ví dụ sau: Xe máy (Số xe, Số máy, Loại xe, Ngày đăng kí, Tên chủ xe, Số điện thoại, Địa chỉ)  Nếu người có nhiều xe lặp lại (Số điện thoại, Địa ) chủ xe, dư thừa thông tin Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp  Nếu người chủ xe thay đổi địa phải sửa nhiều lần, cập nhật rời rạc Như biên pháp để khắc phục tách quan hệ : Chủ xe(Tên, Số điện thoại, Địa chỉ) * Đưa quan hệ dạng chuẩn 1NF Quan hệ chưa dạng chuẩn 1NF quan hệ chứa nhóm lặp lại Ta đưa dạng 1NF cách sau:  Bỏ nhóm lặp lại khỏi quan hệ, chuyển nhóm thành quan hệ  Cộng thêm vào khoá khoá quan hệ ban đầu để tạo khoá phức hợp VD: Xét quan hệ : R (Số hoá đơn, Ngày bán, Số khách hàng, Tên khách hàng, Số sản phẩm, Tên sản phẩm, Lượng yêu cầu) Nhóm (Số sản phẩm, Tên sản phẩm, Lượng yêu cầu ) nhóm lặp lại, ta tách R thành R1 R2 sau :  R1 (Số hoá đơn, Ngày bán, Số khách hàng, Tên khách hàng, Số sản phẩm)  R2 (Số hoá đơn, Số sản phẩm, Tên sản phẩm, Lương yêu cầu) * Đưa quan hệ dạng chuẩn 2NF Quan hệ dạng 1NF chưa dạng 2NF có tồn phụ thuộc hàm có nguồn tập khoá Ta đưa dạng 2NF cách sau:  Nhóm vào quan hệ thuộc tính phụ thuộc hoàn toàn vào khoá giữ lại khoá quan hệ  Nhóm vào quan hệ khác thuộc tính phụ thuộc vào phần khoá, lấy phần làm khoá cho quan hệ Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp VD : Trong quan hệ R2 (Số hoá đơn, Số sản phẩm, Tên sản phẩm, Lượng yêu cầu) có phụ thuộc hàm : Số sản phẩm > Tên sản phẩm Trong Số sản phẩm phần khoá, ta tách R2 thành R3 R4 sau : + R3 (Số hoá đơn, Số sản phẩm, Lương yêu cầu) + R4 (Số sản phẩm, Tên sản phẩm) * Dạng chuẩn 3NF Quan hệ dạng 2NF chưa dạng 3NF có tồn phụ thuộc hàm gián tiếp Đưa dạng 3NF ta làm sau:  Giữ lại quan hệ ban đầu thuộc tính phụ thuộc trực tiếp vào khoá  Nhóm vào quan hệ khác thuộc tính bắc cầu, lấy thuộc tính bắc cầu làm khoá VD: Trong quan hệ R1 (Số hoá đơn, Ngày bán, Số khách hàng, Tên khách hàng, Số sản phẩm) Có phụ thuộc hàm bắc cầu : Số hoá đơn > Số khách hàng > Tên khách hàng Ta tách R1 thành R5 R6 sau : + R5 (Số hoá đơn,Ngày bán, Số khách hàng, Số sản phẩm) + R6 (Số khách hàng ,Tên khách hàng) * Dạng chuẩn BCNF Quan hệ dạng 3NF chưa dạng BCNF có tồn phụ thuộc hàm có nguồn thuộc tính không thuộc khoá có đích thuộc tính thuộc khoá Ta xét ví dụ: R (Học sinh, Môn học, Giáo viên, Điểm) Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp Phụ thuộc hàm: Giáo viên > Môn học, có nguồn không thuộc khoá đích thuộc khoá, ta tách R thành R1, R2 sau : + R1 (Học sinh, Giáo viên, Điểm) + R2 (Giáo viên, Môn học) Các phụ thuộc hàm đơn trị dừng lại dạng chuẩn BCNF (Boyce Codd) Đến kết thúc công việc chuẩn hoá Ta nhận xét rằng: Mô hình CSDL quan hệ công cụ tiện lợi để mô tả cấu trúc logic CSDL Như mức logic mô hình bao gồm quan hệ biểu diễn bảng Do đơn vị CSDL quan hệ bảng, dòng bảng ghi liệu cụ thể, cột thuộc tính Đối với người sử dụng nói CSDL quan hệ tập hợp bảng biến đổi theo thời gian Đối với công việc thiết kế CDSL công việc phân tích tư liệu toán chuẩn hoá quan trọng, phục vụ cho việc cài đặt thực tế Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp • Chuẩn BCNF  Mô tả chung: Với chức chương trình cho phép bạn kiểm lược đồ quan hệ có thuộc dạng chuẩn BCNF hay không?  Mô tả chức năng:  Đầu vào: lược đồ quan hệ α =, U tập thuộc tính, F tập phụ thuộc hàm  Xử lý: Nhập thông tin đầu->chức Dạng Chuẩn-> Chuẩn->BCNF  Đầu ra: Lược đồ quan hệ có đạt dạng chuẩn BCNF không?  Giao diện: H3.18 Dạng chuẩn BCNF Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 3.2.5.2 Xác định dạng chuẩn cao  Mô tả chung: Với chức chương trình cho phép bạn kiểm tra damkg chuẩn cao lược đồ quan hệ thuộc dạng chuẩn BCNF, 3NF, 2NF hay 1NF?  Mô tả chức năng:  Đầu vào: lược đồ quan hệ α =, U tập thuộc tính, F tập phụ thuộc hàm  Xử lý: Nhập thông tin đầu->chức Dạng Chuẩn-> Chuẩn cao  Đầu ra: Kết trả dạng chuẩn cao lược đồ quan hệ  Giao diện: H3.19 Dạng chuẩn cao Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 3.2.6 Tách lược đồ 3.2.6.1 Tách lược đồ thành dạng BC bảo toàn thông tin  Mô tả chung: Cho phép tách lược đồ quan hệ chưa đạt chuẩn BCNF thành lược đồ đạt chuẩn BCNF  Mô tả chức năng:  Đầu vào: Lược đồ quan hệ cần tách α= với U tập thuộc tính F tập phụ thuộc hàm  Xử lý: Lựa chọn chức TÁCH LƯỢC ĐỒ-> LƯỢC ĐỒ DẠNG BCNF Hệ thống thực tách lược đồ quan hệ thành lược đồ đạt chuẩn BCNF  Đầu ra: Tập hợp lược đồ đạt chuẩn BCNF  Giao diện: H3.20 Tách lược đồ quan hệ chuẩn BCNF Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 3.2.6.2 Tách lược đồ thành dạng 3NF bảo toàn thông tin  Mô tả chung: Cho phép tách lược đồ quan hệ chưa đạt chuẩn 3NF thành lược đồ đạt chuẩn 3NF  Mô tả chức năng:  Đầu vào: Lược đồ quan hệ cần tách α= với U tập thuộc tính F tập phụ thuộc hàm  Xử lý: Lựa chọn chức TÁCH LƯỢC ĐỒ-> LƯỢC ĐỒ DẠNG 3NF Hệ thống thực tách lược đồ quan hệ thành lược đồ đạt chuẩn 3NF  Đầu ra: Tập hợp lược đồ đạt chuẩn 3NF  Giao diện: H3.21 Tách lược đồ quan hệ chuẩn 3NF Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 3.2.6.3 Kiểm tra phép tách nối bảo toàn thông tin  Mô tả chung: Cho phép tách lược đồ quan hệ phép tách, kiểm tra xem phép tách nối có bảo toàn thông tin hay không?  Mô tả chức năng:  Đầu vào: Lược đồ quan hệ cần tách α= với U tập thuộc tính F tập phụ thuộc hàm Và phép tách σ (U1,U2, Uk)  Xử lý: Lựa chọn chức Tách Lược đồ -> Tách PTH bảo toàn TT  Đầu ra: Kết luận phép tách nối có bảo toàn thông tin hay không?  Giao diện: H3.22 Kiểm tra phép tách nối bảo toàn thông tin Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 3.2.7 Trợ giúp Phần trợ giúp bao gồm thông tin liên hệ với tác giả, chức chương trình: H3.23 Trợ giúp Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 3.3 Đánh giá  Nhận xét ưu điểm: Hệ thống phần mền công cụ hữu ích việc giải toán sở liệu quan hệ Với việc nhập thông tin đầu và yêu cầu toán hệ thống đưa kết một cách nhanh chóng xác  Kết đạt được:  Cài đặt thuật toán giải toán CSDL quan hệ  Hoàn tất trình làm quen lập trình với C#  Hướng phát triển đề tài Với đề tài bổ sung phát triền lên thành công cụ hỗ trợ việc học môn sở liệu Với chức có giúp cho việc giải toán sở liệu, ta phát triển hệ thống thêm số chức không phục vụ cho việc giải toán mà phần mềm dạy học môn sở liệu tích hợp thêm chức lý thuyết, đề thi, … Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp Kết luận Với kiến thức học, em áp dụng vào xây dựng hệ thống phần mềm giải toán sở liệu quan hệ Do nhiều hạn chế mặt thời gian trình độ nên chương trình nhiều thiếu sót Em mong nhận đóng góp bảo thầy Nguyễn Trung Tuấn để hệ thống xây dựng tốt áp dụng thực tế việc học tập môn sở liệu Em xin chân thành cảm ơn! Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp TÀI LIỆU THAM KHẢO Giáo trình Cơ Sở liệu- ThS.Nguyễn Trung Tuấn- ThS Lưu Minh Tuấn ThS Tống Minh Ngọc - Bộ môn CNTT - Trường đại học KTQD Kỹ Thuật lập trình C# - Biên dịch từ Professional C#-2nd EditionXuất Wrox Press Ltd Progamming C# Tài liệu công ty hệ thống thông tin FPT- Information System Thông tin trang web Tìm thông tin www.google.com Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp DANH MỤC VIẾT TẮT Thuật ngữ Định nghĩa FPT Công ty Cổ phần Phát triển Đầu tư FIS CSDL HTTT 2NF 3NF BCNF DFD IT Phát triển Công nghệ FPT Công ty Hệ thống Thông tin FPT Cơ sở liệu Hệ thống thông tin Second Normal Form Third Normal Form Boyce-Codd Normal Form Sơ đồ chức Information Technology Vũ Thanh Lịch Chú thích Lớp CNTT46 Khóa luận tốt nghiệp DANH MỤC BẢNG BIỂU, HÌNH VẼ Trang H2.1 Sơ đồ chức 11 H2.2 Hiển thị lược đồ hệ thống 14 H2.3 Giao diện chương trình 15 H2.4 Kết toán hiển thị textbox .16 H2.5 Sơ đồ thuật toán BĐ tập thuộc tính 18 H2.6 Sơ đồ thuật toán BĐ tập phụ thuộc hàm 20 H2.7 Sơ đồ thuật toán tìm khóa 21 23 H2.8 Sơ đồ thuật toán tìm tất khóa 23 H2.9 Sơ đồ thuật toán phụ thuộc hàm vế trái dư thừa 24 H2.10 Sơ đồ thuật toán Kiểm tra PTH không dư thừa 25 H2.11 Sơ đồ thuật toán Tìm phủ tối thiểu PTH .27 H2.12 Sơ đồ thuật toán chuẩn 2NF 29 H2.13 Sơ đồ thuật toán dạng chuẩn 3NF 30 H2.14 Sơ đồ thuật toán dạng chuẩn BCNF .31 H2.15 Sơ đồ thuật toán xác định dạng chuẩn cao 33 H2.16 Thuật toán tách thành LĐ dạng BCNF 37 H3.1 Giao diện main 45 H3.2 Tạo LĐ quan hệ 46 H3.3 Lược đồ quan hệ hiển thị treeview 46 H3.4 Tạo tập thuộc tính U 47 H3.5 Tạo tập phụ thuộc hàm F 47 H3.6 Đọc file.txt 49 H3.7 Lưu liệu dạng file.txt 50 Sau nhập vào lược đồ quan hệ thực yêu cầu toán hệ thống đưa lời giải kết text box, bạn muốn in lời giải Menu chọn TẠO MỚI-> In lời giải lời giải in bạn kết nối với thiết bị in ấn in lời giải paper .51 51 H3.8 In lời giải toán 51 Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp H3.9 Bao đóng tập thuộc tính .52 53 H3.10 Bao dóng tập phụ thuộc hàm 53 54 H 3.11 Khóa 54 55 H 3.12 Tất khóa lược đồ 55 H3.13 PTH có vế trái dư thừa 56 H3.14 PTH dư thừa .57 H3.15 Phủ tối thiểu PTH 58 H3.16 Dạng chuẩn 2NF .59 59 Chuẩn 3NF : 60 H3.17 Dạng chuẩn 3NF .60 H3.18 Dạng chuẩn BCNF 61 H3.19 Dạng chuẩn cao 62 H3.20 Tách lược đồ quan hệ chuẩn BCNF .63 H3.21 Tách lược đồ quan hệ chuẩn 3NF 64 H3.22 Kiểm tra phép tách nối bảo toàn thông tin 65 H3.23 Trợ giúp .66 Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp MỤC LỤC Trang DANH MỤC VIẾT TẮT DANH MỤC BẢNG BIỂU HÌNH VẼ MỞ ĐẦU Trong trình tìm hiểu thực tế thực đề tài Xây dựng hệ thống phần mềm giải toán sở liệu quan hệ em giúp đỡ nhiệt tình giáo viên hướng dẫn : Ths Nguyễn Trung Tuấn anh chị phận FIS- ENT Em xin chân thành cảm ơn ! .1 CHƯƠNG I: CƠ SỞ LÝ THUYẾT .2 1.1 Các thông tin cần quản lý 1.2 Tổng quan sở liệu quan hệ 1.2.1 Cơ sở liệu hệ sở liệu Định nghĩa: Một sở liệu tập hợp liệu xí nghiệp, quan, tổ chức… lưu giữ máy tính, người sử dụng, có cách quản lí mô hình .3 Một CSDL cần: Mô hình phân cấp Mô hình mạng Mô hình quan hệ 1.2.2.Các khái niệm CSDL quan hệ .4 1.2.3.Các phép toán quan hệ Lấy hàng có thuộc tính thoả mãn số tiêu chuẩn cho trước 1.2.4 Thiết kế hệ thống CSDL quan hệ Ví dụ: Phân tích thiết kế sở liệu Xí Nghiệp CHƯƠNG II : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .11 2.1 Sơ đồ phân cấp chức .11 2.1.1 Sơ đồ chức 11 2.1.2 Phân tích chức 12 Phân rã thành dạng chuẩn BC ( hay chuẩn 3NF ) bảo toàn thông tin .13 2.1.3 Cấu trúc lưu trữ xử lý liệu .13 2.2 Thiết kế giao diện phần mềm 15 2.3 Thiết kế thuật toán xử lý 17 2.3.1 Bao đóng 17 2.3.1.1 Bao đóng tập thuộc tính .17 2.3.1.2 Bao đóng phụ thuộc hàm .19 2.3.2 Khóa 21 2.3.2.1 Tìm khóa lược đồ quan hệ 21 2.3.2.2 Tìm tất khóa lược đồ 22 Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 2.3.3 Phụ thuộc hàm 24 2.3.3.1 Phụ thuộc hàm có vế trái dư thừa .24 2.3.3.2 Tập phụ thuộc hàm không dư thừa .25 2.3.3.3 Tập phụ thuộc hàm tối thiểu .26 2.3.4 Dạng chuẩn 28 2.3.4.1 Các dạng chuẩn 28 29 Thuật toán: 31 2.3.4.2 Xác định chuẩn cao 32 2.3.5 Tách phụ thuộc hàm 34 2.3.5.1 Thuật toán kiểm tra phép tách kết nối bảo toàn thông tin 34 2.3.5.2 Phân rã thành dạng chuẩn BC (hay chuẩn 3NF) bảo toàn thông tin 35 2.4 Giới thiệu Công cụ phát triển .38 2.4.1 Nền tảng net 38 2.4.2 Visual Studio 2005 39 2.4.3 Ngôn ngữ C# .42 CHƯƠNG III: THỬ NGHIỆM VÀ ĐÁNH GIÁ .44 3.1 Cài đặt chương trình 44 44 3.2 Thử nghiệm hệ thống 45 3.2.1 Tạo .46 3.2.1.1 Tạo lược đồ quan hệ cách nhập liệu trực từ bàn phím 46 3.2.1.2 Tạo lược đồ cách đọc file 49 3.2.1.3 Lưu liệu 50 3.2.1.4 In Lời giải 51 3.2.2 Tìm bao đóng .52 3.2.2.1 Bao đóng tập thuộc tính 52 3.2.2.2 Bao đóng phụ thuộc hàm 53 3.2.3 Khóa 54 3.2.3.1 Khóa .54 3.2.3.2 Tất khóa 55 3.2.4 Phụ thuộc hàm 56 3.2.4.1 Kiểm tra phụ thuộc hàm dư thừa vế trái .56 3.2.4.2Kiểm tra phụ thuộc hàm dư thừa 57 3.2.4.3 Phủ tối thiểu phụ thuộc hàm 58 3.2.5 Dạng chuẩn 59 3.2.5.1 Dạng chuẩn phụ thuộc hàm 59 Chuẩn 2NF 59 Chuẩn BCNF 61 3.2.5.2 Xác định dạng chuẩn cao 62 3.2.6 Tách lược đồ 63 3.2.6.1 Tách lược đồ thành dạng BC bảo toàn thông tin 63 63 3.2.6.2 Tách lược đồ thành dạng 3NF bảo toàn thông tin 64 3.2.6.3 Kiểm tra phép tách nối bảo toàn thông tin 65 3.2.7 Trợ giúp .66 3.3 Đánh giá 67 Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 67 Kết luận 68 TÀI LIỆU THAM KHẢO 69 Vũ Thanh Lịch Lớp CNTT46 [...]... Thuật toán kiểm tra phép tách kết nối bảo toàn thông tin  Phân rã thành dạng chuẩn BC ( hay chuẩn 3NF ) bảo toàn thông tin 2.1.3 Cấu trúc lưu trữ và xử lý dữ liệu Sau khi phân tích bài toán thì ta xác định được dữ liệu vào ra của hệ thống: + Dữ liệu nhập vào là lược đồ quan hệ α = với U là tập các thuộc tính và F là tập các phụ thuộc hàm Dữ liệu có thể nhập trực tiếp từ bàn phím hoặc nhập vào hệ thống. .. tạo mới lược đồ quan hệ α= với U là tập các thuộc tính và F là tập các phụ thuộc hàm  Lưu file: Cho phép lưu lược đồ vừa nhập vào dưới dạng file txt  Mở file: Với chức năng này thì hệ thống sẽ mở file chứa thông tin về lược đồ quan hệ và hiển thị thông tin để quản lý  In bài giải : Với chức năng này hệ thống cho phép bạn sau khi giải bài toán có thể in bài giải hoặc lưu lại lời giải * Bao đóng... Hiển thị lược đồ trên hệ thống Việc thực hiện các chức năng của chương trình lúc này sẽ lấy thông tin về lược đồ quan hệ trên treeview để xử lý Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 2.2 Thiết kế giao diện phần mềm Dựa trên việc phân tích chứa năng của hệ thống ta sẽ thiết kế hệ thống phần mềm có giao diện chính như sau: H2.3 Giao diện chính của chương trình Hệ thống phần mềm gồm các chức năng... thực hiện hệ thống sẽ trả ra kết quả của bài toán một cách nhanh chóng và chính xác Việc lưu giữ thông tin của bài toán là lưu trữ dưới dạng file.txt Tập thuộc tính U và tập phụ thuộc hàm F được lưu trữ trên từng dòng Việc xử lý trong bài toán thì tập thuộc tính U được lưu trữ dưới dạng mảng 1 chiều còn tập phụ thuộc hàm lưu trữ dạng Arraylist với mỗi Object là một phụ thuộc hàm Ví dụ: Bài toán: Cho... Khóa luận tốt nghiệp Hoạt động của hệ thống như sau: Lược đồ quan hệ α= với U là tập các thuộc tính và F là tập các phụ thuộc hàm được đưa vào hệ thống bằng cách nhập trực tiếp từ bàn phím hoặc bằng cách đọc file (.txt) Các thông tin về lược đồ quan hệ đó được hiển thị dưới dạng treeview như giao diện trong hình Mọi thông tin được đưa vào xử lý trong việc tính toán bao đóng, khóa, dạng chuẩn,…... Tất cả các khóa: Hệ thống sẽ cho kết quả là tất cả các khóa của lược đồ quan hệ nhập vào * Phụ thuộc hàm :  Kiểm tra PTH có vế trái dư thừa  Kiểm tra PTH dư thừa  Xác định phủ tối thiểu của PTH * Dạng chuẩn :  Vũ Thanh Lịch Xác định dạng chuẩn: BCNF,3NF,2NF Lớp CNTT46 Khóa luận tốt nghiệp  Xác định dạng chuẩn cao nhất: Hệ thống sẽ xác định dạng chuẩn cao nhất của lược đồ quan hệ * Tách phụ thuộc... phụ thuộc hàm Ví dụ: Bài toán: Cho lược đồ quan hệ α= với tập thuộc tính U={A, B, C} và tập phụ thuộc hàm F={AB → C,C → B} Dữ liệu được lưu trên file.text với U và F được lưu trữ trên từng dòng như sau: Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp Dữ liệu có thể được nhập trực tiếp từ bàn phìm hoặc đọc từ file qua chức năng nhập mới hoặc mở file Dữ liệu sau khi được nhập vào sẽ được hiển thị...Khóa luận tốt nghiệp CHƯƠNG II : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Sơ đồ phân cấp chức năng 2.1.1 Sơ đồ chức năng HT Giải bài toán CSDL quan hệ Lược đồ Tạo mới Mở file Bao đóng Tập TT PT H Lưu file In LG Khóa 1 Khóa Nhiều khóa Phụ thuộc hàm VT dư thừa PTH dư thùa Phủ tối thiểu Dạng chuẩn Cao nhất... luận tốt nghiệp H2.6 Sơ đồ thuật toán BĐ tập phụ thuộc hàm Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 2.3.2 Khóa 2.3.2.1 Tìm khóa bất kỳ của lược đồ quan hệ Thuật toán: Bước 1: gán K = ∅ Bước 2: A là một thuộc tính của U, đặt K’ = K + A Nếu (K’)+= U thì ta có K’ là một khóa cần tìm của lược đồ và thuật toán kết thúc, ngược lại thực hiện lại bước 2 H2.7 Sơ đồ thuật toán tìm khóa Vũ Thanh Lịch Lớp... khóa, dạng chuẩn,… Đều được lấy từ treeview bên trái và kết quả sẽ được hiển thị trên text bên phải H2.4 Kết quả bài toán hiển thị trên textbox Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 2.3 Thiết kế các thuật toán xử lý cơ bản 2.3.1 Bao đóng 2.3.1.1 Bao đóng của tập thuộc tính Thuật toán: Bước 1: Xo = X Bước 2:Lần lượt xét các phụ thuộc hàm của F Nếu Y ->Z có Y ⊆ Xi thì Xi+1 = Xi U Z Loại phụ thuộc ... thác liệu ưu điểm bật CSDL quan hệ Sau đề cập tới khái niệm CSDL quan hệ Vũ Thanh Lịch Lớp CNTT46 Khóa luận tốt nghiệp 1.2.1 Cơ sở liệu hệ sở liệu * Cơ sở liệu Định nghĩa: Một sở liệu tập hợp liệu. ..Khóa luận tốt nghiệp CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 Các thông tin cần quản lý Hệ thống phần mềm giải toán sở liệu ứng dụng, công cụ giúp cho việc giải toán sở liệu như: tìm bao đóng, tìm khóa,... đầu vào lược đồ quan hệ α=, U tập thuộc tính F tập phụ thuộc hàm Sau đưa vào yêu cầu hệ thống cho bạn kết xác nhanh chóng 1.2 Tổng quan sở liệu quan hệ Thuật ngữ Cơ sở Dữ liệu (Database)

Ngày đăng: 29/10/2015, 09:52

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • Trong quá trình tìm hiểu thực tế và thực hiện đề tài Xây dựng hệ thống phần mềm giải bài toán cơ sở dữ liệu quan hệ em đã được sự giúp đỡ rất nhiệt tình của giáo viên hướng dẫn :

  • Ths. Nguyễn Trung Tuấn và các anh chị trong bộ phận FIS- ENT.

  • Em xin chân thành cảm ơn !

  • CHƯƠNG I: CƠ SỞ LÝ THUYẾT

    • 1.1. Các thông tin cần quản lý

    • 1.2. Tổng quan về cơ sở dữ liệu quan hệ

      • 1.2.1 Cơ sở dữ liệu và hệ cơ sở dữ liệu

      • Định nghĩa: Một cơ sở dữ liệu là một tập hợp dữ liệu về một xí nghiệp, cơ quan, tổ chức… được lưu giữ trên máy tính, được người sử dụng, có cách quản lí bằng một mô hình.

      • Một CSDL cần:

      • Mô hình phân cấp

      • Mô hình mạng

      • Mô hình quan hệ

        • 1.2.2.Các khái niệm cơ bản về CSDL quan hệ

        • 1.2.3.Các phép toán trên các quan hệ

        • Lấy ra các hàng có các thuộc tính thoả mãn một số tiêu chuẩn cho trước.

        • 1.2.4 Thiết kế hệ thống CSDL quan hệ

        • Ví dụ: Phân tích thiết kế cơ sở dữ liệu của một Xí Nghiệp

        • CHƯƠNG II : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

          • 2.1. Sơ đồ phân cấp chức năng

            • 2.1.1 Sơ đồ chức năng

            • 2.1.2 Phân tích các chức năng

            • Phân rã thành dạng chuẩn BC ( hay chuẩn 3NF ) bảo toàn thông tin.

            • 2.1.3 Cấu trúc lưu trữ và xử lý dữ liệu

            • 2.2 Thiết kế giao diện phần mềm

Tài liệu cùng người dùng

Tài liệu liên quan