Тип данных определяет, какое значение может содержать поле. Целое число, десятичное число, строка, дата, логическое значение, двоичное значение. Тип определяет, какие операции допустимы и сколько места занимает значение. Можно сложить два целых числа. Нельзя сложить целое число и дату без преобразования. Строки можно сортировать в алфавитном порядке. Нельзя сортировать их по числовому значению, если они не содержат чисел. Тип является контрактом между данными и системой, которая их хранит.
Выбор неправильного типа данных приводит к проблемам. Хранение номера телефона в виде целого числа приводит к потере ведущих нулей. Хранение цены в виде числа с плавающей запятой вызывает ошибки округления, которые накапливаются в финансовых вычислениях. Хранение даты в виде строки замедляет и делает более подверженными ошибкам запросы диапазона. Хранение логического значения в виде строки приводит к нерациональному использованию пространства и появлению опечаток, например, «ture». Каждый тип данных имеет своё назначение. Целые числа — для подсчёта. Десятичные дроби — для денег. Строки — для текста. Даты — для временных значений. Логические значения — для значений «истина» или «ложь». Двоичные значения — для файлов и хешей. Некоторые базы данных добавляют специализированные типы: JSON для полуструктурированных данных, массивы для списков, геопространственные типы для координат. Система типов обеспечивает согласованность. Она выявляет ошибки во время вставки, а не во время выполнения запроса. Раннее обнаружение ошибок оправдывает накладываемые ею ограничения.
Распространенные типы данных
- Целые числа — целые числа, подсчеты, идентификаторы
- Десятичные числа — точные дробные числа, деньги
- Строка — текст переменной длины
- Дата и время — временные значения
- Логическое значение — истина или ложь
- Двоичный формат — необработанные байты, файлы, хеши
Типы данных служат своего рода ограничителями. Они предотвращают попадание некорректных значений и упрощают работу с корректными.
Comments
No comments yet. Be the first to share a thought.
Leave a comment