Trong bài viết này, Hocviendaotao.com sẽ cùng bạn tìm hiểu về Chuẩn hóa cơ sở dữ liệu và tổng quan về mối quan hệ, sự liên kết dữ liệu giữa các bảng.
Chuẩn hóa cơ sở dữ liệu
Chuẩn hóa cơ sở dữ liệu (Database Normalization) là quá trình tổ chức các cột (thuộc tính) và bảng (quan hệ) của cơ sở dữ liệu quan hệ sao cho hợp lý để giảm thiểu dư thừa dữ liệu.
Quá trình này phân chia dữ liệu trên nhiều bảng để cải thiện hiệu suất tổng thể, tính toàn vẹn và tuổi thọ của database.
Tóm lại, bạn có thể hiểu:
Ví dụ:
Bạn hãy theo dõi bảng ở ví dụ này, dữ liệu ở đây có thể đánh giá là dư thừa, có nhiều khả năng đánh máy nhầm và phát sinh các lỗi không nhất quán trong quá trình nhập liệu
IDKH | Ten | Diachi | TenSanPham | Soluong | Gia | Tongtien |
1 | Bui Thu | 56 Duy Tan, Cau Giay, Ha Noi | Chocolate Chip | 5 | $2.00 | $10.00 |
2 | Tran Oanh | 12 Khuat Duy Tien., Thanh Xuan Bac, Thanh Xuan, Ha Noi | Choc Chip | 3 | $2.00 | $6.00 |
3 | Le Quyen | 56 Duy Tan., Q Cau Giay, Ha Noi | Chocolate Chip | 5 | $2.00 | $10.00 |
Để giải quyết vấn đề này, chúng ta cần cơ cấu lại dữ liệu của mình và chia nó thành nhiều bảng để loại bỏ một số dư thừa như trong ba bảng sau.
Ở đây, ta có 1 bảng dành cho Khách hàng, 1 bảng Sản phẩm và 1 bảng Order (Đơn hàng).
Nếu chỉ chia dữ liệu ra nhiều bảng cho đơn giản thì cũng chưa thể thực hiện được gì vì các bảng chưa liên kết với nhau, chưa có cách nào để dữ liệu của bảng này liên quan đến bảng kia. Để làm được việc kết nối dữ liệu trong nhiều bảng này, bạn sẽ phải cần thêm các Khóa ngoại - Foreign Key vào bảng Order.
Xác định mối quan hệ giữa các bảng
Mối quan hệ (Relationship) giữa các bảng hoạt động bằng cách khớp dữ liệu trong các cột, thường là các cột cùng tên, có mặt trong cả hai bảng. Cột khóa chính trong bảng sẽ cung cấp một ID duy nhất cho mỗi bản ghi (mỗi hàng) và là khóa ngoại trong bảng khác.
Có 3 kiểu thiết lập mối quan hệ:
Quan hệ 1-1
Quan hệ 1-1 là quan hệ giữa hai bảng mà một bản ghi của bảng A quan hệ duy nhất với một bản ghi của bảng B và ngược lại.
Mối quan hệ một đối một được tạo ra khi cả hai trường kết nối là khóa chính hoặc có các ràng buộc duy nhất.
Kiểu quan hệ này không phổ biến. Bạn có thể sử dụng mối quan hệ 1-1 trong các trường hợp sau:
- Chia một bảng thành nhiều cột.
- Cô lập một phần của bảng vì lý do bảo mật.
- Lưu trữ dữ liệu tồn tại trong thời gian ngắn và có thể dễ dàng xóa bằng cách xóa bảng.
- Lưu trữ thông tin chỉ áp dụng cho một tập hợp con của bảng chính.
Quan hệ 1-n (một-nhiều)
Quan hệ 1-n là loại quan hệ phổ biến nhất.Trong mối quan hệ này, một bản ghi trong bảng A có thể có nhiều bản ghi phù hợp trong bảng B, nhưng một bản ghi trong bảng B chỉ có một bản ghi phù hợp trong bảng A. Cũng có thể hiểu, khóa chính trong bảng A có thể được sao chép nhiều lần trong bảng khác.
Ví dụ: bảng Khách hàng và Đơn hàng có mối quan hệ một-nhiều: mỗi khách hàng có thể đặt nhiều đơn hàng, nhưng mỗi đơn hàng chỉ đến từ một khách hàng.
Quan hệ n-n (nhiều-nhiều)
Quan hệ n-n là quan hệ giữa hai bảng mà một bản ghi của bảng A có thể có nhiều bản ghi phù hợp trong bảng B và ngược lại.
Để tạo mối quan hệ như vậy, hãy xác định bảng thứ ba, được gọi là bảng nối, có khóa chính bao gồm các khóa ngoại từ cả bảng A và bảng B.
Ví dụ: bảng Khách hàng và bảng Sản phẩm có mối quan hệ n-n được xác định bởi mối quan hệ 1-n từ chúng tới bảng Đơn hàng.
Bài trước: Tiêu chí thay thế (Alternate Criteria) trong Access 2016