Trang Chủ Phát triển Hình thức thứ ba bình thường (3nf) là gì? - định nghĩa từ techopedia

Hình thức thứ ba bình thường (3nf) là gì? - định nghĩa từ techopedia

Mục lục:

Anonim

Định nghĩa - Mẫu thường thứ ba (3NF) có nghĩa là gì?

Biểu mẫu bình thường thứ ba (3NF) là bước thứ ba trong việc bình thường hóa cơ sở dữ liệu và nó được xây dựng trên các biểu mẫu thông thường thứ nhất và thứ hai, 1NF và 2NF.

3NF tuyên bố rằng tất cả tham chiếu cột trong dữ liệu được tham chiếu không phụ thuộc vào khóa chính sẽ bị xóa. Một cách khác để đặt điều này là chỉ nên sử dụng các cột khóa ngoại để tham chiếu một bảng khác và không tồn tại các cột khác từ bảng cha trong bảng được tham chiếu.

Techopedia giải thích Mẫu thông thường thứ ba (3NF)

Hãy xem xét cơ sở dữ liệu của ngân hàng, trong đó có hai bảng: CUSTOMER_MASTER để lưu trữ thông tin chi tiết của khách hàng và ACCOUNT_MASTER để lưu trữ thông tin chi tiết về tài khoản ngân hàng, bao gồm cả khách hàng nắm giữ tài khoản nào. Trong trường hợp này, cần có một cách để liên kết hai bảng để liên kết tài khoản với khách hàng sở hữu nó. Cách để làm điều này là thông qua một khóa nước ngoài. Đây là một cột trong bảng ACCOUNT_MASTER trỏ đến hoặc tham chiếu một cột tương ứng (được gọi là khóa chính) trong bảng cha CUSTOMER_MASTER. Hãy gọi cột này là CustID.

Giả sử rằng khách hàng Andrew Smith tạo một tài khoản trong bảng CUSTOMER_MASTER với CustID 20454. Ông Smith giữ một tài khoản tiết kiệm với số S-200802-005, có chi tiết được lưu trữ trong bảng ACCOUNT_MASTER. Điều này có nghĩa là bảng ACCOUNT_MASTER sẽ có một cột có tên là CustID, đây không phải là một phần dữ liệu gốc. Thay vào đó, nó cũng có giá trị 20454, chỉ đơn giản tham chiếu cùng một CustID trong bảng CUSTOMER_MASTER.

Bây giờ, 3NF ra lệnh rằng trong bảng ACCOUNT_MASTER của chúng tôi, thông tin duy nhất chúng tôi có về khách hàng phải là CustID (20454) dưới dạng khóa ngoại, và nó đề cập đến và xác định khách hàng sở hữu cùng CustID này trong bảng CUSTOMER_MASTER (Andrew Smith ). Không có dữ liệu nào khác về khách hàng của chúng tôi (chẳng hạn như tên, ngày sinh, giới tính, v.v.) nên được lưu trữ trong bảng ACCOUNT_MASTER hoặc bất kỳ bảng nào khác, bởi vì tất cả dữ liệu về anh ấy đã được lưu trữ trong CUSTOMER_MASTER. Bằng cách này, dữ liệu khách hàng duy nhất được lưu trữ bên ngoài bảng CUSTOMER_MASTER là CustID. Điều này trả cổ tức đẹp trai bằng cách đảm bảo không có sự trùng lặp dữ liệu, điều này làm cho các truy vấn chạy hiệu quả hơn nhiều và giảm lượng lưu trữ cần thiết.

Hình thức thứ ba bình thường (3nf) là gì? - định nghĩa từ techopedia