Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД ACCESS (3).doc
Скачиваний:
3
Добавлен:
06.12.2018
Размер:
1.28 Mб
Скачать

3.3. Создание таблиц. Обмен данными с Ms Excel

Рассмотрим создание таблиц с помощью «Конструктора». Это позволит выделить задание структуры таблицы в отдельный этап работы, как это предлагается в разделе «2.4. Проектирование БД». Работа идет в окне таблицы, находящемся в режиме Конструктора. Для краткости – в «окне Конструктора таблиц».

Ход работы разберем на примере создания таблиц «Жители» и «Машины» (рисунки 1 и 4). Общий алгоритм и приемы создания структуры таблицы выделены в отдельный раздел, обведенный рамкой (он расположен после упражнения). Итак, начнем с создания таблицы «Жители».

Ответьте на КОНТРОЛЬНЫЕ ВОПРОСЫ к упражнениям 1, 2 (вопросы приведены в конце пособия).

УПРАЖНЕНИЕ 1: создание структуры таблицы (макета таблицы) с помощью «Конструктора», редактирование структуры таблицы, занесение данных в таблицу

1. Выполните пункты 1 и 2 предыдущего раздела. При этом дайте БД имя «Граждане». В окне БД уже будет выбран объект «Таблица». Сделайте двойной щелчок на опции «Создание таблицы в режиме Конструктора». Появится окно «Конструктора», в котором создается структура таблицы (макет таблицы). (Общие сведения о создании структуры таблицы содержатся в разделе «2.4. Проектирование БД».) Окно «Конструктора» изображено на рисунке 10, при этом ячейки структуры и бланк внизу уже заполнены.

Рис. 10

2. Наберите имя первого поля, то есть «ФИО». Объявите это поле ключом (используйте щелчок правой кнопкой (ПК) в этой же ячейке). Соответствующий тип данных («Текстовый») появится автоматически. Внизу окна расположен бланк «Общие» для задания параметров полей. Задайте размер поля, 10 символов. Обратите внимание: ключевое поле «ФИО» автоматически стало индексом (индексированным полем). Задайте имена остальных полей и соответствующие им типы данных.

Используйте приведенные ниже, в рамке, общие указания.

Тип поля «Возраст» задайте числовой и уточните внизу в строке «Размер поля», как «Байт» (см. последний подраздел «Типы данных»).

3. Закройте окно «Конструктора». Появится окно для задания имени таблицы, занесите имя «Жители». В результате станет доступно окно БД (рисунок 9). Справа в окне появился значок с именем таблицы.

4. Занесение данных в таблицу: откройте таблицу «Жители» (двойным щелчком на имени, либо кнопкой «Открыть» на ПИ); занесите данные, учитывая тип поля. Не удается занести значение поля «ФИО»? Какое ограничение по длине на него задано? Измените это ограничение (следующий пункт).

5. Редактирование структуры таблицы: для перехода от таблицы с данными к макету структуры таблицы щелкните на ПИ кнопку на ПИ Access. (Измените размер поля «ФИО» на 30 символов.) Сохранение новой структуры: Файл, Сохранить.

6. Завершите занесение данных в таблицу (пункт 4). Создайте не менее десяти записей, при этом возраст пусть варьируется от 18 до 80 лет. Сохранение таблицы совершается автоматически после занесения очередной записи.

Замечание

На рисунке 10 поле «ФИО» указано (строка помечена маркером  ), поэтому бланк отражает сведения именно об этом поле.

Создание структуры таблицы с помощью «Конструктора»

В окне «Конструктора» (рисунок 10) нужно:

А) занести имена полей.

Б) указать, какое поле таблицы является ключевым: после набора имени этого поля (или позже, на любом этапе) щелкнуть на нем правой кнопкой мыши (ПК) и выбрать нужное в меню.

Задание составного ключа:

1) если таблица уже существует, то все ячейки полей, которые будут объявлены ключевыми, должны быть заполнены.

2) В режиме «Конструктора» выделить строки с именами ключевых полей с помощью указателя выделения строки , как это делается при работе с таблицей WORD. Если это не соседние строки, то выделять при нажатой клавише Ctrl. Далее щелкнуть правой кнопкой, не сдвигая мыши (или щелкнуть на одном из выбранных имен полей), и выбрать в меню. В) После выполнения пункта А) для некоторого поля нужно задать для него тип данного: щелкнуть в ячейке столбца «Тип данных», это даст кнопку  для раскрытия соответствующего списка-меню. Аналогично вызывается список-меню при заполнении полей на вкладке «Общие». Поле «Размер поля» на вкладке «Общие» используется для уточнения типа данного, а не только для ограничения числа символов в данных. Например, для данных числового типа уточняется, будут они десятичными дробями или целыми числами. Как следствие этого уточнения будет ограничен размер данного. Для экономии памяти размер поля желательно задавать поменьше.

