SlideShare a Scribd company logo
1 of 46
https://lop10.com/ 1
HỌC VIỆN KỸ THUẬT QUÂN SỰ
ĐÀO THỊ LAN ANH
ĐOÀN THỊ THANH
VŨ THỊ TRANG
NGUYỄN KHẮC HUYỀN CHÂU
Khóa 21-VB2
HỆ ĐẠI HỌC LIÊN THÔNG
BÁO CÁO MÔN HỌC
THỰC TẬP CƠ SỞ DỮ LIỆU
CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG PHẦN MỀM QUẢN LÍ BÁN THUỐC
https://lop10.com/ 2
NĂM 2018
CHƯƠNG 1. ĐẶC TẢ HỆ THỐNG
1. Mục đích yêu cầu
Hiện nay, tại các doanh nghiệp việc quản lý hàng hoá, nhân viên, hàng xuất nhập
hàng ngày…gặp nhiều khó khăn, chính vì vậy ý tưởng tạo lên một phần mềm để góp
phần giải quyết vấn đề trên của mỗi người lập trình là không thể tránh khỏi.
1.1 Mô tả hệ thống
1.1.1 Cơ cấu tổ chức và sự phân công trách nhiệm
1.1.1.1. Bộ phận kho hàng
- Nhập hàng
- Kiểm kê kho
- Xuất hàng cho khác
1.1.1.2 Bộ phận quản lý
- Lập hóa đơn bá
- Lập phiếu xuất kho
- Thanh toán với khách hàng
- Lập đơn hàng mua
- Thanh toán với nhà cung cấp
1.2 Quy trình nghiệp vụ
1.2.1 Bán hàng
Khi có nhu cầu mua hàng, nhân viên sẽ tư vấn cho khách hàng những nhân viên
bộ phận quản lý sẽ trao đổi thông tin với khách hàng để lập hóa đơn bán hàng, đơn hàng
được lập thành 3 bản:
-1 bản lưu tại bộ phận quản lý
https://lop10.com/ 3
-1 bản đưa cho khách (khi đã thanh toán)
-1 bản chuyển sang cho bộ phận bán hàng để xuất hàng
Sau khi khách thanh toán, nhân viên bộ phận quản lý sẽ gửi phiếu xuất
hàng sang bộ phận kho hàng. Nhân viên bộ phận kho sẽ lấy hàng và bàn giao cho
khách.
Sau khi kiểm tra hàng xong khách hàng ghi xác nhận vào phiếu xuất kho để kho
hàng lưu lại. Còn nhân viên kho hàng sẽ ký xác nhận vào hóa đơn bán của khách.
1.2.2 Mua hàng
Khi có yêu cầu mua hàng từ kho, nhân viên bộ phận quản lý sẽ lập đơn mua hàng
và gửi tới nhà cung cấp.
Nhà cung cấp sẽ theo đơn mua chuyển hàng đến công ty, nhân viên kho hàng sẽ
tiếp nhận hàng.
1.2.3 Quy tắc nghiệp vụ
Hằng ngày, bộ phận giao dịch phải thống kê tình hình bán hàng và thông báo với
ban quản lý.
Thứ 7 hàng tuần nhân viên kho hàng sẽ kiểm kê kho và nhận hàng mới. Cuối
tháng bộ phận quản lý sẽ thanh toán cho nhà cung cấp.
1.3 Lựa chọn giải pháp xây dựng hệ thống
- Thiết kế theo Winform
1.4 Đặc tả các chức năng cần xây dựng
1.4.1 Lập đơn bán hàng
- Đầu vào: Yêu cầu mua hàng
- Đầu ra: Hóa đơn bán hàng
-Nội dung xử lí: Xác nhận yêu cầu mua hàng của khách hàng và lập hóa đơn mua
hàng.
https://lop10.com/ 4
1.4.2 Lập đơn mua hàng
- Đầu vào: Phiếu yêu cầu
- Đầu ra: Đơn hàng mua
- Nội dung xử lý: Kiểm tra hàng tồn kho, lập đơn mua hàng gửi đến nhà cung cấp.
1.4.3 Cập nhật giá mới
- Đầu vào: Đơn giá mua
- Đầu ra: Đơn giá bán mới
- Nội dung xử lý: Cập nhật đơn giá mới.
1.4.4 Lập báo cáo trong ngày
- Đầu vào: Đơn hàng bán
- Đầu ra: Phiếu hàng bán
- Nội dung xử lý: Tổng hợp các đơn hàng bán trong ngày và lập ra báo cáo.
1.4.5 Lập phiếu giao hàng
- Đầu vào: Phiếu giao hàng
- Đầu ra: Phiếu xuất kho
- Nội dung xử lý: Kiểm tra phiếu giao hàng và gửi phiếu yêu cầu xuất kho đến kho
hàng
1.4.6 Lập phiếu nhập kho
-Đầu vào: phiếu nhận hàng
-Đầu ra: phiếu nhập kho
-Nội dung xử lý: cập nhật hóa đơn mua. Nhận hàng từ nhà cung cấp và gửi lại
phiếu nhập kho cho ban quản lý.
1.4.7 Kiểm tra hàng
- Đầu vào: kiểm tra hàng tồn trong kho.
- Đầu ra:
https://lop10.com/ 5
+ Nếu: hàng trong kho lớn hơn hoặc bằng hàng khách yêu cầu thì dừng
kiểm tra hàng.
+ Nếu: hàng tồn kho nhỏ hơn hàng khách yêu cầu thì lập phiếu yêu cầu
nhập hàng.
- Nội dung xử lý: cập nhật hàng tồn trong kho và lên danh sách những mặt
hàng cần nhập thêm, sau đó gửi yêu cầu nhập hàng
1.4.8 Nhập hàng
-Đầu vào: yêu cầu nhập hàng.
-Đầu ra: phiếu yêu cầu mua nhập hàng.
-Nội dung xử lý: gửi phiếu nhập hàng đến ban quản lý, ban quản lý xá nhận
phiếu nhập hàng.
1.5 Phân chia công việc
a. Phân chia công công việc trong mục 1:Các chức năng
Thêm sửa xóa Thuốc: Đoàn Thị Thanh
Thêm sửa xóa Hóa đơn xuất: Đào Thị Lan Anh
Thêm sửa xóa Hóa đơn nhập: Nguyễn Khắc Huyền Châu
Thêm sửa xóa Nhà phân phối, nhà sản xuất: Nguyễn Thị Trang
b.Lên kế hoạch nội dung công việc ho mỗi cá nhân trong từng tuần
Tuần 1,2,3,4,5:Làm báo cáo , từ tuần 6 cài đặt cơ sở dữ liệu theo chức năng
mà từng cá nhân đảm nhiệm. Từng tuần sẽ tổng hợp và báo cáo!
https://lop10.com/ 6
CHƯƠNG 2: PHÂN TÍCH VÀ CÀI ĐẶT DỮ LIỆU HỆ THỐNG
2.1 Mô tả hệ thống dưới dạng mối quan hệ dữ liệu
2.1.1. Xác định kiểu thực thể, kiểu thuộc tính
- Thuoc (IDThuoc, MaThuoc, TenThuoc, TenNhom, NguonGoc, TenNSX,
SoLuong, GiaBan, TenDVT, ThanhPhan, HamLuong, CongDung,
PhanTacDung, CachDung, ChuY, HanSuDung, BaoQuan, DangBaoChe).
- NhomThuoc (MaNhom, TenNhom, GhiChu).
- NhaSanXuat (MaNSX, TenNSX, DiaChi, DienThoai, Fax, Email,
GhiChu).
- DonViTinh (MaDVT, TenDVT).
- BenhNhan (IDBN, MaBN, HoTen, Tuoi, DiaChi, DienThoai).
- NhaPhanPhoi (MaNPP, TenNPP, DiaChi, DienThoai, Fax, Email,
MaSoThue, GhiChu).
- HoaDonNhap (MaHDN, TenNPP, DiaChi, DienThoai, NguoiGiao,
NguoiNhan, TenThuoc, SoLuongNhap, GiaNhap, TongTienThuoc,
TongThue, TongTienHD, NgayViet, NgayNhap).
- HoaDonXuat (MaHDX, HoTen, Tuoi, DiaChi, DienThoai, TenThuoc,
GiaBan, SoLuongXuat, Thue,DonVi, NgayLap, TongTienThuoc,
TongThue, TongTienHD).
2.1.2. Xác định kiểu liên kết
https://lop10.com/ 7
có
HoaDonNhap NhaPhanPhoi
gồm
Thuoc HoaDonNhap
theo
DonViTinh Thuoc
theo
NhomThuoc Thuoc
có
NhaSanXuat Thuoc
gồm
Thuoc HoaDonXuat
gồm
BenhNhan HoaDonXuat
2.2 Xây dựng mô hình liên hết thực thể
❖ Ký hiệu sử dụng
Bảng quan hệ (Table)
Theo Quan hệ (Relational)
❖ Mô hình
https://lop10.com/ 8
THUOC
IDThuoc
MaThuoc
TenThuoc
TenNhom
NguonGoc
TenNSX
SoLuong
GiaBan
TenDVT
ThanhPhan
HamLuong
CongDung
PhanTacDung
CachDung
ChuY
HanSuDung
BaoQuan
DangBaoChe
NhaSanXuat
MaNSX
TenNSX
DiaChi
DienThoai
Fax
Email
GhiChu
HoaDonNhap
MaHDN
TenNPP
DiaChi
DienThoai
NguoiGiao
NguoiNhan
NgayViet
NgayNhap
TongTienHD
TongTienThuoc
TongThue
TenThuoc
SoLuongNhap
GiaNhap
NhaPhanPhoi
MaNPP
TenNPP
DiaChi
DienThoai
Fax
Email
MaSoThue
GhiChu
DonViTinh
MaDVT
TenDVT
NhomThuoc
MaNhom
TenNhom
GhiChu
HoaDonXuat
MaHDX
HoTen
Tuoi
DiaChi
DienThoai
NgayLap
TongTienHD
TongThue
TongTienThuoc
TenThuoc
GiaBan
SoLuongXuat
Thue
DonVi
BenhNhan
IDBN
MaBN
HoTen
Tuoi
DiaChi
DienThoai
gồm
có
theo
gồm
Theo
có
có
Hình 1: Mô hình thực thể mở rộng
2.3 Vẽ mô hình quan hệ
https://lop10.com/ 9
THUOC
IDThuoc
MaThuoc
TenThuoc
MaNhom
NguonGoc
MaNSX
SoLuong
GiaBan
MaDVT
ThanhPhan
HamLuong
CongDung
PhanTacDung
CachDung
ChuY
HanSuDung
BaoQuan
DangBaoChe
NhaSanXuat
MaNSX
TenNSX
DiaChi
DienThoai
Fax
Email
GhiChu
HoaDonNhap
MaHDN
MaNPP
NguoiGiao
NguoiNhan
TongTienThuoc
TongThue
TongTienHD
NgayViet
NgayNhap
ChiTietHoaDonNhap
MaCTHDN
MaHDN
IDThuoc
SoLuongNhap
GiaNhap
NhaPhanPhoi
MaNPP
TenNPP
DiaChi
DienThoai
Fax
Email
MaSoThue
GhiChu
DonViTinh
MaDVT
TenDVT
NhomThuoc
MaNhom
TenNhom
GhiChu
HoaDonXuat
MaHDX
IDBN
NgayLap
TongTienThuoc
TongThue
TongTienHD
ChiTietHoaDonXuat
MaCTHDX
MaHDX
IDThuoc
SoLuong
GiaBan
Thue
DonVi
BenhNhan
IDBN
MaBN
HoTen
Tuoi
DiaChi
DienThoai
Hình 2: Mô hình quan hệ
2.5 Đặc tả các bảng
2.5.1 Bảng hóa đơn nhập – HoaDonNhap
https://lop10.com/ 10
ST
T
Khóa
chính
Khóa
ngoại
Tên trường Kiểu dữ liệu Diễn giải
1 X MaHDN Int Mã hóa đơn nhập
2 X MaNPP Int Mã nhà phân phối
3 NguoiGiao Nvarchar(50) Người giao
4 NguoiNhan Nvarchar(50) Người nhận
5 TongTienThuoc Money Tổng tiền thuốc
6 TongThue Float Tổng thuế
7 TongTienHD Money Tổng tiền hóa đơn
8 NgayViet Datetime Ngày viết hóa đơn
9 NgayNhap Datetime Ngày nhập hàng
Bảng 1: Bảng dữ liệu hóa đơn nhập
2.5.2 Bảng nhà phân phối - NhaPhanPhoi
STT Khóa
chính
Khóa
ngoại
Tên trường Kiểu dữ liệu Diễn giải
1 X MaNPP Int Mã nhà phân phối
2 TenNPP Nvarchar(100) Tên nhà phân phối
3 DiaChi Nvarchar(200) Địa chỉ NPP
4 DienThoai Varchar(100) Điện thoại NPP
5 Fax Varchar(100) Fax
6 Email Varchar(100) Email
7 MaSoThue Varchar(100) Mã số thuế
8 GhiChu Nvarchar(200) Ghi chú
Bảng 2: Bảng dữ liệu nhà phân phối
https://lop10.com/ 11
2.5.3 Bảng chi tiết hóa đơn nhập - ChiTietHoaDonNhap
STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải
1 X MaCTHDN Int Mã chi tiết hóa đơn
nhập
2 X MaHDN Int Mã hóa đơn nhập
3 X IDThuoc Int Số hiệu thuốc
4 SoLuong Int Số lượng
5 GiaNhap Money Giá nhập
Bảng 3: Bảng dữ liệu chi tiết hóa đơn nhập
2.5.4 Bảng đơn vị tính - DonViTinh
STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải
1 X MaDVT Int Mã đơn vị tính
2 TenDVT Nvarchar(50) Tên đơn vị tính
Bảng 4: Bảng dữ liệu đơn vị tính
2.5.5 Bảng thuốc - Thuoc
STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải
1 X IDThuoc Int Số hiệu của thuốc
2 MaThuoc Nvarchar(100) Mã thuốc
3 TenThuoc Nvarchar(50) Tên thuốc
4 X MaNhom int Mã nhóm thuốc
5 NguonGoc Nvarchar(100) Nguồn gốc
6 X MaNSX Int Mã nhà sản xuất
https://lop10.com/ 12
7 SoLuong Int Số lượng tồn
8 GiaBan Money Giá bán
9 X MaDVT Int Mã đơn vị tính
10 ThanhPhan Nvarchar(500) Thành phần
11 HamLuong Nvarchar(500) Hàm lượng
12 CongDung Nvarchar(500) Công dụng
13 PhanTacDung Nvarchar(500) Phản tác dụng
14 CachDung Nvarchar(500) Cách dung
15 ChuY Nvarchar(500) Chú ý
16 HanSuDung Nvarchar(500) Hạn sử dụng
17 BaoQuan Nvarchar(500) Bảo quản
18 DangBaoChe Nvarchar(500) Dạng bào chế
Bảng 5: Bảng dữ liệu thuốc
2.5.6 Bảng nhà sản xuất - NhaSanXuat
STT Khóa
chính
Khóa
ngoại
Tên trường Kiểu dữ liệu Diễn giải
1 X MaNSX Int Mã nhà sản xuất
2 TenNSX Nvarchar(100) Tên nhà sản xuất
3 DiaChi Nvarchar(200) Địa chỉ
4 DienThoai Varchar(100) Điện thoại
5 Fax Varchar(100) Fax
6 Email Varchar(100) Email
7 GhiChu Nvarchar(200) Ghi chú
Bảng 6: Bảng dữ liệu nhà sản xuất
2.5.7 Bảng nhóm thuốc - NhomThuoc
STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải
1 X MaNhom Int Mã nhóm thuốc
https://lop10.com/ 13
2 TenNhom Nvarchar(100) Tên nhóm thuốc
3 GhiChu Nchar(100) Ghi chú
Bảng 7: Bảng dữ liệu nhóm thuốc
2.5.8 Bảng hóa đơn xuất - HoaDonXuat
STT Khóa
chính
Khóa
ngoại
Tên trường Kiểu dữ
liệu
Diễn giải
1 x MaHDX Int Mã hóa đơn xuất
2 IDBN Int Mã số bệnh nhân
3 TongTienThuoc Money Tổng tiền thuốc
4 NgayLap Datetime Ngày lập hóa đơn
5 TongThue Float Tổng tiền thuế
6 TongTienHD Money Tổng tiền hóa đơn
Bảng 8: Bảng dữ liệu hóa đơn xuất
2.5.9 Bảng chi tiết hóa đơn xuất - ChiTietHoaDonXuat
STT Khóa
chính
Khóa
ngoại
Tên trường Kiểu dữ liệu Diễn giải
1 x MaCTHDX Int Mã chi tiết hóa đơn xuất
2 X MaHDX Int Mã hóa đơn xuất
3 X IDThuoc Int Số hiệu của thuốc
4 SoLuong Int Số lượng
5 GiaBan Money Giá bán
6 Thue Float Thuế
7 DonVi Nvarchar(50) Đơn vị
Bảng 9: Bảng dữ liệu chi tiết hóa đơn xuất
2.5.10 Bảng bệnh nhận - BenhNhan
STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải
https://lop10.com/ 14
1 X IDBN Int Mã số bệnh nhân
2 MaBN Nvarchar(100) Mã bệnh nhân
3 HoTen Nvarchar(50) Họ tên bệnh nhân
4 Tuoi Int Tuổi bệnh nhân
5 DiaChi Nvarchar(500) Địa chỉ
6 DienThoai Varchar(50) Điện thoại
Bảng 10: Bảng dữ liệu bệnh nhân
2.6 Cài đặt mô hình dữ liệu
1. Câu lệnh tạo bảng bệnh nhân
CREATE TABLE [dbo].[BenhNhan](
[IDBN] [int] IDENTITY(1,1) NOT NULL,
[MaBN] [nvarchar](100) NOT NULL,
[HoTen] [nvarchar](50) NOT NULL,
[Tuoi] [int] NOT NULL,
[DiaChi] [nvarchar](500) NULL,
[DienThoai] [varchar](50) NULL)
2. Câu lệnh tạo bảng chi tiết hóa đơn nhập
CREATE TABLE [dbo].[ChiTietHoaDonNhap](
[MaCTHDN] [int] IDENTITY(1,1) NOT NULL,
[MaHDN] [int] NOT NULL,
[IDThuoc] [int] NOT NULL,
[SoLuong] [int] NOT NULL,
[GiaNhap] [money] NOT NULL)
3. Câu lệnh tạo bảng chi tiết hóa đơn xuất
CREATE TABLE [dbo].[ChiTietHoaDonXuat](
[MaCTHDX] [int] IDENTITY(1,1) NOT NULL,
[MaHDX] [int] NOT NULL,
[IDThuoc] [int] NOT NULL,
[SoLuong] [int] NOT NULL,
[GiaBan] [money] NOT NULL,
[Thue] [float] NOT NULL,
[DonVi] [nvarchar](50) NOT NULL)
4. Câu lệnh tạo bảng đơn vị tính
CREATE TABLE [dbo].[DonViTinh](
[MaDVT] [int] IDENTITY(1,1) NOT NULL,
[TenDVT] [nvarchar](50) NOT NULL)
5. Câu lệnh tạo bảng hóa đơn nhập
CREATE TABLE [dbo].[HoaDonNhap](
[MaHDN] [int] IDENTITY(1,1) NOT NULL,
[MaNPP] [int] NOT NULL,
[NguoiGiao] [nvarchar](50) NOT NULL,
[NguoiNhan] [nvarchar](50) NOT NULL,
[TongTienThuoc] [money] NOT NULL,
[TongThue] [float] NOT NULL,
[TongTienHD] [money] NOT NULL,
[NgayNhap] [datetime] NOT NULL,
[NgayViet] [datetime] NULL)
https://lop10.com/ 15
6. Câu lệnh tạo bảng hóa đơn xuất
CREATE TABLE [dbo].[HoaDonXuat](
[MaHDX] [int] IDENTITY(1,1) NOT NULL,
[IDBN] [int] NOT NULL,
[NgayLap] [datetime] NOT NULL,
[TongTienThuoc] [money] NOT NULL,
[TongThue] [float] NOT NULL,
[TongTienHD] [money] NOT NULL)
7. Câu lệnh tạo bảng nhà phân phối
CREATE TABLE [dbo].[NhaPhanPhoi](
[MaNPP] [int] IDENTITY(1,1) NOT NULL,
[TenNPP] [nvarchar](100) NOT NULL,
[DiaChi] [nvarchar](200) NOT NULL,
[DienThoai] [varchar](100) NOT NULL,
[Fax] [varchar](100) NOT NULL,
[Email] [varchar](100) NOT NULL,
[MaSoThue] [varchar](100) NOT NULL,
[GhiChu] [nvarchar](200) NOT NULL)
8. Câu lệnh tạo bảng nhà sản xuất
CREATE TABLE [dbo].[NhaSanXuat](
[MaNSX] [int] IDENTITY(1,1) NOT NULL,
[TenNSX] [nvarchar](100) NOT NULL,
[DiaChi] [nvarchar](200) NOT NULL,
[DienThoai] [varchar](100) NOT NULL,
[Fax] [varchar](100) NOT NULL,
[Email] [varchar](100) NOT NULL,
[GhiChu] [nvarchar](200) NOT NULL)
9. Câu lệnh tạo bảng nhóm thuốc
CREATE TABLE [dbo].[NhomThuoc](
[MaNhom] [int] IDENTITY(1,1) NOT NULL,
[TenNhom] [nvarchar](100) NOT NULL,
[GhiChu] [nchar](100) NULL)
10. Câu lệnh tạo bảng thuốc
CREATE TABLE [dbo].[Thuoc](
[IDThuoc] [int] IDENTITY(1,1) NOT NULL,
[MaThuoc] [nvarchar](100) NOT NULL,
[TenThuoc] [nvarchar](50) NOT NULL,
[MaNhom] [int] NOT NULL CONSTRAINT [DF_Thuoc_MaNhom] DEFAULT ((1)),
[NguonGoc] [nvarchar](100) NOT NULL CONSTRAINT [DF_Thuoc_NguonGoc] DEFAULT (N''),
[MaNSX] [int] NOT NULL CONSTRAINT [DF_Thuoc_MaNSX] DEFAULT ((1)),
[SoLuong] [int] NOT NULL CONSTRAINT [DF_Thuoc_SoLuong] DEFAULT ((0)),
[GiaBan] [money] NOT NULL CONSTRAINT [DF_Thuoc_GiaBan] DEFAULT ((0)),
[MaDVT] [int] NOT NULL CONSTRAINT [DF_Thuoc_MaDVT] DEFAULT ((1)),
[ThanhPhan] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_ThanhPhan] DEFAULT (N''),
[HamLuong] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_HamLuong] DEFAULT (N''),
[CongDung] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_CongDung] DEFAULT (N''),
[PhanTacDung] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_PhanTacDung] DEFAULT
(N''),
[CachDung] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_CachDung] DEFAULT (N''),
[ChuY] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_ChuY] DEFAULT (N''),
[HanSuDung] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_HanSuDung] DEFAULT (N''),
[BaoQuan] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_BaoQuan] DEFAULT (N''),
[DangBaoChe] [nvarchar](500) NULL,
https://lop10.com/ 16
Bảng Diagram
https://lop10.com/ 17
CHƯƠNG 3: KHAI THÁC CƠ SỞ DỮ LIỆU
3.1 Khác thác bằng ngôn ngữ SQL
3.1.1 Đoàn Thị Thanh
1.lấy ra toàn bộ những thông tin thuốc
select * from thuoc
2.lấy ra thông tin bệnh nhân mua ít nhất 1 loại thuốc
select h.IDBN, b.HoTen ,count (*) soluong
from BenhNhan b , hoadonxuat h , chitiethoadonxuat c , thuoc t
where b.IDBN=h.IDBN and c.IDThuoc = t.IDThuoc
and c.SoLuong >=1
group by h.IDBN, b.HoTen
3. tính tổng những loại thuốc cùng 1 nhóm
select manhom , count(*) Soluong from thuoc group by manhom ;
4. lấy ra ít nhất 2 loại thuốc cùng nhà phân phối
select t.TenThuoc,npp.TenNPP from NhaPhanPhoi npp, Thuoc t, HoaDonNhap hdn ,
ChiTietHoaDonNhap ct
where npp.MaNPP=hdn.MaNPP and t.IDThuoc=ct.IDThuoc
5.lấy ra những thuốc có giá dưới 100.000
select GiaBan ,TenThuoc from thuoc
where GiaBan <100
6.lấy ra tên thuốc, mã thuốc trong nhóm thuốc "Giảm đau hạ sốt chống viêm"
select thuoc.MaThuoc, thuoc.TenThuoc, nhomthuoc.TenNhom from thuoc, NhomThuoc
where TenNhom= N'Giảm đau, hạ sốt chống viêm'
7. lấy ra những nhóm thuốc sản xuất có nguồn gốc tại VN
select NhomThuoc.TenNhom, thuoc.NguonGoc from NhomThuoc, Thuoc
where NhomThuoc.MaNhom=thuoc.MaNhom
and NguonGoc=N'Viet Nam'
https://lop10.com/ 18
8. lấy ra nhưng tên thuốc có số lượng dưới 50
select SoLuong,TenThuoc from thuoc
where SoLuong <= 50
9. Lấy ra mã thuốc tên thuốc bán được bán nhiều trên 10 sp
select Thuoc.MaThuoc, thuoc.TenThuoc from thuoc, ChiTietHoaDonXuat a
where thuoc.IDThuoc=a.IDThuoc
and a.SoLuong >10
10. Lấy ra mã thuốc tên thuốc bán được bán nhiều dưới 10 sp
select Thuoc.MaThuoc, thuoc.TenThuoc from thuoc, ChiTietHoaDonXuat a
where thuoc.IDThuoc=a.IDThuoc
and a.SoLuong <10
11.thêm mới 1 nhóm thuôc
insert into nhomThuoc ( tennhom, ghichu) values ('Thuốc tăng sức đề kháng cho trẻ', 1);
12.truy vấn thuốc có tên 'Nystatin' thêm 10 sp
update Thuoc set SoLuong=Soluong+10 where TenThuoc='Nystatin'
select * from Thuoc
13. xóa 1 loại thuốc bất kỳ
delete from Thuoc where IDThuoc = 1067
14, sửa Mã thuốc 'MT_16' thành 'MT_16Oliza'
update Thuoc set MaThuoc = N'MT_16 Oliza' where MaThuoc= N'MT_16'
15. câu lệnh tạo bảng nhóm thuốc
CREATE TABLE [dbo].[NhomThuoc](
[MaNhom] [int] IDENTITY(1,1) NOT NULL,
[TenNhom] [nvarchar](100) NOT NULL,
[GhiChu] [nchar](100) NULL,)
16. xóa 1 nhóm thuốc
delete from NhomThuoc where MaNhom=1
17.sắp xếp số lượng thuốc theo chiều giảm dần
select * from thuoc
order by SoLuong desc
18.lấy ra tên bệnh nhân
select HoTen from BenhNhan
https://lop10.com/ 19
19. lấy ra tên thuốc, mã thuốc
select TenThuoc, MaThuoc from thuoc
20.lấy ra 3 loại thuốc còn nhiều số lượng nhất
select top 3 * from thuoc
order by SoLuong desc
21.sắp xếp gián bán thuốc theo chiều tăng dần
select * from thuoc
order by GiaBan
22. lấy dữ liệu từ 2 bảng thuốc và đơn vị tính lây ra những thuốc có đơn vị tính là 'viên'
select thuoc.TenThuoc,DonViTinh.TenDVT from thuoc, DonViTinh
where TenDVT=N'viên'
23. lấy ra thông tin bệnh nhân mua nhiều thuốc nhất
select top 1 benhnhan.HoTen ,count(ct.soluong) sl from BenhNhan,
ChiTietHoaDonXuat ct, HoaDonXuat b
where BenhNhan.IDBN=b.IDBN and ct.MaHDX=b.MaHDX
group by benhnhan.HoTen
order by sl desc
24. lấy ra thông tin thuốc bán nhiều nhất
select top 1 thuoc.TenThuoc, count(a.SoLuong) sl from thuoc, ChiTietHoaDonXuat a
where Thuoc.IDThuoc= a.IDThuoc
group by thuoc.TenThuoc
order by sl desc
25.lấy ra thông tin của các nhà sản xuất
select * from NhaSanXuat
select * from BenhNhan
26.truy vấn tạo 1 bệnh nhân mới
insert into BenhNhan ( MaBN, HoTen, Tuoi,DiaChi, DienThoai) values ( 'BN_3',
N'Nguyễn Văn Việt', 28, 'Ha Noi', '012746287')
27. Truy vấn tạo thêm 1 nhà xản xuất
CREATE TABLE [dbo].[NhaSanXuat](
[MaNSX] [int] IDENTITY(1,1) NOT NULL,
[TenNSX] [nvarchar](100) NOT NULL,
[DiaChi] [nvarchar](200) NOT NULL,
[DienThoai] [varchar](100) NOT NULL,
[Fax] [varchar](100) NOT NULL,
https://lop10.com/ 20
[Email] [varchar](100) NOT NULL,
[GhiChu] [nvarchar](200) NOT NULL,)
28. câu lệnh tạo bảng nhà phân phối
CREATE TABLE [dbo].[NhaPhanPhoi](
[MaNPP] [int] IDENTITY(1,1) NOT NULL,
[TenNPP] [nvarchar](100) NOT NULL,
[DiaChi] [nvarchar](200) NOT NULL,
[DienThoai] [varchar](100) NOT NULL,
[Fax] [varchar](100) NOT NULL,
[Email] [varchar](100) NOT NULL,
[MaSoThue] [varchar](100) NOT NULL,
[GhiChu] [nvarchar](200) NOT NULL,)
29. câu lệnh tạo bảng bệnh nhân
CREATE TABLE [dbo].[BenhNhan](
[IDBN] [int] IDENTITY(1,1) NOT NULL,
[MaBN] [nvarchar](100) NOT NULL,
[HoTen] [nvarchar](50) NOT NULL,
[Tuoi] [int] NOT NULL,
[DiaChi] [nvarchar](500) NULL,
[DienThoai] [varchar](50) NULL,)
30.câu lệnh tạo bảng đơn vị tính
CREATE TABLE [dbo].[DonViTinh](
[MaDVT] [int] IDENTITY(1,1) NOT NULL,
[TenDVT] [nvarchar](50) NOT NULL,)
3.1.2 Đào Thị Lan Anh
1.hiển thị thông tin đầy đủ của 5 hóa đơn đầu tiên trong bảng Hóa đơn xuất
select top 5 * from HoaDonXuat
2. hiển thị tất cả mã thuốc
SELECT * FROM NhomThuoc
3. lấy ra tên thuốc, mã thuốc
select TenThuoc, MaThuoc from thuoc
4. xóa 2 nhóm thuốc
delete from NhomThuoc where Manhom=1 and Manhom =2
https://lop10.com/ 21
5. sửa mã nhóm của tên thuốc Betaphenin là 2
Update Thuoc
Set Tenthuoc='Betaphenin'
Where MaNhom=2
6.sắp xếp số lượng thuốc theo chiều giảm dần
select * from thuoc
order by SoLuong desc
7.lấy ra tên bệnh nhân
select HoTen from BenhNhan
8.lấy ra 5 loại thuốc còn nhiều số lượng nhất
select top 5* from thuoc
order by SoLuong desc
9. hiển thị toàn bộ thông tin của bảng Nhà phân phối
select* from NhaPhanPhoi
10.hiển thị thông tin đầy đủ của 10 nhà phân phối đầu tiên trong bảng Nhà phân phối
select top 10 * from NhaPhanPhoi
11.Hiển thị thong tin của tất cả các thuôc
SELECT * FROM thuoc
12. lấy ra những nhóm thuốc sản xuất có nguồn gốc tại VN
select NhomThuoc.TenNhom, thuoc.NguonGoc from NhomThuoc, Thuoc
where NhomThuoc.MaNhom=thuoc.MaNhom
and NguonGoc=N'Viet Nam'
13. lấy ra nhưng tên thuốc có số lượng dưới >100
select SoLuong,TenThuoc from thuoc
where SoLuong >100
14.hiển thị thông tin hóa đơn xuất có mã hóa đơn 3
select * from HoaDonXuat where MaHDX=3
15.hiển thị thông tin hóa đơn nhập có mã hóa đơn 1
select * from HoaDonNhap where MaHDN=1
16.hiển thị danh sách các nhà phân phối không có hóa đơn nhập.
https://lop10.com/ 22
select * from NhaPhanPhoi
where NhaPhanPhoi.MaNPP NOT IN
( select HoaDonXuat.MaNPP
from HoaDonXuat )
17.hiển thị danh sách các hóa đơn xuất sắp xếp theo ngày nhập gần đây nhất trong bảng
Hóa đơn xuất
select * from HoaDonXuat order by NgayXuat DESC
18. Hiển thị các thuốc có hạn sử dụng = 3 năm
Select * from Thuoc where HanSuDung='3 năm'
19. lấy ra thông tin thuốc bán nhiều nhất
select top 1 thuoc.TenThuoc, count(a.SoLuong) sl from thuoc, ChiTietHoaDonXuat a
where Thuoc.IDThuoc= a.IDThuoc
20.thay đổi ngày xuất của hóa đơn xuất có mã hóa đơn =3
update HoaDonXuat set NgayLap='02/02/2009' where MaHDX='3'
21. hiển thị danh sách các nhóm thuốc mà trong TenNhom có từ dược tác dụng
select * from NhomThuoc where TenNhom like N'%tác dụng%'
22.lấy ra thông tin bệnh nhân mua nhiều thuốc nhất
select top 1 benhnhan.HoTen ,count(ct.soluong) sl from BenhNhan,
ChiTietHoaDonXuat ct, HoaDonXuat b
where BenhNhan.IDBN=b.IDBN and ct.MaHDX=b.MaHDX
group by benhnhan.HoTen
order by sl desc
23.hiển thị hóa đơn xuất có tổng tiền thuốc <30.000
select * from HoaDonXuat
Where TongTienThuoc<30.000
24. thêm mới 1 nhóm thuôc
insert into nhomThuoc ( tennhom, ghichu) values ('Thuốc chống ung thư', 1);
25. câu lệnh truy vấ tạo bảng chi tiết hóa đơn xuất
CREATE TABLE [dbo].[ChiTietHoaDonXuat](
[MaCTHDX] [int] IDENTITY(1,1) NOT NULL,
[MaHDX] [int] NOT NULL,
[IDThuoc] [int] NOT NULL,
[SoLuong] [int] NOT NULL,
[GiaBan] [money] NOT NULL,
https://lop10.com/ 23
[Thue] [float] NOT NULL,
[DonVi] [nvarchar](50) NOT NULL,
26. câu lệnh truy vấn tạo bảng hóa đơn xuất
CREATE TABLE [dbo].[HoaDonXuat](
[MaHDX] [int] IDENTITY(1,1) NOT NULL,
[IDBN] [int] NOT NULL,
[NgayLap] [datetime] NOT NULL,
[TongTienThuoc] [money] NOT NULL,
[TongThue] [float] NOT NULL,
[TongTienHD] [money] NOT NULL,
27.sắp xếp gián bán thuốc theo chiều giảm dần
select * from thuoc
order by GiaBan DESC
28. Truy vấn tạo thêm 1 nhà xản xuất
CREATE TABLE [dbo].[NhaSanXuat](
[MaNSX] [int] IDENTITY(1,1) NOT NULL,
[TenNSX] [nvarchar](100) NOT NULL,
[DiaChi] [nvarchar](200) NOT NULL,
[DienThoai] [varchar](100) NOT NULL,
[Fax] [varchar](100) NOT NULL,
[Email] [varchar](100) NOT NULL,
[GhiChu] [nvarchar](200) NOT NULL,
29. hiển thị các mã hoa đơn nhập có tổng thuế >50
select * from HoaDonXuat
Where TongThue>60
30.câu lệnh tạo bảng bệnh nhân
CREATE TABLE [dbo].[BenhNhan](
[IDBN] [int] IDENTITY(1,1) NOT NULL,
[MaBN] [nvarchar](100) NOT NULL,
[HoTen] [nvarchar](50) NOT NULL,
[Tuoi] [int] NOT NULL,
[DiaChi] [nvarchar](500) NULL,
[DienThoai] [varchar](50) NULL,)
3.1.3 Nguyễn Khắc Huyền Châu
--1. Hiển thị toàn bộ thông tin của bảng Hóa đơn nhập
https://lop10.com/ 24
select * from HoaDonNhap
--2. Hiển thị Mã hóa đơn nhập, Người Giao, Người nhận, Tổng tiền hóa đơn của những
hóa đơn có ngày nhập là 19/06/2017
select MaHDN, NguoiGiao, NguoiNhan, TongTienHD
from HoaDonNhap
where NgayNhap='19/06/2017'
--3. Hiển thị thông tin đầy đủ của 3 hóa đơn nhập đầu tiên trong bảng Hóa đơn nhập
select top 3 * from HoaDonNhap
--4. Hiển thị thông tin đầy đủ của 5 hóa đơn đầu tiên trong bảng Hóa đơn nhập
select top 5 * from HoaDonNhap
--5. Hiển thị thông tin của các Nhà phân phối có mã số thuế bắt đầu bằng 123
select * from NhaPhanPhoi where MaSoThue like '123%'
--6. Hiển thị danh sách các hóa đơn nhậpcó tổng tiền hóa đơn lớn hơn 150000đ
select * from HoaDonNhap where TongTienHD>150.000
--7. Hiển thị danh sách các hóa đơn nhập có tổng tiền hóa đơn nhỏ hơn 150000đ
select * from HoaDonNhap where TongTienHD<150.000
--8. Hiển thị danh sách các hóa đơn nhập có tổng tiền hóa đơn từ 150000đ đến 300000đ
select * from HoaDonNhap where TongTienHD between 150.000 and 300.000
--9. Hiển thị danh sách các hóa đơn nhập có tên người nhận bắt đầu bằng chữ H
select * from HoaDonNhap where NguoiNhan like 'H%'
--10. Hiển thị danh sách các hóa đơn nhập có tên người giao kết thúc bằng chữ ng
select * from HoaDonNhap where NguoiGiao like '%ng'
https://lop10.com/ 25
--11. Hiển thị danh sách các hóa đơn nhập có Người Giao tên là An
select * from HoaDonNhap where NguoiGiao like N'An'
--12. Hiển thị thông tin hóa đơn nhập có mã hóa đơn =1
select * from HoaDonNhap where MaHDN=1
--13. Hiển thị tên nhà phân phối theo mã Hóa đơn nhập
select MaHDN, TenNPP
from HoaDonNhap, NhaPhanPhoi
where HoaDonNhap.MaNPP=NhaPhanPhoi.MaNPP
--14. Hiển thị danh sách các nhà phân phối không có hóa đơn nhập.
select * from NhaPhanPhoi
where NhaPhanPhoi.MaNPP NOT IN (
select HoaDonNhap.MaNPP
from HoaDonNhap )
--15. Hiển thị danh sách các hóa đơn có tổng tiền hóa đơn nhỏ hơn 150000 và lớn hơn
300000
select * from HoaDonNhap
where TongTienHD not between 150.000 and 300.000
--16. Hiển thị danh sách các nhà phân phối có mã hóa đơn lần lượt là 1,13,38
select MaHDN, TenNPP
from HoaDonNhap, NhaPhanPhoi
where HoaDonNhap.MaNPP=NhaPhanPhoi.MaNPP and MaHDN in(1,13,38)
https://lop10.com/ 26
--17. Hiển thị danh sách các hóa đơn nhập sắp xếp theo ngày nhập gần đây nhất trong
bảng Hóa đơn nhập
select * from HoaDonNhap order by NgayNhap DESC
--18. Hiển thị danh sách các nhà phân phối mà trong TenNPP có từ dược phẩm
select * from NhaPhanPhoi where TenNPP like N'%dược phẩm%'
--19. Hiển thị danh sách những hóa đơn nhập có ký tự thứ hai của tên người giao có
chứa chữ N
select * from HoaDonNhap where NguoiGiao like'_n%'
--20. Hiển thị danh sách các hóa đơn nhập theo thứ tự tăng dần của Tổng tiền hóa đơn
select * from HoaDonNhap order by TongTienHD
--21. Lấy ra số lượng hóa đơn nhập của các Nhà phân phối ( đếm số lượng tương ứng)
select MaNPP, count(MaHDN) as 'so_luong'
from HoaDonNhap
group by MaNPP
--22. Hiển thị tính tổng toàn bộ Tiền hóa đơn trong bảng Hóa đơn nhập
select sum(TongTienHD)
from HoaDonNhap
--23. Hiển thị tổng Tiền hóa đơn theo Tên Người Nhận
select NguoiNhan, sum(TongTienHD)
from HoaDonNhap
group by NguoiNhan
https://lop10.com/ 27
--24. Hiển thị tính Tổng tiền hóa đơn trung bình của những hóa đơn có Tổng tiền hóa
đơn từ 150000 đến 250000
select avg(TongTienHD)
from HoaDonNhap
where TongTienHD between 150000 and 250000
--25. Hiển thị tổng tiền hóa đơn nhiều nhất trong bảng Hóa đơn nhập
select max(TongTienHD)
from HoaDonNhap
--26. Hiển thị tổng tiền hóa đơn ít nhất trong bảng Hóa đơn nhập
select min(TongTienHD)
from HoaDonNhap
--27. Cập nhật giá nhập * 1.2 trong bảng Chi tiết hóa đơn nhập cho tất cả các mã hóa
đơn nhập có số lượng lớn hơn hoặc bằng 50
update ChiTietHoaDonNhap
set GiaNhap=GiaNhap*1.2
where SoLuong IN (select SoLuong
from ChiTietHoaDonNhap
where SoLuong >= 50 )
--28. Thay đổi ngày nhập của hóa đơn nhập có mã hóa đơn =6
update HoaDonNhap
set NgayNhap='02/02/2009'
where MaHDN='6'
https://lop10.com/ 28
--29. Thêm 1 bản ghi vào bảng Hóa đơn nhập
insert into HoaDonNhap(MaNPP, NguoiGiao, NguoiNhan, TongTienThuoc, TongThue,
TongTienHD, NgayNhap, NgayViet)
values (3,N'An',N'Bình',420000,0.5,428000,'19/04/2018','')
--30. Xóa bản ghi trong bảng Hóa đơn nhập có mã hóa đơn là 2083
delete from HoaDonNhap where MaHDN='2083'
3.1.4 Vũ Thị Trang
--1. lấy ra tổng số lượng thuốc của mỗi hóa đơn nhập trong bảng chi tiết hóa đơn nhập
SELECT MaHDN, SUM(SoLuong) as tong FROM ChiTietHoaDonNhap GROUP BY
MaHDN
--2.lấy ra mã hóa đơn nhập , tổng tiền thuốc trong bảng hóa đơn nhập
SELECT MaHDN,TongTienThuoc FROM HoaDonNhap
--3.lấy ra mã nhóm, tên thuốc, ID thuốc,tên nhóm và số lượng trong bảng thuốc và nhóm
thuốc
SELECT NhomThuoc.MaNhom,TenThuoc,IDThuoc,TenNhom,soluong
FROM Thuoc INNER JOIN NhomThuoc
ON NhomThuoc.MaNhom=Thuoc.MaNhom
ORDER BY NhomThuoc.MaNhom
--4.lấy ra bảng chi tiết hóa đơn nhập và chi tiết hóa đơn xuất
SELECT * FROM HoaDonNhap,HoaDonXuat
--5.lấy ra công dụng, cách dùng,bảo quản tong bảng thuốc
SELECT CongDung,CachDung,BaoQuan from Thuoc
--6.lấy ra những bênh nhân có họ Trần
SELECT* FROM BenhNhan where HoTen like N'Trần%'
--7.thêm đơn vị tính
INSERT INTO NhomThuoc(TenNhom,GhiChu)
VALUES (N'thuốc đau đầu',N'ghi chú')
SELECT*FROM DonViTinh
https://lop10.com/ 29
--8.xóa bênh nhân có ID bênh nhân là 3 từ bảng bệnh nhân
DELETE FROM BenhNhan WHERE IDBN='3'
SELECT* FROM BenhNhan
--9.Sửa bênh nhân Trần Văn 2 thành Phạm Văn Đạt
update BenhNhan SET HoTen=N'Phạm Văn Đạt' where IDBN='1'
SELECT* FROM BenhNhan
--10.lấy ra những loại thuốc có mã ngày sản xuất là 2 trong bảng thuốc
SELECT TenThuoc FROM Thuoc WHERE MaNSX='2'
--11.lấy ra những chi tiết mã hóa đơn nhập có giá nhập là 50.00 trong bảng chi tiết hóa
đơn nhập
SELECT MaCTHDN FROM ChiTietHoaDonNhap WHERE GiaNhap='50.00'
--12.sửa hàm lượng thuốc có số lượng là 2 trong bảng thuốc
update Thuoc SET HamLuong='50mg' WHERE SoLuong='2'
SELECT* FROM Thuoc
--13.lấy ra những tên thuốc có hàm lượng 50mg trong bảng thuốc
SELECT TenThuoc FROM Thuoc WHERE HamLuong='50mg'
--14. lấy ra tên thuốc, nguồn gốc,số lượng thuốc thuộc nhóm thuốc có tên là Thuốc gây
mê, tê
SELECT TenThuoc, NguonGoc, SoLuong FROM Thuoc WHERE MaNhom
IN(SELECT MaNhom FROM NhomThuoc WHERE TenNhom = N'Thuốc gây mê, tê')
--15. đếm số lượng tên thuốc trong bảng thuốc
SELECT count(*) as TenThuoc FROM Thuoc
--16.thêm bệnh nhân vào bảng bệnh nhân
INSERT INTO BenhNhan(MaBN,HoTen,Tuoi,DiaChi,DienThoai)
VALUES ('BN_10',N'Nguyễn Văn Tùng',30,N'Hải Phòng','098')
INSERT INTO BenhNhan(MaBN,HoTen,Tuoi,DiaChi,DienThoai)
VALUES ('BN_12',N'Phạm Văn Toàn',35,N'Hải Dương','096')
SELECT* FROM BenhNhan
--17.lấy ra tuổi của mỗi bệnh nhân và sắp xếp giảm dần
select distinct MaBN, Hoten, Tuoi from BenhNhan order by Tuoi desc
--18.lấy ra tên bệnh nhân trên 30 tuổi
SELECT DISTINCT HoTen FROM BenhNhan WHERE year(Tuoi) > 30
https://lop10.com/ 30
--19.sửa mã bệnh nhân có ID bệnh nhân 1, 2
update BenhNhan SET MaBN=N'BN-8' where IDBN='1'
update BenhNhan SET MaBN=N'BN-15' where IDBN='2'
SELECT* FROM BenhNhan
--20. lấy ra số lượng, giá nhập thuốc với mã hóa đơn nhập lớn hơn 9 trong bảng chi tiết
hóa đơn nhập
SELECT SoLuong, GiaNhap FROM ChiTietHoaDonNhap WHERE MaCTHDN > 9
--21.lấy ra số lượng thuốc và sắp xếp giảm dần theo số lượng
select SoLuong from Thuoc order by SoLuong desc
--22 lấy ra Bệnh nhân không phải họ Nguyễn
select * from BenhNhan where HoTen not like N'Nguyễn %'
--23.hiển thị danh sách bệnh nhân có họ bắt đầu bằng chữ P
select * from BenhNhan where HoTen like 'P%'
--24.lấy dữ liệu từ 2 bảng thuốc và đơn vị tính lây ra những thuốc có đơn vị tính là 'viên'
select thuoc.TenThuoc,DonViTinh.TenDVT from thuoc, DonViTinh
where TenDVT=N'viên'
--25.lấy ra mã thuốc,nguồn gốc thuốc trong bảng thuốc
select MaThuoc,NguonGoc from Thuoc
--26.lấy ra mã thuốc,nguồn gốc thuốc có hàm lượng 50mg trong bảng thuốc
select MaThuoc,NguonGoc from Thuoc where HamLuong='50mg'
--27.hiển thị toàn bộ thông tin hóa đơn nhập
select * from HoaDonNhap
--28.lấy ra thông tin nhà sản xuất
select * from NhaSanXuat
--29.lấy ra thông tin nhóm thuốc
select * from NhomThuoc
--30.lấy ra thông tin nhà phân phối
select * from NhaPhanPhoi
3.2 Khai thác bằng lập trình TSQL
https://lop10.com/ 31
--1. Tạo hàm đếm số Thuốc theo nhà sản xuất (mã NSX là tham số).
CREATE FUNCTION fn_DemSoThuoc(@MaNSX nvarchar(50))
RETURNS int AS
BEGIN
DECLARE @ret int;
SELECT @ret = count(*)
FROM Thuoc
WHERE MaNSX=@MaNSX;
IF (@ret IS NULL)
SET @ret = 0;
RETURN @ret;
END
--sử dụng hàm đếm số thuốc theo mã NSX
select dbo.fn_DemSoThuoc ('1')
--2. tạo hàm hiển thị danh sách thuốc thuộc nhà sản xuất(với MaNSX là tham số)
CREATE FUNCTION fn_DanhSachThuoc (@MaNSX nvarchar(30))
RETURNS TABLE AS RETURN
(
SELECT *
FROM Thuoc
https://lop10.com/ 32
WHERE MaNSX=@MaNSX
);
--sử dụng hàm hiển thị danh sách thuốc thuộc nhà sản xuất
select * from fn_DanhSachThuoc('1')
--3. Tạo function đếm số hóa đơn nhập theo Người giao (tên Người giao là tham số).
CREATE FUNCTION fn_DemSoHoaDonNhap(@NguoiGiao nvarchar(30))
RETURNS int AS
BEGIN
DECLARE @ret int;
SELECT @ret = count(*)
FROM HoaDonNhap
WHERE NguoiGiao=@NguoiGiao
IF (@ret IS NULL)
SET @ret = 0;
RETURN @ret;
END
-- Sử dụng hàm đếm số hóa đơn nhập theo người giao(với tên người giao là Hùng)
select dbo.fn_DemSoHoaDonNhap ('Hùng')
--4. Xóa hàm đếm số hóa đơn nhập theo Người Giao đã tạo trước đó
https://lop10.com/ 33
Drop function dbo.fn_DemSoHoaDonNhap
--5. Tạo thủ tục trả về số lượng Thuốc theo nhóm thuốc
CREATE PROCEDURE udsDemThuoc
@MaNhom varchar(20),
@SoLuong int output
AS
BEGIN
SELECT @SoLuong = COUNT(*)
FROM Thuoc
WHERE MaNhom=@MaNhom
END
--sử dụng thủ tục
DECLARE @SoLuong int
EXEC udsDemThuoc'1', @SoLuong out
print @SoLuong
--6. Tạo procedure cho câu INSERT để thêm Nhà phân phối vào bảng
CREATE PROCEDURE udsThemNhaPhanPhoi
@TenNPP nvarchar(50),
@DiaChi nvarchar(200),
https://lop10.com/ 34
@DienThoai varchar(100),
@Fax varchar(100),
@Email varchar(100),
@MaSoThue varchar(100),
@GhiChu nvarchar(200)
AS
BEGIN
INSERT INTO NhaPhanPhoi(TenNPP, DiaChi, DienThoai, Fax, Email, MaSoThue,
GhiChu)
VALUES(@TenNPP,@DiaChi,@DienThoai,@Fax,@Email,@MaSoThue,@GhiChu)
END
drop procedure udsThemNhaPhanPhoi
--gọi thủ tục thêm Nhà phân phối
EXEC udsThemNhaPhanPhoi N'Công ty cổ phần dược phẩm TW 1', N'56 Cầu Giấy- Hà
nội', '0989898789','12359231','duocpham@gmail.com','3214564',''
--7. Xóa thủ tục thêm nhà phân phối đã tạo trước đó
Drop procedure udsThemNhaPhanPhoi
--8. Tạo procedure cho câu INSERT để thêm Hóa đơn nhập vào bảng
https://lop10.com/ 35
CREATE PROCEDURE ThemHoaDonNhap
@MaNPP nvarchar(50),
@NguoiGiao nvarchar(200),
@NguoiNhan varchar(100),
@TongTienThuoc varchar(100),
@TongThue varchar(100),
@TongTienHD varchar(100),
@NgayNhap nvarchar(200),
@NgayViet nvarchar(200)
AS
BEGIN
INSERT INTO HoaDonNhap(MaNPP, NguoiGiao, NguoiNhan, TongTienThuoc,
TongThue, TongTienHD, NgayNhap, NgayViet)
VALUES(@MaNPP,@NguoiGiao,@NguoiNhan,@TongTienThuoc,@TongThue,@Ton
gTienHD,@NgayNhap,@NgayViet)
END
--gọi thủ tục thêm Hóa đơn nhập
EXEC ThemHoaDonNhap 3,N'Hòa','Mai',620000,0.8,630000,'03/04/2018',''
--9. Tạo trigger trên bảng nhà phân phối cho sự kiện insert, trigger thực hiện thông báo
mã nhà phân phối vừa thêm
https://lop10.com/ 36
create trigger THEMNPP
on NHAPHANPHOI
for insert as declare @MaNPP nchar(10)
begin
select @MaNPP=MaNPP
from INSERTED
print N'Mã nhà phân phối vừa thêm là '+@MaNPP
end
--10. Xóa trigger trên bảng nhà phân phối cho sự kiện insert vừa tạo
Drop trigger THEMNPP
CHƯƠNG 4: CÀI ĐẶT ỨNG DỤNG
4.1 Lưa chọn ngôn ngữ cài đặt
Trong chương trình sử dụng:
- Visual stadio bản 2015
- SQL server bản 2012
- Dev express bản 2013
- Ngôn ngữ lập trình C#
4.1.1. MS SQL 2012
Nền tảng cho các nhiệm vụ then chốt - SQL Server 2012 cho phép các tổ chức có
thể chạy hầu hết các ứng dụng phức tạp của họ trên một nền tảng an toàn, tin cậy và có
khả năng mở rộng, bên cạnh đó còn giảm được sự phức tạp trong việc quản lý cơ sở hạ
https://lop10.com/ 37
tầng dữ liệu. SQL Server 2008 cung cấp một nền tảng tin cậy và an toàn bằng cách bảo
đảm những thông tin có giá trị trong các ứng dụng đang tồn tại và nâng cao khả năng sẵn
có của dữ liệu. SQL Server 2012 giới thiệu một cơ chế quản lý cách tân dựa trên chính
sách, cơ chế này cho phép các chính sách có thể được định nghĩa quản trị tự động cho các
thực thể máy chủ trên một hoặc nhiều máy chủ. Thêm vào đó, SQL Server 2012 cho phép
thi hành truy vấn dự báo với một nền tảng tối ưu.
Sự phát triển động - SQL Server 2012 cùng với .NET Framework đã giảm được sự
phức tạp trong việc phát triển các ứng dụng mới. ADO.NET Entity Framework cho phép
các chuyên gia phát triển phần mềm có thể nâng cao năng suất bằng làm việc với các
thực thể dữ liệu logic đáp ứng được các yêu cầu của doanh nghiệp thay vì lập trình trực
tiếp với các bảng và cột. Các mở rộng của ngôn ngữ truy vấn tích hợp (LINQ) mới trong
.NET Framework đã cách mạng hóa cách các chuyên gia phát triển truy vấn dữ liệu bằng
việc mở rộng Visual C#® và Visual Basic® .NET để hỗ trợ cú pháp truy vấn giống SQL
vốn đã có. Hỗ trợ cho các hệ thống kết nối cho phép chuyên gia phát triển xây dựng các
ứng dụng cho phép người dùng mang dữ liệu cùng với ứng dụng này vào các thiết bị và
sau đó đồng bộ dữ liệu của chúng với máy chủ trung tâm.
4.1.2. C#.Net
C# là một ngôn ngữ lập trình ứng dụng, ngôn ngữ biên dịch, ngôn ngữ đa năng
được phát triển bởi hãng Microsoft, là một phần khởi đầu cho kế hoạch .NET. Microsoft
phát triển C# dựa trên C, C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng
giữa C++, Visual Basic, Delphi và Java.
Ngôn ngữ lập trình C# được đánh giá là dễ học và kết hợp được nhiều ưu điểm của
các ngôn ngữ lập trình hướng đối tượng Java và C++. Do đó ngôn ngữ C# đựơc sử dụng
rộng rãi nhất. C# có thể được viết với bất kỳ trình soạn thảo văn bản nào như Notepad
của Windows, và sau đó biên dịch với trình biên dịch dòng lệnh của C#, csc.exe luôn đi
kèm với .Net framework.
https://lop10.com/ 38
4.2 Kiến trúc menu hệ thống
4.3 Giao diện các chức năng
Đầu tiên, khi chạy phần mềm, form đăng nhập sẽ hiện lên (hình 16). Muốn truy cập vào
phần mềm người dùng sẽ phải đăng nhập
Hình 3: Giao diện đăng nhập vào hệ thống
https://lop10.com/ 39
Khi đăng nhập thành công, giao diện chính của phần mềm sẽ hiện lên (hình 3).
Trong giao diện chính sẽ có 4 mục là: Hệ thống, Danh mục, Hóa đơn và Đối tác.
Hình 4: Giao diện chính của phần mềm quản lý.
Trong mục “hệ thống” có mục con đó là “Người dùng” (hình 4). “Người dùng” là
quản lý những tài khoản người dùng dùng để đăng nhập vào trong phần đăng nhập vào
phần mềm.
https://lop10.com/ 40
Hình 5: Giao diện hệ thống, người dùng
https://lop10.com/ 41
Tiếp đến khi người dùng bấm vào phần “danh mục”, thanh menu con bên trái màn
hình sẽ hiện lên các phần “nhóm thuốc” , “thuốc”, “đơn vị tính”. Khi bấm vào “thuốc”
màn hình hiển thị bên phải sẽ hiển thị lên tất cả các dữ liệu thuốc. Bên trên bảng dữ liệu
có các nút “Thêm” “Xóa” để người dùng dễ dàng thêm hoặc xóa dữ liệu. Hoặc khi ta
nháy đúp chuột trái vào 1 dòng dữ liệu bất kỳ thì 1 thông tin của dữ liệu đó sẽ hiển thị lên
trên 1 form mới để người dùng
có thể sửa dữ liệu (hình 6).
Hình 6: Giao diện danh mục thuốc
https://lop10.com/ 42
Tương tự, khi bấm vào “Nhóm thuốc”, dữ liệu nhóm thuốc sẽ hiện lên, người dùng có thể
thêm nhóm thuốc mới, sửa thông tin đang có hoặc xóa 1 nhóm nào đó (hình 7).
Hình 7: Giao diện danh mục nhóm thuốc
https://lop10.com/ 43
Danh mục đơn vị tính, chứa các kiểu đơn vị của thuốc (hình 8).
Hình 8: Giao diện danh mục đơn vị tính
Khi bấm sang mục “Hóa đơn” người dùng sẽ xem được thông tin các hóa đơn đã
nhập, xuất và có thể tạo các hóa đơn mới (hình 9, 10).
https://lop10.com/ 44
Hình 9: Giao diện hóa đơn nhập
Hình 10: Tạo một hóa đơn nhập mới
https://lop10.com/ 45
Còn lại là phần “đối tác” bao gồm mục các “nhà sản xuất” và các “nhà phân phối” sản
phẩm.
Hình 10: Giao diện đối tác nhà phân phối
https://lop10.com/ 46

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Xây dựng phần mềm quản lý bán thuốc

  • 1. https://lop10.com/ 1 HỌC VIỆN KỸ THUẬT QUÂN SỰ ĐÀO THỊ LAN ANH ĐOÀN THỊ THANH VŨ THỊ TRANG NGUYỄN KHẮC HUYỀN CHÂU Khóa 21-VB2 HỆ ĐẠI HỌC LIÊN THÔNG BÁO CÁO MÔN HỌC THỰC TẬP CƠ SỞ DỮ LIỆU CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN XÂY DỰNG PHẦN MỀM QUẢN LÍ BÁN THUỐC
  • 2. https://lop10.com/ 2 NĂM 2018 CHƯƠNG 1. ĐẶC TẢ HỆ THỐNG 1. Mục đích yêu cầu Hiện nay, tại các doanh nghiệp việc quản lý hàng hoá, nhân viên, hàng xuất nhập hàng ngày…gặp nhiều khó khăn, chính vì vậy ý tưởng tạo lên một phần mềm để góp phần giải quyết vấn đề trên của mỗi người lập trình là không thể tránh khỏi. 1.1 Mô tả hệ thống 1.1.1 Cơ cấu tổ chức và sự phân công trách nhiệm 1.1.1.1. Bộ phận kho hàng - Nhập hàng - Kiểm kê kho - Xuất hàng cho khác 1.1.1.2 Bộ phận quản lý - Lập hóa đơn bá - Lập phiếu xuất kho - Thanh toán với khách hàng - Lập đơn hàng mua - Thanh toán với nhà cung cấp 1.2 Quy trình nghiệp vụ 1.2.1 Bán hàng Khi có nhu cầu mua hàng, nhân viên sẽ tư vấn cho khách hàng những nhân viên bộ phận quản lý sẽ trao đổi thông tin với khách hàng để lập hóa đơn bán hàng, đơn hàng được lập thành 3 bản: -1 bản lưu tại bộ phận quản lý
  • 3. https://lop10.com/ 3 -1 bản đưa cho khách (khi đã thanh toán) -1 bản chuyển sang cho bộ phận bán hàng để xuất hàng Sau khi khách thanh toán, nhân viên bộ phận quản lý sẽ gửi phiếu xuất hàng sang bộ phận kho hàng. Nhân viên bộ phận kho sẽ lấy hàng và bàn giao cho khách. Sau khi kiểm tra hàng xong khách hàng ghi xác nhận vào phiếu xuất kho để kho hàng lưu lại. Còn nhân viên kho hàng sẽ ký xác nhận vào hóa đơn bán của khách. 1.2.2 Mua hàng Khi có yêu cầu mua hàng từ kho, nhân viên bộ phận quản lý sẽ lập đơn mua hàng và gửi tới nhà cung cấp. Nhà cung cấp sẽ theo đơn mua chuyển hàng đến công ty, nhân viên kho hàng sẽ tiếp nhận hàng. 1.2.3 Quy tắc nghiệp vụ Hằng ngày, bộ phận giao dịch phải thống kê tình hình bán hàng và thông báo với ban quản lý. Thứ 7 hàng tuần nhân viên kho hàng sẽ kiểm kê kho và nhận hàng mới. Cuối tháng bộ phận quản lý sẽ thanh toán cho nhà cung cấp. 1.3 Lựa chọn giải pháp xây dựng hệ thống - Thiết kế theo Winform 1.4 Đặc tả các chức năng cần xây dựng 1.4.1 Lập đơn bán hàng - Đầu vào: Yêu cầu mua hàng - Đầu ra: Hóa đơn bán hàng -Nội dung xử lí: Xác nhận yêu cầu mua hàng của khách hàng và lập hóa đơn mua hàng.
  • 4. https://lop10.com/ 4 1.4.2 Lập đơn mua hàng - Đầu vào: Phiếu yêu cầu - Đầu ra: Đơn hàng mua - Nội dung xử lý: Kiểm tra hàng tồn kho, lập đơn mua hàng gửi đến nhà cung cấp. 1.4.3 Cập nhật giá mới - Đầu vào: Đơn giá mua - Đầu ra: Đơn giá bán mới - Nội dung xử lý: Cập nhật đơn giá mới. 1.4.4 Lập báo cáo trong ngày - Đầu vào: Đơn hàng bán - Đầu ra: Phiếu hàng bán - Nội dung xử lý: Tổng hợp các đơn hàng bán trong ngày và lập ra báo cáo. 1.4.5 Lập phiếu giao hàng - Đầu vào: Phiếu giao hàng - Đầu ra: Phiếu xuất kho - Nội dung xử lý: Kiểm tra phiếu giao hàng và gửi phiếu yêu cầu xuất kho đến kho hàng 1.4.6 Lập phiếu nhập kho -Đầu vào: phiếu nhận hàng -Đầu ra: phiếu nhập kho -Nội dung xử lý: cập nhật hóa đơn mua. Nhận hàng từ nhà cung cấp và gửi lại phiếu nhập kho cho ban quản lý. 1.4.7 Kiểm tra hàng - Đầu vào: kiểm tra hàng tồn trong kho. - Đầu ra:
  • 5. https://lop10.com/ 5 + Nếu: hàng trong kho lớn hơn hoặc bằng hàng khách yêu cầu thì dừng kiểm tra hàng. + Nếu: hàng tồn kho nhỏ hơn hàng khách yêu cầu thì lập phiếu yêu cầu nhập hàng. - Nội dung xử lý: cập nhật hàng tồn trong kho và lên danh sách những mặt hàng cần nhập thêm, sau đó gửi yêu cầu nhập hàng 1.4.8 Nhập hàng -Đầu vào: yêu cầu nhập hàng. -Đầu ra: phiếu yêu cầu mua nhập hàng. -Nội dung xử lý: gửi phiếu nhập hàng đến ban quản lý, ban quản lý xá nhận phiếu nhập hàng. 1.5 Phân chia công việc a. Phân chia công công việc trong mục 1:Các chức năng Thêm sửa xóa Thuốc: Đoàn Thị Thanh Thêm sửa xóa Hóa đơn xuất: Đào Thị Lan Anh Thêm sửa xóa Hóa đơn nhập: Nguyễn Khắc Huyền Châu Thêm sửa xóa Nhà phân phối, nhà sản xuất: Nguyễn Thị Trang b.Lên kế hoạch nội dung công việc ho mỗi cá nhân trong từng tuần Tuần 1,2,3,4,5:Làm báo cáo , từ tuần 6 cài đặt cơ sở dữ liệu theo chức năng mà từng cá nhân đảm nhiệm. Từng tuần sẽ tổng hợp và báo cáo!
  • 6. https://lop10.com/ 6 CHƯƠNG 2: PHÂN TÍCH VÀ CÀI ĐẶT DỮ LIỆU HỆ THỐNG 2.1 Mô tả hệ thống dưới dạng mối quan hệ dữ liệu 2.1.1. Xác định kiểu thực thể, kiểu thuộc tính - Thuoc (IDThuoc, MaThuoc, TenThuoc, TenNhom, NguonGoc, TenNSX, SoLuong, GiaBan, TenDVT, ThanhPhan, HamLuong, CongDung, PhanTacDung, CachDung, ChuY, HanSuDung, BaoQuan, DangBaoChe). - NhomThuoc (MaNhom, TenNhom, GhiChu). - NhaSanXuat (MaNSX, TenNSX, DiaChi, DienThoai, Fax, Email, GhiChu). - DonViTinh (MaDVT, TenDVT). - BenhNhan (IDBN, MaBN, HoTen, Tuoi, DiaChi, DienThoai). - NhaPhanPhoi (MaNPP, TenNPP, DiaChi, DienThoai, Fax, Email, MaSoThue, GhiChu). - HoaDonNhap (MaHDN, TenNPP, DiaChi, DienThoai, NguoiGiao, NguoiNhan, TenThuoc, SoLuongNhap, GiaNhap, TongTienThuoc, TongThue, TongTienHD, NgayViet, NgayNhap). - HoaDonXuat (MaHDX, HoTen, Tuoi, DiaChi, DienThoai, TenThuoc, GiaBan, SoLuongXuat, Thue,DonVi, NgayLap, TongTienThuoc, TongThue, TongTienHD). 2.1.2. Xác định kiểu liên kết
  • 7. https://lop10.com/ 7 có HoaDonNhap NhaPhanPhoi gồm Thuoc HoaDonNhap theo DonViTinh Thuoc theo NhomThuoc Thuoc có NhaSanXuat Thuoc gồm Thuoc HoaDonXuat gồm BenhNhan HoaDonXuat 2.2 Xây dựng mô hình liên hết thực thể ❖ Ký hiệu sử dụng Bảng quan hệ (Table) Theo Quan hệ (Relational) ❖ Mô hình
  • 10. https://lop10.com/ 10 ST T Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải 1 X MaHDN Int Mã hóa đơn nhập 2 X MaNPP Int Mã nhà phân phối 3 NguoiGiao Nvarchar(50) Người giao 4 NguoiNhan Nvarchar(50) Người nhận 5 TongTienThuoc Money Tổng tiền thuốc 6 TongThue Float Tổng thuế 7 TongTienHD Money Tổng tiền hóa đơn 8 NgayViet Datetime Ngày viết hóa đơn 9 NgayNhap Datetime Ngày nhập hàng Bảng 1: Bảng dữ liệu hóa đơn nhập 2.5.2 Bảng nhà phân phối - NhaPhanPhoi STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải 1 X MaNPP Int Mã nhà phân phối 2 TenNPP Nvarchar(100) Tên nhà phân phối 3 DiaChi Nvarchar(200) Địa chỉ NPP 4 DienThoai Varchar(100) Điện thoại NPP 5 Fax Varchar(100) Fax 6 Email Varchar(100) Email 7 MaSoThue Varchar(100) Mã số thuế 8 GhiChu Nvarchar(200) Ghi chú Bảng 2: Bảng dữ liệu nhà phân phối
  • 11. https://lop10.com/ 11 2.5.3 Bảng chi tiết hóa đơn nhập - ChiTietHoaDonNhap STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải 1 X MaCTHDN Int Mã chi tiết hóa đơn nhập 2 X MaHDN Int Mã hóa đơn nhập 3 X IDThuoc Int Số hiệu thuốc 4 SoLuong Int Số lượng 5 GiaNhap Money Giá nhập Bảng 3: Bảng dữ liệu chi tiết hóa đơn nhập 2.5.4 Bảng đơn vị tính - DonViTinh STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải 1 X MaDVT Int Mã đơn vị tính 2 TenDVT Nvarchar(50) Tên đơn vị tính Bảng 4: Bảng dữ liệu đơn vị tính 2.5.5 Bảng thuốc - Thuoc STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải 1 X IDThuoc Int Số hiệu của thuốc 2 MaThuoc Nvarchar(100) Mã thuốc 3 TenThuoc Nvarchar(50) Tên thuốc 4 X MaNhom int Mã nhóm thuốc 5 NguonGoc Nvarchar(100) Nguồn gốc 6 X MaNSX Int Mã nhà sản xuất
  • 12. https://lop10.com/ 12 7 SoLuong Int Số lượng tồn 8 GiaBan Money Giá bán 9 X MaDVT Int Mã đơn vị tính 10 ThanhPhan Nvarchar(500) Thành phần 11 HamLuong Nvarchar(500) Hàm lượng 12 CongDung Nvarchar(500) Công dụng 13 PhanTacDung Nvarchar(500) Phản tác dụng 14 CachDung Nvarchar(500) Cách dung 15 ChuY Nvarchar(500) Chú ý 16 HanSuDung Nvarchar(500) Hạn sử dụng 17 BaoQuan Nvarchar(500) Bảo quản 18 DangBaoChe Nvarchar(500) Dạng bào chế Bảng 5: Bảng dữ liệu thuốc 2.5.6 Bảng nhà sản xuất - NhaSanXuat STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải 1 X MaNSX Int Mã nhà sản xuất 2 TenNSX Nvarchar(100) Tên nhà sản xuất 3 DiaChi Nvarchar(200) Địa chỉ 4 DienThoai Varchar(100) Điện thoại 5 Fax Varchar(100) Fax 6 Email Varchar(100) Email 7 GhiChu Nvarchar(200) Ghi chú Bảng 6: Bảng dữ liệu nhà sản xuất 2.5.7 Bảng nhóm thuốc - NhomThuoc STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải 1 X MaNhom Int Mã nhóm thuốc
  • 13. https://lop10.com/ 13 2 TenNhom Nvarchar(100) Tên nhóm thuốc 3 GhiChu Nchar(100) Ghi chú Bảng 7: Bảng dữ liệu nhóm thuốc 2.5.8 Bảng hóa đơn xuất - HoaDonXuat STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x MaHDX Int Mã hóa đơn xuất 2 IDBN Int Mã số bệnh nhân 3 TongTienThuoc Money Tổng tiền thuốc 4 NgayLap Datetime Ngày lập hóa đơn 5 TongThue Float Tổng tiền thuế 6 TongTienHD Money Tổng tiền hóa đơn Bảng 8: Bảng dữ liệu hóa đơn xuất 2.5.9 Bảng chi tiết hóa đơn xuất - ChiTietHoaDonXuat STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x MaCTHDX Int Mã chi tiết hóa đơn xuất 2 X MaHDX Int Mã hóa đơn xuất 3 X IDThuoc Int Số hiệu của thuốc 4 SoLuong Int Số lượng 5 GiaBan Money Giá bán 6 Thue Float Thuế 7 DonVi Nvarchar(50) Đơn vị Bảng 9: Bảng dữ liệu chi tiết hóa đơn xuất 2.5.10 Bảng bệnh nhận - BenhNhan STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải
  • 14. https://lop10.com/ 14 1 X IDBN Int Mã số bệnh nhân 2 MaBN Nvarchar(100) Mã bệnh nhân 3 HoTen Nvarchar(50) Họ tên bệnh nhân 4 Tuoi Int Tuổi bệnh nhân 5 DiaChi Nvarchar(500) Địa chỉ 6 DienThoai Varchar(50) Điện thoại Bảng 10: Bảng dữ liệu bệnh nhân 2.6 Cài đặt mô hình dữ liệu 1. Câu lệnh tạo bảng bệnh nhân CREATE TABLE [dbo].[BenhNhan]( [IDBN] [int] IDENTITY(1,1) NOT NULL, [MaBN] [nvarchar](100) NOT NULL, [HoTen] [nvarchar](50) NOT NULL, [Tuoi] [int] NOT NULL, [DiaChi] [nvarchar](500) NULL, [DienThoai] [varchar](50) NULL) 2. Câu lệnh tạo bảng chi tiết hóa đơn nhập CREATE TABLE [dbo].[ChiTietHoaDonNhap]( [MaCTHDN] [int] IDENTITY(1,1) NOT NULL, [MaHDN] [int] NOT NULL, [IDThuoc] [int] NOT NULL, [SoLuong] [int] NOT NULL, [GiaNhap] [money] NOT NULL) 3. Câu lệnh tạo bảng chi tiết hóa đơn xuất CREATE TABLE [dbo].[ChiTietHoaDonXuat]( [MaCTHDX] [int] IDENTITY(1,1) NOT NULL, [MaHDX] [int] NOT NULL, [IDThuoc] [int] NOT NULL, [SoLuong] [int] NOT NULL, [GiaBan] [money] NOT NULL, [Thue] [float] NOT NULL, [DonVi] [nvarchar](50) NOT NULL) 4. Câu lệnh tạo bảng đơn vị tính CREATE TABLE [dbo].[DonViTinh]( [MaDVT] [int] IDENTITY(1,1) NOT NULL, [TenDVT] [nvarchar](50) NOT NULL) 5. Câu lệnh tạo bảng hóa đơn nhập CREATE TABLE [dbo].[HoaDonNhap]( [MaHDN] [int] IDENTITY(1,1) NOT NULL, [MaNPP] [int] NOT NULL, [NguoiGiao] [nvarchar](50) NOT NULL, [NguoiNhan] [nvarchar](50) NOT NULL, [TongTienThuoc] [money] NOT NULL, [TongThue] [float] NOT NULL, [TongTienHD] [money] NOT NULL, [NgayNhap] [datetime] NOT NULL, [NgayViet] [datetime] NULL)
  • 15. https://lop10.com/ 15 6. Câu lệnh tạo bảng hóa đơn xuất CREATE TABLE [dbo].[HoaDonXuat]( [MaHDX] [int] IDENTITY(1,1) NOT NULL, [IDBN] [int] NOT NULL, [NgayLap] [datetime] NOT NULL, [TongTienThuoc] [money] NOT NULL, [TongThue] [float] NOT NULL, [TongTienHD] [money] NOT NULL) 7. Câu lệnh tạo bảng nhà phân phối CREATE TABLE [dbo].[NhaPhanPhoi]( [MaNPP] [int] IDENTITY(1,1) NOT NULL, [TenNPP] [nvarchar](100) NOT NULL, [DiaChi] [nvarchar](200) NOT NULL, [DienThoai] [varchar](100) NOT NULL, [Fax] [varchar](100) NOT NULL, [Email] [varchar](100) NOT NULL, [MaSoThue] [varchar](100) NOT NULL, [GhiChu] [nvarchar](200) NOT NULL) 8. Câu lệnh tạo bảng nhà sản xuất CREATE TABLE [dbo].[NhaSanXuat]( [MaNSX] [int] IDENTITY(1,1) NOT NULL, [TenNSX] [nvarchar](100) NOT NULL, [DiaChi] [nvarchar](200) NOT NULL, [DienThoai] [varchar](100) NOT NULL, [Fax] [varchar](100) NOT NULL, [Email] [varchar](100) NOT NULL, [GhiChu] [nvarchar](200) NOT NULL) 9. Câu lệnh tạo bảng nhóm thuốc CREATE TABLE [dbo].[NhomThuoc]( [MaNhom] [int] IDENTITY(1,1) NOT NULL, [TenNhom] [nvarchar](100) NOT NULL, [GhiChu] [nchar](100) NULL) 10. Câu lệnh tạo bảng thuốc CREATE TABLE [dbo].[Thuoc]( [IDThuoc] [int] IDENTITY(1,1) NOT NULL, [MaThuoc] [nvarchar](100) NOT NULL, [TenThuoc] [nvarchar](50) NOT NULL, [MaNhom] [int] NOT NULL CONSTRAINT [DF_Thuoc_MaNhom] DEFAULT ((1)), [NguonGoc] [nvarchar](100) NOT NULL CONSTRAINT [DF_Thuoc_NguonGoc] DEFAULT (N''), [MaNSX] [int] NOT NULL CONSTRAINT [DF_Thuoc_MaNSX] DEFAULT ((1)), [SoLuong] [int] NOT NULL CONSTRAINT [DF_Thuoc_SoLuong] DEFAULT ((0)), [GiaBan] [money] NOT NULL CONSTRAINT [DF_Thuoc_GiaBan] DEFAULT ((0)), [MaDVT] [int] NOT NULL CONSTRAINT [DF_Thuoc_MaDVT] DEFAULT ((1)), [ThanhPhan] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_ThanhPhan] DEFAULT (N''), [HamLuong] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_HamLuong] DEFAULT (N''), [CongDung] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_CongDung] DEFAULT (N''), [PhanTacDung] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_PhanTacDung] DEFAULT (N''), [CachDung] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_CachDung] DEFAULT (N''), [ChuY] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_ChuY] DEFAULT (N''), [HanSuDung] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_HanSuDung] DEFAULT (N''), [BaoQuan] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_BaoQuan] DEFAULT (N''), [DangBaoChe] [nvarchar](500) NULL,
  • 17. https://lop10.com/ 17 CHƯƠNG 3: KHAI THÁC CƠ SỞ DỮ LIỆU 3.1 Khác thác bằng ngôn ngữ SQL 3.1.1 Đoàn Thị Thanh 1.lấy ra toàn bộ những thông tin thuốc select * from thuoc 2.lấy ra thông tin bệnh nhân mua ít nhất 1 loại thuốc select h.IDBN, b.HoTen ,count (*) soluong from BenhNhan b , hoadonxuat h , chitiethoadonxuat c , thuoc t where b.IDBN=h.IDBN and c.IDThuoc = t.IDThuoc and c.SoLuong >=1 group by h.IDBN, b.HoTen 3. tính tổng những loại thuốc cùng 1 nhóm select manhom , count(*) Soluong from thuoc group by manhom ; 4. lấy ra ít nhất 2 loại thuốc cùng nhà phân phối select t.TenThuoc,npp.TenNPP from NhaPhanPhoi npp, Thuoc t, HoaDonNhap hdn , ChiTietHoaDonNhap ct where npp.MaNPP=hdn.MaNPP and t.IDThuoc=ct.IDThuoc 5.lấy ra những thuốc có giá dưới 100.000 select GiaBan ,TenThuoc from thuoc where GiaBan <100 6.lấy ra tên thuốc, mã thuốc trong nhóm thuốc "Giảm đau hạ sốt chống viêm" select thuoc.MaThuoc, thuoc.TenThuoc, nhomthuoc.TenNhom from thuoc, NhomThuoc where TenNhom= N'Giảm đau, hạ sốt chống viêm' 7. lấy ra những nhóm thuốc sản xuất có nguồn gốc tại VN select NhomThuoc.TenNhom, thuoc.NguonGoc from NhomThuoc, Thuoc where NhomThuoc.MaNhom=thuoc.MaNhom and NguonGoc=N'Viet Nam'
  • 18. https://lop10.com/ 18 8. lấy ra nhưng tên thuốc có số lượng dưới 50 select SoLuong,TenThuoc from thuoc where SoLuong <= 50 9. Lấy ra mã thuốc tên thuốc bán được bán nhiều trên 10 sp select Thuoc.MaThuoc, thuoc.TenThuoc from thuoc, ChiTietHoaDonXuat a where thuoc.IDThuoc=a.IDThuoc and a.SoLuong >10 10. Lấy ra mã thuốc tên thuốc bán được bán nhiều dưới 10 sp select Thuoc.MaThuoc, thuoc.TenThuoc from thuoc, ChiTietHoaDonXuat a where thuoc.IDThuoc=a.IDThuoc and a.SoLuong <10 11.thêm mới 1 nhóm thuôc insert into nhomThuoc ( tennhom, ghichu) values ('Thuốc tăng sức đề kháng cho trẻ', 1); 12.truy vấn thuốc có tên 'Nystatin' thêm 10 sp update Thuoc set SoLuong=Soluong+10 where TenThuoc='Nystatin' select * from Thuoc 13. xóa 1 loại thuốc bất kỳ delete from Thuoc where IDThuoc = 1067 14, sửa Mã thuốc 'MT_16' thành 'MT_16Oliza' update Thuoc set MaThuoc = N'MT_16 Oliza' where MaThuoc= N'MT_16' 15. câu lệnh tạo bảng nhóm thuốc CREATE TABLE [dbo].[NhomThuoc]( [MaNhom] [int] IDENTITY(1,1) NOT NULL, [TenNhom] [nvarchar](100) NOT NULL, [GhiChu] [nchar](100) NULL,) 16. xóa 1 nhóm thuốc delete from NhomThuoc where MaNhom=1 17.sắp xếp số lượng thuốc theo chiều giảm dần select * from thuoc order by SoLuong desc 18.lấy ra tên bệnh nhân select HoTen from BenhNhan
  • 19. https://lop10.com/ 19 19. lấy ra tên thuốc, mã thuốc select TenThuoc, MaThuoc from thuoc 20.lấy ra 3 loại thuốc còn nhiều số lượng nhất select top 3 * from thuoc order by SoLuong desc 21.sắp xếp gián bán thuốc theo chiều tăng dần select * from thuoc order by GiaBan 22. lấy dữ liệu từ 2 bảng thuốc và đơn vị tính lây ra những thuốc có đơn vị tính là 'viên' select thuoc.TenThuoc,DonViTinh.TenDVT from thuoc, DonViTinh where TenDVT=N'viên' 23. lấy ra thông tin bệnh nhân mua nhiều thuốc nhất select top 1 benhnhan.HoTen ,count(ct.soluong) sl from BenhNhan, ChiTietHoaDonXuat ct, HoaDonXuat b where BenhNhan.IDBN=b.IDBN and ct.MaHDX=b.MaHDX group by benhnhan.HoTen order by sl desc 24. lấy ra thông tin thuốc bán nhiều nhất select top 1 thuoc.TenThuoc, count(a.SoLuong) sl from thuoc, ChiTietHoaDonXuat a where Thuoc.IDThuoc= a.IDThuoc group by thuoc.TenThuoc order by sl desc 25.lấy ra thông tin của các nhà sản xuất select * from NhaSanXuat select * from BenhNhan 26.truy vấn tạo 1 bệnh nhân mới insert into BenhNhan ( MaBN, HoTen, Tuoi,DiaChi, DienThoai) values ( 'BN_3', N'Nguyễn Văn Việt', 28, 'Ha Noi', '012746287') 27. Truy vấn tạo thêm 1 nhà xản xuất CREATE TABLE [dbo].[NhaSanXuat]( [MaNSX] [int] IDENTITY(1,1) NOT NULL, [TenNSX] [nvarchar](100) NOT NULL, [DiaChi] [nvarchar](200) NOT NULL, [DienThoai] [varchar](100) NOT NULL, [Fax] [varchar](100) NOT NULL,
  • 20. https://lop10.com/ 20 [Email] [varchar](100) NOT NULL, [GhiChu] [nvarchar](200) NOT NULL,) 28. câu lệnh tạo bảng nhà phân phối CREATE TABLE [dbo].[NhaPhanPhoi]( [MaNPP] [int] IDENTITY(1,1) NOT NULL, [TenNPP] [nvarchar](100) NOT NULL, [DiaChi] [nvarchar](200) NOT NULL, [DienThoai] [varchar](100) NOT NULL, [Fax] [varchar](100) NOT NULL, [Email] [varchar](100) NOT NULL, [MaSoThue] [varchar](100) NOT NULL, [GhiChu] [nvarchar](200) NOT NULL,) 29. câu lệnh tạo bảng bệnh nhân CREATE TABLE [dbo].[BenhNhan]( [IDBN] [int] IDENTITY(1,1) NOT NULL, [MaBN] [nvarchar](100) NOT NULL, [HoTen] [nvarchar](50) NOT NULL, [Tuoi] [int] NOT NULL, [DiaChi] [nvarchar](500) NULL, [DienThoai] [varchar](50) NULL,) 30.câu lệnh tạo bảng đơn vị tính CREATE TABLE [dbo].[DonViTinh]( [MaDVT] [int] IDENTITY(1,1) NOT NULL, [TenDVT] [nvarchar](50) NOT NULL,) 3.1.2 Đào Thị Lan Anh 1.hiển thị thông tin đầy đủ của 5 hóa đơn đầu tiên trong bảng Hóa đơn xuất select top 5 * from HoaDonXuat 2. hiển thị tất cả mã thuốc SELECT * FROM NhomThuoc 3. lấy ra tên thuốc, mã thuốc select TenThuoc, MaThuoc from thuoc 4. xóa 2 nhóm thuốc delete from NhomThuoc where Manhom=1 and Manhom =2
  • 21. https://lop10.com/ 21 5. sửa mã nhóm của tên thuốc Betaphenin là 2 Update Thuoc Set Tenthuoc='Betaphenin' Where MaNhom=2 6.sắp xếp số lượng thuốc theo chiều giảm dần select * from thuoc order by SoLuong desc 7.lấy ra tên bệnh nhân select HoTen from BenhNhan 8.lấy ra 5 loại thuốc còn nhiều số lượng nhất select top 5* from thuoc order by SoLuong desc 9. hiển thị toàn bộ thông tin của bảng Nhà phân phối select* from NhaPhanPhoi 10.hiển thị thông tin đầy đủ của 10 nhà phân phối đầu tiên trong bảng Nhà phân phối select top 10 * from NhaPhanPhoi 11.Hiển thị thong tin của tất cả các thuôc SELECT * FROM thuoc 12. lấy ra những nhóm thuốc sản xuất có nguồn gốc tại VN select NhomThuoc.TenNhom, thuoc.NguonGoc from NhomThuoc, Thuoc where NhomThuoc.MaNhom=thuoc.MaNhom and NguonGoc=N'Viet Nam' 13. lấy ra nhưng tên thuốc có số lượng dưới >100 select SoLuong,TenThuoc from thuoc where SoLuong >100 14.hiển thị thông tin hóa đơn xuất có mã hóa đơn 3 select * from HoaDonXuat where MaHDX=3 15.hiển thị thông tin hóa đơn nhập có mã hóa đơn 1 select * from HoaDonNhap where MaHDN=1 16.hiển thị danh sách các nhà phân phối không có hóa đơn nhập.
  • 22. https://lop10.com/ 22 select * from NhaPhanPhoi where NhaPhanPhoi.MaNPP NOT IN ( select HoaDonXuat.MaNPP from HoaDonXuat ) 17.hiển thị danh sách các hóa đơn xuất sắp xếp theo ngày nhập gần đây nhất trong bảng Hóa đơn xuất select * from HoaDonXuat order by NgayXuat DESC 18. Hiển thị các thuốc có hạn sử dụng = 3 năm Select * from Thuoc where HanSuDung='3 năm' 19. lấy ra thông tin thuốc bán nhiều nhất select top 1 thuoc.TenThuoc, count(a.SoLuong) sl from thuoc, ChiTietHoaDonXuat a where Thuoc.IDThuoc= a.IDThuoc 20.thay đổi ngày xuất của hóa đơn xuất có mã hóa đơn =3 update HoaDonXuat set NgayLap='02/02/2009' where MaHDX='3' 21. hiển thị danh sách các nhóm thuốc mà trong TenNhom có từ dược tác dụng select * from NhomThuoc where TenNhom like N'%tác dụng%' 22.lấy ra thông tin bệnh nhân mua nhiều thuốc nhất select top 1 benhnhan.HoTen ,count(ct.soluong) sl from BenhNhan, ChiTietHoaDonXuat ct, HoaDonXuat b where BenhNhan.IDBN=b.IDBN and ct.MaHDX=b.MaHDX group by benhnhan.HoTen order by sl desc 23.hiển thị hóa đơn xuất có tổng tiền thuốc <30.000 select * from HoaDonXuat Where TongTienThuoc<30.000 24. thêm mới 1 nhóm thuôc insert into nhomThuoc ( tennhom, ghichu) values ('Thuốc chống ung thư', 1); 25. câu lệnh truy vấ tạo bảng chi tiết hóa đơn xuất CREATE TABLE [dbo].[ChiTietHoaDonXuat]( [MaCTHDX] [int] IDENTITY(1,1) NOT NULL, [MaHDX] [int] NOT NULL, [IDThuoc] [int] NOT NULL, [SoLuong] [int] NOT NULL, [GiaBan] [money] NOT NULL,
  • 23. https://lop10.com/ 23 [Thue] [float] NOT NULL, [DonVi] [nvarchar](50) NOT NULL, 26. câu lệnh truy vấn tạo bảng hóa đơn xuất CREATE TABLE [dbo].[HoaDonXuat]( [MaHDX] [int] IDENTITY(1,1) NOT NULL, [IDBN] [int] NOT NULL, [NgayLap] [datetime] NOT NULL, [TongTienThuoc] [money] NOT NULL, [TongThue] [float] NOT NULL, [TongTienHD] [money] NOT NULL, 27.sắp xếp gián bán thuốc theo chiều giảm dần select * from thuoc order by GiaBan DESC 28. Truy vấn tạo thêm 1 nhà xản xuất CREATE TABLE [dbo].[NhaSanXuat]( [MaNSX] [int] IDENTITY(1,1) NOT NULL, [TenNSX] [nvarchar](100) NOT NULL, [DiaChi] [nvarchar](200) NOT NULL, [DienThoai] [varchar](100) NOT NULL, [Fax] [varchar](100) NOT NULL, [Email] [varchar](100) NOT NULL, [GhiChu] [nvarchar](200) NOT NULL, 29. hiển thị các mã hoa đơn nhập có tổng thuế >50 select * from HoaDonXuat Where TongThue>60 30.câu lệnh tạo bảng bệnh nhân CREATE TABLE [dbo].[BenhNhan]( [IDBN] [int] IDENTITY(1,1) NOT NULL, [MaBN] [nvarchar](100) NOT NULL, [HoTen] [nvarchar](50) NOT NULL, [Tuoi] [int] NOT NULL, [DiaChi] [nvarchar](500) NULL, [DienThoai] [varchar](50) NULL,) 3.1.3 Nguyễn Khắc Huyền Châu --1. Hiển thị toàn bộ thông tin của bảng Hóa đơn nhập
  • 24. https://lop10.com/ 24 select * from HoaDonNhap --2. Hiển thị Mã hóa đơn nhập, Người Giao, Người nhận, Tổng tiền hóa đơn của những hóa đơn có ngày nhập là 19/06/2017 select MaHDN, NguoiGiao, NguoiNhan, TongTienHD from HoaDonNhap where NgayNhap='19/06/2017' --3. Hiển thị thông tin đầy đủ của 3 hóa đơn nhập đầu tiên trong bảng Hóa đơn nhập select top 3 * from HoaDonNhap --4. Hiển thị thông tin đầy đủ của 5 hóa đơn đầu tiên trong bảng Hóa đơn nhập select top 5 * from HoaDonNhap --5. Hiển thị thông tin của các Nhà phân phối có mã số thuế bắt đầu bằng 123 select * from NhaPhanPhoi where MaSoThue like '123%' --6. Hiển thị danh sách các hóa đơn nhậpcó tổng tiền hóa đơn lớn hơn 150000đ select * from HoaDonNhap where TongTienHD>150.000 --7. Hiển thị danh sách các hóa đơn nhập có tổng tiền hóa đơn nhỏ hơn 150000đ select * from HoaDonNhap where TongTienHD<150.000 --8. Hiển thị danh sách các hóa đơn nhập có tổng tiền hóa đơn từ 150000đ đến 300000đ select * from HoaDonNhap where TongTienHD between 150.000 and 300.000 --9. Hiển thị danh sách các hóa đơn nhập có tên người nhận bắt đầu bằng chữ H select * from HoaDonNhap where NguoiNhan like 'H%' --10. Hiển thị danh sách các hóa đơn nhập có tên người giao kết thúc bằng chữ ng select * from HoaDonNhap where NguoiGiao like '%ng'
  • 25. https://lop10.com/ 25 --11. Hiển thị danh sách các hóa đơn nhập có Người Giao tên là An select * from HoaDonNhap where NguoiGiao like N'An' --12. Hiển thị thông tin hóa đơn nhập có mã hóa đơn =1 select * from HoaDonNhap where MaHDN=1 --13. Hiển thị tên nhà phân phối theo mã Hóa đơn nhập select MaHDN, TenNPP from HoaDonNhap, NhaPhanPhoi where HoaDonNhap.MaNPP=NhaPhanPhoi.MaNPP --14. Hiển thị danh sách các nhà phân phối không có hóa đơn nhập. select * from NhaPhanPhoi where NhaPhanPhoi.MaNPP NOT IN ( select HoaDonNhap.MaNPP from HoaDonNhap ) --15. Hiển thị danh sách các hóa đơn có tổng tiền hóa đơn nhỏ hơn 150000 và lớn hơn 300000 select * from HoaDonNhap where TongTienHD not between 150.000 and 300.000 --16. Hiển thị danh sách các nhà phân phối có mã hóa đơn lần lượt là 1,13,38 select MaHDN, TenNPP from HoaDonNhap, NhaPhanPhoi where HoaDonNhap.MaNPP=NhaPhanPhoi.MaNPP and MaHDN in(1,13,38)
  • 26. https://lop10.com/ 26 --17. Hiển thị danh sách các hóa đơn nhập sắp xếp theo ngày nhập gần đây nhất trong bảng Hóa đơn nhập select * from HoaDonNhap order by NgayNhap DESC --18. Hiển thị danh sách các nhà phân phối mà trong TenNPP có từ dược phẩm select * from NhaPhanPhoi where TenNPP like N'%dược phẩm%' --19. Hiển thị danh sách những hóa đơn nhập có ký tự thứ hai của tên người giao có chứa chữ N select * from HoaDonNhap where NguoiGiao like'_n%' --20. Hiển thị danh sách các hóa đơn nhập theo thứ tự tăng dần của Tổng tiền hóa đơn select * from HoaDonNhap order by TongTienHD --21. Lấy ra số lượng hóa đơn nhập của các Nhà phân phối ( đếm số lượng tương ứng) select MaNPP, count(MaHDN) as 'so_luong' from HoaDonNhap group by MaNPP --22. Hiển thị tính tổng toàn bộ Tiền hóa đơn trong bảng Hóa đơn nhập select sum(TongTienHD) from HoaDonNhap --23. Hiển thị tổng Tiền hóa đơn theo Tên Người Nhận select NguoiNhan, sum(TongTienHD) from HoaDonNhap group by NguoiNhan
  • 27. https://lop10.com/ 27 --24. Hiển thị tính Tổng tiền hóa đơn trung bình của những hóa đơn có Tổng tiền hóa đơn từ 150000 đến 250000 select avg(TongTienHD) from HoaDonNhap where TongTienHD between 150000 and 250000 --25. Hiển thị tổng tiền hóa đơn nhiều nhất trong bảng Hóa đơn nhập select max(TongTienHD) from HoaDonNhap --26. Hiển thị tổng tiền hóa đơn ít nhất trong bảng Hóa đơn nhập select min(TongTienHD) from HoaDonNhap --27. Cập nhật giá nhập * 1.2 trong bảng Chi tiết hóa đơn nhập cho tất cả các mã hóa đơn nhập có số lượng lớn hơn hoặc bằng 50 update ChiTietHoaDonNhap set GiaNhap=GiaNhap*1.2 where SoLuong IN (select SoLuong from ChiTietHoaDonNhap where SoLuong >= 50 ) --28. Thay đổi ngày nhập của hóa đơn nhập có mã hóa đơn =6 update HoaDonNhap set NgayNhap='02/02/2009' where MaHDN='6'
  • 28. https://lop10.com/ 28 --29. Thêm 1 bản ghi vào bảng Hóa đơn nhập insert into HoaDonNhap(MaNPP, NguoiGiao, NguoiNhan, TongTienThuoc, TongThue, TongTienHD, NgayNhap, NgayViet) values (3,N'An',N'Bình',420000,0.5,428000,'19/04/2018','') --30. Xóa bản ghi trong bảng Hóa đơn nhập có mã hóa đơn là 2083 delete from HoaDonNhap where MaHDN='2083' 3.1.4 Vũ Thị Trang --1. lấy ra tổng số lượng thuốc của mỗi hóa đơn nhập trong bảng chi tiết hóa đơn nhập SELECT MaHDN, SUM(SoLuong) as tong FROM ChiTietHoaDonNhap GROUP BY MaHDN --2.lấy ra mã hóa đơn nhập , tổng tiền thuốc trong bảng hóa đơn nhập SELECT MaHDN,TongTienThuoc FROM HoaDonNhap --3.lấy ra mã nhóm, tên thuốc, ID thuốc,tên nhóm và số lượng trong bảng thuốc và nhóm thuốc SELECT NhomThuoc.MaNhom,TenThuoc,IDThuoc,TenNhom,soluong FROM Thuoc INNER JOIN NhomThuoc ON NhomThuoc.MaNhom=Thuoc.MaNhom ORDER BY NhomThuoc.MaNhom --4.lấy ra bảng chi tiết hóa đơn nhập và chi tiết hóa đơn xuất SELECT * FROM HoaDonNhap,HoaDonXuat --5.lấy ra công dụng, cách dùng,bảo quản tong bảng thuốc SELECT CongDung,CachDung,BaoQuan from Thuoc --6.lấy ra những bênh nhân có họ Trần SELECT* FROM BenhNhan where HoTen like N'Trần%' --7.thêm đơn vị tính INSERT INTO NhomThuoc(TenNhom,GhiChu) VALUES (N'thuốc đau đầu',N'ghi chú') SELECT*FROM DonViTinh
  • 29. https://lop10.com/ 29 --8.xóa bênh nhân có ID bênh nhân là 3 từ bảng bệnh nhân DELETE FROM BenhNhan WHERE IDBN='3' SELECT* FROM BenhNhan --9.Sửa bênh nhân Trần Văn 2 thành Phạm Văn Đạt update BenhNhan SET HoTen=N'Phạm Văn Đạt' where IDBN='1' SELECT* FROM BenhNhan --10.lấy ra những loại thuốc có mã ngày sản xuất là 2 trong bảng thuốc SELECT TenThuoc FROM Thuoc WHERE MaNSX='2' --11.lấy ra những chi tiết mã hóa đơn nhập có giá nhập là 50.00 trong bảng chi tiết hóa đơn nhập SELECT MaCTHDN FROM ChiTietHoaDonNhap WHERE GiaNhap='50.00' --12.sửa hàm lượng thuốc có số lượng là 2 trong bảng thuốc update Thuoc SET HamLuong='50mg' WHERE SoLuong='2' SELECT* FROM Thuoc --13.lấy ra những tên thuốc có hàm lượng 50mg trong bảng thuốc SELECT TenThuoc FROM Thuoc WHERE HamLuong='50mg' --14. lấy ra tên thuốc, nguồn gốc,số lượng thuốc thuộc nhóm thuốc có tên là Thuốc gây mê, tê SELECT TenThuoc, NguonGoc, SoLuong FROM Thuoc WHERE MaNhom IN(SELECT MaNhom FROM NhomThuoc WHERE TenNhom = N'Thuốc gây mê, tê') --15. đếm số lượng tên thuốc trong bảng thuốc SELECT count(*) as TenThuoc FROM Thuoc --16.thêm bệnh nhân vào bảng bệnh nhân INSERT INTO BenhNhan(MaBN,HoTen,Tuoi,DiaChi,DienThoai) VALUES ('BN_10',N'Nguyễn Văn Tùng',30,N'Hải Phòng','098') INSERT INTO BenhNhan(MaBN,HoTen,Tuoi,DiaChi,DienThoai) VALUES ('BN_12',N'Phạm Văn Toàn',35,N'Hải Dương','096') SELECT* FROM BenhNhan --17.lấy ra tuổi của mỗi bệnh nhân và sắp xếp giảm dần select distinct MaBN, Hoten, Tuoi from BenhNhan order by Tuoi desc --18.lấy ra tên bệnh nhân trên 30 tuổi SELECT DISTINCT HoTen FROM BenhNhan WHERE year(Tuoi) > 30
  • 30. https://lop10.com/ 30 --19.sửa mã bệnh nhân có ID bệnh nhân 1, 2 update BenhNhan SET MaBN=N'BN-8' where IDBN='1' update BenhNhan SET MaBN=N'BN-15' where IDBN='2' SELECT* FROM BenhNhan --20. lấy ra số lượng, giá nhập thuốc với mã hóa đơn nhập lớn hơn 9 trong bảng chi tiết hóa đơn nhập SELECT SoLuong, GiaNhap FROM ChiTietHoaDonNhap WHERE MaCTHDN > 9 --21.lấy ra số lượng thuốc và sắp xếp giảm dần theo số lượng select SoLuong from Thuoc order by SoLuong desc --22 lấy ra Bệnh nhân không phải họ Nguyễn select * from BenhNhan where HoTen not like N'Nguyễn %' --23.hiển thị danh sách bệnh nhân có họ bắt đầu bằng chữ P select * from BenhNhan where HoTen like 'P%' --24.lấy dữ liệu từ 2 bảng thuốc và đơn vị tính lây ra những thuốc có đơn vị tính là 'viên' select thuoc.TenThuoc,DonViTinh.TenDVT from thuoc, DonViTinh where TenDVT=N'viên' --25.lấy ra mã thuốc,nguồn gốc thuốc trong bảng thuốc select MaThuoc,NguonGoc from Thuoc --26.lấy ra mã thuốc,nguồn gốc thuốc có hàm lượng 50mg trong bảng thuốc select MaThuoc,NguonGoc from Thuoc where HamLuong='50mg' --27.hiển thị toàn bộ thông tin hóa đơn nhập select * from HoaDonNhap --28.lấy ra thông tin nhà sản xuất select * from NhaSanXuat --29.lấy ra thông tin nhóm thuốc select * from NhomThuoc --30.lấy ra thông tin nhà phân phối select * from NhaPhanPhoi 3.2 Khai thác bằng lập trình TSQL
  • 31. https://lop10.com/ 31 --1. Tạo hàm đếm số Thuốc theo nhà sản xuất (mã NSX là tham số). CREATE FUNCTION fn_DemSoThuoc(@MaNSX nvarchar(50)) RETURNS int AS BEGIN DECLARE @ret int; SELECT @ret = count(*) FROM Thuoc WHERE MaNSX=@MaNSX; IF (@ret IS NULL) SET @ret = 0; RETURN @ret; END --sử dụng hàm đếm số thuốc theo mã NSX select dbo.fn_DemSoThuoc ('1') --2. tạo hàm hiển thị danh sách thuốc thuộc nhà sản xuất(với MaNSX là tham số) CREATE FUNCTION fn_DanhSachThuoc (@MaNSX nvarchar(30)) RETURNS TABLE AS RETURN ( SELECT * FROM Thuoc
  • 32. https://lop10.com/ 32 WHERE MaNSX=@MaNSX ); --sử dụng hàm hiển thị danh sách thuốc thuộc nhà sản xuất select * from fn_DanhSachThuoc('1') --3. Tạo function đếm số hóa đơn nhập theo Người giao (tên Người giao là tham số). CREATE FUNCTION fn_DemSoHoaDonNhap(@NguoiGiao nvarchar(30)) RETURNS int AS BEGIN DECLARE @ret int; SELECT @ret = count(*) FROM HoaDonNhap WHERE NguoiGiao=@NguoiGiao IF (@ret IS NULL) SET @ret = 0; RETURN @ret; END -- Sử dụng hàm đếm số hóa đơn nhập theo người giao(với tên người giao là Hùng) select dbo.fn_DemSoHoaDonNhap ('Hùng') --4. Xóa hàm đếm số hóa đơn nhập theo Người Giao đã tạo trước đó
  • 33. https://lop10.com/ 33 Drop function dbo.fn_DemSoHoaDonNhap --5. Tạo thủ tục trả về số lượng Thuốc theo nhóm thuốc CREATE PROCEDURE udsDemThuoc @MaNhom varchar(20), @SoLuong int output AS BEGIN SELECT @SoLuong = COUNT(*) FROM Thuoc WHERE MaNhom=@MaNhom END --sử dụng thủ tục DECLARE @SoLuong int EXEC udsDemThuoc'1', @SoLuong out print @SoLuong --6. Tạo procedure cho câu INSERT để thêm Nhà phân phối vào bảng CREATE PROCEDURE udsThemNhaPhanPhoi @TenNPP nvarchar(50), @DiaChi nvarchar(200),
  • 34. https://lop10.com/ 34 @DienThoai varchar(100), @Fax varchar(100), @Email varchar(100), @MaSoThue varchar(100), @GhiChu nvarchar(200) AS BEGIN INSERT INTO NhaPhanPhoi(TenNPP, DiaChi, DienThoai, Fax, Email, MaSoThue, GhiChu) VALUES(@TenNPP,@DiaChi,@DienThoai,@Fax,@Email,@MaSoThue,@GhiChu) END drop procedure udsThemNhaPhanPhoi --gọi thủ tục thêm Nhà phân phối EXEC udsThemNhaPhanPhoi N'Công ty cổ phần dược phẩm TW 1', N'56 Cầu Giấy- Hà nội', '0989898789','12359231','duocpham@gmail.com','3214564','' --7. Xóa thủ tục thêm nhà phân phối đã tạo trước đó Drop procedure udsThemNhaPhanPhoi --8. Tạo procedure cho câu INSERT để thêm Hóa đơn nhập vào bảng
  • 35. https://lop10.com/ 35 CREATE PROCEDURE ThemHoaDonNhap @MaNPP nvarchar(50), @NguoiGiao nvarchar(200), @NguoiNhan varchar(100), @TongTienThuoc varchar(100), @TongThue varchar(100), @TongTienHD varchar(100), @NgayNhap nvarchar(200), @NgayViet nvarchar(200) AS BEGIN INSERT INTO HoaDonNhap(MaNPP, NguoiGiao, NguoiNhan, TongTienThuoc, TongThue, TongTienHD, NgayNhap, NgayViet) VALUES(@MaNPP,@NguoiGiao,@NguoiNhan,@TongTienThuoc,@TongThue,@Ton gTienHD,@NgayNhap,@NgayViet) END --gọi thủ tục thêm Hóa đơn nhập EXEC ThemHoaDonNhap 3,N'Hòa','Mai',620000,0.8,630000,'03/04/2018','' --9. Tạo trigger trên bảng nhà phân phối cho sự kiện insert, trigger thực hiện thông báo mã nhà phân phối vừa thêm
  • 36. https://lop10.com/ 36 create trigger THEMNPP on NHAPHANPHOI for insert as declare @MaNPP nchar(10) begin select @MaNPP=MaNPP from INSERTED print N'Mã nhà phân phối vừa thêm là '+@MaNPP end --10. Xóa trigger trên bảng nhà phân phối cho sự kiện insert vừa tạo Drop trigger THEMNPP CHƯƠNG 4: CÀI ĐẶT ỨNG DỤNG 4.1 Lưa chọn ngôn ngữ cài đặt Trong chương trình sử dụng: - Visual stadio bản 2015 - SQL server bản 2012 - Dev express bản 2013 - Ngôn ngữ lập trình C# 4.1.1. MS SQL 2012 Nền tảng cho các nhiệm vụ then chốt - SQL Server 2012 cho phép các tổ chức có thể chạy hầu hết các ứng dụng phức tạp của họ trên một nền tảng an toàn, tin cậy và có khả năng mở rộng, bên cạnh đó còn giảm được sự phức tạp trong việc quản lý cơ sở hạ
  • 37. https://lop10.com/ 37 tầng dữ liệu. SQL Server 2008 cung cấp một nền tảng tin cậy và an toàn bằng cách bảo đảm những thông tin có giá trị trong các ứng dụng đang tồn tại và nâng cao khả năng sẵn có của dữ liệu. SQL Server 2012 giới thiệu một cơ chế quản lý cách tân dựa trên chính sách, cơ chế này cho phép các chính sách có thể được định nghĩa quản trị tự động cho các thực thể máy chủ trên một hoặc nhiều máy chủ. Thêm vào đó, SQL Server 2012 cho phép thi hành truy vấn dự báo với một nền tảng tối ưu. Sự phát triển động - SQL Server 2012 cùng với .NET Framework đã giảm được sự phức tạp trong việc phát triển các ứng dụng mới. ADO.NET Entity Framework cho phép các chuyên gia phát triển phần mềm có thể nâng cao năng suất bằng làm việc với các thực thể dữ liệu logic đáp ứng được các yêu cầu của doanh nghiệp thay vì lập trình trực tiếp với các bảng và cột. Các mở rộng của ngôn ngữ truy vấn tích hợp (LINQ) mới trong .NET Framework đã cách mạng hóa cách các chuyên gia phát triển truy vấn dữ liệu bằng việc mở rộng Visual C#® và Visual Basic® .NET để hỗ trợ cú pháp truy vấn giống SQL vốn đã có. Hỗ trợ cho các hệ thống kết nối cho phép chuyên gia phát triển xây dựng các ứng dụng cho phép người dùng mang dữ liệu cùng với ứng dụng này vào các thiết bị và sau đó đồng bộ dữ liệu của chúng với máy chủ trung tâm. 4.1.2. C#.Net C# là một ngôn ngữ lập trình ứng dụng, ngôn ngữ biên dịch, ngôn ngữ đa năng được phát triển bởi hãng Microsoft, là một phần khởi đầu cho kế hoạch .NET. Microsoft phát triển C# dựa trên C, C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java. Ngôn ngữ lập trình C# được đánh giá là dễ học và kết hợp được nhiều ưu điểm của các ngôn ngữ lập trình hướng đối tượng Java và C++. Do đó ngôn ngữ C# đựơc sử dụng rộng rãi nhất. C# có thể được viết với bất kỳ trình soạn thảo văn bản nào như Notepad của Windows, và sau đó biên dịch với trình biên dịch dòng lệnh của C#, csc.exe luôn đi kèm với .Net framework.
  • 38. https://lop10.com/ 38 4.2 Kiến trúc menu hệ thống 4.3 Giao diện các chức năng Đầu tiên, khi chạy phần mềm, form đăng nhập sẽ hiện lên (hình 16). Muốn truy cập vào phần mềm người dùng sẽ phải đăng nhập Hình 3: Giao diện đăng nhập vào hệ thống
  • 39. https://lop10.com/ 39 Khi đăng nhập thành công, giao diện chính của phần mềm sẽ hiện lên (hình 3). Trong giao diện chính sẽ có 4 mục là: Hệ thống, Danh mục, Hóa đơn và Đối tác. Hình 4: Giao diện chính của phần mềm quản lý. Trong mục “hệ thống” có mục con đó là “Người dùng” (hình 4). “Người dùng” là quản lý những tài khoản người dùng dùng để đăng nhập vào trong phần đăng nhập vào phần mềm.
  • 40. https://lop10.com/ 40 Hình 5: Giao diện hệ thống, người dùng
  • 41. https://lop10.com/ 41 Tiếp đến khi người dùng bấm vào phần “danh mục”, thanh menu con bên trái màn hình sẽ hiện lên các phần “nhóm thuốc” , “thuốc”, “đơn vị tính”. Khi bấm vào “thuốc” màn hình hiển thị bên phải sẽ hiển thị lên tất cả các dữ liệu thuốc. Bên trên bảng dữ liệu có các nút “Thêm” “Xóa” để người dùng dễ dàng thêm hoặc xóa dữ liệu. Hoặc khi ta nháy đúp chuột trái vào 1 dòng dữ liệu bất kỳ thì 1 thông tin của dữ liệu đó sẽ hiển thị lên trên 1 form mới để người dùng có thể sửa dữ liệu (hình 6). Hình 6: Giao diện danh mục thuốc
  • 42. https://lop10.com/ 42 Tương tự, khi bấm vào “Nhóm thuốc”, dữ liệu nhóm thuốc sẽ hiện lên, người dùng có thể thêm nhóm thuốc mới, sửa thông tin đang có hoặc xóa 1 nhóm nào đó (hình 7). Hình 7: Giao diện danh mục nhóm thuốc
  • 43. https://lop10.com/ 43 Danh mục đơn vị tính, chứa các kiểu đơn vị của thuốc (hình 8). Hình 8: Giao diện danh mục đơn vị tính Khi bấm sang mục “Hóa đơn” người dùng sẽ xem được thông tin các hóa đơn đã nhập, xuất và có thể tạo các hóa đơn mới (hình 9, 10).
  • 44. https://lop10.com/ 44 Hình 9: Giao diện hóa đơn nhập Hình 10: Tạo một hóa đơn nhập mới
  • 45. https://lop10.com/ 45 Còn lại là phần “đối tác” bao gồm mục các “nhà sản xuất” và các “nhà phân phối” sản phẩm. Hình 10: Giao diện đối tác nhà phân phối