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