Bài giảng Cơ sở dữ liệu (Bản đẹp)

Thời lượng: 03 tiết lý thuyết

Kết thúc chương này, sinh viên có thể:

 Hiểu được tại sao phải ra đời một hệ cơ sở dữ liệu

 Biết được các đối tượng sử dụng cơ sở dữ liệu

 Biết các yêu cầu(đặc tính)của hệ cơ sở dữ liệu

 Biết các thành phần của hệ quản trị cơ sở dữ liệu

1.1 DẪN NHẬP - TẠI SAO PHẢI CÓ MỘT CƠ SỞ DỮ LIỆU

1.1.1 Hệ thống tập tin cổ điển

- Trong quá trình xử lý thông tin, cách tiếp cận cổ điển được biểu diễn

dưới dạng sau:

OUTPUT INPUT

- Phân tích dữ liệu (Output) dẫn đến nhu cầu cần (Input). Dữ liệu được

dùng cho chương trình ứng dụng nhất định.

1.1.2 Các ví dụ

Ứng dụng 1: Về quản lý tiền lương (QLTL). Lập bảng lương trong một đơn vị quản

STT Họ tên Bậc lương Phụ cấp Tiền lương

* Suy ra dữ liệu cần:

- Họ tên, Bậc lương, Bậc lương

* Dữ liệu được tổ chức thành các tập tin:

- Tập tin NHANVIEN_1 gồm:

- Tập tin CHEDO_PHUCAP gồm:

* Sơ đồ khai thác của hệ QLTL như sau:

pdf 91 trang yennguyen 4500
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu (Bản đẹp)", để 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: Bài giảng Cơ sở dữ liệu (Bản đẹp)

Bài giảng Cơ sở dữ liệu (Bản đẹp)
TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG 
KHOA CÔNG NGHỆ THÔNG TIN 
   
HÀ VĂN LÂM 
BÀI GIẢNG 
CƠ SỞ DỮ LIỆU 
Quảng Ngãi, tháng 12 năm 2016 
 TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG 
KHOA CÔNG NGHỆ THÔNG TIN 
   
BÀI GIẢNG 
CƠ SỞ DỮ LIỆU 
Dành cho sinh viên bậc đại học 
ngành Công nghệ thông tin và Sư phạm tin 
Quảng Ngãi, tháng 12 năm 2016 
 1 
Chương 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU 
Thời lượng: 03 tiết lý thuyết 
Kết thúc chương này, sinh viên có thể: 
 Hiểu được tại sao phải ra đời một hệ cơ sở dữ liệu 
 Biết được các đối tượng sử dụng cơ sở dữ liệu 
 Biết các yêu cầu(đặc tính)của hệ cơ sở dữ liệu 
 Biết các thành phần của hệ quản trị cơ sở dữ liệu 
1.1 DẪN NHẬP - TẠI SAO PHẢI CÓ MỘT CƠ SỞ DỮ LIỆU 
1.1.1 Hệ thống tập tin cổ điển 
 - Trong quá trình xử lý thông tin, cách tiếp cận cổ điển được biểu diễn 
dưới dạng sau: 
 OUTPUT INPUT 
 - Phân tích dữ liệu (Output) dẫn đến nhu cầu cần (Input). Dữ liệu được 
dùng cho chương trình ứng dụng nhất định. 
1.1.2 Các ví dụ 
Ứng dụng 1: Về quản lý tiền lương (QLTL). Lập bảng lương trong một đơn vị quản 
lý 
STT Họ tên Bậc lương Phụ cấp Tiền lương 
* Suy ra dữ liệu cần: 
 - Họ tên, Bậc lương, Bậc lương 
* Dữ liệu được tổ chức thành các tập tin: 
 - Tập tin NHANVIEN_1 gồm: 
- Tập tin CHEDO_PHUCAP gồm: 
* Sơ đồ khai thác của hệ QLTL như sau: 
Họ tên Bậc lương 
Phụ cấp Bậc lương 
NHANVIEN_1 CHEDO_PHUCAP 
Chương trình 
QLTL 
Phiếu lương 
 2 
Ứng dụng 2: Lập danh sách phân công (dự kiến) cho một công trình(QLCT) 
STT Họ tên Chuyên môn Công trình 
* Suy ra dữ liệu cần: 
 - Họ tên, Chuyên môn, Công trình 
* Dữ liệu được tổ chức thành các tập tin: 
 - Tập tin NHANVIEN_2 gồm: 
