Tải bản đầy đủ (.doc) (14 trang)

Hệ Thống quản lý thanh tóan đơn đặt hàng ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (305.11 KB, 14 trang )

1
Project mẫu
Hệ Thống quản lý thanh tóan đơn đặt hàng
Order Payment Managing System
Tình trạng hiện tại của hệ thống
FriendHood là một công ty chuyên đảm nhiệm việc xử lý đơn đặt hàng và quản lý việc
thanh tóan của khách hàng cho một nhà máy sản xuất các vật dụng bằng da rất nổi tiếng
Hiện tại, FriendHood vẫn còn quản lý công việc của họ rất thủ công. Họ sử dụng những
file riêng lẻ để lưu các chi tiết về khách hàng và đơn đặt hàng. Quy trình họat động của
họ như sau: dữ liệu của đơn đặt hàng được điền vào mẫu Order Processing (hình 1) và
được dùng để phân tích. Sau đó họ sẽ chuyển các dũ liệu liên quan đến đơn đặt hàng và
việc chuyển hàng cho khách từ mẫu trên vào file Orders, còn dữ liệu liên quan đến sản
phẩm thì họ lưu vào file Products.
Đơn đặt hàng có thể được thanh tóan bằng tiền mặt (cash) hay thẻ tín dụng (credit
card). Khi một khách hàng (Customer) thanh tóan, thì file Payments được cập nhật với
các dữ liệu sau: mã thanh tóan (payment code), mã đơn đặt hàng (order code), số tiền
2
đã trả (payment amount), ngày trả, kiểu trả và số thẻ tín dụng, tên người giữ thẻ, ngày
hết hạn nếu khách hàng trả tiền qua thẻ tín dụng
FriendHood quyết định phải máy tính hóa việc quản lý dữ liệu và xử lý đơn đặt hàng của
họ, để tăng tốc việc đáp ứng yêu cầu khách hàng. FriendHood cũng muốn theo dõi cả
việc nhân viên nào của họ đã xử lý các đơn đặt hàng của khách
Yêu cầu thực hiện:
1. Xây dựng mô hình liên kết thực thể và mô hình quan hệ của CSDL
2. Tạo CSDL với các ràng buộc, rule và các giá trị mặc định thích hợp trong mỗi bảng
3. Tạo các thủ tục và trigger cần thiết
4. Viết 1 số lệnh truy vấn để test các đối tượng có đáp ứng yêu cầu không
Viết script chứa các lệnh thực hiện cho mỗi câu trên
Tiến độ thực hiện:
Tìm hiểu hệ thống Tuần 5
Xây dựng mô hình quan hệ thực


thể và mô hình quan hệ
Tuần 6,7
Tạo CSDL với các ràng buộc, rule,
giá trị mặc định
Tuần 8,9
Tạo trigger, thủ tục cần thiết Tuần 10,11
Viết các lệnh truy vấn để kiểm tra
tính hợp lệ của các đố tương
Tuần 12,13
Viết báo cáo và hòan chỉnh các
script
Tuần 14,15
3
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỀ TÀI
HỆ THỐNG QUẢN LÝ THANH TÓAN
ĐƠN ĐẶT HÀNG
Môn học : Hệ Cơ sở dữ liệu
GV hướng dẫn:
Nhóm: 3 - Lớp:
Thành viên của nhóm:
1.
2.
3.
4.
Năm học 2010 - 2011
4
Phần I: Thiết kế Cơ sở dữ liệu
1. Tóm tắt hệ thống:

FriendHood là một công ty chuyên đảm nhiệm việc xử lý đơn đặt hàng và quản lý việc
thanh tóan cho một nhà máy sản xuất các vật dụng đồ da hàng đầu thế giới.
Công ty hiện vẫn quản lý mọi việc hòan tòan thủ công từ khâu nhận đơn đặt hàng, xử lý
và phân lọai các mặt hàng đã đặt, sau đó theo dõi vịêc thanh tóan của khách, có thể
bằng tiền mặt họăc qua thẻ tín dụng
……
2. Nguyên tắc nghiệp vụ:
Đưa ra các nguyên tắc nghiệp vụ từ việc tìm hiểu phân tích hệ thống
3. Mô hình liên kết thực thể
a. Các kiểu thực thể
CÁC THỰC THỂ (ENTITIES)
……
b. Các thuộc tính:
- Thuộc tính mỗi thực thể, kể cả thuộc tính phức hợp, đa trị,…
- Thuộc tính khóa mỗi thực thể
5
THUỘC TÍNH CỦA CÁC THỰC THỂ (ATTRIBUTES)
6
c. Mô hình thực thể kết hợp:

4. Mô hình quan hệ:
- Chuyển từ mô hình ER thành mô hình quan hệ
- Xác định các khóa, các loại ràng buộc
- Xác định các phụ thuộc hàm
- Chuẩn hóa dữ liệu, chuyển tất cả các bảng sang dạng chuẩn 3NF
7
CÁC BẢNG (TABLES)
8
CHUẨN HÓA BẢNG
1. Các bảng đã đạt dạng chuẩn 1NF và 2NF

