96901

Электронный вариант базы данных «Библиотека»

Курсовая

Информатика, кибернетика и программирование

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

Русский

2015-10-12

1000 KB

8 чел.

Содержание

[0.1] Введение

[0.2] Глава 1.Введение в администрирование MySQL

[0.3] 1.1.Обзор задач администрирования

[0.4] 1.2.Общее администрирование

[0.5] 1.3.Безопасность

[0.6] Глава 2.Команды администрирования MySQL

[0.7] 2.1. Защита новой инсталляции MySQL

[0.8] 2.2. Настройка запуска и завершения работы сервера MySQL

[0.9] 2.3. Методы запуска сервера

[0.10] 2.4. Завершение работы сервера

[0.11] Глава 3. Управление пользовательскими учетными записями

[0.12] 3.1 Создание новых пользователей и предоставление привилегий

[0.13] 3.2.Отмена привилегий и удаление пользователей

[0.14] Глава 4. Проверка и восстановление таблиц

[0.15] 4.1. Проверка и восстановление таблиц

[0.16] 4.2. Резервное копирование и восстановление

[0.17] Глава 5. Сценарии и утилиты MySQL

[0.18] 5.1. Обзор серверных сценариев и утилит

[0.19] 5.2. Программа для управления множеством серверов MySQL

[0.20] 5.3.Утилита командной строки mysql

[0.21] Часть 2. Практическая часть.

[0.22] Задание 1.  ПостроениеER-диаграммы.

[0.23] Задание 2.  Создание структуры базы данных в СУБД Microsoft Access.

[0.24] 2.1.Создание структуры таблиц базы данных «Библиотека» в режиме конструктора.

[0.25] 2.2. Создание схемы данных.

[0.26] 2.3. Заполнение таблицы данными.

[0.27] Задание 3. Создание формы для заполнения таблиц данными

[0.28] 3.1. Создание формы с помощью конструктора формы.

[0.29] 3.2. Создание многотабличной формы для работы с взаимосвязанными таблицами:

[0.30] 3.3. Создание формы-заставки.

[0.31] Задание 4. Создание запросов.

[0.32] Задание 5. С помощью Диспетчера кнопочных форм создать многостраничную кнопочную форму для работы с базой данных.

[0.33] Задание 6. Создание макросов.

[0.34] Приложение 1.

[0.35] Приложение 2.

[0.36] Приложение 3.

[0.37] Приложение 4.

[0.38] Приложение 5.

[0.39] Приложение 6.


Введение

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

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

В данном курсовом проекте рассмотрены основные понятия баз данных: структура простейшей базы данных, компоненты базы данных Microsoft Access. Представлен электронный вариант базы данных «Библиотека», в которой хранятся данные о книгах, авторах различных изданий и о работниках библиотеки.

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

Часть 1. Теоретическая часть.

Глава 1.Введение в администрирование MySQL

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

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

1.1.Обзор задач администрирования

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

• Сервер MySQL. Сервер mysqld выполняет все операции с базами данных и таблицами. Для запуска сервера, мониторинга его работы и перезапуска в случае сбоя применяется программа safe_mysqld (демон)

• Клиентские программы и утилиты MySQL. Для взаимодействия с сервером и выполнения ряда административных задач используются различные программы MySQL, наиболее важными среди которых являются следующие:

• mysql. Интерактивная программа, позволяющая отправлять SQL-запросы на сервер и просматривать результаты их выполнения.

• mysqladmin. Административная программа, позволяющая выполнять такие операции, как завершение работы сервера, создание и удаление баз данных. Эту же программу можно применять для проверки состояния сервера, если что-то в его работе не так.

• SQL - язык сервера. Некоторые задачи администрирования можно выполнить только с помощью утилиты командной строки mysqladmin. Иногда гораздо эффективней справиться с задачей может администратор, который может "общаться" с сервером на его языке. Предположим, что необходимо проверить, почему привилегии пользователя работают вовсе не так, как ожидается. Напрямую "поговорить" с сервером на человеческом языке, к сожалению, нельзя. Зато можно воспользоваться программой-клиентом mysql и послать SQL-запрос для анализа таблиц разрешений. Если же используемая версия MySQL появилась раньше введения оператора grant, необходимо сначала применить команду mysql для настройки привилегий каждого пользователя.

• Каталог данных MySQL. Каталог данных используется сервером для хранения баз данных и файлов состояния. Важно понимать структуру и содержимое каталога данных, чтобы знать, как сервер представляет свои базы данных и таблицы в файловой системе, где хранятся различные файлы (например, регистрационные) и что в них содержится. Необходимо также уметь управлять распределением дискового пространства, чтобы избежать переполнения раздела с каталогом данных.


1.2.Общее администрирование

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

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

Поддержка учетных записей пользователей. Администратор должен отчетливо понимать разницу между пользователями MySQL и пользователями UNIX и Windows, а также уметь настраивать учетные записи пользователей MySQL. Такая настройка зачастую заключается в определении, какие пользователи и с какого компьютера смогут подключаться к серверу. Новым пользователям необходимо, кроме всего прочего, сообщить свои параметры подключения, чтобы успешно настроить обмен данными с сервером. Настройка учетных записей — это задача администратора, а не пользователей!

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

