1NF
là gì1NF là Dạng chuẩn đầu tiên trong DBMS, được áp dụng trên một bảng chưa chuẩn hóa để làm cho nó chuẩn hóa. Một bảng không chuẩn hóa có những vấn đề sau mà chúng ta cần tránh để có được một thiết kế cơ sở dữ liệu hoàn hảo -
Sự cố với Bảng không chuẩn hóa
Dự phòng dữ liệu
Lưu trữ cùng một mục dữ liệu nhiều lần được gọi là Dự phòng dữ liệu.
Hãy để chúng tôi xem một ví dụ -
Chúng tôi có
Bảng 1.1
EmpID | EmpName | EmpAddress |
001 | Amit | 11, Phố VA, New York |
002 | Tom | 11, Phố VA, New York |
003 | David | 11, Phố VA, New York |
004 | Steve | 13, HG Block, Philadelphia |
005 | Jeff | 13, HG Block, Philadelphia |
Để giải quyết vấn đề này, hãy lưu trữ địa chỉ nhân viên trong một bảng riêng và trỏ vào bảng
Sự bất thường về cập nhật
Nó xảy ra khi bạn gặp sự cố trong khi cập nhật bảng.
Hãy để chúng tôi xem một ví dụ -
Bảng 1.2
EmpID | EmpName | EmpAddress | EmpDept |
001 | Amit | 11, Phố VA, New York | A |
002 | Tom | 11, Phố VA, New York | B |
003 | Tom | 11, Phố VA, New York | C |
004 | Steve | 13, HG Block, Philadelphia | D |
005 | Jeff | 27, ZR Block, Virginia | E |
Nếu chúng ta cần cập nhật địa chỉ của nhân viên Tom, người đến từ hai phòng ban, thì chúng ta cần cập nhật hai hàng. Nếu chúng tôi chỉ cập nhật một hàng duy nhất, thì Tom sẽ có hai địa chỉ khác nhau dẫn đến sự không nhất quán trong dữ liệu.
Xóa bất thường
Giả sử công ty quyết định đóng cửa Phòng D, thì việc xóa hàng cũng sẽ dẫn đến việc xóa dữ liệu của nhân viên Steve.
Sự bất thường khi chèn
Nó xảy ra khi bạn cố gắng chèn dữ liệu vào một bản ghi không tồn tại.
Chuẩn hóa loại bỏ tất cả các vấn đề / bất thường ở trên và cung cấp cho bạn một thiết kế cơ sở dữ liệu hoàn hảo đã chuẩn hóa mà người quản trị cơ sở dữ liệu yêu thích.
Hãy để chúng tôi xem cách chuẩn hóa dữ liệu bằng Biểu mẫu chuẩn đầu tiên (1NF)
Tại sao lại INF
First Normal Form (1 INF) hữu ích trong việc loại bỏ vấn đề dư thừa dữ liệu và các dị thường của cơ sở dữ liệu như được trình bày trong phần trên. Tất cả các thuộc tính trong 1NF phải có miền nguyên tử. Nếu nó không phải là nguyên tử, thì cơ sở dữ liệu của bạn đang có thiết kế xấu. Đây là bước đầu tiên trong Chuẩn hóa.
Do đó, quy tắc quan trọng nhất để một bảng ở dạng chuẩn hóa là nó phải chỉ có các giá trị nguyên tử.
Ví dụ
Ví dụ dưới đây có một bảng với mọi cột bao gồm các giá trị nguyên tử, ngoại trừ cột DeptRole. Do đó, cột DeptRole vi phạm quy tắc giá trị nguyên tử cho Cục A, B và C.
Bảng 1.3
DeptId | DeptName | DeptRole |
001 | A | Tài chính, Nhân sự |
002 | B | Lập trình, Mạng |
003 | C | Quản lý, Tiếp thị |
004 | D | Hoạt động |
Bây giờ hãy để chúng tôi sửa nó và chuyển đổi thành 1NF:
DeptId | Tên bộ phận | DeptRole |
001 | A | Tài chính |
001 | A | Nhân sự |
002 | B | Lập trình |
002 | B | Mạng |
003 | C | Quản lý |
003 | C | Tiếp thị |
004 | D | Hoạt động |
Bây giờ bảng trên là 1NF và chúng tôi có các giá trị nguyên tử trong mỗi cột như được tóm tắt trong ảnh chụp màn hình sau -