2008-12-05 22:03:28 +00:00
|
|
|
openlp.org 2.x Song Database Structure
|
|
|
|
========================================================================
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
------------
|
|
|
|
The song database in openlp.org 2.x is similar to the 1.x format. The
|
|
|
|
biggest differences are the addition of extra tables, and the use of
|
|
|
|
SQLite version 3.
|
|
|
|
|
|
|
|
The song database contains the following tables:
|
|
|
|
- authors
|
|
|
|
- authors_songs
|
|
|
|
- song_books
|
|
|
|
- songs
|
|
|
|
- songs_topics
|
|
|
|
- topics
|
|
|
|
|
|
|
|
|
|
|
|
"authors" Table
|
|
|
|
---------------
|
|
|
|
This table holds the names of all the authors. It has the following
|
|
|
|
columns:
|
|
|
|
|
|
|
|
* id
|
|
|
|
* first_name
|
|
|
|
* last_name
|
|
|
|
* display_name
|
|
|
|
|
|
|
|
|
|
|
|
"authors_songs" Table
|
|
|
|
---------------------
|
|
|
|
This is a bridging table between the "authors" and "songs" tables, which
|
|
|
|
serves to create a many-to-many relationship between the two tables. It
|
|
|
|
has the following columns:
|
|
|
|
|
|
|
|
* author_id
|
|
|
|
* song_id
|
|
|
|
|
|
|
|
|
|
|
|
"song_books" Table
|
|
|
|
------------------
|
|
|
|
The "song_books" table holds a list of books that a congregation gets
|
|
|
|
their songs from, or old hymnals now no longer used. This table has the
|
|
|
|
following columns:
|
|
|
|
|
|
|
|
* id
|
|
|
|
* name
|
|
|
|
* publisher
|
|
|
|
|
|
|
|
|
|
|
|
"songs" Table
|
|
|
|
-------------
|
|
|
|
This table contains the songs, and each song has a list of attributes.
|
|
|
|
The "songs" table has the following columns:
|
|
|
|
|
|
|
|
* id
|
|
|
|
* song_book_id
|
|
|
|
* title
|
|
|
|
* lyrics
|
|
|
|
* verse_order
|
|
|
|
* copyright
|
|
|
|
* comments
|
|
|
|
* ccli_number
|
|
|
|
* song_number
|
2008-12-14 15:49:54 +00:00
|
|
|
* theme_name
|
2008-12-05 22:03:28 +00:00
|
|
|
* search_title
|
|
|
|
* search_lyrics
|
|
|
|
|
|
|
|
|
|
|
|
"songs_topics" Table
|
|
|
|
--------------------
|
|
|
|
This is a bridging table between the "songs" and "topics" tables, which
|
|
|
|
serves to create a many-to-many relationship between the two tables. It
|
|
|
|
has the following columns:
|
|
|
|
|
|
|
|
* song_id
|
|
|
|
* topic_id
|
|
|
|
|
|
|
|
|
|
|
|
"topics" Table
|
|
|
|
--------------
|
|
|
|
The topics table holds a selection of topics that songs can cover. This
|
|
|
|
is useful when a worship leader wants to select songs with a certain
|
|
|
|
theme. This table has the following columns:
|
|
|
|
|
|
|
|
* id
|
|
|
|
* name
|
|
|
|
|
|
|
|
|
|
|
|
The lyrics definition (more or less similar to interformat to/from ChangingSong
|
|
|
|
The tags <i></i><b></b><u></u> can also be used within the lyrics test.
|
|
|
|
|
|
|
|
! Please note that this format has been checked at http://validator.w3.org/#validate_by_upload
|
|
|
|
|
|
|
|
<lyrics lang="en_US">
|
|
|
|
<title>Amazing Grace</title>
|
|
|
|
<verse name="v1">
|
|
|
|
<theme>name of verse specific theme (optional)</theme>
|
|
|
|
<comment>any text (optional)</comment>
|
|
|
|
<part name="men">
|
|
|
|
Amazing grace, how ...
|
|
|
|
</part>
|
|
|
|
<part name="women">
|
|
|
|
A b c
|
|
|
|
D e f
|
|
|
|
</part>
|
|
|
|
...
|
|
|
|
</verse>
|
|
|
|
<verse name="c">
|
|
|
|
<theme>name of verse specific theme (optional)</theme>
|
|
|
|
<comment>any text (optional)</comment>
|
|
|
|
...
|
|
|
|
</verse>
|
|
|
|
</lyrics>
|
|
|
|
<lyrics lang="de_DE">
|
|
|
|
<title>Erstaunliche Anmut</title>
|
|
|
|
<verse name="v1">
|
|
|
|
Erstaunliche Anmut, wie
|
|
|
|
...
|
|
|
|
</verse>
|
|
|
|
<verse name="c">
|
|
|
|
...
|
|
|
|
</verse>
|
|
|
|
</lyrics>
|