- Tập tin CONG_TRINH gồm: 
* Sơ đồ khai thác của hệ QLTL như sau: 
Nhận xét: 
- Việc xử lý, khai thác dữ liệu trong công tác quản lý khoa học còn đơn lẻ, tự 
phát ở mỗi phòng ban chức năng của từng cơ quan, đơn vị theo một cấu trúc tổ chức 
dữ liệu cho riêng mình. 
- Việc triển khai như thế được tiến hành với thời gian ngắn, ít đầu tư, tốn kém 
về nhân sự, vật chất 
- Chính quan điểm trên dẫn đến việc: trùng lắp thông tin, dư thừa thông tin, lại 
không nhất quán về xử lý, quản lý thông tin. Quan trọng nhất vẫn là thiếu sự chia sẻ 
thông tin tại một đơn vị. 
- Do nhu cầu xử lý thông tin ngày càng qui mô, rộng hơn về nhiều khía cạnh... 
nên đòi hỏi ra đời một hệ cơ sở dữ liệu để giải quyết những nhu cầu trên. 
1.2 ĐỊNH NGHĨA MỘT CƠ SỞ DỮ LIỆU 
1.2.1 Giới thiệu chung 
- Nghiên cứu Cơ sở dữ liệu (CSDL) sẽ giúp chúng ta biết lưu trữ, cập nhật, tìm 
kiếm thông tin nhanh, hiệu quả, tiết kiệm được bộ nhớ. Mặt khác còn giúp chúng ta 
hiểu được các ràng buộc mang tính chất nội tại trên một mô hình cơ sở dữ liệu. 
- Cơ sở dữ liệu là môn học liên quan nhiều đến lý thuyết đại số, logic toán và 
Họ tên Chuyên môn 
Công trình Chuyên môn 
NHANVIEN_2 CONG_TRINH 
Chương trình 
QLCT 
Phân công 
Danh sách 
 3 
nhiều lĩnh vực kiến thức tin học khác. 
- Bất kỳ một ứng dụng tin học nào cũng chứa đựng các vấn đề về cách tổ chức 
lưu trữ và khai thác dữ liệu. 
- Hiện nay, hầu như CSDL gắn liền với mọi ứng dụng của tin học, chẳng hạn 
như quản lý các hệ thống thông tin trong một cơ quan, đơn vị, trường học.. . 
- Đó là các dữ liệu tác nghiệp của các Cơ quan, đơn vị trường học .. có thể bao 
gồm: Dữ liệu về sản phẩm, dữ liệu về các tài khoản, dữ liệu về đào tạo, dữ liệu về 
sinh viên, dữ liệu về lập kế hoạch công việc v.v... 
- CSDL bảo đảm cho các cơ quan, đơn vị, trường học có khả năng quản lý tập 
trung dữ liệu tác nghiệp của mình. Cần phải tính đến một người quản trị CSDL, chịu 
trách nhiệm về dữ liệu tác nghiệp. 
1.2.2 Định nghĩa một cơ sở dữ liệu 
CSDL là một tập hợp dữ liệu được tổ chức có cấu trúc liên quan với nhau và 
được lưu trữ trong máy tính. Để tối ưu hóa các thao tác cơ bản sau: 
 - Lưu trữ dữ liệu. 
 - Truy xuất thông tin. 
 - Cập nhật dữ liệu. 
1.3 CÁC ĐỐI TƯỢNG SỬ DỤNG CSDL 
1.3.1 Các đối tượng sử dụng CSDL 
- Quản trị viên (Database Administrator - DBA) 
 + Có trách nhiệm quản lý hệ CSDL cấp quyền truy cập CSDL. 
 + Điều phối và giám sát việc sử dụng CSDL. 
- Thiết kế viên (Database Designer) 
 + Chịu trách nhiệm về 
- Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu. 
- Quyết định những dữ liệu nào cần được lưu trữ. 
 + Liên hệ với người dùng để nắm bắt những yêu cầu và đưa ra một thiết 
kế CSDL thỏa yêu cầu này. 
 + Có thể là 1 nhóm các (DBA) quản lý các CSDL sau khi việc thiết kế 
hoàn tất. 
- Người dùng cuối (End User) 
 * Người ít sử dụng 
- Ít khi truy cập CSDL, nhưng cần những thông tin khác nhau trong mỗi lần truy 
cập và dùng những câu truy vấn phức tạp. 
- Người quản lý 
 * Người sử dụng thường xuyên 
- Thường xuyên truy vấn và cập nhật CSDL nhờ vào một số các chức năng đã 
được xây dựng sẳn. 
- Nhân viên. 
 4 
 * Người sử dụng đặc biệt 
- Thông thạo về HQT CSDL, tự xây dựng những truy vấn phức tạp cho công 
việc. 
- Kỹ sư, nhà khoa học, người phân tích, 
1.3.2 Các đặc tính của hệ CSDL(yêu cầu) 
 1. Tính cấu trúc: Thông tin trong CSDL được lưu trữ theo cấu trúc nhất định. 
 2. Tính toàn vẹn: Các giá trị của dữ liệu được lưu trữ trong CSDL phải thỏa 
mãn các ràng buộc. Tùy thuộc vào hành động và tổ chức của CSDL. 
 3. Tính nhất quán: Sau những lần cập nhật và ngay khi có sự cố(phần cứng, 
Phần mềm) xảy ra trong quá trình cập nhật thì CSDL phải đảm bảo tính nhất quán dữ 
liệu. 
 4. Tính an toàn và bảo mật thông tin: CSDL phải được bảo vệ an toàn, tránh 
những truy cập không được phép và phải khôi phục được CSDL khi có sự cố xảy ra 
(phần cứng, Phần mềm). Mỗi nhóm NSD có thamền hạn và mục đích khác nhau. 
 5. Tính không dư thừa: CSDL không lưu trữ những dữ liệu trùng lặp. 
 6. Tính cạnh tranh: Cạnh tranh trong truy xuất, do nhiều người sử dụng. Do đó 
