Chƣơng 3 MÔ HÌNH DỮ LIỆU QUAN HỆ

Relation_Data_Model

Giảng viên: Ths. Nguyễn Thị Khiêm Hòa

NỘI DUNG

• Mô hình quan hệ

• Ràng buộc toàn vẹn

• Thiết kế cơ sở dữ liệu quan hệ

2 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BA THÀNH PHẦN CỦA MÔ HÌNH DL QUAN HỆ

Tổ chức dữ liệu

Ràng buộc trên dữ liệu

Thao tác trên dữ liệu

3 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

MÔ HÌNH DỮ LIỆU QUAN HỆ

• Lƣợc đồ quan hệ

• Bậc của quan hệ

• Thuộc tính

• Miền giá trị

• Bộ dữ liệu

• Thể hiện quan hệ

• Lƣợc đồ cơ sở dữ liệu quan hệ

4 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUAN HỆ

Bảng: TIỀN GỞI

Cột

Chi nhánh

Số TK

Tên Khách hàng

Số dƣ

TPHCM

101

Hồ Thanh Hải

1000

Dòng

Hà Nội

103

Nguyễn Thiên An

1800

D1

D2

D3

D4

5 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUAN HỆ

• Mỗi bảng là tập hợp các tập hợp con có thể có

TIỀN GỞI = D1 × D2 × D3 × D4 (Tích Descartes)

• Quan hệ là tập con của tích Descartes của một danh

sách các miền giá trị.

• Ký hiệu: R.

• Thành phần: cột_thuộc tính, dòng_bộ (bản ghi)

• Tích Descartes D1 × D2 × … × Dn đƣợc gọi là quan

hệ n ngôi: bậc của quan hệ

6 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

THUỘC TÍNH

• Mỗi cột đƣợc gọi là thuộc tính (attribute) cho biết ý

nghĩa từng giá trị dữ liệu trong một bộ.

• Thứ tự thuộc tính trong một bộ là không quan trọng.

• Thuộc tính trong quan hệ là thuộc tính đơn và đơn trị

• Bậc của quan hệ: số thuộc tính của quan hệ.

7 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

MIỀN GIÁ TRỊ

• Tập hợp các giá trị mà một thuộc tính có thể nhận

đƣợc gọi là miền giá trị.

• Ký hiệu: Dom(Ai).

• Miền giá trị có thể nhận giá trị NULL

8 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BỘ DỮ LIỆU

• Mỗi dòng trong quan hệ (trừ tiêu đề) đƣợc gọi là một

bộ (tuple), là tập hợp giá trị mô tả một thực thể hoặc

mối kết hợp trong thế giới thực.

9 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

LƢỢC ĐỒ QUAN HỆ

• Đƣợc đặc trƣng bởi một biểu đồ Q và tập hữu hạn

các thuộc tính {A1, A2, …, An}

• Tập các thuộc tính của lƣợc đồ quan hệ Q đƣợc ký

hiệu Q+

• Lƣợc đồ cơ sở dữ liệu quan hệ: Bao gồm nhiều lƣợc

đồ quan hệ con

10 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

VÍ DỤ MẪU

Thuộc tính

Bộ dữ liệu

Giá trị thành phần

Hình 4.1. Một thể hiện của quan hệ EMPLOYEE

11 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

VÍ DỤ MẪU

Hình 4.2. Lược đồ cơ sở dữ liệu COMPANY

12 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

MỘT SỐ ĐẶC TRƢNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ

• Thứ tự của các bộ trong quan hệ

Hình 4.3. Hai thể hiện của quan hệ EMPLOYEE

TƢƠNG ĐƢƠNG

13 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

MỘT SỐ ĐẶC TRƢNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ

• Thứ tự của các giá trị bên trong một bộ

Hình 4.3. Hai thể hiện của quan hệ EMPLOYEE

TƢƠNG ĐƢƠNG

14 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

MỘT SỐ ĐẶC TRƢNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ

• Các giá trị thuộc tính trong bộ

Giá trị thuộc tính là giá trị đơn

Sử dụng NULL để biểu diễn giá trị không biết

MỘT SỐ ĐẶC TRƢNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ

• Quan hệ biểu diễn thực thể và quan hệ biểu diễn liên

kết

Quan hệ biểu diễn thực thể

EMPLOYEE (ESSN, EName, ESalary, …, DNum, supervisorSSN)

PROJECT (PNumber, PName, PLocation, DNum)

