Header Ads

Tạo bảng quảng lý bán hàng

Tạo bảng quảng lý bán hàng với SQL

Tạo bảng quảng lý bán hàng với SQL

 

Bài tập quản lý bán hàng SQL có lời giải.



use master

CREATE DATABASE QLBH

GO

USE QLBH

/* Tạo bảng */

CREATE TABLE DMKhach

(

MaKhach char(4) PRIMARY KEY,

TenKhach nvarchar(100) NOT NULL,

DiaChi nvarchar(100) NOT NULL,

DienThoai nvarchar(20) DEFAULT 'Chưa có'

)

CREATE TABLE DMHang

(

MaHang char(4) PRIMARY KEY,

TenHang nvarchar(100) NOT NULL,

DVT nvarchar(10) DEFAULT ''

)

CREATE TABLE HoaDonBan

(

SoHD char(4) PRIMARY KEY,

MaKhach char(4) NOT NULL,

NgayHD DATE DEFAULT GETDATE(),

DienGiai nvarchar(100) NULL

)

CREATE TABLE ChiTietHoaDon

(

SoHD char(4) NOT NULL,

MaHang char(4) NOT NULL,

SoLuong int NOT NULL,

DonGia MONEY NOT NULL

CONSTRAINT KC_ChiTietHoaDon PRIMARY KEY (SoHD,MaHang)

)

/* Tạo liên kết bảng */

ALTER TABLE HoaDonBan

ADD CONSTRAINT KN_HoaDonBan FOREIGN KEY (MaKhach) REFERENCES DMKhach(MaKhach)

ALTER TABLE ChiTietHoaDon

ADD CONSTRAINT KN_ChiTietHoaDon_1 FOREIGN KEY (SoHD) REFERENCES HoaDonBan(SoHD),

CONSTRAINT KN_ChiTietHoaDon_2 FOREIGN KEY (MaHang) REFERENCES DMHang(MaHang)

/* Chèn dữ liệu vào các bảng */

INSERT INTO DMKhach

VALUES

('K01','Chu Xuân Linh','Quảng Ninh','0985483xxx'),

('K02','Ngô Doãn Tình','Hải Dương','0974768xxx'),

('K03','Phạm Xuân Tú','Thái Nguyên','01662183xxx'),

('K04','Trần Văn Cương','Hải Dương','01649647xxx'),

('K05','Dương Xuân Tùng','Bắc Giang','0919150xxx')

INSERT INTO DMHang

VALUES

('B01','Bút Bi','Chiếc'),

('B02','Bút Chì','Chiếc'),

('B03','Bút Mực','Chiếc')

INSERT INTO HoaDonBan

VALUES

('HD01','K01',convert(varchar, '07-03-2009', 101),''),

('HD02','K02',convert(varchar, '07-17-2009', 101),''),

('HD03','K05',convert(varchar, '08-08-2009', 101),''),

('HD04','K03',convert(varchar, '08-28-2009', 101),''),

('HD05','K01',convert(varchar, '09-17-2009', 101),''),

('HD06','K04',convert(varchar, '10-20-2009', 101),'')

INSERT INTO ChiTietHoaDon

VALUES

('HD01','B01',10,'5000'),

('HD02','B02',5,'7000'),

('HD03','B02',6,'7000'),

('HD04','B03',7,'1000'),

('HD05','B01',8,'5000'),

('HD06','B02',9,'7000')


No comments