•U= tập các thuộc tính= {Ai}i=1, , n.
•Một quan hệ trên U= một tập con của tích Đề-các D1x D2x x Dn (các Di không nhất thiết khác nhau).
•Bộ= một phần tử (d1, d2, , dn) của quan hệ.
•t[A]= giá trị của bột tại thuộc tính A.
27 trang |
Chia sẻ: haohao89 | Lượt xem: 2006 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Giáo trình cơ sở dữ liệu chương 2: Mô hình quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2:
Mô hình quan hệ
• I. Định nghĩa:
• II. Ràng buộc toàn vẹn
• III. Các thao tác cập nhật
• IV. Sự thông thương giữa các quan hệ
I. Định nghĩa
• 1. Miền giá trị, thuộc tính
• 2. Quan hệ, bộ
• 3. Bậc
• 4. Sơ đồ quan hệ
• 5. Bảng
• 6. Khóa
I. Định nghĩa
1. Miền giá trị, thuộc tính
• Giá trị sơ cấp/ nguyên tố= giá trị không thể phân
chia được, trong ngữ cảnh đang xét.
• {Di}i=1,…, n: Di = tập các trị sơ cấp. Ai= biến lấy trị
trong Di
• => Ai : thuộc tính, Di : miền giá trị của Ai.
• Di = dom(Ai) i=1,..., n
• Một miền giá trị được mô tả bằng 2 cách:
– bằng một danh sách liệt kê các trị thành phần (in
extension)
– bằng cách mô tả đặc tính của các trị (in intention).
I. Định nghĩa
2. Quan hệ, bộ
• U= tập các thuộc tính= {Ai}i=1,…, n.
• Một quan hệ trên U= một tập con của tích Đề-
các D1 x D2 x … x Dn (các Di không nhất thiết
khác nhau).
• Bộ = một phần tử (d1, d2, … , dn) của quan hệ .
• t[A]= giá trị của bộ t tại thuộc tính A.
I. Định nghĩa
3. Bậc
• Bậc của một quan hệ= số thuộc tính.
I. Định nghĩa
4. Sơ đồ quan hệ
• Sơ đồ quan hệ =
R(A1 : D1, A2 : D2, …, An : Dn), or
R(A1, A2, …, An)
I. Định nghĩa
5. Bảng
• Bảng= một công cụ trực quan, lưu trữ các
dữ liệu của một quan hệ.
R A1 A2 … An
phần mở
rộng
phần định
nghĩa
I. Định nghĩa
5. Bảng (2)
• Dòng: tương ứng một bộ
• Lực lượng= số dòng trong bảng
• Không được có hai dòng giống nhau trong
cùng một bảng.
I. Định nghĩa
6. Khóa
• Khóa K= tập nhỏ nhất các thuộc tính có các giá trị
cho phép phân biệt các bộ của quan hệ R.
• ∀ t1, t2∈R: t1 ≠ t2⇔ t1[K] ≠ t2[K] (*)
• ⎤ (∃K’⊆K: K’ thỏa (*) )
• Có thể có nhiều khóa=> khóa ứng viên.
I. Định nghĩa
6. Khóa (2)
• Khóa chính= khóa được chọn trong số các
khóa ứng viên.
• Khóa không được có trị null .
• Xác định khóa: rất quan trọng vì trong ngữ
cảnh đang xét, nó phụ thuộc vào:
– ngữ nghĩa các thuộc tính.
– các giả thiết về các kiểu dữ liệu trong quan hệ.
I. Định nghĩa
6. Khóa (3)
• Khóa ngoài của quan hệ R= tập các thuộc
tính không phải là khóa chính của R, mà là
của một quan hệ S khác.
• R= quan hệ phụ thuộc/ quan hệ tham chiếu,
quan hệ con
• S= quan hệ được tham chiếu, quan hệ cha.
II. Ràng buộc toàn vẹn
• 1. Khái niệm chung
• 2. Ràng buộc về khóa
• 3. Ràng buộc về trị
• 4. Ràng buộc về tính duy nhất
• 5. Ràng buộc về khóa ngoài
• 6. Ràng buộc về luận lý
II. Ràng buộc toàn vẹn
1. Khái niệm chung
• Ngoài định nghĩa hình thức cho một quan hệ,
cần phải có một tập các ràng buộc toàn vẹn
kiểm tra các trị của:
– một bộ duy nhất, hoặc
– toàn bộ quan hệ
mỗi khi:
– tạo quan hệ
– cập nhật
II. Ràng buộc toàn vẹn
2. Ràng buộc về khóa
• Mỗi giá trị của khóa đặc tả một bộ duy
nhất của quan hệ.
II. Ràng buộc toàn vẹn
3. Ràng buộc về trị
• Khóa chính và tất cả các tập con của
nó không được mang trị rỗng (null)
• Có thể gán trị rỗng/không rỗng (not
null) cho bất cứ thuộc tính nào khác
khóa chính.
II. Ràng buộc toàn vẹn
4. Ràng buộc về tính duy nhất
• Một tập trị thuộc tính có thể có
ràng buộc về tính duy nhất:
–hai bộ khác nhau không thể có cùng
trị,
– trừ các trị rỗng được xem như khác
nhau.
II. Ràng buộc toàn vẹn
5. Ràng buộc về khóa ngoài
• Các kiểu tương ứng giữa một quan
hệ con và một quan hệ cha :
–Tương ứng hoàn toàn
–Tương ứng một phần
–Tự do
II. Ràng buộc toàn vẹn
5. Ràng buộc về khóa ngoài (2)
• Tương ứng hoàn toàn:
Với X=khóa ngoài của R:
– Trị của X là như nhau trong cả hai quan hệ.
– Ngoài tập X, không có tập con nào của X
được mang trị rỗng.
II. Ràng buộc toàn vẹn
5. Ràng buộc về khóa ngoài (3)
• Tương ứng một phần:
–Một tập con của X có thể mang trị rỗng.
–Với điều kiện các giá trị khác rỗng trong
X tương ứng với một trị trong khóa
chính của quan hệ cha.
II. Ràng buộc toàn vẹn
5. Ràng buộc về khóa ngoài (4)
• Tự do:
–Mọi tập con của X có thể mang trị
rỗng mà không đòi hỏi điều kiện
nào.
II. Ràng buộc toàn vẹn
6. Ràng buộc về luận lý
• Biểu diễn bởi một biểu thức luận lý.
• Áp dụng trên:
–một hoặc nhiều thuộc tính
–một bộ, hoặc toàn bộ quan hệ
–nhiều quan hệ.
III. Các thao tác cập nhật
• 1. Thêm một bộ vào quan hệ
• 2. Xóa một bộ khỏi quan hệ
• 3. Sửa một bộ trong quan hệ
III. Các thao tác cập nhật
1. Thêm
Các sai sót khi thêm một bộ vào quan hệ :
• Các trị mới không thỏa các ràng buộc toàn vẹn về:
o khóa
o về trị
o tính duy nhất
o khóa ngoài
o luận lý
III. Các thao tác cập nhật
1. Thêm (2)
• Một số trị mới trong bộ mới có thể không thuộc
về miền giá trị tương ứng.
• Giá trị của khóa trong bộ mới:
• là trị rỗng
• đã có trong một bộ khác của quan hệ đang xét
• Trị của khóa ngoài không tương ứng với khóa
chính nào của quan hệ cha.
III. Các thao tác cập nhật
2. Xóa
• Các sai sót khi xóa một bộ khỏi quan hệ:
– Xóa ngoài ý muốn
– Xóa trong quan hệ cha, nhưng không xóa
các bộ tương ứng trong quan hệ con, trong
khi đã đặc tả trước đó là xóa dây chuyền
(“on delete cascade”)
III. Các thao tác cập nhật
3. Sửa
• Các sai sót khi sửa một bộ trong
quan hệ : như khi thêm một bộ.
IV. Sự thông thương giữa các
quan hệ
• Kết hợp với việc phân tích câu hỏi,
để tìm cách đặc tả:
• các thuộc tính, các quan hệ tương
ứng với các thuật ngữ trong ngôn
ngữ tự nhiên
• dữ liệu xuất
• dữ liệu nhập