#医院药房管理系统#
设计要求:
 根据以上说明,设计该系统的概念结构即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%)
 GO1.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_information2.数据的载人
 (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)