Основными понятиями модели «сущность- связь» являются:
- сущность;
- связь;
- атрибуты.
Сильные сущности имеют только одно ключевое поле, а слабые – столько же, сколько и связей. Исходя из вышесказанного, выделим у имеющихся сущностей ключевые поля.
В сущности «Объекты» в качестве ключа будет выступать реквизит «Код объекта», так как по ограничению задачи он уникален, а также характеризуется компактным значением и удобен в обращении.
В сущности «Строительно-монтажные работы» ключом выбирается реквизит «Код работ», который по ограничению задачи уникален для всей организации и удобен для использования.
«Сметы»: ключевой реквизит — «Код сметы», так как однозначно определяет уникальность записи БД, он компактен и удобен для обработки.
«Акты» ключом будет являться «Код акта».
Преобразование модели «сущность-связь» в реляционную модель данных осуществляется путем последовательного выполнения ряда шагов:
- каждой сущности ставится в соответствие отношение реляционной модели данных;
- каждый атрибут сущности становится атрибутом соответствующего отношения;
- первичный ключ сущности становится первичным ключом соответствующего отношения. Атрибуты, входящие в первичный ключ отношения, автоматически получают свойство обязательности (NOT NULL). В каждое отношение, соответствующее подчиненной сущности, добавляется набор атрибутов основной сущности, являющейся первичным ключом основной сущности. В отношении, соответствующем подчиненной сущности, этот набор атрибутов становится внешним ключом.
После преобразования модели «сущность-связь» получим приведенные ниже параметры атрибутов сущностей.
Таблица 3.1 - Атрибуты отношения «Объекты»
Атрибут | Тип данных | Обязательность | Ключевое поле |
«Код объекта » | Счетчик | обязательный | да |
«Наименование объекта » | Текстовый | обязательный | нет |
Таблица 3.2 - Атрибуты отношения «Строительно-монтажные работы»
Атрибут Тип данных Обязательность Ключевое поле | «Код работ» Счетчик обязательный да | «Наименование работ» Текстовый обязательный нет | Таблица 3.3 - Атрибуты отношения «Акты « |
Атрибут | Тип данных | Обязательность | Ключевое поле |
«Код акта» | Счетчик | обязательный | да |
«№ акта» | Числовой | обязательный | нет |
«Месяц» | Текстовый | обязательный | нет |
«Год» | Текстовый | обязательный | нет |
«Код объекта» | Числовой | обязательный | нет |
Таблица 3.4 - Атрибуты отношения “ Сметы ”
Атрибут | Тип данных | Обязательность | Ключевое поле |
«Код сметы» | Счетчик | обязательный | да |
«№ сметы» | Числовой | обязательный | нет |
«Код строительно-монтажных работ» | Числовой | обязательный | нет |
Таблица 3.5 - Атрибуты отношения “ Реестры ”
Атрибут | Тип данных | Обязательность | Ключевое поле |
«Номер реестра» | Счетчик | обязательный | нет |
«Код акта» | Числовой | обязательный | нет |
«Код сметы» | Числовой | обязательный | нет |
«Базисная сметная стоимость» | Денежный | обязательный | нет |
«Договорная цена» | Денежный | обязательный | нет |
«В т.ч.материалы заказчика» | Денежный | обязательный | нет |
«К оплате» | Денежный | обязательный | нет |
«Материалы подрядчика без ГСМ» | Денежный | обязательный | нет |
«Оборудование» | Денежный | обязательный | нет |
«М/лом» | Текстовый | необязательный | нет |
Таблица 3.6 - Атрибуты отношения “Наименование работ”
Атрибут | Тип данных | Обязательность | Ключевое поле |
«Код акта» | Числовой | обязательный | нет |
«Шифр» | Текстовый | обязательный | нет |
«Наименование работ» | Текстовый | обязательный | нет |
В качестве СУБД предполагается использовать СУБД Microsoft Access, основным преимуществом которой является возможность создания и эксплуатации достаточно мощных баз данных без необходимости что-либо программировать. Еще одно дополнительное достоинство Access –интегрированность этой программы с Excel, Word и другими программами пакета MSOffice.
На клиентских машинах используется операционная система Microsoft Windows XP, а также офисные средства этой же фирмы (Microsoft Office 2003).
Физическое проектирование заключается в создании БД в среде конкретной СУБД.
Разработка производится последовательно:
- создаются таблицы БД;
- вводятся необходимые ограничения;
- определяются ключевые поля;
- формируются связи между таблицами;
- обеспечиваются условия целостности данных.
Для каждой реляционной таблицы БД приводится ее структура: состав полей, их имена, тип данных и размер каждого поля, ключи таблицы и другие свойства полей.
Рисунок 3.1 – Таблица «Объекты»
Рисунок 3.2 – Таблица «Строительно-монтажные работы»
Рисунок 3.3 – Таблица «Акты»
Рисунок 3.4 – Таблица «Сметы»
Рисунок 3.5 – Таблица «Реестры»
Рисунок 3.6 – Таблица «Наименование работ»
Так как данная база является реляционной, то она содержит не отдельные таблицы, а группы взаимосвязанных таблиц. Для создания связей между таблицами использовалось команда Схема данных меню Сервис.
После выбора таблиц были установлены связи путем перетаскивания имени поля из одной таблицы в другую на соответствующее ему связанное поле.
Включение флажка Обеспечение условия целостности данных позволяет защититься от случаев удаления записи из одной таблицы, при которых связанные с ними данные других таблиц останутся без связи.
Флажки Каскадное обновление полей и Каскадное удаление связанных записей обеспечивают одновременное обновление и удаление данных во всех подчиненных таблицах при их изменении в главной.
Рисунок 3.7 – Схема данных
Запросы создаются пользователем для выборки нужных данных из одной или нескольких связанных таблиц. Запрос может формироваться с помощью запросов по образцу QBE или с помощью языка структурированных запросов SQL. С помощью запроса можно также обновить, удалить, добавить данные в таблицы или создать новые таблицы на основе уже существующих.
Все запросы были созданы в режиме Конструктора.
Рисунок 3.8 - Построение запроса «Акты по месяцам»
Рисунок 3.9 - Результат запроса «Акты по месяцам»
Рисунок 3.10 - Результат запроса «Акты по объектам»
Рисунок 3.11 - Построение запроса «Виды работ по объектам»
Рисунок 3.12 - Результат запроса «Виды работ по объектам»
Рисунок 3.13 - Построение запроса «Количество выполненных работ за каждый месяц»
Рисунок 3.14 - Результат запроса «Количество выполненных работ за каждый месяц»
Рисунок 3.15 - Построение запроса «Стоимость работ за каждый месяц»
Рисунок 3.16 - Результаты запроса «Стоимость работ за каждый месяц»
Были разработаны отчеты:
Формы предназначены для ввода, просмотра и корректировки взаимосвязанных данных базы на экране в удобном виде, который может соответствовать привычному для пользователя документу. Формы также могут использоваться для создания панелей управления в приложении пользователя.