Создание физической модели базы данных
Этап физического проектирования базы данных предусматривает принятие разработчиком окончательного решения о способах реализации создаваемой базы. Поэтому физическое проектирование обязательно производится с учетом всех особенностей выбранной СУБД. Приступая к физическому проектированию базы данных, необходимость конкретную целевую СУБД. (Access) Основной целью физического проектирования базы данных является описание способа физической реализации логического проекта базы данных. В случае реляционной модели базы данных под этим подразумевается следующее:
Рисунок 8 - Схема данных с атрибутами
Скрипт для проведения процесса Forward engineering приведен в приложении.
Рисунок 9 – Схема данных 3 СОЗДАНИЕ БАЗЫ ДАННЫХ ДЕЯТЕЛЬНОСТИ В ФИРМЕ «НЕДВИЖИМОСТЬ» Г. ЛИВНЫ
Для хранения и систематизации больших объемов данных появляются специализированные хранилища - Баз данных. Необходимость унификации работы с данными привела к появлению СУБД. С этого момента начинается принципиально иной этап автоматизации, в том числе и документооборота. При решении очередной задачи система нуждается во вводе только небольшой порции дополнительной информации, остальное берется из информационной базы. Каждая порция вновь вводимой информации изменяет информационную базу системы. Эта база находится, таким образом, в состоянии непрерывного обновления, отражая все изменения, происходящие в реальном объекте, с которым имеет дело система. Использование информационных систем позволяет сократить время, требуемое на подготовку конкретных документов и избежать ошибок заполнения. Необходимость создания самой системы на основе анализа предметно области приведена в предыдущих главах. Создание приложения началось с разработки графа экранных форм. Граф переходов экранных форм (дерево диалога) представлен на рисунке 9.
Рисунок 9 – Граф переходов экранных форм
При выборе конкретной формы пользователь получает возможность работать со списком данных из СУБД. После разработки структуры диалога были созданы программные формы.
Рисунок 10 – Создание форм
Для отображения данных и манипуляции использовался универсальный SQL. В программе используются запросы для выборки и изменения данных. Запросы для статистики: SELECT [Тип сделки].Наименование, Count(Сделка.Код) AS [Count-Код] FROM [Тип сделки] INNER JOIN Сделка ON [Тип сделки].Код = Сделка.[тип сделки] WHERE (((Сделка.Дата)>:n And (Сделка.Дата)<:k)) GROUP BY [Тип сделки].Наименование WITH OWNERACCESS OPTION;
SELECT Сотрудник.ФИО, Sum([Цена]/100*[Процент комиссии]) AS Комиссия FROM [Жилищный фонд] INNER JOIN (Сотрудник INNER JOIN ([Тип сделки] INNER JOIN Сделка ON [Тип сделки].Код = Сделка.[тип сделки]) ON Сотрудник.Код = Сделка.Сотрудник) ON [Жилищный фонд].Код = Сделка.Недвижимость WHERE (((Сделка.Дата)>:n And (Сделка.Дата)<:k)) GROUP BY Сотрудник.ФИО WITH OWNERACCESS OPTION;
SELECT Микрорайон.Название, Count(Сделка.Код) AS [Count-Код] FROM Микрорайон INNER JOIN ([Жилищный фонд] INNER JOIN Сделка ON [Жилищный фонд].Код = Сделка.Недвижимость) ON Микрорайон.Код = [Жилищный фонд].Микрорайон WHERE (((Сделка.Дата)>:n And (Сделка.Дата)<:k)) GROUP BY Микрорайон.Название WITH OWNERACCESS OPTION; SELECT [Тип сделки].Наименование, Sum([Цена]/100*[Процент комиссии]) AS Комиссия FROM Сотрудник INNER JOIN ([Жилищный фонд] INNER JOIN ([Тип сделки] INNER JOIN Сделка ON [Тип сделки].Код = Сделка.[тип сделки]) ON [Жилищный фонд].Код = Сделка.Недвижимость) ON Сотрудник.Код = Сделка.Сотрудник WHERE (((Сделка.Дата)>:n And (Сделка.Дата)<:k)) GROUP BY [Тип сделки].Наименование WITH OWNERACCESS OPTION;
Запрос для формирования договора. SELECT [Тип сделки].Наименование, Клиент.ФИО, Клиент.Паспорт, Клиент.Адрес, Владелец.ФИО, Владелец.Паспорт, Владелец.Адрес, [Жилищный фонд].Адрес, [Жилищный фонд].Площадь, [Жилищный фонд].Площадь, [Жилищный фонд].Цена, Сотрудник.ФИО, [Тип сделки].[Процент комиссии], [Цена]/100*[Процент комиссии] AS Комиссия FROM [Тип сделки] INNER JOIN (Владелец INNER JOIN (Сотрудник INNER JOIN (Клиент INNER JOIN ([Жилищный фонд] INNER JOIN Сделка ON [Жилищный фонд].Код = Сделка.Недвижимость) ON Клиент.Код = Сделка.Клиент) ON Сотрудник.Код = Сделка.Сотрудник) ON Владелец.Код = [Жилищный фонд].Владелец) ON [Тип сделки].Код = Сделка.[тип сделки] WHERE (((Сделка.Код)=:n)) WITH OWNERACCESS OPTION;
Рисунок 11– Вывод договора
Программный продукт состоит из программных модулей, обеспечивающих выполнение необходимых функций. Перечень и функциональное назначение программных модулей приведено в таблице.
Таблица 1 – Перечень программных модулей
Итоговый результат разработки представлен в приложении 1.
|