WORKSON (ESSN, PNum, workHours)

Quan hệ biểu diễn liên kết

16 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

RÀNG BUỘC TOÀN VẸN

• Là những quy định, điều kiện ràng buộc đƣợc áp dụng

trên toàn bộ CSDL nhằm đảm bảo CSDL luôn biểu diễn

đúng ngữ nghĩa thực tế. Tất cả các RBTV phải đƣợc

thỏa mãn tại mọi thời điểm.

• Tiêu chuẩn:

• Tính toàn vẹn dữ liệu

• Tính kết dính

• Tính nhất quán

17 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BỐI CẢNH của RÀNG BUỘC TOÀN VẸN

• Bối cảnh của RBTV là những lƣợc đồ quan hệ liên quan

đến RBTV đó.

• Có ba thao tác cập nhật dữ liệu ảnh hƣởng đến RBTV:

• Thêm: thêm mới một (số) bộ dữ liệu vào quan hệ

• Sửa: cập nhật giá trị một (số) bộ dữ liệu vào quan hệ

• Xóa: xóa một (số) bộ dữ liệu vào quan hệ

18 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

HOẠT ĐỘNG 1

• Thao tác thêm mới có khả năng gây ra vi phạm ràng

buộc toàn vẹn nào?

• Thao tác sửa có khả năng gây ra vi phạm ràng buộc

toàn vẹn nào?

• Thao tác xóa có khả năng gây ra vi phạm ràng buộc

toàn vẹn nào?

NỘI DUNG của RÀNG BUỘC TOÀN VẸN

• Nội dung của RBTV có thể đƣợc biểu diễn bằng:

• Ngôn ngữ tự nhiên

• Ngôn ngữ hình thức

20 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BẢNG TẦM ẢNH HƢỞNG của RBTV

• Ký hiệu: dấu cộng (+), dấu trừ (-)

• Bảng tầm ảnh hƣởng cho một RBTV:

Tên_RB

Thêm

Xóa

Sửa

Quan hệ 1

+

-

+ (thuộc tính)

Quan hệ 2

-

+

-

Quan hệ n

-

+

-

21 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BẢNG TẦM ẢNH HƢỞNG của RBTV

• Bảng tầm ảnh hƣởng tổng hợp

RB1

RB2

RBm

T X S T X S T X S T X S

Quan hệ 1

+

- + +

- + … … … +

- +

Quan hệ 2

- +

-

- +

-

- +

-

Quan hệ n

- +

-

- +

-

- +

-

22 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

PHÂN LOẠI RÀNG BUỘC TOÀN VẸN

• RBTV trên một quan hệ

• RBTV miền giá trị

• RBTV liên bộ trên một quan hệ

• RBTV liên thuộc tính trên một quan hệ

• RBTV trên nhiều quan hệ

• RBTV tham chiếu

• RBTV liên bộ trên nhiều quan hệ

• RBTV liên thuộc tính liên quan hệ

• RBTV trên thuộc tính tổng hợp

23 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

RÀNG BUỘC TOÀN VẸN DỮ LIỆU

Ràng buộc miền giá trị

• Giá trị ứng với thuộc tính A phải là đơn trị

và phải thuộc miền giá trị dom(A)

Ví dụ

Mọi bộ trong quan hệ EMPLOYEE có giá trị tại ESex là ‘M’, ‘F’, hoặc null

RÀNG BUỘC TOÀN VẸN DỮ LIỆU

• Ràng buộc khóa

• Hai bộ bất kỳ của quan hệ không có giá trị bằng

nhau tại thuộc tính khóa

• Định nghĩa

• SK là siêu khóa của quan hệ R khi hai bộ bất kỳ

của R không có giá trị bằng nhau tại SK

• K là khóa của quan hệ R khi

• K là siêu khóa

• K là siêu khóa nhỏ nhất

25 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

VÍ DỤ MẪU

• Khóa của EMPLOYEE là gì?

• {ESSN}?

• {EName, ESex}?

26 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

HOẠT ĐỘNG 2

• Xác định tất cả khóa của các quan hệ

• Khóa nào được chọn làm khóa chính trong số

các khóa của từng quan hệ, tại sao?

27 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

RÀNG BUỘC TOÀN VẸN DỮ LIỆU

Ràng buộc giá trị NULL

• Khi thuộc tính A đƣợc thiết lập là NOT NULL thì các bộ dữ liệu không đƣợc nhận giá trị null tại thuộc tính này

