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

Phát triển hệ thống hỗ trợ thiết kế cơ sở dữ liệu quan hệ

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.9 MB, 60 trang )

TRƢỜNG ĐẠI HỌC VINH

KHOA CÔNG NGHỆ THÔNG TIN
--------------------------

TRẦN THÁI HƢNG

BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:

PHÁT TRIỂN HỆ THỐNG HỖ TRỢ THIẾT KẾ
CƠ SỞ DỮ LIỆU QUAN HỆ

Nghệ An, tháng 01 năm 2016


TRƢỜNG ĐẠI HỌC VINH

KHOA CÔNG NGHỆ THÔNG TIN
--------------------------

BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Tên đồ án:

PHÁT TRIỂN HỆ THỐNG HỖ TRỢ THIẾT KẾ
CƠ SỞ DỮ LIỆU QUAN HỆ

Sinh viên thực hiện:



Trần Thái Hƣng – Mã sinh viên: 1151070407
Lớp:52K1 - CNTT

Giáo viên hướng dẫn:

TS. Phan Anh Phong

Nghệ An, tháng 01 năm 2016


Đồ án tốt nghiệp đại học

LỜI CẢM ƠN
Trong quá trình thực hiện đồ án tốt nghiệp với đề tài “Phát triển hệ thống hỗ
trợ thiết kế cơ sở dữ liệu quan hệ”, đƣợc sự hƣớng dẫn nhiệt tình, chu đáo của các
thầy giáo, cô giáo trong khoa Công nghệ thông tin và cách sự hƣỡng dẫn nhiệt tình quý
báu của thầy giáo hƣớng dẫn TS.Phan Anh Phong nên em đã hồn thành tốt phần đề
tài của mình.
Em xin chân thành cảm ơn những đóng góp về thời gian và kinh nghiệm quý báu
của thầy giáo TS.Phan Anh Phong đã truyền đạt, giúp sức cho em trong quá trình làm
đồ án tốt nghiệp. Đó là những động lực, lời khuyên và kho báu trí thức để em có thể
sẵn sàng tỉnh thức và vận dụng trong thời gian làm đồ án tốt nghiệp vừa qua.
Em cũng xin chân thành cảm ơn các thầy giáo, cô giáo trong khoa Công nghệ
thông tin Trƣờng Đại học Vinh và các bạn bè trong lớp đã tạo điều kiện giúp đỡ em
trong suốt thời gian làm đồ án và học tập tại trƣờng.
Trong quá trình làm đồ án tốt nghiệp, vì một số lý do về thời gian và kiến thức
hạn hẹp nên không tránh khỏi những sai sót trong đề tài. Em rất mong nhận đƣợc sự
góp ý hơn nữa của quý thầy giáo, cô giáo và các bạn.
Em xin chân thành cảm ơn!


Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

3


Đồ án tốt nghiệp đại học

LỜI MỞ ĐẦU
Trong những năm gần đây, việc ứng dụng công nghệ thông tin trở nên
rộng rãi và vai trị của cơng nghệ thơng tin ngày càng đƣợc khẳng định trong nhiều
lĩnh vực khác nhau nhƣ giáo dục & đào tạo, khoa học kỹ thuật, kinh doanh, ... dƣới
nhiều quy mô khác nhau. Cơ sở dữ liệu là một trong những lĩnh vực nghiên cứu đóng
vai trị nền tảng trong sự phát triển của cơng nghệ thông tin. Sự phát triển mạnh của cơ
sở dữ liệu bắt đầu từ những năm 70 của thế kỷ trƣớc, đặc biệt từ khi E.F.Codd giới thiệu
mơ hình quan hệ. Ngày nay có rất nhiều hệ quản trị cơ sở dữ liệu đƣợc xây dựng và phát
triển dựa trên mơ hình này nhƣ là: MS. Access, SQL Server, Oracle, MySQL...
Cơ sở dữ liệu (CSDL) liên quan đến các vấn đề thu nhập, biểu diễn, tổ chức lƣu
trữ và xử lý dữ liệu của các đơn vị, tổ chức, doanh nghiệp,... Lý thuyết cơ sở dữ liệu
nghiên cứu các cơ chế, nguyên lý và phƣơng pháp tổ chức dữ liệu trên các vật mang
tin để khai thác có hiệu quả dữ liệu trong các hệ thống tin học ứng dụng cũng nhƣ
trong các hệ lƣu trữ và tra cứu thông tin.
Trong số các mơ hình cho việc tổ chức và khai thác cơ sở dữ liệu, mơ hình quan
hệ đã và đang đƣợc sử dụng rộng rãi. Bởi vì mơ hình này đƣợc xây dựng trên cơ sở lý
thuyết và các quan hệ có cơ sở tốn học chặt chẽ, sử dụng các công cụ đại số và logic,
đảm bảo đƣợc tính an tồn dữ liệu, tính nhất qn dữ liệu và tính độc lập dữ liệu.
Trong cơ sở dữ liệu quan hệ, các quan hệ có hình ảnh trực quan nhƣ là các bảng
biểu thơng thƣờng. Điều đó tạo nên những thuận lợi trong việc thực hiện các thao tác
trên các quan hệ, các ngôn ngữ thao tác trên cơ sở dữ liệu quan hệ có khả năng tổ hợp
cao và hiệu quả. Việc cập nhật cơ sở dữ liệu trong mơ hình quan hệ khá dễ dàng.

Một trong những yêu cầu quan trọng khi xây dựng các ứng dụng cơ sở dữ liệu là
vấn đề thiết kế cơ sở dữ liệu. Vào cuối năm 1972, E.F.Codd ngƣời sáng lập ra mơ hình
dữ liệu quan hệ đã đề xuất ra các dạng chuẩn để chuẩn hóa dữ liệu, làm cơ sở đầu tiên
để thiết kế các sơ đồ quan hệ. Lúc đầu, Codd đề nghị ba dạng chuẩn gọi là dạng chuẩn
1, dạng chuẩn 2 và dạng chuẩn 3. Một định nghĩa mạnh hơn cho dạng chuẩn 3 gọi là
dạng chuẩn Boyce-Codd do Boyce và Codd đề nghị muộn hơn. Nhờ các dạng chuẩn
này, ta có thể tách dữ liệu gốc thành các dữ liệu con nhỏ hơn để lƣu trữ và xử lý
nhằm đảm bảo tính nhất quán dữ liệu, một yêu cầu cần thiết trong các ứng dụng cơ
sở dữ liệu.
Với mong muốn đƣợc đóng góp một phần cơng sức nhỏ bé của mình vào việc
nghiên cứu về chuẩn hóa dữ liệu trong cơ sở dữ liệu quan hệ, mục tiêu nghiên cứu của

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

