Giáo trình cơ sở dữ liệu nghề công nghệ thông tin - Trung cấp

57 0 0
Tài liệu đã được kiểm tra trùng lặp
Giáo trình cơ sở dữ liệu nghề công nghệ thông tin - Trung cấp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

- Ý nghĩa và vai trò của mô đun: Mục tiêu của mô đun: - Viết các câu lệnh truy vấn đến cơ sở dữ liệu bằng SQL; - Xây dựng được các ràng buộc, các phụ thuộc hàm, cách chuẩn hóa các cơ sở

Trang 1

SỞ LAO ĐỘNG, THƯƠNG BINH VÀ XÃ HỘI ĐẮK LẮK

TRƯỜNG TRUNG CẤP TRƯỜNG SƠN

Trang 3

LỜI GIỚI THIỆU

Giáo trình này có thể giúp các sinh viên trong việc học môn cơ sở dữ liệu ở bậc trung cấp, cao đẳng và đại học cũng như trong các kỳ thi tốt nghiệp Đại Học, Cao đẳng, trong các kỳ thi liên thông Chúng tôi mong rằng các sinh viên tự tìm hiểu trước mỗi vấn đề và kết hợp với bài giảng trên lớp của giáo viên để việc học môn này đạt hiệu quả

Giáo trình Khái niệm phụ thuộc hàm (Functional dependency) được E.F Codd đề xuất từ năm 1970 cho tới nay đã thu đuợc rất nhiều thành tựu to lớn và đóng vai trò không thể thiếu trong việc thiết kế cơ sở dữ liệu quan hệ Một trong những vấn đề quan trọng của cơ sở dữ liệu là khai phá phụ thuộc hàm từ các quan hệ Phụ thuộc hàm (Functional dependency) là một công cụ dùng để biểu diễn một cách hình thức các ràng buộc toàn vẹn Phương pháp biểu diễn này có rất nhiều ưu điểm, là công cụ cực kỳ quan trọng và hữu ích, gắn chặt với lý thuyết về phân tích, thiết kế cơ sở dữ liệu Các phụ thuộc hàm được ứng dụng trong việc giải quyết các bài toán tìm khóa, tìm phủ tối tiểu, chuẩn hóa cơ sở dữ liệu và các vấn đề về nhất quán dữ liệu Khi thiết kế một mô hình cơ sở dữ liệu, thì việc lập lược đồ cơ sở dữ liệu đạt đến một tiêu chuẩn nhất định là một công việc hết sức quan trọng, vì vậy việc xác định chuẩn cho một lược đồ quan hệ liên quan mật thiết đến thuật toán tìm khóa

Do khả năng có hạn và giáo trình được biên soạn lần đầu nên không thể tránh khỏi thiếu sót Chúng tôi rất mong nhận được sự đóng góp ý kiến của các đồng nghiệp để giáo trình ngày càng được hoàn thiện hơn

Xin chân thành cảm ơn!

Đắk Lắk, ngày 26 tháng 12 năm 2022 Tham gia biên soạn

1 Phạm Hồng Quốc - Chủ biên 2 Đậu Nguyễn Thanh Nhàn

3 Nguyễn Thái Vương

Trang 4

MỤC LỤC

LỜI GIỚI THIỆU III GIÁO TRÌNH MÔN HỌC VI

CHƯƠNG 1: KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU 1

1 KHÁI NIỆM CƠ SỞ DỮ LIỆU 1

2 SỰ CẦN THIẾT CỦA CÁC HỆ CƠ SỞ DỮ LIỆU 2

3 MÔ HÌNH KIẾN TRÚC TỔNG QUÁT 3 MỨC HỆ CƠ SỞ DỮ LIỆU 3

3.1 Mức trong 3

3.2 Mô hình dữ liệu 3

3.3 Mức ngoài 5

4 NGÔN NGỮ CON DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 5

4.1NGÔN NGỮ CON DỮ LIỆU: 5

4.2HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU: 5

5 TỔ CHỨC LƯU TRỮ DỮ LIỆU 5

6 CÁC MÔ HÌNH XỬ LÝ DỮ LIỆU 5

CHƯƠNG II: MÔ HÌNH QUAN HỆ 6

1.NGUYÊN NHÂN RA ĐỜI CỦA MÔ HÌNH QUAN HỆ 6

CHƯƠNG III: RÀNG BUỘC TOÀN VẸN QUAN HỆ 12

1.1.RÀNG BUỘC TOÀN VẸN -CÁC YẾU TỐ CỦA RÀNG BUỘC TOÀN VẸN: 12

1.1 Ràng buộc toàn vẹn 12

1.2 Các yếu tố của ràng buộc toàn vẹn: 12

2.2.PHÂN LOẠI RÀNG BUỘC TOÀN VẸN: 13

2.1 Ràng buộc toàn vẹn liên bộ 14

2.2 Ràng buộc toàn vẹn về phụ thuộc tồn tại 14

2.3 Ràng buộc toàn vẹn về miền giá trị 14

2.4 Ràng buộc toàn vẹn liên thuộc tính 14

2.5 Ràng buộc toàn vẹn liên thuộc tính liên quan hệ 15

2.6 Ràng buộc toàn vẹn về thuộc tính tổng hợp 15

CHƯƠNG IV: PHỤ THUỘC HÀM 16

1.KHÁI NIỆM PHỤ THUỘC HÀM 16

1.1 Định nghĩa phụ thuộc hàm 16

1.2 Phụ thuộc hàm hiển nhiên 17

1.3Thuật toán Satifies 17

1.4 Các phụ thuộc hàm có thể có 17

2.HỆ LUẬT DẪN ARMSTRONG 17

2.1 Phụ thuộc hàm được suy diễn logic từ F 17

2.2 Hệ luật dẫn Armstrong 17

CHƯƠNG V: PHỦ CỦA TẬP PHỤ THUỘC HÀM 20

1.BAO ĐÓNG VÀ THUẬT TOÁN XÁC ĐỊNH BAO ĐÓNG CÁC THUỘC TÍNH 20

Trang 5

1.1 Định nghĩa: 20

1.2 Thuật toán xác định bao đóng các thuộc tính 21

2.CÁC LOẠI PHỤ THUỘC HÀM 22

2.1 Phụ thuộc hàm có vế trái dư thừa 22

2.2 Phụ thuộc hàm có vế phải một thuộc tính 22

2.3 Tập phụ thuộc hàm không dư thừa 22