Ví dụ

Mọi bộ trong quan hệ EMPLOYEE không thể nhận giá trị null tại thuộc tính EName

28 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

RÀNG BUỘC TOÀN VẸN DỮ LIỆU

Ràng buộc thực thể

• Nếu K là khóa chính của quan hệ R thì tồn tại đồng thời ràng buộc NOT NULL trên các thuộc tính của K

Ví dụ

là khóa chính của Nếu {ESSN} EMPLOYEE thì các bộ dữ liệu không được có giá trị null tại thuộc tính này

29 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

RÀNG BUỘC TOÀN VẸN DỮ LIỆU

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

Một giá trị xuất hiện trong cột A của quan hệ R

thì phải xuất hiện trong cột B của quan hệ S

Để tồn tại một ràng buộc toàn vẹn tham chiếu

từ A của R tới B của S, thì

dom(A) = dom(B) B phải là khóa (chính hoặc phụ) của S A(R)  B(S)

30 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

VÍ DỤ MẪU

• Xét hai lƣợc đồ quan hệ

• Ràng buộc toàn vẹn tham chiếu?

31 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

VÍ DỤ MẪU

• Xét hai lƣợc đồ quan hệ

• Ràng buộc toàn vẹn tham chiếu?

32 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BA CƠ CHẾ XỬ LÝ VI PHẠM RBTV

• Cơ chế mặc định: Tự động từ chối mọi hành vi vi phạm

ràng buộc toàn vẹn

• Cơ chế thay thế: Tự động cập nhật giá trị khóa ngoại

khi giá trị khóa chính tƣơng ứng bị thay đổi

• Cơ chế sử dụng giá trị null: Mọi giá trị vi phạm ràng

buộc toàn vẹn đƣợc thiết lập giá trị là null

33 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

THIẾT KẾ CSDL QUAN HỆ

• Quy trình thiết kế CSDL

• Thiết kế cơ sở dữ liệu ý niệm

• Thiết kế cơ sở dữ liệu luận lý

34 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

MỤC TIÊU

Không trùng lắp

Nhất quán

Cập nhật, nâng cấp

?

Dễ khai thác

35 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

TIÊU CHÍ LỰA CHỌN BẢN THIẾT KẾ CSDL

• Thời gian thực hiện yêu cầu truy xuất dữ liệu

• Chi phí hoạt động xây dựng, cài đặt, triển khai

• Thời gian sao lƣu, phục hồi khi gặp sự cố

• Tính ổn định trong thời gian dài, mức độ phù hợp với

mục đích sử dụng

36 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ LIỆU

Đặc tả yêu cầu ngƣời sử dụng

Thiết kế cơ sở dữ liệu ý niệm

Thiết kế cơ sở dữ liệu luận lý

Thiết kế cơ sở dữ liệu vật lý

37 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

THIẾT KẾ CƠ SỞ DỮ LIỆU Ý NIỆM

• Mục tiêu:

Mô tả tổ chức của dữ liệu và mối liên quan giữa

chúng với nhau

• Giải pháp:

Mô hình thực thể kết hợp (mở rộng)

38 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL Ý NIỆM

• Bƣớc 1: Xác định yêu cầu về dữ liệu lƣu trữ của hệ

thống, phân tích các thành phần dữ liệu của hệ thống

• Bƣớc 2: Mô hình hóa các yêu cầu về dữ liệu bằng các

sơ đồ riêng lẻ

• Bƣớc 3: Tích hợp sơ đồ tổng thể về tổ chức dữ liệu

lƣu trữ của hệ thống

• Bƣớc 4: Hoàn thiện bản thiết kế, loại bỏ dữ thừa

39 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL Ý NIỆM

1. Xác định yêu cầu về dữ liệu của hệ thống

Xác định các tập thực thể

Xác định các thuộc tính cho từng tập thực thể

Xác định các kiểu liên kết giữa các tập thực thể

40 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL Ý NIỆM

2. Mô hình hóa các yêu cầu về dữ liệu

41 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL Ý NIỆM

2. Mô hình hóa các yêu cầu về dữ liệu

42 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL Ý NIỆM

3. Tích hợp thành sơ đồ tổng thể

43 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL Ý NIỆM

4. Hoàn thiện bản thiết kế

44 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

THIẾT KẾ CƠ SỞ DỮ LIỆU LUẬN LÝ

• Mục tiêu

Tổ chức dữ liệu trên máy tính phục vụ nhu cầu lƣu

