Tải bản đầy đủ (.pdf) (18 trang)

Bài giảng Cơ sở dữ liệu Tổng quan về hệ thống cơ sở dữ liệu ThS. Trịnh Hoàng Nam

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 18 trang )

9/5/2016

CƠ SỞ DỮ LIỆU
CÁC MÔ HÌNH DỮ LIỆU

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

NỘI DUNG

1

• Mô hình thực thể kết hợp

2

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

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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

1

• Một số đặc trưng cơ bản

2

• Các thành phần


Ths. Trịnh Hoàng Nam,

1


9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

MỘT SỐ ĐẶC TRƯNG CỦA
MÔ HÌNH THỰC THỂ KẾT HỢP
1

2

3

4

• Bản vẽ thiết kế cơ sở dữ liệu

• Biểu diễn cấu trúc tổng thể của tổ chức

• Biểu diễn một số ràng buộc trên dữ liệu

• Không thể hiện các thao tác trên dữ liệu

Ths. Trịnh Hoàng Nam,

VÍ DỤ MẪU

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp








Công ty được tổ chức thành nhiều đơn vị với các thông tin bao gồm: tên đơn
vị, số hiệu đơn vị. Mỗi đơn vị có thể có nhiều văn phòng đại diện tại những địa
điểm khác nhau. Đơn vị được quản lý bởi một nhân viên giữ chức vụ trưởng
đơn vị. Hệ thống cũng yêu cầu phải duy trì thông tin về ngày ký quyết định bổ
nhiệm cho từng trưởng đơn vị.
Mỗi đơn vị điều hành nhiều dự án. Thông tin về dự án bao gồm: tên dự án, số
hiệu, và địa điểm thực hiện dự án.
Công ty duy trì thông tin về nhân viên bao gồm: họ và tên, mã số, mức lương,
giới tính, ngày sinh và ngày ký hợp đồng làm việc với công ty. Mỗi nhân viên
thuộc biên chế một đơn vị nhưng có thể tham gia nhiều dự án khác nhau. Các
dự án này không nhất thiết phải do cùng một đơn vị quản lý. Công ty cũng
theo dõi thời gian (tính bằng số giờ làm việc trong tuần) tham gia từng dự án
của mỗi nhân viên. Ngoài ra, mỗi nhân viên còn chịu sự giám sát của một
nhân viên khác.
Cuối cùng, công ty có chế độ bảo hiểm dành cho người thân của nhân viên.
Thông tin về người thân bao gồm tên, giới tính, ngày sinh và mối liên hệ với
nhân viên.
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp


CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP

 Thực thể



Đối tượng dữ liệu cơ bản
Sự vật, hiện tượng tồn tại độc lập

 Tập thực thể



Một nhóm các thực thể giống nhau
Mỗi thực thể là một thể hiện của tập thực thể

 Thuộc tính





Đặc trưng phân biệt các thực thể
Mỗi thực thể tại từng thuộc tính có một giá trị tương
ứng
Giá trị của thuộc tính giúp phân biệt thực thể
Ths. Trịnh Hoàng Nam,

2



9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

HOẠT ĐỘNG 1

1

• Xác định các tập thực thể trong
ví dụ mẫu

2

• Xác định thuộc tính tương ứng
với từng tập thực thể trong ví
dụ mẫu

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP

 Miền giá trị




Tập hợp các giá trị mà thuộc tính có thể nhận được
Có thể là tập các số nguyên, số thực, các xâu ký tự, …

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP

 Phân biệt các thuộc tính theo nhóm




Thuộc tính tổ hợp & thuộc tính đơn
Thuộc tính đơn trị & thuộc tính đa trị
Thuộc tính lưu trữ & thuộc tính dẫn xuất

Ths. Trịnh Hoàng Nam,

3


9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

HOẠT ĐỘNG 2


1

• Xác định miền giá trị thích hợp cho các thuộc
tính trong từng tập thực thể của ví dụ mẫu

2

