Tải bản đầy đủ (.pdf) (64 trang)

Nhập môn cơ sở dữ liệu Phần 2: Mô hình 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 (2.47 MB, 64 trang )

Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Nhập môn Cơ sở Dữ liệu
Phần 2 – Mô hình dữ liệu quan hệ

Biên soạn : ThS.Phan Võ Minh Thắng

1


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Nội dung
• Mô hình CSDL quan hệ là một khía cạnh về mặt logic
(logical view) của dữ liệu
• Các thành phần cơ bản của mô hình CSDL quan hệ là
thực thể (entities) và các thuộc tính (attributes) của nó và
các mối quan hệ (relationships) giữa các thực thể với nhau
• Cách tổ chức các thực thể và các thuộc tính của nó theo
dạng bảng
• Các phép toán trên CSDL quan hệ, data dictionary, và
system catalog
• Cách xử lý việc dư thừa dữ liệu (data redundancy) trong
mô hình CSDL quan hệ
• Tại sao việc indexing lại quan trọng
Biên soạn : ThS.Phan Võ Minh Thắng

2


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ



Logical View of Data
• Với CSDL quan hệ
– Người thiết kế tập trung vào thể hiện về mặt
luận lý (logical) hơn là vật lý (physical)
– Ưu điểm của việc sử dụng bảng
• Có cấu trúc và độc lập dữ liệu
• Các mẫu tin (records) có liên quan được lưu trữ
trong các bảng độc lập
• Tính đơn giản về mặc logic

– Tạo điều kiện cho các chiến lược thiết kế hiệu
quả hơn
Biên soạn : ThS.Phan Võ Minh Thắng

3


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Logical View of Data
• Entities và Attributes
– Thực thể (entity) là một người, vật, nơi chốn,
hoặc sự kiện, mà dữ liệu được thu thập về nó
– Thuộc tính (attributes) là các đặc tính của thực thể

• Tables – Bảng
– Entity set
– Giữ các thực thể có liên quan
– Cũng được gọi là các quan hệ (relations)

– Gồm các dòng (rows) và các cột (columns)
Biên soạn : ThS.Phan Võ Minh Thắng

4


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Các đặc tính của bảng









Cấu trúc hai chiều gồm các dòng và các cột
Dòng (bộ - tuples) thể hiện một thực thể đơn lẻ (entity)
Cột thể hiện các thuộc tính
Giao giữa dòng và cột thể hiện một giá trị đơn lẻ
Các bảng phải có một thuộc tính để chỉ định duy nhất
từng dòng
Các giá trị của một cột phải có cùng một định dạng dữ
liệu
Mỗi cộ có một giới hạn các giá trị được gọi là miền giá
trị của thuộc tính (attribute domain)
Thứ tự của các dòng và cột không quan trọng đối với
DBMS


Biên soạn : ThS.Phan Võ Minh Thắng

5


Entity set Column (attribute)

Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

value

Row
entity

Biên soạn : ThS.Phan Võ Minh Thắng

6


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Kiểu dữ liệu
• Các kiểu dữ liệu:
– Number
– Character
– Date
– Logical

• Khóa chính (primary key): thuộc tính hoặc tổ

hợp các thuộc tính giúp ta chỉ định duy nhất
một thực thể (row, entity) cụ thể nào đó trong
tập các thực thể (entity set) được lưu trên bảng
(table)
Biên soạn : ThS.Phan Võ Minh Thắng

7


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Khóa
• Một hay nhiều thuộc tính xác định được các
thuộc tính khác
– Thuộc tính khóa (key attribute)
– Khóa kết hợp (composite key)

• A xác định B: biết được giá trị của A, có thể
truy cứu (xác định) giá trị của B
• A xác định B biểu diễn là A->B
• A xác định B, C, và D biểu diễn là A->B,C,D
Biên soạn : ThS.Phan Võ Minh Thắng

8


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Phụ thuộc hàm
• Phụ thuộc hàm toàn phần (full functional

dependence)
– Thuộc tính B phụ thuộc hàm toàn phần vào thuộc
tính A, nếu mỗi giá trị trong cột A xác định một và
chỉ một giá trị trong cột B.

• Phụ thuộc hàm tổng quát (general)
– Thuộc tính A xác định thuộc tính B (B là phụ
thuộc hàm của A), nếu tất cả các dòng trong bảng
được chấp nhận là giá trị cho thuộc tính A thì cũng
được chấp nhận là giá trị cho thuộc tính B
Biên soạn : ThS.Phan Võ Minh Thắng

9


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Khóa kết hợp
• Composite key – khóa kết hợp
– Một khóa được tạo thành từ tổ hợp của nhiều
hơn một thuộc tính
– Bất cứ thuộc tính nào trong khóa kết hợp đều
được gọi là thuộc tính khóa - key attribute
– Ví dụ: A,B ->C,B,D
• A,B là khóa kết hợp
• A thuộc tính khóa
• B thuộc tính khóa
Biên soạn : ThS.Phan Võ Minh Thắng

10



Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Ví dụ: tìm khóa trong bảng sau ?

Biên soạn : ThS.Phan Võ Minh Thắng

11


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

CSDL quan hệ đơn giản

Biên soạn : ThS.Phan Võ Minh Thắng

12


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

• Superkey

Các loại khóa

– Chỉ định duy nhất từng thực thể
– Ví dụ: tất cả những mục sau đều có thể là superkeys
• STU_NUM
• STU_NUM, STU_LNAME

• STU_NUM, STU_LNAME, STU_INIT

Dư thừa

• Candidate key
– superkey nhỏ nhất (không bị dư thừa)
– Ví dụ: STU_NUM

