Love beautiful code? We do too.
First Normal Form (1NF) thiết lập các qui tắc cơ bản cho một Database đã được tổ chức:
Bạn phải định nghĩa các cột dữ liệu. Nghĩa là kiểm tra dữ liệu để được lưu giữ, tổ chức dữ liệu vào trong các cột, định nghĩa kiểu dữ liệu của mỗi cột, và cuối cùng đặt các cột dữ liệu liên quan với nhau vào trong bảng riêng của chúng.
Ví dụ, bạn đặt tất cả cột liên quan tới vị trí trong bảng Location, liên quan tới thành viên trong bảng MemberDetail, …
Bước tiếp theo để bảo đảm rằng không có sự lặp lại các nhóm dữ liệu. Chúng ta xem xét bảng sau:
CREATE TABLE SINHVIEN(
ID INT NOT NULL,
TEN VARCHAR (20) NOT NULL,
TUOI INT NOT NULL,
KHOAHOC CHAR (25),
TENSACH VARCHAR(155)
);
```Nếu hiển thị một sinh viên với nhiều lần mượn sách khác nhau khác nhau, thì nó sẽ cho:
<table class="table table-bordered"><tr><th>ID</th><th>TEN</th><th>TUOI</th><th>KHOAHOC</th><th>TENSACH</th></tr><tr><td>100</td><td>Hoang</td><td>19</td><td>CNTT</td><td>Mang\_May\_Tinh</td></tr><tr><td>100</td><td>Hoang</td><td>19</td><td>CNTT</td><td>Lap\_Trinh\_C</td></tr><tr><td>100</td><td>Hoang</td><td>19</td><td>CNTT</td><td>Tu\_Tuong\_Ho\_Chi\_Minh</td></tr></table>Nhưng theo 1NF, chúng ta cần bảo đảm rằng không có sự lặp lại các nhóm dữ liệu. Vì thế, chúng ta chia bảng trên thành 2 phần và kết hợp chúng bởi một key như sau:
Bảng SINHVIEN:
CREATE TABLE SINHVIEN( ID INT NOT NULL, TEN VARCHAR (20) NOT NULL, TUOI INT NOT NULL, KHOAHOC CHAR (25), PRIMARY KEY (ID) );
```Bảng này sẽ có các bản ghi sau:
ID | TEN | TUOI | KHOAHOC |
---|---|---|---|
100 | Hoang | 19 | CNTT |
ID | SINHVIEN\_ID | TENSACH |
---|---|---|
10 | 100 | Mang\_May\_Tinh |
11 | 100 | Lap\_Trinh\_C |
12 | 100 | Tu\_Tuong\_Ho\_Chi\_Minh |
Hoclaptrinh.vn © 2017
From Coder With
Unpublished comment
Viết câu trả lời