ݺߣ

ݺߣShare a Scribd company logo
Chương 3
Chương 3
Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 2
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 3
Giới thiệu
 Do tiến sĩ E. F. Codd đưa ra
- “A Relation Model for Large Shared Data Banks”,
Communications of ACM, 6/1970
 Cung cấp một cấu trúc dữ liệu đơn giản và đồng bộ
- Khái niệm quan hệ
 Có nền tảng lý thuyết vững chắc
- Lý thuyết tập hợp
 Là cơ sở của các HQT CSDL thương mại
- Oracle, DB2, SQL Server…
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 4
Nội dung chi tiết
 Giới thiệu
 Các khái niệm của 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 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 5
1 cột là 1 thuộc tính của nhân viên
1 dòng là 1 nhân
viên
Quan hệ
 Các thông tin lưu trữ trong CSDL được tổ chức
thành bảng (table) 2 chiều gọi là quan hệ
TENNV HONV NGSINH DCHI PHAI LUONG PHG
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
Tên quan hệ là NHANVIEN
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 6
Quan hệ (tt)
 Quan hệ gồm
- Tên
- Tập hợp các cột
 Cố định
 Được đặt tên
 Có kiểu dữ liệu
- Tập hợp các dòng
 Thay đổi theo thời gian
 Một dòng ~ Một thực thể
 Quan hệ ~ Tập thưc thể
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 7
Thuộc tính
 Tên các cột của quan hệ
 Mô tả ý nghĩa cho các giá trị tại cột đó
 Tất cả các dữ liệu trong cùng 1 một cột đều có dùng