2.4 Tập phụ thuộc hàm tối thiểu 22

3.THUẬT TOÁN TÌM PHỦ TỐI THIỂU TỐI THIỂU 22

4.KHÓA CỦA LƯỢC ĐỒ QUAN HỆ 23

4.1 Định nghĩa 23

4.2 Thuật toán tìm tất cả các khóa 23

CHƯƠNG VI: NGÔN NGỮ THAO TÁC DỮ LIỆU 25

CHƯƠNG VII: CHUẨN HÓA CƠ SỞ DỮ LIỆU 42

1.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ 42

1.1 Dạng chuẩn một 42

1.2 Dạng chuẩn hai 42

1.3 Dạng chuẩn ba 44

1.4 Dạng chuẩn Boyce – Codd 47

2.PHÉP TÁCH KẾT NỐI BẢO TOÀN 48

2.1 Phép tách kết nối bảo toàn thông tin 48

2.2 Phép tách kết nối bảo toàn phụ thuộc hàm 49

3THIẾT KẾ CSDL BẰNG CÁCH PHÂN RÃ 50

TÀI LIỆU THAM KHẢO 51

Trang 6

GIÁO TRÌNH MÔN HỌC Tên môn học: CƠ SỞ DỮ LIỆU

Mã môn học: MH08

Vị trí, tính chất, ý nghĩa và vai trò của mô đun:

- Vị trí: Là môn học cơ sở nghề trong chương trình đào tạo Trung cấp nghề Công nghệ thông tin (ứng dụng phần mềm) Môn học này được học sau khối môn học chung

- Tính chất: Môn học cung cấp những kiến thức cơ bản về cơ sở dữ liệu, các phương pháp tiếp cận và các nguyên tắc thiết kế các hệ cơ sở dữ liệu quan hệ Mô hình hóa dữ liệu bằng kiến trúc logic và kiến trúc vật lý không tổn thất thông tin có bảo toàn phụ thuộc Các phép toán cơ bản của ngôn ngữ thao tác dữ liệu trên các hệ cơ sở dữ liệu Các phương pháp bảo mật, toàn vẹn dữ liệu

- Ý nghĩa và vai trò của mô đun:

Mục tiêu của mô đun:

- Viết các câu lệnh truy vấn đến cơ sở dữ liệu bằng SQL;

- Xây dựng được các ràng buộc, các phụ thuộc hàm, cách chuẩn hóa các cơ sở dữ liệu quan hệ;

- Xác định được đầy đủ và chính xác các khóa của các lược đồ cơ sở dữ liệu; - Thiết kế được một số cơ sở dữ liệu quan hệ thông dụng: quản lý nhân sự, quản lý bán hàng,

Trang 7

CHƯƠNG 1: KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU Giới thiệu:

Mục tiêu:

- Trình bày được khái niệm cơ sở dữ liệu;

- Trình bày được sự cần thiết của các hệ cơ sở dữ liệu;

- Trình bày được đặc điểm của mô hình kiến trúc tổng quát 3 mức hệ cơ sở dữ liệu;

- Trình bày được khái niệm ngôn ngữ con dữ liệu và hệ quản trị cơ sở dữ liệu; - Trình bày được đặc điểm và vai trò của tổ chức lưu trữ dữ liệu; Trình bày được khái niệm, ưu điểm nhược điểm của các mô hình xử lý dữ liệu; - Thiết kế được mô hình kiến trúc tổng quát 3 mức hệ cơ sở dữ liệu;

- Lập bảng so sánh 3 mức hệ cơ sở dữ liệu trong mô hình kiến trúc tổng quát - Lập được bảng so sánh các mô hình xử lý dữ liệu;

- Nghiêm túc, tỉ mỉ trong việc học và làm bài tập;

- Rèn luyện tính cẩn thận, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công việc

Nội dung chính:

1 Khái niệm cơ sở dữ liệu

Cơ sở dữ liệu (CSDL) là sự tập hợp có tổ chức (có cấu trúc) các dữ liệu có liên quan luận lý với nhau, được lưu trữ trên các thiết bị lưu trữ thông tin (băng từ, đĩa từ…) để có thể thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau Ví dụ: Để quản lý hoạt động học tập trong một trường Đại học, chúng ta sẽ quản lý các dữ liệu là các thông tin về sinh viên, về các môn học, điểm thi… Do đó, chúng ta tổ chức các dữ liệu thành các bảng và lưu giữ chúng vào sổ sách hoặc sử dụng một phần mềm máy tính để lưu giữ chúng trên máy tính Ta có một tập hợp các dữ liệu có liên quan đến nhau và mang nhiều ý nghĩa, đó là một CSDL

Hình: CSDL quản lý sinh viên

Trước hết, chúng ta cần nhấn mạnh CSDL phải là một tập hợp các thông tin mang tính hệ thống chứ không phải là các thông tin rời rạc, không có mối quan hệ với nhau Các thông tin này phải có cấu trúc và tập hợp các thông tin này phải có khả năng đáp ứng các nhu cầu khai thác của nhiều người sử dụng một cách đồng thời Đó cũng chính là các đặc trưng của CSDL

Trang 8

2 Sự cần thiết của các hệ cơ sở dữ liệu

Trong những năm gần đây, thuật ngữ “Cơ sở dữ liệu” (CSDL - Database) đã trở nên khá quen thuộc không chỉ riêng với những người làm Tin học mà còn đối với cả những người làm trong nhiều lĩnh vực khác như Thống kê, Kinh tế, Quản lý Doanh nghiệp v.v… Các ứng dụng của Tin học vào công tác quản lý ngày càng nhiều hơn và càng đa dạng hơn Có thể nói hầu hết các lĩnh vực kinh tế, xã hội, giáo dục, y tế v.v… đều đã ứng dụng các thành tựu mới của Tin học vào phục vụ công tác chuyên môn của mình Chính vì lẽ đó mà ngày càng nhiều người quan tâm đến lĩnh vực thiết kế và xây dựng các CSDL Mục đích của Chương 1 chỉ đơn giản là cung cấp các khái niệm cơ bản về CSDL để các học viên có một cái nhìn ban đầu về một CSDL và một hệ quản trị CSDL Trước hết chúng ta sẽ tìm hiểu lý do tại sao cần phải có một CSDL

Hệ thống các tập tin cổ điển (File System):

