Primarily and basically e-Sword is a Database Reader, in that it reads only database files. The database file format it reads are SQLite (*.sqlite) files which have been given their own extensions. These extensions are:
- anlx - Common file
- bblx - Bible files
- cmtx - Commentary files
- dctx - Dictionary files
- devx - Devotional files
- harx - Harmony files
- illx - Sermon Illustration file
- jnlx - Journal Files
- lanx - Language file
- mapx - Map/Graphic Files
- memx - Memory Verse files
- notx - Study Note files
- ovlx - Markup files
- prlx - Prayer List file
- refx - Reference Library files
- topx - Topic Note files
All the above files are used by e-Sword. It can and does handle multiple database files.
With the exception of the e-Sword generated files and the Illustration.illx file, all the other files are Read Only and cannot be edited in e-Sword. Where these files are unsecured they require an external database application or a database extension application to edit these files. The Database application required is SQLite, SQLite Browser, and SQLite Manager. Database extension application used for e-Sword are T4, and SQLite Regexer.
Conversion tools such as BeST and eSword9Converter are database file conversion programs. All they do is convert a file from one format to another. Ben's e-Sword Tool converts html, csv, MS Access files to SQLite database files, and eSword9Converter converts previous e-Sword 9x (MS Access) files to the current format.
How does e-Sword read Database files
The short answer to that is, its been programmed to do that. OK, now for the long answer.
To understand how e-Sword does this, one has to have a bit of an understanding of Databases. Basically all databases follow the same principle irrespective of the type they are (and that we will go into later). A database is made up of the following
- 1 or more Tables
- 1 or more Fields
- 1 or more Records.
A Table is what holds all the Fields and Records where data/information is place in it. In SQLite, an e-Sword Bible database file has a Table called "Bibles," and in this Table there are several fields.
A Field is the place where data of different kinds/values goes in. So each field has to be setup with its own value for the kind of data that goes into it. Not all data that goes into it is the same. Some Fields are numerical and they have their own values such as, Date, Integer, Float, Decimal, and etc. Then there are the Text Fields, and they too have their own values such as Memo, Text, and etc. Also a Field can be given a value as to how many digits or characters can fit in a Record.
The Fields (with their values) in an e-Sword's Bible files are:
- Book - Integer (which is a whole number)
- Chapter - Integer
- Verse - Integer
- Scripture - Text
When e-Sword was using Microsoft Access database files, these kind of Tables and Fields were in them. So principles of a database is basically the same right across the board. So it doesn't matter what the name of the database program is, the way its set up is basically the same.
When e-Sword reads the information in each Field of the Table, it has to interpret what is in it. Each number in the Book Field represents the name of the Bible. So where the number 1 is read, That is shown as Genesis, and so it goes right through the Table getting all the information it in to display it.
Different Kinds of Databases
Basically there are three types of Databases, and they are:
- Relational Databases. These are MS Access, Paradox, Oracle, and a few others.
- Object Orient Database. There aren't many of them floating around, and there is only one that I know of, and that is Jade.
- Flat Databases. I think databases of this type are SQL Server, MySQL, and similar (if I'm wrong here, someone may be able to correct me). Internet Search Engines such as Google, Yahoo, Bing and etc are flat databases.
Ok, this is the end of Part 1, and I trust this is helpful to you in understanding how e-Sword works.
Edited by APsit190, 30 August 2012 - 04:36 PM.