Н. В. Катаргин базы данных москва 2005 удк 681. 3 Рецензенты: Доктор технических наук, профессор, зав кафедрой иту и вт академии труда и социальных отношений В. Н. Квасницкий Катаргин Н. В. Базы данных. Методическое пособие

Вид материалаМетодическое пособие

Содержание


1. Принципы построения баз данных
2. Эволюция концепции базы данных
3. Технологическая схема работы СУБД
4. Персонал, работающий с базами данных
5. Требования, предъявляемые к СУБД
6. Структуры баз данных
таблица соответствует 1-ой нормальной форме
таблица соответствует 2-ой нормальной форме
таблица соответствует 3-ой нормальной форме
8. Лабораторные работы по базам данных
Таблицы - Создать - Конструктор
Файл - Закрыть
Лаб. № 2. Создание связей таблиц БД
Детали Цех
Сервис - Схема данных - Добавить
Лаб. № 3. Создание запросов
Запрос – Создать – Конструктор – Добавить
Открыть) и просмотрите полученные результаты; Вернитесь в режим Конструктора запросов
Построитель выражений
Вставка – Групповые операции
...
Полное содержание
Подобный материал:
Финансовая академия при Правительстве РФ


Н.В.Катаргин


БАЗЫ ДАННЫХ


Москва - 2005


УДК 681.3


Рецензенты:


Доктор технических наук, профессор, зав.кафедрой ИТУ и ВТ Академии труда и социальных отношений В.Н.Квасницкий


Катаргин Н.В.


Базы данных. Методическое пособие для студентов.– 24 с.


Методическое пособие содержит сведения, необходимые для понимания принципов разработки и эксплуатации баз данных и информационных систем. Даны определения основных понятий, приведена информация о создании и управлении основными объектами системы управления базами данных MS Access. Рассмотрены вопросы связывания таблиц и поддержки целостности данных. Имеется практикум по созданию базы данных и их обработке с использованием запросов, отчетов и форм, в том числе с использованием модулей Visual Basic.


Введение


База данных – это совокупность данных, упорядоченная для их использования, то есть набор данных, организованный по определенным правилам. Организации, работавшие с большим количеством бумажных документов – носителей информации: библиотеки, полиция, министерства старались упорядочить хранение и поиск информации путем создания картотек. В настоящее время термин “база данных” обычно применяется к упорядоченным массивам данных на компьютерных носителях информации – магнитных дисках, магнитных лентах, дисках с оптическим считыванием CD ROM, DVD, твердотельных блоках памяти FLASH. Обычно база данных является частью информационной системы организации, и система управления базой данных (СУБД) взаимодействует с прикладными программами пользователей, используя локальную, корпоративную или глобальную компьютерную сеть.


1. Принципы построения баз данных


Понятие “информация” применительно к вычислительной технике подразумевает все, что представляется в ЭВМ (вводится, хранится, обрабатывается и выдается). База данных может быть определена как высший элемент иерархии структурных единиц информации, совокупность взаимосвязанных совместно хранящихся данных, используемых оптимальным образом для одного или нескольких приложений (Джеймс Мартин).

Рассмотрим иерархию структурных единиц информации:

- бит  – наименьшая структурная единица; бит хранится в элементе памяти компьютера, имеющем два устойчивых состояния, которые можно интерпретировать как 0 и 1;

- байт  – группа из 8 бит, имеющая адрес в оперативной памяти компьютера; в байт можно записать код одного из 255 символов, вводимых с клавиатуры при различных комбинациях клавиш;

- поле  – группа байт;

- запись – группа полей;

- таблица – группа записей; обычно таблица записывается в отдельный файл, кроме базы данных Access, все объекты которой содержатся в одном файле;

- база данных – группа таблиц и других объектов: запросы, формы, отчеты, программные модули, рисунки и т.д.


2. Эволюция концепции базы данных


Первым этапом развития баз данных является файловый поход к организации информации. При этом программист сам задавал структуру размещения записей в файле и их формат, а также создавал программные модули для записи, корректировки и чтения данных. Автор разрабатывал базу данных даже с использованием адресов данных в оперативной памяти и на магнитных лентах ЭВМ “Минск-22”, а программы для обработки данных были написаны в машинном коде. Жесткая привязка процедуры доступа к прикладной программе приводила к необходимости корректировки прикладной программы при изменении как структуры данных, так и запоминающего устройства. При изменении информации происходила полная перезапись файла.

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

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

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

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

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

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

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






Логическое описание данных


Физическое описание данных

Рис 1. Схема обработки данных в информационной системе


3. Технологическая схема работы СУБД


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

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

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



Рис. 2. Технологическая схема работы СУБД



Система управления базой данных получает в распоряжение схему (глобальное логическое описание данных) и с ее помощью определяет какого типа или каких типов логические данные необходимы (3).

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