• Настройка сервера. Пользователи всегда хотят, чтобы сервер работал максимально быстро. Самый быстрый и неэкономный метод повышения производительности сервера — приобретение и установка большего объема памяти и более быстрых дисков. Администратору необходимо знать, какие параметры применяются для настройки работы сервера и как их значения повлияют на ситуацию. Одни клиенты пользуются запросами в основном для выборки необходимой информации из баз данных, другие — в основном для добавления и обновления информации. Поэтому решение об изменении значений тех или иных параметров зачастую определяется типом запросов, отправляемых к узлу.

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


1.3.Безопасность

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

• Защита файловой системы. В ОС UNIX могут поддерживаться несколько учетных записей пользователей, не обладающих полномочиями администратора MySQL. Необходимо проверить, чтобы эти пользователи не имели доступа к каталогам данных. Это позволит защититься от несанкционированного копирования или удаления таблиц баз данных либо чтения регистрационных файлов с критически важной информацией. Администратор должен знать, как настроить учетные записи пользователей UNIX для сервера MySQL, как сделать каталог данных доступным только для владельца и как определить привилегии пользователей сервера.

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


Глава 2.Команды администрирования MySQL

Стремительное развитие возможностей MySQL вынуждает администратора пристально следить за новинками и вовремя обновлять свою систему MySQL посредством инсталляции новых версий.

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

• Утилита mysqladmin позволяет выполнять всевозможные административные функции.

• Сценарии safemysqld и mysqlserver применяются для запуска MySQL-сервера mysqld.

• Программа mysqldump используется для резервирования и копирования баз данных.

• Утилиты myisamchk и isamchk применяются для проверки целостности данных таблиц и операций отладки.

2.1. Защита новой инсталляции MySQL

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

Сразу после первой инсталляции MySQL на компьютере привилегии в таблице разрешений базы данных mysql устанавливаются следующим образом.

• Зарегистрироваться в качестве основного пользователя root с локального компьютера можно без пароля. Пользователь root обладает всеми возможными правами (включая административные), может выполнять любые операции.

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

В версиях MySQL 3.22 и выше установить пароль можно с помощью команды mysqladmin. Для этого достаточно ввести следующую команду, заменив ее часть mypassword реальным паролем:

mysqladmin -u root password "my password"

Во всех остальных версиях MySQL для этих целей можно воспользоваться программой mysql и непосредственно обновить таблицу разрешений grant в базе данных mysql:

mysql> -u root mysql

mysql> UPDATE user SET Password=PASSWORD("my password") WHERE User="root";

Команда mysql и оператор update применяется в старых версиях MySQL, а также во всех бесплатно распространяемых версиях под Windows.

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

% mysqladmin -u rootstatus

Если сервер все еще позволяет подключаться в качестве пользователя root без пароля, укажите ему перезагрузить таблицы, введя следующую команду:

% mysqladmin -u rootreload

После определения пароля пользователя root (и перезагрузки таблиц разрешений) самое время приступать к определению нового пароля для администратора.


2.2. Настройка запуска и завершения работы сервера MySQL

Сервер может запускаться вручную или автоматически. В первом случае сервер запускается в качестве пользователя, под именем которого зарегистрирован администратор, запускающий сервер (или другой сотрудник). Другими словами, если администратор зарегистрирован под именем пользователя paul и запускает сервер, то сервер будет работать с правами пользователя paul. Если затем администратор с помощью команды su зарегистрируется в качестве пользователя root и запустит сервер, сервер будет работать с правами пользователя root.

Администратору следует помнить о двух целях, преследуемых при настройке процедуры запуска сервера MySQL.

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

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


2.3. Методы запуска сервера

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

• Непосредственный вызов mysqld. Это, возможно, самый распространенный метод. Поэтому подробно рассматриваться далее он не будет. Достаточно лишь заметить, что в случае необходимости можно использовать команду mysqld —help для определения опций с другими методами запуска.

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

• Вызов сценария mysql.server. Этот сценарий запускает сервер посредством запуска сценария safemysqld. Сценарий mysql.server предназначен для использования на компьютерах с системой запуска/завершения работы System V. Данная система включает несколько каталогов со сценариями, вызываемыми при входе или выходе с определенного уровня работы. С помощью соответствующих аргументов start и stop можно определить, что делать дальше: запустить сервер или остановить его работу.

Сценарий safemysqld располагается в подкаталоге bin каталога инсталляции MySQL. Его же можно найти в каталоге scripts исходной дистрибуции MySQL. Сценарий mysql.server можно отыскать в подкаталоге share/mysql каталога инсталляции или каталоге support-files исходной дистрибуции MySQL. Для использования эти сценарии необходимо скопировать в соответствующие каталоги запуска.

В ОС BSD-UNIX довольно часто используются несколько специальных файлов, которые располагаются в каталоге /etc и инициируют службы во время запуска. Как правило, имена таких файлов начинаются с приставки "re". Файл rc.local (или имеющий подобное название), например, предназначен специально для запуска локальных служб. Для запуска сервера в подобных системах необходимо добавить в файл rc.local следующие строки (подставив правильный путь к сценарию safe_mysqld):

if [ -x /usr/local/bin/safe_mysqld ]; then /usr/local/bin/safe_mysqld& fi

Структура каталогов с файлами запуска может изменяться от системы к системе, поэтому рекомендуется внимательно просмотреть, как эти файлы организованы в используемом компьютере. Например, в системе LinuxPC для запуска применяются каталоги /etc/rc.d/init.d и etc/rc.d/rc3.d.    


2.4. Завершение работы сервера

Для самостоятельного завершения работы сервера применяется команда mysqladmin:

% mysqladminshutdown

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

Подключение к компьютеру localhost обычно осуществляется через файл доменного разъема ОС UNIX, которым, как правило, является /tmp/mysql.sock. Удаление этого файла делает невозможным подключение клиентов. Такая ситуация, в свою очередь, может возникнуть после запуска процесса сron, который удаляет временные файлы из каталога /tmp.

Если подключиться нельзя из-за отсутствия файла разъема, проблему можно легко решить посредством простой перезагрузки сервера. В процессе запуска он воссоздаст этот файл. Проблема заключается в том, что использовать этот разъем для установления соединения с сервером нельзя. Для этого необходимо установить соединение TCP/IP.

Если файл разъема удален в результате работы задания программы стоп, проблема может возникнуть снова. Чтобы избежать этого, настройте программу стоп на использование другого файла разъема. Это можно осуществить с помощью глобального конфигурационного файла.

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

• Завершите работу сервера.

Зарегистрировавшись как пользователь root на компьютере с сервером, администратор может завершить работу сервера с помощью команды kill. Используя команду ps, можно отыскать ID-номер процесса сервера. С этой же целью можно просмотреть PlD-файл, который обычно располагается в каталоге данных.

Лучше сначала попытаться завершить работу сервера с помощью обычной команды kill, чем сразу посылать серверу сигнал term и проверять, правильно ли он отреагировал на нее, завершив работу. В этом случае все таблицы и журналы будут обработаны и закрыты корректно. Если в работе сервера не все нормально и он не отвечает на сигнал завершения работы, можно воспользоваться командой kill -9 для принудительного закрытия. Однако к ее помощи следует прибегать в самую последнюю очередь, поскольку в этом случае существует риск оставить таблицы поврежденными.


Глава 3. Управление пользовательскими учетными записями

В обязанности администратора MySQL входит также создание и настройка учетных записей пользователей MySQL. В процессе этой настройки необходимо определить, какие пользователи будут иметь возможность подключения к серверу, откуда они смогут подключиться и что смогут делать после подключения. Два появившихся в MySQL 3.22.11 оператора упрощают эту задачу. Оператор GRANT создает пользователей MySQL и позволяет настроить их привилегии. Оператор REVOKE удаляет привилегии. Эти два оператора являются своего рода внешним интерфейсом для таблиц разрешений базы данных mysql и обеспечивают альтернативу непосредственному редактированию содержимого этих таблиц.

Если оператор GRANT запускается для определенного пользователя, в таблице user для него создается новая запись. Если оператор определяет для пользователя какие-либо глобальные привилегии (привилегии администратора или привилегии, применяемые сразу ко всем базам данных), они также записываются в таблицу user. Права обработки базы данных, таблицы или столбца записываются соответственно в таблицы db, tables_priv и column_priv.

Применять операторы grant и revoke проще, чем непосредственно редактировать таблицы разрешений. Роль этих таблиц действительно велика, и администратор должен понимать, каким образом их обрабатывают операторы GRANT и REVOKE.

3.1 Создание новых пользователей и предоставление привилегий

Оператор GRANT имеет следующий синтаксис:

GRANT privileges (columns)

ON what

TO user IDENTIFIED BY "password"

WITH GRANT OPTION

Для успешного его выполнения обязательно нужно правильно определить следующую информацию:

  •  privileges (привилегии). Привилегии присваиваются определенному пользователю.

Используемые в операторе grant спецификаторы привилегий описаны в представленной ниже таблице.

Спецификатор привилегий

Разрешенная операция

user

Подключающиеся к серверу пользователи и все их глобальные привилегии

alter

Изменение таблиц и индексов

create

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

delete

Удаление существующих записей из таблиц

drop

Удаление баз данных и таблиц

index

Создание и удаление индексов

insert

Вставка новых записей в таблицы

references

He используется

select

Извлечение существующих записей из таблиц

update

Изменение существующих записей таблиц

file

Чтение и запись файлов сервера

process

Просмотр информации о внутренних потоках сервера и их удаление

reload

Перезагрузка таблиц разрешений или обновление журналов, кэша компьютера или кэша таблицы

shutdown

Завершение работы сервера

all

Все операции. Аналог — allprivileges

usage

Полное отсутствие привилегий

