Sau khi nhận được đơn đặt hàng, hệ thống của nhà sách sẽ kiểm tra số lượng sáchcó sẵn trong kho để xác nhận đơn hàng.. Nhân viên sẽ tạo đơn đặt hàng và gửi đến nhà cungcấp, bao gồm các t
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC XÃ HỘI VÀ NHÂN VĂN
KHOA THƯ VIỆN – THÔNG TIN HỌC
- 🙞🙞 🕮 🙜🙜
-BÁO CÁO BÀI TẬP
CHƯƠNG TRÌNH QUẢN LÝ HỒ SƠ CHO PHƯƠNG NAM
PHIM
Học phần: Quản lý Hồ sơ
Giảng viên hướng dẫn: ThS Mai Mỹ Hạnh
Lớp: Quản lý thông tin K4B
Sinh viên thực hiện: NHÓM 3
TP Hồ Chí Minh, Ngày 28 tháng 6 năm 2024
Trang 3MÔ TẢ ĐỒ ÁN MÔN HỌC
1 Đặc tả yêu cầu của hệ thống:
Trang 4Nhà sách Tri Thức, tọa lạc tại trung tâm thành phố Hồ Chí Minh, là nơi mua sách
lý tưởng cho những người yêu sách Nhà sách cung cấp đa dạng các thể loại sách từvăn học, khoa học, kinh tế đến sách thiếu nhi Sau đây là mô tả hai quy trình kinhdoanh chính của nhà sách: Quy Trình Bán Sách và Mua Sách của Nhà Sách
2 Mô tả quy Trình Bán Sách:
Quy trình bán sách của nhà sách bắt đầu khi một khách hàng đến nhà sách hoặctruy cập vào trang web của nhà sách để tìm kiếm và đặt mua sách Khách hàng cungcấp các thông tin cá nhân cần thiết như tên, địa chỉ, và số điện thoại, cùng với cácthông tin về đơn hàng như tên sách và số lượng muốn mua
Sau khi nhận được đơn đặt hàng, hệ thống của nhà sách sẽ kiểm tra số lượng sách
có sẵn trong kho để xác nhận đơn hàng Nếu sách còn hàng, hệ thống sẽ tiếp tục xử lýđơn hàng Trong trường hợp sách hết hàng, khách hàng sẽ được thông báo và có thểchọn mua sách khác hoặc đợi nhập thêm hàng
Khi đơn hàng được xác nhận, hệ thống sẽ gửi thông tin xác nhận cho khách hàngqua email hoặc tin nhắn, bao gồm chi tiết đơn hàng, tổng số tiền phải thanh toán, vàthời gian giao hàng dự kiến Khách hàng sau đó sẽ tiến hành thanh toán cho đơn hàng.Nhà sách cung cấp nhiều phương thức thanh toán khác nhau như tiền mặt khi nhậnhàng (COD), chuyển khoản ngân hàng, hoặc thanh toán trực tuyến
Sau khi nhận được thanh toán, nhà sách sẽ chuẩn bị và đóng gói sách theo đơnhàng Đơn hàng sau đó sẽ được giao cho khách hàng theo địa chỉ đã cung cấp Thờigian giao hàng có thể thay đổi tùy thuộc vào địa điểm của khách hàng
Cuối cùng, sau khi đơn hàng được giao, hệ thống sẽ cập nhật số lượng sách tồnkho để phản ánh sự thay đổi Quy trình này đảm bảo rằng thông tin về tồn kho luônđược cập nhật chính xác, giúp nhà sách quản lý hàng hóa hiệu quả hơn
3 Mô tả Quy Trình Mua Sách:
Quy trình mua sách của nhà sách bắt đầu khi nhân viên kiểm tra tồn kho và xácđịnh số lượng sách cần nhập thêm Nhân viên sẽ tạo đơn đặt hàng và gửi đến nhà cungcấp, bao gồm các thông tin chi tiết về sách như tên sách, số lượng và giá nhập
Trang 5Nhà cung cấp sau đó sẽ xác nhận đơn hàng, cung cấp thông tin về thời gian giaohàng và tổng giá trị đơn hàng Hệ thống của nhà sách sẽ nhận thông tin xác nhận này
và cập nhật trạng thái đơn hàng
Khi nhà sách nhận được sách từ nhà cung cấp, nhân viên sẽ kiểm tra số lượng vàchất lượng sách, so sánh với đơn đặt hàng ban đầu Nếu hàng hóa đạt yêu cầu, hệthống sẽ cập nhật số lượng sách tồn kho để phản ánh sự thay đổi Thông tin về đơnhàng nhập, bao gồm ngày nhập, số lượng sách và nhà cung cấp, cũng sẽ được lưu trữtrong hệ thống
Cuối cùng, nhà sách sẽ thanh toán cho nhà cung cấp theo phương thức đã thỏathuận, có thể là chuyển khoản ngân hàng, tiền mặt hoặc tín dụng Quy trình này đảmbảo rằng nhà sách luôn có đủ sách để đáp ứng nhu cầu của khách hàng, đồng thời duytrì mối quan hệ tốt với các nhà cung cấp
Đồ án yêu cầu thực hiện các nội dung sau:
1 Phân Tích Thiết Kế Thành Phần Dữ Liệu (4 điểm)
- Mức Khái Niệm (1.5 điểm): Sử dụng mô hình thực thể kết hợp (ERD) để mô tảcác thực thể, thuộc tính và các mối quan hệ giữa các thực thể trong hệ thống nhà sách.Đảm bảo mô tả đầy đủ các thực thể chính như Khách hàng, Đơn hàng, Sách, Nhà cungcấp, và Chi tiết đơn hàng…
- Mức Tổ Chức (1.5 điểm): Chuyển đổi mô hình ERD thành mô hình quan hệ(Relational Model) Bao gồm các bảng và các ràng buộc toàn vẹn dữ liệu như khóachính, khóa ngoại, các ràng buộc toàn vẹn và bảng tầm ảnh hưởng (Impact Table)
- Mức Vật Lý (1 điểm): Thiết kế cơ sở dữ liệu vật lý trên một hệ quản trị cơ sở
dữ liệu cụ thể (MySQL, SQL Server, v.v.) Bao gồm việc tạo lập các bảng, thiết lậpcác khóa chính và khóa ngoại, các ràng buộc toàn vẹn
2 Phân Tích Thiết Kế Thành Phần Xử Lý (4 điểm)
- Mức Quan Niệm (2 điểm): Sử dụng mô hình dòng dữ liệu (Data Flow Diagram
- DFD) để mô tả các quá trình xử lý thông tin trong hệ thống nhà sách Bao gồm các sơ
đồ ở mức 0, mức 1,… cho hai quy trình Bán Sách và Mua Sách Đảm bảo thể hiệnđược các luồng dữ liệu chính và các kho dữ liệu liên quan
Trang 6- Mức Vật Lý (2 điểm): Chi tiết mô hình dòng dữ liệu ở mức quan niệm Phải cóđặc tả cho xử lý như bảng quyết định/Cây duyết định
3 Thiết Kế Giao Diện (2 điểm)
Chọn một quy trình chính trong nội dung phân tích thiết kế thành phần xử lý (vídụ: Quy Trình Bán Sách) và thiết kế các giao diện tương ứng
- Form: Thiết kế các giao diện nhập liệu
- Report: Thiết kế các giao diện báo cáo
- Message: Thiết kế thông báo hệ thống
Chúc các bạn hoàn thành tốt đồ án và đạt kết quả cao!
Hết
Trang 7Số lượng tồn kho
<pi> Text (50) Text (50) Text (50) Money Integer
<M>
Identifier_1 <pi>
Nhân viên
Mã nhân viên Tên nhà cung cấp Địa chỉ
Số điện thoại Email
<pi> Text (50) Text (50) Text (50)
<M>
Identifier_1 <pi>
Nhà cung cấp
Mã nhà cung cáp Tên nhà cung cấp Địa chỉ
Số điện thoại Email
<pi> Text (50) Text (50) Text (50) Text (50)
<M>
Đơn hàng nhập
Mã đơn hàng nhập Ngày đặt hàng nhập Tổng tiền Ghi chú
<pi> Text (50) Text (50) Text (50)
Chi tiết đơn hàng nhập
Số lượng sách Thành tiền Integer
Trang 8- Mức logic
Chi tiết đơn hàng nhập
Chi tiết đơn hàng nhập Chi tiết đơn hàng
Chi tiết đơn hàng
Mã sách Tên sách Tác giả Thể loại sách Giá sách
Số lượng tồn kho
Text (50) Text (50) Text (50) Text (50) Money Integer
Nhân viên
#
* o o o o
Mã nhân viên
Mã đơn hàng nhập Tên nhà cung cấp Địa chỉ
Số điện thoại Email
Text (50) Text (50) Text (50) Text (50) Text (50) Text (50)
Nhà cung cấp
#
* o o o
Mã nhà cung cáp
Mã đơn hàng nhập Tên nhà cung cấp Địa chỉ
Số điện thoại
Text (50) Text (50) Text (50) Text (50) Text (50)
Đơn hàng nhập
# o o o
Mã đơn hàng nhập Ngày đặt hàng nhập Tổng tiền Ghi chú
Text (50) Text (50) Text (50) Text (50)
Chi tiết đơn hàng
Mã đơn hàng nhập
Mã sách
Số lượng sách Thành tiền
Text (50) Text (50) Integer Money
Trang 9- Mức vật lý
FK_CHI_TIET_CHI_TIET SACH
FK_CHI_TIET_CHI_TIET _ON_HANG FK_CHI_TIET_CHI_TIET SACH
Số lượng tồn kho
text text text money int
Số điện thoại Email
text text text text
Số điện thoại Email
text text text
<pk>
<fk>
Đơn hàng nhập
Mã đơn hàng nhập Ngày đặt hàng nhập Tổng tiền Ghi chú
text text text
text text int money
<pk,fk1>
<pk,fk2>
Trang 10Chi tiết đơn hàng
Quản lý chi tiết các sản phẩm trong một đơn hàng, bao gồm
mã chi tiết đơn hàng, mã đơn hàng, mã sách, số lượng và thành tiền
Nhân viên
Lưu trữ thông tin về nhân viên của nhà sách bao gồm mã nhânviên, tên, chức vụ, số điện thoại và email để phục vụ cho các quy trình quản lý và nhập sách
Đơn hàng nhập
Quản lý thông tin về các đơn hàng nhập sách từ nhà cung cấp,bao gồm mã đơn hàng nhập, mã nhân viên, mã nhà cung cấp, ngày đặt hàng và tổng số tiền
Chi tiết đơn hàng
nhập
Quản lý chi tiết các sách trong một đơn hàng nhập, bao gồm
mã chi tiết đơn hàng nhập, mã đơn hàng nhập, mã sách, số lượng và thành tiền
Trang 11Mô tả chi tiết từng thực thể:
Mã đơn hàng (Primary Key) (Foreign Key)
Mã sách (Primary Key) (Foreign Key)
Trang 12 Số lượng sách
Thành tiền
6 Nhân viên
Mã nhân viên (Primary Key)
Tên nhân viên
Chức vụ
Số điện thoại nhân viên
Email nhân viên
7 Đơn hàng nhập
Mã đơn hàng nhập (Primary Key)
Mã nhân viên (Foreign Key)
Mã nhà cung cấp (Foreign Key)
Ngày đặt hàng nhập
Tổng số tiền
8 Chi tiết đơn hàng nhập
Mã đơn hàng nhập (Primary Key) (Foreign Key)
Mã sách (Primary Key) (Foreign Key)
Số lượng sách
Thành tiền
Trang 13Mô hình quan hệ
Trang 14Ràng buộc toàn vẹn
- Mã Nhà cung cấp trong bảng NhaCungCap không được trùng nhau:
Mã Đơn hàng nhập trong bảng DonHangNhap không được trùng nhau:
masach1 ≠ dhnhap2 && masach2 hay dhnhap1 [MaDonHangNhap] và masach1[MaSach] ≠ dhnhap2 [MaDonHangNhap] và masach2[MaSach]
Mã Đơn hàng trong bảng DonHang không được trùng nhau:
Mã đơn hàng và mã sách trong bảng ChiTietDonHang đồng thời không được trùng nhau:
Trang 15∀dh1, masach1, masach2, dh2 ChiTietDonHang: dh1 && masach1 ≠ dh2 && ∈masach2 hay dh1 [MaDonHang] và masach1[MaSach] ≠ dh2 [MaDonHang] vàmasach2[MaSach]
Mã Nhân viên trong bảng NhanVien không được trùng nhau:
Mã Sách trong bảng Sach không được trùng nhau:
masach2[MaSach]
Mã Khách hàng trong bảng KhachHang không được trùng nhau:
-Thiết kế cơ sở dữ liệu trên SQL Server:
USE [master]
Trang 17CREATE TABLE [dbo] [ChiTietDonHang] (
[MaDonHang] [int] NOT NULL,
[MaSach] [int] NOT NULL,
[SoLuong] [int] NOT NULL,
[ThanhTien] [decimal] ( 18 , 2 ) NOT NULL,
PRIMARY KEY CLUSTERED
(
[MaDonHang] ASC ,
[MaSach] ASC
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF ,
ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS ON ) ON [PRIMARY]
CREATE TABLE [dbo] [ChiTietDonHangNhap] (
[MaDonHangNhap] [int] NOT NULL,
[MaSach] [int] NOT NULL,
[SoLuong] [int] NOT NULL,
[ThanhTien] [decimal] ( 18 , 2 ) NOT NULL,
PRIMARY KEY CLUSTERED
(
[MaDonHangNhap] ASC ,
[MaSach] ASC
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF ,
ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS ON ) ON [PRIMARY]
CREATE TABLE [dbo] [DonHang] (
[MaDonHang] [int] IDENTITY ( , ) 1 1 NOT NULL,
[MaKhachHang] [int] NOT NULL,
[NgayDatHang] [date] NOT NULL,
[TongSoTien] [decimal] ( 18 , 2 ) NOT NULL,
Trang 18[MaDonHang] ASC
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF ,
ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS ON ) ON [PRIMARY]
CREATE TABLE [dbo] [DonHangNhap] (
[MaDonHangNhap] [int] IDENTITY ( , ) 1 1 NOT NULL,
[MaNhanVien] [int] NOT NULL,
[MaNhaCungCap] [int] NOT NULL,
[NgayDatHang] [date] NOT NULL,
[TongSoTien] [decimal] ( 18 , 2 ) NOT NULL,
PRIMARY KEY CLUSTERED
(
[MaDonHangNhap] ASC
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF ,
ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS ON ) ON [PRIMARY]
CREATE TABLE [dbo] [KhachHang] (
[MaKhachHang] [int] IDENTITY ( , ) 1 1 NOT NULL,
[Ten] [nvarchar] ( 100 ) NOT NULL,
[DiaChi] [nvarchar] ( 255 ) NULL,
[SoDienThoai] [nvarchar] ( 20 ) NULL,
[Email] [nvarchar] ( 100 ) NULL,
PRIMARY KEY CLUSTERED
(
[MaKhachHang] ASC
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF ,
ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS ON ) ON [PRIMARY]
CREATE TABLE [dbo] [NhaCungCap] (
[MaNhaCungCap] [int] IDENTITY ( , ) 1 1 NOT NULL,
[Ten] [nvarchar] ( 100 ) NOT NULL,
[DiaChi] [nvarchar] ( 255 ) NULL,
[SoDienThoai] [nvarchar] ( 20 ) NULL,
[Email] [nvarchar] ( 100 ) NULL,
PRIMARY KEY CLUSTERED
(
[MaNhaCungCap] ASC
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF ,
ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS ON ) ON [PRIMARY]
Trang 19/****** Object: Table [dbo].[NhanVien] Script Date: 19/07/2024 8:20:02 AM
CREATE TABLE [dbo] [NhanVien] (
[MaNhanVien] [int] IDENTITY ( , ) 1 1 NOT NULL,
[Ten] [nvarchar] ( 100 ) NOT NULL,
[ChucVu] [nvarchar] ( 50 ) NULL,
[SoDienThoai] [nvarchar] ( 20 ) NULL,
[Email] [nvarchar] ( 100 ) NULL,
PRIMARY KEY CLUSTERED
(
[MaNhanVien] ASC
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF ,
ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS ON ) ON [PRIMARY]
CREATE TABLE [dbo] [Sach] (
[MaSach] [int] IDENTITY ( , ) 1 1 NOT NULL,
[TenSach] [nvarchar] ( 255 ) NOT NULL,
[TacGia] [nvarchar] ( 100 ) NULL,
[TheLoai] [nvarchar] ( 100 ) NULL,
[Gia] [decimal] ( 18 , 2 ) NOT NULL,
[SoLuongTon] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[MaSach] ASC
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF ,
ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS ON ) ON [PRIMARY]
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , SORT_IN_TEMPDB = OFF ,
IGNORE_DUP_KEY OFF , ONLINE OFF , ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , SORT_IN_TEMPDB = OFF ,
IGNORE_DUP_KEY OFF , ONLINE OFF , ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS
ON ) ON [PRIMARY]
Trang 20ALTER TABLE [dbo].[DonHang] ADD CONSTRAINT [UC_DonHang] UNIQUE NONCLUSTERED
(
[MaDonHang] ASC
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , SORT_IN_TEMPDB = OFF ,
IGNORE_DUP_KEY OFF , ONLINE OFF , ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , SORT_IN_TEMPDB = OFF ,
IGNORE_DUP_KEY OFF , ONLINE OFF , ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS
) WITH PAD_INDEX ( = OFF , STATISTICS_NORECOMPUTE = OFF , SORT_IN_TEMPDB = OFF ,
IGNORE_DUP_KEY OFF , ONLINE OFF , ALLOW_ROW_LOCKS ON , ALLOW_PAGE_LOCKS
ON ) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ChiTietDonHang] WITH CHECK ADD FOREIGN KEY ( [MaDonHang] )
REFERENCES [dbo].[DonHang] [MaDonHang] )
GO
ALTER TABLE [dbo].[ChiTietDonHang] WITH CHECK ADD FOREIGN KEY ( [MaSach] )
REFERENCES [dbo].[Sach] [MaSach] )
ALTER TABLE [dbo].[ChiTietDonHangNhap] WITH CHECK ADD FOREIGN KEY ( [MaSach] )
REFERENCES [dbo].[Sach] [MaSach] )
GO
ALTER TABLE [dbo].[DonHang] WITH CHECK ADD FOREIGN KEY ( [MaKhachHang] )
REFERENCES [dbo].[KhachHang] [MaKhachHang] )
GO
ALTER TABLE [dbo].[DonHangNhap] WITH CHECK ADD FOREIGN KEY ( [MaNhanVien] )
REFERENCES [dbo].[NhanVien] [MaNhanVien] )
GO
ALTER TABLE [dbo].[DonHangNhap] WITH CHECK ADD FOREIGN KEY ( [MaNhaCungCap] )
REFERENCES [dbo].[NhaCungCap] [MaNhaCungCap] )
Trang 211 Trigger cho bảng NhaCungCap để đảm bảo mã nhà cung cấp không được trùng nhau khi thêm
2 Trigger cho bảng DonHangNhap để đảm bảo mã đơn hàng nhập không được
trùng nhau khi thêm
3 Trigger cho bảng ChiTietDonHangNhap để đảm bảo mã đơn hàng nhập và
mã sách không được trùng nhau khi thêm
Trang 224 Trigger cho bảng DonHang để đảm bảo mã đơn hàng không được trùng nhau
khi thêm
5 Trigger cho bảng ChiTietDonHang để đảm bảo mã đơn hàng và mã sách
không được trùng nhau khi thêm
6 Trigger cho bảng NhanVien để đảm bảo mã nhân viên không được trùng nhau
khi thêm
7 Trigger cho bảng Sach để đảm bảo mã sách không được trùng nhau khi thêm
Trang 238 Trigger cho bảng KhachHang để đảm bảo mã khách hàng không được trùng
nhau khi thêm
2 Phân Tích Thiết Kế Thành Phần Xử Lý
DFD mức quan niệm:
- Mức 0
Trang 24Cập nh ật số l ượng sách sau b án hàng Cập nh ật số l ượng
Xác nhận đơn hàng
Yêu cầu mua sách
1
HỆ THỐNG QUẢN LÝ BÁN SÁCH NHÀ SÁCH TRI THỨC KHÁCH
HÀNG
NHÂN VIÊN
KHO SÁCH
Trang 25- Mức 1
Thông tin nhà cung cấp
Cập nhật thông tin nhà cung cấp
Thông tin nhà cung cấp Thanh toán
Xác nhận đơn hàng nhập sách Gửi đơn đặt hàng nhập đến nhà cung cấp
TT kiểm tra số lượng và chất lượng sách
Thông tin nhân viên Cập nhật thông tin NV
Thông tin nhân viên Cập nhật thông tin
Thông tin nhân viên
Thông tin nhân viên
Thông tin đơn hàng nhập
Cập nhật lại đơn hàng đã gửi cho khách hàng
Yêu cầu gửi sách theo đơn đặt hàng
Thông tin phản hồi
Thông báo về tình trạng đơn hàng
Yêu cầu kiểm tra số lượng sách
Yêu cầu mua sách, thanh toán
NHÂN
VIÊN
KHÁCH HÀNG
1 QUẢN LÝ BÁN SÁCH
2 Data Đơn Hàng Nhập
3 Data nhà cung cấp
4 Data Sách
2 QUẢN LÝ MUA SÁCH
NHÀ CUNG CẤP
5 Data Đơn Hàng
6 Data Nhân viên