Sieâu khoùa cuûa löôïc ñoà quan heä Q laø taäp cuûa löôïc ñoà quan heä Q laø taäp hôïp caùc thuoäc tính coù theå duøng laøm cô.. hôïp caùc thuoäc tính coù theå duøng laøm cô.[r]
(1)MƠ HÌNH DỮ LIỆU QUAN HỆ
MƠ HÌNH DỮ LIỆU QUAN HỆ Các khái niệm
1 Các khái niệm
2 Các thao tác quan hệ
2 Các thao tác quan hệ
3 Các phép toán tập hợp
3 Các phép toán tập hợp
4 Các phép toán quan hệ
(2)1 CÁC KHÁI NIỆM CƠ BẢN
1 CÁC KHÁI NIỆM CƠ BẢN 1.1 Thuộc tính (Attribute)
1.1 Thuộc tính (Attribute)
1.2 Quan hệ (Relation)
1.2 Quan hệ (Relation)
1.3 Bộ giá trị (Tuple)
1.3 Bộ giá trị (Tuple)
1.4 Lược đồ quan hệ (Relation Schema)
1.4 Lược đồ quan hệ (Relation Schema)
1.5 Thể quan hệ
1.5 Thể quan hệ
1.6 Khóa (Key)
1.6 Khóa (Key)
1.7 Phụ thuộc hàm (
1.7 Phụ thuộc hàm (Functional DependencyFunctional Dependency))
1.8 Ràng buộc toàn vẹn (
(3)1.1 Thuộc tính (Attribute)
1.1 Thuộc tính (Attribute)
Thuộc tính
Thuộc tính tính chất riêng biệt tính chất riêng biệt đối tượng cần lưu trữ
một đối tượng cần lưu trữ
CSDL để phục vụ cho việc khai thác
CSDL để phục vụ cho việc khai thác
liệu đối tượng
liệu đối tượng
Ví dụ:
Ví dụ:
Loại thực thể MƠN-HỌC có số thuộc tính Loại thực thể MƠN-HỌC có số thuộc tính
Mã-môn, Tên-môn, Số-Đv-Học-Trình Mã-môn, Tên-môn, Số-Đv-Học-Trình
Loại thực thể HỌC-VIÊN có số thuộc tính Loại thực thể HỌC-VIÊN có số thuộc tính
Mã-khoa, Mã-học-viên, Tên-học-viên, Mã-khoa, Mã-học-viên, Tên-học-viên,
(4)1.1 Thuộc tính (TT)
1.1 Thuộc tính (TT)
Các đặc trưng thuộc tính:
Các đặc trưng thuộc tính:
Tên gọi (Name)Tên gọi (Name)
(5)1.1 Thuộc tính (TT)
1.1 Thuộc tính (TT)
Tên thuộc tính
Tên thuộc tính
-Có tính chất gợi nhớ
-Có tính chất gợi nhớ
-Đặt quy định hệ QTCSDL
-Đặt quy định hệ QTCSDL
-Không nên đặt dài
-Không nên đặt dài
Nếu khơng cần lưu ý đến ngữ nghĩa
Nếu khơng cần lưu ý đến ngữ nghĩa
tên thuộc tính thường ký hiệu
tên thuộc tính thường ký hiệu
bằng chữ A, B, C, D, …, X, Y,
bằng chữ A, B, C, D, …, X, Y,
Z, W, … dùng thay cho nhóm thuộc tính
(6)1.1 Thuộc tính (TT)
1.1 Thuộc tính (TT)
Kiểu liệu (Data Type):
Kiểu liệu (Data Type): Mỗi thuộc tính Mỗi thuộc tính đều phải thuộc kiểu liệu
đều phải thuộc kiểu liệu
định
định
Kiểu văn bảnKiểu văn bản Kiểu sốKiểu số
Kiểu luận lýKiểu luận lý
(7)1.1 Thuộc tính (TT)
1.1 Thuộc tính (TT)
Một số kiểu liệu SQL Server
Một số kiểu liệu SQL Server
Kieåu
Kiểu LoạiLoại ByteByte Diễn giảiDiễn giải Bit
Bit Số nguyênSố nguyên 11 Kiểu bit – giá trị 1Kiểu bit – giá trị Int
Int Số nguyênSố nguyên 44 -2,147,483,648 -2,147,483,648
+2,147,483,648
+2,147,483,648
SmallInt
SmallInt Số nguyênSố nguyên 22 -32768 -32768 32767 32767 Decimal
Decimal Số thựcSố thực VV -10-103838 –1 –1 10 103838 -1 -1
Float
Float Số thựcSố thực 88 -1.79E+308 -1.79E+308 +1.79E+308 +1.79E+308 DateTime
DateTime Ngày Ngày 88 1/1/1753 1/1/1753 31/12/9999 31/12/9999 Char
Char Ký tự Ký tự VV Chiều dài cố địnhChiều dài cố định VarChar
(8)1.1 Thuộc tính (TT)
1.1 Thuộc tính (TT)
Miền giá trị (Domain):
Miền giá trị (Domain): Mỗi thuộc tính Mỗi thuộc tính chọn giá trị tập hợp
chọn giá trị tập hợp
con kiểu liệu Tập hợp giá trị
con kiểu liệu Tập hợp giá trị
mà thuộc tính A nhận
mà thuộc tính A nhận
gọi miền giá trị A
gọi miền giá trị A
Ký hiệu Dom(A), MGT(A)Ký hiệu Dom(A), MGT(A)
Trong nhiều hệ QTCSDL, người ta đưa thêm
(9)1.2 Quan heä (Relation)
1.2 Quan hệ (Relation)
Một quan hệ R có n ngơi định nghĩa
Một quan hệ R có n ngơi định nghĩa
trên tập thuộc tính U = {A
trên tập thuộc tính U = {A11, A, A22, A, Ann} } kèm theo tân từ, tức
và kèm theo tân từ, tức
quy tắc để xác định mối quan hệ
quy tắc để xác định mối quan hệ
các thuộc tính A
các thuộc tính Aii
Ký hiệu R (A
Ký hieäu R (A11, A, A22, A, Ann).)
Ví dụVí dụ: :
KHOA (Mã-khoa, Tên-khoa), quan KHOA (Mã-khoa, Tên-khoa), quan
hệ
hệ
Tân từ: "Mỗi khoa có tên gọi Tân từ: "Mỗi khoa có tên gọi
mã số để phân biệt với tất
mã số để phân biệt với tất
các khoa khác trường"
(10)1.3 Bộ giá trị (Tuple)
1.3 Bộ giá trị (Tuple)
Một giá trị thông tin Một giá trị thông tin
đối tượng thuộc quan hệ Bộ giá trị
đối tượng thuộc quan hệ Bộ giá trị
được gọi mẫu tin (Record),dòng (Row)
được gọi mẫu tin (Record),dịng (Row)
Về mặt hình thức, q vectơ Về mặt hình thức, q vectơ
gồm n thành phần thuộc tập hợp
gồm n thành phần thuộc tập hợp
của tích Đề-các miền giá trị
của tích Đề-các miền giá trị
thuộc tính, thỏa mãn tân từ quan hệ
thuộc tính, thỏa mãn tân từ quan hệ
q = (aq = (a
1
(11)1.4 Lược đồ quan hệ
1.4 Lược đồ quan hệ
Lược đồ quan he
Lược đồ quan heä trừu tượng hóa ä trừu tượng hóa quan hệ, trừu tượng hóa mức
quan hệ, trừu tượng hóa mức
độ cấu trúc bảng hai chiều
độ cấu trúc bảng hai chiều
Khi nói tới lược đồ quan hệ tức đề cập Khi nói tới lược đồ quan hệ tức đề cập
tới cấu trúc tổng quát quan hệ
tới cấu trúc tổng quát quan hệ
Khi đề cập tới quan hệ Khi đề cập tới quan hệ
bảng có cấu trúc cụ thể định
bảng có cấu trúc cụ thể định
nghĩa cụ thể lược đồ quan hệ
nghĩa cụ thể lược đồ quan hệ
với giá trị
(12)1.5 Thể quan hệ
1.5 Thể quan hệ
Thể hiện
Thể hiện (hoặc tình trạng) quan hệ R, ký hiệu (hoặc tình trạng) quan hệ R, ký hiệu T
TRR, tập hợp giá trị quan hệ R vào , tập hợp giá trị quan hệ R vào thời điểm
thời điểm
Tại thời điểm khác quan hệ có Tại thời điểm khác quan hệ có
những thể khác thể khác
Ví dụ: Quan hệ Ví dụ: Quan hệ MÔN-HỌCMÔN-HỌC
Mã-môn
Mã-môn Tên-MônTên-Môn Số-ĐVHTSố-ĐVHT LTCB
(13)1.6 Khóa (Key)
1.6 Khóa (Key)
Siêu khóa
Siêu khóa lược đồ quan hệ Q tập lược đồ quan hệ Q tập hợp thuộc tính dùng làm
hợp thuộc tính dùng làm
sở để phân biệt khác tùy ý
sở để phân biệt khác tùy ý
trong quan hệ định nghĩa
trong quan hệ định nghĩa
trên lược đồ quan hệ Q
trên lược đồ quan hệ Q
1 lược đồ có siêu khóa có 1 lược đồ có siêu khóa có
thể có nhiều siêu khóa
thể có nhiều siêu khóa
Ví dụ: Ví dụ: SINHVIENSINHVIEN (MaSV, HoTen, NSinh, DC) (MaSV, HoTen, NSinh, DC)
Siêu khóa: {MaSV}, {MaSV, HoTen}, Siêu khóa: {MaSV}, {MaSV, HoTen}, {MaSV, NSinh}, …
(14)1.6 Khoùa (Key) (TT)
1.6 Khóa (Key) (TT)
Khóa định:
Khóa định: Trong số siêu khóa Trong số siêu khóa lược đồ quan hệ Q,
của lược đồ quan hệ Q,
chọn Siêu khóa “nhỏ nhất” gọi
chọn Siêu khóa “nhỏ nhất” gọi
la
laø khóa định (Khóa nội).ø khóa định (Khóa nội).
1 lược đồ có khóa định 1 lược đồ có khóa định
có thể có nhiều khóa định
có thể có nhiều khóa định
Ví dụ: Ví duï: SINHVIENSINHVIEN (MaSV, HoTen, NSinh, DC) (MaSV, HoTen, NSinh, DC)
(15)1.6 Khoùa (Key) (TT)
1.6 Khóa (Key) (TT)
Khóa (Primary Key):
Khóa (Primary Key): Trong trường hợp Trong trường hợp lược đồ quan hệ Q có nhiều khóa
lược đồ quan hệ Q có nhiều khóa định, cài đặt hệ QTCSDL, user định, cài đặt hệ QTCSDL, user
choïn khóa định làm khóa chính, chọn khóa định làm khóa chính,
những khóa cịn lại gọi
những khóa cịn lại gọi Khóa tương Khóa tương đương
đương
Thuộc tính có tham gia vào khóa gọi Thuộc tính có tham gia vào khóa gọi thuộc tính khóa
thuộc tính khóa, ngược lại – thuộc tính , ngược lại – thuộc tính khơng khóa
không khóa
(16)1.6 Khóa (Key) (TT)
1.6 Khóa (Key) (TT)
Khóa ngoại (Foreign Key): Khóa ngoại (Foreign Key): Giả sử có Giả sử có
quan hệ R, S Một tập thuộc tính K R
quan hệ R, S Một tập thuộc tính K R
được gọi
được gọi khóa ngoạikhóa ngoại R K R K khóa nội S.
khóa nội S.
Ví dụ:Ví dụ:
Mã-khoa LỚP-HỌC khóa ngoại Mã-khoa LỚP-HỌC khóa ngoại
nó khóa nội quan hệ KHOA
nó khóa nội quan hệ KHOA
Mã-lớp HỌC-VIÊN khóa ngoại Mã-lớp HỌC-VIÊN khóa ngoại
nó khóa nội quan hệ LỚP-HỌC
(17)1.7 Phụ thuộc hàm
1.7 Phụ thuộc hàm
Quan hệ R định nghĩa tập thuộc
Quan hệ R định nghĩa tập thuộc
tính U = {A
tính U = {A11, A, A22, , A, , Ann} X, Y } X, Y U tập U tập tập thuộc tính U Nếu tồn
con tập thuộc tính U Nếu tồn
một ánh xạ f: X
một ánh xạ f: X Y ta nói X xác Y ta nói X xác định hàm Y, hay Y phụ thuộc hàm vào X
định hàm Y, hay Y phụ thuộc hàm vào X
và ký hiệu X
và ký hiệu X Y Y
Ví dụ: Ví dụ: SINHVIENSINHVIEN ( (MaSVMaSV, HoTen, NSinh, DC), HoTen, NSinh, DC)
(18)1.8 Ràng buộc toàn vẹn
1.8 Ràng buộc toàn vẹn
Ràng buộc toàn vẹnRàng buộc toàn vẹn (RBTV) quy (RBTV) quy
tắc định nghóa (hay nhiều)
tắc định nghóa (hay nhiều)
quan hệ môi trường ứng dụng quy
quan hệ môi trường ứng dụng quy
định Đó quy tắc để đảm bảo
định Đó quy tắc để đảm bảo
tính quán liệu CSDL
tính quán liệu CSDL
Mỗi RBTV định nghĩa Mỗi RBTV định nghĩa
thuật toán CSDL
thuật toán CSDL
Ví dụVí dụ: : NHANVIENNHANVIEN ( (MaNVMaNV, HoTen, HSL, DC), HoTen, HSL, DC)
(19)2 CÁC THAO TÁC CƠ BẢN
2 CÁC THAO TÁC CƠ BẢN 2.1 Phép thêm (INSERT)
2.1 Phép thêm (INSERT)
2.2 Phép xóa (DELETE)
2.2 Phép xóa (DELETE)
2.3 Phép sửa (UPDATE)
(20)2.1 Phép thêm (INSERT)
2.1 Phép thêm (INSERT)
Việc thêm giá trị t vào quan hệ Việc thêm giá trị t vào quan hệ
R (A
R (A11, A, A22, A, Ann) làm cho thể T) làm cho thể TRR của tăng thêm phần tử mới: T
nó tăng thêm phần tử mới: TRR = T = TRR t t
Dạng hình thức phép thêm là: Dạng hình thức phép thêm là: INSERT (R; A
INSERT (R; Ai1i1=v=v11, A, Ai2i2 =v =v22, A, Aimim= v= vmm))
đó, Atrong đó, A
i1
i1, A, Ai2i2, A, Aimim thuộc tính, thuộc tính,
và v
và v11, v, v22, v, vmm giá trị thuộc giá trị thuộc MGT(A
(21)2.1 Phép thêm (INSERT) (TT)
2.1 Phép thêm (INSERT) (TT)
Phép thêm khơng thực
Phép thêm khơng thực
hoặc làm tính quán
hoặc làm tính qn
liệu CSDL lý do:
liệu CSDL lý do:
Giá trị khóa rỗng (NULL) Giá trị khóa rỗng (NULL)
hoặc trùng với giá trị khóa có
hoặc trùng với giá trị khóa có
Bộ không phù hợp với lược đồ quan Bộ không phù hợp với lược đồ quan
hệ: sai thứ tự, sai kiểu độ lớn
hệ: sai thứ tự, sai kiểu độ lớn
các thuộc tính
các thuộc tính
Một số giá trị không thuộc Một số giá trị không thuộc
miền giá trị thuộc tính tương ứng
(22)2.2 Phép xóa (DELETE)
2.2 Phép xóa (DELETE)
Phép xóa (loại bỏ) t quan hệ Phép xóa (loại bỏ) t quan hệ
lấy t khỏi thể quan hệ
lấy t khỏi thể quan heä
T
TRR = T = TRR \ t \ t
Phép xóa viết cách hình thức : Phép xóa viết cách hình thức : DELETE (R; A
DELETE (R; Ai1i1=v=v11, A, Ai2i2 =v =v22, A, Aimim= v= vmm))
Atrong A
ij
ij=v=vjj (j = 1, 2, , m) coi (j = 1, 2, , m) coi
như điều kiện thỏa số thuộc
như điều kiện thỏa số thuộc
tính t để loại bỏ khỏi
(23)2.2 Phép xóa (DELETE)
2.2 Phép xóa (DELETE)
Phép xóa (loại bỏ) t quan hệ Phép xóa (loại bỏ) t quan hệ
lấy t khỏi thể quan hệ
lấy t khỏi thể quan hệ
T
TRR = T = TRR \ t \ t
Phép xóa viết cách hình thức : Phép xóa viết cách hình thức : DELETE (R; A
DELETE (R; Ai1i1=v=v11, A, Ai2i2 =v =v22, A, Aimim= v= vmm))
Atrong A
ij
ij=v=vjj (j = 1, 2, , m) coi (j = 1, 2, , m) coi
như điều kiện thỏa số thuộc
như điều kiện thỏa số thuộc
tính t để loại bỏ khỏi
tính t để loại bỏ khỏi
quan heä.
(24)2.3 Phép sửa (UPDATE)
2.3 Phép sửa (UPDATE)
Một số hệ QTCSDL đưa nhiều câu lệnh Một số hệ QTCSDL đưa nhiều câu lệnh
khác để sửa liệu: EDIT, UPDATE
khác để sửa liệu: EDIT, UPDATE
Trong ngơn ngữ hình thức, phép sửa đổi Trong ngơn ngữ hình thức, phép sửa đổi
giá trị quan hệ có dạng:
giá trị quan hệ có daïng:
UPDATE (R; A
UPDATE (R; Ai1i1=c=c11, A, Ai2i2 =c =c22, A, Aimim= c= cmm; ;
A
Ai1i1=v=v11, A, Ai2i2 =v =v22, A, Aimim= v= vmm))
Trong R quan hệ cần sửa đổi; ATrong R quan hệ cần sửa đổi; A
ij
ij= c= cjj
(j = 1, 2, , m) laø điều kiện tìm kiếm
(25)3 CÁC PHÉP TOÁN TẬP HỢP
3 CÁC PHÉP TOÁN TẬP HỢP
3.1 Phép hội (Union) 3.1 Phép hội (Union)
3.2 Phép giao (Intersection) 3.2 Phép giao (Intersection) 3.3 Phép trừ (Minus)
3.3 Phép trừ (Minus)
3.4 Tích Đềcác (Cartesian Product) 3.4 Tích Đềcác (Cartesian Product) 3.5 Phép chia (Division)
3.5 Pheùp chia (Division)
(26)3.1 Phép hội (Union)
3.1 Phép hoäi (Union)
Hội quan hệ R S – ký hiệu Hội quan hệ R S – ký hiệu
laø
là R R S S - quan hệ Q có thứ - quan hệ Q có thứ tự thuộc tính quan hệ R S,
tự thuộc tính quan hệ R S,
được định nghĩa sau:
được định nghĩa sau:
Q = R
Q = R S = {t / t S = {t / t R t R t S } S }
Nói cách khác, hội quan hệ R S Nói cách khác, hội quan hệ R S
là quan hệ có giá trị gộp
là quan hệ có giá trị gộp
các giá trị R S;
các giá trị R S;
giá trị trùng giữ lại
(27)3.1 Phép hội (Union)
3.1 Phép hội (Union)
Ví dụ: Ví dụ:
R (ABC)
R (ABC) S (ABC)S (ABC) RRS(ABC)S(ABC)
- - - - -a
a11bb11cc11 aa11bb11cc11 aa11bb11cc11 a
a22bb11cc22 aa22bb22cc22 aa22bb11cc22 a
a22bb22cc11 aa22bb22cc11 a
(28)3.1 Phép hội (Union)
3.1 Phép hội (Union)
Maso
Maso HoTenHoTen PhaiPhai ChucVuChucVu 100
100 Nguyen Van NamNguyen Van Nam NamNam GDGD 101
101 Hoang Thi XuanHoang Thi Xuan NuNu KTTKTT 103
103 Dang Ngoc ChienDang Ngoc Chien NamNam TKTK
Maso
Maso HoTenHoTen PhaiPhai ChucVuChucVu 221
221 Do Huu NgocDo Huu Ngoc NamNam PPPP 101
101 Hoang Thi XuanHoang Thi Xuan NuNu KTTKTT
Maso
Maso HoTenHoTen PhaiPhai ChucVuChucVu 100
100 Nguyen Van NamNguyen Van Nam NamNam GDGD
Ví dụ DS ĐƠNVỊ A
DS ĐƠNVỊ B
(29)3.2 Phép giao (Intersection)
3.2 Pheùp giao (Intersection)
Giao quan hệ R S - ký Giao quan hệ R S - ký
hiệu
hiệu R R S, S, là quan hệ Q có quan hệ Q có thứ tự thuộc tính quan hệ R
thứ tự thuộc tính quan hệ R
S, định nghĩa sau:
S, định nghĩa sau:
Q = R
Q = R S = {t / t S = {t / t R vaø t R vaø t S } S }
Nói cách khác, Giao quan hệ R Nói cách khác, Giao quan hệ R
S quan hệ với giá trị
S quan hệ với giá trị
bộ giống quan hệ R S
(30)3.2 Phép giao (Intersection)
3.2 Phép giao (Intersection)
Ví dụ: Ví duï:
R (ABC)
R (ABC) S (ABC)S (ABC) RRS(ABC)S(ABC)
- - - - -a
a11bb11cc11 aa11bb11cc11 aa11bb11cc11 a
a22bb11cc22 aa22bb22cc22 a
(31)3.2 Pheùp giao (Intersection)
3.2 Pheùp giao (Intersection)
Maso
Maso HoTenHoTen PhaiPhai ChucVuChucVu 100
100 Nguyen Van NamNguyen Van Nam NamNam GDGD 101
101 Hoang Thi XuanHoang Thi Xuan NuNu KTTKTT 103
103 Dang Ngoc ChienDang Ngoc Chien NamNam TKTK
Maso
Maso HoTenHoTen PhaiPhai ChucVuChucVu 221
221 Do Huu NgocDo Huu Ngoc NamNam PPPP 101
101 Hoang Thi XuanHoang Thi Xuan NuNu KTTKTT
Maso
Maso HoTenHoTen PhaiPhai ChucVuChucVu 101
101 Hoang Thi XuanHoang Thi Xuan NuNu KTTKTT
Ví dụ
DS ĐƠNVỊ A
DS ĐƠNVỊ B
(32)3.3 Phép trừ (Minus)
3.3 Phép trừ (Minus)
Hiệu quan hệ R S – ký Hiệu quan hệ R S – ký
hiệu
hiệu R - SR - S, quan hệ Q có , quan hệ Q có thứ tự thuộc tính quan hệ R
thứ tự thuộc tính quan hệ R
S, định nghĩa sau:
S, định nghĩa sau:
Q = R - S = {t / t
Q = R - S = {t / t R vaø t R vaø t S } S }
Nói cách khác, hiệu quan hệ R Nói cách khác, hiệu quan hệ R
S quan hệ với giá trị
S quan hệ với giá trị
bộ giá trị R sau loại bỏ
bộ giá trị R sau loại bỏ
bộ có quan hệ S
(33)3.3 Phép trừ (Minus)
3.3 Phép trừ (Minus)
Ví dụ: Ví dụ:
R (ABC)
R (ABC) S (ABC)S (ABC) R-S = (ABC)R-S = (ABC)
- - - - -a
a11bb11cc11 aa11bb11cc11 aa22bb11cc22 a
a22bb11cc22 aa22bb22cc22 aa22bb22cc11 a
(34)3.3 Phép trừ (Minus)
3.3 Phép trừ (Minus)
Maso
Maso HoTenHoTen PhaiPhai ChucVuChucVu 100
100 Nguyen Van NamNguyen Van Nam NamNam GDGD 101
101 Hoang Thi XuanHoang Thi Xuan NuNu KTTKTT 103
103 Dang Ngoc ChienDang Ngoc Chien NamNam TKTK
Maso
Maso HoTenHoTen PhaiPhai ChucVuChucVu 221
221 Do Huu NgocDo Huu Ngoc NamNam PPPP 101
101 Hoang Thi XuanHoang Thi Xuan NuNu KTTKTT
Ví dụ
DS ĐƠNVỊ A
DS ĐƠNVỊ B
(35)3.4 Tích Đềcác (Cartesian Product)
3.4 Tích Đềcác (Cartesian Product)
R (AR (A
1
1, A, A22, , A, , Ann) vaø S (B) vaø S (B11, B, B22, , B, , Bmm) hai ) hai
quan hệ có số giá trị hữu hạn
quan hệ có số giá trị hữu hạn Tích Tích
Đề-các
Đề-các hai quan hệ R S, ký hai quan hệ R S, ký hiệu R x S, quan hệ Q xác định
hiệu R x S, quan hệ Q xác định
trên tập thuộc tính R S (với n + m
trên tập thuộc tính R S (với n + m
thuộc tính) định nghĩa sau:
thuộc tính) định nghĩa sau:
Q = R x S = {t / t có dạng (a
Q = R x S = {t / t có dạng (a11, , a, , ann, b, b11, , b, , bmm) )
trong (a
trong (a11, , a, , ann) ) R (b R (b11, , b, , bmm) ) S } S }
Như vậy, R có nNhư vậy, R có n
1
1 giá trị S có n giá trị S có n22
bộ giá trị, Q có n
(36)3.4 Tích Đềcác (Cartesian Product)
3.4 Tích Đềcác (Cartesian Product) Ví dụ:
Ví dụ: R (ABC)
R (ABC) S (DEF)S (DEF) R x S = (ABCDEF)R x S = (ABCDEF)
- - - - -a
a11bb11cc11 dd11ee11ff11 aa11bb11cc11dd11ee11ff11 a
a22bb22cc22 dd22ee22ff22 aa11bb11cc11dd22ee22ff22 a
a22bb22cc22dd11ee11ff11 a
(37)3.5 Pheùp chia (Division)
3.5 Pheùp chia (Division)
R quan hệ n S quan hệ m R quan hệ n S quan hệ m
ngôi (n > m S ≠
ngơi (n > m S ≠ ), có m thuộc tính ), có m thuộc tính chung (giống mặt ngữ nghĩa,
chung (giống mặt ngữ nghĩa,
hoặc thuộc tính so sánh
hoặc thuộc tính so sánh
được) R S Phép chia quan hệ
được) R S Phép chia quan hệ
R S, ký hiệu R÷
R S, ký hiệu R÷ S, quan hệ Q S, quan hệ Q có n - m định nghĩa sau:
có n - m ngơi định nghĩa sau:
(38)
3.5 Pheùp chia (Division)
3.5 Phép chia (Division)
Ví dụ:Ví dụ:
R (A, B, C, D)
R (A, B, C, D) S (C, D) S (C, D) R÷R÷ S= (A, B) S= (A, B)
- - - -a b c d
a b c d c d c d a ba b a b e f
a b e f e f e f e de d b c e f
(39)3.5 Pheùp chia (Division)
3.5 Pheùp chia (Division)
Ví dụVí dụ: Cho quan hệ KHẢ-NĂNG (: Cho quan hệ KHẢ-NĂNG (MSPC, MSMBMSPC, MSMB))
MSPC
MSPC MSMBMSMB 32
32 102102 30
30 101101 30
30 103103 32
32 103103 33
33 100100 30
30 102102 31
31 102102 30
30 100100
Hỏi: Cho biết Phi công lái
được loại máy bay 100, 101, 103
Trả lời: Đó thương phép
chia QH KHẢ-NĂNG cho quan hệ MÁY-BAY(MSMB)
Kết quả: quan hệ PHI-CÔNG
có giá trị (30)
(40)3.6 Phép bù (complement)
3.6 Phép bù (complement)
Cho quan heä R (ACho quan heä R (A
1
1, , A, , Ann) với miền ) với miền
giá trị MGT(A
giá trị MGT(Aii) Phép bù quan hệ R ) Phép bù quan hệ R quan hệ Q, ký hiệu
là quan hệ Q, ký hiệu R, Đ/N: R, Đ/N:
Q=
Q= R= { t (a R= { t (a11, , a, , ann) , a) , aii MGT(A MGT(Aii) ) i=1 n / t i=1 n / t R } R }
Gồm tất có tích Gồm tất có tích
Đề-các miền giá trị MGT(A
Đề-các miền giá trị MGT(Aii) chưa ) chưa có mặt thể quan hệ R
có mặt thể quan hệ R
Trong thực tế hệ quản trị CSDL cài Trong thực tế hệ quản trị CSDL cài
đặt phép tốn
(41)3.6 Phép bù (complement)
3.6 Phép bù (complement)
Ví dụVí dụ
Cho QH CUNG-CẤP Cho QH CUNG-CẤP
(MANCC,MAHH) với (MANCC,MAHH) với
MANCC={S1, S2, S3} & MANCC={S1, S2, S3} &
HANG={Đinh, c, Vít} HANG={Đinh, c, Vít}
MANCC
MANCC HANGHANG S1
S1 OácOác S2
S2 VítVít S3
S3 cc S3
S3 ĐinhĐinh MANCC
MANCC HANGHANG S1
S1 ÑinhÑinh S1
S1 VítVít S2
S2 cc S2
S2 ĐinhĐinh S3
S3 VítVít
Quan hệ bù Quan hệ bù QH CUNG-CẤP có QH CUNG-CẤP có
(42)4 CÁC PHÉP TỐN QUAN HỆ
4 CÁC PHÉP TOÁN QUAN HỆ 4.1 Phép chiếu (Projection)
4.1 Phép chiếu (Projection)
4.2 Phép chọn (Selection)
4.2 Phép chọn (Selection)
4.3 Phép
4.3 Phép - kết (Theta – Join) - keát (Theta – Join)
4.4 Phép kết tự nhiên (Natural – Join)
(43)4.1 Phép chiếu (Projection)
4.1 Phép chiếu (Projection)
Giả sử R quan hệ xác định tập Giả sử R quan hệ xác định tập
thuộc tính U = {A
thuộc tính U = {A11, , A, , Ann } X } X U Phép U Phép
chiếu quan hệ R tập thuộc tính
chiếu quan hệ R tập thuộc tính
X quan hệ Q xác định tập thuộc
X quan hệ Q xác định tập thuộc
tính X, ký hiệu R [X], định nghĩa
tính X, ký hiệu R [X], định nghĩa
nhö sau:
nhö sau:
Q = R [X] = { q /
Q = R [X] = { q / t t R: q = t.X } R: q = t.X } Ký hiệu: Ký hiệu:
X
X(R) (R)
Neáu X ={ANeáu X ={A
i1
i1, A, Aimim } viết cụ thể } viết cụ thể
(44)4.1 Phép chiếu (Projection)
4.1 Phép chiếu (Projection)
Ngữ nghĩa
Ngữ nghĩa: Trích từ R số thuộc tính : Trích từ R số thuộc tính để tạo thành quan hệ Số
đó để tạo thành quan hệ Số
ngôi quan hệ số
ngôi quan hệ số
thuộc tính tập X Các giá trị
thuộc tính tập X Các giá trị
của cột trích giống
của cột trích giống
sẽ loại bỏ để giữ lại
sẽ loại bỏ để giữ lại
duy nhaát
(45)4.1 Phép chiếu (Projection)
4.1 Phép chiếu (Projection)
Ví dụ
Ví dụ::
Cho R(ABCD), X={A,B}, Y={A,C}
Cho R(ABCD), X={A,B}, Y={A,C}
R(ABCD)
R(ABCD) XX(R)=(AB)(R)=(AB) YY(R)=(AC)(R)=(AC)
- - - -a
a11bb11cc11dd11 aa11bb11 aa11cc11 a
a11bb11cc11dd22 aa22bb22 aa22cc22 a
a22bb22cc22dd22 aa22cc33 a
(46)4.1 Phép chiếu (Projection)
4.1 Phép chiếu (Projection)
Ví dụ: cho Bảng Ví dụ: cho Bảng
PHONGBAN Trích PHONGBAN Trích
ra DS địa DS địa điểm khác điểm khác
của Phòng Phòng
MAPH
MAPH TENPHTENPH DIADIEMDIADIEM 10
10 KE TOANKE TOAN Q5Q5 30
30 TIN HOCTIN HOC Q5Q5 50
50 TIEP THITIEP THI Q6Q6 60
60 SAN XUATSAN XUAT Q8Q8 90
90 KINH DOANHKINH DOANH Q8Q8
Chiếu Bảng Chiếu Bảng
PHONGBAN PHONGBAN
thuộc tính DIADIEM: thuộc tính DIADIEM:
DIADIEM(PHONGBAN)(PHONGBAN)
DIADIEM
(47)4.2 Pheùp chọn (Selection)
4.2 Phép chọn (Selection)
Giả sử R (AGiả sử R (A
1
1, A, Ann) quan hệ, F ) quan hệ, F
điều kiện dựa tập thuộc tính R
điều kiện dựa tập thuộc tính R++==
{A
{A11, A, Ann} Đánh giá điều kiện F } Đánh giá điều kiện F giá trị t
giá trị t R ký hiệu F(t) Phép R ký hiệu F(t) Phép
chọn ghi R thỏa mãn điều
chọn ghi R thỏa mãn điều
kiện F quan hệ Q có ngơi với R,
kiện F quan hệ Q có ngơi với R,
ký hiệu
ký hiệu FF(R) định nghĩa sau:(R) định nghĩa sau:
Q =
Q = FF(R) = {t (R) = {t R / F(t) = } R / F(t) = }
Kyù hiệu: Ký hiệu:
F
(48)4.2 Phép chọn (Selection)
4.2 Phép chọn (Selection)
Ý nghĩa:Ý nghĩa: Cho phép chọn mẫu tin Cho phép chọn mẫu tin
thỏa mãn điều kiện F để
thỏa mãn điều kiện F để
đưa vào quan hệ kết
đưa vào quan hệ kết
Điều kiện F biểu thức lơgíc cho Điều kiện F biểu thức lơgíc cho
kết (True) sai (False);
kết (True) sai (False);
là
là tổ hợptổ hợp (dùng phép toán (dùng phép toán , , , , ) ) biểu thức lôgic sở
của biểu thức lôgic sở
Mỗi biểu thức sở chứa phép so Mỗi biểu thức sở chứa phép so
saùnh: <, <=, >, >=, = vaø
(49)4.2 Phép chọn (Selection)
4.2 Phép chọn (Selection)
Ví dụ
Ví dụ::
R(ABCD)
R(ABCD) A=a1A=a1(R)=(ABCD)(R)=(ABCD)
- - -a
a11bb11cc11dd11 aa11bb11cc11dd11 a
a11bb11cc11dd22 aa11bb11cc11dd22 a
a22bb22cc22dd22 a
(50)4.2 Phép chọn (Selection)
4.2 Phép chọn (Selection)
Ví dụ: cho Bảng Ví dụ: cho Bảng
PHONGBAN Trích PHONGBAN Trích
ra DS DS Phòng Q5 Phòng Q5
MAPH
MAPH TENPHTENPH DIADIEMDIADIEM 10
10 KE TOANKE TOAN Q5Q5 30
30 TIN HOCTIN HOC Q5Q5 50
50 TIEP THITIEP THI Q6Q6 60
60 SAN XUATSAN XUAT Q8Q8 90
90 KINH DOANHKINH DOANH Q8Q8
Chọn từ Bảng PHONGBAN với Chọn từ Bảng PHONGBAN với
điều kiện DIADIEM=‘Q5’ điều kiện DIADIEM=‘Q5’
(51)4.3 Pheùp
4.3 Pheùp - keát (Theta – Join) - keát (Theta – Join)
Xếp cạnh nhau
Xếp cạnh nhau::
Có quan hệ R (ACó quan hệ R (A
1
1, , A, , Ann) vaø S (B) vaø S (B11, , B, , Bmm).)
t = (at = (a
1
1, , a, , ann) giá trị R u = ) giá trị R u =
(b
(b11, , b, , bmm) giá trị S Gọi v ) giá trị S Gọi v ghép nối u vào t (hay giá trị t u
ghép nối u vào t (hay giá trị t u
được "
được "xếp cạnh nhauxếp cạnh nhau") định nghĩa ") định nghĩa sau:
nhö sau:
v = (t, u) = (a
(52)4.3 Pheùp
4.3 Pheùp - keát (Theta – Join) - keát (Theta – Join)
A A R+ vaø B R+ B S+ thuộc tính so S+ thuộc tính so
sánh sánh
Gọi Gọi phép toán so sánh {<, phép toán so sánh {<,
<=, >, >=, =,
<=, >, >=, =, } }
Phép kết nối quan hệ R với S Phép kết nối quan hệ R với S
thuộc tính A B với phép so sánh
thuộc tính A B với phép so sánh được định nghĩa qua:
định nghóa qua:
AA
BB
R |><| S = {v = (t, u)
(53)4.3 Pheùp
4.3 Phép - kết (Theta – Join) - kết (Theta – Join)
Phép kết nối quan hệ R S Phép kết nối quan hệ R S
xem thực qua bước:
xem thực qua bước:
Bước 1: Tích Descartes quan hệ R S.Bước 1: Tích Descartes quan hệ R S.
Bước 2: Chọn giá trị thỏa mãn điều Bước 2: Chọn giá trị thỏa mãn điều
kieän A
(54)4.3 Pheùp
4.3 Phép - kết (Theta – Join) - kết (Theta – Join)
Ví dụ Ví dụ::
R.B
R.B S.C S.C
R(ABC)
R(ABC) S(CDE)S(CDE) R |><| S=Q(ABCCDE) R |><| S=Q(ABCCDE)
- - -
aa111111 1d 1d11ee11 aa11111d111d11ee11
aa222121 2d 2d22ee22 aa22211d211d11ee11
(55)4.4 Phép kết tự nhiên
4.4 Phép kết tự nhiên
Nếu Nếu phép toán so sánh phép toán so sánh
(=) ta gọi
(=) ta gọi phép kết nối bằngphép kết nối bằng
(Equi Join)
(Equi Join)
Nếu thuộc tính so sánh giống tên Nếu thuộc tính so sánh giống tên
nhau kết phép kết nối
nhau kết phép kết nối
sẽ loại bỏ thuộc tính đó,
sẽ loại bỏ thuộc tính đó,
đó phép kết nối gọi
đó phép kết nối gọi phép kết phép kết
nối tự nhiên
nối tự nhiên (Natural Join) (Natural Join)
(56)4.4 Phép kết tự nhiên
4.4 Phép kết tự nhiên
Ví dụ
Ví dụ:: R(ABC)
R(ABC) S(CDE)S(CDE) R * S=Q(ABCDE) R * S=Q(ABCDE)
- - -
aa111111 1d 1d11ee11 aa1111d11d11ee11
aa222121 2d 2d22ee22 aa2221d21d11ee11