TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN ORACLE
ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN HÀNG
ĐIỆN THOẠI DI ĐỘNG
Giảng viên hướng dẫn: ThS. Võ Hoàng Khang
Sinh viên thực hiện: Lê Thị Thu Ngọc
Nguyễn Minh Sơn
TP. Hồ Chí Minh, tháng 8 năm 2017
1515061038
1515061059
LỜI CẢM ƠN
Em xin chân thành cảm ơn Thầy Võ Hồng Khang đã tận tình hướng dẫn, chỉ
bảo chúng em trong suốt quá trình thực hiện báo cáo đồ án môn học.
Chân thành cảm ơn Quý Thầy Cô Khoa Công Nghệ Thơng Tin, trường Đại Học
Cơng Nghệ TP Hồ Chí Minh, về những bài giảng trong suốt khóa học, về những kiến
thức nền tảng cũng như những kiến thức về chuyên ngành đã giúp cho chúng em hoàn
thành tốt đồ án.
Trong phạm vi khả năng cho phép, nhóm em đã rất cố gắng để hoàn thành đề tài
một cách tốt nhất. Song, chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính
mong nhận được sự cảm thơng và những ý kiến đóng góp của thầy và các bạn.
Chúng em xin chân thành cảm ơn!
Sinh viên thực hiện
Lê Thị Thu Ngọc
Nguyễn Minh Sơn
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
Mục lục
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
CHƯƠNG 1: TỔNG QUAN
1.1 Giới thiệu
Trong thời đại cơng nghiệp hóa, hiện đại hóa như hiện nay. Internet ngày càng trở
thành một phần khơng thể thiếu trong đời sống con người. Vì vậy đã có nhiều doanh
nghiệp, cơng ty đã sữ dụng thương mại diện tử để phát triển phạm vi kinh doanh, thu
hút thêm nhiều khách hàng ở mọi lứa tuổi, mọi tầng lớp trong xã hội.
Cùng với sự phát triển của khoa học và công nghệ, đặc biệt là sự bùng nổ của
Internet và sự không ngừng phát triển của nền kinh tế hiện nay thì mọi cơng việc kinh
doanh địi hỏi phải nhanh chóng và việc mở rộng phạm vi kinh doanh là nhu cầu thiết
yếu. Ngày nay, thông qua diện thoại, Internet khách hàng có thể ngồi tại nhà và lướt
qua những trang web để xem, đặt hàng là có thể được phục vụ đến tận nhà. Một
Website bán hàng giúp cho việc giao dịch giữa khách hàng và doanh nghiệp trở nên
tiện lợi hơn. Vì khách hàng tuy ở nhà nhưng vẫn thấy được các sản phẩm cũng như các
tính năng của sản phẩm mà khơng phải đến tận cửa hàng. Khách hàng cũng có thể đặt
mua hàng với mọi số lượng một cách thuận tiện với nhiều phương thức thanh toán
hiệu quả, với các dịch vụ tư vấn hay dịch vụ hậu mãi sau bán hàng rất thân thiện.
Ngồi ra Website bán hàng cịn hỗ trợ các loại cơng ty dù là lớn, vừa hay nhỏ có
thể tiết kiệm chi phí kinh doanh của cơng ty mình mà vẫn phát triển được kinh doanh
và thu hút nhiều khách hàng. Giúp cho công ty hiểu được khách hàng hơn và theo dõi
sát khách hàng hơn, điều này vừa tiện cho việc chăm sóc khách hàng, giảm lượng mất
mát khách hàng hiện có hay khách hàng tiềm năng trong tương lai. Cơng ty có thể dễ
dàng quảng bá hình ảnh, thống kê thị hiếu khách hàng... mà không tốn nhiều thời gian,
tiền bạc để mở các cuộc khảo sát đến từng người tiêu dùng.
Xuất phát từ những lý do trên nên em chọn đề tài “Xây dựng website bán hàng
điện thoại di động” làm đồ án môn học Oracle.
Trang 5
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
1.2 Bảng phân công nhiệm vụ
ST
T
Họ và tên
MSSV
1
Lê Thị Thu Ngọc
1515061038
2
Nguyễn Minh Sơn
Nhiệm vụ
Thiết kế giao diện, làm báo cáo, code
chức năng, viết câu lệnh SQL
Làm báo cáo, code chức năng, viết câu
1515061059
lệnh SQL
Trang 6
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG
2.1 Xác định các loại thực thể
2.1.1 Loại thực thể cơ bản
• PRODUCT (PRODUCT_ID, PRODUCT_NAME, PRODUCT_IMAGE,
PRODUCT_PRICE, PRODUCT_DESCRIPTION).
Diễn giải: Mỗi sản phẩm có một mã sản phẩm (PRODUCT_ID) duy nhất để
phân biệt với các sản phẩm khác. Mỗi sản phẩm còn được xác định bởi tên sản
phẩm (PRODUCT_NAME), giá bán (PRODUCT_PRICE), mô tả thông tin về sản
phẩm (PRODUCT_DESCRIPTION) và hình ảnh đại diện (PRODUCT_IMAGE).
Tên thuộc tính
Kiểu dữ liệu
Mơ tả
Ghi chú
PRODUCT_ID
Number
Mã sản phẩm
not null
PRODUCT_NAME
NVarchar2(50) Tên sản phẩm
not null
PRODUCT_PRICE
PRODUCT_DESCRIPTIO
N
PRODUCT_IMAGE
Number
Nclob
Varchar2(50)
Giá bán
not null, > 0
Mơ tả, thơng tin về
sản phẩm
Hình ảnh đại diện
not null
• CATEGORY (CATEGORY_ID, CATEGORY_NAME).
Diễn giải: Mỗi loại sản phẩm có một mã loại sản phẩm (CATEGORY_ID) duy
nhất để phân biệt với các loại sản phẩm khác. Mỗi loại sản phẩm còn được xác
định bởi tên loại sản phẩm (CATEGORY_NAME).
Tên thuộc tính
Kiểu dữ liệu
Mơ tả
Ghi chú
CATEGORY_ID
Number
Mã loại sản phẩm
not null
CATEGORY_NAME
NVarchar2(50)
Tên loại sản phẩm
not null
2.1.2 Loại thực thể đối tượng ngồi
• ADMIN (ADMIN_ID, PASSWORD, NAME ).
Diễn giải: Mỗi tài khoản quản trị có một tên truy cập (ADMIN_ID) duy nhất để
phân biệt với các tài khoản quản trị khác. Mỗi tài khoản quản trị còn được xác định
bởi mật khẩu (PASSWORD) và họ tên người quản trị(NAME).
Trang 7
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
Tên thuộc tính
Kiểu dữ liệu
Mô tả
Ghi chú
ADMIN_ID
Varchar2(20)
Tên truy cập
not null
PASSWORD
Varchar2(20)
Mật khẩu
not null
NAME
NVarchar2(50)
Họ tên người quản trị
not null
• USERS (USER_ID, USER_FULLNAME, USER_EMAIL, USER_PASS).
Diễn giải: Mỗi tài khoản có một mã tài khoản (USER_ID) duy nhất để phân
biệt với các tài khoản khác. Mỗi tài khoản còn được xác định bởi tên chủ tài khoản
(USER_FULLNAME), địa chỉ email (USER_EMAIL), mật khẩu (USER_PASS).
Tên thuộc tính
USER_ID
Kiểu dữ liệu
Number
Mô tả
Ghi chú
Mã tài khoản
not null
USER_FULLNAME NVarchar2(50)
Họ tên chủ tài khoản
not null
USER_EMAIL
Varchar2(30)
Địa chỉ email
not null
USER_PASS
Varchar2(30)
Mật khẩu
not null
2.1.3 Loại thực thể nghiệp vụ
• BILL (BILL_ID, TOTAL, PAYMENT, ADDRESS, DATES).
Diễn giải: Mỗi đơn đặt hàng có một mã đơn đặt hàng (BILL_ID) duy nhất để
phân biệt với các đơn đặt hàng khác. Mỗi đơn đặt hàng còn được xác định bởi tổng
trị giá của đơn hàng (TOTAL), hình thức thanh tốn (PAYMENT), địa chỉ khách
hàng muốn nhận hàng (ADDRESS) và ngày xuất hóa đơn (DATES).
Tên thuộc tính
Kiểu dữ liệu
Mơ tả
Ghi chú
BILL_ID
Number
Mã đơn đặt hàng
not null
TOTAL
Number
Tổng trị giá đơn hàng
not null
PAYMENT
NVarchar2(50)
Hình thức thanh toán
not null
ADDRESS
NVarchar2(50)
Địa chỉ khách hàng muốn nhận hàng
not null
DATES
DATE
Ngày xuất hóa đơn
not null
Trang 8
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
2.2 Mơ hình thực thể kết hợp (ERD)
PRODUCT
(1,1)
(1,n)
BILL_DETAIL
BILL
(1,1)
PRICE
QUANTITY
có
có
(1,n)
CATEGORY
(1,n)
(0,n)
ADMIN
2.3 Mơ hình ERD biểu diễn bằng Case Studio
Trang 9
USERS
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
2.4 Mơ hình quan hệ
• PRODUCT (PRODUCT_ID, PRODUCT_NAME, PRODUCT_IMAGE,
•
•
•
•
•
PRODUCT_PRICE, PRODUCT_DESCRIPTION, CATEGORY_ID).
CATEGORY (CATEGORY_ID, CATEGORY_NAME).
BILL (BILL_ID, USER_ID, TOTAL, PAYMENT, ADDRESS, DATE).
BILL_DETAIL (BILL_ID, PRODUCT_ID, PRICE, QUANTITY)
USERS (USER_ID, USER_FULLNAME, USER_EMAIL, USER_PASS)
ADMIN (ADMIN_ID, PASSWORD, NAME).
2.5 Xác định các ràng buộc toàn vẹn
2.5.1 RBTV trên 1 loại quan hệ
2.5.1.1 RBTV liên quan đến miền giá trị
• BILL (BILL_ID, USER_ID, TOTAL, PAYMENT, ADDRESS, DATE).
R1: TOTAL phải hớn hơn 0.
Nội dung: ∀ g ∈ BILL, g.TOTAL > 0.
Bảng tầm ảnh hưởng:
R1
BILL
Thêm
+
Xóa
-
Sửa
+(TOTAL)
• BILL_DETAIL (BILL_ID, PRODUCT_ID, PRICE, QUANTITY).
R2: PRICE và QUANTITY phải hớn hơn 0.
Nội dung: ∀ g ∈ BILL_DETAIL, g. PRICE > 0 và QUANTITY>0.
Bảng tầm ảnh hưởng:
R2
BILL_DETAIL
BILL_DETAIL
Thêm
+
+
• PRODUCT (PRODUCT_ID,
Xóa
-
Sửa
+(PRICE)
+(QUANTITY)
PRODUCT_NAME, PRODUCT_IMAGE,
PRODUCT_PRICE, PRODUCT_DESCRIPTION, CATEGORY_ID).
R3: PRODUCT_PRICE phải hớn hơn 0.
Nội dung: ∀ g ∈ PRODUCT, g.PRODUCT_PRICE > 0.
Bảng tầm ảnh hưởng:
R3
Thêm
Xóa
Sửa
PRODUCT
+
-
+( PRODUCT_PRICE)
Trang 10
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
2.5.1.2 RBTV liên bộ
• PRODUCT (PRODUCT_ID,
PRODUCT_NAME, PRODUCT_IMAGE,
PRODUCT_PRICE, PRODUCT_DESCRIPTION, CATEGORY_ID).
R4: PRODUCT_ID phải là duy nhất trong bảng PRODUCT
Nội dung: ∀ h1, h2 ∈ PRODUCT, h1. PRODUCT_ID #
h2.
PRODUCT_ID.
Bảng tầm ảnh hưởng:
R4
PRODUCT
Thêm
+
Xóa
-
Sửa
+( PRODUCT_ID)
• CATEGORY (CATEGORY_ID, CATEGORY_NAME).
R5: CATEGORY_ID phải là duy nhất trong bảng CATEGORY
Nội dung: ∀ h1, h2 ∈ CATEGORY, h1. CATEGORY_ID #
CATEGORY _ID.
Bảng tầm ảnh hưởng:
R5
CATEGORY
Thêm
+
Xóa
-
Sửa
+( CATEGORY _ID)
• BILL (BILL_ID, USER_ID, TOTAL, PAYMENT, ADDRESS, DATE).
R6: BILL_ID phải là duy nhất trong bảng BILL
Nội dung: ∀ h1, h2 ∈ BILL, h1. BILL_ID # h2. BILL_ID.
Bảng tầm ảnh hưởng:
R6
CATEGORY
Thêm
+
Xóa
-
Sửa
+( BILL_ID)
• USERS (USER_ID, USER_FULLNAME, USER_EMAIL, USER_PASS)
R7: USER_ID phải là duy nhất trong bảng USERS
Nội dung: ∀ h1, h2 ∈ USERS, h1. USER_ID # h2.USER_ID.
Bảng tầm ảnh hưởng:
R7
USERS
Thêm
+
Xóa
-
• ADMIN (ADMIN_ID, PASSWORD, NAME).
Trang 11
Sửa
+( USER_ID)
h2.
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
R8: ADMIN _ID phải là duy nhất trong bảng ADMIN
Nội dung: ∀ h1, h2 ∈ ADMIN, h1. ADMIN_ID # h2. ADMIN_ID.
Bảng tầm ảnh hưởng:
R8
ADMIN
Thêm
+
Xóa
-
Sửa
+( ADMIN_ID)
2.5.2 RBTV trên nhiều loại quan hệ
2.5.2.1 RBTV tham chiếu
• PRODUCT (PRODUCT_ID,
PRODUCT_NAME, PRODUCT_IMAGE,
PRODUCT_PRICE, PRODUCT_DESCRIPTION, CATEGORY_ID).
• CATEGORY (CATEGORY_ID, CATEGORY_NAME).
R9: CATEGORY_ID trong bảng PRODUCT phải thuộc CATEGORY_ID
trong bảng CATEGORY.
Nội dung: ∀h1 ∈ PRODUCT, h2 ∈ CATEGORY: h1. CATEGORY_ID= h2.
CATEGORY_ID.
Bảng tầm ảnh hưởng:
R9
Thêm
Xóa
Sửa
PRODUCT
+
-
+( CATEGORY_ID)
CATEGORY
-
+
+( CATEGORY_ID)
• BILL (BILL_ID, USER_ID, TOTAL, PAYMENT, ADDRESS, DATE).
• USERS (USER_ID, USER_FULLNAME, USER_EMAIL, USER_PASS)
R10: USER_ID trong bảng BILL phải thuộc USER_ID trong bảng USERS.
Nội dung: ∀h1 ∈ BILL, h2 ∈ USERS: h1. USER_ID= h2. USER _ID.
Bảng tầm ảnh hưởng:
R10
Thêm
Xóa
Sửa
BILL
+
-
+( USER_ID)
USERS
-
+
+( USER_ID)
Trang 12
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
Trang 13
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
CHƯƠNG 3: THIẾT KẾ
3.1 Tạo cơ sở dữ liệu
3.2 Tạo các bảng và các RBTV
Các bảng trong cơ sở dữ liệu:
Bảng PRODUCT:
Trang 14
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
Bảng CATEGORY:
Bảng BILL:
Trang 15
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
Bảng BILL_DETAIL:
Bảng USERS:
Trang 16
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
Bảng ADMIN:
Trang 17
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
3.3 Thực thi các chức năng cơ bản
3.3.1 View
• View lấy danh mục sản phẩm:
• View lấy danh sách các sản phẩm
• View lấy danh sách hóa đơn:
3.3.2 Procedure
• Procedure Xố Sản Phẩm:
• Procedure Thêm Sản Phẩm:
Trang 18
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
• Procedure update sản phẩm:
• Procedure lấy danh sách sản phẩm theo mã sản phẩm:
• Procedure lấy danh sách sản phẩm theo mã loại sản phẩm:
Trang 19
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
• Procedure chi tiết hóa đơn theo mã hóa đơn:
3.3.3 Các Function
• Function tìm kiếm theo tên sản phẩm:
Trang 20
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
CHƯƠNG 4: ỨNG DỤNG
4.1 Cơng nghệ sử dụng:
• JSP Servlet.
• Ajax.
• Phần mềm sử dụng NetBean.
4.2 Chức năng và giao diện của website:
4.2.1 Chức năng:
Chức năng của người dùng:
• Chức năng đăng ký: Dùng để tạo một tài khoản trên website nhằm trở
thành 1 thành viên của website và sử dụng tài khoản đó để mua hàng trên
•
•
•
•
web.
Chức năng đăng nhập: Dùng để đăng nhập khi mua hàng trên web.
Chức năng giỏ hàng: Dùng để lưu lại những món hàng muốn mua.
Chức năng thanh toán: Dùng thanh toán và chọn hinh thức thanh tốn.
Chức năng tìm kiếm: Dùng để tìm kiếm những sản phẩm mà mình muốn.
Chức năng của người quản trị:
• Chức năng quản lý sản phẩm: Dùng để người quản trị thêm sửa xóa thơng
tin của các sản phẩm.
• Chức năng quản lý khách hàng: Dùng để người quản trị thêm sửa xóa thơng
tin của các khách hàng.
• Chức năng quản lý hóa đơn: Dùng để người quản trị thêm sửa xóa thơng tin
của các hóa đơn.
Trang 21
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
4.2.2 Giao diện của website:
Trang chủ:
Trang Sản phẩm:
Trang 22
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
Trang sản phẩm chi tiết, bình luận:
Trang đăng ký khách hàng:
Trang 23
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
Trang đăng nhập khách hàng:
Chi tiết giỏ hàng:
Trang 24
Đồ án mơn Oracle
GVHD: ThS. Võ Hồng Khang
Trang thanh tóan checkout:
Trang tìm kiếm sản phẩm:
Trang 25