phải phân cấp cho chương trình ứng dụng. 
1.3.3 Cấu trúc của CSDL: (Có 3 mức) 
 - Mức ngoài: Mô tả 1 phần của CSDL. 
 - Mức trung gian: Mô tả dữ liệu được lưu trữ trong CSDL và các mối quan hệ 
(logic) giữa các mẫu tin. 
 - Mức vật lý: Mô tả dữ liệu được lưu trữ trong bộ nhớ. 
1.4 HỆ QUẢN TRỊ CSDL (Data Base Management System - DBMS) 
1.4.1 Khái niệm Hệ quản trị CSDL 
Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra như khai thác có 
hiệu quả, đảm bảo sự bảo mật, sự cạnh tranh truy xuất..., cần thiết phải có những 
phần mềm chuyên dùng để khai thác chúng, những phần mềm này được gọi là các hệ 
quản trị CSDL (Data base management system- DBMS). 
Hệ quản trị CSDL là một hệ thống phần mềm, có nhiệm vụ hỗ trợ cho những 
nhà phân tích, thiết kế và những người khai thác CSDL, đảm bảo sự bảo mật, cạnh 
tranh truy xuất, an toàn dữ liệu,... cung cấp cho người dùng những cách nhìn khác 
nhau về CSDL. 
Hiện nay, trên thị trường có nhiều hệ quản trị CSDL (DBMS) với chất lượng 
khác nhau như: Oracle, DB2, Paradox, Ms Access, Visual Foxpro, MySQL, SQL 
SERVER. . . 
Lưu ý: Điều quan trọng để khai thác, tổ chức tốt một CSDL cần phải có một hệ 
quản trị CSDL tối ưu, phù hợp với CSDL. 
1.4.2 Các thành phần của Hệ quản trị CSDL (DBMS): (có 3 phần) 
 * Ngôn ngữ mô tả dữ liệu(DDL) 
 5 
 + Mô tả về cấu trúc của CSDL. 
 + Mô tả các mối quan hệ của dữ liệu. 
+ Mô tả các ràng buộc toàn vẹn của dữ liệu. 
 * Ngôn ngữ thao tác dữ liệu(DML) 
 Có đặc tính như một ngôn ngữ lập trình bậc cao dùng để: 
 + Cập nhật dữ liệu. 
 + Khai thác dữ liệu (có 2 loại: Thủ tục và phi thủ tục). 
 * Tự điển dữ liệu(DD) 
 Là nơi tập trung các thông tin lưu trữ về: 
 + Cấu trúc của CSDL(thuộc tính, quan hệ). 
 + Chương trình ứng dụng. 
 + Mã bảo mật. 
1.5 SƠ ĐỒ TỔNG QUÁT CỦA MỘT HỆ QUẢN TRỊ CSDL 
1.5.1 Kiến trúc 3 lược đồ 
1.5.2 Kiến trúc của Hệ quản trị CSDL 
 * Mức trong (lược đồ trong) 
- Mô tả cấu trúc lưu trữ vật lý CSDL 
 * Mức quan niệm (lược đồ quan niệm) 
- Mô tả cấu trúc của toàn thể CSDL cho một cộng đồng người sử dụng, 
gồm thực thể, kiểu dữ liệu, mối liên hệ và ràng buộc. 
- Che bớt các chi tiết của cấu trúc lưu trữ vật lý. 
 * Mức ngoài (lược đồ ngoài) 
- Còn gọi là mức khung nhìn (view). 
- Mô tả một phần của CSDL mà 1 nhóm người dùng quan tâm đến và che 
dấu phần còn lại của CSDL đối với nhóm người dùng đó. 
1.6 TÍNH ĐỘC LẬP GIỮA DỮ LIỆU VÀ CHƯƠNG TRÌNH 
* Có hai mức độc lập dữ liệu 
 6 
- Tính độc lập vật lý: Cho phép người Quản trị hệ quản trị CSDL có thể thay đổi 
cách cài đặt các mẫu tin mà không ảnh hưởng đến chương trình ứng dụng. 
- Tính độc lập logic: Cho phép sửa đổi cấu trúc của CSDL (thay đổi lược đồ 
quan niệm) mà không ảnh hưởng đến chương trình ứng dụng sử dụng CSDL đó. 
----oOo---- 
 7 
Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT ER (Entity - Relationship 
model) 
Thời lượng: 03 tiết lý thuyết + 03 tiết bài tập 
Kết thúc chương này, sinh viên có thể: 
 Hiểu được các thành phần cơ bản của mô hình thực thể liên kết ER 
 Biết sử dụng khái niệm mô hình bậc cao cho việc thiết kế cơ sở dữ liệu 
