第七章主题数据库.docx
- 文档编号:23259876
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:45
- 大小:392.80KB
第七章主题数据库.docx
《第七章主题数据库.docx》由会员分享,可在线阅读,更多相关《第七章主题数据库.docx(45页珍藏版)》请在冰豆网上搜索。
第七章主题数据库
第七章:
主题数据库
第一节 引言
当一些互不联系的系统分析设计员在分散独立地开发应用系统时,一种潜在问题也在同时产生。
这种问题随着小型和微型计算机无控制地扩散应用而日趋严重。
例如,相同的数据元素,被不同的开发小组生成多次,而且具有不同的结构,这样,应该相互协调的数据就不能相互协调,不同应用部门之间的数据传送也很难进行。
企业中的大多数数据都需要作统一的管理,相同的数据常常应该被多个用户共享,不同的用户可以将这些数据用于不同的目的。
只有通过规划与协调组织起来的数据,才能有效地为多个用户服务,见图7.1。
图7.1 数据库操作
数据库是为满足多种类型最终用户的需要而设计,并为他们所共享的一些相互关联的数据的集合,从中能够得出许多不同的最终用户数据视图。
数据在数据库中的存放方式,使得它们独立于使用数据的程序。
增加新的数据,修改已有的数据和检索库内的数据,都得到了严格地控制。
数据检索可以由多个用户以不同的方式,在适当的保密控制下进行。
数据的结构也便于为将来的应用开发提供基础。
主题数据库(SubjectDatabase)与企业管理中要解决的主要问题相关联,而不是与通常的计算机应用项目相关联。
企业计算机化中的数据库建设,主要指这种数据库的规划、设计、实施与操作。
本章将详细讨论有关这种数据库的意义和规划的理论与实践。
第二节 数据库与文件
1.为什么要使用数据库
数据库的重要性体现在两个完全不同的方面。
首先,它有助于保证尽可能有效地使用数据。
数据是企业极有价值的资源。
它们需要具有准确性、一致性和安全控制;它们必须能被任何需要使用它们的人员或过程所得到和使用。
但是,如果存在着多个不一致的数据副本,互不相容的表达方式和混乱的组织方法,它们也很容易变得一团糟,使得管理人员或处理过程需要的时候,不能获得有价值的信息。
其次,数据库有助于提高应用开发效率。
提高应用开发效率的关键是应用软件所需的数据结构已经存在,并被记录在软件可以利用的数据字典里。
应用开发人员不必再设计数据或其结构。
数据字典是许多报表生成软件、查询语言和应用生成软件的基础?
quot;一体化的数据字典"(IntegratedDataDictionary)是一些软件供应商用来描述这种作用的一个术语。
这种字典除了描述数据之外,还包含报表的标题、数据的替换名称(别名)、报表格式和可以打印在报表上方的字段名称等等。
如果一位用户要求将两个字段相加,即便一个是二进制,另一个是十进制,也不碍事,数据字典会指出它们的格式,并使其在相加之前被转换成相容的格式。
数据库软件能为输入数据的用户给出提示,并在输入时对数据进行完整性检查。
这些检查可以在数据字典中定义,适当的检查路径能够自动地生成。
在一些系统中,处理逻辑与数据库相互关联,而不是与独立的应用相互关联。
根据这些逻辑,使数据库中数据发生变化的事件能够自动运行一些过程。
这些引发机制和所运行的过程在与数据库相关联的软件中定义,而不是在与用户相关联的软件中定义。
带有这种逻辑的数据库称为智能数据库,没有这种逻辑的数据库被称为哑数据库。
我们可以象区分智能终端与哑终端那样区分智能数据库与哑数据库。
2.文件系统及其问题
将文件系统与数据库系统区分开是很重要的。
有很多数据处理采用文件系统而不是数据库,但文件环境有许多问题。
图7.2描绘的是一个文件环境,其中有许多数据文件,有些存储在磁带上,另一些存放在磁盘之类的快速存储媒体上。
记录所包含的数据项如图7.2中的圆圈所示。
当编写的一个新的应用程序或者修改一个老的应用程序时,或许某一个文件中便含有该程序所需要的全部数据项,但更常发生的情况是,不存在这样的一系列数据,因而不得不建立一个新文件。
图7.2 一个文件环境
假定一个新用户需要一个含有数据项A,F,和H的文件。
在图7.2中现有的文件中,它们都不在一起。
因此必须对其它文件进行排序和合并,以建立新的文件,但是如果现有的文件不具备所需要的一系列关键字,这种排序和合并也不是件简单的事情,对每一个A和F数据项,不一定总有一个H相对应。
像图7.2中那样把数据组织在文件中,存在着三个问题。
要理解这些总是读者要想象存在着几百个或几千个文件,而不是图7.2中那样只有七个。
首先,数据冗余量大。
同一类型的数据项存放在许多不同的地方,相同数据项的不同版本可能处于不同的更新阶段上。
换句话说,它们具有不同的值。
这可能会使用户看到一些不一致的情况。
例如,一位经理收到一份报表上表明的是一种状况,而终端上查询得出的又是另一种不同的结果。
这说明当相同数据项存在着多个副本时,很难维持数据的一致性或保证其完整性。
其次,文件系统不灵活。
需要多个文件或结构不同的文件中的数据项的信息,不能迅速得到满足。
许多使用一般查询语言的用户,随机查询不能得到回答。
尽管数据已经存在,有关这些数据的信息就是不能获得。
数据结构不改变,就不能以新的方式进行处理。
人们有时会从管理人员那里听到这样的报怨:
"我们为那个计算机系统花了几百万,却不能从中得到我们想要的信息。
"
第三,对文件系统进行修改的代价很高。
假定对图7.2中的应用程序3进行修改,要求包含E和H的记录也作修改。
麻烦的是应用程序4也使用相同的记录,结果,程序4也不得不修改,许多其它程序或许也使用该记录(见图7.3),结果也都必须加以修改。
图7.3 一个文件渐渐被多项应用使用
在文件环境中,一个看起来微小的变动,往往会引起一连串修改的连锁反应。
这种大改动的代价昂贵,有些修改也很难进行,因为文档资料不全。
随着时间的推移,所要开发的程序将越来越多,这种问题也将变得越来越严重。
计算机化的数据与企业中文件柜内的内容一样,也是不稳定的。
所存储的数据细节和它们被使用的方式都在不断地变化。
如果某个计算机系统企图在一个企业强行使用不变的文件结构,那么,其结果必定是大多数编程工作都陷于修改现有程序,而不是开发新的应用。
图7.4表明了某企业编程开支的变化趋势:
程序编制总成本增高,成为数据处理总预算中一个较大的部分,但是,用于开发新应用的人-时数却在逐步下降。
原因是用于维护或修改现有程序的工作越来越多。
系统分析员和数据处理管理人员们常常想,别去管那些工作正常的现有程序。
但是在现实中,现有程序所产生或使用的数据,与别的应用中所需要的形式几乎总是有一点差别。
有时需要增加新的数据项,有时需要由几个现有记录中的数据项构成新的记录类型,有时数据要以不同的方式建立索引,有时数据的物理格式需要改进,有时不同应用的数据文件要被合并,等等。
图7.4 某企业的程序维护和转换费用的增加趋势
文件系统除了上述的一些主要问题之外,常见的典型问题还有一些。
下面列出了文件系统最常见的一些问题:
·维护工作量占用很多数据处理专业人员;
·新系统开发速度慢、成本高;
·不能迅速作出必要的变动;
·不能提供临时需要的管理信息;
·不同应用项目中相同的数据项定义不一致;
·文件数目不断增加;
·重复数据的值不一致的情况越来越多;
·应用程序的数量越多,数据变动时程序转换问题就越严重,因而也就越不愿意为最终用户进行这种变动;
·难以维护和控制数据;
·带来冗余数据存储的成本;
·带来数据重复输入的成本;
·缺乏对数据资源的全面管理。
为了克服文件系统的上述问题,数据库系统的目标之一是,数据能够以新的方式被使用,而不致引起一连串对其它程序作困难的修改。
此外,还可以对某个程序和它所使用的数据进行修改,而不至于影响使用相同数据的其它程序。
数据库管理系统是方便地向程序员或最终用户提供他们所要求的数据的软件系统。
它能象魔术师从帽子里抽出不同颜色的手帕那样,从它的数据储存中取出其用户所需要的记录。
它能找出含有被检索的数据的物理记录,能够确定这些记录的位置,并能从其中得出所需要的逻辑记录。
数据库是为了使数据独立于使用数据的程序的数据存储。
有了数据库,数据描述便不再包含在应用程序中。
改变数据就不一定也要改变程序,改变程序也不一定要数据跟着变。
数据易于重新组织或添加内容。
当数据结构、数据格式或物理存储媒体发生变化时,老的应用程序不必重新编写。
数据要成为企业的用途资源,具备这种独立性是必不可少的。
3.数据库环境的原则
采用数据库技术不仅仅是软件的改变,也是管理方式的改变。
管理数据库环境应该遵循以下原则:
·公司中的数据应该得到直接的管理,应与使用数据的职能分离;
·数据描述不应由使用数据的程序包含,而应由独立的数据管理员来设计;
·数据应该被当作独立于现有机器与系统的、基本的和至关重要的资源来对待;
·整个公司中必须使用统一的工具和设施来管理数据;
·用户部门应该能在适当的安全和保密控制下,直接从数据库中取得报表和有关应用项目所需要的数据;
·开始采用数据库技术时,数据处理部门所使用的方法也要改变;
·高层管理人员要参与数据库方面的总体规划与决策。
在管理良好的数据库环境中,人们认识到数据与资金、人员、工厂和设备一样,也是企业的一种资源,也非常重要,完全值得高层管理人员的特别关注。
它象其它资源一样,也必须:
1)进行规划;
2)确定统一的管理方法;
3)获取;
4)维护;
5)放在需要的场所;
6)无用时加以处理;
7)保护;
8)存储和了解变化时的影响;
9)记录使用情况。
所有的计算机系统都能做到3)、4)和6);部分能做到7),但往往不够好;许多系统5)都做得很差,不能在用户需要时提供所需要的数据;许多系统,包括规模很大的系统都不进行任何正式的1)、2)和8)。
在管理良好的数据库环境中,尽管使用和看待数据的方式在迅速地变化,数据结构本身却相对比较稳定。
4.数据开发方法对数据的影响
传统的数据分析方法主要注意事务流和要完成的职能。
数据被当作系统整体的一个部分来处理,常常只是分析过程所设计的一个副产品。
某些关于结构化分析的教课书中也声称:
"定义了数据流,也就基本上定义了文件,所需要做的只是添加一些与具体组织有关的信息。
例如:
按照日期进行排序。
"在现有的数据库基础上开发应用项目,与这种做法几乎恰恰相反。
在后一种方法中,系统开发人员要描述稳定的数据库中数据的内在性质,而这个数据库是独立于所要编程的职能或数据流的。
以下我们对面向过程的系统分析方法和面向数据的系统方法进行一个比较。
面向过程的方法主要考虑处理过程和数据流。
在有关的文档资料中,处理过程和数据流居主要地位,而文件和数据库被当作重要的但却不是主要的组成部分来对待。
面向数据的方法将数据作为一种独立的资源来对待。
数据是支持所有应用项目的基石。
处理过程也是重要的,但是它们必须存取数据库中的数据。
系统分析中必须有一部分工作,决定数据库中应当包含哪些数据,这项工作有时被称为数据分析。
我们可以将数据处理的全过程看作是对数据的一系列的变换。
如果我们给系统或组织在任意时刻拍一张快照,那么这一张快照将只显示一种数据结构。
从技术上说,一个处理过程是对数据的一系列变换中的一个,这些变换包括以存储空间中的数据和输入和输出数据的变换。
从长远的观点看,把独立设计的数据与包含在许许多多的过程之中的做法相比,设计一个稳定的,文档资料齐全的,并且大体上没有冗余的数据结构,是一种更加简单明了的数据处理形式。
把完整性检查和决策表之类的逻辑,直接与数据结构联系起来,使得许多过程共有这些逻辑,可以达到总体处理工作进一步简化。
面向数据的方法具有以下的优点:
·它可以避免文件数目过多、维护工作量大、数据冗余和前面所谈到的数据冲突等问题;
·良好的数据库建成之后,某些类型的应用项目可以用高级数据库语言迅速地加以开发;
·最终用户能够对数据库直接进行存取,可以建立他们自己的报表处理和应用项目。
因此,常常可以免去正式系统分析所需要的各种拖沓缓慢的手续,以及等候数据处理部门行动所需的时间。
面向数据的方法具有以下值得注意的问题:
数据库必须设计良好。
尽管这件工作本身并不很困难,但是良好的数据库设计技术常常不能被很好地理解。
面向数据的方法意味着数据的共享,这样做所需要的管理方式与数据文件所需要的管理方式有所不同。
从传统的面向过程的方法向面向数据的方法转换时,通常会遇到一些过渡问题。
由于一些用户失去了他们先前所"拥有的"数据的控制权,因而产生了一些思想和行为阻力。
开始时,面向数据的方法常常更加难以管理,其主要原因是人们希望采取快速的方法解决应用问题的压力,或者受到希望维持现状的压力。
但是,一旦这种方法被人们所接受,面向数据的方法比需要设计大量文件的面向过程的方法更加便于管理。
使数据与过程严格分开的面向数据的方法如果做得好,从长期的观点上看,无疑是最理想的。
但是采用这种方法必须有高层管理人员的坚定支持,他们必须了解采用这种方法所能实现的目的。
设计的低劣,管理的松散,目标的不明确,或者管理人员的动摇不定,常常会使面向数据的方法遭到失败。
第三节 四类数据环境
目前,存在着四类计算机的数据环境,将它们清晰地区分开来是很重要的。
这些数据环境对企业中各层次上的管理,包括最高领导,都有重要影响。
一个高效率的企业应该拥有第三类和第四类数据环境的坚实基础,而这种基础的获得和成功,只有在最高领导的支持下才有可能,后面我们将看到这一点。
1.文件系统
第一类数据环境是文件系统环境。
每一项应用都设计有各自的文件,这常常是结构化分析的直接结果,数据包含于功能之中。
在这类数据环境中,没有使用数据库管理系统,文件是在应用开发时由分析员或程序员设计的。
这类环境软件的例子有VSAM,BDAM和RMS。
它的特点是简单和相对比较容易实现,其问题在前面已经作过讨论。
2.应用数据库
第二类数据环境称为应用数据库。
在这种环境中,采用了数据库管理系统,但数据的共享程度不如第三类环境高。
不同的应用系统拥有自己的数据库。
第二类环境的软件例子有TOTAL、IMS、IDMS、IDS和ADABAS。
这类环境具有如下特点:
比第三类环境容易实现,因为避免了在各个应用之间进行数据综合的管理问题;但数据库数目的大量增加会象文件系统那样导致大量冗余;维护成本仍旧很高。
这种数据环境,产生于面向过程的分析方法,而不是信息工程。
有时候代价比第一类环境还要高。
不能获得数据库操作的主要好处。
系统分析员们倾向于为每一个新的应用建立一个独立的数据库,就象在文件系统中那样。
尽管因为使用了数据库管理系统,所以有一定程度的数据独立性,但是由于文件系统的大多数问题仍然存在,重复的数据仍会增加。
在第二类环境中,数据库管理系统被当作一种文件存取工具,而不是真正的数据库系统使用。
尽管数据库管理系统的目的就是减少维护工作和灵活地获取所需要的信息,但是面向应用的数据库系统常常不能实现这些目的。
在数据处理界经常可以听到这样的事:
管理部门急需信息,有关的数据就存放在磁盘上,也使用了数据库管理系统,但是数据处理部门却必须进行许多重新编程的工作才能够获得所需的信息。
在一家化学公司,人们发现某此雇员生了一种奇怪的病。
后来人们怀疑这种病是由于早期接触某种有毒化学物品引起的。
因此,必须马上列出公司中所有曾经接触过这种化学物品的雇员名单,尽管所有必要的数据都存在,也使用了数据库管理系统,但是数据处理部门过了很长时间就是提供不出一份完整的名单。
一家大银行的最高管理者们提出了一系列紧急的信息要求,急需得到解答,因为另一家银行(竞争对手)破产了。
导致对手破产的因素是否也会使这家银行破产?
数据也是联机存储着,但是不进行重大的数据结构变动和编程,就没法满足所提出的信息要求,而要做那些工作,则需要很长的时间。
数据库和数据通讯技术应该给数据处理带来根本性的变化。
如果使用恰当,数据库系统能使所有用户得到所有的数据,他们能够利用这些数据的价值。
但是,这需要进行大量的计划和控制。
组织的规模一直在扩大,数据资源也已经渗透到组织的许多职能方面。
同一个数据在不同的职能部门中具有不同的版本。
要使许多分散的和不同版本的数据反映最新的情况,一种数据版本发生的变化必须被通知给其它需要知道这一变化的职能区域。
对数据进行必要的合并以及有效地利用企业数据库,要求能够理解不同职能部门中不同版本的数据的意义和用途。
数据库的复杂性和它对计算机知识的要求导致了数据管理员这一职位的产生。
鉴别和合并组织中不同版本的重复数据的任务一般由他来承担。
数据被确定之后,就被按一定的结构组织起来,以便于用数据库管理系统的软件工具进行实施和管理。
这些软件工具本身并不能鉴别重复冗余的数据,仅仅靠这些软件本身是不能给现实数据中的混乱带来秩序的。
3.主题数据库
第三类数据环境是主题数据库,或称集约化的数据库环境。
当一系列这类数据库建成之后,它们就能够成为我们前面所讨论的数据资源,即独立于具体应用的数据。
使用数据的各种职能会随着时间的推移不断发生变化,但数据类型本身的变化却并不经常发生。
因此,将数据与使用数据的职能分开是有意义的。
在第三类数据环境中,数据结构和存储方式都独立于作用数据的各种职能。
数据按照客户、产品、人员等业务科类,相互联系地存放在可以由众多用户共享的数据库之中。
属于第三类数据环境的软件有:
IMS、IDMS、IDS、ADBAS、和SYSTEM2000等。
第三类数据环境具有以下特点:
它需要进行全面的数据分析和数据模型建立工作,因而实施所需时间较长,但维护成本很低。
经过一段时间之后,可以大大加快应用项目的开发速度和加强用户与数据库的直接交往。
它还要求改变企业的全面数据处理管理方式和传统的系统分析方法,并注意以下的问题:
1)应用数据库与主题数据库的比较
当我们回顾若干年来数据库的发展历史时,我们会发现,应用数据库和主题数据库是两种不同的方法。
现在情况已经很清楚,从长期的观点看,主题数据库的效果要比应用数据库好。
主题数据库与组织中的各类人、事、物相关性,而不是与传统的计算机应用项目相关。
例如,我们应当建立产品数据库,而不是建立与产品有关的独立的库存数据库、订货输入数据库和质量控制数据库,这样,许多应用项目就可以使用同一个数据库,而与那个数据库相关的新应用项目的开发,也将变得比较容易。
用主题数据库来代替应用数据库,最终所建立的数据库的数目要少得多。
企业可以有许许多多的应用项目,但是,它不可能有相同数目的业务科类。
如果为每一个具体的应用项目设计一系列文件,那么文件数目增长的速度将与应用项目的数目增长得一样快。
结果,会产生大量冗余数据。
这种情形今天可以在典型的磁带和磁盘库中发现。
面向应用的数据库的数目,也可能迅速地增长。
但是如果采用主题数据库,应用项目的数目增加的速度要比数据库的数目快得多。
有时候也把主题数据库称为集约化的数据库。
这就是说,整个组织中的数据,都是集约化的和共享的。
但是,不能将集约化理解为产生一个非常庞大复杂的无所不包的数据库。
主题数据库的方法,正是为了避免这样庞大复杂的数据库,而设计成为更容易管理的若干个主题数据库。
它们被设计得独立于具体的应用,形成了一个稳定的数据基础,从而使得许多应用项目,可以在此基础上建造起来。
2)非集约化倾向
许多组织已经开始建立第三类数据环境,但是遇到了一些问题。
往往在开发一个新的应用项目时,由于某种原因,又为这个新的应用项目设计了一个新的数据库,而不是使用已经存在的主题数据库。
建立应用数据库比建立主题数据库所需要进行的总体设计工作和组织管理工作少得多。
但是,随着时间的推移,这样做的组织中将会建立许多独立的数据库,其数目与过去的文件数目也不相上下。
结果,它们没有充分利用数据库的优越性。
在这样的组织中,数据库管理系统的应用没有能够减少程序维护成本,而这一点是应该能够做到的。
建立第三类数据环境的努力,经常由于过于分散,而建成了第二类数据环境。
其中原因可能是因为管理不善或者主题数据库设计得太差。
也有的时候是因为最终用户或者系统分析员喜欢建立他们自己的数据库,其原因可能是自尊心或者行政因素,也可能是因为他们自己的数据库比较容易建立。
另外,管理部门的措施不够坚强有力,不能贯彻执行第三类数据环境的原则,或者管理部门不理解第三类数据环境和它的重要意义等也是可能的原因。
后果有时是很严重的,数据管理员的出色工作被弃之不用,因为管理部门不能顶住来自各方面的压力,结果失去了数据库操作中最主要的长期效果。
有的时候,系统分析员需要一些按照新的方式组织起来的数据,但这样的数据却不能从现有的数据库中获得,结果就建立了一个新的数据库。
这种情况一而再,再而三地发生,结果导致数据库的数量大量增加。
这种现象的原因,通常是最初的数据库设计就不是最好的,或者没有很好地遵循本书后面将要讨论的信息分析、建立数据模型和稳定性分析中的原则。
管理部门应该理解第二类数据环境和第三类数据环境之间的区别,理解第三类数据环境的设计和管理方法,以防止它们由于过于分散而变成第二类数据环境,有时甚至变成更差的第一类数据环境,这一点是极端重要的。
在一开始就理解这一点,而不是在很晚的时候才开始理解,这也是很重要的。
4.信息检索系统
随着数据库技术的推广,人们研制了许多优秀的查询语言。
这些查询语言越来越灵活,功能越来越齐全,它们能够生成报表和数据的图形表示,能以代数或逻辑运算来处理数据,甚至能产生整个应用软件。
其中一些有很友好的用户接口,有的是非过程化的。
它们能使用户不必依靠程序员,自己就能开发应用项目。
这种用户掌握的计算机化,正在以不同的形式波及许多组织。
要很好地利用这些查询语言,需要更好的数据系统。
在这样的数据系统中,数据的存取方式比传统的数据库管理系统更加灵活。
我们看到关系数据系统正在迅速发展,其中有一些就是能专门用于支持新的查询语言和能够搜索大量数据的信息检索系统。
在某些使用信息的场合,用户希望有大量广泛的数据存储,以便于取用;在另一些场合,他们则希望能够对数据自由进行排序、合并和终端上用简单的语言来搜索他们自己的逻辑文件,或者用这些语言分析数据,提出"如果……会……?
"之类的问题,从而一般地利用数据来辅助决策。
要支持这种语言和对数据的这种使用,数据必须加以组织,以便能够相当迅速地找到数据和进行存取。
对数据组织的这些要求,给数据库设计带来许多复杂因素。
数据的组织结构问题可能会非常复杂,因此有时候设计人员宁愿采用若干独立的,但却含有大量相同信息的多个数据库。
数据库中的字段常被结合成组,称为记录或片段,一个读指令往往将一个这样的记录或片段读进计算机的主存。
有许多数据库查询只涉及一个记录,例如:
"显示第29986号采购订单";或者只涉及少量的记录,例如,"显示10月5日发出的采购订单";但也有一些查询要求搜寻整个数据库,例如,"显示距离海岸200海里以内的,携带射程在20英里以上水雷的所有美国舰艇。
"
需要进行搜索的查询所占用的机器时间,相对来说长得多。
如果这类查询过多,会占用过多的机器时间,减慢系统的主要工作,甚至使系统的响应时间慢得叫人受不了。
有些功能强大的数据库,常常会使用户在不知不觉中进行开销很大的数据库搜索操作。
有些数据库软件具有特殊的设计,使得搜索数据库的操作效率很高,能非常迅速地同时处理多个不同类型的查询。
这种软件利用一些适于这类操作的数据结构,例如,倒排文件、倒排表或效率很高的多重辅助索引。
还有些时候,专用硬件被用来加快数据搜索。
我们把上述情况称为第四类环境--一种被设计得便于一般信息检索和灵活数据搜索的系统,即信息检索系统。
信息检索系统常常与产生日常报表和进行日常处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 主题 数据库