Ban chỉ ĐẠo công nghệ thông tin của cơ quan đẢng giáo trình thiết kế, XÂy dựng và quản trị CƠ SỞ DỮ liệu hà NỘI, 2004



tải về 1.04 Mb.
trang17/29
Chuyển đổi dữ liệu07.07.2016
Kích1.04 Mb.
1   ...   13   14   15   16   17   18   19   20   ...   29

III.CÁC DẠNG CHUẨN DỰA TRÊN KHOÁ CHÍNH


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 khoá chính. Trong phần này chúng ta sẽ nghiên cứu các dạng chuẩn và quá trình chuẩn hoá các lược đồ quan hệ

1.Nhập môn về chuẩn hoá


Quá trình chuẩn hoá (do Codd đề nghị 1972) lấy một lược đồ quan hệ và thực hiện một loạt các kiểm tra để xác nhận nó có thoả mãn một dạng chuẩn nào đó hay không. Quá trình này được thuạc hiện theo phương pháp trên xuống bằng việc đánh giá mỗi quan hệ với tiêu chuấn của các dạng chuẩn và tách các quan hệ nếu cần. Quá trình này có thể xem như là việc thiết kế quan hệ bằng phân tích. 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. Tất cả các dạng chuẩn này dựa trên các phụ thuộc hàm giữa các thuộc tính của một quan hệ. Sau đó, dạng chuẩn 4 (4NF) và dạng chuẩn 5 (5NF) được đề nghị dựa trên các phụ thuộc hàm đa trị và các phụ thuộc hàm nối.

Chuẩn hoá dữ liệu có thể được xem như một quá trính phân tích các lược đồ quan hệ cho trước dựa trên các phụ thuộc hàm và các khoá chính của chúng để đạt đến các tính chất mong muốn : (1) Cực tiểu sự dư thừa và (2) cực tiểu các phép cập nhật bất thường. Các lược đồ quan hệ không thoả mãn các kiểm tra dạng chuẩn sẽ được tách ra thành các lược đồ quan hệ nhỏ hơn thoả mãn các kiểm tra và có các tính chất mong muốn. Như vậy, thủ tục chuẩn hoá cung cấp cho những người thiết kế cơ sở dữ liệu

. Một cơ cấu hình thức để phân tích các lược đồ quan hệ dựa trên các khoá của nó và các phụ thuộc hàm giữa các thuộc tính của nó.

. Một loạt các kiểm tra dạng chuẩn có thể thực hiện trên các lược đồ quan hệ riêng rẽ sao cho cơ sở dữ liêu quan hệ có thể được chuẩn hoá đến một mức cần thiết.

Dạng chuẩn của một quan hệ liên quan đến điều kiện dạng chuẩn cao nhất mà nó thoả mãn. Các dạng chuẩn khi được xem xét độc lập với các sự kiện khác không đảm bảo một thiết kế cơ sở dữ liệu tốt. Nói chung, việc xác minh riêng biệt từng lược đồ quan hệ ở dạng chuẩn này dạng chuẩn nọ là chưa đủ. Tốt hơn là quá trình chuẩn hoá thông qua phép tách phải khằng định một vài tính chất hỗ trợ mà tất cả các lược đồ quan hệ phải có. Chúng gồm hai tính chất sau:

. Tính chất nối không mất mát (hoặc nối không phụ thêm), nó đảm bảo rằng vánn đề tạo ra các bộ giả không xuất hiện đối với các lược đồ quan hệ được tạo ra sau khi tách.

. Tính chất bảo toàn sự phụ thuộc, nó đảm bảo rằng từng phụ thuộc hàm sẽ được biểu hiện trong các quan hệ riêng rẽ nhận được sau khi tách.

Tính chất nối không mất mát là rất quan trọng, phải đạt được bằng mọi giá, còn tính chất bảo toàn phụ thuộc thì cũng rất mong muốn nhưng đôi khi có thể hy sinh.


  1. Dạng chuẩn 1