Trong chương này chúng ta sẽ làm quen với mô hình thực thể-liên kết (Entity-
Relationship model), gọi tắt là mô hình ER. Đó là một mô hình dữ liệu quan niệm bậc 
cao phổ biến, tập trung vào các cấu trúc cơ sở dữ liệu và các ràng buộc. 
2.1 SỬ DỤNG MÔ HÌNH KHÁI NIỆM BẬC CAO CHO VIỆC THIẾT KẾ CƠ 
SỞ DỮ LIỆU 
Hình 2.1 Sơ đồ mô tả các bước chính của việc thiết kế cơ sở dữ liệu 
- Bước đầu tiên là tập hợp các yêu cầu và phân tích. Trong bước này, người 
thiết kế cơ sở dữ liệu phỏng vấn những người sử dụng cơ sở dữ liệu để hiểu các đòi 
hỏi về dữ liệu của họ. 
 8 
- Bước tiếp theo là tạo ra lược đồ quan niệm cho cơ sở dữ liệu bằng cách sử 
dụng mô hình dữ liệu quan niệm mức cao. Bước này được gọi là thiết kế khái niệm. 
+ Lược đồ khái niệm là một mô tả súc tích về các yêu cầu dữ liệu của người 
sử dụng, bao gồm các mô tả chi tiết của các kiểu thực thể, các kiểu liên kết và các 
ràng buộc, chúng được biểu diễn bằng các khái niệm do các mô hình dữ liệu bậc cao 
cung cấp. Vì những khái niệm này không chứa các chi tiết cài đặt (thể hiện), chúng 
thường dễ hiểu và có thể sử dụng để giao lưu với người sử dụng. 
+ Lược đồ quan niệm mức cao cũng có thể được sử dụng như một dẫn 
chứng để đảm bảo rằng tất cả các đòi hỏi của người sử dụng đều thoả mãn và không 
chứa các mâu thuẫn. Giải pháp này cho phép những người thiết kế cơ sở dữ liệu tập 
trung vào việc đặc tả các tính chất của dữ liệu mà không cần quan tâm đến các chi tiết 
lưu trữ. Một thiết kế cơ sở dữ liệu quan niệm tốt, sẽ dễ cho công việc của những 
người thiết kế cơ sở dữ liệu. 
+ Trong quá trình (hoặc sau khi) thiết kế lược đồ quan niệm, ta có thể sử 
dụng các phép toán mô hình dữ liệu cơ bản để đặc tả các thao tác của người sử dụng 
được xác định trong khi phân tích chức năng. 
+ Điều đó cũng giúp khẳng định rằng lược đồ quan niệm thoả mãn mọi yêu 
cầu chức năng được xác định. Nếu có một số yêu cầu chức năng không thể chỉ ra 
trong lược đồ ban đầu thì ở bước này có thể có sự sửa đổi lược đồ khái niệm cho phù 
hợp. 
- Bước tiếp theo trong thiết kế cơ sở dữ liệu là việc thể hiện (cài đặt) cơ sở dữ 
liệu bằng cách sử dụng một hệ quản trị cơ sở dữ liệu có sẵn. Hầu hết các hệ quản trị 
cơ sở dữ liệu sử dụng một mô hình dữ liệu thể hiện (chẳng hạn như mô hình cơ sở dữ 
liệu quan hệ hoặc đối tượng). Vì vậy, lược đồ quan niệm được chuyển đổi từ mô hình 
dữ liệu bậc cao thành mô hình dữ liệu thể hiện. 
+ Bước này gọi là thiết kế lô gic hoặc là ánh xạ mô hình dữ liệu. Kết quả 
của bước này là một lược đồ cơ sở dữ liệu dưới dạng một mô hình dữ liệu thể hiện 
của hệ quản trị cơ sở dữ liệu. 
- Bước cuối cùng trong thiết kế cơ sở dữ liệu là thiết kế vật lý. Trong bước này 
ta phải chỉ ra các cấu trúc lưu trữ bên trong, các đường dẫn truy cập, tổ chức tệp cho 
các tệp cơ sở dữ liệu. Song song với các hoạt động đó, các chương trình áp dụng cũng 
được thiết kế và cài đặt như là các giao dịch cơ sở dữ liệu tương ứng với các đặc tả 
giao dịch mức cao. 
2.2 CÁC THÀNH PHẦN CƠ BẢN CỦA MÔ HÌNH THỰC THỂ LIÊN KẾT 
2.2.1 Thực thể, tập thực thể 
 a) Thực thể 
- Thực thể là một “vật” trong thế giới thực có sự tồn tại độc lập. Một thực thể 
có thể là một vật cụ thể (chẳng hạn như một người, một cái ô tô,...) hoặc có thể là một 
vật trừu tượng (chẳng hạn một công ty, một công việc, một môn học,...). 
 9 
- Mỗi thực thể có các thuộc tính, đó là các tính chất cụ thể mô tả nó. 
Ví dụ 1: 
Một thực thể nhân viên được mô tả bằng họ tên, tuổi, địa chỉ, lương và công 
việc của nhân viên đó. 
Một thực thể cụ thể sẽ có một giá trị cho mỗi thuộc tính của nó. Các giá trị 
thuộc tính mô tả mỗi thực thể sẽ trở thành một phần chính của các dữ liệu được lưu 
trữ trong cơ sở dữ liệu. 
 b) Tập thực thể 
