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

Giáo trình cơ sở dữ liệu 1 ts vũ bá anh, ths phan phước long (đồng chủ biên)

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.2 MB, 139 trang )

HỌC VIỆN TÀI CHÍNH
TS. VŨ BÁ ANH – ThS. PHAN PHƯỚC LONG

(Đồng chủ biên)

GIÁO TRÌNH

CƠ SỞ DỮ LIỆU 1

HÀ NỘI – 2021

I


MỤC LỤC

LỜI NÓI ĐẦU ...........................................................................................................................IV
CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU .................................................................. 1

1.1 Các khái niệm cơ bản ................................................................................................ 1
1.1.1 Các khái niệm về tập hợp .......................................................................................... 1
1.1.2 Cơ sở dữ liệu ............................................................................................................. 3
1.1.3 Hệ quản trị cơ sở dữ liệu ........................................................................................... 4
1.1.4 Hệ thống quản lí dữ liệu ............................................................................................ 5

1.2 Kiến trúc của một hệ cơ sở dữ liệu ........................................................................... 7
1.2.1 Các mức trừu tượng trong hệ thống cơ sở dữ liệu .................................................... 7
1.2.2 Lược đồ và thể hiện ................................................................................................... 8
1.2.3 Tính độc lập dữ liệu .................................................................................................. 9

1.3 Các ngôn ngữ dữ liệu ............................................................................................... 10


1.3.1 Ngôn ngữ định nghĩa dữ liệu ................................................................................... 10
1.3.2 Ngôn ngữ thao tác dữ liệu ....................................................................................... 10
1.3.3 Ngôn ngữ chủ .......................................................................................................... 10

1.4 Các mơ hình dữ liệu quan hệ .................................................................................. 11
1.4.1 Mơ hình thực thể - liên hệ ....................................................................................... 11
1.4.2 Mơ hình quan hệ...................................................................................................... 16
1.4.3 Mơ hình phân cấp (Hierarchical Model) ................................................................ 17
1.4.4 Mơ hình mạng ......................................................................................................... 17
1.4.5 Mơ hình hướng đối tượng........................................................................................ 18

1.5 Mơ hình dữ liệu NoSQL .......................................................................................... 19
1.5.1 Khái niệm cơ sở dữ liệu NoSQL .............................................................................. 20
1.5.2 Phân loại các cơ sở dữ liệu NoSQL ........................................................................ 21
1.5.3 So sánh cơ sở dữ liệu quan hệ và cơ sở dữ liệu NoSQL .......................................... 24

Câu hỏi ơn tập ................................................................................................................ 30
CHƯƠNG II: MƠ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ ....................................................... 31

2.1 Tổng quan về mơ hình CSDL quan hệ ................................................................... 31
2.1.1 Các khái niệm cơ bản .............................................................................................. 31
2.1.2 Các mối liên hệ 1-1, 1-n, n-n ................................................................................... 34
2.1.3 Quy tắc vẹn toàn (Integrity Constraint) .................................................................. 35
2.1.4 Các phép tốn trên mơ hình dữ liệu quan hệ .......................................................... 38

2.2 Tổ chức dữ liệu vật lí ............................................................................................... 40
2.2.1 Mơ hình tổ chức bộ nhớ ngồi ................................................................................ 40
2.2.2 Tệp băm (Hash Files) .............................................................................................. 40
2.2.3 Tệp chỉ số (Index Files) ........................................................................................... 44
2.2.4 B-cây (Balanced Tree – Cây cân bằng) .................................................................. 48


2.3 Ngôn ngữ thao tác dữ liệu ....................................................................................... 51
2.3.1 Đại số quan hệ ........................................................................................................ 51

II


2.3.2 Ngơn ngữ con dữ liệu SQL ...................................................................................... 62

2.4 Lí thuyết thiết kế CSDL quan hệ ............................................................................ 70
2.4.1 Các nguyên tắc thiết kế một CSDL quan hệ ............................................................ 70
2.4.2 Phụ thuộc hàm......................................................................................................... 73
2.4.3 Phép tách các lược đồ quan hệ ............................................................................... 81
2.4.4 Chuẩn hoá các lược đồ quan hệ .............................................................................. 83
2.4.5 Các thuật toán thiết kế CSDL quan hệ .................................................................... 87
2.4.6 Phụ thuộc đa trị ....................................................................................................... 93
2.4.7 Phụ thuộc nối .......................................................................................................... 97

Câu hỏi ôn tập ................................................................................................................ 98
CHƯƠNG III: QUẢN TRỊ CƠ SỞ DỮ LIỆU ...................................................................... 100

3.1. Các khái niệm chung ............................................................................................ 100
3.1.1. Khái niệm tệp cơ sở dữ liệu (Database file) ......................................................... 100
3.2.2. Khái niệm hệ quản trị cơ sở dữ liệu ..................................................................... 101

3.2. Hệ quản trị cơ sở dữ liệu ...................................................................................... 102
3.2.1. Làm quen với Hệ quản trị cơ sở dữ liệu ............................................................... 102
3.2.2. Các chế độ làm việc với hệ quản trị cơ sở dữ liệu ............................................... 102

3.3. Các yếu tố cơ bản của hệ quản trị CSDL ........................................................... 103

3.3.1. Bảng chữ cái ........................................................................................................ 103
3.3.2. Từ khoá (Keywords) ............................................................................................. 103
3.3.3. Các đại lượng ....................................................................................................... 103
3.3.4. Biểu thức .............................................................................................................. 109

3.4. Các lệnh cơ bản trong Hệ quản trị CSDL .......................................................... 112
3.4.1. Định nghĩa tệp cơ sở dữ liệu ................................................................................ 112
3.4.2. Xem - Sửa tệp dữ liệu ........................................................................................... 115
3.4.3. Các lệnh thêm, bớt bản ghi .................................................................................. 116
3.4.4. Sắp xếp và tìm kiếm bản ghi. ................................................................................ 117
3.4.5. Tính tốn trên tệp dữ liệu ..................................................................................... 118

3.5. Các lệnh dùng cho lập trình ........................................................................... 120
3.5.1. Nhóm lệnh gán, vào ra ......................................................................................... 120
3.5.2. Các thành phần điều khiển ................................................................................... 122
3.5.3. Một số lệnh SET thường dùng .............................................................................. 126

3.6. Xây dựng bộ chương trình cho các bài toán quản trị dữ liệu .............. 128
3.6.1. Bài toán quản trị dữ liệu ...................................................................................... 128
3.6.2. Tổ chức xây dựng bộ chương trình cho bài tốn quản trị dữ liệu ........................ 130

III


