• Không có kết quả nào được tìm thấy

GIÁO TRÌNH

N/A
N/A
Protected

Academic year: 2022

Chia sẻ "GIÁO TRÌNH"

Copied!
87
0
0

Loading.... (view fulltext now)

Văn bản

(1)

BM/QT10/P.ĐTSV/04/04 Ban hành lần: 3

UBND TỈNH BÀ RỊA – VŨNG TÀU

TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ

GIÁO TRÌNH

MÔN HỌC : CƠ SỞ DỮ LIỆU NGHỀ: CÔNG NGHỆ THÔNG TIN

TRÌNH ĐỘ: CAO ĐẲNG

(Ban hành kèm theo Quyết định số: /QĐ-CĐKTCN

ngày…….tháng….năm ... của Hiệu trưởng Trường Cao đẳng Kỹ thuật Công nghệ BR – VT)

(2)

BÀ RỊA-VŨNG TÀU, NĂM 2020

(3)

TUYÊN BỐ BẢN QUYỀN

Nhằm đáp ứng nhu cầu học tập và nghiên cứu cho giảng viên và sinh viên nghề Công nghệ thông tin trong trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu. Chúng tôi đã thực hiện biên soạn tài liệu Cơ sở dữ liệu này.

Tài liệu được biên soạn thuộc loại giáo trình phục vụ giảng dạy và học tập, lưu hành nội bộ trong nhà trường nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.

Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm.

(4)

LỜI GIỚI THIỆU

Cơ sở dữ liệu là môn học cơ sở của ngành Công nghệ thông tin. Là nền tảng để xây dựng, tổ chức dữ liệu trong thực tế.

Giáo trình Cơ sở dữ liệu được biên soạn cho sinh viên ngành Công nghệ thông tin, dựa trên chương trình đào tạo của môn học này. Cung cấp cho người học kiến thức và kỹ năng về để phân tích và thiết kế cơ sở dữ liệu.

Giáo trình gồm 12 bài với các nội dung được trình bày từ nội dung cơ bản đến nâng cao. Trang bị đầy đủ kiến thức để người học có thể xây dựng, tổ chức dữ liệu cấu trúc cho phần mềm. Đây có thể coi là nền tảng lý thuyết để xây dựng hệ quản trị cơ sở dữ liệu phù hợp, tối ưu. Nội dung các bài như sau:

Bài mở đầu: Giới thiệu cơ sở dữ liệu

Bài 1: Khái niệm cơ bản trong mô hình cơ sở dữ liệu quan hệ Bài 2: Phép hội, phép giao, phép trừ trên đại số quan hệ Bài 3: Phép tích đề các và phép chia trên đại số quan hệ Bài 4: Phép chiếu và phép chọn trong đại số quan hệ Bài 5: Phép kết nối trong đại số quan hệ

Bài 6: Xác định RBTV trên bối cảnh 1 quan hệ Bài 7: Xác định RBTV trên bối cảnh nhiều quan hệ

Bài 8: Phụ thuôc hàm và hệ tiên đề Amstrong cho các phụ thuộc hàm Bài 9: Xác định Bao đóng của tập thuộc tính

Bài 10: Xác định Khóa của lược đồ CSDL

Bài 11: Xác định Phủ tối thiểu của lược đồ CSDL Bài 12: Xác định Dạng chuẩn của lược đồ CSDL

Xin được gửi lời cảm ơn tới các thầy cô, đặc biệt là các thầy cô khoa Công nghệ thông tin trường Cao đẳng kỹ thuật công nghệ tỉnh BRVT đã nhiệt tình góp ý để tác giả có thể hoàn thiện giáo trình về mặt nội dung và hình thức trình bày.

BRVT, ngày …...tháng…... năm 2020 Tham gia biên soạn

Trần Thị Thuỳ Dung

(5)

MỤC LỤC

TRANG

LỜI GIỚI THIỆU...3

MỤC LỤC...4

BÀI MỞ ĐẦU: GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU...8

1. Một số khái niệm...8

1.1. Cơ sở dữ liệu...8

1.2. Hệ quản trị cơ sở dữ liệu...11

2. Các mô hình dữ liệu...12

2.1. Mô hình dữ liệu mạng...13

2.2. Mô hình phân cấp...14

2.3. Mô hình quan hệ...15

2.4. Mô hình thực thể mối kết hợp (Entity Relationship Diagram ERD)....15

2.5. Cách chuyển đổi từ mô hình thực thể kết hợp sang mô hình quan hệ. .18 2.6. Mô hình hướng đối tượng...21

CÂU HỎI - BÀI TẬP:...21

BÀI 1: CÁC KHÁI NIỆM CƠ BẢN TRONG MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ...24

1. Thuộc tính...24

2. Lược đồ quan hệ...25

3. Quan hệ...25

4. Bộ giá trị...26

5. Tân từ...26

6. Khóa, siêu khóa, khóa chỉ định, khóa chính, khóa ngoại...26

9. Các phép tính trên cơ sở dữ liệu quan hệ...28

CÂU HỎI - BÀI TẬP...28

BÀI 2: PHÉP HỘI, PHÉP GIAO, PHÉP TRỪ TRÊN ĐẠI SỐ QUAN HỆ....31

1. Giới thiệu về đại số quan hệ...31

2. Phép hội (hợp) 2 quan hệ (Union)...32

3. Phép giao 2 quan hệ (Intersection)...32

4. Phép Trừ 2 quan hệ (Minus)...33

CÂU HỎI - BÀI TẬP...34

BÀI 3: PHÉP TÍCH ĐỀ CÁC VÀ PHÉP CHIA TRÊN ĐẠI SỐ QUAN HỆ...35

1. Tích Decac của 2 quan hệ (Cartesian Product)...35

2. Phép chia 2 quan hệ:...37

CÂU HỎI - BÀI TẬP...37

BÀI 4: PHÉP CHIẾU VÀ PHÉP CHỌN TRONG ĐẠI SỐ QUAN HỆ...38

1. Phép chiếu ( Project)...38

2. Phép chọn (Selection)...39

3. Phép gán...41

4. Phép gom nhóm và các hàm nhóm...41

CÂU HỎI - BÀI TẬP...42

BÀI 5: PHÉP KẾT NỐI TRONG ĐẠI SỐ QUAN HỆ...47

(6)

1. Phép kết ( phép nối)...47

2. Phép kết tự nhiên...48

3. Phép kết ngoài (outer join)...49

CÂU HỎI - BÀI TẬP...50

BÀI 6: XÁC ĐỊNH RÀNG BUỘC TOÀN VẸN CÓ BỐI CẢNH MỘT QUAN HỆ...56

1. Khái niệm và các yếu tố của ràng buộc toàn vẹn...56

2. Ràng buộc miền giá trị trên bối cảnh một quan hệ...58

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

4. Ràng buộc liên bộ - liên thuộc tính trên bối cảnh 1 quan hệ...59

CÂU HỎI - BÀI TẬP...59

BÀI 7: XÁC ĐỊNH RÀNG BUỘC TOÀN VẸN CÓ BỐI CẢNH NHIỀU QUAN HỆ...61

1. Ràng buộc toàn vẹn tham chiếu...61

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

3. Ràng buộc toàn vẹn do thuộc tính tổng hợp...62

CÂU HỎI – BÀI TẬP...63

BÀI 8: PHỤ THUỘC HÀM VÀ HỆ TIÊN ĐỀ AMSTRONG CHO CÁC PHỤ THUỘC HÀM...65

1. Định nghĩa phụ thuộc hàm...65

2. Một số tính chất của phụ thuộc hàm - Hệ luật dẫn Armstrong...66

CÂU HỎI – BÀI TẬP...67

BÀI 09: XÁC ĐỊNH BAO ĐÓNG...70

1. Bao Đóng Của Tập Phụ Thuộc Hàm F...70

2. Bao đóng của tập thuộc tính...70

CÂU HỎI – BÀI TẬP...72

BÀI 10: XÁC ĐỊNH KHÓA CỦA LƯỢC ĐỒ CƠ SỞ DỮ LIỆU...73

1. Định nghĩa khoá của quan hệ (relation key)...73

2. Thuật toán tìm một khóa...73

3. Thuật toán tìm tất cả các khóa...74

CÂU HỎI - BÀI TẬP...76

BÀI 11: XÁC ĐỊNH PHỦ TỐI THIỂU...77

1. Tập phụ thuộc hàm tương đương...77

2. Phủ tối thiểu ( Tập phụ thuộc hàm tối thiểu)...78

CÂU HỎI - BÀI TẬP...79

BÀI 12: XÁC ĐỊNH DẠNG CHUẨN CỦA LƯỢC ĐỒ CSDL...80

1. Một số khái niệm liên quan đến dạng chuẩn...80

2. Dạng chuẩn 1...81

3. Dạng chuẩn 2 (2NF)...81

4. Dạng Chuẩn 3 (third normal form)...83

5. Dạng Chuẩn BC (Boyce Codd normal form- BC NF)...84

CÂU HỎI - BÀI TẬP...85

(7)

GIÁO TRÌNH MÔ ĐUN

Tên mô đun: Cơ sở dữ liệu Mã mô đun: MĐ11

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

Vị trí:

- Đây là môn học cơ sở và là môn bắt buộc của trình độ cao đẳng nghề công nghệ thông tin được bố trí sau khi sinh viên học xong các môn chung, anh văn, tin học cơ sở, lập trình cơ bản, Hệ quản trị cơ sở dữ liệu Access.

Tính chất:

- Là môn học nền tảng về thiết kế và lưu trữ dữ liệu, kiến thức cơ bản để học được các môn hệ quản trị cơ sở dữ liệu sau này: MS SQL, Oracle, My SQL … Mục tiêu của mô đun:

- Trình bày được các khái niệm về: Cơ sở dữ liệu, Các mô hình dữ liệu, các ngôn ngữ định nghĩa và xử lý dữ liệu.

- Trình bày được khái niệm về quan hệ, thuộc tính, các loại khóa, lược đồ quan hệ, bộ giá trị và phụ thuộc hàm, ràng buộc toàn vẹn của mô hình cơ sở dữ liệu quan hệ.

- Trình bày được khái niệm phép hội, giao, trừ, tích dề các, chia trong đại số tập hợp.

- Trình bày được khái niệm phép chiếu, chọn, kết trong đại số quan hệ.

- Trình bày được khái niệm bao đóng và thuật toán tìm bao đóng của tập thuộc tính.

- Trình bày được hệ tiên đề Amstrong đối với các phụ thuộc hàm.

- Trình bày được khái niệm khóa và các thuật toán tìm khóa của lược đồ CSDL.

- Trình bày được khái niệm tập phụ thuộc hàm tương đương và phủ tối thiểu.

- Trình bày được thuật toán tìm phủ tối thiểu.

- Trình bày được khái niệm các dạng chuẩn 1,2,3,BC.

- Trình bày được phương pháp chuẩn hóa CSDL về dạng chuẩn 3.

- Trình bày được phương pháp tối ưu hóa câu hỏi bằng đại số quan hệ.

- Thực hiện được các phép toán hội, giao,trừ, tích đề các, chia trên đại số tập hợp.

- Thực hiện được các phép chiếu, chọn, kết trên đại số quan hệ.

- Phân biệt được các loại ràng buộc toàn vẹn.

- Xác định được các ràng buộc toàn vẹn trong 1 CSDL.

(8)

- Xác định được các phụ thuộc hàm trong CSDL.

- Xác định được bao đóng của các tập thuộc tính trong 1 CSDL.

- Tìm được khóa của lược đồ CSDL bằng thuật toán tìm 1 khóa và thuật toán tìm tất cả các khóa.

- Tìm được phủ tối thiệu của lược đồ quan hệ bằng thuật toán tìm phủ tối thiểu.

- Xác định được dạng chuẩn của các lược đồ CSDL.

- Chuẩn hóa được lược đồ CSDL về dạng chuẩn 3.

- Tối ưu hóa được câu hỏi bằng đại số quan hệ.

Nội dung của mô đun:

(9)

BÀI MỞ ĐẦU: GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU Mã bài: 11.00

Giới thiệu:

Cơ sở dữ liệu là gì và tại sao cần phải có Cơ sở dữ liệu? Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc, các dữ liệu có liên quan với nhau được lưu trữ trên các thiết bị lưu trữ nhằm 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 mục đích khác nhau. Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của thế giới thực như hoạt động của một công ty, một nhà trường, một ngân hàng… Vì vậy Cơ sở dữ liệu rất cần thiết trong cuộc sống hiện nay.

Cơ sở dữ liệu và kỹ thuật cơ sở dữ liệu đã có ảnh hưởng rất lớn đến việc sử dụng máy tính. Có thể nói rằng cơ sở dữ liệu đóng vai trò quan trọng trong mọi lĩnh vực có sử dụng máy tính như giáo dục, thương mại, kỹ nghệ, khoa học, thư viện,…. Thuật ngữ cơ sở dữ liệu trở thành một thuật ngữ phổ dụng.

Bài này sẽ giới thiệu một cách tổng quan về các khái niệm: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ thống cơ sở dữ liệu và mô hình cơ sở dữ liệu;

Mục tiêu:

- Phân biệt được hệ cơ sở dữ liệu với hệ thống tập tin cổ điển.

- Phân biệt được các mô hình dữ liệu mạng, phân cấp, quan hệ, thực thể liên kết và mô hình hướng đối tượng.

- Nghiêm túc, tự giác trong học tập Nội dung chính:

1. Một số khái niệm 1.1. Cơ sở dữ liệu 1.1.1. Dẫn nhập

Lưu trữ thông tin là nhu cầu rất thông dụng trong cuộc sống của con người. Từ thời xa xưa con người đã biết sử dụng những vật dụng có sẵn để lưu trữ thông tin như in hình lên đá, in lên các gốc cây, thanh gỗ. Nhưng hiện nay thì việc lưu trữ đó đã trở nên quá lỗi thời. Thay vào đó công nghệ thông tin phát triển, mọi người đều có khả năng mua máy tính và lưu trữ thông tin trên máy tính.

Lưu trữ dữ liệu dưới dạng hệ thống tập tin

(10)

Hình 1. Hệ thống tập tin dữ liệu Microsoft Office

Khi sử dụng máy tính thông thường ta sẽ lưu trữ thông tin dưới dạng file, và mỗi file ta sẽ đặt nó trong những folder có tên khác nhau nhằm mục đích dễ dàng tìm đến. Với cách này ta sẽ có những ưu điểm và nhược điểm như sau:

* Ưu điểm:

- Với việc lưu trữ này thì rõ ràng khi ta cần là lưu ngay nên tốc độ triển khai sẽ nhanh

- Rõ ràng và trực quan với người không có chuyên môn công nghệ thông tin

* Khuyết điểm:

- Dữ liệu không nhất quán, đôi khi có trường hợp nhiều người sử dụng một file và sẽ xảy ra hiện tượng lưu đè.

- Trùng lặp dữ liệu nhiều.

- Tính chia sẻ dữ liệu không cao (kém)

Hiện nay các cá nhân sử dụng máy tính đa số sử dụng cách lưu trữ này để lưu trữ thông tin cho riêng mình, nên nói về sự phổ biến thì cách này phổ biến nhất, tuy nhiên với những hệ thống dữ liệu lớn thì sẽ có rất nhiều hạn chế như việc truy xuất tìm kiếm dữ liệu sẽ chậm, khó bảo quản,... Với những hạn chế trên thì khái niệm cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu được ra đời.

1.1.2. Khái niệm Cơ sở dữ liệu

Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc, các dữ liệu có liên quan với nhau được lưu trữ trên các thiết bị lưu trữ nhằm 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 mục đích khác nhau..

Ví dụ: Để quản lý việc học tập trong một trường học, 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….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 các dữ liệu có liên quan đến nhau và mang nhiều ý nghĩa, đó là một cơ sở dữ liệu.

1.1.3. Tính chất

- Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của thế giới thực như hoạt động của một công ty, một nhà trường, một ngân hàng… Những thay đổi của

(11)

thế giới thực phải được phản ánh một cách trung thực vào trong cơ sở dữ liệu.

Những thông tin được đưa vào trong cơ sở dữ liệu tạo thành một không gian cơ sở dữ liệu hoặc là một “thế giới nhỏ” (miniworld) .

- Một cơ sở dữ liệu là một tập hợp dữ liệu liên kết với nhau một cách logic và mang một ý nghĩa cố hữu nào đó. Một cơ sở dữ liệu không phải là một tập hợp tuỳ tiện.

- Một cơ sở dữ liệu được thiết kế và được phổ biến cho một mục đích riêng. Nó có một nhóm người sử dụng có chủ định và có một số ứng dụng được xác định phù hợp với mối quan tâm của người sử dụng. Nói cách khác, một cơ sở dữ liệu có một nguồn cung cấp dữ liệu, một mức độ tương tác với các sự kiện trong thế giới thực và một nhóm người quan tâm tích cực đến các nội dung của nó.

- Một cơ sở dữ liệu có thể có cỡ tuỳ ý và có độ phức tạp thay đổi. Có những cơ sở dữ liệu chỉ gồm vài trăm bản ghi (như cơ sở dữ liệu phục vụ việc quản lý lương ở một cơ quan nhỏ), và có những cơ sở dữ liệu có dung lượng rất lớn (như các cơ sở dữ liệu phục vụ cho việc tính cước điện thoại, quản lý nhân sự trên một phạm vi lớn). Các cơ sở dữ liệu phải được tổ chức quản lý sao cho những người sử dụng có thể tìm kiếm dữ liệu, cập nhật dữ liệu và lấy dữ liệu ra khi cần thiết. Một cơ sở dữ liệu có thể được tạo ra và duy trì một cách thủ công và cũng có thể được tin học hoá.

1.1.4. Ưu điểm của cơ sở dữ liệu

-Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu.

-Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau.

-Khả năng chia sẻ thông tin cho nhiều người sử dụng.

1.1.5. Những vấn đề Cơ sở dữ liệu cần giải quyết

- Tính chủ quyền dữ liệu: được thể hiện ở phương diện an toàn dữ liệu, khả năng biểu diễn các mối liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu.

Điều này có nghĩa là người khai thác CSDL phải có nhiệm vụ cập nhật các thông tin mới nhất của CSDL.

- Tính bảo mật và quyền khai thác thông tin của người sử dụng: Do có nhiều người được phép khai thác dữ liệu một cách đồng thời, nên cần thiết phải có một cơ chế bảo mật và phân quyền hạn khai thác CSDL. Các hệ điều hành nhiều người sử dụng hay hệ điều hành mạng cục bộ đều có cung cấp cơ chế này

- Tranh chấp dữ liệu: Nhiều người được phép truy nhập cùng một lúc vào tài nguyên dữ liệu của CSDL với những mục đích khác nhau, do đó cần thiết phải có một cơ chế ưu tiên khi truy nhập dữ liệu. Cơ chế ưu tiên có thể được thực hiện bằng việc cấp quyền ưu tiên cho từng người khai thác.

