第4章 高级查询(二)
第四章 期刊文献及其检索

第一节 概述
期刊文献约占整个信息源的60%~70%,由此科技期刊 受到科技工作者的高度重视,大多数检索工具也以科 技期刊为主要报道的对象,对某一问题需要了解时, 最普遍的办法是查询期刊论文。 期刊按内容性质可分为学术性期刊、通报性期刊、技 术性期刊、科普性期刊、动态性期刊、综述和述评性 期刊和检索性期刊。其中学术性期刊、技术性期刊、 综述和述评性期刊对科研生产的直接参考价值较大, 而通报性期刊、科普性期刊、动态性期刊和检索性期 刊出版周期短,对掌握发展情况和查找信息有帮助作 用。
26
2.中国期刊全文数据库
图4-4中国期刊全文数据库高级检索界面
27
2.中国期刊全文数据库
A. 并且:相当于逻辑“与”的关系。指要求检索出的结果必须同时 满足两个条件。 B. 或者:相当于逻辑“或”的关系。指检索出的结果只要满足其中 任意一个条件即可。 C. 不包括:相当于逻辑“非”的关系。指要求在满足前一个条件的 检索结果中不包括满足后一条件的检索结果。 检索结果中不包括满足后一条件的检索结果。 ② 选择检索范围、时间范围及文献来源 选择检索范围、时间范围及文献来源 这里的检索范围、时间及来源范围也跟初级检索一样,可根据需要直 这里的检索范围、时间及来源范围也跟初级检索一样,可根据需要直 接选择。 ③ 选择记录数和排序方式 这里的记录数和排序方式也跟初级检索一样,可根据需要直接选择。 ④ 检索 点击“检索”按钮,服务器会返回结果至右侧上部的窗口中。默认每 页显示10条记录,超过10条可以翻页查看。
11
1.《全国报刊索引》
• 1.4 检索途径与方法 (1) 分类途径 ① 分析课题,确定所检课题所属的类目。 ② 浏览分类类目,找到课题所属类目的页码。 ③ 根据分类类目所指的页码,在正文中检索到所需题录 根据分类类目所指的页码,在正文中检索到所需题录 ④ 索取原文。
实验4:数据库的高级查询操作