LỜI NÓI ĐẦU
Sự phát triển như vũ bão của khoa học và công nghệ kéo theo sự bùng nổ
thông tin trên toàn cầu, buộc con người phải sử dụng máy tính điện tử để lưu trữ và xử
lí thơng tin. Cuộc cách mạng công nghiệp 4.0 và xu thế số hóa nền kinh tế - xã hội
hiện nay yêu cầu con người phải liên tục, thường xuyên thu nhận, lưu trữ và xử lí một
khối lượng thơng tin vơ cùng lớn trên các thiết bị nhớ của máy tính điện tử. Các thông

tin được lưu trữ lại trong mỗi đơn vị, tổ chức (gọi chung là hệ thống) trở thành dữ liệu
của hệ thống, là căn cứ để ra các quyết định hoạt động của hệ thống đó. Việc tổ chức
lưu trữ dữ liệu một cách hợp lí, khoa học là nền tảng cho việc xử lí và cung cấp thơng
tin nhanh chóng, kịp thời, đa dạng, đa chiều, đáng tin cậy, giúp cho hệ thống có khả
năng hoạt động hiệu quả để có năng lực cạnh tranh tốt hơn, làm tiền đề cho hệ thống
phát triển không ngừng. Môn học “Cơ sở dữ liệu” nghiên cứu về dữ liệu và khoa học
lưu trữ, xử lí dữ liệu, giúp học viên có thể tổ chức lưu trữ và xử lí dữ liệu hợp lí, khoa
học, nó là mơn học bắt buộc trong khối kiến thức chuyên ngành của sinh viên ngành
Hệ thống thơng tin quản lí và nhiều ngành khác trong khối ngành Công nghệ thông
tin, như: Khoa học máy tính, Khoa học dữ liệu, Dữ liệu lớn, …
Ở Học viện Tài chính, Cơ sở dữ liệu là mơn học chuyên ngành dành riêng cho
sinh viên ngành Hệ thống thông tin quản lí, được chia thành 3 học phần: Cơ sở dữ liệu
1 (học phần 1) - Nhập môn cơ sở dữ liệu; Cơ sở dữ liệu 2 (học phần 2) - Cơ sở dữ liệu
phân tán; Cơ sở dữ liệu 3 (học phần 3) - Quản trị cơ sở dữ liệu Tài chính - Kế tốn.
Giáo trình Cơ sở dữ liệu 1, với thời lượng 2 tín chỉ trong tư cách nhập môn, sẽ
mang đến cho sinh viên những kiến thức cơ bản và đại cương nhất về cơ sở dữ liệu,
nội dung bao gồm 3 chương:
Chương 1: Tổng quan về cơ sở dữ liệu. Chương này cung cấp những lí thuyết
chung về cơ sở dữ liệu;
Chương 2: Mơ hình cơ sở dữ liệu quan hệ. Chương này trình bày những kiến
thức chi tiết về mơ hình dữ liệu quan hệ, là mơ hình đang được sử dụng phổ biến nhất
hiện nay, đặc biệt là trong các hệ thống thơng tin quản lí;
Chương 3: Quản trị cơ sở dữ liệu. Chương này giúp cho sinh viên hình thành
kĩ năng cơ bản nhất cần có để quản trị cơ sở dữ liệu: tạo lập, cập nhật và truy vấn cơ
sở dữ liệu.
Giáo trình Cơ sở dữ liệu 1 do các giảng viên có nhiều kinh nghiệm trong giảng
dạy và viết phần mềm thực hiện, bao gồm TS. Vũ Bá Anh và ThS. Phan Phước Long
làm đồng chủ biên và trực tiếp biên soạn.
Chúng tơi hi vọng, giáo trình này sẽ mang lại cho sinh viên chuyên ngành Tin
học Tài chính Kế toán những kiến thức vừa cơ bản, vừa hiện đại để giải quyết những

bài toán quản trị cơ sở dữ liệu trong thực tiễn. Giáo trình được biên soạn dựa trên sự
hiểu biết và những kinh nghiệm trong quá trình giảng dạy và xây dựng phần mềm của
các tác giả tại Học viện Tài chính; nội dung học phần cần phải lựa chọn cho phù hợp
trong thời lượng 2 tín chỉ của ngành học, nên, giáo trình khó tránh khỏi thiếu sót. Rất

IV


mong nhận được sự đóng góp để giáo trình ngày càng hồn thiện hơn. Mọi đóng góp
xin gửi về Ban quản lí khoa học, Học viện Tài chính. Chúng tơi xin trân trọng cảm ơn.
CÁC TÁC GIẢ

V


Chương 1: Tổng quan về CSDL

CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Trong công việc và trong các hoạt động của con người đã và đang nảy sinh
nhu cầu tích lũy và xử lí các dữ liệu. Việc tổ chức xử lí dữ liệu một cách khoa học địi
hỏi con người sử dụng cơ sở dữ liệu. Do vậy, cơ sở dữ liệu và các hệ cơ sở dữ liệu đã
trở thành một thành phần thiết yếu trong đời sống hàng ngày của xã hội hiện đại.
Trong chương 1 là các nội dung giới thiệu về cơ sở dữ liệu và các mơ hình cơ
cở dữ liệu cơ bản. Cụ thể:
 Giới thiệu các khái niệm mở đầu về hệ cơ sở dữ liệu
 Kiến trúc ba-lược đồ và tính độc lập dữ liệu
 Các ngơn ngữ về dữ liệu
 Các mơ hình cơ sở dữ liệu

1.1 Các khái niệm cơ bản

1.1.1 Các khái niệm về tập hợp
1.1.1.1 Tập hợp và các phép toán trên tập hợp:
Định nghĩa 1: Các đối tượng trong một tập hợp cũng được gọi là các phần tử
của tập hợp đó. Tập hợp được nói là chứa các phần tử của nó và được kí hiệu bằng
những chữ cái lớn A, B, …, Y, Z,… cịn các phần tử được kí hiệu bằng các chữ cái nhỏ
a, b, …, x, z, …. Để chỉ a là phần tử của A, ta viết a  A , trái lại ta viết a  A .
Định nghĩa 2: Hai tập hợp được gọi là bằng nhau nếu và chỉ nếu chúng có
cùng các phần tử.
Ví dụ: ta có hai tập A={0, 1, …, 100} và tập B={x  N : x ≤ 100} thì khi đó
tập A bằng tập B và kí hiệu A = B.
Định nghĩa 3: Tập A được gọi là tập con của tập B nếu và chỉ nếu mỗi phần tử
của A đều là một phần tử của B, và kí hiệu A  B.
Tập rỗng là tập con của mọi tập hợp, tức là   B với B là tập hợp bất kỳ.
Định nghĩa 4: Cho hai tập hợp A và B. Tích Đề các (Descartes) của A và B và
kí hiệu là A B, là tập hợp của tất cả các cặp (a, b) với aA và bB. Do đó,
AB = {(a, b)  aA, bB}.
Ví dụ: A = {1,2,3},
B = {a, b, c}. Khi đó:
AB = {(1, a); (1, b); (1, c); (2, a); (2, b); (2, c); (3, a); (3, b); (3, c)}
BA = {(a, 1); (b, 1); (c, 1); (a, 2); (b, 2); (c, 2); (a, 3); (b, 3); (c, 3)}
Và rõ ràng AB ≠ BA
Định nghĩa 5: Tích Đề các (Descartes) của các tập A1, A2, …, An, được kí hiệu
bởi A1 A2 … An là tập hợp của các dãy sắp thứ tự (a1, a2, …, an) trong đó aiAi
với i=1, 2, …, n. Do đó