trữ, vận hành và khai thác thông tin

• Giải pháp

Mô hình dữ liệu quan hệ

45 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

• Ánh xạ kiểu thực thể thƣờng

1

• Ánh xạ kiểu thực thể yếu

2

• Ánh xạ kiểu liên kết hai ngôi 1:1

3

• Ánh xạ kiểu liên kết hai ngôi 1:N

4

• Ánh xạ kiểu liên kết hai ngôi M:N

5

• Ánh xạ thuộc tính đa trị

6

• Ánh xạ kiểu liên kết nhiều ngôi

7

• Ánh xạ kiểu liên kết cha/con

8

• Ánh xạ lớp con chung

9

46 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

1. Ánh xạ kiểu thực thể thƣờng

47 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

2. Ánh xạ kiểu thực thể yếu

48 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

3. Ánh xạ kiểu liên kết hai ngôi 1:1

49 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

4. Ánh xạ kiểu liên kết hai ngôi 1:N

50 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

5. Ánh xạ kiểu liên kết hai ngôi M:N

51 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

6. Ánh xạ các thuộc tính đa trị

52 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

7. Ánh xạ các liên kết nhiều ngôi

53 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

SO SÁNH HAI MÔ HÌNH

MÔ HÌNH THỰC THỂ KẾT HỢP

MÔ HÌNH DỮ LIỆU QUAN HỆ

Kiểu thực thể

Quan hệ thực thể

Kiểu liên kết 1:1 hay 1:N

Khóa ngoại (quan hệ liên kết)

Kiểu liên kết N:M

Quan hệ liên kết với hai khóa ngoại

Kiểu liên kết N - ngôi

Quan hệ liên kết với N khóa ngoại

Thuộc tính đơn

Thuộc tính

Thuộc tính đa trị

Quan hệ và khóa ngoại

Tập giá trị

Miền giá trị

Thuộc tính khóa

Khóa chính (khóa phụ)

54 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

8. Ánh xạ các liên kết cha / con

EMPLOYEE(ESSN, EName, ESalary, ESex, EBirthdate, EStartdate) SECRETARY(ESSN, TypingSpeed) DRIVER(ESSN, VehicleType) ENGINEER(ESSN, EngType)

55 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

8. Ánh xạ các liên kết cha / con

EMPLOYEE(ESSN, EName, ESalary, ESex, EBirthdate, EStartdate) SECRETARY(ESSN, …, TypingSpeed) DRIVER(ESSN, …, VehicleType) ENGINEER(ESSN, …, EngType)

56 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

8. Ánh xạ các liên kết cha / con

EMPLOYEE(ESSN, …, EStartdate, TypingSpeed, VehicleType, EngType, JobType)

57 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

8. Ánh xạ các liên kết cha / con

EMPLOYEE(ESSN, …, EStartdate, TypingSpeed, VehicleType, EngType, Secretary, Service, Engineer)

58 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

QUY TRÌNH THIẾT KẾ CSDL LUẬN LÝ

9. Ánh xạ các lớp con chung

KEY_MAN (ESSN, …, EStartdate, EngType, Position)

59 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

CƠ SỞ DỮ LIỆU LUẬN LÝ

60 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

CƠ SỞ DỮ LIỆU LUẬN LÝ

61 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BÀI TẬP TỔNG HỢP

Bài tập 1 • Chuyển đổi lƣợc đồ thực thể kết hợp trong hình

thành lƣợc đồ cơ sở dữ liệu quan hệ

62 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BÀI TẬP TỔNG HỢP

Bài tập 2

• Chuyển đổi lƣợc đồ thực thể kết hợp trong hình thành lƣợc đồ cơ sở dữ liệu quan hệ

63 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BÀI TẬP TỔNG HỢP

Bài tập 3

• Chuyển đổi lƣợc đồ thực thể kết hợp trong hình thành lƣợc đồ cơ sở dữ liệu quan hệ

64 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

BÀI TẬP TỔNG HỢP

Bài tập 4

• Chuyển đổi lƣợc đồ thực thể kết hợp trong hình thành lƣợc đồ cơ sở dữ liệu quan hệ

65 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM

TÓM TẮT

• Mô hình quan hệ

• Ràng buộc toàn vẹn

• Thiết kế cơ sở dữ liệu quan hệ

• Bài tập

66 Khoa Công nghệ Thông tin - Trƣờng Đại học Ngân hàng TP.HCM