1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chương trình quản lý bán hàng bằng java

24 10,5K 59
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương Trình Quản Lý Bán Hàng Bằng Java
Tác giả Phan Duy Cảnh, Trần Thanh Hĩa, Tiêu Văn Tiếng
Trường học Trường Đại Học Dân Lập Cửu Long
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án
Năm xuất bản 2007
Thành phố Cần Thơ
Định dạng
Số trang 24
Dung lượng 218 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương trình quản lý bán hàng bằng java

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP CỬU LONG KHOA CÔNG NGHỆ THÔNG TIN

_  _

ĐỀ TÀI:

Đồ án java

Sinh viên thực hiện: MSSV:

Tiêu Văn Tiếng 04.020.228

2007

Trang 2

SO DO PHAN RA CHUC NANG

HE THONG CHUONG TRINH QUAN LY BAN HANG

CAP NHAT

HANG HOA

CAP NHAT KHACH HANG

CAP NHAT HOA DON

VA CHI TIET HOA DON

CAP NHAT BAO HANH

VA CHI TIET BAO HANH XEM DANH MUCHANG HOA

Trang 3

A LƯỢC ĐỒ CSDL

1 Cơ sở dữ liệu :

Có nội dung sau :

2 Mô tả chi tiết

+ Bảng Khách Hàng:

KHACH HANG (MAKH , TENKH , DIACHI , DIENTHOAI , FAX , EMAIL)

Diễn giải :

MAKH :Mỗi lần mua hàng Khách hàng có 1 Mã khách hàng để phân biệt với các Khách hàng khác và những lần mua hàng khác

TENKH : Cho biết Họ và Tên cụ thể của Khách hàng mua hàng

DIACHI : Cho biết Địa chỉ của Khách hàng

DIENTHOAI : Cho biết Điện thoại của Khách hàng để tiện việc liên lạc

FAX : Cho biết số Fax của Khách hàng

EMAIL : Cho biết Email của Khách hàng để có thể giới thiệu hàng mới

Trang 4

+ Bảng Hàng hóa:

HANGHOA (MAH , TENH , GIA , SOLUONG , BAOHANH , HANGSX , KHUYENMAI)

Diễn giải :

MAH : Mỗi Hàng hoá có một Mã hàng hoá để phận biệt với các Hàng hóa khác

TENH : Cho biết Tên Hàng Hoá Tên hàng phải là duy nhất

GIA : Cho biết Giá bán của Hàng hóa Giá trị của GIA phải > = 0

SOLUONG : Cho biết số lượng hàng có (số lượng tồn ) để bán không Giá trị của

SOLUONG phải >= 0

BAOHANH : Cho biết hạng bảo hành của hàng Giá trị của BAOHANH thuộc

('3THG','6THG' ,'9THG','1NAM','2NAM','3NAM')

HANGSX : Cho biết hãng sản xuất tương ứng của mặt hàng này

KHUYENMAI : Cho biết được khuyến mãi của hàng hóa (nếu có) , có thể bằng tiền hay tặng phẩm

+ Bảng Hóa đơn:

HOADON (MAHD , MAKH)

+ Bảng Chi tiết Hóa đơn:

CTHOADON (MAHD , MAH , NGAYLAP, SOLUONG, THANHTIEN)

Diễn giải :

MAHD : Mỗi hóa đơn xuất cho Khách hàng điều có một Mã hóa đơn (dựa theo Mã hóa đơn đã có trong bảng Hóa đơn) Số lượng hàng được bán tuỳ thuộc vào mã hàng (MAH).NGAYLAP : Cho biết Ngày lập hoá đơn

SOLUONG : Cho biết số lượng hàng được bán

THANHTIEN : tính số tiền phải trả

THANHTIEN = GIA* SOLUONG, với GIA là giá trị lấy từ bảng HANGHOA thông qua MAH của hàng được bán

+ Bảng Bảo Hành:

BAOHANH (MABH , MAKH)

Diễn giải :

Trang 5

MABH : Mỗi phiếu bảo hành có 1 Mã bảo hành để phân biệt với các phiếu bảo hành khác.

MAKH : Cho biết khách hàng đi bảo hành hàng đã mua (MAKH tham chiếu đến bảng KHACHHANG)

+ Bảng Chi Tiết Bảo Hành:

CTBAOHANH (MABH , MAH , NGAYNHAN, NGAYTRA , CHIPHI , THONGTIN)

Diễn giải :

MABH : Mỗi Hàng hóa có 1 số bảo hành (MABH) Hàng được bảo hành dựa vào (MAH)MAH : Cho biết hàng được bảo hành