kiểu dữ liệu
TENNV HONV NGSINH DCHI PHAI LUONG PHG
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
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)
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
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)
PHONGBAN(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ệ
<Tung, Nguyen, 12/08/1955, 638 NVC, Q5, Nam, 40000, 5>
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 A1, A2, …, An là các thuộc tính
- Có các miền giá trị D1, D2, …, Dn tương ứng
- Ký hiệu R(A1:D1, A2:D2, …, An:Dn) 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
đồ
- NHANVIEN(MANV:integer, TENNV:string, HONV:string,
NGSINH:date, DCHI:string, PHAI:string, LUONG:integer,
PHONG:integer)
 NHANVIEN 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(A1, A2, …, An), ký
hiệu r(R), là một tập các bộ r = {t1, t2, …, tk}
- Trong đó mỗi ti là 1 danh sách có thứ tự của n giá trị
ti=<v1, v2, …, vn>
 Mỗi vj là một phần tử của miền giá trị DOM(Aj) hoặc giá trị rỗng
TENNV HONV NGSINH DCHI PHAI LUONG PHG
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
t1
t2
t3
t4
vi
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(A1, A2, …, An)
 Tập thuộc tính của R
- R+
 Quan hệ (thể hiện quan hệ)
- R, S, P, Q
 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 (Super key)
- Khóa
- Khóa chính (Primary key)
- Tham chiếu
- Khóa ngoại (Foreign key)
 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
- 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
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG,
PHONG)
NHANVIEN(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 PHG
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 (Foreign Key) 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ộ t1R
 Hoặc bằng giá trị tại khóa chính của một bộ t2S
 Hoặc bằng giá trị rỗng
 Ví dụ
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)
PHONGBAN(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 PHG
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ộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, Nam, 40000, 5>
khác
Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, 40000, Nam, 5>
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
NHANVIEN
TENNV
NGSINH DCHI
PHAI
LUON
G
HONV
MANV
Lam_viec
La_truong_phong
PHONGBAN
MAPHG
TENPHG
(1,1) (1,n)
(1,1)
(1,1)
NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI,
LUONG)
PHONGBAN(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
DEAN
TENDA
DDIEM_D
A
MADA
NHANVIEN
TENNV
NGSINH DCHI
PHAI
LUON
G
HONV
MANV
Phan_cong
(1,n) (1,n)
THOIGIAN
PHANCONG(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
NHANVIEN
TENNV
NGSINH DCHI
PHAI
LUON
G
HONV
MANV
Lam_viec PHONGBAN
MAPHG
TENPHG
(1,1) (1,n)
NHANVIEN(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ệ
NHANVIEN
TENNV
NGSINH DCHI
PHAI
LUON
G
HONV
MANV
La_truong_phon
g
PHONGBAN
MAPHG
TENPHG
(1,1) (1,n)
NG_NHANCHU
C
PHONGBAN(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
NHANVIEN
TENNV
NGSINH DCHI
PHAI
LUON
G
HONV
MANV
THANNHAN(MANV, TENTN, PHAI, NGSINH, QUANHE)
THANNHAN
TENTN
PHAI
NGSIN
H
QUANH
E
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 mối quan hệ isa sang lược đồ quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 34

More Related Content

Chương 3. Mô hình quan hệ cơ sở dữ liệu_LPT

  • 1. Chương 3 Chương 3 Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ
  • 2. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 2 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ệ
  • 3. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 3 Giới thiệu  Do tiến sĩ E. F. Codd đưa ra - “A Relation Model for Large Shared Data Banks”, Communications of ACM, 6/1970  Cung cấp một cấu trúc dữ liệu đơn giản và đồng bộ - Khái niệm quan hệ  Có nền tảng lý thuyết vững chắc - Lý thuyết tập hợp  Là cơ sở của các HQT CSDL thương mại - Oracle, DB2, SQL Server…
  • 4. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 4 Nội dung chi tiết  Giới thiệu  Các khái niệm của 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 của quan hệ  Chuyển lược đồ E/R sang thiết kế quan hệ
  • 5. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 5 1 cột là 1 thuộc tính của nhân viên 1 dòng là 1 nhân viên Quan hệ  Các thông tin lưu trữ trong CSDL được tổ chức thành bảng (table) 2 chiều gọi là quan hệ TENNV HONV NGSINH DCHI PHAI LUONG PHG 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 Tên quan hệ là NHANVIEN
  • 6. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 6 Quan hệ (tt)  Quan hệ gồm - Tên - Tập hợp các cột  Cố định  Được đặt tên  Có kiểu dữ liệu - Tập hợp các dòng  Thay đổi theo thời gian  Một dòng ~ Một thực thể  Quan hệ ~ Tập thưc thể
  • 7. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 7 Thuộc tính  Tên các cột của quan hệ  Mô tả ý nghĩa cho các giá trị tại cột đó  Tất cả các dữ liệu trong cùng 1 một cột đều có dùng kiểu dữ liệu TENNV HONV NGSINH DCHI PHAI LUONG PHG 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
  • 8. 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 NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) Là tập hợp
  • 9. 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 NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC) DIADIEM_PHG(MAPHG, DIADIEM) THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE) DEAN(TENDA, MADA, DDIEM_DA, PHONG)
  • 10. 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ệ <Tung, Nguyen, 12/08/1955, 638 NVC, Q5, Nam, 40000, 5>
  • 11. 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
  • 12. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 12 Định nghĩa hình thức  Lược đồ quan hệ - Cho A1, A2, …, An là các thuộc tính - Có các miền giá trị D1, D2, …, Dn tương ứng - Ký hiệu R(A1:D1, A2:D2, …, An:Dn) 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 đồ - NHANVIEN(MANV:integer, TENNV:string, HONV:string, NGSINH:date, DCHI:string, PHAI:string, LUONG:integer, PHONG:integer)  NHANVIEN 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ự
  • 13. 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(A1, A2, …, An), ký hiệu r(R), là một tập các bộ r = {t1, t2, …, tk} - Trong đó mỗi ti là 1 danh sách có thứ tự của n giá trị ti=<v1, v2, …, vn>  Mỗi vj là một phần tử của miền giá trị DOM(Aj) hoặc giá trị rỗng TENNV HONV NGSINH DCHI PHAI LUONG PHG 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 t1 t2 t3 t4 vi
  • 14. 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(A1, A2, …, An)  Tập thuộc tính của R - R+  Quan hệ (thể hiện quan hệ) - R, S, P, Q  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]
  • 15. 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 (Super key) - Khóa - Khóa chính (Primary key) - Tham chiếu - Khóa ngoại (Foreign key)  Các đặc trưng của quan hệ  Chuyển lược đồ E/R sang thiết kế quan hệ
  • 16. 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
  • 17. 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]
  • 18. 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 - 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’
  • 19. 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 NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG) NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)
  • 20. 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 PHG 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
  • 21. 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 (Foreign Key) 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ộ t1R  Hoặc bằng giá trị tại khóa chính của một bộ t2S  Hoặc bằng giá trị rỗng  Ví dụ NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) PHONGBAN(TENPHG, MAPHG) Khóa chính Khóa ngoại
  • 22. 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
  • 23. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 23 Khóa ngoại (tt)
  • 24. 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ệ
  • 25. 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 PHG 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ộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, Nam, 40000, 5> khác Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, 40000, Nam, 5>
  • 26. 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
  • 27. 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
  • 28. 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 NHANVIEN TENNV NGSINH DCHI PHAI LUON G HONV MANV Lam_viec La_truong_phong PHONGBAN MAPHG TENPHG (1,1) (1,n) (1,1) (1,1) NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG) PHONGBAN(TENPHG, MAPHG)
  • 29. 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 DEAN TENDA DDIEM_D A MADA NHANVIEN TENNV NGSINH DCHI PHAI LUON G HONV MANV Phan_cong (1,n) (1,n) THOIGIAN PHANCONG(MANV, MADA, THOIGIAN)
  • 30. 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 NHANVIEN TENNV NGSINH DCHI PHAI LUON G HONV MANV Lam_viec PHONGBAN MAPHG TENPHG (1,1) (1,n) NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, MAPHG)
  • 31. 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ệ NHANVIEN TENNV NGSINH DCHI PHAI LUON G HONV MANV La_truong_phon g PHONGBAN MAPHG TENPHG (1,1) (1,n) NG_NHANCHU C PHONGBAN(MAPHG, TENPHG, MANV, NG_NHANCHUC)
  • 32. 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 NHANVIEN TENNV NGSINH DCHI PHAI LUON G HONV MANV THANNHAN(MANV, TENTN, PHAI, NGSINH, QUANHE) THANNHAN TENTN PHAI NGSIN H QUANH E Co_than_nhan (1,1) (1,n)
  • 33. 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 mối quan hệ isa sang lược đồ quan hệ
  • 34. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 34