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

Khóa luận Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ

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 (1.46 MB, 61 trang )

Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC THƯƠNG MẠI
============

BÁO CÁO
ĐỀ TÀI NCKH CẤP TRƯỜNG
NGHIÊN CỨU CÁC PHƯƠNG PHÁP
TỔ CHỨC, TỐI ƯU KHAI THÁC DỮ LIỆU TRONG CƠ SỞ DỮ
LIỆU ĐÀO TẠO TÍN CHỈ

Chủ nhiệm đề tài: Hồng Ngọc Cảnh
Đơn vị: Trung tâm Công nghệ thông tin

Hà Nội, 3/2019

ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thơng tin

1


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

MỤC LỤC
DANH MỤC HÌNH VẼ................................................................................................. 4
DANH MỤC BẢNG BIỂU ........................................................................................... 4


DANH MỤC TỪ VIẾT TẮT ........................................................................................ 5
CHƯƠNG 1. TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI ............................................... 6
1. Tính cấp thiết nghiên cứu của đề tài...................................................................... 6
2. Tổng quan về đề tài nghiên cứu ............................................................................ 7
3.
4.

Mục tiêu nghiên cứu ............................................................................................ 10
Đối tượng và phạm vi nghiên cứu ....................................................................... 10

5.
6.

Phương pháp nghiên cứu ..................................................................................... 11
Kết cấu báo cáo nghiên cứu ................................................................................ 11

CHƯƠNG 2: LÝ THUYẾT VỀ THIẾT KẾ VÀ TỐI ƯU HÓA HIỆU NĂNG CƠ
SỞ DỮ LIỆU ................................................................................................................ 13
1. Tổng quan về cơ sở dữ liệu .................................................................................... 13
1.1. Các khái niệm liên quan ................................................................................... 13
1.2. Kiến trúc của hệ thống CSDL .......................................................................... 16
1.3. Lược đồ và thể hiện của CSDL ........................................................................ 17
1.4. Mơ hình dữ liệu ................................................................................................ 18
1.5. Một số các dạng chuẩn CSDL .......................................................................... 20
2. Các vấn đề liên quan tới hiệu năng cơ sở dữ liệu và cách giám sát ....................... 25
2.1. Một số vấn đề liên quan tới hiệu năng cơ sở dữ liệu........................................ 25
2.2. Công cụ giám sát và cảnh báo sớm hiệu năng CSDL ...................................... 26
3. Các phương pháp tối ưu hóa cơ sở dữ liệu mức vật lý ........................................... 28
3.1. Nội dung thiết kế tệp vật lý và cơ sở dữ liệu vật lý.......................................... 28
3.2. Thiết kế các trường ........................................................................................... 32

3.3. Thiết kế các bản ghi vật lý ............................................................................... 35
3.4. Thiết kế các file vật lý ...................................................................................... 36
3.5. Ví dụ về thiết kế file ......................................................................................... 42
4.1. Tối ưu tổ chức dữ liệu ...................................................................................... 43
4.2. Tối ưu trong viết lệnh truy vấn ......................................................................... 46
CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ MỘT SỐ GIẢI PHÁP TỐI ƯU
HÓA TRÊN CƠ SỞ DỮ LIỆU TTN TRONG QUẢN LÝ ĐTTC .......................... 50
TÀI LIỆU THAM KHẢO........................................................................................... 57
PHỤ LỤC ..................................................................................................................... 58
Phụ lục 1: Một số các định nghĩa liên quan đến các dạng chuẩn ............................... 58
ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thông tin

2


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

Phụ lục 2: Ví dụ về các file sau khi tiến hành thiết kế vật lý ..................................... 61

ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thơng tin

3


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019


DANH MỤC HÌNH VẼ
Hình 1: Hệ cơ sở dữ liệu ................................................................................................ 15
Hình 2: Kiến trúc 3 mức của CSDL .............................................................................. 16
Hình 3: Ví dụ về CSDL quản lý quá trình học tập của sinh viên .................................. 17
Hình 4: Ví dụ về các lược đồ ......................................................................................... 18
Hình 5: Ví dụ về thể hiện của CSDL ............................................................................. 18
Hình 6: Ví dụ quan hệ chưa ở dạng chuẩn 1 ................................................................. 21
Hình 7: Ví dụ về quan hệ được chuẩn hóa về dạng chuẩn 1 ......................................... 21
Hình 8: Ví dụ về quan hệ được chuẩn hóa về dạng chuẩn 2 ......................................... 22
Hình 9: Ví dụ về quan hệ khơng đạt chuẩn BCNF ........................................................ 24
Hình 10: Ví dụ về quan hệ được chuẩn hóa về dạng BCNF ......................................... 25
Hình 11: CPU performance bottlenecks command checks ........................................... 26
Hình 13: Sử dụng Retrace APM hiển thị mức độ truy vấn của các chương trình ......... 27
Hình 14: Sử dụng SQL Server Profiler giám sát hệ thống ............................................ 27
Hình 15: Tổ chức file theo kiểu tuần tự......................................................................... 39
Hình 16: Tổ chức file theo kiểu băm ............................................................................. 40
Hình 17: Tổ chức file theo chỉ mục ............................................................................... 41
Hình 18: Chứng từ đơn đặt hàng ................................................................................... 42
Hình 19: Chứng từ phiếu giao hàng .............................................................................. 43
Hình 20: Lược đồ cơ sở dữ liệu thi trắc nghiệm học phần ............................................ 51
Hình 21: Cấu trúc bảng tblSinhVienLopHocPhanDeThi .............................................. 54
Hình 22: Kết quả sau khi đặt Non_Clustered_Index ..................................................... 55
Hình 23: So sánh hiệu năng truy vấn trên bảng có Non_Clustered_Index ................... 55

DANH MỤC BẢNG BIỂU
Bảng 1: Bảng mô tả các trường ..................................................................................... 31
Bảng 2: Bảng các đặc tả tiêu biểu đối với thiết kế bản ghi ........................................... 31
Bảng 3: Bảng các đặc tả tiêu biểu đối với thiết kế file .................................................. 32
Bảng 4: Bảng các đặc tả tiêu biểu đối với thiết kế CSDL ............................................. 32
Bảng 5: Một số kiểu dữ liệu cơ bản trong Microsoft Access và SQL Server ............... 33

Bảng 6: Bảng so sánh các cách tổ chức file khác nhau ................................................. 42
Bảng 7: Bảng lưu trữ thông tin về khách hàng .............................................................. 61
Bảng 8: Bảng lưu trữ thông tin về hàng hóa ................................................................. 61
Bảng 9: Bảng lưu trữ thơng tin về đơn hàng ................................................................. 61
Bảng 10: Bảng lưu trữ thông tin về dòng đơn hàng ...................................................... 61
Bảng 11: Bảng lưu trữ thông tin về phiếu giao hàng .................................................... 61
Bảng 12: Bảng lưu trữ thơng tin về dịng phiếu giao hàng ........................................... 61
ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thơng tin

4


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

DANH MỤC TỪ VIẾT TẮT
1.

DANH MỤC TỪ VIẾT TẮT TIẾNG VIỆT

STT

Từ viết tắt

Cụm từ đầy đủ

1

CSDL


Cơ sở dữ liệu

2

NSD

Người sử dụng

3

QT CSDL

Quản trị cơ sở dữ liệu

4

TTN

Thi trắc nghiệm

5

ĐTTC

Đào tạo tín chỉ

2.

DANH MỤC TỪ VIẾT TẮT TIẾNG ANH


STT

Từ viết tắt

Cụm từ đầy đủ

Nghĩa Tiếng Việt

1

ER

Entity Relationship

Thực thể liên kết

2

NF

Normal Form

Dạng chuẩn

3

OLTP

Online Transaction Processing


Xử lý giao dịch trực tuyến

4

OLAP

