Database Model
The database model still needs some streamlining. There are open GitHub issues for that.
The model currently contains the following entities:
Manuscript
:
The physical, text-bearing object. Can be a full manuscript or a fragment.Catalogue Entry
:
A description of aManuscript
in a catalogue. There can be multipleCatalogue Entries
describing a singleManuscript
, which may just be in different languages, vary in their extent, or even have contradicting information.Person
:
A person that is connected in one or another way to aManuscript
orCatalogue Entry
.Text
:
A text, as contained by a manuscript.Group
:
A user defined grouping ofManuscripts
,People
orTexts
.
Groups are used to save and combine search results, in order to display the results together.
Entity Relationship Diagram
erDiagram
Manuscript {
string manuscript_id PK
string shelfmark
integer catalogue_entries
string catalogue_ids
string catalogue_filenames
string title
string description
string date_string
integer terminus_post_quem
string termini_post_quos
integer terminus_ante-quem
string termini_ante_quos
integer date_mean
float date_standard_deviation
string support
integer folio
string height
string width
string extent
string origin
string creator
string country
string settlement
string repository
}
CatalogueEntry {
string catalogue_id PK
string shelfmark
string manuscript_id
string catalogue_filename
string title
string description
string date_string
integer terminus_post_quem
integer terminus_ante-quem
integer date_mean
integer dating_range
string support
integer folio
string height
string width
string extent
string origin
string creator
string country
string settlement
string repository
}
Person {
string pers_id PK
string first_name
string last_name
}
Text {
string text_id PK
}
Group {
UUID group_id
enum group_type "ManuscriptGroup, TextGroup, PersonGroup"
string name
sting date
string items
}
CatalogueEntry }|--o{ Person : "mentions"
Manuscript }|--o{ Person : "is related to"
CatalogueEntry }|--o{ Text : "mentions"
Manuscript }|--o{ Text : "is related to"
Where string values represent a list of values, those values are concatenated with |
.
In the future, these relationships will be modelled as one-to-many relationships in the database.