2011-01-14 4 views
18

Что я ищу, это разбивка имен таблиц с соответствующими полями/типами.Каков наилучший способ хранения Библии в SQL?

библия Я хочу хранить будет на английском языке и должна поддерживать следующее:

  • Книги
  • глав
  • Названия разделов (может проявляться в стихах и в промежутках между стихами)
  • SmallCaps Текст
  • Красный Текст письма
  • Стих Числа
  • Сноски (может проявляться в стихах и в названиях разделов) (необязательно может ссылаться на другой стих)
  • Перекрестные ссылки (в основном сноска, что только ссылается на другой стих и не добавляет комментарий)
  • Все остальное я м забывая
+3

SQL не самый лучший способ сделать это. –

+0

Звучит больше похоже на то, что вам нужен достойный текстовый редактор или система публикации на рабочем столе. –

+0

Каков наилучший способ сделать это для Интернета? –

ответ

7

Вместо того, чтобы изобретать колесо, вы могли бы рассмотреть вопрос об использовании «Библии SDK», такие как AV Bible, в котором хранится текст, форматирование, номера стихов и т.д. в открытом, пользовательские двоичном формате.

Я думаю, что у них есть все, что вы указали, кроме перекрестных ссылок.

+0

Как я могу использовать что-то подобное для Интернета? Должен ли я создать собственный класс на серверном языке, который мог бы запросить такой двоичный файл? Или нужно использовать какое-то другое решение для Интернета? –

+0

@ Джон: Я еще не смотрел на Библию А. В.. На странице [SDK] (http://www.avbible.net/pageSDK/pageSDK.html) представлен пример кода C++ и C#; Я подозреваю, что они предлагают только фактический двоичный файл, поэтому, скорее всего, вы либо запустите свой пример кода на C#, если используете сервер .NET, либо, как правило, скопируете класс C# на PHP или Ruby (или что-то еще) класс. В любом случае двоичный файл должен быть достаточным (и если вам нужен другой перевод, этот формат должен быть отличной отправной точкой). –

+0

SDK обычно не является двоичным. –

0

Ответ Марка Rushakoff, вероятно, является лучшим для вас конкретной потребностью. Однако в более общем случае, если необходимо хранить контент, который либо имеет данные в содержимом, либо если вам необходимо хранить данные о содержании, то обычно используется Content Management System. Вы можете создать свой собственный (для ответа WernerCD была структура таблицы) или использовать CMS product. Список здесь показывает широкий спектр используемых технологий (около 30 в этом списке используют MySQL)

1

Все ответы WernerCD, но сохраните verseText как xml, чтобы вы могли добавлять теги форматирования, такие как <red>e.g. Red Text</red>, и использовать теги для его форматирования в своем применение

9

Вот еще одна коллекция/пример для вас:

https://github.com/scrollmapper/bible_databases

Здесь вы увидите SQL, XML, CSV и JSON. Особо следует отметить таблицу перекрестных ссылок (довольно обширную и потрясающую) и простую систему стихотворений для быстрых запросов.

РЕДАКТИРОВАТЬ: Обратите внимание, что идентификаторы таблиц являются комбинациями книг и глав, всегда уникальными.

+0

нашел, что это надежный источник до сих пор, будет обновляться, если я нахожу проблемы - существуют другие надежные источники, такие как Crosswire sword (используйте https://github.com/danday74/sword-to-json для преобразования в JSON) и opensong и biblehub - все другие источники, которые я нашел до сих пор, содержат ошибки в их содержании - потратили много времени на фильтрацию через все доступные источники - API-интерфейсы часто надежны, но я предпочитаю не полагаться на веб-службу – danday74

2

Я также нашел http://www.lyricue.org/downloads/, который включает в себя несколько библейских переводов в формате mysql.

+0

, где хранятся библии , can not увидеть их в любом месте - спасибо за ссылку btw – danday74

7

SQL - это лучший способ сохранить это.Учитывая ваши требования, мы можем разделить их на две основные части

  1. информации, которая зависит от индивидуальной версии

    • Капители
    • Красной буква печати
  2. Информации, которая не является в зависимости от индивидуального варианта

    • Книга, Глава, номера Verse
    • Название раздела
    • Foot ноты (??????)
    • Ссылка
    • Комментарий

По разным причинам я предпочитаю для хранения всего проекта библии в один ОДИН стол, Да, его называют bible

Для вашего экрана здесь мой экран. Я сохранил почти 15 версий библии в одной таблице. К счастью, разные имена версий просто хранятся в виде столбцов. Поэтому, когда вы добавите больше версии в будущем, ваша таблица будет расти горизонтально, и это нормально, поэтому число строк остается постоянным (31102). Также я попрошу вас реализовать удобство сохранения комбинации («Книга, глава, стих») в качестве ключа PRIMARY, потому что в большинстве ситуаций это выглядит так.

enter image description here

Что здесь сказал мой Рекомендуемая структура таблицы.

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 или соответствующие форматы. В интерфейсе вы можете отключить их по выбору пользователя, нужно ли ему красную букву или маленькие кепки.

Для справки вы можете скачать SQLs снизу и настроить на вашем пути

Bibles in JSON & XML

Bibles in SQL format

+0

Связанный сайт не работает. Кто-нибудь знает о любых зеркалах? – Nilpo

+0

+1 для краткого ответа. Это также способ, которым я это делаю, за исключением разных библий в разных таблицах. Я не думал о том, чтобы слить их все. За исключением моего KJV, например, у меня есть «книга, глава, стих, содержимое, в-красном». 'In-red' - это форматированная версия' contents', которую я выбираю через COALESCE ('in-red', 'contents'), поэтому он выбирает тот, у которого есть данные. – Chud37

0

Это хранилище содержит всю Библию приведены в SQL.

https://github.com/godlytalias/Bible-Database

+0

Пожалуйста, напишите ответ вместо ссылки .. –

+1

интересная ссылка, но после изучения этого я обнаружил, что данные содержат повреждения - найдено https://github.com/scrollmapper/bible_databases, чтобы быть более надежными – danday74

Смежные вопросы