Vũ Bá Anh – Phan Phước Long

1



Chương 1: Tổng quan về CSDL
n

 A =A1 A2 … An = {(a1, a2, …, an)  aiAi, i=1, 2, …, n}
i

i 1

Người ta cũng dùng kí hiệu luỹ thừa để biểu diễn tích Đề các của cùng một tập
hợp:

𝐴𝑛 = 𝐴
⏟𝐴 … 𝐴
𝑛 𝑙ầ𝑛 𝐴

Ví dụ: A = {1, 2},
B = {a, b, c} và C = {3, 4}. Khi đó:
ABC = {(1, a, 3); (1, a, 4); (1, b, 3); (1, b, 4); (1, c, 3); (1, c, 4);
(2, a, 3); (2, a, 4); (2, b, 3); (2, b, 4); (2, c, 3); (2, c, 4)}
Định nghĩa 6: Cho hai tập hợp A và B. Hợp của hai tập hợp A và B được kí
hiệu là A  B, là tập chứa tất cả các phần tử hoặc thuộc A hoặc thuộc B. Tức là:
A  B = {x  xA ∨ xB}
Ví dụ: A = {1, 2, 4, 5, 6},
B = {3, 4, 6, 8, 9}.
Khi đó: A  B = {1, 2, 3, 4, 5, 6, 8, 9}
Định nghĩa 7: Cho hai tập hợp A và B. Giao của hai tập hợp A và B được kí
hiệu là A  B, là tập chứa tất cả các phần tử thuộc cả A và B. Tức là:
A  B = {x  xA ∧ xB}
Ví dụ: A = {1, 2, 4, 5, 6},
B = {3, 4, 6, 8, 9}.

Khi đó: A  B = {4, 6}
Định nghĩa 8: Hai tập hợp A và B được gọi là rời nhau (không giao nhau) nếu
giao của chúng bằng tập rỗng. Tức là
A không giao với B  A  B = 
Định nghĩa 9: Cho hai tập hợp A và B. Hiệu của hai tập hợp A và B được kí
hiệu là A\ B, là tập chứa tất cả các phần tử thuộc A mà không thuộc B. Tức là:
A \ B = {x  xA ∧ x  B}
Ví dụ: A = {1, 2, 4, 5, 6},
Khi đó: A \ B = {1, 2, 5}

B = {3, 4, 6, 8, 9}.

1.1.1.2 Hàm
Định nghĩa 1: Cho A và B là hai tập hợp. Một hàm f từ A đến B là một phép
tương ứng với mỗi phần tử a của A một phần tử duy nhất b của B mà ta kí hiệu là f(a)
và gọi là ảnh của a bởi f. Ta viết
f : A B

a

b  f ( a)

Khi đó, ta cũng gọi a là nghịch ảnh của b. Tập A được gọi là miền xác định
của f. Tập B được gọi là miền giá trị của f.
Ví dụ: Giả sử f là hàm từ tập Z vào tập N mà ta cho tương ứng với mỗi phần tử
z  Z với phần tử n  N sao cho n= z, tức f(z)= z. Khi đó, miền xác định của f là
tập số nguyên Z, miền giá trị của f là tập số tự nhiên N.

Vũ Bá Anh – Phan Phước Long


2


Chương 1: Tổng quan về CSDL

Định nghĩa 2: Cho hàm g từ tập A đến tập B và hàm f từ tập B đến tập C. Hợp
thành của các hàm f và g, được kí hiệu là fg, được định nghĩa bởi:
(fg)(a) = f(g(a)), với a  A
Ví dụ: Cho hai hàm f, g: Z  Z xác định bởi f(x)=3x+4 và g(x)=7x+5. Khi đó
ta có:
(fg)(x) = f(g(x)) = f(7x+5) = 3(7x+5) +4 = 21x+19
(gf)(x) = g(f(x)) = g(3x+4) = 7(3x+4) +5 = 21x+33
Chúng ta thấy rằng: mặc dù tồn tại cả hai hợp thành fg và gf nhưng chúng
không bằng nhau.
1.1.1.3 Quan hệ
Định nghĩa 1: Một quan hệ giữa tập hợp A và tập hợp B là một tập con  của
AB. Nếu (a, b)  , ta viết ab. Một quan hệ giữa A và A được gọi là một quan hệ
trên A.
Ví dụ: Quan hệ “≤” trên tập số Z. Khi đó ab  a ≤ b
Định nghĩa 2: Một quan hệ trên các tập hợp A1, A2, …, An, là một tập hợp con
của

n

 A =A1 A2 … An.
i

i 1

1.1.2 Cơ sở dữ liệu

Trong mọi hoạt động của con người, nhu cầu tích lũy và xử lí dữ liệu (là các
thơng tin thu nhận được) ln nảy sinh. Để giải quyết bất kỳ vấn đề nào, đều cần tới
dữ liệu, nhưng, với các vấn đề nhỏ, khơng nhất thiết phải quản lí những dữ liệu này
theo các phương pháp khoa học., bởi, khả năng tổng hợp của người xử lí mà các dữ
liệu được lấy ra, được xử lí khơng vấp phải khó khăn nào. Tuy nhiên khi gặp phải một
vấn đề, một bài toán với khối lượng dữ liệu cần xử lí lớn thì tất yếu dữ liệu cần được
quản lí tốt, có khoa học. Khi đó, manh nha cơng tác tự động hóa dữ liệu. Ban đầu,
người ta dùng hệ quản lí tệp với các tệp dữ liệu chứa các thông tin và dùng chương
trình để tìm kiếm, thao tác dữ liệu của tệp đó. Điều này đẫn tới một số nhược điểm:
- Dư thừa dữ liệu và tính khơng nhất qn dữ liệu: Do các tệp được tạo ra bởi
các nhà lập trình khác nhau, trên các ngơn ngữ lập trình khác nhau nên một dữ liệu có
thể lưu trữ ở nhiều tệp khác nhau. Điều này dẫn tới dư thừa dữ liệu. Hơn nữa, dữ liệu
trong các tệp có thể được cập nhật một cách độc lập do các chương trình ứng dụng sử
dụng nó. Vì vậy, cùng một khoản mục dữ liệu, nhưng trong mỗi chương trình ứng
dụng lại khác nhau, dẫn tới tính khơng nhất qn dữ liệu.
- Khó khăn trong việc truy cập dữ liệu
- Sự cô lập dữ liệu: Do dữ liệu nằm ở nhiều tệp với các định dạng khác nhau
nên khó viết các chương trình ứng dụng mới để tìm kiếm dữ liệu thích hợp.
- Các vấn đề về toàn vẹn
- Các vấn đề về độ tin cậy
- Các dị thường truy nhập tương tranh
- Các vấn đề về an toàn