- Đảm bảo dữ liệu khi có sự cố: Việc quản lý dữ liệu tập trung có thể làm tăng khả năng mất mát hoặc sai lệch thông tin khi có sự cố như mất điện đột xuất, hay một phần đĩa lưu trữ CSDL bị hư,… một số hệ điều hành mạng có cung cấp

(12)

dịch vụ sao lưu ảnh đĩa cứng, tự động kiểm tra và khắc phục lỗi khi có sự cố.

Tuy nhiên, bên cạnh dịch vụ của hệ điều hành, để đảm bảo CSDL luôn ổn định, một CSDL nhất thiết phải có một cơ chế khôi phục dữ liệu khi có các sự cố bất ngờ xảy ra.

1.1.6. Đối tượng sử dụng Cơ sở dữ liệu

* Người quản trị CSDL: thực hiện các công việc quản lý và bảo trì CSDL như sau:

- Sự chính xác và toàn vẹn dữ liệu, và bảo mật dữ liệu.

- Thực hiện các công việc sao lưu và phục hồi dữ liệu.

- Giữ liên lạc thường xuyên với người lập trình, người dùng, người phát triển ứng dụng để kịp thời cập nhật CSDL.

- Bảo đảm sự hoạt động của CSDL và HQTCSDL.

* Người phát triển và lập trình ứng dụng là những người rành về máy tính có trách nhiệm thiết kế và tạo các chương trình ứng dụng dành cho người dùng cuối cùng.

* Người dùng cuối: là những người có thể không rành về máy tính nhưng nắm rõ về các nghiệp vụ mà ứng dụng triển khai.

1.2. Hệ quản trị cơ sở dữ liệu

Một hệ quản trị cơ sở dữ liệu (HQTCSDL) là:

- Một tập các phần mềm quản lý cơ sở dữ liệu và cung cấp các dịch vụ xử lý cơ sở dữ liệu cho các 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 cơ sở dữ liệu vật lý thành cơ sở dữ liệu logic.

Hiện nay trên thị trường phần mềm đã có những hệ quản trị cơ sở dữ liệu hỗ trợ được nhiều tiện ích như: MS Access, SQL Server, Oracle, …

Mỗi hệ quản trị cơ sở dữ liệu đều được cài đặt dựa trên một mô hình dữ liệu cụ thể. Dù là dựa trên mô hình dữ liệu nào, một hệ quản trị cơ sở dữ liệu cũng phải hội đủ các yếu tố sau:

Yếu tố 1: Ngôn ngữ giao tiếp giữa người sử dụng và CSDL, bao gồm :

- Ngôn ngữ mô tả dữ liệu (DDL – Data Definition Language): Để cho phép khai báo cấu trúc của cơ sở dữ liệu, khai báo các mối liên hệ của dữ liệu và các quy tắc quản lý áp đặt lên các dữ liệu đó.

- Ngôn ngữ thao tác dữ liệu (DML – Data Manupulation Language): Cho phép người sử dụng có thể cập nhật dữ liệu (thêm/sửa/xoá)

- Ngôn ngữ truy vấn dữ liệu ( Structure Querry Language): Cho phép người khai thác sử dụng để truy vấn các thông tin cần thiết trong cơ sở dữ liệu.

(13)

- Ngôn ngữ quản lý dữ liệu (DCL – Data Control Language): Cho phép những người quản trị hệ thống thay đổi cấu trúc của các bảng dữ liệu, khai báo bảo mật thông tin và cấp quyền hạn khai thác cơ sở dữ liệu cho người sử dụng.,…

Yếu tố 2: Từ điển dữ liệu:

Dùng để mô tả các ánh xạ liên kết, ghi nhận các thành phần cấu trúc của cơ sở dữ liệu, các chương trình ứng dụng, mật mã, quyền hạn sử dụng,…

Yếu tố 3: Cơ chế giải quyết vấn đề tranh chấp dữ liệu:

Mỗi hệ quản trị cơ sở dữ liệu cũng có thể cài đặt một cơ chế riêng để giải quyết các vấn đề này. Một số biện pháp sau đây thường được sử dụng: thứ nhất: cấp quyền ưu tiên cho từng người sử dụng; thứ hai: Đánh dấu yêu cầu truy xuất dữ liệu, phân chia thời gian, người nào có yêu cầu trước thì có quyền truy xuất dữ liệu trước,…

Yếu tố 4: Hệ quản trị cơ sở dữ liệu cũng phải có cơ chế sao lưu (backup) và phục hồi (restore) dữ liệu khi có sự cố xảy ra.

Điều này có thể thực hiện sau một thời gian nhất định hệ quản trị cơ sở dữ liệu sẽ tự động tạo ra một bản sao cơ sở dữ liệu, cách này hơi tốn kém, nhất là đối với cơ sở dữ liệu lớn.

Yếu tố 5: Hệ quản trị CSDL phải cung cấp một giao diện thân thiện, dễ sử dụng.

Yếu tố 6: Tính độc lập giữa dữ liệu và chương trình:

Khi có sự thay đổi dữ liệu (như sửa đổi cấu trúc lưu trữ các bảng dữ liệu, thêm các chỉ mục (Index) ...) thì các chương trình ứng dụng (Application) đang chạy trên Cơ sở dữ liệu đó vẫn không cần phải được viết lại, hay cũng không làm ảnh hưởng đến những người sử dụng khác.

* Các mức biểu diễn một cơ sở dữ liệu:

- Mức trong: (mức vật lý – Physical) là mức lưu trữ cơ sở dữ liệu. Thể hiện vấn để cần giải quyết, dữ liệu gì, lưu trữ như thế nào, ở đâu, cần các chỉ mục gì, Truy xuất tuần tự hay ngẫu nhiên. Mức này dành cho người quản trị và người sử dụng chuyên môn.

- Mức quan niệm: (Conception hay Logical) cần phải lưu trữ bao nhiêu loại dữ liệu, là dữ liệu gì, mối quan hệ

- Mức ngoài: của người sử dụng và các chương trình ứng dụng.

2. Các mô hình dữ liệu

Mô hình dữ liệu là sự trừu tượng hoá môi trường thực. Mỗi loại mô hình dữ liệu đặc trưng cho một cách tiếp cận dữ liệu khác nhau của những nhà phân tích thiết kế cơ sở dữ liệu. Mỗi loại mô hình dữ liệu đều có những ưu điểm và những mặt hạn chế của nó, nhưng vẫn có những mô hình dữ liệu nổi trội và được nhiều người quan tâm nghiên cứu.

(14)

2.1. Mô hình dữ liệu mạng

Mô hình dữ liệu mạng (Network Data Model) - còn được gọi tắt là mô hình mạng hoặc mô hình lưới (Network Model) là mô hình được biểu diễn bởi một đồ thị có hướng. Trong mô hình này người ta đưa vào các khái niệm: mẫu tin hay bản ghi (Record), loại mẫu tin (Record Type) và loại liên hệ (Set Type).

* Mẫu tin: mô tả 1 đối tượng trong thế giới thực.

Ví dụ: (‘NV001’,’Nguyen Lam’,’Nam’,’10/10/1970’,’Dong Nai’)

* Loại mẫu tin: Là 1 tập các mẫu tin có cùng tính chất.

Ví dụ: Tập hợp các mẫu tin về nhân viên trong công ty tạo thành NHANVIEN Ký hiệu:

* Loại liên hệ: Mô tả sự liên kết giữa 1 loại mẫu tin chủ và 1 loại mẫu tin thành viên

- Ví dụ: Nhân viên (tham gia) công việc - Ký hiệu: Hình elip bên trong được ghi tên

* Bản số: chỉ ra số lượng các mẫu tin tham gia trong mối liên hệ

- (1:1) (one-to-one): mỗi mẫu tin của loại mẫu tin chủ kết hợp với đúng 1 mẫu tin của loại mẫu tin thành viên.

- (1:n) (one-to-many): mỗi mẫu tin của loại mẫu tin chủ kết hợp với 1 hay nhiều mẫu tin thành viên.

- (n:1) (many-to-one): nhiều mẫu tin của loại mẫu tin chủ kết hợp với đúng 1 mẫu tin của loại mẫu tin thành viên.

- Recursive: một loại mẫu tin chủ cũng có thể đồng thời là loại mẫu tin thành viên với chính nó. Loại liên hệ này là Đệ quy

- Ví dụ:

Hình 2: Mô hình

Đặc điểm mô hình dữ liệu mạng:

(15)

- Tương đối đơn giản - Dễ sử dụng

- Không thích hợp biểu diễn CSDL có quy mô lớn - Khả năng diễn đạt ngữ nghĩa kém

2.2. Mô hình phân cấp

Mô hình dữ liệu phân cấp (Hierachical Data Model) - được gọi tắt là mô hình phân cấp (Hierachical Model): Mô hình là một cây (Tree), trong đó mỗi nút của cây biểu diễn một thực thể, giữa nút con và nút cha được liên hệ với nhau theo một mối quan hệ xác định.

* Loại mẫu tin:

(Recorde Type) là mẫu đặc trưng cho 1 loại đối tượng riêng biệt. Chẳng hạn như trong việc quản lý nhân sự tại một đơn vị, đối tượng cần phản ảnh của thế giới thực có thể là Phòng, Nhân viên, Công việc, lý lịch ... do đó có các loại mẫu tin đặc trưng cho từng đối tượng này. Trong đồ thị biểu diễn mô hình mạng mỗi loại mẫu tin được biểu diễn bởi một hình chữ nhật, một thể hiện (Instance) của một loại mẫu tin được gọi là bản ghi. Trong ví dụ trên loại mẫu tin Phòng có các mẫu tin là các phòng, ban trong đơn vị; loại mẫu tin nhân viên có các mẫu tin là các nhân viên đang làm việc tại các phòng ban của cơ quan...

