Đăng ký Đăng nhập
Trang chủ Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu...

Tài liệu Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ

.PDF
61
1
89

Mô tả:

Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC THƯƠNG MẠI ============ BÁO CÁO ĐỀ TÀI NCKH CẤP TRƯỜNG NGHIÊN CỨU CÁC PHƯƠNG PHÁP TỔ CHỨC, TỐI ƯU KHAI THÁC DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU ĐÀO TẠO TÍN CHỈ Chủ nhiệm đề tài: Hoàng Ngọc Cảnh Đơn vị: Trung tâm Công nghệ thông tin Hà Nội, 3/2019 ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 1 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 MỤC LỤC DANH MỤC HÌNH VẼ................................................................................................. 4 DANH MỤC BẢNG BIỂU ........................................................................................... 4 DANH MỤC TỪ VIẾT TẮT ........................................................................................ 5 CHƯƠNG 1. TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI ............................................... 6 1. Tính cấp thiết nghiên cứu của đề tài...................................................................... 6 2. Tổng quan về đề tài nghiên cứu ............................................................................ 7 3. Mục tiêu nghiên cứu ............................................................................................ 10 4. Đối tượng và phạm vi nghiên cứu ....................................................................... 10 5. 6. Phương pháp nghiên cứu ..................................................................................... 11 Kết cấu báo cáo nghiên cứu ................................................................................ 11 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 ................................................................................................................ 13 1. Tổng quan về cơ sở dữ liệu .................................................................................... 13 1.1. Các khái niệm liên quan ................................................................................... 13 1.2. Kiến trúc của hệ thống CSDL .......................................................................... 16 1.3. Lược đồ và thể hiện của CSDL ........................................................................ 17 1.4. Mô hình dữ liệu ................................................................................................ 18 1.5. Một số các dạng chuẩn CSDL .......................................................................... 20 2. Các vấn đề liên quan tới hiệu năng cơ sở dữ liệu và cách giám sát ....................... 25 2.1. Một số vấn đề liên quan tới hiệu năng cơ sở dữ liệu........................................ 25 2.2. Công cụ giám sát và cảnh báo sớm hiệu năng CSDL ...................................... 26 3. Các phương pháp tối ưu hóa cơ sở dữ liệu mức vật lý ........................................... 28 3.1. Nội dung thiết kế tệp vật lý và cơ sở dữ liệu vật lý.......................................... 28 3.2. Thiết kế các trường ........................................................................................... 32 3.3. Thiết kế các bản ghi vật lý ............................................................................... 35 3.4. Thiết kế các file vật lý ...................................................................................... 36 3.5. Ví dụ về thiết kế file ......................................................................................... 42 4.1. Tối ưu tổ chức dữ liệu ...................................................................................... 43 4.2. Tối ưu trong viết lệnh truy vấn ......................................................................... 46 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 TTN TRONG QUẢN LÝ ĐTTC .......................... 50 TÀI LIỆU THAM KHẢO........................................................................................... 57 PHỤ LỤC ..................................................................................................................... 58 Phụ lục 1: Một số các định nghĩa liên quan đến các dạng chuẩn ............................... 58 ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 2 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 Phụ lục 2: Ví dụ về các file sau khi tiến hành thiết kế vật lý ..................................... 61 ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 3 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 DANH MỤC HÌNH VẼ Hình 1: Hệ cơ sở dữ liệu ................................................................................................ 15 Hình 2: Kiến trúc 3 mức của CSDL .............................................................................. 16 Hình 3: Ví dụ về CSDL quản lý quá trình học tập của sinh viên .................................. 17 Hình 4: Ví dụ về các lược đồ ......................................................................................... 18 Hình 5: Ví dụ về thể hiện của CSDL ............................................................................. 18 Hình 6: Ví dụ quan hệ chưa ở dạng chuẩn 1 ................................................................. 21 Hình 7: Ví dụ về quan hệ được chuẩn hóa về dạng chuẩn 1 ......................................... 21 Hình 8: Ví dụ về quan hệ được chuẩn hóa về dạng chuẩn 2 ......................................... 22 Hình 9: Ví dụ về quan hệ không đạt chuẩn BCNF ........................................................ 24 Hình 10: Ví dụ về quan hệ được chuẩn hóa về dạng BCNF ......................................... 25 Hình 11: CPU performance bottlenecks command checks ........................................... 26 Hình 13: Sử dụng Retrace APM hiển thị mức độ truy vấn của các chương trình ......... 27 Hình 14: Sử dụng SQL Server Profiler giám sát hệ thống ............................................ 27 Hình 15: Tổ chức file theo kiểu tuần tự......................................................................... 39 Hình 16: Tổ chức file theo kiểu băm ............................................................................. 40 Hình 17: Tổ chức file theo chỉ mục ............................................................................... 41 Hình 18: Chứng từ đơn đặt hàng ................................................................................... 42 Hình 19: Chứng từ phiếu giao hàng .............................................................................. 43 Hình 20: Lược đồ cơ sở dữ liệu thi trắc nghiệm học phần ............................................ 51 Hình 21: Cấu trúc bảng tblSinhVienLopHocPhanDeThi .............................................. 54 Hình 22: Kết quả sau khi đặt Non_Clustered_Index ..................................................... 55 Hình 23: So sánh hiệu năng truy vấn trên bảng có Non_Clustered_Index ................... 55 DANH MỤC BẢNG BIỂU Bảng 1: Bảng mô tả các trường ..................................................................................... 31 Bảng 2: Bảng các đặc tả tiêu biểu đối với thiết kế bản ghi ........................................... 31 Bảng 3: Bảng các đặc tả tiêu biểu đối với thiết kế file .................................................. 32 Bảng 4: Bảng các đặc tả tiêu biểu đối với thiết kế CSDL ............................................. 32 Bảng 5: Một số kiểu dữ liệu cơ bản trong Microsoft Access và SQL Server ............... 33 Bảng 6: Bảng so sánh các cách tổ chức file khác nhau ................................................. 42 Bảng 7: Bảng lưu trữ thông tin về khách hàng .............................................................. 61 Bảng 8: Bảng lưu trữ thông tin về hàng hóa ................................................................. 61 Bảng 9: Bảng lưu trữ thông tin về đơn hàng ................................................................. 61 Bảng 10: Bảng lưu trữ thông tin về dòng đơn hàng ...................................................... 61 Bảng 11: Bảng lưu trữ thông tin về phiếu giao hàng .................................................... 61 Bảng 12: Bảng lưu trữ thông tin về dòng phiếu giao hàng ........................................... 61 ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 4 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 DANH MỤC TỪ VIẾT TẮT 1. DANH MỤC TỪ VIẾT TẮT TIẾNG VIỆT STT Từ viết tắt Cụm từ đầy đủ 1 CSDL Cơ sở dữ liệu 2 NSD Người sử dụng 3 QT CSDL Quản trị cơ sở dữ liệu 4 TTN Thi trắc nghiệm 5 ĐTTC Đào tạo tín chỉ 2. DANH MỤC TỪ VIẾT TẮT TIẾNG ANH STT Từ viết tắt Cụm từ đầy đủ Nghĩa Tiếng Việt 1 ER Entity Relationship Thực thể liên kết 2 NF Normal Form Dạng chuẩn 3 OLTP Online Transaction Processing Xử lý giao dịch trực tuyến 4 OLAP Online Analysis Processing Xử lý phân tích trực tuyến ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 5 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 CHƯƠNG 1. TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI 1. Tính cấp thiết nghiên cứu của đề tài Thiết kế, tổ chức và tối ưu trong khai thác dữ liệu luôn là chủ đề quan trọng trong hầu hết các nghiên cứu, diễn đàn trao đổi về cơ sở dữ liệu. Trong thời đại ngày nay, khi mà mọi thứ đều được số hóa, được quản lý bởi máy tính và các hệ quản trị cơ sở dữ liệu thì nhiệm vụ tổ chức và tối ưu dữ liệu trở thành công việc hàng ngày của các nhà quản trị và lập trình viên cơ sở dữ liệu. Về nguyên lý, tất cả các bài toán trước khi được đưa vào quản lý trên máy tính đều được khảo sát, phân tích, thiết kế chuẩn mực để tạo nên những hệ thống thông tin quản lý ổn định. Tuy nhiên việc khảo sát và phân tích nhiều khi mang tính chất đáp ứng nhanh công việc hiện tại nhằm đẩy nhanh tiến độ xây dựng các hệ thống quản lý, điều này khiến cho các cơ sở dữ liệu thiếu tính chuẩn hóa hoặc thiếu tính mở rộng nên khi đưa vào hoạt động thực tế sẽ phát sinh các nhu cầu không thể giải quyết. Và tiếp tục theo cách xử lý “đặt giải quyết vấn đề trước mắt lên trên hết” sẽ là cơ sở để các quản trị viên, lập trình viên bổ sung hoặc sửa đổi các đối tượng, thực thể, quan hệ trong cơ sở dữ liệu một cách tùy ý để thuận lợi cho công việc trước mắt. Về lâu dài, việc này sẽ làm cơ sở dữ liệu (CSDL) ngày càng phi chuẩn và khó bảo trì. Bên cạnh đó, việc sử dụng CSDL quá lâu mà không có biện pháp sao lưu – bảo trì sẽ làm số lượng bản ghi ngày càng tăng, các bảng quan hệ vòng, dư thừa dữ liệu và phi chuẩn sẽ làm giảm sự đồng bộ, các lệnh truy vấn chậm chạp và quá tải hơn sẽ dẫn đến nguy cơ sụp đổ của các hệ thống thông tin quản lý. Rõ ràng việc tìm ra các giải pháp tổ chức và truy vấn dữ liệu tối ưu là vô cùng cần thiết trong tất cả các giai đoạn khảo sát, thiết kế, vận hành cơ sở dữ liệu. Ở mỗi thời điểm hoạt động, người quản trị viên cần có những biện pháp kỹ thuật phù hợp để đánh giá và tái tổ chức dữ liệu, khai thác dữ liệu trên nguyên tắc giảm tối thiểu việc lập trình lại các chức năng phần mềm, mọi tác động chỉ nên nằm trên cơ sở dữ liệu. Đối với các cơ sở dữ liệu quan hệ áp dụng trong các bài toán quản lý (quản lý bán hàng, quản lý nhân sự, kế toán, thiết bị, …) lượng thông tin giao dịch (thêm sửa xóa) thường xuyên và khá lớn, đặc biệt hệ thống báo biểu (hóa đơn, báo cáo tài chính,…) trích xuất từ các cơ sở dữ liệu này có tính tổng hợp cao, tính toán nhiều trên một khoảng thời gian phát sinh dữ liệu, vì vậy bên cạnh các thuật toán hiệu quả để lấy dữ liệu thì các phương pháp, kỹ thuật tổ chức, truy vấn T-SQL cũng đóng vai trò quan trọng giúp cải thiện đáng kể hiệu năng của hệ thống. Một hệ thống tốt là một hệ thống sẵn sàng đáp ứng nhu cầu người dùng ngay trên những hạ tầng tối thiểu, qua đó có thể thấy việc xử lý tối ưu cơ sở dữ liệu quan trọng hơn nhiều với việc tăng cường năng lực hạ tầng (mạng, máy chủ, hệ điều hành…). Trong số các bài toán quản lý nêu trên, bài toán quản lý đào tạo theo tín chỉ trên nền tảng cơ sở dữ liệu quan hệ cũng được xếp vào nhóm cần thường xuyên bảo trì ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 6 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 nâng cấp, vì theo thiết kế ban đầu các cơ sở dữ liệu đào tạo tín chỉ hầu hết là đáp ứng các nhu cầu quản lý trước mắt của các cơ sở đào tạo, các thông số cơ bản của cơ sở dữ liệu tuân theo quy chế đào tạo tín chỉ của Bộ giáo dục và Đào tạo. Tuy nhiên nghiệp vụ đào tạo mỗi cơ sở đều có đặc thù riêng và trong một cơ sở giáo dục cũng luôn có sự thay đổi nâng cấp các yêu cầu trong quản lý để phù hợp với sự phát triển và định hướng của họ, đây chính là lý do khiến cấu trúc của các cơ sở dữ liệu này bị can thiệp thường xuyên, đặc biệt hơn số lượng bản ghi sinh viên, bản ghi điểm, bản ghi lớp học phần,… liên tục gia tăng qua mỗi học kỳ, việc tổ chức cho phép người dùng giới hạn dữ liệu chiết xuất, tối ưu từng đoạn mã lệnh trở nên cực kỳ cần thiết. Tại Việt Nam, hầu hết các trường đại học đều theo xu hướng phát triển và ứng dụng công nghệ thông tin trong quản lý đào tạo theo tín chỉ từ khá sớm. Các trường có thể mua hoặc tự xây dựng hệ thống phần mềm quản lý riêng cho mình với những module chức năng cơ bản đầu tiên đối với hệ đào tạo chính quy (trong đó cơ sở dữ liệu là một trong những module quan trọng nhất), cho đến hàng loạt các module quản lý cho các hệ đào tạo khác như: sau đại học, nghiên cứu sinh, tại chức, đào tạo quốc tế. Các module này liên tục được bổ sung và chỉnh sửa qua các học kỳ dẫn đến Cơ sở dữ liệu ban đầu ngày càng lớn và phức tạp hơn, cụ thể như: nhiều thực thể hơn, nhiều quan hệ hơn, nhiều dữ liệu hơn; nhiều chức năng hơn; nhiều hàm – store – view hơn; và đặc biệt rất nhiều bảng phụ - bảng trung gian để phục vụ lưu trữ và tính toán. Điều này dẫn đến vấn đề hệ thống bị chậm khi sinh viên đăng ký, quá tải khi nhập điểm, nhập học, thậm chí đôi khi gây ra sai xót về mặt dữ liệu. Rõ ràng vấn đề rà soát bảo trì liên tục và thường xuyên áp dụng các biện pháp tối ưu thiết kế, tối ưu truy vấn là vô cùng cần thiết để giúp hệ thống thông tin của các nhà trường cũng như doanh nghiệp hoạt động ổn định, hiệu quả. Từ tình hình thực tế và nhu cầu đó, chúng tôi chọn đề tài “Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ” để nghiên cứu với kỳ vọng nghiên cứu các kỹ thuật thực tiễn có thể ứng dụng nhanh chóng và bền vững giúp các cơ sở dữ liệu đào tạo tín chỉ cho các hệ đào tạo của Nhà trường ngày càng tối ưu và hiệu của hơn. 2. Tổng quan về đề tài nghiên cứu Tổng quan về đề tài nghiên cứu trong nước Ngày nay, hầu hết các lĩnh vực trong cuộc sống đều được ứng dụng quản lý số và đặc biệt là việc ứng dụng các phần mềm quản lý dữ liệu trên nền tảng các hệ quản trị cơ sở dữ liệu quan hệ. Trong xu hướng này, các trường Đại học nói chung và Đại học Thương mại nói riêng đều quan tâm và đầu tư cho hệ thống cơ sở dữ liệu đào tạo (chủ yếu là đào tạo tín chỉ). Các hệ thống này được thiết kế chặt chẽ theo quy chế đào tạo tín chỉ của Bộ giáo dục & Đào tạo quy định, kết hợp với tính chất riêng của mỗi Nhà ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 7 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 trường. Tuy nhiên, các quy định đào tạo trong Quy chế khi đưa vào thực tiễn sẽ cần có nhiều tùy biến cho phù hợp với đặc thù của các cơ sở đào tạo, chính điều này tạo ra sự thiếu thống nhất về mặt thiết kế, quy chuẩn và khai thác cơ sở dữ liệu đào tạo. Có rất nhiều công trình nghiên cứu mang tính lý thuyết và tính ứng dụng về các kỹ thuật tổ chức, tối ưu dữ liệu đã được thực hiện ở Việt Nam. Các nghiên cứu thường được phân chia theo hai hướng: Thứ nhất, các nghiên cứu theo hướng lý thuyết chung về việc tổ chức, thiết kế và tối ưu truy vấn dữ liệu trong các hệ quản trị cơ sở dữ liệu (đặc biệt là hệ quản trị cơ sở dữ liệu quan hệ). Các công trình nghiên cứu này thường khá đa dạng dưới dạng thức các sách chuyên khảo, tham khảo, giáo trình, bài giảng, cụ thể như: Theo (Nguyễn Thị Thu Thủy cùng cộng sự, 2015) hay (Hồ Thuần - Hồ Cẩm Hà, 2009; Nguyễn Kim Anh – 2008; Phương Lan - 2007) có những công trình dưới hình thức sách - giáo trình, các tài liệu này đều khái quá hóa ở mức lý thuyết chung nhất của các nguyên lý thiết kế, chuẩn hóa và khai thác dữ liệu cơ bản trong cơ sở dữ liệu quan hệ. Các tài liệu cũng có các ví dụ để người đọc (chủ yếu là đối tượng sinh viên) có thể nắm bắt được căn bản các quy trình, kỹ thuật trong phân tích thiết kế cơ sở dữ liệu, tuy nhiên chưa có một bài toán quản lý dữ liệu mang tính chất toàn diện hay các tình huống sự cố liên quan tới việc đánh giá hiệu năng và giải pháp xử lý trong thực tế. Có thể nói, các tài liệu này định hướng vào việc cung cấp kiến thức nền tảng nhiều hơn là việc nâng cao các kỹ thuật thiết kế, tổ chức và tối ưu khai thác dữ liệu. Theo (Nguyễn Văn Dũng, 2012) đã thực hiện luận văn “Tối ưu hóa truy vấn trên cơ sở dữ liệu phân tán” trong đó tác giả đã chỉ ra việc bùng nổ dữ liệu sẽ khiến các nhà quản trị phải quan tâm hơn đến hiệu năng khi khai thác dữ liệu. Qua đó, tác giả đã trình bày một số phương pháp và thuật toán trong việc tối ưu các câu lệnh truy vấn, những phương pháp này cũng chỉ dừng ở mức lý thuyết và chưa thực sự được kiểm nghiệm ở một cơ sở dữ liệu lớn có thật. Thứ hai, các nghiên cứu theo hướng thực nghiệm rõ ràng trên một hệ quản trị cơ sở dữ liệu cụ thể như SQL SERVER, ORACLE, MY SQL, DB2,…Các công trình này định hướng chủ yếu vào việc sử dụng độc lập hay kết hợp các kỹ thuật chuẩn hóa với phi chuẩn hóa; cũng như đưa ra các ví dụ cụ thể về việc tối ưu các lệnh truy vấn T SQL trong các bối cảnh khác nhau. Hầu hết các nghiên cứu, tài liệu theo hướng này đều xuất bản dưới các diễn đàn, hội thảo trực tuyến chuyên về cơ sở dữ liệu. Cụ thể một số tài liệu sau: Theo (Trung tâm tin học khoa học tự nhiên, 2018) đã chỉ ra các cách tối ưu cơ sở dữ liệu trong Hệ quản trị cơ sở dữ liệu SQL Server từ những trải nghiệm thực tế. Bài viết đã nêu cụ thể các kỹ thuật và ý nghĩa của chúng cùng ví dụ, tuy nhiên đơn thuần chỉ là các phương pháp xử lý sau thiết kế và tổ chức cơ sở dữ liệu. Theo (Lê Hoàng Chương, 2014) lại có một cách khác trong việc tiếp cận xử lý tối ưu câu lệnh truy vấn. Tác giả tập trung việc phân tích câu lệnh trên cơ sở toán học (đại số quan hệ) để tìm cách giản lược câu truy vấn. Phương pháp này khó, mất nhiều thời gian đối với các câu truy vấn phức tạp. Hơn nữa, có thể tận dụng rất nhiều công nghệ ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 8 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 tối ưu đặc thù khác của các hệ quản trị cơ sở dữ liệu thay vì phải cố gắng phân tích dưới góc độ toán học để tối ưu. Việc phân tích tối ưu được trên đại số quan hệ lại cũng phụ thuộc nhiều vào việc cơ sở dữ liệu phải được chuẩn hóa ở một cấp độ nhất định, rõ ràng điều này không phù hợp trong một bài toán lớn, khi mà các nhà thiết kế, quản trị cơ sở dữ liệu phải chấp nhận phi chuẩn hóa để đổi lấy tốc độ và sự đơn giản trong lập trình cũng như trong triển khai. Theo (Đặng Quốc Hữu, Hoàng Ngọc Cảnh - 2008-2010) đã thực hiện hàng loạt các đề tài nghiên cứu khoa học và dự án nghiên cứu triển khai liên quan tới việc “Xây dựng và nâng cấp các hệ thống phần mềm và cơ sở dữ liệu đào tạo tín chỉ”. Các công trình này đã tập trung vào vấn đề xây dựng thiết kế cơ sở dữ liệu đào tạo tín chỉ theo hướng thuận lợi để ứng dụng ngay, phù hợp với bổi cảnh Trường ĐH Thương mại, bước đầu số hóa các dữ liệu đào tạo. Vì vậy các kỹ thuật thiết kế còn quá nhiều bước thiếu chuẩn hóa, các câu lệnh khai thác ở mức chạy đủ chạy đúng dữ liệu mà chưa tập trung về tối ưu tốc độ, bộ nhớ. Hệ quả là trong bối cảnh dữ liệu đào tạo ngày càng lớn, các thiết kế và truy vấn dữ liệu nói trên sẽ bộc lộ nhiều điểm yếu. Tổng quan về đề tài nghiên cứu ngoài nước Tối ưu hóa việc tổ chức và khai thác dữ liệu trong các cơ sở dữ liệu không phải là chủ đề mới, tuy nhiên các tổ chức, tập đoàn công nghệ và các quản trị viên trên khắp thế giới vẫn luôn không ngừng tìm hiểu những phương pháp, kỹ thuật ngày càng tốt hơn để phù hợp với vô số các bài toán quản lý thực tiễn. Chỉ với một vài từ khóa Optimize Data, Improve Query hay Database Normalization trên mạng Internet, chúng ta sẽ nhận được hàng ngàn kết quả liên quan tới việc tổ chức và tối ưu hóa dữ liệu, qua đó thấy được đây thực sự là một nhánh nghiên cứu quan trọng trong lĩnh vực quản trị dữ liệu số. Theo Craig S. Mullins một chuyên gia về quản trị dữ liệu, hiệu năng của một cơ sở dữ liệu phụ thuộc vào hàng loạt yếu tố như cấu trúc của cơ sở dữ liệu, các tham số vật lý - logic liên quan tới các đối tượng mà dữ liệu mô phỏng. Tuy nhiên nghiên cứu của tác giả đăng trên searchoracle.techtarget.com mới chỉ tập trung vào các vấn đề Partionning và Indexing mà chưa quan tâm đến việc tổ chức, phân tích và chuẩn hóa các thực thể dữ liệu cũng như các phương pháp tối ưu trong viết lệnh truy vấn. Theo Martin Goodwell một thành viên của Dynatrace Innovation Lab, đã chỉ ra năm bước tổng quát để tối ưu hóa một cơ sở dữ liệu bất kỳ, bao gồm: kiểm tra máy chủ chứa cơ sở dữ liệu, đối tượng sử dụng dữ liệu, vấn đề cân tải và đáp ứng của các dịch vụ sử dụng dữ liệu, số lượng kết nối đồng lúc tới cơ sở dữ liệu và cuối cùng là hạ tầng mạng cho cơ sở dữ liệu. Với cách tiếp cận này, tác giả như đặt mặc định một cơ sở dữ liệu có sẵn và chỉ quan tâm tới môi trường lý tưởng để triển khai cơ sở dữ liệu này mà chưa có những hướng dẫn tới việc cải thiện hiệu năng nội tại trong cơ sở dữ liệu. Theo Rodrigo Koch một nhà phát triển phần mềm ứng dụng – làm việc tại Samsung Latin America, đã có những nghiên cứu cụ thể về SQL Database Performance Tuning. Trong đó chỉ ra nhiều phương pháp tối ưu cụ thể với những góc ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 9 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 nhìn của lập trình viên và của người quản trị Database. Những nội dung này chủ tập trung vào tối ưu câu lệnh T-SQL, chưa quan tâm tới phân tích thiết kế cơ sở dữ liệu. Trong thực tế, vấn đề tổ chức và tối ưu hóa khai thác dữ liệu có thể giải quyết theo nhiều phương pháp khác nhau. Trong đó, có hai hướng tiếp cận chính: hướng tiếp cận tối ưu tổ chức thiết kế các thực thể và hướng tiếp cận áp dụng các công nghệ đặc thù của hệ quản trị dữ liệu – áp dụng các kỹ thuật tối ưu lệnh truy vấn – nâng cao hạ tầng triển khai cơ sở dữ liệu. Hướng tiếp cận tối ưu tổ chức thiết kế các thực thể: bao gồm các phương pháp: thiết kế lược đồ dữ liệu (Database schema - ERD); chuẩn hóa dữ liệu (Normalization) và phi chuẩn hóa dữ liệu (Denormalization). Các phương pháp trên đều là những lý thuyết kinh điển trong thiết kế cơ sở dữ liệu mà rất nhiều cuốn sách đã trình bày, ví dụ như: Pro SQL Server 2012 Relational Database Design and Implementation - Louis Davidson, Jessica M.Moss; Fundamentals of Database Systems - Ramez Elmasri, Shamkant B. Navathe;… Hướng tiếp cận áp dụng các công nghệ đặc thù của hệ quản trị dữ liệu – áp dụng các kỹ thuật tối ưu lệnh truy vấn – nâng cao hạ tầng triển khai cơ sở dữ liệu: Các kỹ thuật tạo chỉ mục tìm kiếm (Indexing); Kế hoạch thực thi lệnh (Execution Plans); Chống lặp lệnh truy vấn, truy vấn lồng (Avoid Correlated SQL Subqueries); Sử dụng biến tạm, bảng tạm (Temporary Tables, Variables), Phân mảnh bản ghi (Partionning),…. Các nội dung theo hướng này dễ ứng dụng và có tính thực tiễn cao, phù hợp cho các lập trình viên và nhà quản trị dữ liệu. Tài liệu theo hướng tiếp cận này phong phú, dễ tìm kiếm, cụ thể có thể tham khảo trên hàng loạt các website chia sẻ công nghệ uy tín trên thế giới như: CodeProject.net, Toptal.com; Searchoracle.techtarget.com; Jaxenter.com,… 3. Mục tiêu nghiên cứu Đề tài nghiên cứu tổng quan về các kỹ thuật tổ chức, tối ưu truy vấn dữ liệu trong quản trị cơ sở dữ liệu quan hệ. Tập trung chi tiết vào phân tích cấu trúc hiện tại của cơ sở dữ liệu đào tạo tín chỉ Đại học Thương mại, áp dụng các phương pháp tối ưu hóa các bó lệnh khai thác dữ liệu của Database này, cụ thể: Tổng quan về phương pháp thiết kế, chuẩn hóa và tối ưu hóa câu lệnh T-SQL trong cơ sở dữ liệu quan hệ. Tổ chức lại các thực thể và áp dụng tối ưu hóa một số nhóm store lấy dữ liệu quan trọng. 4. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu: Một số phương pháp thiết kế và tổ chức cơ sở dữ liệu như: Thiết kế logic, Thiết kế vật lý Một số kỹ thuật tối ưu dữ liệu: Indexing, Execute Plan, Partioning, Sub Query,… ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 10 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 Phạm vi nghiên cứu: Đề tài tập trung nghiên cứu vấn đề tổ chức dữ liệu, tối ưu hóa câu lệnh T-SQL trên cơ sở dữ liệu quan hệ (RDBMS). Thực nghiệm một số phương pháp tổ chức và tối ưu khai thác dữ liệ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. 5. Phương pháp nghiên cứu Cách tiếp cận Đánh giá từ việc bùng nổ dữ liệ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 và những hệ quả của nó trong những học kỳ gần đây để phát hiện ra nguyên nhân trong vấn đề tổ chức và lệnh khai thác dữ liệu. Phương pháp nghiên cứu Đề tài đã sử dụng phương pháp thu thập dữ liệu thứ cấp: các tài liệu (về thiết kế, tổ chức cơ sở dữ liệu, các kỹ thuật tối ưu hóa) nhằm đưa ra một số kiến thức tổng quan về tổ chức và tối ưu hóa trong khai thác dữ liệu trên cơ sở dữ liệu quan hệ. Phương pháp xử lý dữ liệu: sử dụng phương pháp thống kê, so sánh nhằm nêu ra được những sự khác biệt giữa hiệu năng của các bó lệnh trước và sau khi cải tiến. Nguồn dữ liệu sử dụng trong nghiên cứu là bản sao dữ liệu của cơ sở dữ liệu tín chỉ Trường ĐH Thương mại. 6. Kết cấu báo cáo nghiên cứu Về nội dung và bố cục, ngoài các phần như: mục lục, danh mục hình vẽ, danh mục từ viết tắt và tài liệu tham khảo, phụ lục, báo cáo được trình bày gồm 3 chương: 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. ThS. 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.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. ThS. 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. 1.1.1. 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ố. 1.1.2. 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ố. 1.1.3. 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. ThS. 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.2. 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: 1.2.1. Mức trong Hình 2: Kiến trúc 3 mức của CSDL 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. 1.2.2. 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ữ. ThS. 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.2.3. 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. Mức này gồm một số khung nhìn khác nhau của những NSD đặt vào CSDL. Khung nhìn dành cho NSD đó chỉ gồm những thực thể cùng những thuộc tính, những mối quan hệ của những thực thể mà họ quan tâm. Tóm lại, mức khung nhìn là cách cảm nhận của người dùng về dữ liệu, mức vật lý là cách cảm nhận của hệ quản trị CSDL và hệ điều hành về dữ liệu. Mức logic nằm giữa mức khung nhìn và mức vật lý, đây là cách cảm nhận của toàn thể cộng đồng người dùng về dữ liệu. 1.3. Lược đồ và thể hiện của CSDL 1.3.1. Lược đồ CSDL Toàn bộ mô tả CSDL được gọi là lược đồ CSDL. Hay nói một cách khác, lược đồ CSDL là các mô tả về cấu trúc và các ràng buộc trên CSDL. Ví dụ lược đồ CSDL quản lý quá trình học tập của sinh viên gồm 5 quan hệ cùng với các mối ràng buộc trên các quan hệ: Hình 3: Ví dụ về CSDL quản lý quá trình học tập của sinh viên Như vậy, ứng với kiến trúc 3 mức của một hệ CSDL ta cũng có 3 loại lược đồ:  Lược đồ ngoài (lược đồ con): cho những cách nhìn dữ liệu khác nhau của NSD khác nhau.  Lược đồ logic.  Lược đồ vật lý. Dưới đây là một ví dụ minh họa về các lược đồ trong một phần của CSDL quản lý học tập của sinh viên: ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 17 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 Hình 4: Ví dụ về các lược đồ 1.3.2. Thể hiện của CSDL Thể hiện của CSDL là dữ liệu hiện thời được lưu trữ trong CSDL ở một thời điểm nhất định nào đó và nó phản ánh tình trạng của CSDL tại thời điểm đó. Ví dụ, tại một thời điểm nhất định, ta có thể hiện của lược đồ CSDL quản lý quá trình học tập của sinh viên đã nêu ở trên: Hình 5: Ví dụ về thể hiện của CSDL 1.4. Mô hình dữ liệu Quá trình thiết kế một CSDL bắt đầu với một sự phân tích những thông tin nào của thế giới thực CSDL phải lưu trữ và các mối quan hệ giữa các thành phần của những thông tin này. Thông thường, cấu trúc của CSDL được đặc tả bởi một ngôn ngữ đặc biệt hay một tập các ký hiệu thích hợp để biểu thị một thiết kế CSDL. 1.4.1. Khái niệm về mô hình dữ liệu Một lược đồ được viết trong ngôn ngữ định nghĩa dữ liệu của một hệ QT CSDL cụ thể. Để mô tả các yêu cầu dữ liệu của một tổ chức sao cho mô tả đó dễ hiểu đối với ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 18 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 nhiều NSD khác nhau thì ngôn ngữ này lại ở mức quá thấp nên cần có một mô hình dữ liệu. Mô hình dữ liệu là một tập các khái niệm và các ký pháp dùng để mô tả dữ liệu, các mối quan hệ của dữ liệu, các ràng buộc trên dữ liệu của một tổ chức. Các thành phần của mô hình dữ liệu: - Phần mô tả cấu trúc của CSDL. - Phần mô tả các thao tác, định nghĩa các phép toán được phép trên dữ liệu. - Phần mô tả các ràng buộc toàn vẹn để đảm bảo sự chính xác của dữ liệu. Khi dùng mô hình dữ liệu chúng ta có thể biểu diễn dữ liệu theo một cách dễ hiểu. Vì vậy mô hình dữ liệu (mô hình) cũng được sử dụng trong việc thiết kế CSDL. 1.4.2. Phân loại mô hình dữ liệu Đã có nhiều mô hình dữ liệu được đề xuất và có thể chia thành 3 nhóm: các mô hình logic trên cơ sở đối tượng, các mô hình logic trên cơ sở bản ghi, các mô hình vật lý. Các mô hình logic tập trung vào bản chất logic của biểu diễn dữ liệu, tập trung vào cái được biểu diễn trong CSDL, còn được gọi là các mô hình dữ liệu bậc cao. Các mô hình vật lý tập trung vào những chi tiết cho biết dữ liệu được lưu trữ như thế nào, còn được gọi là các mô hình dữ liệu bậc thấp. - Các mô hình logic trên cơ sở đối tượng: Các mô hình thuộc nhóm này được dùng trong việc mô tả dữ liệu ở các mức logic và khung nhìn. Đặc trưng của các nhóm mô hình này là cung cấp các khả năng cấu trúc mềm dẻo và cho phép các ràng buộc được đặc tả một cách tường minh. Một số loại mô hình phổ biến trong nhóm này là:  Mô hình thực thể liên kết.  Mô hình hướng đối tượng.  Mô hình dữ liệu ngữ nghĩa.  Mô hình dữ liệu chức năng. - Các mô hình logic trên cơ sở bản ghi: Nhóm mô hình này được dùng trong việc mô tả dữ liệu ở các mức logic và khung nhìn. Đặc trưng của nhóm này là đặc tả cấu trúc logic tổng thể của CSDL, đồng thời cung cấp một mô tả ở mức cao hơn của sự cài đặt. Mặt khác, CSDL thuộc nhóm này được cấu trúc thành các bản ghi có khuôn dạng cố định và có thể thuộc nhiều kiểu. Mỗi kiểu bản ghi xác định một số cố định các trường (hay thuộc tính), mỗi trường có độ dài cố định. ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 19 Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường 2019 Một số loại hô hình phổ biến trong nhóm này là:  Mô hình quan hệ.  Mô hình mạng.  Mô hình phân cấp. - Các mô hình vật lý: Nhóm mô hình này mô tả dữ liệu ở mức thấp nhất, nghĩa là mô tả dữ liệu được lưu trữ như thế nào trong máy tính, mô tả các cấu trúc bản ghi, thứ tự các bản ghi và con đường truy cập. Không như các mô hình logic, chỉ có ít mô hình dữ liệu vật lý. Hai mô hình vật lý quen dùng là:  Mô hình hợp nhất.  Mô hình bộ nhớ khung. 1.5. Một số các dạng chuẩn CSDL Dạng chuẩn của một lược đồ quan hệ là tập các tiêu chuẩn để đánh giá độ tốt và xấu lược đồ quan hệ đó. Do việc cập nhật dữ liệu thông qua các thao tác thêm, sửa, xóa gây nên những dị thường mà nguyên nhân chính là do sự lặp lại một số dữ liệu trong quan hệ nên các quan hệ cần thiết kế phải được phân tách thành các quan hệ nhỏ hơn hay biến đổi về các dạng chuẩn thích hợp. Quá trình đó được gọi là quá trình chuẩn hóa. Trong lý thuyết, ban đầu Codd đưa ra ba dạng chuẩn đối với quan hệ: - Dạng chuẩn 1 (kí hiệu là 1NF - First normal form) - Dạng chuẩn 2 (kí hiệu là 2NF – Second normal form) - Dạng chuẩn 3 (kí hiệu là 3NF – Third normal form) Sau đó đưa ra dạng chuẩn tiếp theo là Boye – Codd (BCNF – Boye Codd normal form) 1.5.1. Dạng chuẩn 1 Định nghĩa: Một quan hệ được gọi là ở dạng chuẩn 1 nếu và chỉ nếu tất cả các miền giá trị của các thuộc tính trong R đều chỉ chứa các giá trị nguyên tố. Giá trị nguyên tố là giá trị mà không thể chia nhỏ ra được nữa Ví dụ: Cho quan hệ nhà cung cấp SUPPLIERS có các thuộc tính: mã nhà cung cấp, tên nhà cung cấp, địa chỉ nhà cung cấp và sản phẩm cung cấp tương ứng với tên sản phẩm và giá sản phẩm cung cấp. Như vậy quan hệ đã cho là: SUPPLIERS0(S#, SNAME, ADD, PRODUCT), được mô tả chi tiết như hình dưới: ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin 20
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất