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)
|
- [Background](background.md)
|
||||||
- [Objective](objective.md)
|
- [Objective](objective.md)
|
||||||
- [Use cases](uc.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