Дипломная работа: Автоматизированное рабочее место секретаря агентства "Репетитор"
2. Проектирование базы данных
2.1 Взаимосвязь этапов проектирования
Начальным шагом проектирования является построение инфологической модели. Предварительная инфологическая модель строится ещё на предпроектной стадии и затем уточняется на более поздних стадиях проектирования. Затем на её основе строится даталогическая модель. Физическая и внешняя модели после этого могут строится в любой последовательности по отношению друг к другу, в том числе и параллельно.
На рисунке показана зависимость этапов проектирования БД. Как видно из рисунка, при проектировании БД возможен возврат на предыдущие уровни. При этом возможны два типа возврата: первый обусловлен необходимостью пересмотра результата проектирования, второй тип вызван потребностью уточнения предыдущей модели (как правило, инфологической) в целях получения дополнительной информации для проектирования или при выявлении противоречий в модели.
Для привязки даталогической модели к среде хранения используется модель данных физического уровня. Эта модель определяет используемые запоминающие устройства и способы физической организации данных в среде хранения. Модель физического уровня также строится с учётом возможностей, предоставляемых СУБД. Описание физической структуры азы данных называется схемой хранения. Соответственно этап проектирования БД называется физическим проектированием. К числу работ выполняемых на этапе физического проектирования, относятся: выбор типа носителя, определение размера физического блока, управление размещением данных на внешнем носителе, управление свободной памятью, определение целесообразности сжатия данных и используемых методов сжатия.
В некоторых СУБД, помимо описания общей логической структуры базы данных, имеется возможность описать логическую структуру БД с точки зрения конкретного пользователя. Такая модель называется внешней, а её описание называется подсхемой. Использование подсхем облегчает работу пользователя, так как он должен знать структуру не всей БД, а только той её части, которая имеет к нему непосредственное отношение. Последовательность этапов проектирования изображена на рисунке 2.
Рисунок 2 - Взаимосвязь этапов проектирования
2.2 Описание СУБД Access
База данных – это совокупность данных (таблиц), хранящихся вместе и связанных друг с другом. Таким образом можно сказать, что база данных – это специальное электронное хранилище взаимосвязанных данных. Система управления базами данных (СУБД) представляет собой совокупность программного обеспечения, необходимого для ведения и использования баз данных.
Прежде чем начать проектирование необходимо определиться с выбором СУБД. Для разработки данного дипломного проекта мною была выбрана СУБД MS Access. Microsof Access представляет собой реляционную СУБД с очень широкими возможностями. В настоящее время Access стала самой продаваемой в мире системой управления базами данных, потому что в ней оптимальным образом сочетаются мощность и лёгкость в использовании. Она достаточно мощна и насыщена для того, чтобы пользователи могли создать с её помощью законченные приложения с незначительным использованием примеров программирования VBA, который может использоваться для разработки более совершенных приложений. Кроме того, пакет Access достаточно лёгок в использовании, так что за короткое время новичок может научиться управлять своими собственными данными при помощи Access.
Access облегчает пользователям работу с БД. Вы можете создавать таблицы, редактировать данные и использовать запросы для поиска нужных данных, затрачивая при этом минимум усилий. Также Access включает в себя ряд специализированных программ – Мастеров, которые способны вместо программиста выполнять разработку форм ввода данных и отчётов.
Основой любой БД, создаваемой в Access, являются таблицы. В них содержится полное описание всех полей, которые содержит данная БД, с описанием типа поля и его краткой характеристикой. Создать таблицу можно как при помощи мастера таблиц, так и в режиме конструктора. Одним из условий устойчивой работы БД, разрабатываемой в Access, является правильное разбитие данных по нескольким таблицам и создание связей между этими таблицами. В БД “Репетитор” вся информация разбита на семь таблиц содержащих данные о клиентах и преподавателях.
Благодаря имеющимся связям достигаются следующие преимущества:
1. Удаётся избежать дублирования информации. Все необходимые данные можно хранить только в одной таблице. Так, например, нет необходимости для каждого счёта заново вводить наименования продуктов и адрес клиента – достаточно задать нужные связи. Это весьма облегчает работу и позволяет избежать ошибок.
2. В реляционных БД легко производить изменения. Если в таблице адресов изменить адрес конкретного клиента, то правильная информация автоматически будет связана с другими таблицами, ссылающимися на таблицу клиентов.
В реляционной БД легко избежать установления ошибочных связей между различными таблицами данных, а необходимый объём памяти сокращён до минимума.
В Access используются следующие основные типы данных:
1. Текстовый
Размер данного типа составляет до 255 символов, включая буквы, цифры и специальные символы.
2.Числовой
Этот тип содержит числовые данные, которые используются в вычислениях. Вид чисел, которые содержат поля данного типа, и точность вычислений зависят от размера, который пользователь даст числовому полю. Некоторые числовые поля содержат только целые числа, другие могут содержать числа со множеством десятичных знаков.
3.Счётчик
Содержит последовательные числа, которые Access вводит автоматически. Access помещает число 1 в первую запись поля, которую пользователь вводит в таблицу, число 2 во вторую запись и т.д. Нельзя изменить числа, которые Access вводит в это поле.
4.Дата/время
Содержит даты и время. В зависимости от формата , который пользователь присваивает полю, можно вводить в него календарные данные или значения времени в той или иной форме.
Мастер подстановок позволяет создать поле , при помощи которого пользователь может выбрать значения из списка.
Access автоматически осуществляет программную проверку ввода данных на основе типа поля. Например, в числовом поле можно ввести только числа, а в поле с датой можно ввести только действительные календарные даты. Если пользователь ввести в поле данные не того типа , то они не будут приняты и пользователь получит от Access сообщение об ошибке.
Microsoft Access является настольной СУБД реляционного типа, которая имеет все необходимые средства для выполнения трех основных функций СУБД:
· определенные данные (описание структуры базы данных)
· обработка данных
· управление данными
Достоинством Access является то, что в отличие от других настольных СУБД, она хранит всю необходимую информацию в одном файле, хотя и распределяется по разным таблицам.
2.3 Инфологическая модель
Для того чтобы спроектировать структуру базы данных, необходима исходная информация о предметной области. Желательно, чтобы эта информация была представлена в формализованном виде. Такое формализованное описание предметной области и называется инфологической моделью предметной области или концептуальной моделью.
При проектирование инфологической модели мною было использовано Case-средство ERWin. Erwin – средство концептуального моделирования базы данных. Erwin реализует проектирование схемы базы данных, генерацию ее описания на языке целевой СУБД .
2.3.1 Описание таблиц
Далее после создания схемы БД в ERWin более детально рассмотрим каждую таблицу в отдельности, где жирным и подчёркнутым шрифтом выделен первичный ключ, а просто жирным внешний ключ. Первичные и внешние ключи необходимы для реализации связи между таблицами.
Для полноценной работы агентства необходимы клиенты, информация о которых где-то должна хранится. В данном случае в БД информацию о клиентах содержит таблица «КЛИЕНТЫ», содержащая поля:
· № клиента
· Код группы
· Фамилия
· Имя
· Отчество
· Предмет
· Школа
· Класс
· Дата регистрации
· Улица
Рисунок 3 - Инфологическая модель.
Дом
· Квартира
Для взаимосвязи агентства и клиента необходимо составить договор:
· Код договора
· № клиента
· № договора
· Дата заключения
· ДОГОВОР
Телефоны клиентов занесены в отдельную таблицу “ ТЛЕФОНЫ КЛИЕНТОВ”:
· Код клиента
· № клиента
· Номер телефона
Соответственно для обучения клиентов необходимы преподаватели, данные которых находятся в таблице “ ПРЕПОДАВАТЕЛИ ” :
· № преподавателя
· Фамилия
· Имя
· Отчество
· Дата регистрации
· Улица
· Дом
· Квартира
Для взаимосвязи агентства и преподавателя необходимо составить договор:
· Код договора
· № преподавателя
· № договора
· Дата заключения
· ДОГОВОР
Телефоны преподавателей, как и телефоны клиентов занесены в отдельную таблицу “ТЕЛЕФОНЫ ПРЕПОДАВАТЕЛЕЙ”:
· Код телефона
· № преподавателя
· Номер телефона
Так как каждому клиенту невозможно подобрать индивидуального преподавателя, все клиенты разделены на группы, информация о которых хранится в таблице “ГРУППА”: