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

Nghiên cứu các hệ quản trị cơ sở dữ liệu và áp dụng vào bài toán lưu trữ và truy vấn kho số thẻ điện thoại

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 (3.04 MB, 80 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

PHAN TRỌNG PHÚC

NGHIÊN CỨU CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VÀ ÁP
DỤNG VÀO BÀI TOÁN LƯU TRỮ VÀ TRUY VẤN
KHO SỐ/THẺ ĐIỆN THOẠI.

LUẬN VĂN THẠC SỸ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. NGUYỄN THANH HÙNG

Hà Nội – Năm 2019.


LỜI CAM ĐOAN
Tôi tên là: Phan Trọng Phúc , học viên lớp 2016A CNTT – Trƣờng Đại học
Bách Khoa Hà Nội. Tơi xin cam đoan tồn bộ nội dung của luận văn do tôi tự học
tập, nghiên cứu trên Internet, sách báo, các tài liệu trong và ngồi nƣớc có liên
quan. Không sử dụng bài làm của bất kỳ ai khác, mọi tài liệu đều đƣợc trích dẫn cụ
thể. Tơi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình trƣớc Q Thầy
Cơ, Khoa và Nhà trƣờng.
Hà Nội, ngày … tháng … năm 2019
Ngƣời cam đoan

Phan Trọng Phúc


1


LỜI CẢM ƠN
Lời đầu tiên, xin phép cho tôi gửi lời cảm ơn trân trọng nhất tới Thầy giáo
TS. Nguyễn Thanh Hùng, ngƣời đã luôn chỉ bảo, hƣớng dẫn tôi tận trong suốt quá
trình học tập cũng nhƣ thực hiện luận văn cao học.
Tôi xin chân thành cảm ơn các Thầy, các Cô trong trƣờng Đại học Bách
Khoa Hà Nội đã cho tôi một môi trƣờng rất tốt để học tập và nghiên cứu. Các Thầy
Cô đã luôn truyền đạt cảm hứng, cho tôi những kiến thức quý báu, làm nền tảng để
tơi hồn thành luận văn cũng nhƣ cơng việc trong tƣơng lai.
Tôi cũng xin gửi lời tri ân tới các anh, chị, bạn học viên khoá 2016 đã ln
sát cánh cùng nhau trong suốt q trình học tập tại trƣờng. Lời cuối, tôi muốn gửi
lời cảm ơn tới gia đình và bạn bè, những ngƣời thân u ln ở bên, khuyến khích
và động viên tơi trong cuộc sống cũng nhƣ trong học tập.
Tôi xin chân thành cảm ơn!

2


MỤC LỤC
DANH MỤC CHỮ VIẾT TẮT...................................................................................6
DANH MỤC CÁC HÌNH ..........................................................................................7
DANH MỤC CÁC BẢNG........................................................................................ 9
PHẦN MỞ ĐẦU ....................................................................................................... 10
CHƢƠNG I: TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU(DBMS) ......... 12
1.1. Lịch sử phát triển và ứng dụng ....................................................................... 12
1.2.So sánh giữa lƣu trữ bằng hệ thống file cổ điển với hệ quản trị cơ sở dữ liệu..14
1.3. Những lợi ích của hệ quản trị cơ sở dữ liệu ....................................................15
1.4. Biểu diễn và lƣu trữ dữ liệu trong hệ quản trị cơ sở dữ liệu ..........................15

1.5. Đ c điểm của một hệ quản trị cơ sở dữ liệu ....................................................21
1.5.1. Sự tr u tƣợng hố dữ liệu .........................................................................21
1.5.2. Ngơn ngữ cơ sở dữ liệu ............................................................................22
1.5.3. Xử l c u h i ............................................................................................22
1.5.4. Quản trị giao dịch ..................................................................................... 23
1.5.5. Quản l lƣu trữ .........................................................................................23
1.6. Kiến tr c của một hệ quản trị cơ sở dữ liệu ...................................................24
1.7. Kết luận chƣơng 1 ..........................................................................................25
CHƢƠNG 2: PHÂN LOẠI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU, ĐÁNH GIÁ ƢU
NHƢỢC ĐIỂM ........................................................................................................26
2.1. Hệ quản trị cơ sở dữ liệu quan hệ .................................................................. 26
2.1.1. Các khái niệm trong mơ hình dữ liệu quan hệ ..................................... ....26
2.1.2. Kiến trúc của hệ quản trị cơ sở dữ liệu quan hệ .......................................31
2.1.3. Các thao tác với hệ quản trị cơ sở dữ liệu quan hệ ............................. .....32
2.1.4. Ƣu - nhƣợc điểm của cơ sở dữ liệu quan hệ ........................................ ....35
2.2. Hệ quản trị cơ sở dữ liệu không quan hệ ................................................... .....35
2.2.1 Giới thiệu về hệ quản trị cơ sở dữ liệu không quan hệ .............................35

3


2.2.2. Một số đ c điểm .......................................................................................37
2.2.3. Phân loại và cấu tr c lƣu trữ ....................................................................37
2.2.3. Ƣu nhƣợc điểm của NoSQL ....................................................................44
2.3. Cơ sở dữ liệu hiện đại (NEWSQL) ............................................................. ..44
2.3.1. Giới thiệu về cơ sở dữ liệu hiện đại .........................................................44
2.3.2. Đ c điểm của NEWSQL ....................................................................... ..46
2.3.4. Ƣu nhƣợc điểm NEWSQL ...................................................................... 48
2.4. Kết luận chƣơng 2 .................................................................................... ....48
CHƢƠNG 3 : XÂY DỰNG HỆ THỐNG TRUY VẤN KHO SIM SỐ/THẺ ĐIỆN THOẠI.


...................................................................................................................................49
3.1. Ý tƣởng bài toán .............................................................................................49
3.2. Đề xuất giải pháp sử dụng cơng nghệ ............................................................ .49
3.3. Phân tích và thiết kế hệ thống xếp truy vấn khi số SIM/ thẻ điện ............... ..51
3.3.1. Tổng quan hệ thống .................................................................................. .. 51
3.3.2. Use case hệ thống ..................................................................................... ..53
3.3.3. Ph n tích cơ sở dữ liệu .......................................................................... ..57
3.4. Kết luận chƣơng 3 .......................................................................................... 59
CHƢƠNG 4: TRIỂN KHAI THỬ NGHIỆM HỆ THỐNG TRUY VẤN SIM
SỐ/THẺ ĐIỆN THOẠI TRÊN GOOGLE CLOUD VỚI CÁC HỆ QUẢN TRỊ CƠ
SỞ DỮ LIỆU KHÁC NHAU ...................................................................................60
4.1. Hệ quản trị cơ sở dữ liệu NoSQL MogoDB ................................................ ...60
4.2. Hệ quản trị cơ sở dữ liệu MySql.................................................................. ..60
4.3. Hệ quản trị cơ sở dữ liệu Datastore ............................................................. ...61
4.4. Giới thiệu về dịch vụ Google Cloud ............................................................ ..62
4.5. Giới thiệu về NodeJS ................................................................................... ..62
4.6. Các yêu cầu cài đ t ...................................................................................... ..63
4.6.1. Cài đ t IDE Visual Studio Code ..............................................................63
4.6.2. Cài đ t Google Cloud ...............................................................................63
4.6.3. Cài đ t MySql ..........................................................................................64
4.6.4. Cài đ t Mongodb .................................................................................. ...64

4


4.6.5. Cài đ t Datastore ................................................................................... ..64
4.6.6. Cài đ t NodeJs ........................................................................................ 65
4.6.7. Ngôn ngữ xây dựng website ................................................................. ..65
4.7. Cài đ t ứng dụng và kết quả ........................................................................ ..65

4.7.1. Cài đ t ứng dụng ................................................................................... ..65
4.7.2. Kết quả .................................................................................................. ..69
4.7.3. Tiến hành thử nghiệm thực tế ............................................................... ..73
Bảng 4: Bảng kết quả đo thực nghiệm ..................................................................74
4.8. Đánh giá ....................................................................................................... .76
4.9. Kết luận chƣơng 4 ....................................................................................... ..77
KẾT LUẬN ..............................................................................................................78
TÀI LIỆU THAM KHẢO ........................................................................................79

5


DANH MỤC CHỮ VIẾT TẮT
DBMS

Database Management System

CSDL

Cơ sở dữ liệu

IBM

International Business Machines

SQL

Structured Query Language

ANSI


American National Standards
Institute

ISO

International Standards Organization

ORM

Object-relational mapping

GB

Gigabyte

RDBMs

Relational database management
system

6


DANH MỤC CÁC HÌNH
Hình 1: Các ký hiệu trong mơ hình liên kết thực thể.
Hình 2: Sự trìu tƣợng hố dữ liệu của hệ quản trị CSDL.
Hình 3: Kiến trúc một hệ quản trị cơ sở dữ liệu.
Hình 4: Kiến trúc của hệ quản trị CSDL quan hệ.
Hình 5: Cấu tr c lƣu trữ dữ liệu của cơ sở dữ liệu cột

Hình 6: Cấu tr c lƣu trữ dữ liệu của cơ sở dữ liệu khố-giá trị
Hình 7: Cấu tr c lƣu trữ dữ liệu của cơ sở dữ liệu hƣớng tài liệu
Hình 8: Cấu tr c lƣu trữ dữ liệu của cơ sở dữ liệu đồ thị
Hình 9: Tổng quan chức năng của hệ thống.
Hình 10: Use case tổng quan hệ thống.
Hình 11: Use case quản trị sim thẻ
Hình 12: Use case thêm sửa xố sim thẻ
Hình 13: Use case quản trị khách hàng.
Hình 14: Use case thêm sửa xố khách hàng.
Hình 15: Use case quản trị hợp đồng.
Hình 16: Use case thêm sửa xố hợp đồng.
Hình 17: Thiết kế CSDL trên MySql
Hình 18: Thiết kế cơ sở dữ liệu trên MongoDB
Hình 19: Thiết kế cơ sở dữ liệu trên Datastore
Hình 20: Cấu tr c project phía client
Hình 21: Cấu tr c project phía server bằng NodeJs
Hình 22: Giao diện hệ thống truy cập số sim/thẻ điện thoại
Hình 23: Giao diện quản l thông tin sim

7


Hình 24: Giao diện tạo và sửa thơng tin sim thẻ
Hình 25: Giao diện quản l thơng tin khách hàng
Hình 26: Giao diện tạo và sửa thơng tin khách hàng
Hình 27: Giao diện quản l thơng tin hợp đồng
Hình 28: Giao diện tạo và sửa thơng tin hợp đồng
Hình 29: Giao diện so sánh hiệu năng các hệ quản trị CSDL
Hình 30: Biểu đồ thời gian tìm kiếm trên 10 ngàn bản ghi
Hình 31: Biểu đồ thời gian tìm kiếm trên 50 ngàn bản ghi

Hình 32: Biểu đồ thời gian tìm kiếm trên 100 ngàn bản ghi

8


DANH MỤC CÁC BẢNG
Bảng 1: Bảng chứa thông tin sim SimInfo
Bảng 2: Bảng chứa thông tin ngƣời dùng UserInfo
Bảng 3: Bảng chứa thông tin ngƣời sử dụng sim UserSim
Bảng 4: Bảng kết quả đo thực nghiệm
Bảng 5: Bảng kết quả thời gian đo trung bình 100 lần đo

9


PHẦN MỞ ĐẦU
Ngày nay công nghệ thông tin phát triển rất nhanh chóng, nắm giữ vai trị
quan trọng trong việc th c đẩy sử tăng trƣởng kinh tế, với sự ra đời của rất nhiều
công nghệ mới, các dịch vụ CNTT đáp ứng nhu cầu của ngƣời dùng cũng nhƣ các
doanh nghiệp,… Khai thác dữ liệu - chìa khóa để thành cơng, thật vậy thơng tin có
vai trị vơ cùng quan trọng đối với tất cả các doanh nghiệp. Việc khai thác tốt nguồn
thơng tin này chính là chìa khóa giúp doanh nghiệp thành cơng. Khai thác dữ liệu
chìa khóa để thành công, với khối lƣợng dữ liệu đƣợc sản sinh tăng chóng m t nhƣ
hiện nay chắc chắn nếu là một chủ doanh nghiệp, bạn sẽ biết đƣợc doanh nghiệp
mình sẽ g p những khó khăn gì khi khơng tự cứu mình bằng những cơng cụ hỗ trợ,
cách thức tiên tiến để xử lý khối lƣợng thông tin khổng lồ có đƣợc. Do vậy, khi lựa
chọn một giải pháp phần mềm quản trị tổng thể doanh nghiệp, khách hàng sẽ ƣu
tiên chọn những nhà cung cấp giải quyết đƣợc cho họ bài toán “dữ liệu lớn”.
Bài toán đ t ra cho các doanh nghiệp, làm sao để lƣu trữ một lƣợng thông tin
khổng lồ nhƣng vẫn phải đảm bảo việc truy cập các dữ liệu đó nhanh nhất có thể

cũng nhƣ việc mở rộng hệ thống sau này. Trong đề tài tốt nghiệp cao học của mình,
em chọn đề tài “Nghiên cứu các hệ quản trị cơ sở dữ liệu và áp dụng vào bài toán
truy vấn kho số/thẻ điện thoại” để đƣa ra giải pháp tối ƣu cho việc lƣu trữ dữ liệu
lớn của doanh nghiệp.

10


Nội dung luận văn gồm 4 chƣơng nhƣ sau:
Chƣơng 1: Tổng quan về hệ quản trị cơ sở dữ liệu.
Chƣơng này trình bày lịch sử hình thành của hệ quản trị cơ sở dữ liệu, một số
khái niệm, đ c điểm cơ bản, chức năng của hệ quản trị cơ sở dữ liệu.
Chƣơng 2: Phân loại hệ quản trị cơ sở dữ liệu, đánh giá ƣu nhƣợc điểm.
Chƣơng này so sánh chi tiết các hệ quản trị cơ sở dữ liệu, đánh giá ƣu nhƣợc
điểm và ứng dụng của t ng hệ quản trị cơ sở dữ liệu vào các bài toán lƣu trữ khác
nhau.
Chƣơng 3: Xây dựng hệ thống truy vấn kho số/thẻ điện thoại.
Nội dung chƣơng này đi vào phân tích, thiết kế xây dựng hệ thống truy vấn
kho số/thẻ điện thoại.
Chƣơng 4: Tìm hiểu về hệ quản trị cơ sở dữ liệu mysql, mongodb, datastore, cloud
server, nodejs …, trên cơ sở đó áp dụng triển khai, thử nghiệm “ Hệ thống truy vấn
kho số/thẻ điện thoại”. Kết luận chƣơng là một số đánh giá kết quả đạt đƣợc.
Kết luận và hƣớng phát triển
Phần cuối cùng là kết luận và hƣớng phát triển của toàn bộ luận văn bao gồm
một vài kết luận sau khi nghiên cứu các hệ quản trị cơ sở dữ liệu và triển khai ứng
dụng thử nghiệm “ Hệ thống truy vấn kho số/thẻ điện thoại “, bên cạnh đó cũng nêu
lên một số vấn đề còn tồn tại trong các hệ quản trị cơ sở dữ liệu và đề xuất để ứng
dụng sâu rộng hơn nữa trong các lĩnh vực xã hội có áp dụng kỹ thuật cơng nghệ
thơng tin góp phần th c đẩy ứng dụng công nghệ thông tin trong nƣớc.


11


CHƢƠNG I: TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ
LIỆU(DBMS)
1.1.

Lịch sử phát triển và ứng dụng

Dữ liệu luôn là thứ quan trọng hàng đầu của các hệ thống, vì vậy việc lƣu trữ,
phân tích, tìm kiếm dữ liệu ln đƣợc quan t m hàng đầu t những ngày đầu tiên
có máy tính. Những năm 60, Charles Bachman đã thiết kế hệ quản trị cơ sở dữ liệu
đầu tiên gọi là lƣu trữ dữ liệu tích hợp. Sau đó IBM đã phát triển hệ thống này dự
trên mơ hình phân cấp và đƣợc sử dụng đến ngày nay.
Năm 1970, Edgar Codd thuộc phịng nghiên cứu của IBM, ơng khơng hài lịng
với mơ hình điều hƣớng, đã đƣa ra một một hình biểu diễn mới gọi là mơ hình dữ
liệu quan hệ. Trong dự án ,

tƣởng của Codd là sử dụng một bảng các bản ghi có

độ dài cố định, với mỗi bảng đƣợc sử dụng cho một loại thực thể khác nhau, ông đã
mô tả một hệ thống mới để lƣu trữ và làm việc với các cơ sở dữ liệu lớn. Trong mơ
hình quan hệ, các bản ghi đƣợc liên kết bằng các khóa ảo khơng đƣợc lƣu trữ trong
cơ sở dữ liệu nhƣng đƣợc xác định là cần thiết giữa các dữ liệu có trong các bản ghi.
Mơ hình quan hệ cũng cho phép nội dung của cơ sở dữ liệu phát triển mà không cần
viết lại liên kết và con tr . Phần quan hệ xuất phát t các thực thể tham chiếu đến
các thực thể khác trong mối quan hệ đƣợc gọi là mối quan hệ một-nhiều, nhƣ mơ
hình phân cấp truyền thống và mối quan hệ nhiều-nhiều, nhƣ mơ hình điều hƣớng.
Do đó, một mơ hình quan hệ có thể biểu thị cả mơ hình phân cấp và điều hƣớng,
cũng nhƣ mơ hình bảng gốc của nó, cho phép mơ hình thuần túy ho c kết hợp theo

ba mơ hình này, nhƣ ứng dụng u cầu. Với những ƣu điểm trên, hệ quản trị cơ sở
dữ liệu cho quản lý dữ liệu dần trở thành chuẩn mực.
Những năm 1990, cùng với sự gia tăng trong lập trình hƣớng đối tƣợng, đã
chứng kiến sự tăng trƣởng về cách xử lý dữ liệu trong các cơ sở dữ liệu khác nhau.
Các lập trình viên và nhà thiết kế bắt đầu coi dữ liệu trong cơ sở dữ liệu của họ là
đối tƣợng. Điều đó có nghĩa là nếu dữ liệu của một ngƣời nằm trong cơ sở dữ liệu,

12


các thuộc tính của ngƣời đó, nhƣ địa chỉ, số điện thoại và tuổi của họ, giờ đ y đƣợc
coi là thuộc về ngƣời đó thay vì dữ liệu khơng liên quan. Điều này cho phép các
mối quan hệ giữa dữ liệu là quan hệ với các đối tƣợng và thuộc tính của chúng chứ
khơng phải cho các trƣờng riêng lẻ. Cơ sở dữ liệu đối tƣợng và cơ sở dữ liệu quan
hệ đối tƣợng cố gắng giải quyết vấn đề này bằng cách cung cấp ngôn ngữ hƣớng đối
tƣợng (đôi khi là phần mở rộng cho SQL) mà các lập trình viên có thể sử dụng thay
thế cho SQL hồn tồn quan hệ. Về phía lập trình, các thƣ viện đƣợc gọi là ánh xạ
quan hệ đối tƣợng (ORM) cố gắng giải quyết vấn đề tƣơng tự.
SQL đƣợc chuẩn hóa vào cuối những năm 80 và SQL92 đã thành ngôn ngữ
chuẩn hiện nay. Hệ quản trị cơ sở dữ liệu ngày càng quan trọng khi càng nhiều các
hệ thống trực tuyến, website, giao dịch và những truy cập đƣợc thực hiện thơng qua
mạng máy tính.
Những năm 2000, NoQuery và NewQuery ra đời. Cơ sở dữ liệu XML là một
loại cơ sở dữ liệu hƣớng tài liệu có cấu trúc, cho phép truy vấn dựa trên các thuộc
tính tài liệu XML. Cơ sở dữ liệu XML chủ yếu đƣợc sử dụng trong các ứng dụng
mà dữ liệu đƣợc xem thuận tiện nhƣ một bộ sƣu tập tài liệu, với cấu trúc có thể thay
đổi t rất linh hoạt đến rất cứng nhắc.
Cơ sở dữ liệu NoQuery thƣờng rất nhanh, không yêu cầu các lƣợc đồ bảng cố
định, tránh các hoạt động tham gia bằng cách lƣu trữ dữ liệu không chuẩn hóa và
đƣợc thiết kế để mở rộng theo chiều ngang.

NewQuery là một lớp cơ sở dữ liệu quan hệ hiện đại nhằm cung cấp hiệu năng
có thể mở rộng tƣơng tự của các hệ thống NoQuery để xử lý khối lƣợng công việc
xử lý giao dịch trực tuyến (đọc-ghi) trong khi vẫn sử dụng SQL.

13


1.2.

So sánh giữa lƣu trữ bằng hệ thống file cổ điển với hệ quản trị cơ sở dữ liệu

Để hiểu đƣợc sự cần thiết của hệ quản trị cơ sở dữ liệu, chúng ta cùng nhau
xem xét ví dụ nếu một cơng ty có một tập hợp dữ liệu lớn nhƣ Facebook, Google…
với lƣợng ngƣời dùng lên đến hàng tỉ ngƣời, việc lƣu trữ thơng tin của ngƣời dùng
có thể lên đến hàng trăm GB ho c hàng TB …Bài toán đ t ra phải đáp ứng đƣợc các
yếu tố sau:
o Phải đƣợc đáp ứng nhanh chóng, những thay đổi trên dữ liệu đƣợc thực hiện
bằng những ngƣời dùng khác nhau.
o Phải đảm bảo đƣợc tính nhất quán của dữ liệu.
o Phải có phân quyền truy cập đến các phần dữ liệu khác nhau đối với ngƣời
dùng khác nhau.
Khi lƣu tất cả dữ liệu vào một file, chúng ta không thể đảm bảo đƣợc phân quyền
truy cập, vì vậy chúng ta có thể giải quyết các vấn đề về quản lý dữ liệu bằng việc
lƣu trữ dữ liệu trên hệ thống file riêng rẽ. Tuy nhiên, cách này sẽ g p các vấn đề
khó khăn sau:
o Mỗi lần truy cập dữ liệu chúng ta phải đọc ghi một dữ liệu vài trăm GB là
cực lớn và tốn rất nhiều thời gian.
o Phải đảm bảo rằng dữ liệu đƣợc lƣu trữ phải có tính chất nhất qn ho c nó
đƣợc hồn tất trọn vẹn ho c khơng có gì cả.
o Khi nhiều ngƣời truy cập đồng thời và tác động lên dữ liệu, hệ thống phải

bảo đảm sự đ ng đắn của dữ liệu.
o Những chƣơng trình đƣợc viết cho phép truy cập đồng thời vào hệ thống file
thì nó thực sự rất phức tạp, thƣờng các hệ thống bây giờ cũng chỉ xử lý ở
mức thông báo xung đột.
o Phải rất tốn cơng sức mới có thể định vị đƣợc tất cả dữ liệu.
o Phải có các chƣơng trình đ c biệt để trả lời t ng câu h i của ngƣời sử dụng
đối với dữ liệu vì dữ liệu đang đƣợc tập trung tại một chỗ. Những chƣơng
trình này rất phức tạp vì khơng gian tìm kiếm q lớn vì lƣợng dữ liệu lên
đến vài trăm GB.

14


o Không thể cung cấp quyền cho các đối tƣợng ngƣời dùng khác nhau để họ
chỉ đƣợc phép thực hiện trên các vùng dữ liệu nào đó của cơ sở dữ liệu.
Hệ thống quản l cơ sở dữ liệu (DBMS) là phần mềm tƣơng tác với ngƣời dùng
cuối, ứng dụng và chính cơ sở dữ liệu để thu thập và phân tích dữ liệu. Phần mềm
DBMS bao gồm các tiện ích cốt lõi đƣợc cung cấp để quản trị cơ sở dữ liệu. Tổng
cộng của cơ sở dữ liệu. Lƣu trữ dữ liệu trên DBMS thay vì việc lƣu trữ vào các file
riêng rẽ gi p nhƣ truy xuất dữ liệu, xử l đồng thời, an toàn bảo mật, phân quyền ..
chúng ta có thể sử dụng các chức năng của DBMS để quản lý dữ liệu dễ dàng. Với
dung lƣợng dữ liệu rất lớn và cho phép nhiều ngƣời sử dụng đồng thời, những tính
năng mà DBMS hỗ trợ đã trở nên vô cùng quan trọng và không thể thiếu
1.3.

Những lợi ích của hệ quản trị cơ sở dữ liệu
Sử dụng DBMS để quản lý dữ liệu có rất nhiều lợi ích:

o Độc lập dữ liệu: Các giá trị dữ liệu đƣợc lƣu trữ trong cơ sở dữ liệu phải
thoả mãn một số các ràng buộc về tính nhất quán của dữ liệu. Hệ thống xử lý

tệp thông thƣờng rất khó khăn để thay đổi các chƣơng trình để thoả mãn các
yêu cầu thay đổi ràng buộc. Nếu các ràng buộc liên quan đến các hạng mục
dữ liệu nằm trong các tệp khác nhau thì sẽ khó khăn hơn nhiều.
o Truy cập dữ liệu hiệu quả: Cung cấp giao diện lập trình dễ sử dụng với một
ngơn ngữ lập trình cơ sở dữ liệu, giao diện tƣơng tác d ng lệnh (command
line , đồ họa (GUI .
o Toàn vẹn và an tồn dữ liệu: ho c nó đƣợc hồn tất trọn vẹn ho c khơng có
gì cả. Một ngƣời sử dụng hệ cơ sở dữ liệu không cần thiết và cũng khơng có
quyền truy xuất tất cả các dữ liệu. Vấn đề này đ i h i hệ thống phải đảm bảo
đƣợc tính phân quyền, chống truy xuất trái phép, ph n quyền gi p kiểm soát
tốt những ngƣời dùng hợp pháp của hệ thống. Hỗ trợ các phƣơng pháp mã
hóa dữ liệu để ngăn ch n các tấn công của những đối tƣợng tin t c. Hệ quản
trị cơ sở dữ liệu có thể thiết đ t các ràng buộc toàn vẹn trên dữ liệu.
o Quản trị dữ liệu: Đăng k và giám sát ngƣời dùng, thực thi bảo mật dữ liệu,
giám sát hiệu suất, duy trì tính tồn vẹn dữ liệu, xử lý kiểm sốt đồng thời và

15


khôi phục thông tin đã bị h ng do một số sự kiện nhƣ lỗi hệ thống không
mong muốn.
o Truy cập đồng thời và khôi phục dữ liệu: Việc nhiều ngƣời truy cập vào
hệ thống ln là bài tốn ƣu tiên bởi hệ thống phải đảm bảo đƣợc nhiều
ngƣời sử dụng cập nhật dữ liệu đồng thời, có thể dẫn đến kết quả là dữ liệu
không nhất quán. Điều này đ i h i phải có sự giám sát ch t chẽ t hệ thống.
Dữ liệu đƣợc truy xuất có thể đƣợc cung cấp ở dạng cơ bản giống nhƣ đƣợc
lƣu trữ trong cơ sở dữ liệu ho c ở dạng mới thu đƣợc bằng cách thay đổi
ho c kết hợp dữ liệu hiện có t cơ sở dữ liệu.
o Giảm thời gian phát triển ứng dụng: Hệ quản trị cơ sở dữ liệu hỗ trợ rất
nhiều các tính năng quan trọng đƣợc sử dụng trong rất nhiều các ứng dụng

truy cập tới dữ liệu đƣợc lƣu trữ trong hệ quản trị cơ sở dữ liệu.
1.4.

Biểu diễn và lƣu trữ dữ liệu trong hệ quản trị cơ sở dữ liệu
Ngƣời sử dụng của hệ quản trị cơ sở dữ liệu chỉ tập trung vào biểu diễn thế

giới thực và các ràng buộc trong đó. Mơ hình dữ liệu là tập hợp những cấu trúc biểu
diễn dữ liệu ở mức cao, nó đã ẩn đi phần chi tiết dữ liệu đƣợc lƣu trữ ở mức thấp
nhƣ thế nào. Một mơ hình dữ liệu gồm các thành phần nhƣ: Cấu trúc (các luật của
cơ sở dữ liệu), Thao tác (cập nhật, thay đổi), Tập các luật về tính tồn vẹn…Có thể
xác định đƣợc 3 loại mơ hình dữ liệu:
o Mơ hình dữ liệu ngồi.
o Mơ hình dữ liệu ngữ nghĩa.
o Mơ hình dữ liệu trong.
Khi làm việc với cơ sở dữ liệu ở mức ngữ nghĩa, chúng ta sử dụng một mơ
hình rất phổ biến. Mơ hình dữ liệu thực thể liên kết (Entity – Relationship) hay cịn
gọi là Mơ hình ER. Đ y là mơ hình dùng để trao đổi giữa ngƣời thiết kế CSDL và
ngƣời dùng, bởi tính đơn giản của nó.

16


Trong quá trình thiết kế CSDL, ngƣời thiết kế cần tuân thủ 6 bƣớc để tạo ra một
CSDL hoàn chỉnh.
o Bƣớc 1: Phân tích
 Ngƣời thiết kế xác định đƣợc các dữ liêụ đƣợc lƣu trữ trong CSDL.
 Xác định ứng dụng cần xây dựng.
 Những thao tác đƣợc sử dụng trong CSDL, mức độ đáp ứng của hệ
thống.
o Bƣớc 2: Thiết kế CSDL mức khái niệm

 Mô tả tổng quát hơn dữ liệu đƣợc lƣu.
 Các ràng buộc cần có trong CSDL.
o Bƣớc 3: Thiết kế CSDL mức logic
 Chọn một hệ CSDL.
 Chuyển thiết kế CSDL khái niệm sang lƣợc đồ tƣơng ứng với hệ
CSDL v a chọn.
o Bƣớc 4: Cải tiến, chuẩn hoá lƣợc đồ
 Sử dụng các logic toán học, thuật toán để chuẩn hoá lƣợc đồ, tránh các
tiềm ẩn.
o Bƣớc 5: Thiết kế CSDL vật lý
 Mô ph ng CSDL thật để phát hiện các tiềm ẩn. Nếu khơng đạt chuẩn
có thể xây dựng lại.
o Bƣớc 6: Bảo mật
 Định nghĩa ngƣời dùng, các phƣơng pháp truy nhập CSDL.
 Chỉnh sửa, cải tiến để đáp ứng nhu cầu sử dụng.

17


Mơ hình thực thể – liên kết
o Thực thể: Thực thể là một sự vật, sự việc trong thế giới thực, có sự tồn tại
độc lập, chúng ta có thể cảm nhận đƣợc bằng các giác quan, ho c chúng ta
khơng cảm nhận đƣợc bằng các giác quan nhƣng có thể nhận biết đƣợc bằng
nhận thức.
o Tập thực thể: là một nhóm các thực thể cùng thuộc tính. Ví dụ: tập tất cả
sinh viên của lớp học có thể định nghĩa là tập sinh viên. Các tập thực thể
không cần phải tách biệt nhau. Ví dụ trong một cơng ty, có thể có tập thực
thể nhân viên, tập thực thể khách hàng. Một tập ngƣời nào đó có thể là một
nhân viên, một khách hàng ho c là cả hai, ho c khơng phải cả hai.
o Thuộc tính: là đ c điểm của một đối tƣợng, nó có các đ c tính sau:

 Tên gọi: Là một dãy ký tự, bạn phải đ t sao đọc tên thuộc tính là sẽ gợi
đƣợc

nghĩa của nó.

 Kiểu dữ liệu: thuộc tính phải xác định kiểu dữ liệu lƣu trữ.
Mỗi thuộc tính có giá trị giới hạn, cho phép. Gọi là miền trị. Một cơ sở dữ
liệu là một tập các thực thể liên kết, quan hệ với nhau.

Hình 1: Các ký hiệu trong mơ hình liên kết thực thể

18


Thuộc tính trong mơ hình thực thể - liên kết
o Thuộc tính đơn, thuộc tính kép: Thuộc tính đơn là thuộc tính khơng thể phân
chia ra đƣợc thành các thành phần nh hơn. Thuộc tính kép là thuộc tính có
thể ph n chia đƣợc thành các thành phần nh hơn, biểu diễn các thuộc tính
cơ bản hơn với các

nghĩa độc lập. Giá trị của một thuộc tính là sự kết hợp

kết hợp các giá trị của các thuộc tính thành phần tạo nên nó. Việc phân chia
một thuộc tính phức hợp thành các thuộc tính đơn tùy thuộc vào hồn cảnh
cụ thể.
o Thuộc tính đơn trị, Thuộc tính đa trị: Những thuộc tính có giá trị duy nhất
cho một thực thể cụ thể gọi là các thuộc tính đơn trị. Một thuộc tính có thể có
một tập giá trị cho cùng một thực thể. Những thuộc tính nhƣ vậy gọi là thuộc
tính đa trị.
o Thuộc tính dẫn xuất: Giá trị đƣợc dẫn xuất t các giá trị của các thuộc tính

ho c thực thể liên quan. Giá trị của thuộc tính này có thể đƣợc tính bằng cách
đếm số lƣợng m t hàng đã mua liên quan đến khách hàng.
o Thuộc tính rỗng: ột thực thể cụ thể có thể khơng có các giá trị áp dụng đƣợc
cho một thuộc tính. Giá trị khơng xác định đƣợc tạo ra khi một thuộc tính có
giá trị khơng áp dụng đƣợc ho c khi khơng biết.
Liên kết trong mơ hình thực thể - liên kết
o Liên kết: là mối liên hệ giữa một ho c nhiều thực thể. Cũng có thể gọi là một
quan hệ giữa thực thể.
o Thể hiện quan hệ: Mối liên hệ giữa thực thể trong mơ hình ER xác định quan
hệ trong thế giới thực của chúng. Một thể hiện của mối quan hệ có thể có các
thuộc tính mơ tả cho nó. Ví dụ mối quan hệ mƣợn giữa sinh viên và thƣ viện
có thể đƣợc mơ tả thêm thuộc tính ngày mƣợn.
Ràng buộc trong mơ hình thực thể - liên kết
Các giá trị lƣu trữ trong CSDL có những ràng buộc để đảm bảo chính xác với
thế giới thực. Dựa vào mơ hình ER, ta có thể mơ hình hố những ràng buộc đó.

19


Trong đó có 2 loại ràng buộc quan trọng: ánh xạ lực lƣợng liên kết và các ràng buộc
tham gia.
Ánh xạ lực lƣợng liên kết: Thể hiện số lƣợng các thực thể mà thực thể khác có thể
liên kết đến thơng qua một quan hệ nào đó. Cho một quan hệ hai ngơi R, tập thực
thể A và B có các loại ánh xạ liên kết:
o 1:1 một tới một t A đến B.
o 1:N một tới nhiều t A đến B.
o N:1 nhiều tới một t A đến B.
o N:N nhiều tới nhiều t A đến B.
Các ràng buộc tham gia: Sự tham gia của tập thực thể E trong quan hệ R đƣợc coi là
đầy đủ nếu tất cả các thực thể của E tham gia ít nhất một quan hệ trong R. Gọi là

một phần nếu chỉ vài thực thể tham gia.
Khoá của tập thực thể
Trong một tập thực thể, để phân biệt các thực thể với nhau, ngƣời ta xác định
một tập các thuộc tính đủ để phân biệt. Gọi là khoá. Khoá dùng để phân biệt thực
thể, cũng để xác định mối quan hệ giữa các thực thể.
o Siêu khoá: là một tập gồm một ho c nhiều thuộc tính cho phép xác định duy
nhất thực thể trong tập thực thể.
o Khoá dự bị: là các siêu khố mà khơng có tập con nào của nó là siêu khố.
Với một tập thực thể cho trƣớc, tồn tại một ho c nhiều khoá dự bị. Trong q
trình thiết kế, ngƣời thiết kế CSDL chọn một khố dự bị làm khố chính hay
cịn gọi là khố cho tập thực thể.
o Ràng buộc khoá: Hai thực thể khác nhau sẽ không đƣợc trùng giá trị trên tất
cả các thuộc tính của khố đƣợc chọn tại cùng một thời điểm. Do đó, ngƣời
thiết kế CSDL cần chọn cẩn thân các thuộc tính cấu thành khố. Khố sẽ cố
định và xác định duy nhất thực thể.

20


1.5.

Đ c điểm của một hệ quản trị cơ sở dữ liệu

1.5.1. Sự tr u tƣợng ho dữ liệu
Hệ quản trị cơ sở dữ liệu phải giúp ngƣời dùng quản lý dữ liệu một cách có
hiệu quả. T đó việc thiết kế các cấu tr c dữ liệu phức tạp để biểu diễn dữ liệu trong
cơ sở dữ liệu này, ngƣời phát triển phải che dấu tính phức tạp này thông qua một số
mức tr u tƣợng để đơn giản hoá các tƣơng tác của ngƣời sử dụng đối với hệ thống.

Hình 2: Sự trìu tƣợng hố dữ liệu của hệ quản trị CSDL

Mức vật l : Chứa toàn bộ các tệp dữ liệu, ngƣời dùng cơ sở dữ liệu không
nhất thiết phải nắm đƣợc cấu trúc tổ chức của các tệp dữ liệu vật lý khi sử dụng.
Mức logic: Cấu trúc dữ liệu tr u tƣợng đƣợc tạo thành t lớp vật lý. Lớp
logic có thể chứa tập hợp các bảng hai chiều, một cấu trúc phân cấp tƣơng tự nhƣ sở
đồ tổ chức của một công ty hay một vài cấu trúc khác.
Mức hung nh n: Đây 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. Tuy sử dụng các cấu tr c đơn giản mức logic, một
số phức tập vẫn c n tồn tại do kích thƣớc lớn của cơ sở dữ liệu. Thực tế những
ngƣời sử dụng chỉ cần truy nhập đến một phần cơ sở dữ liệu, sự tƣơng tác của họ

21


với hệ thống này là đơn giản hoá và mức khung nhìn của sự tr u tƣợng đƣợc xác
định. Hệ thống có thể đƣợc cung cấp nhiều khung nhìn đối với cùng một cơ sở dữ
liệu.
1.5.2. Ng n ngữ cơ sở dữ liệu
Ngôn ngữ cơ sở dữ liệu là ngôn ngữ có mục đích đ c biệt, cho phép một ho c nhiều
tác vụ sau, đôi khi đƣợc ph n biệt là ngơn ngữ con:
o Ngơn ngữ kiểm sốt dữ liệu
o Ngôn ngữ định nghĩa dữ liệu
o Ngôn ngữ thao tác dữ liệu
o Ngôn ngữ truy vấn dữ liệu
Ngôn ngữ cơ sở dữ liệu là cụ thể cho một mô hình dữ liệu cụ thể. Các ví dụ đáng
ch

bao gồm:
o SQL kết hợp các vai tr của định nghĩa dữ liệu, thao tác dữ liệu và truy vấn
trong một ngôn ngữ.
o OQL là một tiêu chuẩn ngơn ngữ mơ hình đối tƣợng

o XQuery là ngôn ngữ truy vấn XML tiêu chuẩn đƣợc triển khai bởi các hệ
thống cơ sở dữ liệu XML nhƣ MarkLogic và eXist.

Một hệ quản trị cơ sở dữ liệu thƣờng bao gồm 2 kiểu ngôn ngữ khác nhau đó là:
Ngơn ngữ mơ tả sơ đồ và ngôn ngữ biểu diễn các truy vấn và các cập nhật.
1.5.3. ử l c u h i
Công việc của bộ xử l c u h i là biến đổi một truy vấn hay một thao tác cơ
sở dữ liệu có thể đƣợc biểu diễn ở các mức cao thành một dãy các yêu cầu đối với
các dữ liệu lƣu trữ trong cơ sở dữ liệu.
Thƣờng phần khó nhất của nhiệm vụ xử l c u h i là tối ƣu hố c u h i, có nghĩa là
lựa chọn một kế hoạch tốt nhất đối với hệ thống lƣu trữ để trả lời truy vấn này
nhanh nhất.

22


1.5.4. Quản trị giao dịch
Thông thƣờng một số công việc trên cơ sở dữ liệu hình thành một đơn vị
logic cơng việc. Có nghĩa là ho c tất cả các công việc đƣợc thực hiện hết ho c
không bất kỳ công việc nào đƣợc thực hiện. Hơn nữa sự thực hiện các cơng việc
này phải đảm bảo tính nhất qn của cơ sở dữ liệu. Một giao dịch là một tập hợp
các công việc mà xử l nhƣ một đơn vị không chia cắt đƣợc. Các hệ quản trị cơ sở
dữ liệu điển hình cho phép ngƣời sử dụng một hay nhiều nhóm cơng việc tra cứu
hay thay đổi cơ sở dữ liệu thành một giao dịch.

1.5.5. Quản l lƣu trữ
Các cơ sở dữ liệu thƣờng cần một khối lƣợng lớn không gian lƣu trữ. Khi xử
l dữ liệu, hệ thống cần phải di chuyển dữ liệu t ổ đĩa vào bộ nhớ chính; cơng việc
này là khá chậm so với tốc độ xử l của bộ nhớ trung t m, do vậy các hệ cơ sở dữ
liệu phải tổ dữ liệu vật l sao cho tốt, tối thiểu hoá số yêu cầu chuyển dữ liệu giữa ổ

cứng vào bộ nhớ chính.

23


1.6.

Kiến tr c của một hệ quản trị cơ sở dữ liệu

Hình 3: Kiến trúc một hệ quản trị cơ sở dữ liệu

Dữ liệu si u dữ liệu: Mô tả cấu tr c lƣu trữ vật l cơ sở dữ liệu. Siêu dữ liệu
tức là thông tin cấu tr c của cơ sở dữ liệu.
Bộ quản l lƣu trữ: Nhiệm vụ là lấy ra các thông tin đƣợc yêu cầu t những
thiết bị lƣu trữ dữ liệu và thay đổi những thông tin này khi đƣợc yêu cầu bởi các
mức trên nó của hệ thống.
Bộ ử l c u h i: Xử lý các c u h i, các yêu cầu thay đổi dữ liệu hay siêu dữ
liệu. Nhiệm vụ của nó là thao tác đƣợc yêu cầu và phát ra lệnh đối với bộ quản l
lƣu trữ và thực thi thao tác đó.

24


×