Chương 1: Tổng quan nghiên cứu đề tài Chương này sẽ trình bày sơ lược về tổng quan đề tài nghiên cứu: tính cấp thiết, tình hình nghiên cứu về đề tài ở trong và ngoài nước, mục tiêu nghiên cứu, đối tượng, phạm vi nghiên cứu, và các phương pháp nghiên cứu khi tìm hiểu về vấn đề phi chuẩn khi thiết kế CSDL trong hệ thống thông tin. Chương 2: Lý thuyết về thiết kế và tối ưu hóa hiệu năng cơ sở dữ liệu Nội dung chương này sẽ trình bày một cách tổng quan nhất về CSDL, bao gồm các khái niệm cơ bản, kiến trúc 3 mức của hệ thống CSDL, giới thiệu một số mô hình dữ liệu phổ biến và một số các dạng chuẩn khi thiết kế CSDL, đồng thời liệt kê ra các vấn đề thường gặp với hiệu năng hoạt động của CSDL cũng như cách thức tối ưu hóa CSDL trên các khía cạnh thiết kế và tổ chức dữ liệu. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 11 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 Chương 3: Thử nghiệm và đánh giá một số giải pháp tối ưu hóa trên cơ sở dữ liệu thi trắc nghiệm trong quản lý đào tạo tín chỉ Nội dung chương này sẽ đề cập đến một số kết quả đạt được khi áp dụng các kỹ thuật tối ưu trên cơ sở dữ liệu đào tạo tín chỉ của Trường Đại học Thương mại, bao gồm tổ chức thiết kế lại các thực thể và tối ưu lệnh truy vấn trong các store, view, function,… ThS.
Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 12 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 CHƯƠNG 2: LÝ THUYẾT VỀ THIẾT KẾ VÀ TỐI ƯU HÓA HIỆU NĂNG CƠ SỞ DỮ LIỆU 1. Tổng quan về cơ sở dữ liệu 1. Các khái niệm liên quan Trong những năm gần đây, thuật ngữ CSDL – Database đã trở nên quen thuộc trong hầu hết mọi lĩnh vực.
Các ứng dụng tin học vào công tác quản lý ngày càng nhiều và đa dạng, hầu hết mọi lĩnh vực kinh tế, xã hội,…đều đã ứng dụng các thành tựu mới của tin học vào phục vụ công tác chuyên môn của mình. Chính vì lẽ đó mà ngày càng nhiều người quan tâm đến phân tích, thiết kế, xây dựng và ứng dụng CSDL. Trước khi các hệ CSDL ra đời, mỗi chương trình ứng dụng đều có một tệp dữ liệu tương ứng và mỗi khi chương trình ứng dụng cần được sửa đổi hoặc mở rộng thì tệp dữ liệu tương ứng cũng phải sửa đổi theo. Việc lưu trữ thông tin của một tổ chức trong một hệ xử lý tệp như vậy có những nhược điểm sau: - Dư thừa dữ liệu và không nhất quán: vì cùng một dữ liệu có thể được lưu trữ trong nhiều tệp khác nhau nên khi tiến hành cập nhật có thể bỏ sót và dẫn tới không nhất quán.
- Khó khăn trong việc truy cập dữ liệu: vì các môi trường xử lý tệp truyền thống không cho phép dữ liệu được tìm kiếm theo cách thức thuận tiện và hiệu quả. - Sự cô lập của dữ liệu: vì dữ liệu nằm rải rác trong nhiều tệp và các tệp có thể có khuôn dạng khác nhau nên khó viết các chương trình ứng dụng mới để tìm các dữ liệu thích hợp. - Các vấn đề toàn vẹn: vì khi có thêm những ràng buộc mới thì khó thay đổi các chương trình để có thể tuân thủ đúng các ràng buộc trên. - Các vấn đề tính nguyên tố của các giao tác: với hệ thống xử lý tệp truyền thống khó có thể đảm bảo được tính chất “hoặc thực hiện hoàn toàn hoặc không thực hiện gì” và khó đưa ra được hệ thống trở về trạng thái nhất quán trước khi xảy ra sự cố.
- Các dị thường của truy cập tương tranh: vì để tăng tính hiệu quả và trả lời nhanh hơn, nhiều hệ thống cho phép nhiều người dùng có thể cập nhật dữ liệu đồng thời, vì vậy có thể dẫn tới khả năng dữ liệu không nhất quán. - Các vấn đề an toàn: thông thường thì mỗi người dùng của hệ CSDL chỉ được phép truy cập một phần của CSDL và điều đó cũng là một biện pháp giữ cho dữ liệu trong CSDL an toàn. Còn với hệ xử lý tệp truyền thống thì các chương trình ứng dụng được thêm vào hệ thống theo một cách thức không tiên liệu trước nên rất khó đảm bảo được các ràng buộc an toàn như vậy. Hoàng Ngọc Cảnh – TT.
Công nghệ thông tin 13 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 Chính vì những lý do nêu trên mà các hệ CSDL đã ra đời. Cơ sở dữ liệu Một CSDL là một tập hợp các dữ liệu có liên quan với nhau chứa thông tin về một tổ chức nào đó (như một trường đại học, một ngân hàng, một công ty, một nhà máy,…) được lưu trữ trên các thiết bị nhớ thứ cấp (như từ, đĩa từ,…) để đáp ứng nhu cầu khai thác thông tin của nhiều NSD với nhiều mục đích khác nhau. Như vậy, CSDL có các tính chất đặc trưng: - CSDL phản ánh thông tin về hoạt động của một tổ chức nhất định, nghĩa là biểu thị một phần nào đó của thế giới thực (thế giới nhỏ). - CSDL phải là tập hợp các thông tin mang tính hệ thống tức là CSDL phản ánh được một cách trung thực sự thay đổi của thế giới nhỏ.
- Thông tin lưu trữ trong CSDL được chia sẻ cho nhiều NSD và nhiều ứng dụng khác nhau. Từ đó có thể thấy việc xây dựng và khai thác CSDL liên quan tới một số vấn đề như đảm bảo tính nhất quán và toàn vẹn dữ liệu, tính bảo mật và quyền khai thác của NSD, tính an toàn cho dữ liệu khi xảy ra sự cố. Hệ quản trị CSDL Hệ quản trị CSDL là một tập hợp các chương trình cho phép người dùng định nghĩa, tạo lập, bảo trì các CSDL và cung cấp các truy cập có điều khiển đến các CSDL này. Một số các hệ quản trị CSDL điển hình như IMS (Information Management System), IDS (Integrated Data Store), Sysbase, Access, Foxpro, SQL-Server, Oracle,… Như vậy một hệ quản trị CSDL là phần mềm tương tác với các chương trình ứng dụng của người dùng và CSDL.
Một hệ quản trị CSDL cung cấp các phương tiện sau: - Ngôn ngữ định nghĩa dữ liệu (Data Denifition Language - DDL): cho phép người dùng định nghĩa CSDL (đặc tả các kiểu và các cấu trúc dữ liệu, đặc tả các ràng buộc trên các dữ liệu được lưu trữ trong CSDL) Ví dụ: Tạo bảng Co chứa dữ liệu về thực thể công ty (bao gồm Số hiệu công ty có tối đa 2 kí tự, Tên công ty có tối đa 10 kí tự, Vốn của công ty có tối đa 4 số) như sau: Create table Co(Sohieu Char(2), Ten Char(10), Von Number(4,0)) - Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): cho phép người dùng thêm, xóa, cập nhật dữ liệu và truy xuất dữ liệu trong CSDL. Một ngôn ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 14 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 ngữ cho phép người dùng truy cập hoặc thao tác CSDL được tổ chức bởi một mô hình thích hợp.
Ví dụ: Update… Insert… Delete… Select…From…Where… - Các kiểm soát, các điều khiển đối với việc truy cập vào CSDL. Ví dụ: Hệ thống an ninh ngăn cấm sự cố tình truy cập vào CSDL một cách trái phép hoặc hệ thống ràng buộc toàn vẹn duy trì tính nhất quán của DL hoặc hệ thống điều khiển khôi phục CSDL khi có sự cố. Hệ cơ sở dữ liệu Hệ CSDL là dùng để chỉ một CSDL và một hệ quản trị CSDL để truy cập vào CSDL đó. Mục đích chính của một hệ CSDL là cung cấp cho người dùng một cách nhìn trừu tượng về dữ liệu.
Điều đó có nghĩa là hệ thống che dấu những chi tiết phức tạp về cách thức dữ liệu được lưu trữ và bảo trì. Một hệ CSDL là một hệ thống gồm 4 thành phần: CSDL, NSD, phần mềm hệ quản trị CSDL, phần cứng. Hình 1: Hệ cơ sở dữ liệu Như vậy một hệ CSDL cho phép nhiều NSD thao tác lên cùng một CSDL. Các NSD khác nhau đòi hỏi một cách nhìn khác nhau về CSDL mà họ cần.
Mỗi một cách nhìn là một phần của CSDL hoặc là dữ liệu tổng hợp từ CSDL. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 15 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 1. Kiến trúc của hệ thống CSDL Theo ANSI – SPARC có 3 mức biểu diễn một CSDL: mức trong, mức khái niệm, và mức ngoài.
Sau đây là hình vẽ mô tả kiến trúc 3 mức của CSDL: Hình 2: Kiến trúc 3 mức của CSDL 1. Mức trong Mức này còn được gọi là mức vật lý. Đây là mức thấp nhất của CSDL, mô tả dữ liệu được thực sự lưu trữ như thế nào trong CSDL. Đây là mức thể hiện các cài đặt có tính chất vật lý của CSDL để đạt được tối ưu trong các thao tác tìm kiếm, lưu trữ để tận dụng được các vùng nhớ còn trống.
Ngoài ra đây còn là mức phản ánh các cấu trúc dữ liệu, các tổ chức tệp được dùng cho lưu trữ dữ liệu trên các thiết bị nhớ thứ cấp. Điều đó cũng có nghĩa là mức này tiếp xúc với các phương thức truy nhập của hệ điều hành để đặt dữ liệu vào các thiết bị nhớ, xây dựng các tập chỉ mục, truy xuất dữ liệu,…liên quan đến các vấn đề như cấp phát vùng nhớ cho dữ liệu và các chỉ mục, các mô tả bản ghi để lưu trữ, các kỹ thuật nén dữ liệu và giải mã dữ liệu. Mức khái niệm Mức này còn được gọi là mức logic. Đây là mức mô tả những dữ liệu nào được lưu trữ trong CSDL và có những mối quan hệ nào giữa các dữ liệu này.
Nói một cách cụ thể hơn, mức logic biểu diễn các thực thể (trong thế giới nhỏ), các thuộc tính và các mối quan hệ giữa các thực thể đó. Ngoài ra mức này cũng cho thấy các ràng buộc trên dữ liệu, các thông tin về ngữ nghĩa của dữ liệu, các thông tin về an ninh và toàn vẹn của dữ liệu. Tuy nhiên mức này chỉ quan tâm đến cái gì được lưu trữ ở trong CSDL chứ không quan tâm đến cách thức để lưu trữ. Hoàng Ngọc Cảnh – TT.
Công nghệ thông tin 16 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 1. Mức ngoài Mức này còn được gọi là mức khung nhìn. Đây là mức cao nhất của CSDL, nó mô tả chỉ một phần của toàn bộ CSDL, phần thích hợp với một NSD nhất định.