Система управления базой данных выдает операционной системе команду чтения (5) требуемой записи (или записей).

Операционная система взаимодействует с физической памятью, в которой хранятся данные (6).

Запрошенные данные передаются из памяти в системные буферы (7).

Система управления базой данных, осуществляя сравнение схемы и подсхемы, выделяет ту логическую запись, которая запрошена прикладной программой (8). Любое преобразование данных, необходимость в котором возникает из-за различия в описании одних тех же данных в схеме и подсхеме, выполняется системой управления базой данных.

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

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

Прикладная программа обрабатывает данные, помещенные в ее рабочую область (11).

В том случае, когда прикладная программа обновляет запись, осуществляется аналогичная последовательность действий. Запись сначала обычным образом считывается и модифицируется в рабочей области программы, а затем системе управления базой данных передается команда записать обратно модифицированные данные. Система управления базой данных будет осуществлять все необходимые преобразования данных в системных буферах, обратные тем преобразованиям, которые были сделаны при считывании данных. Затем система управления базой данных выдает операционной системе команду “ЗАПИСАТЬ”.


4. Персонал, работающий с базами данных


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

- пользователи – лица, в интересах которых создается база данных, и потребляющие информацию в процессе своей работы;

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

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

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


5. Требования, предъявляемые к СУБД


Требования, предъявляемые к СУБД, можно рассматривать как состав функций, которые подлежат реализации идеальной системой управления базами данных. Помимо основной функции системы управления базами данных – организации хранения и доступа к данным – подлежат реализации следующие функции:

- целостность и непротиворечивость – обеспечение невозможности внесения в базу данных различных значений одной и той же характеристики одного и того же объекта;

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

- согласованность – обеспечение блокировки доступа к информации в момент ее корректировки в целях невозможности получения частично измененной информации;

- контролируемость – регистрация всех операций выполняемых с информацией базы данных (возможно обобщение функций контролируемости и восстанавливаемости ведением журнала транзакций);

- безопасность и секретность – обеспечение невозможности непреднамеренного или умышленного получения, модификации и (или) разрушения информации базы данных;

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

- совместимость – обеспечение возможности информационного взаимодействия с другими системами, а также автоматизированного ввода информации внемашинной базы данных;

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


6. Структуры баз данных


В настоящее время наиболее популярны три типа структур баз данных: иерархические, сетевые и реляционные.

Иерархическая модель, при которой элементы данных включаются в контейнеры различных уровней, а контейнеры также могут быть включены в контейнеры более высокого уровня. Примером иерархической базы данных может служить файловая система MS DOS и Windows: файлы вложены в папки, папки могут быть вложены в другие папки, высшая ступень иерархии - магнитный или компакт-диск. Файлы и папки могут быть созданы заново или скопированы. Поиск файлов и папок осуществляется по их названиям или фрагментам названий, или же визуально по древовидной иерархической структуре, но возможен и поиск файлов по контексту - фрагментам текста.

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

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

Наиболее известные и продаваемые реляционные серверные СУБД, используемые в информационных системах больших организаций: Oracle, SQL Server, MySQL, SyBase, Informix.

В первых персональных компьютерах широко использовались различные версии разработанной фирмой Microsoft СУБД dBase, таблицы которой можно было использовать с помощью операционной системы MS DOS и программ на языке Basic. Затем та же фирма выпустила СУБД FoxPro, которая затем была модифицирована под Windows и используется до сих пор. Также известна СУБД Paradox, разработанная фирмой Borland. Поскольку эта фирма разработала средства быстрой разработки приложений Windows – Delphi и C++Builder, то формат данных Paradox стал для них основным.

В пакет MS Office, разработанный фирмой Microsoft, наряду с Word и Excel входит СУБД Access. Ее характерное отличие от старых СУБД — полное использование возможностей Windows и хранение в одном файле БД нескольких таблиц, запросов, форм, отчетов, макросов и модулей. Запрос позволяет выбрать из одной или нескольких таблиц необходимые данные, соответствующие заданным критериям, и расположить их в заданной последовательности. Форма позволяет расположить на экране данные, относящиеся к одной записи или строке запроса, в наиболее наглядном виде; при этом форму можно использовать для ввода или корректировки табличных данных. Записи можно просматривать через форму последовательно. Представление данных в отчете аналогично форме, но в отчет включаются данные из всех записей, он разбит на страницы и полностью подготовлен для печати. Макрос представляет из себя набор команд, позволяющих объединить разрозненные операции обработки данных (аналогично ВАТ-файлу). Модули содержат программы на языке Visual Basic, которые могут разрабатываться пользователем для реализации нестандартных процедур при создании приложения.