Đưa ra các phụ thuộc hàm của các bảng để chứng minh bảng đã ở chuẩn 2NF
2. Trong bảng Orders, khóa chính là Order-Code. Thuộc tính không khóa Ship-
Method ngòai việc phụ thuộc vào khóa chính thì nó còn phụ thuộc cả vào thuộc
tính Ship-Method-ID .
Order-Code > Cust-Code, Emp-Code, Order-Dt, , Ship-Method-ID,
Ship-Method
Ship-Method-ID > Ship-Method
Do đó, để bảng Orders đạt 3NF chúng ta cần tạo thêm bảng mới Shipment Methods .
3. Tương tự, trong bảng Payments , thuộc tính Payment-Mode phụ thuộc vào
Payment-Mode-ID ngòai việc phụ thuộc vào khóa chính Payment-Code. Bởi
vậy chúng ta cần tạo thêm bảng mới Payment Modes.
4. Ngòai ra, thuộc tính Cardholders-Name và CreditCardExpiry-Dt phụ thuộc vào
CreditCard-No ngòai việc phụ thuộc vào khóa chính Payment-Code . Bởi vậy,
chúng ta cần tạo thêm table Credit Cards .
Mô hình sau khi chuẩn hóa sẽ gồm các bảng đạt 3NF như sau :
9

KHÓA CHÍNH VÀ CÁC KHÓA NGỌAI:
10
11
MỐI LIÊN HỆ GIỮA CÁC TABLE
Phần 2: Thực thi cơ sở dữ liệu
1. Tạo cơ sở dữ liệu và các bảng:
- Cơ sở dữ liệu FriendHood được tạo trong SQL server với 2 tập tin cơ bản là:
FriendHood.mdf và FriendHood.ldf ( xem script CreateFriendHoodDatabase.sql)
12
- Dựa vào yêu cầu hệ thống, các bảng của CSDL này đã được xây dựng như sau:
Bảng Customers
a. Trường Cust_Id là khóa chính và được tạo tự động
b. Các trường FirstName, LastName, Address, City, State, và Phone không nên để

trống
c. Trường Phone nên có dạng sau 0000-000-000.
Bảng Employees
a. Trường Emp_Id là khóa chính và được tạo tự động
b. Trường Phone nên theo dạng 0000-000-000.
c. Trường Title (chức vụ) nên là 1 trong các chức vụ sau: ‘Executive’, ’Senior
Executive’, ‘Manager’, ’Chairman’.
d. Các trường FirstName và LastName không nên đề trống
Bảng Products
a. Trường Product_Id là khóa chính và nên có định dạng sau: ‘P[0-9][0-9][0-9]’
b. Trường Unit Price phải lớn hơn 0
c. Các trường còn lại không nên để trống
Bảng PaymentMethods
a. Trường PaymentMethod_Id là khóa chính và nên có dạng sau ‘PM[0-9][0-9][0-9]’
b. Trường description không nên để trống
Bảng ShipmentMethods
a. Trường ShipmentMethod_Id là khóa chính và nên có dạng sau :‘SH[0-9][0-9][0-9]’
b. Trường description không nên để trống
Bảng Orders
a. Trường Order_Id là khóa chính và nên có dạng sau ‘O[0-9][0-9][0-9]’
b. Các trường shipment name, shipment address, shipment city, shipment state,
shipment phone, shipment country, shipment date, freight charge, và tax không nên để
trống
c. Trường phone nên có dạng ‘[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]’
d. Trường Order date nên có giá trị mặc định lả ngày hiện hành
e. Các trường Freight charge (cước phí), Tax (thuế) phải lớn hơn 0
f. Trường Shipment Date không thể sớm hơn trưởng order date.
Bảng OrderDetails
13
a. Trường OrderDetail_Id là khóa chính và được tạo tự động

b. Trường quantity (số lượng) và discount (chiết suất) không được để trống
c. Trường Total cost được tính tự động
d. Trường Quantity phải lớn hơn 0
e. Bảng Orderdetails có khóa ngoại là Order_Id vàa tuân theo quy luật bảo tòan tham
chiếu
Bảng Payments
a. Trường Payment_Id là khóa chính và được tạo tự động
b. Trường payment amount phải lớn hơn 0 và bằng tổng của trường total costs của
cùng 1 đơn đặt hàng trong bảng OrderDetails table. Nếu không bằng nhau, thi
giao dịch này sẽ bị từ chối và sẽ hiển thị báo lỗi cho người dùng
c. Trường shipment date phải chậm hơn payment date ( ngày thanh tóan), mặc định
là 2 ngày
d. Trường payment date phải sau order date (ngày đặt hàng).
e. Trường Credit card number (số thẻ tín dụng) nên có định dạng sau ‘[0-9][0-9][0-9]-
[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]’.
f. Các trường payment amount và payment date không nên để trống
g. Nếu trường payment method là ‘Credit Card’ thì phải bảo đảm được là trường
credit card details không được để trống
h. Ngày Expiry date (ngày hết hạn) của thẻ tín dụng phải sau ngày hiện hành
Bổ sung các constraint, rule và default (nếu có). Lý do tạo ra
2. Quy tắc nghiệp vụ và các trigger:
3. Xây dựng các truy vấn:
4. Xây dựng các trigger:
Để thể hiện quy tắc nghiệp vụ thứ … của công ty, ta cần xây dựng trigger như sau:
……
Script để xây dựng các bảng được ghi lại trong các tập tin sau:
 CreateFriendHoodObjects.sql: chứa các lệnh tạo bảng. Nó cũng chứa lệnh
insert để thêm 1 vài bản ghi mẫu vào các bảng
 CreateFriendHoodConstraints.sql: chứa các constraint, rule và defauft của 1 số
bảng.

 CreateFriendHoodProcedures.sql: chứa một vài thủ tục và trigger của CSDL
 CreateFriendHoodIndexes.sql: chứa các lệnh tạo chỉ mục để tăng tốc thực thi
cho 1 số lệnh truy vấn hay dùng
14
 ErrorDetectionForProceduresandTriggers.sql: chứa các lệnh dùng để kiểm tra
tính hợp lệ của các đối tượng trong CSDL

×