Ngày nay, cơ sở dữ liệu đã có nhiều ứng dụng trong mọi hoạt động của xã hội. Muốn thiết kế và sử dụng cơ sở dữ liệu chúng ta phải nắm được các kỹ thuật cơ bản của cơ sở dữ liệu. Giáo trình này nhằm trình bày các kỹ thuật cơ sở của cơ sở dữ liệu truyền thống, đó là mô hình liên kết thực thể, mô hình cơ sở dữ liệu quan hệ. Giáo trình cũng trình bày cách thiết kế một cơ sở dữ liệu quan hệ, cách sử dụng các phép toán đại số quan hệ để tạo, cập nhật và truy vấn cơ sở dữ liệu và khái niệm phụ thuộc hàm ứng dụng trong lí thuyết thiết kế và chuẩn hóa cơ sở dữ liệu quan hệ. Giáo trình cần thiết cho tất cả các đối tượng muốn tìm hiểu và thiết kế các cơ sở dữ liệu quan hệ ứng dụng trong công tác quản lý.
GIÁO TRÌNH CƠ SỞ DỮ LIỆU HÀ NỘI 2005 Lời mở đầu Ngày nay, sở liệu có nhiều ứng dụng hoạt động xã hội. Muốn thiết kế sử dụng sở liệu phải nắm kỹ thuật sở liệu. Giáo trình nhằm trình bày kỹ thuật sở sở liệu truyền thống, mô hình liên kết thực thể, mô hình sở liệu quan hệ. Giáo trình trình bày cách thiết kế sở liệu quan hệ, cách sử dụng phép toán đại số quan hệ để tạo, cập nhật truy vấn sở liệu khái niệm phụ thuộc hàm ứng dụng lí thuyết thiết kế chuẩn hóa sở liệu quan hệ. Giáo trình cần thiết cho tất đối tượng muốn tìm hiểu thiết kế sở liệu quan hệ ứng dụng công tác quản lý. - Tên môn học: Cơ sở liệu. - Mã số môn học: 2CD3. - Thời gian: Lý thuyết + Bài tập 45 tiết. - Mục tiêu: Trang bị kiến thức Cơ sở liệu truyền thống. - Những kiến thức cần phải trang bị trước học: không. - Nội dung: Chương I: CÁC KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU Chương II: MÔ HÌNH LIÊN KẾT THỰC THỂ Chương III: MÔ HÌNH QUAN HỆ, CÁC RÀNG BUỘC QUAN HỆ VÀ ĐẠI SỐ QUAN HỆ Chương IV: PHỤ THUỘC HÀM VÀ CHUẨN HÓA CSDL QUAN HỆ, CÁC THUẬT TOÁN THIẾT KẾ CSDL QUAN HỆ - Người biên soạn: Khoa CNTT- Trường Đại học Công nghệ- ĐHQGHN MỤC LỤC CHƯƠNG I- CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU .5 CHƯƠNG 3. MÔ HÌNH CSDL THỰC THỂ - LIÊN KẾT 19 CHƯƠNG II- MÔ HÌNH QUAN HỆ, CÁC RÀNG BUỘC QUAN HỆ VÀ ĐẠI SỐ QUAN HỆ .42 CHƯƠNG III- PHỤ THUỘC HÀM VÀ CHUẨN HÓA CƠ SỞ DỮ LIỆU QUAN HỆ, CÁC THUẬT TOÁN THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ 75 Chương I- CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU Các sở liệu hệ sở liệu trở thành thành phần chủ yếu sống hàng ngày xã hội đại. Trong vòng ngày người có nhiều hoạt động cần có giao tiếp với sở liệu như: đến ngân hàng để rút tiền gửi tiền, đăng ký chỗ máy bay khách sạn, truy cập vào thư viện tin học hoá để tìm sách báo, đặt mua tạp chí nhà xuất bản… Tại ngân hàng, cửa hàng, người ta cập nhật tự động việc quản lý tiền bạc, hàng hoá. Tất giao tiếp gọi ứng dụng sở liệu truyền thống. Trong sở liệu truyền thống, hầu hết thông tin lưu giữ truy cập văn số. Những năm gần đây, tiến kỹ thuật đưa đến ứng dụng sở liệu. Các sở liệu đa phương tiện lưu trữ hình ảnh, phim tiếng nói. Các hệ thống thông tin địa lý lưu trữ phân tích đồ, liệu thời tiết ảnh vệ tinh. Kho liệu hệ thống phân tích trực tuyến sử dụng nhiều công ty để lấy phân tích thông tin có lợi từ sở liệu lớn nhằm đưa định. Các kỹ thuật sở liệu động thời gian thực sử dụng việc kiểm tra tiến trình công nghiệp sản xuất. Các kỹ thuật tìm kiếm sở liệu áp dụng cho World Wide Web để cung cấp việc tìm kiếm thông tin cần thiết cho người sử dụng cách duyệt qua Internet. Để hiểu sở kỹ thuật sở liệu phải sở kỹ thuật sở liệu truyền thống. Mục đích giáo trình nghiên cứu sở kỹ thuật đó. Trong chương định nghĩa sở liệu, hệ quản trị sở liệu, mô hình sở liệu thuật ngữ khác. I- Cơ sở liệu I.1- Định nghĩa sở liệu Cơ sở liệu kỹ thuật sở liệu có ảnh hưởng lớn đến việc sử dụng máy tính. Có thể nói sở liệu đóng vai trò quan trọng lĩnh vực có sử dụng máy tính giáo dục, thương mại, kỹ nghệ, khoa học, thư viện,…. Thuật ngữ sở liệu trở thành thuật ngữ phổ dụng. Một sở liệu tập hợp liệu có liên quan với nhau, lưu trữ máy tính, có nhiều người sử dụng tổ chức theo mô hình. Dữ liệu kiện ghi lại có ý nghĩa. Ví dụ, để quản lý việc học tập môi trường đại học, liệu thông tin sinh viên, môn học, điểm thi….Chúng ta tổ chức liệu thành bảng lưu giữ chúng vào sổ sách sử dụng phần mềm máy tính để lưu giữ chúng máy tính. Ta có tập liệu có liên quan đến mang nhiều ý nghĩa, sở liệu. I.2- Các tính chất sở liệu Một sở liệu có tính chất sau: 1. Một sở liệu biểu thị khía cạnh giới thực hoạt động công ty, nhà trường, ngân hàng… Những thay đổi giới thực phải phản ánh cách trung thực vào sở liệu. Những thông tin đưa vào sở liệu tạo thành không gian sở liệu “thế giới nhỏ” (miniworld) . 2. Một sở liệu tập hợp liệu liên kết với cách logic mang ý nghĩa cố hữu đó. Một sở liệu tập hợp tuỳ tiện. 3. Một sở liệu thiết kế phổ biến cho mục đích riêng. Nó có nhóm người sử dụng có chủ định có số ứng dụng xác định phù hợp với mối quan tâm người sử dụng. Nói cách khác, sở liệu có nguồn cung cấp liệu, mức độ tương tác với kiện giới thực nhóm người quan tâm tích cực đến nội dung nó. Một sở liệu có cỡ tuỳ ý có độ phức tạp thay đổi. Có sở liệu gồm vài trăm ghi (như sở liệu phục vụ việc quản lý lương quan nhỏ), có sở liệu có dung lượng lớn (như sở liệu phục vụ cho việc tính cước điện thoại, quản lý nhân phạm vi lớn). Các sở liệu phải tổ chức quản lý cho người sử dụng tìm kiếm liệu, cập nhật liệu lấy liệu cần thiết. Một sở liệu tạo trì cách thủ công tin học hoá. Một sở liệu tin học hoá tạo trì bằng nhóm chương trình ứng dụng hệ quản trị sở liệu. II- Hệ quản trị sở liệu II.1- Định nghĩa hệ quản trị sở liệu Một hệ quản trị sở liệu tập hợp chương trình giúp cho người sử dụng tạo ra, trì khai thác sở liệu. Nó hệ thống phần mềm phổ dụng, làm dễ trình định nghĩa, xây dựng thao tác sở liệu cho ứng dụng khác nhau. Định nghĩa sở liệu bao gồm việc đặc tả kiểu liệu, cấu trúc ràng buộc cho liệu lưu trữ sở. Xây dựng sở liệu trình lưu trữ liệu phương tiện lưu trữ hệ quản trị sở liệu kiểm soát. Thao tác sở liệu bao gồm chức truy vấn sở liệu để lấy liệu cụ thể, cập nhật sở liệu để phản ánh thay đổi giới nhỏ tạo báo cáo từ liệu. Các hệ quản trị sở liệu dùng để thể sở liệu tin học hoá phổ dụng (là phần mềm đóng gói) chuyên dụng (là tập phần mềm tạo với mục đích riêng). Người ta gọi sở liệu hệ quản trị sở liệu thuật ngữ chung hệ sở liệu. Môi trường hệ sở liệu mô tả hình vẽ (hình I-1). II.2- Các chức hệ quản trị sở liệu Một hệ quản trị sở liệu có chức sau : 1. Lưu trữ định nghĩa, mối liên kết liệu (gọi siêu liệu) vào từ điển liệu. Các chương trình truy cập đến sở liệu làm việc thông qua hệ quản trị sở liệu. Người sử dụng / Người lập trình Chương trình ứng dụng / Truy vấn Phần mềm xử lý Truy vấn / Chương trình Phần mềm truy cập đến liệu lưu trữ Định nghĩa sở liệu (Siêu liệu ) Cơ sở liệu Hệ quản trị sở liệu sử dụng liệu từ điển liệu để tìm kiếm cấu trúc thành phần liệu mối liên kết yêu cầu. Mọi thay đổi tệp sở liệu tự động ghi lại vào từ điển liệu. Như vậy, hệ quản trị sở liệu giải phóng người sử dụng khỏi việc lập trình cho mối liên kết phức tạp chương trình, việc sửa đổi chương trình truy cập đến tệp sở liệu bị sửa đổi. Nói cách khác, hệ quản trị sở liệu loại bỏ phụ thuộc liệu cấu trúc khỏi hệ thống. Hình I-1. Môi trường hệ sở liệu 2. Tạo cấu trúc phức tạp theo yêu cầu để lưu trữ liệu. Nó giúp người sử dụng làm nhiệm vụ khó khăn định nghĩa lập trình cho đặc trưng vật lý liệu. 3. Biến đổi liệu nhập vào để phù hợp với cấu trúc liệu điểm 2. Như vậy, hệ quản trị sở liệu giúp người sử dụng phân biệt dạng logic dạng vật lý liệu. Bằng việc trì độc lập liệu, hệ quản trị sở liệu chuyển yêu cầu logic thành lệnh định vị cách vật lý lấy liệu yêu cầu. Điều có nghĩa hệ quản trị sở liệu tạo khuôn dạng cho liệu lấy để làm cho phù hợp với mong muốn logic người sử dụng. 4. Tạo hệ thống bảo mật áp đặt tính bảo mật riêng tư sở liệu. 5. Tạo cấu trúc phức tạp cho phép nhiều người sử dụng truy cập đến liệu 6. Cung cấp thủ tục lưu phục hồi liệu để đảm bảo an toàn toàn vẹn liệu. 7. Xúc tiến áp đặt quy tắc an toàn để loại bỏ vấn đề toàn vẹn liệu. Điều cho phép ta làm tối thiểu dư thừa liệu làm tối đa tính quán liệu. 8. Cung cấp việc truy cập liệu thông qua ngôn ngữ truy vấn. Một ngôn ngữ truy vấn ngôn ngữ phi thủ tục cho phép người sử dụng cần phải làm mà không cần phải làm nào. Các hệ quản trị sở liệu cung cấp việc truy cập liệu cho người lập trình thông qua ngôn ngữ thủ tục. II.3- Các đặc trưng giải pháp sở liệu Trước khái niệm sở liệu đời, hệ thống tệp (file) phương pháp áp dụng việc quản lý. Một tệp xem cặp hồ sơ lưu trữ thông tin liên quan đến công việc riêng biệt. Ví dụ, quan, phận tài vụ có cặp hồ sơ liên quan đến lương nhân viên, phận tổ chức có cặp hồ sơ liên quan đến vấn đề nhân sự… Việc xử lý để lấy thông tin thống kê lương, trình công tác… lúc đầu thực cách thủ công. Dần dần, khối lượng thông tin ngày lớn, việc xử lý thông tin ngày phức tạp, người ta sử dụng máy tính vào việc quản lý. Các cặp hồ sơ chuyển thành tệp máy tính việc xử lý thông tin thực cách lập trình (trong ngôn ngữ lập trình hệ 3). Việc quản lý theo giải pháp hệ thống tệp có nhiều nhược điểm. Thứ nhất, dư thừa thông tin: thông tin lưu trữ nhiều lần (chẳng hạn, danh sách nhân viên có mặt tệp lương có mặt tệp nhân sự). Điều gây việc lãng phí nhớ dễ gây sai sót cập nhật liệu, dễ sinh liệu không đắn. Thứ hai, việc phụ thuộc chương trình ứng dụng liệu. Mỗi có thay đổi cấu trúc tệp liệu tệp, chương trình ứng dụng khai thác thông tin tệp thay đổi theo. Điều gây khó khăn lớn cho việc bảo trì. Giải pháp sở liệu đời giải nhược điểm đó. Cụ thể, giải pháp sở liệu có đặc trưng sau: 1. Bản chất tự mô tả hệ sở liệu. Một đặc trưng giải pháp sở liệu hệ thống sở liệu không gồm có thân sở liệu mà có định nghĩa mô tả đầy đủ cấu trúc sở liệu ràng buộc. Định nghĩa lưu trữ từ điển hệ thống, chứa thông tin cấu trúc tệp, kiểu dạng lưu trữ mục liệu. Các thông tin lưu giữ từ điển gọi siêu liệu (meta-data) chúng mô tả cấu trúc liệu nguyên thuỷ (hình I-1). Phần mềm hệ quản trị sở liệu người sử dụng sở liệu sử dụng từ điển để lấy thông tin cấu trúc sở liệu. 2. Sự độc lập chương trình liệu. Trong hệ thống tệp, cấu trúc tệp sở liệu nhúng vào chương trình truy cập, thay đổi cấu trúc tệp đòi hỏi phải thay đổi tất chương trình truy cập đến tệp đó. Ngược lại, chương trình truy cập hệ quản trị sở liệu không đòi hỏi việc thay đổi thế. Cấu trúc tệp liệu lưu trữ từ điển tách rời với chương trình truy cập. Tính chất gọi độc lập liệu – chương trình. 3. Hỗ trợ khung nhìn liệu nhiều thành phần. Một sở liệu có nhiều người sử dụng, người đòi hỏi phối cảnh khung nhìn (view) khác nhau. Một khung nhìn tập sở liệu chứa liệu ảo, liệu trích từ tệp sở liệu khác không lưu trữ cách rõ ràng. Một hệ quản trị sở liệu nhiều người sử dụng phải cung cấp nhiều công cụ để định nghĩa khung nhìn nhiều thành phần. 4. Chia sẻ liệu nhiều người sử dụng. Một hệ quản trị sở liệu nhiều người sử dụng phải cho phép nhiều người sử dụng truy cập đồng thời đến sở liệu. Hệ quản trị sở liệu phải có phần mềm kiểm tra cạnh tranh để đảm bảo người sử dụng cập nhật đến sở liệu phải thực theo cách kiểm tra kết cập nhật đắn. 10 3) Đặt thuộc tính lại (những thuộc tính chưa đặt vào quan hệ nào) vào quan hệ đơn để đảm bảo tính chất bảo toàn thuộc tính. Ví dụ áp dụng: Xét lược đồ: R = { A,B,C,D} , với phụ thuộc hàm: F = {A → BCD; BC → DA; D →B} Lược đồ có hai khóa dự tuyển A BC. Ta thực thuật toán sau: Trước tiên ta tìm G phủ tối thiểu F. Theo thuật toán tìm phủ tối thiểu, ta làm cho vế phải G chứa thuộc tính, ta có: G = {A → B; A → C; A→ D; BC → D; BC → A; D → B} Sau ta bỏ phụ thuộc hàm thừa (là phụ thuộc hàm suy diễn từ phụ thuộc hàm khác). Ta thấy A →B thừa có A →D, D →B. Vậy G lại là: G = {A → C; A→ D; BC → D; BC → A; D → B}. Lược đồ R tách thành: R1( A,C,D); R2(B,C,D,A); R3(D,B) với khóa gạch dưới. Rõ ràng tất phụ thuộc hàm G thuật toán bảo toàn phụ thuộc xuất trong quan hệ phép tách D. Bởi G tương đương với F, tất phụ thuộc F bảo toàn trực tiếp thuật toán suy diễn từ phụ thuộc hàm quan hệ kết quả, tính chất bảo toàn phụ thuộc đảm bảo. III.3.3- Phép tách kết nối không mát Phép tách D phải có tính chất nối không mát (hoặc tính chất nối không phụ thêm), đảm bảo giả tạo áp dụng phép nối tự nhiên vào quan hệ phép tách. Chúng ta đưa ví dụ phép tách tính chất nối không thông tin phần I.4 chương này. Trong phép tách đó, ta thực phép nối tự nhiên quan hệ phép tách, nhiều giả sinh ra. Một cách hình thức, ta nói phép tách D = { R1, R2,…,Rm} R có tính chất nối không mát (không phụ thêm) tập hợp phụ thuộc hàm F R với trạng thái quan hệ r R thỏa mãn F * ( πR1(r) , πR1(r) …, πR1(r) ) = r * phép nối tự nhiên quan hệ D. Nếu phép tách tính chất nối không mát thông tin nhận phụ thêm (các giả) sau áp dụng phép chiếu nối tự nhiên. Nghĩa 100 từ mát mát thông tin chưa giá trị. Vì vậy, với tính chất ta nên gọi xác tính chất nối không phụ thêm. Chúng ta có thuật toán để kiểm tra phép tách có tính chất nối không mát thông tin hay không sau: Thuật toán 5.2: Kiểm tra tính chất nối không mát Input: Một quan hệ vũ trụ R(A1,A2,…An), phép tách D = {R1, R2, …, Rm} R tập F phụ thuộc hàm. 1) Tạo ma trận S có m hàng, n cột. Mỗi cột ma trận ứng với thuộc tính, hàng ứng với quan hệ Ri 2) Đặt S(i,j) = thuộc tính Aj thuộc quan hệ Ri trường hợp ngược lại. 3) Lặp lại vòng lặp sau việc thực vòng lặp không làm thay đổi S: Với phụ thuộc hàm X → Y F, xác định hàng S có ký hiệu cột ứng với thuộc tính X. Nếu có hàng số chứa cột ứng với thuộc tính Y làm cho làm cho cột tương ứng hàng khác chứa 1. 4) Nếu có hàng chứa toàn ký hiệu “1” phép tách có tính chất nối không mát, ngược lại, phép tách tính chất đó. Cho trước quan hệ R tách thành số quan hệ R1, R2, ,Rm . Thuật toán 5.2 bắt đầu việc tạo trạng thái quan hệ r ma trận S. Hàng i S biểu diễn t i (tương ứng với quan hệ Ri). Hàng có ký hiệu “1” cột tương ứng với thuộc tính Ri ký hiệu “0” cột lại. Sau thuật toán biến đổi hàng ma trận (trong vòng lặp bước 3) cho chúng biểu diễn thỏa mãn tất phụ thuộc hàm F. Ở cuối vòng lặp áp dụng phụ thuộc hàm, hai hàng S – chúng biểu diễn hai r – có giá trị giống thuộc tính X vế trái phụ thuộc hàm X→ Y F có giá trị giống thuộc tính vế phải Y. Có thể sau áp dụng vòng lặp bước 3, hàng S kết thúc với toàn ký hiệu “1” D có tính chất nối không mát F. Mặt khác, hàng kết thúc tất ký hiệu “1” D không thỏa mãn tính chất nối không mát. Trong trường hợp sau, trạng thái quan hệ r biểu diễn S cuối thuật toán ví dụ trạng thái quan hệ r R thỏa mãn phụ thuộc F không thỏa mãn 101 điều kiện nối không mát . Như vậy, quan hệ dùng phản ví dụ chứng minh D tính chất nối không mát F. Chú ý ký hiệu “1” “0” ý nghĩa đặc biệt cuối thuật toán. Ví dụ áp dụng 1: R = ( MãsốNV, TênNV, MãsốDA, TênDA, ĐịađiểmDA, Sốgiờ) R1= ( TênNV, ĐịađiểmDA) R2 = ( MãsốNV, MãsốDA, Sốgiờ, TênDA, ĐịađiểmDA ) F= { Mã sốNV→ TênNV, MãsốDA → {TênDA, ĐịađiểmDA}, {MãsốNV, Mã sốDA}→ Sốgiờ} MãsốNV TênNV Mã sốDA TênDA ĐịađiểmDA Sốgiờ R1 0 R2 1 1 Xét phụ thuộc hàm MãsốNV → TênNV, MãsốDA → {TênDA, ĐịađiểmDA}, {MãsốNV, Mã sốDA} → Sốgiờ. Ta thấy trường hợp thuộc tính tương ứng với vế trái có giá trị 1, ta làm để biến đối ma trận. Ma trận không chứa hàng gồm toàn ký hiệu “1”. Phép tách mát. Ví dụ áp dụng 2: R = (MãsốNV, TênNV, MãsốDA, TênDA, ĐịađiểmDA, Sốgiờ) R1= (MãsốNV, TênNV) R2 = (MãsốDA, TênDA, ĐịađiểmDA) R3 = (MãsốNV, MãsốDA, Sốgiờ) F= {Mã sốNV→ TênNV, MãsốDA → {TênDA, ĐịađiểmDA}, {MãsốNV, MãsốDA} → Sốgiờ} MãsốNV TênNV R1 1 R2 0 R3 (Giá trị ban đầu ma trận S) Mã sốDA 1 TênDA 1 ĐịađiểmDA 1 Sốgiờ 0 MãsốNV TênNV Mã sốDA TênDA ĐịađiểmDA Sốgiờ R1 1 0 0 R2 0 1 R3 1 1 1 (Ma trận S sau áp dụng hai phụ thuộc hàm dòng cuối ko chứa toàn ký hiệu “a”). Ma trận chứa hàng gồm toàn ký hiệu 1. Phép tách không mát. 102 Hình IV-22. Thuật toán kiểm tra nối không mát Thuật toán 5.2 cho phép kiểm tra xem phép tách D cụ thể có tuân theo tính chất nối không mát hay không. Câu hỏi liệu có thuật toán tách lược đồ quan hệ vũ trụ R = {A1, A2, …, An} thành phép tách D = {R1, R2, …,Rm} cho Ri BCNF phép tách D có tính chất nối không mát F hay không? Câu trả lời có. Trước trình bày thuật toán, ta xem số tính chất phép tách nối không mát nói chung. Tính chất 1: Một phép tách D = {R1,R2} R có tính chất nối không mát tập phụ thuộc hàm F R - Hoặc phụ thuộc hàm ((R1∩ R2 ) → (R1− R2)) F+. - Hoặc phụ thuộc hàm ((R1∩ R2) → (R2 − R1)) F+. Với tính chất này, kiểm tra lại phép tách chuẩn hóa 4.3 thấy phép tách thỏa mãn tính chất nối không mát. Tính chất 2: Nếu phép tách D = {R1, R2, …, Rm} R có tính chất nối không mát tập phụ thuộc hàm F R phép tách D1 = {Q1, Q2, …,Qk} Ri có tính chất nối không mát phép chiếu F Ri phép tách D2 = { R1, R2,…, Ri-1, Q1, Q2,…,Qk, Ri+1,…, Rm} R có tính chất nối không mát F. Tính chất nói phép tách D có tính chất nối không mát tập F tiếp tục tách quan hệ Ri D thành phép tách khác D1 (l = 1,2, k) có tính chất nối không mát πRi(F) việc thay Ri D D1 (l = 1,2, k) tạo phép tách có tính chất nối không mát F. Thuật toán 5.3 sau sử dụng hai tính chất để tạo phép tách D = {R 1, R2, …, Rm} quan hệ vũ trụ R dựa tập phụ thuộc hàm F cho Ri BCNF. Thuật toán 5.3: Tách quan hệ thành quan hệ BCNF với tính chất nối không mát. Input: Một quan hệ vũ trụ R tập hợp phụ thuộc hàm F thuộc tính R. 1. Đặt D := {R} ; 2. Khi có lược đồ quan hệ Q D BCNF, thực vòng lặp: Với lược đồ quan hệ Q D không BCNF tìm phụ thuộc hàm X→ Y Q vi phạm BCNF thay Q D hai lược đồ quan hệ (Q-Y) (X∪Y). Quá trình lặp dừng không quan hệ D vi phạm BCNF. 103 Mỗi lần vào vòng lặp thuật toán 5.3, tách quan hệ Q BCNF thành hai lược đồ quan hệ. Theo tính chất 2, phép tách D có tính chất nối không mát. Kết thúc thuật toán, tất quan hệ D BCNF. Trong bước thuật toán 5.3, cần xác định xem lược đồ quan hệ Q có BCNF hay không. Một phương pháp để làm điều kiểm tra. Với phụ thuộc hàm X → Y Q, ta tính X+. Nếu X+ không chứa tất thuộc tính Q X → Y vi phạm BCNF X siêu khóa. Một kỹ thuật dựa quan sát lược đồ quan hệ Q vi phạm BCNF có tồn cặp thuộc tính A,B Q cho {Q – {A,B}} → A. Bằng việc tính bao đóng {Q – {A,B}}+ cho cặp thuộc tính {A,B} Q kiểm tra xem bao đóng có chứa A (hoặc B) hay không, xác định Q có BCNF hay không. Ví dụ áp dụng: Xét lược đồ quan hệ R = { A, B, C, D, E, F) Với phụ thuộc hàm: A → BCDEF, BC → ADEF, B→ F, D→ E, D→ B Lược đồ quan hệ có hai khóa dự tuyển A BC. Ta có B → F vi phạm BCNF B siêu khóa, R tách thành: R1(B,F) với phụ thuộc hàm B→ F R2(A,B,C,D,E) với phụ thuộc hàm A→SCDE, BC→ADF, D→E, D→B Do D→ E vi phạm BCNF ( D thuộc tính không khóa ), R2 tách thành: R21(D,E) với phụ thuộc hàm D → E R22(ABCD) với phụ thuộc hàm A → BCD, BC→ AD, D→ B Do D B vi phạm BCNF (Dkhông phải thuộc tính khóa), R22 tách thành: R221(D,B) R222(A,B,D) với phụ thuộc hàm A → BD (phụ thuộc hàm BC → AD bị mất) Tóm lại, ta có phép tách D = {R1, R21, R221, R222}. Phép tách có tính chất nối không thông tin không bảo toàn phụ thuộc. Nếu muốn có phép tách có tính chất nối không mát bảo toàn phụ thuộc ta phải hài lòng với lược đồ quan hệ dạng 3NF. Thuật toán sau cải tiến thuật toán 5.1, tạo phép tách thỏa mãn : - Bảo toàn phụ thuộc. 104 - Có tính chất nối không mát. - Mỗi lược đồ quan hệ kết dạng 3NF. Thuật toán 5.4: Thuật toán tổng hợp quan hệ với tính chất bảo toàn phụ thuộc nối không mát. Input: Một quan hệ vũ trụ R tập phụ thuộc hàm F thuộc tính R. 1) Tìm phủ tối thiểu G cho F. 2) Với vế trái X phụ thuộc hàm xuất G tạo lược đồ quan hệ D với thuộc tính {X∪{A1}∪{A2}∪…∪ {Ak}}, X →A1, X→A2,…, X→ Ak phụ thuộc hàm G với X vế trái (X khóa quan hệ này). 3) Nếu lược đồ quan hệ D chứa khóa R tạo thêm lược đồ quan hệ D chứa thuộc tính tạo nên khóa R. Bước thuật toán 5.4 đòi hỏi phải xác định khóa K R. Để xác định khóa K R, ta sử dụng thuật toán sau Thuật toán xác định khóa: Tìm khóa K R dựa tập F phụ thuộc hàm. 1) Đặt K := R; 2) Với thuộc tính A K {tính (K-A)+ F; Nếu (K-A)+ chứa tất thuộc tính R đặt K := K-{A}}; *Chú ý: Chúng ta có nhận xét sau: Nếu quan hệ có khóa thuộc tính khóa quan hệ phải tập tập hợp thuộc tính vế phải phụ thuộc hàm F. Vì vậy, để tìm khóa nhanh hơn, trước tiên tính RF hợp thuộc tính vế trái phụ thuộc hàm F, sau tính bao đóng tất tập R F. Nếu bao đóng tập chứa tất thuộc tính R tập siêu khóa. Để kiểm tra khóa ta thực bước 2) thuật toán trên. Không phải lúc có khả tìm phép tách thành lược đồ quan hệ bảo toàn phụ thuộc lược đồ phép tách BCNF. Các lược đồ quan hệ phép tách theo thuật toán thường 3NF. Để có lược đồ BCNF, kiểm tra lược đồ quan hệ 3NF phép tách cách riêng rẽ để xem có thỏa mãn BCNF không. Nếu có lược đồ quan hệ Ri không BCNF ta tách tiếp để nguyên 3NF. 105 III.4- Các phụ thuộc hàm đa trị dạng chuẩn Trong phần thảo luận khái niệm phụ thuộc hàm đa trị định nghĩa dạng chuẩn 4. Các phụ thuộc đa trị hệ dạng chuẩn không cho phép thuộc tính có tập giá trị (nghĩa thuộc tính đa trị). Nếu có hai nhiều thuộc tính độc lập đa trị lược đồ quan hệ phải lặp lại giá trị thuộc tính với giá trị thuộc tính khác để giữ cho trạng thái quan hệ quán trì tính độc lập thuộc tính. Ràng buộc phụ thuộc đa trị. III.4.1- Định nghĩa phụ thuộc đa trị Giả thiết có lược đồ quan hệ R, X Y hai tập R. Một phụ thuộc đa trị (MVD), ký hiệu X →→ Y , ràng buộc sau trạng thái quan hệ R: Nếu hai t1 t2 tồn R cho t1[X] = t2[X] hai t3 t4 tồn R với tính chất sau: . t3[X] = t4[X] = t1[X] = t2[X] . t3[Y] = t1[Y] t4[Y] = t2[Y] . t3[Z] = t2[Z] t4[Z] = t1[Z] với Z = (R- (X ∪ Y)) Khi X→→Y thỏa mãn, ta nói X đa xác định Y. Bởi tính đối xứng định nghĩa, X →→ Y thỏa mãn R, X→→Z thỏa mãn R. Như X→→Y kéo theo X→→Z viết X→→Y|Z Định nghĩa hình thức rằng, cho trước giá trị cụ thể X, tập hợp giá trị Y xác định giá trị X xác định hoàn toàn X không phụ thuộc vào giá trị thuộc tính lại Z R. Như vậy, hai tồn có giá trị khác Y giá trị X giá trị Y phải lặp lại riêng rẽ với giá trị khác Z có mặt với giá trị X. Điều tương ứng cách không hình thức với Y thuộc tính đa trị thực thể biểu diễn R. Ví dụ phụ thuộc đa trị: NHÂNVIÊN TênNV Nam Nam Nam Nam TênDA DA01 DA02 DA01 DA02 TênconNV Lan Hoa Hoa Lan 106 Trong bảng có hai phụ thuộc đa trị là: TênNV→→TênDA, TênNV→→TênconNV Một MVD X→→Y gọi phụ thuộc đa trị tầm thường nếu: a) Y tập X b) X ∪ Y = R Một MVD không thỏa mãn a) b) gọi MVD không tầm thường. Nếu có phụ thuộc đa trị không tầm thường quan hệ, phải lặp giá trị cách dư thừa bộ. Trong quan hệ NHÂNVIÊN ví dụ trên, giá trị ‘DA01’, ‘DA02’ TênDA lặp lại với giá trị TênconNV (một cách đối xứng, giá trị ‘Lan’, ‘Hoa’ lặp lại với giá trị TênDA). Rõ ràng ta không mong muốn có dư thừa đó. Tuy nhiên, lược đồ quan hệ BCNF phụ thuộc hàm thỏa mãn quan hệ đó. Vì vậy, phải định nghĩa dạng chuẩn thứ tư mạnh BCNF ngăn cấm lược đồ quan hệ quan hệ NHÂNVIÊN. III.4.2- Các quy tắc suy diễn phụ thuộc hàm phụ thuộc đa trị Các quy tắc từ Qt1 đến Qt8 sau tạo nên tập hợp đắn đầy đủ cho việc suy diễn phụ thuộc hàm phụ thuộc đa trị từ tập phụ thuộc cho trước. Giả thiết tất thuộc tính chứa lược đồ quan hệ “vũ trụ” R = {A 1, A2, …,An} X, Y, Z, W tập R. Qt1) (quy tắc phản xạ cho FD): Nếu X ⊇ Y X → Y Qt2) (quy tắc tăng cho FD): {X →Y} |= XZ → YZ Qt3) (quy tắc bắc cầu cho FD): { X → Y, Y→ Z } |= X→ Z Qt4) (quy tắc bù cho MVD): {X →→Y } |= {X→→ (R-(X∪ Y))} Qt5) (quy tắc tăng cho MVD): Nếu X →→Y W ⊇ Z WX →→ YZ Qt6) (quy tắc bắc cầu cho MVD): {X→→ Y, Y→→ Z } |= X→→ (Z – Y) Qt7) (quy tắc tái tạo cho FD MVD): {X →Y} |= X→→ Y Qt8) (quy tắc liên hợp cho FD MVD): Nếu X →→ Y có tồn W với tính chất a) W ∩Y = ∅, b) W →Z c) Y ⊇ Z X → Z. Qt1 đến Qt3 quy tắc suy diễn Amstrong phụ thuộc hàm. Qt4 đến Qt6 quy tắc suy diễn liên quan đến phụ thuộc đa trị. Qt7 Qt8 liên kết phụ thuộc hàm phụ thuộc đa trị. Đặc biệt, Qt7 nói phụ thuộc hàm trường hợp đặc 107 biệt phụ thuộc đa trị. Điều có nghĩa phụ thuộc hàm phụ thuộc đa trị thỏa mãn định nghĩa hình thức phụ thuộc đa trị. Về bản, phụ thuộc hàm X →Y phụ thuộc đa trị X →→ Y với hạn chế phụ có nhiều giá trị Y kết hợp với giá trị X. Cho trước tập hợp phụ thuộc hàm phụ thuộc đa trị R = {A1, A2, …, An}, sử dụng quy tắc từ Qt1 đến Qt8 để suy tập hợp đầy đủ phụ thuộc (hàm đa trị) F + trạng thái quan hệ r R thỏa mãn F. Chúng ta lại gọi F+ bao đóng F. III.4.3- Dạng chuẩn Định nghĩa: Một lược đồ quan hệ R dạng chuẩn (4NF) tập hợp phụ thuộc F (gồm phụ thuộc hàm phụ thuộc đa trị) với phụ thuộc đa trị không tầm thường X→→Y F+ , X siêu khóa R. Như vậy, lược đồ quan hệ vi phạm 4NF chứa phụ thuộc hàm đa trị không mong muốn. Ví dụ, lược đồ quan hệ NHÂNVIÊN ví dụ vi phạm 4NF phụ thuộc hàm đa trị TênNV→→TênDA TênNV→→ Têncon, TênNV siêu khóa . Giả sử tách bảng NHÂNVIÊN thành hai bảng sau: NV_DA TênNV TênDA NV_CON TênNV TênconNV Nam DA01 Nam Lan Nam DA02 Nam Hoa Hai bảng 4NF phụ thuộc đa trị TênNV→→TênDA TênNV→→TênconNV phụ thuộc đa trị tầm thường. Trong hai bảng phụ thuộc đa trị không tầm thường phụ thuộc hàm. III.4.4- Tách có tính chất nối không mát thành quan hệ 4NF Khi tách lược đồ quan hệ R thành R1 = (X∪Y) R2 = (R-Y) dựa phụ thuộc hàm đa trị X→→Y R, phép tách có tính chất nối không mát. Đó điều kiện cần đủ cho phép tách lược đồ thành hai lược đồ có tính chất nối không mát. Ta có tính chất sau: Tính chất 1’: Các lược đồ quan hệ R1 R2 tạo thành phép tách có tính chất nối không mát R (R1∩ R2)→→ (R1 –R2) (hoặc (R1∩R2) →→(R1 –R2)). Áp dụng tính chất có thuật toán tạo phép tách có tính chất nối không mát thành lược đồ quan hệ dạng 4NF. Thuật toán 5.5: Tách quan hệ thành quan hệ 4NF với tính chất nối không mát. 108 Input: Một quan hệ vũ trụ R tập phụ thuộc hàm phụ thuộc đa trị F. 1. Đặt D := {R}; 2. Khi có lược đồ quan hệ Q D không 4NF, thực hiện: {Chọn lược đồ quan hệ Q D không 4NF; Tìm phụ thuộc đa trị không tầm thường X→→Y Q vi phạm 4NF; Thay Q D hai lược đồ quan hệ (Q – Y) (X ∪ Y)}; Ví dụ áp dụng: Xét lược đồ NHÂNVIÊN(TênNV, TênDA, TênconNV). Ta có phụ thuộc hàm đa trị TênNV→→TênDA TênNV siêu khóa, vi phạm 4NF. Ta tách thành NV_DA(TênNV, TênDA), NV_CON(TênNV, TênconNV). III.5- Các phụ thuộc nối dạng chuẩn Như thấy, tính chất tính chất 1’ cho điều kiện để lược đồ quan hệ R tách thành hai lược đồ quan hệ R1 R2 phép tách có tính chất nối không mát. Tuy nhiên, số trường hợp, phép tách có tính chất nối không mát R thành hai lược đồ quan hệ có phép tách có tính chất nối không mát thành nhiều hai quan hệ. Hơn nữa, phụ thuộc hàm R chuẩn BCNF phụ thuộc đa trị có R vi phạm 4NF. Khi phải sử dụng đến phụ thuộc khác gọi phụ thuộc nối có phụ thuộc nối thực phép tách đa chiều thành dạng chuẩn (5NF). Một phụ thuộc nối (JD), ký hiệu JD(R1, R2, …, Rn) lược đồ quan hệ R ràng buộc trạng thái r R. Ràng buộc tuyên bố trạng thái hợp pháp r R phải có phép tách có tính chất nối không mát thành R1, R2, …, Rn. Điều nghĩa là: *( πR1(r), πR2(r), …, πRn(r)) = r Một phụ thuộc nối JD(R1, R2, …, Rn) phụ thuộc nối tầm thường lược đồ quan hệ Ri JD(R1, R2, …, Rn) R. Một lược đồ quan hệ R dạng chuẩn (5NF) (hoặc dạng chuẩn nối chiếu PJNF – Project-Join normal form) tấp F phụ thuộc hàm, phụ thuộc đa trị phụ thuộc nối với phụ thuộc nối không tầm thường JD(R1, R2, …, Rn) F+, Ri siêu khóa R. Ví dụ: Xét quan hệ CUNGCẤP gồm toàn thuộc tính khóa CUNGCẤP Tênnhàcungcấp Tênhàng 109 TênDựán Ncc1 Bulong Dựán1 Ncc1 Đaiốc Dựán2 Ncc2 Bulong Dựán2 Ncc3 Đaiốc Dựán3 Ncc2 Đinh Dựán1 Ncc2 Bulong Dựán1 Ncc1 Bulong Dựán2 Giả thiết ràng buộc phụ thêm sau đúng: Khi nhà cung cấp S cung cấp hàng P VÀ dự án J sử dụng hàng P VÀ nhà cung cấp S cung cấp hàng cho dự án J THÌ nhà cung cấp S cung cấp hàng P cho dự án J. Ràng buộc phụ thuộc nối JD(R1,R2,R3) ba phép chiếu R1(Tênnhàcungcấp,Tênhàng), R2(Tênnhàcungcấp,Têndựán),R3(Tênhàng,TênDựán) quan hệ CUNGCẤP. Quan hệ CUNGCẤP tách thành ba quan hệ R1, R2, R3 dạng chuẩn 5. Chú ý ta áp dụng phép nối tự nhiên cho đôi quan hệ sinh giả, áp dụng phép nối tự nhiên cho ba quan hệ không sinh giả. R1 Tênnhàcungcấ Tênhàng R2 Tênnhàcungcấ Têndựán R3 Tênhàng Têndựán p p Ncc1 Bulong Ncc1 Dựán1 Bulong Dựán1 Ncc1 Đaiốc Ncc1 Dựán2 Đaiốc Dựán2 Ncc2 Bulong Ncc2 Dựán2 Bulong Dựán2 Ncc3 Đaiốc Ncc3 Dựán3 Đaiốc Dựán3 Ncc2 Đinh Ncc2 Dựán1 Đinh Dựán1 Việc phát phụ thuộc nối sở liệu thực tế với hàng trăm thuộc tính điều khó khăn. Vì vậy, thực tiễn thiết kế sở liệu thường không ý đến nó. Nói chung, thực tế thiết kế sở liệu, người ta chuẩn hóa bảng đến 3NF, BCNF đủ IV- Tổng kết chương câu hỏi ôn tập IV.1- Tổng kết chương Trong chương nói đến nguy hiểm xảy việc thiết kế sở liệu, xác định cách không hình thức số chuẩn mực để lược đồ quan hệ “tốt” hay “tồi” đưa số nguyên tắc không hình thức cho thiết kế tốt. Sau trình bày vài khái niệm cho phép ta thiết kế quan hệ theo cách trên-xuống cách phân tích quan hệ cách riêng rẽ. Chúng ta định nghĩa trình thiết kế phân tích tách cách giới thiệu trình chuẩn hóa. 110 Những vấn đề bất thường cập nhật xảy có dư thừa xảy quan hệ đề cập đến. Các chuẩn mực không hình thức lược đồ quan hệ tốt bao gồm ngữ nghĩa thuộc tính rõ ràng đơn giản, giá trị null mở rộng quan hệ. Một phép tách tốt phải tránh việc sinh giả thực phép nối. Chúng ta định nghĩa khái niệm phụ thuộc hàm thảo luận số tính chất nó. Các phụ thuộc hàm nguồn thông tin ngữ nghĩa thuộc tính lược đồ quan hệ. Chúng ta cách suy diễn phụ thuộc phụ thêm dựa tập phụ thuộc hàm cho trước tập quy tắc suy diễn. Chúng ta định nghĩa khái niệm bao đóng phủ tối thiểu tập phụ thuộc hàm cung cấp thuật toán tính phủ tối thiểu. Ta làm để kiểm tra xem hai tập phụ thuộc hàm có tương đương hay không. Tiếp theo, mô tả trình chuẩn hóa để đạt đến thiết kế tốt cách kiểm tra quan hệ kiểu phụ thuộc hàm không mong muốn. Chúng ta cung cấp cách chuẩn hóa liên tiếp dựa khóa định nghĩa trước quan hệ sau giảm nhẹ đòi hỏi đưa định nghĩa tổng quát dạng chuẩn có tính đến tất khóa dự tuyển quan hệ. Trong phần IV trình bày nhiều thuật toán chuẩn hóa. Đó thuật toán tổng hợp quan hệ tạo quan hệ 3NF từ lược đồ quan hệ vũ trụ dựa tập phụ thuộc hàm người thiết kế sở liệu xác định. Các thuật toán tạo quan hệ BCNF (hoặc 4NF) cách tách không mát liên tiếp quan hệ không chuẩn hóa thành hai quan hệ thành phần thời điểm. Chúng ta thảo luận hai tính chất quan trọng phép tách: tính chất nối không mát (hoặc không phụ thêm) tính chất bảo toàn phụ thuộc. Một thuật toán kiểm tra phép tách không mát thuật toán kiểm tra tính không mát phép tách thành hai quan hệ cúng trình bày. Chúng ta thấy việc tổng hợp quan hệ dạng 3NF đảm bảo hai tính chất có khả việc tổng hợp quan hệ BCNF có khả đảm bảo tính không mát, đảm bảo tính bảo toàn phụ thuộc. Cuối cùng, nghiên cứu loại phụ thuộc khác: phụ thuộc đa trị phụ thuộc nối, đưa định nghĩa dạng chuẩn 4, dạng chuẩn thuật toán tách quan hệ vi phạm thành quan hệ 4NF, 5NF. Việc phát phụ thuộc nối khó khăn nên thiết kế thực tiễn người ta thường bỏ qua nó. 111 IV.2- Câu hỏi ôn tập 1) Hãy giải thích ngữ nghĩa thuộc tính độ đo không hình thức tính tốt lược đồ quan hệ. 2) Hãy thảo luận bất thường chèn, xóa sửa đổi. Vì chúng xem không tốt? Hãy minh họa ví dụ. 3) Hãy trình bày vấn đề giả làm để ngăn ngừa chúng? 4) Trình bày nguyên tắc việc thiết kế lược đồ quan hệ. Hãy minh họa việc vi phạm nguyên tắc có hại nào? 5) Phụ thuộc hàm gì? Ai người phụ thuộc hàm thuộc tính lược đồ quan hệ? 6) Vì suy phụ thuộc hàm từ trạng thái quan hệ cụ thể? 7) Vì quy tắc suy diễn Amstrong (Qt1 đến Qt3) quan trọng? 8) Tính đầy đủ tính đắn quy tắc suy diễn Amstrong gì? 9) Bao đóng tập phụ thuộc hàm gì? 10) Khi hai tập phụ thuộc hàm tương đương? Làm để kiểm tra tính tương đương chúng? 11) Tập tối thiểu phụ thuộc hàm gì? Có phải tập tối thiểu phụ thuộc hàm có tập tối thiểu tương đương hay không? 12) Thuật ngữ quan hệ không chuẩn hóa ám gì? 13) Định nghĩa dạng chuẩn 1NF, 2NF, 3NF, BCNF dựa khóa dạng chuẩn dạng tổng quát. Sự khác hai định nghĩa gì? 14) Phụ thuộc hàm cần tránh quan hệ 3NF? 15) Định nghĩa dạng chuẩn Boyce-Codd. Nó khác với 3NF? Vì xem mạnh 3NF? 16) Điều kiện bảo toàn thuộc tính phép tách gì? 17) Vì dạng chuẩn tự chưa đủ điều kiện cho thiết kế lược đồ tốt? 18) Tính chất bảo toàn phụ thuộc phép tách gì? Vì quan trọng? 19) Vì đảm bảo phép tách lược đồ quan hệ không BCNF thành BCNF bảo toàn phụ thuộc? Hãy cho phản ví dụ. 20) Tính chất nối không mát (không phụ thêm) phép tách gì? Vì quan trọng? 112 21) Giữa tính chất bảo toàn phụ thuộc nối không mát thiết phải thỏa mãn? Vì sao? Phụ thuộc hàm đa trị gì? Nó ràng buộc gì? Khi sinh ra? 22) Hãy minh họa trình tạo quan hệ dạng chuẩn 1? Làm để có dạng chuẩn cách đắn, tránh phụ thuộc đa trị? 23) Định nghĩa dạng chuẩn 4. Nó có lợi gì? 24) Định nghĩa phụ thuộc nối dạng chuẩn 5. IV.3- Bài tập 1) Hãy kiểm tra quy tắc suy diễn phụ thuộc hàm sau hay sai: a) {W →Y, X →Z} |= {WX →Y} b) {X →Y} Y ⊇Z |= {X →Z} c) {X →Y , X →W, WY →Z} |= {X →Z} d) {XY →Z, Y →W} |= {XW →Z} e) {X →Z, Y →Z} |= {X →Y} f) {X →Y, Z →W} |= {XZ →YW} g) {XY →Z , Z →X} |= {Z →Y} h) {X →Y, Y →Z} |= {X →YZ} i) {XY →Z, Z →W} |= {X →W} 2) Cho lược đồ quan hệ R(A,B,C,D,E,F,G,H,I,J) tập phụ thuộc hàm sau đây: F1 = {AB → C, A → DE, B → F, F → GH, D→ IJ} a) Khóa quan hệ gì? Hãy tách quan hệ thành 2NF, sau thành 3NF. b) Làm lại câu a) với tập phụ thuộc hàm sau: G1= { AB → C, BD → EF, AD→ GH, A → I , H → J } 3) Xét quan hệ R(A,B,C,D,E) phụ thuộc hàm sau: AB →C, CD →E, DE → B. AB có phải khóa dự tuyển quan hệ không? Vì sao? Hãy tìm khóa nó. 4) Cho quan hệ sau: A 10 10 11 12 13 B b1 b2 b4 b3 b1 C c1 c2 c1 c4 c1 BộID #1 #2 #3 #4 #5 113 14 b3 c4 #6 Những phụ thuộc hàm sau đúng: A → B , B → C, C → B, B → A, C → A. Nếu có phụ thuộc hàm sai, giải thích sao. TÀI LIỆU THAM KHẢO [1]. Nguyễn Tiến Vượng, Nhập môn Cơ sở liệu quan hệ. [2]. Peter Rob, Carlos Coronel, Database Systems: Design. 114 [3]. Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database systems. Addison Wesley, 2000. 115 [...]... Con người trong hệ cơ sở dữ liệu Với một cơ sở dữ liệu lớn, rất nhiều người tham gia vào việc thiết kế, sử dụng và duy trì cơ sở dữ liệu Những người liên quan đến hệ cơ sở dữ liệu được chia thành hai nhóm chính Nhóm thứ nhất gồm những người mà công việc của họ liên quan hàng ngày đến cơ sở dữ liệu, đó là những người quản trị cơ sở dữ liệu, thiết kế cơ sở dữ liệu, sử dụng cơ sở dữ liệu, phân tích hệ... thái khác Việc phân biệt giữa lược đồ cơ sở dữ liệu và trạng thái cơ sở dữ liệu là rất quan trọng Khi chúng ta định nghĩa một cơ sở dữ liệu mới, ta chỉ đặc tả lược đồ cơ sở dữ liệu cho hệ quản trị cơ sở dữ liệu Tại thời điểm này, trạng thái của cơ sở dữ liệu là một trạng thái rỗng, không có dữ liệu Chúng ta nhận được trạng thái ban đầu của cơ sở dữ liệu khi ta nhập dữ liệu lần đầu tiên Từ đó trở đi, mỗi... dụ về một cơ sở dữ liệu Chúng ta hãy xem xét một cơ sở dữ liệu mà nhiều người đã quen biết: cơ sở dữ liệu TRƯỜNG Cơ sở dữ liệu này lưu giữ các thông tin liên quan đến sinh viên, các môn học, điểm… trong một môi trường đại học Cơ sở dữ liệu được tổ chức thành 5 bảng, mỗi bảng lưu trữ các bản ghi dữ liệu cùng một kiểu Bảng SINHVIÊN lưu giữ dữ liệu về các sinh viên, bảng MÔNHỌC lưu giữ các dữ liệu về. .. hình dữ liệu vật lý mô tả cách lưu trữ dữ liệu trong máy tính giới thiệu các thông tin như khuôn dạng bản ghi, sắp xếp bản ghi, đường truy cập… III.2- Lược đồ và trạng thái cơ sở dữ liệu Trong một mô hình dữ liệu cần phải phân biệt rõ giữa mô tả của cơ sở dữ liệu và bản thân cơ sở dữ liệu Mô tả của một cơ sở dữ liệu được gọi là lược đồ cơ sở dữ liệu, nó được xác định rõ trong quá trình thiết kế cơ sở dữ. .. được đặc tả trong ngôn ngữ hệ cơ sở dữ liệu một cách chính xác trước khi chúng được xử lý III- Mô hình cơ sở dữ liệu Các loại cấu trúc cơ sở dữ liệu và mối liên hệ giữa chúng đóng vai trò rất lớn trong việc xác định tính hiệu quả của hệ quản trị cơ sở dữ liệu Vì vậy, thiết kế cơ sở dữ liệu trở thành hoạt động chính trong môi trường cơ sở dữ liệu Việc thiết kế cơ sở dữ liệu được thực hiện đơn giản hơn... của hệ thống 16 V- Ngôn ngữ cơ sở dữ liệu và giao diện V.1- Các ngôn ngữ hệ quản trị cơ sở dữ liệu Một khi việc thiết kế cơ sở dữ liệu đã hoàn thành, cần phải chọn một hệ quản trị cơ sở dữ liệu để cài đặt cơ sở dữ liệu Trong các hệ quản trị cơ sở dữ liệu hiện nay thường có các ngôn ngữ: ngôn ngữ định nghĩa dữ liệu (data definition language – DDL) và ngôn ngữ thao tác dữ liệu (data manipulation language... đưa ra các cơ sở dữ liệu tốt và trên cơ sở đó sẽ có 12 các ứng dụng tốt Ngược lại, mô hình không tốt sẽ đưa đến thiết kế cơ sở dữ liệu tồi và dẫn đến các ứng dụng không đúng Một mô hình cơ sở dữ liệu là một tập hợp các khái niệm dùng để biểu diễn các cấu trúc của cơ sở dữ liệu Cấu trúc của một cơ sở dữ liệu là các kiểu dữ liệu, các mối liên kết và các ràng buộc phải tuân theo trên các dữ liệu Nhiều... sở dữ liệu, các tài nguyên là cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và các phần mềm liên quan Người quản trị hệ cơ sở dữ liệu là người chịu trách nhiệm quản lý các tài nguyên đó Người này chịu trách nhiệm về việc cho phép truy cập cơ sở dữ liệu, tổ chức và hướng dẫn việc sử dụng cơ sở dữ liệu, cấp các phần mềm và phần cứng theo yêu cầu IV.2- Người thiết kế cơ sở dữ liệu (Database Designer) Người này... Các dữ liệu trong một cơ sở dữ liệu tại một thời điểm cụ thể được gọi là một trạng thái cơ sở dữ liệu hoặc là ảnh (snapshot) của cơ sở dữ liệu Nhiều trạng thái quan hệ có thể được xây dựng để làm tương ứng với một lược đồ cơ sở dữ liệu cụ thể Mỗi khi chúng ta chèn vào hoặc loại bỏ một bản ghi, sửa đổi giá trị của một mục dữ liệu trong một bản ghi, chúng ta đã làm thay đổi trạng thái của cơ sở dữ liệu. .. quản trị cơ sở dữ liệu, hệ cơ sở dữ liệu, từ điển cơ sở dữ liệu, mô hình cơ sở dữ liệu 2 Nêu các tính chất của một cơ sở dữ liệu 3 Nêu các chức năng của một hệ quản trị cơ sở dữ liệu 4 Giải thích các đặc trưng của giải pháp cơ sở dữ liệu 5 Định nghĩa mô hình cơ sở dữ liệu và phân loại 6 Liệt kê các người có liên quan đến hệ cơ sở dữ liệu 18 Chương 3 MÔ HÌNH CSDL THỰC THỂ - LIÊN KẾT Trong chương này chúng . nghĩa cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, mô hình cơ sở dữ liệu và các thuật ngữ cơ bản khác. I- Cơ sở dữ liệu I.1- Định nghĩa cơ sở dữ liệu Cơ sở dữ liệu và kỹ thuật cơ sở dữ liệu đã. trúc lưu trữ của cơ sở dữ liệu. VI- Câu hỏi ôn tập 1. Định nghĩa các thuật ngữ : cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ liệu, từ điển cơ sở dữ liệu, mô hình cơ sở dữ liệu. 2. Nêu. VÀ CHUẨN HÓA CƠ SỞ DỮ LIỆU QUAN HỆ, CÁC THUẬT TOÁN THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ 75 4 Chương I- CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU Các cơ sở dữ liệu và các hệ cơ sở dữ liệu đã trở thành