Для таблицы может быть установлен Первичный ключ – поле или совокупность полей, значения которых однозначно идентифицируют записи, хранящиеся в таблице. Вторичными ключами называются конкретные параметры, по которым происходит поиск записей. Обычно таблицы БД являются отражением объектов реального мира: бухгалтерских документов, сведений о продажах или персонале и т.д. Проводится их нормализация:
  • таблица соответствует 1-ой нормальной форме, если значения всех ее полей являются атомарными; например, фамилия, имя и отчество расположены в разных полях;
  • таблица соответствует 2-ой нормальной форме, если она соответствует 1-й нормальной форме и каждый неключевой элемент однозначно определяется соответствующим ключевым полем, т.е. зная значение ключевого поля и имя неключевого поля можно однозначно определить его значение;
  • таблица соответствует 3-ой нормальной форме, если она соответствует 1-й нормальной форме и значение любого поля не является функцией других полей, т.е. не следует заносить в таблицу величины, которые можно вычислить по значениям других полей.

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

Реляционные базы данных, к которым принадлежит Access, состоят из логически связанных двумерных таблиц. Типы связей таблиц:

- Один-ко-многим – связь ключевого поля с неключевым;

- Один-к-одному – связь ключевого поля с ключевым;

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

Таблица со связанным ключевым полем называется главной, с неключевым – зависимой. Связи обеспечивают:
  • поиск и выборку информации по разным таблицам;
  • целостность данных — невозможность вносить в зависимую таблицу данные, противоречащие данным в соответствующих ключевых полях главной таблицы;
  • каскадное обновление — изменение данных во всех зависимых таблицах при их обновлении в ключевом поле главной таблицы;
  • каскадное удаление — удаление данных во всех зависимых таблицах при их удалении в ключевом поле главной таблицы.



7. Принципы создания информационной системы предприятия


Для создания информационной системы (ИС) с базой данных можно использовать различные компьютерные средства. Отработку моделей, быстрое создание текстов, форм, таблиц и расчеты по ним, а также обучение целесообразно проводить в среде Windows с использованием приложений: текстовый редактор Word, электронные таблицы Excel, система управления базами данных (СУБД) Access. На этой основе построен и данный курс. Но для реализации такого подхода на предприятии требуется комплектовать систему из достаточно мощных компьютеров – не ниже Pentium 2, а стоимость серверов можно оценить в несколько тысяч долларов. Стоимость системы можно уменьшить в несколько раз, если использовать средства для автоматизированной разработки программных продуктов, создающие программы на алгоритмических языках (CASE, RAD), отлаживать и транслировать на достаточно мощных компьютерах, а затем загружать в систему готовые исполнимые блоки (ЕХЕ-файлы с библиотеками). Наиболее мощным профессиональным средством для создания таких систем считается Visual С++, удобны также Delphi (на основе Паскаля), Visual Basic, C++ Builder. Наиболее современная концепция разработки ИС – Объектно-ориентированное проектирование с использованием Универсального языка моделирования объектов и их отношений (Universal Modeling Language – UML) и пакета программ Rational Rose.

Основные этапы разработки информационной системы:

1. Постановка задачи. Необходимо четко сформулировать цель работы, предполагаемые результаты, объем работ, который предполагается выполнять на ЭВМ; оценить имеющееся программное обеспечение и стоимость закупки или разработки недостающего; решить вопрос о целесообразности разработки; подготовить проект договора, техническое задание, календарный план, соглашение о цене.

2. Обследование предметной области, то есть структуры, функциональных связей и документооборота предприятия. Разработка требований к блокам ИС.

3. Разбиение общих задач на отдельные блоки, обоснование целесообразности автоматизации отдельных задач, выбор состава и очередности решения задач

4. Концептуальное проектирование: исследование потоков и структуры информации, построение функционально-информационной схемы (концептуальной схемы) и структурных единиц информации (часто на основе реально используемых документов и нормативно-справочного обеспечения). Этап заканчивается построением модели “сущность-связь” – неформальной модели предметной области, позволяющей описывать объекты предметной области и их взаимоотношения. Основным достоинством модели является ее относительная простота и понятность за счет применения естественного языка, что позволяет использовать модель в качестве инструмента общения разработчика и будущего пользователя при сборе информации о предметной области базы данных. Сущность – это собирательное понятие, некоторая абстракция реально существующего объекта, процесса или явления, о котором необходимо хранить информацию в системе. В качестве сущностей в моделях предметной области рассматривают материальные (предприятия, изделия, сотрудники и т. п.) и нематериальные (явления, структуры) объекты реальной действительности. В моделях предметной области типа “сущность-связь” каждая рассматриваемая конкретная сущность является узловой точкой сбора информации об этой сущности. В модели используется также понятие “экземпляр сущности”. Графически модель “сущность-связь” представляется в виде ER-диаграмм (Entity-Relation Diagrams).

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

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

7. Трансляция программ. Транслятор – это программа, переводящая текст программы, написанный на алгоритмическом языке, в машинные коды.

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

В среде объектно-ориентированного программирования (Delphi, C++ Builder, Visual Basic, Access) работу по пунктам 5-8 можно проводить параллельно, создавая на компьютере объекты в графическом режиме. Дальнейшим развитием этой технологии является объектно-ориентированное проектирование, где объектами могут являться склад, касса, торговый зал, деканат. Для работы с такими объектами создан Универсальный Язык Моделирования UML (Universal Modeling Language) и пакет программ Rational Rose.

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

10. Обеспечение секретности информации и администрирование системы, то есть настройка системы допусков и паролей, а также ликвидация сбоев в работе системы.

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


8. Лабораторные работы по базам данных


Лаб. № 1. Создание таблицы БД Access


Создайте таблицу с анкетными данными, используя все типы переменных СУБД Access:

- Войдите в Access (обычно его ярлык имеет вид ключа), откройте одну из имеющихся в компьютере баз данных или создайте новую, поместив ее в свою папку;

- Инициируйте создание новой таблицы с помощью Конструктора таблиц ( Таблицы - Создать - Конструктор);

- Создайте макет таблицы, задавая заголовки ее столбцов (“Имя поля”) и типы переменных в этих столбцах (полях). Для изучения различных типов переменных удобно использовать таблицу с анкетными данными. Можно рекомендовать следующий макет анкеты:


Имя поля

Тип данных

Примечания

Номер

Счетчик

Заполняется автоматически

Фамилия

Текст

Текст длиной не более 255 символов; ограничьте: 10 - 15 символов

Имя

Текст

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

Дата

Например 12-08-48

Зарплата

Денежный

Установите вид валюты

Рост

Числовой

Установите тип переменной – целый (Integer, Long) или вещественный (Single, Double)

Судимость

Логический

Переменная имеет два значения – ИСТИНА или ЛОЖЬ (ДА или НЕТ)

Характеристика

МЕМО

Длинный текст

Портрет

Объект OLE




Документ

Гиперссылка




Технология OLE (Object Linking and Embedding ― связывание и внедрение объектов) позволяет подключать к базе данных рисунки, презентации, звуковые файлы и видеофильмы.

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

- Создайте первичный ключ ― поле, данные в котором уникальны и однозначно идентифицируют запись ― строку всех прочих данных. В данном случае используем в качестве первичного ключа поле “Номер”. Программа создает первичный ключ автоматически. Для создания или изменения первичного ключа надо щелкнуть по кнопке с рисунком ключа на панели инструментов, а затем указать имя поля;

- Закройте макет таблицы ( Файл - Закрыть) с присвоением ему имени;

- Откройте таблицу с этим именем (Таблица - Открыть) и заполните 5-7 строк. Графу “Характеристика” можно заполнить абракадаброй, чтобы убедиться в возможности хранения длинного текста в поле типа МЕМО. В поле “Портрет” (объект OLE) вставьте изображение, пользуясь командами Вставка Объект Рисунок Paint. При этом запустится графический редактор Paint, в котором можно создать рисунок. Возврат в Access осуществляется командами Файл Выход ... или просто щелканием мыши по окну Access. В поле “Документ” вставьте гиперссылку: ВставкаГиперссылкаФайл Найти  Выбрать файл  ОК.

Попробуйте импортировать или связать таблицу из другой БД: Таблица Создать Импорт (или Связать), затем внимательно читайте тексты и устанавливайте параметры в диалоговых окнах. Откройте и просмотрите поле Тип файла, где указаны типы табличных данных, которые можно импортировать или связать с вашей базой данных: Access, Excel, текстовый файл (в этом случае будут запрошены символы разделения полей), HTML (файл Всемирной Паутины Интернета WWW), dBase, FoxPro, Paradox (старые настольные БД) , ODBC (пакет программ для связи с удаленными БД). При импорте таблица копируется в вашу БД, а при связывании остается на своем месте в единственном экземпляре, и с ней можно работать как из ее “родной” БД, так и из вашей.


Лаб. № 2. Создание связей таблиц БД


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

Детали Цех

НомДет

Деталь

Цена




НомРаб

НомДет

Количество

1

Болт

3




1

3

46

2

Гайка

3




2

5

56

3

Шайба

2




2

6

4

4

Винт

5




1

2

43

5

Гвоздь

1




3

2

53

6

Шатун

120




3

1

25

Ключевое поле таблицы “Детали” – НомДет – типа Числовой, “Цех” – без ключевого поля, все поля – числовые. В таблице “Цех” должно быть не менее 20 записей с повторяющимися значениями полей “Номер” и ”Деталь”. Поля “Номер” и ”Деталь” в таблице “Цех” должны иметь тот же набор значений, что и соответствующие поля “Номер” и ”НомДет” в таблицах “Анкета” и ”Детали”.

