Учебное пособие Санкт-Петербург 2007 удк алексеева С. Ф., Большаков В. И. Информационные технологии управления: Учебное пособие. Спб.: Изд. СпбгукиТ, 2007. 97 с

Вид материалаУчебное пособие

Содержание


3. Базы данных и системы управления базами данных
База данных
Система управления базами данных
Вид Режим таблицы
Первый шаг мастера
На первом шаге
На втором шаге
На четвертом шаге
На шестом шаге
На последнем шаге
На первом шаге
На втором шаге
Подобный материал:
1   2   3   4   5   6   7

3. БАЗЫ ДАННЫХ И СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ


С понятием база данных встречается любой современный человек, понимая ее как хранилище информации об объектах реального мира, точнее говоря о какой либо его части, называемой предметной областью. В качестве предметной области может выступать любая организационно-экономическая система – фирма, учебное заведение, производственное предприятие. Характеризуя структуру и способ объединения информации в базе данных, можно ввести следующие основные понятия.

База данных (БД) – это совокупность специальным образом организованных данных, относящихся к некоторой предметной области и находящихся под управлением системы управления базой данных.

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

Специальная организация данных в БД определяется типом модели данных, положенной в ее основу. БД используют три основных модели данных - реляционную, иерархическую и сетевую. Большинство СУБД для персональных компьютеров построены на основе реляционной модели. Термин "реляционная" происходит от английского слова Relation (отношение). Отношением в теории БД называется табличное представление данных об объектах предметной области и их взаимосвязях. Например, данные о товарах, реализуемых некоторой фирмой, могут быть представлены в виде таблицы


Таблица 2 Товар

КодТов

Наименование

Изготовитель

Цена



235

Принтер

Япония

4578















Каждый столбец таблицы называется полем и имеет уникальное имя. Совокупность данных строки представляет собой запись. Таблица является основной единицей хранения информации в БД.

Весь дальнейший материал излагается применительно к работе в среде СУБД MS Access, входящей в состав пакета MS Office 2003. Основными объектами данной системы являются таблицы, запросы, формы и отчеты. Средства, входящие в систему обеспечивают возможность автоматизации работы с БД путем использования макросов и программ на языке VBA.

В предлагаемом материале рассмотрены только основные возможности MS Access – создание и редактирование таблиц и запросов к БД, разработка пользовательских форм ввода/вывода данных. Для углубленного изучения возможностей СУБД необходимо обратиться к списку рекомендуемой литературы.

3.1. Создание новой базы данных


Создание новой базы данных (БД) начинается с указания типа объекта, имени базы и папки для сохранения:
  • запустите MS Access,
  • в окне задач выберите элемент Создать файл,
  • в окне создания выберите элемент Новая база данных,
  • задайте имя БД, папку для сохранения и нажмите кн. Сохранить.

После сохранения на экране появляется окно базы данных (рис. 1), в левой части которого расположена панель объектов (таблицы, запросы и т.д.). По умолчанию активным является объект "Таблицы". В верхней части экрана отображена панель инструментов для активного объекта. В основном поле окна предлагается набор элементов меню для создания экземпляра активного объекта БД.


3.2.Создание таблиц базы данных

Создание таблицы БД предполагает выполнение двух этапов:

- конструирование макета таблицы и

- заполнение таблицы данными.


3.2.1. Формирование макета таблицы

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

Активизируйте объект "Таблицы". Для создания макета можно использовать:


кн. Создать на панели инструментов

один из элементов меню в основном поле окна БД


В первом случае будет предложен набор средств создания макета (Конструктор, Мастер и т.д.), во втором варианте Вам предстоит выбрать элемент меню, соответствующий конкретному средству макетирования. Наиболее полным набором возможностей макетирования обладает "Конструктор", которым мы будем пользоваться в дальнейшем.

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

Ввод имени поля

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


Выбор типа поля

Каждое поле содержит данные одного типа. В MS Access можно использовать данные следующих основных типов:


Текстовый -

символьная строка длиной до 255 элементов

Числовой -

вещественные или целые значения различного размера

Дата / время -

данные о дате и времени в различных форматах

Memo -

произвольный текст размером до 64 кб

Денежный -

числовой формат денежных величин

Счетчик -

числовой тип, значения которого меняются автоматически с шагом единица (или являются случайными числами)


Помимо перечисленных типов могут использоваться логический тип, гиперссылки, поля типа OLE, Мастер подстановок. Некоторые из этих средств будут рассмотрены далее при изучении специальных задач.


Описание поля

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


Задание свойств полей

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

Размер поля – для текстового поля устанавливает максимальное число символов в данных поля. Значение по умолчанию – 50 символов. Для числовых полей определяет тип и диапазон числовых данных в соответствии с таблицей (приведены только часто используемые типы):



Байт

от 0 до 255

Целое

от -32768 до 32767

Длинное целое

от -2 147 438 648

до 2 147 438 648

Простое

с плавающей запятой

по модулю

от 1,401298 10-45

до 3,402823 1038
Число десятичных знаков – число знаков после десятичного разделителя (для числовых полей).

Формат – задает форму представления значений данного поля; выбирается из раскрывающегося списка или создается пользователем. Например, для поля типа Дата можно выбрать различное представление, например: 14.06.1997 , 14 июня 1997 г. или 14-июн-1997.

Значение по умолчанию – значение, которое устанавливается системой по умолчанию для новой записи. Например, для поля типа Дата бывает полезным устанавливать в новой записи текущую системную дату функцией Now().

Обязательное поле – требование обязательного ввода данных при формировании новой записи.

Индексное поле – свойство, имеющее два возможных значения (Да / Нет). Если для некоторого поля установлено это свойство, то сортировка и поиск записей по значениям данного поля выполняются значительно быстрее за счет создания и использования специального индексного файла. В то же время индексные поля увеличивают время обновления таблицы, поэтому без особой необходимости его использовать не следует.

Закончив формирование параметров текущего поля, аналогично конструируют остальные поля создаваемой таблицы.


Задание ключевого поля

В каждой таблице БД некоторое поле используется в качестве ключа1. Ключевое поле позволяет однозначно идентифицировать запись таблицы и, следовательно, не может иметь одинаковых значений в данной таблице. Завершив формирование макета, следует задать поле, которое будет ключом:

- выделите ключевое поле в окне конструктора,

- щелкните кнопку "Ключевое поле" на панели MS Access ( ).


Сохранение макета

Созданный макет сохраняется через меню

Файл Сохранить как... <ввод имени таблицы> Ok


3.2.2. Ввод и редактирование данных

Переход в режим ввода данных можно выполнить как из окна Конструктора, так и из окна БД:

из окна Конструктора

из окна базы данных

меню: Вид Режим таблицы

(возможно потребуется сохранение макета, если он был изменен)

- выделить имя таблицы

- кн. Открыть

Вид таблицы в режиме ввода данных представлен на рис. 3. Техника ввода

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

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

Для удаления записи необходимо выделить ее и нажать кнопку Удалить запись () на панели инструментов MS Access.


3.3. Создание полей специального вида

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

Первый вариант применяется, когда некоторое поле содержит одно из заранее известных фиксированных значений. Например, если при создании таблицы учета продаж (см. табл.3 Продажи) поле ТипОпл может иметь одно из трех приведенных значений, логично организовать список, выбор из которого выполняется щелчком мыши.


Таблица 2 Товар




Таблица3 Продажи

КодТов

Наимен

Цена




НомСчета

КодТов

Объем

ДатаПродажи

ТипОпл

11

Дисплей

8735




1

11

5

25.03.07

нал

21

Принтер

3647




2

21

3

12.04.07

б/нал

23

Диск

87




3

23

15

14.06.07

кредит


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


3.3.1. Создание полей, заполняемых из фиксированного списка

Итак, целью создания данной структуры является обеспечение возможности заполнения некоторого поля таблицы путем раскрытия списка и выбора подходящего элемента щелчком мыши.

Откроем таблицу, в которой организуется поле со списком в режиме Конструктора. Щелкнем имя поля, раскроем список доступных для него типов и выберем Мастер подстановок (рис. 5).

Первый шаг мастера (рис. 6) выбираем вариант формирования фиксированного набора значений, установив соответствующий переключатель. Нажав кнопку Далее, переходим ко второму шагу – формирование самого списка.

Элементы списка, как правило, размещаются в столбец2, причем для перехода к набору каждого следующего элемента используют либо клавиши со стрелками, либо мышь (нельзя применять клавишу Enter). После нажатия кнопки Далее открывается окно третьего шага мастера, где можно задать, если необходимо, подпись к столбцу подстановки, отличную от имени поля. На этом завершается формирование списка. Теперь при заполнении, например поля ТипОпл на экране появится список доступных значений как показано на рис. 7


3.3.2. Создание полей, заполняемых данными из другой таблицы/запроса

Этот вариант поля подстановки предполагает, что в раскрывающийся список включаются значения, уже имеющиеся в другой таблице (или запросе). Аналогично предыдущему варианту обращаемся к Мастеру подстановок, раскрыв список типов для данного поля в окне Конструктора.

На первом шаге мастера (рис. 6) устанавливаем переключатель в положение

"Столбец подстановки будет использовать значения из другой таблицы / запроса".

На втором шаге мастера необходимо указать имя таблицы- источника данных.

На третьем шаге мастера требуется указать, значения каких полей таблицы-источника будут отображаться при заполнении ( рис. 4). В примере, рассмотренном в начале разд. 3.3, предлагалось, что при заполнении поля КодТов в таблице 3 удобно видеть список кодов и наименований товаров. Следовательно, имена КодТов и Наименование переводим из категории "Доступные поля" в категорию "Выбранные поля" щелчком по кнопке со стрелкой (см. рис. 8).

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

На пятом шаге мастера окончательно оформляется подстановочный список, который будет отображаться при заполнении соответствующего поля таблицы. Для этого снимем флажок "Скрыть ключевой столбец" (тогда будут отображаться скрытые значения ключевого поля КодТов).

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

На последнем шаге мастера, если необходимо, можно изменить подпись.

После нажатия кнопки "Готово" и появления окна с предложением о сохранении выбираем "Да".Теперь при заполнении поля КодТов в табл. 3 экран будет соответствовать приведенному на рис. 4.


3.3.3. Связывание таблиц

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

В MS Access реализация полей подстановки с использование значений из другой таблицы (см. п. 3.3.2) автоматически приводит к созданию такой связи между двумя таблицами. Просмотр имеющихся между таблицами связей выполняется через меню

Сервис Схема данных...

или кнопкой панели инструментов ().

Для рассмотренного выше примера схема данных приведена на рис. 9. При этом ключевое поле КодТов таблицы 1 связано с полем КодТов таблицы 3(внешний ключ). Такая связь между таблицами позволяет реализовать запросы (см. далее тему "Запросы") на выборку данных из обеих таблиц одновременно.

Помимо установления связей таблиц пользователь может "поручить" MS Access следить за целостностью этих связей и непротиворечивостью данных, добавляемых в каждую из связанных таблиц. Для редактирования имеющихся связей щелкните правой кнопкой по связи и в контекстном меню выберите элемент "Изменить связь". В окне "Изменение связей" установите флажки, указанные на рис. 10 Флаг Обеспечение целостности данных просто включает этот режим. Флаг Каскадное обновление связанных полей позволяет автоматически изменить значение поля КодТов в таблице 3 (подчиненная), если он изменен в главной таблице 2. Флаг Каскадное удаление связанных записей позволяет автоматически удалить из подчиненной таблицы записи с тем значением поля КодТов, запись о котором удалена из главной таблицы 2. Схема данных представлена на рис. 11.

После каждого редактирования связей таблиц обязательно сохраните новый вариант схемы данных, выбрав в контекстном меню элемент "Сохранить макет".


3.4. Создание запросов


Создание таблиц БД – это накопление информации. Но назначение БД в большей степени заключается в том, чтобы научится извлекать нужные данные из созданных таблиц. Для этого в MS Access предусмотрен объект "Запросы". В первую очередь запросы предназначены для выборки данных по критерию, предложенному пользователем. Однако на этом их возможности не исчерпываются. Запрос может выполнить группировку выбранных записей с вычислением обобщенных показателей по группе, удалить записи, добавить записи из одной таблицы в другую и т.д. Далее будут рассмотрены запросы, осуществляющие простую выборку данных по заданному критерию - именно эти запросы используются наиболее часто.

MS Access предлагает несколько средств создания запросов на выборку. Для простых запросов чаще используется Мастер запросов, для запросов более сложной структуры – Конструктор.


3.4.1. Создание запросов с помощью Мастера

Откроем БД, перейдем к объекту Запросы (см. рис. 12).

Пример 4.1. Составим запрос к таблице 2 (Товар), позволяющий просмотреть все поля всех записей этой таблицы.

Для создания запроса можно использовать кнопку "Создать" панели инструментов или непосредственно выбрать инструмент из списка в основной части окна. Выберем элемент Создание запроса с помощью мастера.

Окно мастера представлено на рис. 12.

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

На втором шаге3 мастера предлагается выбрать тип отчета на запрос:

- подробный (показ всех записей) – предложен по умолчанию,

- итоги.

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

Нажав кнопку Далее, перейдем к следующему 4шагу мастера.