NGAYNHAN : Ngày nhận hàng để sửa chữa

NGAYTRA : Ngày trả hàng (giao hàng) lại cho Khách hàng khi sửa xong

CHIPHI : Cho biết Chi Phí tức số tiền phải trả nếu hàng hóa hư không do kỹ thuật

THONGTIN : Cho biết hàng hóa đã bảo hành đã sửa chửa những gì hay là thay mới

Trang 6

B SƠ ĐỒ QUAN HỆ

Trang 7

C RÀNG BUỘC TOÀN VẸN

1 YÊU CẦU RÀNG BUỘC:

RÀNG BUỘC TOÀN VẸN QUAN HỆ LOẠI

RBTV

1 Giá hàng phải là một số > 0 HANGHOA A

2 Số lượng hàng bảo hành phải >= 1 CTBAOHANH A

3 Số lượng hàng bán phải >= 1 CTHOADON A

6 Mỗi hàng hóa có một tên Hàng hóa riêng biệt HANGHOA B

7 Giá trị của BAOHANH phải thuộc (‘3THG','6THG',

10 THANHTIEN = GIA* SOLUONG (với GIA thuộc bảng

HANGHOA sao cho mã hàng của hàng hóa bằng mã hàng

của chi tiết hóa đơn)

CTHOADON,HANGHOA

F

11 NGAYLAP hóa đơn trong bảng CTHOADON không được

lớn hơn ngày hiện tại

12 NGAYTRA trên bảng CTBAOHANH phải nhỏ hơn ngày

Hiện tại và phải lớn hơn NGAYNHAN

13 Số lượng trong bảng Chi tiết Hoá đơn < = Số lượng trong

bảng Hàng hóa

CTHOADON,

14 SOLUONG trong bảng HANGHOA sẽ giảm đi một lượng

đúng bằng SOLUONG trong bảng CTHOADON khi thêm

mới một CTHOADON

HANGHOA,CTHOADON

F

15 Khi thêm vào một mẫu tin trên bảng BAOHANH thì mẫu

tin phải có MAKH đã tồn tại trong bảng KHACHHANG

BAOHANH,

16 Khi thêm vào một mẫu tin trên bảng CTBAOHANH thì

mẫu tin phải có MAH đã tồn tại trong bảng HANGHOA và

có MABH đã tồn tại trong bảng BAOHANH

CTBAOHANH,BAOHANH,HANGHOA

D

17 Khi thêm vào một mẫu tin trên bảng CTHOADON thì

mẫu tin phải có MAH đã tồn tại trong bảng HANGHOA và

có MAHD đã tồn tại trong bảng HOADON

CTHOADON,HOADON,HANGHOA

D

18 Khi thêm vào một mẫu tin trên bảng HOADON thì mẫu

tin phải có MAKH đã tồn tại trong bảng KHACHHANG

HOADON,

Trang 8

Ghi chú:

A: Ràng buộc miền giá trị

B: Ràng buộc liên bộ

C: Ràng buộc liên thuộc tính

D: Ràng buộc phụ thuộc tồn tại

E: Ràng buộc liên bộ _ liên quan hệ

F: Ràng buộc liên thuộc tính _ liên quan hệ

G: Ràng buộc thuộc tíng tổng hợp

H: Ràng buộc chu trình

2 BẢNG TẦM ẢNH HƯỞNG

3 CÀI ĐẶT RÀNG BUỘC TOÀN VẸN :

+Tạo bảng và ràng buộc khoá chính _ khóa ngoại:

if exists (select * from sysobjects where id = object_id(N'USERS') and OBJECTPROPERTY(id,N'IsUserTable') = 1)

drop table USERS

Trang 9

constraint PK_USERS primary key (USERNAMES)

Trang 10

MAKH char(5) not null,

TENKH varchar(20) null ,

DIACHI varchar(50) null ,

DIENTHOAI varchar(9) null ,

FAX varchar(9) null ,

EMAIL varchar(50) null ,

constraint PK_KHACHHANG primary key (MAKH)

)

go

/* ============================================================ *//* Table: HANGHOA */

/* ============================================================ */create table HANGHOA

(

MAH char(4) not null,

TENH varchar(20) null ,

GIA int null ,

SOLUONG int null ,

BAOHANH varchar(10) null ,

HANGSX varchar(30) null ,

KHUYENMAI varchar(50) null ,

constraint PK_HANGHOA primary key (MAH)

)

go

/* ============================================================ *//* Table: PHIEUXUAT */

/* ============================================================ */create table HOADON

(

MAHD int not null,

MAKH char(5) not null,

constraint PK_HOADON primary key (MAHD)

)