Воспользуйтесь командами Сервис - Схема данных - Добавить, чтобы поместить в рабочем окне шаблоны всех трех таблиц. Для установления связей поставьте курсор мыши на поле “Номер” таблицы “Анкета”, нажмите левую клавишу и протащите мышь на поле “НомРаб” таблицы “Цех”, а затем так же свяжите “Детали” с таблицей “Цех”. Сохраните Схему данных, включив при этом режимы Целостность данных, Каскадное удаление и Каскадное обновление. Вернитесь в режим таблиц и попробуйте изменять номера рабочих и деталей в зависимой таблице “Цех”, а затем Номер детали в таблице “Детали” .


Лаб. № 3. Создание запросов


Создайте запрос на выборку данных из таблицы “Анкета” и их размещение в заданном порядке:

- Воспользуйтесь командами Запрос – Создать – Конструктор – Добавить и разместите на рабочем поле шаблон таблицы “Анкета”; Закрыть;

- Внесите в шаблон запроса заголовки полей, например Имя, Рост, Зарплата, Судимость, используя линейки прокрутки в верхней строке (“Поле”) или перетаскивая мышью заголовки полей из шаблона таблицы в шаблон запроса; включите Сортировку по одному из полей;

- Закройте запрос (Файл - Закрыть) с присвоением ему имени;

- Откройте запрос ( Открыть) и просмотрите полученные результаты;
  • Вернитесь в режим Конструктора запросов и внесите условия отбора: определенные фамилии, или величину зарплаты, или рост, или другой параметр. Возможно сочетание критериев отбора по условию ИЛИ (фамилия Иванов ИЛИ Сидоров), по условию И (рост >150 AND < 190) , а также различные комбинации критериев. Последовательно переходя из режима Конструктора в режим просмотра результатов запроса, опробуйте несколько комбинаций критериев отбора и вывода данных на экран, используя кнопки

в левом конце Панели инструментов окон Конструктора или

Просмотра запросов;

- Используйте Построитель выражений для арифметических расчетов:

встаньте на свободное поле, вызовите Построитель выражений, выберите поля (в запросе или таблицах – например, Рост умножьте на Зарплату) и арифметические операции, вставьте поля в выражение кнопкой Вставить; нажмите ОК, сохраните и просмотрите запрос; в режиме Конструктора замените заголовок Выражение1 на более осмысленный;

- Скопируйте таблицу “Анкета” и результаты запроса в текст Word и таблицу Excel.

Запрос по нескольким таблицам: Запрос - Создать – Конструктор, Добавить все таблицы, Закрыть; осуществите выборку по полям из всех таблиц, например, Фамилия, Деталь, Цена, Количество; сохраните запрос, затем с помощью Построителя выражений домножьте Цену на Количество.

Групповые операции: в запросе по всем таблицам удалите поле Детали и все условия (если есть), Вставка – Групповые операции, установите Группировку по полю Цена*Количество; используйте функцию Sum (Сумма), затем Avg (Среднее), чтобы получить суммарный и средний доход на каждого рабочего; вычислите суммарный доход по каждой детали (запрос с полями Деталь, Цена*Количество). Создайте запрос с полем Судимость и шестью полями Рост; в режиме Групповые операции установите для полей Рост различные функции: Sum (Сумма), Avg(Среднее), StDev (стандартное отклонение) , Min, Max, Count (количество).

Запрос с расчетами по таблицам: Запрос - Создать – Конструктор, Добавить все таблицы, Закрыть; в поля Конструктора запросов внесите Фамилия и Построитель выражений; откройте в левом окне Построителя выражений таблицу Цех, вставьте поле Количество в окно выражений (верхнее), вставьте знак * , откройте таблицу Детали, вставьте поле Цена в окно выражений и щелкните по ОК. Установите группировку по полю Фамилия и суммирование (Sum) по полю Построителя выражений; замените слово Выражение1 на Доход, установите сортировку по возрастанию поля Фамилия. Выражение должно иметь вид

Доход:Sum([Цех]![Количество]*[Детали]![Цена]).

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

Запрос с обновлением: установите определенную зарплату, например 9999, сотрудникам, у которых рост больше 180: создать запрос с полями Рост и Зарплата, установить Условие Рост >180, в Меню Запрос – С обновлением, в поле Зарплата Замена 9999; сохраните и запустите запрос. В диалоге запрос предупредит о заменах в таблице, но результатов не покажет. После выполнения запроса посмотрите таблицу Анкета. Поднимите в 2 раза зарплату рабочим, у которых рост больше определенной величины, например 180: создайте запрос с обновлением с полями Зарплата и Рост, Условие Рост>180, в строке Замена поля Зарплата установите Построитель выражений, откройте таблицу Анкета, вставьте поле Зарплата в окно выражений и добавьте *2, ОК. Должно получиться [Анкета]![Зарплата]*2.


Лаб. № 4. Создание формы


Эффективное средство для просмотра, изменения и добавления информации в базу данных - экранные формы. Форма позволяет последовательно представить на экране записи (строки) из таблицы, но расположить окна полей в любых местах экрана, сделать их любого размера и цвета, с различными рамками, надписями и рисунками. Форма особенно удобна для просмотра полей типов МЕМО и Объект OLE, то есть длинных текстов и графики. Работа персонала с информационными компьютерными системами часто сводится к заполнению экранных форм, что позволяет избегать ошибок при вводе и не требует специальной подготовки сотрудников. Современные языки программирования: Visual Basic, Delphi, C++ отличаются от старых именно большим набором средств для создания экранных форм и размещения на них элементов управления - окон, кнопок, списков и т.д., а также позволяют работать со всеми типами переменных Access и обращаться к таблицам Excel и другим базам данных.

Создайте форму по таблице “Анкета” в режиме Мастера и преобразуйте в режиме Конструктора:

- Вызовите Мастер форм: Форма – Создать с помощью Мастера, укажите таблицу “Анкета” в качестве источника данных, затем перегоните поля в правое окно кнопками > и >> , установите параметры в диалоговом режиме;

- просмотрите записи, затем вызывайте Конструктор ( Вид – Конструктор); если не появится Панель инструментов – щелкните по клавише с молоточками;

- растяните мышью границы рабочего поля; щелкните по форме правой клавишей мыши и поменяйте ее цвет;

- Создайте заголовок формы: щелкните по кнопке Аа на панели инструментов, затем поставьте курсор мыши в предполагаемый верхний левый угол окна надписи, нажмите левую клавишу и растяните окно до нужных размеров; отпустите клавишу и внесите в окно нужный текст; щелкните мышью вне окна, а потом по окну правой клавишей мыши: откроется контекстное меню “Свойства”, с помощью которого задайте размер, цвет и шрифт надписи, цвет фона и параметры обрамления; щелкая по окну левой клавишей мыши, можно обеспечить перетаскивание окна или изменение его размеров;

- аналогичным образом разместите поля данных на форме, измените размер, цвет, обрамление, шрифт;

- вставьте в форму небольшой рисунок из Paint или Word;

- создайте новое окно поля данных: щелкните по буквам ab на панели инструментов, измените его размеры, цвет и шрифт; вызовите Свойства – Данные, в строке Данные щелкните кнопку с тремя точками, в появившемся Построителе выражений создайте формулу Зарплата*Рост;

- просмотрите форму: Вид – Режим формы, затем закройте макет формы, присвоив ему имя, и откройте форму; просмотрите содержимое записей, внесите изменения и дополнения в данные, затем закройте форму, откройте таблицу и просмотрите внесенные изменения;


Лаб. № 5. Создание отчета


Запустите Мастер отчетов (Отчет – Мастер - указать источник исходных данных) и сформируйте отчет, который отличается от формы тем, что в него нельзя вносить новых данных, но представлены сразу все записи в виде, подготовленном для печати; если в операционной системе компьютера не установлен драйвер печати, то Access может отказаться формировать отчет.


9. Создание пользовательского интерфейса с модулями Visual Basic


Современные информационные системы (ИС) обычно состоят из электронных таблиц, баз данных и программных модулей, причем часто структуры электронных таблиц и баз данных, а также экранные формы для работы с ИС создаются с помощью языков объектно-ориентированного программирования - Visual Basic, Delphi, C++ Builder, Visual C++ и кодируются в виде программных модулей, которые транслируют в исполнимые файлы. Такой подход позволяет создавать компактные ИС, которые не нуждаются в приложениях и ресурсах Windows и могут работать на дешевых компьютерах. Программные модули позволяют также существенно дополнить функции Excel и Access, расширить круг решаемых задач за счет применения более гибких алгоритмов (например, при анализе экономической эффективности) и создать удобный пользовательский интерфейс. Поэтому версии языка Visual Basic - Visual Basic for Applications (VBA) - включены в Excel и Access и широко используются программистами и пользователями для создания и совершенствования своих ИС.

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

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

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

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

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

Свойства - данные, определяющие атрибуты объекта и его вид на экране: имя, изображение, расположение, размеры, поворот, шрифт, источник отображаемой и обрабатываемой объектом информации. Свойства могут задаваться как в режиме конструктора при создании или ручной модификации объекта, так и программным путем, например, выражение Рост .BackColor=vbGreen приведет к изменению фонового цвета поля Рост на зеленый.

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

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

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


10. Лабораторные работы по базам данных с модулями Visual Basic