Спецификаторы привилегий, входящие в первую группу этой таблицы, применяются к базам данных, таблицам и столбцам. Спецификаторы второй группы определяют административные привилегии. Как правило, они применяются довольно редко, поскольку позволяют пользователю влиять на работу сервера. (Не каждому пользователю, например, необходима привилегия shutdown.) В третью группу входят два отдельных спецификатора: спецификатор ALL предоставляет "все привилегии", a USAGE означает "полное отсутствие привилегий". В последнем случае создается новый пользователь, не обладающий никакими правами;

  •  columns (столбцы). Столбцы, к которым применяются определенные привилегии. Этот параметр необязателен и используется только при установке привилегий для столбцов. Имена нескольких столбцов отделяются друг от друга запятыми;
  •  what (что). Уровень применения привилегий. Привилегии могут быть глобальными (применяемыми ко всем базам данных и их таблицам), уровня баз данных (применяемыми ко всем таблицам определенной базы данных) или уровня таблицы. Используя оператор columns, можно определить также привилегии уровня столбца;
  •  user (пользователь). Пользователь, которому присваиваются привилегии. В некоторых версиях MySQL необходимо указывать как имя пользователя, так и компьютер, с которого он сможет подключаться. Такой способ задания легко позволяет определить двух пользователей с одинаковым именем, но подключающихся с разных компьютеров. Возможности MySQL позволяют их различать и наделять различными правами.
  •  password (пароль). Присвоенный пользователю пароль, который не является обязательным. Если для нового пользователя опустить выражение IDENTIFIED BY, пароль ему присвоен не будет (что не совсем разумно с точки зрения безопасности). Если же этот оператор задается для уже существующего пользователя, введенный пароль заменит используемый до настоящего момента. Старый пароль останется неизменным, если новый не будет определен. Строка пароля, задаваемая с помощью выражения IDENTIFIEDBY, должна представлять собой буквенную строку, которую при записи зашифрует оператор grant. Поэтому не следует применять функцию password(), применяемую с оператором SET password.

Чтобы определиться, какую же форму оператора GRANT применить, достаточно ответить на следующие вопросы.

  •  Кто и откуда может подключаться к серверу?
  •  Какой уровень привилегий должен иметь пользователь и на доступ к чему эти привилегии предоставляются?
  •  Необходимо ли пользователю предоставлять административные привилегии?


3.2.Отмена привилегий и удаление пользователей

Для отмены привилегий пользователя применяется оператор revoke. Его синтаксис очень похож на синтаксис оператора GRANT с той лишь разницей, что предложение ТО заменено на предложение FROM, а предложения IDENTIFIED BY и WITH GRANT OPTION отсутствуют вовсе:

REVOKE privileges (columns) ON what FROM user

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

Оператор revoke применяется для отмены привилегий, но не для удаления пользователей. В таблице user все равно остается запись для пользователя, даже если все привилегии для него сняты. Это означает, что пользователь все еще имеет возможность подключаться к серверу. Для полного удаления пользователя необходимо явным образом удалить его запись из таблицы user. Для этих целей применяется операторDELETE:

% mysql -u root mysql

mysql> DELETE FROM user WHERE User = "user_name" and Host = "host_name";

mysql> FLUSH PRIVILEGES;

Оператор delete удаляет запись пользователя, а оператор FLUSH указывает серверу перезагрузить таблицы разрешений. (Таблицы перезагружаются автоматически при использовании операторов GRANT и revoke. Однако этого не происходит при непосредственном изменении таблиц разрешений.)


Глава 4. Проверка и восстановление таблиц

4.1. Проверка и восстановление таблиц

Повреждения в таблицах MyISAM происходят вследствие событий, которые невозможно избежать. Различные аппаратные сбои могут оказать самое непредсказуемое влияние на базу данных. Например, если жесткий диск выйдет из строя, данные окажутся полностью потерянными. Неожиданное выключение системы из-за сбоя питания может привести к тому, что изменения в таблицу будут внесены не полностью. Даже если уничтожить серверный процесс по команде kill, у него не будет возможности корректно завершить свою работу.

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

Существуют два способа проверки и восстановления таблиц. Первый — с помощью специальных инструкций, второй — с помощью утилиты myisamchk. Соответствующие инструкции называются CHECK TABLE, REPAIR TABLE и OPTIMIZE TABLE. Они достаточно удобны, поскольку выполняются в рамках серверного процесса. В этом смысле они ничем не отличаются, к примеру, от инструкции SELECT. Утилита myisamchk обладает рядом дополнительных возможностей, которые в ряде ситуаций оказываются весьма удобными.

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

Таблицы снабжены флагом, указывающим, изменилось ли содержимое таблицы с момента последней проверки. Инструкция CHECK TABLE пропустит неизмененные таблицы при наличии ключевого слова CHANGED. В утилите myisamchk соответствующий режим включается с помощью опции –check-only-changed. Особым образом помечаются также неправильно закрытые таблицы. Чтобы проверить только их, укажите флаг FAST (инструкция CHECK TABLE) или опцию –fast (утилита myisamchk).

По умолчанию утилита myisamchk ищет повреждения только в индексных файлах. В инструкции CHECK TABLE этот режим включается с помощью флага QUICK. Сама инструкция CHECK TABLE по умолчанию проверяет не только индексы, но и неправильные ссылки на удаленные записи. В утилите myisamchk этот режим включается с помощью опции –medium-check. Расширенный режим проверки задается флагом EXTEND и опцией –extended-check. В этом случае будут проверяться все индексируемые значения.

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

Таблицы можно проверять, когда сервер запущен. Программа MySQL не будет пытаться их восстановить. Но если обнаруживается поврежденная таблица, программа запрещает потокам обращаться к ней до тех пор, пока таблица не будет восстановлена. Для восстановления требуется получить монопольный доступ к таблице. В этой ситуации служебными инструкциями пользоваться удобнее, чем утилитой myisamchk, так как MySQL сможет заблокировать другие потоки на время восстановления таблицы. Утилита myisamchk может работать таким образом, только если операционная система поддерживает блокировку файлов. В Linux соответствующих функций нет, поэтому перед восстановлением таблиц нужно останавливать сервер.


4.2. Резервное копирование и восстановление

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

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

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

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

Инструкции BACKUP TABLE и RESTORE TABLE копируют табличные файлы в указанный каталог. Естественно, серверный процесс должен иметь право записи в этот каталог. Программа MySQL копирует туда файлы с расширениями .frm и .MUD.

Инструкция BACKUP TABLE самостоятельно заботится о блокировании таблиц и очистке табличных буферов. Это означает, что, в отличие от других методов резервного копирования, дополнительные инструкции не нужны.

Инструкция RESTORE TABLE копирует архивные файлы в каталог базы данных и перестраивает индексы. Таблица не должна существовать на момент восстановления. В случае необходимости можно удалить ее с помощью инструкции DROP TABLE или же вручную удалить табличные файлы.

Если резервные копии создаются вручную, то в архив можно также включить индексный файл. В этом случае в процессе восстановления таблицы индексный файл будет просто скопирован в каталог базы данных. Тем не менее его всегда можно воссоздать с помощью инструкции REPAIR TABLE. Предположим, таблица dictionary была полностью утеряна. Процесс ее восстановления начнем с копирования frm-файла обратно в каталог базы данных. Создать пустые файлы данных и индексов можно с помощью инструкции TRUNCATE TABLE. Затем необходимо скопировать старый файл данных поверх нового. После этого вводится инструкция REPAIR TABLE.

Для создания sql-образа таблицы предназначена утилита mysqldump. Она записывает текст инструкций в поток stdout, поэтому нужно перенаправить результаты ее работы в файл. В листинге 4.6 показан созданный этой утилитой образ таблицы db из базы данных mysql. Утилита была запущена с опцией –opt которая включает режим оптимальных установок.


Глава 5. Сценарии и утилиты MySQL

5.1. Обзор серверных сценариев и утилит

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

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

В следующем списке приводятся краткие описания серверных программ MySQL.

  •  myisamchk

Утилита, применяемая для описания, проверки, оптимизации и восстановления таблиц MySQL. Поскольку утилита myisamchk имеет много функций, она описывается отдельно.

  •  make_binary_distribution

Создает бинарную поставку откомпилированного кода MySQL. Эту версию при помощи FTP можно передать на сайт support.mysql.com в директорию /pub/mysql/Incoming, чтобы ею могли воспользоваться и другие пользователи MySQL.

  •  mysqlbug

Сценарий, составляющий отчет о возникшей в MySQL неполадке. Этот сценарий должен всегда использоваться для составления отчета для почтового списка рассылки MySQL.

  •  mysqld

Сам сервер MySQL, демон. Он должен работать постоянно.

  •  mysql_install_db

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

safe_mysqld, оболочка mysqld

В MySQL 4.0 safe_mysqld был переименован в mysqld_safe.

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


5.2. Программа для управления множеством серверов MySQL

Программа mysqld_multi предназначена для управления несколькими процессами mysqld, работающих на различных сокетах Unix и портах TCP/IP.

