Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК1 Выполнение работ (Восстановлен).doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
11 Мб
Скачать
☆

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

Система управления базой данных Microsoft Access

Основные понятия и принципы проектирования баз данных.

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

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

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

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

распределенная структура - когда части (фрагменты) одной базы данных физически находятся на различных серверах сети. По такому принципу строятся глобальные информационные системы типа Internet.

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

создание (конструирование) базы данных путем описания структуры хранимой информации и взаимосвязей между ее частями;

занесение, хранение и удаление информации из базы данных - т. е. поддержание БД в актуальном состоянии;

обслуживание выборок и запросов пользователей

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

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

Как отмечалось выше, реляционная модель БД рассматривает все данные как группы таблиц или отношений, которые содержат фиксированные количества рядов и столбцов. Иными словами многие объекты, используемые в реляционной базе данных, аналогичны объектам электронных таблиц. Рассмотрим основные термины и определения связанные с РСУБД.

Поле - базовый элемент любой базы данных, не обязательно реляционной. Поля это элементарный информационный объект базы данных. В данном случае, «элементарный», означает, что поле не может быть разбито на более мелкие порции информации. Кроме того, в каждом поле может храниться только строго определенный тип информации (текстовые поля, поля типа дата/время, числовые поля и т. п.). Большинство СУБД поддерживают возможность создания полей следующих типов:

текстовые (для хранения строк размером до 255 символов); числовые (целочисленное, с плавающей точкой и т. п.); memo поля — поля для хранения тестовых фрагментов любого размера; дата/время - поля, в которых могут храниться даты и (или) время в национальном формате;

логические - поля для хранения утверждений типа да/нет, включено/выключено, истина/ложь и т. п.;

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

Запись - набор данных специфицирующих некоторый объект. Например, в БД автотранспортных средств каждая запись содержит сведения о транспортном средстве (госномер, марку, год выпуска, № кузова и т. п.). Каждая запись БД содержит уникальный набор информации - в нашем примере, каждая запись представляет данные о конкретном транспортном средстве. В РСУБД записи не хранятся в каком либо порядке набора. Иными словами в концепции РСУБД вообще не существует номера записи, как в системах другого типа.

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

Ключевое поле - это поле, которое используется для связи между двумя и более таблицами.

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

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

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

Первичный ключ - уникально идентифицирует каждую запись в таблице и не имеет повторяющихся значений. Выбор поля в качестве первичного ключа — одно из важнейших решений принимаемых при проектировании БД.

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

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

Формирование запросов в базу данных.

Любые СУБД позволяют производить различные манипуляции с БД. Одной из основных функций является обслуживание запросов пользователей. Запросы позволяют получать требуемую информацию из БД. Эта информация может храниться в различных таблицах

Наиболее распространенными СУБД для всех классов машин, особенно для персональных компьютеров, являются СУБД реляционного типа. В основу этой СУБД положена реляционная модель данных, предложенная в 1970 г. Е. Коддом. Эта модель основана на математическом понятии отношения. В такой модели общая структура данных может быть представлена в виде двухмерной таблицы, где каждая строка значений соответствует логической записи, а заголовки столбцов являются названиями полей записи. Отношением строки и столбца является клетка таблицы - поле, куда заносится значение реквизита. Простейший пример реляционной базы данных представлен в таблице 16.

Таблица 16 Пример, иллюстрирующий принцип реляционной модели

Фамилия

Имя

Отчество

Дата рождения

Паспорт

Знает язык

Иванов

Петр

Сергеевич

1979

01ЛЕ123123

Английский

Сомов

Сергей

Иванович

1981

08СХ234234

Английский

Винин

Марат

Геннадьевич

1985

04ПР789654

Французский

Шварц

Юрий

Анатольевич

1983

07ЛЕ543908

Немецкий

Игнатьев

Игорь

Павлович

1985

01ЛЕ123673

Немецкий

Как видно из табл. 16, значения полей могут иметь различную длину, а также отличаться типом данных. Существуют текстовые и числовые типы данных, типы «Дата», логические и др. Разумеется, большинство полей можно описать с помощью текстовых типов данных, так как этот тип позволяет вводить любые буквы, цифры и знаки. С точки зрения рационального использования памяти компьютера целесообразно использовать другие типы данных. Так, например, при использовании числового вещественного типа данных требуется в два, а числового целого - в четыре раза меньше памяти. Длина поля задается в зависимости от максимального количества знаков, вводимых в поле. Поле может быть пустым, правда это не скажется на требуемой для запоминания поля памяти компьютера. СУБД с наполненной базой данных и управляемой ее средствами называется Системой базы данных (СБД). БД и СБД, аппаратные средства, обслуживающие службы, и некоторые другие компоненты вместе составляют банк данных (БнД).

