Разработка структуры базы данных.
Выяснив основную часть данных, которые заказчик потребляет или поставляет, можно приступать к созданию структуры базы, то есть структуры ее основных таблиц.
1. Работа начинается с составления генерального списка полей – он может насчитывать десятки и даже сотни позиций.
2. В соответствии с типом данных, размещаемых в каждом поле, определяют наиболее подходящий тип для каждого поля.
3. Далее распределяют поля генерального списка по базовым таблицам. На первом этапе распределение производят по функциональному признаку. Цель – обеспечить, чтобы ввод данных в одну таблицу производился, по возможности, в рамках одного подразделения, а еще лучше – на одном рабочем месте.
4. В каждой из таблиц намечают ключевое поле. В качестве такого выбирают поле, данные в котором повторяться не могут. Например, для таблицы данных о студентах таким поле может служить индивидуальный шифр студента. Для таблицы, в которой содержаться расписание занятий, такого поля можно и не найти, но его можно создать искусственным комбинированием полей «Время занятия» и «Номер аудитории». Эта комбинация не повторима, так как в одной аудитории в одно и то же время не принято проводить два различных занятия. Если в таблице вообще нет ни каких полей, которые можно было бы использовать, как ключевые, всегда можно ввести дополнительное поле типа Счетчик – оно не может содержать повторяющихся данных по определению.
5. С помощью карандаша и бумаги расчерчивают связи между таблицами. Такой чертеж называется схемой данных. Существует несколько типов возможных связей между таблицами. Наиболее распространенными являются связи «один ко многим» и «один к одному». Связь между таблицами организуется на основе общего поля, причем в одной из таблиц оно обязательно должно быть ключевым, то есть на стороне «один» должно выступать ключевое поле, содержащее уникальные, неповторяющиеся значения. Значения на стороне «многие» могут повторяться.
6. Разработкой схемы данных заканчивается «бумажный» этап работы над техническим предложением. Эту схему можно согласовать с заказчиком, после чего приступать к непосредственному созданию базы данных.
Следует помнить, что по ходу разработки проекта заказчику непременно будут приходить в голову новые идеи. На всех этапах проектирования он стремится охватить единой системой все новые и новые подразделения и службы предприятия. Возможность гибкого использования его пожеланий во многом определяется квалификацией разработчика базы данных. Если схема данных составлена правильно, подключать к базе новые таблицы нетрудно. Если структура базы нерациональна, разработчик может испытать серьезные трудности и войти в противоречие с заказчиком. Противоречия исполнителя с заказчиком всегда свидетельствуют о недостаточной квалификации исполнителя. Именно по этому этап предварительного проектирования базы данных следует считать основным. От его успеха зависит, насколько база данных станет удобной, и будут ли с ней работать пользователи. Если отмечается, что пользователи базы «саботируют» ее эксплуатацию и предпочитают работать традиционными методами, это говорит не о низкой квалификации пользователей, а о недостаточной квалификации разработчика базы.
На этом этапе завершается предварительное проектирование базы данных, и на следующем этапе начинается ее непосредственная разработка. С этого момента следует начать работу с СУБД.
Реализация СУБД АЭРОпорт
В ходе проделанной работы, нами были созданы:
ü 8 таблиц (Структура таблицы «Билет» указан в Приложении №1).
ü 10 запросов, из них 9 на выборку и 1 на удаление (Структура запроса «№ билета запрос» указан в Приложении №2)
ü 19 таблиц (Пример формы «Пассажиры» указан в Приложении №3)
ü 1 отчет, который используется для печати билета (Пример отчета «Пассажиры Запрос1» указан в Приложении №4)
ü 28 макросов (Структура макроса «открытие запроса рейс» указана в Приложении №5)
ü Написано несколько процедур на языке VBA, рассмотрим одну из них:
Как известно, система защиты СУБД ACCESS не очень надежна, к примеру, для того чтобы отключить макрос при запуске приложения, достаточно просто удерживать нажатой клавишу «Shift», как раз эту и еще некоторые другие горячие клавиши отключает эта процедура, так же она не позволяет добавлять новые Панели инструментов, а включает только одну (Пример указан в Приложении №6).
Рассмотрим код:
Private SubbutProtOff_Click()
setProtShift True MsgBox "Защита удалена!" & Chr(13) & Перезапустите базу данных!"
End Sub
Private SubbutProtOn_Click()
setProtShift False MsgBox "Защита установлена!" & Chr(13) & "Перезапустите базу данных!"
End Sub
Private SubsetProtShift(myFlag As Boolean) dbChangeProperty "StartupForm",DB_TEXT, "пароль" – Первая форма(см. Приложение №6)
dbChangeProperty "StartupShowStatusBar", DB_BOOLEAN, myFlag – Нижняя полоска экрана
dbChangeProperty "AllowBuiltinToolbars", DB_BOOLEAN, myFlag – Панели инструментов
dbChangeProperty "AllowFullMenus", DB_BOOLEAN, myFlag –Меню таблиц, форм и т.п.
dbChangeProperty "AllowBreakIntoCode", DB_BOOLEAN, myFlag – Ошибки в модуле
dbChangeProperty "AllowSpecialKeys", DB_BOOLEAN, myFlag – Специальные ключи (CTRL+BREAK, ...)
dbChangeProperty "AllowBypassKey", DB_BOOLEAN, myFlag – Ключ Shift
End Sub
Function dbChangeProperty(strName As String, varType As Variant, varValue As Variant) As Boolean
Dim prp As Variant, dbs As Database
On Error GoTo 999 – Назначаем переход по ошибке
dbChangeProperty = False – Возвращаем результат при ошибке
Set dbs = CurrentDb – Выбираем базу
dbs.Properties(strName) = varValue – Присваиваем значение
dbChangeProperty = True – Возвращаем результат
Exit Function – Выходим из программы
999:IfErr = 3270 Then – Свойство не найдено
Set prp = dbs.CreateProperty(strName, varType, varValue) – Создаем свойство
dbs.Properties.Append prp – Добавляем свойство
Err.Clear – Очищаем поток от ошибки
Resume Next – Возвращаемся к следующему оператору
End If
Err.Clear – Очищаем от незнакомой ошибки
End Function
Приложение №1
Структура формы «Билет»
Приложение №2
Структура запроса «№ билета запрос»
Приложение №3
Внешний вид формы «Пассажиры»
Приложение №4
Внешний вид отчета «Пассажиры Запрос1»
Приложение №5
Структура макроса «открытие запроса рейс»
Приложение №6
Список использованной литературы
1.Информатика. Базовый курс /Симонович С.В. и др. - СПб: Издательство «Питер», 2000. – 640с.
2. Информатика. Учебное пособие /Под ред. В.Г. Кирия. – Иркутск: ИрГТУ ,1998 часть 2. – 382с.
3. Информатика. Учебное пособие /Ломтадзе В.В., Шишкина Л.П. – Иркутск: ИрГТУ, 1999. – 116с.