实体关系联合抽取方法综述(有监督)

目录

1 概述:

1.1 方法简介

1.2 联合抽取模型挑战

2 所需预备知识

3 基于特征工程的联合抽取

 4 基于神经网络的联合抽取

4.1 基于共享参数的联合抽取模型

4.1.1 实体对映射到关系

4.1.2 头实体映射到关系、尾实体

4.1.3 关系映射到头实体、尾实体

 4.2 基于联合解码的联合抽取模型

4.2.1 序列标注

4.2.2 Sequence-to-Sequence

5 数据集介绍

5.1 人工标注数据集

5.2 NLP 获取数据集

6 未来研究方向


1 概述:

        实体关系联合抽取通过对文本信息建模,来自动识别实体、实体类型以及实体之间特定的关系类型,为知识图谱构建、智能问答和语义搜索等下游任务提供基础支持;

1.1 方法简介

        传统方法:传统的流水线方法将实体关系联合抽取分解成命名实体识别和关系抽取两个独立的子任务,由于两个子任务之间缺少交互,流水线方法存在误差传播等问题;

                误差传播:命名实体识别子任务产生的误差,在关系抽取子任务中无法得到纠正,影响关系抽取的结果质量;

                子任务间缺少交互:流水线方法忽略了命名实体识别和关系抽取两个子任务间的关系,两个子任务之间缺少交互,使得子任务的信息没
有被充分利用。比如实体类型和关系类型之间应存在某种隐含关系,在识别实体类型的过程中,关系类型会起到一定作用,对于识别关系类型的过程同样如此;

                产生冗余信息:命名实体识别子任务获得的实体,实体之间并非都存在某种关系,不存在关系的实体作为冗余信息传递到关系抽取子任务中,提高了错误率;

        新方法: 建立统一的模型使得不同子任务彼此交互,充分利用子任务中的信息,进一步提升模型性能;

                抽取特征的不同方式:基于特征工程的联合抽取和基于神经网络的联合抽取(联合抽取的主流方法:共享参数和联合解码)两种类型;、

1.2 联合抽取模型挑战

        联合抽取模型挑战:

        实体嵌套:现实生活中,存在一个实体嵌套另一个实体的情况,同一个词可能属于不同的实体,比如“天津大学”是一所大学,同时“天津”也是一个地点。联合抽取模型需要融入更丰富的上下文语义信息才能识别当前实体类型,大量实体嵌套的情况增加了联合抽取的难度;

        关系重叠:同一句子中可以存在不同的关系类型,相同的实体之间可以存在多种关系类型,不同关系之间也可能包含一些隐藏信息。比如“北京是中国的首都”,“中国”和“北京”之间存在“包含”和“首都”两种关系类型。联合抽取模型需要设计不同的抽取策略或复杂的标注方案才能解决此类问题;

        数据噪音:日常生活产生的海量数据通常存在大量数据噪音,尤其是网页、社交平台和媒体评论等环境产生的数据,存在许多特殊符号和不标准表达等类型的噪音。包含数据噪音的数据难以被充分利用,也增大了联合抽取获取有效数据的难度;

        模型的平衡性:联合抽取的难点是增强子任务间的交互性。简单的交互难以充分利用子任务的重要信息,降低抽取结果的准确性;复杂的交互会对子任务进行限制,使得子任务抽取的特征不具备丰富性。联合抽取需要在子任务特征的丰富性和子任务的交互性间做权衡,以达到最佳抽取效果;

2 所需预备知识

        命名实体识别:命名实体的概念在1995年MUC-6会议上被首次提出,命名实体是指能够从元素集合中识别具有相似属性元素的单词;命名实体识别即识别文本中具有特定意义的实体,例如人名、地名和机构名等,已知实体类型集合 E,给定输入句子S = \{w_1,w_2,...,w_n\},命名实体识别输出S 中的所有实体及实体类型<w_i,w_j,e_k>,其中e_k \in E, w_i,w_j为实体的起始单词和结束单词;

        关系抽取:关系抽取任务于1998年MUC-7 会议上被首次引入,通过填充关系模板槽完成实体间三类关系 Location_of、Employee_of 和 Product_of 的抽取。关系抽取通常在实体信息已知的情况下进行,即给定实体对<h,e_1,t,e_2>, e_1,e_2分别表示 h 和t 的实体类型,关系抽取输出h 和t 之间存在的关系类型r;

        实体关系联合抽取:已知关系类型集合 R 、实体类型集合E,给定句子S = \{w_1,w_2,...,w_n\}, 实体关系联合抽取通过建立统一的模型,输出S 中的所有关系五元组<h,e_1,r,t,e_2>, ,对于没有预先给定实体类型的数据集,实体关系联合抽取输出句子S 所有的关系三元组<h,r,t>;

         常用的神经网络模型:

        循环神经网络:循环神经网络擅长处理带有时序信息的序列,其在每个时刻t 都更新自己的“记忆”,难以解决长期依赖与梯度消失的问题。长短时记忆网络(long short-term memory,LSTM)[22]于1997 年被提出,是循环神经网络的一种变体。LSTM 用特定的学习机制来聚焦并更新信息,能够解决长期依赖和梯度消失问题。门控循环单元(gated recurrent unit,GRU)对LSTM进行改进,使用更少的门提升了计算效率;

        图卷积网络(graph convolutional network,GCN):研究者们将诸如卷积神经网络等传统神经网络结构扩展到图数据中,使用卷积层提取图中节点的特征信息,将当前节点的特征传递至相邻节点,通过叠加GCN 层学习到图中的节点表示。GCN 的输入是一个图,图通常由n × d 的节点嵌入矩阵和n × n 的图结构表征矩阵(如邻接矩阵)来表示,最终输出 n × d 的矩阵,表示每个节点的特征信息;

        预训练模型:预训练模型是已经在大量数据集上训练并保存的网络模型。对于具体的任务,可以在预训练模型上微调,实验也证明预训练方法是有效的。在自然语言处理(natural language processing,NLP)领域,预训练模型BERT(bidirectional encoder representations from transformers)展现了优秀的性能。BERT 是一种基于Transformer 的多层双向语言表征模型,由n 个相同的Transformer块叠加而成,通过
点积注意力的方法更深层次地学习到单词的特征信息;

3 基于特征工程的联合抽取

        基于特征工程的联合抽取,需要根据数据特点设计特征,当满足特征函数的条件时,特征函数会被触发;

整数线性规划:约束条件和目标函数均为线性函数;

        使用随机离散变量表示局部实体识别和关系抽取的结果,目的是在先验信息、关系和实体类型等多个约束条件下求得全局最优分配策略

        模型目标函数: (1)标注分配损失,表示局部分类器预测的标注与实际值偏离的情况;(2)约束损失,表示破坏给定约束条件需要付出
的代价
;(3)变量的整数约束将线性规划转换成整数线性规划,用线性松弛法、分支定界法和割平面法等求解最优分配策略;

        大量的线性公式可以表示各种类型的约束条件,使得联合抽取的设计更具备通用性和灵活性;

        整数线性规划方法根据多个独立局部分类器的结果计算全局最优解以实现联合抽取,但局部分类器之间没有交互

卡片金字塔解析:用图结构编码句子中实体信息和关系类型信息,局部分类器彼此交互,提升了联合抽取的性能;

        类似树的图结构在最高层有一个根节点,中间层是内部节点,底层是叶子节点,实体对应叶子节点,叶子节点标注为实体类型;

        图的层数和叶子节点数相等,从图的底层到顶层,每次减少一个节点;

        除去最底层节点,每一层的节点表示与节点相关的最左和最右两个叶子节点之间可能存在关系。

        根据卡片金字塔的结构特点,分别产生叶子节点的实体信息和非叶子节点的关系信息。最终图的节点都被标注,实现了联合抽取。

 结构化预测:传统的机器学习方法,主要面向回归问题和分类问题,输出分别是一个标量和一个类别。对于结构化预测,任务的输出是一个序列、图或树等结构类型,结构中包含语义信息和逻辑信息

        将句子中的实体类型信息和关系类型信息存储在图中,图的节点表示实体信息,弧表示实体间的关系信息;

        

 4 基于神经网络的联合抽取

        基于特征工程的联合抽取在获取特征的过程中严重依赖NLP 工具,需要大量人力和专业领域知识,且存在误差传播的问题,最终影响联合抽取的结果;

基于神经网络的联合抽取模型通常由三部分构成:

         词嵌入层:词嵌入层将输入句子中的单词 w 嵌入到一个向量空间,向量中融入单词信息、字符信息和其他特征信息;

        序列编码层:序列编码层叠加在词嵌入层上,将词嵌入层获得的向量进一步编码,使得单词 w 对应的向量融入上下文信息;

        解码器层:基于联合解码的联合抽取模型在序列编码层上叠加统一的解码器,直接解码序列编码层得到联合抽取的结果

                基于共享参数的联合抽取模型在序列编码层上叠加不同的解码器,根据不同的子任务解码序列信息,解码器间通过共享序列编码层进行信息交互;

4.1 基于共享参数的联合抽取模型

分为三类:

        实体对映射到关系。先抽取实体,再根据实体对进行关系分类;

        头实体映射到关系、尾实体。先抽取头实体h ,再抽取对应的关系r 和尾实体t;

        关系映射到头实体、尾实体。先抽取关系 r ,再抽取对应的头实体h 和尾实体t;

4.1.1 实体对映射到关系

        实体对映射到关系将联合抽取分解成两个子任务:命名实体识别和关系抽取。目前,两个子任务都有较为成熟的处理方法;

        SPTree模型(论文:MIWA M, BANSAL M. End-to-end relation extraction using LSTMs on sequences and tree structures[C] //Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, Berlin, Aug 7-12, 2016. Stroudsburg:
ACL, 2016: 1105-1116)

        由三个表示层组成: 词嵌入层、序列层、依赖层

        词嵌入层: 词嵌入层将单词和单词词性转换成嵌入向量;

        序列层:由双向LSTM和两层前馈神经网络构成,序列层的输出为单词的BILOU(begin、inside、last、outside、unit) 标注,通过标注信息实现命名实体识别子任务

        SPTree 采用序列标注方案时融入了实体间的依赖信息,通过利用上一个单词的标注信息预测下一个单词的BILOU 标注

        将命名实体识别子任务识别的实体进行关系抽取,由模型的依赖层实现

        依赖层:SPTree的依赖层采用双向树结构的LSTM(由上到下和由下到上,树结构LSTM的设计方法有利于关系抽取,在依赖树中找到两个目标实体的最小公共节点,即两实体间的最短路径),使得每个节点融入该节点到根节点和叶子节点的信息

        依赖层叠加在序列层上,命名实体识别和关系分类两个子任务可以共享序列层和词嵌入层的信息,两个子任务同时进行训练并在整个模型解码完成后,通过反向传播算法更新共享参数来实现信息交互;

        之后的各类模型主要从两方面提升联合抽取的性能:(1)提升命名实体识别和关系抽取的准确性;(2)增加两个子任务间的交互性

        (1)提升命名实体识别和关系抽取的准确性

                采用LSTM 解码实体信息,采用卷积神经网络实现关系抽取;

                在实体识别和关系抽取时都采用LSTM 实现

                在序列编码层上采用CRF 提升实体识别的准确性;

                在关系抽取的过程中,使< h,r,t >中元素的特征向量满足基于翻译的约束

                将关系抽取作为多标注分类任务进行处理;

                在序列编码层叠加双向GCN 提升模型抽取特征的能力;

        (2)现实世界中的实体通常基于跨度进行标记,对跨度建模能够直接抽取实体的特征信息,在设计上容易解决实体嵌套的问题;

                双向LSTM 上使用注意力机制获取所有可能的跨度;

                在假设空间上进行集束搜索,评估跨度的类型信息和跨度间的关系信息

                构造动态跨度图来进一步丰富跨度信息;

                通过预训练语言模型BERT和注意力机制,提升了抽取跨度的准确性;

        (3)增强两个子任务间的交互性

                联合抽取转换为表格填充任务;

                采用LSTM 进行特征抽取;

                采用双向LSTM 学习共享参数层的动态交互信息

                采用强化学习的方式增强子任务间的交互;

                设计最小化风险的全局损失函数进行联合训练;

                将实体类型和关系类型构造成二分图,用GCN 进行联合推理;

        联合抽取模型需要权衡子任务的准确性和交互性,在抽取句子的特征信息时通常采用双向LSTM 或预训练语言模型,不同的子任务会设计相应的子模型