Основы технологии поиска информации в базе данных

При реализации запроса в автоматизированный БнД осуществляется последовательный просмотр (обычный поиск записей в БД) или просмотр специальных индексных массивов (быстрый поиск «по ключу») по представленным им данным - значениям практически любых реквизитов. В процессе поиска будет автоматически производиться сравнение значений реквизитов запроса с соответствующими значениями реквизитов хранимых записей.

При вводе запроса необходимо учитывать некоторые особенности работы с БД: в запросе не должно быть противоречивых данных, правила ввода поисковых данных должны соответствовать правилам, согласно которым заполнялись поля при вводе записи. А именно, недопустима замена больших и маленьких букв, использование внешне похожих символов различных алфавитов, цифр и др. Например, значение поля «Национальность», введенное заглавными буквами «БЕЛОРУС», при вводе запроса национальность «белорус» найдено не будет. Не будут найдены записи, где значения полей имеют ошибки использования разных алфавитов. Например, вместо русской буквы С введена аналогичная латинская С или наоборот. То же самое относится к буквам А, К, О и др.

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

Чем больше значений запрашиваемых реквизитов будет предложено для поиска, тем меньше записей выдаст СУБД. Однако результатом слишком большого количества запрашиваемых значений реквизитов (в том числе неточных, приблизительных), может быть отсутствие записей в базе данных вообще. Поиск по одному реквизиту в отдельных случаях может привести к тому, что будет найдено невероятно большое количество записей, что так же не удовлетворит пользователя.

При составлении запроса можно сопоставлять значения реквизитов в различных комбинациях логических связок по «И» и «ИЛИ», учитывать знаки соотношения и частично известные значения реквизитов.

Найти запись можно даже при частично известном значении реквизита. В этом случае для описания неизвестных элементов значения реквизита используется знак: «*».

Существенно ускорить поиск записей в БД можно, если использовать так называемые индексные файлы.

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

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

Порядок работы:

  • Вызовите программу Ассеss. Для этого дважды щелкните по пиктограмме Microsoft Ассеs. Перед вами откроется окно системы управления базами данных, в котором появится меню, представленное на рис. 9.

Рис. 9. Окно системы управления базами данных

  • Включите мышкой переключатель Новая база данных и щелкните по кнопке ОК. Появится диалоговое окно, представленное на рис. 10. В поле Имя файла в качестве имени, базы данных введите свою фамилию. Это будет название вашей личной базы данных.

Рис. 10. Диалоговое окно новой базы данных

  • Щелкните по кнопке Создать или нажмите на клавишу [Enter].

  • В следующем окне выберите тип создаваемого документа (выберите соответствующую закладку). Вы создаете таблицу, поэтому выберите закладку Таблица (скорее всего, вы в ней и находитесь). Щелкните по кнопке Создать.

  • Переходим к работе со следующим диалоговым окном: Новая таблица. Здесь несколько вариантов, но вы выберите Конструктор и щелкните по кнопке ОК. Появится окно Конструктора (рис. 11).

Рис. 11. Окно «Конструктора»

  • В верхней левой клетке введите имя поля (набирайте слово "Фа­милия", а не свою фамилию) и нажмите на клавишу [Enter]. В соседней клетке появится тип данных, по умолчанию он задается Текстовый (рис. 11). Любой другой выбирается с помощью ниспадающего меню.

  • Заполните поля в Конструкторе данными из таблицы 17. Общие свойства поля оставляем по умолчанию (какие задаст сама программа).

Таблица 17 Пример данных для заполнения Конструктора

Имя поля

Тип данных

Фамилия

Текстовой

Имя

Текстовой

Отчество

Текстовой

Год рождения

Числовой

Школа

Числовой

Класс

Числовой

  • Сохраните таблицу, щелкнув по кнопке - пиктографического меню

  • В появившемся окне наберите имя таблицы Список и щелкните но кнопке ОК. Появится запрос (рис. 12) на создание ключе­вого поля - уникального поля записи, по которому удобно связывать таблицы. В данном варианте будут самостоятельно появляться числа - номера записей.

  • Ответьте ДА.

Рис. 12. Окно запроса на создание ключевого поля

  • Перейдите в режим таблицы, щелкнув по кнопке Ввод данных вы будете производить в этом режиме, заполняя клетки таблицы. Значение поля Код будет меняться автоматически. Если закончить ввод в ячейку нажатием на клавишу [Enter], то маркер перейдет в следующую ячейку. Заполните базу данных значениями из таблицы 18.

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

Таблица 18 Исходные данные для заполнения базы данных

Код

Фамилия

Имя

Отчество

Год рождения

Школа

Класс

1

Иванни-кова

Анна

Ивановна

1984

1

9

2

Баранова

Ирина

Алексеевна

1983

3

10

3

Корнилова

Ольга

Владими-ровна

1984

5

9

4

Воробьев

Алексей

Петрович

1983

1

10

5

Воробьев

Алексей

Иванович

1984

3

9

6

Воробьев

Олег

Григорье-вич

1985

5

8

7

Скорин

Александр

Евгеньевич

1982

1

11

8

Володина

Анна

Алексеевна

1984

3

9

9

Новоселов

Алексей

Антонович

1983

5

10

10

Александ-рова

Елена

Алексеевна

1984

1

9

Задание 2. Выполните редактирование ячеек

Порядок работы:

• Замените фамилию Иванникова на Иванова. Для этого выделите редактируемую ячейку и наберите новую фамилию.

• Замените год рождения на 1983. Для этого следует щелкнуть мышкой по нужной ячейке, и она откроется для редактирова­ния. Удалите цифру 4 и введите вместо нее цифру 3.

Самостоятельное задание. Внимательно просмотрите таблицу и исправьте свои ошибки.

Задание 3. Отсортируйте значения таблицы

Порядок работы:

  • Отсортируйте:

1) фамилии - по алфавиту (поставьте маркер на любую фами­лию в столбце с названием Фамилия и щелкните мышкой по кнопке -

2) имя - по алфавиту (поставьте маркер на любое имя в столбце с названием Ими и щелкните мышкой по кнопке -

3) номер школы - по убыванию (поставьте маркер на любой но­мер школы в столбце с названием Школа и щелкните мышкой по кнопке -

4) год рождения - по убыванию (поставьте маркер на любой год рождения в столбце с названием Год рождения и щелкните мышкой по кнопке -

5) класс - по возрастанию (поставьте маркер на любой класс в столб­це о названием Класс и щелкните мышкой по кнопке -

Задание 4. Познакомьтесь с функциями: сохранить, закрыть, открыть

Порядок работы:

  • Щелкнув по кнопке - сохраните текущую таблицу

  • Щелкнув по нижней кнопке - в правом верхнем углу окна таблицы, закройте таблицу.

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

  • Откройте снова свою базу данных с помощью команд Файл - Открыть - Имя своей базы данных - Открыть;

  • Откройте таблицу Список.

Задание 5. Выполните поиск записей по образцу

Порядок работы:

  • Установите текстовый курсор в поле Фамилия;

  • Щелкните по кнопке , которая позволяет найти запись по введенному значению. В результате появится диалоговое окно, представленное на рис. 13.

Рис. 13. Диалоговое окно «Поиск и замена»

  • Наберите в поле Образец фамилию Баранова и щелкните по кнопке Найти.

Задание 6. Распечатайте таблицу Список

Порядок работы:

  • Подготовьте принтер для печати.

  • Подготовьте таблицу для печати. Для этого щелкните по кноп­ке Предварительный просмотр. Если таблица не умести­лась на листе или видны не все данные, то закройте окно предварительного просмотра и поменяйте размер столбцов. Можно поменять поля листа или развернуть лист поперек. (Это можно сделать по команде Параметры страницы - Страница - Альбомная - ОК.)

  • Выполните команду Файл - Печать.... Появится окно, представленное на рис. 14. В этом окне возможен выбор варианта печати. Вы можете выбрать печать: всей таблицы, только выде­ленных записей, только определенных страниц. Можно задать печать нескольких копий данного документа одной командой. Если к вашему компьютеру подключены несколько разных принтеров, то в поле имя можно выбрать нужный принтер.

Рис. 14. Диалоговое окно параметров печати

  • Оставьте включенным переключатель Все.

  • Щелкните по кнопке ОК.

Предъявите преподавателю: таблицу Список на экране и на бумаге.

Задание 7. Завершите работу с Ассеss

Порядок работы:

  • Выберите пункт меню Файл - Выход.

  • Если вы производили какие-либо действия в базе данных, по­явится вопрос о сохранении изменений. Ответьте утвердитель­но на этот вопрос.