4


Đồ án tốt nghiệp đại học
đề tài này chủ yếu chú trọng vào việc xây dựng một ứng dụng hỗ trợ thiết kế cơ sở dữ
liệu quan hệ về dạng chuẩn 3NF với phép tách bảo toàn phụ thuộc hàm và khơng mất
thơng tin.
Nội dung chính của đề tài đƣợc trình bày trong 4 chƣơng:
Chƣơng 1: Các kiến thức chuẩn bị.
Các khái niệm chung về mơ hình quan hệ với trọng tâm là các khái niệm về sơ đồ
cơ sở dữ liệu quan hệ, mô tả phụ thuộc hàm nhƣ một cơng cụ tốn học trợ giúp cho
việc biểu đạt ngữ nghĩa dữ liệu và đảm bảo tính nhất quán của dữ liệu trong cơ sở dữ
liệu đƣợc Codd, tác giả của mơ hình dữ liệu quan hệ đề xuất sớm nhất. Các tính chất
của phụ thuộc hàm và các hệ tiên đề cho phụ thuộc hàm đƣợc mô tả đầy đủ và đƣợc sử
dụng nhƣ một công cụ thiết kế các cơ sở dữ liệu chuẩn hóa.
Chƣơng 2: Lý thuyết thiết kế cơ sở dữ liệu quan hệ.

Chƣơng này phần thứ nhất trình bày sự cần thiết phải thiết kế cơ sở dữ liệu, phần
thứ hai trình bày các bƣớc thiết kế cơ sở dữ liệu, phần thứ ba trình bày các phép tách
một sơ đồ quan hệ với phép tách không mất thông tin và phép tách bảo tồn tập phủ
thuộc hàm. Phần cuối cùng trình bày một số phƣơng pháp chuẩn hoá quan hệ, ở phần
này ta tập trung đi vào hai kỹ thuật là kỹ thuật phân tách và kỹ thuật phủ tối thiểu
Chƣơng 3: Cài đặt thuật toán chuẩn hoá sơ đồ quan hệ.
Chƣơng này trình bày cách cài đặt ứng dụng tách lƣợc đồ quan hệ về dạng chuẩn
3NF với phép tách bảo toàn phụ thuộc hàm và không mất thông tin. Phần đầu tiên
trình bày cách xây xây dựng kiểu dữ liệu phụ thuộc hàm và mô tả cách biểu diễn phụ
thuộc hàm trong file text. Phần tiếp theo trình bày các thuật tốn: Thuật tốn tìm bao
đóng của tập thuộc tính, thuật tốn tìm một khố, thuật tốn tìm mọi khố, thuật tốn
tìm phủ tối thiểu, thuật tốn tách lƣợc đồ quan hệ về 3NF
Chƣơng 4: Demo chƣơng trình ứng dụng.
Demo ứng dụng tìm phủ tối thiểu, tìm mọi khố và tách một lƣợc đồ quan hệ về
dạng 3NF với phép tách bảo tồn phụ thuộc hàm và khơng mất thơng tin với bài toán
đƣợc đọc từ tệp hay nhập vào từ bàn phím.

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

5


Đồ án tốt nghiệp đại học

MỤC LỤC
Trang
LỜI CẢM ƠN ........................................................................................................... 3
LỜI MỞ ĐẦU ........................................................................................................... 4
CHƢƠNG 1. CÁC KIẾN THỨC CHUẨN BỊ .......................................................... 9
1.1 Các khái niệm cơ bản. ....................................................................................9

1.2 Sơ đồ cơ sở dữ liệu quan hệ. ........................................................................11
1.2.1 Thực thể. .............................................................................................. 11
1.2.2 Thuộc tính............................................................................................ 11
1.2.3 Mối liên kết giữa các thực thể ............................................................. 12
1.2.4 Quan hệ................................................................................................ 13
1.2.5 Khóa của một sơ đồ quan hệ ............................................................... 13
1.3 Phụ thuộc hàm và các tính chất. ...................................................................13
1.3.1 Phụ thuộc hàm .....................................................................................14
1.3.2 Hệ tiên đề Amstrong ...........................................................................14
1.3.3 Bao đóng của tập phụ thuộc hàm ........................................................ 16
1.3.4 Bao đóng của tập thuộc tính ................................................................ 16
1.3.5 Tính chất của bao đóng tập thuộc tính ................................................16
1.3.6 Tập phụ thuộc hàm tƣơng đƣơng ........................................................ 17
1.3.7 Phủ tối thiểu của một tập phụ thuộc hàm ............................................17
1.4 Các dạng chuẩn trong mơ hình quan hệ ....................................................... 17
1.4.1 Sự cần thiết phải chuẩn hóa dữ liệu ....................................................18
1.4.2 Các dạng chuẩn ...................................................................................19
1.5 Kết luận chƣơng 1 ........................................................................................ 23
CHƢƠNG 2. LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ ...................... 24
2.1 Sự cần thiết phải thiết kế cơ sở dữ liệu ........................................................ 24
2.2 Các bƣớc thiết kế cơ sở dữ liệu ....................................................................24
2.3 Phép tách một sơ đồ quan hệ........................................................................28

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

6


Đồ án tốt nghiệp đại học
2.3.1 Phép tách không mất thơng tin. ........................................................... 28

2.3.2 Phép tách bảo tồn tập phụ thuộc hàm . ..............................................30
2.4 Một số phƣơng pháp chuẩn hóa sơ đồ quan hệ . ..........................................30
2.4.1 Kỹ thuật phân tách...............................................................................30
2.4.2 Kỹ thuật phủ tối thiểu ..........................................................................31
2.5 Kết luận chƣơng 2 ........................................................................................ 32
CHƢƠNG 3. CÀI ĐẶT THUẬT TOÁN CHUẨN HOÁ SƠ ĐỒ QUAN HỆ........ 33
3.1 Xây dựng kiểu dữ liệu cho các phụ thuộc hàm ............................................33
3.2 Thuật tốn tìm bao đóng của một tập thuộc tính .........................................35
3.3 Thuật tốn tìm một khóa. .............................................................................37
3.4 Thuật tốn tìm mọi khóa. .............................................................................38
3.4.1 Mơ tả thuật toán chung. .......................................................................38
3.4.2 Các thuật toán chi tiết. .........................................................................38
3.5 Thuật tốn tìm phủ tối thiểu. ........................................................................44
3.5.1 Tách vế phải phụ thuộc hàm thành các thuộc tính đơn: ...................... 44
3.5.2 Loại bỏ dƣ thừa thuộc tính ở vế trái ....................................................45
3.5.3 Loại bỏ dƣ thừa phụ thuộc hàm........................................................... 46
3.6 Thuật toán tách lƣợc đồ quan hệ về dạng 3NF, bảo toàn phụ thuộc hàm và
không mất thông tin ...................................................................................................47
3.7 Kết luận chƣơng 3 ........................................................................................ 47
CHƢƠNG 4. DEMO CHƢƠNG TRÌNH ỨNG DỤNG ......................................... 48
4.1 Chức năng đọc từ tệp. ..................................................................................48
4.1.1 Giao diện chính của chƣơng trình. ...................................................... 48
4.1.2 Đọc dữ liệu từ tệp. ...............................................................................48
4.1.3 Tìm phủ tối thiểu. ................................................................................50
4.1.4 Tìm các khố. ...................................................................................... 50
4.1.5 Tách lƣợc đồ quan hệ. .........................................................................51
4.2 Chức năng nhập dữ liệu. ..............................................................................52
4.2.1 Nhập thuộc tính và mã hố dữ liệu. ....................................................52

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT


7


Đồ án tốt nghiệp đại học
4.2.2 Nhập phụ thuộc hàm. ..........................................................................53
4.2.3 Hiện thị bài tốn. .................................................................................55
4.2.4 Tìm phủ tối thiểu .................................................................................55
4.2.5 Tách lƣợc đồ quan hệ ..........................................................................56
4.2.6 Sinh mã lệnh SQL. ..............................................................................57
4.2.7 Xuất file mã lệnh. ................................................................................57
KẾT LUẬN .............................................................................................................. 59
TÀI LIỆU THAM KHẢO........................................................................................ 60

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

8


Đồ án tốt nghiệp đại học

CHƢƠNG 1. CÁC KIẾN THỨC CHUẨN BỊ
1.1 Các khái niệm cơ bản.
Dữ liệu: Dữ liệu là các sự kiện, văn bản, đồ họa, hình ảnh và đoạn phim video
có ý nghĩa trong mơi trƣờng ngƣời dùng.
Thông tin: Thông tin là dữ liệu đƣợc xử lý để tăng hiểu biết của ngƣời dùng về
dữ liệu này.
Cơ sở dữ liệu: là tập hợp các dữ liệu có liên quan chứa thơng tin của một tổ chức
nào đó (cơng ty, xí nghiệp, trƣờng học, …) đƣợc lƣu trữ trên các thiết bị nhớ ngoài để
đáp ứng yêu 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.
Có quan hệ logic
CƠ SỞ
Lưu trữ có chọn
lọc

DỮ LIỆU

DỮ LIỆU

THƠNG TIN

Hình 1.1: Quan hệ giữa thơng tin, dữ liệu và cơ sở dữ liệu.
Hệ quản trị cơ sở dữ liệu: Là một hệ thống phần mềm cho phép quản lý cơ sở
dữ liệu và thực hiện các thao tác xử lý dữ liệu.
Hệ quản trị cơ sở dữ liệu là rất quan trọng, nhƣ là một bộ diễn dịch với ngôn ngữ
bậc cao nhằm giúp ngƣời sử dụng có thể dùng đƣợc hệ thống mà ít nhiều khơng cần
quan tâm đến thuật tốn chi tiết hoặc biểu diễn ở trong máy. . Một số hệ quản
trị CSDL phổ biến hiện nay nhƣ là: Oracle, SQL Server, DB2, My SQL,..

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

9


Đồ án tốt nghiệp đại học

Hình 1.2: Hệ thống Cơ sở dữ liệu.
Việc tổ chức dữ liệu tốt sẽ cho ta một hệ thống CSDL tốt, giúp cho ngƣời quản
trị hệ thống dễ dàng trong việc làm chủ hệ thống này…

Chức năng của hệ quản trị cơ sở dữ liệu:
a. Thiết lập cơ sở dữ liệu:
 Khai báo.
 Định nghĩa.
b. Cập nhật dữ liệu:
 Bổ sung dữ liệu vào cơ sở dữ liệu.
 Loại bỏ dữ liệu khỏi cơ sở dữ liệu.
 Sửa dữ liệu trong cơ sở dữ liệu.
c. Khai thác dữ liệu trong cơ sở dữ liệu .
 Tìm kiếm thơng tin theo u cầu.
 Kết xuất thơng tin theo yêu cầu.

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

10


Đồ án tốt nghiệp đại học
1.2 Sơ đồ cơ sở dữ liệu quan hệ.
1.2.1 Thực thể.
Là đối tƣợng có trong thực tế mà chúng ta cần khảo sát và giải quyết nhiều vấn
đề liên quan đến đối tƣợng này.
Tên thực thể: Là tên của một đối tƣợng. Trong 1 CSDL, tên thực thể khơng đƣợc
trùng nhau.
Ví dụ: Thực thể xe máy, thực thể giáo viên, nhân viên, thực thể hóa đơn bán
hàng,…
Tiêu chuẩn xác định thực thể:
 Có ích cho quản lý.
 Phân biệt đƣợc giữa các thực thể với nhau.
Kiểu thực thể: Là tập hợp các đối tƣợng cùng loại hình thành một kiểu thực thể,

nói cách khác kiểu thực thể chính là những thực thể cùng đƣợc mơ tả bằng những đặc
trƣng giống nhau.
Ví dụ: Một Sinh viên là một thực thể, tập hợp các sinh viên của cùng một hệ
thống tạo thành một kiểu thực thể.
1.2.2 Thuộc tính.
- Thuộc tính là một giá trị dùng để mơ tả một khía cạnh nào đó của một thực thể
hay của một liên kết. Các thuộc tính dùng để phân biệt thực thể đó với thực thể khác.
Ví dụ: Thực thể Xe máy có các thuộc tính sau: Mã_Xe, Tên_Xe, Số_Máy,
Số_Khung, Hãng_SX.
Thực thể Sinh viên có các thuốc tính: Mã_SV, Họ_Tên, Ngày_Sinh, Giới_Tính
Các kiểu của thuộc tính:
 Thuộc tính nguyên tố: là thuộc tính của một thực thể mà khơng thể phân
chia nhỏ hơn. Ví dụ thuộc tính Giới tính, Ngày sinh,… của thực thể Sinh
Viên.
 Thuộc tính đơn trị: Là thuộc tính mà mỗi thực thể chỉ có thể nhận nhiều
nhất một giá trị. Ví dụ: Giới Tính, Ngày Sinh,…
 Thuộc tính đa trị: Là thuộc tính mà mỗi thực thể có thể có nhiều giá trị tại
một thời điểm. Ví dụ thuộc tính Số diện thoại.
 Thuộc tính phức hợp: Là thuộc tính đƣợc kết hợp của một số thành phần.
Ví dụ: Địa_Chỉ( Xã, Huyện, Tỉnh ) hoặc Họ_Tên( Họ, Tên ) là thuộc tính
phức hợp.

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

11


Đồ án tốt nghiệp đại học
 Thuộc tính dẫn xuất: Là thuộc tính mà giá trị của nó có thể suy ra từ giá trị
của những thuộc tính khác. Ví dụ thuộc tính Tuổi đƣợc suy diễn

từ Ngày_Sinh. Thuộc tính Thành_Tiền có thể suy ra đƣợc từ thuộc tính
Số_Lượng và Đơn_Giá.
1.2.3 Mối liên kết giữa các thực thể
Liên kết (Relationship) dùng để chỉ mối quan hệ giữa hai hay nhiều thực thể khác
nhau. Ví dụ: Nhân viên (A) làm việc cho dự án (X), nhân viên B làm việc cho dự án (X)…
Những liên kết của cùng một kiểu đƣợc nhóm lại gọi là kiểu liên kết. Ví dụ kiểu
liên kết Làm_Việc (làm việc cho), kiểu liên kết Quản_Lý( làm quản lý)…
Bậc của kiểu liên kết là số lƣợng các kiểu thực thể tham gia vào liên kết.
Ràng buộc liên kết: Các kiểu liên kết thƣờng có một số ràng buộc nào đó về các
thực thể có thể kết hợp với nhau tham gia trong một liên kết phù hợp. Các ràng buộc
này xác định từ tình huống thực tế mà liên kết thể hiện. Có các loại ràng buộc nhƣ sau:
- Về tỷ số lực lƣợng:
 Liên kết 1-1 (liên kết một-một): Hai thực thể A và B có mối liên kết 1-1
nếu một thực thể kiểu A đƣợc kết hợp với một thực thể kiểu B và ngƣợc
lại. Ví dụ liên kết quản lý: Một nhân viên quản lý một phịng, và một
phịng chỉ có một nhân viên quản lý.
 Liên kết 1-n (liên kết một nhiều): Hai thực thể A và B có mối liên kết 1- n
nếu một thực thể kiểu A liên kết với nhiều thực thể kiểu B và một thực thể
của B chỉ liên kết với một thực thể kiểu A. Ví dụ: Một nhân viên làm việc
cho một phòng và một phòng có nhiều nhân viên làm việc.
 Liên kết n-n (liên kết nhiều nhiều ): Hai thực thể A và B có mối liên kết nn nếu một thực thể kiểu A liên kết với nhiều thực thể kiểu B và ngƣợc lại.
Ví dụ: Một nhân viên có thể làm việc cho nhiều dự án và một dự án có thể
có nhiều nhân viên làm việc.
- Về sự tham gia: Ràng buộc về sự tham gia đƣợc xác định trên từng thực thể
trong từng kiểu liên kết mà thực thể đó tham gia, bao gồm: lực lƣợng tham gia toàn bộ
và lực lƣợng tham gia bộ phận.
Ví dụ: Trong kiểu liên kết QUẢN_LÝ giữa hai kiểu thực thể NHÂN_VIÊN và
PHÒNG, lực lƣợng tham gia của kiểu thực thể PHỊNG là tồn bộ, vì NHÂN_VIÊN
nào cũng có ngƣời quản lý, cịn lực lƣợng tham gia của kiểu thực thể NHÂN_VIÊN là
bộ phận vì khơng phải NHÂN_VIÊN nào cũng làm quản lý của PHÒNG.


Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

12


Đồ án tốt nghiệp đại học
1.2.4 Quan hệ
Một quan hệ là một bảng dữ liệu 2 chiều (cột và dòng), có thể đƣợc dùng để mơ
tả một kiểu thực thể. Mỗi cột tƣơng ứng với một thuộc tính của thực thể. Mỗi dòng
chứa các giá trị dữ liệu của một đối tƣợng cụ thể thuộc thực thể.
Các tính chất của một quan hệ:
 Các giá trị trong cùng một cột phải thuộc cùng một miền giá trị (cùng kiểu
dữ liệu).
 Thứ tự các dịng, các cột tuỳ ý.
1.2.5 Khóa của một sơ đồ quan hệ
Mỗi quan hệ i có một hoặc một tập các thuộc tính mang giá trị duy nhất để phân
biệt giữa bản ghi này với bản ghi khác. Thuộc tính đó gọi là khố của một sơ đồ quan hệ
Khố chính và khố dự phịng: Một lƣợc đồ quan hệ R có thể có nhiều khố. Ta
có thể chọn một trong các khoá của R làm khoá chính (primary key). Các khố cịn lại
đƣợc gọi là khố dự phịng.
Khố ngoại (Foreign key): Một tập thuộc tính K trong sơ đồ quan hệ R đƣợc gọi
là khoá ngoại của R nếu nó tham chiếu đến một tập thuộc tính có ràng buộc duy nhất của
một lƣợc đồ quan hệ khác. Trƣờng hợp đặc biệt tập thuộc tinh đó có thể là khóa chính.
Ví dụ:

1.3 Phụ thuộc hàm và các tính chất.
Việc quan trọng nhất khi thiết kế cơ sở dữ liệu quan hệ là ta phải chọn ra tập các
lƣợc đồ quan hệ tốt nhất dựa trên một số tiêu chí nào đó. Và để có đƣợc lựa chọn tốt,
thì chúng ta cần đặc biệt quan tâm đến mối ràng buộc giữa các dữ liệu trong quan hệ,

đó chính là các phụ thuộc hàm.
Phụ thuộc hàm là những mối quan hệ giữa các thuộc tính trong CSDL quan hệ.
Khái niệm về phụ thuộc hàm có một vai trị rất quan trọng trong việc thiết kế mơ hình

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

13


Đồ án tốt nghiệp đại học
dữ liệu. Một trạng thái phụ thuộc hàm chỉ ra rằng giá trị của một thuộc tính đƣợc
quyết định một cách duy nhất bởi giá trị của thuộc tính khác.
1.3.1 Phụ thuộc hàm
Trong mỗi CSDL luôn tồn tại nhiều mối liên hệ giữa các thuộc tính, giữa các bộ,
sự liên hệ này có thể xảy ra trong cùng một quan hệ hoặc trong các quan hệ của một
lƣợc đồ CSDL. Các mối liên hệ này là những điều kiện bất biến mà tất cả các bộ của
những quan hệ có liên quan trong CSDL đều phải thoả mãn ở mọi thời điểm. Những
điều kiện bất biến đó đƣợc gọi là ràng buộc tồn vẹn. Phụ thuộc hàm là một trong
những công cụ dùng để biểu diễn một cách hình thức một dạng ràng buộc tồn vẹn.
Định nghĩa: Cho lƣợc đồ quan hệ R(U), X  U, Y  U. Tập thuộc tính Y đƣợc
gọi là phụ thuộc hàm vào tập thuộc tính X, nếu với 2 bộ bất kỳ trong mỗi quan hệ r 
R(U) có cùng giá trị trên X thì chúng cũng có cùng giá trị trên Y.
Ký hiệu: X  Y
Có thể thấy rằng, Y mà phụ thuộc hàm vào X nếu hai dòng bất kỳ mà các giá trị
của tập thuộc tính X bằng nhau từng cặp một thì kéo theo các giá trị trên tập thuộc tính
Y cũng phải bằng nhau từng cặp một.
Ví dụ: Cho quan hệ R = Học_Sinh
Mã SV

Họ tên


Năm sinh

Số_điện_thoại

Email

107058

Trần Tuấn Anh

12/08/1963

01698745457



157017

Lê Thị Hoa

11/02/1992

0978416827



798542

Bùi Tiến Thịnh


28/12/1993

0912654824



Bảng 2.1: Quan hệ Học_sinh
Theo định nghĩa, trong quan hệ trên khi biết mã sinh viên thì ta có thể xác định
đƣợc Họ tên, Ngày sinh, Số điện thoại, Email của sinh viên.
Mã SV  Họ tên
Mã SV  Số điện thoại
Mã SV  Email
1.3.2 Hệ tiên đề Amstrong

Các phụ thuộc dữ liệu đóng vai trị rất quan trọng trong q trình thiết kế
cơ sở dữ liệu và một trong những lớp phụ thuộc dữ liệu đầu tiên là lớp phụ thuộc
hàm. Khi nghiên cứu về lớp phụ thuộc hàm trong CSDL quan hệ, Amstrong đã
đƣa ra một số tính chất nhƣ sau:
Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

14


Đồ án tốt nghiệp đại học
Hệ tiên đề Amstrong
Gọi R là quan hệ trên tập thuộc tính U. Khi đó với các thuộc tính X,Y, Z, W  U
ta có hệ tiên đề Amstrong [3] nhƣ sau :
1) Phản xạ : Nếu Y  X thì X  Y
2) Tăng trưởng: Nếu W  U và X  Y thì XW  YW

3) Bắc cầu : Nếu X  Y,Y  Z thì X  Z

Chứng minh:
1) Giả sử t1,t2 ∈ R và t1[X] = t2[X] cần chứng minh t1[Y] = t2[Y]
Thật vậy do Y  X suy ra t1[Y] = t2[Y] (đúng).
2) Giả sử t1,t2 ∈ R và t1[XW] = t2[XW] cần chứng minh t1[YW] = t2 [YW] .
Phản chứng: Giả sử t1[YW] ≠ t2[YW] . Do t1[W] = t2 [W] nên để có t1[YW]
≠ t2 [YW] thì t1[Y] ≠ t2[Y] . Nhƣng theo giả thiết ta có X → Y nghĩa là t1[X]=t2[X]
thì t1[Y]=t2[Y]

mâu thuẫn.Vậy t1[YW] = t2[YW].

3) Theo giả thiết ta có X → Y,Y → Z là hai PTH trên quan hệ R
Giả sử t1,t2 ∈ R và t1[X] = t2[X] cần chứng minh t1[Z] = t2[Z]
Phản chứng : Giả sử t1[Z] ≠ t2 [Z] . Từ X → Y suy ra t1[X] = t2[X] thì t1[Y]
= t2[Y] . Mặt khác ta lại có PTH Y → Z nghĩa là t1[Y] = t2[Y] thì t1[Z] = t2[Z] nhƣng
theo giả thiết phản chứng ta có t1[Z] ≠ t2[Z] (mâu thuẫn). Vậy t1[Z] = t2[Z].
Ví dụ : BC → A, A → C
Cần chứng minh AB → ABC
Thật vậy từ:
1. A → C (g/t)
2. AB → BC (luật tăng trƣởng của (1) thêm thuộc tính C )
3. BC → A (g/t)
4. BC → ABC (luật tăng trƣởng của (3) thêm BC )
5. AB → ABC (bắc cầu từ (2) và (4))
Hệ quả
Từ các tính chất trên chúng ta có các hệ quả sau đây:
1) Luật hợp : Nếu X → Y và X → Z thì X → YZ
2) Luật tựa bắc cầu : Nếu X → Y và WY → Z thì XW → Z
3) Luật tách : Nếu X → Y và Z  Y thì X → Z


Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

15


Đồ án tốt nghiệp đại học
Chứng minh:
1) Từ X → Y dùng luật tăng trƣởng thêm X có X → XY(1). Từ X → Z
dùng luật tăng trƣởng thêm Y có XY → YZ (2).
Vậy từ (1) và (2) áp dụng luật bắc cầu suy ra X → YZ.
2) Từ X → Y dùng luật tăng trƣởng, thêm W có XW → WY (3). Mặt khác
theo giả thiết ta có WY → Z (4).
Vậy từ (3) và (4) áp dụng luật bắc cầu ta có XW → Z.
3) Do Z  Y suy ra Y → Z (theo luật phản xạ). Áp dụng luật bắc cầu cho
X → Y và Y → Z suy ra X → Z.
1.3.3 Bao đóng của tập phụ thuộc hàm
Ta gọi f là một phụ thuộc hàm đƣợc suy dẫn từ tập phụ thuộc hàm F, nếu tồn tại
một chuỗi phụ thuộc hàm: f1, f2,…., fn sao cho fn=f và mỗi fi là một thành viên của F
hay đƣợc suy dẫn từ những phụ thuộc hàm j=1,…,i-1 trƣớc đó nhờ vào hệ tiên đề
Armstrong.
Bao đóng của F: ký hiệu là F+ là tập tất cả các phụ thuộc hàm đƣợc suy dẫn từ F
nhờ vào hệ tiên đề Armstrong.
Bao đóng của F đƣợc ký hiệu là F+. ,ta ln có F  F+.
1.3.4 Bao đóng của tập thuộc tính
Trong một quan hệ R có thể tồn tại nhiều các phụ thuộc hàm khác nhau
giữa các thuộc tính (có thể nhiều thuộc tính phụ thuộc vào một thuộc tính hoặc
cũng có thể một thuộc tính phụ thuộc và nhiều thuộc tính khác nhau). Để tổng quát hoá các
phụ thuộc hàm này ngƣời ta đƣa ra khái niệm Bao đóng tập thuộc tính.
Cho tập thuộc tính U, X  U và F là tập các phụ thuộc hàm nào đó trên U. Khi

đó ta định nghĩa Bao đóng của tập thuộc tính X theo phụ thuộc hàm F đƣợc ký hiệu là
X+F đƣợc xác định nhƣ sau:
X+F = { A| A  U , X → A  F+ }
Ta viết gắn gọn X+F là X+.
Nhận xét: Khái niệm Bao đóng tập thuộc tính có ý nghĩa hết sức quan trọng
trong việc nghiên cứu về lớp phụ thuộc dữ liệu. Có thể nói đây là một trong những
khái niệm quan trọng nhất vì tất cả các kết quả quan trọng nhất trong lớp phụ thuộc
hàm đều liên quan đến khái niệm này.
1.3.5 Tính chất của bao đóng tập thuộc tính

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

16


Đồ án tốt nghiệp đại học
Dựa vào các tính chất của phụ thuộc hàm ta có các tính chất của bao đóng tập
thuộc tính nhƣ sau:
1) Tính phản xạ: X  X+.
2) Tính đơn điệu: Nếu X Y thì X+  Y+.
3) X → X+.
4) Tính luỹ đẳng: X++ = X+.
5) X+ Y+  (XY)+.
6) (X+Y) + = (X Y+) = (XY)+.
7)X → Y  Y  X+.
8) X → Y và Y → X  X+ = X+
1.3.6 Tập phụ thuộc hàm tƣơng đƣơng
Hai tập phụ thuộc hàm F và G là tƣơng đƣơng nếu:
1. Tất cả các phụ thuộc hàm trong F có thể đƣợc suy ra từ G
2. Tất cả các phụ thuộc hàm trong G có thể suy ra từ F.

Vì thế, F và G là tƣơng đƣơng nếu F+ = G+
Nếu F và G là tƣơng đƣơng thì ta nói F phủ G hay G phủ F.
Thuật toán sau đây cho phép kiểm tra sự tƣơng đƣơng của hai tập phụ thuộc hàm:
F phủ E:  X  Y  E, tính X+ từ F, sau đó kiểm tra xem Y  X+
E phủ F:  X  Y  F, tính X+ từ E, sau đó kiểm tra xem Y  X+
1.3.7 Phủ tối thiểu của một tập phụ thuộc hàm
Tập phụ thuộc hàm là tối thiểu nếu nó thoả mãn các điều kiện sau:
1. F khơng dư thừa về phải: Chỉ có một thuộc tính nằm ở phía bên tay phải
của tất cả các phụ thuộc hàm trong F.
2. F không dư thừa phụ thuộc hàm: Không thể bỏ đi bất kỳ một phụ
thuộc hàm nào trong F mà vẫn có đƣợc một tập phụ thuộc hàm tƣơng đƣơng với F.
Trong F không chứa các phụ thuộc hàm LjR để: (F \ {LjRj})+ = F+
3. F không dư thừa vế trái: Không thể thay thế bất kỳ phụ thuộc
hàm X→A nào trong F bằng phụ thuộc hàm Y→A, với Y  X mà vẫn có đƣợc một tập
phụ thuộc hàm tƣơng đƣơng với F (tức là, khơng có thuộc tính dƣ thừa trong phụ
thuộc hàm)
1.4 Các dạng chuẩn trong mơ hình quan hệ

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

17


Đồ án tốt nghiệp đại học
Sau khi đã nghiên cứu các phụ thuộc hàm và một số tính chất của chúng, bây giờ
chúng ta sẽ sử dụng chúng nhƣ thông tin về ngữ nghĩa của các lƣợc đồ quan hệ. Ta giả
sử rằng mỗi một quan hệ đƣợc cho trƣớc một tập các phụ thuộc hàm và mỗi quan hệ
có một khố chính. Trong phần này chúng ta sẽ nghiên cứu các dạng chuẩn và q
trình chuẩn hố các lƣợc đồ quan hệ.
1.4.1 Sự cần thiết phải chuẩn hóa dữ liệu

Ví dụ với CSDL là Bảng hóa đơn cho khách hàng nhƣ sau:

Hình 1.3 Hố đơn bán lẻ
Khi cập nhật dữ liệu thì sẽ có các bất thƣờng xảy ra:
 Bất thường khi thêm dữ liệu: Không thể thêm một khách hàng vào CSDL
nếu khách hàng không mua một mặt hàng nào.
 Bất thường khi cập nhật dữ liệu: Muốn thay đổi địa chỉ của khách hàng, phải
thay đổi địa chỉ trên tất cả các hóa đơn của khách hàng đó bởi vì địa chỉ của khách
hàng lƣu trữ dƣ thừa trong tất cả các hóa đơn của khách hàng.
 Bất thường khi xóa dữ liệu: Nếu xóa hóa đơn cuối cùng của một khách hàng
thì tất cả dữ liệu về khách hàng đó bị mất.

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

18


Đồ án tốt nghiệp đại học
 Mục đích của chuẩn hóa CSDL là nhóm các thuộc tính vào các quan hệ nhằm
giảm thiểu dƣ thừa dữ liệu, loại bỏ các bất thƣờng khi cập nhật.
 Cần có các bƣớc chuẩn hố từ một CSDL chƣa chuẩn hóa sang chuẩn hóa.
 Dạng chƣa chuẩn hóa (unnormalized form - UNF): quan hệ chƣa chuẩn hóa là
quan hệ chứa các bộ dữ liệu bị lặp lại giá trị.
Bảng hóa đơn ở trên biểu diễn dƣới dạng bảng nhƣ sau. Với 2 hàng và 10 cột
tƣơng ứng với 10 thuộc tính trong bảng hố đơn.
So
HD

15


15

NgayGio

TenKH

20/12/2012

Khach

9:34 AM

20/12/2012
9:34 AM

DiaChi

MaSP

Don

TenSP

192 Lê

Vi

Dép

Hang


Duẩn, Vinh, BOTYYY
Nghệ An

Xốp 19

Khach
Hang

192 Lê
Duẩn, Vinh, BOTXXX
Nghệ An

Giày
Dép
Nhựa

SL

Don

Thanh

Gia

Tien

Đôi

2


80 000

160 000

Đôi

3

80 000

240 000

Bảng này ở dạng không chuẩn.
Sau khi chuẩn hoá bảng này đƣợc tách thành hai bảng nhƣ sau:
SoHD

NgayGio

TenKH

DiaChi

15

20/12/2012 9:34 AM