Лаб. № 6. Размещение на форме элементов управления VBA и проведение расчетов с использованием модулей VBA


Создание навигационных кнопок. Откройте БД с таблицей Анкета, создайте форму с этой таблицей в качестве источника данных, с полями Имя, Рост, Зарплата, Судимость. Создайте на форме кнопки для перехода к предыдущей и следующей записи: щелкните по Кнопке на Панели инструментов, затем по форме, растяните контур кнопки при нажатой левой клавише мыши. Если Панели инструментов на экране нет - вызовите ее, нажав в Меню клавишу с молоточками. В режиме диалога задайте действие кнопки - Переход к следующей записи, и рисунок или надпись на кнопке. Перейдите в режим формы и пощелкайте по кнопке, реализуя переходы по записям. Перейдите в режим Конструктора, щелкните в Меню Вид - Программа и посмотрите программный модуль, который вы, оказывается, создали. Создайте кнопку для перехода к предыдущей записи и посмотрите ее программный модуль.

Проведение вычислений. Создайте на форме свободное поле (щелчок по ab на Панели инструментов, растянуть при нажатой левой клавише мыши), измените его имя, например, на Результат (щелкнуть по полю правой клавишей мыши, Свойства - Другие - Имя, изменить имя). Создайте кнопку без функций, нажав Отказ при ее создании. Задайте событие кнопки и обработчик события: щелкнуть по ней правой клавишей мыши, Свойства - События - Нажатие кнопки - щелчок по кнопке с тремя точками - Программа. На экране появится заготовка программного модуля кнопки - его начало и конец:


Private Sub Кнопка0_ Click ()


End Sub


В заголовке указаны название кнопки (здесь Кнопка0) и событие (здесь Click). Введите в программу арифметическое выражение, например


Результат = Зарплата / Рост


Перейдите в режим формы ( Вид – Форма) и щелкните по кнопке. В результате выполнения этой операции изменится свойство Value (Значение) объекта Результат (по умолчанию). Вернитесь в режим Конструктора и добавьте в программу более сложную формулу, выполните расчеты.

Циклический алгоритм: вычисление суммы всех целых чисел в диапазоне значений полей Рост и Зарплата (или других). Перепишите программный модуль кнопки (или создайте новую кнопку) :

Результат =0

For I = Рост to Зарплата : Результат = Результат + I : Next I

Запустите программу.

Ветвящийся алгоритм с изменением цвета поля:

условие условие выполнено условие не выполнено

If Судимость = True Then Имя.Backcolor = vbRed Else Имя.Backcolor = vbGreen


Цвет поля Имя должен становиться зеленым или красным в зависимости от значения поля Судимость. Опробуйте другие условия, например Рост > 170, Зарплата < 1000, сложные логические условия, например запрограммируйте изменение свойства Visible (Видимый) окна Зарплата в зависимости от судимости, роста и зарплаты:

If Судимость = True AND Рост > 170 OR Зарплата < 1000 Then

Зарплата. Visible = True

Else

Зарплата. Visible = False

EndIf

Расчеты можно проводить по данным, отобранным с помощью Поля со Списком; например, Поле со Списком можно использовать для выбора из базы данных названия товара, его стоимости и других параметров, а затем вычислить стоимость покупки и сформировать товарный чек. Создайте форму, позволяющую заполнять таблицу Цех. Для этого укажите Цех в качестве Источника данных и разместите на форме поля Номер, НомДет и Количество, кнопку и два Поля со Списком: одно с полем Имя из таблицы Анкета, другое с полями Деталь и Номер из таблицы Детали. Переименуйте эти поля со списком в ПС1 и ПС2. В Обработчик события Нажатие кнопки (программу) поместите код

НомДет = ПС2. Column(1) ' Значение берется из второго столбца,

Номер = ПС1 ' Первый столбец имеет индекс Column(0) по умолчанию


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


Лаб. № 7. Использование в программе выражений на языке SQL


Структурированный язык запросов SQL (Structured Query Language) служит для создания запросов, а также для описания структуры базы данных и ее таблиц. Этот язык обязаны понимать все СУБД, что обеспечивает их совместимость. SQL позволяет создавать запросы со сложными логическими выражениями и быстро их изменять. Язык SQL – формализованный английский, и выражения на нем понять достаточно легко. Пример запроса на выборку фамилии и роста из таблицы Анкета с сортировкой по возрастанию поля Фамилия и с отбором по условию Рост >150 И <180 :

SELECT Анкета.Фамилия, Анкета.Рост

FROM Анкета

WHERE (((Анкета.Рост )<180 And (Анкета.Рост )>150))

ORDER BY Анкета.Фамилия ;

