医院药房管理系统

#医院药房管理系统#

设计要求:
根据以上说明,设计该系统的概念结构即E-R图,然后转化为相应的逻辑结构。
完成下面的要求
1.建立5张以上的用户表(数据30行以上),表之间有一定联系,以保证参照 完整性;
2.表中某些列的值要唯一但允许空值,某些列的值要唯一而且不允许空值;
3.给表上建立两个以上的约束(类型、条件等自定),使表中的某些列满足一定的条件;
4.给经常查询的列建立一个索引;
5.建立两张以上的视图,使用户能查看部分数据;
6.建立至少五个触发器(类型不同)、四个存储过程加强表之间的数据完整性 、一致性约束;
7.创建三个游标;
8.写出不少于6个SELECT语句(其中要有不少于2个的嵌套查询),并要附上题 目和查询结果;
9.写出不少于10个的数据更新语句;

实体及属性的定义
表2-1药品信息表(drugInformation)结构

字段名 类型 长度 完整性约束 别名 备注
Chemical_no nchar 12 主键、非空、唯一 药品编号 唯一
Chemical_name nchar 50 药品名称
Chemical_type nchar 20 药品分类 注射、内服、外用
Chemical_standard nchar 10 药品规格 处方 非处方
Chemical_manufacturer_no nchar 12 制药商编号 唯一
Chemical_buy_price money 药品进价 大于0
Chemical_sell_price money 药品售价 大于0
Chemical_product_date datetime 生产日期
Chemical_validity_date datetime 有效日期

表2-2制药商信息表(manufacture)

字段名 类型 长度 完整性约束 别名 备注
Chemical_manufacturer_no nchar 12 唯一、非空、主键 制药商编号
Chemical_manufacturer_name nchar 20 制药商名称
Chemical_manufacture_tel nchar 15 联系电话 正则表达式
Chemical_email nchar 20 Email 正则表达式

表2-3仓库存储信息表(Warehouse_Storage)

字段名 类型 长度 完整性约束 别名 备注
Chemical_no nchar 12 主键、非空、唯一 药品编号
warehouse_no nchar 10 仓库编号
Chemical_number int 10 药品数量 大于0
warehouse_name nchar 50 仓库名称

表2-4药品退订信息表(chemical_Tuding)

字段名 类型 长度 完整性约束 别名 备注
Chemical_no nchar 12 主键、非空、唯一、非空 药品编号 唯一
Deal_time datetime 处理时间
Chemical_manufacturer_no nchar 12 制药商编号
Chemical_number nchar 10 药品数量 大于0
Unsubscribe_method nchar 20 退订方式

表2-5病人信息(Patient)

字段名 类型 长度 完整性约束 别名 备注
Patient_no Nchar 12 主键、非空、唯一 病人编号 唯一
Patient_name Nchar 10 姓名
Patient_sex Nchar 5 性别 男或女
Patient_age Int 5 年龄 0——150
Patient_tel Nchar 15 联系电话 正则表达式
Patient_add Nchar 100 住址

表2-6仓库管理员表(Stockman_info)

字段名 类型 长度 完整性约束 别名 备注
Administrator_no nchar 12 主键、唯一非空 管理员编号 唯一
Administrator_name nchar 10 管理员姓名
Warehouse_no nchar 10 仓库编号

表2-7药品售退表(Chemical_sell_rebate)

字段名 类型 长度 完整性约束 别名 备注
Patient_no Nchar 12 主键、非空、唯一 病人编号 唯一
Chemical_no nchar 12 药品编号
Count Int 数量 大于0
Deal_time Datetime 处理时间
Revoke_plan Nchar 50 销退方式

表2-8过期药品表

字段名 类型 长度 完整性约束 别名 备注
Chemical_np nchar 12 主键 药品编号 唯一
Time_log datetime 时间记录
Chemical_number int 药品数量 大于0
Deal_plan nchar 20 处理方式

逻辑结构设计
1初始化关系模式
(1).drugInformation(Chemical_no,Chemical_name,Chemical_type,Chemical_standard,Chemical_manufacturer_no,Chemical_buy_price,Chemical_sell_price,Chemical_product_date,Chemical_validity_date)
其中各项含义为:商品信息(药品编号、名称、分类、药品规格、制药商编号、进价、售价、生产日期、有效日期)
(2).Manufacture(Chemical_manufacturer_no,Chemical_manufacturer_
name,Chemical_manufacture_tel,Chemical_email)
其中各项含义为:制药商(制药商编号、名称、公司地点、联系电话、Email)
(3).Warehouse_Storage(Chemical_no,warehouse_no,Chemical_number,
warehouse_name)
其中各项含义为:仓库存储信息(药品编号、仓库编号、药品数量、仓库名称)
(4).Chemical_Tuiding(Chemical_no,Deal_time,Chemical_manufacture r_no,Chemical_number,Unsubscribe_method)
其中各项含义为:药品订退信息(药品编号、制药商编号、处理时间、药品数量、 退订方式)
(5).Patient(Patient_no,Patient_name,Patient_sex,Patient_age,Patient_tel,Patient_add)
其中各项含义为:病人信息(病人编号、姓名、性别、年龄、联系电话、住址)
(6).Chemical_sell_rebate(Patient_no,Chemical_no,Count,Deal_time,R evoke_plan)
其中各项的含义为:(买药人编号、药品编号、数量、处理时间、销退方式)
(7).Stockman_info(Administrator_no,Administrator_name,
Warehouse_no)
其中的各项的含义为:仓库管理员(管理员编号、管理员姓名、仓库编号)
(8).Chemical_Overtime(Chemical_np,Time_log,Chemical_number,
Deal_plan,)
其中的各项的含义为;过期药品(药品编号、药品数量、处理方式、时间记录)
2规范化处理
下划线代表主键,斜体代表外键
(1).drugInformation(Chemical_no,Chemical_name,Chemical_type,Chemical_standard,Chemical_manufacturer_no,Chemical_buy_price,Chemical_sell_price,Chemical_product_date,Chemical_validity_date)
(2).Manufacture(Chemical_manufacturer_no,Chemical_manufacturer_
name,Chemical_manufacture_tel,Chemical_email)
(3).Warehouse_Storage(Chemical_no,warehouse_no,Chemical_number,
warehouse_name)
(4).Chemical_Tuiding(Chemical_no,Deal_time,Chemical_manufacture r_no,Chemical_number,Unsubscribe_method)
(5).Patient(Patient_no,Patient_name,Patient_sex,Patient_age,
Patient_tel,Patient_add) (6).Chemical_sell_rebate(Patient_no,Chemical_no,Count,Deal_time,
Revoke_plan)
(7).Stockman_info(Administrator_no,Administrator_name,
Warehouse_no)
(8).Chemical_Overtime(Chemical_np,Time_log,Chemical_number,
Deal_plan,)

物理结构设计
1.索引表
制药商信息表索引
索引 字段名 类型 长度

Chemical_manufacturer_no nchar 12
无 Chemical_manufacturer_name nchar 20
无 Chemical_manufacture_tel nchar 15
无 Chemical_email nchar 20

药品信息表
索引 字段名 类型 长度
主 Chemical_no nchar 12
无 Chemical_name nchar 50
无 Chemical_type nchar 20
无 Chemical_standard nchar 10
无 Chemical_manufacturer_no nchar 12
无 Chemical_buy_price money
无 Chemical_sell_price money
无 Chemical_product_date datetime
无 Chemical_validity_date datetime

仓库存储信息表索引
索引 字段名 类型 长度
主 Chemical_no nchar 12
warehouse_no nchar 10
无 Chemical_number int 10
无 warehouse_name nchar 50

药品订退信息表索引
索引 字段名 类型 长度
主 Chemical_no nchar 12
Deal_time datetime
无 Chemical_manufacturer_no nchar 12
无 Chemical_number Int 10
无 Unsubscribe_method nchar 20

病人信息索引
索引 字段名 类型 长度
主 Patient_no Nchar 12
无 Patient_name Nchar 10
无 Patient_sex Nchar 5
无 Patient_age Int 5
无 Patient_tel Nchar 15
无 Patient_add Nchar 100

药品售退信息索引
索引 字段名 类型 长度
主 Patient_no Nchar 12
Chemical_no nchar 12
无 Counts Int 10
无 Deal_time Datetime
无 Revoke_plan Nchar 50

仓库管理员索引
索引 字段名 类型 长度
主 Administrator_no nchar 12
无 Administrator_name nchar 10
无 Warehouse_no nchar 10

过期药品表索引
索引 字段名 类型 长度
主 Chemical_no nchar 12
Time_log datetime
无 Chemical_number int 10
无 Deal_plan nchar 20

数据库实施
1.用SQL语言创建数据库和代码如下
1.1.医院药房管理系统数据库代码如下;
CREATE DATABASE Drugstore_Manmanagement_System
ON PRIMARY
( NAME = ‘Drugstore_Manmanagement_System’,
FILENAME= ‘D:\Sql2012\MSSQL11.MSSQLSERVER\MSSQL\DATA\Drugstore_Manmanagement_System.mdf’ ,
SIZE = 4MB ,
MAXSIZE = 100MB,
FILEGROWTH = 1MB )
LOG ON
( NAME = ‘Drugstore_Manmanagement_System_log’,
FILENAME = ‘D:\Sql2012\MSSQL11.MSSQLSERVER\MSSQL\DATA\Drugstore_Manmanagement_System_log.ldf’ ,
SIZE = 1MB ,
MAXSIZE = 30MB ,
FILEGROWTH = 10%)
GO

1.2医院药房管理系统数据表代码如下
– 创建药品信息表
CREATE TABLE drugInformation(
Chemical_no nchar(12) NOT NULL, – 药品编号
Chemical_name nchar(50) NULL, – 药品名称
Chemical_type nchar(20) NULL, – 药品分类
Chemical_standard nchar(10) NULL, – 药品规格
Chemical_manufacturer_no nchar(12) NULL, – 制药商编号
Chemical_buy_price money NULL, – 药品进价
Chemical_sell_price money NULL, – 药品售价
Chemical_product_date datetime NULL, – 生产日期
Chemical_validity_date datetime NULL, – 有效日期
– 设置 Chemical_no 为主键
CONSTRAINT PK_drugInfo PRIMARY KEY(Chemical_no)
)

–制药商信息表
CREATE TABLE Manufacture(
Chemical_manufacturer_no nchar(12) NOT NULL, – 制药商编号
Chemical_manufacturer_name nchar(20) NULL, – 制药商名称
Chemical_manufacture_tel nchar(15) NULL, – 联系电话
Chemical_email nchar(20) NULL, – 联系电话
Chemical_standard nchar(10) NUll, – Email
– 设置 Chemical_manufacturer_no 为主键
CONSTRAINT PK_Manufacture PRIMARY KEY(Chemical_manufacturer_no)
)

–仓库存储信息表
CREATE TABLE Warehouse_Storage
(
Chemical_no nchar(12) NOT NULL, – 药品编号
warehouse_no nchar(10)NOT NULL, – 仓库编号
Chemical_number int NULL, – 药品数量
warehouse_name nchar(50) NULL, – 仓库名称
– 设置 Chemical_no ,warehouse_no为主键
CONStRAINT PK_Warehouse_Storage PRIMARY KEY(Chemical_no , warehouse_no)
)

–药品订退信息表
CREATE TABLE Chemical_Tuiding
(
Chemical_no nchar(12) NOT NULL, – 药品编号
Deal_time datetime NOT NULL, – 处理时间
Chemical_manufacturer_no nchar(12) NULL, – 制药商编号
Chemical_number nchar(10) NULL, – 药品数量
Unsubscribe_method nchar(20) NULL, – 退订方式
– 设置 Chemical_no ,Deal_time为主键
CONStRAINT PK_Chemical_Tuiding PRIMARY KEY(Chemical_no , Deal_time)
)

– 创建病人信息表
CREATE TABLE Patient
(
Patient_no nchar(12) NOT NULL, – 病人编号
Patient_name nchar(10) NULL, – 姓名
Patient_sex nchar(5) NULL, – 性别
Patient_age int NULL, – 年龄
Patient_tel nchar(15) NULL, – 联系电话
Patient_add nchar(100) NULL, – 住址
– 设置 Patient_no 为主键
CONSTRAINT PK_Patient PRIMARY KEY(Patient_no)
)

–药品售退信息表
CREATE TABLE Chemical_sell_rebate
(
Patient_no nchar(12) NOT NULL, --病人编号
Chemical_no nchar(12) NOT NULL, – 药品编号
Count int NULL, --数量
Deal_time Datetime NULL, --处理时间
Revoke_plan nchar(50) NULL, --销退方式
–设置主键Patient_no,Chemical_no为主键
CONSTRAINT PK_Chemical_sell_rebate PRIMARY KEY(Patient_no,Chemical_no)
)

–仓库管理员信息表
CREATE TABLE Stockman_info
(
Administrator_no nchar(12) NOT NULL, --管理员编号
Administrator_name nchar(10) NOT NULL, – 管理员姓名
Warehouse_no nchar(10) NULL, --仓库编号
–设置主键Administrator_no为主键
CONSTRAINT PK_Stockman_info PRIMARY KEY(Administrator_no)
)

–过期药品表
CREATE TABLE Chemical_Overtime
(
Chemical_np nchar(12) NOT NULL, --药品编号
Time_log datetime NOT NULL, – 药品编号
Chemical_number int NULL, --药品数量
Deal_plan nchar(20) NULL, --处理方式
–设置主键Chemical_np,Time_log为主键
CONSTRAINT PK_Chemical_Overtime PRIMARY KEY(Chemical_np,Time_log)
)

1.3.约束设置的代码如下;
–约束的设置

–药品信息表(drugInformation)
ALTER TABLE drugInformation
ADD --价格大于0
CONSTRAINT CK_Chemical_buy_price CHECK(Chemical_buy_price > 0),
CONSTRAINT CK_Chemical_sell_price CHECK(Chemical_sell_price > 0)

