4.3.1. Các khái niệma) Domain - Miền a) Domain - Miền
Domain là một tập hợp không rỗng D. Để biểu diễn một phần tử thuộc D, ta viết ED. Miền (domain) là một tập các giá trị hoặc các đối tượng.
Gọi D1, D2, ...Dn, là n miền, khi đó D là tập hợp các phần tử của tích Đề các D1×D2×...×Dn. Cũng có thể số lượng các phần tử của D bị giảm đi bởi một điều kiện xác định cho trước.
b) Thuộc tính (Attribute)
Thuộc tính là một lớp dữ liệu mô tả hành vi, tính chất phát sinh trong CSDL, nghĩa là nó chỉ dựa vào tính chất của lớp dữ liệu này.
Mỗi thuộc tính được gắn với một và chỉ một domain.
Một mục dữ liệu (item) của một thuộc tính trong CSDL là một giá trị của domain của thuộc tính này.
Một thuộc tính gọi là có tính joined nếu nó được định nghĩa từ một vài các thuộc tính khác; do đó domain của nó là tập con của tích Đề các các domain của các thuộc tính này.
Ký hiệu:
- Gọi c là giá trị của thuộc tính C. Nếu C được tạo thành từ các thuộc tính C1, C2,...,Cn, khi đó ta ký hiệu c.C1 và c(C1) chỉ giá trị c đối với thuộc tính C1.
- Nếu thuộc tính C có các domain D1, D2, ...Dn thì c.D1 và c(D1) chỉ giá trị c trong domain D1.
c) Quan hệ
Một quan hệ (Relation) n-R là tập R+ các thuộc tính của R và một vị từ mô tả bởi R chứa các biến số tự do (ví dụ ∃,∀) tương ứng các thuộc tính của R+ và nhận các giá trị trong các domain của các thuộc tính đó.
Một bộ (n-tuple) của R là một phần tử của tính Đề các của các domain tương ứng với n thuộc tính của R.
Một thực thể (entity) r của R là một bộ của R thoả mãn vị từ R (r)=true. Một cách đơn giản, quan hệ R là một bảng dữ liệu hai chiều.
d) Lược đồ quan hệ
Lược đồ quan hệ là sự hợp thành của hai yếu tố:
- Một cấu trúc, gồm tên quan hệ và danh sách các thuộc tính (mỗi thuộc tính gắn với một miền) thường cho dưới dạng R(A1A2…An)
- Một tập hợp các ràng buộc toàn vẹn, tức là các điều kiện mà mọi quan hệ trong lược đồ phải thoả mãn.
- Về mặt hình thức: Lược đồ quan hệ α cho bởi một cặp gồm hai thành phần α=<U+, F> , trong đó:
U+: Là tập các thuộc tính
F: Là tập các phụ thuộc hàm trên U+.
- Cho R là một quan hệ trên tập thuộc tính U+, ta nói R thuộc lược đồ quan hệ α=<U+, F> nếu R thoả mãn tất cả các phụ thuộc hàm của tập F.
4.3.2. Phụ thuộc hàm 4.3.2.1. Các dạng chuẩn
a) Định nghĩa phụ thuộc hàm
Cho quan hệ R(ABC), trong đó C có thể rỗng. Ta nói tập thuộc tính B phụ thuộc hàm vào tập thuộc tính A, nếu trong R hai bộ (a1 b1 c1), (a2 b2 c2) bất kỳ có a1=a2 thì cũng đều có b1=b2. Có nghĩa là mỗi giá trị của thuộc tính A xác định duy nhất giá trị của thuộc tính B.
Ký hiệu phụ thuộc hàm này là A →B.
Ví dụ: Trong các quan hê BANDOC,SACH,và BẠNDOC_SACH:
BANDOC : Số thẻ " { Tên bạn đọc, Cơ quan, Hạn SD} SACH : Mã sách " {Tên sách,Tác giả}
BANDOC_SACH : {Số thẻ, Mã sách}" Ngày mượn
Nếu A là một nhóm các thuộc tính thì phụ thuộc hàm A " B trong R được gọi là Sơ đẳng nếu như không tồn tại A’ mà A’" B
Phụ thuộc hàm A " B trong quan hệ R được gọi là trực tiếp nếu như không tồn tại thuộc tính X trong quan hệ R, X khác với A và B sao cho A"B và X " B, Nói cách khác, phụ thuộc hàm A " B trực tiếp nếu như không phải là bắc cầu
b) Tính chất của các phụ thuộc hàm
(fd1) Tính phản xạ.
If X⊂Y then Y→X là một phụ thuộc hàm của R.
(fd2) Luật tăng trưởng
If X→Y là một fd của R và Z⊂W then XW→YZ là một fd của R.
(fd3) Tính bắc cầu
If X→Y and Y→Z là các fd của R then X→Z là một fd của R.
(fd4) Giả bắc cầu
If X→Y and YW→Z là các fd của R then XW→Z là một fd của R.
(fd5) Phép hợp
If X→Y and X→Z là các fd của R then X→YZ là một fd của R.
(fd6) Phép khai triển
If X→Y and Z⊂Y là các fd của R then X→Z là một fd của R.