Тексты запросов на языке SQL можно просмотреть и откорректировать в Конструкторе запросов, используя команды Меню Вид – Режим SQL. Просмотрите в этом режиме все созданные вами запросы.

Блоки на языке SQL можно формировать и использовать в программах средств разработки приложений Windows, например в Visual Basic, Object Pascal среды Delphi, C++. Обычно их используют в качестве свойств объектов, выбирающих данные из баз данных. В качестве примера рассмотрим выборку в поле со списком на форме из таблицы Анкета фамилий и зарплат сотрудников, у которых зарплата больше заданной.

Создайте форму со свободным полем (с именем Поле0), полем со списком (ПолеСоСписком0) с двумя колонками (любыми) и кнопкой. Программа – обработчик события Нажатие кнопки (Click) выглядит следующим образом:

1 Dim S AS STRING ‘Определение строковой переменной STR

2 S = “SELECT Анкета.Фамилия, Анкета.Зарплата FROM Анкета”

3 S=S+”WHERE (((Анкета.Зарплата) < ”

4 S=S+ CSTR (Поле0) ‘

5 S= S+ “ )) ; ”

6 With ПолеСоСписком0
  1. . RowSource =S
  2. . Requery
  3. . SetFocus
  4. .DropDown

11 EndWith


В строке 1 создается строковая переменная STR, которая формируется в строках 2–5. В строках 2, 3 и 5 к ней добавляются тексты – строки символов, а в строке 4 – содержимое Поля0, трансформированное в строковую переменную оператором CSTR. Оператор With в строке 6 указывает, что далее будут использованы свойства и методы объекта ПолеСоСписком0: свойство Источник строк (RowSource) приравнивается строке S, метод Requery делает эту строку управляющей. Действие методов SetFocus и.DropDown эквивалентно наведению мыши на ПолеСоСписком0 и щелчку по нему.


Вопросы

  1. Что такое база данных и СУБД?
  2. Что такое поле и запись?
  3. Что такое физическое и логическое описание данных?
  4. Что входит в состав СУБД?
  5. Нарисуйте схему обработки данных в информационной системе.
  6. Основные категории персонала, выполняющего работу с базами данных, права и обязанности.
  7. Требования, предъявляемые к СУБД.
  8. Что такое целостность и непротиворечивость информации?
  9. Типы структур баз данных.
  10. Что такое реляционная БД?
  11. Основные серверные и настольные СУБД.
  12. Объекты СУБД Access.
  13. Особенности СУБД Access

14. Назначение экранной формы и отчета.

15. Что такое первичный ключ?

16. Что означает соответствие 1-й, 2-й и 3-й нормальной форме?

17. Типы отношений таблиц реляционных БД.

18 Что такое каскадное удаление и каскадное обновления данных?

19. Этапы разработки информационной системы .

20. Что такое UML?

21. Какие документы разрабатывают на этапе постановки задачи?

22. Что такое Концептуальное проектирование?

23. Что такое Концептуальная схема?

24 Что такое Сущность и модель Сущность-Связь.

25. Что такое ER-диаграммы?

26. Средства объектно-ориентированного программирования

27. Что такое администрирование информационной системы?

28. Типы данных БД Access.

29. Технологии импорта и связывания таблиц БД.

30. Технология создания отношений таблиц БД.

31. Технология создания запроса на выборку данных.

32. Технология создания запроса с обновлением.

33. Технология создания запроса со статистической обработкой данных.

34. Технология создания запроса с расчетами по нескольким таблицам.

35. Технология изменения свойств объектов формы в режиме Конструктора.

36. Технология размещения элементов управления на форме.

37. Технология создания Поля со списком.

38. Что такое объект, приведите примеры объектов.

39. Что такое объект, приведите примеры свойств и событий объектов.

40. Что такое язык SQL? Приведите пример выражения на SQL.

41. Назначение SQL.

Содержание


Введение 3

1. Принципы построения баз данных 3

2. Эволюция концепции базы данных 3

3. Технологическая схема работы СУБД 6

Рис. 2. Технологическая схема работы СУБД 6

4. Персонал, работающий с базами данных 7

5. Требования, предъявляемые к СУБД 8

6. Структуры баз данных 8

7. Принципы создания информационной системы предприятия 11

8. Лабораторные работы по базам данных 13

Лаб. № 1. Создание таблицы БД Access 13

Лаб. № 2. Создание связей таблиц БД 14

Лаб. № 3. Создание запросов 15

Лаб. № 4. Создание формы 16

Лаб. № 5. Создание отчета 17

9. Создание пользовательского интерфейса с модулями Visual Basic 18

10. Лабораторные работы по базам данных с модулями Visual Basic 19

Лаб. № 6. Размещение на форме элементов управления VBA и проведение расчетов с использованием модулей VBA 19

Лаб. № 7. Использование в программе выражений на языке SQL 21

Вопросы 23