Biên soạn : ThS.Phan Võ Minh Thắng 2Nộ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ể e
Trang 1Nhập môn Cơ sở Dữ liệu
Phần 2 – Mô hình dữ liệu quan hệ
Trang 2Biên soạn : ThS.Phan Võ Minh Thắng 2
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à
Trang 3Logical View of Data
– 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
Trang 4Biên soạn : ThS.Phan Võ Minh Thắng 4
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ể
– 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)
Trang 5Cá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
Trang 6Biên soạn : ThS.Phan Võ Minh Thắng 6
Row
entity
Trang 7Kiể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)
Trang 8Biên soạn : ThS.Phan Võ Minh Thắng 8
• 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
Trang 9• 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
Trang 10Biên soạn : ThS.Phan Võ Minh Thắng 10
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
Trang 11Ví dụ: tìm khóa trong bảng sau ?
Trang 12Biên soạn : ThS.Phan Võ Minh Thắng 12
CSDL quan hệ đơn giản
Trang 13Các loại khóa
• Superkey
– 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
Trang 14Biên soạn : ThS.Phan Võ Minh Thắng 14
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’
Trang 16Biên soạn : ThS.Phan Võ Minh Thắng 16
Trang 17• 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
Trang 18Biên soạn : ThS.Phan Võ Minh Thắng 18
Các loại khóa trong CSDL QH
Trang 19Cá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
Trang 20Biên soạn : ThS.Phan Võ Minh Thắng 20
No null entries
Trang 21Ký pháp các thuật ngữ
• Thuộc tính A 1 , A 2 , … A n MGT của Ai là Dom(A i )
• Lược đồ quan hệ R bậc n: R(A 1 , A 2 , A 3 , ….A n )
• Quan hệ - thể hiện của lược đồ quan hệ: r∈R hay r(R)
của một quan hệ: t∈r(R)
t=(a 1 , a 2 , a 3 , …a n ) trong đó a i ∈Dom(A i )
• Giá trị tham chiếu của bộ t tại thuộc tính A i là t[A i ], t.A i
• Tập các thuộc tính của R: R + ={A 1 , A 2 , A 3 , ….A n }
• Lược đồ cơ sở dữ liệu: S={R 1 , R 2 , R 3 , ….R m }
Trang 22Biên soạn : ThS.Phan Võ Minh Thắng 22
Biểu diển các phép toán quan hệ
R(A 1 , A 2 , A 3 , ….A n ) X={A i ,A k ,…A l }
• 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 / ∃ t ∈ R: q = t.X }
X Q
R
Trang 23Biểu diển các phép toán quan hệ
R(A 1 , A 2 , A 3 , ….A n )
Đ 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 = R:Đ = σ Đ (R) = σ mô tả đk Đ (R)
Q = { t ∈ R / Đ (t) = đúng }
Q
Đ
Trang 24Biên soạn : ThS.Phan Võ Minh Thắng 24
Biểu diển các phép toán quan hệ
v = (t, u) = (a1, a2, , an, b1, b2, , bm)
Trang 25Cá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ệ
Trang 26Biên soạn : ThS.Phan Võ Minh Thắng 26
Các thuộc tính của các tables phải có cùng
đặc tính (như các cột và các miền giá trị của các cột phải giống nhau)
Các bảng như thế gọi là các bảng khả hợp
(UNION compatible)
Kết hợp tất cả các dòng
Ví dụ:
Trang 27Phép hợp - Union
Trang 28Biên soạn : ThS.Phan Võ Minh Thắng 28
Phép giao - Intersect
Các Tables phải UNION compatible
Kết quả là các dòng xuất hiện ở cả hai bảng
Ví dụ:
Trang 29Phép hiệu - Difference
Các Tables phải UNION compatible
Kết quả là các dòng trong bảng này không
có trong bảng còn lại.
Ví dụ:
Trang 30Biên soạn : ThS.Phan Võ Minh Thắng 30
Kết quả là tất cả các cập có thể có (possible pairs)
của các dòng trong hai bảng
Ví dụ:
Trang 31Phép chọn - Select
Kết quả là tập các giá trị của tất cả các dòng
tìm thấy trong bảng
Phép chọn có thể được dùng để liệt kê tất cả
hoặc một phần các dòng có giá trị khớp với tiêu chuẩn chỉ được chỉ định.
Ví dụ:
Trang 32Biên soạn : ThS.Phan Võ Minh Thắng 32
Phép chọn - Select
Trang 33Phép chiếu - Project
Kết quả là một tập con theo chiều dọc của bảng với
các thuộc tính được chọn
Ví dụ:
Trang 34Biên soạn : ThS.Phan Võ Minh Thắng 34
Trang 35Phép kết - Join
Figure 2.11
Figure 2.14
Trang 36Biên soạn : ThS.Phan Võ Minh Thắng 36
Qui trình kết tự nhiên
Trang 37Thực hiện phép nhân khi kết
Trang 38Biên soạn : ThS.Phan Võ Minh Thắng 38
Trang 39Thực hiện phép chọn khi kết
Trang 40Biên soạn : ThS.Phan Võ Minh Thắng 40
Thực hiện phép chiếu khi kết
Trang 41– Điều kiện kết phải được định nghĩa tường minh (explicitly defined)
– EquiJOIN thường so sánh các cột được chỉ định trong từng bảng sử dụng các phép toán (so
sánh) khác hơn là phép toán bằng
Trang 42Biên soạn : ThS.Phan Võ Minh Thắng 42
Các phép kết khác
• Theta JOIN
– Bất kỳ phép so sánh nào khác được sử dụng một cách tổng quát được gọi là phép kết theta JOIN
• Outer JOIN
– Các cập trùng nhau được giữ lại – Các giá trị không trùng khớp trong bảng “theo hướng của outer JOIN” được đặt là null
– Có outer JOIN bên phải và outer JOIN bên trái – Ví dụ:
Trang 44Biên soạn : ThS.Phan Võ Minh Thắng 44
Trang 45Phép chia - Divide
Sử dụng trong bảng một cột và bảng hai cột
Tìm giá trị kết hợp với các giá trị trong bảng chia sao
cho tất cả các kết hợp đó đều thuộc bảng bị chia
Ví dụ:
Trang 46Biên soạn : ThS.Phan Võ Minh Thắng 46
Data Dictionary
• Gồm thông tin chi tiết về tất cả các bảng có trong CSDL
• Thông tin về thông tin - Metadata
• Tên thuộc tính và các đặc tính của thuộc tính
• Tất cả thành viên của nhóm thiết kế và triển khai CSDL dùng chung bảng, các thuộc tính và các đặc tính đó
• DBMS tổ chức lưu trữ data dictionary bên trong nó và
additional information bao gồm các loại quan hệ, và các yêu cầu kiểm tra và đảm bảo toàn vẹ trên entity và toàn
vẹn về tham chiếu, các hình thức index và các thành
phần Additional information được phát sinh trong suốt
giai đoạn thiết kế và triển khai CSDL.
• CSDL của người thiết kế CSDL
Trang 48Biên soạn : ThS.Phan Võ Minh Thắng 48
System Catalog
• Data dictionary chi tiết; các phần mềm CSDL quan hệ
hiện tại chỉ hỗ trợ một system catalog
• Có thể suy diễn ra data dictionary
• CSDL do hệ thống tạo, các bảng có thể được truy vấn; tài liệu của CSDL cho phép HQT CSDL quan hệ kiểm tra và loại bỏ các trường hợp homonyms (cùng tên cho các
thuộc tính khác nhau) và synonyms (khác tên cho cùng
thuộc tính)
• Lưu giữ các đặc tính và nội dung của CSDL
• Các table cũng có thể được truy vấn giống như bất cứ
table nào khác
• Tự động phát sinh tài liệu cho CSDL
Trang 49Các loại quan hệ trong CSDL quan hệ
• Phân loại mối quan hệ
Trang 50Biên soạn : ThS.Phan Võ Minh Thắng 50
ERD Symbols
• E-R Model: ERD Maps E-R model: Chen, Crow’s Feet
• Hình chữ nhật thể hiện thực thể
• Hình thoi thể hiện mối quan hệ giữa các thực thể
• Bên “1” của quan hệ
• Bên “nhiều” của quan hệ
Trang 51Ví dụ: mối quan hệ 1:M
Trang 52Biên soạn : ThS.Phan Võ Minh Thắng 52
Ví dụ: mối quan hệ 1:M
Trang 53Ví dụ: mối quan hệ 1:M
• Mối quan hệ 1:M dễ dàng được thực hiện trong mô hình
dữ liệu quan hệ.
• Khóa chính của bên một được thêm vào thành khóa
ngoại của bảng ở bên nhiều
Trang 54Biên soạn : ThS.Phan Võ Minh Thắng 54
Trang 55Hình chữ nhật
Trang 56Biên soạn : ThS.Phan Võ Minh Thắng 56
Ví dụ: mối quan hệ N:M
Trang 57Ví dụ: mối quan hệ N:M
• Table có nhiều vị trí dư thừa
• Các phép toán quan hệ trở nên rất phức tạp và
có thể dẫn tới system efficiency errors và
output errors.
Trang 58Biên soạn : ThS.Phan Võ Minh Thắng 58
Trang 59Chuyển quan hệ M:N thành hai quan hệ 1:N
Trang 60Biên soạn : ThS.Phan Võ Minh Thắng 60
Trang 61Chuyển quan hệ M:N thành hai quan hệ 1:N
Trang 62Biên soạn : ThS.Phan Võ Minh Thắng 62
Xem xét sự dư thừa dữ liệu
• Khóa ngoại có thể làm giảm sự dư thừa
• Một vài trường hợp dư thừa là có thể cần thiết
– Được gọi là các dư thừa được kiểm soát – Tốc độ
– Thông tin yêu cầu
Trang 63• Chỉ tới vị trí
• Làm cho việc truy cập dữ liệu nhanh chóng hơn
Chỉ mục
Trang 64Biên soạn : ThS.Phan Võ Minh Thắng 64
Thông tin
• Nội dung:
• Tổng số slide: 60
• Ngày cập nhật sau cùng: 19-02-2004
• Biên soạn: ThS Phan Võ Minh Thắng
Liên hệ: minhthangpv@hcmuaf.edu.vn