Создание новых таблиц в базе данных
Для создания новой таблицы можно воспользоваться контекстной вкладкой Режим таблицы (рис.7). Другие средства для создания таблиц размещены на вкладке Создание. Новую таблицу можно построить на основе шаблонов таблиц. Если вы создаете новый список на узле SharePoint, то вместе с ним создается и связанная таблица в текущей базе данных. Удобным средством для создания таблиц является Конструктор таблиц.
Для создания новой таблицы в режиме конструктора необходимо на вкладке Создание выбрать команду Конструктор таблиц. Откроется окно конструктора Таблица 1. (рис. 8). Конструктор позволяет создать структуру новой таблицы («шапку» таблицы), то есть определить, сколько столбцов будет иметь таблица, как называется каждый столбец, какие данные планируется записывать в каждый столбец и т.д. Окно конструктора содержит три столбца: Имя поля, Тип данных и Описание. В каждой строке вводится информация, описывающая одно поле (столбец) создаваемой таблицы.
Исследуйте содержимое этого окна, последовательно вводя в таблицу данные, представленные на рис. 8. Имя поля может содержать не больше 64 символов и состоять из букв, цифр, пробелов и знаков пунктуации. Для ввода имени поля таблицы нужно установить курсор в соответствующую строку столбца Имя поля конструктора. Каждый атрибут представляется в строке таблицы БД значением определенного типа. По умолчанию в Access полю присваивается тип Текстовый. Пользователь имеет возможность задать свой тип для определяемого поля: при перемещении курсора в столбец Тип данных в соответствующей ячейке появляется кнопка раскрывающегося списка, которая позволяет раскрыть список всех используемых в Access типов данных.
Рисунок 8. Диалоговое окно конструктора таблиц
В этом списке можно выбрать нужный тип, соответствующий назначению атрибута:
¨ Текстовый тип используется для хранения любой последовательности символов. Текстовые поля могут содержать до 255 символов (по умолчанию длина равна 50 символам).
¨ Тип Числовой используется для представления числовых данных (кроме денежных сумм).
¨ Тип Дата/время предназначен для хранения даты и/или времени.
¨ Тип Счетчик используется для автоматической нумерации добавляемой записи. В первой записи таблицы этому полю автоматически присваивается значение 1. Значение этого атрибута в каждой следующей записи увеличивается на 1. Можно также задать случайный выбор значений.
¨ Денежный типиспользуется для хранения числовых значений денежных сумм. Использование этого типа позволяет избежать ошибок округления.
¨ Логический тип применяется для хранения логических величин, принимающих только два значения типа Да (некоторое условие выполнено) и Нет (соответствующее условие не выполнено).
¨ Поле MEMO используется для хранения текста большого объема (свыше 65 тыс. символов).
Кроме того, используются Поля объекта OLE, содержащие объект OLE (такой объект может содержать документ другого приложения Windows: текстовый документ или таблицу, аудио- или видеозапись, рисунок и т.п.), поля типа "Гиперссылка", содержащие буквенно-цифровой идентификатор – адрес гиперссылки, указывающий путь к другому объекту, документу или Web-вкладке. Мастер подстановок используется для задания набора значений, которые может принимать это поле (например, если значения поля представляют коды, заданные в некотором словаре (например, районов города), то можно указать, что поле должно содержать только коды, перечисленные в этой таблице-словаре).
В нижней части окна после определения типа поля на специальных вкладках (раздел Свойства Поля) можно задать параметры, устанавливаемые для значения каждого типа данных. Например, для текстовых данных определяется их размер, формат и маска ввода, значение, устанавливаемое по умолчанию, обязательно ли вводить значение в это поле, допустима ли в качестве значения пустая строка и т.д. Свойство поля может быть введено с клавиатуры в соответствующем поле ввода как символьная строка, выбрано из списка (тогда при выборе этого свойства справа от поля ввода появляется кнопка раскрытия списка) или сформировано в специальном диалоговом окне, раскрываемом кнопкой, содержащей обозначение ... , появляющейся после выбора этого поля справа от строки ввода.
Для многих типов (например, Значение по умолчанию или Условие на значение) можно указать специальные условия, которым должно удовлетворять данное поле. Эти условие определяется в окне Построителя выражений, открываемом щелчком по кнопке ... , расположенной справа от поля ввода этого параметра (рис. 9). Сообщение об ошибке, может быть выведено при неправильном вводе, не удовлетворяющем заданным условиям. Таблицу можно проиндексировать по значениям, расположенным в некоторых столбцах (обычно – по ключевым значениям), что ускоряет поиск и сортировку в ней данных.
Рисунок 9. Диалоговое окно Построитель выражений
Формат поля и Условие на значение – это наиболее мощные средства. Формат поля определяет вид данных в поле таблицы. При описании формата используются специальные символы (как и в Excel).
Если поле ввода содержит символьные константы (т.е. в одних и тех же позициях вводимой строки должны постоянно появляться одни и те же символы) и позиции для заполнения, то можно задать свойство Маска ввода. Это свойствообеспечивает соответствие данных определенному формату, а также заданному типу значений, вводимых в каждую позицию. При вводе данных символы шаблона, выбранные в маске и размещенные в нужных позициях, заменяются вводимыми символами.
Если для поля определены как формат отображения, так и маска ввода, то при добавлении и редактировании данных используется маска ввода, а параметр Формат поля определяет отображение данных при сохранении записи. Если используются оба свойства, результаты их действий не должны противоречить друг другу.
Выражения, определяющие условия и записываемые с помощью Построителя выражений (рис. 9), могут включать символы математических операций, операций сравнения, вызовы функций, скобки, а в качестве операндов могут использоваться константы и имена полей, заключенные в квадратные скобки. Для ввода выражения можно использовать имеющиеся в окне кнопки, элементы списков (значки списков похожи на значки папок, их можно раскрыть двойным щелчком по значку). Более подробную информацию по этому вопросу можно найти в справочной системе или специальной литературе [1].
Заполнение раздела Описание (комментария) окна конструктора является необязательным.
Для определения и изменения структуры разрабатываемой таблицы достаточно щелкнуть внутри соответствующего поля и внести необходимые изменения.
Для вставки нового поля следует поместить указатель в то место, куда должно быть вставлено новое поле и выполнить команду вставки строки (Вкладка Конструктор, группа Сервис, команда Вставить строки). Для удаления поля его нужно выделить щелчком мыши на кнопке слева от имени поля и выполнить команду Удалить строки.
Для определения ключевых полей следует выделить их (если ключ является составным, выбирается сначала первое поле щелчком на кнопке, расположенной слева от названия поля, а затем при нажатой клавише Ctrl выделяются остальные поля) и выбрать команду Ключевое поле. Рядом с выбранными полями появится пиктограмма ключа. Выбор поля в качестве ключевого можно отменить теми же средствами.
Если ключевые поля не заданы, то при сохранении таблицы Access предложит их создать автоматически. Ключевые поля размещаются в таблице первыми.
Для сохранения созданной таблицы можно закрыть окно с помощью кнопки на его заголовке. Появится запрос о том, нужно ли сохранять внесенные в таблицу изменения. В открывшемся диалоговом окне нужно ввести имя таблицы. Если при сохранении таблицы Access обнаружит ошибки, на экране появится соответствующее сообщение и операция не будет выполнена. После исправления обнаруженных ошибок операцию можно повторить.
Значок созданной таблицы появляется в окне создаваемой БД.
Задание 2. Создайте первую таблицу Клиенты, выполнив следующие операции:
1. Установите курсор в столбец Имя поля первой строки окна Конструктора таблиц. Введите имя столбца создаваемой таблицы НомерКлиента. Обратите внимание на то, что имена полей записываются без пробелов как одно слово.
2. Переведите курсор в поле Тип данных той же строки. Из списка возможных типов выберите тип Счетчик.
3. Щелкните по кнопке Ключевое поле на вкладке Конструктор в группе Сервис, указывая, что данное поле будет первичным ключом таблицы (слева от имени поля появится значок ключа). По ключевому полю автоматически будет выполняться индексация. Все значения счетчика будут автоматически определяться Access и будут уникальными для таблицы. В строке Индексированное поле должно быть установлено Да(Совпадения не допускаются).
4. Повторите шаги 1 и 2 для второй строки, указав имя поля ФИО и выбрав для него текстовый тип. Укажите, что максимальная длина поля должна быть равна 30, установив курсор в строчку Размер поля на вкладке Общие в разделе Свойства поля окна конструктора. Для данного поля можно указать маску ввода, которая позволит контролировать правильность ввода данных. Введенная с клавиатуры маска >L.>L.>L<????????????????????????? позволит вводить пользователю только буквы (точки после инициалов будут расставляться автоматически), причем будет автоматически выполняться перевод инициалов и первой буквы фамилии на верхний регистр (буквы будут заглавными). Введенные в соответствии с этой маской данные будут отображаться в таблице в следующем виде: после ввода в поле ФИО БД строки пппетров запомнится значение П.П.Петров. Укажите, что ввод данного поля обязателен (в строке Обязательное поле нужно установить значение Да), пустая строка в нем не допускается (в строке Пустые строки задается значение Нет).
5. Повторите описанные выше шаги для следующей строки, в которой должен быть записан адрес (маску задавать не нужно, индексировать по этому полю также не нужно).
6. Закройте окно Конструктора с помощью кнопки Закрыть, сохранив внесенные изменения, при закрытии задайте имя таблицы - Клиенты.
Задание 3. С помощью конструктора таблиц самостоятельно разработайте структуру таблицы Услуги. Названия полей этой таблицы приведены на рис.5. Используйте следующие типы полей: КодУслуги – Счетчик (ключевое поле); Наименование – текстовое поле (длина до 20, обязательное поле, пустые строки не допускаются); Стоимость – числовое поле, целое, положительное, обязательное (Условие на значение - >0), сообщение об ошибке – Допустимы только целые положительные значения.
Задание 4. Разработайте структуру таблицы Исполнители, используя для ее полей следующие параметры: НомерИсполнителя – счетчик, ключевое поле, совпадения не допускаются; ФИО задается аналогично соответствующему полю в таблице Клиенты.
Задание 5. Разработать структуру таблицы Заказы, определив для ее полей следующие параметры:
- Поле НомерЗаказа имеет тип Счетчик и является ключевым, совпадения не допускаются.
- Поля НомерКлиента, КодУслуги и НомерИсполнителя являются внешними ключами. Они соответствуют ключевым полям из связанных таблиц, поэтому типы этих полей должны соответствовать типам полей в основных таблицах (счетчикам) и могут иметь только числовой тип (размер Длинное целое). Так как связи между таблицами имеют тип Один-ко-многим», необходимо выполнить индексацию по этим полям и установить для индексированного поля значение Да(Допускаются совпадения).
- Поля ДатаПриема и ДатаИсполнения являются обязательными, они имеют тип Дата/время и для них определен формат поля - Краткий формат даты).
- Обязательное поле Оплачено имеет логический тип. Значение, принимаемое по умолчанию, для этого поля не задается.
Используя предлагаемую методику, пользователь может создать любое количество таблиц и определить свойства каждого поля каждой таблицы. На этом этапе проектирования базы данных создаются пустые таблицы. Для их заполнения лучше использовать другие средства. Перед заполнением таблиц необходимо установить связи между таблицами.
Вопросы для самоконтроля:
4. Какие режимы создания таблиц используются в СУБД?
5. Назначение Конструктора таблиц.
6. Какие типы данных используются в БД? Как выбрать тип данных?
7. Что такое свойства поля? Как их задать?
8. Что такое Условие на значение? С помощью какого диалогового окна оно задается?
9. Как вызвать Построитель выражений? Как им пользоваться?
10. Что такое Маска ввода? Какие возможности она предоставляет пользователю и как ее задать?
11. Что такое ключ? Как определить ключевое поле (составное ключевое поле). Как создать новую пустую базу данных?
Задание 6. Самостоятельно сформулируйте и запишите вывода по лабораторной работе 1.