Khach Hang

192 Lê Duẩn, Vinh, Nghệ An


SoHD

MaSP

TenSP

DonVi

SL

DonGia

ThanhTien

15

BOTYYY

Dép Xốp 19

Đôi

2

80 000

160 000

15


BOTXXX

Giày Dép Nhựa

Đôi

3

80 000

240 000

1.4.2 Các dạng chuẩn

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

19


Đồ án tốt nghiệp đại học

Hình 1.4: Quy trình chuẩn hóa sơ đồ quan hệ
2.4.2.1 Dạng chuẩn 1 (1NF)
Định nghĩa: Lƣợc đồ quan hệ R đƣợc gọi là 1NF nếu và chỉ nếu tất cả các thuộc
tính của R thoả mãn cả 2 điều kiện sau:
 Các thuộc tính trong R đều nguyên tố
 Giá trị của các thuộc tính trên các bộ là đơn trị, khơng chứa nhóm lặp.
 Khơng chứa thuộc tính suy dẫn
Quy tắc chuyển bảng từ dạng chƣa chuẩn về chuẩn 1NF

Nguyên tắc chung: Loại bỏ thuộc tính lặp hoặc đa trị
Các bƣớc thực hiện:
 Tách nhóm thuộc tính lặp / đa trị sang một bảng mới.
 Khóa của bảng mới là Khóa của bảng ban đầu và khóa nhóm lặp
 Bảng cịn lại là bảng gồm có khóa và các thuộc tính cịn lại.

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

20


Đồ án tốt nghiệp đại học
Ví dụ: Cho bảng NhanVien_DuAn

NhanVien_DuAn

MaDA

TenDA

DA01

Xây nhà ở

DA02

Xây chung cƣ

DA03


Xây trƣờng học

TenNhanVien

SoGio

An

20

Bình

25

Nam

30

Bình

14

An

27

Dat

24


Quan hệ này là R (MaDA, TenDA, {TenNhanVien, SoGio})
Thuộc tính lặp là { TenNhanVien, SoGio }. Vì vậy, quan hệ này đƣợc tách thành:
R1 ( MaDA, TenDA )

R2( MaDA, TenNhanVien, SoGio )

2.4.2.2 Dạng chuẩn 2 ( 2NF )
- Định nghĩa: Quan hệ R ở dạng 2NF là quan hệ nếu nó đã ở dạng 1NF và các
thuộc tính khơng khóa phụ thuộc đầy đủ vào khóa chính. Nói cách khác, khơng tồn
tại thuộc tính khơng khóa phụ thuộc bộ phận vào khóa chính.
Thuộc tính khơng khóa: là thuộc tính khơng tham gia vào bất kỳ khoá nào.
Quy tắc chuẩn hoá từ 1NF lên 2NF:
Việc kiểm tra đối với 2NF bao gồm việc kiểm tra đối với các phụ thuộc hàm có
các thuộc tính ở vế trái của nó là một bộ phận của khố chính. Nếu khố chính chứa
một thuộc tính đơn thì khơng cần phải kiểm tra. Một lƣợc đồ quan hệ R là ở dạng
chuẩn 2 nếu nó thỏa mãn dạng chuẩn 1 và mỗi thuộc tính khơng khố A trong R là phụ
thuộc hàm đầy đủ vào khố chính của R. Nếu quan hệ chƣa ở dạng chuẩn 2NF thì ta
thực hiện các bƣớc sau:
 Bƣớc 1: Loại bỏ các thuộc tính khơng khố phụ thuộc vào một bộ phận khố
chính và tách thành ra một bảng riêng, khố chính của bảng là bộ phận khoá mà chúng
phụ thuộc vào.

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

21


Đồ án tốt nghiệp đại học
 Bƣớc 2: Các thuộc tính cịn lại lập thành một quan hệ, khóa chính của quan hệ
này là khóa chính ban đầu.

Ví dụ: Xét lƣợc đồ quan hệ:
NHÂNVIÊN_DỰÁN(MãsốNV, MãsốDA,

Sốgiờ,

HọtênNV,

TênDA,

ĐịađiểmDA) với các phụ thuộc hàm:
MãsốNV, MãsốDA → Sốgiờ
MãsốNV →HọtênNV
MãsốDA→TênDA, ĐịađiểmDA
Khố chính của quan hệ trên là MãsốNV, MãsốDA
Ta thấy ở đây có những thuộc tính khơng khố phụ thuộc vào một bộ phận của
khố chính, nhƣ vậy nó khơng thoả mãn điều kiên 2NF.
Áp dụng phƣơng pháp chuẩn hoá trên, lƣợc đồ đƣợc tách thành các lƣợc đồ nhƣ sau:
N_D1(MãsốDA, TênDA, ĐịađiểmDA)
N_D2(MãsốNV , HọtênNV)
N_D3(MãsốNV, MãsốDA, Sốgiờ)
2.4.2.3 Dạng chuẩn 3 ( 3NF )
Định nghĩa: Cho quan hệ R, F là tập phụ thuộc hàm trên R. R đƣợc gọi là đạt
dạng chuẩn 3 nếu thoả mãn các điều kiện sau:
 R phải đạt dạng chuẩn 2NF
 Mọi thuộc tính khơng khố khơng phụ thuộc bắc cầu vào khóa chính (tức là tất
cả các thuộc tính phải đƣợc suy ra trực tiếp từ khóa chính).
Quy tắc chuẩn hố về 3NF:
 Bƣớc 1: Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan hệ và tách
chúng thành một quan hệ riêng có khố chính là thuộc tính bắc cầu.
 Bƣớc 2: Các thuộc tính cịn lại lập thành một quan hệ có khóa chính là quan

hệ ban đầu.
Ví dụ: Xét lƣợc đồ quan hệ
NHÂNVIÊN_ĐƠNVỊ(HọtênNV, MãsốNV,
TênĐV, MãsốNQL)

Ngàysinh,

Địachỉ,

MãsốĐV,

Với các phụ thuộc hàm:
MãsốNV→ HọtênNV, Ngày sinh, Địachỉ, MãsốĐV, TênĐV, MãsốNQL
MãsốDV→ TênĐV, Mã sốNQL

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

22