Cho đến nay vẫn còn một số đơn vị kinh tế, hành chính sự nghiệp v.v… sử dụng mô hình hệ thống các tập tin cổ điển: Chúng được tổ chức riêng rẽ, phục vụ cho một mục đích của một đơn vị hay một đơn vị con trực thuộc cụ thể Chẳng hạn, ta hãy xét ví dụ sau:

Ví dụ: Tại một công ty người ta trang bị máy vi tính cho tất cả các phòng, ban nghiệp vụ

Bộ phận Văn phòng sử dụng máy vi tính để soạn thảo văn bản bằng Microsoft Word do thủ trưởng yêu cầu về tình hình hoạt động của đơn vị, trong đó có chỉ tiêu về tổng số công nhân viên chức chia theo trình độ chuyên môn được đào tạo Phòng Kế toán sử dụng máy vi tính để tính lương và in danh sách lương của từng bộ phận trong đơn vị dựa trên danh sách cán bộ viên chức cùng hệ số lương và các hệ số phụ cấp của họ do phòng Tổ chức cung cấp Thông tin mà phòng Kế toán quản lý và khai thác là: Họ và Tên, Hệ số lương, Hệ số phụ cấp, Phụ cấp khác của các công nhân viên chức (CNVC) xếp theo từng phòng ban và sử dụng công cụ văn phòng là Microsoft Excel Phòng Tổ chức quản lý thông tin lý lịch của CNVC chi tiết hơn gồm: Họ, Tên (để riêng thành một cột “Tên” để tiện sắp xếp Alphabet), Giới tính, Ngày sinh, Ngày tuyển dụng, Hoàn cảnh gia đình, Quá trình đào tạo, Hệ số lương, Hệ số phụ cấp, Ngày xếp lương trên… nhưng thiếu thông tin về Phụ cấp khác của CNVC Phần mềm được sử dụng để quản lý là FoxPro for Windows

Trong khi đó, tại Tổng công ty của họ, các phòng ban nghiệp vụ cũng được trang bị máy vi tính Phòng Tổ chức cán bộ tại Tổng công ty sử dụng phần mềm Microsoft Access để quản lý CNVC gồm các cán bộ chủ chốt từ trường phó phòng, quản đốc và phó quản đốc xí nghiệp trở lên của các công ty con trực thuộc Thông tin quản lý tại đây cũng giống như thông tin quản lý tại phòng tổ chức của công ty con

Nhận xét: Ưu điểm:

- Việc xây dựng hệ thống các tập tin riêng tại từng đơn vị quản lý ít tốn thời gian bởi khối lượng thông tin cần quản lý và khai thác là nhỏ, không đòi hỏi đầu tư vật chất và chất xám nhiều, do đó triển khai ứng dụng nhanh

- Thông tin được khai thác chỉ phục vụ cho mục đích hẹp nên khả năng đáp ứng nhanh chóng, kịp thời

Nhược điểm:

Trang 9

- Do thông tin được tổ chức ở mỗi phòng ban mỗi khác, cũng như phần mềm công cụ để triển khai mỗi nơi cũng rất khác nhau nên sự phối hợp tổ chức và khai thác ở các phòng ban là khó khăn Thông tin ở phòng ban này không sử dụng được cho phòng ban khác, tại đơn vị con với đơn vị cấp trên Cùng một thông tin được nhập vào máy tại nhiều nơi khác nhau gây ra lãng phí công sức nhập tin và không gian lưu trữ trên các vật mang tin Sự trùng lắp thông tin có thể dẫn đến tình trạng không nhất quán dữ liệu Chẳng hạn, nhân viên Nguyễn Văn Quang được ghi đầy đủ ở phòng Tổ chức, nhưng tại phòng Kế toán chỉ ghi tắt là Nguyễn V Quang

- Thông tin được tổ chức ở nhiều nơi nên việc cập nhật cũng dễ làm mất tính nhất quán dữ liệu Một cán bộ chủ chốt của công ty có thay đổi về hoàn cảnh gia đình (mới cưới vợ / lấy chồng, sinh thêm con…) có thể được cập nhật ngay tại đơn vị nhưng sau một thời gian mới được cập nhật tại Tổng công ty

- Do hệ thống được tổ chức thành các hệ thống tập tin riêng lẻ nên thiếu sự chia sẻ thông tin giữa các nơi Việc kết nối các hệ thống này hay việc nâng cấp ứng dụng sẽ là rất khó khăn

Qua phân tích trên chúng ta nhận thấy việc tổ chức dữ liệu theo hệ thống các tập tin có nhiều nhược điểm Việc xây dựng một hệ thống tin đảm bảo được tính chất nhất quán dữ liệu, không trùng lặp thông tin mà vẫn đáp ứng được nhu cầu khai thác đồng thời của tất cả các phòng ban ở công ty và tổng công ty là thực sự cần thiết

3 Mô hình kiến trúc tổng quát 3 mức hệ cơ sở dữ liệu

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

3.1 Mức trong

Mô hình trong: Mô hình trong là mô hình lưu trữ vật lý dữ liệu Chỉ có duy nhất một và chỉ một cách biểu diễn CSDL dưới dạng lưu trữ vật lý Mô hình trong là cách biểu diễn cơ sở dữ liệu trìu tượng ở mức thấp nhất

Mô hình trong gồm nhiều xuất hiện của nhiều kiểu bản ghi lưu trữ được xác định bởi một sơ đồ trong Thông tin biểu diễn trong mô hình trong là duy nhất

Sơ đồ trong bao gồm các định nghĩa mô hình trong Không chỉ xác định các kiểu khác nhau của bản ghi lưu trữ mà còn xác định rõ sự tồn tại của các chỉ dẫn, cách sắp xếp các.bản ghi theo thứ tự nào Nó xác định dữ liệu lưu trữ và truy nhập như thế nào thông qua các đường dẫn truy nhập tới dữ liêụ

Ánh xạ quan niệm trong được xác định giữa mô hình trong và mô hình dữ liệu nhằm bảo đảm tính độc lập của dữ liệu Nếu cấu trúc lưu trữ của CSDL thay đổi, nghĩa là thay đổi định nghĩa về cấu trúc lưu trữ dữ liệu thì ánh xạ này phải cũng phải thay đổi tương ứng sao cho sơ đồ quan niệm (mô hình dữ liệu) không thay đổi

Ánh xạ quan niệm-ngoài: Là ánh xạ được xác định tương ứng môt-một giữa mô hình ngoài của người sử dụng với mô hình dữ liệu

3.2 Mô hình dữ liệu

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