GO
ALTER TABLE drugInformation
ADD --限制输入的要类型以及规格
CONSTRAINT CK_Chemical_type CHECK(Chemical_type = '注射’or Chemical_type = '内服’or Chemical_type= ‘外用’),
CONSTRAINT CK_Chemical_standard CHECK(Chemical_standard ='处方’OR Chemical_standard = ‘非处方’)
GO

–仓库存储信息表(Warehouse_Storage)
ALTER TABLE Warehouse_Storage
WITH CHECK–药品数量大于或等于零
ADD CONSTRAINT CK_Chemical_number CHECK(Chemical_number >= 0),
–外键约束表Chemical_no与表drugInformation关联
CONSTRAINT FK_Ws_Chemical_no FOREIGN KEY (Chemical_no)
REFERENCES drugInformation(Chemical_no)
GO

–药品订退信息表(Chemical_Tuiding)
ALTER TABLE Chemical_Tuiding
ADD --约束药品的数量大于等于0
CONSTRAINT CK_Ct_Chemical_number CHECK(Chemical_number >= 0),
–外键约束表Chemical_Tuiding与表Manufacture,drugInformation关联
CONSTRAINT FK_Ct_Chemical_no FOREIGN KEY (Chemical_no)
REFERENCES drugInformation(Chemical_no),
CONSTRAINT FK_Ct_Chemical_manufacturer_no FOREIGN KEY (Chemical_manufacturer_no)
REFERENCES Manufacture(Chemical_manufacturer_no)
GO

–病人信息(Patient)
ALTER TABLE Patient
ADD --限制性别的输入
CONSTRAINT CK_P_Patient_sex CHECK(Patient_sex = '男’OR Patient_sex = ‘女’),
–限制年龄输入为0—150岁
CONSTRAINT CK_P_Patient_age CHECK (Patient_age > 0 AND Patient_age < 150)
GO

–药品售退信息(Chemical_sell_rebate)
ALTER TABLE Chemical_sell_rebate
ADD --售退的药品数量大于等于0
CONSTRAINT CK_Csr_Count CHECK(Count >= 0),
–外键约束表Count与表Patient,表drugInformation关联
CONSTRAINT FK_Csr_Patient_no FOREIGN KEY (Patient_no)
REFERENCES Patient(Patient_no),
CONSTRAINT FK_Crs_Chemical_no FOREIGN KEY (Chemical_no)
REFERENCES drugInformation(Chemical_no)
GO

–仓库管理员(Stockman_info)
ALTER TABLE Stockman_info
ADD --唯一约束
CONSTRAINT U_Si_Administrator_no UNIQUE NONCLUSTERED(Administrator_no)
GO

–过期药品表(Chemical_Overtime)
ALTER TABLE Chemical_Overtime
ADD --限制药品的数量大于等于0
CONSTRAINT CK_Co_Chemical_number CHECK (Chemical_number >= 0),
CONSTRAINT FK_Co_Chemical_np FOREIGN KEY (Chemical_np)
REFERENCES drugInformation(Chemical_no)
GO

–过期表数据的添加
INSERT INTO Chemical_Overtime (Chemical_np,Time_log,Chemical_number)
SELECT Chemical_no,Chemical_validity_date
FROM drugInformation
WHERE
1.4.游标的设置代码如下
–游标的创建
–该游标主要功能显示药品的基本信息
PRINT ‘’
PRINT ‘-----------------------药品基本信息---------------------------’
PRINT ‘’
PRINT ‘--------------------------------------------------------------’
PRINT ‘|药品名称|-----------|药品分类|–|售价|–|生产日期|–|有效日期|’
PRINT ‘--------------------------------------------------------------’
–声明变量
DECLAER @Chemical_name nchar(15),@Chemical_type nchar(5),@Chemical_sell_price money,
@Chemical_product_date datetime,@Chemical_validity_date datetime
–声明游标
DECLARE drugInformation_output CURSOR STATIC --定义一个静态游标,
–该游标进行提取操作时返回的数据中不反对对基表所做的修改,并且该游标不允许修改。
FOR
SELECT Chemical_name,Chemical_type ,Chemical_sell_price,
Chemical_product_date,Chemical_validity_date
FROM drugInformation
–打开游标
OPEN drugInformation_output
–提取第一行数据并赋给变量
FETCH NEXT FROM drugInformation_output INTO @Chemical_name,@Chemical_type,@Chemical_sell_price, @Chemical_product_date,@Chemical_validity_date
–利用@@FETCH_STATUS测试游标状态,0值表示游标指向合法行记录
WHILE @@FETCH_STATUS =0
–打印数据
BEGIN
PRINT’|’+@Chemical_name+’|’+@Chemical_type+’|’+CAST(@Chemical_sell_price AS char(6)) + ‘|’ + CONVERT(char(12),@Chemical_product_date,110) + ‘|’ + CONVERT(char(12),@Chemical_validity_date,110) + ‘|’
PRINT ‘--------------------------------------------------------------’
–提取下一行数据
FETCH NEXT FROM drugInformation_output INTO @Chemical_name ,@Chemical_type ,@Chemical_sell_price,
@Chemical_product_date,@Chemical_validity_date
END
–关闭和释放游标
CLOSE drugInformation_output
DEALLOCATE drugInformation_output

–显示药品的名称,制药商名称,药品存放的仓库,药品数量
–声明变量
PRINT’----商品名称--------------制药商------------存储仓库------------------库存----’
PRINT’------------------------------------------------------------------------------’
PRINT’’
DECLARE @Chemical_name nchar(15),@Chemical_manufacturer_name nchar(20),@warehouse_name nchar(10),@Chemical_number nchar(10)
–声明游标
DECLARE Chemical_xianshi CURSOR STATIC --定义一个静态游标
FOR
SELECT Chemical_name,Chemical_manufacturer_name,warehouse_name,
Chemical_number
FROM drugInformation JOIN Manufacture ON drugInformation.Chemical_manufacturer_no= Manufacture.Chemical_manufacturer_no
JOIN Warehouse_Storage ON drugInformation.Chemical_no = Warehouse_Storage.Chemical_no
–打开游标
OPEN Chemical_xianshi
FETCH NEXT FROM Chemical_xianshi INTO @Chemical_name ,@Chemical_manufacturer_name ,
@warehouse_name ,@Chemical_number
–利用@@FETCH_STATUS测试游标状态,0值表示游标指向合法行记录
WHILE @@FETCH_STATUS =0
–打印数据
BEGIN
PRINT ‘|’+@Chemical_name+’|’+@Chemical_manufacturer_name+’|’+@warehouse_name+’|’+
@Chemical_number +’|’
–提取下一行数据
FETCH NEXT FROM Chemical_xianshi INTO @Chemical_name ,@Chemical_manufacturer_name ,
@warehouse_name ,@Chemical_number
END
–关闭和释放
CLOSE Chemical_xianshi
DEALLOCATE Chemical_xianshi

–药品编号、药品名称、制药商名称、药品数量、订货时间
PRINT’----药品编号--------------药品名称------------制药商名称-----------------药品数量—订货时间---------’
PRINT’-----------------------------------------------------------------------------------------------------’
PRINT’’
DECLARE @Chemical_no nchar(12), @Chemical_name nchar(15),@Chemical_manufacturer_name nchar(20),
@Chemical_number nchar(10),@Deal_time datetime
–声明游标
DECLARE Chemical_information CURSOR STATIC --定义一个静态游标
FOR
SELECT drugInformation.Chemical_no,Chemical_name,Chemical_manufacturer_name,Chemical_number,
Deal_time
FROM drugInformation JOIN Manufacture ON drugInformation.Chemical_manufacturer_no= Manufacture.Chemical_manufacturer_no
JOIN Chemical_Tuiding ON drugInformation.Chemical_no = Chemical_Tuiding.Chemical_no
–打开游标
OPEN Chemical_information
FETCH NEXT FROM Chemical_information INTO @Chemical_no, @Chemical_name ,@Chemical_manufacturer_name,
@Chemical_number ,@Deal_time
–利用@@FETCH_STATUS测试游标状态,0值表示游标指向合法行记录
WHILE @@FETCH_STATUS =0
–打印数据
BEGIN
PRINT ‘|’+@Chemical_no+’|’+@Chemical_name+’|’+@Chemical_manufacturer_name+’|’+
@Chemical_number +’|’+CONVERT(char(12),@Deal_time,110)+’|’
–提取下一行数据
FETCH NEXT FROM Chemical_information INTO @Chemical_no, @Chemical_name ,@Chemical_manufacturer_name,
@Chemical_number ,@Deal_time
END
–关闭和释放
CLOSE Chemical_information
DEALLOCATE Chemical_information

2.数据的载人
(1).INSERT INTO drugInformation values(‘B20020255’,‘地牡宁神口服液’,‘内服’,‘处方’,‘4812747’,50,89,‘2015-05-06’,'2016-05-06 ')
(2).INSERT INTO Chemical_sell_rebate values(‘178207211’,‘Z43020995’,4,‘2019-05-01’,‘更换’)
(3).INSERT INTO Chemical_Tuiding values(‘H10910084’,‘2019-07-01’,‘58218888’,600,‘退货’)
(4).INSERT INTO Manufacture values(‘3253508’,‘湖南中南科伦药业有限公司’,‘0730-3253508’,‘hunan@qq.com’)
(5).INSERT INTO Patient values(‘178207211’,‘小小’,‘女’,21,‘18756948265’,‘江西’)
(6).INSERT INTO Stockman_info values(‘9527’,‘悟空’,‘01’)
3.数据库的修改操作
(1).UPDATE drugInformation SET Chemical_no = ‘08977’
WHERE Chemical_no = ‘B20020255’ --修改药品编号

4.数据库的删除操作
(1).DROP PROCEDURE Pstu_Simple --删除存储过程
(2).DROP TRIGGER Tri_Tuiding_in --删除触发器
(3).DELETE FROM Patient WHERE Patient_no = ‘178407209’
–删除数据

5.数据库的查询操作
(1).查询药品的制造商编号、制造商名称、药品编号、药品名称、药品数量、进货时间
SELECT Manufacture.Chemical_manufacturer_no AS ‘制药商编号’,
Manufacture.Chemical_manufacturer_name AS ‘制药商名称’,
Chemical_Tuiding.Chemical_no AS ‘药品编号’,
drugInformation.Chemical_name AS ‘药品名称’,
Chemical_Tuiding.Chemical_number AS ‘药品数量’,
Chemical_Tuiding.Deal_time AS ‘进货时间’
FROM drugInformation,Manufacture,Chemical_Tuiding
WHERE Chemical_Tuiding.Chemical_no = drugInformation.Chemical_no and
Manufacture.Chemical_manufacturer_no = Chemical_Tuiding.Chemical_manufacturer_no and
Chemical_Tuiding.Unsubscribe_method = ‘进货’

(2).查询病人购买药品的信息
SELECT Patient.Patient_no AS ‘病人编号’,
Patient.Patient_name AS ‘病人姓名’,
Patient.Patient_age AS ‘病人年龄’,
Patient.Patient_sex AS ‘性别’,
drugInformation.Chemical_no AS ‘药品编号’,
drugInformation.Chemical_name AS ‘药品名称’,
Chemical_sell_rebate.Deal_time AS ‘购买日期’
FROM Patient,drugInformation,Chemical_sell_rebate
WHERE Patient.Patient_no = Chemical_sell_rebate.Patient_no and
Chemical_sell_rebate.Chemical_no = drugInformation.Chemical_no and
Chemical_sell_rebate.Revoke_plan = ‘更换’

(3).查看药品的制药商,以及进货的数量
SELECT drugInformation.Chemical_no,Chemical_name,Chemical_manufacturer_name,
Chemical_number,Deal_time
FROM drugInformation JOIN Manufacture ON drugInformation.Chemical_manufacturer_no= Manufacture.Chemical_manufacturer_no
JOIN Chemical_Tuiding ON drugInformation.Chemical_no = Chemical_Tuiding.Chemical_no

(4).-- 查询病人买药的药品信息
– 药品编号、名称、价格 病人名称
SELECT drugInformation.Chemical_no AS ‘药品编号’,
Chemical_name AS ‘药品名称’,
Chemical_sell_price AS ‘价格’,
Patient_name AS ‘病人姓名’
FROM drugInformation,Patient,Chemical_sell_rebate
WHERE (drugInformation.Chemical_no IN (SELECT Chemical_sell_rebate.Chemical_no FROM Chemical_sell_rebate)) and (Patient.Patient_no = Chemical_sell_rebate.Patient_no)
(5).-- 查询病人买药的药品的制药商信息
– 制药商编号、制药商名称、药品名称、 病人名称
SELECT Manufacture.Chemical_manufacturer_no AS ‘制药商编号’,
Chemical_manufacturer_name AS ‘制药商名称’,
Chemical_name AS ‘药品名称’,
Patient_name AS ‘病人姓名’
FROM drugInformation,Patient,Chemical_sell_rebate,Manufacture
WHERE (drugInformation.Chemical_no IN (SELECT Chemical_sell_rebate.Chemical_no FROM Chemical_sell_rebate)) and
(Patient.Patient_no = Chemical_sell_rebate.Patient_no) and
(Manufacture.Chemical_manufacturer_no = drugInformation.Chemical_manufacturer_no)

  • 9
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值