Tải bản đầy đủ (.doc) (76 trang)

vai trò của chuẩn hóa dữ liệu trong thiết kế cơ sở dữ liệu

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.6 MB, 76 trang )

Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
LỜI MỞ ĐẦU
Mô hình dữ liệu quan hệ được E.Codd đề xuất năm 1970 đã đánh dấu
một mốc phát triển quan trọng về cơ sở lý thuyết cũng như khả năng ứng
dụng của các hệ cơ sở dữ liệu ( CSDL ). Cùng với sự bùng nổ của nhu cầu
xây dựng các hệ thống thông tin, trước hết là các hệ thống thông tin quản lý,
kéo theo sự tham gia vào của cỏc hóng máy tính lớn với sự xuất hiện của các
hệ quản trị cơ sở dữ liệu danh tiếng như: DB2, Sybase. Oracle trên thị
trường công nghệ thông tin thế giới. Đặc biệt không thể không kể đến là sự
phát triển như vũ bão của thế hệ máy tính cá nhân và các môi trường tính toán
phân tán trong những thập kỷ cuối cùng của thế kỷ trước, đã tạo một bước
chuyển biến hết sức mạnh mẽ về cách tiếp cận cũng như về triết lý triển khai
các hệ CSDL, với sự xuất hiện của các hệ quản trị CSDL mới, gọn nhẹ và
thân thiện với người sử dụng hơn như : Foxbase. FoxPro. SQL server Thuật
ngữ CSDL trở nên hết sức quen thuộc cả với các nhà quản lý, các nhân viên
văn phòng và ở bất cứ doanh nghiệp, nào khi muốn tiến hành tin học hoá
hoạt động quản lý của doanh nghiệp mình đều bắt đầu từ việc thiết kế hệ cơ
sở dữ liệu khi các nguồn lực khỏc đó sẵn sàng. Và một trong những vấn đề
quan trọng nhất của việc thiết kế hệ cơ sở dữ liệu là vấn đề chuẩn hoá cơ sở
dữ liệu. Cơ sở dữ liệu được ví như “ xương sống ” của “ cơ thể ” hệ thống
thông tin quản lý trong doanh nghiệp, muốn có một “ cơ thể ” chắc chắn, bền
vững thì chúng ta phải có một “ xương sống ” vững chắc, đầy đủ.
Vấn đề chuẩn hoá dữ liệu trong thiết kế cơ sở dữ liệu là rất rộng lớn,
nghiên cứu quá trình chuẩn hoỏ trờn một lược đồ quan hệ là một mặt của vấn
đề này. Từ việc chuấn hoá dữ liệu chúng ta có thể đưa ra được một lược đồ
quan hệ ngắn gọn, đây sẽ là cơ sở căn bản phục vụ cho việc thiết kế dữ liệu.
1
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
Xuất phát từ tính cấp thiết của vấn đề này, em đã chọn đề tài : “ Vai trò
của chuẩn hoá dữ liệu trong thiết kế cơ sở dữ liệu”. Em xin chân thành cám
ơn sự hướng dẫn và giúp đỡ của TS. Trần Thị Song Minh và các thầy cô giỏo


khỏc trong khoa đó giỳp em hoàn thành đề tài này. Vì sự hiểu biết và kiến
thức của em còn nhiều hạn chế, nên bài viết của em sẽ còn nhiều thiếu sót, em
rất mong muốn nhận được sự góp ý của cô giáo để em hoàn thành bài viết này
và có được sự hiểu biết đầy đủ hơn về vấn đề này.
Em xin chân thành cám ơn!
NỘI DUNG
Trong nhiều năm, công nghệ tính toán và thông tin phát triển từ những
hệ thống lớn, đắt tiền, độc quyền đến các hệ thống mở mạnh và không đắt
tiền. Sự phát triển này mang lại lợi ích to lớn cho người dùng cuối cùng bởi
sự phát triển của cỏc gúi ứng dụng số như xử lý văn bản, bảng tính điện tử,
văn phòng xuất bản, hệ quản lý cơ sở dữ liệu, máy tính trợ giúp công nghệ
phần mềm Trước khi máy tính hoá cơ sở dữ liệu được giới thiệu, dữ liệu
được lưu trữ theo kiểu điện tử thành nhiều tập tin riêng biệt sử dụng hệ tập
tin ( từ đây về sau ta gọi hệ tập tin theo lối cũ) cũ. Những tập tin này được
xử lý bằng ngôn ngữ thế hệ thứ ba như : COBOL, FORTRAN, PASCAL và
ngay cả BASIC để tạo ra các giải pháp cho các vấn đề của doanh nghiệp. Mỗi
ứng dụng chẳng bạn như hệ tính lương, hệ kho, hay hệ thống kế toán sẽ có
một tập hợp các tập tin riêng chứa dữ liệu riêng. Tuy nhiên, khi quy mô kinh
doanh của các tổ chức và nhu cầu xử lý thao tác dữ liệu với các mục đích
khác nhau theo các quy cách khác nhau tăng lên, một số vấn đề nghiêm trọng
sẽ có thể nảy sinh. Các hệ thống trên cơ sở tệp được phát triển với các ứng
2
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
dụng đặc biệt, do vậy việc lưu trữ thông tin của các tổ chức trong các hệ
thống tệp có một số bất lợi chính sau :
- Có sự liên kết chặt chẽ giữa cấu trúc luận lý và cấu trúc vật lý của các
tập tin và chương trình ứng dụng khai thác chúng. Điều này khiến việc tạo
nên các ứng dụng này rất khó khăn, tốn nhiều thời gian và vì thế mà tốn kếm
trong bảo trì hệ thống.
- Có sự dư thừa dữ liệu rất lớn qua việc trùng lắp các tập tin trong các

ứng dụng khác nhau. Điều này tạo ra những vấn đề như : dữ liệu thiếu nhất
quán, không gian đĩa bị lãng phí, thời gian bảo trì và lưu phòng hệ các tập tin
gia tăng, vấn đề về quản trị như không chú trọng bảo mật và tổ chức dữ liệu
thiết thống nhất. Chúng ta thử xem xét một ví dụ thường gặp trong bất kỳ một
tổ chức nào đó là hệ quản trị nguồn nhân lực, hệ này gồm ba hệ chính :
+ Hệ lương : hệ này duy trì ngày công và lương cho tất cả nhân viên trong tổ
chức
+ Hệ nhân sự : hệ này duy trì lý lịch cá nhân, dữ liệu về tổ chức, công việc
đào tạo và vị trí thăng tiến
+ Hệ hưu : hệ này quản trị các quy tắc liên quan đến nghỉ hưu, loại nghỉ hưu,
chi tiết hưu của từng nhân viên.
Vấn đề phức tạp là hệ lương thông thường được quản lý bởi phòng tài
chính, hệ nhân sự và hệ hưu được quản lý bởi phòng tổ chức, có nhiều dữ liệu
về nhân viên là chung cho cả ba hệ - những hệ này thường thực hiện và sử
dụng riêng biệt và chúng tạo sự trùng dữ liệu nhân viên mà chỳng dựng.
Người sử dụng ít có khả năng khai thác dữ liệu trực tiếp
3
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
Cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu ra đời là nhằm giải quyết các vấn đề
của dữ liệu lưu trữ theo lối cũ, tạo sự thống nhất các hệ dữ liệu vào một hệ cơ
sở dữ liệu chính, khắc phục các nhược điểm của hệ thống thông tin cũ.
A. Thiết kế cơ sở dữ liệu - Lược đồ quan hệ :
I - Một số khái niệm chung:
1. Cơ sở dữ liệu (CSDL) là gì?
Cơ sở dữ liệu ( Database ) là một lĩnh vực nghiên cứu các mô hình,
nguyên lý, phương pháp tổ chức dữ liệu trờn cỏc vật mang tin.
Nghiên cứu cơ sở dữ liệu giỳp cỏc chuyên gia lưu trữ, tìm kiếm, cập
nhật thông tin nhanh, tiết kiệm bộ nhớ, thời gian. Một khía cạnh hết sức quan
trọng khi nghiên cứu cơ sở dữ liệu là giúp chúng ta hiểu những ràng buộc
mang tính chất nội tại của một mô hình CSDL, để từ đó giúp nắm nguyên lý

của cơ sở dữ liệu, có thể vận dụng vận hành trên máy tính , ngoài ra nghiên
cứu cơ sở dữ liệu còn giúp cho việc hiểu sâu về mặt lý thuyết của CSDL, mối
quan hệ với các lĩnh vực khác, và những đặc thù riêng hết sức phong phú
4
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
Cơ sở dữ liệu hợp nhất
Theo sơ đồ trên chúng ta nhìn thấy thành phần cơ sở dữ liệu hợp nhất là
một bộ sưu tập các dữ liệu chứa trờn cỏc phương tiện lưu trữ như: đĩa từ,
băng từ…và người sử dụng trực tuyến có thể sử dụng hay chia sẻ cơ sở dữ
liệu này. Các chương trình ứng dụng theo lô có thể thực hiện các thao tác trờn
các dữ liệu được lấy ra từ cơ sở dữ liệu này như tìm kiếm, sửa đổi, bổ sung,
loại bỏ…Người sử dụng trực tuyến thao tác với cơ sở dữ liệu từ các thiết bị
đầu cuối ở gần hoặc cách xa, họ cũng có thể thực hiện tất cả các thao tác: tìm
kiếm, sửa đổi, bổ sung, loại bỏ…
Như vậy, Cơ sở dữ liệu là một bộ sưu tập các dữ liệu tác nghiệp được
lưu trữ lại và được các hệ ứng dụng của một tổ chức nào đó.
2. Hệ quản trị cơ sở dữ liệu và hệ cơ sở dữ liệu:
2.1. Hệ quản trị cơ sở dữ liệu: ( DataBase Management System - DBMS): là
một tập các phần mềm quản lý CSDL và cung cấp các dịch vụ xử lý CSDL
cho những người phát triển ứng dụng và người dung cuối, DBMS cung cấp
5
Các chương trình ứng dụng
Người sử dụng trực tuyến
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
một giao diện giữa người sử dụng và dữ liệu, biến đổi CSDL vật lý thành
CSDL logic
- Dựa vào các tổ chức dữ liệu, DBMS được chia thành năm loại:
+ Loại phân cấp như hệ IMS của IBM
+ Loại mạng như IDMS của Cullinet Software
+ Loại tập tin đảo như ADABAS của Software AG

+ Loại quan hệ như ORACLE của Oracle, DB2 của IBM, Access của
Microsoft Access
+ Loại đối tượng, là một tiếp cận khá mới trong thiết kế DBMS và việc sử
dụng loại này sớm trở nên phổ biến
- DBMS có vai trò quan trọng trong các hệ thống lập trình hiện đã có mặt trờn
cỏc mỏy PC, Mainframe, cũng như các hệ thống phần mềm khác, chẳng hạn
như trình biên dịch, hệ điều hành, các nguyên lý của DBMS cũng xuất hiện và
được nghiên cứu nhằm giỳp chỳng ta nắm vững các nguyên lý về mặt lý
thuyết để sử dụng và cài đặt DBMS một cách hiệu quả nhất. Hiện tại, loại
DBMS chính được sử dụng trong công nghệ là loại DBMS quan hệ
( RDBMS), loại này đã chiếm lĩnh trong công nghệ trên 10-15 năm cuối cùng
khi đánh bật loại DBMS phân cấp và gần đây là DBMS mạng
2.2.Hệ cơ sở dữ liệu: là một hệ thống gồm 4 thành phần:
- Cơ sở dữ liệu hợp nhất: cơ sở dữ liệu của hệ có 2 tính chất là tối thiểu
hoá dư thừa và được chia sẻ
- Những người sử dụng: người sử dụng của hệ là bất kỳ một con người
nào có nhu cầu truy nhập vào CSDL, có nghĩa là người sử dụng bao gồm tất
6
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
cả những người sử dụng cuối, những người viết các chương trình ứng dụng và
những người điều khiển toàn bộ hệ thống hay còn gọi là người quản trị cơ sở
dữ liệu
- Phần mềm hệ quản trị cơ sở dữ liệu:
- Phần cứng: bao gồm các thiết bị nhớ thứ cấp được sử dụng để lưu trữ
dữ liệu
* Theo nhóm nghiên cứu hệ quản trị cơ sở dữ liệu ANSI/SPARC, kiến trúc
một CSDL được chia thành 3 mức khác nhau:
- Mức ngoài ( Khung nhìn):
+ Mức ngoài lien quan đến cách nhìn, quan niệm của từng người sử dụng
CSDL , vì vậy còn gọi là “ khung nhỡn”

+ Có nhiều cách nhìn ở mức ngoài khác nhau, mỗi cách nhìn bao gồm sự biểu
diễn trừu tượng của một phần nào đó của CSDL
+ Mỗi người sử dụng cần một ngôn ngữ để giao tiếp với hệ thống cơ sở dữ
liệu đó là ngôn ngữ con dữ liệu ( Data sub language – DSL)
+ Về nguyên tắc, DSL là kết hợp của ít nhất 2 ngôn ngữ:
~ Ngôn ngữ định nghĩa dữ liệu: ( Data Definition Language – DDL):
dùng để định nghĩa hoặc khai báo các đối tượng của CSDL
~ Ngôn ngữ thao tác dữ liệu: ( Data Manipulation Language –
DML):dựng để hỗ trợ việc thao tác hoặc xử lý các đối tượng của cơ sở dữ liệu
- Mức khái niệm:
7
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
+ Mức khái niệm cho phép ta định nghĩa một cách nhìn thống nhất cho người
sử dụng, bao gồm sự biểu diễn trừu tượng của tổng thể toàn bộ CSDL.
+ Lược đồ khái niệm được thể hiện bằng một ngôn ngữ định nghĩa dữ liệu
khác. Đó là ngôn ngữ định nghĩa dữ liệu khái niệm ( Conceptual DDL)
- Mức trong ( còn gọi là mức vật lý):
+ Mức trong rất gần với cách lưu trữ trong bộ nhớ máy tính
+ CSDL vật lý là các tệp dữ liệu theo một cấu trúc nào đó được lưu trên thiết
bị nhớ ngoài
+ Lược đồ trong không chỉ định nghĩa các kiểu bản ghi được lưu trữ mà còn
chỉ định các chỉ mục, cách biểu diễn trường được lưu trữ, trật tự vật lý của các
bản ghi được lưu trữ
+ Lược đồ trong được thể hiện bằng một ngôn ngữ định nghĩa dữ liệu khác –
đó là ngôn ngữ định nghĩa dữ liệu mức trong ( Internal DDL)
8
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
Kiến trúc một hệ thống cơ sở dữ liệu
Hệ quản trị CSDL
( Database

Management
system DBMS)
Người sử dụng
B3
* Lược đồ ngoài A
(Exernal
Scherma A)
Người sử dụng
A1
Người sử dụng
A2
Người sử dụng
B1
Người sử dụng
B2
Ngôn ngữ
Ngôn ngữ Ngôn ngữ
Ngôn ngữ
Ngôn ngữ
Không
gian làm
việc
Không
gian làm
việc
Không
gian làm
việc
Không
gian làm

việc
Không
gian làm
việc
Mô hình ngoài A
( Khung nhìn )
(External Model A)
Mô hình ngoài B
( Khung nhìn )
(External Model B)
Mô hình dữ liệu
( Data Model )
(Conceptual Model )
Mô hình khái niệm
Ánh xạ giữa mô hình
ngoài A và mô hình
khái niệm
Ánh xạ giữa mô hình
ngoài B và mô hình
khái niệm
Ánh xạ giữa mô hình
khái niệm và mô hình
trong
Mô hình trong ( Internal model )
( Cơ sở dữ liệu được lưu trữ)
* Lược đồ ngoài B
(Exernal
Scherma B)
* Lược đồ
khái niệm

* Lược đồ trong
( Internal schema)
( Storage structure
definition)
Người
quản
trị hệ
thống
( Data
base
Admin
istrator
) xây
dựng
và bảo
trì các
lược
đồ và
các
ánh xạ
9
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
3. Phân loại các hệ cơ sở dữ liệu:
3.1. Các hệ cơ sở dữ liệu tập trung: Với một hệ cơ sở dữ liệu tập trung, tập
tất cả các dữ liệu được định vị tại một trạm đơn lẻ. Những người sử dụng tại
các trạm từ xa, có thể truy nhập cơ sở dữ liệu thông qua các công cụ truyền
thông dữ liệu.
* Đặc điểm:
- Các hệ cơ sở dữ liệu tập trung cung cấp một sự kiểm soát lớn hơn đối với
việc truy nhập và cập nhật dữ liệu so với các hệ cơ sở dữ liệu phân tán.

- Chúng có thể bị mắc lỗi nhiều hơn do chúng phụ thuộc vào tính sẵn sang
của các tài nguyên
3.1.1. Hệ cơ sở dữ liệu cá nhân: là một kiểu hệ cơ sở dữ liệu rất quen thuộc.
Hệ cơ sở dữ liệu cá nhân thường có một người sử dụng đơn lẻ : có thể vừa
thiết kế , tạo lập cơ sở dữ liệu, vừa cập nhật dữ liệu và bảo trì, lập báo cáo và
hiển thị báo cáo. Hệ cơ sở dữ liệu này thường hỗ trợ một ứng dụng hay một số
giới hạn các ứng dụng đơn lẻ. Việc phát triển và sử dụng các hệ cơ sở dữ liệu
cá nhân là khá đơn giản và dễ dàng.

Hệ cơ sở dữ liệu cá nhân
10
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
- Ứng dụng: quản lý thanh toán, kiểm kê hang hoá, quản lý khách hàng…
- Nhược điểm: Người sử dụng có nguy cơ chịu nhiều rủi ro trong việc tổ chức
dữ liệu một cách độc lập, khó có thể được chia sẻ cho nhiều ứng dụng khác
nhau.
3.1.2. Hệ cơ sở dữ liệu trung tâm: Dữ liệu mà hầu hết các ứng dụng có thể
truy nhập được lưu trữ trên một máy tính trung tâm, người sử dụng có thể truy
nhập cơ sở dữ liệu này từ xa thông qua các thiết bị đầu cuối, các móc nối
truyền thông dữ liệu. Các hệ cơ sở dữ liệu trung tâm thường lưu trữ các cơ sở
dữ liệu tích hợp rất lớn, được nhiều người sử dụng truy nhập.
- Ứng dụng: các hệ thống booking, các hệ thống thông tin của các cơ quan tài
chính và các công ty phát triển nhanh…

Hệ cơ sở dữ liệu trung tâm
11
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
3.1.3. Hệ cơ sở dữ liệu khách chủ: Các hệ này thường được sử dụng để hỗ trợ
các tính toán theo một nhóm công việc, có nghĩa là việc sử dụng các tài
nguyên tính toán để hỗ trợ quyết định và các ứng dụng khác bởi một nhóm

người sử dụng. Một vài mạng có thể móc nối với nhau sao cho cỏc nhúm
công việc khác nhau có thể chia sẻ công việc.
Hệ cơ sở dữ liệu khách / chủ
12
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
3.2. Các hệ cơ sở dữ liệu phân tán : Là một cơ sở dữ liệu logic đơn lẻ mà
được trải dài ra về mặt vật lý trên nhiều máy tính ở nhiều vị trí khác nhau. Có
hai kiểu trung chung nhất của các hệ cơ sở dữ liệu phân tán là : hệ cơ sở dữ
liệu phân tán thuần nhất và hệ cơ sở dữ liệu phân tán không thuần nhất
Các hệ cơ sở dữ liệu được thiết kế và xây dựng để lưu trữ tất cả các dữ
liệu của một tổ chức cụ thể. Việc hợp nhất tất cả dữ liệu lại cho phép tổ chức
có thể quản lý tập trung và quản lý một cách có hệ thống. Mặt khác, cơ sở dữ
liệu hợp nhất được tạo lập cho phép giảm dư thừa và trỏnh tớnh không nhất
quán trong dữ liệu, đảm bảo sự tuân thủ các tiêu chuẩn thống nhất và cân
bằng các yêu cầu đối lập trong tổ chức.
13
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
Các hệ cơ sở dữ liệu phân tán
4. Mô hình quan hệ :
4.1. Các đối tượng của dữ liệu quan hệ :
4.1.1. Khái niệm toán học của mô hình quan hệ :
14
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
Quan hệ hiểu theo nghĩa lý thuyết tập hợp, đó là tập con của tích Đề - Các
của các miền :
+ Miền ( Domain) : là một tập các giá trị
+ Tích Đề - Các của n miền :D
1
* D
2

* *D
n
là tập tất cả n bộ
( v
1
,v
2
, ,v
n
) sao cho v
i
D
i
với i = 1,2,…,n.
- Quan hệ ( relation) là một tập con của tích Đề - Các của một hoặc nhiều
miền.
+ Mỗi quan hệ có thể biểu diễn thành các bảng
+ Mỗi hàng của quan hệ gọi là một bộ ( tuples) : số lượng các bộ trong
một quan hệ được gọi là Cardinality
+ Quan hệ là tập con của tích Đề - các D
1
* D
2
*…*D
n
được gọi là quan
hệ n ngôi. Khi đó mỗi bộ quan hệ sẽ có n thành phần ( n cột)
+ Quan hệ bao gồm 2 phần :
~ Tiêu đề : bao gồm một tập hợp cố định các thuộc tính
~ Phần thân : bao gồm một tập các bộ

+ Nếu R là biến quan hệ thì R cú cỏc giá trị khác nhau tại các thời điểm
khác nhau. Tuy nhiên, tất cả các giá trị có thể có của quan hệ R đều có chung
1 tiêu đề
- Miền : là tập hợp được đặt tên của các giá trị vô hướng cú cựng kiểu. Nói
chính xác hơn, mỗi thuộc tính cần phải được định nghĩa trờn đỳng một miền
cơ bản với ý nghĩa giá trị của thuộc tính đó phải lấy ra từ miền tương ứng đó
15
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
- Thuộc tính : Các thành phần ( các cột) của quan hệ gọi là các thuộc tính
( Attributes).
+ Số lượng các thuộc tính trong một quan hệ được gọi là ngôi
+ Sự khác nhau giữa miền và thuộc tính là : Một thuộc tính biểu thị
cách sử dụng một miền trong một quan hệ
4.1.2. Tính toàn vẹn dữ liệu quan hệ :
4.1.2.1. Khoá :
* Khoỏ chính ( Primary key) : Khoỏ chính là một thuộc tính hoặc là một kết
hợp các thuộc tính cho phép nhận diện duy nhất và tối thiểu một thực thể
riêng biệt nào đó
* Khoá ứng cử ( Candidate key) : Khoá ứng cử là một thuộc tính hay kết hợp
các thuộc tính có tính chất như khoỏ chớnh
* Khoá ngoại lai ( Foreign key): Một thuộc tính của quan hệ R1 được gọi là
một khoá ngoại lai nếu nó không phải là khoỏ chớnh của quan hệ R1 nhưng
các giá trị của nó là các giá trị của khoỏ chính trong một quan hệ R2 nào đó
( quan hệ R1 và R2 không nhất thiết phải khác nhau)
* Khoá phụ ( Secondary key): là khoỏ dựng để sắp xếp hoặc tìm kiếm
4.1.2.2. Các quy tắc toàn vẹn dữ liệu trong mô hình quan hệ:
* Quy tắc toàn vẹn thực thể ( Entity Integrity – EI ): Thuộc tính nào dùng
làm khoỏ chớnh trờn một bảng dữ liệu không bao giờ được rỗng ( null)
16
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL

* Toàn vẹn quy chiếu ( Referential Integrity – RI ): Nếu một bảng dữ liệu bao
gồm một khoá ngoại lai khớp với một khoỏ chớnh trên một bảng dữ liệu T
nào đó, thì mỗi giá trị của khoá ngoại lai phải hoặc:
- Bằng giá trị của khoỏ chính trên một hàng nào đó của bảng dữ liệu T
- Hoàn toàn rỗng
II. Lược đồ quan hệ:
Lược đồ quan hệ:
Ngoài việc phân chia mức trừu tượng, chúng ta còn một các hiểu khác
về cơ sở dữ liệu. Khi thiết kế, chúng ta quan tâm đến những hoạch định (plan)
trên cơ sở dữ liệu, nhưng khi sử dụng chúng,
Mô hình cơ sở dữ liệu quan hệ là một mô hình được sử dụng rộng rãi
trong đời sống xã hội của mọi tổ chức, cơ quan, xí nghiệp, doanh nghiệp, nơi
nào cần quản lý và xử lý các thông tin. Ta xét thí dụ minh hoạ:
17
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
VD1: Xét hồ sơ cán bộ của một cơ quan:

TT
MaC
B
Ten NS Trinhđo Que GT Luong
1 01 Huy 1945 Đại học Hà Nội Nam 00
2 02 Tiến 1950 Cao học H.Phòng Nam 00
3 03 Lan 1960 Trung học Nam Hà Nữ 00
4 04 Hiền 1965 Trung học H.Dương Nữ 50
( Thực thể là:TT: Thứ tự, MaCB: Mã CB, NS: Ngày sinh, Ten: Tên,
Trinhdo:Trình độ, Que: Quê, GT: Giới tính, Luong: Lương )
VD2: Xét sổ theo dõi khách của một khách sạn:
MK Ngayđen Ngaydi Sophong Songuoi Tien
101 1/10/98 5/10/98 301 2 400

102 5/10/98 7/10/98 302 1 200
103 7/10/98 10/10/98 303 3 600
104 5/12/98 10/12/98 304 2 400
105 15/1/99 18/1/99 304 3 600
( Thực thể là: MK: Mó khỏch, Ngayden: Ngày đến, Ngaydi: Ngày đi,
Sophong: số phòng, Songuoi: Số người, Tien: Tiền )
Trong hai ví dụ trên, để quản lý các mảng thông tin ( dữ liệu) khác
nhau, nhưng cả hai đều có chung một đặc thù: Dữ liệu được mô tả dưới dạng
bảng, mỗi bảng có một dòng đầu là dòng thuộc tính, mỗi thuộc tính có một
miền giá trị của nó. Các mảng dữ liệu được mô tả dưới dạng bảng như vậy sẽ
được gọi là mô hình CSDL quan hệ.
Lược đồ quan hệ: Lược đồ quan hệ là sự trừu tượng hoá của quan hệ, một sự
trừu tượng hoá ở mức độ cấu trúc của một bảng 2 chiều. Khi nói tới lược đồ
quan hệ tức là đề cập tới cấu trcỳ tổng quát của một quan hệ; Khi đề cập tới
18
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
quan hệ thì điều đó được hiểu rằng đó là một bảng có cấu trúc cụ thể hoặc
một định nghĩa cụ thể trên một lược đồ quan hệ với các bộ giá trị của nó.
Như vậy, tập tất cả các thuộc tính cần quản lý của một đối tượng cùng
với mối liên hệ giữa chúng được gọi là lược đồ quan hệ.Lược đồ quan hệ Q
với tập thuộc tính { A
1
, A
2
,…,A
n
} được viết là Q ( A
1
,A
2

,…,A
n
). Tập các
thuộc tính của Q được ký hiệu là Q+. Chẳng hạn lược đồ quan hệ sinh viên
(đặt tên là Sv) với các thuộc tính như trên là: Sv ( MaSV, HoSV, TenSV,
NgaySinh, MaLop, HocBong ). Thường thì khi thành lập một lược đồ, người
thiết kế luông gắn cho nó một ý nghĩa nhất định, ý nghĩa đó gọi là tân từ của
lược đồ quan hệ đó. Dựa vào tân từ người ta xác định được tập thuộc tính
khoá của lược đồ quan hệ ( khái niệm khoá sẽ được trình bày ở phần sau). Khi
phát biểu tân từ cho một lược đồ quan hệ, người thiết kế cần phải mô tả đầy
đủ ý nghĩa để người khác tránh hiểu nhầm.
2. Dư thừa dữ liệu và các dị thường cập nhật:
Mục đích chính của thiết kế CSDL quan hệ là nhúm cỏc thuộc tính vào
các bảng sao cho giảm được nhiều nhất sự dư thừa dữ liệu và bởi vậy giảm
được không gian lưu trữ cần thiết cho các quan hệ cơ sở. Xét thí dụ sau để tìm
hiểu thêm về một số vấn đề nảy sinh khi dư thừa dữ liệu:
VD3: Để lưu trữ thông tin về các nhân viên trong một tổ chức (Chẳng hạn
một công ty) với nhiều phòng (ban), xét hai phương án khác nhau về sử dụng
các lược đồ:
Phương án 1: Dùng một lược đồ: NHANVIEN_PHONG
NHANVIEN_PHONG(MaNV , HoTen, DiaChiNV, CongViec, MaPhong,
DiaChiPhong, DThoai)
Phương án 2: Dùng hai lược đồ: NHAN_VIEN và PHONG
19
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
NHAN_VIEN(MaNV , HoTen, DiaChiNV, ChucVu, MaPhong)
PHONG (MaPhong, DiaChiPhong, DThoai)
Ở phương án 1, trong quan hệ NHANVIEN_PHONG, dễ nhận thấy có một
kiểu dư thừa dữ liệu: Thông tin chi tiết về một phòng được lặp đi lặp lại trong
tất cả các bộ nói về nhân viên của phòng này. Trong khi đó, với phương án 2,

thông tin chi tiết về mỗi phòng chỉ được thể hiện trong một bộ của quan hệ
PHONG và trong quan hệ NHAN_VIEN, chỉ có mó phũng là lặp lại với một
số bộ. Đối với các quan hệ dư thừa dữ liệu, có một số vấn đề nảy sinh được
gọi là các dị thường cập nhật (them, xoá, sửa bộ). Chúng ta xem xét các dị
thường đó với thí dụ minh hoạ các quan hệ dưới đây:
Quan hệ PHềNG
Mã_phòng Địachỉphòng Đthoại
5 23 Lê Duẩn 8347122
4 11 Đội Cấn 7347342
2 9 Hàng Nón 5521104
1 5 Hồ Giám 9365281
Quan hệ NHÂN_VIấN
MaN
V
Họ_Tên ĐịaChỉNV CôngViệc MãPhòng
1234 Nguyễn Thị Hoài Tứ Kỳ-H.Dương Nhân Viên 5
3344 Phạm Thị Hằng Ý Yên – N. Định T. Phòng 5
9988 Hà Thị Sao Sơn Tây-Hà Tây Văn Thư 4
9876 Nguyễn Thị Hạnh Vĩnh Yên-V.Phúc KT.Trưởng 4
6688 Nguyễn Thị Hồng Hoà Bình-Hoà Bình Nhân Viên 5
4534 Vũ Phương Thuỳ Tam Nông-Phú Thọ Thư Ký 2
9879 Phan Bích Ngọc Vĩnh Tường-
V.Phúc
Nhân Viên 4
8866 Trần Quang Huy Tam Nông-Phú Thọ Giám Đốc 1
20
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
Quan hệ NHÂNVIấN_PHềNG
MaNV Họ_Tên ĐịaChỉNV CôngViệc MãPhòn
g

Địachỉphòng ĐThoại
1234 Nguyễn Thị Hoài Tứ Kỳ-H.Dương Nhân Viên 5 23 Lê Duẩn 47122
3344 Phạm Thị Hằng Ý Yên – N. Định T. Phòng 5 23 Lê Duẩn 47122
9988 Hà Thị Sao Sơn Tây-Hà Tây Văn Thư 4 11 Đội Cấn 47342
9876 Nguyễn Thị Hạnh Vĩnh Yên-V.Phúc KT.Trưởng 4 11 Đội Cấn 47342
6688 Nguyễn Thị Hồng Hoà Bình-Hoà
Bình
Nhân Viên 5 23 Lê Duẩn 47122
4534 Vũ Phương Thuỳ Tam Nông-Phú
Thọ
Thư Ký 2 9 Hàng Nón 21104
9879 Phan Bích Ngọc V.Tường-V.Phúc Nhân Viên 4 11 Đội Cấn 47342
8866 Trần Quang Huy Tam Nông-Phú Thọ Giám Đốc 1 5 Hồ Giám 365281
8866
16
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
.1. Dị thường thêm bộ (Insertion Anomalies):
Có 2 loại: Xét tiếp ví dụ 3:
- Khi thêm một nhân viên mới vào bảng NHÂNVIấN_PHềNG, thông tin chi
tiết về phòng quản lý nhân viên này không được mâu thuẫn với các bộ khỏc
đó cú trong bảng nói về các nhân viên cựng phũng đú. Chẳng hạn, nếu thêm
một nhân viên mới có móphũng là 1 thì tất cả các bộ mới thêm phải có
ĐịaChỉPhũng là “ 9 Đại La” và ĐThoại là 8699107. Nếu điều kiện này
không được thoả món thỡ tớnh nhất quán của hệ sẽ bị phá vỡ. Trong trường
hợp dùng hai bảng NHÂN_VIấN, PHềNG, thêm một nhân viên mới vào bảng
NHÂN_VIấN không buộc chúng ta phải quan tâm đến điều kiện nhất quán
nói trên.
- Khi cần thêm chi tiết về một phòng mới, nhưng phòng này chưa có nhân
viên nào trong quan hệ NHÂNVIấN_PHềNG bộ mới đó phải để trống (Null)
ở các thuộc tính về nhân viên. Tuy nhiên điều đó là không thể chấp nhận

được, ít nhất thì thuộc tính MóNV là khóa chớnh của quan hệ không cho phép
nhận giá trị Null. Trường hợp dùng quan hệ NHÂN_VIấN và PHềNG, đơn
giản là ta chỉ việc thêm một bộ mới cho quan hệ PHềNG.
2.2. Dị thường xoá bộ ( Deletion Anomalies):
- Nếu chúng ta xoá một bộ nói về nhân viên duy nhất của một phòng nào đó
trong NHÂNVIấN_PHềNG thì những thông tin chi tiết về phòng này cũng bị
mất luôn không còn trong CSDL nữa. Chẳng hạn, khi xoá đi ‘ Trần Quang
Huy’ thì cũng mất luôn thông tin về phòng có mã là số 1. Việc thiết kế CSDL
chia thành 2 bảng, một bảng nói về ‘ Trần Quang Huy’ trong bảng
NHÂN_VIấN, cỏc thông tin về phòng số 2 vẫn còn trong bảng PHềNG
2.3. Dị thường sửa bộ ( Update Anomalies):
17
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
- Trong trường hợp muốn thay đổi giá trị của một thuộc tính của một phòng
cụ thể nào đó ( chẳng hạn điện thoại của phòng số 5), trong quan hệ
NHÂNVIấN_PHềNG, tất cả các bộ phận nhân viên của phòng này đều phải
được sửa đổi tương ứng. Thay vì thể, nếu chúng ta thiết kế CSDL với 2 bảng,
chúng ta chỉ cần sửa đổi một bộ trong quan hệ phòng mà không e ngại phá vỡ
tính nhất quán của CSDL.
- Sở dĩ có dị thường cập nhật như vậy đối với bảng NHÂNVIấN_PHềNG là
vì bảng này chứa đựng quá nhiều thông tin, vừa thông tin chi tiết về thực thể
nhân viên, vừa thông tin chi tiết về thực thể phòng. Khi dùng 2 bảng, chúng ta
đó tỏch bớt thông tin, không để tất cả trong một bảng. Tuy vậy, việc tách
thành nhiều bảng như thế này cần phải thoả điều kiện không làm mất thông
tin và bảo đảm được các ràng buộc quan trọng. Cần phải có những nghiên cứu
về dạng dư thừa dữ liệu để đưa ra các tiêu chuẩn thiết kế CSDL. Phụ thuộc
hàm là một dạng ràng buộc giữa các thuộc tính, vì vậy trở thành một đối
tượng được tập trung nghiên cứu trong lý thuyết thiết kế CSDL quan hệ.
B. Chuẩn hoá:
Một quan hệ được gọi là chuẩn hoá nếu trong quan hệ đú các miền chỉ

chứa các giá trị nguyên tố (không chia nhỏ được nữa). Mụ hình quan hệ chỉ
cho phép sử dụng các quan hệ đã được chuẩn hoá.
Sơ đồ “ Các mức của chuẩn hoỏ” cho ta thấy các mức chuẩn hoá được
sử dụng trong thiết kế dữ liệu dạng quan hệ.
Các quan hệ tổng quát (đã chuẩn hoá và chưa chuẩn hoá)
Các quan hệ 2NF
Các quan hệ 3NF
Các quan hệ 4NF
Các quan hệ 5NF
18
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
Các mức của chuẩn hoá
I. Phụ thuộc hàm (Functional Dependency, FD)
1.Một số khái niệm:
1.1.Khái niệm về phụ thuộc hàm:
Khái niệm về sự phụ thuộc hàm trong một quan hệ là rất quan trọng
đối với việc thiết kế mô hình dữ liệu. Năm 1970, E.F.Codd đã mô tả sự phụ
thuộc hàm trong mô hình dữ liệu quan hệ, nhằm giải quyết việc phõn giã
không mất thông tin.
Khái niệm chung:
Cho R ={ a
1
, a
2
,…,a
n
} là tập hợp các thuộc tính
r = { h
1
, h

2
,…, h
n
} là một quan hệ trên R
A,B R ( A, B là tập cột, hay tập thuộc tính)
Khi đó ta nói: A xác định hàm cho B hay B phụ thuộc hàm vào A trong
r.
19
Vai trò của chuẩn hóa dữ liệu trong thiết kế CSDL
Ký pháp: A B nếu: ( h
i
, h
j
r) (( a A) ( h
i
(a) = h
j
(a)))
( b B) ( h
i
(b) = h
j
(b)))
Điều đó có nghĩa là khi đối số trùng nhau thì hàm cú cựng giá trị.
Người ta còn viết, (A,B) hay A B thay cho A B. Lúc đó, tập hợp tất cả
( A,B) như thế xác định một họ f trên R
Khái niệm về phụ thuộc hàm còn có thể được phát biểu như sau: “ Cho trước
một quan hệ R, chúng ta nói rằng, thuộc tính Y của R là phụ thuộc hàm vào
thuộc tính X của R nếu và chỉ nếu mỗi giá trị của X trong R được kết hợp với
đúng một giá trị của Y trong R tại bất kỳ thời điểm nào”.

Nhận xét: Ta có thể thấy rằng khi B phụ thuộc vào hàm A, nếu hai dòng bất
kỳ mà các giá trị của tập thuộc tính A 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 B cũng phải bằng nhau từng cặp một
Ví dụ: Xét quan hệ:
THISINH
SDB HOTEN DIACHI TINH KVUC
KHA0
01
Đỗ Phương An 12 Trần Duy Hưng Hà Nội 3
KHA0
02
Đỗ Trần An 102 Kim Đồng, Việt
Trì
Phú Thọ 2
KHA0
03
Lại Ngọc Anh Cầu Xe, Tứ Kỳ Hải Dương 1
KHA0
04
Lại Phương
Anh
89 Đồng Đăng Lạng Sơn 0
KHA0
05
Vũ Ngọc Anh Cổ Tiết, Tam Nông Phú Thọ 1
r
r
20

×