Tải bản đầy đủ (.ppt) (25 trang)

Cơ sở dữ liệu 1_Chương 3: Mô hình dữ liệu quan hệ pdf

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 (191.07 KB, 25 trang )

Cơ sở dữ liệu 1
Chương 3: Mô hình dữ liệu
quan hệ
Giảng viên: Nguyễn Công Thương
Email:
2
Chương 3: Mô hình dữ liệu
quan hệ

Các khái niệm về mô hình dữ liệu quan hệ:

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

Các khái niệm

Định nghĩa toán học của quan hệ

Đặc trưng của quan hệ

Các ràng buộc toàn vẹn:

Ràng buộc miền giá trị

Ràng buộc toàn vẹn thực thể

Ràng buộc toàn vẹn tham chiếu
3
Các khái niệm

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


Được xây dựng dựa trên đối tượng cơ bản là các
quan hệ, các thuộc tính cùng với các ràng buộc

Được sử dụng để thể hiện mô hình dữ liệu hiện
thực

Miền giá trị (Domain) là một tập hợp các giá
trị nguyên tố
4
Các khái niệm (2)

Lược đồ quan hệ là mô tả các cột (các thuộc
tính) của quan hệ

Ký hiệu: R(A1, A2, . . ., An)

VD: STUDENT(Name, SSN, HomePhone,
Address, OfficePhone, Age, GPA)

Mỗi thuộc tính của quan hệ có một miền giá
trị ký hiệu là dom(A
i
)

Bậc của quan hệ là số thuộc tính của lược đồ
quan hệ tương ứng
5
Các khái niệm (3)

Trạng thái của quan hệ (Relation State) của

một lược đồ quan hệ R(A
1
, A
2
, . . ., A
n
) là một
tập các bộ (tuples) n giá trị r = {t
1
, t
2
, . . ., t
m
}.
Ký hiệu r(R)

Bộ (tuples/dòng-row) là một danh sách có
thứ tự n giá trị t = <v
1
, v
2
, . . ., v
n
> , mà mỗi giá
trị v
i
là một giá trị thuộc dom(A
i
) hoặc là giá trị
null


Giá trị null đại diện cho giá trị chưa biết hoặc
là không tồn tại của một đối tượng
6
Các khái niệm (4)

Các thuật ngữ tương đương
7
Các khái niệm (5)

Ví dụ:
8
Định nghĩa toán học

Về mặt toán học:

r(R) ⊆ (dom (A
1
) x dom(A
2
) x . . . x dom(A
n
))

Giả sử có hai tập hợp D1, D2 với D
1
= {2, 4},
D
2
= {1, 3, 5}


Tích Đề-các, D
1
×D
2
, là tập tất cả những cặp
có thứ tự, trong đó phần tử đầu tiên là một
thành phần của D
1
, phần tử thứ hai là một
thành phần của D
2
D
1
×D
2
= {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}
9
Định nghĩa toán học (2)

Tập con bất kỳ của tích Đề-các được gọi là
một quan hệ
Ví dụ: R = {(2, 1), (4, 1)}

Có thể định nghĩa những cặp xuất hiện trong
quan hệ bằng các điều kiện, ví dụ:

Phần tử thứ 2 bằng 1:
R = {(x, y) | x ∈D
1

, y ∈D
2
, and y = 1}

Phần tử đầu tiên luôn bằng 2 lần phần tử thứ 2:
S = {(x, y) | x ∈D
1
, y ∈D
2
, and x = 2y}
10
Định nghĩa toán học (3)

Giả sử có 3 tập hợp D
1
= {1, 3}, D
2
= {2, 4}, D
3

= {5, 6}, tích Đề-các D
1
×D
2
×D
3
là:
D
1
×D

2
×D
3
= {(1,2,5), (1,2,6), (1,4,5), (1,4,6),
(3,2,5), (3,2,6), (3,4,5), (3,4,6)}

Tập con bất kỳ của tích Đề-các này được gọi
là quan hệ giữa D
1
, D
2
, D
3
11
Định nghĩa toán học (4)

Tích Đề-các của n tập hợp (D
1
, D
2
, . . ., D
n
) là
D
1
×D
2
× ×D
n
= {(d

1
, d
2
, , d
n
) | d
1
D∈
1
,
d
2
D∈
2
, . . . , d
n
D∈
n
}

Mọi tập con các bộ n giá trị từ tập tích Đề-các
trên là một quan hệ trên n tập hợp

Trong mô hình dữ liệu quan hệ, mỗi tập D
i

miền giá trị của một thuộc tính
12
Đặc trưng của quan hệ


Các tuple trong quan hệ không cần thứ tự

Thứ tự của các giá trị trong từng tuple là
quan trọng