• Xác định thuộc tính đơn & thuộc tính tổ hợp
trong từng tập thực thể của ví dụ mẫu

3

• Xác định thuộc tính đơn trị & thuộc tính đa trị
trong từng tập thực thể của ví dụ mẫu

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP

 Giá trị NULL




Giá trị không tồn tại
Giá trị tồn tại nhưng không xác định
Giá trị tồn tại, xác định, nhưng không sử dụng được


Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP

 Thuộc tính khóa





Một (số) thuộc tính dùng để phân biệt các thực thể
khác nhau trong một tập thực thể
Mỗi tập thực thể có ít nhất một khóa
Khóa chính và khóa phụ

Ths. Trịnh Hoàng Nam,

4


9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

HOẠT ĐỘNG 3


1

• Xác định thuộc tính lưu trữ và thuộc tính
dẫn xuất (nếu có) trong ví dụ mẫu

2

• Diễn giải sự xuất hiện của các giá trị null
xuất hiện trong ví dụ mẫu

3

• Xác định khóa chính, khóa phụ trong ví
dụ mẫu

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

Hình 2.1. Các thực thể (kèm thuộc tính) của COMPANY

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP
 Liên kết là một sự kết hợp giữa các thực thể

từ một hoặc nhiều tập thực thể khác nhau
 Kiểu liên kết giữa các tập thực thể A1, A2, … là
tập hợp các liên kết giữa các thực thể a1, a2,
… từ các tập thực thể nói trên

Ths. Trịnh Hoàng Nam,

5


9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP

 Phân loại liên kết dựa trên số thực thể tham
gia



Liên kết hai ngôi
Liên kết nhiều ngôi

 Liên kết nhiều ngôi có thể được chuyển đổi
thành nhiều liên kết hai ngôi

Ths. Trịnh Hoàng Nam,


Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP

Hình 2.2. Chuyển đổi liên kết ba ngôi thành ba liên kết hai ngôi

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP

 Phân loại liên kết hai ngôi dựa trên số
lượng các thực thể cùng loại tham gia vào
liên kết




Liên kết một – một
Liên kết nhiều – một
Liên kết nhiều – nhiều

Ths. Trịnh Hoàng Nam,

6



9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

Hình 2.3. Biểu diễn liên kết một – một trong CSDL COMPANY

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

Hình 2.4. Biểu diễn liên kết một – nhiều trong CSDL COMPANY

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

Hình 2.5. Biểu diễn liên kết nhiều – nhiều trong CSDL COMPANY

Ths. Trịnh Hoàng Nam,

7


9/5/2016


CÁC THÀNH PHẦN TRONG
MÔ HÌNH THỰC THỂ KẾT HỢP
Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

 Một số đặc điểm của liên kết



Mỗi thực thể có vai trò riêng trong liên kết
Liên kết có thể có thuộc tính riêng

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

Hình 2.6. Hai vai trò của tập thực thể EMPLOYEE trong liên kết SUPERVISES

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

Hình 2.7. Biểu diễn thuộc tính của liên kết WOKRSON trong CSDL COMPANY.

Ths. Trịnh Hoàng Nam,


8


9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

HOẠT ĐỘNG 4

1

• Xác định các kiểu liên kết tồn tại
trong ví dụ mẫu

2

• Xác định chỉ số bội của từng kiểu
liên kết trong ví dụ mẫu

3

• Xác định thuộc tính của mỗi kiểu
liên kết trong ví dụ mẫu

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

TẬP THỰC THỂ YẾU
 Kiểu liên kết R từ E1 đến E2 gọi là hỗ trợ khi




R là loại liên kết hai ngôi n:1 từ E1 đến E2
Tập thực thể E1 không có khóa chính, nó nhận khóa
chính của E2 về làm khóa cho nó

 Khi đó, E1 gọi là tập thực thể yếu

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU
 Xét tập thực thể DEPENDENT




Liên kết BELONGS TO là liên kết hỗ trợ từ
DEPENDENT đến EMPLOYEE
DEPENDENT không có khóa, nó nhận khóa của
EMPLOYEE về để xây dựng khóa riêng cho nó là
{ESSN, DName}

