我在找的是表名和相应的字段/类型的细分。在SQL中存储圣经的最佳方式是什么?
圣经我想存储将是英语,并且需要支持以下内容:
- 书籍
- 章
- 节的标题(可节内和之间的诗句出现)
- 小型大写字母文本
- 红字文本
- 诗数字
- 脚注(可节内和章节标题中显示出来)(可任选引用另一首诗)
- 交叉引用(本质上是一个脚注只引用另一首诗,不添加任何评论)
- 别的我”中号遗忘
我在找的是表名和相应的字段/类型的细分。在SQL中存储圣经的最佳方式是什么?
圣经我想存储将是英语,并且需要支持以下内容:
而不是重新发明轮子,你可能会考虑使用“圣经SDK”,如AV Bible,存储文本,格式,诗句号码等在一个开放的,定制的二进制格式。
我认为他们有你所列出除交叉引用的一切。
我该如何在网上使用这样的东西?我需要用服务器端语言创建自己的类,以便能够查询这样的二进制文件吗?或者应该为网络使用某种不同的解决方案? – 2011-01-14 05:17:27
马克Rushakoff的答案很可能是最适合你的特定需求。但更普遍的是,如果需要存储在内容中有数据的内容,或者如果您需要存储有关内容的数据,则通常使用Content Management System。你可以建立自己的(WernerCD的答案有一个表结构)或使用CMS product。这里的列表显示了使用的各种技术(本列表中大约30个使用MySQL)
一切WernerCD的答案,但存储verseText为XML,所以你可以添加格式化标签,如<red>e.g. Red Text</red>
,并使用标签格式化在您的应用
这里是另一个集合/例子给你:
https://github.com/scrollmapper/bible_databases
在这里你会看到SQL,XML,CSV和JSON。特别值得一提的是交叉引用表(相当广泛和令人惊叹)以及一个用于快速查询的简单诗歌系统。
编辑:请注意表的ID是书章,节的组合,始终是唯一的。
我还发现http://www.lyricue.org/downloads/包括在MySQL格式几个圣经翻译。
SQL是存储该届最佳途径。考虑到您的要求,我们可以将它们分成两个主要部分
信息这依赖于个别版本
的信息,是不是取决于个人版本
对于我喜欢各种原因将整个圣经项目存储到一个SINGLE表中,可以称之为bible
对于你的视觉,这里是我的屏幕,我已经将近15个圣经版本存储在单个表格中。幸运的是,不同的版本名称只是列宽。所以当你将来添加更多的版本时,你的表格会水平增长,因此行数保持不变(31102)。另外,我会要求你认识到保留('Book,Chapter,Verse')组合作为PRIMARY键的便利性,因为在大多数情况下这是查找方式。
,这里说的是我推荐的表结构。
CREATE TABLE IF NOT EXISTS `bible` (
`id` int(11) NOT NULL AUTO_INCREMENT, --Global unique number or verse
`book` varchar(25) NOT NULL, --Book, chapter, verse is the combined primary key
`chapter` int(11) NOT NULL,
`verse` int(11) NOT NULL,
`section_title` varchar(250) NOT NULL, -- Section title, A section starts from this verse and spans across following verses until it finds a non-empty next section_title
`foot_note` varchar(1000) NOT NULL, -- Store foot notes here
`cross_reference` int(11) NOT NULL, -- Integer/Array of integers, Just store `id`s of related verses
`commentary` text NOT NULL, -- Commentary, Keep adding more columns based on commentaries by difference authors
`AMP` text NOT NULL, -- Keep, keep, keep adding columns and good luck with future expansion
`ASV` text NOT NULL,
`BENG` text NOT NULL,
`CEV` text NOT NULL,
PRIMARY KEY (`book`,`chapter`,`verse`),
KEY `id` (`id`)
)
哦,那么小帽和红色字母呢?
那么,小型大写字母&您可以使用HTML或适当格式在版本列中存储红色字母。在界面中,您可以根据用户的选择将其剥离,无论他需要红色字母还是小写字母。
仅供参考,你可以从下面下载SQL后,在你的方式
这个库包含整本圣经中的SQL给出定义。
SQL不是最好的办法。 – 2011-01-14 04:04:35
听起来更像你需要一个体面的文字处理器或桌面出版系统。 – 2011-01-14 04:07:55
什么是最好的方式来做网页呢? – 2011-01-14 04:12:04