实验4:数据库的高级查询操作实验四:数据库的各类数据查询操作一、实验目的掌握SQL程序设计基本规范,熟练运用SQL语言实现数据的各种查询和设计,包括连接查询、嵌套查询、集合查询等。
二、实验内容和要求针对KingbaseES数据库设计单个表针对自身的连接查询,设计多个表的连接查询;设计各种嵌套查询和集合查询。
了解和掌握SQL查询语句各个子句的特点和作用,按照SQL程序设计规范写出具体的SQL查询语句,并调试通过。
三、实验步骤连接查询1. 查询每个学生及其选修课程的情况:select student.*, sc.* from student, sc where student.sno=sc.sno比较: 笛卡尔集: select student.*, sc.* from student, sc自然连接: select student.sno, sname, ssex, sdept, cno, grade from student, sc where student.sno=sc.sno2. 查询每一门课程的间接先行课(只求两层即先行课的先行课):select /doc/3d4429586.html,o, Second.pcno 间接先行课from course First, course Second where First.pcno=/doc/3d4429586.html,o比较:select /doc/3d4429586.html,o, Second.pcno 间接先行课from course First, course Second where First.pcno=/doc/3d4429586.html,o and Second.pcno is not null3. 列出所有学生的基本情况和选课情况, 若没有选课,则只列出基本情况信息:SQL Server 中: select s.sno, sname, ssex,sdept, cno, grade from student s, sc sc where s.sno*=sc.sno4. 查询每个学生的学号, 姓名, 选修的课程名和成绩:select S.sno, sname, cname, grade from student S, course C, sc SC where S.sno=SC.sno and /doc/3d4429586.html,o=/doc/ 3d4429586.html,o5. 查询平均成绩在80分以上的学生姓名Select sname from student,sc where student.sno=sc.sno GROUP BY sc.snoHAVING AVG(sc.grade)>80;高级查询使用带IN谓词的子查询1.查询与’刘晨’在同一个系学习的学生的信息:select * from student where sdept in(select sdept from student where sname='刘晨')比较: select * from student where sdept =(select sdept from student where sname='刘晨') 的异同比较: select * from student where sdept =(select sdept from student where sname='刘晨') and sname<>'刘晨' 比较: select S1.* from student S1, student S2 where S1.sdept=S2.sdept and S2.sname='刘晨'2.查询选修了课程名为’信息系统’的学生的学号和姓名:SQL Server中: select sno, sname from student where sno in (select sno from sc where cno in(select cno from course where cname='信息系统'))3.查询选修了课程’1’和课程’2’的学生的学号:select sno from student where sno in (select sno from sc where cno='1')and sno in (select sno from sc where cno='2') 比较: 查询选修了课程’1’或课程’2’的学生的sno:select sno from sc where cno='1' or cno='2'比较连接查询:select A.sno from sc A, sc B where A.sno=B.sno and /doc/3d4429586.html,o='1' and/doc/3d4429586.html,o='2'使用带比较运算的子查询1.查询比’刘晨’年龄小的所有学生的信息:select * from student where sage<(select sage from student where sname='刘晨')使用带Any, All谓词的子查询2.查询其他系中比信息系(IS)某一学生年龄小的学生姓名和年龄;select sname, sage from student where sage <any< p=""> (select sage from student where sdept='IS')and sdept<>'IS'3.查询其他系中比信息系(IS)学生年龄都小的学生姓名和年龄:select sname, sage from student where sage <all< p="">(select sage from student where sdept='IS')and sdept<>'IS'4.查询与计算机系(CS)系所有学生的年龄均不同的学生学号, 姓名和年龄:select sno,sname,sage from student where sage<>all(select sage from student where sdept='CS')使用带Exists谓词的子查询和相关子查询5.查询与其他所有学生年龄均不同的学生学号, 姓名和年龄:select sno,sname,sage from student A where not exists(select * from student B where A.sage=B.sage andA.sno<>B.sno)6.查询所有选修了1号课程的学生姓名:select sname from student where exists(select * from sc where sno=student.sno and cno='1')7.查询没有选修了1号课程的学生姓名:select sname from student where not exists(select * from sc where sno=student.sno and cno='1')8.查询选修了全部课程的学生姓名:select sname from student where not exists(select * from course where not exists( select * from sc where sno=student.sno and cno=/doc/3d4429586.html,o))12. 查询至少选修了学生95002选修的全部课程的学生的学号:select distinct sno from sc A where not exists(select * from sc B where sno='95002'and not exists(select * from sc C where sno=A.sno and cno=/doc/3d4429586.html,o))13. 求没有人选修的课程号cno和cnamecname:select cno,cname from course C where not exists(select * from sc where /doc/3d4429586.html,o=/doc/ 3d4429586.html,o )14. 查询满足条件的(sno,cno)对, 其中该学号的学生没有选修该课程号cno 的课程select sno,cno from student,course where not exists(select * from sc where cno=/doc/3d4429586.html,o and sno=student.sno)15. 查询每个学生的课程成绩最高的成绩信息(sno,cno,grade):select * from sc A where grade=(select max(grade) from sc where sno=A.sno )集合查询1. 查询数学系和信息系的学生的信息;select * from student where sdept='MA' union select * from student where sdept='IS'2. 查询选修了1号课程或2号课程的学生的学号:select sno from sc where cno='1'Unionselect sno from sc where cno='2'思考:1. 连接查询速度是影响关系数据库性能的关键因素。
信息检索与应用第四章 中文数据库检索

文献太少怎么办
方法一:减少检索词 方法二:重新选择检索字段 方法三:知网节帮你解决 用不同的检索字段,逐步扩大检索范围:
篇名 < 关键词 < 文摘 < 主题 < 全文
检索实践
检索文章名称中包含“管理学”的期刊文章。 检索“老年性糖尿病”有关的医学文献。 检索“中医药治疗乙肝”方面的文献。
高级检索
高级检索可以在所有的字段中进行检索、 构建布尔检索式 检索词之间的逻辑组配关系为
不同字段之间:并且、或者、不含 同一字段中:并含、或含、不含 词频:检索词在相应检索字段中出现的频率 匹配:检索词命中方式(精确查询、模糊查询) 检索结果排序
可以对检索条件进行限定
检索小技巧
中文数据库检索
CNKI期刊、学位论文检索
中国知网数据库(简称CNKI)、中文科技 期刊数据库(简称维普)、万方数据库 (简称万方)是我国三大权威数据库。
CNKI简介
CNKI即是中国知识基础设施工程(China National Knowledge Infrastructure)。 CNKI工程是以实现全社会知识资源传播共享与 增值利用为目标的信息化建设项目,由清华大 学、清华同方发起,始建于1999年6月。 《中国知识资源总库》的全球最大的中文知识 门户网站, CNKI 亦可解读为“中国知网” (China National Knowledge Internet )的 英文简称。
按基金分组
按基金检索,细 化检索方向
检索结果处理——结果排序
排序浏览:可根据主题排序、发 表时间、被引频次、下载频次等 条件查看相关文献信息
信息检索重点复习资料 2

第一章信息检索概述信息检索(IR):将信息按一定的方式组织和存储起来,并根据用户的需要找出有关信息的过程。
信息素养:人们在解答问题时利用信息的技术和技能。
信息检索与文献检索的主要区别:文献检索是以获取文献信息为目的的检索,信息检索是收集,组织,存储一定范畴的信息,并根据用户需求查询文献中的信息或知识单元,比文献检索更深入。
信息检索的分类:1、根据检索手段不同可分为1)手工检索2)光盘检索3)联机检索4)网络检索 2根据检索对象形式不同可分为文本检索、数值检索、音频与视频检索。
信息检索的原理:通过对大量的分散无序的文献信息进行收集、加工、组织、存储,建立各种各样的检索系统,并通过一定的方法和手段使存储和检索这两个过程所采用的特征标识达到一致,以便有效的获得和利用信息源。
存储是检索的基础,检索是存储的目的。
信息检索语言是人们在加工、存储和检索信息时用来描述信息内容喝信息需求的词汇或符号及其使用规则构成的供标引和检索的工具。
信息检索系统是具有信息存储和信息查询功能的一类信息服务设施。
其物理结构:是信息检索所用的硬件资源、系统软件以及信息资源集合(数据库)的总和。
信息检索语言的主要目的:把存储和检索联系起来,把标引人员和用户联系起来,以便取得共同理解,实现交流。
信息检索的历史:最早的信息检索主要依靠信息分类。
1手工检索 2机械信息检索。
3脱机批处理检索是计算机初期使用的一种检索系统 4联机检索 5光盘检索 6 网络信息检索后四者统称为计算机信息检索信息检索的三个经典模型:1布尔模型 2向量空间模型 3概率模型1浏览型模型:扁平式模型、结构导向模型、超文本模型 2检索型模型:结构化模型、基于内容的检索型模型。
信息检索模型是信息检索的核心。
信息检索系统:是具有信息存储和信息查询功能的一类服务设施。
信息检索系统按功能划分5种类型:文献检索系统DRS、数据库管理系统DBMS、自动问答系统QAS、管理信息系统MIS、决策支持系统DSS.信息检索物理结构1计算机硬件2软件3数据库信息检索的逻辑结构是指系统所包括的功能模块或子系统及其相互关系。
北大青鸟S2sql数据库设计和高级查询总结

第一章数据库的设计良好的数据库设计1、节省数据库的存储空间2、能够保证数据的完整性3、方便进行数据库应用系统的开发糟糕的数据库设计1、效率低下2、更新和检索数据时会出现许多问题设计数据库的步骤1、需求分析阶段分析客户的业务和数据处理需求⑴收集信息⑵标识对象(实体)⑶标识每个对象需要存储的详细信息⑷标识对象之间的关系2、概要设计阶段绘制数据库的E-R模型图(实体关系图)3、详细设计阶段将E-R图转换为多张表,进行逻辑设计,并应用数据库设计的三大规范进行设计4、代码编写阶段映射基数1一对一2一对多3多对一4多对多实体关系图矩形表示实体集椭圆形表示属性菱形表示关系集直线用来连接设计数据库问题1 信息重复2 更新异常3 插入异常(无法表示某些信息)4 删除异常(丢失有用的信息)数据库设计的三大规范理论一第一范式的目标是确保每列的原子性二第二范式的目标是确保表中的每列都和主键相关三第三范式的目标是确保每列都和主键直接相关,而不是间接相关(不能传递依赖)规范化和性能的关系在必要的情况下允许适当的数据冗余第二章数据库的实现一建库ues mastergoif exists (select * from sysdatabases where name ='数据库名字')drop database 数据库名--判断这个数据库名字是否存在,如果存在删除create database 数据库名on [primary](name='',filename='',size ='', 建立数据库的主文件如果需要建立次要文件(ndf) 用逗号隔开maxsize ='',filegrowth ='')log on(name ='',filename='',size ='', 建立日志文件如果建立多个日志文件在后面用逗号隔开maxsize ='',filegrowth ='')go -- 批处理二建表ues 数据库名字goif exists (select * from sysobjects where name ='表名')drop table 表名--判断是否有这个名字的表create table 表名(字段名数据类型列的特征如stuid int identity(1,1) not null --identity 表示是否为自动增长)go三加约束1 主键约束(primary key constraint) --constraint 约束alter table 表名add constraint 约束名(PK_***) primary key(约束的字段)2 唯一约束(unique constraint)alter table 表名add constraint 约束名(uq_***) unique(约束的字段)3 检查约束(check constraint)alter table 表名add constraint 约束名(ck_***) check(约束的条件)4 默认约束(default constraint)alter table 表名add constraint 约束名(df_***) default('默认值') for 约束的字段5 外建约束(foreign key constraint)alter table 表名add constraint 约束名(fk_***) foreign key(约束的字段) references 主表的表名(主表的字段)总结create database 建库create table 建表add constraint 加约束drop database 删库drop table 删表drop constraint 删约束use master select * from sysdatabases 判断是否有库名select * from sysobjects 判断是否有表名完整性1 实体完整性(保证数据是唯一的如主键\唯一键\标示列)2 引用完整性(保证两表数据一致如外键)3 域完整性(保证数据的准确性如检查约束\默认约束\非空)三层安全模型1 登陆帐号-- 决定登陆服务windows 身份验证exec sp_grantlogin 'windows域名\域帐户'sql 身份验证exec sp_addlogin '帐户名','密码'2 数据库用户--访问数据库use 数据库名goexec sp_grantdbaccess '登陆帐户',('数据库用户') 如果不写数据库用户默认为登陆帐号名3 权限--在数据库里的操作use 数据库名gogrant 权限(增,删,改,查,建表(create table)) on 表名to 用户名第三章T-SQL编成使用变量一局部变量declare @变量名类型赋值: 1、set @变量名= 值2、select @变量名=值二全局变量@@error 最后一个T-SQL错误的错误号@@identity 最后一次插入的标示值@@language 当前使用的语言的名称@@max_connections 可以创建的同时连接的最大数目@@rowcount 受上一个sql语句影响的行数@@servername 本地服务器的名称@@servicename 该计算机上的sql服务的名称@@timeticks 当前计算机上每刻度的微秒数@@transcount 当前连接打开的事物数@@version sql server 的版本信息输出语句1、print 局部变量或字符串2、select 局部变量as 自定义列名(查询语句的特殊应用)逻辑控制语句1、if(条件)begin -- 开头语句end --结束else --为可选begin -- 开头语句end --结束2、while (条件)语句[break]3、casewhen 条件1 then 结果1when 条件2 then 结果2[else 其他结果]end批处理语句以一条命令的方式来处理一组命令的过程称为批处理批处理的好处就是能够简化数据库的管理第四章高级查询一简单子查询select *** from 表1 where 字段1 >(子查询) 它等于一个等值内连接将子查询和比较运算符联合使用,必须保证子查询返回的值不能多与一个二in 和not in 子查询in 后面的子查询可以返回多条记录select *** from 表1 where 字段1 in(not in)(子查询)三exists not exists子查询if exists (子查询)语句如果子查询的结果非空,则exists(子查询) 将返回真(true) ,否则返回假(false)第五章事务、索引和试图一事务:是一个整体,要么都成功,要么都失败事务时作为单个逻辑工作单元执行的一系列操作。
数据库题目

1.查询在第4学期开设课程中与第1学期开设的课程学分相同的课程,列出课程名和学分。
2.查询“李勇”和“王大力”所选的相同的课程,列出课程名、开课学期和学分。
3.查询“李勇”选了但“王大力”没有选的课程,列出课程名、开课学期和学分。
4.查询至少同时选了“C001”和“C002”这两门课程的学生的学号和所选的课程号。
商品号 普通编码定长字符型,长度为10,
订购数量 整型,
订购价格 整型。
(货单号,商品号)为主键。
第4章 高级查询
在students数据库中执行“建表及数据插入语句.sql”文件中的语句,创建Student、Course和SC表和数据。针对该三张表数据执行下列操作:
4. 分别得到字符串“I am a teacher and you are students” 中左边14个和右边16个字符组成的字符串。
5. 查询全体男生的平均年龄,要求将结果保留到小数点后2位。
6. 在选课的学生中统计每个学生的平均选课门数,将结果保存到小数点1位。
7. 查询每个系的平均学生人数,将结果保存到
① 订购表,结构为:
货单号 整型,标识列,初值为1,自动增长,每次增加1,主键
订购时间 小日期时间,非空,
顾客号 普通编码定长字符型,长度为10
② 订购明细表,结构为:
货单号 整型,外键,引用订购表的“货单号”,
5. 查询公司名为“Around the Horn”和“Ernst Handel”(Customers表中的CompanyName列)的公司名、订购的产品的产品名(Products表中的ProductName)、订购单价([Order Details]表中的UnitPrice)、数量([Order Details]表中的Quantity)和订购日期(Orders表中的OrderDate)。
MySQL数据库高级查询和多表查询(二)

机试测试试卷(MySQL数据库应用与开发)注意:考试结束试卷必须交回,不交回试卷者成绩无效题目:MySQL 数据库高级查询和多表查询一、语言和环境A、实现技术SQL 语句练习B、环境要求Mysql5.7+Navicat二、实验要求1、创建名为 s_t 的数据库,参数全部使用 UTF-8实验目的:通过上机实验验证数据库的多表的高级查询操作。
实验内容:1、将s_t数据库还原。
2、在s_t数据库中,完成以下多表连接查询的操作。
(1)查询计算机系学生的修课情况,要求列出学生的名字、所修课的课程号和成绩。
(2)查询“信息管理系”修了“计算机文化学”的学生姓名和成绩。
(3)查询所有选修了Java课程的学生情况,列出学生姓名和所在系。
(4)统计每个系的学生的考试平均成绩。
(5)统计计算机系学生每门课程的选课人数、平均成绩、最高成绩和最低成绩。
(6)查询与刘晨在同一个系学习的学生的姓名和所在的系。
(7)查询与“数据结构”在同一个学期开设的课程的课程名和开课学期。
(8)查询至少被两个学生选的课程的课程号。
(9)查询全体学生的选课情况,包括选修了课程的学生和没有选修课程的学生。
(10)查询没人选的课程的课程名。
(11)查询计算机系没有选课的学生,列出学生姓名和性别。
(12)统计计算机系每个学生的选课门数,包括没有选课的学生。
(13)查询信息管理系选课门数少于3门的学生的学号和选课门数,包括没有选课的学生。
查询结果按选课门数递增排序。
(14)查询考试成绩最高的三个成绩,列出学号、课程号和成绩。
(15) 查询Java考试成绩最高的前三名的学生的姓名、所在系和VB考试成绩。
(16)查询选课人数最少的两门课程(不包括没有人选的课程),列出课程号和选课人数。
(17)查询计算机系选课门数超过2门的学生中,考试平均成绩最高的前2名(包括并列的情况)学生的学号、选课门数和平均成绩。
(18)将计算机系的学生信息保存到#ComputerStudent局部临时表中。
文献检索2