Vũ Bá Anh – Phan Phước Long

3


Chương 1: Tổng quan về CSDL


Để khắc phục các nhược điểm trên và tổ chức việc xử lí dữ liệu một cách khoa
học hơn, các hệ cơ sở dữ liệu đã ra đời.
Định nghĩa: Một cơ sở dữ liệu (CSDL) là tập hợp các dữ liệu có liên quan đến
nhau chứa thơng tin về một tổ chức nào đó, được lưu trữ trên các thiết bị nhớ thứ cấp
để đáp ứng nhu cầu khai thác thông tin của nhiều người sử dụng với các mục đích
khác nhau.
Với định nghĩa trên, một cơ sở dữ liệu phải thỏa mãn hai tính chất:
- Tính độc lập dữ liệu;
- Tính chia sẻ dữ liệu.
(được làm rõ trong phần 1.2.3)
1.1.3 Hệ quản trị cơ sở dữ liệu
Định nghĩa: Hệ quản trị cơ sở dữ liệu là một hệ thống phần mềm cho phép tạo
lập cơ sở dữ liệu và điều khiển mọi truy nhập đối với cơ sở dữ liệu đó.
Một hệ quản trị cơ sở dữ liệu phải đảm bảo thực hiện được ba chức năng cơ
bản, đó là: Tạo lập cơ sở dữ liệu (Create), cập nhật dữ liệu (Update) và truy vấn dữ
liệu (Query). Các thao tác truy nhập cơ sở dữ liệu chủ yếu gồm:
- Tìm kiếm dữ liệu theo tiêu thức nào đó;
- Bổ sung dữ liệu vào cơ sở dữ liệu;
- Loại bỏ dữ liệu ra khỏi cơ sở dữ liệu;
- Sửa chữa dữ liệu trong cơ sở dữ liệu.
Khác với hệ quản lí các tệp (hay các tệp cơ sở dữ liệu), hệ quản trị cơ sở dữ
liệu cho phép mô tả dữ liệu (xác định tên, dạng dữ liệu, tính chất của dữ liệu, …) theo
cách không phụ thuộc vào người sử dụng, không phụ thuộc vào u cầu tìm kiếm hay
thay đổi thơng tin.
Hệ quản trị cơ sở dữ liệu có phương pháp, cơng cụ để lưu trữ, tìm kiếm, sửa
đổi và chuyển đổi các dữ liệu. Hệ quản trị cơ sở dữ liệu có giao diện người sử dụng
cho phép người dùng liên hệ với nó. Thơng qua các lệnh của ngơn ngữ người/máy mà
nó liên hệ với bộ nhớ ngồi. Cịn người sử dụng dùng ngôn ngữ hỏi cơ sở dữ liệu để
khai thác các chức năng của hệ quản trị cơ sở dữ liệu.
Các hệ quản trị cơ sở dữ liệu thường dùng hiện nay được lựa chọn tùy thuộc

vào quy mô của tổ chức, cụ thể như sau:
- Các tổ chức có quy mơ lớn thường lựa chọn:
 Oracle: chạy trên 100 cấu hình khác nhau
 DB/2 của IBM
 SyBase
 Informix của IBM (2001)
 SQL Server
- Các tổ chức quy mô vừa và nhỏ thường lựa chọn:
 My SQL
 Microsoft Access
 Visual FoxPro (VFP)
Vũ Bá Anh – Phan Phước Long

4


Chương 1: Tổng quan về CSDL



Paradox

1.1.4 Hệ thống quản lí dữ liệu
Người ta thường dùng thuật ngữ hệ cơ sở dữ liệu (DBMS-DataBase
Management System) để chỉ một cơ sở dữ liệu cùng với hệ quản trị cơ sở dữ liệu để
truy cập cơ sở dữ liệu đó. Ta mơ phỏng qua sơ đồ của DBMS

Một cách khác, có thể hiểu một hệ cơ sở dữ liệu là một hệ thống gồm bốn
thành phần:
- Cơ sở dữ liệu phải hợp nhất: Cơ sở dữ liệu phải thỏa mãn hai yêu cầu sau:

 Không dư thừa (trong thực tiễn dữ liệu dư thừa ít nhất)
 Chia sẻ dữ liệu
- Người sử dụng: Là người có yêu cầu truy cập cơ sở dữ liệu để thực hiện một
thao tác nào đó.
+ Người sử dụng đầu cuối (End-User): là những người có cơng việc
u cầu quyền truy cập vào cơ sở dữ liệu để truy vấn, cập nhật và tạo báo cáo;
cơ sở dữ liệu chủ yếu tồn tại để sử dụng.
+ Người viết chương trình ứng dụng: Đầu tiên phải xác định yêu cầu
của người dùng đầu cuối, phát triển thành các thông số kỹ thuật cho các giao
dịch đáp ứng các yêu cầu này. Tiếp theo, thực hiện các thông số kỹ thuật này
dưới dạng chương trình; sau đó họ kiểm tra, gỡ lỗi, lập tài liệu và duy trì các
giao dịch đó.
+ Người quản trị cơ sở dữ liệu: Trong bất kỳ tổ chức nào có nhiều
người cùng sử dụng các nguồn lực, cần có một quản trị chính để giám sát và
quản lý các nguồn lực này. Trong môi trường cơ sở dữ liệu, tài nguyên chính
là chính cơ sở dữ liệu và tài nguyên thứ cấp là DBMS và phần mềm liên quan.
Quản lý các tài nguyên này là trách nhiệm của người quản trị cơ sở dữ liệu
(DataBase Administrators - DBA). DBA là người có nhiệm vụ điều khiển tồn
bộ hệ cơ sở dữ liệu, là người có quyền cao nhất, chịu trách nhiệm thực hiện
các nhiệm vụ sau:
 Quyết định nội dung thông tin: (dữ liệu nào sẽ được lưu trữ
trong cơ sở dữ liệu)
 Quyết định cấu trúc lưu trữ, chiến lược truy cập
 Xác định những thao tác sao cho đảm bảo tính đúng đắn và an