• Primary key
– Candidate key để chỉ định duy nhất tất cả các thuộc
tính trong dòng chỉ định
Biên soạn : ThS.Phan Võ Minh Thắng

13


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Toàn vẹn thực thể
• Toàn vẹn thực thể - entity integrity
– Trong một bảng, primary key phải là
duy nhất
– Key không chứa giá trị ‘null’

Biên soạn : ThS.Phan Võ Minh Thắng

14


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ


Biên soạn : ThS.Phan Võ Minh Thắng

15


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Biên soạn : ThS.Phan Võ Minh Thắng

16


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Khóa
• Foreign key: thuộc tính mà giá trị của nó phải
khớp với các primary keys trong bảng có liên
quan.
– Giá trị phải trùng khớp với primary key trong bảng
khác

• Toàn vẹn tham chiếu - reference integrity
– Nếu foreign key có giá trị, thì giá trị đó phải tham
chiếu tới một dòng đã có trong bảng khác. Ví dụ,
referential integrity giữa hai bảng PRODUCT và
VENDER.

• Secondary key
– Chỉ được dùng để truy cập dữ liệu

Biên soạn : ThS.Phan Võ Minh Thắng

17


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Các loại khóa trong CSDL QH

Biên soạn : ThS.Phan Võ Minh Thắng

18


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Các qui luật toàn vẹn
• Toàn vẹn thực thể - entity integrity
– Yêu cầu (đảm bảo tất cả các thực thể phải duy
nhất): tất cả các giá trị của khóa chính phải duy
nhất; không phải là giá trị null
– Mỗi thực thể có một khoá duy nhất

• Toàn vẹn tham chiếu - Referential integrity
– Foreign key phải khớp với các giá trị primary key
– Không được xóa dòng mà primary key có tham
chiếu thuộc dạng bắt buộc bởi foreign key trong
bảng khác
Biên soạn : ThS.Phan Võ Minh Thắng


19


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

No null entries

Biên soạn : ThS.Phan Võ Minh Thắng

20


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Ký pháp các thuật ngữ
Thuộc tính A1, A2, … An.MGT của Ai là Dom(Ai)
Lược đồ quan hệ R bậc n: R(A1, A2, A3, ….An)
Quan hệ - thể hiện của lược đồ quan hệ: r∈R hay r(R)
Bộ là một tập các giá trị tương ứng với các thuộc tính
của một quan hệ: t∈r(R)
t=(a1, a2, a3, …an) trong đó ai∈Dom(Ai).
• Giá trị tham chiếu của bộ t tại thuộc tính Ai là t[Ai], t.Ai
• Tập các thuộc tính của R: R+={A1, A2, A3, ….An}
• Lược đồ cơ sở dữ liệu: S={R1, R2, R3, ….Rm}







Biên soạn : ThS.Phan Võ Minh Thắng

21


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Biểu diển các phép toán quan hệ
R(A1, A2, A3, ….An)
X={Ai,Ak,…Al}
• Phép chiếu
Phép chiếu quan hệ R trên tập con các thuộc tính X là
một quan hệ Q xác định trên tập thuộc tính X, ký hiệu
là R[X], được định nghĩa như sau:
Q = R[X] = ∏X(R) = ∏AiAk...Al(R)
Q
Q = { q / ∃ t ∈ R: q = t.X }
X
R
Biên soạn : ThS.Phan Võ Minh Thắng

22


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Biểu diển các phép toán quan hệ
R(A1, A2, A3, ….An)
Đ là điều kiện (hay phát biểu) dựa trên R+
Đánh giá Đ trên bộ giá trị t∈R: E(tĐ) hay Đ(t)

• Phép chọn
Phép chọn các bản ghi của R thỏa mãn điều kiện Đ là
một quan hệ Q có cùng ngôi với R, ký hiệu là R:Đ,
được định nghĩa như sau:
Q
Q = R:Đ = σĐ(R) = σmô tả đk Đ(R)
Q = { t ∈ R / Đ (t) = đúng }

Biên soạn : ThS.Phan Võ Minh Thắng

Đ

R

23


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Biểu diển các phép toán quan hệ
R(A1, A2, A3, ….An)
t = (a1, a2, ..., an)
S (B1, B2, B3,, ….Bm)
u = (b1, b2, ..., bm)
v = (t, u) = (a1, a2, ..., an, b1, b2, ..., bm)
A ∈ R+ và B ∈ S+ là hai thuộc tính có thể so sánh được
θ là một phép toán so sánh
• Phép kết
Phép kết R với S trên các thuộc tính A và B với phép so sánh θ
, với giả thiết là giá trị cột R[A] có thể so sánh được (qua phép

so sánh θ ) với mỗi giá trị của cột R[B], được định nghĩa qua:
R
R

AθB
AθB

Q

S = {v = (t, u) | t∈R , u∈S và t.A θ u.B}
S = (R x S) : (A θ B)

Biên soạn : ThS.Phan Võ Minh Thắng

AθB

R

S

24


Cơ sở Dữ liệu : Mô hình dữ liệu quan hệ

Các phép toán trong CSDL quan hệ
• Lý thuyết đại số quan hệ định nghĩa cách thức để
tính toán nội dung của bảng dùng tám phép toán
quan hệ
• Các phép toán chính





SELECT – Chọn
PROJECT – Chiếu
JOIN – Kết

• Các phép toán khác đó là




INTERSECT – Giao
DIFFERENCE – Hiệu
DIVIDE - Chia

Biên soạn : ThS.Phan Võ Minh Thắng

UNION – Hợp
PRODUCT - Nhân
25


×