Tải bản đầy đủ (.pdf) (45 trang)

Báo cáo thực tập Cơ sở dữ liệu: Xây dựng phần mềm quản lí bán thuốc

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

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

1


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 hang
̣


̣
̀
­

Nhâp hang
̣
̀

­

Kiêm kê kho
̉

­

Xuât hang cho khac
́ ̀
́

      1.1.1.2 Bô phân quan lý
̣
̣
̉

2

­

Lâp hoa đ
̣

́ ơn bá

­

Lập phiếu xuất kho

­

Thanh toan v
́ ới khach hang
́
̀

­

Lâp đ
̣ ơn hang mua
̀

­

Thanh toan v
́ ới nha cung câp
̀
́


1.2 Quy trình nghiệp vụ

1.2.1 Ban hang

́
̀
Khi co nhu câu mua hàng, nhân viên se t
́
̀
̃ ư  vân cho khach hang nh
́
́
̀
ưng nhân viên
̃
 
bộ  phận quản lý se trao đôi thông tin v
̃
̉
ơi khach hang đê lâp hóa đ
́
́
̀
̉ ̣
ơn ban hang, đ
́ ̀
ơn  
hang đ
̀ ược lâp thanh 3 ban:
̣
̀
̉
­1 ban l
̉ ưu tai bô phân quan lý

̣
̣
̣
̉
­1 ban đ
̉ ưa cho khach (khi đa thanh toan)
́
̃
́
­1 ban chuy
̉
ển sang cho bộ phận bán hàng đê xuât hang
̉
́ ̀
Sau khi khach thanh toán, nhân viên bô phân quan ly se g
́
̣
̣
̉
́ ̃ ửi phiêu xuât
́
́ 
hang sang b
̀
ộ phận kho hàng. Nhân viên bộ phận kho se l
̃ ấy hang và bàn giao 
̀

cho 


khach.
́
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 hang
̀
Khi co yêu câu mua hang t
́
̀
̀ ừ kho, nhân viên bô phân quan ly se lâp đ
̣
̣
̉
́ ̃ ̣ ơn mua hang
̀  
va g
̀ ửi tơi nha cung câp.
́
̀
́
Nha cung câp s
̀
́ ẽ  theo đơn mua chuyên hang đên công ty, nhân viên kho hang se
̉
̀
́
̀
̃ 
tiêp nhân hang.
́

̣
̀
1.2.3 Quy tắc nghiệp vụ
Hăng ngay, bô phân giao dich phai thông kê tinh hinh ban hang va thông bao v
̀
̀
̣
̣
̣
̉
́
̀
̀
́ ̀
̀
́ ới 
ban quan ly.
̉
́
Thứ 7 hang tuân nhân viên kho hang se kiêm kê kho va nhân hang m
̀
̀
̀
̃ ̉
̀
̣
̀
ới. Cuôí 
thang bô phân quan ly se thanh toan cho nha cung câp.
́

̣
̣
̉
́ ̃
́
̀
́
3


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.
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

4


­ Đầ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: 
            + 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.


5


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


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

2.2 Xây dựng mô hình liên hết thực thể 
7


 Ký hiệu sử dụng

Bảng quan hệ (Table)
Quan hệ (Relational)
 Mô hình

Hình 1: Mô hình thực thể mở rộng
2.3 Vẽ mô hình quan hệ 

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
Tên trường

Kiểu dữ liệu


Diễn giải

MaHDN

Int

Mã hóa đơn nhập

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

ST
T
1

Khóa 
chính
X

2

Khóa 
ngoại
X

Bảng : Bảng dữ liệu hóa đơn nhập
2.5.2 Bảng nhà phân phối ­ NhaPhanPhoi
STT

8


Khóa 

Khóa 

chính

ngoại

Tên trường Kiểu dữ liệu

Diễn giải


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ú

1

X

Bảng : Bảng dữ liệu nhà phân phối
2.5.3 Bảng chi tiết hóa đơn nhập ­ ChiTietHoaDonNhap

2

X

MaHDN

Kiểu   dữ  Diễn giải

