Состав базы и типы данных
В состав базы данных Base обычно входят четыре вида документов (объектов):
- таблицы — служат для хранения данных в определенной структуре;
- запросы — создаются для выборки данных из одной или нескольких связанных таблиц;
- формы — предназначены для ввода, редактирования и просмотра табличных данных на экране в удобном виде;
- отчеты — являются выходными документами, предназначенными для вывода на принтер.
Содержание
Таблицы составляют основу базы данных — именно в них хранятся все данные. Таблицы должны быть тщательно спланированы. Прежде всего, должна быть определена структура каждой таблицы. Структура таблиц обуславливается содержанием тех выходных форм, запросов и отчетов, которые должны быть получены при работе с базой данных. При планировании таблиц необходимо избегать повторения столбцов в разных таблицах, только если они не служат для определения связей между ними.
Таблица — это объект БД, который хранит данные определенной структуры.
Таблица состоит из записей (строк), каждая из которых описывает одну сущность. Каждый столбец таблицы — это поле. Поле содержит однотипную информацию, определяющую тип данных. Тип данных определяет вид и диапазон допустимых значений, которые могут быть введены в поле, а также объем памяти, выделяемый для этого поля, что немаловажно при проектировании больших БД.
Типы полей базы данных
Указание типа поля требуется, во-первых, для его правильной обработки (над текстом нельзя производить такие же операции, как над числами, а с датами нельзя работать как с логическими величинами), а во-вторых, для эффективного распределения памяти. В существующей на момент написания этого материала документации по пакету нет никаких сведений о типах данных. Поэтому мы приводим описания типов данных в таблицах Base на основе опыта и аналогий с другими базами данных:
- Короткое целое [TINYINT] — используется чаще всего для нумерации при небольшом количестве позиций.
- Длинное целое [BIGINT] — целое увеличенной разрядности. В 32-разрядной системе для такого целого выделяется 64 бита.
- Картинка [LONGVARBINARY] — большой двоичный объект с переменным размером размера в десятки и сотни Кбайт (в других базах данных такой тип называется BLOB).
- Двоичное [VARBINARY] — двоичный объект с переменным размером. Имеется возможность экономии памяти, если в разных записях это поле реально имеет разный размер.
- Двоичное (фикс.) [BINARY] — двоичный объект фиксированного размера.
- Памятка [LONGVARCHAR] — большой текст (до 64 Кбайт). В других базах данных такой тип называется MEMO.
- Текст (фикс.) [CHAR] — строка с жёстко заданным количеством символов.
- Число [NUMERIC] — натуральное число. Диапазон чисел определяется разрядностью системы.
- Десятичное [DECIMAL] — число с плавающей точкой. Необходимо указывать количество знаков после десятичной точки.
- Целое [INTEGER] — целое число. В 32-разрядной системе 1 бит выделяется на знак, 31 бит — на значение целого числа.
- Короткое целое [SMALLINT] — целое число с разрядностью, вдвое меньшей, чем в системе. В 32-разрядной системе разрядность занимает 16 бит.
- С плавающей точкой [FLOAT] — число с плавающей точкой (аналогично DECIMAL).
- Вещественное [REAL] — вещественное число. В 32-разрядной системе представляется как 32-разрядные мантисса и порядок.
- С двойной точностью [DOUBLE] — вещественное число двойной точности.
- Текст [VARCHAR] — строка до 256 знаков. Если реальная длина строки в поле меньше заданной, возможна экономия памяти.
- Текст [VARCHAR_IGNORECASE] — срока, в которой не различаются строчные и прописные буквы.
- Логическое [BOOLEAN] — данные логического типа.
- Дата [DATE] — календарная дата.
- Время [TIME] — время.
- Дата/время [TIMESTAMP] — так называемый «UNIX timestamp». Означает число миллисекунд, прошедших с начала «эры UNIX».
- Другое [OTHER] — данные любого другого (не указанного выше) типа.
Свойства полей базы данных
Поля базы данных не просто определяют структуру базы — они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены основные свойства полей таблиц баз данных
- Имя поля — определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц).
- Тип поля — определяет тип данных, которые могут содержаться в данном поле.
- Размер поля – определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.
- Формат поля — определяет способ форматирования данных в ячейках, принадлежащих полю.
- Маска ввода — определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных).
- Подпись — определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).
- Значение по умолчанию — то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).
- Условие на значение — ограничение, используемое для проверки правильности, ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты).
- Сообщение об ошибке — текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности выполняется автоматически, если задано свойство Условие на значение).
- Обязательное поле — свойство, определяющее обязательность заполнения данного поля при наполнении базы;
- Пустые строки — свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым).
- Индексированное поле — если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значения в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных.