Tải bản đầy đủ (.pdf) (120 trang)

Tài liệu học tập Cơ sở dữ liệu: Phần 1 - Trường ĐH Kinh tế kỹ thuật công nghiệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.7 MB, 120 trang )

1

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU

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

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


2



TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU

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

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP



3

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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 tố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 tốn và gom nhóm ...........................................78
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP



4

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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 tốn tìm bao đóng ..............................................................................125

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


5

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


6

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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 hố 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 tồn CSDL ............................................................179
5.2. Tính tồ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

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


7

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU

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 qt 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 liu
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.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


8

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
 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:
Đánh dấu sự phát triển mạng của mô hình quan hệ phát triển lý thuyết.
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ã hố 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.

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


9

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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ự tồ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.

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


10

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
 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 qn 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 tồ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.
 Chức năng của hệ QTCSDL:
 Lưu trữ các định nghĩa, các mối liên kết dữ liệu vào một từ điển dữ
liệu. Các chương trình truy cập đến CSDL thơng qua hệ QTCSDL,
Hệ QTCSDL sử dụng dữ liệu trong từ điển DL để tìm kiếm các cấu
trúc thành phần DL và các mối liên kết được yêu cầu. Mọi sự thay

đổi trong CSDL sẽ tự động ghi lại vào từ điển dữ liệu.

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


11

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
 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
và toàn vẹn DL.
 Áp đặt các quy tắc an toàn, cho phép tối thiểu sự dư thừa DL và làm
tối đa tính nhất quán dữ liệu.
 Cung cấp việc truy cập DL thông qua một ngơn ngữ truy vấn.

1.1.2.3. Ngơn ngữ dữ liệu
Ng«n ngữ dữ liệu có 3 chức năng:
- Định nghĩa và mô tả dữ liệu.
- Cập nhật dữ liệu
- Hỏi dữ liệu (an toàn và toàn vẹn dữ liệu)

Descrition
Data


Update

Language

Query

KHOA CNTT TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


12

TI LIU HC TP C S D LIU

Ngôn ngữ (language)

Ngôn ngữ tự nhiên
(Natural language))

Ngôn ngữ hình thức
(Forrmat language)

Ngôn ngữ ng-ời

Ngôn ngữ sinh vật

Dân tộc

Format language

Mục tiêu tổng quát


Giao tiếp ng-ời và máy

- MÃ hoá, an toàn dữ liệu

- Các ngôn ngữ lập trình

- Văn phạm hình thức

- Ngôn ngữ dữ liệu

1.1.3. Kin trỳc ca mt 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.

KHOA CNTT TRNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


13

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU

USER 1


Khung nh×n 1

USER 1

Khung nhìn 1
CSDL mức
khái niệm
(Logic)

USER 1

CSDL mức
Vật lý

Khung nhìn 1
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ế.

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


14

TI LIU HC TP C S D LIU
ã

Tính độc lập d÷ liƯu cao.

Một số khái niệm cơ bản :
 CSDL quan hệ:


Được xây dựng từ một hay nhiều bảng quan hệ



Mỗi bảng (quan hệ) gồm 2 phần:






-

Lược đồ: Tên quan hệ, Tên các cột

-

Thể hiện: Các dòng dữ liệu

Trong mỗi bảng:
-

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ộ

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ữ}

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


15

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
Ví dụ: Quan hệ ĐIỂM
Lược đồ gồm 5 thuộc tính

MãSV

TênSV

Email

Tuổi

Điểm

TI01

Jones




18

6

TI02

Smith



18

8

TI03

Smith



19

7

Thể
hiện
gồm

3 bộ

 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(An ) 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,...,An}
hoặc R(A1, A2,...,An)

1.1.4.2.

Khóa

a. Siêu khóa:
-

Gọi R={A1, A2,...,An} là tập hữu hạn các thuộc tính; K  R

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


16

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
-


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

Tuổi

Điểm

MãSV

TênSV

Email

TI01

Jones



18

6


TI02

Smith



18

8

TI03

Smith



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



Mã SV, Tên SV, Email



Mã SV, Tên SV



Mã SV



Tên SV, Email, Tuổi, Điểm



Mã SV, Email



Email, Tuổi, Điểm




Email, Tuổi



Email

Khóa:


Mã SV



Email

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


17

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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 ngồi: Một tập các thuộc tính K được gọi là khóa ngồ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)
MH(MaMH, tenMH, HSMH, Khoa)
BĐ(MaBĐ, MaMH, MaSV, tenSV, diem, ky)

1.1.4.3.

Các phép tính trên CSDL

a. Phép chèn


Định nghĩa : Phép chèn dùng để chèn một hoặc nhiều bộ giá trị vào một
quan hệ.

-

Phép chèn cung cấp một danh sách các giá trị cho một bộ mới t được chèn
vào trong một quan hệ R. Phép chèn có thể vi phạm các kiểu ràng buộc được
mơ tả ở trên. Các ràng buộc miền có thể bị vi phạm nếu một giá trị thuộc
tính được cho khơng thuộc vào miền tương ứng. Các ràng buộc khóa có thể
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ự tồ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ự tồn vẹn tham chiếu có thể bị vi phạm nếu một giá
trị của một khóa ngồ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.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


18

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU


Cú pháp:
1. INSERT(r; A1 = d1, A2 = d2, …, An = dn);
2. INSERT(r; d1, d2, …, dn);

b. Phép loại bỏ


Định nghĩa: Phép loại bỏ dùng để loại bỏ 1 hoặc nhiều bộ giá trị của một
quan hệ.

-

Phép xóa được sử dụng để xóa một hoặc nhiều bộ giá trị của một quan hệ.
Phép xóa chỉ có thể vi phạm ràng buộc tham chiếu trong trường hợp bộ bị
xóa được tham chiếu bởi một khóa ngồi từ các bộ khác nhau trong cơ sở
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 tồn vẹn thực thể. Có thể kết hợp cả ba tùy chọn ở trên.



Cú pháp:
1. DEL(r; A1 = d1, A2 = d2, …, An = dn)
2. DEL(r; d1, d2, …, dn)

c. Phép thay thế


Định nghĩa : Là phép thay đổi giá trị một bộ trong quan hệ.

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


19

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
-

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
ngồ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 ngồ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 )

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


20

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU

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

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


21


TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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ý

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP



22

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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”.
d. Tất cả các đáp án trên.
Câu 11: Theo ANSI-SPARC, kiến trúc của một hệ CSDL gồm có bao nhiêu mức:
a.

2 mức

b.

4 mức

c.


3 mức

d.

1 mức

Câu 12: Đâu KHÔNG phải là mức biểu diễn một CSDL?
a.

Mức trong

b.

Mức khái niệm

c.

Mức liên kết

d.

Mức ngồi

Câu 13: Mức vật lý cịn được gọi là:
a. Mức khái niệm
b. Mức trong
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP



23

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


24

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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ỉ?
a.

Tên của một cột

b. Một hàng trong bảng
c.

Một bảng

d. Kiểu dữ liệu của một cột
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


25

TÀI LIỆU HỌC TẬP CƠ SỞ DỮ LIỆU
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.

KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP


×