KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆPLỜI NÓI ĐẦU Ngày nay, cơ sở dữ liệu đã có nhiều ứng dụng trong mọi hoạt động của xã hội.. KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ TH
Trang 1KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
LỜI NÓI ĐẦU
Ngày nay, cơ sở dữ liệu đã có nhiều ứng dụng trong mọi hoạt động của xã hội Muốn thiết kế và sử dụng cơ sở dữ liệu chúng ta phải nắm được các kỹ thuật cơ bản của cơ sở dữ liệu Tài liệu học tập này nhằm trình bày các kỹ thuật cơ sở của cơ sở
dữ liệu truyền thống, đó là mô hình liên kết thực thể, mô hình cơ sở dữ liệu quan hệ Tài liệu cũng trình bày cách thiết kế một cơ sở dữ liệu quan hệ, cách sử dụng các phép toán đại số quan hệ để tạo, cập nhật và truy vấn cơ sở dữ liệu và khái niệm phụ thuộc hàm ứng dụng trong lí thuyết thiết kế và chuẩn hóa cơ sở dữ liệu quan hệ Tài liệu học tập “Cơ sở dữ liệu” là sách hướng dẫn học tập dùng cho sinh viên ngành công nghệ thông tin và ngành mạng máy máy tính & truyền thông dữ liệu
Nội dung của tài liệu bao gồm:
Chương I: Cơ sở dữ liệu quan hệ Chương II: Ngôn ngữ truy vấn dữ liệu Chương III: Lý thuyết thiết kế cơ sở dữ liệu Chương IV: Bảo mật và toàn vẹn dữ liệu
Tài liệu ”Cơ sở dữ liệu” không chỉ đề cập đến những vấn đề cơ sở lý thuyết mà còn trình bày một số kỹ năng cần thiết để thiết kế và cài đặt các hệ cơ sở dữ liệu cụ thể Hy vọng sẽ có ích cho sinh viên và những người muốn xây dựng các hệ thống tin học ứng dụng phục vụ cho sản xuất, quản lý trong các doanh nghiệp Có thể còn nhiều thiếu sót trong biên soạn, chúng tôi vẫn mạnh dạn giới thiệu tài liệu này và mong nhận được sự góp ý của bạn đọc
Nhóm biên soạn
Trang 2KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
MỤC LỤC
LỜI NÓI ĐẦU 1
MỤC LỤC 2
CHƯƠNG I 7
CƠ SỞ DỮ LIỆU QUAN HỆ 7
1.1 Tổng quan về lý thuyết cơ sở dữ liệu 7
1.1.1 Mở đầu 7
1.1.2 Một số khái niệm cơ bản 8
1.1.2.1 Cơ sở dữ liệu (CSDL) 8
1.1.2.2 Hệ quản trị CSDL 10
1.1.2.3 Ngôn ngữ dữ liệu 11
1.1.3 Kiến trúc của một CSDL 12
1.1.4 Mô hình CSDL dạng quan hệ 13
1.1.4.1 Các khái niệm cơ bản 13
1.1.4.2 Khóa 15
1.1.4.3 Các phép tính trên CSDL 17
BÀI TẬP CHƯƠNG I 20
CHƯƠNG II 33
NGÔN NGỮ THAO TÁC DỮ LIỆU 33
2.1 Đại số quan hệ 33
2.1.1 Phép hợp 33
2.1.2 Phép giao 34
2.1.3 Phép trừ 35
2.1.4 Tích Đề các 35
Trang 3KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
2.1.5 Phép chiếu 36
2.1.6 Phép chọn 37
2.1.7 Phép kết nối 38
2.1.8 Phép chia 40
2.2 Hệ quản trị CSDL SQL Server và ngôn ngữ SQL 40
2.2.1 Giới thiệu về Hệ quản trị CSDL SQL Server 40
2.2.2 Cấu trúc Cơ sở dữ liệu 43
2.2.3 Tạo CSDL bằng công cụ SQL Server 44
2.2.4 Tạo CSDL bằng lệnh 47
2.2.5 Quản trị CSDL trên SQL Server 49
2.2.5.1 Chế độ bảo mật 49
2.2.5.2 Quản trị người dùng 51
2.2.5.3 Quản trị xuất, nhập, sao lưu, phục hồi dữ liệu 53
2.2.6 Ngôn ngữ SQL 60
2.2.6.1 Các phép toán định nghĩa CSDL 60
2.2.6.2 Truy vấn đơn giản 66
a Khối lệnh SELECT 66
b Tìm kiếm không điều kiện 67
c Tìm kiếm với điều kiện đơn giản 68
d Tìm kiếm có xử lý xâu ký tự 69
e Tìm kiếm nhờ sử dụng IN và BETWEEN 70
f Tìm kiếm có sắp xếp 72
g Tìm kiếm có chứa phép tính tập hợp 74
2.2.6.3 Truy vấn lồng nhau 75
2.2.6.4 Truy vấn sử dụng hàm tính toán và gom nhóm 78
Trang 4KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
a Tìm kiếm nhờ mệnh đề GROUP BY 78
b Các hàm thư viện 81
2.2.6.5 Khung nhìn (View) 83
2.2.7 Giới thiệu về ngôn ngữ lập trình T-SQL trong SQL Server 85
2.2.7.1 Biến cục bộ (Local variable) 85
2.2.7.2 Biến hệ thống 87
2.2.7.3 Các toán tử 88
2.2.8.Các lệnh cơ bản của T-SQL 92
2.2.9 Thủ tục 98
2.2.9.1 Thủ tục hệ thống 99
2.2.9.2 Thủ tục người dùng 100
2.2.10 Hàm 102
2.2.10.1 Các hàm hệ thống 103
2.2.10.2 Hàm do người dùng định nghĩa 106
BÀI TẬP CHƯƠNG II 108
CHƯƠNG 3 121
LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU 121
3.1 Phụ thuộc hàm 121
3.1.1 Định nghĩa phụ thuộc hàm 121
3.1.2 Phụ thuộc hàm đầy đủ và không đầy đủ 122
3.1.3 Hệ tiên đề Amstrong 122
3.1.4 Bao đóng 124
3.1.4.1 Bao đóng của tập các phụ thuộc hàm 124
3.1.4.2 Bao đóng của tập các thuộc tính 125
3.1.4.3 Thuật toán tìm bao đóng 125
Trang 5KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
3.1.5 Phủ tối thiểu 126
3.1.6 Khóa 129
3.2 Phép tách - kết nối 130
3.2.1 Khái niệm 130
3.2.2 Phép tách-kết nối tự nhiên 131
3.2.3 Phép tách - kết nối không mất mát thông tin 131
3.3 Chuẩn hóa lược đồ quan hệ 135
3.3.1 Các dạng chuẩn 135
3.3.1.1 Dạng chuẩn thứ nhất (1NF – First Normal Form) 135
3.3.1.2 Dạng chuẩn thứ 2 (2NF) 136
3.3.1.3 Dạng chuẩn thứ 3 (3NF) 136
3.3.1.4 Dạng chuẩn Boye- Codd (BCNF) 137
3.3.2 Chuẩn hóa qua phép tách không làm mất mát thông tin 138
a Phép tách lược đồ quan hệ thành BCNF 138
b Phép tách lược đồ quan hệ thành 3NF 140
3.3.3 Chuẩn hóa nhờ phép tổng hợp 141
BÀI TẬP CHƯƠNG III 146
CHƯƠNG IV 156
TỐI ƯU HÓA CÂU HỎI TRUY VẤN 156
4.1 Mở đầu 156
4.2 Tổng quan về tối ưu hóa câu hỏi 157
4.3 Nguyên tắc tối ưu hoá 159
4.4 Kỹ thuật tối ưu hoá các biểu thức đại số quan hệ 161
4.4 1 Biểu thức quan hệ 161
4.4.2 Biến đổi biểu thức quan hệ 162
Trang 6KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
4.4.3 Một số nhận xé khi thực hiện tối ưu hoá câu hỏi 162
4.5 Tối ưu hóa bằng khung nhìn (Materialized Views) 164
4.5.1 Phép kết nối 164
4.5.2 Phép chọn và phép chiếu 165
4.5.3 Các phép toán khối 166
4.5.4 Các phép toán khác 166
4.5.5 Tối ưu hóa các câu hỏi và các khung nhìn cụ thể hóa 166
4.5.6 Bài tập tối ưu hoá các câu hỏi 167
BÀI TẬP CHƯƠNG 4 174
CHƯƠNG 5 179
BẢO MẬT VÀ TOÀN VẸN DỮ LIỆU 179
5.1 Sự cần thiết phải bảo vệ an toàn CSDL 179
5.2 Tính toàn vẹn dữ liệu 180
5.2.1 Các ràng buộc toàn vẹn 180
5.2.2 Các yếu tố của rằng buộc toàn vẹn (RBTV) 182
5.2.3 Phân loại các ràng buộc toàn vẹn 182
5.3 Vấn đề an toàn và quyền truy nhập cơ sở dữ liệu 186
5.3.1 Sự vi phạm an toàn cơ sở dữ liệu 187
5.3.2 Các mức độ an toàn cơ sở dữ liệu 187
5.3.3 Những quyền hạn khi sử dụng cơ sở dữ liệu 189
5.3.4 Cấp phép các quyền truy nhập (bảo vệ tính riêng tư) 193
5.3.5 Kiểm tra dấu vết 194
BÀI TẬP CHƯƠNG V 195
TÀI LIỆU THAM KHẢO 200
Trang 7KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP
CHƯƠNG I
CƠ SỞ DỮ LIỆU QUAN HỆ
Mục tiờu: Giới thiệu sự cần thiết tổ chức dữ liệu theo mụ hỡnh hệ cơ sở dữ liệu, mục
tiờu và tớnh độc lập của dữ liệu Kiến trỳc mụ hỡnh tổng quỏt 3 lớp và tớnh ổn định trong
mụ hỡnh quan niệm Cỏc mụ hỡnh truy xuất thụng dụng hiện nay
Trong chương này trỡnh bày những khỏi niệm cơ bản về cỏc hệ cơ sở dữ liệu Những khỏi niệm này bao gồm mục tiờu của một hệ cơ sở dữ liệu Sự cần thiết phải tổ chức dữ liệu dưới dạng cơ sở dữ liệu Tớnh độc lập của dữ liệu thể hiện mụ hỡnh kiến trỳc 3 mức Vỡ vậy cú thể núi cơ sở dữ liệu phản ảnh tớnh trung thực, khỏch quan của thế giới dữ liệu Khụng dư thừa thụng tin và cũng khụng thiếu thụng tin Nội dung của chương bao gồm cỏc phần:
Tổng quan về lý thuyết cơ sở dữ liệu Cỏc khỏi niệm cơ bản
Kiến trỳc của một cơ sở dữ liệu
Mụ hỡnh cơ sở dữ liệu
1.1 Tổng quan về lý thuyết cơ sở dữ liệu
1.1.1 Mở đầu
Nhu cầu của những hệ thống lớn: Ngân hàng, hàng không đòi hỏi phải tổ chức l-u trữ thông tin với kích cỡ lớn một cách hiệu quả và khoa học sao cho có thể khai thác sử dụng hiệu quả, an toàn dễ cập nhật
Khối l-ợng dữ liệu ở dạng phi số và bài toán xử lý dạng dữ liệu này rất lớn chiếm
tỷ trọng chủ yếu trong sử dụng máy tính
Đặc điểm phát triển mạng mạch, dữ liệu có thể phân tán đòi hỏi khai thác dữ liệu nhanh, an toàn có cơ chế bảo mật
Đòi hỏi ra đời lý thuyết xây dựng các ch-ơng trình ứng dụng
Trang 8KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP
Lịch sử ra đời và phát triển:
Khoa học cơ sở dữ liệu phát triển qua 3 giai đoạn:
Giai đoạn những năm 1960: ra đời 2 mô hình lý thuyết là mô hình mạng và mô
hình phân cấp
Giai đoạn những năm 1970: ra đời mô hình lý thuyết mới là mô hình quan hệ (do
tiến Sĩ F.F Codd đ-a ra)
Giai đoạn những năm 1980 đến nay:
Mô hình quan hệ thực thể (Entity Relationship model) Mô hình dữ liệu h-ớng đối t-ợng (Objest oriented Model) Cơ sở dữ liệu tri thức
Phần mềm: ra đời các ngôn ngữ xử lý dự liệu mạnh ngoài những dữ liệu nh- số, văn bản còn xử lý các dữ liệu âm thanh, hình ảnh, siêu liên kết
1.1.2 Một số khỏi niệm cơ bản 1.1.2.1 Cơ sở dữ liệu (CSDL)
Dữ liệu (Data): Là cỏc thụng tin được cấu trỳc húa để lưu trữ trong mỏy
tớnh
CSDL (Database): là tập hợp dữ liệu cú liờn quan logic với nhau, cú thể
dễ dàng chia sẻ và được thiết kế nhằm đỏp ứng cỏc nhu cầu sử dụng của một
tổ chức, cỏ nhõn nào đú
Cơ sở dữ liệu là một bộ sưu tập rất lớn về cỏc loại dữ liệu tỏc nghiệp, bao
gồm cỏc loại dữ liệu õm thanh, tiếng núi, chữ viết, văn bản, đồ hoạ, hỡnh ảnh tĩnh hay hỡnh ảnh động được mó hoỏ dưới dạng cỏc chuỗi bit và được lưu trữ dưới dạng File dữ liệu trong cỏc bộ nhớ của mỏy tớnh Cấu trỳc lưu trữ dữ liệu tuõn theo cỏc quy tắc dựa trờn lý thuyết toỏn học Cơ sở dữ liệu phản ảnh trung thực thế giới dữ liệu hiện thực khỏch quan
Trang 9KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Cơ sở dữ liệu là tài nguyên thông tin dùng chung cho nhiều người: Cơ sở
dữ liệu (CSDL) là tài nguyên thông tin chung cho nhiều người cùng sử dụng Bất
kỳ người sử dụng nào trên mạng máy tính, tại các thiết bị đầu cuối, về nguyên tắc
có quyền truy nhập khai thác toàn bộ hay một phần dữ liệu theo chế độ trực tuyến hay tương tác mà không phụ thuộc vào vị trí địa lý của người sử dụng với các tài nguyên đó
Cơ sở dữ liệu được các hệ ứng dụng khai thác bằng ngôn ngữ con dữ liệu hoặc bằng các chương trình ứng dụng để xử lý, tìm kiếm, tra cưú, sửa đổi, bổ sung hay loại bỏ dữ liệu Tìm kiếm và tra cứu thông tin là một trong những chức năng qua trọng và phổ biến nhất của các dịch vụ cơ sở dữ liệu Hệ quản trị CSDL – HQTCSDL (DataBase Management System - DBMS) là phần mềm điều khiển các chiến lược truy nhập CSDL Khi người sử dụng đưa ra yêu cầu truy nhập bằng một ngôn ngữ con dữ liệu nào đó, HQTCSDL tiếp nhận và thực hiện các thao tác trên CSDL lưu trữ
Đối tượng nghiên cứu của CSDL là các thực thể và mối quan hệ giữa các thực thể Thực thể và mối quan hệ giữa các thực thể là hai đối tượng khác nhau
về căn bản Mối quan hệ giữa các thực thể cũng là một loại thực thể đặc biệt Trong cách tiếp cận CSDL quan hệ, người ta dựa trên cơ sở lý thuyết đại số quan
hệ để xây dựng các quan hệ chuẩn, khi kết nối không tổn thất thông tin và khi biểu diễn dữ liệu là duy nhất Dữ liệu được lưu trữ trong bộ nhớ của máy tính không những phải tính đến yếu tố về tối ưu không gian lưu trữ, mà phải đảm bảo tính khách quan, trung thực của dữ liệu hiện thực Nghĩa là phải đẩm bảo tính
nhất quán của dữ liệu và giữ được sự toàn vẹn của dữ liệu
Tính chất của CSDL:
Một CSDL biểu thị một khía cạnh nào đó của thế giới thực, những thay đổi của thế giới thực phải được phản ánh một cách trung thực vào trong CSDL
Trang 10KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Một CSDL là một tập hợp dữ liệu liên kết với nhau một cách lôgic
và mang một ý nghĩa nào đó
Một CSDL được thiết kế và tổ chức cho một mục đích riêng, nó có một nhóm người sử dụng có chủ định và có một số ứng dụng được xác định phù hợp với mối quan tâm của người sử dụng
Một cơ sở dữ liệu phải thỏa mãn các yêu cầu sau:
- Không dư thừa dữ liệu
- Bảo đảm tính nhất quán dữ liệu khi cập nhật
- Bảo đảm không có dị thường xảy ra khi thêm hoặc xóa DL
- Bảo đảm tính toàn vẹn dữ liệu
- Bảo đảm tính dùng chung
1.1.2.2 Hệ quản trị CSDL
Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS),
là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL)
Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính
Trang 11KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Tạo ra các cấu trúc phức tạp theo yêu cầu để lưu trữ DL, giúp người
sử dụng định nghĩa và lập trình cho các đặc trưng vật lý của dữ liệu
Biến đổi các DL nhập vào để phù hợp với các cấu trúc DL; tạo khuôn dạng cho các DL được lấy ra, làm cho nó phù hợp với mong muốn của người sử dụng
Tạo hệ thống bảo mật và áp đặt tính bảo mật trong CSDL
Tạo cấu trúc phức tạp cho phép người sử dụng truy cập đến dữ liệu
Cung cấp các thủ tục sao lưu và phục hồi DL để đảm bảo sự an toàn
Trang 12KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP
1.1.3 Kiến trỳc của một CSDL
Một CSDL đ-ợc phân thành các mức khác nhau
CSDL vật lý (mức vật lý) là các tệp dữ liệu theo một cấu trúc nào đó đ-ợc l-u trên
các thiết bị nhớ thứ cấp (nh- đĩa từ, băng từ )
CSDL mức khái niệm là một sự biểu diễn trừu t-ợng của CSDL vật lý Tức là
CSDL mức vật lý là sự cài đặt cụ thể của CSDL mức khái niệm
Các khung nhìn là cách nhìn, là quan niệm của của từng ng-ời sử dụng đối với
CSDL mức khái niệm Khung nhìn bao gồm tập tất cả dữ liệu mà ng-ời sử dụng
đ-ợc phép nhìn thấy, đ-ợc phép truy nhập vào Vì vậy, đối với ng-ời sử dụng khung nhìn chính là CSDL
Ngôn ngữ hình thức (Forrmat language)
Ngôn ngữ (language)
Ngôn ngữ tự nhiên (Natural language))
Ngôn ngữ sinh vật Ngôn ngữ ng-ời
Giao tiếp ng-ời và máy
- Các ngôn ngữ lập trình
- Ngôn ngữ dữ liệu
Mục tiêu tổng quát
- Mã hoá, an toàn dữ liệu
- Văn phạm hình thức
Trang 13KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP
Sơ đồ kiến trỳc của một cơ sở dữ liệu
1.1.4 Mụ hỡnh CSDL dạng quan hệ 1.1.4.1 Cỏc khỏi niệm cơ bản
Mô hình phân cấp (hierachical model): Mô hình dữ liệu là 1 cây (các nút biểu
diễn các tập thể, nút con và nút cha đ-ợc liên hệ theo 1 mối quan hệ xác định)
Mô hình mạng (network model): Mô hình đ-ợc biểu diễn là 1 đồ thị có h-ớng
Mô hình quan hệ (Relational Model): Dựa trên cơ sở khái niệm lý thuyết tập hợp
Các đối t-ợng thể hiện d-ới dạng bảng (quan hệ)
Các loại mô hình dữ liệu trên có -u điểm:
• Tính trực quan cao phù hợp với thói quen đa số của ng-ời dùng
• Hỗ trợ bởi lý thuyết toán học chặt chẽ (tiên đề hoá) tiên đề Armstrong (1977), phát triển phần mềm ứng dụng và tự động hoá thiết kế
CSDL mức khái niệm (Logic)
CSDL mức Vật lý
Trang 14KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
- Các cột gọi là các trường hoặc các thuộc tính
- Các hàng dữ liệu gọi là các bản ghi hoặc các bộ
• Yêu cầu:
- Không có bộ trùng nhau
- Mỗi thuộc tính phải có một tên riêng
Thuộc tính: Thuộc tính là một đặc trưng của quan hệ Mỗi thuộc tính bao giờ
cũng có tên và một miền giá trị gọi là miền xác định của thuộc tính
- Ký hiệu: dom(A) Trong đó: A là tên thuộc tính
- Ví dụ: dom(giới tính) = {nam, nữ}
Trang 15KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Ví dụ: Quan hệ ĐIỂM
TI01 Jones jo@vnu.edu 18 6 TI02 Smith mit@vnu.edu 18 8 TI03 Smith sm@vnu.edu 19 7
Quan hệ: Là một tập con của tích Đề-các của một hoặc nhiều miền thuộc tính
Hay: Quan hệ r(R) là một quan hệ toán học cấp n trên các miền giá trị: dom(A1),
dom(A2) dom(A n ) là tập con của tích Đề-các của các miền giá trị xác định trên
R
r (R) dom(A1) x dom(A2) x x dom(An )
Lược đồ quan hệ: Trên một quan hệ mà chỉ đề cập đến các thuộc tính thì người
ta gọi là một lược đồ quan hệ
- Ký hiệu: R={A1, A2, ,A n}
hoặc R(A1, A2, ,A n)
3 bộ
Trang 16KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
- K được gọi là siêu khóa trên R khi các giá trị của K là đủ để xác định duy nhất bộ dữ liệu của bảng
b Khóa
- Nếu K là siêu khóa và K là tối thiểu thì K được gọi là khóa của quan hệ
Ví dụ: Quan hệ ĐIỂM
TI01 Jones jo@vnu.edu 18 6
TI02 Smith mit@vnu.edu 18 8
TI03 Smith sm@vnu.edu 19 7
Câu hỏi: Tìm các siêu khóa và khóa của quan hệ trên?
Giải:
- Siêu khóa:
• Mã SV, Tên SV, Email, Tuổi, Điểm
• Mã SV, Tên SV, Email, Tuổi
Trang 17KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
c Khóa chính: Một siêu khóa được chọn đại diện cho một quan hệ được gọi là
khóa chính của quan hệ đó
d Khóa ngoài: Một tập các thuộc tính K được gọi là khóa ngoài của quan hệ r
nếu nó không là khóa chính của quan hệ r nhưng là khóa chính của quan hệ khác
• Ví dụ: SV(MaSV, tenSV, ngsinh, quequan)
BĐ(MaBĐ, MaMH, MaSV, tenSV, diem, ky)
bị vi phạm nếu một giá trị khóa trong bộ mới t đã tồn tại trong một bộ khác
ở trong quan hệ r(R) Sự toàn vẹn thực thể có thể bị vi phạm nếu khóa chính của bộ mới t là null Sự toàn vẹn tham chiếu có thể bị vi phạm nếu một giá trị của một khóa ngoài trong t tham chiếu đến một bộ không tồn tại trong một quan hệ được tham chiếu
- Nếu một phép chèn vi phạm một hoặc nhiều ràng buộc, tùy chọn mặc định
là loại bỏ phép chèn Trong trường hợp này, thường là các hệ quản trị cơ sở
dữ liệu sẽ thông báo cho người sử dụng nguyên nhân của việc loại bỏ phép chèn
Trang 18KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
dữ liệu Để chỉ rõ một phép xóa, cần phải đưa ra một điều kiện trên các thuộc tính của quan hệ để chọn các bộ sẽ bị xóa
- Ba tùy chọn sẵn sàng được sử dụng nếu một phép xóa gây ra sự vi phạm Tùy chọn thứ nhất là loại bỏ phép xóa Tùy chọn thứ hai là cố gắng lan truyền phép xóa (cascade the deletion) bằng cách xóa đồng thời các bộ tham chiếu đến bộ bị xóa Tùy chọn thứ ba là sửa đổi các giá trị của các thuộc tính tham chiếu gây ra sự vi phạm Mỗi giá trị như vậy hoặc là làm cho bằng null hoặc được thay đổi thành bộ có hiệu lực tham chiếu khác Chú ý rằng, nếu một thuộc tính tham chiếu gây ra sự vi phạm là một phần của khóa chính thì không thể làm thành null, bởi vì nếu làm vậy thì sẽ vi phạm ràng buộc toàn vẹn thực thể Có thể kết hợp cả ba tùy chọn ở trên
Trang 19KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
- Phép toán sửa đổi được dùng để thay đổi các giá trị của một hoặc nhiều thuộc tính trong một (hoặc nhiều) bộ của một quan hệ R nào đấy Để lựa chọn các bộ cần thay đổi, người sử dụng phải chỉ ra một điều kiện trên các thuộc tính
- Phép sửa đổi một thuộc tính không phải là một khóa chính hoặc một khóa ngoài thường không gây ra các vi phạm ràng buộc Hệ quản trị cơ sở dữ liệu chỉ cần kiểm tra để khẳng định rằng, giá trị mới là thuộc tính miền và kiểu giá trị đúng đắn Việc sửa đổi giá trị một khóa chính tương tự như việc xóa một bộ và chèn các bộ khác vào chỗ của nó Như vậy, chúng ta trở về trường hợp đã thảo luận với phép chèn và phép xóa Nếu một thuộc tính khóa ngoài bị sửa đổi thì hệ quản trị cơ sở dữ liệu phải đảm bảo rằng, giá trị mới tham chiếu đến một bộ có tồn tại trong quan hệ được tham chiếu (hoặc là null)
• Cú pháp: Cho quan hệ r (A1, A2, …, An) tại bộ t ta cần thay đổi giá trị ở các thuộc tính {Ai, …, Ap}
CH(r; A1 = d1,…, An = dn ; Ai = ei, …, Ap = ep )
Trang 20KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
BÀI TẬP CHƯƠNG I
CÂU HỎI TRẮC NGHIỆM
Câu 1: Chọn đáp án đúng cho khái niệm “Cơ sở dữ liệu”
a Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình
b Cơ sở dữ liệu là một tập hợp các dữ liệu không liên quan đến nhau được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình
c Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau được lưu trữ trên máy tính, do một người sử dụng và được tổ chức theo một mô hình
d Cơ sở dữ liệu là một tập hợp các dữ liệu không liên quan đến nhau được lưu trữ trên máy tính, do một người sử dụng và được tổ chức theo một mô hình
Câu 2 Điền từ còn thiếu vào dấu … : “… là một tập hợp các dữ liệu có liên quan với nhau được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình.”
a Dữ liệu
b Cơ sở dữ liệu
c Cơ sở dữ liệu quan hệ
d Hệ quản trị cơ sở dữ liệu
Câu 3: Đâu không là bất thường trong CSDL:
a Dư thừa dữ liệu
b Dữ liệu không nhất quán
c Dị thường khi thêm bộ
d Đưa ra danh sách dữ liệu
Trang 21KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Câu 4 “Một CSDL biểu thị một khía cạnh nào đó của thế giới thực, những thay đổi của thế giới thực phải được phản ánh một cách trung thực vào trong CSDL.” Phát biểu trên đúng với khái niệm nào?
a Dữ liệu
b Tính chất của cơ sở dữ liệu
c Chức năng của hệ quản trị cơ sở dữ liệu
d Kiến trúc một cơ sở dữ liệu
Câu 5 “Một CSDL là một tập hợp dữ liệu liên kết với nhau một cách lôgic và mang một ý nghĩa nào đó.” Phát biểu trên đúng với khái niệm nào?
a Dữ liệu
b Chức năng của hệ quản trị cơ sở dữ liệu
c Tính chất của cơ sở dữ liệu
d Kiến trúc một cơ sở dữ liệu
Câu 6 “Một CSDL là một tập hợp dữ liệu liên kết với nhau một cách lôgic và mang một ý nghĩa nào đó.” Phát biểu trên đúng với khái niệm nào?
a Cơ sở dữ liệu
b Tính chất của cơ sở dữ liệu
c Chức năng của hệ quản trị cơ sở dữ liệu
d Kiến trúc một cơ sở dữ liệu Câu 7: Sơ đồ “Kiến trúc của một hệ cơ sở dữ liệu” gồm:
a Người sử dụng, khung nhìn, cơ sở dữ liệu mức vật lý
b Người sử dụng, cơ sở dữ liệu mức vật lý, cơ sở dữ liệu mức khái niệm
c Người sử dụng, khung nhìn, cơ sở dữ liệu mức khái niệm, cơ sở dữ liệu mức vật lý
d Khung nhìn, cơ sở dữ liệu mức khái niệm, cơ sở dữ liệu mức vật lý
Trang 22KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Câu 8: Phát biểu nào sau đây ứng với: “Cơ sở dữ liệu mức vật lý’’
a Các file dữ liệu được lưu trữ theo một cấu trúc nào đó trên các thiết bị nhớ
b Là sự biểu diễn trừu tượng của “Cơ sở dữ liệu mức vật lý”
c Là quan niệm của từng người sử dụng với “Cơ sở dữ liệu mức khái niệm”
d Tất cả các đáp án trên
Câu 9: Phát biểu nào sau đây ứng với: “Cơ sở dữ liệu mức khái niệm’’
a Các file dữ liệu được lưu trữ theo một cấu trúc nào đó trên các thiết bị nhớ
b Là sự biểu diễn trừu tượng của “Cơ sở dữ liệu mức vật lý”
c Là quan niệm của từng người sử dụng với “Cơ sở dữ liệu mức khái niệm”
d Tất cả các đáp án trên
Câu 10: Phát biểu nào sau đây ứng: “Khung nhìn - View’’
a Các file dữ liệu được lưu trữ theo một cấu trúc nào đó trên các thiết bị nhớ
b Là sự biểu diễn trừu tượng của “Cơ sở dữ liệu mức vật lý”
c Là quan niệm của từng người sử dụng với “Cơ sở dữ liệu mức khái niệm”
Trang 23KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
c Mức ngoài
d Mức logic Câu 14: Mức khung nhìn còn được gọi là:
a Mức trong
b Mức khái niệm
c Mức ngoài
d Mức logic Câu 15: Đâu KHÔNG phải là một hệ quản trị CSDL?
a Access
b Sql Server
c Oracle
d Word
Câu 16: Thuật ngữ nào chỉ mô hình quan hệ?
a Network data model
b Relational data model
c Relationship data model
d E-R model
Câu 17: Phát biểu nào sau đây KHÔNG đúng với một CSDL?
a Tất cả người dùng sử dụng một khung nhìn chung
b Mỗi người dùng có một khung nhìn riêng của mình
c Người dùng có thể thay đổi khung nhìn của họ
d Sự thay đổi khung nhìn của người này không làm ảnh hưởng đến khung nhìn của người khác
Câu 18: Một bảng (quan hệ) gồm có những thông tin gì?
a Lược đồ quan hệ, thể hiện
b Tên quan hệ, tên các thuộc tính
Trang 24KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
c Lược đồ quan hệ, các dòng dữ liệu
d Tên quan hệ, các dòng dữ liệu
Câu 19: Đâu không phải là một quan hệ?
a Lược đồ, thể hiện
b Lược đồ, các dòng dữ liệu
c Tên quan hệ, tên thuộc tính, các dòng dữ liệu
d Tên quan hệ, tên thuộc tính
Câu 20: Lược đồ quan hệ chỉ đề cập đến những thông tin gì?
a Tên các thuộc tính và các dòng dữ liệu
b Tên quan hệ và tên các thuộc tính
c Tên quan hệ và các dòng dữ liệu
d Tên thuộc tính và các bộ giá trị
Câu 21: Chọn phát biểu đúng với thuật ngữ “Thuộc tính”:
a Thuộc tính là một đặc trưng của quan hệ Mỗi thuộc tính bao giờ cũng có tên
và một miền giá trị gọi là miền xác định của thuộc tính
b Thuộc tính là một đặc trưng của quan hệ
c Mỗi thuộc tính bao giờ cũng có tên và một miền giá trị gọi là miền xác định của thuộc tính
d Thuộc tính là một tập con của tích Đề-các của một hoặc nhiều miền thuộc tính
Câu 22: Miền giá trị để chỉ?
Trang 25KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Câu 23: Miền giá trị của thuộc tính A ký hiệu là gì?
a Dim(A)
b Dom(A)
c Dam(A)
d Dem(A)
Câu 24: Một tập con của tích Descartes của một hay nhiều miền thuộc tính là:
a Một quan hệ trên một tập các thuộc tính
b Một miền
c Một CSDL
d Một lược đồ quan hệ Câu 25: Để chỉ một quan hệ r xác định trên tập thuộc tính R dùng ký hiệu nào?
a r(R)
b r*R
c r x R
d R(r) Câu 26: Trong lý thuyết mô hình cơ sở dữ liệu quan hệ, thuật ngữ quan hệ chỉ:
a Bảng
b Thuộc tính
c Miền
d Lược đồ quan hệ Câu 27: Nêu những lỗi có thể xảy ra khi thực hiện lệnh chèn?
a Không tương thích với miền giá trị, không tương thích với lược đồ dữ liệu
b Trùng khóa, không tương thích với miền giá trị, không tương thích với lược
đồ dữ liệu
c Trùng khóa, không tương thích với miền giá trị
d Trùng khóa, không tương thích với lược đồ dữ liệu
Trang 26KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Câu 28: Trong lý thuyết mô hình CSDL quan hệ, thuật ngữ thuộc tính để chỉ tên của một:
Trang 27KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Câu 32: Thứ tự đúng các mức trong mô hình kiến trúc cơ sở dữ liệu:
a Các khung nhìn, Các User, CSDL mức khái niệm, CSDL vật lý
b Các User, CSDL mức khái niệm, các khung nhìn, CSDL vật lý
c Các User, các khung nhìn, CSDL mức khái niệm, CSDL vật lý
d Các User, các khung nhìn, CSDL vật lý, CSDL mức khái niệm
Câu 33: Đây là những lỗi có thể xảy ra khi thực hiện lệnh gì trên cơ sở dữ liệu quan hệ: “Trùng khóa, không tương thích với miền giá trị, không tương thích với lược đồ dữ liệu.”?
Câu 35: Trên cơ sở dữ liệu quan hệ phép chèn (Insert) dùng để làm gì?
a Dùng để xóa một hoặc nhiều bộ giá trị của một quan hệ
b Dùng để chèn một bộ giá trị vào một quan hệ
c Dùng để chèn nhiều bộ giá trị vào một quan hệ
d Dùng để chèn một hoặc nhiều bộ giá trị vào một quan hệ
Trang 28KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Câu 36: Trên cơ sở dữ liệu quan hệ phép loại bỏ (Del) dùng để làm gì?
a Dùng để xóa một bộ giá trị của một quan hệ
b Dùng để xóa nhiều bộ giá trị của một quan hệ
c Dùng để xóa một hoặc nhiều bộ giá trị của một quan hệ
d Dùng để chèn một hoặc nhiều bộ giá trị vào một quan hệ
Câu 37: Trên cơ sở dữ liệu quan hệ phép thay thế (CH) dùng để làm gì?
a Là phép thay đổi một quan hệ
b Là phép thay đổi giá trị một bộ trong quan hệ
c Là phép thay đổi giá trị tất cả các bộ trong quan hệ
d Dùng để xóa một hoặc nhiều bộ giá trị của một quan hệ
Câu 38: Trên cơ sở dữ liệu quan hệ, để chèn một bộ giá trị vào một quan hệ thì sử dụng cú pháp nào?
a INSERT(r; A1 = d1, A2 = d2, …, An = dn);
b INSERT(r; A1, A2, …, A);
c INSERT(r; d1, d2, …, dn);
d Cả đáp án a và c Câu 39: Trên cơ sở dữ liệu quan hệ, để loại bỏ một bộ giá trị khỏi một quan hệ thì sử dụng cú pháp nào?
a INSERT (r; A1 = d1, A2 = d2, …, An = dn)
b DEL(r; A1 = d1, A2 = d2, …, An = dn)
c DELETE(r; A1 = d1, A2 = d2, …, An = dn)
d DEL(r; A1, A2, …, An)
Trang 29KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Câu 40: Trên cơ sở dữ liệu quan hệ, để thay đổi một bộ giá trị trong quan hệ thì sử dụng cú pháp nào?
a Chèn một bộ giá trị vào một quan hệ
b Xóa một bộ giá trị khỏi một quan hệ
c Thay đổi giá trị của một bộ trong một quan hệ
d Cả đáp án b và c
Câu 42: Gọi R={A1, A2, ,A n } là tập hữu hạn các thuộc tính; K R; K được gọi là siêu
khóa trên R khi nào?
a Khi các giá trị của K là đủ để xác định duy nhất bộ dữ liệu của bảng
b Khi các giá trị của K là đủ để xác định nhiều hơn một bộ dữ liệu của bảng
c Khi K là tối thiểu
d Tất cả các đáp án trên
Câu 43: Gọi R={A1, A2, ,A n } là tập hữu hạn các thuộc tính; K R; K được gọi là khóa
của R khi nào?
a Khi K là siêu khóa
b Khi K là tối thiểu
Trang 30KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
c Khi các giá trị của K là đủ để xác định nhiều hơn một bộ dữ liệu của bảng
d Cả đáp án a và b
Câu 44: Phát biểu nào sau đây đúng với thuật ngữ “Khóa chính”
a Khóa chính của một quan hệ là khi dựa vào nó xác định được một bộ giá trị của một quan hệ
b Một siêu khóa được chọn đại diện cho một quan hệ được gọi là khóa chính của quan hệ đó
c Khóa chính của một quan hệ là khi dựa vào nó xác định được nhiều bộ giá trị của một quan hệ
d Cả đáp án a và c
Câu 45: Phát biểu nào sau đây đúng với thuật ngữ “Khóa ngoài”
a Một tập các thuộc tính K được gọi là khóa ngoài của quan hệ r nếu nó là khóa chính của quan hệ r
b Một tập các thuộc tính K được gọi là khóa ngoài của quan hệ r nếu nó là khóa chính của quan hệ khác
c Một tập các thuộc tính K được gọi là khóa ngoài của quan hệ r nếu nó không là khóa chính của quan hệ r nhưng là khóa chính của quan hệ khác
d Tất cả các đáp án trên
Câu 46: Khóa ngoài là một tập hợp gồm một hay nhiều thuộc tính là:
a Siêu khóa của lược đồ quan hệ đó
b Siêu khóa của lược đồ quan hệ khác
c Khóa của lược đồ quan hệ đó
d Khóa của lược đồ quan hệ khác
Trang 31KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Câu 47: Giá trị của các bộ ở các thuộc tính thuộc khóa chính phải khác giá trị
a Xâu rỗng
b 0
c null
d cả xâu rỗng và 0
Câu 48: Cho Cơ sở dữ liệu Quản lý điểm gồm 3 quan hệ sau:
SV(MaSV, tenSV, ngsinh, quequan) MH(MaMH, tenMH, HSMH, Khoa) BĐ(MaBĐ, MaMH, MaSV, tenSV, diem, ky) Thuộc tính MaBĐ là khóa gì?
a Siêu khóa
b Khóa
c Khóa ngoài
d Khóa chính
Câu 49: Cho Cơ sở dữ liệu Quản lý điểm gồm 3 quan hệ sau:
SV(MaSV, tenSV, ngsinh, quequan) MH(MaMH, tenMH, HSMH, Khoa) BĐ(MaBĐ, MaMH, MaSV, tenSV, diem, ky) Các thuộc tính MaMH, MaSV trên quan hệ BĐ là khóa gì?
a Siêu khóa
b Khóa
c Khóa ngoài
d Khóa chính
Trang 32KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Câu 50: Phát biểu nào sau đây KHÔNG đúng?
a Mọi tập con của tập thuộc tính chứa một siêu khóa cũng là siêu khóa
b Mỗi quan hệ có ít nhất một siêu khóa
c Một khóa là siêu khóa tổi thiểu
d Siêu khóa không thể chỉ là một thuộc tính của lược đồ
Trang 33KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
CHƯƠNG II NGÔN NGỮ THAO TÁC DỮ LIỆU
Mục tiêu: Chương II sẽ giới thiệu một số ngôn ngữ thao tác dữ liệu, như ngôn ngữ dữ
liệu dựa trên đại số quan hệ, ngôn ngữ SQL Ngôn ngữ xử lý dữ liệu được chia thành hai loại khác nhau dựa trên hai chức năng khác nhau Đó là các chức năng khai báo và chức năng tính toán Với các trình ứng dụng, dữ liệu thường được mô tả và tính toán khi chương trình thực hiện, còn trong các hệ thống CSDL, dữ liệu được định nghĩa một lần duy nhất Vì vậy cần có một phương tiện đề định nghĩa ngôn ngữ dữ liệu có khả năng mô phỏng các phép tính quan hệ có tính đầy đủ hơn
Nội dung của chương bao gồm:
Đại số quan hệ
Hệ quản trị CSDL SQL Ngôn ngữ SQL
2.1 Đại số quan hệ
2.1.1 Phép hợp
a Định nghĩa: Giả sử r, s là 2 file dữ liệu có cùng số cột n khi đó file dữ liệu là
hợp 2 file r và s ký hiệu là rs, gồm n cột bao gồm các bản ghi, các dòng thuộc
cả file r và file s
Những dòng giống nhau chỉ lấy một lần
Nếu r và s là các file có tên các cột khác nhau thì cột của quan hệ hợp không có tên
b Cú pháp:
r s = [t / t r hoặc t s hoặc t s và r}
Trang 34KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Ví dụ:
2.1.2 Phép giao
a Định nghĩa: Giả sử r và s là 2 file dữ liệu cùng n cột Giao của hai file dữ liệu, ký hiệu là rs là tập hợp các bộ t thuộc cả r và s Nếu file dữ liệu có các cột khác nhau thì file dữ liệu giao không có tên các cột
b Cú pháp:
r s = { t / t r và t s}
Ví dụ:
Trang 35KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
2.1.3 Phép trừ
a Định nghĩa : Giả sử r và s là 2 file dữ liệu có cùng n cột
File dữ liệu gọi là hiệu 2 file r và s, ký hiệu r-s là một file dữ liệu n cột bao gồm các bản ghi của r nhưng không có mặt trong s
Nếu r và s có tên các cột khác nhau thi file dữ liệu hiệu không có tên các cột
Trang 36KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Trang 37KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Trong đó: i là số thứ tự lấy trong tập từ 1 đến n
j =1,2, ,p (chỉ số p <= n)
Khi đó ta thực hiện phép chiếu như sau:
- Giữ lại p cột có số hiệu là i1,i2, ,ip
F (r) = {t r | F(t) = đúng}
Biểu thức có điều kiện F gồm:
- Các toán hạng (tên cột và hằng)
- Các phép toán quan hệ số học (<,=,=,>,=,?)
Trang 38KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
- Các phép toán logic (,, là phép và, hoặc, phủ định)
- Hằng được đặt trong dấu nháy
Trang 39KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Ví dụ:
Lưu ý : Chúng ta cần giả thiết rằng giá trị của thuộc tinh B, C có thể so sánh
được với nhau
quan hệ Ký hiệu: r * s
- Trong trường hợp phép so sánh 𝜽 là dấu ’=’ thì phép nối được gọi là kết nối bằng Trường hợp kết nối bằng tại thuộc tính cùng tên của hai quan hệ và một
trong hai thuộc tính đó được loại bỏ qua phép chiếu thì phép kết nối đó được
gọi là phép nối tự nhiên và sử dụng ký hiệu ‘*’ Khi đó phép kết nối tự nhiên
của hai quan hệ r(ABC) và s(CDE) được biểu diễn qua :
r(ABC)*s(CDE) = {t[ABCDE]/t[ABC] ∈ r và t[CDE] ∈ s}
Ví dụ:
Trang 40KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
2.1.8 Phép chia
Định nghĩa: Cho R là quan hệ trên tập thuộc tính U
S là quan hệ trên tập thuộc tính V
R S = { t (trên U – V)/ t’ S : t^t’ R}
Ví dụ:
2.2 Hệ quản trị CSDL SQL Server và ngôn ngữ SQL
2.2.1 Giới thiệu về Hệ quản trị CSDL SQL Server
SQL được phát triển từ ngôn ngữ SEQUEL – 2 Đây là ngôn ngữ con dữ liệu quan hệ mạnh, phổ dụng và dễ sử dụng SQL đã xem như ngôn ngữ xử lý dữ liệu chuẩn cho các CSDL theo hướng mô hình quan hệ một ngôn ngữ phi thủ tục, chuẩn mực, điển hình Các hệ thống cài đặt SQL làm tăng rất mạnh và mặt xử lý dữ liệu