直接将检索式输入PubMed数 据库检索框中进行检索。 因为不用副主题词限定,所以 不用MeSH数据库
Limits
用主题词但不限定字段 检索结果4537条
Field 字段选择项
MeSH Terms 主题词字段限定
Search
用主题词并限定在主题词字段,
检索结果3647条数据
比不限定字段的4537条精简许多
核磁共振 英文缩写
MRI 、 breast cancer
用主题词检索
MRI ,breast cancer
1 、确定主题词
2、 组合检索式
3、直接在检索框中输入检索式检索
先确定‘MRI’是否为主题词
MeSH Database
此为寻找主 题词的入口
主题词浏览器
MRI
点击
Magnetic Resonance Imaging
“产后抑郁症的治疗” 结果——913
两个以上主题词共用一个副主题词的限定检索
(方法---单个主题词分别和副主题词形成检索式, 再把两个检索式组合到一起)
检索‘肾纤维化的药物治疗’
肾纤维化--Kidney Fibrosis ,在MeSH数据库里 没有这个主题词,必须将其分解成Kidney 和Fibrosis, 但Kidney 只是一个脏器,不是疾病的概念, 所以在它的副主题词选项中没有drug therapy, 故必须将其变为Kidney disease。 肾脏疾病 Kidney disease
步骤: 1、词类分解 中心词:解剖(Anatomy)----主题词 限定词:方法----副主题词 附加限定词:2003-2006、带文摘的、动物的、英文的
解剖:Anatomy 步骤:
An是主题词
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 高级查询(二)
4.3.12 标量函数
每次作用于一行 以下几类
算术函数 字符串处理函数 日期函数 类型转换函数 数组处理函数 其他函数
1、算术函数
+-*/ ABS GREATEST/MAX LEAST/MIN ROUND TRUNC SQRT
select
job,workdept,sex,sum(salary) as salary,smallint(count(*)) from employee group by cube(workdept,sex,job) order by workdept,sex,job
select
workdept,sex,sum(salary) as salary,smallint(count(*)) from employee group by rollup(workdept,sex) order by workdept,sex
例5:按照部门编号、性别、职位分组统计总 薪水和总人数,对每种分类的组合都要进行统 计。
4. 类型转换函数
CHAR DATE INT
5. 其他函数
DECODE
4.5 分组与聚合
4.5.2 列函数
AVG COUNT MAX MIN SUM
4.5.1 分组查询
GROUP HAVING ROLL CUBE
BY <表达式>
UP
例1:查询每个部门的部门编号、平均薪水和 人数。
例3:查询每个部门的总薪水和总人数,然后 统计所有部门的总薪水和总人数。
select
workdept,sum(salary) as salary, smallint(count(*)) from employee group by rollup(workdept)
例4:按照部门和性别分别统计、按部门进行 小计、对所有部门进行总薪水和总人数的总计。
2. 字符串处理函数
CONTACT/|| LCASE/LOWER UCASE/UPPER LTRIM RTRIM LENGTH LOCATE REPLACE SUBSTR
3. 日期时间处理函数
DAYNAME DAYOFWEEK MONTHNAME WEEK YEAR MONTH HOUR MINUTE SECOND
select
workdept,int(avg(salary)) as salary,count(*) from employee group by workdept
例2:查询每个部门的部门编号、平均薪水和 人数,只显示部门最低薪水超过60000或者人 数超过3人的部门。
select
workdept,int(avg(salary)) as salary,count(*) from employee group by workdept having min(salary)>60000 or count(*)>3