* Loại mối liên hệ:

Kiểu liên hệ là phân cấp, theo cách:

- Mẫu tin thành viên chỉ đóng vai trò thành viên của một mối liên hệ duy nhất, tức là nó thuộc một chủ duy nhất. Như vậy, mối liên hệ từ mẫu tin chủ tới các mẫu tin thành viên là 1¸n, và từ mẫu tin (hay bản ghi - record) thành viên với mẫu tin chủ là 1¸1.

- Giữa 2 loại mẫu tin chỉ tồn tại 1 mối liên hệ duy nhất.

* Ví dụ

Dưới đây là một ví dụ về mô hình phân cấp quản lý nhân sự của một công ty

Hình.3: Mô hình phân cấp quản lý nhân sự

(16)

2.3. Mô hình quan hệ

Mô hình này đượcc E.F Codd đưa vào đầu những năm 70, mô hình này dựa trên lý thuyết tập hợp và đại số quan hệ. Vì tính chất chặt chẽ của toán học về lí thuyết tập hợp nên mô hình này đã mô tả dữ liệu một cách rõ ràng, mềm dẻo và là mô hình thông dụng nhất hiện nay. Hầu hết các hệ QT cơ sở dữ liệu đều tổ chức dữ liệu theo mô hình dữ liệu quan hệ. Trong đó dữ liệu được tổ chức dưới dạng bảng các phép toán thao tác trên dữ liệu dựa trên lý thuyết tập hợp của toán học. Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu quan hệ gọi là cơ sở dữ liệu quan hệ.

Dữ liệu bảng được thể hiện như sau:

Hình 4: Thể hiện dữ liệu trong bảng Ví dụ: Mô hình cơ sở dữ liệu quan hệ

SINHVIEN (MASV, HOTENSV, NU, NGAYSINH, NOISINH, TINH, MALOP)

LOP (MALOP,TENLOP, MAKHOA)

2.4. Mô hình thực thể mối kết hợp (Entity Relationship Diagram ERD) Mối liên hệ giữa các tập thực thể là một danh sách có thứ tự của các tập thực thể. Một tập thực thể đặc biệt có thể xuất hiện nhiều lần trong danh sách. Danh sách các tập thực thể này là khái niệm ở mức lược đồ của một mối liên hệ.

Mô hình thực thể quan hệ được CHEN giới thiệu năm 1976 và được ANSI công nhận mô hình chuẩn năm 1988. Mô hình này được sử dụng nhiều trong thiết kế dữ liệu mức khái niệm, dùng để mô hình hoá dữ liệu

Các khái niệm trong ERD gồm: Loại thực thể, thực thể, thuộc tính, mối kết hợp, vai trò, bản số

a. Loại thực thể (Entity Type) là những loại đối tượng, sự vật của thế giới thực tồn tại cụ thể cần được quản lý. Bắt buộc phải được đặt tên bằng Danh từ hoặc cụm danh từ. Được biểu diễn bằng hình chữ nhật hoặc hình chữ nhật được bo góc.

b. Thực thể (Entity) là một thể hiện của loại thực thể.

Ví dụ: Trong loại thực thể HOCSINH có thực thể:

- (HS001, ‘Nguyễn Văn A’, ’20/11/1993’, ‘Nam’).

(17)

- (HS002, ‘Trần Thị C’, ’02/10/1992’, ‘Nữ’).

* Lưu ý: Khái niệm Loại thực thể được sử dụng nhiều hơn hẳn khái niệm Thực thể trong mô hình này. Vì vậy, một số tài liệu sử dụng tên Thực thể thay cho Loại thực thể để rút gọn.

c. Loại kết hợp (Mối quan hệ): là mối kết hợp, sự liên kết giữa hai hay nhiều loại thực thể. Được biểu diễn bằng hình thoi. Tên mối quan hệ là Động từ hoặc Cụm động từ

Ví dụ:

Hình 5: Minh hoạ mối kết hợp giữa thực thể Khachhang và nuocgiaikhat Khách hàng và nước giải khát là Loại thực thể (Thực thể)

Đặt: Là mối quan hệ giữa 2 thực thể này

Có các loại mối quan hệ như sau: MQH đa phân, MDQ phản thân

Phản thân Đa phân

Hình 6: Minh hoạ mối kết hợp đa phân và phản thân

d. Bản số của nhánh là số lượng tối thiểu và số lượng tối đa mà thực thể tham gia vào mối kết hợp. Ký hiệu (min,max) – (1,n).

Hình 7: Minh hoạ mối kết hợp có bản số

e. Thuộc tính: là những tính chất đặc trưng của một loại thực thể/mối kết hợp.

Ký hiệu:

Ví dụ:

Hình 8: Minh hoạ thuộc tính của thực thể

- Thuộc tính nhận diện: là thuộc tính để phân biệt thực thể này với thực thể kia trong tập thực thể.

- Thuộc tính mô tả: là thuộc tính cung cấp thông tin chi tiết hơn về thực thể trong tập thực thể.

(18)

- Đơn trị (Simple): mỗi thực thể chỉ có một giá trị ứng với thuộc tính. Ví dụ:

MAHV, HOTEN

- Đa trị (Multi Value): thuộc tính có thể có nhiều giá trị đối với một thực thể.

Với những thuộc tính này cần sử dụng bản số Ví dụ:

Hình 9: Minh hoạ thuộc tính đa trị

Học vị là thuộc tính đa trị, một người có thể có nhiều học vị như tiến sĩ, giáo sư, thạc sĩ,...

- Đa hợp (Composite): thuộc tính được tạo từ nhiều thành phần.

Ví dụ: DIACHI (Sonha, tenduong, phuong, quan)

Chú ý: các thuộc tính đa trị và đa hợp có thể lồng nhau tùy ý. Ví dụ:

{BANGCAP(TRUONGCAP, KETQUA, CHUYENNGANH)}

- Thuộc tính kết hợp: Là nhóm thuộc tính có liên hệ

Hình 10: Minh hoạ thuộc

f. Khóa: Khóa của loại thực thể là thuộc tính để nhận dạng thực thể.Căn cứ vào đó để xác định duy nhất một thực thể.

Ví dụ: Mỗi HOCSINH có một mã duy nhất để phân biệt học sinh này với học sinh kia.

Việc thành lập mô hình thực thể kết hợp cho một ứng dụng tin học có thể tiến hành theo các bước sau:

Bước 1.Xác định danh sách các loại thực thể

Bước 2.Xác định các mối kết hợp giữa các loại thực thể để phác thảo mô hình.

Bước 3.Lập bản số của các mối kết hợp.

Ví dụ:

(19)

Bài toán quản lý điểm của sinh viên được phát biểu sơ bộ như sau:

Mỗi sinh viên cần quản lý các thông tin như: họ và tên (HOTENSV),ngày tháng năm sinh (NGAYSINH), giới tính (NU), nơi sinh(NƠISINH), hộ khẩu thường trú (TINH). Mỗi sinh viên được cấp một mã số sinh viên duy nhất (MASV) để phân biệt với mọi sinh viên khác của trường, mỗi sinh viên chỉ thuộc về một lớp nào đó.

Mỗi lớp học có một mã số lớp (MALOP) duy nhất để phân biệt với tất cả các lớp học khác trong trường: có một tên gọi (TENLOP) của lớp, mỗi lớp chỉ thuộc về một khoa.

Mỗi khoa có một tên gọi (TENKHOA) và một mã số duy nhất (MAKHOA) để phân biệt với các khoa khác.

Mỗi môn học có một tên gọi (TENMH) cụ thể, được học trong một số đơn vị học trình (DONVIHT) ) và ứng với môn học là một mã số duy nhất (MAMH) để phân biệt với các môn học khác.

Mỗi giảng viên cần quản lý các thông tin: họ và tên (HOTENGV), cấp học vị (HOCVI), thuộc một chuyên ngành (CHUYENNGANH) và được gán cho một mã số duy nhất gọi là mã giảng viên(MAGV) để phân biệt với các giảng viên khác.

Mỗi giảng viên có thể dạy nhiều môn ở nhiều khoa, nhưng chỉ thuộc về sự quản lý hành chính của một khoa.

Mỗi sinh viên với một môn học được phép thi tối đa 3 lần, mỗi lần thi (LANTHI), điểm thi (DIEMTHI).

Mỗi môn học ở mỗi lớp học chỉ phân công cho một giảng viên dạy (tất nhiên là một giảng viên thì có thể dạy nhiều môn ở một lớp).

Lập mô hình thực thể kết hợp cho bài toán trên.

Bài hướng dẫn giải

2.5. Cách chuyển đổi từ mô hình thực thể kết hợp sang mô hình quan hệ Mỗi thực thể chuyển thành một quan hệ cùng tên và danh sách thuộc tính. Thuộc tính khoá trở thành khoá chính của quan hệ

(20)

Hình 11: Minh hoạ chuyển đổi tập thực thể.

-Mối kết hợp 1 – 1

Thuộc tính khoá bên này làm khoá ngoại bên kia hoặc ngược lại. Bên dưới là ví dụ chuyển mối kết hợp 1 – 1

Hình 12: Minh hoạ mối quan hệ 1 – 1 -Mối kết hợp 1 – n

Hình 13: Minh hoạ mối quan hệ 1 – n

(21)

-Mối kết hợp n – n

