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

Chương 2 Mô hình cơ sở dữ liệu quan hệ

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 (393.46 KB, 57 trang )

1
Mô hình cơ sở dữ liệu quan hệ
(The Relational Database Model)
Chương 2
2
Giới thiệu

Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô
hình Quan hệ) do E.F Codd đề xuất năm 1971

Mô hình Quan hệ thể hiện dữ liệu dưới góc độ logic

Mô hình Quan hệ bao gồm:

Các khái niệm nhằm mô tả dữ liệu dưới dạng dòng và cột
như quan hệ, bộ, thuộc tính, khóa chính, khoá ngoại,

Các phép toán thao tác với dữ liệu_ Đại số quan hệ

Ràng buộc toàn vẹn quan hệ

Các Hệ quản trị CSDL quan hệ (RDBMS) được xây
dựng dựa trên lý thuyết mô hình quan hệ.
3
Các khái niệm

Quan hệ / bảng

Thuộc tính

Bộ



Lược đồ quan hệ

Khóa
4
Quan hệ

Dữ liệu lưu trữ trong CSDL Quan hệ được tổ
chức thành các Quan hệ (relation)

Quan hệ (relation) thể hiện ra như là bảng
(table)

Một quan hệ có :

Một tên

Tập hợp các thuộc tính (attribute)

Tập hợp các bộ (tuple)
5
Quan hệ và bảng
Thuật ngữ tương đương :

Quan hệ, bộ, thuộc tính (Relation, tuple, attribute)

Bảng, dòng, cột (Table, row, column)
MASV Hoten Phai QueQuan
99001 Nguyễn Tuấn 1 TP HCM
99002 Trần Long 1 Da Nang

99003 Phạm Hồng 0 Long An
99004 Lê Văn 1 Binh Thuan
99005 Nguyễn Nam 1 Tp HCM
Quan hệ
sinhvien
6
Quan hệ và bảng
MASV MAMH MAKHOA DIEMTHI
99001 CSDL CNTT 3.0
99002 CSDL CNTT 8.0
99001 THVP CNTT 6.0
99005 THVP AV 5.0
Quan hệ
ketquaHT
7
Thuộc tính
Một thuộc tính bao gồm :

Tên thuộc tính

Tên phân biệt

Giúp diễn giải ý nghĩa thuộc tính (thuộc tính của thực thể,
hay mối kết hợp)

Kiểu dữ liệu thuộc tính

Số nguyên, số thực, văn bản, logic,…

Miền giá trị xác định


Có thể bị áp đặt bởi qui tắc nghiệp vụ, hay ràng buộc dữ
liệu

Có thể NULL
8
Bộ và quan hệ

Mỗi bộ (dòng) là một tổ hợp các giá trị tương ứng
với các thuộc tính của quan hệ

mô tả về một thực thể , hay một mối kết hợp có trong
thế giới thực

Tập các bộ trong một quan hệ thay đổi theo thời
gian

Một tập các bộ xác định tại một thời điểm, gọi là một thể
hiện của lược đồ quan hệ (hay quan hệ)

Không có 2 bộ trùng nhau trong một quan hệ

Trật tự của các bộ (và các thuộc tính) là không
quan trọng đối với DBMS.
9
Lược đồ Quan hệ

Lược đồ quan hệ - relation schema

Mô tả cấu trúc của quan hệ


Các thuộc tính và Mối liên hệ giữa các thuộc tính

Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý nghĩa
của nó.
Vd, tân từ: Mỗi Sinh viên thuộc một khoa, học một môn học
thì có kết quả thi môn học đó.

Ký hiệu LĐQH
Ketqua( MASV, MAMH, MAKHOA, DIEMTHI)
Ký hiệu r(Ketqua) là một thể hiện của LĐQH trên.

Lược đồ CSDL

Tập hợp các lược đồ quan hệ trong cùng một CSDL
10
Khóa
(Key hay candidate key)

Gọi S là một tập các thuộc tính của lược đồ quan hệ R

S được gọi là một siêu khóa (superkey) của lược đồ quan hệ
R, nếu với hai bộ bất kỳ trong R thì giá trị của các thuộc tính
trong S là khác nhau

Siêu khoá có ít thuộc tính nhất được gọi là khóa (key) hay
khóa dự tuyển (candidate key)

Một lược đồ quan hệ có thể có nhiều khóa (khóa dự tuyển)


Một khóa được chọn để cài đặt gọi là khóa chính (primary
key)

Không chứa giá trị NULL

khóa ngoại (foreign key) là thuộc tính của LĐQH này nhưng
lại là khóa chính của LĐQH khác

Khóa phức (composite key) là khóa có nhiều hơn một thuộc
tính

Thuộc tính khóa và thuộc tính không khóa
11
Khóa _ ví dụ 1

Monhoc(Mamon, Tenmon, Sotiet)
rMonhoc

Siêu khóa : {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet},
{Mamon, Tenmon, Sotiet}

Khóa (khóa dự tuyển, khóa chính) : {Mamon}
Mamon Tenmon Sotiet
THVP Tin hoc văn phòng 30
LTC Lập trình C 60
CSDL1 Co so du lieu 45
CSDL2 Co so du lieu 45
12
Khóa _ ví dụ 2


Ketqua( MaSV, MaMH, Makhoa, Diemthi)
rKQ

