1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Cơ sở dữ liệu - Nghề: Lập trình máy tính - CĐ Kỹ Thuật Công Nghệ Bà Rịa-Vũng Tàu

117 22 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 117
Dung lượng 1,69 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

(NB) Giáo trình cung trình bày cách thiết kế một co sở dữ liệu quan hệ, cách sử dụng các phép toán dại số quan hệ dể tạo, cập nhật và truy vấn co sở dữ liệu và khái niệm phụ thuộc hàm ứng dụng trong lí thuyết thiết kế và chuẩn hóa cơ sở dữ liệu quan hệ.

Trang 1

(DÙNG CHO TRÌNH ĐỘ CAO ĐẲNG)

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

ngày…….tháng….năm ………… của Hiệu trưởng trường Cao đẳng

nghề tỉnh BR - VT

Bà Rịa – Vũng Tàu, năm 2015

Trang 2

1

TUYÊN BỐ BẢN QUYỀN

Tài liệu này thuộc loại sách giáo trình 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

Trang 3

2

LỜI GIỚI THIỆU

Ngày nay, cơ sở dữ liệu đã có nhiều ứng dụng trong mọi hoạt động của xã hội Muốn thiết kế và sử dụng cơ sở dữ liệu chúng ta phải nắm duợc các kỹ thuật

cơ bản của cơ sở dữ liệu Giáo trình này nhằm trình bày các kỹ thuật cơ sở của

co sở dữ liệu truyền thống, dó là mô hình liên kết thực thể, mô hình co sở dữ liệu quan hệ Giáo trình cung trình bày cách thiết kế một co sở dữ liệu quan hệ, cách sử dụng các phép toán dại số quan hệ dể tạo, cập nhật và truy vấn co sở dữ liệu và khái niệm phụ thuộc hàm ứng dụng trong lí thuyết thiết kế và chuẩn hóa

cơ sở dữ liệu quan hệ

Giáo trình “Cơ sở dữ liệu” được biên soạn nhằm cung cấp cho người học những kiến thức cơ bản về thiết kế các cơ sở dữ liệu quan hệ

Giáo trình được biên soạn dựa trên một số tài liệu tham khảo cập nhật, có giá trị và với mục tiêu cung cấp các kiến thức cơ bản về Cơ sở dữ liệu cho người học, vì vậy nội dung trình bày vẫn chưa được đầy đủ và không tránh khỏi thiếu sót Tác giả rất mong nhận được các ý kiến đóng góp, bổ sung để giáo trình ngày càng hoàn thiện hơn

Tôi chân thành cảm ơn các đồng nghiệp trong khoa Công nghệ thông tin –

Kế toán đã có những ý kiến đóng góp giá trị cho nội dung giáo trình và các tác giả đã biên soạn, chia sẻ các tài liệu bổ ích

Bà Rịa – Vũng Tàu, ngày 31 tháng 8 năm 2015

Tham gia biên soạn Trần Lệ Thủy

Trang 4

3

MỤC LỤC

LỜI GIỚI THIỆU 2

BÀI 1: GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU 9

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

1.1 Cơ sở dữ liệu 10

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

1.1.3 Tính chất 11

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

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

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

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

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

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

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

2.3 Mô hình quan hệ 19

2.4 Mô hình thực thể liên kết 20

2.5 Mô hình hướng đối tượng 24

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

1 Thuộc tính 29

2 Lược đồ quan hệ 31

3 Quan hệ 31

4 Bộ giá trị 32

5 Tân từ 32

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

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

10 Cách chuyển đổi từ mô hình thực thể kết hợp sang mô hình quan hệ 36

BÀI 3: PHÉP HỘI, PHÉP GIAO, PHÉP TRỪ TRÊN ĐẠI SỐ QUAN HỆ 40 3 Phép giao 2 quan hệ (Intersection) 42

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

Trang 5

4

BÀI 4: PHÉP TÍCH ĐỀ CÁC, PHÉP CHIA TRÊN ĐẠI SỐ QUAN HỆ 45

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

2 Phép chia 2 quan hệ: 46

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

