Dạng Chuẩn 3 – Wikipedia Tiếng Việt

Bài viết này cần thêm chú thích nguồn gốc để kiểm chứng thông tin. Mời bạn giúp hoàn thiện bài viết này bằng cách bổ sung chú thích tới các nguồn đáng tin cậy. Các nội dung không có nguồn có thể bị nghi ngờ và xóa bỏ. (Tìm hiểu cách thức và thời điểm xóa thông báo này)

Dạng chuẩn 3 (3NF) là một dạng chuẩn được sử dụng trong chuẩn hóa dữ liệu để kiểm tra xem liệu tất cả các thuộc tính không khóa của một quan hệ có phụ thuộc chỉ vào các khóa candidate key của quan hệ hay không. Điều này có nghĩa là tất cả các thuộc tính không khóa là độc lập với nhau hay các thuộc tính không khóa không thể phụ thuộc bắc cầu vào một thuộc tính không khóa khác.

Dạng chuẩn 3 khác với dạng chuẩn 2 trong đó tất cả các thuộc tính không khóa trong 3NF được yêu cầu là phải phụ thuộc trực tiếp vào mỗi khóa candidate của quan hệ. Phát triển cao hơn 3NF, BCNF insists, in the words of Bill Kent, that "the relation is based on the key, the whole key and nothing but the key", to which some add "so help me Codd."

Định nghĩa hình thức

[sửa | sửa mã nguồn]

Gọi:

  • R {\displaystyle {R}} là lược đồ quan hệ,
  • F {\displaystyle F} là tập hơp các phụ thuộc hàm trên lược đồ quan hệ R {\displaystyle R} ,
  • X {\displaystyle X} là tập con của các thuộc tính của R {\displaystyle R} , và
  • A {\displaystyle A} là một thuộc tính của R {\displaystyle R}

R {\displaystyle R} là ở dạng chuẩn 3 nếu với mọi phụ thuộc hàm ở dạng X → A {\displaystyle X\to A} thì một trong các mệnh đề sau là đúng:

  • A ∈ X {\displaystyle A\in X} ; có nghĩa là, A {\displaystyle A} là một phụ thuộc hàm tầm thường, hoặc
  • X {\displaystyle X} là một siêu khóa, hoặc
  • A {\displaystyle A} là bộ phận của một vài khóa nào đó của R {\displaystyle R}

Mọi quan hệ với phụ thuộc từng phần hoặc dựa vào bắc cầu đều vi phạm quy tắc dạng chuẩn 3.

Ví dụ

[sửa | sửa mã nguồn]

Xem xét quan hệ định nghĩa vài loại phụ tùng ô tô được mô tả như sau:

Mechanical part
Part number(primary key) Manufacturer name Manufacturer address
1000 BMW Park Avenue
1001 Mitsubishi Lincoln Street
1002 BMW Park Avenue

Trong trường hợp này địa chỉ của nhà sản xuất (manufacturer address) không thuộc về quan hệ, do thông tin này chỉ mô tả về nhà sản xuất hơn là thông tin về phụ tùng. Do vậy, thông tin về địa chỉ của nhà sản xuất cần được chuyển sang một bảng khác với các thuộc tính:

Manufacturer
Manufacturer name(primary key) Manufacturer address
BMW Park Avenue
Mitsubishi Lincoln Street

...và bảng dữ liệu ban đầu được sửa thành:

Mechanical part
Part number(primary key) Manufacturer name
1000 BMW
1001 Mitsubishi
1002 BMW

Vấn đề của bảng dữ liệu không ở dạng chuẩn 3 là với mọi tên của nhà sản xuất, ta phải lưu thông tin về địa chỉ, điều này gây ra dư thừa dữ liệu.

Xem xét ví dụ sau:

Order
Order Number(primary key) Customer Name Unit Price Quantity Total
1000 David $35.00 3 $105.00
1001 Jim $25.00 2 $50.00
1002 Bob $25.00 3 $75.00

Trong trường hợp này cột Total không thuộc về bảng vì Total có thể được suy ra từ việc nhân hai cột Unit Price và Quantity. Để chuyển về dạng chuẩn 3, bỏ cột Total ra khỏi bảng (trong một câu truy vấn dữ liệu, thay vì dùng "SELECT Orders.Total FROM Orders", ta sẽ sử dụng lệnh SELECT UnitPrice * Quantity FROM Orders).

Order
Order Number(primary key) Customer Name Unit Price Quantity
1000 David $35.00 3
1001 Jim $25.00 2
1002 Bob $25.00 3

Nguồn

[sửa | sửa mã nguồn]
  • Ramakrishnan, Raghu and Johannes Gehrke. "Schema Refinement and Normal Forms." Database Management Systems, Third Edition. ISBN 0-07-246563-8. McGraw Hill. 14 tháng 8 năm 2002.
  • Gupta, Gopal. "Third Normal Form (3NF)." Lưu trữ ngày 18 tháng 2 năm 2007 tại Wayback Machine Single Valued Normalization. 1996.

Tham khảo

[sửa | sửa mã nguồn]
  • Litt's Tips: Normalization
  • Rules Of Data Normalization Lưu trữ ngày 5 tháng 8 năm 2008 tại Wayback Machine
  • Date, C. J. (1999), An Introduction to Database Systems Lưu trữ ngày 4 tháng 4 năm 2005 tại Wayback Machine (8th ed.). Addison-Wesley Longman. ISBN 0-321-19784-4.
  • Kent, W. (1983) A Simple Guide to Five Normal Forms in Relational Database Theory, Communications of the ACM, vol. 26, pp. 120–125
  • Date, C.J., & Darwen, H., & Pascal, F. Database Debunkings

Liên kết ngoài

[sửa | sửa mã nguồn]
  • Database Normalization Basics Lưu trữ ngày 5 tháng 2 năm 2007 tại Wayback Machine by Mike Chapple (About.com)
  • An Introduction to Database Normalization Lưu trữ ngày 6 tháng 6 năm 2011 tại Wayback Machine by Mike Hillyer.
  • Normalization Lưu trữ ngày 6 tháng 1 năm 2010 tại Wayback Machine by ITS, University of Texas.
  • A tutorial on the first 3 normal forms by Fred Coulson
  • Free PDF poster available by Marc Rettig
  • Description of the database normalization basics by Microsoft
  • Developing High Quality Data Models Lưu trữ ngày 21 tháng 12 năm 2008 tại Wayback Machine
  • Generic Data Modeling Lưu trữ ngày 4 tháng 2 năm 2007 tại Wayback Machine
  • The Gellish Language - A Universal Data Structure
  • x
  • t
  • s
Chuẩn hóa dữ liệu
Dạng chuẩn 1 · Dạng chuẩn 2 · Dạng chuẩn 3  · Dạng chuẩn Boyce–Codd · Dạng chuẩn 4 · Dạng chuẩn 5 · Dạng chuẩn Domain/key · Dạng chuẩn 6
Normalization · Denormalization
Stub icon

Bài viết liên quan đến cơ sở dữ liệu này vẫn còn sơ khai. Bạn có thể giúp Wikipedia mở rộng nội dung để bài được hoàn chỉnh hơn.

  • x
  • t
  • s

Từ khóa » Chuẩn Hóa 3nf Là Gì