1. Trang chủ
  2. » Thể loại khác

second normal form trong sql

2 111 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Second Normal Form (2NF) trong SQL

Nội dung

http://vietjack.com/sql/index.jsp Copyright © vietjack.com Second Normal Form (2NF) SQL Second Normal Form (2NF) nói nên theo tất qui tắc 1NF phải khơng có phụ thuộc cục cột vào Primary Key Giả sử có mối quan hệ khách hàng-đơn đặt hàng, bạn muốn lưu ID khách hàng, tên khách hàng, ID đơn đặt hàng chi tiết mua hàng ngày mua: CREATE TABLE KHACHHANG( KH_ID INT NOT NULL, KT_TEN VARCHAR (20) NOT NULL, DD_ID NOT NULL, INT DD_CHI_TIET VARCHAR (20) NGAY_BAN NOT NULL, DATETIME, PRIMARY KEY (KH_ID, DD_ID) ); Bảng tuân theo qui tắc 1NF Trong bảng này, Primary Key gồm KH_ID DD_ID Giả sử, chúng khách hàng order thứ hàng Tuy nhiên, bảng không tuân theo Second Normal Form (2NF) có phụ thuộc cục Primary Key cột KH_TEN phụ thuộc vào KH_ID khơng có liên kết thực TEN khách hàng mua Chi tiết đặt hàng DD_CHITIET ngày mua phụ thuộc vào DD_ID, chúng khơng phụ thuộc vào KH_ID, khơng có liên kết KH_ID DD_ID NGAY_BAN họ Để làm cho bảng tuân theo Second Normal Form (2NF), bạn cần chia cột thành bảng: Đầu tiên, tạo bảng để lưu chi tiết khác hàng sau: CREATE TABLE KHACHHANG( KH_ID INT KT_TEN VARCHAR (20) NOT NULL, NOT NULL, PRIMARY KEY (KH_ID) ); Sau đó, tạo bảng để lưu chi tiết đơn đặt hàng: http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com CREATE TABLE DONDATHANG( DD_ID INT DD_CHI_TIET VARCHAR (20) NOT NULL, NOT NULL, PRIMARY KEY (KH_ID) ); Cuối cùng, tạo bảng thứ ba để lưu giữ KH_ID DD_ID để theo dõi tất đơn đặt hàng khách: CREATE TABLE CHITIET( KH_ID DD_ID INT INT NGAY_BAN NOT NULL, NOT NULL, DATETIME, PRIMARY KEY (KH_ID, DD_ID) ); http://vietjack.com/ Trang chia sẻ học online miễn phí Page ...http://vietjack.com /sql/ index.jsp Copyright © vietjack.com CREATE TABLE DONDATHANG( DD_ID INT DD_CHI_TIET VARCHAR (20)

Ngày đăng: 02/12/2017, 12:05

TỪ KHÓA LIÊN QUAN