Trang 10

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

Hình 1.2 Kiến trúc hệ cơ sở dữ liệu

Trang 11

3.3 Mức 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ệ CSDL, 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

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

4 Ngôn ngữ con dữ liệu và hệ quản trị cơ sở dữ liệu

4.1 Ngôn ngữ con dữ liệu:

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

4.2 Hệ quản trị cơ sở dữ liệu:

Một hệ quản trị CSDL (HQTCSDL) là:

- Một tập các phần mềm quản lý CSDL và cung cấp các dịch vụ xử lý CSDL cho những người phát triển ứng dụng và người dùng cuối

- HQTCSDL cung cấp một giao diện giữa người sử dụng và dữ liệu - HQTCSDL biến đổi CSDL vật lý thành CSDL logic

5 Tổ chức lưu trữ dữ liệu 6 Các mô hình xử lý dữ liệu

6.1 Mô hình cơ sở dữ liệu Client Server 2 lớp 6.2 Mô hình Client/Server nhiều lớp

6.3 Kỹ thuật lập trình cơ sở dữ liệu - Web động 6.4 Kiến trúc hệ thống Server

6.5 Các mô hình kiến trúc ứng dụng

Trang 12

CHƯƠNG II: MÔ HÌNH QUAN HỆ Giới thiệu:

Mục tiêu:

- Trình bày các khái niệm, nguyên nhân ra đời của mô hình quan hệ;

- Trình bày được các phép toán quan hệ và phép toán tập hợp trên mô hình quan hệ

- Chuyển đổi từ lược đồ cơ sở dữ liệu sang mô hình quan hệ dữ liệu; - Thiết kế được mô hình quan hệ

- Áp dụng các phép toán đại số quan hệ để biểu diễn trên lược đồ quan hệ; - Nghiêm túc, tỉ mỉ trong việc học và làm bài tập

- Rèn luyện tính cẩn thận, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công việc - Rèn luyện tính cẩn thận, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công việc

Ví dụ: Một mô hình thực thể liên kết Mô hình thực thể kết hợp (Mô hình ER)

Mô hình liên kết thực thể của việc bán hàng

Chuyển từ mô hình thực thể kết hợp sang lược đồ cơ sở dữ liệu

Mô hình thực thể liên kết còn gọi là mô hình dữ liệu logic hoặc sơ đồ tiêu chuẩn Nó được xây dựng dùng bốn kiểu khối xây dựng: thực thể, kiểu thực thể, thuộc tính, liên kết

a Thực thể

Trang 13

Một thực thể là khái niệm để chỉ một đối tượng, một nhiệm vụ, một sự kiện trong thế giới thực hay tư duy được quan tâm trong quản lý Một thực thể tương đương với một dòng trong bảng nào đó

Ví dụ: Sinh viên Lê An, Đơn hàng số 123,

b Kiểu thực thể

Kiểu thực thể là việc nhóm tự nhiên một số thực thể lại, mô tả cho một loại thông tin chứ không phải là bản thân thông tin Kiểu thực thể thường là tập hợp các thực thể có cùng bản chất Tên kiểu thực thể: Là một danh từ

Ví dụ: Lê An là một thực thể, được quan tâm tới vì anh ta đang học tại một

trường đại học A, tức anh ta là một sinh viên SINH VIÊN là một kiểu thực thể vì nó mô tả cho một số thực thể và dựa trên đó thông tin được lưu giữ

Kiểu thực thể được biểu diễn dạng hình chữ nhật

Chú ý: Một cách gọi khác của Kiểu thực thể - Thực thể đó là Thực thể - Thể

hiện

của thực thể

Ví dụ: Có thể nói kiểu thực thể SINH VIÊN có các thực thể Lê An, Hoàng Thị Hà hay thực thể SINH VIÊN có các thể hiện Lê An, Hoàng Thị Hà,…

c Liên kết và kiểu liên kết

Liên kết (còn gọi là quan hệ) là sự kết hợp giữa hai hay nhiều thực thể phản ánh sự ràng buộc trong quản lý

Đặc biệt: Một thực thể có thể liên kết với chính nó ta thường gọi là tự liên kết Giữa hai thực thể có thể có nhiều hơn một liên kết

Kiểu liên kết là tập hợp các liên kết có cùng bản chất Các kiểu liên kết cho biết số thể hiện lớn nhất của mỗi thực thể tham gia vào liên kết với một thể hiện của một thực thể khác Có ba kiểu liên kết: một - một, một - nhiều, nhiều – nhiều

Sinh Viên

Không

Trang 14

Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B Ngược lại mỗi thể hiện của thực thể B quan hệ với chỉ một thể hiện của thực thể A

Ký hiệu:

Ví dụ: Một khoa có nhiều sinh viên Một sinh viên thuộc về một khoa

Liên kết nhiều – nhiều (N-N)

Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B Ngược lại mỗi thể hiện của thực thể B quan hệ với nhiều thể hiện của thực thể A

Được dạy bởi

Trang 15

Chú ý :

Mô hình dữ liệu không chỉ là công cụ phân tích thiết kế mà còn như một phương pháp kiểm tra chặt chẽ các yêu cầu nghiệp vụ của người sử dụng Liên kết một - nhiều biểu thị ràng buộc là một phần của mô tả yêu cầu nghiệp vụ: Khi chiều một nhiều là mở, không xác định (khách hàng có thể có nhiều đơn hàng) thì chiều từ nhiều sang một là hoàn toàn xác định (một đơn hàng phải thuộc về một khách hàng)

Nếu hai thực thể có quan hệ một - một thường có ít lý do để coi chúng như hai bảng tách biệt => người ta thường gộp hai thực thể làm một bảng với mỗi dòng dài hơn

Nếu hai thực thể có quan hệ nhiều - nhiều thì không có sự khác biệt về bản chất giữa các chiều (không nói lên được kẻ thống trị) => ít khi được sử dụng

Tóm lại trong ba kiểu liên kết trên, liên kết một nhiều là quan trọng hơn cả và hầu như các mối quan hệ trong mô hình thực thể liên kết đều là một nhiều

d Thuộc tính:

Thuộc tính là giá trị thể hiện một đặc điểm nào đó của một thực thể hay một liên kết Mỗi thuộc tính có một tập giá trị gọi là miền giá trị của thuộc tính đó Ký hiệu miền giá trị của thuộc tính A là D(A)

Ví dụ: Thực thể SINH VIÊN có các thuộc tính như: M SV, tên SV, ngày sinh, giới tính, địa chỉ,…