Chuyển thành quan hệ mới có khoá chính gồm 2 thuộc tính khoá của 2 quan hệ;

thuộc tính mối kết hợp (nếu có) trở thành thuộc tính của quan hệ mới. Ví dụ

Hình 14: Minh hoạ mối quan hệ n – n -Mối kết hợp 3 ngôi (Ba thực thể tham gia vào mối kết hợp)

Chuyển thành quan hệ mới, có khoá chính gồm 3 thuộc tính khoá của 3 thực thể tham gia mối kết hợp. Thuộc tính mối kết hợp (nếu có) trở thành thuộc tính của quan hệ mới. Ví dụ

Hình 15: Minh hoạ mối quan hệ 3 ngôi

-Thuộc tính đa trị (Thuộc tính có nhiều giá trị cho một thể hiện)

- Chuyển thành quan hệ mới có khoá chính gồm thuộc tính đa trị và thuộc tính khoá của thực thể. Sau khi chuyển thành quan hệ mới, thuộc tính đa trị sẽ biến mất khỏi thực thể cũ. Ví dụ

(22)

Hình 16: Minh hoạ thuộc tính đa trị 2.6. Mô hình hướng đối tượng

Mô hình dữ liệu hướng đối tượng (Object Oriented Data Model) ra đời từ cuối những năm 80 và đầu những năm 90. Đây là loại mô hình tiên tiến nhất hiện nay dựa trên cách tiếp cận hướng đối tượng đã quen thuộc trong các phương pháp lập trình hướng đối tượng, nó sử dụng các khái niệm như lớp (class), sự kế thừa (inheritance), kế thừa bội (tức là kết thừa từ nhiều lớp cơ sở multi-inheritance).

Đặc trưng cơ bản của cách tiếp cận này là tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính tái sử dụng (Reusability).

Lớp (class) là một kiểu dữ liệu có cấu trúc bao gồm các thành phần dữ liệu và các phương thức xử lý thao tác trên cấu trúc dữ liệu đó. Nó là một kiểu (hay cấu trúc) dữ liệu được trừu tượng hóa, bởi vì các tác động (còn gọi là các phương thức - method) là để phục vụ hoặc thao tác trên kiểu dữ liệu này. Dữ liệu và phương thức hòa quyện vào nhau thành một thể thống nhất: dữ liệu cần có những cách thức xử lý thỏa đáng, và phương thức xử lý được đưa vào trong kiểu dữ liệu đó là để phục vụ cho các đối tượng có cấu trúc như thế. Người ta gọi sự thống nhất đó là sự đóng gói.

Phương pháp tiếp cận hướng đối tượng trong mô hình dữ liệu mặc dù còn mới mẻ nhưng hiện nay đang được nhiều người quan tâm nghiên cứu phát triển và áp dụng. Các hệ quản trị cơ sở dữ liệu hướng đối tượng hiện nay vẫn chưa nhiều, một số còn chưa thuần nhất (nghĩa là việc lập trình là hướng đối tượng nhưng cơ sở dữ liệu vẫn chủ yếu dựa trên mô hình quan hệ).

CÂU HỎI - BÀI TẬP:

Câu hỏi:

1.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.

1.2. Nêu các tính chất của một cơ sở dữ liệu

1.3. Nêu các chức năng của một hệ quản trị cơ sở dữ liệu 1.4. Nêu các mô hình dữ liệu.

1.5. Liệt kê những người có liên quan đến hệ cơ sở dữ liệu

(23)

1.6. Xây dựng mô hình ER cho cơ sở dữ liệu:

1.7. Nêu quy tắc chuyển từ mô hình ER sang mô hình quan hệ.

Bài tập:

Bài số 1: QUẢN LÝ HỌC VIÊN Ở MỘT TRUNG TÂM TIN HỌC

Trung tâm tin học KTCT thường xuyên mở các lớp tin học ngắn hạn và dài hạn.

Mỗi lớp ngắn hạn có một hoặc nhiều môn học (chẳng hạn như lớp Tin học văn phòng thì có các môn : Word, Power Point, Excel, còn lớp lập trình Pascal thì chỉ học một môn Pascal). Các lớp dài hạn (chẳng hạn như lớp kỹ thuật viên đồ hoạ đa truyền thông, lớp kỹ thuật viên lập trình, lớp kỹ thuật viên phần cứng và mạng,… ) thì có thể học nhiều học phần và mỗi học phần có thể có nhiều môn học.

Mỗi học viên có một mã học viên(MAHV) duy nhất và chỉ thuộc về một lớp duy nhất (nếu học viên cùng lúc học nhiều lớp thì ứng với mỗi lớp, học viên đó có một MAHV khác nhau). Mỗi học viên xác định họ tên (HOTEN), ngày sinh (NGAYSINH),nơi sinh (NOISINH), phái nam hay nữ (PHAI), nghề nghiệp (NGHENGHIEP) - nghề nghiệp là SINH VIÊN, GIÁO VIÊN, KỸ SƯ…

Trung tâm KTCT có nhiều lớp, mỗi lớp có một mã lớp duy nhất (MALOP), mỗi lớp xác định các thông tin: tên lớp (TENLOP), thời khoá biểu, ngày khai giảng (NGAYKG), học phí (HOCPHI).Chú ý rằng tại một thời điểm, trung tâm có thể mở nhiều lớp cho cùng một chương trình học. Với các lớp dài hạn thì ngày khai giảng được xem là ngày bắt đầu của mỗi học phần và HỌC PHÍ là học phí của mỗi học phần, với lớp ngắn hạn thì HỌC PHÍ là học phí của toàn khoá học đó.

Trung tâm có nhiều môn học, mỗi môn học có mã môn học (MAMH) duy nhất, mỗi môn học xác định tên môn học(TENMH), số tiết lý thuyết (SOTIETLT), số tiết thực hành (SOTIETTH).

Mỗi học viên ứng với mỗi môn học có một điểm thi(DIEMTHI) duy nhất. Mỗi lần đóng học phí, học viên sẽ được trung tâm giao cho một phiếu biên lai thu tiền, mỗi biên lai có một số biên lai duy nhất để quản lý.

Bài số 2: QUẢN LÝ VIỆC MƯỢN/TRẢ SÁCH Ở MỘT THƯ VIỆN Một thư viện tổ chức việc cho mượn sách như sau:

Mỗi quyển sách được đánh một mã sách (MASH) dùng để phân biệt với các quyển sách khác (giả sử nếu một tác phẩm có nhiều bản giống nhau hoặc có nhiều tập thì cũng xem là có mã sách khác nhau), mỗi mã sách xác định các thông tin khác như : tên sách (TENSACH), tên tác giả (TACGIA), nhà xuất bản (NHAXB), năm xuất bản (NAMXB).

Mỗi độc giả được thư viện cấp cho một thẻ thư viện, trong đó có ghi rõ mã độc giả (MAĐG), cùng với các thông tin khác như : họ tên (HOTEN), ngày sinh (NGAYSINH), địa chỉ (ĐIACHI), nghề nghiệp(NGHENGHIEP).

Cứ mỗi lượt mượn sách, độc giả phải đăng ký các quyển sách cần mượn vào một phiếu mượn, mỗi phiếu mượn có một số phiếu mượn (SOPM) khác nhau, mỗi

(24)

phiếu mượn xác định các thông tin như: ngày mượn sách (NGAYMUON), mã độc giả. Các các quyển sách trong cùng một phiếu mượn không nhất thiết phải trả trong một lần. Mỗi quyển sách có thể thuộc nhiều phiếu mượn khác nhau (tất nhiên là tại các thời điểm khác nhau).

Bài số 3: QUẢN LÝ TỔ CHỨC THI TỐT NGHIỆP Việc tổ chức kỳ thi tốt nghiệp của một khoa như sau:

Mỗi thí sinh có một Mã số sinh viên duy nhất (MASV), mỗi MASV xác định được các thông tin: họ và tên (HOTEN), ngày sinh (NGAYSINH), nơi sinh, nữ,phái, dân tộc. Mỗi lớp có một mã lớp (MALOP) duy nhất , mỗi mã lớp xác định các thông tin: tên lớp (TENLOP), mỗi lớp chỉ thuộc sự quản lý của một khoa nào đó. Mỗi khoa có một mã khoa duy nhất (MAKHOA), mỗi mã khoa xác định tên khoa (TENKHOA). Mỗi thí sinh đều phải dự thi tốt nghiệp ba môn.

Mỗi môn thi có một mã môn thi (MAMT) duy nhất, mỗi mã môn thi xác định các thông tin: tên môn thi (TENMT), thời gian làm bài – được tính bằng phút (PHUT), ngày thi (NGAYTHI), buổi thi (BUOITHI), môn thi này là môn lý thuyết hay thực hành (LYTHUYET). Chú ý rằng, nếu một môn học được cho thi ở nhiều hệ thì được đặt MAMT khác nhau (chẳng hạn cả trung cấp và cao đẳng ngành công nghệ thông tin đều thi môn Cơ Sở Dữ Liệu), để diễn tả điều này, mỗi mã môn học cần phải được ghi chú (GHICHU) để cho biết môn thi đó dành cho khối nào trung cấp, hay cao đẳng). Mỗi thí sinh ứng với một môn thi có một điểm thi (DIEMTHI) duy nhất.

Trong một phòng thi có thể có thí sinh của nhiều lớp. Trong một kỳ thi, mỗi thí sinh có thể thi tại những phòng thi (PHONGTHI) khác nhau, chẳng hạn một thí sinh thi tốt nghiệp ba môn là Cơ sở dữ liệu, Lập trình C và Visual Basic thì môn Cơ Sở Dữ Liệu và Lập Trình C thi tại phòng A3.4, còn môn thực hành Visual Basic thi tại phòng máy H6.1.

