面试题(武汉)医疗实施工程师sql

 

第一部分 简答题
1、HIS系统启动后,程序不能连接数据库,可能是哪方面的原因?
①、数据库客户端与服务端建立监听连接tns。
②、本地pc机是否能ping通服务器。
2、Oracle数据库的备份与还原命令?
备份:exp system/orcl@orcl file=d:\orcl_full2022/06/06.dmp full=Y
还原:imp system/orcl@orcl file=d:\orcl_full2022/06/06.dmp full=Y


Oracle 建库共分为四步
第1步:创建临时表空间
create temporary tablespace user_temp tempfile 'D:\oracle\oradata\db\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m --或者把20480m改为nulimited;
extent management local;

第2步:创建数据表空间
create tablespace user_date
logging
datafile 'D:\oracle\oradata\db\user_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m --或者把20480m改为nulimited;
extent management local;

第3步:创建用户并指定表空间
create user username identified by password
default tablespace user_date
temporary tablespace user_temp;

第4步:给用户授予权限
grant connect,resource,dba to username;

 

第二部分 oracle基础
create table Ksdm --科室表
(
Ksdm varchar(4) not null,--科室代码
Ksmc varchar(50) not null,--科室名称
kslx varchar(1) --科室类型 1内科 2全科 3外科
)
go
select * from Ksdm
insert into Ksdm values('002','心血管内科','1')
commit;

create table Mzcf --处方表
(
cfsb varchar(18) not null, --处方识别
cfhm varchar(10) not null,--处方号
ksdm varchar(4) not null,--科室代码
brxm varchar(40),--病人姓名
brxb varchar(1), --病人性别 1男2女
ksrq date --开方日期
)
go
select * from Mzcf
insert into Mzcf(cfsb,cfhm,ksdm,brxm,brxb,ksrq)values('CFSB000001','CFH00001','002','张三','1',sysdate)

insert into Mzcf(cfsb,cfhm,ksdm,brxm,brxb,ksrq)values('CFSB000002','CFH00002','003','王五','2',to_date('2016-01-08 8:55:24','yyyy-mm-dd hh24:mi:ss'));
insert into Mzcf(cfsb,cfhm,ksdm,brxm,brxb,ksrq)values('CFSB000003','CFH00003','004','马新','1',to_date('2016-01-08 13:55:24','yyyy-mm-dd hh24:mi:ss'))
commit;


create table Mzcfmx --处方明细表
(
mxid varchar(18) not null,--明细ID
cfsb varchar(18) not null,--处方识别
ypmc varchar(50),--药品名称
ypsl number(10,2),--药品数量
ypdj number(12,4)--药品单价
)
go
select a.rowid,a.* from Mzcfmx a
insert into Mzcfmx(mxid,cfsb,ypmc,ypsl,ypdj) values('CFMX0001','CFSB000001','连花清瘟',10,101.55);

insert into Mzcfmx(mxid,cfsb,ypmc,ypsl,ypdj) values('CFMX0001','CFSB000001','连花清瘟',10,101.55);
insert into Mzcfmx(mxid,cfsb,ypmc,ypsl,ypdj) values('CFMX0001','CFSB000001','连花清瘟',10,101.55);

commit

1、给科室表增加一条数据,'001','门诊全科','2'
select * from Ksdm
insert into Ksdm(Ksdm,Ksmc,kslx) values('001','门诊全科','2');
insert into Ksdm(Ksdm,Ksmc,kslx) values('003','门诊妇科','3');
commit

2、将科室名称包含“门诊”的科室的数据的科室类型修改为“1”
select * from Ksdm a where a.ksmc like '%门诊%'
update Ksdm a set a.kslx='1' where a.ksmc like '%门诊%'

3、给科室表增加一字段kssy(科室使用标示),为数字类型,长度1,默认值为0
select * from Ksdm
alter table Ksdm add kssy number(1,0) default 0

4、查询开方日期是2016年1月1日至2016年1月31日间的处方信息(to_date函数)
select * from Mzcf;
--方法1:
select * from Mzcf a where a.ksrq between to_date('2016-1-1 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2016-1-31 00:00:00','yyyy-mm-dd hh24:mi:ss');
--方法2
select * from Mzcf b where b.ksrq >=to_date('2016-1-1 00:00:00','yyyy-mm-dd hh24:mi:ss')and b.ksrq <=to_date('2016-1-31 00:00:00','yyyy-mm-dd hh24:mi:ss')

5、查询处方中,根据病人性别对应的处方数量(case 函数)
select * from Mzcf a;

select a.cfhm,
count(case a.brxb when '1' then '男' else '0' end)男性,
count(case a.brxb when '2' then '女' else '0' end)女性
from Mzcf a
group by a.cfhm;


6、根据科室信息,查询出每个科室名称对应的处方数量,按照降序排列
select * from Ksdm; --科室表
select * from Mzcf;--处方表
select * from Mzcfmx;--处方明细表
select a.Ksmc,b.cfhm from Ksdm a,Mzcf b,Mzcfmx c where a.Ksdm=b.ksdm
order by b.cfhm desc


7、查询病人张三的处方中药品名称、数量、单价
select * from Mzcf;--处方表
select * from Mzcfmx;--处方明细表
select * from Mzcf a ,Mzcfmx b where a.cfsb=b.cfsb
--方法1:
select a.brxm,b.ypmc,b.ypsl,b.ypdj from Mzcf a ,Mzcfmx b where a.cfsb=b.cfsb;
--方法2:
select a.brxm,b.ypmc,b.ypsl,b.ypdj from Mzcf a inner join Mzcfmx b on a.cfsb=b.cfsb

8、查询处方合计金额大于100的病人信息
select * from Mzcf;--处方表
select * from Mzcfmx;--处方明细表

select b.brxm, sum(a.ypsl*a.ypdj) as Amount from Mzcfmx a ,Mzcf b where a.cfsb=b.cfsb
group by b.brxm
having sum(a.ypsl*a.ypdj) >=100

9、查询各科室的用药数量排名(前10名)
select * from Ksdm ; --科室表
select * from Mzcf;--处方表
select * from Mzcfmx;--处方明细表
select a.Ksmc, count(c.ypsl) as yysl from Ksdm a,Mzcf b,Mzcfmx c where a.Ksdm=b.ksdm and b.cfsb=c.cfsb
group by a.ksmc
having count(c.ypsl)>10


第三部分 网络基础
1、局域网内两台电脑,A能ping通B,但B不能ping通A,可能是什么原因?
①、A电脑和B电脑是不是在同一网段下,同一VLAN下。
②、防火墙安全策略是否开启。

2、某医院有10台客户端机和1台服务器,要求:所有客户端机可以通过局域网访问服务器,而服务器需要同时连接局域网和互联网;
问题:请设计两套方案并且注明需要哪些硬件设备?
硬件设备:24口交换机,内外网核心、内外网防火墙,内外网入侵防御,网络管理,日志审计,漏洞扫描、光模块,光纤,
机柜,电池,UPS,空调,网闸。
方案:外网区域,内网区域,运维管理区,内外网隔离防火墙。

3、如何查看本机MAC地址?
ipconfig/all

4、请写出标准网络线八根线的颜色排列排序?
白橙、橙、白绿、蓝、白蓝、绿、白棕、棕。

 

posted @ 2022-06-09 18:47  随情  阅读(1562)  评论(0编辑  收藏  举报