Siêu khóa: {MaSV, MaMH}, {MaSV,MaMH,MaKhoa},…

Khóa (khóa dự tuyển, khóa chính , khóa phức): {MaSV,
MaMH}

Khóa ngoại : {MaMH} , {MaKhoa}
MASV MAMH MAKHOA DIEMTHI
99001 CSDL CNTT 3.0
99002 CSDL CNTT 8.0
99001 THVP CNTT 6.0
99005 THVP AV 6.0
13
Khóa _ ví dụ 3

Sinhvien(MaSV, Hoten, Phai, soCMND)
rSV

Siêu khóa : {MaSV} , {MaSV, Hoten}, … ,
{soCMND} , {soCMND, Hoten},…

Khóa (khóa dự tuyển): {MaSV} , {soCMND}

Khóa chính : {MaSV}
MaSV Hoten Phai soCMND
99001 Nguyen van anh Nam 01245012
99002 Tran Le Tuan Nam 02209875
99003 Nguyen Thi Hong Nu 04563711

99004 Do van Thuan Nam 76876768
14
Đại số quan hệ

Khái niệm

Các phép toán đại số quan hệ

Ví dụ
15
Giới thiệu

Đại số quan hệ (và phép tính quan hệ) được
định nghĩa bởi Codd 1971

được xem như là nền tảng của các ngôn ngữ
quan hệ khác như SQL

Là ngôn ngữ thủ tục bậc cao

Được dùng để chỉ ra cách xây dựng một quan hệ mới
từ một hay nhiều quan hệ trong DB

Bao gồm tập các phép toán thao tác trên các
quan hệ
16
Các phép toán (operation)

5 phép toán cơ bản


Phép chọn (selection)

Phép chiếu (projection)

Phép hợp (union)

Phép trừ (set difference)

Phép tích Descartes (Cartesian product)

3 phép toán suy dẫn*

Phép kết (Join)

Phép giao (Intersection)

Phép chia (Division)
(*Có thể được biểu diễn dưới dạng các phép toán cơ bản)
17
Ký hiệu

Quan hệ r là một thể hiện của lược đồ quan
hệ R(A1, A2, …, Am)

Điều kiện F là 1 biểu thức luận lý có giá trị
true/false. F bao gồm:

Các toán hạng là hằng hoặc tên thuộc tính

Các phép toán so sánh =, ≠, <, ≤, >, ≥


Các phép toán luận lý not (¬), and (∧), or (∨)
18
Phép chọn (selection)
Phép chọn (selection)

Phép chọn trên quan hệ r(R) theo điều kiện
F, ký hiệu là r(F) hay r:F , cho kết quả là 1
quan hệ bao gồm các bộ của r thỏa mãn
điều kiện F
r(F) = r:F = { t |t ∈r và F(t) = true }
18
* Phép chọn và phép chiếu là phép toán một toán hạng
19
Phép chọn (selection) – ví dụ 1
Phép chọn (selection) – ví dụ 1
Relation r
A B C D
α
α
β
β
α
β
β
β
1
5
12
23

7
7
3
10
r(A=B ^ D>5)
A B C D
α
β
α
β
1
23
7
10
r(A=B)
A B C D
α
β
β
α
β
β
1
12
23
7
3
10
20
Phép chiếu (Projection)

Phép chiếu (Projection)

Cho quan hệ r trên R(A1, A2, ,Am) và tập
con các thuộc tính X={Aj1, Aj2, …, Ajn} với
j1, j2, , jn là các số nguyên phân biệt nằm
trong khoảng từ 1 đến m

Phép chiếu r trên tập thuộc tính X cho kết
quả là 1 quan hệ
r[X] = r.X = {t | ∃ u∈ r sao cho t = u[X]}

Phép chiếu loại bỏ những bộ trùng nhau
20
21
Phép chiếu (Projection) – ví dụ 1
Phép chiếu (Projection) – ví dụ 1

Relation r
A B C
α
α
β
β
10
20
30
40
1
2
1

2
A C
α
α
β
β
1
2
1
2
r[A,C]
22
Phép hợp (union)
Phép hợp (union)

Phép hợp của 2 quan hệ r và s
r + s = r ∪ s = { t | t ∈ r ∨ t ∈ s}
trong đó: r và s là hai quan hệ khả hợp
r + s
23
Phép hiệu (Set Difference)

Phép hiệu của 2 quan hệ r và s
r - s = { t | t ∈ r ∧ t ∉ s }
trong đó: r và s là hai quan hệ khả hợp
r - s
24
Phép giao (Intersection)

Phép giao của 2 quan hệ r và s

r
*
s = r ∩ s = {t | t ∈ r ∧ t ∈ s}
trong đó: r và s là hai quan hệ khả hợp
Hai quan hệ r và s là khả hợp ( union-compatible) khi :

Có cùng số thuộc tính

Các thuộc tính tương ứng có cùng miền giá trị
r
*
s
25
Bài tập

Cho 2 quan hệ định nghĩa trên 2 lược đồ Quan hệ :
Customer( Cuscode, cusName, cusPhone, City)
Branch( BraCode, BraName, BraPhone, City)

Hiển thị danh sách các thành phố có khách hàng
và đồng thời có chi nhánh ?

Hiển thị danh sách các thành phố có khách hàng
và không có chi nhánh ?

×