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Í MINHTRƯỜ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ÌNHQUẢ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ạnhLớ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ỌC1 Đặ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áchlý 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áchcó 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àyvà 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 71,11,n1,n
1,n1,n
1,1
Đơn hàngMã đơn hàngNgày đặt hàng nhậpTổng tiềnTrạng thái đơn hàngGhi chú
<pi> Text (50)Text (50)Text (50)Text (50)<M>
Identifier_1 <pi>
SáchMã sáchTên sáchTác giảThể loại sáchGiá sáchSố lượng tồn kho
<pi> Text (50)Text (50)Text (50)MoneyInteger
<M>
Identifier_1 <pi>Khách hàngMã khách hàngTên nhà cung cấpĐịa chỉSố điện thoạiEmail
<pi> Text (50)Text (50)Text (50)Text (50)<M>
Identifier_1 <pi>
Nhân viênMã nhân viênTên nhà cung cấpĐịa chỉSố điện thoạiEmail
<pi> Text (50)Text (50)Text (50)<M>
Identifier_1 <pi>
Nhà cung cấpMã nhà cung cápTên nhà cung cấpĐịa chỉSố điện thoạiEmail
<pi> Text (50)Text (50)Text (50)Text (50)<M>Đơn hàng nhập
Mã đơn hàng nhậpNgày đặt hàng nhậpTổng tiềnGhi chú
<pi> Text (50)Text (50)Text (50)<M>
Identifier_1 <pi>Mua Hàng
Chi tiết đơn hàngSố lượng sáchThành tiền
IntegerMoney
Nhập hàngNhập kho
Chi tiết đơn hàng nhậpSố lượng sáchThành tiền
Integer
Trang 8- Mức logic
Chi tiết đơn hàng nhập
Chi tiết đơn hàng nhậpChi tiết đơn hàng
Chi tiết đơn hàng
Nhập kho
Nhập hàngMua Hàng
Đơn hàng#oooo
Mã đơn hàngNgày đặt hàng nhậpTổng tiềnTrạng thái đơn hàngGhi chú
Text (50)Text (50)Text (50)Text (50)Text (50)
Sách#ooooo
Mã sáchTên sáchTác giảThể loại sáchGiá sáchSố lượng tồn kho
Text (50)Text (50)Text (50)Text (50)MoneyIntegerKhách hàng
#*oooo
Mã khách hàngMã đơn hàngTên nhà cung cấpĐịa chỉSố điện thoạiEmail
Text (50)Text (50)Text (50)Text (50)Text (50)Text (50)
Nhân viên#*oooo
Mã nhân viênMã đơn hàng nhậpTên nhà cung cấpĐịa chỉSố điện thoạiEmail
Text (50)Text (50)Text (50)Text (50)Text (50)Text (50)
Nhà cung cấp#*ooo
Mã nhà cung cápMã đơn hàng nhậpTê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
#ooo
Mã đơn hàng nhậpNgày đặt hàng nhậpTổng tiềnGhi chú
Text (50)Text (50)Text (50)Text (50)
Chi tiết đơn hàng##oo
Mã đơn hàngMã sáchSố lượng sáchThành tiền
Text (50)Text (50)IntegerMoney
Chi tiết đơn hàng nhập##oo
Mã đơn hàng nhậpMã sáchSố lượng sáchThành tiền
Text (50)Text (50)IntegerMoney
Trang 9- Mức vật lý
FK_CHI_TIET_CHI_TIET SACH
FK_CHI_TIET_CHI_TIET _ON_HANGFK_CHI_TIET_CHI_TIET SACH
FK_CHI_TIET_CHI_TIET _ON_HANG
FK_NHAN_VIE_NHAP_KHO ON_HANG
FK_NHA_CUNG_NHAP_HANG ON_HANGFK_KHACH_HA_MUA_HANG ON_HANG
Đơn hàngMã đơn hàngNgày đặt hàng nhậpTổng tiềnTrạng thái đơn hàngGhi chú
texttexttext<pk>
SáchMã sáchTên sáchTác giảThể loại sáchGiá sáchSố lượng tồn kho
texttexttextmoneyint
<pk>Khách hàng
Mã khách hàngMã đơn hàngTên nhà cung cấpĐịa chỉSố điện thoạiEmail
texttexttext<pk><fk>
Nhân viênMã nhân viênMã đơn hàng nhậpTên nhà cung cấpĐịa chỉSố điện thoạiEmail
texttexttexttext<pk><fk>
Nhà cung cấpMã nhà cung cápMã đơn hàng nhậpTên nhà cung cấpĐịa chỉSố điện thoạiEmail
texttexttext<pk><fk>Đơn hàng nhập
Mã đơn hàng nhậpNgày đặt hàng nhậpTổng tiềnGhi chú
texttexttext<pk>
Chi tiết đơn hàngMã đơn hàngMã sáchSố lượng sáchThành tiền
textintmoney
<pk,fk1> Chi tiết đơn hàng nhập
Mã đơn hàng nhậpMã sáchSố lượng sáchThành tiền
texttextintmoney
<pk,fk1><pk,fk2>
Trang 10Đơn hàng
Quản lý thông tin về các đơn đặt hàng của khách hàng, bao gồm mã đơn hàng, mã khách hàng, ngày đặt hàng, tổng số tiềnvà trạng thái đơn hàng
Sách
Lưu trữ thông tin về các cuốn sách trong nhà sách như mã sách, tên sách, tác giả, thể loại, giá cả và số lượng tồn kho
Chi 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àngnhậ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ể:
1 Nhà cung cấp
Mã nhà cung cấp (Primary Key)
Tên nhà cung cấp Địa chỉ nhà cung cấp Số điện thoại nhà cung cấp Email nhà cung cấp
2 Khách hàng
Mã khách hàng (Primary Key)
Tên khách hàng Địa chỉ khách hàng Số điện thoại khách hàng Email khách hàng
4 Sách
Mã sách (Primary Key)
Tên sách Tác giả Thể loại sách Giá sách Số lượng tồn kho
5 Chi tiết đơn hàng
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
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 16GOALTER DATABASE [QLBanSach] SET COMPATIBILITY_LEVEL 120
GOIF (1 =FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
beginEXEC [QLBanSach].[dbo] [sp_fulltext_database].@action ='enable'end
GOALTER DATABASE [QLBanSach] SET ANSI_NULL_DEFAULT OFFGO
ALTER DATABASE [QLBanSach] SET ANSI_NULLS OFFGO
ALTER DATABASE [QLBanSach] SET ANSI_PADDING OFFGO
ALTER DATABASE [QLBanSach] SET ANSI_WARNINGS OFFGO
ALTER DATABASE [QLBanSach] SET ARITHABORT OFFGO
ALTER DATABASE [QLBanSach] SET AUTO_CLOSE OFFGO
ALTER DATABASE [QLBanSach] SET AUTO_SHRINK OFFGO
ALTER DATABASE [QLBanSach] SET AUTO_UPDATE_STATISTICS ONGO
ALTER DATABASE [QLBanSach] SET CURSOR_CLOSE_ON_COMMIT OFFGO
ALTER DATABASE [QLBanSach] SET CURSOR_DEFAULT GLOBALGO
ALTER DATABASE [QLBanSach] SET CONCAT_NULL_YIELDS_NULL OFFGO
ALTER DATABASE [QLBanSach] SET NUMERIC_ROUNDABORT OFFGO
ALTER DATABASE [QLBanSach] SET QUOTED_IDENTIFIER OFFGO
ALTER DATABASE [QLBanSach] SET RECURSIVE_TRIGGERS OFFGO
ALTER DATABASE [QLBanSach] SET DISABLE_BROKERGO
ALTER DATABASE [QLBanSach] SET AUTO_UPDATE_STATISTICS_ASYNC OFFGO
ALTER DATABASE [QLBanSach] SET DATE_CORRELATION_OPTIMIZATION OFFGO
ALTER DATABASE [QLBanSach] SET TRUSTWORTHY OFFGO
ALTER DATABASE [QLBanSach] SET ALLOW_SNAPSHOT_ISOLATION OFFGO
ALTER DATABASE [QLBanSach] SET PARAMETERIZATION SIMPLEGO
ALTER DATABASE [QLBanSach] SET READ_COMMITTED_SNAPSHOT OFFGO
ALTER DATABASE [QLBanSach] SET HONOR_BROKER_PRIORITY OFFGO
ALTER DATABASE [QLBanSach] SET RECOVERY SIMPLE
Trang 17GOALTER DATABASE [QLBanSach] SET PAGE_VERIFYCHECKSUM
GOALTER DATABASE [QLBanSach] SET DB_CHAINING OFFGO
ALTER DATABASE [QLBanSach] SET FILESTREAM( NON_TRANSACTED_ACCESS =OFFGO
ALTER DATABASE [QLBanSach] SET TARGET_RECOVERY_TIME = 0 SECONDS
GOALTER DATABASE [QLBanSach] SET DELAYED_DURABILITYDISABLEDGO
SET QUOTED_IDENTIFIER ONGO
CREATE 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_LOCKSON,ALLOW_PAGE_LOCKSON)ON [PRIMARY])ON [PRIMARY]
GO
/****** Object: Table [dbo].[ChiTietDonHangNhap] Script Date: 19/07/2024 8:20:02 AM ******/
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
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_LOCKSON,ALLOW_PAGE_LOCKSON)ON [PRIMARY])ON [PRIMARY]
GO
/****** Object: Table [dbo].[DonHang] Script Date: 19/07/2024 8:20:02 AM ******/
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
CREATE TABLE [dbo].[DonHang]([MaDonHang] [int] IDENTITY( , )1 1NOT 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_LOCKSON,ALLOW_PAGE_LOCKSON)ON [PRIMARY])ON [PRIMARY]
GO
/****** Object: Table [dbo].[DonHangNhap] Script Date: 19/07/2024 8:20:02 AM ******/
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
CREATE TABLE [dbo].[DonHangNhap]([MaDonHangNhap] [int] IDENTITY( , )1 1NOT 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_LOCKSON,ALLOW_PAGE_LOCKSON)ON [PRIMARY])ON [PRIMARY]
GO
/****** Object: Table [dbo].[KhachHang] Script Date: 19/07/2024 8:20:02 AM ******/
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
CREATE TABLE [dbo].[KhachHang]([MaKhachHang] [int] IDENTITY( , )1 1NOT 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_LOCKSON,ALLOW_PAGE_LOCKSON)ON [PRIMARY])ON [PRIMARY]
GO
/****** Object: Table [dbo].[NhaCungCap] Script Date: 19/07/2024 8:20:02 AM******/
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
CREATE TABLE [dbo].[NhaCungCap]([MaNhaCungCap] [int] IDENTITY( , )1 1NOT 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_LOCKSON,ALLOW_PAGE_LOCKSON)ON [PRIMARY]