Сведения о типах данных, их возможных уточнениях и соответствующих размерах данных приведены ниже в отдельном пункте.

Г) Если поле входит в составной ключ, его нужно объявить индексом: щелкнуть в поле «Индексированное поле» на вкладке «Общие», щелкнуть кнопку , выбрать «Да (совпадения не допускаются)», либо «Да (совпадения допускаются)». Для одного из полей составного ключа нужно выбрать первый вариант.

Простой ключ становится индексом автоматически.

Д) Столбец «Описание» в таблицу не войдет, он виден только на макете структуры. В этот столбец заносятся расшифровки имен полей и разного рода «заметки на память». Например, в случае поля «ФИО» в этот столбец можно записать расшифровку имени поля: «Фамилия, имя, отчество».

Е) Вариант сохранения макета структуры таблицы: Файл, Сохранить как, в верхнем поле набрать имя таблицы, в нижнем должен стоять тип объекта – «таблица».

УПРАЖНЕНИЕ 2: создание структуры таблицы с помощью «Конструктра», задание ограничений на значения полей, задание параметра «Условие на значение», копирование данных из таблицы в таблицу

В этом упражнении будут созданы таблицы «Машины» и «Опрос» (рисунки 3 и 5 в разделе 2.2).

1. Повторим общую схему начала работы с Access. Для этого после создания БД в упражнении 1 закройте Access. Откройте Access и БД «Граждане» согласно пункту 1 раздела 3.2.

2. С помощью «Конструктора» создайте структуру таблицы «Машины». Для поля «Дата регистрации» задайте тип данных «Дата/время». Задайте формат поля как «Краткий формат даты».

Кратко рассмотрим задание ограничений на значения полей, то есть ограничений на данные, которые будут вводиться в таблицу. В поле «Условие на значение» введите ограничение на возможные значения даты: >#01.01.1940# . При попытке ввести в таблицу запись, нарушающую это ограничение, Access напомнит, что ограничение было наложено. Это напоминание нужно отличать от сообщения об ошибке, которое создается самим пользователем (пункт 4 ниже). Для наложения более сложных ограничений можно вызвать «Построитель выражений» (пункт 4).

3. Создайте не менее десяти записей в таблице «Машины», при этом:

  • у одного-двух жителей пусть будет по 2-3 машины разных марок;

  • в основном марки должны быть «ауди» и «вольво» (эти данные заносите без кавычек);

  • среди значений поля «пробег» для «ауди» должны встречаться <10000;

  • среди значений поля «пробег» должны быть принадлежащие (10000;30000), а также большие 100000.

4. Создайте таблицу «Опрос» из шести записей.

а. Создание структуры таблицы

При создании структуры таблицы для поля «За/Против» задайте параметр «Условие на значение» с помощью «Построителя выражений» в виде логического выражения: ="За" Or ="Против". Вызов «Построителя»: щелчком в поле «Условие на значение» получить необходимую кнопку. Параметр «Сообщение об ошибке» задайте таким: «Введите "За" или "Против"». Это сообщение появится при попытке ввести в поле другое значение, помимо «За» или «Против». Создание логических выражений с помощью «Построителя выражений» разбирается в подразделе «Задание условий отбора…» раздела 3.5. Здесь же ограничимся примерами частных случаев логических выражений – примерами отношений. А именно, параметр «Условие на значение» может быть задан, например, следующий. Для поля «дата регистрации» – >#01.01.1940# (использовалось в пункте 3). Для поля «возраст»: >0. Это предотвратит не заполнение поля. Если возраст случайно не был занесен в таблицу, то, по умолчанию, он будет задан как 0. Но тогда появится сообщение Access о нарушении ограничения. Для поля «марка»: <> «тоёта». Эта марка в русской транскрипции может писаться по-разному. Для определенности вводить нужно только одно из двух: либо «тойота», либо «тоёта»; приведенное ограничение исключит возможность ввода «тоёта».

б. Занесение записей в таблицу

Столбец «ФИО» копируйте из таблицы «Жители»: откройте дополнительно таблицу «Жители», получите там над столбцом «ФИО» указатель , выделите столбец, и так далее. Занесение данных в «Опрос» нужно начинать с «ФИО», так как это поле ключевое. (СУБД откажется принимать данное, если в текущей записи не задано значение ключевого поля).

Копируйте из «Жители» столбцы «адрес» и «возраст». Удалите в таблице «Опрос» 2-3 произвольные записи (опрошены не все жители!). Занесите остальные данные.

Выполните пункты 1, 2 КОНТРОЛЬНОГО ЗАДАНИЯ для своего варианта.