Программа будет искать группу(группы) [mysqld#] в my.cnf (или заданных при помощи -config-file=... файлах), где # — любое положительное число, начиная с 1. Мы говорим про этот номер далее как про номер группы опций, или GNR. Номера групп различают группы опций одну от другой и используются как аргумент при запуске mysqld_multi чтобы указать, какие серверы вы хотите запустить, остановить или получить статус. Эти группы должны быть такими же, как и обычная группа [mysqld], но с такими портом, сокетом и т.д., которые требуются для каждого отдельного процесса mysqld.

В качестве разделителей в списке GNR применяются запятые, комбинации создаются при помощи тире. Последнее означает, что будут задействованы все номера GNR из диапазона GNR1-GNR2. Если не задан аргумент GNR, то все группы будут либо запущены, либо остановлены, либо будет выведен отчет об этих группах. Обратите внимание, что в списке GNR не должно быть никаких пропусков (пробелов, символов табуляции или пустых строк). Любые данные после пропуска будут игнорироваться.

mysqld_multi поддерживает следующие опции:

-config-file=...

Альтернативный файл конфигурации (configfile). Примечание: данный файл не влияет на собственные опции этой программы (группа [mysqld_multi]), а только на группы [mysqld#]. Без этой опции поиск всех данных будет осуществляться только в обычном файле my.cnf

-example

Представляет пример файла конфигурации

-log=...

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

-mysqladmin=...

Исполняемый файл mysqladmin, используемый для завершения работы сервера

-mysqld=...

Исполняемый файл mysqld, который будет использоваться. Обратите внимание: в этой опции можно также указывать safe_mysqld. Опции передаются mysqld. Необходимо только удостовериться, что в переменной окружения PATH имеется mysqld или что установленsafe_mysqld

-no-log

Вывод в stdout вместо журнала. По умолчанию журналы включены

-password=...

Пароль пользователя для доступа к mysqladmin

-tcp-ip

Подсоединение к серверу(ам) MySQL по TCP/IP вместо Unix-сокетов. Данная опция влияет на завершение работы сервера и создание отчетов. Если файл сокета отсутствует, сервер будет работать, но к нему можно будет обращаться только через порт TCP/IP. По умолчанию соединение осуществляется через сокет Unix

-user=...

Имя пользователя MySQL для mysqladmin

-version

Вывод номера версии и завершение работы


5.3.Утилита командной строки mysql

Утилита командной строки mysql является простой SQL-оболочкой (с возможностями библиотеки readline проекта GNU). Она поддерживает интерактивный и неинтерактивный режимы. В интерактивном режиме результаты запроса представляются в ASCII-формате. При использовании в неинтерактивном режиме (например, в качестве фильтра) результат представляется в текстовом формате с символом табуляции в качестве разделителя (выходной формат можно изменить при помощи параметров командной строки). Сценарии можно запускать, как показано ниже:

shell>mysqldatabase<script.sql>output.tab

Если возникают проблемы из-за недостатка памяти на данном клиенте, применяйте параметр -quick! Это заставит mysql использовать функцию mysql_use_result() вместо функции mysql_store_result() для получения результирующей выборки данных.

Использовать mysql очень легко. Запустите mysqldatabase или mysql -user=user_name -password=your_passworddatabase. Наберите SQL-команду прямо в командной строке, завершив ее одним из символов: ';', '\g' или '\G', и нажмите клавишу "Ввод".

Утилита командной строки mysql поддерживает следующие параметры.

-?, -help

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

-A,-no-auto-rehash

Отключает автоматическое рехеширование. Rehash следует использовать для получения хеша таблиц и полей. Это обеспечивает более быстрый старт mysql

-prompt=...

Устанавливает приглашение на ввод команд в заданном формате

-b, -no-beep  

Выключает звуковой сигнал об ошибке

-B, -batch   

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

-character-sets-dir=...

Директория, где находятся наборы символов

-C, -compress

Использовать сжатие данных в протоколе сервер/клиент

-#, -debug[=...]

Журнал отладки. Значение по умолчанию — 'd:t:o,/tmp/mysql.trace'

-D, -database=...

Имя используемой базы данных. Большей частью применяется в конфигурационном файле my.cnf

-default-character-set=...

Установить набор символов по умолчанию

-e, -execute=...  

Выполнить команду и завершить программу (вывод результата как и для -batch)

-E, -vertical  

Вывести результаты запроса (строки) по вертикали. Можно произвести вывод подобным образом и без данного параметра, завершая команды символами \G

-f, -force

Продолжать обработку даже при обнаружении ошибки SQL

-g, -no-named-commands

Выключает именованные команды. Следует использовать только команды вида \* либо применять именованные команды только в начале строки, заканчивающейся символом ';'

-i, -ignore-space

Игнорировать пробел после имен функций

-h, -host=...

Подсоединиться к базе данных на указанном хосте

-H, -html

Вывести выходные данные в виде HTML

-X, -xml

Вывести выходные данные в виде XML

Часть 2. Практическая часть.

Разработка реляционной базы данных «Библиотека».

Задание 1.  ПостроениеER-диаграммы.

Диаграмма сущность связь представляет модель данных на уровне сущностей и взаимосвязей между ними. Объекты модели, представляемой на логическом уровне, называются сущностями и связями. Сущность можно определить как объект, событие, концепцию, информация о которых должна сохраняться. Каждая сущность имеет некоторые характеристики, называемые атрибутами. Например, сущность «Преподаватель» может иметь атрибуты: фамилия, ученая степень, ученое звание, год рождения, стаж работы, адрес и т.п.

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

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

  1.  Выявление сущностей (с указанием ключа каждой сущности) и связей между ними.

Перечень выявленных сущностей:

  1.  Факультет (ключ Id)
  2.  Группы (ключ Id)
  3.  Категория (ключ Id)
  4.  Издательство (ключ Id)
  5.  Студенты (ключ Id)
  6.  Книги (ключ Id)
  7.  Тематика (ключ Id)
  8.  Автор (ключ Id)
  9.  Билеты (ключ Id)
  10.   Библиотекарь (ключ Id)

Связи между сущностями:

2. Построение диаграммы «сущность–связь» с учетом всех сущностей и связей между ними. Диаграмма  «сущность–связь» базы данных приведена в Приложении 1 (Рис. 1).

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

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

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

Первая нормальная форма

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

В реляционной модели отношение всегда находится в первой нормальной форме по определению понятия отношение. Что же касается различных таблиц, то они могут не быть правильными представлениями отношений и, соответственно, могут не находиться в 1НФ. Таблицы приведены к первой нормальной форме.

Вторая нормальная форма

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

4. Добавление не ключевых атрибутов в отношения.

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

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


Задание 2.  Создание структуры базы данных в СУБД Microsoft Access.

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

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

2.1.Создание структуры таблиц базы данных «Библиотека» в режиме конструктора.

  1.  в окне базы данных выбрать вкладку Таблицы, а затем щелкнуть по кнопке  «Создать»;
  2.  в окне «Новая таблица» выбрать пункт Конструктор и щелкнуть по кнопке «OK». В результате проделанных операций открылось окно таблицы в режиме конструктора.
  3.  определение полей таблиц.

Таблица «Книги»

Имя поля

Ключе-вое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Именование

Нет

Да

Текстовый

90

Кол-во страниц

Нет

Да

Целое

Год  издания

Нет

Да

Числовой

Байт

Тематика

Нет

Да

Числовой

Байт

Категория

Нет

Да

Числовой

Байт

Автор

Нет

Да

Числовой

Байт

Издательство

Нет

Да

Числовой

Байт

Аннотация

Нет

Да

Текстовый

100

Тираж

Нет

Да

Текстовый

100

Таблица «Авторы»

Имя поля

Ключе-вое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Имя

Нет

Да

Текстовый

90

Фамилия

Нет

Да

Текстовый

100

Таблица «Библиотекари»

Имя поля

Ключе-вое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Имя

Нет

Да

Текстовый

90

Фамилия

Нет

Да

Текстовый

100

Таблица «Билеты»

Имя поля

Клю-чевое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Студент

Нет

Да

Числовой

Байт

Книга

Нет

Да

Числовой

Байт

Дата возврата

Нет

Да

Дата/время

Библиотека еще не работала

Дата выдачи

Нет

Да

Дата/время

Библиотекарь

Нет

Да

Числовой

Байт

Таблица «Группы»

Имя поля

Ключе-вое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Группа

Нет

Да

Текстовый

90

Факультет

Нет

Да

Числовой

Байт

Таблица «Издательства»

Имя поля

Ключе-вое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Издательство

Нет

Да

Текстовый

90

Таблица «Категории»

Имя поля

Ключе-вое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Категория

Нет

Да

Текстовый

90

Таблица «Факультеты»

Имя поля

Ключе-вое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Факультет

Нет

Да

Текстовый

90

Таблица «Тематики»

Имя поля

Ключе-вое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Тематика

Нет

Да

Текстовый

90

Таблица «Студенты»

Имя поля

Ключе-вое поле

Обязатель-ное поле

Тип данных

Подпись поля

Условие на значение

Размер

Сообщение об ошибке

Id

Да

Да

Счетчик

Целое

Имя

Нет

Да

Текстовый

90

Фамилия

Нет

Да

Текстовый

90

Группа

Нет

Да

Числовой

Байт

Семестр

Нет

Да

Числовой

Байт

Возраст

Нет

Да

Текстовый

90

Телефон

Нет

Да

Текстовый

90

Распечатки всех таблиц БД в режиме конструктора находятся в Приложение 2.

2.2. Создание схемы данных.

  1.  на панели инструментов нажать на кнопку «Схема данных»;
  2.  в окне «Добавление таблицы» на вкладке «Таблицы» выбрать таблицы и нажать на кнопки Добавить/Закрыть;
  3.  связать таблицы; тип отношения «один-ко-многим».

Распечатка Схемы Данных находятся в Приложение 3.

2.3. Заполнение таблицы данными.

  1.  открыть таблицу в режиме таблицы;
  2.  нажать на панели инструментов кнопку «Новая запись»;
  3.  ввести данные и нажать клавишу «TAB» для перехода к следующему полю;


Задание 3. Создание формы для заполнения таблиц данными

3.1. Создание формы с помощью конструктора формы.

  1.  в окне базы данных выбрать вкладку «Создание», а затем щелкнуть по кнопке «Конструктор форм»;
  2.  перенести из формы с элементами управления в область с данными элементы «Надпись», «Поле», «Кнопка»;
  3.  выполнить ввод данных в поле ввода для элемента «Надпись»;
  4.  выбрать необходимое действие для кнопки, наименование;
  5.  щелкнуть по элементу «Поле» и в окне свойств выбрать вкладку «Данные» и щелкнуть одноименное поле;
  6.  для каждого поля выбрать необходимые строки из таблиц в форме «Элементы выражений»;

3.2. Создание многотабличной формы для работы с взаимосвязанными таблицами:

  1.  в окне базы данных выбрать вкладку «Создание», а затем щелкнуть по кнопке «Форма»;
  2.  перенести из формы с элементами управления в область с данными элемент «Поле со списком»;
  3.  нажать кнопку «Далее», чтобы поле со списком получило значения из других таблиц;
  4.  выбрать таблицу, которая будет наследовать данные;
  5.  выбрать поля таблицы;
  6.  для добавления идентификатора в главную таблицу, выбрать в выпадающем списке «Сохранить в поле» поле, которое служило основным для наследуемого.
  7.  выполнить ввод данных в поле «Наименование» и сохранить.


3.3. Создание формы-заставки.

  1.  в окне базы данных выбрать вкладку «Создание», а затем щелкнуть по кнопке «Конструктор форм»;
  2.  перенести из формы с элементами управления в область с данными элементы «Надпись»;
  3.  выполнить ввод информации о базе данных и её создателе в поле ввода для элемента «Надпись»;
  4.  в окне свойств выбрать вкладку «Макет» затем в выпадающем списке «Форма»;
  5.  отключить свойства «Разделительные линии», «Область выделения», «Кнопки навигации», «Кнопки размеров окна», «Заголовок формы»;

Распечатки форм в режиме формы находятся в Приложение 4.



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

Создать следующие виды запросов:

а) на выборку с вычисляемым полем;

б) перекрестный запрос;

