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

Xây dựng hệ thống quản lý cửa hàng bán linh kiện điện tử

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 (1.66 MB, 39 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
oOo
BÁO CÁO BÀI TẬP LỚN MÔN
KỸ THUẬT PHẦN MỀM

Đề tài:
Hệ thống quản lý
Cửa hàng bán linh kiện điện tử
Thầy giáo hướng dẫn: ThS. Nguyễn Thanh Bình

Hà Nội 4-2012
1
Mục lục
1.Giới thiệu về đề tài Tổng quan đề tài: 2
Mục êu của đề tài 3
2.Khảo sát và thu thập các yêu cầu 4
Thực trạng của hệ thống hiện tại 4
Xác định phạm vi của đề tài 4
Những người sử dụng chính của hệ thống 4
Các kịch bản sử dụng (use cases) 5
UC1:Quản lý thông n Nhà cung cấp (NCC) 5
UC2:Cập nhật thông n về mặt hàng 5
UC3: Cập nhật thông n về nhân viên 6
UC4: Cập nhật thông n về khách hàng 7
UC6: Cập nhật thông n về hàng xuất 8
UC7: Xem các báo cáo thống kê 8
3.Phân Jch hệ thống 9
Một số vấn đề hiện nay 9
Giải pháp 9
Phân Jch và mô hình hóa chức năng của hệ thống 10


Biểu đồ phân cấp chức năng tổng quát : 10
Mô hình quan hệ để cài đặt 28
7.Thiết kế cấu trúc chương trình 29
1. Giới thiệu về đề tài
Tổng quan đề tài:
Cửa hàng bán linh kiện điện tử ở Hàn Thuyên là một địa điểm bán linh kiện mà hầu
hết nhưng người đang nghiên cứu và học về điện tử đều biết. Ngày càng có rất nhiều
khách vào mua hàng và có rất nhiều loại linh kiện điện tử mới được nhập về. Nên
trước kia có 2 nhân viên thì hiện giờ có tới 3 nhân viên làm. Tuy nhiên, cách thức mua
bán vẫn như cũ. Nhân viên phải tự viết tay hóa đơn cho khách mua hàng và phải tự
2
nhớ giá hàng, tên hàng, vị trí để hàng, và phải tự tính tổng tiền bằng tay.Còn chủ cửa
hàng thì vẫn phải trực tiếp thanh toán tiền khách trả.
Chính vì các nghiệp vụ bán hàng vẫn phải làm thủ công nên nhiều khi đã xảy ra các
vấn đề như : chậm chạp, chồng chéo và sai xót…Điều này đã ảnh hưởng không tốt đến
năng xuất làm việc của cửa hàng. Chính vì vậy, phương thức quản lý mua bán cần
được thay đổi cho phù hợp với thực trạng hiện tai là một điều quan trọng đối với cửa
hàng.
Do kinh nghiệm hạn chế nên trong quá trình thực hiện đề tài còn nhiều thiếu xót.
Chúng em mong được thầy xem xét và giúp đỡ thêm để nhóm em có thể hoàn thành
được đề tài này một cách tốt nhất
Chúng em xin chân thành cảm ơn thầy!
Mục tiêu của đề tài
Với các mặt hạn chế của hệ thống quản lý cũ của cửa hàng nên mục tiêu của nhóm
em là xây dựng một hệ thống phần mềm trợ giúp hầu hết các công đoạn và nghiệp vụ
quản lý.
Đề tài “Xây dựng hệ thống quản lý cửa hàn bán linh kiện điện tử ” nhằm đạt
được các mục tiêu cụ thể như sau:
o Không chồng chéo: hệ thống mới cần rà soát và điều chỉnh lại chu trình
nghiệp vụ cũ của cửa hàng , sao cho loại bỏ hoàn toàn việc chồng chéo

như đã xảy ra trước đây.
o Chính xác: việc nhập, tính toán các giá bán và mua cần được tự động
hóa một cách tối đa tránh các sai sót làm mất thời gian kiểm tra và có thể
gây ra các thiệt hại cho cửa hang.
o Xử lý nhanh chóng: Việc ghi phiếu và tính toán tổng tiền phải được làm
một cách nhanh chóng và chính xác.
o Tìm kiếm dễ dàng: Việc tra cứu, tìm kiếm các thông tin liên quan đến
hang hóa, nhà cung cấp, nhân viên, khách hàng và các giao dịch mua bán
cần phải được thực hiện một cách dễ dàng.
o Ổn định và chiếm ít tài nguyên máy : Hệ thống cần có sự ổn định để
tránh sai xót về dữ liệu để tránh làm tổn hại cho cửa hàng. Đồng thời
cũng chiếm ít tài nguyên máy để hệ thống chạy được nhanh và chạy
được trên các máy có cấu hình thấp.
3
2. Khảo sát và thu thập các yêu cầu
Thực trạng của hệ thống hiện tại
Quá trình giao dịch của cửa hàng bán linh kiện điện tử hiện nay gồm các bước như
sau:
Bước 1:Khi cần một mặt hàng, chủ cửa hàng sẽ tìm trong danh sách thông tin liên lạc
của các nhà cung cấp xem nhà cung cấp nào bán loại hàng tương ứng để nhập hàng về.
Bước 2: Khi hàng được gởi tới thì chủ cửa hàng hoặc nhân viên sẽ kiểm tra mặt hàng
xem có đủ, thừa, thiếu hay hỏng không rồi thanh toán cho người giao hàng. Sau đó,
chủ cửa hàng hoặc nhân viên sẽ ghi lại vào sổ các thông tin liên quan đến đợt nhập
hàng như tên hàng, số lượng mặt hàng, giá nhập, tổng hóa đơn và cập nhật số lượng
mới trong kho và giá bán mới (nếu có thay đổi) vào sổ.
Bước 3: Khi khách đến mua thì nhân viên có nhiệm vụ là ghi ra hóa đơn bán hàng các
mặt hàng mà khách muốn mua và phải tìm giá bán trong sổ. Cuối cùng là nhân viên
phải tự tính tổng tiền mà khách phải trả. Sau đó, khác hàng mang hóa đơn và hàng tới
chủ để kiểm tra xem nhân viên có lấy đúng hàng và đủ số lượng hàng cho khách hay
không và thanh toán trực tiếp với khách. Cuối ngày, chủ cửa hàng sẽ nhập vào máy

các mặt và tổng số tiền hàng bán được trong ngày hôm đó.
Nếu là khách hàng lớn thì sẽ có Mã khách hàng riêng cho từng khách hàng. Những
khách hàng này có thể mua hàng qua điện thoại rồi cửa hàng sẽ cho người đem hàng
và hóa đơn đến tận nơi và khách hàng sẽ thanh toán với nhân viên giao hàng.
Bước 4: Nếu khách đến trả lại hàng vì hỏng trong thời hạn bảo hành hay vì lý do nào
đó thì nhân viên chỉ kiểm tra hóa đơn mua hàng của khách đem đến xem có phải là của
cửa hàng hay không. Nếu hàng hỏng thì sẽ đổi lại hàng khác cho khách hàng và chủ
cửa hàng cũng phải tra xem hàng này do nhà cung cấp nào đem đến để đổi lại.
Bước 5: Đến cuối cuối tháng, chủ cửa hàng sẽ thống kê lại toàn bộ phiếu nhập và tổng
số tiền bán hàng để tính doanh thu để tính lãi và xem mặt hàng nào bán chạy, loại hàng
nào tồn để tiếp tục nhập hàng mới.
Xác định phạm vi của đề tài
Từ thực trạng các công việc của cửa hàng hiện tại, ta thấy cửa hàng có vấn đề
về phương thức nhập xuất hàng. Chính vì lý do này mà trong khuôn khổ đề tài này
chúng em sẽ tập trung chủ yếu vào việc quản lý bán hàng và nhập hàng.
Những người sử dụng chính của hệ thống
 Nhân viên: có thể thực hiện các việc:
• Quản lý thông tin nhà cung cấp.
• Quản lý thông tin mặt hàng.
4
• Quản lý thông tin khách hàng.
• Quản lý nhập hàng.
• Quản lý bán hàng.
 Chủ cửa hàng :chính là người quản trị hệ thống.
Chủ cửa hàng hoàn toàn thực hiện được các chức năng mà nhân viên có thể
thực hiện ở trên và một số công việc của chủ như sau:
• Quản lý thông tin về nhân viên của cửa hàng.
• Có quyền xem được các báo cáo và thống kê như: Thống kê hàng
nhập, Thống kê hàng bán, Thống kê số lượng hàng còn lại, Báo
cáo doanh thu.

Các kịch bản sử dụng (use cases)
UC1:Quản lý thông tin Nhà cung cấp (NCC)
User: Chủ cửa hàng, Nhân viên Actor: Nhân viên
Input: Tên NCC, Địa chỉ NCC, Số điện thoại,
Email, Website, Tên tài khoản, Số tài khoản,
Ngân hàng.
Output: Thông tin về NCC
Mô tả: Chức năng quản lý thông tin nhà cung cấp gồm có 4 chức năng con như sau:
- Tạo lập thông tin nhà cung cấp mới: Khi nhập hàng từ nhà cung cấp mới thì
sẽ tạo thêm thông tin về nhà cung cấp mới.
- Xóa các thông tin NCC :Nhân viên hoặc chủ cửa hàng có thể xóa thông tin về
NCC khi không nhập hàng từ NCC đó nữa, nhập thừa, nhập sai.
- Sửa các chi tiết trong NCC: cho phép sửa lại bất kì các chi tiết nào đã nhập
trong thông tin NCC.
- Tìm kiếm một NCC đã nhập: việc tìm kiếm có thể theo nhiều cách khác nhau
như: theo tên NCC, theo địa chỉ.
UC2:Cập nhật thông tin về mặt hàng
User: Chủ cửa hàng, Nhân viên Actor: Nhân viên
Input:Tên hàng, Đơn giá bán, Số lượng còn,
Bảo hành, Vị trí , Tên NCC.
Output: Thông tin về mặt hàng
Mô tả: Chức năng quản lý thông tin mặt hàng gồm có 4 chức năng con như sau:
- Tạo lập thông tin cho mặt hàng mới: Khi cửa hàng nhập một loại hàng mới thì
sẽ tạo thêm thông tin về mặt hàng.
- Xóa các thông tin mặt hàng: Nhân viên hoặc chủ cửa hàng có thể xóa thông
tin mặt hàng khi không bán mặt hàng đó nữa hoặc khi nhập thừa, nhập sai.
5
- Sửa các chi tiết thông tin mặt hàng: cho phép sửa lại bất kì các chi tiết nào đã
nhập trong thông tin mặt hàng.
- Tìm kiếm thông tin về mặt hàng: việc tìm kiếm có thể theo nhiều thông tin

khác nhau như: theo tên hàng, theo nhà cung cấp, theo số lượng còn, theo vị trí .
UC3: Cập nhật thông tin về nhân viên
User: Chủ cửa hàng Actor: Chủ cửa hàng
Input:Mã nhân viên, Tên nhân viên,Số CMND,
Ngày sinh, Giới tính, Địa chỉ, Điện thoại, Chức
vụ .
Output: Thông tin về nhân viên.
Mô tả: Chức năng quản lý thông tin nhân viên gồm có 4 chức năng con như sau:
- Tạo lập thông tin nhân viên mới: Khi cửa hàng có thêm nhân viên mới, chủ
cửa hàng tạo thêm thông tin về nhân viên mới.
- Xóa các thông tin nhân viên: Chủ cửa hàng có thể xóa thông tin nhân viên khi
nhân viên không làm nữa hoặc khi nhập sai thông tin.
- Sửa các chi tiết thông tin nhân viên: Cho phép sửa lại bất kì các chi tiết nào đã
nhập trong thông tin nhân viên.
- Tìm kiếm thông tin về nhân viên: việc tìm kiếm có thể theo nhiều thông tin
như: theo mã, theo tên, theo số CMND.
6
UC4: Cập nhật thông tin về khách hàng
User: Chủ cửa hàng, Nhân viên Actor: Nhân viên
Input:Mã khách hàng, Tên khách hàng, Địa
chỉ, Điện thoại, Email.
Output: Thông tin về khách hàng.
Mô tả: Chức năng quản lý thông tin khách hàng gồm có 4 chức năng con như sau:
- Tạo lập thông tin khách hàng mới: Khi cửa hàng có khách hàng lớn, chủ cửa
hàng hay nhân viên tạo thêm thông tin về khách hàng.
- Xóa các thông tin khách hàng: Khi khách hàng không còn giao dịch với cửa
hàng nữa hoặc khi nhập sai thông tin.
- Sửa các chi tiết thông tin khách hàng: Cho phép sửa lại bất kì các chi tiết nào
đã nhập trong thông tin khách hàng.
- Tìm kiếm thông tin về khách hàng: việc tìm kiếm theo nhiều thông tin như:

theo mã, theo tên, địa chỉ.
User: Chủ cửa hàng, Nhân viên Actor: Nhân viên
Input: Mã hóa đơn nhập, Tên nhà cung cấp,
Ngày nhập, Mã nhân viên,Tên hàng, Số lượng,
Đơn giá nhập, Thành tiền, Bảo hành, Tổng tiền.
Output: Hóa đơn nhập
Mô tả:
- Lưu thông tin hóa đơn nhập mới: Khi nhập hàng về chủ cửa hàng hoặc nhân
viên sẽ lưu vào máy các thông tin liên quan đến lô hàng nhập về.
- Xóa thông tin hóa đơn nhập : Khi chủ cửa hành hoặc nhân viên nhập sai hoặc
không cần đến thông tin hóa đơn nhập nữa thì có thể xóa đi
- Tìm kiếm một hóa đơn đã nhập: việc tìm kiếm có thể theo nhiều cách khác
nhau như: theo mã phiếu nhập,theo ngày, theo NCC, tên hàng.
UC5: Cập nhật thông tin về hàng nhập
7
UC6: Cập nhật thông tin về hàng xuất
User: Chủ cửa hàng, Nhân viên Actor: Nhân viên
Input: Mã hóa đơn bán, Mã khách hàng, Mã
nhân viên, Tên hàng, Đơn giá, Số lượng, Bảo
hành, Thành tiền, Thuế, Tổng tiền.
Output: Hóa đơn bán
Mô tả:
- Khi khách mua hàng nhân viên sẽ phải kiểm tra xem mặt hàng đấy có còn
không và giá bán là bao nhiêu. Sau đó nhân viên sẽ tính tổng tiền và lưu lại hóa đơn
đó.
- Xóa thông tin hóa đơn nhập : Khi chủ cửa hành hoặc nhân viên nhập sai hoặc
không cần đến thông tin hóa đơn bán nữa thì có thể xóa đi
- Tìm kiếm một hóa đơn đã nhập: việc tìm kiếm có thể theo nhiều cách khác
nhau như: theo mã hóa đơn, theo khách hàng, theo ngày, tên hàng.
UC7: Xem các báo cáo thống kê

User: Chủ cửa hàng Actor: Chủ cửa hàng
Input: Hóa đơn nhập, Hóa đơn bán, Mặt hàng Output: Hóa đơn bán
Mô tả:
- Cuối ngày chủ cửa hàng dễ dàng xem được một cách chính xác các mặt hàng
đã bán trong ngày và tổng số tiền hành thu về.
- Chủ cửa hàng cũng sẽ biết được các mặt hàng đã bán ra, các mặt hàng nhập về
và doanh thu trong một tháng.
- Hơn nữa chủ còn kiểm tra được số lượng các mặt hàng ở cửa hàng
8
3. Phân tích hệ thống
Một số vấn đề hiện nay
o Chậm chạp : Dữ liệu được quản lý rất thủ công, mọi thông tin từ nhà cung cấp,
các mặt hàng, số lần nhập và xuất hàng đều được lưu lại trên giấy tờ sổ sách
dẫn đến việc quản lý đang làm hiện nay diễn ra rất chậm chạp.
o Chồng chéo : Rất dễ gay ra sự chồng chéo khi thống kê số lượng hàng còn lại
mỗi khi bán hàng và nhập hàng. Không những thế giá cả các mặt hàng thay đổi
theo ngày nên việc chồng chéo rất dễ xảy ra.
o Tìm kiếm khó khăn : Khi muốn tra cứu thông tin về hóa đơn nhập, hóa đơn
bán.v.v thì việc tìm kiếm với 1 đống sổ sách là 1 điều vô cùng khó khăn. Các
nhà quản lý cũng khó có thể quản lý được cửa hàng của mình.
o Dễ sai sót : Trong quá trình tính bán hàng, vì nhân viên phải nhớ giả của linh
kiện và tính tổng tiền bằng tay nên việc nhầm lẫn và sai sót là rất dễ xảy ra. Nếu
giá linh kiện có sự thay đổi thì nhân viên khó có thể nhớ hết được. Và khi đó
nhân viên sẽ mất thời gian để tra lại giá bán hiện tại.
Giải pháp
Với các hạn chế trên của cửa hàng thì chúng em có các giải pháp để thực hiện
việc quản lý cửa hàng như sau:
Bước 2: Khi hàng được nhập về, nhân viên sẽ lưu tất cả các thông tin có liên quan đến
nhập hàng vào máy. Khi đó số lượng hàng trong kho sẽ tự động tăng lên theo số lượng
hàng nhập về.

Bước 3: Khi khách đến mua thì nhân viên sẽ tạo 1 hóa đơn bán mới và chọn các mặt
hàng mà khách muốn mua, phần mềm sẽ tự đưa ra số lượng còn tương ứng. Chương
trình sẽ tự hiện giá bán của linh kiện đó ra và tự động tính thành tiền và tổng tiền của
các mặt hàng vừa nhập xong. Ngay sau khi khách nhận hàng và thanh toán, nhân viên
lưu thông tin hóa đơn vào máy đồng thời in hóa đơn ra cho khách.
Đến cuối ngày, nhân viên sẽ đem số tiền bán được trả cho chủ và chủ sẽ kiểm tra lại số
tiền xem có khớp với tổng tiền thu được có trong lượng hóa đơn bán hàng có trong
ngày hôm đó ở trên máy không.
Bước 4: Nếu khách đến trả lại hàng vì hỏng trong thời hạn bảo hành thì nhân viên chỉ
kiểm tra phiếu xuất có trong máy có khớp với phiếu mà khách mang đến hay không và
tem của cửa hàng con nguyên hay không. Nếu đúng thì sẽ đổi lại hàng khác cho khách
9
hàng và chủ cửa hàng cũng phải tra xem hàng này do nhà cung cáp nào đem đến để
đổi lại cùng với đợt nhập hàng lần sau.
Với giải pháp phần mềm như ở trên thì các vấn đề trong hệ thống quản lý cũ đã
được giải quyết. Cụ thể như sau:
o Xử lý nhanh chóng và chính xác: Điều này được thể hiện rõ nhất khi
mà nhân viên không phải tra bảng giá, không phải kiểm tra hàng còn bao
nhiêu, không phải tính tổng tiền vì việc tính toán tổng tiền hoàn toàn tự
động trên máy tính nên gần như là không có sai xót nào.
o Không còn chồng chéo: Hệ thống mới đã giúp cho việc luôn có kiểm tra
số lượng còn của từng mặt hàng. Điều này tránh cho việc phải kiểm tra
số lượng mỗi khi nhập hàng hay khi bán hàng.
o Giảm tải: Cả chủ và nhân viên đều được giảm nhẹ các công đoạn khi
thực hiện theo hệ thống mới. Chủ cửa hàng không quá khó khăn để tìm
kiếm hay kiểm tra các thông tin như hàng nào hết, doanh thu. Nhân viên
thì không cần phải ghi nhớ nhiều thứ nên tăng được năng suất bán hàng.
Phân tích và mô hình hóa chức năng của hệ thống
Biểu đồ phân cấp chức năng tổng quát :
10

Hệ thống quản lý cửa hàng bán linh kiện điện tử
Quản lý nhập hàng
Quản lý bán hàng
Quản lý
mặt hàng
Quản lý thông
tin nhân viên
Quản lý TT
nhà cung cấp
Quản lý TT
khách hàng
Quản lý giao dịch
Quản lý thông tin
Báo cáo thống kê
Thống kê
bán hàng
Thống kê
nhập hàng
Thống kê
hàng tồn
Báo cáo
doanh thu
Hóa đơn nhập
nhập
Hóa đơn bán
Biểu đồ luồng dữ liệu mức ngữ cảnh ( Mức 0)
(1) là dữ liệu mà nhân viên cập nhật như thông tin nhà cung cấp, khách hàng, mặt
hàng, hóa đơn nhập, hóa đơn bán hoặc các yêu cầu tìm kiếm.
(2) là dữ liệu trả về các kết quả nhập của nhân viên và các kết quả tìm kiếm.
(3) là dữ liệu mà nhân viên cập nhật như thông tin nhà cung cấp, khách hàng, mặt

hàng, hóa đơn nhập, hóa đơn bán, báo cáo thống kê doanh thu và các yêu cầu tìm
kiếm.
(4) kết quả nhập thông tin, tìm kiếm và các báo cáo, thống kê.
11
(2)
(3
)
(4)
(1)
Biểu đồ luồng dữ liệu mức đỉnh ( Mức 1)
12
1
2
3
4
5
6
7
Biểu đồ luồng dữ liệu mức dưới đỉnh
1.Quản lý thông tin nhà cung cấp
2.Quản lý thông tin khách hàng
13
Phản
hồi
tìm
kiếm
Thông tin
cần tìm kiếm
Nhập
thông tin

Thông tin
cần xóa
Nhập TT
nhà cung
cấp
Nhân viên
Xóa TT nhà
cung cấp
Sửa TT nhà
cung cấp
Sửa
thông tin

Xóa
thông
tin
Thông tin
cần sửa
Nhân viên
Nhà cung cấp
Tìm kiếm TT
nhà cung cấp
Phản
hồi
tìm
kiếm
Thông tin
cần tìm kiếm
Sửa
thông tin


Nhập
thông tin
Thông tin
cần xóa
Nhập TT
khách hàng
Nhân viên
Xóa TT
khách hàng
Sửa TT
khách hàng
Xóa
thông
tin
Thông tin
cần sửa
Nhân viên
Khách hàng
Thông tin
khách hàng
Tìm kiếm TT
khách hàng
3.Quản lý thông tin mặt hàng
4.Quản lý thông tin nhân viên
14
Sửa
thông tin

Xóa

thông
tin
Nhập
thông tin
Thông tin
cần xóa
Nhập TT
hàng
Nhân viên
Xóa TT
hàng
Sửa TT
khách hàng
Thông tin
cần sửa
Nhân viên
Mặt hàng
Thông tin
hàng nhập
Quản lý nhập hàng
Quản lý bán hàng
Phản
hồi
tìm
kiếm
Nhập
thông tin
Thông tin
cần xóa
Nhập TT

nhân viên
Chủ cửa hàng
Xóa TT
nhân viên
Sửa TT
nhân viên
Sửa
thông tin

Xóa
thông
tin
Thông tin
cần sửa
Chủ cửa hàng
Nhân viên
Thông tin
nhân viên
Thông tin
cần tìm kiếm
Tìm kiếm TT
nhân viên
5.Quản lý nhập hàng
15
Sửa
thông tin

Nhập
thông tin
Thông tin

cần xóa
Nhập TT
hàng nhập
Nhân viên
Xóa TT
hàng nhập
Sửa TT
hàng nhập
Xóa
thông
tin
Thông tin
cần sửa
Nhân viên
Hóa đơn nhập
Thông tin
hàng nhập
Mặt hàng
Nhà cung cấp
Tìm kiếm TT
nhân viên
Thông tin
cần tìm kiếm
Phản
hồi
tìm
kiếm
6.Quản lý bán hàng
7.Báo cáo thống kê
16

In phiếu
xuất
Sửa
thông tin

Nhập
thông tin
Thông tin
cần xóa
Nhập TT
hàng bán
Nhân viên
Xóa TT
hàng bán
Sửa TT
hàng bán
Xóa
thông
tin
Thông tin
cần sửa
Nhân viên
Hóa đơn bán
Thông tin
hàng xuất
Khách hàng
Nhân viên
Mặt hàng
In
Số lượng

hàng xuất
Thống kê
hàng nhập
Chủ cửa hàng
Thống kê
hàng bán
Báo cáo
doanh thu
Chủ cửa hàng
Hóa đơn bán
Hóa đơn nhập
Số lượng
hàng nhập
Thống kê
hàng tồn
Mặt hàng
4. Từ điển dữ liệu
STT Tên Bí danh Nơi sử dụng /
Vai trò
Mô tả
1 Nhà cung cấp NCC Chủ cửa hàng,
Nhân viên
= Tên nhà cung cấp + Địa
chỉ + Số điện thoại +
Email + Website + Tên
tài khoản + Số tài khoản
+ Ngân hàng.
2 Khách hàng Chủ cửa hàng,
Nhân viên
= Mã khách hàng + Tên

khách hàng + Địa chỉ +
Điện thoại + Email.
3 Mặt hàng Chủ cửa hàng,
Nhân viên
= Tên hàng + Đơn giá
bán + Số lượng còn +
Bảo hành + Vị trí + Nhà
cung cấp.
4 Nhân viên Chủ cửa hàng = Mã nhân viên + Tên
nhân viên + Ngày sinh +
Giới tính + Địa chỉ +
Điện thoại + Chức vụ.
5 Hóa đơn nhập Chủ cửa hàng,
Nhân viên
= Mã phiếu nhập + Mã
nhân viên nhập + Nhà
cung cấp + Tên hàng +
Số lượng nhập + Đơn giá
nhập + Thành tiền +
Ngày nhập + Tổng tiền.
6 Hóa đơn bán Chủ cửa hàng,
Nhân viên
= Mã hóa đơn bán + Mã
nhân viên bán + Mã
khách hàng + Tên hàng +
Số lượng bán + Đơn giá
bán + Thành tiền + Thuế
+ Ngày bán + Tổng tiền.
5. Mô hình thực thể và liên kết
5.1 Xác định các thực thể

17
Thông qua từ điển dữ liệu và các biểu đồ luồng dữ liệu, ta có thể xác định
các thực thể sau:
STT Tên thực thể Tên sử dụng Các thuộc tính
1 Nhà cung cấp tbNhaCungCap Tên nhà cung cấp, Địa chỉ, Số
điện thoại, Email, Website, Tên
tài khoản, Số tài khoản, Ngân
hàng.
2 Khách hàng tbKhachHang Mã khách hàng ,Tên khách hàng
,Địa chỉ, Điện thoại, Email.
3 Mặt hàng tbMatHang Tên hàng, Đơn giá bán, Số
lượng còn, Bảo hành , Vị trí,
Nhà cung cấp.
4 Nhân viên tbNhanVien Mã nhân viên, Tên nhân viên,
Ngày sinh, Giới tính, Địa chỉ,
Điện thoại, Chức vụ.
5 Hóa đơn nhập tbHoaDonNhap Mã phiếu nhập, Mã nhân viên,
Nhà cung cấp, Tên hàng, Số
lượng nhập, Đơn giá nhập,
Thành tiền, Ngày nhập, Tổng
tiền.
6 Hóa đơn bán tbHoaDonBan Mã hóa đơn, Mã nhân viên, Mã
khách hàng, Tên hàng, Số lượng
bán, Đơn giá bán, Thành tiền,
Thuế, Ngày bán, Tổng tiền.
5.2 Xác định các liên kết
Liên kết 1: N giữa nhân viên và hóa đơn bán
18
Nhân viên
Lậ

p
p
Hóa đơn bán
1
N
Liên kết 1: N giữa nhân viên và hóa đơn nhập
Liên kết N:N giữa mặt hàng-hóa đơn nhập và liên kết 1:N giữa Nhà cung cấp – Hóa
đơn nhập
Liên kết 1:N giữa nhân viên – Hóa đơn bán và liên kết 1:N giữa Khách hàng – Hóa
đơn bán
19
Nhân viên
Lậ
p
Hóa đơn nhập
1
N
N
1
N
N
Mặt hàng
c
ó
Nhà cung cấp
Hóa đơn nhập
c
ó
1
N

N
Mặt hàng
c
ó
Khách hàngHóa đơn bán
c
ó
N
5.3 Biểu đồ thực thể liên kết
6. Thiết kế hệ thống:
Thiết kế cơ sở dữ liệu
Từ mô hình thực thể liên kết, ta xác định các bảng thực thể sau:
Bảng nhà cung cấp
Thuộc tính: Tên nhà cung cấp, Địa chỉ, Số điện thoại, Email, Website, Tên tài khoản,
Số tài khoản, Ngân hàng.
Ràng buộc và quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi Tên nhà cung cấp ứng với Địa chỉ,
Số điện thoại, Email, Website, Tên tài
khoản, Số tài khoản, Ngân hàng của nhà
cung cấp đó.
Tên nhà cung cấp → Địa chỉ, Số điện
thoại, Email, Website, Tên tài khoản, Số
tài khoản, Ngân hàng.
Xác định từ khóa K = Tên nhà cung cấp.
Quan hệ đã ở dạng chuẩn 3.
Bảng khách hàng
20
1
N
1

1
1
N
N
N
N
N
N
Khách hàng
Hóa đơn bán
Mặt hàng
Hóa đơn nhập Nhà cung cấp
L
ập
c
ó
c
ó
c
ó
L
ập
c
ó
Nhân viên
N
Thuộc tính:Mã khách hàng, Tên khách hàng, Địa chỉ, Số điện thoại, Email.
Ràng buộc và quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi mã khách hàng đều ứng với một tên,
địa chỉ, SĐT và email của khách hàng đó.

Mã khách hàng→ Tên khách hàng, Địa
chỉ, Số điện thoại, Email.
Xác định từ khóa K = Mã khách hàng.
Quan hệ đã ở dạng chuẩn 3.
Bảng mặt hàng
Thuộc tính: Tên hàng, Đơn giá bán, Số lượng còn, Bảo hành, Vị trí, Nhà cung cấp.
Ràng buộc và quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi tên hàng đều ứng với một đơn giá
bán, số lượng còn, bảo hành, vị trí và nhà
cung cấp của mặt hàng đó.
Tên hàng→ Đơn giá bán, Số lượng còn,
Bảo hành, Vị trí, Nhà cung cấp.
Xác định từ khóa K = Tên hàng.
Quan hệ đã ở dạng chuẩn 3.
Bảng nhân viên
Thuộc tính: Mã nhân viên, Tên nhân viên, Ngày sinh, Giới tính, Địa chỉ, Điện thoại,
Chức vụ.
Ràng buộc và quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi một nhân viên đều có duy nhất một
ngày sinh, địa chỉ, điện thoại và chức vụ.
Mã NV→ Tên NV, Ngày sinh, Giới tính,
Địa chỉ, Điện thoại, Chức vụ.
Xác định từ khóa K = Mã nhân viên.
Quan hệ đã ở dạng chuẩn 3.
Hóa đơn nhập
Thuộc tính: Mã phiếu nhập, Mã nhân viên, Nhà cung cấp, Tên hàng, Số lượng nhập,
Đơn giá nhập, Thành tiền, Ngày nhập, Tổng tiền.
Ràng buộc và quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi một phiếu nhập chỉ nhập từ một nhà
cung cấp, có một ngày nhập, một tổng

Mã phiếu nhập → Mã nhân viên, Mã nhà
cung cấp, Ngày nhập, Tổng tiền.
21
tiền và do một nhân viên kiểm tra hàng.
Mỗi tên hàng có một số lượng nhập, đơn
giá nhập và thành tiền
Tên hàng → Số lượng nhập, Đơn giá
nhập, Thành tiền.
Xác định từ khóa K: (Mã phiếu nhập, Tên hàng)
Vi phạm chuẩn 2; → Tách thành các quan hệ:
Hóa đơn nhập (Mã phiếu nhập, Mã nhân viên, Nhà cung cấp, Ngày nhập, Tổng tiền).
Chi tiết nhập (Mã phiếu nhập, Tên hàng, Số lượng nhập, Đơn giá nhập, Thành tiền).
Hóa đơn bán
Thuộc tính: Mã hóa đơn, Mã nhân viên, Mã khách hàng, Tên hàng, Số lượng bán, Đơn
giá bán, Thành tiền,Thuế, Ngày bán, Tổng tiền.
Ràng buộc và quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi một hóa đơn bán chỉ bán cho một
khách hàng, có một ngày bán, một thuế,
một tổng tiền và do một nhân viên bán
hàng.
Mã hóa đơn → Mã nhân viên, Mã khách
hàng, Ngày bán, Thuế, Tổng tiền.
Mỗi tên hàng có một số lượng bán, đơn
giá bán và thành tiền
Tên hàng → Số lượng bán, Đơn giá bán,
Thuế, Thành tiền.
Xác định từ khóa K: (Mã hóa đơn, Tên hàng)
Vi phạm chuẩn 2; → Tách thành các quan hệ:
Hóa đơn bán (Mã hóa đơn, Mã nhân viên, Mã khách hàng,Ngày bán,Thuế,Tổng tiền).
Chi tiết bán (Mã hóa đơn, Tên hàng, Số lượng bán, Đơn giá bán, Thành tiền).

22
Bổ sung các thuộc tính khóa và xác định miền giá trị cho các thuộc tính
Bảng Nhà cung cấp: tbNhaCungCap
Tên thuộc tính Kiểu dữ liệu Ràng buộc
MANHACUNGCAP nvarchar(6) PK, Not NULL
NHACUNGCAP nvarchar(50)
DIACHI nvarchar(50)
SODIENTHOAI nvarchar(50)
EMAIL nvarchar(50)
WEBSITE nvarchar(50)
TENTAIKHOAN nvarchar(50)
SOTAIKHOAN numeric(18,0)
NGANHANG nvarchar(100)
BảngKhách hàng: tbKhachHang
Tên thuộc tính Kiểu dữ liệu Ràng buộc
MAKHACHHANG nvarchar(6) PK, Not NULL
TENKHACHHANG nvarchar(30)
DIACHI nvarchar(50)
DIENTHOAI nvarchar(20)
EMAIL nvarchar(50)
23
Bảng Mặt Hàng: tbMatHang
Tên thuộc tính Kiểu dữ liệu Ràng buộc
MAHANG nvarchar(50) PK, NOT NULL
TENHANG nvarchar(50) NOT NULL
DONGIABAN float(8) NOT NULL
SOLUONGCON int(4) NOTNULL
BAOHANH nvarchar(50)
VITRI nvarchar(20)
MANHACUNGCAP nvarchar(6) FK to tbNhaCungCap

(MANHACUNGCAP)
Bảng Nhân viên: tbNhanVien
Tên thuộc tính Kiểu dữ liệu Ràng buộc
MANHANVIEN nvarchar(6) PK, NOT NULL
TENNHANVIEN nvarchar(50)
NGAYSINH smalldatetime
GIOITINH boolean
DIACHI nvarchar(50)
DIENTHOAI nvarchar(50) NOT NULL
CHUCVU nvarchar(50)
Bảng Hóa đơn nhập: tbHoaDonNhap
24
Tên thuộc tính Kiểu dữ liệu Ràng buộc
MAPHIEUNHAP nvarchar(6) PK, NOT NULL
MANHANVIEN nvarchar(6) NOT NULL, FK to
tbNhanVien
(MANHANVIEN)
NGAYNHAP date NOT NULL
TONGTIEN float(8) NOT NULL
Bảng Chi tiết nhập: tbChiTietNhap
Tên thuộc tính Kiểu dữ liệu Ràng buộc
MAPHIEUNHAP nvarchar(6) PK, NOT NULL, FK to
tbHoaDonNhap
(MAPHIEUNHAP)
MAHANG nvarchar(20) PK, NOT NULL, FK to
tbMatHang(MAHANG)
SOLUONGNHAP int NOT NULL
DONGIANHAP float(8) NOT NULL
THANHTIEN float(8) NOT NULL
Bảng Hóa đơn bán: tbHoaDonBan

Tên thuộc tính Kiểu dữ liệu Ràng buộc
MAHOADON nvarchar(6) PK, NOT NULL
NGAYBAN date NOT NULL
MANHANVIEN nvarchar(6) NOT NULL, FK to tbNhanVien
(MANHANVIEN)
MAKHACHHANG nvarchar(6)
THUE float(8)
TONG float(8) NOT NULL
Bảng Chi tiết ban: tbChiTietBan
25

×