Bài giảng Cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ - Lưu Huỳnh Châu Pha

Nội dung chi tiết

Giới thiệu

Các khái niệm của mô hình quan hệ

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

Các đặc trưng của quan hệ

Chuyển lược đồ E/R sang thiết kế quan hệ

 

pptx34 trang | Chuyên mục: Hệ Quản Trị Cơ Sở Dữ Liệu | Chia sẻ: yen2110 | Lượt xem: 646 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ - Lưu Huỳnh Châu Pha, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ONG 
Tung 
Nguyen 
12/08/1955 
638 NVC Q5 
Nam 
40000 
5 
Hang 
Bui 
07/19/1968 
332 NTH Q1 
Nu 
25000 
4 
Nhu 
Le 
06/20/1951 
291 HVH QPN 
Nu 
43000 
4 
Hung 
Nguyen 
09/15/1962 
Ba Ria VT 
Nam 
38000 
5 
Thuộc tính 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
8 
Lược đồ quan hệ 
Lược đồ 
Lược đồ quan hệ 
Tên của quan hệ 
Tên của tập thuộc tính 
NHAN_VIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG) 
Là tập hợp 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
9 
Lược đồ (tt) 
Lược đồ CSDL 
Gồm nhiều lược đồ quan hệ 
Lược đồ CSDL 
NHAN_VIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG) 
PHONG_BAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC) 
DIADIEM_PHG(MAPHG, DIADIEM) 
THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE) 
DEAN(TENDA, MADA, DDIEM_DA, PHONG) 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
10 
Dữ liệu cụ thể của thuộc tính 
Bộ 
Là các dòng của quan hệ (trừ dòng tiêu đề - tên của các thuộc tính) 
Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
11 
Miền giá trị 
Là tập các giá trị nguyên tố gắn liền với một thuộc tính 
Kiểu dữ liệu cơ sở 
Chuỗi ký tự (string) 
Số (integer) 
Các kiểu dữ 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 
Không được chấp nhận 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
12 
Định nghĩa hình thức 
Lược đồ quan hệ 
Cho A 1 , A 2 , , A n là các thuộc tính 
Có các miền giá trị D 1 , D 2 , , D n tương ứng 
Ký hiệu R(A 1 :D 1 , A 2 :D 2 , , A n :D n ) là một lược đồ quan hệ 
Bậc của lược đồ quan hệ là số lượng thuộc tính trong lược đồ 
NHAN_VIEN(MANV:integer, TENNV:string, HONV:string, NGSINH:date, DCHI:string, PHAI:string, LUONG:integer, PHONG:integer) 
NHAN_VIEN là một lược đồ bậc 8 mô tả đối tượng nhân viên 
MANV là một thuộc tính có miền giá trị là số nguyên 
TENNV là một thuộc tính có miền giá trị là chuỗi ký tự 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
13 
Định nghĩa hình thức (tt) 
Quan hệ (hay thể hiện quan hệ) 
Một quan hệ r của lược đồ quan hệ R(A 1 , A 2 , , A n ), ký hiệu r(R), là một tập các bộ r = {t 1 , t 2 , , t k } 
Trong đó mỗi t i là 1 danh sách có thứ tự của n giá trị t i = 
Mỗi v j là một phần tử của miền giá trị DOM(A j ) hoặc giá trị rỗng 
TENNV 
HONV 
NGSINH 
DCHI 
PHAI 
LUONG 
PHONG 
Tung 
Nguyen 
12/08/1955 
638 NVC Q5 
Nam 
40000 
5 
Hang 
Bui 
07/19/1968 
332 NTH Q1 
Nu 
25000 
4 
Nhu 
Le 
06/20/1951 
291 HVH QPN 
Nu 
43000 
4 
Hung 
Nguyen 
09/15/1962 
null 
Nam 
38000 
5 
t 1 
t 2 
t 3 
t 4 
v i 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
14 
Tóm tắt các ký hiệu 
Lược đồ quan hệ R bậc n 
R(A 1 , A 2 , , A n ) 
R là tên lược đồ quan hệ 
Quan hệ (thể hiện quan hệ) 
r, q, s 
Bộ 
t, u, v 
Miền giá trị của thuộc tính A 
DOM(A) hay MGT(A) 
Giá trị tại thuộc tính A của bộ thứ t 
t.A hay t[A] 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
15 
Nội dung chi tiết 
Giới thiệu 
Các khái niệm của mô hình quan hệ 
Ràng buộc toàn vẹn 
Siêu khóa 
Khóa 
Khóa chính 
Tham chiếu 
Khóa ngoại 
Các đặc trưng của quan hệ 
Chuyển lược đồ E/R sang thiết kế quan hệ 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
16 
Ràng buộc toàn vẹn 
RBTV (Integrity Constraint) 
Là những qui tắc, điều kiện, ràng buộc cần được thỏa mãn cho mọi thể thiện của CSDL quan hệ 
RBTV được mô tả khi định nghĩa lược đồ quan hệ 
RBTV được kiểm tra khi các quan hệ có thay đổi 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
17 
Siêu khóa 
Các bộ trong quan hệ phải khác nhau từng đôi một 
Siêu khóa (Super Key) 
Gọi SK là một tập con khác rỗng các thuộc tính của R 
SK là siêu khóa khi 
Siêu khóa là tập các thuộc tính dùng để xác định tính duy nhất của mỗi bộ trong quan hệ 
Mọi lược đồ quan hệ có tối thiểu một siêu khóa 
⇒ 
∀ 
r, 
∀ 
t1,t2 
∈ 
r, t1 
t2 
≠ 
≠ 
t1[SK] 
t2[SK] 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
18 
Khóa 
Định nghĩa 
Gọi K là một tập con khác rỗng các thuộc tính của R 
K là khóa nếu thỏa đồng thời 2 điều kiện 
K là một siêu khóa của R 
Nhận xét 
Khóa là siêu khóa bé nhất 
Giá trị của khóa dùng để nhận biết một bộ trong quan hệ 
Khóa là một đặc trưng của lược đồ quan hệ, không phụ thuộc vào thể thiện quan hệ 
Khóa được xây dựng dựa vào ý nghĩa của một số thuộc tính trong quan hệ 
Lược đồ quan hệ có thể có nhiều khóa 
∀ 
≠ 
K 
, K’ 
K’ 
⊂ 
K 
không phải là siêu khóa của R 
, K’ 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
19 
Khóa chính 
Xét quan hệ 
Có 2 khóa 
MANV 
HONV, TENNV, NGSINH 
Khi cài đặt quan hệ thành bảng (table) 
Chọn 1 khóa làm cơ sở để nhận biết các bộ 
Khóa có ít thuộc tính hơn 
Khóa được chọn gọi là khóa chính (PK - primary key) 
Các thuộc tính khóa chính phải có giá trị khác null 
Các thuộc tính khóa chính thường được gạch dưới 
NHAN_VIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG) 
NHAN_VIEN( MANV , TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG) 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
20 
Tham chiếu 
Một bộ trong quan hệ R, tại thuộc tính A nếu nhận một giá trị từ một thuộc tính B của quan hệ S, ta gọi R tham chiếu S 
Bộ được tham chiếu phải tồn tại trước 
TENNV 
HONV 
NGSINH 
DCHI 
PHAI 
LUONG 
PHONG 
Tung 
Nguyen 
12/08/1955 
638 NVC Q5 
Nam 
40000 
5 
Hang 
Bui 
07/19/1968 
332 NTH Q1 
Nu 
25000 
4 
Nhu 
Le 
06/20/1951 
291 HVH QPN 
Nu 
43000 
4 
Hung 
Nguyen 
09/15/1962 
Ba Ria VT 
Nam 
38000 
5 
TENPHG 
MAPHG 
Nghien cuu 
5 
Dieu hanh 
4 
Quan ly 
1 
R 
S 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
21 
Khóa ngoại 
Xét 2 lược đồ R và S 
Gọi FK là tập thuộc tính khác rỗng của R 
FK là khóa ngoại của R khi 
Các thuộc tính trong FK phải có cùng miền giá trị với các thuộc tính khóa chính của S 
Giá trị tại FK của một bộ t 1 ∈R 
Hoặc bằng giá trị tại khóa chính của một bộ t 2 ∈S 
Hoặc bằng giá trị rỗng 
Ví dụ 
NHAN_VIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG ) 
PHONG_BAN(TENPHG, MAPHG ) 
Khóa chính 
Khóa ngoại 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
22 
Khóa ngoại (tt) 
Nhận xét 
Trong một lược đồ quan hệ, một thuộc tính vừa có thể tham gia vào khóa chính, vừa tham gia vào khóa ngoại 
Khóa ngoại có thể tham chiếu đến khóa chính trên cùng 1 lược đồ quan hệ 
Có thể có nhiều khóa ngoại tham chiếu đến cùng một khóa chính 
Ràng buộc tham chiếu = Ràng buộc khóa ngoại 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
23 
Khóa ngoại (tt) 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
24 
Nội dung chi tiết 
Giới thiệu 
Các khái niệm của mô hình quan hệ 
Ràng buộc toàn vẹn 
Các đặc trưng của quan hệ 
Chuyển lược đồ E/R sang thiết kế quan hệ 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
25 
Các đặc trưng của quan hệ 
Thứ tự các bộ trong quan hệ là không quan trọng 
Thứ tự giữa các giá trị trong một bộ là quan trọng 
Tung 
Nguyen 
12/08/1955 
638 NVC Q5 
Nam 
40000 
5 
TENNV 
HONV 
NGSINH 
DCHI 
PHAI 
LUONG 
PHONG 
Hang 
Bui 
07/19/1968 
332 NTH Q1 
Nu 
25000 
4 
Nhu 
Le 
06/20/1951 
291 HVH QPN 
Nu 
43000 
4 
Hung 
Nguyen 
09/15/1962 
null 
Nam 
38000 
5 
Bộ 
khác 
Bộ 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
26 
Các đặc trưng của quan hệ (tt) 
Mỗi giá trị trong một bộ 
Hoặc là một giá trị nguyên tố 
Hoặc là một giá trị rỗng (null) 
Không có bộ nào trùng nhau 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
27 
Nội dung chi tiết 
Giới thiệu 
Các khái niệm của mô hình quan hệ 
Ràng buộc toàn vẹn 
Các đặc trưng của quan hệ 
Chuyển lược đồ E/R sang thiết kế quan hệ 
Các qui tắc chuyển đổi 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
28 
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 các quan hệ có cùng tên và tập thuộc tính 
NHAN_VIEN 
TENNV 
NGSINH 
DCHI 
PHAI 
LUONG 
HONV 
MANV 
Lam_viec 
La_truong_phong 
PHONG_BAN 
MAPHG 
TENPHG 
(1,1) 
(1,n) 
(1,1) 
(1,1) 
NHAN_VIEN( MANV , TENNV, HONV, NGSINH, DCHI, PHAI, LUONG) 
PHONG_BAN(TENPHG, MAPHG ) 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
29 
Các qui tắc chuyển đổi (tt) 
(2) Mối quan hệ 
(2a) Nhiều-Nhiều 
Tạo một quan hệ mới có 
Tên quan hệ là tên của mối quan hệ 
Thuộc tính là những thuộc tính khóa của các tập thực thể liên quan 
DE_AN 
TENDA 
DDIEM_DA 
MADA 
NHAN_VIEN 
TENNV 
NGSINH 
DCHI 
PHAI 
LUONG 
HONV 
MANV 
Phan_cong 
(1,n) 
(1,n) 
THOIGIAN 
PHAN_CONG( MANV, MADA , THOIGIAN) 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
30 
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ệ-một thuộc tính khóa của quan-hệ-nhiều 
NHAN_VIEN 
TENNV 
NGSINH 
DCHI 
PHAI 
LUONG 
HONV 
MANV 
Lam_viec 
PHONG_BAN 
MAPHG 
TENPHG 
(1,1) 
(1,n) 
NHAN_VIEN( MANV , TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, MAPHG ) 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
31 
Các qui tắc chuyển đổi (tt) 
(2) Mối quan hệ 
(2c) Một-Một 
Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia 
Hoặc thêm thuộc tính khóa vào cả 2 quan hệ 
NHAN_VIEN 
TENNV 
NGSINH 
DCHI 
PHAI 
LUONG 
HONV 
MANV 
La_truong_phong 
PHONG_BAN 
MAPHG 
TENPHG 
(1,1) 
(1,1) 
NG_NHANCHUC 
PHONG_BAN( MAPHG , TENPHG, MANV, NG_NHANCHUC ) 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
32 
Các qui tắc chuyển đổi (tt) 
(3) Thực thể yếu 
Chuyển thành một quan hệ 
Có cùng tên với thực thể yếu 
Thêm vào thuộc tính khóa của quan hệ liên quan 
NHAN_VIEN 
TENNV 
NGSINH 
DCHI 
PHAI 
LUONG 
HONV 
MANV 
THAN_NHAN( MANV , TENTN , PHAI, NGSINH, QUANHE) 
THAN_NHAN 
TENTN 
PHAI 
NGSINH 
QUANHE 
Co_than_nhan 
(1,1) 
(1,n) 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
33 
Bài tập về nhà 
Bài tập 
3.1.7 / 64-65 
3.3.1 a / 80-81 
3.3.2 a / 81-82 
Đọc 
Codd E. F., “A Relation Model for Large Shared Data Banks”, Communications of ACM, pp377-387, 1970 
Qui tắc chuyển đổi mối quan hệ isa sang mô hình quan hệ 
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 
34 

File đính kèm:

  • pptxbai_giang_co_so_du_lieu_chuong_3_mo_hinh_du_lieu_quan_he_luu.pptx