Các kiểu thuộc tính:

Thuộc tính định danh (c.n gọi là định danh thực thể, đôi khi c.n gọi là thuộc tính khoá):

Là một hoặc một số thuộc tính mà giá trị của nó cho phép phân biệt các thực thể khác nhau Một thực thể bao giờ cũng được xác định một thuộc tính định danh làm cơ sở để phân biệt các thể hiện cụ thể của nó Ví dụ : Số hiệu khách hàng, Mã mặt hàng, Mã sinh viên,

Thuộc tính mô tả: Là các thuộc tính mà giá trị của chúng chỉ có tính mô tả cho

thực thể hay liên kết mà thôi Hầu hết các thuộc tính trong một kiểu thực thể đều là mô tả

Một số thuộc tính mô tả đặc biệt:

Thuộc tính tên gọi : Là thuộc tính mô tả để chỉ tên các đối tượng thuộc thực

thể Thuộc tính tên gọi để phân biệt các thực thể (tách các thực thể)

Thuộc tính kết nối (thuộc tính khoá ngoài): Là thuộc tính chỉ ra mối quan hệ giữa một

thực thể đ có và một thực thể trong bảng khác Thuộc tính kết nối giống thuộc tính mô tả thông thường trong thực thể chứa nó nhưng nó lại là thuộc tính khoá của một thực thể trong bảng khác

Ví dụ:

Được Dạy bởi

Dạy

Trang 16

HoTen Thuộc tính tên gọi TenMH

Công ty cũng cần lưu giữ thông tin về các nhà cung cấp như trên, địa chỉ, điện thoại, fax Mỗi nhà cung cấp có một mã duy nhất Mỗi nhà cung cấp có thể cung cấp nhiều mặt hàng nhưng mỗi mặt hàng chỉ được cung cấp từ một nhà cung cấp

Các mặt hàng được lưu giữ trong các kho Mỗi kho hàng có một diện tích khác nhau và chỉ chứa một loại mặt hàng

Công ty có nhiều cửa hàng đại lý để bán các mặt hàng Hàng được cung cấp cho các cửa hàng thông qua các phiếu xuất Thông tin trên mỗi phiếu xuất cần có: Mã số cửa hàng nhận hàng, ngày xuất, thông tin về các mặt hàng được xuất như tên hàng, số lượng, đơn giá, thành tiền

Yêu cầu: Vẽ mô hình thực thể liên kết của hệ thống

Xác định các thực thể, định danh thực thể và các thuộc tính mô tả:

HÀNG - mã hàng, tên hàng, đơn giá, số lượng, mô tả

NHÀ CUNG CẤP – mã NCC, tên NCC, địa chỉ, điện thoại, fax KHO – số kho, diện tích, mô tả

PHIẾU XUẤT – số phiếu, ngày xuất, số cửa hàng CỬA HÀNG - số cửa hàng, địa điểm, mô tả

Một cửa hàng nhận được 0, 1 hoặc nhiều phiếu xuất Mỗi phiếu xuất cần được

xuất cho chỉ một cửa hàng

Trang 17

Vẽ mô hình thực thể liên kết

Mô hình liên kết thực thể của hệ thống bán hàng trong công ty Y

Quan hệ N-N giữa HÀNG và PHIẾU XUẤT có thể được tách thành 2 quan hệ 1-N với thực thể kết hợp DÒNG PHIẾU XUẤT như sau:

Tách liên kết nhiều – nhiều giữa Hàng- Phiếu xuất

Được cung cấp bởi

Cung

Được chứa trong

Xuất

Được xuất trong

Nhận được

Xuất cho

Trang 18

CHƯƠNG III: RÀNG BUỘC TOÀN VẸN QUAN HỆ

Giới thiệu: Mục tiêu:

- Trình bày được khái niệm, cách phân loại, các yếu tố ràng buộc toàn vẹn; - Xây dựng được các ràng buộc dữ liệu trong một số bài toán cụ thể;

- Nghiêm túc, tỉ mỉ trong việc học và làm bài tập;

- Rèn luyện tính cẩn thận, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công việc

Nhiệm vụ của người phân tích thiết kế là phải phát hiện càng đầy đủ và chính xác các ràng buộc toàn vẹn càng tốt và mô tả chúng một cách chính xác trong hồ sơ phân tích thiết kế - đó là một việc làm rất quan trọng và rất cần thiết

Trong một cơ sở dữ liệu, ràng buộc toàn vẹn được xem như là một công cụ để diễn đạt ngữ nghĩa của CSDL Một CSDL được thiết kế cồng kềnh nhưng nó thể hiện được đầy đủ ngữ nghĩa của thực tế vẫn có giá trị cao hơn rất nhiều so với một cách thiết kế gọn nhẹ nhưng nghèo nàn về ngữ nghĩa vì thiếu các ràng buộc toàn vẹn của cơ sở dữ liệu

Công việc kiểm tra ràng buộc toàn vẹn thường được tiến hành vào thời điểm cập nhật dữ liệu (thêm, sửa, xóa) Những ràng buộc toàn vẹn phát sinh cần phải được ghi nhận và xử lý một cách tường minh (thường là bởi một hàm chuẩn hoặc một đoạn chương trình)

1.2 Các yếu tố của ràng buộc toàn vẹn:

Mỗi ràng buộc toàn vẹn có 3 yếu tố: điều kiện, bối cảnh và tầm ảnh hưởng

- Điều kiện

Điều kiện của một ràng buộc toàn vẹn R có thể được biểu diễn bằng ngôn ngữ tự nhiên, thuật giải, ngôn ngữ đại số tập hợp, đại số quan hệ,… ngoài ra điều kiện của ràng buộc toàn vẹn cũng có thể được biểu diễn bằng phụ thuộc hàm Chẳng hạn, với lược đồ quan hệ SV thì có một ràng buộc toàn vẹn như sau:

Với r là một quan hệ của Sv ta có ràng buộc toàn vẹn sau

 t1, t2  r

t1.MASV ≠ t2.MASV cuối 

Trang 19

- Bối cảnh

Bối cảnh của một ràng buộc toàn vẹn là những quan hệ mà ràng buộc đó có hiệu lực hay nói một cách khác, đó là những quan hệ cần phải được kiểm tra ràng buộc toàn vẹn Bối cảnh của một ràng buộc toàn vẹn có thể là một hoặc nhiều quan hệ Chẳng hạn với ràng buộc toàn vẹn trên thì bối cảnh là một quan hệ SV

