Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
404,5 KB
Nội dung
Trang1 Luận văn tốt nghiệp Nguyễn Văn Giang LỜI GIỚI THIỆU Ngày nay, mọi ngành, mọi lĩnh vực trong đời sống, trong khoa học kinh doanh cũng như trong mọi mặt vận động của xã hội dưới mọi quy mô từ xí nghiệp nhà máy, công ty đến quốc gia, quốc tế đều đã áp dụng công nghệ thông tin vào quản lý và nhiều lĩnh vực khác như: điều khiển các quá trình sản xuất, điều khiển tự động, trợ giúp quyết định, thương mại điện tử Môn cơ sở dữ liệu là một trong những môn quan trọng liên quan đến các vấn đề thu thập, xử lý và cho những thông tin cần thiết từ dữ liệu. Mục tiêu chính của môn này là đưa ra các phương pháp để tổ chức thông tin làm sao cho tối ưu nhất các khâu trên của dữ liệu[3]. Để tiến hành các mục tiêu trên, người ta đi xây dựng các mô hình dữ liệu, và trên cơ sở mô hình dữ liệu này người ta đi xây dựng các hệ cơ sở dữ liệu. Từ các mô hình này, nhân loại đã đạt được nhiều thành công rực rỡ trên lĩnh vực này mà sản phẩm của nó được thương mại hoá trên khắp thế giới như: Foxbase, Foxpro, DBase, Access, SQL for Windows, Lý thuyết cơ sở dữ liệu nguyên cứu các cơ chế, nguyên lý và phương pháp tổ chức dữ liệu trên các vật mang tin để khai thác có hiệu quả dữ liệu trong các hệ thống tin học ứng dụng cũng như trong các hệ lưu trữ và tra cứu thông tin. Trong số các mô hình cho việc tổ chức và khai thác cơ sở dữ liệu (CSDL), trên thực tế mô hình quan hệ [6] là được quan tâm hơn cả. Bởi vì mô hình này được xây dựng trên cơ sở lý thuyết và các quan hệ có cơ sở toán học chặt chẽ, xử dụng rộng rãi các công cụ đại số và logíc. Trong cơ sở dữ liệu quan hệ, các quan hệ có hình ảnh trực quan như là các bảng biểu thông thường mà ta hay gặp. Điều đó tạo nên những thuận lợi trong việc thực hiện các thao tác trên các quan hệ, các ngôn ngữ thao tác trên cơ sở dữ Trang2 Luận văn tốt nghiệp Nguyễn Văn Giang liệu quan hệ có khả năng tổ hợp cao và hiệu quả. Việc cập nhật dữ liệu trong mô hình quan hệ khá dễ dàng. Điều đáng quan tâm là cơ sở dữ liệu quan hệ còn cho phép đảm bảo được tính an toàn dữ liệu, tính nhất quán dữ liệu và tính độc lập dữ liệu [5]. Trong quá trình nguyên cứu và xử lý bảng biểu, các bảng này do các chuyên gia trong lĩnh vực tin học đề xuất ra, 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á các tệp dữ liệu (các bảng biểu). Nhờ các dạng chuẩn này, khi xử lý các tệp dữ liệu người ta tách được dữ liệu gốc ( do các chuyên gia trong mọi lĩnh vực đề xuất ra ). Vì thế 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 lớn, nhưng một điều rất quan trọng là, để khỏi mất mát thông tin ( có tính pháp lý ) thì phải phục hồi 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 phải dùng phép 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 lớn. Việc lưu trữ các tệp dữ liệu con thường chiếm ít bộ nhớ hơn các tệp dữ liệu gốc to, tốc độ chuẩn hoá các tệp dữ liệu đã được chuẩn hoá nhanh hơn rất nhiều các tệp dữ liệu chưa được chuẩn hoá ( tệp dữ liệu gốc to). Nhờ có những đóng góp như vậy mà người sáng lập ra đã được nhận giải thưởng Turing[3]. 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ệ ( xử lý các tệp dữ liệu ) đều đã áp dụng các phụ thuộc hàm và các dạng chuẩn trong ngôn ngữ sử lý của họ, trong đó đặc biệt là phép kết nối tự nhiên . Mục tiêu của luận văn là tập chung nghiên cứu các tính chất của phụ thuộc hàm và các dạng chuẩn của mô hình dữ liệu quan hệ. Nội dung chính của đề tài được trình bày trong 4 chương Trang3 Luận văn tốt nghiệp Nguyễn Văn Giang Chương 1: Tổng quan về cơ sở dữ liệu Chương 2: Giới thiệu về phụ thuộc hàm và một số tính chất của chúng Chương 3: Các dạng chuẩn hoá dữ liệu trong mô hình quan hệ và một số thuật toán của chúng Chương 4: Cài đặt một số chương trình thực hiện cho thuật toán đã nêu trên. Trong thời gian hoàn thành bản luận văn tốt nghiệp, em xin chân thành cảm ơn khoa CNTT và các thầy cô giáo đã giúp đỡ và truyền đạt cho em những kiến thức cơ bản trong những năm học vừa qua. Đặc biệt em xin chân thành cảm ơn thầy Đoàn Văn Ban - Viện CNTT đã tận tình giúp đỡ và chỉ dẫn cho em những kiến thức và phương pháp làm việc để em hoàn thành bản luận văn tốt nghiệp. Trang4 Luận văn tốt nghiệp Nguyễn Văn Giang CHƯƠNG I : TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU I.1. KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU Để lý giải cho các khái niệm, trước hết chúng ta hãy xem xét hệ thống bán xe máy của công ty HONDA Việt Nam bằng máy tính. Dữ liệu lưu trữ trong máy tính bao gồm thông tin về hành khách, loại xe, phân khối và giá cả Mọi thông tin về mối quan hệ này được biểu diễn trong máy thông qua việc đặt mua xe của khách hàng.Vậy làm sao để biểu diễn dữ liệu đó và bảo đảm cho khách hàng mua đúng chiếc xe mà mình đăng kí. Những dữ liệu nêu trên được lưu trữ trong máy theo một quy định nào đó được gọi là cơ sở dữ liệu (CSDL). Phần chương trình để xử lý, thay đổi số liệu này là các hệ quản trị cơ sở dữ liệu [6]. Tổng quát chúng ta có các định nghĩa sau : 1. Cơ sở dữ liệu: Là khối dữ liệu phản ánh thông tin được lưu trữ trên hệ thống theo một cấu trúc nào đó gọi tắt là cơ sở dữ liệu ( CSDL ). 2. Hệ quản trị cơ sở dữ liệu: Là một hệ thống phần mềm quản lý cơ sở dữ liệu và tập các thao tác xử lý dữ liệu. Trang5 Luận văn tốt nghiệp Nguyễn Văn Giang Hệ quản trị cơ sở dữ liệu là rất quan trọng, như là một bộ diễn dịch với ngôn ngữ bậc cao nhằm giúp người sử dụng có thể dùng được hệ thống mà ít nhiều không cần quan tâm đến thuật toán chi tiết hoặc biểu diễn ở trong máy. 3. Chức năng của hệ quản trị cơ sở dữ liệu a. Thiết lấp cơ sở dữ liệu : Gồm các giai đoạn - Khai báo - Định nghĩa - Nạp dữ liệu vào cơ sở dữ liệu b. Cập nhật dữ liệu: - Bổ sung dữ liệu vào cơ sở dữ liệu, - Loại bỏ dữ liệu khỏi cơ sở dữ liệu, - Sửa dữ liệu trong cơ sở dữ liệu. c. Khai thác dữ liệu trong cơ sở dữ liệu - Tìm kiếm thông tin theo yêu cầu, - Kết xuất thông tin theo yêu cầu. I.2. KHÁI QUÁT CHUNG VỀ MÔ HÌNH DỮ LIỆU Thông thường việc thiết kế và xây dựng các hệ thống thông tin quản lý, chúng ta cần xử lý các tệp (tệp ) dữ liệu, các tệp này bao gồm nhiều bản ghi ( record ) và có cùng cấu trúc xác định. Đồng thời, mỗi bản ghi được phân chia thành các trường dữ liệu. Mỗi cơ sở dữ liệu là một hệ thống các tệp dữ liệu , mỗi tệp này có cấu trúc bản ghi khác nhau . Mỗi hệ quản trị cơ sở dữ liệu là một hệ thống quản lý và điều hành các tệp dữ liệu. Trang6 Luận văn tốt nghiệp Nguyễn Văn Giang Trong quá trình thiết kế và xây dựng các hệ quản trị cơ sở dữ liệu, người ta tiến hành xây dựng các mô hình dữ liệu. Mô hình dữ liệu phải thể hiện được bản chất mối quan hệ cơ bản của các dữ liệu mà dữ liệu này phản ánh các mối quan hệ và các thực thể trong thế giới thực. Có thể thấy mô hình dữ liệu phản ánh khía cạnh cấu trúc logíc mà không đi vào khía cạnh vật lý của cơ sở dữ liệu. Yếu tố quan trọng nhất của cấu trúc cơ sở dữ liệu là dạng cấu trúc dữ liệu lưu trữ được mô tả. Có thể thấy rằng loại dữ liệu nền tảng của việc mô tả các mối quan hệ là loại bản ghi. Bởi vì các ràng buộc giữa các loại bản ghi tạo ra bản chất cấu trúc cơ sở dữ liệu. Vì thế dựa trên việc xác định các ràng buộc giữa các loại dữ liệu được cho như thế nào mà chúng ta phân loại các mô hình dữ liệu. Có nghĩa là từ cách nhìn của người sử dụng việc mô tả các dữ liệu và các ràng buộc giữa các dữ liệu được thực hiện như thế nào. Hiện nay đã có nhiều loại mô hìmh dữ liệu. Bốn loại mô hình dữ liệu đang được sử dụng rộng rãi là: Mô hình phân cấp, Mô hình mạng, Mô hình quan hệ, Mô hình hướng đối tượng. I.2.1. Mô hình phân cấp [6] Mô hình dưc liệu là một cây, trong đó các nút biểu diễn các tập thực thể, giữa các con và nút cha được liên hệ theo một mối quan hệ xác định ( Dựa trên cấu trúc cây) Ví dụ hình sau: Gốc Alà thực thể lớn, ta chia thực thể A làm 3 thực thể nhỏ hơn là B,C,D. Trong đó thực thể B ta lại chia ra làm 3 thực thể nhỏ hơn là G,H,I, tương tự C có hai thực thể nhỏ là K và L, và D có 3 thực thể nhỏ là M,N và P B DC G H I K L M N P A Trang7 Luận văn tốt nghiệp Nguyễn Văn Giang I.2.2. Mô hình mạng [6] Mô hình biểu diễn là một đồ thị có hướng ( Cấu trúc đồ thị ) Ví dụ: Mô tả cho mô hình dữ liệu mạng: Cho 5 đỉnh A,B,C,D,E. Các đỉnh này nối với nhau bởi các đường, trong đó đỉnh A gọi là tệp dữ liệu lớn được phân chia thành các tệp dữ liệu nhỏ hơn. Tương tự ta có các đỉnh tiếp theo được thể hiện giống như đỉnh A và chúng được biểu diễn như hình trên. I.2.3. Mô hình quan hệ [6] Mô hình này dựa trên cơ sở khái niệm lý thuyết tập hợp của các quan hệ, tức là tập các k _ bộ với k là cố định, các ràng buộc trên được thể hiện qua các quan hệ (bảng ). I.2.4. Mô hình hướng đối tượng Hệ thống được xem như là tập các thực thể ( Đối tượng ), tác động qua lại với nhau thông qua các thông báo để thực hiện các nhiệm vụ đặt ra. Đây là mô hình mới đang được tập trung nghiên cứu và phát triển ứng dụng. Trong 4 loại mô hình trên thì mô hình quan hệ có nhiều ưu điểm và được nhiều người quan tâm hơn cả, bởi lẽ mô hình dữ liệu quan hệ có tính độc lập dữ A B D C E Trang8 Luận văn tốt nghiệp Nguyễn Văn Giang liệu rất cao, lại rễ sử dụng. Điều quan trọng hơn cả là mô hình quan hệ được hình thức hoá toán học tốt, do đó được nghiên cứu, phát triển và cho được nhiều kết quả lý thuyết cũng như ứng dụng trong thực tiễn . Mô hình dữ liệu quan hệ là một mô hình rất tiện lợi để mô tả cấu trúc Logíc của các cơ sở dữ liệu. Như vậy, ở mức logíc mô hình bao gồm các tệp được biểu diễn dưới dạng các bảng. Do đó đơn vị cơ sở dữ liệu quan hệ là một bảng, trong đó các dòng của bảng là các bản ghi dữ liệu cụ thể ( đó là các thể hiện cụ thể của các bản ghi ) còn tên các cột trong bảng là các thuộc tính. Trên cơ sở mô hình dữ liệu quan hệ, đến nay đã phát triển thêm một số loại mô hình khác nhau nhằm mô tả và thể hiện thế giới thực một cách chính xác và phù hợp như mô hình quan hệ thực thể ( Entily Relationship Model), mô hình dữ liệu hướng đối tượng ( Object Oriented Model ), Theo cách nhìn của người sử dụng thì một cơ sở dữ liệu quan hệ là một tập các bảng biến đổi theo thời gian. Với ưu điểm về tính cấu trúc đơn giản và khả năng hình thức hoá phong phú cơ sở dữ liệu quan hệ dễ dàng mô phỏng các hệ thống thông tin tiết kiệm có tính độc lập cao, dễ sửa đổi, bổ xung cũng như khai thác dữ liệu. Mặt khác, việc khai thác và áp dụng kĩ thuật tổ chức và sử dụng bộ nhớ cho phép cài đặt các cơ sở dữ liệu quan hệ đem lại hiệu quả cao và làm cho cơ sở dữ liệu khẳng định được ưu thế của mình trên thị trường. Trang9 Luận văn tốt nghiệp Nguyễn Văn Giang Trang10 Luận văn tốt nghiệp Nguyễn Văn Giang CHƯƠNG II : CÁC PHỤ THUỘC HÀM Đặt vấn đề: - Khái niệm thực thể: Là đối tượng có trong thực tế mà chúng ta cần khảo sát và giải quyết nhiều vấn đề liên qua đến đối tượng này. Ví dụ: Thực thể sinh viên, thực thể con người, thực thể hệ thống kế toán tài vụ , Thông thường người ta chia các thực thể lớn thành các thực thể đơn giản hơn và đến khi một thực thể được mô tả bàng một tệp dữ liệu. - Các thuộc tính: Là đặc trưng của một thực thể. Các thuộc tính dùng để phân biệt thực thể đó với thực thể khác. Ví dụ: Thực thể sinh viên có các thuộc tính sau :Mã_SV, Họ_tên, Giới_tính, Nơi_sinh, Quê_quán Nếu một thực thể được mô tả bằng một tệp dữ liệu thì các thuộc tính được mô tả bằng các trường dữ liệu. Như vậy thực thể là một bảng thì thuộc tính là một cột trong bảng đó. Hệ thống quản lý công chức Hệ thống công chức do ban tổ chức cán bộ chính phủ Hệ thống công chức do ban tổ chức TW Các bộ, ngành Tỉnh, Huyện Tổng công đoàn Hội phụ nữ Các ban [...]... Giang thông tin trong các hệ thông tin quản lý như: SQL for Windows, Orcale, IBM DB2, Foxpro, Access, Ngôn ngữ xử lý dữ liệu đều dựa trên mô hình dữ liệu quan hệ Trong đó hạt nhân chủ yếu là tệp dữ liệu (bảng) Chúng ta sẽ khảo sát những phép toán xử lý tệp dữ liệu cơ bản nhất của cái nằm trong ngôn ngữ xử lý dữ liệu này Các phép toán này được đề xuất bởi người sáng lập ra mô hình dữ liệu quan hệ Các. .. Văn Giang Với ý nghĩa đơn giản và phổ thông như vậy Chỉ có phụ thuộc hàm mới đưa ra được thương trường II.1.3 Định nghĩa hệ tiên đề Amstrong cho phụ thuộc hàm Gọi F là tập tất cả các phụ thuộc hàm đối với lược đồ quan hệ R, và X→Y là một phụ thuộc hàm, X,Y là tập con của R Nói rằng X →Y được suy diễn logíc từ F nếu mối quan hệ r trên R đều thoả mãn các phụ thuộc hàm của F thì cũng thoả mãn X →Y[3]... sinh viên trên chính là tệp dữ liệu mô tả về thông tin của các Sinh viên của một trường nào đó, với năm thuộc tính cụ thể gồm: Mã_sv, Họ_tên, Giới _tính, Năm_sinh, Quê_quán Trong tệp dữ liệu trên có 20 bản ghi II.1 PHỤ THUỘC HÀM II.1.1 Khái niệm về phụ thuộc hàm Trên cơ sở nghiên cứu tệp dữ liệu người ta định nghĩa chính xác tệp dữ liệu như sau ( đôi khi người ta còn gọi là quan hệ ) Cho trước R = { a1,... là một phụ thuộc hàm Khi đó S là một sơ đồ quan hệ nếu: S = < R,F > trong đó F = F gồm t phụ thuộc hàm thì tập ấy gọi là sơ đồ quan hệ t phụ thuộc hàm này do người thiết kế đặt ra, dựa trên cơ sở nội dung của các cột a1,a2, ,an Sơ đồ quan hệ đó là đầu biểu ( cấu trúc tệp ) cộng với các ràng buộc logíc (các phụ thuộc hàm ) do người thiết kế đề xuất ra ,các phụ thuộc hàm này làm nhiệm... 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. .. Các phép toán xử lý tệp dữ liệu sau đây được chắt lọc từ ngôn ngữ xử lý dữ liệu (Ngôn ngữ đại số quan hệ) Đại số quan hệ như là cơ sở của ngôn ngữ bậc cao để thao tác trên quan hệ Người khai thác cơ sở dữ liệu phải nêu ra những câu hỏi diễn tả yêu cầu tìm kiếm thông tin, kết xuất thông tin Đại số quan hệ cung cấp các phép toán để đáp ứng nhu cầu trên Gọi r là một quan hệ trên tập thuộc tính R = {A1,... nghĩa này là quan trọng nhất và nó là hạt nhân của mô hình cơ sở dữ liệu quan hệ Vì h1, h2, , hm là các thành phần trong tập hợp của tệp dữ liệu nhở Một hạn chế là không chấp nhận có hai dòng giống nhau trong một tệp dữ liệu, có nghĩa là: ∀ i ≠ j ⇒ hI ≠ hj Đứng về khía cạnh sử dụng, một hệ cơ sở dữ liệu quan hệ đó là một tập hợp các tệp dữ liệu được định nghĩa như sau: Một hệ cơ sở dữ liệu là một tập... sau chương này 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... tập các phụ thuộc hàm trên tập thuộc tính R Giả sử rằng X→Y là không thể suy dẫn được từ hệ tiên đề Xét quan hệ r gồm hai tập sau: 11 1 11 1 11 1 00 0 Các thuộc tính thuộc X+ Các thuộc tính còn lại Trước hết cần chỉ ra rằng tất cả các phụ thuộc hàm thuộc F đều thoả r Thật vậy, giả sử (V→W) ∈F nhưng không thoả trên r Do đó V ⊆ X+ , hoặc hai bộ của r sẽ không bằng nhau ít nhất trên một thuộc tính của. .. trong cả r lẫn t Trong trường r và t có tên cột khác nhau thì các cột của tệp dữ liệu giao không có tên Ký hiệu phép giao của hai quan hệ r và t: r ∩ t Từ hai quan hệ cho trước ở trên, ta có phép giao của r và t r ∩ t:= a b a c b d II.3.4 Phép tích Đề _các Giả sử tệp dữ liệu r có n cột và tệp dữ liệu t có m cột (m # n) Khi đó tích đề các là tệp dữ liệu có n+m cột và dòng được hình thành như sau : x1,x2, . thiết kế và xây dựng các hệ quản trị cơ sở dữ liệu, người ta tiến hành xây dựng các mô hình dữ liệu. Mô hình dữ liệu phải thể hiện được bản chất mối quan hệ cơ bản của các dữ liệu mà dữ liệu này. nghĩa - Nạp dữ liệu vào cơ sở dữ liệu b. Cập nhật dữ liệu: - Bổ sung dữ liệu vào cơ sở dữ liệu, - Loại bỏ dữ liệu khỏi cơ sở dữ liệu, - Sửa dữ liệu trong cơ sở dữ liệu. c. Khai thác dữ liệu trong. dữ liệu trong mô hình quan hệ khá dễ dàng. Điều đáng quan tâm là cơ sở dữ liệu quan hệ còn cho phép đảm bảo được tính an toàn dữ liệu, tính nhất quán dữ liệu và tính độc lập dữ liệu [5]. Trong