Ths. Trịnh Hoàng Nam,

9



9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

Hình 2.8. Tập thực thể yếu DEPDENDENT trong CSDL COMPANY

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC KÝ HIỆU

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

Hình 2.9. Biểu diễn cơ sở dữ liệu COMPANY bằng mô hình thực thể kết hợp.
Ths. Trịnh Hoàng Nam,

10


9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp


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

1

• Tổ chức dữ liệu

2

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

3

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

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

BA THÀNH PHẦN CỦA MÔ HÌNH
DỮ LIỆU QUAN HỆ

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

Tổ chức
dữ liệu

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


Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

CÁC KHÁI NIỆM CƠ BẢN CỦA 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ệ

Ths. Trịnh Hoàng Nam,

11


9/5/2016


VÍ DỤ MẪU

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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
Ths. Trịnh Hoàng Nam,

VÍ DỤ MẪU

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

WORKSON

EMPLOYEE

DEPARTMENT

ESSN

ESSN

DNumber

PNum


EName

DName

workHours

ESalary

mgrSSN

ESex

mgrStartdate

EBirthdate
EStartdate

PROJECT
PNumber

DNum
supervisorSSN

DEPLOCATION

PName

DNum


PLocation

DLocation

DNum

DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship

Hình 4.2. Lược đồ cơ sở dữ liệu COMPANY
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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
Ths. Trịnh Hoàng Nam,

12



9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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

Ths. Trịnh Hoàng Nam,

13


9/5/2016

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

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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

Ths. Trịnh Hoàng Nam,


Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

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




{ESSN}?
{EName, ESex}?

Ths. Trịnh Hoàng Nam,

14


9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

HOẠT ĐỘNG 1

1

• Xác định tất cả khóa của các
quan hệ trong ví dụ mẫu

2

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

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp


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

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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

Ths. Trịnh Hoàng Nam,

15


9/5/2016


Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

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)

Ths. Trịnh Hoàng Nam,

VÍ DỤ MẪU
Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

 Xét hai lược đồ quan hệ

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

Ths. Trịnh Hoàng Nam,

VÍ DỤ MẪU
Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

 Xét hai lược đồ quan hệ

 Ràng buộc toàn vẹn tham chiếu?
Ths. Trịnh Hoàng Nam,


16


9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

BA TOÁN TỬ CẬP NHẬT TRÊN DỮ
LIỆU QUAN HỆ
Thêm mới
• Thêm mới một (số) bộ dữ liệu vào quan hệ
Chỉnh sửa
• Cập nhật giá trị một (số) bộ dữ liệu hiện có trong quan
hệ
Xóa bỏ
• Xóa bỏ một (số) bộ dữ liệu hiện có ra khỏi quan hệ

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

HOẠT ĐỘNG 2

1

• Toán tử thêm mới có khả năng gây ra
vi phạm ràng buộc toàn vẹn nào?

2


• Toán tử thêm mới có khả năng gây ra
vi phạm ràng buộc toàn vẹn nào?

3

• Toán tử thêm mới có khả năng gây ra vi
phạm ràng buộc toàn vẹn nào?

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

VÍ DỤ MẪU

 Khi nào RBTV trên EMPLOYEE bị vi phạm?
Ths. Trịnh Hoàng Nam,

17


9/5/2016

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

BA CƠ CHẾ XỬ LÝ VI PHẠM RÀNG
BUỘC TOÀN VẸN

1


• Cơ chế mặc định

2

• Cơ chế thay thế

3

• Cơ chế sử dụng giá trị null

Tự động từ chối mọi hành vi vi phạm ràng buộc toàn vẹn

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

Mọi giá trị vi phạm ràng buộc toàn vẹn được thiết lập giá
trị là null

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Mô hì nh thực thể kết hợp

NỘI DUNG

1

• Mô hình thực thể kết hợp

2


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

Ths. Trịnh Hoàng Nam,

18



×