System Koha na początku (rok 1999) nie obsługiwał standardu MARC, i posiadał jedynie swoje pola w bazie danych. Są one nadal aktualne i dlatego system potrafi obsłużyć dowolną odmianę MARC (UNIMARC, MARC21, i inne). Tak wygląda układ pól właściwych dla bazy danych Koha (nie-MARC):
additionalauthors | |
biblio | |
biblioanalysis | |
biblioitems | |
bibliosubject | |
bibliosubtitle | |
bibliothesaurus | |
catalogueentry | |
deletedbiblio | |
deletedbiblioitems | |
deleteditems | |
items | |
itemsprices | |
marc_biblio | |
marc_blob_subfield | |
marc_subfield_table | |
marc_word |
Podstawowe trzy tablice to: ;biblio: tytuł, autor, etc. Podstawowe informacje o dokumencie. ;biblioitem: format, rok publikacji, typ dokumentu, itc. Bardziej szczegółowe informacje o dokumencie. ;items: kod paskowy, cena, data nabycia, etc. Istotne informacje o konkretnym egzemplarzu.
Te trzy tablice posiadają wspólne pole biblionumber, które ich łączy. (prawdopodobnie primary key w żargonie MySQL). Idea jest taka, że może istnieć wpis dla biblio, do którego dołączone są kilka wpisów biblioitem (np. książka, taśma VHS, dysk CD) z kilkoma wpisami w items dla każdego biblioitem (2 książki, 4 taśmy i 3 dyski CD tego samego dzieła).
Rekordy MARC nie posiadają takiej struktury lecz stanowią pewien podstawowy rekord, w którym znajdują sie informacje, jakie Koha zapisuje do tablicy biblio i biblioitem, oraz etykietę (holdings tag) w której zawarte są informacje z tablicy items w Koha. Rekordy MARC Koha przechowuje w tablicy marc_subfield_table, która rozbija wszystko na pola i podpola (tags and subfields) i łączy ponownie wszystkie elementy za pomocą pojedynczego pola “bibid”.
Z kolei tablica marc_biblio śledzi relacje pomiędzy polami bibid z rekordów MARC a polem biblionumber odpowiadającym informacji zawartych i zapisanych w tablicach Koha.
Tablice marc_word i catalogueentry spełniają funkcję schowków dla “słów kluczowych” i mogą służyć jako indeksy. !Przechowują one słowa z rekordów opatrzone albo wartością bibid lub biblionumber w zależności od tego w jaki sposób były wprowadzone do bazy danych MySQL; jeśli przez import lub interfejs MARC to bibid, jeśli poprzez interfejs Koha to biblionumber.
Oto [http://www.koha-fr.org/presentation/MCD.pdf plik PDF] w którym znajduje się poglądowy schemat (Koha DB schema) SposobyMapowania - łącza pomiędzy polami Koha-DB a podpolami MARC-DB