1 Phép chọn (Selection) 49

2 Phép chiếu ( Project) 51

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

BÀI 6: PHÉP KẾT TRONG ĐẠI SỐ QUAN HỆ 56

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

2 Phép kết tự nhiên 58

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

BÀI 7: XÁC ĐỊNH RÀNG BUỘC TOÀN VẸN CÓ BỐI CẢNH 1 QUAN HỆ 62

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

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

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

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

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

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

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

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

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

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

BÀI 10: XÁC ĐỊNH BAO ĐÓNG 80

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

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

BÀI 11: XÁC ĐỊNH KHÓA CỦA LƢỢC ĐỒ CƠ SỞ DỮ LIỆU 84

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

Trang 6

5

2 Thuật toán tìm 1 khóa 84

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

BÀI 12: XÁC ĐỊNH PHỦ TỐI THIỂU 89

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

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

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

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

2 Dạng chuẩn 1 95

3 Dạng chuẩn 2 (2NF) 95

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

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

BÀI 14: CHUẨN HÓA LƯỢC ĐỒ CƠ SỞ DỮ LIỆU VỀ DẠNG CHUẨN 3 99

1 Phương pháp chuẩn hóa 99

2 Ví dụ 100

BÀI 15: TỐI ƯU HOÁ CÂU HỎI 105

1.Nguyên tắc tổng quát để tối ưu truy vấn 105

2 Thuật toán tối ưu hoá câu hỏi trong ngôn ngữ Đại số quan hệ 106

2.1 Các phép biến đổi đại số 106

2.2 Thuật toán cho tối ưu hóa biểu thức đại số quan hệ 111

3.Ví dụ một thuật toán tối ưu hoá biểu thức quan hệ 111

Trang 7

6

MÔ ĐUN CƠ SỞ DỮ LIỆU

Mã mô đun: MĐ 12

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

Đâ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à môn học nền tảng về thiết kế và lưu trữ dữ liệu

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ệ

Trang 8

7

- 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

- 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:

1 Nội dung tổng quát và phân phối thời gian:

Số

gian

Hình thức giảng dạy

2 Các Khái niệm cơ bản trong mô hình cơ sở

Trang 9

8

9 Phụ thuôc hàm và hệ tiên đề Amstrong cho

các phụ thuộc hàm

Trang 10

9

BÀI 1

GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU

Mã bài: 01 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:

Trang 11

10

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

Hình 1.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:

Trang 12

11

- 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

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

Trang 13

12

- 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

Trang 14

13

- 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 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à:

Trang 15

14

- 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:

 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

- 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.,…

 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,…

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:

Trang 16

15

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

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

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 (cần giải

quyết vấn đề gì? 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 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

Trang 17

* 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

Trang 18

* 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ụ:

Trang 19

18

Hình 1.3 Mô hình dữ liệu mạng

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

- 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ó

Trang 20

19

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

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

Trang 21

20

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:

* 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‟

- (HS002, „Trần Thị C‟, ‟02/10/1992‟, „Nữ‟

* Thuộc tính: là những tính chất đặc trƣng của một loại thực thể

Ví dụ: Loại thực thể HOCSINH có các thuộc tính: MAHS, HOTEN,

NGAYSINH, GIOITINH, NOISINH…

Trang 22

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

thể.Ví dụ: BANGCAP ký kiệu là {BANGCAP}

Đ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)}

* 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

* Bản số của nhánh là số lƣợng tối thiểu và số lƣợng tối đa tham gia vào mối kết

hợp.Ký hiệu (số lƣợng tối thiểu, tối đa) – (1,n)

* Chuyên biệt hóa/Tổng quát hóa

Trang 23

- Là loại thực thể không có thuộc tính khóa

- Phải tham gia trong một loại mối kết hợp xác định trong đó có một loại thực thể chủ

- Ví dụ: loại thực thể THANNHAN là loại thực thể yếu có thuộc tính Stt,

Hoten, Ngsinh,Quanhe và tham gia trong loại mối kết hợp Có với loại thực thể

NHANVIEN

* Mối kết hợp mở rộng

Trang 24

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)

Trang 25

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

Trang 26

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

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

1.6 Trả lời các câu hỏi trắc nghiệm sau:

Câu 1: Thế nào là cơ sở dữ liệu?

A Một bộ sưu tập rất lớn về các loại dữ liệu tác nghiệp

B Một bộ sưu tập rất lớn về các loại dữ liệu tác nghiệp, lưu trữ theo quy tắc

C Tập các File dữ liệu tác nghiệp

D Kho dữ liệu tác nghiệp

Câu 2: Ưu điểm của việc quản lý dữ liệu bằng cơ sở dữ liệu là gì?

A Các thuộc tính được mô tả trong nhiều tập dữ liệu khác nhau

B Xuất hiện dị thường thông tin

C Giảm dư thừa, nhất quán và toàn vẹn của dữ liệu

D Khả năng xuất hiện mâu thuẫn và không nhất quán dữ liệu

Câu 3: Chức năng quan trọng của việc quản lý dùng cơ sở dữ liệu là?

A Khôi phục thông tin

B Cập nhật, sửa đổi, bổ sung dữ liệu

C Tìm kiếm và tra cứu thông tin

D Xử lý, tìm kiếm, tra cưú, sửa đổi, bổ sung hay loại bỏ dữ liệu

Trang 27

26

Câu 4: Người sử dụng có thể truy nhập:?

A Một phần cơ sở dữ liệu

B Phụ thuộc vào quyền truy nhập

C Hạn chế tùy vào từng vị trí máy

D Toàn bộ cơ sở dữ liệu

Câu 5: Hệ quản trị CSDL DBMS là gì?

A Đảm bảo an toàn, bảo mật dữ liệu và tính toàn vẹn dữ liệu

B Tạo cấu trúc dữ liệu tương ứng với mô hình dữ liệu

C Hệ thống phần mềm điều khiển các chiến lược truy nhập và tổ chức lưu trữ

cơ sở dữ liệu

D Cập nhật, chèn thêm, loại bỏ hay sửa đổi dữ liệu

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

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ì

Trang 28

27

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ý

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 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)

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:

Trang 29

28

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

Yêu cầu về đánh giá kết quả học tập:

- Định nghĩa được 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

- Nêu được các tính chất của một cơ sở dữ liệu

- Nêu được các chức năng của một hệ quản trị cơ sở dữ liệu

- Nêu được các mô hình dữ liệu

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

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

Trang 30

29

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

Mã bài: 02 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, ;

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ô

Trang 31

30

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]

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ụ:

Trang 32

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,…

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)

Trang 33

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ỳ

Nghĩa là: ¥ t1, t2 Є TQ t1[K] ≠ t2[K] K là siêu khóa của Q

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 quan hệ HOCVIEN là:{Mahv}; {Mahv,Hoten}; {Hoten}; {Noisinh,Hoten}

Q q (a1,a2, ,a n)

Trang 34

33

-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,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}

Trang 35

34

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

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

VD: cho lƣợc đồ sau:

SBD Họ tên Địa chỉ Tỉnh Khu vực

PĐ711001 Nguyễn Văn Hiếu 12 Bản Dốc Hà Nội 1

PĐ711002 Bùi mạnh tiến 16 thanh xuan Cà mau 2

PĐ711003 Trần trung 34 hoàn kiếm Hà Nam 3

PĐ711004 Thanh Tùng 12 Cà Mau Cà Mau 2

PĐ711005 Thanh hiền 57 bản nhàn Lai Châu 4

Điều đó có nghĩa là khi đối số trùng nhau thì hàm có cùng giá trị Với định nghĩa phụ thuộc hàm trên thì có 2 sự phụ thuộc nhau:

Trang 36

35

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:

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)

Trang 37

36

10 Cách chuyển đổi từ mô hình thực thể kết hợp sang mô hình quan hệ

Sau đây là một số quy tắc được sử dụng trong việc chuyển đổi mô hình thực thể kết hợp sang mô hình dữ liệu quan hệ

Quy tắc 1:

Chuyển đổi mỗi loại thực thể thành một lược đồ quan hệ, các thuộc tính của loại thực thể thành các thuộc tính của lược đồ quan hệ, thuộc tính khoá của loại thực thể là thuộc tính khoá của lược đồ quan hệ

Chẳng hạn loại thực thể Sinhvien khi áp dụng quy tắc 1 thì sẽ được chuyển thành lược đồ quan hệ Sinhvien như sau:

Sinhvien(MASV, HOTENSV, NU, NGAYSINH, TINH,….)

Quy tắc 2:

Nếu mối kết hợp mà cả hai nhánh của nó đều có bản số max là n thì mối kết hợp này sẽ được chuyển thành một lược đồ quan hệ K‟ gồm các thuộc tính của mối kết hợp K, cộng thêm các thuộc tính khoá của hai lược đồ quan hệ

A, B tương ứng với hai thực thể tham gia vào mối kết hợp Khoá của lược

đồ quan hệ K‟ gồm cả hai khoá của hai lược đồ quan hệ A và B

Chẳng hạn mối kết hợp Phancong giữa ba loại thực thể Giangvien, Monhoc và Lop được chuyển thành lược đồ quan hệ Phancong và

có tập khoá là {MAGV,MAMH,MALOP} như sau:

Phancong(MAGV,MAMH,MALOP)

Quy tắc 3:

Mối kết hợp mà một nhánh có bản số là n (nhánh B) và nhánh còn lại có bản số max là 1 (nhánh A) thì loại bỏ mối kết hợp này khỏi mô hình thực thể kết hợp và thêm các thuộc tính khoá của lược đồ tương ứng với loại thực thể ở nhánh B vào lược đồ tương ứng với loại thực thể ở nhánh A (khoá của B

sẽ thành khoá ngoại của A) Nếu mối kết hợp có các thuộc tính thì những thuộc tính này cũng được thêm vào lược đồ quan hệ tương ứng với loại thực thể

ở nhánh A

Chẳng hạn mối kết hợp thuộc giữa hai loại thực thể Sinhvien và Lop nên lược

đồ quan hệ Sinhvien được sửa thành như sau:

Trang 38

Ví dụ: Cho mô hình thực thể kết hợp nhƣ sau

Chuyển thành mô hình quan hệ nhƣ sau:

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

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

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

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

2.3 Chuyển các mô hình ER của Bài 1 sang mô hình quan hệ

Trang 39

38

2.4 Trả lời các câu hỏi trắc nghiệm sau:

Câu 1: Mô hình quan hệ dữ liệu là gì?

A Dựa trên cơ sở khái niệm lý thuyết tập hợp của các quan hệ, tức là tập các k-bộ với k cố định

B Mô hình dữ liệu được biểu diễn là một đồ thị có hướng

C Dữ liệu được biểu diễn bằng mối quan hệ thực thể

D Mô hình dữ liệu là một cây, trong đó các nút biểu diễn các tập thực thể, giữa các nút con và nút cha được liên hệ theo một mối quan hệ xác định Câu 2: Thuộc tính là gì?

A Là một tính chất riêng biệt của một đối tượng

B Là một dữ liệu của một đối tượng

Trang 40

39

B Bộ là lược đồ quan hệ

C Bộ là kiểu dữ liệu

D Bộ là quan hệ

Câu 7: Các đặc trưng căn bản của một thuộc tính?

A Tên gọi, miền giá trị, thuộc tính khóa

B Tên gọi, miền giá trị, kiểu dữ liệu

C Thuộc tính khóa, miền giá trị, kiểu dữ liệu

D Tên gọi, thuộc tính khóa, dữ liệu

Câu 8: Các thao tác cơ bản trên các quan hệ

A Trao đổi/Thêm/Xóa

B Trao đổi/Phân quyền/Cấp phát

C Thêm/Xóa?Sửa

D Phân quyền/Sửa/Lưu trữ

Yêu cầu về đánh giá kết quả học tập:

- 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

- Quy tắc chuyển từ mô hình ER sang mô hình quan hệ

Ngày đăng: 01/11/2020, 23:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm