Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
03 (1).docx
Скачиваний:
15
Добавлен:
10.04.2015
Размер:
1.93 Mб
Скачать

Создание таблиц в режиме «Конструктор»

Основные сведения о таблицах.Accessиспользует реляционную модель БД, где все данные хранятся в плоскихтаблицах. Каждая таблица содержит сведения об одном классе сущностей предметной области, например, сущность «Клиент» представлена в виде таблицы «Клиенты». Каждая строка таблицы (запись) содержит информацию об одной конкретной сущности, например, в первой строке записаны данные о клиенте «Организация А», во второй – об «Организации Б» (рисунок 5). Столбцы таблицы соответствуют атрибутам сущности, например, столбец «Организация» содержит названия фирм, столбец «Адрес» - их адреса и т.п.

Рисунок 7 - Таблица «Клиенты» в базе данных «Борей»

СУБД позволяет пользователям производить операции с таблицами: просматривать, добавлять и изменять записи, выбирать нужные и скрывать ненужные данные, производить вычисления, сортировать, соединять несколько таблиц в одну, копировать данные между таблицами и др. Результаты всех операций также представляются в виде таблиц. Главные отличия таблиц Accessот таблиц в других приложениях:

  • каждая таблица имеет имя, которое используется в описании операций;

  • каждый столбец имеет имя, по которому к нему можно обращаться из программ;

  • каждый столбец должен содержать значения только одного из возможных типов;

  • данные, относящиеся к одной строке, всегда логически связаны, так как относятся к одной сущности, поэтому упорядочивая значения в одном столбце, СУБД автоматически переставляет строки в других столбцах,

  • данные в разных таблицах могут быть логически связаны, что автоматически проверяется СУБД.

В отличие от многих других СУБД, ACCESSвключает в состав БД не только таблицы, но и другие классы объектов, которые представляют собой различныепредставленияинформации из таблиц (формы, отчеты, страницы доступа к данным) или описаниедействийнад данными в таблицах (запросы, макросы, модули). Эти объекты мы рассмотрим в следующих главах.

Все объекты Accessимеют уникальные имена. Имя объекта может включать не более 64 символов, включая пробелы и другие знаки, кроме символов точка (.), восклицательный знак (!), апостроф (‘), квадратные скобки [ ]. Рекомендуется не включать в имя пробелы и избегать слишком длинных имен, так как это осложняет программирование приложений. Хорошей практикой считается начинать имя объекта с условного обозначения его типа:t– таблица,f- форма,r- отчет,q– запрос, например –fKlient– форма «Клиент»,tKlient– таблица «Клиент».

При создании БД необходимо учитывать ограничения СУБД (приведены некоторые данные для версии 12): число полей в таблице – до 255, число объектов в БД – до 32768, число символов в имени объекта – до 64, число символов в пароле – до 14, число символов в имени пользователя – до 20, число индексов в таблице – до 32; число связей – до 32 на одну таблицу, число уровней вложения запросов – до 50, число символов для параметра запроса – до 255, число символов инструкции SQL– до 64000, число модулей – до 1000.

Кроме того, существуют ограничения по объему хранимых данных: размер таблицы – до 1 Гбайт, размер файла БД – до 2 Гбайт, число знаков в записи (кроме полей MEMO) – 4000, число знаков в полеMEMO– до 64565.

Создание и изменение таблиц. При создании таблицы рекомендуется использовать режим «Конструктора», обеспечивающий максимально полное описание всех характеристик таблицы и ее атрибутов. Выберите на ленте команду «Создание / Конструктор таблиц» (рисунок 8).

Окно конструктора таблиц

Окно общих свойств таблицы

Рисунок 8 - Создание новой таблицы в режиме конструктора

Окно режима Конструктора состоит из двух частей: в верхней половине содержится список полей таблицы и их главные свойства - имя, тип и описание, в нижней половине описываются более подробные характеристики каждого текущего поля.

Рекомендуется следующий порядок описания структуры таблицы:

  1. описать имя поля

  2. выбрать тип данных поля

  3. определить ключ, если поле ключевое

  4. повторить п. 1-3 для каждого поля таблицы

  5. сохранить таблицу в БД, задав ее имя.

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

Имена полей выбираются произвольно (см. выше ограничения на имена объектов), однако лучше избегать слишком длинных имен, не использовать пробелов, а общие поля в разных таблицах называть одинаково. В именах из нескольких слов можно каждое слово начинать с заглавной буквы или разделять слова символом подчеркивания, например: КодТовара или Код_Товара.

Тип данных определяет, какого вида данные будут храниться в поле (текст, числа, даты и т.д.), какие операции над ними сможет выполнять СУБД и сколько места они будут занимать на диске. Важно правильно определить тип поля до того, как начнется ввод данных, так как данные могут быть искажены или утеряны при изменении их типа. При определении типов данных необходимо ответить на следующие вопросы:

  • Какие значенияпредполагается вводить в поле? Например, в поле типа "Числовой" невозможно ввести текстовое значение.

  • Какой размер поляпонадобится для сохраняемых значений? Не стоит завышать размер поля, так как от этого увеличивается размер файла БД, а он не должен превышать 2 ГБ. Вместе с тем числовые поля могут хранить ограниченное количество цифр, которое может быть недостаточно для кодирования ИНН или номера телефона.

  • Какие операциипредполагается выполнять над значениями поля? Например, суммирование значений поля допускается для числовых и денежных, но невозможно для текстовых полей.

  • Потребуется ли сортировкаили индексирование поля? Поля MEMO или поля объектов OLE не допускают сортировки или индексирования.

  • Каковы правила упорядоченияданных? В текстовых полях числа сортируются по правилам сортировки строковых значений (1, 10, 100, 2, 20, 200 и т.д.), а не по правилам сортировки чисел. Для сортировки по числовым значениям следует выбрать тип поля "Числовой" или "Денежный". Кроме того, в текстовых полях невозможна правильная сортировка для многих форматов дат. Чтобы обеспечить возможность правильной сортировки значений дат, следует указать тип поля "Дата/время".

Для типов данных "Числовой", "Дата/время", "Денежный" и "Логический" можно определить различные форматы отображения с помощью свойства "Формат поля" (рисунок 9).

а)

б)

в)

Рисунок 9 - форматы полей (а – числовых, б – дат и времени, в – логических)

Таблица 1 - типы полей Access

Тип данных

Содержимое поля

Размер

Текстовый,

CHARACTER

TEXT (n)

Алфавитно-цифровые данные

До 255 символов. Максимальное число символов, которые можно ввести в поле, определяется свойством "Размер поля"

Поле MEMO,

TEXT

Длинный текст, например, примечания или описания.

До 63 999 символов.

Числовой,

SMALLINT

INTEGER

DECIMAL

REAL

Числовые данные, допускающие использование в математических вычислениях за исключением денежных расчетов (для последних определен тип "Денежный"). Конкретный числовой тип определяется значением свойства "Размер поля".

1, 2, 4 или 8 байт (16 байт для значения "Код репликации").

Дата/время,

DATETIME

Значения даты или времени.

8 байт.

Денежный

MONEY,

CURRENCY

Данные о денежных суммах с точностью 4 знака после запятой

8 байт.

Счетчик

AutoNumber

Уникальные последовательные (с шагом 1) или случайные номера, автоматически формируемые при добавлении записи.

4 байт (16 байт для значения "Код репликации").

Логиче­ский

BIT

Поля, которые могут иметь только одно значение из двух, например: Да/Нет, Истина/Ложь или Вкл/Выкл.

1 бит.

Объект OLE, IMAGE

Объект, созданный в других приложениях Windows

До 1 Гбайт

Гиперссылка

Адрес электронной почты, URL-адрес веб-узла или ссылка на документ на локальном компьютере.

До 2048 символов

Вложение,

Attachment

Набор любых файлов, допускается несколько файлов в одном поле.

Мастер подстановок

Поле, значения которого выбираются из списка допустимых значений. Список является столбцом другой таблицы или хранится в фиксированном виде в той же самой таблице.

Не используется для полей типа OLE, MEMO.

Тип данных "Счетчик" следует задавать для полей, в которые автоматически вводится номер при добавлении новой записи в таблицу (бывает последовательный счетчик и счетчик со случайной нумерацией). После создания записи этот номер невозможно изменить или удалить. Такое поле удобно для определения в качестве первичного ключа. Связанное поле в другой таблице (внешний ключ) должно быть в этом случае типа «Числовое / Длинное целое».

Протокол OLE(ObjectLinkingandEmbedding) - это механизмWindows, позволяющий включить в текущий документ объекты, созданные другими прикладными программами, и автоматически загружать эти программы для обработки объектов. Например, поле таблицы может содержать документ Microsoft Word, электронную таблицу Microsoft Excel, рисунокPaint, звуко- или видеозапись и др., однако при этом размер файла БД резко увеличивается.

Часто удобнее хранить в поле БД не сам объект, а ссылку на него, применяя тип поля «Гиперссылка». Ссылка на документ может стать неверной при перемещении БД с одного компьютера на другой: изменяется имя папки, в которой находится БД, может «потеряться» документ, на который ссылались.

Более современный способ – это хранение «вложений» в БД так, как это делается в электронных письмах. При этом в одну ячейку можно вложить несколько разнотипных файлов, например: фото сотрудника (jpg) и характеристику (doc).Accessавтоматически производит сжатие файлов, если это возможно, что позволяет более эффективно использовать память.

Описание поля. В столбце "Описание" для каждого из полей можно ввести пояснительный текст, который появляется в строке состояния внизу окнаAccessпри вводе данных в таблицу и обычно содержит краткую подсказку для пользователя.

Дополнительные свойства полей. Внижней половине окна можно задать дополнительные свойства полей, состав которых зависит от типа данных. К ним относятся: размер поля, способ отображения (формат), подпись (используется в формах и отчетах), значение по умолчанию и др. Описание правил контроля данных с помощью дополнительных свойств позволяет сэкономить время при разработке приложения, повысить точность и надежность хранимой информации.

Ключевые поля однозначно идентифицируют своим значением каждую конкретную запись, они необходимы для взаимосвязи таблиц. Некоторые таблицы могут не иметь ключа.

Как правило, ключевое поле – это числовой или буквенно-цифровой код записи, называемый ID_имя_таблицы. Например, в таблице “Клиенты” ключом является поле “ID_клиента”, которое содержит идентификатор клиента. Обычно ключевое поле имеет тип “счетчик” или “числовой / длинное целое».

Чтобы сделать поле ключевым, в режиме Конструктора щелкните по имени поля и выполните команду ленты «Конструктор / Ключевое поле», в результате должен появиться значок ключа слева от имени поля.

Если Вы забыли определить ключевое поле, то Accessнапомнит Вам об этом при сохранении таблицы (рисунок 10): выберите «Отмена», определите ключ, а затем снова сохраните таблицу. Если таблица не должна иметь ключа, то выберите кнопку «Нет». Если Вы выберите «Да», то система создает новый ключевой столбец типа «Счетчик», который может и не совпадать с тем, что запланировано при проектировании БД.

Рисунок 10 - диалог сохранения таблицы с не определенным ключом

Практическое задание

  • Откройте файл «Борей 2007»;

  • Откройте таблицу «Товары» в режиме «Конструктор», переходя по полям таблицы, сравните их типы, длину и формат.

  • Откройте свой файл БД, создайте таблицы согласно варианту задания, описав имя и тип каждого поля, определите ключевое поле.

  • На этом этапе не рекомендуется вводить данные, так как они могут содержать ошибки, не проверяемые СУБД.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]