toàn của dữ liệu.

Vũ Bá Anh – Phan Phước Long

5



Chương 1: Tổng quan về CSDL

 Xác định các phương án sao lưu, dự phòng.
- Hệ quản trị cơ sở dữ liệu: Đây chính là phần mềm của hệ cơ sở dữ liệu.
- Phần cứng: Là các thiết bị được sử dụng để sao lưu dữ liệu.
Để tổng quan về hệ cơ sở dữ liệu chúng ta sẽ phân chia các hệ cơ sở dữ liệu
thành hai loại cơ bản: các hệ cơ sở dữ liệu tập trung và các hệ cơ sở dữ liệu phân tán.
1. Các hệ cơ sở dữ liệu tập trung: là các hệ cơ sở dữ liệu mà trong đó phần cơ
sở dữ liệu được lưu trữ tại một nơi, một vị trí nhất định.
a) Cơ sở dữ liệu mang tính cá nhân (Personal DataBase): Là một hệ cơ sở dữ
liệu nhỏ gồm 4 thành phần (NSD, Máy trạm, DBMS, cơ sở dữ liệu) như hình vẽ. Ở
đây người viết chương trình, người sử dụng cuối, người quản trị là một. Và do đó, hệ
này chỉ đảm bảo cho một chức năng nhỏ lẻ mà thôi.

b) Cơ sở dữ liệu trung tâm (Central DataBase): là hệ đa người dùng từ các
máy trạm. Mọi xử lí, tính tốn được thực hiện tập trung ở một máy tính mạnh. Hệ này
có nhược điểm là nếu máy trung tâm có sự cố thì tồn bộ hệ thống sẽ ngừng hoạt động
c) Cơ sở dữ liệu khách/chủ (Client/Server DataBase): Với hệ này, cơ sở dữ
liệu được tạo và lưu trữ ở máy chủ, cịn việc tính tốn lại diễn ra ở máy trạm.

2. Các hệ cơ sở dữ liệu phân tán: Là các hệ cơ sở dữ liệu trong đó thành phần
cơ sở dữ liệu được chia nhỏ thành nhiều cơ sở dữ liệu thành phần, trải ra trong một

Vũ Bá Anh – Phan Phước Long

6


Chương 1: Tổng quan về CSDL


mạng máy tính. Trong hệ cơ sở dữ liệu phân tán thường được chia thành hai hệ: thuần
nhất và không thuần nhất. Khi các cơ sở dữ liệu địa phương biểu diễn theo những
cách giống nhau, mơ hình giống nhau thì gọi là hệ thuần nhất. Ngược lại thì gọi là hệ
khơng thuần nhất

1.2 Kiến trúc của một hệ cơ sở dữ liệu
1.2.1 Các mức trừu tượng trong hệ thống cơ sở dữ liệu
Không phải người sử dụng cơ sở dữ liệu nào cũng hiểu biết hết sự phức tạp
của cơ sở dữ liệu. Chính vậy, những người phát triển hệ thống đã che dấu khơng cho
người dùng biết được sự phức tạp đó nhằm làm đơn giản những tương tác của người
dùng với hệ thống. Mặt khác, khi thiết kế cơ sở dữ liệu thì rất cần phải quan tâm đến
các yêu cầu về dữ liệu như tính độc lập dữ liệu, tính tồn vẹn dữ liệu, …. Do vậy cơ
sở dữ liệu nên được chia ra thành các mức hình thức. Từ đây, thấy ngay mục đích
chính của một hệ cơ sở dữ liệu là cung cấp người dùng một cách nhìn trừu tượng về
dữ liệu. Tức hệ thống che dấu các chi tiết phức tạp về cách thức dữ liệu được lưu trữ
và bảo trì.
Từ năm 1976, theo nhóm ANSI-PARC (American National Standards
Institute, Standards Planning And Requirements Committee – Viện tiêu chuẩn quốc
phòng Mĩ - ủy ban nhu cầu và kế hoạch Mĩ) các hệ cơ sở dữ liệu được nhìn dưới ba
mức: mức trong (vật lí), khái niệm (logic), mức ngồi (khung nhìn).

Vũ Bá Anh – Phan Phước Long

7


Chương 1: Tổng quan về CSDL

1. Mức Vật lí: Đây là mức thấp nhất của sự trừu tượng mô tả dữ liệu được lưu

trữ thực sự như thế nào trong cơ sở dữ liệu. Tại mức này, cơ sở dữ liệu được nhìn theo
cấu trúc lưu trữ.
2. Mức Khái niệm: Là mức cao hơn tiếp theo của sự trừu tượng mô tả những
dữ liệu nào được lưu trữ trong cơ sở dữ liệu và các mối quan hệ nào tồn tại giữa các
dữ liệu này. Do vậy cơ sở dữ liệu được nhìn theo cấu trúc chính quy của dữ liệu và sẽ
mô tả:
- Dạng dữ liệu cơ bản, nhằm xác định các thuộc tính của đối tượng.
- Các dạng dữ liệu thành phần, cho phép nhóm các thuộc tính lại để mô tả một
thực thể của thế giới thực ở mức gộp lớn hơn.
- Các dạng dữ liệu thành phần cho phép nhóm các thuộc tính để mơ tả các liên
kết (quan hệ) trong thế giới thực.
3. Mức khung nhìn: Là mức cao nhất của sự trừu tượng mơ tả chỉ một phần
của toàn bộ cơ sở dữ liệu. Mức khung nhìn là cách người dùng cảm nhận về dữ liệu và
do vậy hệ thống có thể cung cấp nhiều khung nhìn đối với cùng một cơ sở dữ liệu.
1.2.2 Lược đồ và thể hiện
Để có một ứng dụng tốt về cơ sở dữ liệu thì trước tiên cần hiểu rõ chức năng
quản trị dữ liệu của hệ quản trị cơ sở dữ liệu là:
 Định nghĩa các cấu trúc lưu trữ và cấu trúc dữ liệu, và
 Theo dõi sự phát triển của dữ liệu.