Bài số 4: Cho mô hình thực thể kết hợp sau. Yêu cầu: Chuyển ERD sang mô hình dữ liệu quan hệ

(25)

BÀI 1: CÁC KHÁI NIỆM CƠ BẢN TRONG MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ

Mã bài: 11.01 Giới thiệu:

Mô hình dữ liệu quan hệ (Ralational Data Model)- gọi tắt là mô hình quan hệ, do EF.Codd đề xuất năm 1970. Nền tảng lý thuyết của nó là khái niệm lý thuyết tập hợp trên các quan hệ, tức là tập của các bộ giá trị.

Mô hình dữ liệu quan hệ là mô hình được nghiên cứu nhiều nhất, và thực tiễn đã cho thấy rằng nó có cơ sở lý thuyết vững chắc nhất. Mô hình dữ liệu này cùng với mô hình thực thể kết hợp đang được sử dụng rộng rãi trong việc phân tích và thiết kế cơ sở dữ liệu hiện nay.

Bài này sẽ giới thiệu một cách tổng quan về các khái niệm cơ bản trong mô hình cơ sở dữ liệu quan hệ như: Thuộc tính, khóa, quan hệ, bộ giá trị, phụ thuộc hàm.

Mục tiêu:

- Nêu được khái niệm về quan hệ, thuộc tính, các loại khóa, lược đồ quan hệ, bộ giá trị và phụ thuộc hàm.

- Lấy được ví dụ trong thực tế để minh họa.

Nội dung chính:

1. Thuộc tính

Thuộc tính là các đặc điểm riêng của một đối tượng (đối tượng được hiểu như là một loại thực thể ở mô hình thực thể kết hợp), mỗi thuộc tính có một tên gọi và phải thuộc về một kiểu dữ liệu nhất định.

Kiểu dữ liệu (data type)

Các thuộc tính được phân biệt qua tên gọi và phải thuộc một kiểu dữ liệu nhất định (số, chuỗi, ngày tháng, logic, hình ảnh,…). Kiểu dữ liệu ở đây có thể là kiểu vô hướng hoặc là kiểu có cấu trúc. Nếu thuộc tính có kiểu dữ liệu là vô hướng thì nó được gọi là thuộc tính đơn hay thuộc tính nguyên tố, nếu thuộc tính có kiểu dữ liệu có cấu trúc thì ta nói rằng nó không phải là thuộc tính nguyên tố Chẳng hạn với sinh viên Nguyễn Văn Thành thì các thuộc tính họ và tên, mã số sinh viên thuộc kiểu chuỗi, thuộc tính ngày sinh thuộc kiểu ngày tháng, hộ khẩu thường trú kiểu chuỗi, thuộc tính hình ảnh kiểu hình ảnh,…

Miền giá trị (domain of values)

Thông thường mỗi thuộc tính chỉ chọn lấy giá trị trong một tập con của kiểu dữ liệu và tập hợp con đó gọi là miền giá trị của thuộc tính đó. Chẳng hạn thuộc tính NỮ có miền giá trị là {nam, nữ}, thuộc tính màu da có miền giá trị là {da trắng, da vàng, da đen, da đỏ}, thuộc tính điểm thi là các số thuộc tập {0; 1; 2;

…,10].

(26)

Lưu ý rằng nếu không lưu ý đến ngữ nghĩa thì tên của các thuộc tính thường được ký hiệu bằng các chữ cái in hoa đầu tiên trong bảng chữ cái la tinh:

A,B,C,D,… Những chữ cái in hoa X,Y,Z,W,… thường dùng thay cho một nhóm nhiều thuộc tính. Đôi khi còn dùng các ký hiệu chữ cái với các chỉ số A1,A2,

…,An để chỉ các thuộc tính trong trường hợp tổng quát hay muốn đề cập đến số lượng các thuộc tính. Tên thuộc tính phải được đặt một cách gợi nhớ, không nên đặt tên thuộc tính quá dài (vì như thế sẽ làm cho việc viết các câu lệnh truy vấn trở nên vất vả hơn), nhưng cũng không nên đặt tên thuộc tính quá ngắn (vì nó sẽ không cho thấy ngữ nghĩa của thuộc tính), đặc biệt không đặt trùng tên hai thuộc tính mang ngữ nghĩa khác nhau thuộc hai đối tượng khác nhau.

Trong nhiều hệ quản trị cơ sở dữ liệu, người ta thường đưa thêm vào miền giá trị của các thuộc tính một giá trị đặc biệt gọi là giá trị rỗng (NULL). Tuỳ theo ngữ cảnh mà giá trị này có thể đặc trưng cho một giá trị không thể xác định được hoặc một giá trị chưa được xác định ở vào thời điểm nhập tin nhưng có thể được xác định vào một thời điểm khác.

Ví dụ:

Hình 1.1. Thuộc tính của một quan hệ

+ Tất cả các dữ liệu trong cùng 1 một cột đều có dùng kiểu dữ liệu 2. Lược đồ quan hệ

Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng với các mối liên hệ giữa chúng được gọi là lược đồ quan hệ. Lược đồ quan hệ Q với tập thuộc tính {A1,A2,...,An} được viết là Q(A1,A2,...,An).

Ví dụ: Sinhvien (MASV, HOTENSV, NGAYSINH, NOISINH,TINH, MALOP).

Khái niệm lược đồ quan hệ ứng với khái niệm loại thực thể ở mô hình thực thể kết hợp.

Nhiều lược đồ quan hệ cùng nằm trong một hệ thống thông tin được gọi là một lược đồ cơ sở dữ liệu.

3. Quan hệ

Sự thể hiện của lược đồ quan hệ ở một thời điểm nào đó được gọi là quan hệ, rõ ràng là trên một lược đồ quan hệ có thể xác định nhiều quan hệ. Thường ta dùng các ký hiệu như R,S,Q để chỉ các lược đồ quan hệ, còn quan hệ thường được dùng bởi các ký hiệu là r, s,q,…

(27)

Về trực quan thì quan hệ (hay bảng quan hệ) như là một bảng hai chiều gồm các dòng và các cột.

Một quan hệ có n thuộc tính được gọi là quan hệ n ngôi.

Để chỉ quan hệ r xác định trên lược đồ quan hệ Q ta có thể viết r(Q).

4. Bộ giá trị

Mỗi bộ là những thông tin về một đối tượng thuộc một quan hệ, bộ cũng còn được gọi là mẫu tin.

Quan hệ là một bảng (table) với các cột là các thuộc tính và mỗi dòng được gọi là bộ.

Ví dụ: HOCVIEN(Mahv, Hoten, Ngsinh, Noisinh) có q=(1003,Nguyen Van Lam, 1/1/1987,Dong Nai) nghĩa là học viên có mã số là 1003, họ tên là Nguyen Van Lam, sinh ngày 1/1/1987 ở Dong Nai.

5. Tân từ

Diễn tả ý nghĩa của quan hệ, mối liên hệ giữa các thuộc tính với nhau. Dựa vào tân từ này, người ta xác định được tập khoá, siêu khoá của lược đồ quan hệ Ký hiệu ║Q║

Ví dụ: Tân từ của lược đồ quan hệ Sinhvien (MASV, HOTENSV, NGAYSINH, NOISINH,TINH, MALOP) là: ”Mỗi sinh viên có mỗi MASV duy nhất. Mỗi MASV xác định các thuộc tính còn lại của sinh viên đó như HOTENSV,NGAYSINH, NOISINH,TINH,MALOP.

6. Khóa, siêu khóa, khóa chỉ định, khóa chính, khóa ngoại

Siêu khóa: Là một tập con các thuộc tính của Q mà giá trị của chúng có thể phân biệt 2 bộ khác nhau trong cùng một thể hiện TQ bất kỳ.

Một quan hệ có thể có ít nhất một siêu khóa hay nhiều siêu khóa.

Ví dụ: Các siêu khóa của lược đồ quan hệ HOCVIEN là:{Mahv};

{Mahv,Hoten}; {Mahv, Noisinh, Hoten}

Hình 1.2. Lược đồ quan hệ HOCVIEN và siêu khoá Khóa:

- Định nghĩa: K là khóa của quan hệ R, thỏa mãn 2 điều kiện:

- K là một siêu khóa.

- K là siêu khóa “nhỏ nhất” (chứa ít thuộc tính nhất và khác rỗng) nghĩa là

(28)

K1  K, K1   sao cho K1 là siêu khóa.

-Thuộc tính tham gia vào một khóa gọi là thuộc tính khóa, ngược lại là thuộc tính không khóa.

Ví dụ 1: Các siêu khóa của quan hệ HOCVIEN là: {Mahv}; {Mahv,Hoten};

{Hoten};{Hoten,Gioitinh};{Noisinh,Hoten}; {Mahv,Hoten,Gioitinh,Noisinh}…

 thì khóa của quan hệ HOCVIEN có thể là {Mahv}; {Hoten}

Ví dụ 2: khóa của quan hệ GIANGDAY (Malop, Mamh, Magv, HocKy, Nam) là K={Malop,Mamh}. Thuộc tính khóa sẽ là: Mamh, Malop. Thuộc tính không khóa sẽ là Magv, HocKy, Nam.

Khóa chính (primary key)

Là một học nhiều trường trong lược đồ mà dữ liệu tại cột này phải không rỗng và duy nhất. Từ giá trị của khóa chính xác định được duy nhất một bộ giá trị trong lược đồ.

