Giáo trình môn Cơ sở dữ liệu
1. Mục đích: Phần lớn các mô hình dữ liệu sử dụng hệ thống ký hiệu để biểu diễn dữ liệu
và làm nền tảng cho các hệ ứng dụng và ngôn ngữ thao tác dữ liệu. Các mô hình thực thể
quan hệ không có hệ thống ký hiệu để xây dựng các phép toán thao tác dữ liệu, mà sử dụng
để thiết kế lược đồ khái niệm, cài đặt trong một mô hình dữ liệu với một hệ quản trị cơ sở
dữ liệu nào đó.
2. Hướng giá trị hay hướng đối tượng: Các mô hình dữ liệu quan hệ và mô hình logic là các
mô hình dữ liệu hướng giá trị. Trong các mô hình dữ liệu hướng giá trị có tính khai báo
(declarativeness) và có tác động đến các ngôn ngữ được nó hỗ trợ. Các mô hình mạng, phân
cấp, mô hình dữ liệu hướng đối tượng cung cấp đặc tính nhận dạng đối tượng, nên có thể
xem chúng là các mô hình hướng đối tượng. Mô hình thực thể quan hệ cũng được có đặc
tính nhận dạng hướng đối tượng.
3. Tính dư thừa: Tất cả các mô hình dữ liệu đều có khả năng hỗ trợ lưu trữ dữ liệu vật lý và
hạn chế sự dư thừa dữ liệu. Tuy nhiên các mô hình dữ liệu hướng đối tượng giải quyết sự
dư thừa tốt hơn, bằng cách tạo ra sử dụng con trỏ trỏ đến nhiều vị trí khác nhau.
4. Giải quyết mối quan hệ nhiều – nhiều: Phần lớn trong các mô hình cơ sở dữ liệu có chứa
các mối quan hệ nhiều – nhiều, một – nhiều hay quan hệ môt – một. Một quan hệ có nhiều
phần tử của các quan hệ khác và ngược lại. Tuy nhiên trong mô hình dữ liệu mạng không
chấp nhận mối quan hệ nhiều – nhiều
Tóm tắt nội dung tài liệu: Giáo trình môn Cơ sở dữ liệu
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ DỮ LIỆU (Dùng cho sinh viên hệ đào tạo đại học từ xa) Lưu hành nội bộ HÀ NỘI - 2006 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ DỮ LIỆU Biên soạn : Ts. PHẠM THẾ QUẾ LỜI NÓI ĐẦU Tài liệu “Cơ sở dữ liệu” là sách hướng dẫn học tập dùng cho sinh viên hệ đào tạo từ xa ngành công nghệ thông tin và ngành kỹ thuật viễn thông. Nội dung của tài liệu bao gồm: Chương I giới thiệu sự cần thiết tổ chức dữ liệu theo mô hình hệ cơ sở dữ liệu, mục tiêu và tính độc lập của dữ liệu. Kiến trúc mô hình tổng quát 3 lớp và tính ổn định trong mô hình quan niệm. Các mô hình truy xuất thông dụng hiện nay. Chương II giới thiệu tổng quát về các mô hình cơ sở dữ liệu kinh điển và truyền thống. Đó là các khái niệm cơ bản về mô hình dữ liệu mạng, mô hình phân cấp, mô hình quan hệ và mô hình thực thể – liên hệ. Một mô hình CSDL phải có khả năng biểu diễn thực thể và liên kết giữa các thực thể, là cách nhìn và cách biểu diễn các liên kết của người sử dụng. Chương III trình bày những khái niệm cơ bản về lý thuyết cơ sở dữ liệu quan hệ do E.F Codd đề xuất. Mô hình cơ sở dữ liệu quan hệ được xây dựng trên cơ sở toán học chặt chẽ và logic, có tính độc lập dữ liệu cao và có cấu trúc biểu diễn đơn giản. Chương IV giới thiệu quá trình chuẩn hoá dữ liệu, là quá trình tách không tổn thất thông tin các quan hệ chưa chuẩn hoá về các quan hệ có dạng chuẩn 3NF và Boye –Codd theo nghĩa các quan hệ gốc được khôi phục chính xác từ các phép kết nối tự nhiên các quan hệ chiếu, với giả thiết các phụ thuộc dữ liệu là các phụ thuộc hàm. Chương V đề cập đến các ngôn ngữ con thao tác dữ liệu: ngôn ngữ con dữ liệu dựa trên đại số quan hệ, ngôn ngữ có cấu trúc SQL truy vấn dữ liệu. Chương VI đề cập tới một số phương pháp tối ưu hoá câu hỏi, sao cho tăng tốc độ thực hiện và tối ưu hoá bộ nhớ. Cuối cùng là chương VII, nội dung của chương này trình bày sự cần thiết phải bảo vệ an toàn cơ sở dữ liệu. “An toàn” dữ liệu nghĩa là các hệ cơ sở dữ liệu cần phải được bảo vệ chống truy nhập trái phép sửa đổi hay phá hoại dữ liệu. Các hệ thống dữ liệu cần thiết phải bảo đảm tính toàn vẹn và an toàn dữ liệu. Tài liệu”Cơ sở dữ liệu” không chỉ đề cập đến những vấn đề cơ sở lý thuyết mà còn trình bày một số kỹ năng cần thiết để thiết kế và cài đặt các hệ cơ sở dữ liệu cụ thể. Hy vọng sẽ có ích cho sinh viên và những người muốn xây dựng các hệ thống tin học ứng dụng phục vụ cho sản xuất, quản lý trong các doanh nghiệp. Có thể còn nhiều thiếu sót trong biên soạn, tôi vẫn mạnh dạn giới thiệu tài liệu này và mong nhận được sự góp ý của bạn đọc. Tác giả 1 KHÁI NIỆM CƠ BẢN VỀ CÁC HỆ CƠ SỞ DỮ LIỆU 1 Trong chương này trình bày những khái niệm cơ bản về các hệ cơ sở dữ liệu do E.F Codd đề xuất. Những khái niệm này bao gồm mục tiêu của một hệ cơ sở dữ liệu. Sự cần thiết phải tổ chức dữ liệu dưới dạng cơ sở dữ liệu. Tính độc lập của dữ liệu thể hiện mô hình hình kiến trúc 3 mức. Vì vậy có thể nói cơ sở dữ liệu phản ảnh tính trung thực, khách quan của thế giới dữ liệu. Không dư thừa thông tin và cũng không thiếu thông tin. Nội dung của chương bao gồm các phần: • Cơ sở dữ liệu là gì • Sự cần thiết của các hệ cơ sở dữ liệu • Mô hình kiến trúc 3 mức cơ sở dữ liệu • Mục tiêu của các hệ cơ sở dữ liệu • Hệ quản trị CSDL & người quản trị CSDL • Tổ chức lưu trữ dữ liệu • Các mô hình truy xuất 1.1 Cơ sở dữ liệu là gì Cơ sở dữ liệu là một bộ sưu tập rất lớn về các loại dữ liệu tác nghiệp, bao gồm các loại dữ liệu âm thanh, tiếng nói, chữ viết, văn bản, đồ hoạ, hình ảnh tĩnh hay hình ảnh động....được mã hoá dưới dạng các chuỗi bit và được lưu trữ dưới dạng File dữ liệu trong các bộ nhớ của máy tính. Cấu trúc lưu trữ dữ liệu tuân theo các quy tắc dựa trên lý thuyết toán học. Cơ sở dữ liệu phản ảnh trung thực thế giới dữ liệu hiện thực khách quan. Cơ sở dữ liệu là tài nguyên thông tin dùng chung cho nhiều người: Cơ sở dữ liệu (CSDL) là tài nguyên thông tin chung cho nhiều người cùng sử dụng. Bất kỳ người sử dụng nào trên mạng máy tính, tại các thiết bị đầu cuối, về nguyên tắc có quyền truy nhập khai thác toàn bộ hay một phần dữ liệu theo chế độ trực tuyến hay tương tác mà không phụ thuộc vào vị trí địa lý của người sử dụng với các tài nguyên đó. Cơ sở dữ liệu được các hệ ứng dụng khai thác bằng ngôn ngữ con dữ liệu hoặc bằng các chương trình ứng dụng để xử lý, tìm kiếm, tra cưú, sửa đổi, bổ sung hay loại bỏ dữ liệu. Tìm kiếm và tra cứu thông tin là một trong những chức năng qua trọng và phổ biến nhất của các dịch vụ cơ sở dữ liệu. Hệ quản trị CSDL – HQTCSDL (DataBase Management System - DBMS) là phần mềm điều khiển các chiến lược truy nhập CSDL. Khi người sử dụng đưa ra yêu cầu truy nhập bằng một ngôn ngữ con dữ liệu nào đó, HQTCSDL tiếp nhận và thực hiện các thao tác trên CSDL lưu trữ. Đối tượng nghiên cứu của CSDL là các thực thể và mối quan hệ giữa các thực thể. Thực thể và mối quan hệ giữa các thực thể là hai đối tượng khác nhau về căn bản. Mối quan hệ giữa các thực thể cũng là một loại thực thể đặc biệt. Trong cách tiếp cận CSDL quan hệ, người ta 2 Chương I: Khái niệm cơ bản về các hệ cơ sở dữ liệu dựa trên cơ sở lý thuyết đại số quan hệ để xây dựng các quan hệ chuẩn, khi kết nối không tổn thất thông tin và khi biểu diễn dữ liệu là duy nhất. Dữ liệu được lưu trữ trong bộ nhớ của máy tính không những phải tính đến yếu tố về tối ưu không gian lưu trữ, mà phải đảm bảo tính khách quan, trung thực của dữ liệu hiện thực. Nghĩa là phải đẩm bảo tính nhất quán của dữ liệu và giữ được sự toàn vẹn của dữ liệu. 1.2 Sự cần thiết của các hệ cơ sở dữ liệu Tổ chức lưu trữ dữ liệu theo lý thuyết cơ sở dữ liệu có những ưu điểm: Giảm bớt dư thừa dữ liệu trong lưu trữ: Trong các ứng dụng lập trình truyền thống, phương pháp tổ chức lưu trữ dữ liệu vừa tốn kém, lãng phí bộ nhớ và các thiết bị lưu trữ, vừa dư thừa thông tin lưu trữ. Nhiều chương trình ứng dụng khác nhau cùng xử lý trên các dữ liệu như nhau, dẫn đến sự dư thừa đáng kể về dữ liệu. Ví dụ trong các bài toán nghiệp vụ quản lý "Cước thuê bao điện thoại" và "Doanh thu & sản lượng ", tương ứng với mỗi một chương trình là một hay nhiều tệp dữ liệu được lưu trữ riêng biệt, độc lập với nhau. Trong cả 2 chương trình cùng xử lý một số thuộc tính của một cuộc đàm thoại như “số máy gọi đi”, “số máy gọi đến”, “hướng cuộc gọi”, “thời gian bắt đầu” và “thời gian kết thúc” ....Nhiều thuộc tính được mô tả và lưu trữ nhiều lần độc lập với nhau. Nếu tổ chức lưu trữ theo lý thuyết CSDL thì có thể hợp nhất các tệp lưu trữ của các bài toán trên, các chương trình ứng dụng có thể cùng chia sẻ tài nguyên trên cùng một hệ CSDL. Tổ chức lưu trữ dữ liệu theo lý thuyết CSDL sẽ tránh được sự không nhất quán trong lưu trữ dữ liệu và bảo đảm được tính toàn vẹn của dữ liệu: Nếu một thuộc tính được mô tả trong nhiều tệp dữ liệu khác nhau và lặp lại nhiều lần trong các bản ghi, khi thực hiện việc cập nhật, sửa đổi, bổ sung sẽ không sửa hết nội dung các mục đó. Nếu dữ liệu càng nhiều thì sự sai sót khi cập nhật, bổ sung càng lớn. Khả năng xuất hiện mâu thuẫn, không nhất quán thông tin càng nhiều, dẫn đến không nhất quán dữ liệu trong lưu trữ. Tất yếu kéo theo sự dị thường thông tin, thừa, thiếu và mâu thuẫn thông tin. Thông thường, trong một thực thể, giữa các thuộc tính có mối quan hệ ràng buộc lẫn nhau, tác động ảnh hưởng lẫn nhau. Cước của một cuộc đàm thoại phụ thuộc vào khoảng cách và thời gian cuộc gọi, tức là phụ thuộc hàm vào các thuộc tính máy gọi đi, máy gọi đến, thời gian bắt đầu và thời gian kết thúc cuộc gọi. Các trình ứng dụng khác nhau cùng xử lý cước đàm thoại trên các thực thể lưu trữ tương ứng khác nhau chưa hẳn cho cùng một kết quả về sản lượng phút và doanh thu. Điều này lý giải tại sao trong một doanh nghiệp, cùng xử lý trên các chỉ tiêu quản lý mà số liệu báo cáo của các phòng ban, các công ty con lại cho các kết quả khác nhau, thậm chí còn trái ngược nhau. Như vậy, có thể khảng định, nếu dữ liệu không tổ chức theo lý thuyết cơ sở dữ liệu, tất yếu không thể phản ảnh thế giới hiện thực dữ liệu, không phản ảnh đúng bản chất vận động của dữ liệu. Sự không nhất quán dữ liệu trong lưu trữ làm cho dữ liệu mất đi tính toàn vẹn cuả nó. Tính toàn vẹn dữ liệu đảm bảo cho sự lưu trữ dữ liệu luôn luôn đúng. Không thể có mã vùng ngoài quy định của cơ quan quản lý, hoặc ngày sinh của một nhân viên không thể xẩy ra sau ngày tốt nghiệp ra trường của nhân viên đó... 3 Chương I: Khái niệm cơ bản về các hệ cơ sở dữ liệu Tổ chức lưu trữ dữ liệu theo lý thuyết CSDL có thể triển khai đồng thời nhiều ứng dụng trên cùng một CSDL: Điều này có nghĩa là các ứng dụng không chỉ chia sẻ chung tài nguyên dữ liệu mà còn trên cùng một CSDL có thể triển khai đồng thời nhiều ứng dụng khác nhau tại các thiết bị đầu cuối khác nhau. Tổ chức dữ liệu theo lý thuyết cơ sở dữ liệu sẽ thống nhất các tiêu chuẩn, thủ tục và các biện pháp bảo vệ, an toàn dữ liệu: Các hệ CSDL sẽ được quản lý tập trung bởi một người hay một nhóm người quản trị CSDL, bằng các hệ quản trị CSDL. Người quản trị CSDL có thể áp dụng thống nhất các tiêu chuẩn, quy định, thủ tục chung như quy định thống nhất về mẫu biểu báo cáo, thời gian bổ sung, cập nhật dữ liệu. Điều này làm dễ dàng cho công việc bảo trì dữ liệu. Người quản trị CSDL có thể bảo đảm việc truy nhập tới CSDL, có thể kiểm tra, kiểm soát các quyền truy nhập của người sử dụng. Ngăn chặn các truy nhập trái phép, sai quy định từ trong ra hoặc từ ngoài vào... 1.3 Mô hình kiến trúc tổng quát cơ sở dữ liệu 3 mức Mô hình kiến trúc 3 mức của hệ CSDL gồm: Mức trong, mức mô hình dữ liệu (Mức quan niệm) và mức ngoài. Giữa các mức tồn tại các ánh xạ quan niệm trong và ánh xạ quan niệm ngoài. Trung tâm của hệ thống là mức quan niệm, tức là mức mô hình dữ liệu. Ngoài ra còn có khái niệm người sử dụng, hệ quản trị CSDL và người quản trị CSDL. Người sử dụng: Là những người tại thiết bị đầu cuối truy nhập vào các hệ CSDL theo chế độ trực tuyến hay tương tác bằng các chương trình ứng dụng hay bằng các ngôn ngữ con dữ liệu. Thường là các chuyên viên kỹ thuật tin học, có trình độ thành thạo biết lập trình và biết sử dụng ngôn ngữ con thao tác dữ liệu (SQL Server, Oracle... ). Người sử dụng có thể truy nhập toàn bộ hay một phần CSDL mà họ quan tâm, phụ thuộc vào quyền truy nhập của họ. Cách nhìn CSDLcủa người sử dụng nói chung là trìu tượng. Họ nhìn CSDL bằng mô hình ngoài, gọi là mô hình con dữ liệu. Chẳng hạn người sử dụng là một nhân viên của phòng kế toán tài chính, chỉ nhìn thấy tập các xuất hiện kiểu bản ghi ngoài về doanh thu, sản lượng trong tháng, không thể nhìn thấy các xuất hiện kiểu bản ghi lưu trữ về các chỉ tiêu kỹ thuật cuả đường thông, mạng lưới... Mô hình ngoài: Mô hình ngoài là nội dung thông tin của CSDL dưới cách nhìn của người sử dụng. Là nội dung thông tin của một phần dữ liệu tác nghiệp đựơc một người hoặc một nhóm người sử dụng quan tâm. Nói cách khác, mô hình ngoài mô tả cách nhìn dữ liệu của người sử dụng và mỗi người sử dụng có cách nhìn dữ liệu khác nhau. Nhiều mô hình ngoài khác nhau có thể cùng tồn tại trong một hệ CSD, nghĩa là có nhiều người sử dụng chia sẻ chung cùng một cơ sở dữ liệu. Hơn nữa, có thể mô hình ngoài quan hệ, mô hình ngoài phân cấp hay mô hình ngoài kiểu mạng cũng có thể tồn tại trong một cơ sở dữ liệu. Sơ đồ ngoài không làm “hiện “ mà được nhúng vào trong logic một đơn tác có liên quan. • Mô hình ngoài gồm nhiều xuất hiện kiểu bản ghi ngoài, nghĩa là mỗi một người sử dụng có một sơ đồ dữ liệu riêng, một khung nhìn dữ liệu riêng. Bản ghi ngoài của người sử dụng có thể khác với bản ghi lưu trữ và bản ghi quan niệm. 4 Chương I: Khái niệm cơ bản về các hệ cơ sở dữ liệu • Mô hình ngoài được xác định bởi một sơ đồ ngoài bao gồm các mô tả về kiểu bản ghi ngoài như tên các trường, kiểu dữ liệu các trường, độ rộng của trường.... • Ngôn ngữ con dữ liệu của người sử dụng thao tác trên các bản ghi ngoài. • Người sử dụng khác nhau có khung nhìn dữ liệu khác nhau. • Người sử dụng đầu cuối có thể là các ứng dụng hay thao tác trực tiếp bằng ngôn ngữ thao tác, truy vấn dữ liệu. Mô hình dữ liệu (mô hình quan niệm): Mô hình quan niệm là cách nhìn dữ liệu một cách tổng quát của người sử dụng. Nghĩa là có rất nhiều cách nhìn dữ liệu ở mô hình ngoài, nhưng chỉ có duy nhất một cách nhìn dữ liệu ở mức quan niệm. Biểu diễn toàn bộ thông tin trong CSDL là duy nhất. • Mô hình dữ liệu gồm nhiều xuất hiện của nhiều kiểu bản ghi dữ liệu. Ví dụ kiểu xuất hiện bản ghi về nhân sự, kiểu xuất hiện bản ghi về doanh thu, sản lượng, kiểu xuất hiện bản ghi về cước đàm thoại... • Mô hình dữ liệu được xác định bởi một sơ đồ dữ liệu mô tả của nhiều kiểu thực thể, chẳng hạn như mô tả thực thể tuyến cáp, các loại cáp, thầy giáo, học sinh... Sơ đồ dữ liệu bao gồm các định nghĩa về các kiểu bản ghi, đó là các ràng buộc cho quyền và tính toàn vẹn thích hợp. Những ràng buộc này chính là các tính chất của dữ liệu, tính liên kết các thuộc tính cùng một kiểu dữ liệu. Các định nghĩa này không bao hàm về cấu trúc lưu trữ, cũng như về chiến lược truy nhập, chúng chỉ là các định nghĩa về nội dung thông tin, về tính độc lập của dữ liệu trong mô hình quan niệm. • Sơ đồ quan niệm luôn luôn ổn định, nghĩa là nếu mô tả thêm một kiểu thực thể đặc biệt sát nhập vào sơ đồ dữ liệu, không được làm thay đổi sơ đồ dữ liệu cũ. Nếu sơ đồ dữ liệu không ổn định thì các ứng dụng và mô hình ngoài cũng không ổn định. Sơ đồ dữ liệu chỉ được thay đổi khi có sự điều chỉnh trong thế giới thực, đòi hỏi điều chỉnh lại định nghĩa sao cho nó phản ảnh thế giới hiện thực khách quan hơn, chân lý hơn. • Thiết kế mô hình dữ liệu là giai đoạn quan trọng và quyết định trong việc thiết kế và cài đặt các hệ cơ sở dữ liệu. Quá trình thiết kế không phụ thuộc quá nhiều vào cấu trúc lưu trữ vật lý và chiến lược truy nhập của dữ liệu. Như vậy việc thiết kế sơ đồ dữ liệu phải được tiến hành độc lập với việc thiết kế sơ đồ trong và các sơ đồ ngoài liên kết, vì nếu không việc thiết kế sẽ không ổn định và thường xuyên phải xem xét lại tác động thường xuyên đến nhiều thành phần khác của hệ thống. • Với cách thiết kế truyền thống hiện nay, người thiết kế chỉ cung cấp một số sơ đồ trong và một tập các sơ đồ ngoài và họ coi đó là sơ đồ dữ liệu, là mô hình dữ liệu. Vì vậy tính không ổn định hệ thống, tính không phù hợp với các ứng dụng nảy sinh sau một thời gian hoạt động. Mâu thuẫn và dị thường thông tin sẽ xẩy ra. Vi phạm tính toàn vẹn của dữ liệu. • Ngoài các định nghĩa về xuất hiện nhiều kiểu bản ghi quan niệm, sơ đồ dữ liệu còn chứa các định nghĩa về quyền truy nhập của người sử dụng, các thủ tục kiểm tra tính đúng đắn của dữ liệu nhằm bảo đảm tính toàn vẹn của CSDL. Các luồng lưu chuyển thông tin, quy định cách thức sử dụng thông tin.. 5 Chương I: Khái niệm cơ bản về các hệ cơ sở dữ liệu Như vậy mô hình dữ liệu là cách nhìn toàn bộ nội dung thông tin của CSDL, sơ đồ quan niệm là định nghĩa của cách nhìn ấy. Là bước đi đầu tiên , quan trọng trong việc thiết kế và c ... ..........................................................................42 3.1.2 Ký hiệu..............................................................................................................43 3.2 Phụ thuộc hàm..........................................................................................................44 3.3 Hệ tiên đề các phụ thuộc hàm và các phép suy dẫn logic.......................................45 3.3.1 Hệ tiên đề Armstrong cho các phụ thuộc hàm.................................................45 3.3.2 Ý nghĩa hệ tiên đề Armstrong..........................................................................45 3.3.3 Các tính chất của phụ thuộc hàm .....................................................................46 3.3.4 Các phép suy dẫn phụ thuộc hàm ....................................................................46 3.3.5 Bao đóng và tính chất bao đóng các phụ thuộc hàm.........................................47 3.3.6 Phụ thuộc hàm đầy đủ và không đầy đủ ..........................................................47 3.4 Bao đóng & thuật toán xác định bao đóng các thuộc tính .......................................48 3.4.1 Bao đóng tập các thuộc tính (Closure of a set attributes) ...............................48 3.4.2 Các tính chất bao đóng thuộc tính....................................................................49 3.4.3 Thuật toán xác định bao đóng...........................................................................49 3.4.4 Ví dụ bao đóng của tập thuộc tính ...................................................................51 3.4.5 Thuật toán xác định phụ thuộc hàm suy dẫn từ F...........................................52 3.5 Phụ thuộc dư thừa, tập các phụ thuộc tương đương ...............................................54 3.5.1 Tập các phụ thuộc tương đương .......................................................................54 3.5.2 Phụ thuộc dư thừa ............................................................................................54 3.5.3 Thuộc tính dư thừa...........................................................................................55 3.5.4 Tập các phụ thuộc phủ tối tiểu.........................................................................56 3.5.5 Thuật toán 3.4 xác định tập phủ tối tiểu..........................................................57 3.6 Khóa của lược đồ quan hệ........................................................................................57 3.6.1 Định nghĩa.........................................................................................................57 3.6.2 Khoá dự bị........................................................................................................59 3.6.3 Định thuộc (Determinant)................................................................................59 3.6.4 Phản khoá (Antikey) ........................................................................................59 3.6.5 Lược đồ thu gọn...............................................................................................60 3.7 Một số tính chất của khoá trong lược đồ quan hệ...................................................61 3.8 Các thuật toán xác định khoá của lược đồ quan hệ.................................................62 Câu hỏi trắc nghiệm.........................................................................................................67 162 Chương I: Khái niệm cơ bản về các hệ cơ sở dữ liệu Câu hỏi và bài tập ............................................................................................................70 Chương IV KỸ THUẬT THIẾT KẾ CÁC HỆ CƠ SỞ DỮ LIỆU QUAN HỆ 4.1 Mở đầu ......................................................................................................................76 4.2 Phép tách – kết nối không tổn thất thông tin ............................................................76 4.2.1 Phép tách...........................................................................................................76 4.2.2 Tách - kết nối tự nhiên......................................................................................77 4.2.3 Phép tách không tổn thất thông tin ...................................................................77 4.3 Thuật toán kiểm tra tách không tổn thất thông tin...................................................79 4.4 Các dạng chuẩn của lược đồ quan hệ......................................................................81 4.4.1 Sự cần thiết chuẩn hoá dữ liệu.........................................................................82 4.4.2 Dạng chuẩn 1 – 1NF (First Normal Form) .....................................................83 4.4.3 Dạng chuẩn 2 – 2NF (Second Normal Form).................................................84 4.4.4 Dạng chuẩn 3 - 3NF (Third Normal Form) ..................................................85 4.4.5 Quá trình tách 1NF về nhóm tương đương 3NF.............................................86 4.5 Dạng chuẩn Boyce Codd .........................................................................................87 4.5.1 Định nghĩa dạng chuẩn Boyce Codd ................................................................87 4.5.2 Nhận biết dạng chuẩn 3NF & BCNF................................................................88 4.6 Thuật toán tách lược đồ quan hệ không tổn thất thông tin ......................................88 4..6.1 Phép tách về các lược đồ dạng chuẩn 3NF có bảo toàn phụ thuộc..................88 4.6.2 Thuật toán tách bảo toàn phụ thuộc và không tổn thất thông tin về 3NF........89 4.6.3 Thuật toán tách về dạng chuẩn BCNF không tổn thất......................................90 Câu hỏi trắc nghiệm.........................................................................................................92 Câu hỏi và bài tập: ...........................................................................................................94 Chương V CÁC NGÔN NGỮ THAO TÁC DỮ LIỆUU 5.1 Ngôn ngữ cơ sở dữ liệu............................................................................................98 5.1.1 Ngôn ngữ định nghĩa dữ liệu ...........................................................................98 5.1.2 Ngôn ngữ thao tác dữ liệu...............................................................................99 5.2 Các phép toán đại số quan hệ...................................................................................99 5.2.1 Toán hạng của đại số quan hệ........................................................................100 5.2.2 Phép hợp các quan hệ - UNION ....................................................................100 5.2.3 Phép giao của các quan hệ - INTERSECT ..................................................100 5.2.4 Hiệu của các quan hệ - MINUS ..................................................................101 5.2.5 Tích Đê Các – (Cartesian Product) ................................................................101 5.2.6 Phép chọn - Selection.....................................................................................102 5.3 Các phép toán đại số bổ sung..................................................................................103 5.3.1 Phép chia - DIVISION..................................................................................103 5.3.2 Phép kết nối – JOIN.......................................................................................104 5.4 Các tính chất của đại số quan hệ............................................................................105 5.4.1 Tính chất giao hoán.........................................................................................105 163 Chương I: Khái niệm cơ bản về các hệ cơ sở dữ liệu 5.4.2 Tính chất kết hợp ............................................................................................106 5.4.3 Tính chất tích luỹ đẳng ...................................................................................106 5.4.4 Một số tính chất khác.....................................................................................106 5.5 Đại số quan hệ – ngôn ngữ vấn tin .......................................................................106 5.5.1 Biểu thức quan hệ ..........................................................................................106 5.5.2 Cây đại số quan hệ .........................................................................................107 5.5.3 Cài đặt đại số quan hệ .....................................................................................108 5.6 Ngôn ngữ vấn tin có cấu trúc SQL .......................................................................113 5.6.1 Giới thiệu ........................................................................................................113 5.6.2 Câu lệnh SELECT..........................................................................................113 5.6.3 Biến quan hệ ..................................................................................................116 5.6.4 Toán tử LIKE................................................................................................116 5.6.5 Phép toán tập hợp trong mệnh đề WHERE ...................................................116 5.6.6 Các phép toán gộp nhóm................................................................................118 5.6.7 Mệnh đề GROUP BY ... HAVING................................................................119 5.6.8 Các phép toán lưu trữ....................................................................................119 5.6.9 Tính đầy đủ của SQL .....................................................................................121 5.6.10 Ngôn ngữ định nghĩa dữ liệu .......................................................................122 5.6.11 Khung nhìn View.........................................................................................122 5.6.12 Database catalog ..........................................................................................123 Câu hỏi trắc nghiệm.......................................................................................................124 Câu hỏi & bài tập ...........................................................................................................126 Chương VI TỐI ƯU HOÁ CÂU HỎI TRUY VẤN 6.1 Mở đầu ...................................................................................................................130 6.2 Tổng quan về tối ưu hóa câu hỏi.............................................................................130 6.3 Phương pháp ước lượng cây đại số quan hệ ..........................................................132 6.4 Nguyên tắc tối ưu hoá............................................................................................133 6.5 Kỹ thuật tối ưu hoá các biểu thức đại số quan hệ. .................................................133 6.5.1 Biểu thức quan hệ ...........................................................................................133 6.5.2 Biến đổi biểu thức quan hệ .............................................................................134 6.6 Tối ưu hóa bằng khung nhìn (Materialized Views)..............................................138 6.6.1 Phép kết nối....................................................................................................138 6.6.2 Phép chọn và phép chiếu................................................................................138 6.6.3 Các phép toán khối.........................................................................................139 6.6.4 Các phép toán khác ........................................................................................139 6.6.5 Tối ưu hóa các câu hỏi và các khung nhìn cụ thể hóa ...................................139 6.7 Ví dụ tối ưu hoá các câu hỏi. ..................................................................................140 Câu hỏi trắc nghiệm.......................................................................................................143 164 Chương I: Khái niệm cơ bản về các hệ cơ sở dữ liệu Câu hỏi và bài tập: .........................................................................................................145 Chương VII AN TOÀN DỮ LIỆU VÀ TÍNH TOÀN VEN DỮ LIỆU 7.1 Sự cần thiết phải bảo vệ an toàn cơ sở dữ liệu.......................................................147 7.2 Tính toàn vẹn dữ liệu .............................................................................................147 7.2.1 Các ràng buộc toàn vẹn.................................................................................. 148 7.2.2 Ngôn ngữ vấn tin - ngôn ngữ ràng buộc toàn vẹn ........................................149 7.2.3 Kiểm tra các ràng buộc toàn vẹn....................................................................149 7.3 Vấn đề an toàn và quyền truy nhập cơ sở dữ liệu..................................................149 7.3.1 Sự vi phạm an toàn cơ sở dữ liệu..................................................................149 7.3.2 Các mức độ an toàn cơ sở dữ liệu.................................................................150 7.3.3 Những quyền hạn khi sử dụng hệ cơ sở dữ liệu.............................................151 7.3.4 Khung nhìn –một cơ chế bảo vệ ....................................................................152 7.3.5 Cấp phép các quyền truy nhập.......................................................................153 7.3.6 Kiểm tra dấu vết.............................................................................................155 7.4 Tính bảo mật trong SQL .........................................................................................155 7.4.1 Các đặc quyền trong SQL..............................................................................155 7.4.2 Hạn chế các quyền hạn trong SQL ...............................................................157 7.4.3 Ví dụ định nghĩa các quyền truy nhập ...........................................................157 7.5 Tóm tắt....................................................................................................................158 Câu hỏi trắc nghiệm.......................................................................................................158 Câu hỏi & bài tập ...........................................................................................................160 Mục lục ..........................................................................................................................161 Tài liệu tham khảo.....................................................................................166 165 CƠ SỞ DỮ LIỆU Mã số: 492CDL351 Chịu trách nhiệm bản thảo TRUNG TÂM ÐÀO TẠO BƯU CHÍNH VIỄN THÔNG 1 (Tài liệu này được ban hành theo Quyết định số: 827 /QĐ-TTĐT1 ngày 30/10/2006 của Giám đốc Học viện Công nghệ Bưu chính Viễn thông)
File đính kèm:
- giao_trinh_mon_co_so_du_lieu.pdf