Phân tích các thuật toán xử lý phụ thuộc hàm và chuẩn hoá dữ liệu trong mô hình quan hệ

MỤC LỤC

PHỤ THUỘC HÀM

    Có thể thấy rằng, B mà phụ thuộc hàm vào A nếu hai dòng bất kỳ mà các giá trị của tập thuộc tính A bằng nhau từng cặp một thì kéo theo các giá trị trên tập thuộc tính B cũng phải bằng nhau từng cặp một. Nếu A là một tập bất kỳ ( tập cột bất kỳ ) thì A+ là tập hợp tất cả những cột mà phụ thuộc hàm vào A trong sơ đồ quan hệ S, chúng ta có A+r là tập hợp tất cả các cột mà phụ thuộc hàm vào {a} trong tệp dữ liệu r.

    CÁC PHÉP TOÁN TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ 1. Phép chèn (Insert)

    Phép loại bỏ (Del)

    Tất nhiên không phải lúc nào phép loại bỏ cũng cần đầy đủ thông tin về bộ cần loại bỏ. Trong thực tế không phải lúc nào cũng chỉ dùng phép chèn hoặc loại bỏ đi một bộ mà nhiều khi chỉ cần sửa đổi một số giá trị nào đó tại một số thuộc tính, lúc đó cần thiết phải sử dụng phép thay đổi. Cũng có thể không dùng phép thay đổi mà dùng tổ hợp của phép loại bỏ và phép chèn bộ mới.

    Do đó những sai sót của phép thay đổi cũng sẽ xảy ra tương tự như phép chèn và phép loại bỏ.

    CÁC PHÉP TÍNH XỬ LÝ BẢNG

      Chú ý rằng những bản ghi giống nhau chỉ giữ lại một lần, nếu r và t là tệp dữ liệu có tên các cột khác nhau thì tệp dữ liệu hợp không ghi tên cột nữa. Kết quả của phép chọn là hình thành ra một tệp dữ liệu mới có cấu trúc và số cột như tệp dữ liêụ cũ, nhưng dòng phải thoả mãn điềy kiện F. Trong quá trình sử lý biểu bảng ( tệp dữ liệu ) các biểu bảng này không phải là những người làm tin học đề xuất ra mà do các chuyên gia trong lĩnh vực tin học đề xuất ra, chính vì thế trong những năm 1970, người sáng lập ra mô hình dữ liệu quan hệ đã đề xuất ra 4 dạng chuẩn để chuẩn hoá dữ liệu.

      Nhờ có các dạng chuẩn này, khi xử lý tệp dữ liệu người ta tách tệp dữ liệu gốc (do các chuyên gia ở mọi lĩnh vực đề xuất ra ) thành các tệp dữ liệu con đã ở trong dạng chuẩn rồi và khi xử lý người ta lưu trữ các tệp dữ liệu con trong máy chứ không phải là các tệp dữ liệu gốc to, nhưng một điều rất quan trọng là để khỏi mất thông tin (có tính pháp lý )thì phải hồi phục được tệp gốc ở bất cứ thời điểm nào cần, muốn hồi phục được người ta dùng phép kết nối tự nhiên nối tất cả các tệp dữ liệu con thì ta sẽ được tệp dữ liệu gốc to. Việc lưu trữ các tệp dữ liệu con thường chiếm ít bộ nhớ hơn là tệp dữ liệu gốc to, tốc độ xử lý các tệp dữ liệu đã chuẩn hoá nhanh hơn rất nhiều so với tệp dữ liệu chưa được chuẩn hoá (tệp dữ liệu gốc to). Cho đến nay tất cả các hãng máy tính trên thế giới khi xây dựng mô hình dữ liệu quan hệ đều áp dụng phép kết nối tự nhiên trong ngôn ngữ xử lý của họ.

      Hình thức phép chọn được định nghĩa như sau:
      Hình thức phép chọn được định nghĩa như sau:

      CÁC THUẬT TOÁN CỦA PHỤ THUỘC HÀM 1. Thuật toán tính A +

      Thuật toán tính A + r

      Tập Er được gọi là họ các tập bằng nhau của r, Ei j gọi là các tập bằng nhau. Có thể thấy rằng Ei j = Φ trong trường hợp hai dòng i, j không có cột nào trùng nhau về giá trị, có nghĩa là chúng khác nhau hoàn toàn có thể sảy ra một số các tập bằn nhau, trùng nhau. Có nghĩa rằng Ei j = toàn bộ không gian, nghĩa là bao gồm tất cả các cột vì nếu sảy ra thì ta sẽ có 2 dòng bằng nhau (trùng nhau).

      Các tập bằng nhau đóng vai trò rất then chốt trong quá trình thiết kế cơ sở dữ liệu mà đầu vào là phai dữ liệu. Việc tính Ei j là khá đơn giản, số lượng Ei j nhiều nhất bằng lực lượng của r.

      Thuật toán tìm một khoá tối tiểu trong phai dữ liệu

      Vì thuật toán tính A+ có độ phức tạp là đa thức nên thuật toán tính khoá tối tiểu cho một sơ đồ quan hệ cũng là đa thức. Thực chất tìm khoá tối tiểu là sàng lọc các cột thừa mà bắt đầu từ tập R. Vì một lý do nào đó chúng ta phát hiện ra một tập A là khoá tức là A+ = R thì chúng ta có thể bớt các bước đi bằng cách đặt B0 = A lúc ấy số các bước chỉ bằng lực lượng của A.

      Nhờ có nhận xét này trong nhiều trường hợp viết thuật toán thực hiện rất nhanh. Hơn nữa thuật toán này phụ thuộc và thứ tự của các cột trong R nếu chúng ta đảo thứ tự đi thì chúng ta có thể tìm được khoá tối tiểu mới. Sau khi tìm được khoá tối tiểu rồi mà chúng ta thấy hài lòng thì ta đặt nó làm khoá chính.

      Thuật toán cải tiến tính mọi khoá tối tiểu cho tệp dữ liệu

      Việc chuẩn hoá thông tin trong các quan hệ và trong các sơ đồ quan hệ, đóng vai trò rất quan trọng trong việc giải quyết các bài toán thông tin quản lý trên máy tính. Vì vậy khi giải quyết bài toán nên quan niệm điều trước tiên phải chuẩn hoá các tệp dữ liệu gốc trong đó quan trọng là nội dung các trường phải được hiểu theo một nghĩa duy nhất. Nhìn chung nhờ có chuẩn hoá các quan hệ và sơ đồ quan hệ chúng ta tránh được việc dư thừa dữ liệu và tăng tốc độ của các phép toán xử lý quan hệ.

      Một trong những lý do đó chính là do xã hội phát triển xuất hiện nhiều nghành nghề mới mà cơ quan nhà nước được giao trách nhiệm này đã không theo kịp. Tất cả các hệ quản trị cơ sở dữ liệu hiện nay bán trên thị trường như : Oracle, IBM DB2, Sysbase ..Đều thực hiện theo chuẩn hoá các thông tin này. Việc chuẩn hoá các quy trình, thu thập, truy cập, cập nhật, xử lý và truyền bá dữ liệu trong hệ thống thông tin là vô cùng quan trọng, nó quyết định sự thành, bại của việc áp dụng công nghệ thông tin, mà bản chất là đưa tác phong công nghiệp vào việc áp dụng công nghệ thông tin để chống lại sự nguỵ biện, tự do tùy tiện.

      CÁC DẠNG CHUẨN[3]

        Để xem một quan hệ (bảng) có ở dạng chuẩn 2 hay không trong thực tế người ta không tìm tất cả các khối tiểu của nó mà chỉ tìm ra một khoá tối tiểu gọi là khoá chính. Trong phần lớn các quan hệ QTCSDL khoá chính đã được chỉ ra ngay khi chỉ ra định nghĩa dữ liệu, tức là khi xây dựng cấu trúc của bảng. Sự vi phạm điều kiện dạng chuẩn 2 thể hiện ở chỗ tồn tại một tập thuộc tính Y chỉ phụ thuộc vào một bộ phận của khoá chính là M ⊂K Khi ấy ta thực hiện phân rã bằng cách đưa thuộc tính trong MY sang một bảng và thuộc tính nằm trong R- Y sang một bảng khỏc.

        Tương tự như vậy ta có định nghĩa sơ đồ quan hệ trong đó có phụ thuộc bắc cầu .Phụ thuộc bắc cầu cũng xuất hiện nhiều trong một tệp dữ liệuvà trong một sơ đồ quan hệ ,người ta đã chứng tỏ rằng phụ thuộc bắc cầu cũng tạo nên sự dư thừa thông tin, sự không minh bạch giữa các mối quan hệ phụ thuộc hàm. Dạng chuẩn BCNF là một dạng chuẩn cực đoan, vì thế thông thường người ta chuyển một tệp dữ liệu hoặc một sơ đồ quan hệ về 3NF mà thôi. Trước khi biến đổi một tệp dữ liệu hoặc một sơ đồ quan hệ phải kiểm tra nó đã là 3NF hay BCNF hay chưa, nếu đã là 3NF hay BCNF thì thôi, trong trường hợp ngược lại thì ta mới tiến hành.

        CÁC THUẬT TOÁN CHUẨN HOÁ SƠ ĐỒ QUAN HỆ

        Kiểm tra sơ đồ quan hệ có là BCNF không

        Theo định nghĩa trên với một tập A bất kỳ và một thuộc tính a bất kỳ nằm ngoài A. Dễ thấy rằng nếu một sơ đồ quan hệ (tệp dữ liệu ) ở dạng chuẩn BCNF thì đương nhiên nó là 3NF.

        CHƯƠNG TRÌNH DEMO MÔ PHỎNG CHO CÁC THUẬT TOÁN

          Việc nghiên cứu lý thuyết về mô hình dữ liệu quan hệ và các dạng chuẩn nhằm vào lý thuyết chuẩn hoá cacs quan hệ đóng vai trò quan trọng trong nghiên cứu lý thuyết và ứng dụng trong thực tế. Mục đích của việc nghiên cứu này nhằm bỏ đi các phần tử không bình thường của quan hệ khi thực hiện các phép cập nhật, loại bỏ các dữ liệu dư thừa, hiểu quan hệ ngữ nghĩa giữa các dữ liệu. Việc nghiên cứu lý thuyết về mô hình dữ liệu và các dạng chuẩn góp phần sử dụng hiệu quả các phần mềm như DBASE, FOXPRO, ACCESS trong WINDOWS.

          Với phạm vi cho phép, luận văn đã nêu lên được một số khái niệm cơ bản về cơ sở dữ liệu quan hệ cũng như một số thuật toán về bao đóng, khoá,.., cũng như phần cài đặt một số chương trình thể hiện cho thuật toán đó bằng ngôn ngữ PASCAL. Một lần nữa cho em được gửi lòng biết ơn đối với thầy giáo Đoàn Văn Ban đã hướng dẫn em hoàn thành được bản luận văn này.