1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

80 982 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 3,27 MB

Nội dung

Các chương trình ứng dụng theo lô có thể thực hiện các thao tác trờncá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

Trang 1

LỜI MỞ ĐẦU

Mô hình dữ liệu quan hệ được E.Codd đề xuất năm 1970 đã đánh dấumột mốc phát triển quan trọng về cơ sở lý thuyết cũng như khả năng ứngdụng của các hệ cơ sở dữ liệu ( CSDL ) Cùng với sự bùng nổ của nhu cầuxâ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ánphân tán trong những thập kỷ cuối cùng của thế kỷ trước, đã tạo một bướcchuyể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 khaicá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ậtngữ 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ênvă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ốngthông tin quản lý trong doanh nghiệp, muốn có một “ cơ thể ” chắc chắn, bềnvữ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

Trang 2

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ỏokhỏc trong khoa đó giỳp em hoàn thành đề tài này Vì sự hiểu biết và kiếnthứ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, emrấ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 đắttiề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ô kinhdoanh 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 đíchkhá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

Trang 3

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áctập tin và chương trình ứng dụng khai thác chúng Điều này khiến việc tạonê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ếmtrong 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ấtquá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 tingia tăng, vấn đề về quản trị như không chú trọng bảo mật và tổ chức dữ liệuthiế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àichí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

Trang 4

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:

Trang 5

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ờncá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ìmkiế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 đượclư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ý CSDLcho những người phát triển ứng dụng và người dung cuối, DBMS cung cấp

Các chương trình ứng dụng Người sử dụng trực tuyến

Trang 6

một giao diện giữa người sử dụng và dữ liệu, biến đổi CSDL vật lý thànhCSDL 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ủaMicrosoft 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ờncỏc mỏy PC, Mainframe, cũng như các hệ thống phần mềm khác, chẳng hạnnhư 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ạiDBMS 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ùngkhi đá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

Trang 7

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:

+ 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:

Trang 8

+ 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ệukhá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ònchỉ đị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ácbả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)

Trang 9

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

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

Á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

* Lược đồ khái niệm

* Lược đồ trong

( Internal schema) ( Storage structure definition)

Trang 10

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ạicác trạm từ xa, có thể truy nhập cơ sở dữ liệu thông qua các công cụ truyềnthông dữ liệu

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ừathiế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

Trang 11

- Ứ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ácnhau

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ể truynhậ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ốitruyề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…

Computer ServerComputer

Trang 12

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àinguyên tính toán để hỗ trợ quyết định và các ứng dụng khác bởi một nhómngười sử dụng Một vài mạng có thể móc nối với nhau sao cho cỏc nhúmcông việc khác nhau có thể chia sẻ công việc

`

Cơ sở dữ liệu Mạng cục bộ

Máy khách

Máy chủ

Hệ cơ sở dữ liệu khách / chủ

Trang 13

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ấtquán trong dữ liệu, đảm bảo sự tuân thủ các tiêu chuẩn thống nhất và cânbằng các yêu cầu đối lập trong tổ chức

Trang 14

Cơ sở dữ liệu

Computer Server Computer

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ệ :

Trang 15

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 :D1* D2* *Dn là tập tất cả n bộ( v1,v2, ,vn) sao cho vi Di 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ộ trongmột quan hệ được gọi là Cardinality

+ Quan hệ là tập con của tích Đề - các D1* D2*…*Dn đượ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)

- 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 đó

Trang 16

- 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ưngcá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)

Trang 17

* 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 Tnà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ãitrong đời sống xã hội của mọi tổ chức, cơ quan, xí nghiệp, doanh nghiệp, nơinào cần quản lý và xử lý các thông tin Ta xét thí dụ minh hoạ:

Trang 18

VD1: Xét hồ sơ cán bộ của một cơ quan:

TT

MaC

B

( 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:

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

Trang 19

quan hệ thì điều đó được hiểu rằng đó là một bảng có cấu trúc cụ thể hoặcmộ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 { A1, A2,…,An } được viết là Q ( A1 ,A2,…,An) Tập cácthuộ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àocá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ìmhiể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ụngcác lược đồ:

Phương án 1: Dùng một lược đồ: NHANVIEN_PHONG

NHANVIEN_PHONG(MaNV , HoTen, DiaChiNV, CongViec, MaPhong,DiaChiPhong, DThoai)

Trang 20

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 đượcgọ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:

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

Trang 21

Quan hệ NHÂNVIấN_PHềNG

Trang 22

.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 chitiế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ườnghợ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ảngNHÂN_VIấN không buộc chúng ta phải quan tâm đến điều kiện nhất quánnó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ânviê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épnhận giá trị Null Trường hợp dùng quan hệ NHÂN_VIấN và PHềNG, đơngiả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 QuangHuy’ thì cũng mất luôn thông tin về phòng có mã là số 1 Việc thiết kế CSDLchia thành 2 bảng, một bảng nói về ‘ Trần Quang Huy’ trong bảngNHÂ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):

Trang 23

- 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áchthà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ôngtin 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ộchà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 đốitượ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

Trang 24

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 ={ a1, a2,…,an } là tập hợp các thuộc tính

r = { h1, h2,…, hn } 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 trongr

Trang 25

Ký pháp: A B nếu: ( hi, hj r) (( a A) ( hi(a) = hj(a)))

( b B) ( hi(b) = hj(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àothuộ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 theocá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

Trang 26

Trong quan hệ THISINH, dựa vào định nghĩa phụ thuộc hàm của quan hệ tathấy có hai sự phụ thuộc hàm :

{ TINH} { KVUC}

{ SBD} { HOTEN,DIACHI,TINH,KVUC }Cách thức để chỉ định điều kiện áp đặt trong lược đồ khái niệm là khai báo sựphụ thuộc hàm Sau này chúng ta sẽ thấy các khái niệm về chuẩn hoá sẽ cho

ta cỏc cỏch khai báo đơn giản các phụ thuộc hàm như vậy

1.2.Quy ước về ký hiệu:

Các chữ hoa ở đầu bộ chữ cái như: A, B, C,… biểu thị một thuộc tính đơnCác chữ hoa ở cuối bộ chữ cái như: U, V,…,Z biểu thị cho tập các thuộc tính,

có thể là tập chỉ một thuộc tính

R dùng để biểu thị một lược đồ quan hệ

Chúng ta sử dụng r cho một quan hệ, là thể hiện hiện hành của lược đồ R

Ký hiệu nối kết chuỗi được dùng biểu thị phép hợp, do vậy, A1,…,An đượcdùng để biểu diễn tập các thuộc tính {A1,…,An }, và XY viết tắt của X Y.Trường hợp XA, AX cũng được viết thay cho X {A}, với X là tập các thuộctính và A là một thuộc tính đơn

1.3.Ý nghĩa của phụ thuộc hàm:

Các phụ thuộc hàm nảy sinh tự nhiên trong nhiều tình huống Chẳnghạn, nếu R biểu diễn cho một thực thể cú cỏc thuộc tính là A1,…,An và X làtập các thuộc tính tạo ra một khoá cho tập thực thể này thì chúng ta có thểkhẳng định rằng X Y với mọi tập con thuộc tính Y, kể cả khi tập Y cú cỏc

Trang 27

thuộc tính chung với X Lý do là các bộ của mỗi quan hệ khả hữu r biểu diễncác thực thể, và các thực thể được nhận dạng bằng giá trị của các thuộc tínhkhoá Vì vậy, hai bộ giống nhau ở các thuộc tính trong X phải biểu diễn chocùng một thực thể và do đó chỉ là một bộ.

Tương tự, nếu quan hệ R biểu diễn mối quan hệ nhiều - một từ tập thựcthể E1 đến tập thực thể E2, và trong số các thuộc tính Ai có các thuộc tính tạothành khoá X cho E1 và khoá Y cho E2 thì khẳng định X Y là đúng, và thực

sự, mọi tập thuộc tính của R đều phụ thuộc hàm vào X Tuy nhiên, Y X sẽkhông đúng trừ khi đây là mối liên hệ một - một

Cần nhấn mạnh rằng, phụ thuộc hàm là những khẳng định về tất cả quan hệkhả hữu của lược đồ quan hệ

1.4.Các tính chất của phụ thuộc hàm:

Chúng ta cần nhắc lại rằng phụ thuộc hàm là khái niệm nói về sự ràngbuộc giữa các tập thuộc tính của R trên lược đồ R hoặc trên quan hệ r, nếukhông gây ra nhầm lẫn khi nói cho phụ thuộc hàm X Y ta tự hiểu là phụthuộc hàm trên lược đồ R Nếu X,Y,Z và W là những tập thuộc tính con của Rthì ta có một số tính chất cơ bản của lớp các phụ thuộc hàm như sau:

* Tính phản xạ: X X, tổng quát hơn nếu Y X thì X Y

Trang 28

* Tính tích luỹ : X Y và Y ZW X YZW

Chúng ta có thể chứng minh các tính chất của lớp các phụ thuộc hàmmột cách đơn giản Giả sử t, t’ r Chúng ta có thể chứng minh các tính chấtmột cách dễ dàng Thật vậy :

- Tính phản xạ : Điều này hiển nhiên vì t và t’đó bằng nhau trong tập

X thỡ chỳng phải bằng nhau trong mọi tập con của X, nói cách khác t.X =t’.X t.X = t’.X và t.Y = t’.Y với mọi Y X

- Tính bắc cầu : Giả sử t.X = t’.X theo giả thiết X Y nên ta có t.Y =t’.Y mà t.Y = t’.Y theo giả thiết Y Z Ta lại có t.Z = t’.Z Vậy ta có X Z

- Tính mở rộng 2 vế : Giả sử t.XZ = t’.XZ ta phải chứng minh t.YZ =

t’.YZ Thật vậy, từ t.XZ = t’.XZ ta có t.X = t’.X và t.Z = t’.Z Theo giả thiếtt.X = t’.X thì t.Y = t’.Y Như vậy, từ t.XZ = t’.XZ ta có t.Y = t’.Y và t.Z =t’.Z mà t.Y = t’.Y và t.Z = t’.Z thì t.YZ = t’.YZ Vậy XZ YZ

Các tính chất khác cũng có thể chứng minh tương tự Chúng ta thấyrằng, các tính chất khác cũng có thể suy ra từ 3 tính chất trên Trong lý thuyếtCSDL, 3 tính chất trên gọi là hệ tiên đề Armstrong

2.Lý luận về phụ thuộc hàm:

Giả sử R là một lược đồ quan hệ A,B,C là một số thuộc tính của nó.Cũng giả sử rằng các phụ thuộc A B và B C đúng trong R Chúng tamong muốn rằng phụ thuộc hàm A C cũng đúng trong R Thật vậy, giả sử r

là một quan hệ thoả A B và B C, nhưng có hai bộ và trong r giốngnhau ở thành phần ở thành phần A nhưng không giống nhau ở thành phần C.Thế thì chúng ta đặt câu hỏi liệu và có giống nhau ở thuộc tính B haykhông Nếu không, r vi phạm A B Nếu có, thì bởi vì chúng không giốngnhau ở thành phần C, r vi phạm B C Do vậy, r buộc phải thoả A C

Trang 29

Tổng quát, gọi F là tập các phụ thuộc hàm cho lược đồ quan hệ R, và

gọi X Y là một phụ thuộc hàm Ta gọi F khẳng định logic X Y, và viết là

F |= X Y, nếu mỗi quan hệ r của R thoả các phụ thuộc trong F thì cũng thoả

X Y Ở trên, chúng ta thấy rằng nếu F chứa A B và B C thì A C đượckhẳng định logic từ F Nghĩa là:

{ A B, B C} |= A C

2.1 Bao đóng của các tập phụ thuộc:

2.1.1 Định nghĩa F+: bao đóng của F, là tập các phụ thuộc hàm được

khẳng định logic từ F, nghĩa là:

F+= { X Y | F |= X Y}

Thí dụ: Gọi R=ABC và F={A B,B C} Thế thì bao đóng F+ chứa tất cảcác phụ thuộc X Y sao cho:

Hoặc X chứa A, chẳng hạn: ABC AB, AB BC, hay A C

Hoặc X chứa B nhưng không chứa A, và Y không chứa A, chẳng hạn BC B,

B C hay B

Hoặc X Y là một trong ba phụ thuộc C C, C hay

2.1.2 Các tính chất đơn giản của tập F : +

* Tính phản xạ : Với mọi tập phụ thuộc hàm ta luụn cú F F+

* Tính đơn điệu : Nếu F G thì F+ G+

* Tính luỹ đẳng : Với mọi tập hợp phụ thuộc hàm F ta luụn cú F++ = F+

Trang 30

2.2.1 Khái niệm khoá :

Khi nói đến các tập thực thể, chúng ta đã giả sử rằng tồn tại một khoá,

đó là tập các thuộc tính xác định duy nhất một thực thể Cũng có một kháiniệm tương tự cho các quan hệ cú cỏc phụ thuộc hàm Nếu R là một lược đồquan hệ với các thuộc tính A1A2…An và các phụ thuộc hàm F, X là một tậpcon của A1A2 An, chúng ta nói X là một khoá của R nếu :

X A1A2…An thuộc F+ Nghĩa là phụ thuộc của tất cả các thuộc tính vào tậpthuộc tính X được cho trước hoặc được suy ra từ những phụ thuộc đã choKhông có tập con Y nào của X, Y X, có phụ thuộc Y A1A2…An thuộc F+

Đối với một quan hệ có thể tồn tại nhiều khoá, và đôi khi chúng ta chỉ

định một khoá làm khoỏ chính ( Primary key) Khoỏ chớnh có thể đóng vai

trò làm khoá của tập tin khi quan hệ được cài đặt Tuy nhiên, chúng ta hoàn

toàn có thể chọn một khoá bất kỳ làm khoỏ chớnh Thuật ngữ khoá dự tuyển (

Candidate key) đôi khi được dùng để biểu thị tập thuộc tính nhỏ nhất xác định

các thuộc tính khác, còn thuộc tính khoá dành cho một khoá dự tuyển được chọn Chúng ta cũng dùng thuật ngữ ô Khoá bao hàm ằ ( Super key) cho tập

bao hàm ( Superset) của một khoá, cần phải nhớ rằng khoá là một trường hợp

đặc biệt của khoá bao hàm

Theo định nghĩa của Codd : nếu có hai dòng bằng nhau trờn cỏc giá trịcủa khoá A thì kéo theo bằng nhau trên tất cả các cột còn lại Như vậy, sẽ cóhai cột bằng nhau, điều này không thể có được và nếu có thì đấy là dữ liệu

nhầm lẫn Chúng ta gọi A ( A R) là một khoá tối tiểu của r ( tương ứng của

s, của Y) nếu :

+ A là một khoá của r (s, Y) tức là A R

Trang 31

+ Bất kỳ một tập con thực sự của A không là khoá của r (s,Y) hay không tồntại A’ tập con thực sự A’ A mà A’ R

bỏ bản ghi ấy hoặc bổ sung một số bản ghi mới vào trước hoặc sau bản ghi

mà ta tìm được

- Dù dễ thấy A có thể chính bằng R nhưng người ta vẫn phải đi tìm khoá tốitiểu, tức là khoá nhỏ nhất mà không thể nhỏ hơn được nữa để việc so sánh cácgiá trị khoá với nhau trong quá trình tìm kiếm bản ghi nhanh nhất

- Một sơ đồ có thể có nhiều khoá, thậm chí còn có nhiều khóa tối tiểu, vàchúng ta chỉ định một trong cỏc khoỏ tối tiểu này làm khoỏ chớnh, khoỏchính có thể được dùng như là khoá tệp khi quan hệ trên sơ đồ này được càiđặt

Trang 32

Ký hiệu Kr, Ks, Ky là tập tất cả cỏc khoỏ tối thiểu của r (s,Y) Ta gọi K

(với K tập con của P(R)) là một hệ Sperner trên R nếu với A, B K A

B, dễ thấy Kr, Ks, Ky là hệ Sperner trên R

2.1.3 Tập các phản khoá :

Tập phản khoá đóng vai trò quan trọng trong quá trình nghiên cứu cấutrúc logic của các họ phục thuộc hàm, khoá, dạng chuẩn, quan hệ Armstrong,đặc biệt đối với các bài toán tổ hợp trong mô hình dữ liệu quan hệ

Định nghĩa : Giả sử K = {K1, K2,…,Kt } là một hệ Sperner trên R = {a1,a2,

…,an } Ta định nghĩa tập các phản khoá của K, ký hiệu K-1 như sau :

- Dễ thấy rằng K-1 cũng là hệ Sperner trên R

- Ở đây ta luôn giả thiết rằng nếu một hệ Sperner đóng vai trò tập cỏc khoỏ tối tiểu ( Tập các phản khóa), thì hệ Sperner này không rỗng ( không

chứa R)

2.3 Các tiên đề cho phụ thuộc hàm:

Để xác định khoá và hiểu được cỏc phộp suy diễn logic cho các phụthuộc hàm nói chung, chúng ta cần tính được F+ từ F, hoặc ít nhất khẳng định

Trang 33

được X Y có thuộc F+ hay không ? Nếu biết tập phụ thuộc hàm F và phụthuộc hàm X Y Muốn vậy chúng ta phải có những cách suy diễn cho biếtlàm sao có thể suy ra một hay nhiều phụ thuộc từ các phụ thuộc khỏc Cỏc

quy tắc này thường được gọi là hệ tiên đề Armstrong, giả sử rằng chúng ta đó

cú một lược đồ quan hệ với tập thuộc tính U - là tập gồm đầy đủ các thuộctính của R, và tập phụ thuộc hàm F chỉ chứa các thuộc tính trong U Chúng ta

cú cỏc quy tắc suy diễn như sau :

Tính phản xạ : Nếu Y X U, thì X Y được khẳng định logic từ F Quy tắc

này đưa ra những phụ thuộc tầm thường là những phụ thuộc mà vế trái được

hàm chứa trong vế phải Những phụ thuộc tầm thường đều đúng trong mọiquan hệ, chúng nói lên rằng việc sử dụng quy tắc này chỉ phụ thuộc vào U,không phải vào F

Tính tăng trưởng : Nếu X Y đúng, và Z là một tập con của U thì XZ YZ

Để ý rằng X, Y và Z là tập thuộc tính và XZ là dạng viết tắt của X Z Mộtđiều quan trọng khác cũng cần phải nhớ rằng phụ thuộc X Y đã cho có thểthuộc F, hoặc nó có thể được suy ra từ các phụ thuộc trong F bằng cách sửdụng các tiên đề mà chúng ta đang mô tả

Tính bắc cầu : Nếu X Y và Y Z đỳng thỡ X Z đúng.

2.3.1.Tính đúng đắn của hệ tiên đề Armstrong : Tương đối dễ chứng minh

rằng hệ tiên đề Armstrong là đúng đắn, nghĩa là chúng chỉ dẫn đến những kếtluận đỳng Cũn tớnh đầy đủ khó chứng minh hơn Chúng có thể được dùng đểthực hiện cỏc phộp suy diễn có giá trị về các phụ thuộc Trước tiên chúng ta

chứng minh tính đúng đắn (Soundness) của hệ tiên đề Armstrong.

Bổ đề 1 : Hệ tiên đề Armstrong là đúng đắn, nghĩa là nếu X Y được suy ra

từ F nhờ hệ tiên đề này thì phụ thuộc X Y đúng trong mọi quan hệ mà cácphụ thuộc của F đúng

Trang 34

Chứng minh : Tiên đề về tính phản xạ rõ ràng là đúng đắn Chúng ta không

thể có một quan hệ r với hai bộ giống nhau ở các thành phần trong X nhưng

lại không giống nhau ở một tập con nào đó của X Để chứng minh tính tăng

và giống nhau ở các thuộc tính của XZ nhưng khác nhau ở các thuộc tínhcủa YZ Bởi vì chúng không thể khác nhau ở các thuộc tính của Z, và phải khác nhau ở một số thuộc tính của Y Nhưng vì và giống nhau ởphần X nhưng không giống nhau ở phần Y nên mâu thuẫn với giả thiết X Y

đúng đối với r Tính đúng đắn của tiên đề về tính bắc cầu là sự mở rộng của

lập luận trước đây về A B và B C suy ra A C

Các quy tắc suy diễn bổ sung :

Bổ đề 2 :

Quy tắc hợp : {X Y, X Z}|= X YZ

Quy tắc giả bắc cầu : {X Y, WY Z}|= WX Z

Quy tắc phân rã : Nếu X Y đúng, và Z Y thì X Z đúng

Chứng minh :

Chúng ta đó cú X Y nờn dựng quy tắc tăng trưởng với X chúng ta có X

XY Chúng ta cũng có X Z nên suy ra XY YZ Nhờ tính bắc cầu, từ X

XY và XY YZ suy ra X YZ

Sử dụng tính tăng trưởng X Y thành WX WY Bởi vì chúng ta đó cú WY

Z, tính bắc cầu cho phép suy ra WX Z

Từ tính phản xạ ta có Y Z, nên nhờ tính bắc cầu ta có X Z

Trang 35

Một hệ quả quan trọng của các quy tắc hợp và phân rã là nếu A1,A2…

An là các thuộc tính thì X A1A2…An đúng nếu và chỉ nếu X Ai đúng vớimọi i Vì vậy chúng ta chỉ cần sử dụng các phụ thuộc mà vế phải chỉ có mộtphụ thuộc tính duy nhất

2.3.2.Tính đầy đủ của hệ tiên đề Armstrong :

Bao đóng của tập thuộc tính : Trước khi chứng minh tính đầy đủ, chúng ta

cần định nghĩa bao đóng của một tập thuộc tính ứng với một tập phụ thuộc

hàm Gọi F là tập phụ thuộc hàm trên tập thuộc tính U X là một tập con của

U Thế thì X+, bao đóng của X (ứng với F), là tập các thuộc tính A sao cho X

A có thể suy ra từ F bằng hệ tiên đề Armstrong Điểm cốt lõi của bao đóngcủa tập thuộc tính là nó cho phép chúng ta khẳng định rằng một phụ thuộc X

Y có thể suy ra từ F bằng hệ tiên đề Armstrong được hay không Bổ đề sauđây khẳng định điều này

Bổ đề 3 : X Y suy ra được từ một tập phụ thuộc F đã cho bằng cách sử dụng

hệ tiên đề Armstrong nếu và chỉ nếu Y X+ ; ở đây bao đóng của X được lấyứng với F

Chứng minh : Đặt Y = A1A2 An cho tập thuộc tính A1A2…An và giả sử Y

X+ Theo định nghĩa của X+, X Ai được suy ra từ hệ tiên đề Armstrong với

mọi i Bằng quy tắc hợp, là bổ đề 2, X Y đúng Ngược lại, giả sử rằng X

Y được suy ra từ hệ tiên đề này Đối với mỗi i, X Ai đúng theo quy tắc phân

rã - là bổ đề 2, vì vậy Y X+

Bây giờ chúng ta có thể chứng minh tính đầy đủ (Completeness) của hệ

Trang 36

đã cho, và không thể suy ra X Y đúng bằng hệ tiên đề Armstrong thì phải cómột quan hệ trong đó tất cả các phụ thuộc của F đều đúng nhưng X Ykhông đúng, nghĩa là F không khẳng định logic X Y.

Định lý 9: Hệ tiên đề Armstrong là đúng đắn và đầy đủ.

Chứng minh: Tính đúng đắn đã được chứng minh qua bổ đề 1, vì vậy chúng

ta chỉ còn phải chứng minh tính đầy đủ Gọi F là tập các phụ thuộc trên tậpthuộc tính U và giả sử X Y không thể suy ra được từ hệ tiên đề này Xétmột quan hệ r có hai bộ được trình bày trong hình:

Quan hệ r chứng minh F không khẳng định logic X Y

Trước tiên ta phải chứng minh rằng tất cả các vi phạm cho phép chúng

ta “đẩy” X+ vượt quá giá trị mà nó có được cho tập các phụ thuộc F

Các thuộc tính của X Các thuộc tính khác

Trang 37

Giả sử V W thuộc F nhưng không được thoả bởi r Thế thì V X+,nếu không thì hai bộ của r không giống nhau ở các thuộc tính V, vì vậy không

vi phạm V W Cũng vậy, W không thể là một tập con của X+, nếu khôngquan hệ r sẽ thoả V W Gọi A là một thuộc tính của W không thuộc X+ Bởi

vì V X, nên X V được suy ra từ hệ tiên đề Armstrong nhờ bổ đề 3 Phụ

thuộc V W thuộc F, vì thế do tính bắc cầu chỳgn ta có X W Do tính phản

xạ, W A vậy do tính bắc cầu, X A được suy ra từ tiên đề này Nhưng nếuvậy thì theo định nghĩa của bao đóng, A thuộc X+, mâu thuẫn với giả thiết Dovậy có thể kết luận rằng r thoả mọi phụ thuộc V W trong F

Bây giờ chúng ta chứng minh rằng X Y không thoả bởi r Giả sử rằng

nó được thoả, hiển nhiên là X X+, nên suy ra rằng Y X+, nếu không hai bộcủa r sẽ cú cỏc giá trị trong X giống nhau nhưng các giá trị trong Y lại không

giống nhau Nhưng bổ đề 3 lại khẳng định rằng X Y có thể được suy ra từ

các tiên đề X Y có thể được suy ra từ các tiên đề, là điều trái với giả thiết là

X Y không thể suy ra từ các tiên đề Vì thế X Y không được thoả bởi r,mặc dù mỗi phụ thuộc thuộc F đều thoả Chúng ta kết luận rằng khi X Ykhông được suy ra được từ tập phụ thuộc F bằng hệ tiên đề Armstrong, Fcũng không khẳng định logic X Y Điều này khẳng định rằng hệ tiên đề này

là đầy đủ

II Các bước chuẩn hoá dữ liệu :

Trong công tác quản lý và xử lý dữ liệu, chúng ta thường phải đưaCSDL về dạng đơn giản nhất, ít cồng kềnh nhất, tốn ít bộ nhớ nhất xử lýnhanh nhất và tất nhiên là cú ớt đặc thù nhất Để thực hiện mục đích đó,chúng ta phải tiến hành “chuẩn hoỏ” cỏc hệ CSDL Việc chuẩn hoỏ cỏc quan

hệ cũng như các sơ đồ quan hệ đóng một vai trò quan trọng trong việc thiết kếcác hệ quản trị cơ sở dữ liệu trên mô hình dữ liệu của E.F.Codd Nhờ có

Trang 38

chuẩn hoỏ, cỏc quan hệ và các sơ đồ quan hệ, chúng ta tránh được việc dưthừa dữ liệu và tăng tốc các phép toán xử lý quan hệ.

1.Dạng chuẩn 1 - 1NF:

Một quan hệ được chuẩn hoá là quan hệ trong đó mỗi miền giá trị củamột thuộc tính chỉ chứa những giá trị nguyên tố, tức là những giá trị khôngthể phân chia được nữa Một quan hệ có chứa một miền giá trị của một thuộctính nào đó là không nguyên tố, được gọi là quan hệ không chuẩn hay quan hệphi chuẩn Tuy nhiên với một quan hệ không chuẩn nào đó, chúng ta luônluôn có thể chuẩn hoỏ nó về dạng một quan hệ được chuẩn hoá

Một lược đồ quan hệ được gọi là thuộc dạng chuẩn 1, nếu miền của mỗithuộc tính là kiểu nguyên tố chứ không phải là chứ không phải là một tập hợphay một kiểu có cấu trúc phức hợp Lược đồ quan hệ 1NF cũng còn được gọi

là lược đồ quan hệ chuẩn hoá

Khái niệm: Cho lược đồ quan hệ R, r là quan hệ trên R Quan hệ r được gọi là

dạng chuẩn 1 (1NF) nếu và chỉ nếu toàn bộ các miền giá trị có mặt trong Rđều chỉ chứa các giá trị nguyên tố (giá trị nguyên tố là giá trị không thể táchthành các giá trị khác – giá trị đơn)

Ví dụ: Xét bảng quản lý học viên cao học theo một số chuyên đề tại trung tâm

đào tạo sau đại học

200300400

30/09/9930/08/99 20/08/99

Trang 39

02 Anh Toán Đại số

CSDL

200400

30/08/9930/09/99

Đây là một quan hệ không là 1NF vỡ cỏc thuộc tính như: MụnHọc có miềngiỏ trịô đa trị ằ, ví dụ : An ở phần MụnHọc cú 3 môn học là : Quang, Cao tần,Siêu dẫn và tương tự như vậy, thuộc tính KờtThỳc cũng có 3 giá trị kết thúc.Vậy quan hệ trên không là dạng chuẩn 1

Ta có thể đưa dạng chưa chuẩn trên về dạng chuẩn như sau :

04 Long Môi trường Môi trường 500 30/10/99

Nhận xét : Hai bảng quan hệ trên đều cùng quản lý một mảng thông tin, một

nhóm đối tượng, có cấu trúc logic như nhau nhưng cấu trúc vật lý khác nhau.Tuy nhiên trong bảng a có thể coi R là một quan hệ 4 phần tử, còn bảng b, làmột quan hệ 7 phần tử Như vậy, mọi quan hệ chúng ta đều có thể đưa vềdạng chuẩn 1, nên về sau khi xột cỏc dạng chuẩn, nếu không núi gỡ thờm tahiểu dạng đang xét là dạng chuẩn 1 ( tức 1NF) Trong định nghĩa về dạngchuẩn ở trên, ta có thể phát biểu một lược đồ R ( hoặc một sơ đồ quan hệ W =( R, F)) ở dạng chuẩn 1NF nếu các miền giá trị của các thuộc tính đều đơn

Về sau trong các dạng chuẩn 2,3… ta xột trờn sơ đồ quan hệ W= (R,F) Tuynhiên, có nơi nào đó nói r thì coi r là quan hệ bất kỳ trên R

Trang 40

2.Dạng chuẩn 2 – 2NF :

Trước khi nghiên cứu dạng chuẩn 2, ta xét ví dụ1 sau : Xét CSDL gồm 2 lược

đồ quan hệ : THI(MONTHI, GIAOVIEN) và SINHVIEN(MONTHI, MASV,TEN, TUOI, DCHI, DIEM) phản ánh thông tin về kết quả thi của một đơn vịnào đó Trong quan hệ THI thì MONTHI là khoá và trong quan hệSINHVIEN thì MONTHI và MASV là khoá Ở quan hệ thứ hai dễ nhận thấyrằng MONTHI, MASV, DIEM xác định kết quả thi của sinh viên còn MASV,TEN, TUOI, DCHI xác định đối tượng dự thi Xột cỏc hiện hành của 2 lược

đồ quan hệ THI và SINHVIEN như sau :

Ngày đăng: 22/11/2014, 08:41

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w