Online Analysis Processing

Xử lý phân tích trực tuyến

ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

5


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

CHƯƠNG 1. TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI
1. Tính cấp thiết nghiên cứu của đề tài
Thiết kế, tổ chức và tối ưu trong khai thác dữ liệu luôn là chủ đề quan trọng trong
hầu hết các nghiên cứu, diễn đàn trao đổi về cơ sở dữ liệu. Trong thời đại ngày nay,
khi mà mọi thứ đều được số hóa, được quản lý bởi máy tính và các hệ quản trị cơ sở
dữ liệu thì nhiệm vụ tổ chức và tối ưu dữ liệu trở thành công việc hàng ngày của các
nhà quản trị và lập trình viên cơ sở dữ liệu. Về nguyên lý, tất cả các bài tốn trước khi
được đưa vào quản lý trên máy tính đều được khảo sát, phân tích, thiết kế chuẩn mực
để tạo nên những hệ thống thông tin quản lý ổn định. Tuy nhiên việc khảo sát và phân
tích nhiều khi mang tính chất đáp ứng nhanh cơng việc hiện tại nhằm đẩy nhanh tiến

độ xây dựng các hệ thống quản lý, điều này khiến cho các cơ sở dữ liệu thiếu tính
chuẩn hóa hoặc thiếu tính mở rộng nên khi đưa vào hoạt động thực tế sẽ phát sinh các
nhu cầu không thể giải quyết. Và tiếp tục theo cách xử lý “đặt giải quyết vấn đề trước
mắt lên trên hết” sẽ là cơ sở để các quản trị viên, lập trình viên bổ sung hoặc sửa đổi
các đối tượng, thực thể, quan hệ trong cơ sở dữ liệu một cách tùy ý để thuận lợi cho
công việc trước mắt. Về lâu dài, việc này sẽ làm cơ sở dữ liệu (CSDL) ngày càng phi
chuẩn và khó bảo trì. Bên cạnh đó, việc sử dụng CSDL q lâu mà khơng có biện pháp
sao lưu – bảo trì sẽ làm số lượng bản ghi ngày càng tăng, các bảng quan hệ vòng, dư
thừa dữ liệu và phi chuẩn sẽ làm giảm sự đồng bộ, các lệnh truy vấn chậm chạp và quá
tải hơn sẽ dẫn đến nguy cơ sụp đổ của các hệ thống thông tin quản lý. Rõ ràng việc tìm
ra các giải pháp tổ chức và truy vấn dữ liệu tối ưu là vô cùng cần thiết trong tất cả các
giai đoạn khảo sát, thiết kế, vận hành cơ sở dữ liệu. Ở mỗi thời điểm hoạt động, người
quản trị viên cần có những biện pháp kỹ thuật phù hợp để đánh giá và tái tổ chức dữ
liệu, khai thác dữ liệu trên nguyên tắc giảm tối thiểu việc lập trình lại các chức năng
phần mềm, mọi tác động chỉ nên nằm trên cơ sở dữ liệu.
Đối với các cơ sở dữ liệu quan hệ áp dụng trong các bài toán quản lý (quản lý
bán hàng, quản lý nhân sự, kế tốn, thiết bị, …) lượng thơng tin giao dịch (thêm sửa
xóa) thường xuyên và khá lớn, đặc biệt hệ thống báo biểu (hóa đơn, báo cáo tài
chính,…) trích xuất từ các cơ sở dữ liệu này có tính tổng hợp cao, tính tốn nhiều trên
một khoảng thời gian phát sinh dữ liệu, vì vậy bên cạnh các thuật tốn hiệu quả để lấy
dữ liệu thì các phương pháp, kỹ thuật tổ chức, truy vấn T-SQL cũng đóng vai trò quan
trọng giúp cải thiện đáng kể hiệu năng của hệ thống. Một hệ thống tốt là một hệ thống
sẵn sàng đáp ứng nhu cầu người dùng ngay trên những hạ tầng tối thiểu, qua đó có thể
thấy việc xử lý tối ưu cơ sở dữ liệu quan trọng hơn nhiều với việc tăng cường năng lực
hạ tầng (mạng, máy chủ, hệ điều hành…).
Trong số các bài toán quản lý nêu trên, bài tốn quản lý đào tạo theo tín chỉ trên
nền tảng cơ sở dữ liệu quan hệ cũng được xếp vào nhóm cần thường xun bảo trì
ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

6



Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

nâng cấp, vì theo thiết kế ban đầu các cơ sở dữ liệu đào tạo tín chỉ hầu hết là đáp ứng
các nhu cầu quản lý trước mắt của các cơ sở đào tạo, các thông số cơ bản của cơ sở dữ
liệu tuân theo quy chế đào tạo tín chỉ của Bộ giáo dục và Đào tạo. Tuy nhiên nghiệp vụ
đào tạo mỗi cơ sở đều có đặc thù riêng và trong một cơ sở giáo dục cũng ln có sự
thay đổi nâng cấp các u cầu trong quản lý để phù hợp với sự phát triển và định
hướng của họ, đây chính là lý do khiến cấu trúc của các cơ sở dữ liệu này bị can thiệp
thường xuyên, đặc biệt hơn số lượng bản ghi sinh viên, bản ghi điểm, bản ghi lớp học
phần,… liên tục gia tăng qua mỗi học kỳ, việc tổ chức cho phép người dùng giới hạn
dữ liệu chiết xuất, tối ưu từng đoạn mã lệnh trở nên cực kỳ cần thiết. Tại Việt Nam,
hầu hết các trường đại học đều theo xu hướng phát triển và ứng dụng công nghệ thơng
tin trong quản lý đào tạo theo tín chỉ từ khá sớm. Các trường có thể mua hoặc tự xây
dựng hệ thống phần mềm quản lý riêng cho mình với những module chức năng cơ bản
đầu tiên đối với hệ đào tạo chính quy (trong đó cơ sở dữ liệu là một trong những
module quan trọng nhất), cho đến hàng loạt các module quản lý cho các hệ đào tạo
khác như: sau đại học, nghiên cứu sinh, tại chức, đào tạo quốc tế. Các module này liên
tục được bổ sung và chỉnh sửa qua các học kỳ dẫn đến Cơ sở dữ liệu ban đầu ngày
càng lớn và phức tạp hơn, cụ thể như: nhiều thực thể hơn, nhiều quan hệ hơn, nhiều dữ
liệu hơn; nhiều chức năng hơn; nhiều hàm – store – view hơn; và đặc biệt rất nhiều
bảng phụ - bảng trung gian để phục vụ lưu trữ và tính tốn. Điều này dẫn đến vấn đề
hệ thống bị chậm khi sinh viên đăng ký, quá tải khi nhập điểm, nhập học, thậm chí đơi
khi gây ra sai xót về mặt dữ liệu. Rõ ràng vấn đề rà sốt bảo trì liên tục và thường
xun áp dụng các biện pháp tối ưu thiết kế, tối ưu truy vấn là vô cùng cần thiết để
giúp hệ thống thông tin của các nhà trường cũng như doanh nghiệp hoạt động ổn định,
hiệu quả.

Từ tình hình thực tế và nhu cầu đó, chúng tơi chọn đề tài “Nghiên cứu các
phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ”
để nghiên cứu với kỳ vọng nghiên cứu các kỹ thuật thực tiễn có thể ứng dụng nhanh
chóng và bền vững giúp các cơ sở dữ liệu đào tạo tín chỉ cho các hệ đào tạo của Nhà
trường ngày càng tối ưu và hiệu của hơn.

