Add initial description for database
This commit is contained in:
parent
87154e8688
commit
0f840c3402
|
@ -11,6 +11,7 @@ This document documents the objectives as well as analysis and design for the pr
|
|||
- [Background](background.md)
|
||||
- [Objective](objective.md)
|
||||
- [Use cases](uc.md)
|
||||
- [Database](db.md)
|
||||
|
||||
-----
|
||||
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
# Database
|
||||
|
||||
To persist the information as specified in [Use Cases][uc.md],
|
||||
we need to design an appropriate database accordingly.
|
||||
This section discusses the structure for each information.
|
||||
|
||||
Due to the target for Android development, SQLite is chosen as the platform's database.
|
||||
SQLite is a relational database that has a programming interface in virtually
|
||||
any modern programming language.
|
||||
On top of that, it is natively supported on both Android and iOS.
|
||||
It is also suitable for a custom [application file format][app-format]. In fact,
|
||||
Anki used SQLite for its flashcard deck file.
|
||||
SQLite supports databases upto [281 terabytes][size], which is more than enough
|
||||
for the use case.
|
||||
|
||||
[app-format]: https://sqlite.org/appfileformat.html
|
||||
[size]: https://sqlite.org/whentouse.html
|
||||
|
||||
## Phonology and Phonetics
|
||||
### Set of consonants, vowels, tones
|
||||
|
||||
The database for this would likely be mostly fixed in number of rows.
|
||||
|
||||
- IPA (`TEXT`): The International Phonetic Alphabet representation of the sound.
|
||||
- X-SAMPA (`TEXT`): The X-SAMPA equivalent, which allows user to type on a non-IPA keyboard
|
||||
- is_used (`BOOLEAN`): Whether the sound is used in the language
|
||||
|
||||
## Grammar
|
||||
### Inflection
|
||||
### Syntax
|
||||
## Morphology
|
||||
### Affixes
|
||||
### Part of Speech
|
||||
## Writing system
|
||||
### Scripts
|
||||
## Vocabulary
|
||||
## Others
|
||||
|
||||
Not all data can be represented as structured data.
|
||||
For example:
|
||||
|
||||
- Image
|
||||
- Audio
|
||||
|
||||
These kinds of data are stored as file blobs in a dedicated SQLite table.
|
Loading…
Reference in New Issue