Normalization · DSC Shop

Chuẩn hóa bảng đơn hàng 1NF về 3NF

Chuẩn hóa don_hang_1nf thành bốn bảng 3NF Bảng don_hang_1nf khóa (order_id, sku) có cột phụ thuộc vào một phần khóa và phụ thuộc bắc cầu qua customer_id; sau chuẩn hóa thành khach_hang một-nhiều don_hang một-nhiều dong_hang, và san_pham một-nhiều dong_hang. 1 N 1 N N 1 CHUẨN HÓA 1NF · KHÓA (order_id, sku) 3NF · MỖI SỰ THẬT LƯU MỘT LẦN BẢNG don_hang_1nf #order_id khóa #sku khóa order_date order_id customer_id order_id customer_name customer_id customer_city customer_id product_name sku quantity order_id, sku unit_price order_id, sku BẢNG khach_hang #customer_id customer_name customer_city BẢNG don_hang #order_id order_date →customer_id BẢNG dong_hang #→order_id #→sku quantity unit_price BẢNG san_pham #sku product_name Tên khách đi theo customer_id, tên sản phẩm đi theo sku, nên bị lặp ở mọi dòng hàng của bảng 1NF. Sau khi tách: tên khách lưu 1 lần thay vì 7; unit_price vẫn ở dong_hang vì là giá lúc mua. CHÚ GIẢI # khóa chính → khóa ngoại 1 … N một dòng bên 1 ứng với nhiều dòng bên N chữ xám bên phải: cột quyết định nó © tiennhm