go

/* ============================================================ *//* Table: CTHOADON */

/* ============================================================ */create table CTHOADON

(

Trang 11

MAHD int not null,

MAH char(4) not null,

NGAYLAP datetime null,

SOLUONG int null,

constraint PK_CTHOADON primary key (MAHD, MAH)

)

go

/* ============================================================ *//* Table: BAOHANH */

/* ============================================================ */create table BAOHANH

(

MABH int not null,

MAKH char(5) not null,

constraint PK_BAOHANH primary key (MABH)

)

go

/* ============================================================ *//* Table: CTBAOHANH */

/* ============================================================ */create table CTBAOHANH

(

MABH int not null,

MAH char(4) not null,

SOLUONG int null,

NGAYNHAN datetime null,

NGAYTRA datetime null,

CHIPHI int null,

THONGTIN varchar(20) null,

constraint PK_CTBAOHANH primary key (MABH, MAH)

)

go

alter table HOADON

add constraint FK_HOADON_MAKH_KHACHHANG foreign key (MAKH)

references KHACHHANG (MAKH)

go

alter table BAOHANH

Trang 12

add constraint FK_BAOHANH_MAKH_KHACHHANG foreign key (MAKH)

references KHACHHANG (MAKH)

go

alter table CTHOADON

add constraint FK_CTHOADON_MAHD_HOADON foreign key (MAHD)

references HOADON (MAHD)

go

alter table CTHOADON

add constraint FK_CTHOADON_MAH_HANGHOA foreign key (MAH)

references HANGHOA (MAH)

go

alter table CTBAOHANH

add constraint FK_CTBAOHANH_MAH_HANGHOA foreign key (MAH)

references HANGHOA (MAH)

go

alter table CTBAOHANH

add constraint FK_CTBAOHANH_MABH_BAOHANH foreign key (MABH)

references BAOHANH (MABH)

exec sp_bindrule 'GIA','HANGHOA.GIA'

TAO RULE SOLUONG_CTBH DE KIEM TRA GIA TRONG BANG CTHOADON VAGIABAN TRONG BANG CTBAOHANH PHAI >= 1

CREATE RULE SOLUONG_CTBH AS

@SOLUONG_CTBH >= 1

go

Trang 13

exec sp_bindrule 'SOLUONG_CTBH','CTBAOHANH.SOLUONG'

TAO RULE SOLUONG DE KIEM TRA GIA TRONG BANG CTHOADON VA GIABANTRONG BANG CTBAOHANH PHAI >= 1

CREATE RULE SOLUONG_CTHD AS

@SOLUONG_CTHD >= 1

go

exec sp_bindrule 'SOLUONG_CTHD','CTHOADON.SOLUONG'

TAO RULE SOLUONGHANG DE KIEM TRA GIA TRONG BANG HANGHOA PHAI >= 0CREATE RULE SOLUONGHANG AS

@SOLUONGHANG >= 0

go

exec sp_bindrule 'SOLUONGHANG', 'HANGHOA.SOLUONG'

TAO RULE CHIPHI DE KIEM TRA GIA TRONG BANG CTBAOHANH PHAI >= 0

CREATE RULE CHIPHI AS

TEN HANG HOA LA DUY NHAT

ALTER TABLE HANGHOA ADD CONSTRAINT CK_TENHH UNIQUE (TENH)

KIEM TRA BAOHANH TRONG BANG HANGHOA CO PHAI LA '3THG', '6THG' , '9THG','1NAM', '2NAM', '3NAM'

ALTER TABLE HANGHOA ADD CONSTRAINT CK_BAOHANH CHECK(BAOHANH IN('3THG','6THG' ,'9THG','1NAM','2NAM','3NAM'))

DIENTHOAI LA CAC SO TRONG KHOANG [0-9]

ALTER TABLE KHACHHANG ADD CONSTRAINT CK_DIENTHOAI CHECK(DIENTHOAILIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' OR DIENTHOAI LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

FAX LA CAC SO TRONG KHOANG [0-9]

Trang 14

ALTER TABLE KHACHHANG ADD CONSTRAINT CK_FAX CHECK(FAX LIKE 9][0-9][0-9][0-9][0-9][0-9][0-9]' OR FAX LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

Tao Trigger de kiem tra THANHTIEN tren table CTHOADON phai bang SOLUONG * GIA

voi GIA la GIA cua MAH tren bang HANGHOA

-*/

Create TRIGGER KT_THANHTIEN on CTHOADON

for INSERT, UPDATE

as

BEGIN

DECLARE @MAH CHAR(4)DECLARE @MAHDINTDECLARE @GIA INTSELECT @MAH = INS.MAH, @MAHD = INS.MAHD FROM INSERTED INS,CTHOADON

WHERE INS.MAHD = CTHOADON.MAHD AND INS.MAH =CTHOADON.MAH

SELECT @GIA = HH.GIA FROM HANGHOA HH WHERE HH.MAH = @MAH

UPDATE CTHOADON SET THANHTIEN = CTHOADON.SOLUONG * @GIA

WHERE CTHOADON.MAH = @MAH AND CTHOADON.MAHD =

@MAHD

END

/* -

Tao Trigger de kiem tra NGAYLAP tren table CTHOADON khong duoc lon

hon ngay hien tai

-*/

Create TRIGGER KT_NGAYLAP on CTHOADON

for INSERT, UPDATE

as

BEGIN

DECLARE @MHD INTDECLARE @NL DATETIMESELECT @MHD = HD.MAHD FROM INSERTED HD, CTHOADON

WHERE HD.MAHD = CTHOADON.MAHD

Trang 15

SELECT @NL = HD.NGAYLAP FROM INSERTED HD, CTHOADON

END

/* -

Tao Trigger de kiem tra NGAYTRA tren table CTBAOHANH khong duoc lon

lon ngay hien tai va phai lon hon NGAYNHAN

-*/

Create TRIGGER KT_NGAYTRA on CTBAOHANH

for INSERT, UPDATE

as

BEGIN

DECLARE @MBH INT

SELECT @MBH = CTBH.MABH FROM INSERTED CTBH, CTBAOHANH

WHERE CTBH.MABH = CTBAOHANH.MABHSELECT @NT = CTBH.NGAYTRA FROM INSERTED CTBH, CTBAOHANH

WHERE CTBH.MABH = @MBHSELECT @NN = CTBH.NGAYNHAN FROM INSERTED CTBH, CTBAOHANH

Trang 16

/* -

Tao Trigger de kiem tra SOLUONG tren table CTHOADON khong duoc lon

hon SOLUONG hien co trong table HANGHOA

-*/

Create TRIGGER KT_SOLUONG on CTHOADON

for INSERT, UPDATE

as

BEGIN

SELECT @MHD = CTHD.MAHD, @MH = CTHD.MAH FROM INSERTEDCTHD, CTHOADON

WHERE CTHD.MAHD = CTHOADON.MAHDSELECT @SLHD = CTHD.SOLUONG FROM INSERTED CTHD, CTHOADON

WHERE CTHD.MAHD = @MHD

SELECT @MH = CTHD.MAH FROM INSERTED CTHD, CTHOADON

WHERE CTHD.MAH = CTHOADON.MAHSELECT @SLHH = HANGHOA.SOLUONG FROM HANGHOA

END

/* -

Tao Trigger KT_SOLUONG_CONLAI de kiem tra khi them vao mot mau tin tren table

CTHOADON co SOLUONG la x thi SOLUONG trong bang HANGHOA cung se giam di mot soluong x tuong ung

Trang 17

DECLARE @SLHD INT SOLUONG CUA CTHOADON

SELECT @MHD = CTHD.MAHD, @MH = CTHD.MAH FROM INSERTEDCTHD, CTHOADON

WHERE CTHD.MAHD = CTHOADON.MAHDSELECT @SLHD = CTHD.SOLUONG FROM INSERTED CTHD, CTHOADON

WHERE CTHD.MAHD = @MHD

SELECT @MH = CTHD.MAH FROM INSERTED CTHD, CTHOADON

WHERE CTHD.MAH = CTHOADON.MAH

UPDATE HANGHOA SET HANGHOA.SOLUONG = (HANGHOA.SOLUONG

-@SLHD)

WHERE HANGHOA.MAH = @MHEND

/* -

Tao Trigger KT_BAOHANH de kiem tra khi them vao mot mau tin tren table

BAOHANH nhung mau tin nay chua MAHK khong co trong table KHACHHANG

/* Khong co MAKH tuong ung tren bang "KHACHHANG" khi them mau

tin vao bang "BAOHANH" */

Trang 18

Tao Trigger KT_CTBAOHANH de kiem tra khi them vao mot mau tin tren table

CTBAOHANH nhung mau tin nay chua MAH khong co trong table HANGHOA va chuaMABH khong co trong bang BAOHANH

/* Khong co MAKH tuong ung tren bang "KHACHHANG" khi them mau

tin vao bang "BAOHANH" */

IF UPDATE(MAH)

BEGIN

IF (SELECT count(*)

FROM HANGHOA t1, INSERTED t2

WHERE t1.MAH = t2.MAH) != @numrows

Trang 19

/* Khong co MAKH tuong ung tren bang "KHACHHANG" khi them mau

tin vao bang "BAOHANH" */

IF UPDATE(MABH)

BEGIN

IF (SELECT count(*)

FROM BAOHANH t1, INSERTED t2

WHERE t1.MABH = t2.MABH) != @numrows

Tao Trigger KT_CTHOADON de kiem tra khi them vao mot mau tin tren table

CTHOADON nhung mau tin nay chua MAHD khong co trong table HOADON va chuaMAH khong co trong bang HANGHOA

@numnull INT,

Trang 20

/* Khong co MAHD tuong ung tren bang "HOADON" khi them mau

tin vao bang "CTHOADON" */

IF UPDATE(MAHD)

BEGIN

IF (SELECT count(*)

FROM HOADON t1, INSERTED t2

WHERE t1.MAHD = t2.MAHD) != @numrows

/* Khong co MAH tuong ung tren bang "HANGHOA" khi them mau

tin vao bang "CTHOADON" */

IF UPDATE(MAH)

BEGIN

IF (SELECT count(*)

FROM HANGHOA t1, INSERTED t2

WHERE t1.MAH = t2.MAH) != @numrows

Trang 21

/* -

Tao Trigger KT_HOADON de kiem tra khi them vao mot mau tin tren table

HOADON nhung mau tin nay chua MAHK khong co trong table KHACHHANG -*/

Create trigger KT_HOADON on HOADON

/* Khong co MAKH tuong ung tren bang "KHACHHANG" khi them mau

tin vao bang "HOADON" */

IF UPDATE(MAKH)

BEGIN

IF (SELECT count(*)

FROM KHACHHANG t1, INSERTED t2

WHERE t1.MAKH = t2.MAKH) != @numrows

Trang 22

-DIENTHOAI KHONG PHAI LA SO

INSERT INTO KHACHHANG VALUES ('KH004', 'FIGO', '1E REAL', 'D151258', '8151258','figo@Yahoo.com')

FAX KHONG PHAI LA SO

INSERT INTO KHACHHANG VALUES ('KH005', 'FIGO', '1E REAL', '8151258', 'D151258','figo@Yahoo.com')

DIENTHOAI KHONG PHAI LA 7 HOAC 9 SO

INSERT INTO KHACHHANG VALUES ('KH006', 'ZINEDINE ZIDAN', '3 PARIS', '81525','8152584', 'zidan@Yahoo.com')

FAX KHONG PHAI LA 7 HOAC 9 SO

INSERT INTO KHACHHANG VALUES ('KH007', 'ZINEDINE ZIDAN', '3 PARIS', '8152584','52584', 'zidan@Yahoo.com')

-INSERT INTO HOADON VALUES (1, 'KH001')

Trang 23

INSERT INTO HOADON VALUES (2, 'KH001')

INSERT INTO HOADON VALUES (3, 'KH001')

INSERT INTO HOADON VALUES (4, 'KH001')

INSERT INTO HOADON VALUES (5, 'KH003')

-INSERT INTO CTHOADON VALUES (1, 'H001', '4/4/2003', 2, null)

INSERT INTO CTHOADON VALUES (2, 'H002', '4/4/2003', 3, null)

INSERT INTO CTHOADON VALUES (3, 'H003', '4/4/2003', 1, null)

-NGAY LAP CTHOADON LON HON NGAY HIEN HANH

INSERT INTO CTHOADON VALUES (4, 'H001', '8/4/2003', 2, null)

SOLUONG AM

INSERT INTO CTHOADON VALUES (5, 'H001', '1/4/2003', -2, null)

SOLUONG LON HON SOLUONG HIEN CO TRONG BANG HANHHOA

INSERT INTO CTHOADON VALUES (5, 'H001', '1/4/2003', 122, null)

-INSERT INTO BAOHANH VALUES (1,'KH001')

INSERT INTO BAOHANH VALUES (2,'KH001')

INSERT INTO BAOHANH VALUES (3,'KH001')

INSERT INTO BAOHANH VALUES (4,'KH001')

INSERT INTO BAOHANH VALUES (5,'KH001')

INSERT INTO BAOHANH VALUES (9,'KH001')

INSERT INTO BAOHANH VALUES (6,'KH001')

Ngày đăng: 24/04/2013, 16:20

HÌNH ẢNH LIÊN QUAN

Bảng Hàng hóa - Chương trình quản lý bán hàng bằng java
ng Hàng hóa (Trang 7)

TỪ KHÓA LIÊN QUAN

w