Различие типов данных в базе данных и в проекте Microsoft Access

ПоказатьТипы данных базы данных Microsoft Access

При выборе типа данных (Тип данных. Характеристика поля, определяющая тип данных, который может содержать это поле. Существуют следующие типы данных: Boolean, Integer, Long, Currency, Single, Double, Date, String и Variant (по умолчанию).) для поля необходимо учитывать следующее.

ПоказатьВыбор текстового поля или поля MEMO

Для хранения данных в виде текста или комбинации текста и цифр в Microsoft Access существует два типа данных для полей (Тип данных поля. Характеристика поля, определяющая, какие данные могут сохраняться в поле. Например, в поле с типом «Текстовый» можно вводить как текст, так и цифры, а в полях с типом «Числовой» допускается хранение только числовых данных.): текстовые и поля МЕМО.

Текстовый тип данных используется для хранения таких данных, как имена и адреса, а также для чисел, не требующих вычислений, таких как номера телефонов, инвентарные номера или почтовые индексы. В текстовом поле может находиться до 255 знаков. По умолчанию устанавливается размер поля 50 знаков. Свойство Размер поля (FieldSize) определяет максимальное количество знаков, которые можно ввести в текстовое поле.

Тип данных «Поле MЕМО» используется для хранения более 255 знаков. В поле MЕМО может находится до 65 536 знаков. Для хранения форматированного текста или длинных документов вместо поля MЕМО создайте поле объекта OLE.

В текстовых полях и полях MЕМО могут храниться только введенные знаки, пустые знаки для неиспользованных позиций в поле храниться не будут.

Можно отсортировать или сгруппировать текстовые поля и поля типа MEMO, но Microsoft Access использует только первые 255 знаков при сортировке и группировке поля MEMO.

ПоказатьВыбор числового или денежного типа поля

Для хранения числовых данных в Microsoft Access существует два типа данных для полей (Тип данных поля. Характеристика поля, определяющая, какие данные могут сохраняться в поле. Например, в поле с типом «Текстовый» можно вводить как текст, так и цифры, а в полях с типом «Числовой» допускается хранение только числовых данных.): числовой и денежный.

Числовые поля используются для хранения числовых данных, которые должны использоваться в математических вычислениях, за исключением денежных расчетов, а также вычислений, требующих высокой точности. Тип и размер значений, которые могут находиться в числовом поле, можно изменить в свойстве Размер поля (FieldSize). Например, в занимающее 1 байт на диске поле с размером «Байт» допускается ввод только целых чисел от (без десятичных знаков) от 0 до 255.

Денежный тип поля используют для предотвращения округления во время вычислений. В денежных полях обеспечивается 15 знаков слева от десятичной точки и 4 знака справа. Денежное поле занимает 8 байт на диске.

Числовые и денежные поля имеют стандартный формат отображения (Формат. Правила представления данных на экране или при печати. В базах данных Microsoft Access определен ряд стандартных форматов для специфических типов данных, а в проектах Microsoft Access для эквивалентных типов данных SQL. Имеется также возможность создавать пользовательские форматы.), также можно создать собственный формат.

ПоказатьВыбор поля счетчика с последовательной или со случайной нумерацией

Для создания полей, в которые при добавлении записи автоматически вводится уникальное число, в Microsoft Access существует тип данных счетчика. Созданный для записи номер уже не может быть удален или изменен. Поле счетчика может генерировать три типа чисел: последовательно возрастающие на единицу, случайные числа, а также коды репликации (также называемые GUID — глобальные уникальные идентификаторы). Наиболее часто используется счетчик последовательно возрастающих чисел. Такой тип счетчика удобно использовать как первичный ключ (Первичный ключ. Одно или несколько полей (столбцов), комбинация значений которых однозначно определяет каждую запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах.) таблицы. Счетчик случайных чисел создает случайный номер для каждой записи в таблице. Код репликации используется при репликации базы данных (Репликация базы данных. Процесс создания двух или нескольких копий (реплик) одной базы данных Access. В репликах возможна синхронизация изменений, внесенных в данные одной из реплик, или синхронизация изменений макета, выполненных в основной реплике.) для создания уникальных идентификаторов, обеспечивающих синхронизацию реплик (Реплика. Копия базы данных, которая является компонентом набора реплик и допускает синхронизацию с другими репликами в наборе. Изменения данных реплицированной таблицы, сделанные в одной из реплик, передаются в другие реплики и в основную реплику набора.).

ПоказатьТипы данных проекта Microsoft Access (SQL Server)

Тип объектов, содержащих данные, зависит от типа этих данных (текст, целые числа, двоичные числа и т. д.). Ниже приведены объекты и их тип данных.

  • Столбцы в таблицах и представлениях.
  • Параметры в сохраненных процедурах.
  • Переменные.
  • Функции Transact-SQL, возвращающее одно или несколько значений определенных типов.
  • Сохраненная процедура с возвращаемым кодом, который всегда имеет целочисленный тип данных.

Присвоение типа данных объекту определят четыре его атрибута.

  • Тип данных объекта. Например: текст, целые или двоичные числа.
  • Длина сохраняемого значения или его размер. Длина типов данных image, binary и varbinary определяется в байтах. Длина любых числовых типов данных определяется числом байтов, необходимым для хранения максимально допустимого числа разрядов данного типа данных. Длина текстовой строки и типа данных Юникод определена в знаках.
  • Число цифр (только числовые типы данных). Число цифр определяет максимально допустимое число разрядов числа. Например, объект типа smallint может хранить до 5 разрядов; число цифр для него равняется 5.
  • Точность числа (только числовые тип данных). Точностью называют максимально допустимое число разрядов справа от десятичной точки. Например, объект типа int не имеет десятичной точки и его точность равна 0. Объекты типа money имеют до 4 разрядов справа от десятичной точки и их точность равна 4.

Например, если для объекта определен тип money, то он может содержать до 19 разрядов, из которых 4 могут быть справа от десятичной точки. Для хранения данных объекта используются 8 байтов. Поэтому тип данных money имеет число цифр 19, точность 4 и длину 8.

Все данные, сохраняемые на SQL Server, должны быть совместимы с одним из этих типов данных. Тип данных cursor является единственным типом данных, который не может быть присвоен столбцу таблицы. Он используется только для переменных и параметров сохраненных процедур.

Допускается также создание типов данных, определяемых пользователем. Ниже приведены примеры.

-- Create a birthday datetype that allows nulls.
EXEC sp_addtype birthday, datetime, 'NULL'

            
-- Create a table using the new data type.
CREATE TABLE employee
emp_id char(5)
emp_first_name char(30)
emp_last_name char(40)
emp_birthday birthday
            

Тип данных, определяемый пользователем, всегда определяется через базовые типы данных. Они обеспечивают алгоритм назначения более содержательных имен типов данных, чем типы значений объекта. Это помогает программисту и администратору базы данных понять, для чего предназначены объекты, определенные с этим типом.

ПоказатьСравнение и соответствие типов данных базы данных и проекта Microsoft Access

В следующей таблице сравниваются типы данных (Тип данных. Характеристика поля, определяющая тип данных, который может содержать это поле. Существуют следующие типы данных: Boolean, Integer, Long, Currency, Single, Double, Date, String и Variant (по умолчанию).) в базе данных Microsoft Access (База данных Microsoft Access. Совокупность данных и объектов (например, таблиц, запросов или форм), относящихся к определенной задаче.) и в проекте Microsoft Access (Проект Microsoft Access. Файл Microsoft Access, имеющий подключение к базе данных Microsoft SQL Server, который используется для создания приложений в архитектуре клиент/сервер. Файл проекта не содержит никаких данных или объектов определения данных, таких как таблицы и представления.).

