Bài giảng Cơ sở dữ liệu nâng cao - Nguyễn Trung Đức
MỤC LỤC
Chương 1. Hệ quản trị cơ sở dữ liệu . . . 7
1.1. Quan niệm về CSDL . . . 7
1.2. Các khả năng của một hệ quản trị cơ sở dữ liệu. . . 7
Chương 2. Cơ sở dữ liệu hướng đối tượng . . . 9
2.1. Nhu cầu về hệ thống cơ sở dữ liệu hướng đối tượng . . 9
2.1.1. Các đối tượng phức tạp . . . 9
2.1.2. Quản lý các tri thức . . . 9
2.1.3. Quản trị các dữ liệu phân tán . . . 10
2.1.4. Nhu cầu về hệ thống cơ sở dữ liệu hướng đối tượng. . 10
2.2. Khái niệm về hướng đối tượng. . . 11
2.2.1. Đối tượng. . . . 12
2.2.2. Lớp đối tượng . . . 12
2.2.3. Cá thể. . . . 13
2.2.4. Kế thừa . . . . 13
2.3. Cơ sở dữ liệu hướng đối tượng. . . 13
2.4. Thiết kế cơ sở dữ liệu hướng đối tượng. . 14
2.4.1. Phân lớp . . . . 14
2.4.2. Tổng quát hóa và đặc biệt hóa . . . 14
2.4.3. Gộp . . . . 15
2.5. Xây dựng cơ sở dữ liệu hướng đối tượng . . 15
Chương 3. Cơ sở dữ liệu phân tán. . . 17
3.1. Các phương pháp phân tán dữ liệu . . . 17
3.1.1. Khái niệm về phân tán dữ liệu . . . 17
3.1.1.1. Các lý do phân mảnh . . . 17
3.1.1.2. Các kiểu phân mảnh . . . 17
3.1.1.3. Mức độ phân mảnh . . . 19
3.1.1.4. Quy tắc phân mảnh đúng đắn . . 19
3.1.1.5. Các kiểu cấp phát . . . 19
3.1.1.6. Các yêu cầu thông tin . . . 19
3.1.2. Phân mảnh ngang . . . 20
3.1.2.1. Yêu cầu thông tin của phân mảnh ngang. . . 20
3.1.2.2. Phân mảnh ngang nguyên thủy. . . 21
3.1.2.3. Phân mảnh ngang dẫn xuất . . 23
3.1.3. Phân mảnh dọc. . . . 24
3.1.4. Cấp phát. . . . . 24
3.2. Kiểm soát dữ liệu ngữ nghĩa . . . 26
3.2.1. Quản lý khung nhìn . . . 26
3.2.1.1.Khung nhìn trong quản lý tập trung . . 26
3.2.1.2. Cập nhật qua các khung nhìn . . 26
3.2.1.3. Khung nhìn trong cơ sở dữ liệu phân tán . . 27
3.2.2. An toàn dữ liệu . . . 27
3.2.2.1. Kiểm soát cấp quyền tập trung . . 27
3.2.2.2. Kiểm soát cấp quyền phân tán . . 28
3.3. Quản lý giao dịch và điểu khiền đồng thời phân tán . . 28
3.3.1. Các khái niệm cơ bản về giao dịch . . 28
3.3.1.1. Tính nguyên tử . . . 29
3.3.1.2. Mục dữ liệu . . . 29
3.3.1.3. Khóa . . . . 30
3.3.1.4. Kiểm soát hoạt động đồng thời bằng khóa . . 30
3.3.1.5. Khóa sống (livelock) . . . 31
3.3.1.6. Khóa “cứng” (deadlock) . . . 31
3.3.1.7. Tính khả tuần tự của lịch biểu. . . 32
3.3.1.8. Bộ xếp lịch . . . 33
3.3.1.9. Nghi thức . . . 33
3.3.2. Mô hình giao dịch đơn giản. . . 33
3.3.2.1. Ý nghĩa của giao dịch –hàm đặc trưng. . 33
3.3.2.2. Kiểm tra tính khả tuần tự bằng đồ thị có h ướng. . 35
3.3.3. Nghi thức khóa 2 pha . . . 35
3.3.4. Mô hình khóa đọc và khóa ghi . . . 36
3.3.4.1. Ý nghĩa của giao dịch với khóa đọc và khóa ghi . 36
3.3.4.2. Đồ thị tuần tự hóa trong các giao dịch Rlock v à Wlock . 36
Chương 4. Hệ trợ giúp ra quyết định . . . 38
4.1. Giới thiệu về hệ trợ giúp ra quyết định . . 38
4.2. Thiết kế cơ sở dữ liệu cho hệ trợ giúp ra quyết định . . 39
4.2.1. Thiết kế logic. . . . 39
4.2.2. Thiết kế vật lý . . . 40
4.3. Kho dữ liệu và kho dữ liệu chuyên đề . . 40
4.3.1. Kho dữ liệu . . . 41
4.3.2. Kho dữ liệu chuyên đề. . . . 41
4.3.3. Các lược đồ về chiều. . . . 42
4.4. Xử lý phân tích trực tuyến. . . 43
4.4.1. Giới thiệu. . . . 43
4.4.2. Bảng chéo . . . 43
4.4.3. Cơ sở dữ liệu nhiều chiều . . . 44
4.5. Khai phá dữ liệu. . . 44
hỏi dữ liệu và kích thước của kho dữ liệu thường có xu hướng lớn. Đ/N. Tính hạn chế phạm vi. Tính hạn chế phạm vi khi xét nhiều yếu tố cho phép xét một yếu tố mà không quan tâm đến các yếu tố khác, tức là giả thiết các yếu tố khác là không thay đổi. Người ta thấy rằng có một số vấn đề dẫn đến việc khảo sát và dùng khả năng hạn chế phạm vi trong hệ trợ giúp ra quyết định - Các sai sót về thiết kế CSDL; - Sự không hiệu quả của các phép toán quan hệ; - Khả năng không đủ mạnh của các hệ quản trị CSDL theo mô hình quan hệ; - Các lỗi về thiết kế kiến trúc làm hạn chế khả năng của hệ thống. 4.3.2. Kho dữ liệu chuyên đề. Các kho dữ liệu nhằm cung cấp nguồn đơn chất của các dữ liệu dùng cho các hoạt động trợ giúp ra quyết đinh. Tuy nhiên, khi các kho dữ liệu trở nên thông dụng, người ta thấy người sử dụng thường thực hiện các thao tác phân tích dữ liệu và ra báo cáo trên một phần nhỏ của kho dữ liệu. Hơn nữa người sử dụng hay lặp lại cùng một thao tác trên các phần nhỏ của kho dữ liệu. Việc thực hiện nhiều lần một thao tác trên toàn bộ kho dữ liệu là không hiệu quả, cho nên người ta cần đến loại kho dữ liệu chuyên dụng, được người sử dụng xây dựng theo yêu cầu xử lý riêng. Có như vậy thì việc truy cập các dữ liệu đồng bộ với kho dữ liệu mới nhanh. Đ/N. Kho dữ liệu chuyên đề (data mart). Kho dữ liệu chuyên đề có vai trò như kho dữ liệu, nhưng các dữ liệu trong đó cho phép cập nhật và dùng cho trợ giúp quyết định với mục đích đặc biệt hơn. Kho dữ liệu chuyên đề là kho dữ liệu hạn chế, gồm các dữ liệu được tuyển chọn và tổng hợp từ kho dữ liệu của xí nghiệp. Để tạo ra được một kho dữ liệu chuyên đề, người ta thường theo ba cách tiếp cận sau: 1. Trích dữ liệu từ kho dữ liệu. Các dữ liệu được trích từ kho dữ liệu để đạt được hiện suất phục vụ cao và có tính hạn chế phạm vi. Thông thường các dữ liệu trích ra này được tải vào CSDL có 42 lược đồ vật lý gần giống với phần ứng dụng của kho dữ liệu. Do tính đặc biệt hơn của kho dữ liệu chuyên đề so với kho dữ liệu, lược đồ vật lý của dữ liệu có thể đơn giản hơn. 2. Tạo ra kho dữ liệu chuyên đề riêng biệt. Tiếp cận này xuất phát từ tính đơn thể của kho dữ liệu, không trích dữ liệu từ kho dữ liệu và không truy cập kho dữ liệu do một vài nguyên nhân. 3. Coi kho dữ liệu chuyên đề là nền tảng của kho dữ liệu. Một vài phát triển hệ thống trợ giúp ra quyết định đã xây dựng các kho dữ liệu chuyên đề trước tiên, mỗi khi cần thiết. Kho dữ liệu sẽ được tao ra bằng cách tập hợp các kho dữ liệu chuyên đề. Đ/N. Tính chia hạt. Tính chia hạt trong cơ ở dữ liệu đề cập khả năng lưu trữ được phần tử nhỏ nhất cảu dữ liệu gộp trong CSDL. Liên quan đến việc thiết kế kho dữ liệu chuyên đề, người ta nhận thấy một yếu tố quan trọng đối với bất kì CSDL trợ giúp ra quyết định nào là tính chia nhỏ thành hạt của CSDL. Sớm hay muôn thì các kho dữ liệu dùng để ra quyết định đều yêu cầu truy cập dữ liệu chi tiết nhất, nên yêu cầu chi thành hạt đối với kho dữ liệu không gây ra vấn đề lớn như đối với kho dữ liệu chuyên đề. Nếu kho dữ liệu chuyên đề được xây dựng bằng cách trích các dữ liệu từ kho dữ liệu mà không biết các ứng dụng có nhu cầu thường xuyên về các dữ liệu ở mức hạt hay không, thì việc trích dữ liệu và cập nhật các dữ liệu ở mức hạt sẽ tốn kém nhiều. 4.3.3. Các lược đồ về chiều. Các hệ thống trợ giúp ra quyết định thường cần đến kết quả phân tích về lịch sử của các giao dịch tác nghiệp. Thông tin này được lưu trong các tệp và được truy cập tuần tự. Do nhu cầu, đến một lúc nào đó người ta cần trực tiếp truy cập các thông tin này chỉ theo một số góc cạnh cần quan tâm. Chẳng hạn đối với thông tin về sản lượng rượu vang, người ta cần biết về sản lượng, về người sản xuất,về tuổi của rượu… Để trợ giúp nhu cầu truy cập này, người ta dùng CSDL có nhiều bảng tra cứu. Cơ sỏ dữ liệu như vậy có tệp dữ liệu trung tâm chứa cá dữ liệu về các hoạt động tác và nhiều bảng tra cứu về sản lượng, người sản xuất, tuổi của rượu. Các bảng này tựa như bảng chỉ số vì chúng có con trỏ trỏ đến các bản ghi trong tệp dữ liệu, nhưng khác với bảng chỉ số ở chỗ người dùng co thể tác động đến các bảng tra cứu theo cách tường minh và bảng tra cứu có thể mang các thông tin phụ, chẳng hạn như địa chỉ của nhà sản xuất. Các tổ chức nhiều bảng tra cứu có ưu điểm hơn so với việc dùng một tệp tra cứu, cả về không gian nhớ lẫn thời gian vào/ra. Khi dùng tiếp cận này trong cơ sỏ dữ liệu quan hệ, tệp dữ liệu và các tệp tra cứu trở thành các bảng, tức là ảnh của các tệp; các con trỏ trong tệp tra cứu trở thành khoá chính của bảng tra cưu; những tên trong tệp dữ liệu trở thành cá khoá ngoài trong bảnh ảnh của tệp dữ liệu. Trường hợp điển hình là các khoá chính và khoá ngoài đều được chỉ số hoá. Theo phương thức này, ảnh của tệp dữ liệu được gọi là bảng sự kiện và các ảnh của tệp tra cứu được gọi là các bảng về chiều. Thiết kế tổng thể phù hợp được gọi là lược đồ hình sao, hay lược đồ về chiều, vì trong thiết kế thực thể quan hệ người ta nới rộng các bảng sự kiện, để nối với cá bảng về chiều. Ví dụ CSDL RUOU(TenRuou, NhaSX, NamSX, SoLuong) trong đó thuộc tính NamSX được mô tả bằng khoảng từ năm t1 đến năm t2. Theo thuật ngữ lược đồ hình sao thì bảng RUOU được gọi là bảng sự kiện còn bảng SanXuat(Nam, NamBD, NamKT) được gọi là bảng về chiều. Ruou TenRuou NhaSX NamSX SoLuong SanXuat Nam NamBD NamKT Lúa mới Hà Nội 1980 200 1980 1980 1985 Thăng Long Hà Nội 1990 300 1990 1986 1992 Đ/N. Lược đồ hình sao. Lược đồ hình sao là thiết kế CSDL đơn giản, trong đó các dữ liệu về chiều được tách khỏi các dữ liệu về sự kiện. Mô hình về chiều là tên gọi khác của lược đồ hình sao. 43 Câu hỏi trên CSDL theo lược đồ hình sao cần đến các bảng về chiều để phát hiện tất cả những tổ hợp khoá ngoài cần thiết, rồi dùng tổ hợp này để truy cập bảng sự kiện. Giả sử việc truy cập các bảng về chiều và truy cập bảng sự kiện được thể hiện gọn trong một câu hỏi đơn, thì cách tốt nhất để thực hiện câu hỏi này thước theo kết nối hình sao. Kết nối hình sao là chiến thuật đặc biệt để thực hiện phép kết nối được thực hiện theo hai bước. 1. Tiến hành phép tích đề các đối với các bảng về chiều. Lưu ý rằng khi tối ưu hoá câu hỏi, người ta thường tránh sử dụng phép tích đề các. Trong trường hợp này, các bảng kích thước nhỏ tham giá trước vào phép tích đề các. 2. Dùng kết quả của tích đề các để quản lý bảng sự kiện theo kĩ thuật chỉ số hoá. Kĩ thuật chỉ số hoá cho phép chiến thuật này hiệu quả hơn. Một biến dạng của lược đồ hình sao là lược đồ hoa tuyết, thực hiện việc chuẩn hoá các bảng chiều. Đ/N. Lược đồ hoa tuyết. Lược đồ hoa tuyết là biến dạng của lược đồ hình sao, trong đó các bảng được chuẩn hoá. 4.4. Xử lý phân tích trực tuyến 4.4.1. Giới thiệu. Thuật ngữ xử lý phân tích trực luyến OLAP nhằm vào quá trình tương tác với hệ thống, bao gồm các thao tác tạo mới, quản lý, phân tích và lập các báo cáo về dữ liệu, thông qua các câu lệnh yêu cầu tìm kiếm, và xử lý dữ liệu trong bảng dữ liệu nhiều chiều. Đ/N. Xử lý phân tích trực tuyến. Xử lý phân tích trực tuyến là mở rộng của lĩnh vực CSDL quan hệ để trợ giúp các mô hình kinh doanh. Quá trình OLAP dùng các qui luật để truy cập nhanh và tiện lợi đến các dữ liệu cho các hệ thống quản lý thông tin hay trợ giúp ra quyết định. OLAP là việc sử dụng tập các công cụ đồ hoạ để người dụng thấy được nhiều chiều của dữ liệu, cho phép phân tích các dữ liệu. Quá trình phân tích yêu cầu gộp dữ liệu, theo nhiều cách, tuỳ theo cách thức nhóm dữ liệu khác nhau. Một trong những khía cạnh cơ bản của xử lý phân tích trực tuyến là số khả năng nhóm dữ liệu nhiều lên rất nhanh, và người dùng cần xem xét tất cả các khả năng đó. 4.4.2. Bảng chéo Các kết quả của quá trình phân tích trực tuyến đưa ra thường không theo dạng bảng quan hệ, mà theo bảng hai chiều, được gọi là bảng chéo. Xét câu hỏi “Tìm tổng số rượu do những công ty rượu cung cấp trên bảng dưới đây: Ruou Ten CongTy Nam SoLuong Lúa mới Hà Nội 1980 200 Vang Hà Nội 1995 350 Vang Huda Huế 1990 450 Lúa mới Hà Bắc 1990 320 Người ta xây dựng một bảng mới gọi là bảng chéo để thể hiện câu trả lời. Bảng chéo khác với bảng quan hệ ở chỗ, số các cột phụ thuộc vào dữ liệu thực, tức là cấu trúc của bảng lẫn ý nghĩa của các dòng đều phụ thuộc vào giá trị thực của dữ liệu. Do vậy bảng chéo không phải là quan hệ, mà chỉ là một báo cáo có hình thức như ma trận hai chiều. Ví dụ: Lúa mới Vang Tổng Hà Nội 200 350 550 Huda Huế 0 450 450 44 Hà Bắc 320 0 320 Tổng 520 800 1320 4.4.3. CSDL nhiều chiều Quá trình xử lý phân tích trực tuyến có thể được đặt trong môi trường quan hệ, và quá trình này còn được gọi là OLAP quan hệ viết tắt là ROLAP. Trong thực tế nhiều người nhận thấy có cách tiếp cận tốt hơn, là OLAP nhiều chiều viết tắt là MOLAP. MOLAP cần đến CSDL nhiều chiều. Việc lưu trữ này được gọi là lưu trữ theo quan niệm. Để hình dung thấy nhiều chiều, nhưng trong các hệ thống thực tế thì tổ chức vật lý của MOLAP rất gần với tổ chức logic. Hệ quản trị CSDL trong trường hợp này được gọi là hệ quản trị CSDL nhiều chiều. Các CSDL có thể được thể hiện trong bảng hai, ba chiều. 4.5. Khai phá dữ liệu Khai phá dữ liệu, mục đích của nó là nhìn vào phân đáng quan tâm của dữ liệu, những phần được dùng để thiết lập chiến lược kinh doanh hay để xác định hành vi khác thường. Đ/N. Khai phá dữ liệu. Khai phá dữ liệu là quá trình trích ra những thông tin dùng được, đúng và chưa biết trước từ CSDL lơn, rồi dùng thông tin này để ra các quyết định. Các công cụ khai phá dữ liệu dùng các kĩ thuật thống kê đối với khối lượng dữ liệu lớn để tìm ra những phần dữ liệu cần thiết. Các CSDL trong khai phá dữ liệu thường rất lớn, do vậy có xu hướng đơn giản hoá các thuật toán. Một số thuật ngữ dùng trong khai phá dữ liệu như “dân số” để chỉ các thao tác có thể thực hiện trong một bảng dữ liệu, “luật liên kết” để chỉ sự phụ thuộc giữa các dữ liệu khi xét các giao tác… Luật liên kết được phát hiện do áp dụng các phép toán gộp phù hợp. Một số qui luật khác được xác định như luật “tương quan tuần tự”, luật “phân loại”.
File đính kèm:
- Bài giảng Cơ sở dữ liệu nâng cao - Nguyễn Trung Đức.pdf