- •Isbn © СибАгс, 2009
- •Тема 1. Роль и место баз данных в автоматизированных информационных системах 6
- •Тема 2. Модели бд 18
- •Тема 3. Реляционная модель бд 27
- •Предисловие
- •Тема 1. Роль и место баз данных в автоматизированных информационных системах
- •Технология субд
- •Размещение и архитектура субд
- •Функции субд
- •Тема 2. Модели бд
- •Модели организации данных Иерархическая модель хранения данных
- •Сетевая модель данных
- •Типы связей в модели
- •Тема 3. Реляционная модель бд
- •Структура реляционной базы данных
- •Типы данных
- •Ограничения целостности бд
- •Аномалии вставки (insert)
- •Аномалии обновления (update)
- •Аномалии удаления (delete)
- •Тема 4. Проектирование бд
- •Проектирование по методу erd-модели
- •Инфологическое проектирование баз данных
- •Структура бд
- •Количество таблиц и их имена
- •Типы данных и типы полей
- •Тема 5. Работа в субд Access
- •Мастера Access
- •Нормализация
- •Создание таблиц
- •Определение связей и обеспечение целостности данных
- •Создание форм для ввода данных
- •Создание запросов
- •Создание отчетов
- •Варианты заданий для лабораторной работы
- •Заключение
- •Литература Основная литература
- •3.3.2. Дополнительная литература
- •Глоссарий
Типы данных и типы полей
Кроме имени у каждого поля существует набор свойств, часть которых задается пользователем, а часть—автоматически, как следствие "назначенных" свойств. Выбирая свойства поля, необходимо ясно представлять, какая информация будет в нем храниться, как будет формироваться и каковы ограничения на ввод, так как Access позволяет контролировать данные при вводе. Свойства поля определяются типом данных, которые будут в нем храниться.
При выборе типа данных, используемых в поле, необходимо учитывать следующее:
Какие значения должны отображаться в поле? Например, нельзя хранить текст в поле, имеющем числовой тип данных.
Сколько места необходимо для хранения значений в поле.
Какие операции должны производиться со значениями в поле. Например, суммировать значения можно в числовых полях и в полях, имеющих валютный формат, а значения в текстовых полях и полях объектов OLE нельзя.
Нужна ли сортировка или индексирование поля. Сортировать и индексировать поля MЕМО, гиперссылки и объекты OLE невозможно.
Необходимо ли использование полей в группировке записей в запросах или отчетах? Поля MЕМО, гиперссылки и объекты OLE использовать для группировки записей нельзя.
Каким образом должны быть отсортированы значения в поле? Числа в текстовых полях сортируются как строки чисел (1, 10, 100, 2, 20, 200 и т.д.), а не как числовые значения. Для сортировки чисел как числовых значений используются числовые поля или поля, имеющие денежный формат. Также многие форматы дат невозможно отсортировать надлежащим образом, если они были введены в текстовое поле. Для обеспечения сортировки следует использовать поле типа «Дата/время».
В Microsoft Access определены девять типов полей: «Текстовый», «Числовой», «Денежный», «Дата/время», «Логический», «Счетчик», «Поле MEMO», «Гиперссылка», «Поле объекта OLE».
В таблице 8 указаны все типы данных в Microsoft Access, их использование и размеры. Размер данных, указанный в таблице, говорит о возможном полученном объеме информации с точки зрения пользователя. Длина соответствующего поля будет иной. Так, при указании типа данных "Объект" в записи таблицы появится поле с типом "Объект", длина которого 4 байта. Но включить в БД таким образом можно рисунок, текст или другой документ размером до 1 гигабайта.
Таблица 8. Типы полей, размеры, требуемые для сохранения значений, и диапазоны допустимых значений
Тип данных |
Размер |
Диапазон значений |
Byte (байт) |
1 байт |
От 0 до 255. |
Boolean (логический) |
2 байт |
True или False. |
Integer (целое) |
2 байт |
От -32 768 до 32 767. |
Long (длинное целое) |
4 байт |
От -2 147 483 648 до 2 147 483 647. |
Single (с плавающей точкой обычной точности) |
4 байт |
От -3,402823E38 до -1,401298E-45 для отрицательных значений; от 1,401298E-45 до 3,402823E38—для положительных значений. |
Double (с плавающей точкой двойной точности) |
8 байт |
От -1,79769313486232E308 до -4,94065645841247E-324 для отрицательных значений; от 4,94065645841247E-324 до 1,79769313486232E308—для положительных значений. |
Currency (денежный) |
8 байт |
От -922 337 203 685 477,5808 до 922 337 203 685 477,5807 |
Decimal (масштабируемое целое) |
14 байт |
+/-79 228 162 514 264 337 593 543 950 335 без дробной части; +/-7,9228162514264337593543950335 с 28 знаками справа от запятой; минимальное ненулевое значение имеет вид +/-0,0000000000000000000000000001. |
Date (даты и время) |
8 байт |
От 1 января 100 г. до 31 декабря 9999 г. |
Object (объект) |
4 байт |
Любой указатель объекта. |
String (строка переменной длины) |
10 байт + длина строки |
От 0 до приблизительно 2 миллиардов. |
String (строка постоянной длины) |
Длина строки |
От 1 до приблизительно 65 400. |
Variant (числовые подтипы) |
16 байт |
Любое числовое значение вплоть до границ диапазона для типа Double. |
Variant (строковые подтипы) |
22 байт + длина строки |
Как для строки (String) переменной длины. |
Тип данных, определяемый пользователем (с помощью ключевого слова Type) |
Объем определяется элементами |
Диапазон каждого элемента определяется его типом данных. |
Замечания:
Массивы любых типов данных требуют 20 байт памяти плюс 4 байта на каждую размерность массива плюс число байт, требуемых для хранения данных. Объем памяти, требуемый для сохранения данных, рассчитывается как произведение числа элементов на размер элемента. Например, данные в одномерном массиве, который содержит четыре элемента типа Integer, требующих по 2 байта на элемент, занимают 8 байт. Вместе с 20 байтами на массив и 4 байтами на размерность общий требуемый объем составляет 32 байта.
Значение типа Variant, содержащее массив, требует 12 байт в дополнение к объему, требуемому массивом.