4.1.2 头实体映射到关系、尾实体

        头实体映射到关系、尾实体的联合抽取策略,条件概率来表示: p(h,r,t|S)= p(h|S)p(r,t|h,S)

        模型如果不能准确地抽取头实体 h ,那么模型抽取的关系类型 r 和尾实体 t 的置信度同样较低;

        论文:KATIYAR A, CARDIE C. Going out on a limb: joint extraction of entity mentions and relations without dependency trees[C] //Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, Vancouver, Jul 30-Aug 4, 2017. Stroudsburg: ACL, 2017: 917-928.

        该论文在识别实体的过程中采用BILOU 序列标注的方法,识别出实体后,使用指针网络的方法(注意力模型的一种改进),根据关系类型识别出另一个实体

        序列编码层: 采用多层双向LSTM,在序列编码层上叠加一层从左到右的LSTM层和前馈神经网络进行解码

        识别当前实体的过程z_t = LSTM([z_t'; e_{t-1}], h_{t-1})   y_t = softmax(Wz_t + b)  z_t', e_{t-1}单词经过多层双向LSTM的特征向量和上一个单词标注的嵌入向量,将二者拼接,与上一时刻的隐藏状态向量一同输入至从左到右的LSTM 层,获取单词在当前时刻t 特征向量z_t,通过前馈神经网络获取单词的标注信息 y_t, 仅当该单词是实体时,模型才会执行关系判断和另一个实体信息的识别;

        关系判断及实体信息识别

        V 是注意力权重矩阵, z_{\leq t}, e_{\leq t}分别表示在 t时刻和t 时刻之前,单词的特征向量和单词的标注嵌入向量;

        将二者进行拼接,通过前馈神经网络将特征向量信息转换成注意力分数,最终通过softmax 函数获得p^t_{\leq t}, 即表示 t 时刻所对应的实体与 t 时刻之前对应的所有实体之间的关系的概率值;

         识别实体的同时识别出所对应的关系和另一个实体;

(1)抽取句子中的多个关系类型:

        采用多头选择机制,在词嵌入向量中添加一个最坏情况扰动项产生对抗样本,通过对抗学习提升了联合抽取模型的鲁棒性;

        采用序列标注的方法实现该分解策略;

        将关系类型当作一种头实体映射到尾实体的函数,根据函数 fr(h) → t 设计头实体触发器和特定关系的尾实体触发器

        新颖的握手标注方案,将长度为n 的句子转换成长度为 (n^2 + n)/2 的序列后进行编码,解决了曝光偏差的问题;

(2)提升准确率

        采用机器阅读理解的方法,将先验信息融入到问题中在问题和句子的交互中捕捉语义信息,提高了模型的准确性;

        根据头实体用模板生成的方法获得关系类型和尾实体的问题,并采用机器阅读理解的方法抽取句子S 中对应的尾实体;

4.1.3 关系映射到头实体、尾实体

        句子中存在的关系类型是由上下文信息而不是实体信息触发;

        使模型更关注于该关系相关的语义信息,减少冗余的抽取操作,句子中关系类型的数量通常少于实体数量,关系映射到头实体、尾实体的联合抽取方法也降低了计算复杂度,提高了联合抽取的效率;

        论文:TAKANOBU R, ZHANG T, LIU J, et al. A hierarchical framework for relation extraction with reinforcement learning[C]//Proceedings of the 33rd AAAI Conference on Artificial Intelligence, Honolulu, Jan 27- Feb 1, 2019. MenloPark: AAAI, 2019: 7072-7079.

        该论文将实体当作特定关系类型的参数,并设计分层的强化学习框架完成联合抽取。

        强化学习会给出智能体每个状态下应该采取的行动,使得智能体从环境中获得的奖励最大;

        高层级的强化学习被用于关系抽取,在这一层级,智能体顺序扫描句子 S ,当 S中有足够的语义信息时,如一些动词短语“die of”,名词短语“his father”,或介词“from”等,智能体将会预测出相应的关系类型,并发布一个子任务,即低层级的强化学习,用于识别当前关系类型对应的实体对,当子任务完成后,智能体继续扫描S 剩余的部分;       

         高层级和低层级的强化学习都采用双向LSTM 编码得到每个单词的特征向量;

        高层级的强化学习将单词的特征向量、关系类型的嵌入向量和上一时刻的状态信息向量拼接后,通过前馈神经网络获得当前的状态信息向量,采用随机策略预测当前句子包含的关系类型

        高层级的强化学习同时设置奖励函数,当句子S 不存在模型预测得到的关系类型时,函数值为-1;当模型预测得到关系类型为空时,函数值为0;当句子 S 存在模型预测得到的关系类型时,函数值为1,此时会触发低层级的实体识别

        低层级的强化学习采用序列标注的方法,根据预测标注与序列标准标注之间的偏差设计奖励函数

        高层级的关系抽取和低层级的实体识别通过状态信息向量和奖励函数实现交互;

        在执行低层级的实体识别时,高层级的关系抽取传递相关的关系信息,低层级的实体识别会通过奖励机制,将实体识别的情况反馈给高层级,使得句子中的多个关系三元组被有序地抽取

(1)提升准确率,后续工作:

        在双向LSTM 上叠加卷积神经网络提升了关系抽取的准确性,并采用单向LSTM 解码当前关系类型对应的实体对;

        根据不同的关系类型,用关系敏感的注意力方法获得句子的不同特征信息,通过门机制降低无关关系类型对实体识别的影响;

        统一编码器在编码实体信息和关系类型信息时,得到的特征信息可能是冲突的、不明确的,设计序列编码器和表编码器,两个编码器分别用于编码实体信息和关系类型信息,其内部彼此交互,表编码器将特征信息传递给序列编码器,并预测出关系类型,序列编码器根据特征信息和序列编码信息,通过前馈神经网络预测出实体信息;

基于共享参数联合抽取总结:

        (1)实体对映射到关系的联合抽取模型,两个子任务的实现方法较为成熟,通过共享参数的方法容易实现联合抽取,但联合抽取过程中会产生不存在关系的冗余实体对,难以有效解决关系重叠的问题;

        (2)头实体映射到关系、尾实体的方法能够有效解决关系重叠的问题增强了实体类型信息和关系类型信息的交互,但模型设计相对复杂;

        (3)关系映射到头实体、尾实体的方法减少了冗余信息的抽取,能够解决关系重叠的问题,但识别候选关系类型的难度较大,模型设计相对复杂;

 4.2 基于联合解码的联合抽取模型

        基于共享参数的联合抽取模型,每个子任务拥有独立的解码器,通过共享参数的方法实现信息交互,子任务间的交互性并不强。

        为了增强不同子任务之间的交互性,基于联合解码的联合抽取模型被相继提出。基于联合解码的联合抽取模型通常在序列编码层上叠加统一解码器,直接解码得到关系三元组信息;

        主要存在两种方法:(1)序列标注方法,将联合抽取转换成序列标注进行解码;(2)Sequence-to-Sequence,采用Sequence-to-Sequence 方法生成关系三元组;

4.2.1 序列标注

        用序列标注实现联合抽取的优点是方法成熟,实现简单;难点是需要设计统一的标注方案,在标注中融入实体类型信息和关系类型信息

NovingTagging:

        论文: ZHENG S, WANG F, BAO H, et al. Joint extraction of entities and relations based on a novel tagging scheme[C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, Vancouver, Jul 30-Aug 4, 2017. Stroudsburg: ACL, 2017: 1227-1236.

        该论文首次采用序列标注的方法实现联合抽取,模型只有唯一的解码器,编码后的句子序列直接被解码得到序列标注信息,根据标注信息获
得关系三元组,NovingTagging 在原有BIES(begin、inside、end、single)标注方案上进行了扩展;

        如下方的例句中存在关系三元组 Apple Inc,Company - Founder,Steven Paul Jobs ,两个实体Apple Inc 和Steven Paul Jobs 的每个单词用BIES 标注能表示该单词在实体中的位置信息,而新的标注中融入了关系类型信息和实体在关系中的角色信息,如 CF 表示关系类型Company-Founder,“1”和“2”分别表示被标注的单词属于当前关系类型的头实体和尾实体

         

        NovingTagging 设计的标注方案在将实体信息和关系类型信息相结合时,并没有融入实体类型信息,由于每个单词只能有一个标注,NovingTagging不能解决关系重叠和实体嵌套的问题

解决关系重叠问题:

        在标注方案上进一步改进,将长度为 n的句子根据每个单词 w 的位置进行 n 次不同标注,使得每个单词可被多次标注,在解码过程中,基于位置的注意力方法和CRF 得到 n 个不同的序列标注,解决了关系重叠的问题;

4.2.2 Sequence-to-Sequence

        Sequence-to-Sequence 方法最初被应用于机器翻译,基于Sequence-to-Sequence 的模型主要由两个分别被称为编码器和解码器的循环神经网络构成,编码器将任意长度的输入序列转换成固定长度的语义向量,解码器将语义向量转换成另一个输出序列;

论文:ZENG X R, ZENG D, HE S, et al. Extracting relational facts by an end-to-end neural model with copy mechanism [C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, Melbourne, Jul 15-20. Stroudsburg: ACL, 2018: 506-514

        该论文采用Sequence-to-Sequence 的方法设计了模型CopyRE,同时引入了复制机制,联合抽取过程类似机器翻译,解码器依次产生关系类型、头实体和尾实体,该论文首次将关系重叠类型进行分类,将关系类型分为三种:(1)Normal关系类型,关系三元组的实体没有重叠;(2)SEO(single entity overlap)关系类型,关系三元组的实体对中有一个实体与另一个关系三元组的实体重叠,但两个关系三元组的实体对不重叠;(3)EPO(entity pair overlap)关系类型,一个实体对之间存在多种关系;

        

         

        联合抽取模型普遍容易解决Normal 类型,Copy-RE 能够解决EPO 类型和SEO 类型

        编码器:CopyRE 的编码器采用双向循环神经网络,句子 S经过词嵌入层后传入双向循环神经网络,双向循环神经网络最终的隐藏状态向量拼接得到语义向量h ,编码过程中用注意力方法获取注意力向量 c

        解码器:采用单向循环神经网络h 和c 输入解码器后获得当前时刻t 的输出向量,输出向量通过前馈神经网络获得关系类型;

        关系类型的嵌入向量和注意力向量作为下一时刻 t + 1 的输入,t + 1 时刻的输出向量通过前馈神经网络后采用复制机制从原句子中复制
头实体,头实体的嵌入向量和注意力向量在 t + 2 时刻用相同的方法复制得到尾实体

        最终依次产生句子S 中的所有关系三元组,实现联合抽取。在解码过程中,一个实体可以被多次复制,解决了关系重叠的问题

(1)提升准确率后续工作:

        句子中的多个三元组之间应该存在顺序关系,并采用了强化学习方法;

        由于CopyRE 只能复制实体的最后一个单词,难以处理一个实体包含多个单词的情况,一种多任务学习模型CopyMTL,CopyMTL 在
CopyRE 基础上添加了一个序列标注模块用于实体识别,序列标注得到的实体和复制机制得到的实体进行校对,使得CopyMTL 能够准确识别实体;

        编码器中采用Transformer,解码器为从左到右的单向LSTM,提升了特征抽取能力;

       基于单词的解码器Wdec 和基于指针网络的解码器PNDec,提高了关系三元组之间的交互;

       

基于联合解码的模型特点总结:

        序列标注的方法容易实现联合抽取,但真实数据间的关系通常比较复杂,在解决实体嵌套、关系重叠等具体问题时,序列标注的方法需要设计复杂的标注方案,增加了联合抽取的难度;

         Sequence-to-Sequence 的方法能有效解决关系重叠的问题,但当句子长度较长时,提升了构造具有丰富语义特征向量的难度;

5 数据集介绍

        主要分为人工标注的数据集和采用NLP 获取的数据集,这两类数据集都被作为有监督数据集进行处理;

5.1 人工标注数据集

        人工标注的数据集需要标注员对文本数据进行标注,耗费成本大,整体效率低下,但数据质量高,噪音少,有公认的评价方式,这类数据集的规模通常也较小;

(1)ACE 系列数据集

        ACE(automatic content extraction)的研究目标是从自然语言数据中自动抽取实体、实体相关事件和实体间的关系类型,其数据来源除英语外还包括阿拉伯语和汉语等;

        ACE 预先定义了实体间的关系类型,ACE 的任务是识别实体间是否存在语义关系,并进一步判断该语义关系属于哪一种预定义的关系类型;ACE 提供了相应的标注数据集 ACE2004 和ACE2005;

        ACE2004 数据集的实体和关系类型如下表:

         ACE2005 保留了 ACE2004 中的 PER- SOC(person-social)、ART(agent-artifact)和GPE-AFF(geopolitical entity affiliation)关系类型,将PHYS(physical)关系类型分为PHYS 和Part-Whole 类型,移除了DISC(discourse)类型,将EMP-ORG(employment-organization)
和PER/ORG- AFF(person/organization- affiliation)合并成EMP-ORG;

(2)SemEval-2010 Task 8 数据集

        SemEval(semantic evaluation)会议在自然语言领域受到广泛关注。SemEval-2010 Task 8 侧重于识别名词对之间的语义关系,目的是比较不同关系抽取方法的性能差异,并对未来的研究提供标准的评测方法

        SemEval 选择 9 种关系类型:CE(cause-effect)、IA(instrument-agency)、PP(product-producer)、CC(content-container)、EO(entity-origin)、ED(entity-destination)、CW(component-whole)、MC(member-collection)和MT(message-topic),覆盖范围较为广泛。SemEval 提供了8 000 个训练样本和2 717 个测试样本,每个样本存在的关系类型都被标注,但没有标注实体的类型信息

(3)CoNLL04 数据集

        CoNLL04 数据集提供了1 437 个至少存在一个关系的句子,句子中的实体和关系类型都进行了标注。CoNLL04 数据集包含5 336 个实体,19 048 个实体对(二元关系),存在4 种实体类型和6 种关系类型

 (4)ADE 数据集

        ADE(adverse drug events)数据集中存在两种实体类型:Drug 和Disease。

        任务的目的是抽取句子中的Drug 类型实体和Disease类型实体,并确定Drug 和Disease 的关联性。

        ADE 数据集来自于 1 644 个PubMed 的摘要信息,从摘要中选取至少存在一组实体类型为Drug-Disease 且关系类型为ADE 的句子,
ADE 数据集共6 821条,包含10 652个实体以及6 682个关联;

5.2 NLP 获取数据集

        通过NLP 获取的数据集,规模较大,迁移性较好,但质量相比人工标注数据集较低,主要有NYT(New York Times)数据集和 WebNLG(Web natural language generation)数据集,分别采用远程监督和自然语言生成的方法获取;

        远程监督将大量语料数据与现有数据库中的关系进行对齐,通过成熟的NLP 工具进行实体标注;自然语言生成方法是从标准数据库中获取关系三元组信息,用自然语言生成技术构造大量包含该关系三元组的句子;

(1)NYT 数据集

        NYT 数据集通过远程监督的方法获得,采集了1987 年到2007 年的纽约时报新闻文章数据共24.9万条,将获得的数据与Freebase 对齐,构造出了118万条句子,过滤出部分噪音数据后,剩余66 195 个句子样本,通常随机选择出5 000 条样本作为测试集,5 000 条样本作为验证集,剩余的56 195 条样本作为训练集,共包含3 种实体类型和24 种关系类型;

(2)WebNLG 数据集

        WebNLG 通过从DBpedia 中抽取一组三元组并采用自然语言生成方法获得所构造的句子;

        该数据集共有5 519 条训练集和703 条验证集,包含246 种关系,每个样本由一组三元组和一条标准句子构成,标准句子包含样本中的所有三元组,实验时,研究人员通常会过滤不包含实体的标准句子;

6 未来研究方向

(1)篇章级别的实体关系联合抽取

        现有的模型大多是基于句子级别的联合抽取,面临的挑战主要是实体嵌套和关系重叠,可以通过设计特殊标注方案或调整抽取顺序的策略解决;

        篇章级别的数据处理较为复杂,目前的预训练语言模型如BERT,其输入有最大长度限制,如何在较长篇幅的数据下进行模型训练,如何处理不同句子间的关系信息、不同关系间的关系信息,多个实体共指等复杂情况仍有待解决;、

        对于一些隐藏的关系类型,并不能通过简单的抽取得到,需要进一步根据上下文的信息推理获得。显然将篇章级别的抽取看作一系列单句子抽取的组合是不合理的,如何设计一个行之有效的方案依然亟待解决;

(2)融入多样信息的实体关系联合抽取

        本文介绍的模型抽取的三元组大多是静态的,输入句子经过序列编码器后得到的词向量融入了上下文的语义信息,模型主要关注实体信息和预先定义的关系类型信息,而在抽取带有时序信息的实体和实体间的关系时,实体和实体间的关系可能都在动态更新,如何在词向量中有效嵌入时序信息仍有待研究;

        当句子中包含事件信息时,如事件之间存在因果关系,事件的发展会影响实体和实体间的关系,模型需要同时考虑不同的事件信息以提高
联合抽取的准确性;

        因此,在实体关系联合抽取模型中如何有效融入时序、事件等多样信息是非常有意义的研究课题;

(3)提升实体关系联合抽取的可解释性

        当前主流的实体关系联合抽取模型主要基于神经网络,在特征抽取上更优于传统的特征工程方法,减少了人工抽取特征的工作量,但基于神经网络的方法面临着一个棘手的问题——可解释性差;

        联合抽取模型的性能通常由实验进行验证,但是如果无法理解学习到的特征表示具有何种可解释的含义时,则无法深刻理解模型本身的应用限制,尤其目前模型趋向于复杂化,如何选择网络层数、模型参数大小、模型架构、优化算法以及激活函数等,通常是基于具体实验的效果,并未理解其真实含义,对于联合抽取结果的可解释性不强;

        如何提升实体关系联合抽取模型的可解释性仍然需要进一步研究。

参考论文:有监督实体关系联合抽取方法研究综述

        论文链接: 有监督实体关系联合抽取方法研究综述--《计算机科学与探索》年期

  • 16
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Access 2000数据库系统设计(PDF)---018目 录译者序前言第一部分 Access基础第1章 Access 2000的新增功能 11.1 Access 2000透视 11.2 用Office Web组件部署数据访问页 21.2.1 Office Web 组件 21.2.2 DAP演示测试. 31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑器 101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正 151.8.5 与Office 2000相关的改进 151.9 安装Access 2000 171.9.1 Access 2000的初始安装 171.9.2 定制Access 2000 201.10 安装和配置Microsoft数据引擎 20 1.11 现实世界—为什么升级 23第2章 建立第一个Access 2000应用 252.1 理解Access的应用设计方法 252.2 从模板文件创建Access应用 262.3 熟悉联系管理应用 292.3.1 数据库窗口中的表对象 292.3.2 切换面板窗体 322.3.3 Access窗体 332.3.4 Access报表 352.3.5 Access模块 362.4 使用切换面板管理器 382.5 探索窗体设计视图和VBA类模块 392.6 现实世界—所学知识的透视 40第3章 Access导航 423.1 理解Access功能和模式 423.1.1 定义Access功能 423.1.2 定义Access操作模式 443.2 理解Access的表显示 443.2.1 最大化文档窗口 463.2.2 把文档窗口最小化为图标 473.2.3 表数据表视图中的工具栏 483.2.4 工具栏自定义 503.2.5 右击快捷方式菜单 523.3 使用功能键 533.3.1 全局功能键 533.3.2 字段、网格和文本框的功能键分配 533.4 设置默认的选项 543.4.1 系统默认值 553.4.2 数据表视图的默认值 583.5 使用Access帮助 593.5.1 上下文相关的帮助 593.5.2 “帮助”菜单 603.5.3 Microsoft Access的帮助窗口 613.5.4 “Office助手” 643.6 使用“数据库实用工具” 663.6.1 压缩和修复数据库 673.6.2 将数据库转换为Access 2000格式 683.6.3 将数据库转换为Access 97格式 693.6.4 添加切换面板窗体 693.6.5 创建.mde文件 703.7 疑难解答 703.8 现实世界—HTML帮助或者障碍 71第4章 使用Access数据库和表 724.1 定义Access数据库的元素 724.2 理解关系型数据库 744.3 使用Access数据库文件和表 754.3.1 Access系统数据库 754.3.2 Access 库数据库 754.4 创建一个新数据库 754.5 理解表和字段的属性 774.6 选择字段数据类型、大小和格式 804.6.1 为数值和文本数据选择字段大小 814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有的数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 在数据表视图中直接创建一个表 964.9 设置字段的默认值 964.10 使用关系、关键字字段和索引 974.10.1 建立表之间的关系 984.10.2 实施参照完整性 1004.10.3 选择一个主键 1014.10.4 往表中添加索引 1024.11 改变字段和关系 1044.11.1 重新安排表中字段的顺序 1044.11.2 改变字段数据类型和大小 1054.11.3 改变表之间的关系 1064.12 复制和粘贴表 1074.13 疑难解答 1084.14 现实世界—数据库战略和表战术 108第5章 输入、编辑和验证表中的数据 1105.1 在Access表中输入测试数据 1105.2 使用键盘操作进行数据输入和编辑数据 1105.2.1 创建Northwind.mdb的试验用复本 1115.2.2 使用数据输入和编辑键 1115.2.3 用于Windows剪贴板操作的组合键 1125.2.4 在字段和文本框上使用快捷键 1135.2.5 设置数据输入选项 1145.3 向表中添加记录 1145.4 选择、追加、替换和删除表记录 1155.5 验证数据输入 1165.5.1 添加字段级有效性规则 1165.5.2 添加表级有效性规则和使用表达式生成器 1185.6 向Personnel Actions表添加记录 1195.7 输入Personnel Actions表数据和测试有效性规则 1205.8 疑难解答 1215.9 现实世界—批量数据输入 121第6章 排序、查找和筛选表中的数据 1236.1 理解排序和筛选的作用 1236.2 排序表的数据 1236.2.1 冻结表中某个字段的显示 1246.2.2 在单个字段上排序数据 1246.2.3 在多个字段上排序数据 1256.2.4 删除表排序次序和解冻列 1256.3 查找表中的匹配记录 1266.4 自动地替换匹配的字段值 1276.5 筛选表数据 1286.5.1 按选定内容筛选 1286.5.2 按窗体筛选 1306.5.3 高级筛选和排序 1326.5.4 添加一个多字段排序和复合筛选准则 1326.5.5 使用复合准则 1346.5.6 将筛选保存为查询与筛选的加载 1356.6 定制数据表视图 1366.7 复制、导出和邮寄排序和筛选后的数据 1386.8 疑难解答 1396.9 现实世界—基于计算机的排序和搜索 139第7章 链接、导入和导出表 1417.1 从其他应用或者向其他应用移动数据 1417.2 理解Access如何处理其他数据库文件格式的表 1427.2.1 识别PC数据库文件格式 1437.2.2 链接和导入外部 ISAM表 1437.2.3 用ODBC链接Visual FoxPro表 1457.2.4 处理外部文件中的图像 1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517.3.2 链接Excel工作表 1567.4 使用Microsoft Outlook和Exchange文件夹 1567.4.1 用Outlook导出和导入Jet 4.0表 1577.4.2 使用Exchange/Outlook向导的链接 1597.5 导入文本文件 1607.5.1 使用导入文本向导 1617.5.2 导入文本向导的高级选项 1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从Access表导出数据 1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计Access 查询 1778.1 查询简介 1778.2 “简单查询向导”的使用 1778.3 使用查询设计窗口 1798.3.1 为查询选择字段 1808.3.2 按准则选择记录和排序显示 1828.3.3 创建更为复杂的查询 1838.3.4 改变查询列标题的名字 1848.3.5 将查询作为报表进行打印 1868.3.6 使用查询的数据 1878.4 创建其他的查询类型 1888.4.1 创建和使用简单的生成表操作查询 1888.4.2 向生成表查询添加参数 1908.5 疑难解答 1918.6 现实世界—查询设计优化 191第9章 理解查询操作符和表达式 1939.1 编写表达式作为查询准则和数据验证依据 1939.2 理解表达式中的元素 1949.2.1 操作符 1949.2.2 文字 1979.2.3 标识符 1989.2.4 函数 1989.2.5 固有的和命名常数 2059.3 创建Access表达式 2059.3.1 创建默认值的表达式 2069.3.2 使用表达式进行数据有效性验证 2069.3.3 作为查询准则的表达式 2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 21510.2.1 创建传统的单列等值连接 21610.2.2 为查询结果集指定排序次序 21810.2.3 使用表之间的间接关系创建查询 21910.2.4 创建多列等值连接和选择唯一值 22010.3 使用表中的查找字段 22210.3.1 用查阅向导添加外部键下拉列表 22210.3.2 向一个表添加固定值查找列表 22510.4 向表或者查询添加子数据表 22610.4.1 表子数据表 22710.4.2 查询子数据表 22810.5 外连接、自连接和Theta连接 23010.5.1 创建外连接 23010.5.2 创建自连接 23110.5.3 创建带准则的不相等Theta连接 23210.6 用查询更新表中的数据 23310.6.1 确定你是否能更新查询的特性 23310.6.2 用查询字段属性窗口格式化数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 23510.8.2 基于表中所有记录进行计算 23610.8.3 基于表中被选定的记录进行计算 23810.9 设计参数查询 24010.9.1 向月销售量查询添加一个参数 24010.9.2 指定参数的数据类型 24110.10 创建交叉表查询 24210.10.1 使用向导生成一个季度产品销售交叉表查询 24210.10.2 设计一个月产品销售交叉表查询 24510.10.3 使用固定列标题的交叉表查询 24610.11 从其他数据库中的表创建查询 24710.12 疑难解答 24810.13 现实世界—优化多表查询 249第11章 用操作查询修改数据 25111.1 操作查询入门 25111.2 用生成表查询创建新表 25111.2.1 设计和测试选择查询 25211.2.2 将选择查询转换为生成表查询 25311.2.3 为新表建立关系 25411.2.4 使用新的tblShipAddresses表 25511.3 创建操作查询向一个表中追加记录 25611.4 用操作查询从一个表中删除记录 25711.5 更新表中多个记录的值 25811.6 测试级联删除和更新 26111.6.1 创建测试表和建立关系 26111.6.2 测试级联删除 26211.6.3 测试级联更新 26211.7 疑难解答 26311.8 现实世界—操作查询之外的选择 26311.8.1 浏览模式更新 26411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建事务处理窗体 26812.2.1 为窗体选择数据源 26812.2.2 用窗体向导创建基本窗体 26812.3 使用窗体设计窗口 27212.3.1 窗体设计窗口的元素 27312.3.2 窗体设计工具栏按钮和菜单选择 27312.3.3 格式工具栏 27512.3.4 窗体的默认值 27512.3.5 使用自动套用格式 27612.3.6 改变对象的颜色 27712.4 选择、编辑、移动窗体元素和控件 28112.4.1 改变窗体页眉和窗体页脚的大小 28212.4.2 选择、移动和缩放单个控件 28212.4.3 将控件和网格对齐 28312.4.4 选择和移动多个控件 28312.4.5 对齐一组控件 28412.4.6 使用Windows 剪贴板和删除控件 28412.4.7 改变控件的颜色和边框样式 28512.4.8 改变控件的内容 28512.4.9 使用格式刷 28612.5 重新安排Personnel Actions窗体 28612.5.1 设置主窗体的属性 28712.5.2 设置子窗体的属性 28812.6 使用事务处理窗体 28912.6.1 窗体视图中的工具栏按钮 28912.6.2 使用Personnel Actions窗体 29012.6.3 向Personnel Actions表追加新记录 29012.6.4 编辑现有的数据 29212.6.5 提交和回退对表的改变 29212.7 在测试之后修改窗体或者控件的属性 29212.7.1 为数据输入而改变字段的次序 29212.7.2 从Tab键次序中删除字段 29312.8 现实世界—窗体设计技巧 293第13章 设计自定义多表窗体 29613.1 扩展你的窗体设计技能 29613.2 了解Access工具箱 29613.2.1 控件分类 29613.2.2 工具箱 29713.2.3 Access的控件向导、生成器和工具栏 29813.3 使用工具箱添加控件 30013.3.1 创建作为主窗体基础的查询 30113.3.2 创建一个具有页眉和页脚的空白窗体 30213.3.3 向窗体页眉上添加一个标签 30313.3.4 格式化文本和调整文本控件的大小 30413.3.5 创建绑定、多行、计算文本框 30513.3.6 改变属性的默认视图和获取帮助 30813.3.7 用向导添加选项组 30813.3.8 使用剪贴板复制控件到其他窗体 31113.3.9 使用组合和列表框 31213.3.10 创建一个组合框来查找特定的记录 31813.3.11 创建选项卡控件 32013.3.12 改变控件类型 32413.4 完成主Personnel Actions Entry窗体 32413.5 使用子窗体/子报表向导创建子窗体 32613.6 修改连续窗体的设计 32813.7 覆盖表的字段属性 32913.8 为打印窗体添加页眉和页脚 33013.9 疑难解答 33013.10 现实世界—Access的向导化 331第14章 打印基本报表和邮件标签 33314.1 理解窗体和报表之间的关系 33314.2 Access 报表类型的分类 33414.3 用“报表向导”创建分组报表 33414.4 使用Access的报表窗口 33814.5 使用自动套用格式和自定义报表样式 34014.6 修改基本的“报表向导”报表 34014.6.1 删除、重新部署和编辑现有的控件 34014.6.2 向报表添加计算控件 34514.6.3 对齐和格式化控件并调整行间距 34714.7 传统报表的边距调整和打印 35014.8 通过组的保持同页属性防止出现孤立的记录 35114.9 将多列报表作为邮件标签打印 35214.10 疑难解答 35314.11 现实世界—虚拟的无纸办公室 354第15章 高级报表 35515.1 从头开始创建报表 35515.2 报表数据的分组与排序 35515.2.1 分组数据 35615.2.2 数据分组排序 35815.3 从空白报表开始 35915.3.1 将一个报表用作一个子报表 35915.3.2 创建Monthly Sales by Category报表 36115.4 集成子报表 36415.4.1 向绑定报表添加链接子报表 36415.4.2 使用未链接子报表和未绑定报表 36615.5 自定义报表 36715.5.1 添加和删除报表的节 36715.5.2 分页控制以及打印页眉和页脚 36815.5.3 减少报表的长度 36815.6 向报表添加其他控件 36815.7 邮递报表快照 36915.8 疑难解答 37015.9 现实世界—报表设计的技巧 371第四部分 在Intranet和Internet上发布数据第16章 超级链接和HTML 37316.1 允许数据传送的Web页面 37316.2 Microsoft的Internet程序透视 37416.2.1 数字神经系统和Windows DNA 37516.2.2 Microsoft的Internet相关的客户端产品 37616.2.3 Microsoft的服务器方组件 37816.2.4 Microsoft支持Internet相关产品的技术 37816.3 用超级链接在Web和Intranet中导航 37916.4 理解Access 2000的超级链接字段数据类型 38216.4.1 测试Northwind Orders表中的超级链接 38216.4.2 编辑和插入传统的超级链接 38416.4.3 链接到一个Word文档的书签 38416.4.4 指定到Intranet Server或者Web上的页面的超级链接 38716.4.5 为超级链接添加屏幕提示 38816.4.6 使用表超级链接打开一个Access对象 38816.5 在Access控件上使用超级链接 38916.6 指定其他Internet URL 39016.7 疑难解答 39116.8 现实世界—到Internet或者不到Internet 391第17章 从表和查询生成Web页面 39317.1 简化基于Web的决策支持方式 39317.2 将表和查询数据表导出到HTML 39317.2.1 创建一个非格式化的Web页面 39517.2.2 从一个查询创建 Web页面 39817.3 使用HTML模板 39917.3.1 使用包含在Office 2000中的AccessHTML模板 39917.3.2 用模板导出一个查询数据表 40117.4 将报表导出到HTML 40217.5 从HTML表导入数据 40417.6 创建动态 Web页面 40617.6.1 理解ASP 40717.6.2 为ASP创建一个ODBC数据源 40817.6.3 将Access查询导出为ASP 40817.7 疑难解答 41017.8 现实世界—ASP和DAP 410第18章 设计数据访问页 41218.1 转向一个新的Access窗体模型 41218.2 理解Access的动态HTML实现 41318.2.1 支持DHTML和DAP的技术 41318.2.2 DOM HTML和DHTML 41418.3 DAP入门 41518.3.1 Review Products页 41518.3.2 Review Orders页 41818.3.3 HTML源代码编辑器 41918.3.4 Analyze Sales数据透视表页 42018.3.5 Sales页 42118.3.6 读写页 42318.4 使用“数据页向导”创建简单的DAP 42418.5 使用自动创建数据页创建纵栏式DAP 42718.5.1 使用记录浏览控件的筛选和排序特征 42818.5.2 修改自动创建数据页DAP的设计 42918.5.3 改变记录浏览控件的属性 43118.6 从头开始创建DAP 43218.6.1 用页字段列表添加一个数据透视表 43218.6.2 数据透视表列表控件在IE 5.0中的使用 43318.6.3 在IE5.0中更改透视表的属性 43418.7 用数据透视表列表向DAP添加图表 43518.7.1 为数据透视表列表创建一个查询 43518.7.2 添加和格式化数据透视表列表 43718.7.3 使用图表向导向数据透视表列表绑定一个Office 图表 43818.8 生成分组页 44018.8.1 创建一个三级层次分组页结构 44018.8.2 填充明细内容 44218.8.3 添加相关表的字段和标题 44318.9 疑难解答 44418.10 现实世界—DAP准备好大展宏图了吗? 444第五部分 集成Access与其他Office 2000应用程序第19章 往窗体和报表中添加图表和图形 44719.1 用图形丰富窗体和报表 44719.2 用Microsoft Graph 2000创建图形和图表 44719.2.1 创建作为图形基础的查询 44819.2.2 使用“图表向导”创建非链接图形 44919.2.3 更改图形的设计特征 45219.2.4 从交叉表查询中创建图形 45519.2.5 把图形链接到表或查询中的单个记录上 45719.3 在页中使用图表Web控件 45819.3.1 为图表Web控件设计查询 45919.3.2 添加基于单数据列系列的office图表 45919.3.3 更改Office图表的属性 46219.4 往窗体或报表中添加未绑定对象控件 46319.4.1 在Personnel Actions查询中包含相片 46319.4.2 在Personnel Actions窗体中显示雇员的图像 46319.4.3 缩放图形对象 46519.4.4 检查位图图像文件格式 46619.5 使用图像控件 46719.6 疑难解答 46819.7 现实世界—可视化数据 468第20章 与Microsoft Excel一起使用Access 47020.1 用数据透视表切分数据 47020.2 使用Access的数据透视表向导 47020.2.1 为数据透视表创建查询 47120.2.2 用向导产生一个数据透视表窗体 47220.3 在Excel中处理数据透视表 47520.3.1 提高数据透视表的格式化程度 47520.3.2 用数据透视表切分数据 47720.3.3 通过筛选进行切分 47820.3.4 折叠或展开明细数据的显示 47920.3.5 更改维的坐标轴 48120.4 格式化数据透视表报表 48120.5 从数据透视表中创建数据透视图表 48220.6 把Excel用作OLE服务器 48420.6.1 在窗体中嵌入常规的Excel工作表 48420.6.2 从OLE对象中抽取值 48620.6.3 链接到Excel工作表中一定范围的单元格 48720.7 疑难解答 48920.8 现实世界—OLAP和数据透视表 489第21章 与Microsoft Word和邮件合并一起使用Access 49221.1 集成Access 2000和Word 2000 49221.2 使用Access邮件合并向导 49221.2.1 创建和预览新套用信函 49221.2.2 使用已有的主合并文档及新数据源 49421.3 与Access数据库一起使用Word 2000的邮件合并功能 49721.3.1 用Microsoft查询和ODBC数据源来创建新的邮件合并数据源 49721.3.2 从已有查询创建套用信函 50121.4 在Access表中嵌入或链接Word文档 50221.4.1 在表中嵌入或链接Word 2000文档 50321.4.2 创建窗体以显示被嵌入文档 50421.5 疑难解答 50621.6 现实世界—Microsoft查询和OLE DB 506第六部分 使用高级Access技术第22章 关系数据库设计与实现的研究 50922.1 查看Access 2000新增的数据库设计功能 50922.2 集成对象和关系数据库 51022.3 理解数据库系统 51022.3.1 数据库设计的目标 51022.3.2 数据库设计过程 51122.3.3 数据库设计的面向对象方法 51222.3.4 数据库术语 51422.3.5 关系数据库中表和关键字的类型 51522.4 数据建模 51522.4.1 应用数据库 51622.4.2 主题数据库 51622.4.3 图表化数据模型 51722.4.4 数据库模式 51722.5 把数据规范化到关系模型 51822.5.1 规范化规则 51822.5.2 关系类型 52222.6 使用Access 2000的“表分析器向导” 52522.7 用数据库文档管理器创建数据字典 52822.8 使用Access索引 52922.9 实施数据库完整性 53022.9.1 保证实体完整性和可审计性 53022.9.2 维护参照完整性 53322.10 疑难解答 53322.11 现实世界—为什么学习关系理论? 533第23章 结构化查询语言 53523.1 理解Access 2000中SQL的角色 53523.2 使用Access学习SQL 53623.3 理解SQL语法 53723.4 用SQL编写SELECT查询 53723.4.1 使用SQL标点号和符号 53923.4.2 使用SQL语句创建Access查询 53923.4.3 使用SQL聚集函数 54123.4.4 用SQL创建连接 54223.4.5 使用联合查询 54323.4.6 实现子查询 54523.5 编写操作和交叉表查询 54623.6 添加IN以使用其他数据库中的表 54623.6.1 操作其他Access数据库 54723.6.2 对其他数据库类型使用IN子句 54823.6.3 用Jet DDL创建表 54823.6.4 比较ANSI和Jet SQL 54923.6.5 Access中SQL保留字 54923.6.6 对应于SQL关键字的Jet SQL保留字 54923.6.7 用于替代ANSI SQL关键字的Access函数和操作符 55023.6.8 不存在于ANSI SQL中的Jet SQL保留字、操作符和函数 55123.6.9 Jet 的 DISTINCTROW 和 SQL 的DISTINCT关键字 55223.6.10 Jet SQL保留字不支持的通用 ANSI SQL关键字和功能 55423.7 在窗体、报表和宏中使用SQL语句 55523.8 疑难解答 55523.9 现实世界—把SQL作为第二种语言 555第24章 多用户网络应用的安全 55824.1 网络化Access 2000应用程序 55824.2 在网络化环境下安装Access 55924.3 与其他用户共享你的Access数据库文件 55924.3.1 为文件共享创建一个文件夹和系统文件 55924.3.2 准备共享你的数据库文件 56224.3.3 为文件共享而拆分数据库 56224.3.4 修补链接、数据源和DAP的超链接 56424.3.5 用“工作组管理员”选择工作组 56524.4 使用命令行来打开共享数据库 56624.5 维护数据库安全 56824.5.1 指定局域网上数据库安全的原则: 56824.5.2 用密码保护单个数据库 56924.5.3 管理组和用户 57024.6 理解数据库对象所有权 57524.6.1 对象的所有者权限 57524.6.2 更改数据库对象的所有权 57524.7 授予和撤消对数据库对象的访问权限 57624.7.1 使用安全向导更改权限 57724.7.2 手工更改组权限 58024.7.3 给特定用户授予其他权限 58124.7.4 授予对其他工作组中某数据库的访问权限 58124.8 在网络上共享数据库 58224.8.1 在Windows 9x网络上共享数据库文件 58224.8.2 用户级安全共享文件 58324.8.3 共享来自网络服务器的数据库文件 58424.9 访问共享的工作组和数据文件 58424.9.1 粘附被共享的工作组系统文件 58524.9.2 刷新到共享数据文件的链接 58524.10 管理数据库和应用 58624.10.1 备份和恢复数据库 58624.10.2 压缩和修复数据库文件 58724.10.3 加密和解密数据库文件 58724.11 疑难解答 58824.12 现实世界—共享文件与客户/服务器后端 588第25章 创建Access数据项目 59025.1 将Access转变成客户/服务器模式 59025.2 理解MSDE的作用 59125.2.1 SQL Server版本与特性 59125.2.2 MSDE的优点 59225.3 安装与启动MSDE 59225.4 熟悉ADP 59525.4.1 适应MSDE与SQL Server 7.0的特性 59525.4.2 启动Northwind CS示例工程 59625.5 使用项目设计器 59725.5.1 MSDE表操作 59825.5.2 浏览MSDE视图 60025.5.3 图形化表关系 60225.5.4 编写存储过程 60325.5.5 为表添加触发 60425.6 使用升迁向导来创建ADP 60525.6.1 运行Access升迁向导 60525.6.2 检查向导成功还是失败 60725.7 使用DTS向导压缩数据库 60825.8 连接远程MSDE数据库 61025.8.1 使用SQL Server客户网络实用工具 61025.8.2 验证与使用远程数据库 61125.8.3 建立MSDE安全 61225.9 疑难解答 61325.10 现实世界—尝试中的 ADP 61425.10.1 ADP的缺陷 61425.10.2 SQL Server 的优点:ADP、MSDE和SQL Server 7.0 614第七部分 Access应用的程序设计和转换第26章 编写VBA代码 61726.1 理解VBA在Access中的作用 61726.2 介绍VBA 6.0 61826.2.1 在什么情况下使用VBA代码 61826.2.2 VBA命名习惯 61826.2.3 模块、函数和子过程 61926.2.4 模块元素 62026.2.5 VBA和Access模块的引用 62126.2.6 VBA中数据类型和数据库对象 62226.2.7 变量和命名习惯 62326.2.8 符号常量 62726.2.9 VBA命名的可选参数 62826.3 控制程序流 62826.3.1 转移和标号 62926.3.2 条件语句 62926.3.3 重复操作:循环 63126.4 处理运行错误 63326.4.1 使用Err对象查找错误类型 63426.4.2 在窗体或者报表模块中使用Error事件 63426.5 浏览VBA编辑器 63526.5.1 模块窗口的工具栏 63526.5.2 模块快捷键 63626.5.3 VBA帮助系统 63726.6 检验实用工具函数模块 63726.6.1 向IsLoaded()函数中加一个断点 63826.6.2 用Debug对象把结果输出到立即窗口 63926.6.3 使用文本比较选项 64026.7 现实世界—宏的应用 640第27章 理解通用数据访问、OLE DB和ADO 64227.1 透视Microsoft新的数据访问组件 64227.2 与多种数据源的接口 64327.2.1 用OLE DB自底向上重新设计 64327.2.2 将OLE DB接口映射到ADO 64527.2.3 比较ADO和DAO对象 64627.3 创建ADODB.Recordsets 64727.4 用代码将控件绑定到记录集 64927.5 使窗体可修改 65027.5.1 连接到NorthwindCS MSDE数据库 65127.5.2 用DAO3.6代替ADO2.1 65127.6 浏览顶层ADO属性、方法和事件 65227.7 与ADODB.Connection对象一起工作 65427.7.1 Connection的属性 65427.7.2 Errors集合和Error对象 65627.7.3 Connection的方法 65727.7.4 Connection事件 65927.8 使用ADODB.Command对象 66027.8.1 Command对象的属性 66027.8.2 Parameters集合 66127.8.3 Parameter对象 66127.8.4 Command方法 66327.8.5 把参数值传递给存储过程的代码 66427.9 理解ADODB.Recordset对象 66627.9.1 Recordset的属性 66627.9.2 Fields集合和Field对象 66927.9.3 Recordset的方法 67127.9.4 断开连接的Recordset 67427.9.5 Recordset事件 67427.10 疑难解答 67527.11 现实世界—努力学习和使用ADO 675第28章 用VBA6.0响应事件 67728.1 介绍事件驱动的编程 67728.2 理解类模块的角色 67728.2.1 Main Switchboard类模块 67828.2.2 在Main Switchboard窗体中的事件处理代码 67928.3 在对象浏览器和项目浏览器中检查工程类模块成员 68128.4 通过命令按钮向导添加事件处理代码 68228.5 用函数来响应事件 68428.6 理解Access 2000的事件指令集 68528.7 使用Access 2000的Docmd方法 68928.8 用命令条对象定制应用 69428.9 指定一个自定义CommandBar并设置其他启动属性 69628.10 用VBA引用Access对象 69728.10.1 引用打开的窗体或报表及其属性 69728.10.2 引用控件及其属性 69828.10.3 引用子窗体或主窗体中的控件 69928.11 使用另一种集合语法 69928.12 响应由窗体和控件触发的数据事件 69928.13 疑难解答 70128.14 现实世界—处理事件驱动的编程 701第29章 组合框和列表框编程 70229.1 流线型决策支持前台 70229.2 用组合框约束查询选择 70229.2.1 设计决策支持查询 70329.2.2 创建窗体并添加列表框 70329.2.3 向窗体添加查询组合框 70429.3 添加代码生成查询的SQL语句 70729.4 将组合框窗体转换成Access数据项目 70929.4.1 导入并测试组合框窗体 71029.4.2 使“行来源”SQL语句与Transact-SQL语句一致 71029.5 详化一个列表框选择 71229.5.1 创建详化查询和添加列表框 71229.5.2 详化列表框编程 71329.6 给列表框和组合框添加新的特征 71429.6.1 重复列表框数据项和选择一个数据项 71429.6.2 添加一个选项来选择所有国家或产品 71529.7 向ADP转移时处理Jet专有函数 71829.8 疑难解答 71929.9 现实世界—Access组合框和列表框 720第30章 使用ADO记录集、窗体和控件 72130.1 利用VBA操纵记录集 72130.1.1 生成临时记录集 72130.1.2 应用Move方法 72330.1.3 在循环中使用EOF和BOF 72330.1.4 使用AbsolutePosition属性 72430.2 使用Find方法和书签 72430.3 修改记录集的记录 72630.3.1 编辑和增加记录 72630.3.2 删除记录 72630.4 由记录集填充组合框 72730.4.1 创建frmCombo2并改变组合框设计 72730.4.2 用代码填充组合框 72830.5 改变组合框列表的排序 72930.6 由记录集对象填充列表框 73130.7 格式化值列表组合框的列 73330.8 将frmComboVBA导出到一个Access数据项目 73630.9 疑难解答 73730.10 现实世界—适应ADO 737第31章 Access 9x应用向Access 2000的转换 73831.1 理解.mdb文件升级过程 73831.2 把不安全文件从Access 9x转换到Access 2000 73831.2.1 在Access 2000中第一次打开文件时升级 73831.2.2 在Access 2000中打开文件后升级 74031.3 转换安全的Access 9x文件 74131.3.1 在一个混合的Access 9x和Access2000环境中进行升级 74131.3.2 升级后台数据库和工作组文件 74131.4 将Access 2.0应用文件.mdb升级为Access 2000 74131.4.1 Win16函数调用转换为Win32函数调用 74231.4.2 表上的32个索引限制 74331.4.3 将16位OLE控件转换为32位ActiveX控件 74431.5 疑难解答 74431.6 现实世界—升级的诱惑 744
Access 2000数据库系统设计(PDF)---002目 录译者序前言第一部分 Access基础第1章 Access 2000的新增功能 11.1 Access 2000透视 11.2 用Office Web组件部署数据访问页 21.2.1 Office Web 组件 21.2.2 DAP演示测试. 31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据 项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具 箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑器 101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库 相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正 151.8.5 与Office 2000相关的改进 151.9 安装Access 2000 171.9.1 Access 2000的初始安装 171.9.2 定制Access 2000 201.10 安装和配置Microsoft数据引擎 20 1.11 现实世界—为什么升级 23第2章 建立第一个Access 2000应用 252.1 理解Access的应用设计方法 252.2 从模板文件创建Access应用 262.3 熟悉联系管理应用 292.3.1 数据库窗口中的表对象 292.3.2 切换面板窗体 322.3.3 Access窗体 332.3.4 Access报表 352.3.5 Access模块 362.4 使用切换面板管理器 382.5 探索窗体设计视图和VBA类模块 392.6 现实世界—所学知识的透视 40第3章 Access导航 423.1 理解Access功能和模式 423.1.1 定义Access功能 423.1.2 定义Access操作模式 443.2 理解Access的表显示 443.2.1 最大化文档窗口 463.2.2 把文档窗口最小化为图标 473.2.3 表数据表视图中的工具栏 483.2.4 工具栏自定义 503.2.5 右击快捷方式菜单 523.3 使用功能键 533.3.1 全局功能键 533.3.2 字段、网格和文本框的功能键 分配 533.4 设置默认的选项 543.4.1 系统默认值 553.4.2 数据表视图的默认值 583.5 使用Access帮助 593.5.1 上下文相关的帮助 593.5.2 “帮助”菜单 603.5.3 Microsoft Access的帮助窗口 613.5.4 “Office助手” 643.6 使用“数据库实用工具” 663.6.1 压缩和修复数据库 673.6.2 将数据库转换为Access 2000格式 683.6.3 将数据库转换为Access 97格式 693.6.4 添加切换面板窗体 693.6.5 创建.mde文件 703.7 疑难解答 703.8 现实世界—HTML帮助或者障碍 71第4章 使用Access数据库和表 724.1 定义Access数据库的元素 724.2 理解关系型数据库 744.3 使用Access数据库文件和表 754.3.1 Access系统数据库 754.3.2 Access 库数据库 754.4 创建一个新数据库 754.5 理解表和字段的属性 774.6 选择字段数据类型、大小和格式 804.6.1 为数值和文本数据选择字段大小 814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有的数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 在数据表视图中直接创建一个表 964.9 设置字段的默认值 964.10 使用关系、关键字字段和索引 974.10.1 建立表之间的关系 984.10.2 实施参照完整性 1004.10.3 选择一个主键 1014.10.4 往表中添加索引 1024.11 改变字段和关系 1044.11.1 重新安排表中字段的顺序 1044.11.2 改变字段数据类型和大小 1054.11.3 改变表之间的关系 1064.12 复制和粘贴表 1074.13 疑难解答 1084.14 现实世界—数据库战略和表战术 108第5章 输入、编辑和验证表中的数据 1105.1 在Access表中输入测试数据 1105.2 使用键盘操作进行数据输入和编辑数据 1105.2.1 创建Northwind.mdb的试验用复本 1115.2.2 使用数据输入和编辑键 1115.2.3 用于Windows剪贴板操作的组合键 1125.2.4 在字段和文本框上使用快捷键 1135.2.5 设置数据输入选项 1145.3 向表中添加记录 1145.4 选择、追加、替换和删除表记录 1155.5 验证数据输入 1165.5.1 添加字段级有效性规则 1165.5.2 添加表级有效性规则和使用表达式 生成器 1185.6 向Personnel Actions表添加记录 1195.7 输入Personnel Actions表数据和测试 有效性规则 1205.8 疑难解答 1215.9 现实世界—批量数据输入 121第6章 排序、查找和筛选表中的数据 1236.1 理解排序和筛选的作用 1236.2 排序表的数据 1236.2.1 冻结表中某个字段的显示 1246.2.2 在单个字段上排序数据 1246.2.3 在多个字段上排序数据 1256.2.4 删除表排序次序和解冻列 1256.3 查找表中的匹配记录 1266.4 自动地替换匹配的字段值 1276.5 筛选表数据 1286.5.1 按选定内容筛选 1286.5.2 按窗体筛选 1306.5.3 高级筛选和排序 1326.5.4 添加一个多字段排序和复合筛选 准则 1326.5.5 使用复合准则 1346.5.6 将筛选保存为查询与筛选的加载 1356.6 定制数据表视图 1366.7 复制、导出和邮寄排序和筛选后的 数据 1386.8 疑难解答 1396.9 现实世界—基于计算机的排序和 搜索 139第7章 链接、导入和导出表 1417.1 从其他应用或者向其他应用移动数据 1417.2 理解Access如何处理其他数据库文件 格式的表 1427.2.1 识别PC数据库文件格式 1437.2.2 链接和导入外部 ISAM表 1437.2.3 用ODBC链接Visual FoxPro表 1457.2.4 处理外部文件中的图像 1487.2.5 将字段数据类型转换为Access数据 类型 1497.2.6 使用链接表管理器加载项重新 链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517.3.2 链接Excel工作表 1567.4 使用Microsoft Outlook和Exchange 文件夹 1567.4.1 用Outlook导出和导入Jet 4.0表 1577.4.2 使用Exchange/Outlook向导的链接 1597.5 导入文本文件 1607.5.1 使用导入文本向导 1617.5.2 导入文本向导的高级选项 1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从Access表导出数据 1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与 回报 175第二部分 最大限度地利用查询第8章 设计Access 查询 1778.1 查询简介 1778.2 “简单查询向导”的使用 1778.3 使用查询设计窗口 1798.3.1 为查询选择字段 1808.3.2 按准则选择记录和排序显示 1828.3.3 创建更为复杂的查询 1838.3.4 改变查询列标题的名字 1848.3.5 将查询作为报表进行打印 1868.3.6 使用查询的数据 1878.4 创建其他的查询类型 1888.4.1 创建和使用简单的生成表操作 查询 1888.4.2 向生成表查询添加参数 1908.5 疑难解答 1918.6 现实世界—查询设计优化 191第9章 理解查询操作符和表达式 1939.1 编写表达式作为查询准则和数据验证 依据 1939.2 理解表达式中的元素 1949.2.1 操作符 1949.2.2 文字 1979.2.3 标识符 1989.2.4 函数 1989.2.5 固有的和命名常数 2059.3 创建Access表达式 2059.3.1 创建默认值的表达式 2069.3.2 使用表达式进行数据有效性验证 2069.3.3 作为查询准则的表达式 2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 21510.2.1 创建传统的单列等值连接 21610.2.2 为查询结果集指定排序次序 21810.2.3 使用表之间的间接关系创建查询 21910.2.4 创建多列等值连接和选择 唯一值 22010.3 使用表中的查找字段 22210.3.1 用查阅向导添加外部键下拉列表 22210.3.2 向一个表添加固定值查找列表 22510.4 向表或者查询添加子数据表 22610.4.1 表子数据表 22710.4.2 查询子数据表 22810.5 外连接、自连接和Theta连接 23010.5.1 创建外连接 23010.5.2 创建自连接 23110.5.3 创建带准则的不相等Theta连接 23210.6 用查询更新表中的数据 23310.6.1 确定你是否能更新查询的特性 23310.6.2 用查询字段属性窗口格式化 数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 23510.8.2 基于表中所有记录进行计算 23610.8.3 基于表中被选定的记录进行计算 23810.9 设计参数查询 24010.9.1 向月销售量查询添加一个参数 24010.9.2 指定参数的数据类型 24110.10 创建交叉表查询 24210.10.1 使用向导生成一个季度产品销售 交叉表查询 24210.10.2 设计一个月产品销售交叉表查询 24510.10.3 使用固定列标题的交叉表查询 24610.11 从其他数据库中的表创建查询 24710.12 疑难解答 24810.13 现实世界—优化多表查询 249第11章 用操作查询修改数据 25111.1 操作查询入门 25111.2 用生成表查询创建新表 25111.2.1 设计和测试选择查询 25211.2.2 将选择查询转换为生成表查询 25311.2.3 为新表建立关系 25411.2.4 使用新的tblShipAddresses表 25511.3 创建操作查询向一个表中追加记录 25611.4 用操作查询从一个表中删除记录 25711.5 更新表中多个记录的值 25811.6 测试级联删除和更新 26111.6.1 创建测试表和建立关系 26111.6.2 测试级联删除 26211.6.3 测试级联更新 26211.7 疑难解答 26311.8 现实世界—操作查询之外的选择 26311.8.1 浏览模式更新 26411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建事务处理窗体 26812.2.1 为窗体选择数据源 26812.2.2 用窗体向导创建基本窗体 26812.3 使用窗体设计窗口 27212.3.1 窗体设计窗口的元素 27312.3.2 窗体设计工具栏按钮和菜单 选择 27312.3.3 格式工具栏 27512.3.4 窗体的默认值 27512.3.5 使用自动套用格式 27612.3.6 改变对象的颜色 27712.4 选择、编辑、移动窗体元素和控件 28112.4.1 改变窗体页眉和窗体页脚的大小 28212.4.2 选择、移动和缩放单个控件 28212.4.3 将控件和网格对齐 28312.4.4 选择和移动多个控件 28312.4.5 对齐一组控件 28412.4.6 使用Windows 剪贴板和删除控件 28412.4.7 改变控件的颜色和边框样式 28512.4.8 改变控件的内容 28512.4.9 使用格式刷 28612.5 重新安排Personnel Actions窗体 28612.5.1 设置主窗体的属性 28712.5.2 设置子窗体的属性 28812.6 使用事务处理窗体 28912.6.1 窗体视图中的工具栏按钮 28912.6.2 使用Personnel Actions窗体 29012.6.3 向Personnel Actions表追加新记录 29012.6.4 编辑现有的数据 29212.6.5 提交和回退对表的改变 29212.7 在测试之后修改窗体或者控件的 属性 29212.7.1 为数据输入而改变字段的次序 29212.7.2 从Tab键次序中删除字段 29312.8 现实世界—窗体设计技巧 293第13章 设计自定义多表窗体 29613.1 扩展你的窗体设计技能 29613.2 了解Access工具箱 29613.2.1 控件分类 29613.2.2 工具箱 29713.2.3 Access的控件向导、生成器和 工具栏 29813.3 使用工具箱添加控件 30013.3.1 创建作为主窗体基础的查询 30113.3.2 创建一个具有页眉和页脚的空白 窗体 30213.3.3 向窗体页眉上添加一个标签 30313.3.4 格式化文本和调整文本控件的 大小 30413.3.5 创建绑定、多行、计算文本框 30513.3.6 改变属性的默认视图和获取帮助 30813.3.7 用向导添加选项组 30813.3.8 使用剪贴板复制控件到其他窗体 31113.3.9 使用组合和列表框 31213.3.10 创建一个组合框来查找特定的 记录 31813.3.11 创建选项卡控件 32013.3.12 改变控件类型 32413.4 完成主Personnel Actions Entry窗体 32413.5 使用子窗体/子报表向导创建子窗体 32613.6 修改连续窗体的设计 32813.7 覆盖表的字段属性 32913.8 为打印窗体添加页眉和页脚 33013.9 疑难解答 33013.10 现实世界—Access的向导化 331第14章 打印基本报表和邮件标签 33314.1 理解窗体和报表之间的关系 33314.2 Access 报表类型的分类 33414.3 用“报表向导”创建分组报表 33414.4 使用Access的报表窗口 33814.5 使用自动套用格式和自定义报表样式 34014.6 修改基本的“报表向导”报表 34014.6.1 删除、重新部署和编辑现有的 控件 34014.6.2 向报表添加计算控件 34514.6.3 对齐和格式化控件并调整行间距 34714.7 传统报表的边距调整和打印 35014.8 通过组的保持同页属性防止出现 孤立的记录 35114.9 将多列报表作为邮件标签打印 35214.10 疑难解答 35314.11 现实世界—虚拟的无纸办公室 354第15章 高级报表 35515.1 从头开始创建报表 35515.2 报表数据的分组与排序 35515.2.1 分组数据 35615.2.2 数据分组排序 35815.3 从空白报表开始 35915.3.1 将一个报表用作一个子报表 35915.3.2 创建Monthly Sales by Category 报表 36115.4 集成子报表 36415.4.1 向绑定报表添加链接子报表 36415.4.2 使用未链接子报表和未绑定报表 36615.5 自定义报表 36715.5.1 添加和删除报表的节 36715.5.2 分页控制以及打印页眉和页脚 36815.5.3 减少报表的长度 36815.6 向报表添加其他控件 36815.7 邮递报表快照 36915.8 疑难解答 37015.9 现实世界—报表设计的技巧 371第四部分 在Intranet和Internet上发布数据第16章 超级链接和HTML 37316.1 允许数据传送的Web页面 37316.2 Microsoft的Internet程序透视 37416.2.1 数字神经系统和Windows DNA 37516.2.2 Microsoft的Internet相关的客户端 产品 37616.2.3 Microsoft的服务器方组件 37816.2.4 Microsoft支持Internet相关产品的 技术 37816.3 用超级链接在Web和Intranet中 导航 37916.4 理解Access 2000的超级链接字段数据 类型 38216.4.1 测试Northwind Orders表中的超级 链接 38216.4.2 编辑和插入传统的超级链接 38416.4.3 链接到一个Word文档的书签 38416.4.4 指定到Intranet Server或者Web上的 页面的超级链接 38716.4.5 为超级链接添加屏幕提示 38816.4.6 使用表超级链接打开一个Access 对象 38816.5 在Access控件上使用超级链接 38916.6 指定其他Internet URL 39016.7 疑难解答 39116.8 现实世界—到Internet或者不到 Internet 391第17章 从表和查询生成Web页面 39317.1 简化基于Web的决策支持方式 39317.2 将表和查询数据表导出到HTML 39317.2.1 创建一个非格式化的Web页面 39517.2.2 从一个查询创建 Web页面 39817.3 使用HTML模板 39917.3.1 使用包含在Office 2000中的Access HTML模板 39917.3.2 用模板导出一个查询数据表 40117.4 将报表导出到HTML 40217.5 从HTML表导入数据 40417.6 创建动态 Web页面 40617.6.1 理解ASP 40717.6.2 为ASP创建一个ODBC数据源 40817.6.3 将Access查询导出为ASP 40817.7 疑难解答 41017.8 现实世界—ASP和DAP 410第18章 设计数据访问页 41218.1 转向一个新的Access窗体模型 41218.2 理解Access的动态HTML实现 41318.2.1 支持DHTML和DAP的技术 41318.2.2 DOM HTML和DHTML 41418.3 DAP入门 41518.3.1 Review Products页 41518.3.2 Review Orders页 41818.3.3 HTML源代码编辑器 41918.3.4 Analyze Sales数据透视表页 42018.3.5 Sales页 42118.3.6 读写页 42318.4 使用“数据页向导”创建简单的DAP 42418.5 使用自动创建数据页创建纵栏式 DAP 42718.5.1 使用记录浏览控件的筛选和排序 特征 42818.5.2 修改自动创建数据页DAP的设计 42918.5.3 改变记录浏览控件的属性 43118.6 从头开始创建DAP 43218.6.1 用页字段列表添加一个数据 透视表 43218.6.2 数据透视表列表控件在IE 5.0中的 使用 43318.6.3 在IE5.0中更改透视表的属性 43418.7 用数据透视表列表向DAP添加图表 43518.7.1 为数据透视表列表创建一个查询 43518.7.2 添加和格式化数据透视表列表 43718.7.3 使用图表向导向数据透视表列表 绑定一个Office 图表 43818.8 生成分组页 44018.8.1 创建一个三级层次分组页结构 44018.8.2 填充明细内容 44218.8.3 添加相关表的字段和标题 44318.9 疑难解答 44418.10 现实世界—DAP准备好大展 宏图了吗? 444第五部分 集成Access与其他Office 2000应用程序第19章 往窗体和报表中添加图表和图形 44719.1 用图形丰富窗体和报表 44719.2 用Microsoft Graph 2000创建图形和 图表 44719.2.1 创建作为图形基础的查询 44819.2.2 使用“图表向导”创建非链接 图形 44919.2.3 更改图形的设计特征 45219.2.4 从交叉表查询中创建图形 45519.2.5 把图形链接到表或查询中的单个 记录上 45719.3 在页中使用图表Web控件 45819.3.1 为图表Web控件设计查询 45919.3.2 添加基于单数据列系列的office图表 45919.3.3 更改Office图表的属性 46219.4 往窗体或报表中添加未绑定对象 控件 46319.4.1 在Personnel Actions查询中包含 相片 46319.4.2 在Personnel Actions窗体中显示雇员 的图像 46319.4.3 缩放图形对象 46519.4.4 检查位图图像文件格式 46619.5 使用图像控件 46719.6 疑难解答 46819.7 现实世界—可视化数据 468第20章 与Microsoft Excel一起使用 Access 47020.1 用数据透视表切分数据 47020.2 使用Access的数据透视表向导 47020.2.1 为数据透视表创建查询 47120.2.2 用向导产生一个数据透视表窗体 47220.3 在Excel中处理数据透视表 47520.3.1 提高数据透视表的格式化程度 47520.3.2 用数据透视表切分数据 47720.3.3 通过筛选进行切分 47820.3.4 折叠或展开明细数据的显示 47920.3.5 更改维的坐标轴 48120.4 格式化数据透视表报表 48120.5 从数据透视表中创建数据透视图表 48220.6 把Excel用作OLE服务器 48420.6.1 在窗体中嵌入常规的Excel工作表 48420.6.2 从OLE对象中抽取值 48620.6.3 链接到Excel工作表中一定范围的 单元格 48720.7 疑难解答 48920.8 现实世界—OLAP和数据 透视表 489第21章 与Microsoft Word和邮件合并一起 使用Access 49221.1 集成Access 2000和Word 2000 49221.2 使用Access邮件合并向导 49221.2.1 创建和预览新套用信函 49221.2.2 使用已有的主合并文档及新 数据源 49421.3 与Access数据库一起使用Word 2000的 邮件合并功能 49721.3.1 用Microsoft查询和ODBC数据源来 创建新的邮件合并数据源 49721.3.2 从已有查询创建套用信函 50121.4 在Access表中嵌入或链接Word文档 50221.4.1 在表中嵌入或链接Word 2000文档 50321.4.2 创建窗体以显示被嵌入文档 50421.5 疑难解答 50621.6 现实世界—Microsoft查询和 OLE DB 506第六部分 使用高级Access技术第22章 关系数据库设计与实现的研究 50922.1 查看Access 2000新增的数据库设计 功能 50922.2 集成对象和关系数据库 51022.3 理解数据库系统 51022.3.1 数据库设计的目标 51022.3.2 数据库设计过程 51122.3.3 数据库设计的面向对象方法 51222.3.4 数据库术语 51422.3.5 关系数据库中表和关键字的类型 51522.4 数据建模 51522.4.1 应用数据库 51622.4.2 主题数据库 51622.4.3 图表化数据模型 51722.4.4 数据库模式 51722.5 把数据规范化到关系模型 51822.5.1 规范化规则 51822.5.2 关系类型 52222.6 使用Access 2000的“表分析器向导” 52522.7 用数据库文档管理器创建数据字典 52822.8 使用Access索引 52922.9 实施数据库完整性 53022.9.1 保证实体完整性和可审计性 53022.9.2 维护参照完整性 53322.10 疑难解答 53322.11 现实世界—为什么学习关系理论? 533第23章 结构化查询语言 53523.1 理解Access 2000中SQL的角色 53523.2 使用Access学习SQL 53623.3 理解SQL语法 53723.4 用SQL编写SELECT查询 53723.4.1 使用SQL标点号和符号 53923.4.2 使用SQL语句创建Access查询 53923.4.3 使用SQL聚集函数 54123.4.4 用SQL创建连接 54223.4.5 使用联合查询 54323.4.6 实现子查询 54523.5 编写操作和交叉表查询 54623.6 添加IN以使用其他数据库中的表 54623.6.1 操作其他Access数据库 54723.6.2 对其他数据库类型使用IN子句 54823.6.3 用Jet DDL创建表 54823.6.4 比较ANSI和Jet SQL 54923.6.5 Access中SQL保留字 54923.6.6 对应于SQL关键字的Jet SQL保留字 54923.6.7 用于替代ANSI SQL关键字的 Access函数和操作符 55023.6.8 不存在于ANSI SQL中的Jet SQL 保留字、操作符和函数 55123.6.9 Jet 的 DISTINCTROW 和 SQL 的 DISTINCT关键字 55223.6.10 Jet SQL保留字不支持的通用 ANSI SQL关键字和功能 55423.7 在窗体、报表和宏中使用SQL语句 55523.8 疑难解答 55523.9 现实世界—把SQL作为第二种语言 555第24章 多用户网络应用的安全 55824.1 网络化Access 2000应用程序 55824.2 在网络化环境下安装Access 55924.3 与其他用户共享你的Access数据库 文件 55924.3.1 为文件共享创建一个文件夹和系统 文件 55924.3.2 准备共享你的数据库文件 56224.3.3 为文件共享而拆分数据库 56224.3.4 修补链接、数据源和DAP的超链接 56424.3.5 用“工作组管理员”选择工作组 56524.4 使用命令行来打开共享数据库 56624.5 维护数据库安全 56824.5.1 指定局域网上数据库安全的原则: 56824.5.2 用密码保护单个数据库 56924.5.3 管理组和用户 57024.6 理解数据库对象所有权 57524.6.1 对象的所有者权限 57524.6.2 更改数据库对象的所有权 57524.7 授予和撤消对数据库对象的访问权限 57624.7.1 使用安全向导更改权限 57724.7.2 手工更改组权限 58024.7.3 给特定用户授予其他权限 58124.7.4 授予对其他工作组中某数据库的 访问权限 58124.8 在网络上共享数据库 58224.8.1 在Windows 9x网络上共享数据库 文件 58224.8.2 用户级安全共享文件 58324.8.3 共享来自网络服务器的数据库文件 58424.9 访问共享的工作组和数据文件 58424.9.1 粘附被共享的工作组系统文件 58524.9.2 刷新到共享数据文件的链接 58524.10 管理数据库和应用 58624.10.1 备份和恢复数据库 58624.10.2 压缩和修复数据库文件 58724.10.3 加密和解密数据库文件 58724.11 疑难解答 58824.12 现实世界—共享文件与客户/服务器 后端 588第25章 创建Access数据项目 59025.1 将Access转变成客户/服务器模式 59025.2 理解MSDE的作用 59125.2.1 SQL Server版本与特性 59125.2.2 MSDE的优点 59225.3 安装与启动MSDE 59225.4 熟悉ADP 59525.4.1 适应MSDE与SQL Server 7.0的特性 59525.4.2 启动Northwind CS示例工程 59625.5 使用项目设计器 59725.5.1 MSDE表操作 59825.5.2 浏览MSDE视图 60025.5.3 图形化表关系 60225.5.4 编写存储过程 60325.5.5 为表添加触发 60425.6 使用升迁向导来创建ADP 60525.6.1 运行Access升迁向导 60525.6.2 检查向导成功还是失败 60725.7 使用DTS向导压缩数据库 60825.8 连接远程MSDE数据库 61025.8.1 使用SQL Server客户网络实用工具 61025.8.2 验证与使用远程数据库 61125.8.3 建立MSDE安全 61225.9 疑难解答 61325.10 现实世界—尝试中的 ADP 61425.10.1 ADP的缺陷 61425.10.2 SQL Server 的优点:ADP、MSDE 和SQL Server 7.0 614第七部分 Access应用的程序设计和转换第26章 编写VBA代码 61726.1 理解VBA在Access中的作用 61726.2 介绍VBA 6.0 61826.2.1 在什么情况下使用VBA代码 61826.2.2 VBA命名习惯 61826.2.3 模块、函数和子过程 61926.2.4 模块元素 62026.2.5 VBA和Access模块的引用 62126.2.6 VBA中数据类型和数据库对象 62226.2.7 变量和命名习惯 62326.2.8 符号常量 62726.2.9 VBA命名的可选参数 62826.3 控制程序流 62826.3.1 转移和标号 62926.3.2 条件语句 62926.3.3 重复操作:循环 63126.4 处理运行错误 63326.4.1 使用Err对象查找错误类型 63426.4.2 在窗体或者报表模块中使用Error 事件 63426.5 浏览VBA编辑器 63526.5.1 模块窗口的工具栏 63526.5.2 模块快捷键 63626.5.3 VBA帮助系统 63726.6 检验实用工具函数模块 63726.6.1 向IsLoaded()函数中加一个断点 63826.6.2 用Debug对象把结果输出到立即窗口 63926.6.3 使用文本比较选项 64026.7 现实世界—宏的应用 640第27章 理解通用数据访问、OLE DB和 ADO 64227.1 透视Microsoft新的数据访问组件 64227.2 与多种数据源的接口 64327.2.1 用OLE DB自底向上重新设计 64327.2.2 将OLE DB接口映射到ADO 64527.2.3 比较ADO和DAO对象 64627.3 创建ADODB.Recordsets 64727.4 用代码将控件绑定到记录集 64927.5 使窗体可修改 65027.5.1 连接到NorthwindCS MSDE数据库 65127.5.2 用DAO3.6代替ADO2.1 65127.6 浏览顶层ADO属性、方法和事件 65227.7 与ADODB.Connection对象一起工作 65427.7.1 Connection的属性 65427.7.2 Errors集合和Error对象 65627.7.3 Connection的方法 65727.7.4 Connection事件 65927.8 使用ADODB.Command对象 66027.8.1 Command对象的属性 66027.8.2 Parameters集合 66127.8.3 Parameter对象 66127.8.4 Command方法 66327.8.5 把参数值传递给存储过程的代码 66427.9 理解ADODB.Recordset对象 66627.9.1 Recordset的属性 66627.9.2 Fields集合和Field对象 66927.9.3 Recordset的方法 67127.9.4 断开连接的Recordset 67427.9.5 Recordset事件 67427.10 疑难解答 67527.11 现实世界—努力学习和使用ADO 675第28章 用VBA6.0响应事件 67728.1 介绍事件驱动的编程 67728.2 理解类模块的角色 67728.2.1 Main Switchboard类模块 67828.2.2 在Main Switchboard窗体中的事件 处理代码 67928.3 在对象浏览器和项目浏览器中检查 工程类模块成员 68128.4 通过命令按钮向导添加事件处理代码 68228.5 用函数来响应事件 68428.6 理解Access 2000的事件指令集 68528.7 使用Access 2000的Docmd方法 68928.8 用命令条对象定制应用 69428.9 指定一个自定义CommandBar并 设置其他启动属性 69628.10 用VBA引用Access对象 69728.10.1 引用打开的窗体或报表及其属性 69728.10.2 引用控件及其属性 69828.10.3 引用子窗体或主窗体中的控件 69928.11 使用另一种集合语法 69928.12 响应由窗体和控件触发的数据事件 69928.13 疑难解答 70128.14 现实世界—处理事件驱动的编程 701第29章 组合框和列表框编程 70229.1 流线型决策支持前台 70229.2 用组合框约束查询选择 70229.2.1 设计决策支持查询 70329.2.2 创建窗体并添加列表框 70329.2.3 向窗体添加查询组合框 70429.3 添加代码生成查询的SQL语句 70729.4 将组合框窗体转换成Access数据项目 70929.4.1 导入并测试组合框窗体 71029.4.2 使“行来源”SQL语句与Transact- SQL语句一致 71029.5 详化一个列表框选择 71229.5.1 创建详化查询和添加列表框 71229.5.2 详化列表框编程 71329.6 给列表框和组合框添加新的特征 71429.6.1 重复列表框数据项和选择一个 数据项 71429.6.2 添加一个选项来选择所有国家 或产品 71529.7 向ADP转移时处理Jet专有函数 71829.8 疑难解答 71929.9 现实世界—Access组合框和列表框 720第30章 使用ADO记录集、窗体和控件 72130.1 利用VBA操纵记录集 72130.1.1 生成临时记录集 72130.1.2 应用Move方法 72330.1.3 在循环中使用EOF和BOF 72330.1.4 使用AbsolutePosition属性 72430.2 使用Find方法和书签 72430.3 修改记录集的记录 72630.3.1 编辑和增加记录 72630.3.2 删除记录 72630.4 由记录集填充组合框 72730.4.1 创建frmCombo2并改变组合框设计 72730.4.2 用代码填充组合框 72830.5 改变组合框列表的排序 72930.6 由记录集对象填充列表框 73130.7 格式化值列表组合框的列 73330.8 将frmComboVBA导出到一个Access 数据项目 73630.9 疑难解答 73730.10 现实世界—适应ADO 737第31章 Access 9x应用向Access 2000的 转换 73831.1 理解.mdb文件升级过程 73831.2 把不安全文件从Access 9x转换到 Access 2000 73831.2.1 在Access 2000中第一次打开 文件时升级 73831.2.2 在Access 2000中打开文件后升级 74031.3 转换安全的Access 9x文件 74131.3.1 在一个混合的Access 9x和Access 2000环境中进行升级 74131.3.2 升级后台数据库和工作组文件 74131.4 将Access 2.0应用文件.mdb升级为 Access 2000 74131.4.1 Win16函数调用转换为Win32函 数调用 74231.4.2 表上的32个索引限制 74331.4.3 将16位OLE控件转换为32位ActiveX 控件 74431.5 疑难解答 74431.6 现实世界—升级的诱惑 744

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值