- Tầm ảnh hưởng

Trong quá trình phân tích thiết kế một CSDL, người phân tích cần lập bảng tầm ảnh hưởng cho một ràng buộc toàn vẹn nhằm xác định thời điểm cần phải tiến hành kiểm tra các ràng buộc toàn vẹn đó Các thời điểm cần phải kiểm tra RBTV chính là những thời điểm cập nhật dữ liệu (thêm/ sửa/ xóa) Một bảng tầm ảnh hưởng của một RBTV có dạng sau:

R2

Rn

Bảng này chứa toàn các ký hiệu + hoặc –

Chẳng hạn + tại ô tương ứng với dòng r1, cột thêm thì có nghĩa là khi thêm một bộ vào quan hệ r1thì cần phải kiểm tra RBTV Dấu - Tại ô tương ứng với dòng r1, cột sửa thì có nghĩa là khi sửa một bộ trên quan hệ r1 thì không cần phải kiểm tra RBTV này,…

2 2 Phân loại ràng buộc toàn vẹn:

Trong quá trình phân tích thiết kế cơ sở dữ liệu, người phân tích phải phát hiện tất cả các ràng buộc toàn vẹn tiềm ẩn trong CSDL đó Việc phân loại các ràng buộc toàn vẹn là rất có ích, nó nhằm gíúp cho người phân tích có được một định hướng, tránh bỏ sót những ràng buộc toàn vẹn Các ràng buộc toàn vẹn có thể được chia làm hai loại chính như sau:

Ràng buộc toàn vẹn trên phạm vi là một quan hệ bao gồm: Ràng buộc toàn vẹn miền giá trị, ràng buộc toàn vẹn liên thuộc tính, ràng buộc toàn vẹn liên bộ

Ràng buộc toàn vẹn trên phạm vi nhiều quan hệ bao gồm: Ràng buộc toàn vẹn phụ thuộc tồn tại, ràng buộc toàn vẹn liên bộ - liên quan hệ, ràng buộc toàn vẹn liên thuộc tính – liên quan hệ

Để minh họa cho phần lý thuyết của chương này, ta nêu ví dụ sau đây

Ví dụ : Cho một CSDL C dùng để quản lý việc đặt hàng và giao hàng của một công ty Lược đồ CSDL C gồm các lược đồ quan hệ như sau:

Q1: Khach (MaKhach, TenKH, DiaChi, DThoại)

Tân từ: Mỗi khách hàng có một mã khách hàng (MaKhach) duy nhất, mỗi

MaKhach xác định một tên khách hàng (TenKH), một địa chỉ (MaKhach), một số điện thoại (DThoai)

Q2: Hang(MAHANG, TENHANG, QUYCACH, DVTINH)

Trang 20

Tân từ: Mỗi mặt hàng có một mã hàng (MAHANG) duy nhất, mỗi MAHANG

xác định một tên hàng (TENHANG), quy cách hàng (QUYCACH), đơn vị tính (DVTINH)

Q3: Dathang(SODH, MAHANG, SLDAT, NGAYDH, MaKhach)

Tân từ: Mỗi lần đặt hàng có số đặt hàng (SODH) xác định một ngày đặt hàng

(NGAYDH) và mã khách hàng tương ứng (Makhach) Biết mã số đặt hàng và mã mặt hàng thì biết được số lượng đặt hàng(SLDAT) Mõi khách hàng trong một ngày có thể có nhiều lần đặt hàng

Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT)

Tân từ: Mỗi hóa đơn có một mã số duy nhất là SOHD, mỗi hóa đơn bán hàng

có thể gồm nhiều mặt hàng Mỗi hóa đơn xác định ngày lập hóa đơn (NGAYLAP), ứng với số đặt hàng nào (SODH) Giả sử rằng hóa đơn bán hàng theo yêu cầu của chỉ một đơn đặt hàng có mã số là SODH và ngược lại, mỗi đơn đặt hàng chỉ được giải quyết chỉ trong một hóa đơn Do điều kiện khách quan có thể công ty không giao đầy đủ các mặt hàng cũng như số lượng từng mặt hàng như yêu cầu trong đơn đặt hàng nhưng không bao giờ giao vượt ngoài yêu cầu Mỗi hóa đơn xác định một trị giá của các mặt hàng trong hóa đơn (TRIGIAHD) và một ngày xuất kho giao hàng cho khách (NGAYXUAT)

Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN)

Tân từ: Mỗi SOHD, MAHANG xác định giá bán (GIABAN) và số lượng bán

(SLBAN) của một mặt hàng trong một hóa đơn

Q6: Phieuthu(SOPT, NGAYTHU, MAKH, SOTIEN)

Tân từ: Mỗi phiếu thu có một số phiếu thu (SOPT) duy nhất, mỗi SOPT xác

định một ngày thu (NGAYTHU) của một khách hàng có mã khách hàng là MAKH và số tiền thu là SOTIEN Mỗi khách hàng trong một ngày có thể có nhiều số phiếu thu

2.1 Ràng buộc toàn vẹn liên bộ

2.2 Ràng buộc toàn vẹn về phụ thuộc tồn tại 2.3 Ràng buộc toàn vẹn về miền giá trị

Ràng buộc toàn vẹn có liên quan đến miền giá trị của các thuộc tính trong một quan hệ Ràng buộc này thường gặp Một số hệ quản trị CSDL đã tự động kiểm tra một số ràng buộc loại này

Ví dụ: Với r là một quan hệ của Hoadon ta có ràng buộc toàn vẹn sau

R3: ∀ t ∈ r

t.TRIGIAHD > 0 Cuối ∀

2.4 Ràng buộc toàn vẹn liên thuộc tính

Ràng buộc toàn vẹn liên thuộc tính là mối liên hệ giữa các thuộc tính trong một lược đồ quan hệ

Ví dụ: Với r là một quan hệ của Hoadon ta có ràng buộc toàn vẹn sau

R4: ∀ t ∈ r

Trang 21

t.NGAYLAP <= t.NGAYXUAT Cuối ∀

2.5 Ràng buộc toàn vẹn liên thuộc tính liên quan hệ

Ràng buộc loại này là mối liên hệ giữa các thuộc tính trong nhiều lược đồ quan hệ

Ví dụ: Với r, s lần lượt là quan hệ của Dathang, Hoadon ta có ràng buộc toàn

vẹn sau