Tập hợp các thực thể giống nhau tạo thành một tập thực thể. 
Ví dụ 2: (Hình 2.2) chỉ ra một số thực thể và các thuộc tính của chúng. Thực thể nhân 
viên e1 có 4 thuộc tính : Họ tên, Địa chỉ, Tuổi, và Điện thoại. Giá trị của các thuộc 
tính tương ứng là “Lê Minh”, “Quảng Ngãi”, “25”, “0553823856”. 
NHANVIEN Họ tên Địa chỉ Tuổi Điện thoại 
e1 Lê Minh Quảng Ngãi 25 0553823856 
e2 Trần Chỉnh Mộ Đức 28 0553823876 
e3 Huỳnh Mỹ Sơn Tịnh 32 0553823456 
Hình 2.2 Kiểu thực thể và tập thực thể 
2.2.2 Các loại thuộc tính 
 Trong mô hình ER có mặt nhiều kiểu thuộc tính : thuộc tính đơn và thuộc tính 
phức hợp, thuộc tính đơn trị và thuộc tính đa trị, thuộc tính được lưu trữ và thuộc tính 
suy diễn được. Chúng ta sẽ định nghĩa các kiểu thuộc tính và minh họa chúng thông 
qua các ví dụ. 
a) Thuộc tính đơn và thuộc tính phức hợp 
- Thuộc tính đơn: Các thuộc tính không thể phân chia được gọi là thuộc tính 
đơn hay thuộc tính nguyên tố. 
- Thuộc tính phức hợp: là các thuộc tính có thể phân chia ra thành các phần 
nhỏ hơn, biểu diễn các thuộc tính cơ bản hơn với các ý nghĩa độc lập. Giá trị của một 
thuộc tính phức hợp là sự kết hợp các giá trị của các thuộc tính thành phần tạo nên 
nó. 
Ví dụ 3: thuộc tính Họ tên của thực thể Nhân viên có thể được phân chia thành Họ 
đệm, Tên. 
b) Thuộc tính đơn trị và thuộc tính đa trị 
- Thuộc tính đơn trị: Đa số các thuộc tính có một giá trị duy nhất cho một thực 
thể cụ thể, các thuộc tính như vậy gọi là các thuộc tính đơn trị. 
Ví dụ: Tuổi là một thuộc tính đơn trị của một người. 
- Thuộc tính đa trị: Trong một số trường hợp, một thuộc tính có thể có một tập 
hợp các giá trị cho cùng một thực thể. Những thuộc tính như vậy được gọi là thuộc 
 10 
tính đa trị. 
Ví dụ 4: thuộc tính Bằng cấp của một người. Một người có thể không có bằng cấp 
nào, người khác có thể có một bằng, người khác nữa có thể có nhiều bằng,. 
Như vậy các người khác nhau có thể có một số các giá trị khác nhau cho thuộc 
tính Bằng cấp. Những thuộc tính như vậy được gọi là thuộc tính đa trị. 
c) Thuộc tính lưu trữ và thuộc tính suy diễn được 
Một số trường hợp, hai hay nhiều giá trị thuộc tính có liên quan đến nhau. 
Ví dụ 5: thuộc tính Tuổi và thuộc tính Ngày sinh của một người. Với một người cụ 
thể ta có thể tính Tuổi của anh ta bằng cách lấy năm hiện tại trừ đi năm của Ngày 
sinh. Thuộc tính Tuổi như vậy gọi là thuộc tính suy diễn được và nó được suy diễn từ 
thuộc tính Ngày sinh. Thuộc tính Ngày sinh được gọi là thuộc tính lưu trữ. 
d) Thuộc tính không xác định giá trị(null values) 
Trong một số trường hợp, một thực thể c ... N 
 FROM BANHANG 
Ví dụ 6: ( dùng ORDER BY ) 
 Select MASV, HOSV, TENSV, MAKHOA 
 FROM SVIEN 
ORDER BY MAKHOA, TENSV DESC 
5.2.3.2 Phép chọn (trích ra những bộ của quan hệ thỏa ) 
Cú pháp: Select [distinct] * ll 
From 
Where 
[Order by [desc], . . .] 
Ví dụ 7: Tạo danh sách Sinh viên khoa CNTT 
 Select MASV, HOSV, TENSV, MAKHOA 
 FROM SVIEN WHERE MAKHOA=”CNTT” ORDER BY TENSV, HOSV 
( Tương đương với phép chọn trên SVIEN với điều kiện MAKHOA=”CNTT” ) 
Ví dụ 8 : Tạo danh sách Sinh viên có họ là “ Nguyễn” 
 Select MASV, HOSV, TENSV, MAKHOA 
FROM SVIEN WHERE HOSV LIKE “ Nguyễn%” 
( Ký tự % biểu diễn cho một chuỗi ký tự có độ dài tùy ý ) 
5.2.3.3 Phép tích Descartes 
Cú pháp: Select [distinct] * ll, . . . 
From 
[Order by [desc], . . .] 
Ví dụ 9: select * from svien, ketqua where hocbong > 100000 
5.2.3.4 Phép kết  
Cú pháp: Select [distinct] * ll, . . . 
From 
Where 
 84 
