- Là những qui tắc, điều kiện, ràng buộc cần được thỏa mãn trong một thể hiện của CSDL quan hệ. RBTV được mô tả khi định nghĩa lược đồ quan hệ[r]
(1)Chương
(2)Nội dung chi tiết
Giới thiệu
Các khái niệm mơ hình quan hệ Ràng buộc toàn vẹn
Các đặc trưng quan hệ
(3)Giới thiệu
Do tiến sĩ E F Codd đưa
- “A Relation Model for Large Shared Data Banks”,
Communications of ACM, 6/1970
Cung cấp cấu trúc liệu đơn giản đồng
- Khái niệm quan hệ
Có tảng lý thuyết vững
- Lý thuyết tập hợp
Là sở HQT CSDL thương mại
(4)Nội dung chi tiết
Giới thiệu
Các khái niệm mơ hình quan hệ
- Quan hệ (Relation) - Thuộc tính (Attribute) - Lược đồ (Schema) - Bộ (Tuple)
- Miền giá trị (Domain)
Ràng buộc toàn vẹn
Các đặc trưng quan hệ
(5)1 cột thuộc tính nhân viên
1 dịng nhân viên
Quan hệ
Các thông tin lưu trữ CSDL tổ chức thành bảng (table) chiều gọi quan hệ
TENNV HONV NS DIACHI GT LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000
Nhu Le 06/20/1951 291 HVH QPN Nu 43000
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000
(6)Quan hệ (tt)
Quan hệ gồm
- Tên
- Tập hợp cột
Cố định
Được đặt tên
Có kiểu liệu
- Tập hợp dòng
Thay đổi theo thời gian
(7)Thuộc tính
Tên cột quan hệ
Mô tả ý nghĩa cho giá trị cột
Tất liệu cột có dùng
kiểu liệu
TENNV HONV NS DIACHI GT LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000
Nhu Le 06/20/1951 291 HVH QPN Nu 43000
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000
(8)Lược đồ quan hệ
Lược đồ
Lược đồ quan hệ
- Tên quan hệ
- Tên tập thuộc tính
NHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG)
(9)Lược đồ (tt)
Lược đồ CSDL
- Gồm nhiều lược đồ quan hệ
Lược đồ CSDL
NHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG) PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DIADIEM_PHG(MAPHG, DIADIEM)
(10)Dữ liệu cụ thể thuộc tính
Bộ
Là dịng quan hệ (trừ dòng tiêu đề - tên các thuộc tính)
Thể liệu cụ thể thuộc tính quan hệ
(11)Miền giá trị
Là tập giá trị nguyên tố gắn liền với thuộc tính
- Kiểu liệu sở
Chuỗi ký tự (string)
Số (integer)
- Các kiểu liệu phức tạp
Tập hợp (set)
Danh sách (list)
Mảng (array)
Bản ghi (record)
Ví dụ
- TENNV: string
- LUONG: integer
(12)Định nghĩa hình thức
Lược đồ quan hệ
- Cho A1, A2, …, An thuộc tính
- Có miền giá trị D1, D2, …, Dn tương ứng
- Ký hiệu R(A1:D1, A2:D2, …, An:Dn) lược đồ quan hệ
- Bậc lược đồ quan hệ số lượng thuộc tính
lược đồ
- NHANVIEN(MANV:integer, TENNV:string, HONV:string, NGSINH:date, DCHI:string, GT:string, LUONG:integer, DONVI:integer)
NHANVIEN lược đồ bậc mô tả đối tượng nhân viên
MANV thuộc tính có miền giá trị số nguyên
(13)Định nghĩa hình thức (tt)
Quan hệ (hay thể quan hệ)
- Một quan hệ r lược đồ quan hệ R(A1, A2, …, An), ký hiệu r(R), tập r = {t1, t2, …, tk}
- Trong ti danh sách có thứ tự n giá trị ti=<v1, v2, …, vn>
Mỗi vj phần tử miền giá trị DOM(Aj) giá trị rỗng
TENNV HONV NGSINH DCHI GT LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000
Nhu Le 06/20/1951 291 HVH QPN Nu 43000
Hung Nguyen 09/15/1962 null Nam 38000
t1 t2 t3 t4
(14)Thể Mơ hình quan hệ
Mơ hình quan hệ
Sự kiện thực thể Sự kiện liên kết
(15)Tóm tắt ký hiệu
Lược đồ quan hệ R bậc n
- R(A1, A2, …, An)
Tập thuộc tính R
- R+
Quan hệ (thể quan hệ)
- R, S, P, Q
Bộ
- t, u, v
Miền giá trị thuộc tính A
- DOM(A) hay MGT(A)
Giá trị thuộc tính A thứ t
(16)Nội dung chi tiết
Giới thiệu
Các khái niệm mơ hình quan hệ Ràng buộc tồn vẹn
- Siêu khóa (Super key)
- Khóa
- Khóa (Primary key)
- Tham chiếu
- Khóa ngoại (Foreign key)
Các đặc trưng quan hệ
(17)Ràng buộc toàn vẹn
RBTV (Integrity Constraint)
- Là qui tắc, điều kiện, ràng buộc cần thỏa mãn thể CSDL quan hệ
RBTV mô tả định nghĩa lược đồ quan hệ
(18)Siêu khóa
Các quan hệ phải khác đôi
Siêu khóa (Super Key)
- Gọi SK tập khác rỗng thuộc tính R - SK siêu khóa
- Siêu khóa tập thuộc tính dùng để xác định tính quan hệ
- Mọi lược đồ quan hệ có tối thiểu siêu khóa
(19)Khóa
Định nghĩa
- Gọi K tập khác rỗng thuộc tính R - K khóa thỏa đồng thời điều kiện
K siêu khóa R
Nhận xét
- Giá trị khóa dùng để nhận biết quan hệ - Khóa đặc trưng lược đồ quan hệ, không phụ
thuộc vào thể quan hệ
- Khóa xây dựng dựa vào ý nghĩa số thuộc
tính quan hệ
- Lược đồ quan hệ có nhiều khóa
(20)Khóa
Xét quan hệ
- Có khóa
MANV
HONV, TENNV, NS
- Khi cài đặt quan hệ thành bảng (table)
Chọn khóa làm sở để nhận biết
Khóa có thuộc tính
Khóa chọn gọi khóa (PK - primary key)
Các thuộc tính khóa phải có giá trị khác null
Các thuộc tính khóa thường gạch
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)
(21)Tham chiếu
Một quan hệ R, thuộc tính A nhận một giá trị từ thuộc tính B quan hệ S, ta gọi R tham chiếu S
- Bộ tham chiếu phải tồn trước
TENNV HONV NS DCHI GT LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000
Nhu Le 06/20/1951 291 HVH QPN Nu 43000
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000
TENPHG MAPHG
Nghien cuu 5
Dieu hanh
Quan ly
R
(22)Khóa ngoại
Xét lược đồ R S
- Gọi FK tập thuộc tính khác rỗng R - FK khóa ngoại (Foreign Key) R
Các thuộc tính FK phải có miền giá trị với thuộc tính khóa S
Giá trị FK t1R
Hoặc giá trị khóa t2S
Hoặc giá trị rỗng
Ví dụ
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG) PHONGBAN(TENPHG, MAPHG)
Khóa
Khóa ngoại
Quan hệ tham chiếu
(23)Khóa ngoại (tt)
Nhận xét
- Trong lược đồ quan hệ, thuộc tính vừa tham gia vào khóa chính, vừa tham gia vào khóa ngoại
- Khóa ngoại tham chiếu đến khóa lược đồ quan hệ VD: ?
- Có thể có nhiều khóa ngoại tham chiếu đến khóa VD: ??
(24)(25)Nội dung chi tiết
Giới thiệu
Các khái niệm mơ hình quan hệ Ràng buộc toàn vẹn
Các đặc trưng quan hệ
(26)Các đặc trưng quan hệ
Thứ tự quan hệ không quan trọng
Thứ tự giá trị quan trọng
Tung
Nguyen 12/08/1955 638 NVC Q5 Nam 40000
TENNV
HONV NGSINH DCHI GT LUONG PHG
Hang
Bui 07/19/1968 332 NTH Q1 Nu 25000
Nhu
Le 06/20/1951 291 HVH QPN Nu 43000
Hung
Nguyen 09/15/1962 null Nam 38000
Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, Nam, 40000, 5>
khác
(27)Các đặc trưng quan hệ (tt)
Mỗi giá trị
- Hoặc giá trị nguyên tố - Hoặc giá trị rỗng (null)
(28)Nội dung chi tiết
Giới thiệu
Các khái niệm mơ hình quan hệ Ràng buộc toàn vẹn
Các đặc trưng quan hệ
Chuyển lược đồ E/R sang thiết kế quan hệ
(29)Các qui tắc chuyển đổi
(1) Tập thực thể
- Các tập thực thể (trừ tập thực thể yếu) chuyển thành
quan hệ có tên tập thuộc tính
NHANVIEN
TENNV
NS DCHI
GT LUONG HONV MANV Lam_viec La_truong_phong PHONGBAN MAPHG TENPHG
(1,n) (1,1)
(1,1) (0,1)
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG)
(30)Các qui tắc chuyển đổi (tt)
(2) Mối quan hệ
- (2a) Một-Một
Hoặc thêm vào quan hệ thuộc tính khóa quan hệ
Hoặc thêm thuộc tính khóa vào quan hệ
NHANVIEN
TENNV
NS DCHI
GT LUONG HONV MANV La_truong_phong PHONGBAN MAPHG TENPHG
(0,1) (1,1)
NG_NHANCHUC
(31)Các qui tắc chuyển đổi (tt)
(2) Mối quan hệ
- (2b) Một-Nhiều
Thêm vào quan-hệ-nhiều thuộc tính khóa quan-hệ-một
NHANVIEN
TENNV
NS DCHI
GT
LUONG
HONV MANV
Lam_viec PHONGBAN
MAPHG TENPHG
(1,1) (1,n)
(32)Các qui tắc chuyển đổi (tt)
(2) Mối quan hệ
- (2c) Nhiều-Nhiều
Tạo quan hệ có
Tên quan hệ tên mối quan hệ
Thuộc tính thuộc tính khóa tập thực thể liên quan
DEAN TENDA DDIEM_DA MADA NHANVIEN TENNV
NGSINH DCHI
PHAI
LUONG
HONV MANV
Phan_cong
(1,n) (1,n)
THOIGIAN
(33)Các qui tắc chuyển đổi (tt)
(3) Thực thể yếu
- Chuyển thành quan hệ
Có tên với thực thể yếu
Thêm vào thuộc tính khóa quan hệ liên quan
NHANVIEN
TENNV
NS DCHI
GT
LUONG
HONV MANV
(34)Các qui tắc chuyển đổi (tt)
(4) Thuộc tính đa trị
- Chuyển thành quan hệ
Có tên với thuộc tính đa trị
Thuộc tính khóa quan hệ khóa ngồi quan hệ chứa thuộc tính đa trị
NHANVIEN
TENNV
NS BANGCAP
GT
LUONG
HONV MANV
BANGCAP(MANV, BANGCAP)
(35)Các qui tắc chuyển đổi (tt)
(5) Liên kết đa (n>2)
- Chuyển thành quan hệ
Có tên với tên mối liên kết đa ngơi
Khóa tổ hợp khóa tập thực thể tham gia liên kết
NHACUNGCAP(MANCC,…)
DEAN(MADA,…)
THIETBI(MATB,…)
NHACUNGCAP
MANCC Cung_cap DEAN
MADA TENDA
THIETBI
MATB
SOLUONG
(36)Tổng kết
ER
- Loại thực thể
- Quan hệ 1:1, 1:N
- Quan hệ N:M
- Quan hệ đa
- Thuộc tính
- Thuộc tính phức hợp
- Thuộc tính đa trị - Tập giá trị - Thuộc tính khóa
Mơ hình quan hệ
- Quan hệ thực thể - Khóa ngồi
- Quan hệ với khóa ngồi - Quan hệ với n khóa ngồi - Thuộc tính
- Tập thuộc tính đơn - Quan hệ với khóa ngồi - Miền giá trị
(37)Ví dụ quản lý công ty
NHÂNVIÊN ĐƠNVỊ
CON DỰÁN
Quảnlý Làmviệccho Kiểm soát Làm việc Giám sát Có
Mãsố Tên Địađiểm Họtên
Mã số
Họđệm Tên
Ngàysinh
Lương
Giớitính Địachỉ Ngày bắt đầu
Sốgiờ
Tên Ngàysinh Giớitính
Tên Mãsố Địađiểm
(1,1)
(1,N) (1,N)
(0,1) (0,N)
(0,N)
(1,N) (0,N)
(1,1) (0,N)
(38)Tài liệu tham khảo
Giáo trình CSDL
- Chương
Database management system
- Chapter
An introduction to Database System
- Chapter 5, 13
Fundamentals of Database Systems
(39)Bài tập nhà
Bài tập
- Chuyển đổi mô hình thực thể liên kết sang mơ hình quan
hệ cho bt chương (TRƯỜNG THƯ VIỆN)
Bài tập
(40)