2. Tổng quan về đề tài nghiên cứu
Tổng quan về đề tài nghiên cứu trong nước
Ngày nay, hầu hết các lĩnh vực trong cuộc sống đều được ứng dụng quản lý số và
đặc biệt là việc ứng dụng các phần mềm quản lý dữ liệu trên nền tảng các hệ quản trị
cơ sở dữ liệu quan hệ. Trong xu hướng này, các trường Đại học nói chung và Đại học
Thương mại nói riêng đều quan tâm và đầu tư cho hệ thống cơ sở dữ liệu đào tạo (chủ
yếu là đào tạo tín chỉ). Các hệ thống này được thiết kế chặt chẽ theo quy chế đào tạo
tín chỉ của Bộ giáo dục & Đào tạo quy định, kết hợp với tính chất riêng của mỗi Nhà
ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

7


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

trường. Tuy nhiên, các quy định đào tạo trong Quy chế khi đưa vào thực tiễn sẽ cần có
nhiều tùy biến cho phù hợp với đặc thù của các cơ sở đào tạo, chính điều này tạo ra sự
thiếu thống nhất về mặt thiết kế, quy chuẩn và khai thác cơ sở dữ liệu đào tạo. Có rất
nhiều cơng trình nghiên cứu mang tính lý thuyết và tính ứng dụng về các kỹ thuật tổ
chức, tối ưu dữ liệu đã được thực hiện ở Việt Nam. Các nghiên cứu thường được phân
chia theo hai hướng:
Thứ nhất, các nghiên cứu theo hướng lý thuyết chung về việc tổ chức, thiết kế và

tối ưu truy vấn dữ liệu trong các hệ quản trị cơ sở dữ liệu (đặc biệt là hệ quản trị cơ sở
dữ liệu quan hệ). Các công trình nghiên cứu này thường khá đa dạng dưới dạng thức
các sách chuyên khảo, tham khảo, giáo trình, bài giảng, cụ thể như:
Theo (Nguyễn Thị Thu Thủy cùng cộng sự, 2015) hay (Hồ Thuần - Hồ Cẩm Hà,
2009; Nguyễn Kim Anh – 2008; Phương Lan - 2007) có những cơng trình dưới hình
thức sách - giáo trình, các tài liệu này đều khái quá hóa ở mức lý thuyết chung nhất
của các nguyên lý thiết kế, chuẩn hóa và khai thác dữ liệu cơ bản trong cơ sở dữ liệu
quan hệ. Các tài liệu cũng có các ví dụ để người đọc (chủ yếu là đối tượng sinh viên)
có thể nắm bắt được căn bản các quy trình, kỹ thuật trong phân tích thiết kế cơ sở dữ
liệu, tuy nhiên chưa có một bài tốn quản lý dữ liệu mang tính chất tồn diện hay các
tình huống sự cố liên quan tới việc đánh giá hiệu năng và giải pháp xử lý trong thực
tế. Có thể nói, các tài liệu này định hướng vào việc cung cấp kiến thức nền tảng nhiều
hơn là việc nâng cao các kỹ thuật thiết kế, tổ chức và tối ưu khai thác dữ liệu.
Theo (Nguyễn Văn Dũng, 2012) đã thực hiện luận văn “Tối ưu hóa truy vấn trên
cơ sở dữ liệu phân tán” trong đó tác giả đã chỉ ra việc bùng nổ dữ liệu sẽ khiến các
nhà quản trị phải quan tâm hơn đến hiệu năng khi khai thác dữ liệu. Qua đó, tác giả đã
trình bày một số phương pháp và thuật toán trong việc tối ưu các câu lệnh truy vấn,
những phương pháp này cũng chỉ dừng ở mức lý thuyết và chưa thực sự được kiểm
nghiệm ở một cơ sở dữ liệu lớn có thật.
Thứ hai, các nghiên cứu theo hướng thực nghiệm rõ ràng trên một hệ quản trị cơ
sở dữ liệu cụ thể như SQL SERVER, ORACLE, MY SQL, DB2,…Các cơng trình này
định hướng chủ yếu vào việc sử dụng độc lập hay kết hợp các kỹ thuật chuẩn hóa với
phi chuẩn hóa; cũng như đưa ra các ví dụ cụ thể về việc tối ưu các lệnh truy vấn T
SQL trong các bối cảnh khác nhau. Hầu hết các nghiên cứu, tài liệu theo hướng này
đều xuất bản dưới các diễn đàn, hội thảo trực tuyến chuyên về cơ sở dữ liệu. Cụ thể
một số tài liệu sau:
Theo (Trung tâm tin học khoa học tự nhiên, 2018) đã chỉ ra các cách tối ưu cơ sở
dữ liệu trong Hệ quản trị cơ sở dữ liệu SQL Server từ những trải nghiệm thực tế. Bài
viết đã nêu cụ thể các kỹ thuật và ý nghĩa của chúng cùng ví dụ, tuy nhiên đơn thuần
chỉ là các phương pháp xử lý sau thiết kế và tổ chức cơ sở dữ liệu.

Theo (Lê Hồng Chương, 2014) lại có một cách khác trong việc tiếp cận xử lý tối
ưu câu lệnh truy vấn. Tác giả tập trung việc phân tích câu lệnh trên cơ sở toán học (đại
số quan hệ) để tìm cách giản lược câu truy vấn. Phương pháp này khó, mất nhiều thời
gian đối với các câu truy vấn phức tạp. Hơn nữa, có thể tận dụng rất nhiều cơng nghệ
ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thông tin

8


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

tối ưu đặc thù khác của các hệ quản trị cơ sở dữ liệu thay vì phải cố gắng phân tích
dưới góc độ tốn học để tối ưu. Việc phân tích tối ưu được trên đại số quan hệ lại
cũng phụ thuộc nhiều vào việc cơ sở dữ liệu phải được chuẩn hóa ở một cấp độ nhất
định, rõ ràng điều này không phù hợp trong một bài toán lớn, khi mà các nhà thiết kế,
quản trị cơ sở dữ liệu phải chấp nhận phi chuẩn hóa để đổi lấy tốc độ và sự đơn giản
trong lập trình cũng như trong triển khai.
Theo (Đặng Quốc Hữu, Hoàng Ngọc Cảnh - 2008-2010) đã thực hiện hàng loạt
các đề tài nghiên cứu khoa học và dự án nghiên cứu triển khai liên quan tới việc “Xây
dựng và nâng cấp các hệ thống phần mềm và cơ sở dữ liệu đào tạo tín chỉ”. Các cơng
trình này đã tập trung vào vấn đề xây dựng thiết kế cơ sở dữ liệu đào tạo tín chỉ theo
hướng thuận lợi để ứng dụng ngay, phù hợp với bổi cảnh Trường ĐH Thương mại,
bước đầu số hóa các dữ liệu đào tạo. Vì vậy các kỹ thuật thiết kế còn quá nhiều bước
thiếu chuẩn hóa, các câu lệnh khai thác ở mức chạy đủ chạy đúng dữ liệu mà chưa tập
trung về tối ưu tốc độ, bộ nhớ. Hệ quả là trong bối cảnh dữ liệu đào tạo ngày càng lớn,
các thiết kế và truy vấn dữ liệu nói trên sẽ bộc lộ nhiều điểm yếu.
Tổng quan về đề tài nghiên cứu ngoài nước
Tối ưu hóa việc tổ chức và khai thác dữ liệu trong các cơ sở dữ liệu không phải là

chủ đề mới, tuy nhiên các tổ chức, tập đồn cơng nghệ và các quản trị viên trên khắp
thế giới vẫn luôn khơng ngừng tìm hiểu những phương pháp, kỹ thuật ngày càng tốt
hơn để phù hợp với vô số các bài toán quản lý thực tiễn. Chỉ với một vài từ khóa
Optimize Data, Improve Query hay Database Normalization trên mạng Internet,
chúng ta sẽ nhận được hàng ngàn kết quả liên quan tới việc tổ chức và tối ưu hóa dữ
liệu, qua đó thấy được đây thực sự là một nhánh nghiên cứu quan trọng trong lĩnh vực
quản trị dữ liệu số.
Theo Craig S. Mullins một chuyên gia về quản trị dữ liệu, hiệu năng của một cơ
sở dữ liệu phụ thuộc vào hàng loạt yếu tố như cấu trúc của cơ sở dữ liệu, các tham số
vật lý - logic liên quan tới các đối tượng mà dữ liệu mô phỏng. Tuy nhiên nghiên cứu
của tác giả đăng trên searchoracle.techtarget.com mới chỉ tập trung vào các vấn đề
Partionning và Indexing mà chưa quan tâm đến việc tổ chức, phân tích và chuẩn hóa
các thực thể dữ liệu cũng như các phương pháp tối ưu trong viết lệnh truy vấn.
Theo Martin Goodwell một thành viên của Dynatrace Innovation Lab, đã chỉ ra
năm bước tổng quát để tối ưu hóa một cơ sở dữ liệu bất kỳ, bao gồm: kiểm tra máy
chủ chứa cơ sở dữ liệu, đối tượng sử dụng dữ liệu, vấn đề cân tải và đáp ứng của các
dịch vụ sử dụng dữ liệu, số lượng kết nối đồng lúc tới cơ sở dữ liệu và cuối cùng là hạ
tầng mạng cho cơ sở dữ liệu. Với cách tiếp cận này, tác giả như đặt mặc định một cơ
sở dữ liệu có sẵn và chỉ quan tâm tới mơi trường lý tưởng để triển khai cơ sở dữ liệu
này mà chưa có những hướng dẫn tới việc cải thiện hiệu năng nội tại trong cơ sở dữ
liệu.
Theo Rodrigo Koch một nhà phát triển phần mềm ứng dụng – làm việc tại
Samsung Latin America, đã có những nghiên cứu cụ thể về SQL Database
Performance Tuning. Trong đó chỉ ra nhiều phương pháp tối ưu cụ thể với những góc
ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

9


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường


2019

nhìn của lập trình viên và của người quản trị Database. Những nội dung này chủ tập
trung vào tối ưu câu lệnh T-SQL, chưa quan tâm tới phân tích thiết kế cơ sở dữ liệu.
Trong thực tế, vấn đề tổ chức và tối ưu hóa khai thác dữ liệu có thể giải quyết
theo nhiều phương pháp khác nhau. Trong đó, có hai hướng tiếp cận chính: hướng
tiếp cận tối ưu tổ chức thiết kế các thực thể và hướng tiếp cận áp dụng các công nghệ
đặc thù của hệ quản trị dữ liệu – áp dụng các kỹ thuật tối ưu lệnh truy vấn – nâng cao
hạ tầng triển khai cơ sở dữ liệu.
Hướng tiếp cận tối ưu tổ chức thiết kế các thực thể: bao gồm các phương pháp:
thiết kế lược đồ dữ liệu (Database schema - ERD); chuẩn hóa dữ liệu (Normalization)
và phi chuẩn hóa dữ liệu (Denormalization). Các phương pháp trên đều là những lý
thuyết kinh điển trong thiết kế cơ sở dữ liệu mà rất nhiều cuốn sách đã trình bày, ví dụ
như: Pro SQL Server 2012 Relational Database Design and Implementation - Louis
Davidson, Jessica M.Moss; Fundamentals of Database Systems - Ramez Elmasri,
Shamkant B. Navathe;…
Hướng tiếp cận áp dụng các công nghệ đặc thù của hệ quản trị dữ liệu – áp dụng
các kỹ thuật tối ưu lệnh truy vấn – nâng cao hạ tầng triển khai cơ sở dữ liệu: Các kỹ
thuật tạo chỉ mục tìm kiếm (Indexing); Kế hoạch thực thi lệnh (Execution Plans);
Chống lặp lệnh truy vấn, truy vấn lồng (Avoid Correlated SQL Subqueries); Sử dụng
biến tạm, bảng tạm (Temporary Tables, Variables), Phân mảnh bản ghi
(Partionning),…. Các nội dung theo hướng này dễ ứng dụng và có tính thực tiễn cao,
phù hợp cho các lập trình viên và nhà quản trị dữ liệu. Tài liệu theo hướng tiếp cận
này phong phú, dễ tìm kiếm, cụ thể có thể tham khảo trên hàng loạt các website chia
sẻ cơng nghệ uy tín trên thế giới như: CodeProject.net, Toptal.com;
Searchoracle.techtarget.com; Jaxenter.com,…

3. Mục tiêu nghiên cứu
Đề tài nghiên cứu tổng quan về các kỹ thuật tổ chức, tối ưu truy vấn dữ liệu trong

quản trị cơ sở dữ liệu quan hệ. Tập trung chi tiết vào phân tích cấu trúc hiện tại của cơ
sở dữ liệu đào tạo tín chỉ Đại học Thương mại, áp dụng các phương pháp tối ưu hóa
các bó lệnh khai thác dữ liệu của Database này, cụ thể:
Tổng quan về phương pháp thiết kế, chuẩn hóa và tối ưu hóa câu lệnh T-SQL
trong cơ sở dữ liệu quan hệ.
Tổ chức lại các thực thể và áp dụng tối ưu hóa một số nhóm store lấy dữ liệu quan
trọng.

4. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
Một số phương pháp thiết kế và tổ chức cơ sở dữ liệu như: Thiết kế logic, Thiết
kế vật lý
Một số kỹ thuật tối ưu dữ liệu: Indexing, Execute Plan, Partioning, Sub Query,…
ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin

10


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

Phạm vi nghiên cứu:
Đề tài tập trung nghiên cứu vấn đề tổ chức dữ liệu, tối ưu hóa câu lệnh T-SQL
trên cơ sở dữ liệu quan hệ (RDBMS).
Thực nghiệm một số phương pháp tổ chức và tối ưu khai thác dữ liệu trên cơ sở
dữ liệu đào tạo tín chỉ của trường Đại học Thương mại.

5. Phương pháp nghiên cứu
Cách tiếp cận

Đánh giá từ việc bùng nổ dữ liệu trên cơ sở dữ liệu đào tạo tín chỉ của trường Đại
học Thương mại và những hệ quả của nó trong những học kỳ gần đây để phát hiện ra
nguyên nhân trong vấn đề tổ chức và lệnh khai thác dữ liệu.
Phương pháp nghiên cứu
Đề tài đã sử dụng phương pháp thu thập dữ liệu thứ cấp: các tài liệu (về thiết kế,
tổ chức cơ sở dữ liệu, các kỹ thuật tối ưu hóa) nhằm đưa ra một số kiến thức tổng quan
về tổ chức và tối ưu hóa trong khai thác dữ liệu trên cơ sở dữ liệu quan hệ.
Phương pháp xử lý dữ liệu: sử dụng phương pháp thống kê, so sánh nhằm nêu ra
được những sự khác biệt giữa hiệu năng của các bó lệnh trước và sau khi cải tiến.
Nguồn dữ liệu sử dụng trong nghiên cứu là bản sao dữ liệu của cơ sở dữ liệu tín
chỉ Trường ĐH Thương mại.

6. Kết cấu báo cáo nghiên cứu
Về nội dung và bố cục, ngoài các phần như: mục lục, danh mục hình vẽ, danh
mục từ viết tắt và tài liệu tham khảo, phụ lục, báo cáo được trình bày gồm 3 chương:
Chương 1: Tổng quan nghiên cứu đề tài
Chương này sẽ trình bày sơ lược về tổng quan đề tài nghiên cứu: tính cấp thiết,
tình hình nghiên cứu về đề tài ở trong và ngồi nước, mục tiêu nghiên cứu, đối tượng,
phạm vi nghiên cứu, và các phương pháp nghiên cứu khi tìm hiểu về vấn đề phi chuẩn
khi thiết kế CSDL trong hệ thống thông tin.
Chương 2: Lý thuyết về thiết kế và tối ưu hóa hiệu năng cơ sở dữ liệu
Nội dung chương này sẽ trình bày một cách tổng quan nhất về CSDL, bao gồm
các khái niệm cơ bản, kiến trúc 3 mức của hệ thống CSDL, giới thiệu một số mô hình
dữ liệu phổ biến và một số các dạng chuẩn khi thiết kế CSDL, đồng thời liệt kê ra các
vấn đề thường gặp với hiệu năng hoạt động của CSDL cũng như cách thức tối ưu hóa
CSDL trên các khía cạnh thiết kế và tổ chức dữ liệu.

ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin

11



Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

Chương 3: Thử nghiệm và đánh giá một số giải pháp tối ưu hóa trên cơ sở dữ
liệu thi trắc nghiệm trong quản lý đào tạo tín chỉ
Nội dung chương này sẽ đề cập đến một số kết quả đạt được khi áp dụng các kỹ
thuật tối ưu trên cơ sở dữ liệu đào tạo tín chỉ của Trường Đại học Thương mại, bao
gồm tổ chức thiết kế lại các thực thể và tối ưu lệnh truy vấn trong các store, view,
function,…

ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thông tin

12


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

CHƯƠNG 2: LÝ THUYẾT VỀ THIẾT KẾ VÀ TỐI ƯU HÓA
HIỆU NĂNG CƠ SỞ DỮ LIỆU
1. Tổng quan về cơ sở dữ liệu
1.1. Các khái niệm liên quan
Trong những năm gần đây, thuật ngữ CSDL – Database đã trở nên quen thuộc
trong hầu hết mọi lĩnh vực. Các ứng dụng tin học vào công tác quản lý ngày càng
nhiều và đa dạng, hầu hết mọi lĩnh vực kinh tế, xã hội,…đều đã ứng dụng các thành
tựu mới của tin học vào phục vụ công tác chuyên môn của mình. Chính vì lẽ đó mà

ngày càng nhiều người quan tâm đến phân tích, thiết kế, xây dựng và ứng dụng CSDL.
Trước khi các hệ CSDL ra đời, mỗi chương trình ứng dụng đều có một tệp dữ
liệu tương ứng và mỗi khi chương trình ứng dụng cần được sửa đổi hoặc mở rộng thì
tệp dữ liệu tương ứng cũng phải sửa đổi theo. Việc lưu trữ thông tin của một tổ chức
trong một hệ xử lý tệp như vậy có những nhược điểm sau:
- Dư thừa dữ liệu và khơng nhất qn: vì cùng một dữ liệu có thể được lưu trữ
trong nhiều tệp khác nhau nên khi tiến hành cập nhật có thể bỏ sót và dẫn tới khơng
nhất qn.
- Khó khăn trong việc truy cập dữ liệu: vì các mơi trường xử lý tệp truyền thống
khơng cho phép dữ liệu được tìm kiếm theo cách thức thuận tiện và hiệu quả.
- Sự cô lập của dữ liệu: vì dữ liệu nằm rải rác trong nhiều tệp và các tệp có thể có
khn dạng khác nhau nên khó viết các chương trình ứng dụng mới để tìm các dữ liệu
thích hợp.
- Các vấn đề tồn vẹn: vì khi có thêm những ràng buộc mới thì khó thay đổi các
chương trình để có thể tn thủ đúng các ràng buộc trên.
- Các vấn đề tính nguyên tố của các giao tác: với hệ thống xử lý tệp truyền thống
khó có thể đảm bảo được tính chất “hoặc thực hiện hồn tồn hoặc khơng thực hiện gì”
và khó đưa ra được hệ thống trở về trạng thái nhất quán trước khi xảy ra sự cố.
-

Các dị thường của truy cập tương tranh: vì để tăng tính hiệu quả và trả lời

nhanh hơn, nhiều hệ thống cho phép nhiều người dùng có thể cập nhật dữ liệu đồng
thời, vì vậy có thể dẫn tới khả năng dữ liệu không nhất quán.
- Các vấn đề an tồn: thơng thường thì mỗi người dùng của hệ CSDL chỉ được
phép truy cập một phần của CSDL và điều đó cũng là một biện pháp giữ cho dữ liệu
trong CSDL an tồn. Cịn với hệ xử lý tệp truyền thống thì các chương trình ứng dụng
được thêm vào hệ thống theo một cách thức không tiên liệu trước nên rất khó đảm bảo
được các ràng buộc an toàn như vậy.
ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin


13


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

Chính vì những lý do nêu trên mà các hệ CSDL đã ra đời.
1.1.1. Cơ sở dữ liệu
Một CSDL là một tập hợp các dữ liệu có liên quan với nhau chứa thông tin về
một tổ chức nào đó (như một trường đại học, một ngân hàng, một công ty, một nhà
máy,…) được lưu trữ trên các thiết bị nhớ thứ cấp (như từ, đĩa từ,…) để đáp ứng nhu
cầu khai thác thông tin của nhiều NSD với nhiều mục đích khác nhau.
Như vậy, CSDL có các tính chất đặc trưng:
-

CSDL phản ánh thông tin về hoạt động của một tổ chức nhất định, nghĩa là biểu

thị một phần nào đó của thế giới thực (thế giới nhỏ).
-

CSDL phải là tập hợp các thơng tin mang tính hệ thống tức là CSDL phản ánh

được một cách trung thực sự thay đổi của thế giới nhỏ.
- Thông tin lưu trữ trong CSDL được chia sẻ cho nhiều NSD và nhiều ứng dụng
khác nhau.
Từ đó có thể thấy việc xây dựng và khai thác CSDL liên quan tới một số vấn đề
như đảm bảo tính nhất qn và tồn vẹn dữ liệu, tính bảo mật và quyền khai thác của
NSD, tính an tồn cho dữ liệu khi xảy ra sự cố.

1.1.2. Hệ quản trị CSDL
Hệ quản trị CSDL là một tập hợp các chương trình cho phép người dùng định
nghĩa, tạo lập, bảo trì các CSDL và cung cấp các truy cập có điều khiển đến các
CSDL này.
Một số các hệ quản trị CSDL điển hình như IMS (Information Management
System), IDS (Integrated Data Store), Sysbase, Access, Foxpro, SQL-Server,
Oracle,…
Như vậy một hệ quản trị CSDL là phần mềm tương tác với các chương trình ứng
dụng của người dùng và CSDL. Một hệ quản trị CSDL cung cấp các phương tiện sau:
- Ngôn ngữ định nghĩa dữ liệu (Data Denifition Language - DDL): cho phép
người dùng định nghĩa CSDL (đặc tả các kiểu và các cấu trúc dữ liệu, đặc tả các ràng
buộc trên các dữ liệu được lưu trữ trong CSDL)
Ví dụ: Tạo bảng Co chứa dữ liệu về thực thể cơng ty (bao gồm Số hiệu cơng ty
có tối đa 2 kí tự, Tên cơng ty có tối đa 10 kí tự, Vốn của cơng ty có tối đa 4 số) như
sau:

Create table Co(Sohieu Char(2), Ten Char(10), Von Number(4,0))

- Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): cho phép
người dùng thêm, xóa, cập nhật dữ liệu và truy xuất dữ liệu trong CSDL. Một ngơn

ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

14


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019


ngữ cho phép người dùng truy cập hoặc thao tác CSDL được tổ chức bởi một mơ hình
thích hợp.
Ví dụ: Update…
Insert…
Delete…
Select…From…Where…
- Các kiểm sốt, các điều khiển đối với việc truy cập vào CSDL.
Ví dụ: Hệ thống an ninh ngăn cấm sự cố tình truy cập vào CSDL một cách trái
phép hoặc hệ thống ràng buộc toàn vẹn duy trì tính nhất qn của DL hoặc hệ thống
điều khiển khơi phục CSDL khi có sự cố.
1.1.3. Hệ cơ sở dữ liệu
Hệ CSDL là dùng để chỉ một CSDL và một hệ quản trị CSDL để truy cập vào
CSDL đó.
Mục đích chính của một hệ CSDL là cung cấp cho người dùng một cách nhìn
trừu tượng về dữ liệu. Điều đó có nghĩa là hệ thống che dấu những chi tiết phức tạp về
cách thức dữ liệu được lưu trữ và bảo trì.
Một hệ CSDL là một hệ thống gồm 4 thành phần: CSDL, NSD, phần mềm hệ
quản trị CSDL, phần cứng.

Hình 1: Hệ cơ sở dữ liệu
Như vậy một hệ CSDL cho phép nhiều NSD thao tác lên cùng một CSDL. Các
NSD khác nhau đòi hỏi một cách nhìn khác nhau về CSDL mà họ cần. Mỗi một cách
nhìn là một phần của CSDL hoặc là dữ liệu tổng hợp từ CSDL.

ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thông tin

15


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường


2019

1.2. Kiến trúc của hệ thống CSDL
Theo ANSI – SPARC có 3 mức biểu diễn một CSDL: mức trong, mức khái niệm,
và mức ngồi.
Sau đây là hình vẽ mơ tả kiến trúc 3 mức của CSDL:

1.2.1. Mức trong

Hình 2: Kiến trúc 3 mức của CSDL

Mức này còn được gọi là mức vật lý. Đây là mức thấp nhất của CSDL, mô tả dữ
liệu được thực sự lưu trữ như thế nào trong CSDL. Đây là mức thể hiện các cài đặt có
tính chất vật lý của CSDL để đạt được tối ưu trong các thao tác tìm kiếm, lưu trữ để
tận dụng được các vùng nhớ cịn trống.
Ngồi ra đây còn là mức phản ánh các cấu trúc dữ liệu, các tổ chức tệp được
dùng cho lưu trữ dữ liệu trên các thiết bị nhớ thứ cấp. Điều đó cũng có nghĩa là mức
này tiếp xúc với các phương thức truy nhập của hệ điều hành để đặt dữ liệu vào các
thiết bị nhớ, xây dựng các tập chỉ mục, truy xuất dữ liệu,…liên quan đến các vấn đề
như cấp phát vùng nhớ cho dữ liệu và các chỉ mục, các mô tả bản ghi để lưu trữ, các
kỹ thuật nén dữ liệu và giải mã dữ liệu.
1.2.2. Mức khái niệm
Mức này còn được gọi là mức logic. Đây là mức mô tả những dữ liệu nào được
lưu trữ trong CSDL và có những mối quan hệ nào giữa các dữ liệu này. Nói một cách
cụ thể hơn, mức logic biểu diễn các thực thể (trong thế giới nhỏ), các thuộc tính và các
mối quan hệ giữa các thực thể đó.
Ngồi ra mức này cũng cho thấy các ràng buộc trên dữ liệu, các thông tin về ngữ
nghĩa của dữ liệu, các thông tin về an ninh và toàn vẹn của dữ liệu. Tuy nhiên mức này
chỉ quan tâm đến cái gì được lưu trữ ở trong CSDL chứ khơng quan tâm đến cách thức

để lưu trữ.

ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

16


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

1.2.3. Mức ngồi
Mức này cịn được gọi là mức khung nhìn. Đây là mức cao nhất của CSDL, nó
mơ tả chỉ một phần của tồn bộ CSDL, phần thích hợp với một NSD nhất định.
Mức này gồm một số khung nhìn khác nhau của những NSD đặt vào CSDL.
Khung nhìn dành cho NSD đó chỉ gồm những thực thể cùng những thuộc tính, những
mối quan hệ của những thực thể mà họ quan tâm.
Tóm lại, mức khung nhìn là cách cảm nhận của người dùng về dữ liệu, mức vật
lý là cách cảm nhận của hệ quản trị CSDL và hệ điều hành về dữ liệu. Mức logic nằm
giữa mức khung nhìn và mức vật lý, đây là cách cảm nhận của toàn thể cộng đồng
người dùng về dữ liệu.
1.3. Lược đồ và thể hiện của CSDL
1.3.1. Lược đồ CSDL
Tồn bộ mơ tả CSDL được gọi là lược đồ CSDL. Hay nói một cách khác, lược đồ
CSDL là các mô tả về cấu trúc và các ràng buộc trên CSDL.
Ví dụ lược đồ CSDL quản lý q trình học tập của sinh viên gồm 5 quan hệ cùng
với các mối ràng buộc trên các quan hệ:

Hình 3: Ví dụ về CSDL quản lý quá trình học tập của sinh viên
Như vậy, ứng với kiến trúc 3 mức của một hệ CSDL ta cũng có 3 loại lược đồ:

 Lược đồ ngồi (lược đồ con): cho những cách nhìn dữ liệu khác nhau của
NSD khác nhau.
 Lược đồ logic.
 Lược đồ vật lý.
Dưới đây là một ví dụ minh họa về các lược đồ trong một phần của CSDL quản
lý học tập của sinh viên:

ThS. Hoàng Ngọc Cảnh – TT. Công nghệ thông tin

17


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

Hình 4: Ví dụ về các lược đồ
1.3.2. Thể hiện của CSDL
Thể hiện của CSDL là dữ liệu hiện thời được lưu trữ trong CSDL ở một thời
điểm nhất định nào đó và nó phản ánh tình trạng của CSDL tại thời điểm đó.
Ví dụ, tại một thời điểm nhất định, ta có thể hiện của lược đồ CSDL quản lý quá
trình học tập của sinh viên đã nêu ở trên:

Hình 5: Ví dụ về thể hiện của CSDL
1.4. Mơ hình dữ liệu
Q trình thiết kế một CSDL bắt đầu với một sự phân tích những thơng tin nào
của thế giới thực CSDL phải lưu trữ và các mối quan hệ giữa các thành phần của
những thông tin này. Thông thường, cấu trúc của CSDL được đặc tả bởi một ngôn ngữ
đặc biệt hay một tập các ký hiệu thích hợp để biểu thị một thiết kế CSDL.
1.4.1. Khái niệm về mơ hình dữ liệu

Một lược đồ được viết trong ngôn ngữ định nghĩa dữ liệu của một hệ QT CSDL
cụ thể. Để mô tả các yêu cầu dữ liệu của một tổ chức sao cho mô tả đó dễ hiểu đối với

ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

18


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

nhiều NSD khác nhau thì ngơn ngữ này lại ở mức q thấp nên cần có một mơ hình dữ
liệu.
Mơ hình dữ liệu là một tập các khái niệm và các ký pháp dùng để mô tả dữ liệu,
các mối quan hệ của dữ liệu, các ràng buộc trên dữ liệu của một tổ chức.
Các thành phần của mơ hình dữ liệu:
- Phần mơ tả cấu trúc của CSDL.
- Phần mô tả các thao tác, định nghĩa các phép tốn được phép trên dữ liệu.
- Phần mơ tả các ràng buộc tồn vẹn để đảm bảo sự chính xác của dữ liệu.
Khi dùng mơ hình dữ liệu chúng ta có thể biểu diễn dữ liệu theo một cách dễ
hiểu. Vì vậy mơ hình dữ liệu (mơ hình) cũng được sử dụng trong việc thiết kế CSDL.
1.4.2. Phân loại mơ hình dữ liệu
Đã có nhiều mơ hình dữ liệu được đề xuất và có thể chia thành 3 nhóm: các mơ
hình logic trên cơ sở đối tượng, các mơ hình logic trên cơ sở bản ghi, các mơ hình vật
lý. Các mơ hình logic tập trung vào bản chất logic của biểu diễn dữ liệu, tập trung vào
cái được biểu diễn trong CSDL, cịn được gọi là các mơ hình dữ liệu bậc cao. Các mơ
hình vật lý tập trung vào những chi tiết cho biết dữ liệu được lưu trữ như thế nào, cịn
được gọi là các mơ hình dữ liệu bậc thấp.
- Các mơ hình logic trên cơ sở đối tượng:

Các mơ hình thuộc nhóm này được dùng trong việc mô tả dữ liệu ở các mức
logic và khung nhìn. Đặc trưng của các nhóm mơ hình này là cung cấp các khả năng
cấu trúc mềm dẻo và cho phép các ràng buộc được đặc tả một cách tường minh.
Một số loại mơ hình phổ biến trong nhóm này là:
 Mơ hình thực thể liên kết.
 Mơ hình hướng đối tượng.
 Mơ hình dữ liệu ngữ nghĩa.
 Mơ hình dữ liệu chức năng.
- Các mơ hình logic trên cơ sở bản ghi:
Nhóm mơ hình này được dùng trong việc mô tả dữ liệu ở các mức logic và khung
nhìn. Đặc trưng của nhóm này là đặc tả cấu trúc logic tổng thể của CSDL, đồng thời
cung cấp một mô tả ở mức cao hơn của sự cài đặt. Mặt khác, CSDL thuộc nhóm này
được cấu trúc thành các bản ghi có khn dạng cố định và có thể thuộc nhiều kiểu.
Mỗi kiểu bản ghi xác định một số cố định các trường (hay thuộc tính), mỗi trường có
độ dài cố định.
ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thông tin

19


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

Một số loại hơ hình phổ biến trong nhóm này là:
 Mơ hình quan hệ.
 Mơ hình mạng.
 Mơ hình phân cấp.
- Các mơ hình vật lý:
Nhóm mơ hình này mơ tả dữ liệu ở mức thấp nhất, nghĩa là mô tả dữ liệu được

lưu trữ như thế nào trong máy tính, mơ tả các cấu trúc bản ghi, thứ tự các bản ghi và
con đường truy cập. Khơng như các mơ hình logic, chỉ có ít mơ hình dữ liệu vật lý.
Hai mơ hình vật lý quen dùng là:
 Mơ hình hợp nhất.
 Mơ hình bộ nhớ khung.
1.5. Một số các dạng chuẩn CSDL
Dạng chuẩn của một lược đồ quan hệ là tập các tiêu chuẩn để đánh giá độ tốt và
xấu lược đồ quan hệ đó.
Do việc cập nhật dữ liệu thông qua các thao tác thêm, sửa, xóa gây nên những dị
thường mà nguyên nhân chính là do sự lặp lại một số dữ liệu trong quan hệ nên các
quan hệ cần thiết kế phải được phân tách thành các quan hệ nhỏ hơn hay biến đổi về
các dạng chuẩn thích hợp. Q trình đó được gọi là q trình chuẩn hóa.
Trong lý thuyết, ban đầu Codd đưa ra ba dạng chuẩn đối với quan hệ:
-

Dạng chuẩn 1 (kí hiệu là 1NF - First normal form)

-

Dạng chuẩn 2 (kí hiệu là 2NF – Second normal form)

-

Dạng chuẩn 3 (kí hiệu là 3NF – Third normal form)

Sau đó đưa ra dạng chuẩn tiếp theo là Boye – Codd (BCNF – Boye Codd normal form)
1.5.1. Dạng chuẩn 1
Định nghĩa: Một quan hệ được gọi là ở dạng chuẩn 1 nếu và chỉ nếu tất cả các
miền giá trị của các thuộc tính trong R đều chỉ chứa các giá trị nguyên tố.
Giá trị nguyên tố là giá trị mà khơng thể chia nhỏ ra được nữa

