python在结构设计中的应用_为层次结构设计更好的数据库?
我已经创建了一个双语词典应用程序1,它目前非常简单,但我们将开始更全面地开发词条,我正试图找出最好的数据库结构。我以前参与过的字典项目都使用了xml(因为字典条目很大程度上是分层的),但是我需要使用数据库来完成
这是一个典型的中等复杂度条目的外观(简化了一点):dar
/dār/名词
住宅、住宅、住所
“那人进了房子。”
主页
“我们回家了。”
动词
转身
李亚民,“右转。”
转身
正如你所见,一个词可以有多个词性,所以“词性”不能简单地作为词条的属性,它必须与词义相关。每个词组可以有多个词义(编号),当然每个词义可以有多个近义词翻译。感官也可能有例句(可能不止一个),但并不总是这样。考虑到条目部分是如何相互关联的,我想出了以下结构,使用了五个表:Entry
-id
-headword
-pronunciation
-...
PartOfSpeech
-id
-entry (ForeignKey)
-pos
Sense
-id
-sense_number
-part_of_speech (ForeignKey)
-...
Translation
-id
-tr
-sense (ForeignKey)
-...
Example
-id
-ex
-ex_tr
-sense (ForeignKey)
-...
或者,换句话说:
^{pr2}$
这看起来很简单,对我来说很有意义,但我想知道在执行过程中是否会太复杂。例如,要显示一组条目,我需要编写几个嵌套的for循环(for e in entries → for p in pos → for s in senses → for tr in translations),而且都是反向查找!在
我甚至不认为我可以在Django管理中编辑整个条目(除非它允许您以某种方式对内联的内联进行内联)。不管怎样,我都要构建一个编辑器界面,但是当你想的时候,能够在管理站点上检查东西是很好的。在
有更好的方法吗?我觉得我错过了一些聪明的东西。在
谢谢,
凯伦
1如果你好奇的话:tunisiandictionary.org。在其简单的当前形式中,它只有两个表(Entry,Sense),翻译只是用逗号在一个字段中描述。这很糟糕。
2有两个原因:1)因为它是我用Python/Django编写的web应用程序;2)因为我讨厌xml。
python在结构设计中的应用_为层次结构设计更好的数据库?相关推荐
- python删除字符串中重复字符_从Python中删除字符串标点符号的最佳方法
似乎有一个比以下更简单的方法: 1 2 3import string s ="string. With. Punctuation?" # Sample string out = s ...
- python 替换array中的值_利用Python提取视频中的字幕(文字识别)
我的CSDN博客id:qq_39783601,昵称是糖潮丽子~辣丽 从今天开始我会陆续将数据分析师相关的知识点分享在这里,包括Python.机器学习.数据库等等. 今天来分享一个Python小项目! ...
- python在工作中怎么用_如何用python在工作中“偷懒”
原标题:如何用python在工作中"偷懒" "偷懒还能干完活,才是本事 " 有些朋友在工作中会有这样的困惑:明明我从早忙到晚,为什么得到的评价还不高? 要知道, ...
- python操作mysql中的表_带你了解什么是Python操作MySQL数据库
写这篇文章主要是为了介绍Python操作MySQL数据库,并结合相应的实例带你更加深入了解.文中的代码实例很详细,对大家有一定的参考学习价值. 1.什么是pymysql? PyMySQL是在Pytho ...
- python统计句子中单词个数_【python统计单词数量】作文写作问答 - 归教作文网
如何用python统计一个txt文件中某个单词出现的次数 1.首先,定义一个变量,保存要统计的英文文章. 2.接着,定义两个数组,保存文章中的单词,以及各单词的词频. 3.从文章中分割出所有的单词,保 ...
- 在python的解释器中使用函数_浅析Windows 嵌入python解释器的过程
这次主要记录在windows下嵌入 python 解释器的过程,程序没有多少,主要是头文件与库文件的提取. 程序平台:windows10 64 bit. Qt 5.5.1 MSVC 2013 32 ...
- python导入模块中的对象_详解Python项目开发时自定义模块中对象的导入和使用
背景:1)任何一个Python程序文件既可以直接执行,也可以作为模块导入再使用其中的对象:2)对于大型系统开发,一般不会把所有代码放到单个文件中,而是根据功能将其分类并分散多个模块中,在编写小型项目时 ...
- python提取cad中的文字_[python]提取PPT中的文字(包括图片中的文字)
python是一门很强大的语言,因为有着丰富的第三方库,所以可以说Python是无所不能的. 很多人都知道,Python可以操作Excel,PDF·还有PPT,这篇文章就围绕Python提取PPT中的 ...
- python删除字符串中重复字符_删除字符串中重复字符python 用CAD怎么画DNA反向
用CAD怎么画DNA反向平行双螺旋结构绘螺旋线时,用选扭曲,确定顺时针. 画双头螺旋线时,第二根螺旋线底圆起点与第一根螺旋线底圆起点,可用角度分隔如180°.python去除文本中重复的字符串可有可无 ...
最新文章
- 微软摊开 AI 高分作业,在线求抄
- 文巾解题 344 反转字符串
- algorithm头文件下的常用函数--习题
- @Html.ValidationSummary()的使用
- Request的getHeader()和getParameter()的区别
- SQL优化:你真的知道国家字符集的性能影响吗?
- 【转】当你伤心时一定要读的50句话
- 汇编语言王爽第四版 实验四(包括对【bx】,loop详解)
- Spring整合activityMq
- 计算机网络自顶向下WireShark实验:IP
- 谷歌学术高级搜索技巧
- Java工程师待遇怎么样?
- layui 加载loding图标
- 低功耗广域网络和ISM频段:物联网的里程碑还是公地悲剧?
- 坦克世界未能连接至更新服务器,坦克世界连接到更新服务器失败,小猪教您怎么解决坦克世界连接到更新服务器...
- 2018新版个税计算器---Python实现
- 服务网关 Zuul基本使用
- 详细介绍@GetMapping和@PostMapping的区别
- 《马克思主义基本原理》复习重点
- 勤哲web配置教程_勤哲Excel服务器技术支持|Excel服务器常见问题解答