Типы данных в аксесс
Типы данных Microsoft Access Microsoft Access Data Types
В следующей таблице показаны типы данных Microsoft Access, типы данных, используемые для создания таблиц, и типы данных ODBC SQL. The following table shows the Microsoft Access data types, data types used to create tables, and ODBC SQL data types.
Тип данных Microsoft Access Microsoft Access data type | Тип данных (CREATETABLE) Data type (CREATETABLE) | Тип данных ODBC SQL ODBC SQL data type |
---|---|---|
БИГБИНАРИ [1] BIGBINARY[1] | лонгбинари LONGBINARY | SQL_LONGVARBINARY SQL_LONGVARBINARY |
BINARY BINARY | BINARY BINARY | SQL_BINARY SQL_BINARY |
BIT BIT | BIT BIT | SQL_BIT SQL_BIT |
ПОДПИСАН COUNTER | ПОДПИСАН COUNTER | SQL_INTEGER SQL_INTEGER |
CURRENCY CURRENCY | CURRENCY CURRENCY | SQL_NUMERIC SQL_NUMERIC |
ДАТА И ВРЕМЯ DATE/TIME | DATETIME DATETIME | SQL_TIMESTAMP SQL_TIMESTAMP |
GUID GUID | GUID GUID | SQL_GUID SQL_GUID |
ДЛИННЫЙ ДВОИЧНЫЙ ФАЙЛ LONG BINARY | лонгбинари LONGBINARY | SQL_LONGVARBINARY SQL_LONGVARBINARY |
ДЛИННЫЙ ТЕКСТ LONG TEXT | LONGTEXT LONGTEXT | SQL_LONGVARCHAR [2] SQL_WLONGVARCHAR [3] SQL_LONGVARCHAR[2] SQL_WLONGVARCHAR[3] |
ПОЛУЧЕНА MEMO | LONGTEXT LONGTEXT | SQL_LONGVARCHAR [2] SQL_WLONGVARCHAR [3] SQL_LONGVARCHAR[2] SQL_WLONGVARCHAR[3] |
ЧИСЛО (FieldSize = SINGLE) NUMBER (FieldSize= SINGLE) | ОДИН SINGLE | SQL_REAL SQL_REAL |
ЧИСЛО (FieldSize = DOUBLE) NUMBER (FieldSize= DOUBLE) | DOUBLE DOUBLE | SQL_DOUBLE SQL_DOUBLE |
ЧИСЛО (FieldSize = BYTE) NUMBER (FieldSize= BYTE) | БАЙТ БЕЗ ЗНАКА UNSIGNED BYTE | SQL_TINYINT SQL_TINYINT |
ЧИСЛО (FieldSize = INTEGER) NUMBER (FieldSize= INTEGER) | ПРОМЕЖУТОК SHORT | SQL_SMALLINT SQL_SMALLINT |
ЧИСЛО (FieldSize = ДЛИННое ЦЕЛОе) NUMBER (FieldSize= LONG INTEGER) | LONG LONG | SQL_INTEGER SQL_INTEGER |
NUMERIC NUMERIC | NUMERIC NUMERIC | SQL_NUMERIC SQL_NUMERIC |
OLEDB OLE | лонгбинари LONGBINARY | SQL_LONGVARBINARY SQL_LONGVARBINARY |
TEXT TEXT | VARCHAR VARCHAR | SQL_VARCHAR [1] SQL_WVARCHAR [2] SQL_VARCHAR[1] SQL_WVARCHAR[2] |
VARBINARY VARBINARY | VARBINARY VARBINARY | SQL_VARBINARY SQL_VARBINARY |
[1] доступ только к приложениям 4,0. [1] Access 4.0 applications only. Максимальная длина 4000 байт. Maximum length of 4000 bytes. Поведение аналогично ЛОНГБИНАРИ. Behavior similar to LONGBINARY.
[2] только приложения ANSI. [2] ANSI applications only.
[3] Unicode и доступ только к приложениям 4,0. [3] Unicode and Access 4.0 applications only.
SQLGetTypeInfo возвращает типы данных ODBC. SQLGetTypeInfo returns ODBC data types. Все типы данных Microsoft Access не возвращаются, если к одному и тому же типу данных ODBC SQL сопоставлено несколько типов Microsoft Access. It will not return all Microsoft Access data types if more than one Microsoft Access type is mapped to the same ODBC SQL data type. Все преобразования в приложении D Справочника программиста ODBC поддерживаются для типов данных SQL, перечисленных в предыдущей таблице. All conversions in Appendix D of the ODBC Programmer’s Reference are supported for the SQL data types listed in the previous table.
В следующей таблице приведены ограничения для типов данных Microsoft Access. The following table shows limitations on Microsoft Access data types.
Тип данных Data type | Description Description |
---|---|
BINARY, VARBINARY и VARCHAR BINARY, VARBINARY, and VARCHAR | Создание столбца BINARY, VARBINARY или VARCHAR, который имеет нулевую или неуказанную длину, фактически возвращает 510-байтовый столбец. Creating a BINARY, VARBINARY, or VARCHAR column of zero or unspecified length actually returns a 510-byte column. |
BYTE BYTE | Несмотря на то, что поле номера Microsoft Access с размером FieldSize, равным BYTE, не подписано, при использовании драйвера Microsoft Access в поле можно вставить отрицательное число. Even though a Microsoft Access NUMBER field with a FieldSize equal to BYTE is unsigned, a negative number can be inserted into the field when using the Microsoft Access driver. |
CHAR, LONGVARCHAR и VARCHAR CHAR, LONGVARCHAR, and VARCHAR | Символьная строка символов может содержать любой символ ANSI (1-255 десятичное число). A character string literal can contain any ANSI character (1-255 decimal). Для представления одной одинарной кавычки (‘) используйте две последовательные одинарные кавычки (‘ ‘). Use two consecutive single quotation marks (») to represent one single quotation mark (‘). Процедуры должны использоваться для передачи символьных данных при использовании любого специального символа в столбце символьного типа данных. Procedures should be used to pass character data when using any special character in a character data type column. |
DATE DATE | Значения даты должны быть либо ограничены в соответствии с каноническим форматом даты ODBC, либо разделяться разделителем даты и времени («#»). Date values must be either delimited according to the ODBC canonical date format or delimited by the datetime delimiter («#»). В противном случае Microsoft Access будет рассматривать значение как арифметическое выражение и не будет вызывать предупреждение или ошибку. Otherwise, Microsoft Access will treat the value as an arithmetic expression and will not raise a warning or error. Например, Дата «5 марта 1996» должна быть представлена в виде Символ вертикальной черты (|) нельзя использовать в значении даты, даже если он заключен в обратные кавычки. A pipe character (|) cannot be used in a date value, even if enclosed in back quotes. |
GUID GUID | Тип данных ограничен Microsoft Access 4,0. Data type limited to Microsoft Access 4.0. |
NUMERIC NUMERIC | Тип данных ограничен Microsoft Access 4,0. Data type limited to Microsoft Access 4.0. |
Дополнительные ограничения для типов данных можно найти в ограничениях типа данных. More limitations on data types can be found in Data Type Limitations.
Введение в использование типов данных и свойств полей
Каждая таблица в Access состоит из полей. В свойствах поля описываются характеристики и поведение добавляемых в него данных. Тип данных поля — это самое важное свойство, которое определяет, какие данные могут храниться в поле. В этой статье описаны типы данных и другие свойства поля, доступные в Access, а также приведена дополнительная информация в разделе справочных сведений о типах данных.
В этой статье
Общие сведения
Иногда типы данных могут показаться неочевидными, например в поле с типом данных «Текст» могут храниться данные, состоящие из текста и чисел. Но в поле с типом данных «Число» могут храниться только числовые данные. Поэтому вам нужно знать, какие свойства используются для каждого типа данных.
Тип данных поля определяет много других важных характеристик поля, в частности:
форматы, которые можно использовать в поле;
максимальный размер значения в поле;
способ использования поля в выражениях;
возможность индексирования поля.
В зависимости от способа создания нового поля тип данных поля может быть задан заранее или его можно выбрать. Например, если при создании поля в режиме таблицы вы:
используете существующее поле из другой таблицы, типы данных уже определены в ней или в шаблоне;
вводите данные в пустом столбце (или поле), Access назначает полю тип данных, исходя из вводимых значений, или вы можете назначить тип данных и формат для поля;
на вкладке Изменение полей в группе Поля и столбцы выбираете команду Добавить поля, Access отображает список типов данных для выбора.
Когда какой тип данных использовать?
Тип данных поля можно рассматривать как набор характеристик, которые применяются ко всем значениям в этом поле. Например, значения в текстовом поле могут содержать только буквы, цифры и некоторые знаки пунктуации. Кроме того, текстовое поле может содержать не более 255 символов.
Совет: Иногда все выглядит так, как будто данные в поле имеют один тип, а на самом деле это данные другого типа. Например, поле вроде бы содержит числовые значения, но на самом деле это текстовые значения, представляющие номера комнат. Часто для сравнения или преобразования значений с разными типами данных используются выражения.
В таблицах ниже показаны форматы, доступные для каждого типа данных, и описаны результаты форматирования.
Основные типы
Короткие буквенно-цифровые значения, например фамилия или почтовый адрес. Помните, что начиная с версии Access 2013, текстовый тип данных переименован в Краткий текст.
Числовой, Большое число
Числовые значения, например расстояния. Помните, что для денежных значений есть отдельный тип данных.
Значения «Да» и «Нет», а также поля, содержащие только одно из двух значений.
Значения даты и времени с 100 по 9999 годы.
Текст или сочетание текста и чисел, которые отформатированы с помощью элементов управления цветом и шрифтом.
Результаты вычисления. Вычисление может ссылаться на другие поля в той же таблице. Вычисления создаются с помощью построителя выражений. Вычисляемые поля впервые появились в Access 2010.
Вложенные изображения, файлы электронных таблиц, документы, диаграммы и другие файлы поддерживаемых типов в записях базы данных (как и в сообщениях электронной почты).
Текст или сочетание текста и чисел, сохраненное как текст и используемое в качестве адреса гиперссылки.
Длинные блоки текста. Типичный пример использования поля MEMO — подробное описание продукта. Помните, что начиная с версии Access 2013, тип данных MEMO переименован в «Длинный текст».
Список значений, которые получены из таблицы или запроса, или набор значений, которые вы указали при создании поля. Запускается мастер подстановок, с помощью которого можно создать поле подстановки. В зависимости от выбора, сделанного в мастере, данные в поле подстановки могут иметь текстовый или числовой тип.
У полей подстановки есть дополнительный набор свойств, которые находятся на вкладке Подстановка в области Свойства поля.
Примечание: В файлах формата MDB недоступны вложения и вычисляемые данные.
Числовой
Числа без дополнительного форматирования (точно в том виде, в котором хранятся).
Обычные денежные значения.
Обычные денежные значения в формате ЕС.
Числовые данные с десятичными знаками.
Значения в процентах.
Дата и время
Краткий формат даты
Дата в кратком формате. Зависит от региональных параметров даты и времени. Например, 14.03.2001 для России.
Средний формат даты
Дата в среднем формате. Например, 03-апр-09 для России.
Длинный формат даты
Дата в длинном формате. Зависит от региональных параметров даты и времени. Например, 14 марта 2001 г. для России.
Время только в 12-часовом формате, который будет соответствовать изменениям в региональных параметрах даты и времени.
Средний формат времени
Время в 12-часовом формате, после которого указываются символы AM (до полудня) или PM (после полудня).
Время только в 24-часовом формате, который будет соответствовать изменениям в региональных параметрах даты и времени.
Логический
«Истина» или «Ложь».
Объект OLE Объекты OLE, например документы Word.
Свойство «Размер поля»
После создания поля и указания типа данных для него можно настроить дополнительные свойства поля. Набор доступных дополнительных свойств зависит от типа данных поля. Например, вы можете настроить размер текстового поля с помощью свойства Размер поля.
Для числовых и денежных полей свойство Размер поля особенно важно, поскольку определяет диапазон значений поля. Например, одноразрядное числовое поле может содержать только целые числа в диапазоне от 0 до 255.
Свойство Размер поля определяет также, сколько места на диске занимает каждое значение числового поля. В зависимости от размера поля число может занимать 1, 2, 4, 8, 12 или 16 байт.
Примечание: В полях MEMO и текстовых полях возможны значения переменных размеров. Для этих типов данных свойство Размер поля задает максимальный размер доступного пространства для одного значения.
Дополнительные сведения о свойствах полей и той роли, которую они выполняют для различных типов данных, см. в разделе Справочные сведения о типах данных. Ознакомьтесь также со статьей Задание размера поля.
Типы данных в связях и соединениях
Связь между таблицами — это связи между общими полями в двух таблицах. Связь может быть одного из следующих типов: один к одному, один ко многим, многие ко многим.
Соединение — это операция SQL, объединяющая данные из двух источников в одну запись в наборе записей запроса на основе значений указанного общего поля в источниках. Соединение может быть одного из следующих типов: внутреннее соединение, левое внешнее соединение, правое внешнее соединение.
Когда вы создаете связь между таблицами или добавляете соединение в запрос, типы данных в соединяемых полях должны быть одинаковые или совместимые. Например, вы не сможете создать соединение между числовым и текстовым полями, даже если значения в этих полях совпадают.
При использовании связи или соединения поля с типом данных «Счетчик» совместимы с полями числового типа, если для свойства Размер поля последних задано значение Длинное целое.
Для поля, участвующего в связи между таблицами, нельзя изменить тип данных или свойство Размер поля. Чтобы изменить свойство Размер поля, временно удалите связь. Но после изменения типа данных вы не сможете снова создать связь, пока не измените тип данных связанного поля. Дополнительные сведения о таблицах см. в статье Общие сведения о таблицах.
Справочные сведения о типах данных
Тип данных, применяемый к полю, содержит набор свойств, которые вы можете выбрать. Чтобы получить дополнительные сведения, щелкните типы данных ниже.
Типы данных в аксесс
Помимо текстового и числового типа данных полей в СУБД Microsoft Access существует несколько дополнительных типов данных. Приведём краткое описание всех типов:
символьные или числовые данные, не требующие вычислений. Поле данного типа может содержать до `255` символов.
поле MEMO предназначено для ввода текстовой информации, по объёму превышающей `255` символов. Такое поле может содержать до `65535` символов. Этот тип данных отличается от типа Текстовый (Text) тем, что в таблице хранятся не сами данные, а ссылки на блоки данных, хранящиеся отдельно. За счёт этого ускоряется обработка таблиц (сортировка, поиск и т. п.).
числовой тип применяется для хранения числовых данных, используемых в математических расчётах. Существует несколько подтипов числового типа. От выбора подтипа данных числового типа зависит размер данных и точность вычислений. Данные числового типа могут содержаться в `1`, `2`, `4`, `8` или `16` байтах. Подтип целые числа используется для представления целых чисел от `-32768` до `32767`, при этом числа занимают `2` байта памяти ЭВМ. Длинные целые числа занимают `4` байта памяти и используются для целых чисел от `-2147483648` до `2147483647`. Одинарные числа с плавающей точкой занимают `4` байта и используются для чисел от `-3.402823`E`38` до `3.402823`E`38` (здесь знак E`38` означает произведение на число 10, возведённое в `38` степень). Двойные числа с плавающей точкой – занимают `8` байтов памяти. Этот подтип чисел также называется числами двойной точности и используются для чисел в диапазоне примерно от `-1`E`308` до `1`E`308`.
тип для представления даты и времени. Позволяет вводить даты с сотого по `9999`-ый год. Размер этого поля — `8` байтов. Даты и время хранятся в специальном фиксированном числовом формате. Дата является целой частью значения поля типа Дата/Время, а время — его дробной частью. Access предоставляет большой выбор форматов отображения даты и времени.
тип данных, предназначенный для хранения данных, точность представления которых колеблется от `1` до `4` десятичных знаков. Целая часть данного типа может содержать до `15` десятичных знаков.
поле содержащее `4`-байтный уникальный номер, определяемый Microsoft Access автоматически для каждой новой записи либо случайным образом, либо путём увеличения предыдущего значения на `1`. Значения полей типа счётчика обновлять нельзя. Максимальное число записей в таблице с полем счётчика не должно превышать двух миллиардов.
логическое поле, которое может содержать только два значения, интерпретируемых как Да/Нет, Истина/Ложь, Включено/Выключено. Microsoft Access использует величину `1` для представления значения Истина и величину `0` — для значения Ложь.
содержит ссылку на OLE-объект (документ Microsoft Word, звук, рисунок и т. п.).
даёт возможность хранить в поле ссылку, с помощью которой можно ссылаться на произвольный фрагмент данных внутри файла или Web-страницы на том же компьютере, в интранет или в Интернет.
Типы данных в аксесс
Для определения поля таблицы обязательно задаются Имя поля (Field Name) и Тип данных (Data Type).
Имя поля (Field Name). Каждое поле в таблице должно иметь уникальное имя, удовлетворяющее соглашениям об именах объектов в Access. Оно является комбинацией из букв, цифр, пробелов и специальных символов, за исключением точки (.), восклицательного знака (!), надстрочного знака (`) и квадратных скобок ([ ]). Имя не может начинаться с пробела и содержать управляющие символы с кодами ASCII от 0 до 31. Максимальная длина имени 64 символа.
Тип данных в MS Access (Data Type). Тип данных определяется значениями, которые предполагается хранить в поле, и операциями, которые будут выполняться с этими значениями. В Access допускается использование двенадцати типов данных.
Рассмотрим вкратце типы данных в MS Access, виды, назначение и допустимый размер данных, которые могут назначаться полям таблицы в Access.
- Текстовый (Text) — используется для хранения текста или комбинаций алфавитно-цифровых знаков, не применяемых в расчетах (например, код товара). Максимальная длина поля 255 знаков.
- Поле МЕМО (Memo) — используется для хранения обычного текста или комбинаций алфавитно-цифровых знаков длиной более 255 знаков. Поля с этим типом данных в базах данных формата Access 2007 поддерживают также форматирование текста. Это единственный в Access тип данных, обеспечивающий встроенную поддержку отображения и хранения форматированного текста. Максимальный размер поля 1 Гбайт знаков или 2 Гбайт памяти (2 байта на знак) при программном заполнении полей, и 65 535 знаков при вводе данных вручную в поле и в любой элемент управления, связанный с этим полем.
- Числовой (Number) — служит для хранения числовых значений (целых или дробных), предназначенных для вычислений, исключением являются денежные значения, для которых используется тип данных Денежный (Currency). Размер поля 1, 2, 4 и 8 байтов, или 16 байтов (если используется для кода репликации) зависит от типа чисел, вводимых в поле.
- Дата/время (Date/Time) — используется для хранения значений даты и времени в виде 8-байтовых чисел двойной точности с плавающей запятой. Целая часть значения, расположенная слева от десятичной запятой, представляет собой дату. Дробная часть, расположенная справа от десятичной запятой, — это время. Хранение значений даты и времени в числовом формате позволяет выполнять различные вычисления с этими данными.
- Денежный (Currency) — используется для хранения денежных значений в виде 8-байтовых чисел с точностью до четырех знаков после запятой. Этот тип данных применяется для хранения финансовых данных и в тех случаях, когда значения не должны округляться.
- Счетчик (AutoNumber) — используется для уникальных числовых 4-байтовых значений, которые автоматически вводит Access при добавлении записи. Вводимые числа могут последовательно увеличиваться на указанное приращение или выбираться случайно. Обычно используются в первичных ключах.
- Логический (Yes/No) — применяется для хранения логических значений, которые могут содержать одно из двух значений: Да/Нет, Истина/Ложь или Вкл/Выкл. (8 битов = 1 байт). Используется 1 для значений Да и 0 для значений Нет. Размер равен 1 биту.
- Поле объекта OLE (OLE Object) — используется для хранения изображений, документов, диаграмм и других объектов из приложений MS Office и других программ Windows в виде растровых изображений, которые затем отображаются в элементах управления форм или отчетов, связанных с этим полем таблицы.
Чтобы в Access просматривать эти изображения, необходимо, чтобы на компьютере, использующем базу данных, был зарегистрирован OLE-сервер (про-грамма, поддерживающая этот тип файлов). Если для данного типа файлов OLE-сервер не зарегистрирован, отображается значок поврежденного изображения.
Закрепим полученные знания просмотром видео:
Про основные свойства полей MS Access читаем тут.