Trịnh Hoàng Nam, namth@buh.edu.vn NỘI DUNG • Mô hình dữ liệu quan hệ 1 • Ràng buộc toàn vẹn trên mô hình dữ liệu quan hệ 2 • Các toán tử cập nhật trên quan hệ 3 • Thiết kế cơ sở dữ liệ
Trang 1MÔ HÌNH DỮ LIỆU QUAN HỆ
CƠ SỞ DỮ LIỆU
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
NỘI DUNG
• Mô hình dữ liệu quan hệ
1
• Ràng buộc toàn vẹn trên mô
hình dữ liệu quan hệ
2
• Các toán tử cập nhật trên
quan hệ
3
• Thiết kế cơ sở dữ liệu quan
hệ
4
BA THÀNH PHẦN CỦA MÔ HÌNH
DỮ LIỆU QUAN HỆ
Tổ chức
dữ liệu
Thao tác trên dữ liệu
Ràng buộc trên
dữ liệu
Trang 2Ths Trịnh Hoàng Nam, namth@buh.edu.vn
CÁC KHÁI NIỆM CƠ BẢN CỦA
MÔ HÌNH DỮ LIỆU QUAN HỆ
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
VÍ DỤ MẪU
Hình 4.1 Một thể hiện của quan hệ EMPLOYEE
Thuộc tính
VÍ DỤ MẪU
DEPARTMENT
DNumber DName mgrSSN mgrStartdate
DEPENDENT
DName ESSN
DBirthdate DRelationship
DEPLOCATION
DNum DLocation
EMPLOYEE
ESSN EName ESalary ESex EBirthdate
DNum supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
Lược đồ cơ sở dữ liệu COMPANY
Trang 3Ths Trịnh Hoàng Nam, namth@buh.edu.vn
MỘT SỐ ĐẶC TRƯNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ
Hình 4.3 Hai thể hiện của quan hệ EMPLOYEE
TƯƠNG ĐƯƠNG
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
MỘT SỐ ĐẶC TRƯNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ
Hình 4.3 Hai thể hiện của quan hệ EMPLOYEE
TƯƠNG ĐƯƠNG
MỘT SỐ ĐẶC TRƯNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ
Giá trị thuộc tính là giá trị đơn
Sử dụng NULL để biểu diễn giá trị không biết
Trang 4Ths Trịnh Hoàng Nam, namth@buh.edu.vn
MỘT SỐ ĐẶC TRƯNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ
biểu diễn liên kết
EMPLOYEE (ESSN, EName, ESalary, …, DNum, supervisorSSN)
PROJECT (PNumber, PName, PLocation, DNum)
WORKSON (ESSN, PNum, workHours)
Quan hệ biểu diễn thực thể
Quan hệ biểu diễn liên kết
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
RÀNG BUỘC TOÀN VẸN DỮ LIỆU
• 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)
Ràng buộc miền giá trị
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
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
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
Trang 5Ths Trịnh Hoàng Nam, namth@buh.edu.vn
VÍ DỤ MẪU
{ESSN}?
{EName, ESex}?
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
HOẠT ĐỘNG 1
• Xác định tất cả khóa của các
1
• Khóa nào được chọn làm khóa
từng quan hệ, tại sao?
2
RÀNG BUỘC TOÀN VẸN DỮ LIỆU
• 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
Ràng buộc giá trị NULL
Ví dụ
Mọi bộ trong quan hệ EMPLOYEE không thể
nhận giá trị null tại thuộc tính EName
Trang 6Ths Trịnh Hoàng Nam, namth@buh.edu.vn
RÀNG BUỘC TOÀN VẸN DỮ LIỆU
• 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
Ràng buộc thực thể
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, namth@buh.edu.vn
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)
VÍ DỤ MẪU
Trang 7Ths Trịnh Hoàng Nam, namth@buh.edu.vn
VÍ DỤ MẪU
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
BA TOÁN TỬ CẬP NHẬT TRÊN
DỮ LIỆU QUAN HỆ
• Thêm mới một (số) bộ dữ liệu vào quan hệ
Thêm mới
• Cập nhật giá trị một (số) bộ dữ liệu hiện có trong quan
hệ
Chỉnh sửa
• Xóa bỏ một (số) bộ dữ liệu hiện có ra khỏi quan hệ
Xóa bỏ
HOẠT ĐỘNG 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?
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
Trang 8Ths Trịnh Hoàng Nam, namth@buh.edu.vn
VÍ DỤ MẪU
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
BA CƠ CHẾ XỬ LÝ VI PHẠM RÀNG BUỘC TOÀN VẸN
• Cơ chế mặc định
1
• Cơ chế thay thế
2
• Cơ chế sử dụng giá trị null
3
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
NỘI DUNG
• Mô hình dữ liệu quan hệ
1
• Ràng buộc toàn vẹn trên mô
hình dữ liệu quan hệ
2
• Các toán tử cập nhật trên
quan hệ
3
Trang 9THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ
CƠ SỞ DỮ LIỆU
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
NỘI DUNG
• Quy trình thiết kế cơ sở dữ
liệu quan hệ
1
• Thiết kế cơ sở dữ liệu ý niệm
2
• Thiết kế cơ sở dữ liệu luận lý
3
MỤC TIÊU CỦA HOẠT ĐỘNG THIẾT KẾ CƠ SỞ DỮ LIỆU
?
Không trùng lắp
Cập nhật, nâng cấp
Dễ khai thác Nhất
quán
Trang 10Ths Trịnh Hoàng Nam, namth@buh.edu.vn
TIÊU CHÍ LỰA CHỌN BẢN THIẾT
KẾ CƠ SỞ DỮ LIỆU
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
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
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ý
THIẾT KẾ
CƠ SỞ DỮ LIỆU Ý NIỆM
Mô tả tổ chức của dữ liệu và mối liên quan
giữa chúng với nhau
Mô hình thực thể kết hợp (mở rộng)
Trang 11Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ
CƠ SỞ DỮ LIỆU Ý NIỆM
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
2
• Mô hình hóa các yêu cầu về dữ liệu bằng các sơ
đồ riêng lẻ
3
• Tích hợp sơ đồ tổng thể về tổ chức dữ liệu lưu trữ
của hệ thống
4 • Hoàn thiện bản thiết kế, loại bỏ dữ thừa
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU Ý 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ể
Employee, Department, Project, Dependent
Department (DName, DNumber, DLocation)
Manages, Controls, Works for, Works on, Supervises
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU Ý NIỆM
2 Mô hình hóa các yêu cầu về dữ liệu
Trang 12Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU Ý NIỆM
2 Mô hình hóa các yêu cầu về dữ liệu
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU Ý NIỆM
3 Tích hợp thành sơ đồ tổng thể
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU Ý NIỆM
4 Hoàn thiện bản thiết kế
Trang 13Ths Trịnh Hoàng Nam, namth@buh.edu.vn
THIẾT KẾ
CƠ SỞ DỮ LIỆU LUẬN LÝ
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
Mô hình dữ liệu quan hệ
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
1 • Ánh xạ kiểu thực thể thường
2 • Ánh xạ kiểu thực thể yếu
3 • Ánh xạ kiểu liên kết hai ngôi 1:1
4 • Ánh xạ kiểu liên kết hai ngôi 1:N
5 • Ánh xạ kiểu liên kết hai ngôi M:N
6 • Ánh xạ thuộc tính đa trị
7 • Ánh xạ kiểu liên kết nhiều ngôi
8 • Ánh xạ kiểu liên kết cha/con
9 • Ánh xạ lớp con chung
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
1 Ánh xạ kiểu thực thể thường
DEPARTMENT
DNumber
DName
EMPLOYEE
ESSN EName ESalary ESex EBirthdate EStartdate
PROJECT
PNumber PName PLocation
Trang 14Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
2 Ánh xạ kiểu thực thể yếu
DEPENDENT
DName ESSN DSex DBirthdate DRelationship
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
3 Ánh xạ kiểu liên kết hai ngôi 1:1
DEPARTMENT
DNumber DName mgrSSN mgrStartdate
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
4 Ánh xạ kiểu liên kết hai ngôi 1:N
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
EMPLOYEE
ESSN EName ESalary ESex EBirthdate EStartdate DNum supervisorSSN
PROJECT
PNumber PName PLocation DNum
Trang 15Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
5 Ánh xạ kiểu liên kết hai ngôi M:N
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
DNum
supervisorSSN
PROJECT
PNumber PName PLocation DNum
WORKSON
ESSN PNum workHours
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
6 Ánh xạ các thuộc tính đa trị
DEPARTMENT
DNumber DName mgrSSN mgrStartdate
DEPLOCATION
DNum DLocation
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
7 Ánh xạ các liên kết nhiều ngôi
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
EMPLOYEE
ESSN EName ESex EBirthdate EStartdate DNum
WORKSON
ESSN PNum workHours
PROJECT
PNumber PName PLocation DNum
Trang 16Ths Trịnh Hoàng Nam, namth@buh.edu.vn
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 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
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU 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)
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU 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)
Trang 17Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
8 Ánh xạ các liên kết cha / con
EMPLOYEE(ESSN , …, EStartdate, TypingSpeed, VehicleType, EngType, JobType)
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
8 Ánh xạ các liên kết cha / con
EMPLOYEE(ESSN , …, EStartdate, TypingSpeed, VehicleType, EngType, Secretary, Service, Engineer)
QUY TRÌNH THIẾT KẾ CƠ SỞ DỮ
LIỆU LUẬN LÝ
9 Ánh xạ các lớp con chung
KEY_MAN (ESSN , …, EStartdate, EngType, Position)
Trang 18Ths Trịnh Hoàng Nam, namth@buh.edu.vn
CƠ SỞ DỮ LIỆU LUẬN LÝ
DEPARTMENT
DNumber DName mgrSSN mgrStartdate
DEPENDENT
DName ESSN DSex DBirthdate DRelationship
DEPLOCATION
DNum DLocation
EMPLOYEE
ESSN EName ESalary ESex EBirthdate EStartdate DNum supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
CƠ SỞ DỮ LIỆU LUẬN LÝ
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
EMPLOYEE
ESSN EName ESalary ESex EBirthdate EStartdate DNum supervisorSSN TypingSpeed VehicleType EngType Qualification Experienced Fulltime
WORKSON
ESSN PNum DNum workHours
PROJECT
PNumber PName PLocation DNum
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
KEYMAN
ESSN EngType Position
TÓM TẮT
• Quy trình thiết kế cơ sở dữ
liệu quan hệ
1
• Thiết kế cơ sở dữ liệu ý niệm
2
• Thiết kế cơ sở dữ liệu luận lý
3
Trang 19Ths Trịnh Hoàng Nam, namth@buh.edu.vn
BÀI TẬP TỔNG HỢP
• 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ệ
Bài tập 1
Ths Trịnh Hoàng Nam, namth@buh.edu.vn
BÀI TẬP TỔNG HỢP
• 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ệ
Bài tập 2
BÀI TẬP TỔNG HỢP
• 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ệ
Bài tập 3
Trang 20Ths Trịnh Hoàng Nam, namth@buh.edu.vn
BÀI TẬP TỔNG HỢP
• 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ệ
Bài tập 4