Тип данных Microsoft Access Тип данных SQL Server
Логический (Логический тип данных. Тип данных поля, при котором поле может содержать одно из двух значений, например «Да» и «Нет» или True и False. Значения Null не допускаются.) bit (Тип данных bit. В проекте Microsoft Access — тип данных для сохранения битовых данных (которые могут принимать значения 1 или 0). Целые значения, отличные от 1 или 0, принимаются, но всегда интерпретируются как 1.)
Числовой (Числовой тип данных. Тип данных поля в базе данных Microsoft Access, предназначенный для сохранения чисел, используемых в математических расчетах. Для сохранения денежных значений и для выполнения расчетов с ними рекомендуется использовать тип данных «Денежный».) (Байт) tinyint (Тип данных tinyint. В проекте Microsoft Access — тип данных с размером 1 байт (8 бит) для сохранения целых значений в диапазоне от 0 до 255.)
Числовой (Целое) smallint (Тип данных smallint. В проекте Microsoft Access — тип данных размером 2 байт (16 бит) для сохранения целых чисел в диапазоне от -2^15 (-32768) до 2^15 - 1 (32767).)
Числовой (Длинное целое) int (Тип данных int. В проекте Microsoft Access — тип данных размером 4 байт (32 бит) для сохранения целых чисел в диапазоне от -2^31 (-2147483648) до 2^31 - 1 (2147483647).)
Числовой (Одинарное с плавающей точкой) real (Тип данных real. В проекте Microsoft Access — тип данных для приближенного сохранения десятичных значений с точность до семи разрядов. Может содержать положительные значения приблизительно от 1,18E-38 до 3,40E+38, отрицательные значения приблизительно от -1,18E-38 до -3,40E+38 или нуль.)
(отсутствует) bigint (Тип данных bigint. В проекте Microsoft Access — тип данных размером 8 байт (64 бит) для сохранения целых чисел в диапазоне от -2^63 (-9223372036854775808) до 2^63-1 (9223372036854775807).)
Числовой (Двойное с плавающей точкой) float (Тип данных float. В проекте Microsoft Access — тип данных для приближенного сохранения десятичных значений. Может содержать положительные значения приблизительно от 2,23E-308 до 1,79E+308, отрицательные значения приблизительно от -2,23E-308 до -1,79E+308 или нуль.)
Денежный (Денежный тип данных. Денежный тип данных используется в базе данных Microsoft Access для проведения расчетов с денежными значениями или для вычислений с фиксированной точкой, в которых требуется высокая точность.)

money (Тип данных money. В проекте Microsoft Access — тип данных для сохранения денежных значений в диапазоне от -922337203685477,5707 до 922337203685477,5807 с точностью до одной десятитысячной денежной единицы.)

smallmoney (Тип данных smallmoney. В проекте Microsoft Access — тип данных для сохранения денежных значений в диапазоне от -214748,3648 до 214748,3647 с точностью до одной десятитысячной денежной единицы. При отображении значений типа smallmoney они округляются до двух десятичных знаков.)

Действительное/числовой (Тип данных decimal (база данных Access). Тип данных для сохранения с высокой точностью десятичных значений в диапазоне от -10^28 - 1 до 10^28 - 1. Пользователь может указать масштаб (максимальное общее число разрядов) и точность (максимальное число разрядов справа от десятичной точки).)

decimal (Тип данных decimal (проект Microsoft Access). Тип данных для сохранения с высокой точностью десятичных значений в диапазоне от -10^38 - 1 до 10^38 - 1. Пользователь может указать масштаб (максимальное общее число разрядов) и точность (максимальное число разрядов справа от десятичной точки).)

numeric (Тип данных numeric. В проекте Microsoft Access — тип данных для сохранения с высокой точностью десятичных значений в диапазоне от -10^38 - 1 до 10^38 - 1. Пользователь может указать масштаб (максимальное общее число разрядов) и точность (максимальное число разрядов справа от десятичной точки).)

Дата, время (Тип данных «Дата/время». Тип данных баз данных Microsoft Access, предназначенный для сохранения значений даты и времени.)

datetime (Тип данных datetime. В проекте Microsoft Access — тип данных для сохранения значений даты-времени в диапазоне от 1 января 1753 г. до 31 декабря 9999 г., задаваемых с точностью до 3,33 миллисекунд.)

smalldatetime (Тип данных smalldatetime. В проекте Microsoft Access — тип данных для сохранения значений даты-времени с меньшей точностью, чем в типе datetime. Диапазон значений: от 1 января 1900 г. до 6 июня 2079 г. с точностью до одной минуты.)

Счетчик (Тип данных «Счетчик». Тип данных поля в базе данных Microsoft Access, в котором для каждой добавляемой в таблицу записи в поле автоматически заносится уникальное числовое значение. Поле счетчика может содержать значения трех типов: последовательные, случайные и коды репликации.) (Последовательные) int (Тип данных int. В проекте Microsoft Access — тип данных размером 4 байт (32 бит) для сохранения целых чисел в диапазоне от -2^31 (-2147483648) до 2^31 - 1 (2147483647).) (с определенным свойством Идентификация)
Текстовый (Текстовый тип данных. Тип данных поля в базе данных Microsoft Access. Текстовые поля могут содержать до 255 знаков или меньшее число знаков, указанное в значении свойства Размер поля (FieldSize).) (n)