Khi đó, thơng qua hệ quản trị cơ sở dữ liệu (hoặc một ngôn ngữ cụ thể), đầu
tiên người ta phải mô tả tập các dữ liệu liên quan đến ứng dụng. Đó là lược đồ. Vậy:
Lược đồ là mô tả theo cách thức của một ngôn ngữ, cho phép xác định một tập
các dữ liệu cụ thể.
Như thế, tồn bộ mơ tả cơ sở dữ liệu được gọi là lược đồ của cơ sở dữ liệu
(DataBase Schema).
Lược đồ được xác định trong quá trình thiết kế cơ sở dữ liệu và ít khi bị thay
đổi, thậm chí hầu như khơng thay đổi. Tương ứng với ba mức trừu tượng dữ liệu nói
trên có ba loại lược đồ: Lược đồ vật lí, lược đồ logic và lược đồ ngồi (hay cịn gọi là
Vũ Bá Anh – Phan Phước Long


8


Chương 1: Tổng quan về CSDL

lược đồ con). Thông thường các hệ cơ sở dữ liệu hỗ trợ một lược đồ vật lí, một lược
đồ logic và nhiều lược đồ ngoài. Khi thiết kế cơ sở dữ liệu thường dùng lược đồ logic
để mô tả mức độ cao về thế giới thực. Sau đó, dịch lược đồ logic sang lược đồ vật lí.
Theo thời gian, các cơ sở dữ liệu sẽ thay đổi khi dữ liệu được thêm vào, xóa đi
hay sửa đổi. Toàn bộ dữ liệu lưu trữ trong cơ sở dữ liệu tại một thời điểm nhất định
được gọi là một thể hiện của cơ sở dữ liệu (DataBase Instance). Như thế, tương ứng
với một lược đồ cơ sở dữ liệu có thể có nhiều thể hiện của cơ sở dữ liệu đó.

(Quan hệ giữa mơ hình, lược đồ và thể hiện)
1.2.3 Tính độc lập dữ liệu
Một trong các mục đích cần đạt được và đáng quan tâm của hệ quản trị cơ sở
dữ liệu, mà người thiết kế cũng như người sử dụng dữ liệu luôn đặt ra, đó là sự độc
lập dữ liệu (Data Independence).
Độc lập dữ liệu được hiểu các lược đồ ở mức trên khơng bị ảnh hưởng khi có
sự thay đổi các lược đồ ở các mức dưới. Có hai loại độc lập dữ liệu: độc lập dữ liệu
vật lí và độc lập dữ liệu logic.
Khung nhìn 1

Khung nhìn 2

Khung nhìn n

Độc lập dữ liệu mức logic
Mức khái niệm
Độc lập dữ liệu mức vật lí

Mức vật lí

Vũ Bá Anh – Phan Phước Long

9


Chương 1: Tổng quan về CSDL

- Độc lập dữ liệu vật lí: là khả năng các thay đổi tại mức vật lí nhiều khi là cần
thiết để tăng hiệu năng hệ thống.
- Độc lập dữ liệu logic: là khả năng sửa đổi lược đồ logic mà không làm thay
đổi các lược đồ ngồi và như vậy khơng cần địi hỏi viết lại chương trình ứng dụng.
Cơ sở dữ liệu có tính độc lập logic sẽ có các ưu điểm:
 Cho phép mỗi nhóm người sử dụng thấy dữ liệu họ mong muốn
 Cho phép phát triển các khung nhìn của nhóm cơng tác
 Phát triển khung nhìn mà khơng cần tác động đền khung nhìn khác
 …
Do vậy độc lập dữ liệu logic là khó đạt được hơn so với độc lập dữ liệu vật lí.

1.3 Các ngơn ngữ dữ liệu
1.3.1 Ngôn ngữ định nghĩa dữ liệu
Một lược đồ cơ sở dữ liệu được đặc tả bởi một tập các định nghĩa được biểu
diễn một ngôn ngữ đặc biệt được gọi là ngôn ngữ định nghĩa dữ liệu (DDL – Datadefinition Language). Kết quả của việc dịch các lệnh của ngôn ngữ này là tập các
bảng được lưu trữ trong một tệp đặc biệt (Meta data) được gọi là từ điển dữ liệu hay
thư mục dữ liệu.
Từ điển dữ liệu là tập các lược đồ và những quy luật tương ứng giữa các lược
đồ liên quan đến cơ sở dữ liệu, chứa các mô tả về ý nghĩa của dữ liệu. Từ điển dữ liệu
dùng trong việc xác định và biến đổi cấu trúc của cơ sở dữ liệu đang xét.
1.3.2 Ngôn ngữ thao tác dữ liệu

Một ngôn ngữ thao tác dữ liệu (DML – Data-Manipulation Language) là một
ngôn ngữ cho phép người sử dụng truy cập hay thao tác dữ liệu được tổ chức bởi một
mơ hình dữ liệu thích hợp. DML có hai dạng cơ bản:
- Các DML thủ tục địi hỏi mỗi người sử dụng phải mơ tả dữ liệu nào cần tìm
kiếm và tìm kiếm những dữ liệu đó ra sao.
- Các DML phi thủ tục địi hỏi mỗi người sử dụng phải mơ tả dữ liệu nào cần
tìm kiếm mà khơng phải đặc tả tìm kiếm những dữ liệu đó như thế nào.
Các DML thủ tục thường khó học và khó sử dụng hơn DML phi thủ tục.
1.3.3 Ngôn ngữ chủ
Ngôn ngữ chủ (Host Language) là ngơn ngữ lập trình có các danh từ, động từ
xử lí tệp và định nghĩa dữ liệu của tệp. Thơng thường người ta dùng các ngơn ngữ lập
trình bậc cao để mơ tả và xử lí dữ liệu. Khi đó, để khai thác dữ liệu sẽ được thực hiện
theo các giai đoạn:
- Các thuật toán được viết thành các lệnh của chương trình
- Dùng trình biên dịch để dịch chương trình nguồn thành chương trình nhị
phân
- Các chương trình nhị phân được liên kết và dịch thành chương trình khả thi.
- Khai thác chương trình khả thi.
Vũ Bá Anh – Phan Phước Long

10


Chương 1: Tổng quan về CSDL

1.4 Các mơ hình dữ liệu quan hệ

Để thiết kế một cơ sở dữ liệu, bao giờ cũng xuất phát từ các yêu cầu dữ liệu
của bài tốn. Thơng thường một lược đồ cơ sở dữ liệu được đặc tả bởi một ngôn ngữ
đặc biệt hay một tập các kí hiệu đặc biệt thích hợp để biểu thị một thiết kế cơ sở dữ