[Order by [desc], . . .] 
Nhận xét : Phép  kết chính là phép tích Descartes phối hợp với phép chọn. 
Ví dụ 10: Cho Q1(A, B, C) và Q2(D, E) (các thuộc tính đều có kiểu số nguyên) 
Kết Q1 và Q2 theo điều kiện :  = (A >=5 and D <=2) 
Select * 
From Q1, Q2 
Where A >=5 and D<=2 
Ví dụ 11: Liệt kê các phiếu thu tiền của khách hàng theo tên, họ từ quan hệ 
PHIEUTHU và K_HANG 
Select SOHĐ, NGP_HANH, MAKH, TENKH, SOTIEN 
From PHIEUTHU, K_HANG Where PHIEUTHU.MAKH=K_HANG.MAKH 
Ví dụ 12: (Phép kết nối kết hợp với phép chọn bằng cách dùng thêm các toán tử luận 
lý trong WHERE) 
Select MASV, HOSV, TENSV, MAKHOA,DIEM, XEPLOAI 
FROM SVIEN, KETQUA WHERE KETQUA.MASV=SVIEN.MASV And 
MAKHOA=’CNTT’ 
5.2.3.5. Các lệnh truy vấn lồng nhau 
Trong các trường hợp truy vấn cần dùng nhiều quan hệ ta có thể dùng nhiều 
lệnh truy vấn lồng vào nhau (dùng IN / NOT IN) 
Ví dụ 13: 
Select MASV, HOSV, TENSV, MAKHOA, DIEM, XEPLOAI 
FROM KETQUA WHERE MASV 
IN ( Select MASV FROM SVIEN WHERE MAKHOA=’CNTT’ ) 
5.2.3.6. Phân loại các bộ của một quan hệ 
Cú pháp: Select [distinct] * ll, . . . 
From 
GROUP BY , . . . 
[HAVING ] 
[Order by [desc], . . .] 
Thành phần GROUP BY , . . . dùng để phân nhóm 
dữ liệu. Những bộ trong có cùng giá trị trên các , . . . sẽ tạo 
thành một nhóm. 
Có thể dùng HAVING sau để kiểm tra điều 
kiện nhóm. Nhóm nào thỏa sau mới được trình bày. 
Ví dụ 14: Tính tổng số Sinh viên theo từng Huyện đang học tại trường ĐHPVĐ QN 
 Select HUYEN, Count(*) 
 From SVIEN 
Group by HUYEN 
 85 
Ví dụ 15: (Dùng Having như là phép chọn phối hợp với phân nhóm dữ 
liệu) 
- In danh sách những mặt hàng có doanh số bán ra trên 1 triệu 
Select MAHH, Sum(GIABAN*SLUONG) 
From BANHANG 
Group by MAHH 
Having sum(GIABAN*SLUONG) >1.000.000 
5.2.3.7 Phép hội / trừ / giao 
Cho Q1(A1,B1) và Q2(A1, B1), với 
Phép hội : (SELECT A1 
 FROM Q1 ) 
 UNION 
 (SELECT A1 
FROM Q2 ) 
Phép trừ : (SELECT * 
 FROM Q1 ) 
 MINUS 
 (SELECT * 
FROM Q2 ) 
Phép giao : (SELECT A1 
 FROM Q1 ) 