liệu
Int
Mã  chi tiết  hóa  đơn 
nhập
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

STT Khóa chính
1

Khóa ngoại

X

Tên trường
MaCTHDN

Bảng : 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
1

Khóa ngoại Tên trường

X

2

MaDVT

Kiểu   dữ  Diễn giải
liệu
Int
Mã đơn vị tính


TenDVT

Nvarchar(50) Tên đơn vị tính

Bảng : Bảng dữ liệu đơn vị tính
2.5.5 Bảng thuốc ­ Thuoc
9


Kiểu dữ liệu

Diễn giải

IDThuoc

Int

Số hiệu của thuốc

2

MaThuoc

Nvarchar(100) Mã thuốc

3

TenThuoc


Nvarchar(50)

Tên thuốc

MaNhom

int

Mã nhóm thuốc

NguonGoc

Nvarchar(100) Nguồn gốc

MaNSX

Int

Mã nhà sản xuất

7

SoLuong

Int

Số lượng tồn

8


GiaBan

Money

Giá bán

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ế

STT Khóa chính
1

Khóa ngoại Tên trường

X

4

X

5
6

X

9

X

Bảng : Bảng dữ liệu thuốc
2.5.6 Bảng nhà sản xuất ­ NhaSanXuat
STT Khóa 
chính

1
X
2
3
4

10

Khóa 
ngoại

Tên trường Kiểu dữ liệu

Diễn giải

MaNSX
TenNSX
DiaChi
DienThoai

Mã nhà sản xuất
Tên nhà sản xuất
Địa chỉ
Điện thoại

Int
Nvarchar(100)
Nvarchar(200)
Varchar(100)



5
6
7

Fax
Email
GhiChu

Varchar(100)
Varchar(100)
Nvarchar(200)

Fax
Email
Ghi chú

Bảng : 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
1
X
2
3

Khóa ngoại

Tên trường
MaNhom
TenNhom

GhiChu

Kiểu dữ liệu
Int
Nvarchar(100)
Nchar(100)

Diễn giải
Mã nhóm thuốc
Tên nhóm thuốc
Ghi chú

Bảng : 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
1
x
2
3
4
5
6

Khóa 
ngoại

Tên trường
MaHDX
IDBN

TongTienThuoc
NgayLap
TongThue
TongTienHD

Kiểu   dữ 
liệu
Int
Int
Money
Datetime
Float
Money

Diễn giải
Mã hóa đơn xuất
Mã số bệnh nhân
Tổng tiền thuốc
Ngày lập hóa đơn
Tổng tiền thuế
Tổng tiền hóa đơn

Bảng : 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
1
x
2
3

4
5
6
7

Khóa  Tên trường
ngoại
MaCTHDX
X
MaHDX
X
IDThuoc
SoLuong
GiaBan
Thue
DonVi

Kiểu dữ liệu

Diễn giải

Int
Int
Int
Int
Money
Float
Nvarchar(50)

Mã chi tiết hóa đơn xuất

Mã hóa đơn xuất
Số hiệu của thuốc
Số lượng
Giá bán
Thuế
Đơn vị

Bảng : Bảng dữ liệu chi tiết hóa đơn xuất
2.5.10 Bảng bệnh nhận ­ BenhNhan
11


STT Khóa chính Khóa 
ngoại
1
X

Tên trường

Kiểu dữ liệu

Diễn giải

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 : 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,

12


[TongTienHD] [money] NOT NULL,
[NgayNhap] [datetime] NOT NULL,
[NgayViet] [datetime] NULL)
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''),

13


(N''),
(N''),

[ChuY] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_ChuY] DEFAULT (N''),
[HanSuDung] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_HanSuDung] DEFAULT
[BaoQuan] [nvarchar](500) NULL CONSTRAINT [DF_Thuoc_BaoQuan]
[DangBaoChe] [nvarchar](500) NULL,


Bảng Diagram

14

DEFAULT


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
15



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'
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](

16


[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. 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
17


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,
[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
18


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 
 
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
19


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.
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
20


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,
[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,
21


[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
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

22


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'
­­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 
23



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)
­­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

24


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
­­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


×