Một quan hệ được gọi là ở dạng chuẩn 1 (1NF) nếu miền giá trị của một thuộc tính chỉ chứa các giá trị nguyên tử (đơn, không phân chia được) và giá trị của mỗi thuộc tính trong một bộ phải là một giá trị đơn lấy từ miền giá trị của thuộc tính đó. Như vậy, 1NF không cho phép có một tập giá trị, một bộ giá trị hoặc một tổ hợp của cả hai như là một giả trị thuộc tính cho một bộ. Nói cách khác, 1NF không cho phép “các quan hệ bên trong quan hệ “hoặc “các quan hệ như là các thuộc tính của một bộ “. Nó chỉ cho phép các giá trị của các thuộc tính là nguyên tử.

Ví dụ, các quan hệ sau đây không thoả mãn điều kiện 1NF.

1) ĐƠNVỊ

(1)MãsốDV

Tên DV

Ngườiquảnlý

Địa điểm

DV1

Đơn vị 1

AA

Hà nội, Bắc ninh

DV2

Đơn vị 2

BB

Hải phòng

DV3

Đơn vị 3

CC

Nghệ an, Hà tĩnh

2) NHÂNVIÊN_dựán


(a)MãsốDA

TênDA

TênNHÂNVIÊN

Sốgiờ

DA1

Dự án 1

AA

BB


15

20


DA2

Dự án 2

BB

CC

DD



10

12

28



DA3

Dự án 3

AA

20

Bảng ĐƠNVỊ chứa một thuộc tính đa trị, Bảng NHÂNVIÊN_dựán chứa các quan hệ lồng nhau, “quan hệ trong quan hệ “.

Để đạt đến dạng chuẩn 1 đối với các quan hệ ở trên chúng ta dùng phương pháp sau :

Loại bỏ các thuộc tính vi phạm dạng chuẩn 1 và đặt chúng vào một bảng riêng cùng với khoá chính của thuộc quan hệ ban đầu. Khoá chính của bảng này là một tổ hợp của Khoá chính của quan hệ ban đầu và thuộc tính đa trị hoặc khoá bộ phận của nhóm lặp.

Ví dụ:* Với bảng ĐƠNVỊ, ta chia làm hai bảng: Bảng thứ nhất gồm các thuộc tính MãsốDV, TênDV, Ngườiquản lý ; bảng thứ hai gồm các thuộc tính MãsốDV Địađiểm.

* Với bảng NHÂNVIÊN_dựán ta chia làm hai bảng, bảng thứ nhất gồm các thuộc tính MãsốDA, TênDA ; Bảng thứ hai gồm các thuộc tính MãsốDA, TênNHÂNVIÊN, Số giờ.

      • Dạng chuẩn 2


Dạng chuẩn 2 (2NF) dựa trên khái niệm phụ thuộc hàm đầy đủ. Một phụ thuộc hàm X  Y là một phụ thuộc hàm đầy đủ nếu loại bỏ bất kỳ thuộc tính A nào ra khỏi X thì phụ thuộc hàm không còn đúng nữa ; điều đó có nghĩa là, với thuộc tính A bất kỳ, A X, (X-{A}) không xác định Y. Một phụ thuộc hàm X  Y là phụ thuộc bộ phận nếu có thể bỏ một thuộc tính A X, ra khỏi X phụ thuộc hàm vẫn đúng ; điều đó có nghĩa là với A X, (X-{A})  Y.

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)

Phụ thuộc hàm MãsốNV, MãsốDA  Sốgiờ là phụ thuộc hàm đầy đủ

Phụ thuộc hàm MãsốNV, MãsốDA  HọtênNV là phụ thuộc hàm bộ phận, bởi vì có phụ thuộc hàm MãsốNV  HọtênNV

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 khoá chính. Nếu khoá 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 mỗi thuộc tính không khoá A trong R là phụ thuộc hàm đầy đủ vào khoá chính của R.

Nếu một quan hệ không thoả mãn điều kiện 2NF ta có thể chuẩn hoá nó để có các quan hệ 2NF như sau : Loại bỏ các thuộc tính không khoá phụ thuộc vào một bộ phận khoá chính và tách thành ra một bảng riêng, khoá chính của bảng là bộ phận khoá mà chúng phụ thuộc vào.

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

Ta thấy ở đây có những thuộc tính không khoá phụ thuộc vào một bộ phận của khoá 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ờ)

      • Dạng chuẩn 3


Dạng chuẩn 3 (3NF) dựa trên khái niệm phụ thuộcbắc cầu.Một phụ thuộc hàm X  Y trong một lược đồ quan hệ R là một phụ thuộc hàm bắc cầu nếu có một tập hợp thuộc tính Z không phải là một khoá dự tuyển cũng không phải là một tập con của một khoá nào và cả hai X  Z và Z  Y đều đúng. Theo định nghĩa nguyên thuỷ của Codd, một lược đồ quan hệ R là ở 3NF nếu nó thoả mãn 2NF và không có thuộc tính không khoá nào của R là phụ thuộc bắc cầu vào khoá chính.

Nếu một lược đồ quan hệ không thoả mãn điều kiện 3NF, ta có thể chuẩn hoá nó để có được các lược đồ 3NF như sau : 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ó khoá chính là thuộc tính bắc cầu.



Chương 5: GIỚI THIỆU
NGÔN NGỮ VẤN TIN CÓ CẤU TRÚC SQL

Trong chương này bạn sẽ tìm hiểu các khái niệm cơ bản về ngôn ngữ chuẩn của mô hình quan hệ, được gọi là ngôn ngữ vấn tin có cấu trúc SQL (Structured Query Langague). Ngôn ngữ này gồm khoảng ba mươi lệnh và được thiết kế để làm việc với bất cứ ứng dụng nào cần xử lý dữ liệu được lưu trong CSDL quan hệ. Đa số các phần mềm quan hệ hỗ trợ SQL, đồng thời nhiều nhà cung cấp phần mềm đã phát triển thêm cho tập lệnh SQL cơ bản.

Do từ khoá SQL tương đối ít nên SQL tương đối dễ học. Tính đơn giản của nó được hoàn thiện là do các hoạt động xuất hiện trong quá trình sử dụng được tổ chức ở hậu trường CSDL. Chẳng hạn, một lệnh SQL tạo ra một tập phức tạp các cấu trúc CSDL. Một lệnh đơn giản khác lại tạo ra các cấu trúc bảng phức tạp cần cho lưu trữ và xử lý thành công dữ liệu.

SQL là ngôn ngữ phi thủ tục: người dùng chỉ mô tả cái phải làm, không phải mô tả cách thực hiện. Sử dụng lệnh SQL, người dùng và các lập trình viên không cần phải biết khuôn dạng lưu trữ vật lý cũng như hoạt động phức tạp được tổ chức khi lệnh SQL thực hiện.

Tuy nhiên, cho dù SQL hữu dụng và đầy năng lực, điều đó không có nghĩa là nó hoạt động độc lập trong lĩnh vực ứng dụng. Nhập liệu có thể được nhưng không tiện lợi, sửa và bổ sung dữ liệu cũng vậy. SQL không tạo ra các menu, các khuôn dạng báo cáo cụ thể, các menu đổ xuống hoặc bất cứ một tiện ích cũng như các công cụ màn hình nào khác thường được mong muốn bởi người dùng đầu cuối. Ngược lại, các giao diện đó được tạo ra bởi các lập trình viên ngôn ngữ thế hệ ba, hoặc bởi hàng loạt các tiện ích bổ sung đặc biệt cho phép khai thác triệt để năng lực của SQL. Bạn sẽ thấy rằng SQL làm cho các ứng dụng CSDL của bạn mạnh lên; các tiện ích bổ sung sẽ cho phép bạn tạo ra các giao diện thân thiện và trình bày các kết quả lấy từ dữ liệu hấp dẫn hơn.

1   ...   13   14   15   16   17   18   19   20   ...   29


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2016
được sử dụng cho việc quản lý

    Quê hương