liệu. Mô hình dữ liệu là sự hình thức hóa tốn học bao gồm:
- Một hệ thống các kí hiệu để mơ tả dữ liệu;
- Tập các toán tử dùng để thao tác trên dữ liệu này.
Như vậy, một mơ hình dữ liệu có thể coi gồm ba thành phần:
- Phần mơ tả cấu trúc cơ sở dữ liệu
- Phần mô tả các thao tác, định nghĩa các phép toán được phép trên dữ liệu
- Phần mơ tả các ràng buộc tồn vẹn để bảo đảm sự chính xác của dữ liệu
Đã có rất nhiều mơ hình dữ liệu được đề xuất, tuy vậy chúng ta chỉ đề cập tới
một số mô hình sau:

1.4.1 Mơ hình thực thể - liên hệ
Mơ hình thực thể-liên hệ (ERM – Entity Relationship Model) được xây đựng
dựa trên nhận thức về thế giới thực mà chúng ta muốn phản ánh. Đó là một tập các đối
tượng cơ sở và các mối quan hệ giữa chúng. Nó là một trong các mơ hình dữ liệu ngữ
nghĩa. Mục đích của mơ hình ER là cho phép mơ tả một lược đồ logic của một tổ chức
mà không quan tâm đến tính hiệu quả mà hầu hết các mơ hình dữ liệu khác mong
muốn. Mơ hình ER được Peter Chen đưa ra năm 1976 và sử dụng rộng rãi. Đến năm
1988, ANSI đã chọn nó như mơ hình chuẩn cho các hệ thống từ điển tài nguyên thông
tin IRDS.
1.4.1.1 Các khái niệm
1. Thực thể (Entity): Đây là khái niệm cơ sở của quản trị cơ sở dữ liệu nên
không có một định nghĩa hình thức nào cho nó. Ta có thể hiểu một thực thể là một đối
tượng cụ thể hay trừu tượng trong thế giới thực mà nó tồn tại và có thể phân biệt được
đối với các đối tượng khác.
Ví dụ:
- Thực thể là một vật cụ thể: 1 cá nhân, 1 quyển sách, …
- Thực thể là một vật trừu tượng: 1 tổ chức, 1 dự án, 1 mơn học, …
Tất cả ví dụ trên cho thấy chúng là các thực thể vì chúng có thể phân biệt được
với nhau. Như vậy ở đây có một khái niệm cơ bản của thực thể là tính “phân biệt
được” rất gần với “nhận dạng đối tượng”. Do đó ERM là mơ hình hướng đối tượng.

Thường thì mỗi thực thể đều có một số đặc tính để xác định nó và do đó hai
thực thể được hiểu là tương tự nếu chúng có cùng các đặc tính cơ bản. Một nhóm bao
gồm các thực thể tương tự hình thành một tập các thực thể.
Ví dụ: Tập các sinh viên của học viện là một tập các thực thể vì với mỗi sinh
viên là một thực thể.
Một tập thực thể thường được tham chiếu đến bằng cách dùng tên, cái tên đó
có thể coi là tên chỉ một kiểu thực thể.
Trong thực tế, để xác định các thực thể cần dựa vào hai tiêu chuẩn:
Vũ Bá Anh – Phan Phước Long

11


Chương 1: Tổng quan về CSDL

- Có ích cho quản lí
- Phân biệt được giữa các thực thể với nhau
2. Thuộc tính và khóa: Trong cơ sở dữ liệu, thực thể được mơ tả bởi một tập
các đặc tính và được gọi là các thuộc tính.
Ví dụ: Tập các sinh viên của học viện được mô tả bởi: Mã số sinh viên, họ tên,
ngày sinh, lớp, khóa, địa chỉ, … của sinh viên đó. Và như thế ứng với mỗi sinh viên sẽ
có một giá trị cho mỗi thuộc tính của nó.
Trong mơ hình ER có nhiều kiểu thuộc tính: Thuộc tính đơn và thuộc tính
phức hợp, thuộc tính đơn trị và thuộc tính đa trị, thuộc tính được lưu trữ và thuộc tính
được suy diễn.
- Thuộc tính đơn: là thuộc tính khơng phân chia được thành những thành phần
nhỏ hơn.
- Thuộc tính phức hợp: là thuộc tính có thể phân chia thành các thành phần
nhỏ hơn. Ví dụ, thuộc tính họ tên của kiểu thực thể SINH_VIÊN có thể chia thành họ,
đệm và tên.

- Thuộc tính đơn trị: là thuộc tính có một giá trị duy nhất cho một thực thể cụ
thể.
- Thuộc tính đa trị: là thuộc tính có nhiều giá trị cho một thực thể cụ thể. Ví
dụ, thuộc tính số điện thoại của SINH_VIÊN là thuộc tính đa trị vì một sinh viên có
thể có nhiều số điện thoại.
- Thuộc tính lưu trữ:
- Thuộc tính được suy diễn: là thuộc tính có thể thu được từ thuộc tính khác.
Ví dụ, thuộc tính tuổi của SINH_VIÊN là thuộc tính được suy diễn vì thuộc tính này
được rút ra từ thuộc tính ngày sinh.
Trong mơ hình ER sử dụng một giá trị đặc biệt NULL để ghi nhận một thuộc
tính của một thực thể cụ thể chưa biết hay khơng tồn tại.
Một thuộc tính mà giá trị của nó xác định duy nhất mỗi thực thể trong tập thực
thể được gọi là thuộc tính Khóa đối với tập các thuộc tính này.
Ví dụ: Tập các thực thể tất cả các sinh viên của Học viện Tài chính có thể sử
dụng thuộc tính mã sinh viên như là một thuộc tính khóa.
Trong một số trường hợp, một số thuộc tính kết hợp với nhau tạo thành khóa.
Do vậy, một tập các thuộc tính như thế sinh ra một thuộc tính phức hợp và đó chính là
thuộc tính khóa cho kiểu thực thể đó. Và cũng có những thực thể có nhiều hơn một
khóa. Ví như, kiểu thực thể SINH_VIÊN ngồi thuộc tính khóa là mã sinh viên thì
thuộc tính số CMND cũng là thuộc tính khóa.
3. Liên kết (Quan hệ):
Để nghiên cứu các tập các thực thể, người ta thường xét các mối liên hệ của
chúng. Các quan hệ (Relationship/Association) thể hiện mối liên hệ của hai hay nhiều
thực thể.
Một kiểu quan hệ R giữa n kiểu thực thể E1, E2, …, En được định nghĩa là một
tập hợp các liên kết — hoặc một tập quan hệ — giữa các thực thể từ các kiểu thực thể
này. Một cách toán học, tập các quan hệ R là tập các quan hệ ri, trong đó ri thể hiện
Vũ Bá Anh – Phan Phước Long

12



Chương 1: Tổng quan về CSDL

