Mô hình quan hệ
(Relational model)
1 EE4509, EE6133 HK2 2011/2012
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Giới thiệu
hình quan hệ sử dụng thuyết tập
hợp logic bậc nhất để biểu diễn dữ
liệu
CSDL được biểu diễn bằng một tập
các bảng:
Mỗi bảng tập hợp các các bộ giá trị
Mỗi cột đều có cùng một kiểu dữ liệu
Mỗi hàng trong bảng bộ các giá trị
quan hệ với nhau
So sánh với hình ER:
Mỗi bảng tương ứng với một tập thực
thể
Mỗi cột tương ứng một thuộc tính
Mỗi hàng trong bảng tương ứng với
một thực thể
2 EE4509, EE6133 HK2 2011/2012
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Họ tên
Tuổi
Giới tính
Trần Khánh Linh
25
Nam
Bill Gates
50
Nam
Liên Kiệt
45
Nam
Lưu Diệc Phi
25
Nữ
Nguyễn Văn Bố
37
Nam
Thị Mẹ
30
Nữ
Các định nghĩa
Một mô hình quan hệ là tập hợp các quan hệ (relation)
Mỗi quan hệ gồm 2 phần:
Thể hiện (instance): là bảng các bộ giá trị (tuples)
Lược đồ (schema): chứa tên của quan hệ, cùng với tên và kiểu
từng cột của bảng
VD: Book(id: integer, title: string, author: string, pub-year: integer)
Số dòng của bảng: lực lượng (cardinality) của quan hệ
Số cột của bảng: bậc (degree) của quan hệ
VD:
Lực lượng: 3
Bậc: 4
3 EE4509, EE6133 HK2 2011/2012
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
id
title
author
pub-year
1
The call of the wild
Jack London
1903
3
The universe in a nutshell
Stephen Hawking
2001
4
Hồng lâu mộng
Tào Tuyết Cần
1791
Định nghĩa bằng toán học
Lược đồ quan hệ R là tích Đề-các các miền giá trị của
các thuộc tính
Đầy đủ: Book(id: int, title: string, author: string, pub-year: int)
Ngắn gọn: Book(id, title, author, pub-year)
Book = dom(int) × dom(string) × dom(string) × dom(int)
(trong đó dom(…) hiệu tập giá trị của một kiểu)
Quan hệ r trên R: hiệu bằng r(R) một tập con của R
my-books = my-books(Book) Book
Một phần tử của r gọi một thể hiện, một hàng, hay một
bộ giá trị
Chú ý: người ta thường gọi tắt quan hệthay cho “thể
hiện của quan hệ
4 EE4509, EE6133 HK2 2011/2012
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
Khoá (key)
Các khái niệm về khoá của quan hệ cũng tương tự như
với thực thể trong hình ER
Siêu khoá (superkey): tập các thuộc tính bộ giá trị
không lặp lại
Nếu K một siêu khoá thì K’ = K a cũng một siêu khoá, với a
một thuộcnh của quan hệ
Khoá ứng viên (candidate key): siêu khoá không cố
thuộc tính thừa (không tồn tại siêu khoá tập con)
Một quan hệ thể 0, 1 hoặc nhiều siêu khoá
Khoá chính (primary key): một khoá ứng viên được
người thiết kế CSDL lựa chọn
Mỗi quan hệ chỉ nhiều nhất một khoá chính
5 EE4509, EE6133 HK2 2011/2012
TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội