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

pdf 223 trang kimcuc 4120
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình môn Cơ sở dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình môn Cơ sở dữ 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:

  • pdfgiao_trinh_mon_co_so_du_lieu.pdf