- Ký hiệu: các thuộc tính nằm trong khóa chính khi liệt kê trong quan hệ phải được gạch dưới.

- VD: HOCVIEN (Mahv,Hoten,Gioitinh,Noisinh,Malop) GIANGDAY(Mamh,Malop,Magv,Hocky,Nam) Khóa tương đương:

- Các khóa còn lại (không được chọn làm khóa chính) gọi là khóa tương đương.

- Ví dụ: trong hai khóa {Mahv},{Hoten} thì khóa chính là {Mahv}, khóa tương đương là {Hoten}

Khóa ngoại:

Là một hoặc nhiều trường trong một lược đồ mà các trường này là khóa chính của một lược đồ khác

Ví dụ, cho 2 quan hệ

LOP (Malop,Tenlop,Siso,Khoahoc)

HOCVIEN (Mahv, Hoten, Gioitinh,Noisinh,Malop)

Thuộc tính Malop trong quan hệ LOP là khóa chính của quan hệ LOP. Thuộc tính Malop trong quan hệ HOCVIEN là khóa ngoại, tham chiếu đến Malop trong quan hệ LOP

7. Phụ thuộc hàm

(29)

Cho R={a1,a2,…..,an} là tập các thuộc tính ,r ={h1,h2,…,hn}là 1 quan hệ trên R, và A,B là tập con của R. Khi đó ta nói :A xác định hàm cho B hay B phụ thuộc hàm vào A trong r.

Ký hiệu: A→B

8. Ràng buộc toàn vẹn

Dữ liệu trong hệ thống có liên quan với nhau và thỏa một số ràng buộc, là những quy tắc bất biến đối với các quan hệ trong cơ sở dữ liệu. Chúng được gọi là các ràng buộc toàn vẹn. Hay nói cách khác Ràng buộc toàn vẹn là các quy định điều kiện từ ứng dụng thực tế, các điều kiện này là bất biến. Vì thế phải luôn đảm bảo cơ sở dữ liệu thỏa ràng buộc toàn vẹn sau mỗi thao tác làm thay đổi tình trạng của cơ sở dữ liệu. Những lược đồ quan hệ tham gia mô tả ràng buộc toàn vẹn được gọi là bối cảnh của ràng buộc toàn vẹn. Các thao tác thêm, xoá, sửa có ảnh hưởng đến ràng buộc toàn vẹn đều được mô tả trong một bảng gọi là bảng tầm ảnh hưởng; nhờ bảng này chúng ta dễ dàng đặc tả các phương thức xử lý khi thao tác trên dữ liệu.

Khi định nghĩa khoá cho một lược đồ quan hệ, chúng ta đã đưa ra một quy tắc và gọi là ràng buộc khoá. Với ràng buộc khoá, bối cảnh của ràng buộc là lược đồ quan hệ trên đó khoá được định nghĩa và các thao tác thêm sửa có thể ảnh hưởng đến ràng buộc này.

9. Các phép tính trên cơ sở dữ liệu quan hệ

Nội dung của cơ sở dữ liệu có thể được cập nhật bằng các thao tác - Thêm (insertion)

- Xóa (deletion) - Sửa (updating) 9.1. Phép thêm

Phép chèn thêm một bộ vảo quan hệ r{A1,…,An}.

Insert(r; A1=d1, A2=d2,…,An=dn)

Trong đó Ai(i=1,.., n) là tên các thuộc tính và didom(Ai).

9.2.Phép loại bỏ

Phép loại bỏ (DEL) là phép xóa, một bộ ra khỏi một quan hệ cho trước. Giống như phép chèn, phép loại bỏ có dạng biểu diễn hình thức toán học: r=r-t.

DEL(r; A1=d1, A2=d2,…,An=dn) hoặc ngắn gọn hơn có thể viết:

DEL(r;d1, d2,…, dn).

9.3. Phép sửa đổi

Khi cần điều chỉnh một số giá trị nào đó tại một số thuộc tính, lúc đó ta sử dụng phép thay đổi.

Gọi tập {C1,…, Cp}{A1,…, An} là tập các thuộc tính mà tại đó các giá trị của bộ cần thay đổi; CH(r; A1=d1, A2=d2,…, An=dn; C1=e1, C2=e2,…, Cp=ep).

Nếu K={B1,…, Bm} là khóa của quan hệ, khi đó ta chỉ cần viết:

CH(r; B1=b1, B2=b2,…, Bm=bm; C1=e1, C2=e2, …, Cp=ep).

(30)

CÂU HỎI - BÀI TẬP

1.1. Nêu khái niệm : Thuộc tính, quan hệ, lược đồ quan hệ, bộ giá trị, khóa, ràng buộc toàn vẹn, phụ thuộc hàm.

1.2. Các thao tác trên quan hệ:

Trả lời các câu hỏi sau:

INSERT: Thao tác gì?

DELETE: Thao tác gì?

UPDATE: Thao tác gì?

Bài tập:

Bài số 1: Cho mô hình quan hệ:

- Xác định tên quan hệ, thuộc tính, khóa chính, khóa ngoại của các quan hệ Bài số 2: Dựa vào mẫu hoá đơn bán hàng hãy thiết kế mô hình dữ liệu quan hệ

(31)

-Trong đó: Số hoá đơn xác định được ngày tạo lập; Mã khách hàng xác định được tên khách hàng, địa chỉ; Mã hàng xác định được tên hàng hoá, đơn vị tính, đơn giá và số lượng

Bài số 3: Thiết kế mô hình dữ liệu quan hệ dựa vào mẫu phiếu mượn sách trong thư viện.

-Trong đó: Số phiếu xác định được ngày mượn; Mã sinh viên xác định được tên sinh viên, mã lớp; Mã sách xác định được tên sách, nhà xuất bản, ghi chú

(32)

BÀI 2: PHÉP HỘI, PHÉP GIAO, PHÉP TRỪ TRÊN ĐẠI SỐ QUAN HỆ Mã bài: 11.02

Giới thiệu:

Đại số quan hệ (ĐSQH) có nền tảng toán học (cụ thể là lý thuyết tập hợp) để mô hình hóa CSDL quan hệ. Đối tượng xử lý là các quan hệ trong cơ sở dữ liệu quan hệ. Bài này cung cấp các kiến thức cơ bản về các phép toán hội, giao, trừ trên đại số quan hệ. Các phép toán thực hiện trên 2 quan hệ xuất phát từ lý thuyết tập hợp của toán học: phép hội (RS), phép giao (RS), phép trừ (R-S), phép tích (RS). Qua đó, giúp người học thực hiện được các phép toán trên để cho kết quả là một quan hệ mới theo yêu cầu.

Mục tiêu:

- Nêu được các khái niệm về phép hội, phép giao, phép trừ trên đại số tập hợp.

- Lấy được ví dụ trong thực tế để minh họa.

- Thực hiện được các phép toán trên trong bài tập cụ thể.

- Nghiêm túc, tự giác trong học tập - Đảm bảo an toàn cho nguời và thiết bị Nội dung chính:

1. Giới thiệu về đại số quan hệ 1.1. Định nghĩa

Đại số quan hệ (ĐSQH) có nền tảng toán học (cụ thể là lý thuyết tập hợp) để mô hình hóa CSDL quan hệ. Đối tượng xử lý là các quan hệ trong cơ sở dữ liệu quan hệ.

1.2. Chức năng

- Cho phép mô tả các phép toán rút trích dữ liệu từ các quan hệ trong cơ sở dữ liệu quan hệ.

- Cho phép tối ưu quá trình rút trích bằng các phép toán có sẵn của lý thuyết tập hợp.

1.3. Biểu thức đại số quan hệ

- Biểu thức ĐSQH là một biểu thức gồm các phép toán ĐSQH - Biểu thức ĐSQH được xem như một quan hệ (không có tên) - Có thể đặt tên cho quan hệ được tạo từ một biểu thức quan hệ.

- Có thể đổi tên các thuộc tính của quan hệ được tạo từ một biểu thức ĐSQH.

1.4. Phép toán trên Đại số quan hệ

- Đại số quan hệ gồm một tập các phép toán tác động trên các quan hệ và cho kết quả là một quan hệ. Các phép toán thực hiện trên 2 quan hệ xuất phát từ lý thuyết tập hợp của toán học: phép hội (RS), phép giao (RS), phép trừ (R-S), phép tích (RS).

- Đối với các phép hội, giao, trừ, các quan hệ R và S phải tương thích hay khả hợp nếu chúng được định nghĩa trên cùng một lược đồ quan hệ hay trên cùng một tập các miền giá trị. (Được xác định trên cùng một tập các thuộc tính), nghĩa là:

(33)

Số lượng thuộc tính của R và S phải bằng nhau: R(A1,A2,…An) và S(B1,B2,…

Bn)

Miền giá trị của thuộc tính phải tương thích dom(Ai)=dom(Bi)

Quan hệ kết quả của phép hội, giao, trừ có cùng tên thuộc tính với quan hệ đầu tiên.

VD: Hai quan hệ tương thích khả hợp

2. Phép hội (hợp) 2 quan hệ (Union)

Cho hai quan hệ R và S khả hợp. Hội (hợp) của hai quan hệ R và S ký hiệu là RS là một quan hệ trên lược đồ quan hệ Q gồm các phần tử thuộc R hoặc thuộc S, hoặc thuộc cả hai (các bộ trùng lắp sẽ bị loại bỏ), tức là:

R  S = {t / t  R hoặc t  S}

- Phép hội (hợp) của hai quan hệ là phép gộp các bộ của hai bảng của một quan hệ thành một bảng và bỏ đi các bộ trùng.

