对于我正在进行的帮助人们学习西班牙语的项目,我想创建一个独立的服务来处理有关单词的数据的检索。为此,我从维基词典中捕获并编纂了几千个单词的数据。目前,这是JSON格式的,但我打算将其放入PostgreSQL db中。我正在寻找开发数据库模式的建议。
每个单词都有特定的属性,这是我从维基词典中捕捉到的:
stringpart of speechmeaninglemma (有点像这个词的“普通”版本 )此外,有一些属性是独特的某些部分的词性。具体来说,动词有person,mood和tense,形容词和名词有gender和number。
示例:hacía
string: hacíapart of speech: verbmeaning: to dolemma: hacerperson: 1stmood: indicativetense: imperfect我打算使服务的API能够做到以下几点:
hacía, verb => imperfect indicative first person of hacer and imperfect indicative third person of hacer, along with the properties of each of those two wordsunique id of hacía => every possible form of hacer, along with their properties.unique id of hacía, indicative, present, first person => hago考虑到这些预期用途和底层数据,您建议我如何组织数据库?如果有的话,还有哪些其他考虑因素是相关的?
更具体地说,这个数据库是否应该由一个表组成,并在其中列出以下所有属性?或者,它应该是两个表:一个包含所有单词的表和一个包含所有引理的单独的表,这个表与之相连?还是,我还没有想到第三种选择呢?
发布于 2019-09-02 21:55:51
分析你的发言:
part of speech的作用类似于一种类型:该词可能具有附加属性,这取决于同一表中的part of speech ->附加属性的值(可以使用还是不使用)?或附加现在,关于潜在诱因的头脑风暴:
Word表part of speech定义了word的特殊性。因此,如果不同的part of speech是平面结构,或者形成层次结构,则可以进一步分析。part of speech用自己的属性定义专门化这一事实提出了这样一个问题: word的其他核心属性是否也需要额外的属性。但乍一看不是..。Words中可能有重复的词条,每个词条都有不同的含义。=>不同的含义会影响其他属性吗?Words中可能有重复的条目,每个条目具有不同的part of speech。=>,这是否意味着单词应该分为词汇部分(即唯一的id和字符串)以及语法和语义部分?这些都是诱惑力:仅仅是根据最初的发现而产生的想法。下一步是评估这些问题,看看它们是否有效,如何解决,以及利弊。
那你就可以设计。对我来说,直觉上,我会很快地将我的选择限制在类继承表上(带有id和string的词汇形式;带有部分词性和剩余核心属性的语法形式;用于不同part of speech的附加表)和实体字段值方法(更灵活,但更昂贵)。请您反复检查这两种方法如何满足不同的查询需求。
https://softwareengineering.stackexchange.com/questions/396809
复制相似问题