Bài tận nhập môn HE Co SO DU LIEU | NGUYEN THE DUNG Bai tap nhập môn HE co SO DU LIEU (Tái bản) NHÀ XUẤT BẢN XÂY DỰNG HÀ NỘI - 2015 LOI NOI DAU Cuốn sách Bài tập Nhập môn Hệ Cơ sở dữ liệu này là kết quả của việc biên dịch từ hai cuốn sách bài tập sau: 1. Database management systems solutions manual (third edition) - R. Database system concepts (Fifth Edition), A. Sudarshan, 2011, http:/Awww.com/topic/books/db-book Trong đó chúng tôi có biên tập, tổng hợp và biên soạn lại, bồ sung thêm cho phù hợp với Giáo trình Nhập môn Cơ sở đữ liệu được thực hiện theo khung chương trình đào tạo của ngành Cử nhân Sư phạm Tin học.
Việc biên dịch nhằm một phần học hỏi các kiến thức mới mẻ của các tác giả nói trên cũng như tìm hiểu khung chương trình, mục đích, yêu cẩu của môn học này ở các chương trình đào tạo của một số trường Đại. học nồi tiếng ở Mỹ và An Bên cạnh đó chúng tôi cũng đưa thêm khá nhiều bài tập do chúng tôi sưu lầm, biên soạn trong quá trình giảng dạy, một số đã được đưa ra trong phân ví dụ mình họa hay trong phân câu hỏi và bài tập sau các chương trong giáo trình môn học (xem [1]). Mục đích của cuốn sách này là nhằm bồ trợ thêm kiến thức, cũng như điều kiện để sinh viên rèn luyện thêm trong việc học tập môn học Hệ cơ sở dữ liệu. Cuốn sách cũng góp một phan lam tài liệu tham khảo cho các bạn đọc chuyên ngành Công nghệ thông tin.
Chứng ta cũng đã biết cơ sở dữ liệu là phân không thể thiếu trong các hệ thông tin học hoá, vì vậy trong những năm gân đây, trong các kp thi 3 tốt nghiệp đại học, thi chuyển đổi, thi tuyển cao học và nghiên cứu sinh đều có mảng về cơ sở dữ liệu. Các bài tập trong sách được sắp xếp từ dễ đến khó, theo sát chương trình của môn học và giáo trình môn học, hdu hết các bài tập có hướng dẫn giải khá cụ thể. Tuy? vậy cũng chân thành mong các bạn đọc hãy kiên nhẫn tự tìm tòi sắng tạo trong cách giả bài tập, trước khi tham khảo hướng dẫn giải, nhằm nâng cao hơn nữa kiến thức cũng như óe sắng tạo của mình. Trong quá trình sử dụng sách, cũng như giải bài tập nếu thấp có những điều sai sót hay các cách giải mới mẻ, sáng tạo hơn, rất mong các bạn đọc góp ý cho chúng tôi, để những lân tái bản sau cũng như quá trình giảng dạy môn học này được tốt hơn.
Chúng tôi xin gửi lời chân thành cảm ơn đến các bạn sinh viên đã góp phân sưu tầm các bài tập môn học trong giai đoạn rất thiếu thốn sách vở, tư liệu trong những năm cuối thập kỷ 90 và đầu thập kỷ 20, ngay cả hai cuốn sách bài tập mà chúng tôi tham khảo nói trên cũng do các bạn sinh viên cung cấp. Huế, cuối Đông Tân Mão, 2011 Nguyễn Thế Dũng Chuong 1 KHAI QUAT VE HE CO SO DU LIEU 1. Hãy nêu sự khác biệt chính giữa hệ thống xử lý file và hệ thống quản trị cơ sở dữ liệu? Trả lời: Một số khác biệt chính giữa một hệ thống quản lý cơ sở dữ liệu và hồng xử lý file là: + Cả hai hệ thống chứa một tập hợp các dữ liệu và một bộ chương trình để truy cập dữ liệu đó. Hệ thống quản lý cơ sở đữ liệu bao gồm cả hệ thống truy cập dữ liệu mức logic và vật lý.
Ngược lại hệ thống. quản lý file chỉ bao gồm hệ thống truy cập dữ liệu mức vật lý. + Hệ thống quản trị cơ sở dữ liệu có thể làm giảm việc lặp lại dữ liệu nhờ sự đảm bảo các dữ liệu mức vật lý được phân phối cho tất cả các chương trình thâm quyền có thể truy cập vào nó, trong khi các dữ liệu đang được ghỉ liệu trong hệ thống quản lý file có thể không đọc được bởi các chương trình khác. + Hệ thống quản trị cơ sở dữ liệu được thiết kế để cho phép truy cập vào dữ liệu một cách linh hoạt (chẳng hạn các truy vấn.), trong khi hệ thống xử lý file được thiết kế chỉ cho phép quyền truy cập vào dữ liệu phải được xác định trước.
+ Hệ thống quản trị cơ sở dữ liệu cho phép kết hợp nhiều người sử dụng truy cập vào các dữ liệu giống nhau trong cùng một lúc. Hệ 5 thống xử lý file cho phép một hoặc nhiều chương trình cùng lúc truy cập vào các file dữ liệu khác nhau ở cùng thời gian. Trong hệ quản lý file, một tập tin có thể được truy cập bằng hai chương trình đồng thời, nếu cả hai chương trình chỉ truy cập dữ liệu bằng việc đọc tệp. Các ưu điểm của một hệ cơ sở dữ liệu là: + Độc lập dữ liệu và truy cập đầy đủ: Các chương trình ứng dụng trên cơ sở dữ liệu là độc lập với các chỉ tiết của việc biểu diễn và lưu trữ đữ Các lược đồ khái niệm và lược đồ ngoài đảm bảo cho sự độc lập với việc lưu trữ vật lý và thiết kế lôgie.
Hơn nữa, một hệ cơ sở dữ liệu sẽ cung cấp các kỹ thuật lưu trữ và truy vấn thông tin hiệu quả, bạo gồm việc hỗ trợ lưu trữ các file rất lớn, các cấu trúc chỉ mục và tối ưu hóa câu truy vấn. + Giảm thiểu thời gian phát triển các ứng dụng: Hệ cơ sở dữ liệu cung cấp các chức năng quan trọng của các ứng dụng như điều khiển tương tranh và khôi phục sự cố dữ liệu. + Rang buộc toàn vẹn và bảo mật dữ liệu: Kỹ thuật tạo khung nhìn và các phương tiện cấp quyền của hệ cơ sở dữ liệu cung cấp các khả năng điều khiển việc truy cập dữ liệu. Các cập nhật dữ liệu tùy tiện sẽ được ngăn chan va kié tra nhờ các khai báo ràng buộc toàn vẹn của người sử dụng trong hệ cơ sở dữ liệu.
+ Quản trị dữ liệu: Hệ cơ sở dữ liệu cung cấp một khả năng lưu trữ và quản lý một lượng dữ liệu lớn được chia sẻ từ nhiều người sử dụng, cung cấp các phương tiện nhằm quản lý tốt các tác vụ về dữ liệu. Một hệ quản trị cơ sở dữ li tốt còn cung cấp các công cụ hiệu quả cho người sử dụng dữ liệu từ đầu đến cuối như biểu diễn dữ liệu, sao lưu dữ liệu định kỳ. + Xử lý tương tranh và khôi phục khi có sự cố về dữ liệu: Các hệ cơ sở dữ liệu cung cấp khái niệm transaction (giao tác) đó là một hoạt động có tính thứ tự của người sử dụng. Các giao tác phải đảm bảo tính nguyên tố, tránh xung đột khi có nhiều giao tác tác động lên dữ liệu.
Hệ cơ sở dữ liệu còn cung cấp các nhật trình (log) về sự thay đổi đữ liệu, nếu có sự có hệ thống có thể khôi phục dữ liệu phù hợp với các giao tác theo nhật trình đã ghỉ lại. Giải thích sự khác nhau giữa độc lập dữ liệu vật lý và độc lập dữ liệu logic? Trả lời: «_ Độc lập dữ liệu vật lý là khả năng thay đổi lược đồ vật lý của dữ liệu mà không cần sửa đổi lại chương trình ứng dụng. Các thay đổi chẳng hạn như tạo khối các bản ghi lưu trữ hay các cách thức truy cập file như truy cập tuần tự hay ngẫu nhiêi «_ Độc lập logic là khả năng thay đổi lược đồ khái niệm của dữ liệu mà không phải thay đổi lại chương trình ứng dụng. Các thay đổi chẳng hạn như thêm một trường vào bảng, thay đổi ràng buộc dữ liệu.
Phân biệt sự khác nhau giữa lược đồ trong, lược đồ ngoài và lược đồ khái niệm. Sự khác nhau giữa hai lớp lược đồ nào có liên quan đến khái niệm độc lập dữ liệu logic và độc lập dữ liệu vật lý? Trả lời: e Lược đồ ngoài cho phép xem xét việc truy cập dữ liệu ở mức riêng, của từng nhóm người sử dụng. Lược đồ khái niệm mô tả các dữ liệu được lưu trữ trong dữ liệu. Có tÌ có nhiêu cách nhìn khác nhau về dữ liệu, nhưng chỉ có duy nhất một lược đồ khái niệm cho mọi người sử dụng.
Lược đồ vật lý mô tả mối quan hệ trong lược đồ khái niệm và cách lưu trữ trên thiết bị vật lý. « Lược đồ ngoài liên quan đến khái niệm độc lập dữ liệu logic, khái niệm độc lập dữ liệu vật lý lại có quan hệ với lược đồ khái niệm.4, Xét mang hai chiéu nxm trong một ngôn ngữ lập trình mà bạn yêu thích. Sử dụng khái niệm mảng đó để mô tả sự khác nhau giữa: a) Ba mức trừu tượng hóa dữ liệu? b) Lược đồ và thể hiện của dữ liệu? Trả lời: Xét một mảng hai chiéu nxm. a) Ở mức vật lý thì đó là nxm ô nhớ liên tiếp nhau, có độ lớn đã được án định tùy theo ngôn ngữ lập trình, trong bộ nhớ Ở mức khái niệm thì đó là một lưới gồm các ô, mỗi ô chứa một số nguyên, lưới này gồm m ô chiều đọc và z ô chiều ngang.
Mức khung nhìn thì ta có nhiều khung nhìn khác nhau về mảng này, chăng hạn đó là một mảng ø thực thể mà mỗi thực thể gồm ø thuộc tính hoặc là z hàng mà mỗi hàng có ø cột chứa các giá trị nguyên. b) Xét mô tả một mảng 2 chiều cụ thể trong Pascal như sau: type tgrid = array[1.m] of integer; var vgridl, vgrid2 : tgrid; Khi d6 tgrid là lược đồ còn giá trị của các biến vgrid1 và vgxiđ2 là các thể hiện. Chẳng hạn xét mảng [1.2] của các số nguyên thì hai thể hiện của lược đồ này là: 1 5 4 7 va 22 12 1 24 1. Nêu vắn tắt các ưu nhược điểm của hệ cơ sở dữ liệu so với hệ lưu trữ dữ liệu của hệ điều hành? Trả lời: * Các tru điểm của hệ cơ sở đữ liệu: - Độc lập dữ liệu và truy cập dữ liệu hữu hiệu.
~ Giảm thời gian phát triỂn các ứng dụng. - Ràng buộc dữ liệu và an toàn bảo mật dữ liệu. - Quản trị dữ liệu. ~ Điều khiển tương tranh và khôi phục dữ liệu.
* Một số nhược điểm của hệ thống quản trị cơ sở dữ: - Thiết lập và duy trì một hệ cơ sở dữ liệu đòi hỏi nhiều ngân sách, trí thức, kỹ năng và thời gian. - Sự phức tạp của các hệ cơ sở dữ liệu có thể dẫn đến hiệu suất làm việc thấp cho những người sử dụng. Trình bày 6 chức năng chính của người quản trị cơ sở dữ liệu - DBA (database administrator)?