в) на удаление.

Запрос с вычисляемым полем вычисляет количество книг, чей тираж превышает 3000.

Запрос на удаление производит удаление библиотекарей с введённой фамилией и связанные с ним записи.

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

Распечатки запросов в режиме конструктора находятся в Приложение 5.


Задание 5. С помощью Диспетчера кнопочных форм создать многостраничную кнопочную форму для работы с базой данных.

  1.  в разделе «Работа с базами данных» на вкладке «Работа с базами данных» щелкнуть кнопку «Диспетчер кнопочных форм»;
  2.  будет выведен запрос на подтверждение создания, где необходимо подтвердить операцию;
  3.  появится диалоговое окно «Диспетчер кнопочных форм», в котором щелкнуть кнопку «Создать». В диалоговом окне «Создание» ввести имя новой кнопочной формы и нажать кнопку «ОК»;
  4.  вернуться к выбору форм, и щелкнуть кнопку «Изменить», затем «Создать». Появится диалоговое окно, в котором необходимо выбрать команду «Открыть форму для добавления», и саму форму;
  5.  таким образом добавить новые команды в новую форму для добавления и изменения записей;
  6.  открыть настройки Microsoft Access, выбрать пункт «текущая база данных» и во всплывающем списке «Форма просмотра» выбрать главную кнопочную форму;
  7.  щелкнуть вкладку «Файл», выбрать кнопку «Зашифровать паролем». Ввести пароль и подтверждение;