varchar(n) (Тип данных varchar (n). В проекте Microsoft Access — тип данных для сохранения данных переменной длины с максимальным размером до 8000 знаков ANSI.)

nvarchar(n) (Тип данных nvarchar(n). В проекте Microsoft Access — тип данных для сохранения данных переменной длины с максимальным размером до 4000 символов Юникода. Юникод использует 2 байта на символ и поддерживает все национальные наборы символов.)

Поле MЕМО (Тип данных «Поле МЕМО». Тип данных поля в базе данных Microsoft Access. Поле МЕМО может содержать до 65535 символов.) text (Тип данных text. В проекте Microsoft Access — тип данных для сохранения значений переменной длины с максимальным размером до 2^31 -1 (2147483647) знаков; длина по умолчанию 16.)
Объекты OLE (Тип данных «Поле объекта OLE». Тип данных поля, используемый для сохранения объектов из других приложений, связанных или внедренных в базу данных Microsoft Access.) image (Тип данных image. В проекте Microsoft Access — тип данных для сохранения двоичных данных переменной длины с максимальным размером 2^31 - 1 (2147483647) байт. Используется для сохранения объектов BLOB (Binary Large Objects), таких как рисунки, документы, звукозаписи и откомпилированные программы.)
Код реплики (также используется название глобальный уникальный идентификатор (Код реплики (GUID). 16-байтовое поле в базе данных Microsoft Access, используемое для уникальных идентификаторов при репликации. Коды GUID используются для идентификации реплик, наборов реплик, таблиц, записей и других объектов. В базах данных Microsoft Access коды GUID называются кодами реплик.) (GUID)) uniqueidentifier (Тип данных uniqueidentifier. В проекте Microsoft Access — 16-байтовый глобальный уникальный идентификатор (GUID).) (SQL Server версии 7.0 или более поздней)
Гиперссылка (Тип данных «Гиперссылка». Тип данных для полей в базе данных Microsoft Access, предназначенных для хранения гиперссылок. Адрес гиперссылки может состоять максимум из четырех частей и записывается в следующем формате: Отображаемый текст#адрес#дополнительный адрес#.) char (Тип данных char. В проекте Microsoft Access — тип данных для сохранения значений фиксированной длины с максимальным размером до 8000 знаков ANSI.), nchar (Тип данных nchar. В проекте Microsoft Access — тип данных для сохранения значений фиксированной длины с максимальным размером до 4000 символов Юникода. Юникод использует 2 байта на символ и поддерживает все национальные наборы символов.), varchar, nvarchar (со свойством Гиперссылка, имеющим значение «Да»)
(отсутствует) varbinary (Тип данных varbinary. В проекте Microsoft Access — тип данных для сохранения двоичных данных переменной длины с максимальным размером до 8000 байт.)
(отсутствует) smallint (Тип данных smallint. В проекте Microsoft Access — тип данных размером 2 байт (16 бит) для сохранения целых чисел в диапазоне от -2^15 (-32768) до 2^15 - 1 (32767).)
(отсутствует) timestamp (Тип данных timestamp. В проекте Microsoft Access — тип данных для значений даты-времени, автоматически обновляемых при каждой вставке или обновлении строки. Значения в столбцах timestamp не являются данными типа datetime; они имеют тип binary(8) или varbinary(8) и указывают последовательность изменений данных в базе данных.)
(отсутствует)

char

nchar

(отсутствует) sql_variant (Тип данных sql_variant. В проекте Microsoft Access — тип данных для сохранения значений различных типов данных, за исключением типов text, ntext, image, timestamp и sql_variant. Используется в столбцах, параметрах, переменных или возвращаемых значениях функции, определяемой пользователем.)
(отсутствует) определяемый пользователем (Определяемый пользователем тип данных. Описание типа данных, которые может содержать столбец, в базе данных Microsoft SQL Server. Это описание создается пользователем на основе существующих типов данных SQL Server. Правила и значения по умолчанию могут присоединяться только к типам данных, определяемым пользователем.)

 Примечание.   В проекте Microsoft Access или в базе данных SQL Server префикс «n» является сокращением от «national» и означает, что тип данных подходит для кодировки Юникод. В базе данных Microsoft Access все текстовые столбцы по умолчанию являются пригодными для кодировки Юникод.

 
 
Применимо к:
Access 2003