- •Часть 1 – Работа с субд ms Assess 2003
- •Общие положения
- •1.1Организация занятий по курсу
- •1.2Требования к содержанию отчетов о выполнении лабораторных работ
- •1.3Требования к оформлению отчетной документации
- •Задания на лабораторные работы Лабораторная работа №1
- •Теоретические сведения
- •Порядок выполнения работы
- •1. Создать базу данных путевых листов, для чего:
- •2. Заполнить созданную базу произвольными осмысленными данными:
- •3. Выполнить редактирование созданных таблиц:
- •Лабораторная работа №2
- •Теоретические сведения
- •Порядок выполнения работы
- •Лабораторная работа №3
- •Теоретические сведения
- •Порядок выполнения работы
- •Лабораторная работа №4
- •Теоретические сведения
- •Порядок выполнения работы
- •Лабораторная работа №5
- •Теоретические сведения
- •Порядок выполнения работы
- •Лабораторная работа №6
- •Теоретические сведения
- •Порядок выполнения работы
- •Лабораторная работа №7
- •Теоретические сведения
- •Порядок выполнения работы
- •Список рекомендуемой литературы
Задания на лабораторные работы Лабораторная работа №1
Тема: Создание базы данных при помощи СУБД Microsoft Access 2003.
Цель: изучение средств MS Access 2003 для разработки базы данных, ввода и обработки данных стандартными средствами MS Access.
Теоретические сведения
БАЗА ДАННЫХ (БД) [data base (DB)] — совокупность виртуально взаимосвязанных данных, используемая одним из видов приложений и хранимая с регулируемой избыточностью. БД подразумевает средства и методы описания таблиц, хранения и обработки данных в таблицах, облегчающие их сбор, накопление, выдачу и массовое использование.
Для представления данных в ЭВМ используют определенную модель представления данных. МОДЕЛЬ ДАННЫХ [data model] — логическая структура данных со свойствами, не зависящими от аппаратуры и программного обеспечения; М.д. может быть представлена схемами, структурами, в некотором формате и др. способами. Среди моделей баз данных общеизвестны такие: иерархическая, сетевая, реляционная.
Иерархическая модель приемлема только в том случае, если данные имеют древовидную структуру. Но, если данные не имеют такой структуры, то возникает масса сложностей при построении иерархической модели и желании добиться нужной производительности.
Сетевые модели - это достаточно сложные структуры, состоящие из "наборов" – поименованных двухуровневых деревьев. "Наборы" соединяются с помощью "записей-связок", образуя цепочки и т.д. При разработке сетевых моделей было выдумано множество "маленьких хитростей", позволяющих увеличить производительность труда, но существенно его усложнивших.
На сегодняшний день наиболее распространенной стала реляционная модель, которая и является предметом дальнейшего изучения. Реляционная база данных - это база данных, в которой все данные, доступные пользователю, организованы в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами. Таблицы разделены на строки и столбцы, на пересечении которых содержатся значения данных. У каждой таблицы должно быть уникальное имя. Строки в таблицах называют записями, а столбцы - полями.
Чтобы отличать одну строку от другой используется понятие первичного ключа. Первичным ключом называется столбец или группа столбцов таблицы, значения которых уникальным образом идентифицируют каждую строку таблицы. У таблицы может быть только один первичный ключ.
Создание новой базы данных при помощи СУБД MS Access 2003 начинается с запуска Microsoft Access 2003 (Пуск Программы Microsoft Office 2003) и выполнения команды Файл Создать… (Ctrl+N). При этом в правой части главного окна появится панель «Создание файла» (рис.1.1).
Рисунок 1.1 Панель создания файла БД
В результате щелчка на ярлыке «Новая база данных…» появится диалоговое окно «Файл новой базы данных», где при помощи проводника следует указать путь для размещения файла базы данных на жестком диске и ввести имя файла. В аудитории рекомендуемый каталог для сохранения БД — «D:\Студенты\1СКС07\ОБД\…». После подтверждения создания на экране появится окно базы данных (рисунок 1.2).
Рисунок 1.2 Окно базы данных
Объекты БД. Access ориентирован на работу с объектами, к которым относятся таблицы базы данных, запросы, а также объекты приложений для работы с базой данных: формы, отчеты, страницы, макросы и модули. Все объекты представлены в окне базы данных Access. Все операции по работе с объектами базы данных и приложений, т.е. все действия пользователя направлены на изменение содержимого БД, при проектировании БД, непременно начинаются с данного окна. Теперь, рассмотрим детальней перечисленные объекты. Ниже приводиться не определения тех или иных понятий, а только описание объектов MS Access 2003.
Таблицы - создаются пользователем для хранения данных о каком-либо одном объекте модели данных некоторой предметной области. Таблица состоит из полей и записей. Каждое поле содержит одну характеристику объекта предметной области. В записи собраны сведения об одном экземпляре объекта.
Запросы - создаются пользователем для выборки нужных данных из одной или нескольких связанных таблиц. Результатом выполнения запроса является таблица, которая может быть использована наряду с другими таблицами БД при обработке данных. Запрос может формироваться в варианте QueryByExample (запрос по образцу), при помощи конструктора запросив или с помощью языка SQL (StructuredQueryLanguage – язык структурированных запросов). Кроме того, с помощью запросов можно также управлять строением БД, к примеру - создавать новые таблицы, на основе уже существующих, модифицировать данные в таблицай и т.д.
Формы - основное средство для создания диалогового интерфейса приложения с пользователем. Форма, к примеру, может создаваться для ввода и просмотра взаимосвязанных данных базы на экране в удобном виде.
Отчеты - предназначены для формирования выходных документов, содержащих, к примеру, результаты решения задач пользователя для дальнейшего вывода их на печать.
Страницы - Web-страницы, поддерживающие связь с базой данных и позволяющие просматривать, редактировать и вводить данные в БД, работая в окне браузера.
Макросы - программы, которые содержат описание последовательности действий, выполняемых при наступлении некоторого события в объекте или элементе управления приложения. Каждое действие реализуется макрокомандой.
Модули - содержат процедуры записанные на языке Visual Basic for Application (VBA). К примеру, при необходимости создания процедуры обработку записей, выполняемую перед физическим размещением их в БД, требуется написать свою процедуру на языке VBA (размещенную в модуле модуле) для выполнения указанной задачи.
Также, в окне базы данных Access 2003, наряду со списком созданных объектов представлены ярлыки для быстрого запуска мастеров или конструкторов создания нового объекта.
В качестве примера рассмотрим создание базы данных «АТП» (см. задание на лабораторную работу). Для создания таблицы будем использовать ярлык окна базы данных «Создание таблицы в режиме конструктора» (ярлык выделен на рисунке 1.2). Этот вариант создания таблицы удобен, прост в общении и, что в Access немаловажно, дает полный контроль над полями создаваемой таблицы. В результате щелчка на этом ярлыке появится окно конструктора таблицы.
Рисунок 1.3 Конструктор таблицы ПУНКТЫ_НАЗНАЧЕНИЯ
В верхней части окна существует три столбца: Имя поля (наименование поля таблицы), Тип данных (тип данных, которое с которыми данное поле будет работать) и Описание (обычно объяснение, для чего данное поле предназначено).
В нижней части окна, представлены свойства данного поля в виде двух закладок: Общие (позволяет настроить данное поле, к примеру для Текстового типа данных указать его размер, для Дата/время - формат работы с датой) и Подстановка (позволяет ассоциировать данное поле с некоторым элементом управления, который будет использован при создании формы таблицы).
Типы данных. В Access допускается использование девяти типов данных. Рассмотрим эти типы.
Текстовый - тип данных по умолчанию. Текст или цифры, не участвующие в расчетах. Число символов в поле не должно превышать 255. Максимальное число символов, которое можно ввести в поле, задается в свойстве Размер поля. Пустые символы в неиспользуемой части поля не сохраняются.
Поле МЕМО - длительный текст, например некоторое описание или примечание. Максимальная длина 64 000 символов.
Числовой - числовые данные, используемые в математических вычислениях. Конкретные варианты числового типа и их длина задаются в свойстве Размер поля.
Денежный - для проведения денежных расчетов определен тип данных Денежный. Денежные значение и числовые данные. используемый в расчетах, проводящихся с точностью 15 знаков в целой и до 4 знаков в дробной части. Длина поля 8 байт. При обработке числовых значений из денежных полей выполняются вычисления с фиксированной точкой более быстрые, чем вычисления для полей с плавающей точкой, кроме того, при вычислениях предотвращается округление. Учитывая сказанное, рекомендую для полей, в которых планируется хранить числовые значения с указанной точностью, использовать денежный тип данных.
Дата/Время - Значения даты или времени, относящиеся к годам с 100 по 9999 включительно. Длина поля 8 байт.
Счетчик - тип данных поля, в которое для каждой новой записи автоматически вводится уникальные целые, последовательно возрастающие (на 1) числа. Значения этого поля нельзя изменить или удалить. Длина поля 4 байта для длинного целого, для кода репликации 128 байт. В таблице не может быть более одного поля этого типа. Используется для определения уникального ключа таблицы.
Логический - логические данные, которые могут иметь одно из двух возможных значений Да/Нет; Истина/Ложь; Вкл./Выкл.
Поле объект OLE - Объект (например, рисунок), связанный или внедренный в таблицу Access. Длина поля - до 1 Гигабайта. Для полей типа OLE и MEMO не допускается сортировка и индексирование.
Гиперсылка - в качестве гиперссылки можно указывать путь к файлу на жестком диске, адрес URL. Максимальная длина 64 000 символов.
Мастер подстановок - выбор этого типа данных запускает мастер подстановок. Мастер строит для поля список значений на основе поля из другой таблицы. Значения в такое поле будут вводиться из одного из полей списка. Проще говоря, данный тип позволяет определить вычисляемое поле.
В данном примере базы данных АТП для таблицы ПУНКТЫ_НАЗНАЧЕНИЯ определены три поля:
КОД_ПУНКТА_НАЗНАЧЕНИЯ — Тип данных Счетчик. Поле является первичным ключом. Для того, чтобы создать первичный ключ, следует выбрать поле и щелкнуть на кнопке панели инструментов содержащую ключик в виде иконки, или выполнить эту же операцию с помощью контекстного меню, как показано на рисунке 3.
НАЗВАНИЕ — Тип данных Текстовый, размер поля оставлен предлагаемым по умолчанию и равен 50 символов.
РАССТОЯНИЕ — Тип данных Числовой, размер поля определен как Целое. После сохранения таблица готова к использованию.
Таблица Пункты назначения создается подобным же образом (см. рисунок 1.7).
Связывание таблиц. Чтобы данные в таблицах представляли собой логически целостную структуру БД, необходимо установить связи между таблицами. Для этого следует выбрать пункт главного меню «Сервис»-«Схема данных» либо нажать кнопку на панели инструментов. При этом будет вызвано окно схемы данных и так как ни одной связи еще не задано – диалоговое окно добавления таблиц для установления связей.
Для добавления таблиц на схему следует в окне «Добавление таблицы» двойным нажатием левой кнопки «мышки» на имени таблицы (либо выбором имени таблицы или нескольких таблиц одновременно и нажатием кнопки «Добавить») добавить требуемые (в нашем случае - все) таблицы для установления связей и нажать кнопку «Закрыть». Если добавлены не все таблицы, окно их добавления можно вызвать командой главного меню «Связи»-«Добавить таблицу», или кнопкой на панели инструментов, или соответствующим пунктом во всплывающем по нажатию правой кнопки манипулятора «мышь» контекстном меню.
Типы связей. Между таблицами возможны такие типы связей: один-к-одному, один-ко-многим, многие-к-одному и многие-ко-многим. Тип связи определяется Access автоматически на основе свойств полей, по которым устанавливается связь между таблицами. Например, если поле одной таблицы – имеет тип счетчик и является ключевым, а поле другой таблицы – числовое неиндексированное, то по этим полям будет установлена связь один-ко-многим.
Для создания связи между таблицами можно использовать пункт главного меню «Связи»-«Изменить связь» и далее в появившемся окне (рис. 1.4) нажать кнопку «Новое…» и затем в окне задания полей для связи (рис. 1.5а) выбрать требуемые таблицы и поля (рис. 1.5б) и нажать кнопку «Ок».
Рисунок 1.4 – Окно изменения связей
Рисунок 1.5 – Окно создания связей и пример его заполнения
При этом произойдет возврат к окну изменения связей (рис. 1.6), где можно задать параметры обеспечения целостности данных для созданной связи.
Для редактирования существующей связи её необходимо выделить, наведя на неё указатель «мышки» и выбрав пункт «Связи»-«Изменить связь» из главного или контекстного меню или дважды нажать левую кнопку.
Рисунок 1.6 – Окно изменения связей (пример заполнения)
В Access реализован и более простой и наглядный способ создания связей с использованием технологии «перетаскивания»: необходимо выделить поле по которому устанавливается связь в одной таблице, «перетащить» его удерживая нажатой левую кнопку «мышки» на поле, с которым устанавливается связь, в другой таблице и отпустить левую кнопку «мышки». После этого появится окно изменения связи с автоматически заполненными таблицами и полями для связи (рис. 1.6).
В MS Access также существует возможность использования для связывания таблиц инструментального средства Мастер подстановок. Мастер запускается в режиме конструктора таблицы, для чего в графе Тип данных поля, по которому необходимо установить связь, необходимо выбрать пункт «Мастер подстановок…». Далее, следуя указаниям мастера, выбрать таблицу, связь с которой предполагается установить, и поля для связи и отображения (ключевой столбец при этом рекомендуется скрыть). После завершения работы мастера необходимо настроить установленную связь вручную. Для этого следует обратиться к схеме данных и выполнить команду меню Связи → Отобразить все. Выделить мышью связь и выполнить команду меню Связи → Изменить связь…. В появившемся диалоговом окне (рисунок 1.6) задать опции обеспечения целостности данных; для связей со справочниками рекомендуется запретить каскадное удаление для обеспечения невозможности удаления справочных данных.
Рисунок 1.7 Конструктор таблицы ПУТЕВЫЕ_ЛИСТЫ
Тип отношения «один-ко-многим», указанный в окне на рисунке 1.6, означает, что для каждой записи в родительской таблице ПУНКТЫ_НАЗНАЧЕНИЯ существует множество записей в дочерней таблице ПУТЕВЫЕ_ЛИСТЫ, причем соответствие задается совпадающими значениями ключевого поля (КОД_ПУНКТА_НАЗНАЧЕНИЯ) в обеих таблицах.
В результате схема данных БД будет выглядеть, как на рисунке 1.8.
Рисунок 1.8 Схема данных БД АТП