Đồ án tốt nghiệp đại học
Khố chính của quan hệ là K = { MãsốNV }
Các thuộc tính TênĐV, MãsốNQL phụ thuộc bắc cầu vào khố chính, lƣợc đồ
quan hệ không thoả mãn điều kiện 3NF.
Áp dụng phƣơng pháp chuẩn hoá ở trên, lƣợc đồ đƣợc tách ra nhƣ sau:
NV_DV1(HọtênNV, MãsốNV, Ngàysinh, Địachỉ, MãsốĐV)
NV_DV2(MãsốĐV, TênĐV, MãsốNQL)
2.4.2.4 Dạng chuẩn BCNF ( Boyce-Codd )
Định nghĩa: Một lƣợc đồ quan hệ R đƣợc gọi là ở dạng chuẩn Boyce-Codd
(BCNF) nếu nó thoả mãn 2 điều kiện sau:

 R là ở dạng chuẩn 3NF
 Khơng có các thuộc tính khóa phụ thuộc hàm vào thuộc tính khơng khóa.
Quy tắc chuẩn hố về BCNF:
Nếu một lƣợc đồ quan hệ không thoả mãn điều kiện BCNF, ta có thể chuẩn hố
nó để có đƣợc các lƣợc đồ BCNF nhƣ: Loại bỏ các thuộc tính khóa phụ thuộc hàm vào
thuộc tính khơng khóa ra khỏi quan hệ và tách chúng thành một quan hệ riêng có khố
chính là thuộc tính khơng khóa gây ra phụ thuộc.
Ví dụ: Cho lƣợc đồ quan hệ R (A1,A2,A3,A4,A5)
Với các phụ thuộc hàm:
A1,A2 → A3,A4,A5
A4 → A2
Quan hệ này vi phạm dạng chuẩn BCNF bởi vì có thuộc tính khóa {A2} phụ
thuộc hàm vào thuộc tính khơng khóa {A4}.
Áp dụng phƣơng pháp chuẩn hóa ở trên, lƣợc đồ đƣợc tách ra nhƣ sau:
R1 ( A4, A2)
R2 (A1, A4, A3, A5)
1.5 Kết luận chƣơng 1
Chƣơng 1 ta đã biết đƣợc các định nghĩa cơ bản của lƣợc đồ quan hệ nhƣ thực
thể, thuộc tính, quan hệ, khố của một sơ đồ quan hệ. Phụ thuộc hàm và các tính chất
của phụ thuộc hàm đây là cơ sở cho chúng ta chuẩn hoá lƣợc đồ quan hệ.
Chúng ta đã biết đƣợc các dạng chuẩn hoá và cách quy tắc chuẩn hoá về dạng
chuẩn 1, dạng chuẩn 2, dạng chuẩn 3, dạng chuẩn BCNF.

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

23


Đồ án tốt nghiệp đại học


CHƢƠNG 2. LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ
2.1 Sự cần thiết phải thiết kế cơ sở dữ liệu
Các cơ sở dữ liệu và các hệ cơ sở dữ liệu đã trở thành một thành phần chủ yếu
trong cuộc sống hàng ngày của xã hội hiện đại. Hàng ngày con ngƣời có thể có nhiều
hoạt động cần có sự giao tiếp với cơ sở dữ liệu nhƣ: đến ngân hàng để rút tiền và gửi
tiền, đăng ký chỗ trên máy bay hoặc khách sạn, truy cập vào thƣ viện đã tin học hố để
tìm sách báo, đặt mua tạp chí ở một nhà xuất bản… Tại các ngân hàng, các cửa hàng,
ngƣời ta cũng cập nhật tự động việc quản lý tiền bạc, hàng hoá. Tất cả các giao tiếp
nhƣ trên đƣợc gọi là các ứng dụng của cơ sở dữ liệu. Để tạo ra đƣợc một cơ sở dữ liệu
cho một ứng dụng là cả một quá trình rất phức tạp, trải qua nhiều giai đoạn khác nhau,
đòi hỏi ngƣời thiết kế phải có chun mơn cao, kinh nghiệm lâu năm. Hệ thống cơ sở
dữ liệu cần phải đƣợc thiết kế sao cho nó có thể giải quyết những vấn đề cơ bản xác
định đƣợc trong quá trình hoạt động của hệ thống. Thiết kế là một bƣớc khá quan
trọng trong quá trình xây dựng một cơ sở dữ liệu. Trong hệ thống quản lý dữ liệu, các
công việc chủ yếu đƣợc thực hiện không chỉ là thu thập dữ liệu, lƣu trữ dữ liệu, và
khôi phục các dữ liệu mà quan trọng hơn cả là chuyển đổi dữ liệu đó thành thông tin.
Các thông tin thu đƣợc từ dữ liệu càng nhanh chóng, gắn với thực tiễn bao nhiêu thì
việc đƣa ra quyết định càng chính xác và càng có nhiều ý nghĩa.
Trong quá trình thiết kế cơ sở dữ liệu, điều cơ bản nhất là cần tập trung vào phân
tích những tính chất cơ bản của dữ liệu tạo nên cơ sở dữ liệu. Thiết kế cơ sở dữ liệu là
một loạt các quá trình xử lý thiết kế làm cho hệ quản trị cơ sở dữ liệu dễ dàng phát
triển, cài đặt, duy trì.
Đối tƣợng chính của thiết kế là đƣa ra thiết kế của mơ hình vật lý và logic của hệ
thống cơ sở dữ liệu.
2.2 Các bƣớc thiết kế cơ sở dữ liệu

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

24



Đồ án tốt nghiệp đại học

Hình 2.1: Sơ đồ mơ tả các bƣớc chính của việc thiết kế cơ sở dữ liệu cho ứng dung.

1. Tập hợp và phân tích các yêu cầu.
Xác định quan điểm của ngƣời sử dụng, các loại báo cáo, biểu mẫu. Do đó, ngƣời
thiết kế cần chú ý tới những vấn đề nhƣ:
Thông tin cần thiết: Thông tin nào là cần thiết? Những dạng báo cáo nào cần
phải đƣa vào trong hệ thống thông tin?
Nguồn thơng tin: Thơng tin đó có thể thu thập đựơc từ đâu? Làm thế nào để rút
ra đƣợc những thông tin đó từ những dữ liệu có liên quan?
Sự thiết lập thông tin: Những yếu tố nào của dữ liệu là cần thiết để tạo ra thơng
tin? Dữ liệu có những tính chất gì? Có những mối quan hệ nào tồn tại giữa các dữ liệu khác
nhau? Những dữ liệu đó có đựơc sử dụng thƣờng xun khơng? Dạng chuyển đổi dữ liệu
thành thông tin nào đƣợc sử dụng để chuyển dữ liệu thành những thông tin cần thiết?
Ngƣời sử dụng thông tin: Ai sẽ là ngƣời sử dụng thông tin? Những ngƣời này
có quan điểm khác nhau nhƣ thế nào về dữ liệu?

Trần Thái Hưng – Lớp 52K1 – Khoa CNTT

25


×