Распечатка кнопочной формы находится в Приложение 4 (Рис 16).


Задание 6. Создание макросов. 

  1.  открыть форму-заставку в режиме конструктора;
    1.  в окне свойств, выбрать элемент «Форма»;
    2.  выбрать вкладку «События» и событие «Таймер»;
    3.  в процедуре обработки события написать следующий код: 

Private Sub Form_Timer()

DoCmd.OpenForm "Заставка"

DoCmd.Close acForm, "Заставка"

DoCmd.OpenForm "Кнопочная форма"

End Sub

  1.  на вкладке «События» задать интервал таймера размером 2000 мс;

Распечатки макросов в режиме конструктора находятся в Приложение 6.


Заключение

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

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

В данной работе была создана реляционная база данных «Библиотека», разработанная с помощью СУБД Microsoft Access.


ПРИЛОЖЕНИЕ.

Приложение 1.

Рис 1. Диаграмма  «сущность–связь»

Рис 2. ER-диаграмма

Приложение 2.

Рис 3. Таблица «Книги» в режиме конструктора.

Рис 4. Таблица «Авторы» в режиме конструктора.

Рис 5. Таблица «Библиотекари» в режиме конструктора.

Рис 6. Таблица «Билеты»в режиме конструктора.

Рис 7. Таблица «Группы» в режиме конструктора.

Рис 8. Таблица «Издательства» в режиме конструктора.

Рис 9. Таблица «Факультеты» в режиме конструктора.

Рис 10. Таблица «Тематики» в режиме конструктора.

Рис 11. Таблица «Студенты» в режиме конструктора.

Приложение 3.

Рис 12. Схема данных связей таблиц базы данных.


Приложение 4.

Рис 13. Однотабличная форма «Студенты».

Рис 14. Многотабличная форма «Книги».

Рис 15. Форма-заставка.

Рис 16. Главная кнопочная форма.

Приложение 5.

Рис 17. Перекрёстный запрос в режиме конструктора.

Рис 18. Запрос с вычисляемым полем в режиме конструктора.

Рис 19. Запрос с вычисляемым полем в режиме конструктора.


Приложение 6.

Рис 20. Макрос формы заставки.


 

А также другие работы, которые могут Вас заинтересовать

3779. Правоотношения в сфере трудового права 70 KB
  Введение Трудовое право как одна из ведущих отраслей российского права, имеющее предметом регулирования общественные отношения в важнейшей сфере жизнедеятельности общества – в сфере труда, вступило в новый этап реформирования, связанный с приня...
3780. ЖИЗНЬ И ТВОРЧЕСТВО ВИКТОРА МИХАЙЛОВИЧА ВАСНЕЦОВА 75.5 KB
  Виктор Михайлович Васнецов родился в 1848 году в одном из сёл Вятской губернии. В городе Вятке прошла его ранняя юность. В Вятской губернии издавна процветали по сёлам кустарные промыслы, далеко шла слава об искусных вятских умельцах, о резной дерев...
3781. Василий Иванович Суриков 32 KB
  Василий Иванович Суриков В городе Красноярске 24 января 1848 года в семье, принадлежащей к старинному казачьему роду, родился Василий Суриков. С первых сознательных дней своей жизни он жадно впитывает в себя колоритные условия патриархального быта н..
3782. Жизнь и творчество Пабло Пикассо 116.5 KB
  Введение Актуальность выбранной темы я вижу в том, что немногим удавалось достичь такой популярности и силы воздействия на искусство ХХ в., как Пабло Пикассо, родившемуся почти 120 лет назад на юге Испании. Он прожил долгую и плодотворную жизнь. Ког...
3783. Жизнь Льва Ивановича Иванова 44.5 KB
  Жизнь Льва Ивановича Иванова сложилась нелегко, как складывалась жизнь многих русских талантов. Незаконно рожденный, он провёл первые три года в петербургском воспитательном доме, затем был усыновлен отцом и позже отдан в театральное училище. В 1850 г...
3786. Жизнь и творчество Карла Брюллова 307.2 KB
  Введение В развитии искусства, в характере и особенностях отдельных его направлений большая роль принадлежит творческим личностям художников, которых история называла великими или замечательными. Этот художники своей деятельностью участвуют в формир...
3787. Илья Репин 53 KB
  Репин родился в 1884 году в маленьком украинском городке Чугуеве, недалеко от Харькова, в семье военного поселянина. С родными местами связаны первые жизненные и художественные впечатления Репина, здесь же он получил и первые профессиональные навыки...