INTERSECT 
 (SELECT A1 
FROM Q2 
----oOo---- 
 86 
BÀI TẬP CHƯƠNG 5 
Cho lược đồ CSDL như sau: 
SINHVIEN(Masv, Hosv, Tensv, Ngaysinh, Phai, Makhoa) 
KHOA(Makhoa, Tenkhoa) 
MONHOC(Mamh, Tenmh, Sotiet) 
KETQUA(Masv, Mamh, Lanthi, Diem) 
1. Cho biết kết qủa học tập của sinh viên có mã sinh viên S007 
2. Liệt kê những sinh viên sinh vào ngày 03 tháng 07 
3. Cho biết danh sách sinh viên mà họ có chứa chữ Anh 
4. Cho biết danh sách sinh viên Nam khoa 'Công Nghệ Thông Tin' sắp tăng dần theo 
tên 
5. Cho biết danh sách các môn học có số tiết trên 40 và có tên bắt đầu bằng chữ T 
6. Liệt kê những sinh viên từ 20 tuổi trở lên khoa 'Công Nghệ Thông Tin' và khoa 
'Điện Tử Viễn Thông' 
7. Cho biết tên khoa nào không có Sinh viên 
8. Cho biết danh sách sinh viên chưa học môn nào, thông tin gồm Hosv, Tensv, 
Ngaysinh, Ten khoa 
9. Cho biết danh sách những sinh viên đã học môn có mã môn học AV, sắp giảm dần 
theo ngày sinh.(Thông tin hiển thị gồm 
MASV,HOSV,TENSV,NGAYSINH,TENKHOA) 
10. Cho biết tên sinh viên được điểm cao nhất 
11. Cho biết sinh viên nào rớt môn CSDL ở lần thi thứ nhất 
12. Cho biết sinh viên nào rớt môn CSDL ở lần thi thứ nhất mà chưa thi lại lần 2 
13. Đếm số lượng sinh viên của khoa 'Quản Trị Kinh Doanh' 
14. Đếm số lượng sinh viên của từng khoa 
15. Cho biết tên khoa có đông sinh viên nhất 
16. Cho biết điểm thấp nhất của mọi môn học 
17. Cho biết tên môn học nào chưa có sinh viên học 
18. Cho biết điểm trung bình, điểm lớn nhất, điểm nhỏ nhất, lần thi thứ nhất của từng 
sinh viên.(Thông tin gồm TenSV, TenKhoa, DiemTB) 
----oOo---- 
 87 
TÀI LIỆU THAM KHẢO 
1. Lê Tiến Vương, Nhập môn CSDL quan hệ, NXB Khoa học & Kỹ thuật, 2000 
2. Nguyễn An Tế, Giáo trình nhập môn CSDL, Khoa CNTT, ĐHQG TP Hồ Chí 
Minh, 1996 
3. Nguyễn Bá Tường, Cơ sở dữ liệu lý thuyết và thực hành, NXB Khoa học & Kỹ 
thuật, Hà Nội 2001. 
4. Hồ Thuần, Nguyễn Quang Vinh, Nguyễn Xuân Huy, Nhập môn các hệ CSDL 
(tập 1 & 2) 
5. Bài giảng môn Cơ sở dữ liệu, Trường Cao đẳng Công nghiệp 4, Thành phố Hồ 
Chí Minh, 2005. 
6. David Maier The theory of Relational Databases, Computer Science Press, 
Rockville, 1983 
 88 
MỤC LỤC 
Chương 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU ............................................................ 1 
1.1 DẪN NHẬP - TẠI SAO PHẢI CÓ MỘT CƠ SỞ DỮ LIỆU ................................... 1 
1.1.1 Hệ thống tập tin cổ điển ....................................................................................... 1 
1.1.2 Các ví dụ .............................................................................................................. 1 
1.2 ĐỊNH NGHĨA MỘT CƠ SỞ DỮ LIỆU ..................................................................... 2 
1.2.1 Giới thiệu chung ................................................................................................. 2 
1.3 CÁC ĐỐI TƯỢNG SỬ DỤNG CSDL ...................................................................... 3 
1.3.1 Các đối tượng sử dụng CSDL .............................................................................. 3 
1.3.2 Các đặc tính của hệ CSDL(yêu cầu) ................................................................... 4 
1.3.3 Cấu trúc của CSDL: (Có 3 mức) ........................................................................ 4 
1.4 HỆ QUẢN TRỊ CSDL (Data Base Management System - DBMS) ........................ 4 
1.4.1 Khái niệm Hệ quản trị CSDL ........................................................................... 4 
1.4.2 Các thành phần của Hệ quản trị CSDL (DBMS): (có 3 phần) ........................... 4 
1.5 SƠ ĐỒ TỔNG QUÁT CỦA MỘT HỆ QUẢN TRỊ CSDL ..................................... 5 
1.5.1 Kiến trúc 3 lược đồ ............................................................................................. 5 
1.5.2 Kiến trúc của Hệ quản trị CSDL ......................................................................... 5 
1.6 TÍNH ĐỘC LẬP GIỮA DỮ LIỆU VÀ CHƯƠNG TRÌNH ...................................... 5 
Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT ER (Entity - Relationship model) .... 7 
2.1 SỬ DỤNG MÔ HÌNH KHÁI NIỆM BẬC CAO CHO VIỆC THIẾT KẾ CƠ SỞ 
DỮ LIỆU ................................................................................................................................. 7 
2.2 CÁC THÀNH PHẦN CƠ BẢN CỦA MÔ HÌNH THỰC THỂ LIÊN KẾT ........... 8 
2.2.1 Thực thể, tập thực thể .......................................................................................... 8 
2.2.2 Các loại thuộc tính ............................................................................................... 9 
2.2.3 Kiểu thực thể, tập thực thể, khoá và tập giá trị .................................................. 10 
2.2.4 Các liên kết, các kiểu liên kết, các vai trò và các ràng buộc cấu trúc ................ 12 
2.2.5 Cấp liên kết, tên vai trò và liên kết đệ quy ........................................................ 13 
2.2.6 Các ràng buộc trên các kiểu liên kết .................................................................. 14 
2.2.7 Ví dụ về thiết kế một mô hình ER ..................................................................... 16 
BÀI TẬP CHƯƠNG 2 ...................................................................................................... 19 
CHƯƠNG 3: MÔ HÌNH QUAN HỆ ................................................................................. 20 
3.1 CÁC KHÁI NIỆM CỦA MÔ HÌNH QUAN HỆ .................................................... 20 
3.1.1 Miền, thuộc tính, bộ và quan hệ ........................................................................ 20 
3.1.2 Các đặc trưng của các quan hệ .......................................................................... 22 
3.2 CÁC RÀNG BUỘC QUAN HỆ, LƯỢC ĐỒ CSDL QUAN HỆ ............................ 23 
3.2.1 Các ràng buộc miền ........................................................................................... 24 
3.2.2 Ràng buộc khoá và ràng buộc trên các giá trị rỗng (null) ................................. 24 
3.2.3 Cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu quan hệ ................................... 25 
3.2.4 Toàn vẹn thực thể, toàn vẹn tham chiếu và khoá ngoài..................................... 28 
3.3 CÁC PHÉP TOÁN CỦA MÔ HÌNH QUAN HỆ .................................................... 29 
3.3.1 Các phép toán cập nhật ...................................................................................... 29 
3.3.2 Các phép toán đại số quan hệ ............................................................................ 31 
3.3.3 Các phép toán lý thuyết tập hợp ........................................................................ 34 
3.3.4 Các phép toán quan hệ bổ sung ......................................................................... 39 
3.4 CHUYỂN ĐỔI MÔ HÌNH THỰC THỂ - LIÊNKẾT THÀNH MÔ HÌNH QUAN 
HỆ .......................................................................................................................................... 40 
3.4.1 Các quy tắc chuyển đổi ...................................................................................... 40 
3.4.2 Chuyển đổi mô hình cụ thể ................................................................................ 43 
BÀI TẬP CHƯƠNG 3 ...................................................................................................... 45 
 89 
Chương 4: LÝ THUYẾT CHUẨN HÓA LƯỢC ĐỒ QUAN HỆ ................................ 46 
4.1 CÁC KHÁI NIỆM CƠ BẢN ...................................................................................... 46 
4.1.1 Quan hệ ............................................................................................................. 46 
4.1.2 Các tính chất của một quan hệ ............................................................................ 47 
4.1.3 Các ràng buộc toàn vẹn trên quan hệ .................................................................. 47 
4.2 PHỤ THUỘC HÀM ................................................................................................... 49 
4.2.1 Khái niệm phụ thuộc hàm .................................................................................. 49 
4.2.2 Định nghĩa phụ thuộc hàm ................................................................................. 50 
4.2.3 Các phụ thuộc hàm có thể có ............................................................................. 51 
4.2.4 Hệ luật dẫn ARMSTRONG (Armstrong inference rule) ................................... 51 
4.2.5 Phụ thuộc hàm được suy diễn logic từ F ........................................................... 52 
4.2.6 Bao đóng của tập thuộc tính X (closures of attribute sets) ................................ 53 
4.2.7 Bài toán thành viên ............................................................................................ 54 
4.3 PHỦ CỦA TẬP PHỤ THUỘC HÀM....................................................................... 54 
4.3.1 Định nghĩa ......................................................................................................... 54 
4.3.2 Phủ tối thiểu của một tập phụ thuộc hàm (minimal cover) ............................... 55 
4.4 KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (KEY) ........................................................... 57 
4.4.1 Định Nghĩa ........................................................................................................ 57 
4.4.2 Các thuật toán tìm khóa ..................................................................................... 57 
4.5 DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ (Normal Forms For Relation 
Schemes) ................................................................................................................................ 59 
4.5.1 Dạng chuẩn 1NF (First Normal Form) .............................................................. 59 
4.5.2 Dạng Chuẩn 2NF (Second Normal Form) ......................................................... 60 
4.5.3 Dạng Chuẩn 3NF (Third Normal Form) ............................................................ 60 
4.5.4 Dạng Chuẩn BCNF (Boyce-Codd Normal Form) ............................................. 63 
4.6 PHÉP TÁCH KẾT NỐI BẢO TOÀN ...................................................................... 64 
4.6.1 Phép tách kết nối bảo toàn thông tin (lossless-join decomposition) .................. 64 
4.6.2 Định nghĩa phép tách R thành 2 lược đồ con .................................................... 65 
4.6.3 Thuật toán kiểm tra phép tách kết nối bảo toàn thông tin ................................. 66 
4.6.4 Phép tách bảo toàn phụ thuộc hàm (decompositions that preserve dependencies)
 .................................................................................................................................... 68 
4.7 THIẾT KẾ CSDL BẰNG CÁCH PHÂN RÃ .......................................................... 72 
4.7.1 Phân rã thành dạng chuẩn BCNF (hay chuẩn 3NF) bảo toàn thông tin ............ 72 
4.7.2 Phân rã thành dạng chuẩn 3NF vừa bảo toàn thông tin vừa bảo toàn phụ thuộc 
hàm ............................................................................................................................. 74 
BÀI TẬP CHƯƠNG 4......................................................................................................76 
CHƯƠNG 5: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC SQL ....................................... 78 
5.1 GIỚI THIỆU SQL ..................................................................................................... 78 
5.2 NGÔN NGỮ TRUY VẤN SQL ................................................................................ 80 
5.2.1 Nhóm lệnh về kiến trúc CSDL ......................................................................... 80 
5.2.2 Nhóm lệnh cập nhật dữ liệu .............................................................................. 81 
5.2.3 Nhóm lệnh truy vấn dữ liệu ............................................................................... 82 
BÀI TẬP CHƯƠNG 5 ...................................................................................................... 86 
TÀI LIỆU THAM KHẢO ............................................................................................... 87 

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_ban_dep.pdf