Ví dụ: Cho quan hệ nhà cung cấp SUPPLIERS có các thuộc tính: mã nhà cung
cấp, tên nhà cung cấp, địa chỉ nhà cung cấp và sản phẩm cung cấp tương ứng với tên
sản phẩm và giá sản phẩm cung cấp.
Như vậy quan hệ đã cho là: SUPPLIERS0(S#, SNAME, ADD, PRODUCT),
được mô tả chi tiết như hình dưới:
ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

20


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

Hình 6: Ví dụ quan hệ chưa ở dạng chuẩn 1
Ta thấy thuộc tính PRODUCT chứa 2 thuộc tính nhỏ là ITEM và PRICE, một bộ
PRODUCT có chứa ITEM, PRICE không nguyên tố. Vậy quan hệ SUPPLIERS không
ở dạng chuẩn 1.
Nếu quan hệ chưa ở dạng chuẩn 1 ta có thể chuẩn hóa chúng. Sau khi chuẩn hóa
quan hệ SUPPLIERS0, ta có quan hệ SUPPLIERS1 đã ở dạng chuẩn 1:

Hình 7: Ví dụ về quan hệ được chuẩn hóa về dạng chuẩn 1
1.5.2. Dạng chuẩn 2
Quan sát quan hệ SUPPLIERS1, tuy đã được chuẩn hóa về dạng chuẩn 1 nhưng
vẫn cịn tình trạng một số giá trị thuộc tính lặp lại nhiều lần như (1, Hải Hà, Hà Nội),
(Kinh Đơ, Hồ Chí Minh). Hiện tượng dư thừa này chính là ngun nhân gây nên vấn
đề khơng nhất qn dữ liệu và xảy ra các dị thường khi thực hiện các thao tác liên
quan đến cập nhật CSDL. Để khắc phục tình trạng này thì quan hệ SUPPLIERS1 cần
được tiếp tục chuẩn hóa đến các dạng chuẩn cao hơn.
Định nghĩa: Một quan hệ R được coi là ở dạng chuẩn 2 (2NF) nếu nó đã ở dạng

chuẩn 1 và mọi thuộc tính khơng khóa của R đều phụ thuộc hàm đầy đủ vào khóa
chính.
Ví dụ: Cho quan hệ nhà cung cấp như đã mô tả ở trên. Quan hệ
SUPPLIERS1(S#, SNAME, ADD, ITEM, PRICE) và kí hiệu một cách ngắn gọn các
thuộc tính tương ứng là SUPPLIERS1(S,N,A,I,P). Giả sử quan hệ này có tập phụ
thuộc hàm F = {SNA, SIP}.
Quan hệ này có một khóa duy nhất là SI, do vậy 2 thuộc tính S, I là thuộc tính
khóa, các thuộc tính khơng khóa là N, A, P.
Xét thuộc tính khơng khóa A có:
-

A chỉ phụ thuộc vào S (do có phụ thuộc hàm S  NA)

ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

21


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường


2019

S ⊂ SI

A không phụ thuộc đầy đủ vào khóa chính SI

Như vậy quan hệ SUPPLIERS1 khơng ở dạng chuẩn 2
Nếu quan hệ chưa ở dạng chuẩn 2 ta có thể chuẩn hóa chúng. Ta tách quan hệ
SUPPLIERS1 thành 2 quan hệ với cách kí hiệu ngắn gọn tương ứng:

-

SUPPLIERS11(S, N, A) và F11={SNA}

-

SUPPLIERS12(S, I, P) và F12={SIP}

Ta kiểm tra xem 2 quan hệ ở trên đã ở dạng chuẩn 2 hay chưa?
-

Khóa của quan hệ SUPPLIERS11 là S. Thuộc tính khóa là S, thuộc tính
khơng khóa là N, A.

-

Khóa của quan hệ SUPPLIERS12 là SI. Thuộc tính khóa là S, I, thuộc tính
khơng khóa là P.

-

Ta nhận thấy rằng tất các các thuộc tính khơng khóa đều phụ thuộc hàm đầy
đủ vào khóa chính.

Như vậy 2 quan hệ đã cho đã ở dạng chuẩn 2NF.
Sau khi chuẩn hóa quan hệ SUPPLIERS1, ta có 2 quan hệ là SUPPLIERS11 và
SUPPLIERS12 đã ở dạng chuẩn 2:
SUPPLIERS11

SUPPLIERS12


Hình 8: Ví dụ về quan hệ được chuẩn hóa về dạng chuẩn 2
1.5.3. Dạng chuẩn 3
Định nghĩa: Một quan hệ R được coi là ở dạng chuẩn 3 (3NF) nếu nó đã ở dạng
chuẩn 2 và mọi thuộc tính khơng khóa đều khơng phụ thuộc bắc cầu vào khóa chính.
Ví dụ1: Cho quan hệ R (SIDM) trong đó:
ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin

22


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường
-

S: kí hiệu cho cửa hàng (Store)

-

I: kí hiệu cho mặt hàng (Item)

-

D: kí hiệu cho gian hàng (Department)

-

M: kí hiệu cho người quản lý (Manager)

-


Có PTH: SI D và SD M

2019

Xét quan hệ R (SIDM) có F={SID, SDM}. Ta dễ dàng tìm được khóa của
quan hệ này là SI. Như vậy ta có:
-

Thuộc tính khóa: S, I.

-

Thuộc tính khơng khóa: D, M

Các thuộc tính khơng khóa đều phụ thuộc hàm đầy đủ vào khóa chính nên R đạt
chuẩn 2NF.
Ta có:
-

SID nên SI SD (tăng trưởng S)

-

SDM (giả thiết)

-

Vậy ta có: SIM (bắc cầu)

Như vậy ta thấy thuộc tính khơng khóa M phụ thuộc bắc cầu vào khóa chính SI

nên quan hệ R khơng đạt chuẩn 3NF.
Ví dụ 2: xét 2 quan hệ SUPPLIERS11 và SUPPLIERS12 đã được minh họa ở
dạng chuẩn 2:
SUPPLIERS11(S, N, A) và F11={SNA} có:
-

Khóa: S

-

Thuộc tính khơng khóa: N, A

-

Có S  NA  N,A không phụ thuộc bắc cầu vào S

SUPPLIERS12(S, I, P) và F12={SIP} có:
-

Khóa chính: SI

-

Thuộc tính khơng khóa: P

-

Có SI  P  P không phụ thuộc bắc cầu vào SI

Vậy 2 quan hệ SUPPLIERS11 và SUPPLIERS12 đạt chuẩn 3 NF.


ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thơng tin

23


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

1.5.4. Dạng chuẩn Boye – Codd (BCNF)
Định nghĩa: Một quan hệ R được coi là ở dạng chuẩn BCNF nếu nó đã ở dạng
chuẩn 3 và các phụ thuộc hàm khơng hiển nhiên có vế trái chứa khóa.
Hay nói cách khác: Một quan hệ R được coi là ở dạng chuẩn BCNF nếu với mọi
phụ thuộc hàm XA thuộc F+ và AX thì X chứa một khóa của R
Ví dụ: Cho lược đồ quan hệ R (CSZ) được mơ tả:
-

C: kí hiệu cho thành phố (City)

-

S: kí hiệu cho địa chỉ phố (Street)

-

Z: kí hiệu cho mã bưu điện (Zip)

-


Có phụ thuộc hàm: F={CSZ, ZC}

Hình 9: Ví dụ về quan hệ không đạt chuẩn BCNF
Xét quan hệ R (CSZ) có F={ CSZ, ZC }. Ta dễ dàng tìm được khóa của
quan hệ này là CS, CZ. Có các thuộc tính khơng khóa (tập rỗng) đều phụ thuộc hàm
đầy đủ vào khóa chính nên quan hệ R đạt chuẩn 3NF.
Xét phụ thuộc hàm Z  C có Z khơng phải là khóa của R. Như vậy R khơng đạt
chuẩn BCNF.
Như vậy, mọi quan hệ có thể ở dạng chuẩn 3 nhưng khơng ở dạng chuẩn BCNF.
Cịn mọi quan hệ đã ở dạng chuẩn BCNF thì đều đạt chuẩn 3NF. Lợi ích của dạng
chuẩn BCNF cũng giống như dạng chuẩn 3NF là loại bỏ sự dư thừa dữ liệu và tránh
các dị thường cập nhật do các thao tác thêm, sửa, xóa. Tuy nhiên dạng chuẩn BCNF
cịn có thể loại bỏ được một số các dị thường mà dạng chuẩn 3NF khơng loại bỏ được.
Như ví dụ ở trên, chúng ta không thể thêm mới thông tin về tên thành phố nếu
chưa biết thông tin về mã bưu điện và đường phố của thành phố đó.
Ta có thể chuẩn hóa quan hệ R (CSZ) để đạt chuẩn BCNF bằng cách tách quan
hệ R thành 2 quan hệ R1 (CZ) và R2 (SZ):

ThS. Hồng Ngọc Cảnh – TT. Cơng nghệ thơng tin

24


Báo cáo đề tài nghiên cứu khoa học và công nghệ cấp trường

2019

R1 (CZ)

R2 (SZ)


Hình 10: Ví dụ về quan hệ được chuẩn hóa về dạng BCNF

2. Các vấn đề liên quan tới hiệu năng cơ sở dữ liệu và cách giám sát
2.1. Một số vấn đề liên quan tới hiệu năng cơ sở dữ liệu
Vấn đề nghẽn cổ chai vi xử lý (CPU bottlenecks) khi khai thác dữ liệu: Với biểu
hiện xung nhịp hoạt động của CPU bất thường, liên tục chịu áp lực xử lý dữ liệu khiến
hiệu năng lớn hơn 80% gây treo mọi tiến trình khác. Nguyên nhân của vấn đề này có
thể xuất phát từ việc bất đồng bộ cấu hình tài nguyên phần cứng (thiết bị quá nhanh,
thiết bị lại quá chậm,…) hoặc phổ biến hơn là do người quản trị cơ sở dữ liệu điều
phối các đoạn mã lập trình chưa tốt dẫn đến sự quá tải ở một số tiến trình.
Vấn đề nghẽn cổ chai bộ nhớ trong (Memory bottlenecks) khi truy vấn: Điển
hình của hiện tượng này là trả về kết quả truy vấn rất chậm, các chương trình có thể bị
treo hoặc ngắt giữa chừng, bộ nhớ vật lý còn trống gần như bằng khơng và tồn bộ hệ
điều hành chậm chạp. Một trong những lý do chính của Memory bottlenecks là bộ nhớ
trong nhỏ và các thao tác truy vấn khơng sử dụng tìm kiếm chỉ mục mà thay vào đó là
các hoạt động duyệt tuần tự tồn bộ các bảng dữ liệu (table scan) khiến chi phí về bộ
nhớ, về thời gian bị bùng nổ.
Vấn đề nghẽn cổ chai mạng (Network bottlenecks): hiện tượng này khó nhận biết
và thực sự dễ nhầm lẫn bởi các yếu tố như năng lực máy chủ, băng thông thấp, thiết bị
mạng yếu kém. Tuy nhiên nếu loại trừ được các yếu tố trên, chúng ta hồn tồn có thể
nghĩ tới việc q tải này liên quan tới các luồng dữ liệu trao đổi giữa server và người
dùng qua các lệnh truy vấn không được như mong muốn. Cụ thể là việc không kiểm
soát thời gian ngắt (time out connection) các kết nối của các phiên làm việc lỗi thời,
hay việc cho phép các hệ thống tự động gửi nhận liên tục trực tiếp các request về cơ sở
dữ liệu mà lẽ ra cần phải được điều hướng xử lý các thông tin đó trên một hệ thống
khác chạy song song.

ThS. Hồng Ngọc Cảnh – TT. Công nghệ thông tin


25


×