mối liên hệ của n thực thể (e1, e2, …, en) với ej trong ri thuộc tập thực thể Ej (1≤ j ≤ n).
Vậy nên thấy ngay tập quan hệ R là tập con của tích Descartes E1 E2 … En và khi
đó n được gọi là cấp của kiểu liên kết
Ví dụ: Có thể xác định một quan hệ mà nó kết hợp một sinh viên s với một lớp
l. Quan hệ này đặc tả rằng sinh viên s là một thành viên của lớp l.

1.4.1.2 Sơ đồ thực thể - liên kết
Cấu trúc logic tổng thể của một cơ sở dữ liệu có thể được biểu diễn bởi một sơ
đồ ER. Để biểu thị các thành phần của mơ hình ER thơng qua đồ thị, sơ đồ người ta sử
dụng các kí hiệu sau:

Ví dụ 1: Mơ hình ER cho bài tốn Quản lí đơn đặt hàng của một cơng ty
Vũ Bá Anh – Phan Phước Long

13


Chương 1: Tổng quan về CSDL

Ví dụ 2: Xây dựng mơ hình ER cho cơ sở dữ liệu UNIVERSITY. Giả sử rằng
cần có một cơ sở dữ liệu để theo dõi việc đăng ký học của sinh viên trong các lớp học
và điểm cuối cùng của sinh viên. Sau khi phân tích các quy tắc và nhu cầu của người
dùng, các yêu cầu đối với cơ sở dữ liệu này được xác định như sau (để ngắn gọn, chỉ
hiển thị tên loại thực thể đã chọn và tên thuộc tính cho lược đồ khái niệm trong dấu
ngoặc đơn khi mô tả các yêu cầu; loại mối quan hệ tên chỉ được hiển thị trong sơ đồ
ER):

 Đại học được tổ chức thành các trường thành viên (COLLEGE), và mỗi
trường thành viên có một tên riêng (CName), văn phịng chính (COffice) và điện thoại
(CPhone), và một giảng viên cụ thể là trưởng khoa của trường. Mỗi trường thành viên
quản lý một số khoa học thuật (DEPT). Mỗi khoa có một tên riêng (DName), một mã
số duy nhất (DCode), một văn phòng chính (DOffice) và điện thoại (DPhone), và một
giảng viên cụ thể làm chủ nhiệm khoa từ ngày (CStartDate).
 Một bộ phận cung cấp một số khóa học (COURSE), mỗi khóa học có tên khóa
học duy nhất (CoName), mã số duy nhất (CCode), cấp độ khóa học (Level: có thể
được mã hóa là 1 cho cấp độ sinh viên năm nhất, 2 cho năm thứ hai, 3 cho năm thứ
ba, 4 cho năm thứ tư, 5 cho trình độ thạc sĩ và 6 cho trình độ tiến sĩ), một giờ tín chỉ
khóa học (Credits), và mơ tả khóa học (CDesc). Cơ sở dữ liệu cũng theo dõi những
người hướng dẫn (INSTRUCTOR); và mỗi người hướng dẫn có một định danh duy
nhất (Id), tên (IName), văn phòng (IOffice), điện thoại (IPhone), và cấp bậc (Rank);
Ngoài ra, mỗi giảng viên làm việc cho một khoa học chính.
 Cơ sở dữ liệu sẽ lưu dữ liệu sinh viên (STUDENT) và lưu trữ tên của mỗi sinh
viên (SName, bao gồm tên (FName), tên đệm (MName), họ (LName)), id sinh viên
(Sid, duy nhất cho mỗi sinh viên), địa chỉ (Addr), điện thoại (Phone), mã chính
(Major), và ngày sinh (DoB). Một sinh viên được chỉ định vào một khoa học chính.
Cần phải theo dõi điểm của sinh viên trong mỗi phần sinh viên đã hoàn thành.
 Các khóa học được cung cấp dưới dạng các mơn học (SECTION). Mỗi mơn
học liên quan đến một khóa học và một người hướng dẫn duy nhất và có một mã định

Vũ Bá Anh – Phan Phước Long

14


Chương 1: Tổng quan về CSDL

danh môn học duy nhất (SecId). Một mơn học cũng có số học phần (SecNo: phần này

được mã hóa là 1, 2, 3,... Cho nhiều phần được cung cấp trong cùng một học kỳ /
năm), học kỳ (Sem), năm (Year), lớp học (CRoom: this được mã hóa dưới dạng kết
hợp của mã tịa nhà (Bldg) và số phòng (RoomNo) trong tòa nhà) và ngày / giờ (Thời
gian trong ngày- DaysTime: ví dụ: 'ĐT-A306 7am – 7.50am' hoặc 'VH-108 3.20pm5.05pm'- bị hạn chế chỉ các giá trị ngày / giờ được phép). (Lưu ý: Cơ sở dữ liệu sẽ
theo dõi tất cả các môn học được cung cấp trong vài năm qua, ngồi các mơn học hiện
tại. SecId là duy nhất cho tất cả các môn học không chỉ các môn học cho một học kỳ
cụ thể.) Cơ sở dữ liệu theo dõi các sinh viên trong mỗi mơn học và điểm được ghi lại
khi có sẵn (đây là mối quan hệ nhiều-nhiều giữa sinh viên và các mơn học). Một mơn
học phải có ít nhất mười sinh viên.
Biểu đồ ER cho các yêu cầu này được thể hiện trong dưới bằng cách sử dụng ký
hiệu sơ đồ ER. Lưu ý rằng đối với loại thực thể SECTION, chúng tơi chỉ hiển thị
SecID dưới dạng khóa được gạch chân, nhưng do các ràng buộc của thực tế khác, một
số kết hợp giá trị khác phải là duy nhất cho mỗi thực thể SECTION. Ví dụ: mỗi kết
hợp sau phải là duy nhất dựa trên các ràng buộc điển hình:
1. (SecNo, Sem, Year, CCode (của COURSE liên quan đến SECTION)): Điều
này quy định rằng số môn của một khóa học cụ thể phải khác nhau trong mỗi học kỳ
và năm cụ thể.
2. (Sem, Year, CRoom, DaysTime): Điều này quy định rằng trong một học kỳ
và năm cụ thể, một lớp học không thể được sử dụng bởi hai môn học khác nhau vào
cùng một ngày / thời gian.
3. (Sem, Year, DaysTime, Id (của INSTRUCTOR giảng dạy SECTION): Điều
này quy định rằng trong một học kỳ và năm cụ thể, một giảng viên không thể dạy hai
môn cùng một ngày / thời gian. Lưu ý rằng quy tắc này sẽ không áp dụng nếu một
giảng viên được phép dạy hai phần kết hợp cùng nhau trong trường đại học cụ thể.

Vũ Bá Anh – Phan Phước Long

15




×