R5: ∀ t1 ∈ r, t2 ∈ s

Nếu t1.SODH = t2.SODH thì t1.NGAYDH <= t2.NGAYXUAT Cuối ∀

2.6 Ràng buộc toàn vẹn về thuộc tính tổng hợp

Ràng buộc toàn vẹn về thuộc tính tổng hợp được xác định trong trường hợp mỗi thuộc tính A của một lược đồ quan hệ Q được tính toán giá trị từ các thuộc tính của các lược đồ quan hệ khác

Trang 22

CHƯƠNG IV: PHỤ THUỘC HÀM

Giới thiệu: Mục tiêu:

- Trình bày được các khái niệm phụ thuộc hàm;

- Trình bày được thuật toán Satifies, hệ luật dẫn Armstrong;

- Trình bày được cách mô tả các phụ thuộc hàm để ứng dụng vào các bài toán tìm khóa, tìm phủ tối trình bày và chuẩn hóa cơ sơ dữ liệu;

- Nghiêm túc, tỉ mỉ trong việc học và làm bài tập

- Rèn luyện tính cẩn thận, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công việc

Lặp trình C Kiến trúc máy tính

Cơ sở dữ liệu

60 45 60 Để thể hiện ràng buộc “Mỗi giáo viên chỉ dạy một môn” ta viết:

tính Môn dạy Hay thuộc tính Môn dạy phụ thuộc hàm vào thuộc tính Giáo viên Với ràng buộc này hệ cơ sở dữ liệu sẽ chỉ rõ từng Giáo viên dạy môn nào và không bị trùng lập (một Giáo viên dạy hai môn)

Định nghĩa

Cho quan hệ r(R) với R = {A1, A2, …, An} và các tập thuộc tính X, Y  R Phụ thuộc hàm là một phát biểu dạng X  Y (đọc là X xác định Y hay Y phụ thuộc hàm vào X), nếu với mọi t1, t2  r mà t1[X] = t2[X] thì t1[Y] = t2[Y] Khi đó ta nói quan hệ r thỏa phụ thuộc hàm XY

Nếu r thỏa X  Y với mọi r là thể hiện của lược đồ quan hệ R(A1, …,An), thì ta nói lược đồ quan hệ R(A1, …,An) thỏa phụ thuộc hàm X  Y

Trang 23

1.2 Phụ thuộc hàm hiển nhiên 1.3 Thuật toán Satifies

Tính xác đáng và đầy đủ của hệ tiên đề Armstrong

Để chứng minh hệ tiên đề Armstrong là xác đáng và đầy đủ trước hết ta cần chứng minh hai tính chất sau:

Tính chất 1: Cho X, Y, Z, WU Chúng ta có các luật sau: - Luật hợp: Nếu XY, XZ thì XYZ

- Luật tựa bắc cầu: Nếu XY, YWZ thì XWZ - Luật tách: Nếu XY, ZY thì XZ

- Chứng minh luật tựa bắc cầu:

Từ XY, dùng luật tăng trưởng thêm W vào 2 vế ta có XWYW (3) Mặt khác, theo giả thiết chúng ta có YWZ (4)

Từ (3) và (4) ta dùng luật bắc cầu sẽ có: XWZ - Chứng minh luật tách:

Vì ZY nên YZ theo luật phản xạ (5) theo giả thiết có XY (6)

Từ (5) và (6) ta dùng luật bắc cầu sẽ có: XZ

Tính chất 2: XY được suy diễn từ hệ tiên đề Armstrong khi và chỉ khi YX+

Chứng minh:

Trang 24

Chứng minh:

Lần lượt kiểm tra tính xác đáng của 3 tiên đề:

Tiên đề phản xạ: Rõ ràng tiên đề này là xác đáng vì không thể có hai bộ bằng

nhau trên X mà lại không bằng nhau trên tập con của nó

Tiên đề tăng trưởng: Giả sử quan hệ r thoả mãn X Y, và tồn tại hai bộ t,

u r sao cho t[XZ] = u[XZ] mà t[YZ] u[YZ]

Vì t[Z] = u[Z] nên để có t[YZ]u[YZ] thì t[Y]u[Y] (1)

Mà ta có t[XZ] = u[XZ] nên t[X] = u[X] (2)

Từ (1) và (2) ta có t[X] = u[X] và t[Y]  u[Y] điều này là trái với giả thiết quan

hệ r thoả mãn XY Vậy t[YZ] = u[YZ] hay XZYZ là đúng trên quan hệ r - Tiên đề bắc cầu: Cho XY và YZ đúng trên quan hệ r

Giả sử tồn tại hai bộ t, ur sao cho t[X] = u[X] và t[Z]  u[Z] (3) Từ XY và t[X] = u[X] nên t[Y] = u[Y] (4)

Từ (3) và (4) ta có t[Y] = u[Y] và t[Z]  u[Z] điều này trái với giả thiết Y  Z Do vậy t[Z] = u[Z] Suy ra X Z là đúng trên quan hệ r

Vậy tính xác đáng của hệ tiên đề Armstrong đã được chứng minh, bây giờ ta

chứng minh tính đầy đủ của hệ tiên đề Armstrong tức là XY không đúng trên quan hệ r thì XY cũng không thể suy diễn logic từ F

Gọi F là tập các phụ thuộc hàm trên tập thuộc tính U Giả sử XY là không thể suy diễn được từ hệ tiên đề Armstrong Xét quan hệ r gồm hai bộ được cho trong bảng dưới đây:

Một quan hệ r chỉ ra F không suy diễn logic ra XY

11 1 11 1 11 1 00 0 Các thuộc tính thuộc X+ Các thuộc tính còn lại

Trước hết cần chỉ ra rằng tất cả các phụ thuộc hàm thuộc F đều đúng trên quan hệ r Thật vậy, giả sử VWF nhưng không đúng trên r Do đó, ta có V X+ vì nếu không hai bộ của r sẽ không bằng nhau ít nhất trên một thuộc tính của V Như vậy W

Trang 25

không thể là tập con của X+

Gọi AW nhưng A không thuộc X+ Vì XV X+ do V X+ nên XV, suy ra từ Tính chất 2

Áp dụng luật bắc cầu với XV và VWF suy ra XA Nhưng do A không thuộc X+ như giả thiết, do vậy là mâu thuẫn Từ đó đi đến kết luật rằng mỗi VWF đều đúng trên r