Ví dụ: Cho 2 quan hệ R và S khả hợp và kết quả phép hội của R và S

* Tính chất.

+ Giao hoán:

R  S = S  R + Kết hợp:

R  (S  T) = (R  S)  T

3. Phép giao 2 quan hệ (Intersection)

Cho hai quan hệ tương thích R và S. Giao của hai quan hệ R và S ký hiệu là RS là một quan hệ trên lược đồ quan hệ Q gồm các phần tử vừa thuộc R vừa thuộc S, tức là:

(34)

R  S = {t / t  R và t  S}

Phép giao của hai quan hệ là lấy ra các bộ cùng có mặt ở cả hai bảng của một quan hệ.

* Tính chất.

+ Giao hoán:

R  S = S  R + Kết hợp:

R  (S  T) = (R  S)  T 4. Phép Trừ 2 quan hệ (Minus)

Cho hai quan hệ tương thích R và S. Hiệu của hai quan hệ R và S ký hiệu là R-S là một quan hệ trên lược đồ quan hệ Q gồm các phần tử chỉ thuộc R mà không thuộc S, tức là:

R - S = {t / t  r và t s}

Phép trừ của hai quan hệ A và B là lấy các bộ có trong bảng A mà không có trong bảng B

Lưu ý: Phép trừ không có tính chất giao hoán. (R - S  S - R)

(35)

CÂU HỎI - BÀI TẬP 3.1. Cho hai quan hệ R, S

Hãy thực hiện R  S , R  S , R – S , S-R.

3.2. Cho hai quan hệ r,s trên lược đồ quan hệ R = (ABC) :

Hãy thực hiện: R  S , R  S , R – S , S – R 3.3. Cho hai quan hệ sau:

Hãy thực hiện: R  S , R  S , R – S , S – R Nội dung chính cần ghi nhớ:

-Khái niệm về phép hội, phép giao, phép trừ trên đại số tập hợp.

-Thực hiện được các phép toán trên.

(36)

BÀI 3: PHÉP TÍCH ĐỀ CÁC VÀ PHÉP CHIA TRÊN ĐẠI SỐ QUAN HỆ Mã bài: 11.03

Giới thiệu:

Bài này sẽ giới thiệu một cách tổng quan về: các phép toán tích Đề các, phép chia, phép gán trên đại số tập hợp. Qua đó, giúp người học thực hiện được các phép toán trên để cho kết quả là một quan hệ mới theo yêu cầu.

Mục tiêu:

- Nêu được các khái niệm về phép tích đề các, phép chia trên đại số tập hợp.

- Lấy được ví dụ trong thực tế để minh họa.

- Thực hiện được các phép toán trên trong bài tập cụ thể.

- Nghiêm túc, tự giác trong học tập - Đảm bảo an toàn cho nguời và thiết bị Nội dung chính:

1. Tích Decac của 2 quan hệ (Cartesian Product)

Cho quan hệ r(R), R={A1,A2,...,An} và quan hệ s(U), U={B1,B2,...,Bm}. Tích Descartes (decac) của r và s ký hiệu là r x s.

r x s ={t=(a1,a2,...,an, b1,b2,...,bm) /a1,a2,...,an r và b1,b2,...,bm s} - Kết quả trả về là một quan hệ Q.

- Mỗi bộ của Q là tổ hợp giữa 1 bộ trong r và 1 bộ trong s.

- Nếu r có u bộ và s có v bộ thì Q sẽ có u  v bộ.

- Nếu r có n thuộc tính và s có m thuộc tính thì Q sẽ có n + m thuộc tính (R+  Q+   ) (R+: Tập thuộc tính của R, Q+: Tập thuộc tính của Q).

Ví dụ 1.1: Cho quan hệ r và s, kết quả r x s

(37)

Ví dụ 1.2: Cho quan hệ NHANVIEN và PHONGBAN

Kết quả NHANVIEN x PHONGBAN

Phép tích Decartes NHANVIEN x PHONGBAN là tổ hợp tất cả các bộ từ bảng Nhanvien tới bảng phongban. Điều này dẫn tới những sai sót dữ liệu trong thực tế. Dễ dàng nhìn thấy trong ví dụ 1.2, một nhân viên làm việc ở cả 2 phòng ban, hay 1 phòng ban có đến 2 trưởng phòng.

Để giải quyết vấn đề này trong thực tế, phép tích Decas thường được kết hợp với điều kiện chọn. Tức là chỉ thực hiện phép tích khi thoả mãn điều kiện (thường là ràng buộc khoá ngoại)

Trong ví dụ này, điều kiện chọn sẽ là: giá trị tại thuộc tính phong trong bảng Nhanvien trùng với giá trị tại thuộc tính mapb trong bảng Phongban. Điều này tương đương với việc: chỉ thực hiện phép tích decas nếu phong trùng mapb và được biểu diễn: phong = mapb

Lúc này kết quả sẽ là:

(38)

2. Phép chia 2 quan hệ:

Cho 2 lược đồ quan hệ Q1(A1,A2,..,An), Q2(B1,B2,..,Bm), r là quan hệ xác định trên Q1; s là quan hệ xác định trên Q2 (n>m và s khác rỗng), có m thuộc tính chung (giống nhau về mặt ngữ nghĩa, hoặc các thuộc tính có thể so sánh được) giữa r và s. Phép chia 2 quan hệ r và s ký hiệu r ÷ s , là một quan hệ q có n - m thuộc tính được định nghĩa như sau:

q= r ÷ s={t/  u  s, (t,u)  r}

Phép chia được dùng để lấy ra một số bộ trong quan hệ r sao cho thỏa với tất cả các bộ trong quan hệ s.

Ví dụ 2.1:

Ví dụ 2.2:

CÂU HỎI - BÀI TẬP 4.1. Cho hai quan hệ NHANVIEN và PHONG như sau:

Hãy thực hiện phép tích Đề các trên 2 quan hệ trên.

Cho biết ràng buộc (điều kiện lọc) để phép tích Đề các trên đúng với thực tế

(39)

BÀI 4: PHÉP CHIẾU VÀ PHÉP CHỌN TRONG ĐẠI SỐ QUAN HỆ Mã bài: 11.04

Giới thiệu:

Bài này sẽ giới thiệu một cách tổng quan về: các phép toán chiếu, phép chọn, trên đại số quan hệ. Qua đó, giúp người học thực hiện được các phép toán trên để cho kết quả là một quan hệ mới theo yêu cầu.

Mục tiêu:

- Nêu được các khái niệm về phép chiếu, phép chọn trên đại số quan hệ.

- Nêu được cú pháp của phép chiếu, phép chọn.

- Lấy được ví dụ trong thực tế để minh họa.

- Thực hiện được các phép toán trên trong bài tập cụ thể.

- Nghiêm túc, tự giác trong học tập - Đảm bảo an toàn cho người và thiết bị Nội dung chính:

1. Phép chiếu ( Project)

Dùng để trích giá trị của một số thuộc tính trong danh sách các thuộc tính của quan hệ

Phép chiếu được ký hiệu là:

<danh sách các thuộc tính>( R) hoặc Quan hệ [cột1, cột2, cột3, …]

Trong đó  là ký hiệu dùng để biểu diễn phép chiếu và <danh sách các thuộc tính> là một danh sách con các thuộc tính của quan hệ R.

R là một biểu thức đại số quan hệ, trong trường hợp đơn giản nhất nó là tên của một quan hệ. Kết quả của phép chiếu là một quan hệ chỉ có các thuộc tính nằm trong <danh sách các thuộc tính> và có cùng thứ tự như thứ tự của chúng có trong danh sách. Như vậy, cấp của quan hệ kết quả là số các thuộc tính có trong <danh sách các thuộc tính>.

Ví dụ: Cho biết họ tên nhân viên và giới tính ? Cách 1: πhoten, phai(NHANVIEN)

Cách 2: NHANVIEN [HoTen, Phai]

Tài liệu tham khảo

Tài liệu liên quan

- Hiểu và biết cách sử dụng các thuật ngữ cần thiết khác để diễn đạt bài giải phương trình sau này.. - HS hiểu khái niệm giải

 Lập trình hướng đối tượng được xây dựng trên nền tảng của khái niệm lập trình có cấu trúc và sự trừu tượng hóa dữ liệu.... Khái niệm Lập

Câu 10: “ xem xét các sự vật hiện tượng trong mối liên hệ ràng buộc, tác động qua lại lẫn nhau và phát triển không ngừng” là khái niệm nói về

-Hệ thống hóa các vấn đề lý luận về quản trị quan hệ khách hàng trong hoạt động bán lẻ, các nội dung liên quan đến chương trình Khách hàng thân thiết; khái

Nguyễn Ái Quốc trình bày lập trường, quan điểm của mình về vị trí chiến lược của cách mạng ở các nước thuộc địa, về mối quan hệ giữa phong trào công nhân ở các nước

Nguyễn Ái Quốc trình bày lập trường, quan điểm của mình về vị trí chiến lược của cách mạng ở các nước thuộc địa, về mối quan hệ giữa phong trào công nhân ở các nước

Nguyễn Ái Quốc trình bày lập trường, quan điểm của mình về vị trí chiến lược của cách mạng ở các nước thuộc địa, về mối quan hệ giữa phong trào công nhân ở các nước

 Hiểu được khái niệm về CSDL quan hệ  Hiểu được khái niệm về đánh chỉ mục CSDL quan hệ  Hiểu được khái niệm về đa chỉ mục trong CSDL  Đưa ra được một phương pháp đánh chỉ mục đa