Я знаком с тем, как сходство типов работает в SQLite: вы можете объявлять типы столбцов как угодно, и все, что имеет значение, это то, содержит ли имя типа "INT", "CHAR", " FLOA "и т. Д. Но существует ли общепринятое соглашение о том, какие имена типов использовать?
Например, если у вас есть целочисленный столбец, лучше ли различать TINYINT, SMALLINT, MEDIUMINT и BIGINT или просто объявить все как INTEGER?
До сих пор я использовал следующее:
- INTEGER
- РЕАЛЬНЫЙ
- CHAR (n) - для строк с известным фиксированным значением
- VARCHAR (n) - для строк с известной максимальной шириной
- ТЕКСТ - для всех остальных строк
- BLOB
- БУЛЕВЫ
- ДАТА - строка в формате "ГГГГ-ММ-ДД"
- TIME - строка в формате «ЧЧ: ММ: СС»
- TIMESTAMP - строка в формате «ГГГГ-ММ-ДД ЧЧ: ММ: СС»
(Обратите внимание, что последние три противоречат типу сходства.)