Nếu định nghĩa mỗi tuple là một tập các cặp
(thuộc tính, giá trị) thì thứ tự không còn quan
trọng

Mỗi giá trị trong từng tuple phải là giá trị
nguyên tố (không cho phép thuộc tính phức
hợp hay thuộc tính đa trị)
13
Ký hiệu mô hình quan hệ

Lược đồ quan hệ R: R(A
1
, A
2
, . . ., A
n
)

Trạng thái của quan hệ (hay quan hệ): r(R)

Bộ n giá trị: t = <v
1
, v
2
, . . ., v

n
>, trong đó v
i

giá trị tương ứng với thuộc tính A
i

t[A
i
] hoặc t.A
i
ký hiệu cho giá trị của thuộc tính
A
i
trong t

Một thuộc tính A trong quan hệ R có thể
được tham khảo bằng ký hiệu R.A

Ví dụ STUDENT.Name hay STUDENT.Age
14
Lược đồ CSDL quan hệ

Lược đồ CSDL quan hệ S là một tập các
lược đồ quan hệ S = {R
1
, R
2
, . . ., R
m

} và một
tập các ràng buộc toàn vẹn (integrity
constraint) IC

Trạng thái của CSDL quan hệ DB của S là
một tập các trạng thái quan hệ DB = {r
1
,
r
2
, . . ., r
m
}:

Mỗi r
i
là trạng thái của R
i

Các trạng thái r
i
thỏa mãn các ràng buộc toàn vẹn
trong IC
15
Ràng buộc miền giá trị

Giá trị của mỗi thuộc tính A phải là một giá trị
nguyên tố thuộc miền giá trị dom(A) hoặc là
giá trị NULL


NULL đại diện cho giá trị chưa biết hoặc
không tồn tại
Ràng buộc NOT NULL

Một thuộc tính khi mang ràng buộc này thì
thuộc tính đó không được mang giá trị NULL
16
Ràng buộc UNIQUE

Một thuộc tính khi mang ràng buộc UNIQUE
thì giá trị thuộc tính này của tất cả các tuple
phải khác nhau, tuy nhiên có thể có một tuple
được mang giá trị NULL
17
Ràng buộc CHECK

Kiểm tra xem dữ liệu nhập cho một thuộc
tính có thỏa mãn một điều kiện cho trước hay
không
18
19
Siêu khóa

Tất cả tuple trong một quan hệ phải khác
nhau

Phải có một tập con các thuộc tính mà với 2
tuple khác nhau thì tổ hợp giá trị của tập con
thuộc tính đó phải khác nhau
t

1
[SK] ≠ t
2
[SK]

Mọi tập con thuộc tính như vậy được gọi là
siêu khóa (superkey)
20
Khóa

Siêu khóa có ràng buộc duy nhất (unique)

Một quan hệ luôn có ít nhất 1 siêu khóa (là
tập tất cả thuộc tính của quan hệ)

Khóa (key) là siêu khóa tối tiểu: không thể bỏ
bớt thuộc tính nào của khóa mà vẫn giữ
được tính chất duy nhất của nó

Ví dụ:

STUDENT(SSN, Name, Age)

Giá trị của khóa không được thay đổi
21
Khóa

Quan hệ có thể có nhiều khóa, mỗi khóa
được gọi là khóa dự tuyển (candidate key)


Khóa chính (primary key) là một khóa dự
tuyển được chọn

Một số thuộc tính không được nhận giá trị
null – ràng buộc not null
22
Khóa

Ví dụ: quan hệ CAR với hai khóa dự tuyển
LicenseNumber và EngineSerialNumber
23
Ràng buộc toàn vẹn thực thể

Ràng buộc toàn vẹn thực thể (entity integrity
constraint) là trạng thái mà thuộc tính khóa
không có giá trị NULL
24
Khóa ngoại

Khóa ngoại (foreign key): một tập các thuộc
tính FK trong lược đồ quan hệ R
1
là khóa
ngoại của R
1
tham chiếu đến quan hệ R
2
thỏa
mãn:


FK có cùng miền giá trị với khóa chính PK của R
2
.
FK được gọi là tham chiếu đến R
2

Giá trị của FK trong tuple t
1
của trạng thái r
1
(R
1
)
phải là khóa chính của một bộ t
2
trong trạng thái
r
2
(R
2
) hoặc là giá trị null. t
1
[FK] = t
2
[PK]. R
1
là quan
hệ tham chiếu, R
2
là quan hệ được tham chiếu

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

Ràng buộc toàn vẹn tham chiếu (referential
integrity constraint)

Một dòng trong một quan hệ tham chiếu đến một
quan hệ khác phải tham chiếu đến một dòng đã
tồn tại

×