Bây giờ cần chứng minh XY không đúng trên r Giả sử răng XY đúng trên r Như trên có XX+ và suy ra YX+, nếu không hai bộ thuộc r là bằng nhau trên X nhưng không bằng nhau trên Y Theo Tính chất 2 thì XY có thể suy ra được từ hệ tiên đề Armstrong, điều đó là hoàn toàn mâu thuẫn với giả thiết rằng XY là không thể suy diễn được từ hệ tiên đề Armstrong Do vậy XY không thể đúng trên r Đến đây có thể kết luận: Nếu XY không suy diễn được từ hệ tiên đề Armstrong thì XY không thể suy diễn logic được từ F Vậy hệ tiên đề trên là đầy đủ

Trang 26

CHƯƠNG V: PHỦ CỦA TẬP PHỤ THUỘC HÀM

Giới thiệu: Mục tiêu:

- Trình bày được các khái niệm về phủ tối thiểu, khóa của lược đồ quan hệ; - Trình bày được cách tìm tập phụ thuộc hàm tối thiểu;

- Xác định được đầy đủ và chính xác các khóa của các lược đồ cơ sở dữ liệu - Nghiêm túc, tỉ mỉ trong việc học và làm bài tập

- Rèn luyện tính cẩn thận, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công việc

(hoặc 𝑋𝐹+) được định nghĩa như sau:

X+ =  Ai với X → Ai là phụ thuộc hàm được suy diễn từ F nhờ hệ tiên đề Armstrong

7 X → A1 và X→ A2 ⇒ X → A1∪A2 X→∪Ai = X+

X+ ⊇ X ⇒ X+ → X (Phụ thuộc hàm hiển nhiên)

Trang 27

1.2 Thuật toán xác định bao đóng các thuộc tính

Tính liên tiếp tập các tập thuộc tính X0, X1, X2, theo phương pháp sau: Bước 1: X0 = X

Bước 2: Lần lượt xét các phụ thuộc hàm của F

Nếu Y→Z có Y ⊆ Xi thì Xi+1 = Xi ∪ Z Loại phụ thuộc hàm Y → Z khỏi F Bước 3: Nếu ở bước 2 không tính được Xi+1 thì Xi chính là bao đóng của X Ngược lại lặp lại bước 2

Ví dụ 1: Cho lược đồ quan hệ Q(ABCDEGH) và tập phụ thuộc hàm F F = { f1 : B → A

f2 : DA → CE f3 : D → H f4 : GH → C f5 : AC → D}

Tìm bao đóng của các tập X = {AC} dựa trên F Giải:

f4 không thỏa, f5 không xét vì đã thỏa

Lập lại bước 2: f2, f3 không xét vì đã thỏa, f1, f4 không thỏa, f5 không xét vì đã thỏa.Trong

bước này X3 không thay đổi => X+=X3={ACDEH} là bao đóng của X Ví du 2:

Cho Q = <Q, F>, Q(A,B,C,D,E,G), F = { A → C; A → EG; B → D; G → E} X = {A, B}; Y = {C,G,D}

Kết quả:

X+ = {ABCDEG}, Y+ = {CGDE}

Trang 28

2 Các loại phụ thuộc hàm

2.1 Phụ thuộc hàm có vế trái dư thừa

F là tập các phụ thuộc hàm trên lược đồ quan hệ Q, Z là tập thuộc tính, Z→Y ∈ F Nói rằng phụ thuộc hàm Z → Y có vế trái dư thừa (phụ thuộc không đầy đủ) nếu có một A ∈ Z sao cho: F ≡ F - {Z → Y} ∪ {(Z - A) → Y}

Ngược lại Z → Y là phụ thuộc hàm có vế trái không dư thừa hay Y phụ thuộc hàm đầy đủ vào Z hay phụ thuộc hàm đầy đủ

Ví dụ 1: Cho R=<Q, F>, Q (A, B, C) F={AB→C, B→C} F ≡ F-{AB→C} ∪ {(AB - A)→C}={B→C}

AB → C là phụ thuộc hàm không đầy đủ B → C là phụ thuộc hàm đầy đủ

Chú ý: Phụ thuộc hàm có vế trái chứa một thuộc tính là phụ thuộc hàm đầy đủ Ví dụ 2: Cho tập phụ thuộc hàm F = {A → BC,B → C,AB → D} thì phụ thuộc hàm AB→D có vế trái dư thừa B vì: F ≡ F – {AB → D}∪{A → D}≡ {A → BC,B → C,A → D}

Ta nói F là tập phụ thuộc hàm có vế trái không dư thừa nếu F không chứa phụ thuộc hàm có vế trái dư thừa

Thuật toán loại khỏi F các phụ thuộc hàm có vế trái dư thừa

Bước 1: Lần lượt thực hiện bước 2 cho các phụ thuộc hàm X→Y của F Bước 2: Với mọi tập con thật sự X’≠ ∅ của X

Nếu X'→Y ∈ F+ thì thay X→Y trong F bằng X'→Y thực hiện lại bước 2

Ví dụ 3: Ở ví dụ 2 phụ thuộc hàm AB→D có A+ = ABCD ⇒ A→D ∈ F+ Trong F ta thay AB→D bằng A→D ⇒ F ≡ {A → BC, B → C, A → D}

2.2 Phụ thuộc hàm có vế phải một thuộc tính 2.3 Tập phụ thuộc hàm không dư thừa 2.4 Tập phụ thuộc hàm tối thiểu

3 Thuật toán tìm phủ tối thiểu tối thiểu

Bước 1: Loại khỏi F các phụ thuộc hàm có vế trái dư thừa

Bước 2: Tách các phụ thuộc hàm có vế phải trên một thuộc tính thành các phụ thuộc hàm có vế phải một thuộc tính

Bước 3: Loại khỏi F các phụ thuộc hàm dư thừa

Chú ý: Theo thuật toán trên, từ một tập phụ thuộc hàm F luôn tìm được ít nhất một phủ tối thiểu Ftt để F ≡ Ftt và nếu thứ tự loại các phụ thuộc hàm trong tập F là khác nhau thì có thể sẽ thu được những phủ tối thiểu khác nhau

Ví dụ 6: Cho lược đồ quan hệ R =<Q, F>, Q(A,B,C,D) và tập phụ thuộc F như sau:

F= {AB → CD, B → C, C → D} Hãy tính phủ tối thiểu của F

Ngày đăng: 03/06/2024, 19:03

Tài liệu cùng người dùng

Tài liệu liên quan