48665 (588592), страница 6
Текст из файла (страница 6)
Между сущностями могут быть установлены связи – бинарные ассоциации, показывающие, каким образом сущности соотносятся или взаимодействуют между собой. Связь может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). Она показывает, как связаны экземпляры сущностей между собой. Если связь устанавливается между двумя сущностями, то она определяет взаимосвязь между экземплярами одной и другой сущности
Связи делятся на три типа по множественности: один-ко-одному (1:1), один-ко-многим (1:М), многие-ко-многим (М:М).
Связь один-ко-одному означает, что экземпляр одной сущности связан только с одним экземпляром другой сущности.
Связь один-ко-многим (1:М) означает, что один экземпляр сущности, расположенный слева по связи, может быть связан с несколькими экземплярами сущности, расположенными справа по связи.
Связь «многие-ко-многим (М:М) означает, что несколько экземпляров первой сущности могут быть связаны с несколькими экземплярами второй сущности, и наоборот. Между двумя сущностями может быть задано сколько угодно связей с разными смысловыми нагрузками.
Связь любого из этих типов может быть обязательной, если в данной связи должен участвовать каждый экземпляр сущности, необязательной – если не каждый экземпляр сущности должен участвовать в данной связи. При этом связь может быть обязательной с одной стороны и необязательной с другой стороны.
Проведем инфологическое проектирование базы данных автоматизированной системы агентства недвижимости.
На основании анализа предметной области выделим сущности модели «сущность-связь» («Entity Relationship» - ER-модели) и изобразим их в виде диаграммы.
Рисунок 1.4. ER модель.
-
Характеристика даталогической модели БД
Вся информация, используемая при работе приложения хранится в базе данных.
В качестве настольной базы данных выбрана база данных формата MS ACCESS. То есть база данных является файлом на диске, в котором сосредоточены таблицы базы данных в виде файлов данных и индексов к ним.
В программе для работы с таблицами, добавления, удаления, редактирования записей используется универсальный язык запросов SQL. Данный язык позволяет разработчику полностью абстрагироваться от формата и месторасположения базы данных и одинаково обращаться к данным из баз разного формата. Таким образом использование данного универсального языка позволяет решить поставленную нам задачу: разработать универсальное приложение, которое смогло бы работать с базой данных любого формата, не меняя при этом исходный код приложения.
Разработанная нами база данных является реляционной и как и другие реляционные базы данных состоит из таблиц. Ниже приведена таблица сущностей базы данных.
| Column(s) of "Вариант обмена кв" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| Код | AutoNumber | NULL | Yes | Yes |
| Варианты обмена | Text(255) | NULL | No | No |
| тип дома | Text(255) | NULL | No | No |
| тип квартиры | Text(255) | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| жилая площадь | Long Integer | NULL | No | No |
| площадь кухни | Long Integer | NULL | No | No |
| этаж | Text(255) | NULL | No | No |
| этажность | Text(255) | NULL | No | No |
| тип санузла | Text(255) | NULL | No | No |
| балкон | Text(255) | NULL | No | No |
| дополнительные свдения | Memo | NULL | No | No |
| Column(s) of "Дом" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | No |
| Адрес (Улица_ дом) | Memo | NULL | No | No |
| Площадь зем участка | Long Integer | NULL | No | No |
| материал дома | Text(255) | NULL | No | No |
| покрытие крыши | Text(255) | NULL | No | No |
| этажность дома | Text(255) | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| кол-во комнат | Text(255) | NULL | No | No |
| цена (тыс руб) до | Long Integer | NULL | No | No |
| коммуникации | Memo | NULL | No | No |
| дополнительные сведения | Memo | NULL | No | No |
| контактное лицо | Memo | NULL | No | No |
| контактный телефон | Text(255) | NULL | No | No |
| Web-адрес | Memo | NULL | No | No |
| Column(s) of "Клиенты" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| Код | Text(18) | NULL | Yes | No |
| ФИО | Text(18) | NULL | No | No |
| Домащний телефон | Text(18) | NULL | No | No |
| Мобильный телефон | Text(18) | NULL | No | No |
| Адрес проживания | Text(18) | NULL | No | No |
| Признак имевщейся сделки | Text(18) | NULL | No | No |
| Подбробности сделки | Text(18) | NULL | No | No |
| Дополнительные данные | Text(18) | NULL | No | No |
| Column(s) of "малосемейка" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | No |
| адрес (улица_ дом) | Text(255) | NULL | No | No |
| тип дома | Text(255) | NULL | No | No |
| тип жилья | Text(255) | NULL | No | No |
| этаж | Text(255) | NULL | No | No |
| этажность | Text(255) | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| жилая площадь | Long Integer | NULL | No | No |
| цена (тыс руб) до | Long Integer | NULL | No | No |
| дополнительные сведения | Memo | NULL | No | No |
| контактное лицо | Memo | NULL | No | No |
| контактный телефон | Text(255) | NULL | No | No |
| Web-адрес | Memo | NULL | No | No |
| Column(s) of "обмен Дом/кв" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | No |
| Адрес (Улица_ дом) | Memo | NULL | No | No |
| Площадь зем участка | Long Integer | NULL | No | No |
| материал дома | Text(255) | NULL | No | No |
| этажность дома | Text(255) | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| кол-во комнат | Text(255) | NULL | No | No |
| цена (тыс руб) до | Long Integer | NULL | No | No |
| коммуникации | Memo | NULL | No | No |
| дополнительные сведения | Memo | NULL | No | No |
| варианты обмена | Text(255) | NULL | No | No |
| условия | Memo | NULL | No | No |
| контактное лицо | Memo | NULL | No | No |
| контактный телефон | Text(255) | NULL | No | No |
| Web-адрес | Memo | NULL | No | No |
| Column(s) of "обмен кв" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| Код | AutoNumber | NULL | Yes | No |
| категория квартир | Text(255) | NULL | No | No |
| Адрес (Улица_ дом) | Memo | NULL | No | No |
| тип дома | Text(255) | NULL | No | No |
| тип квартиры | Text(255) | NULL | No | No |
| этаж | Long Integer | NULL | No | No |
| этажность | Long Integer | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| жилая площадь | Long Integer | NULL | No | No |
| площадь кухни | Long Integer | NULL | No | No |
| тип санузла | Text(255) | NULL | No | No |
| балкон | Text(255) | NULL | No | No |
| дополнительные сведения | Memo | NULL | No | No |
| цена (тыс руб) | Long Integer | NULL | No | No |
| Варианты обмена | Text(255) | NULL | No | No |
| условие | Memo | NULL | No | No |
| контактное лицо | Memo | NULL | No | No |
| контактный телефон | Text(255) | NULL | No | No |
| Web-адрес | Memo | NULL | No | No |
| Column(s) of "обмен малосем" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | No |
| адрес (улица_ дом) | Text(255) | NULL | No | No |
| тип дома | Text(255) | NULL | No | No |
| тип жилья | Text(255) | NULL | No | No |
| этаж | Text(255) | NULL | No | No |
| этажность | Text(255) | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| жилая площадь | Long Integer | NULL | No | No |
| цена (тыс руб) до | Long Integer | NULL | No | No |
| дополнительные сведения | Memo | NULL | No | No |
| варианты обмена | Text(255) | NULL | No | No |
| условие | Memo | NULL | No | No |
| контактное лицо | Memo | NULL | No | No |
| контактный телефон | Text(255) | NULL | No | No |
| Web-адрес | Memo | NULL | No | No |
| Column(s) of "покуп Дом" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | No |
| Адрес (Улица_ дом) | Memo | NULL | No | No |
| Площадь зем участка | Long Integer | NULL | No | No |
| материал дома | Text(255) | NULL | No | No |
| покрытие крыши | Text(255) | NULL | No | No |
| этажность дома | Text(255) | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| кол-во комнат | Text(255) | NULL | No | No |
| цена (тыс руб) до | Long Integer | NULL | No | No |
| коммуникации | Memo | NULL | No | No |
| дополнительные сведения | Memo | NULL | No | No |
| контактное лицо | Memo | NULL | No | No |
| контактный телефон | Text(255) | NULL | No | No |
| Web-адрес | Memo | NULL | No | No |
| Column(s) of "Покуп малосем" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | No |
| адрес (улица_ дом) | Text(255) | NULL | No | No |
| тип дома | Text(255) | NULL | No | No |
| тип жилья | Text(255) | NULL | No | No |
| этаж | Text(255) | NULL | No | No |
| этажность | Text(255) | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| жилая площадь | Long Integer | NULL | No | No |
| цена (тыс руб) до | Long Integer | NULL | No | No |
| дополнительные сведения | Memo | NULL | No | No |
| контактное лицо | Memo | NULL | No | No |
| контактный телефон | Text(255) | NULL | No | No |
| Web-адрес | Memo | NULL | No | No |
| Column(s) of "покупка" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | No |
| категория квартир | Text(255) | NULL | No | No |
| Адрес (Улица_ дом) | Memo | NULL | No | No |
| тип дома | Text(255) | NULL | No | No |
| этаж | Long Integer | NULL | No | No |
| этажность | Long Integer | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| цена (тыс руб) до | Long Integer | NULL | No | No |
| Column(s) of "покупка2" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | Yes |
| тип квартиры | Text(255) | NULL | No | No |
| жилая площадь | Long Integer | NULL | No | No |
| площадь кухни | Long Integer | NULL | No | No |
| тип санузла | Text(255) | NULL | No | No |
| балкон | Text(255) | NULL | No | No |
| дополнительные сведения | Memo | NULL | No | No |
| контактное лицо | Memo | NULL | No | No |
| контактный телефон | Text(255) | NULL | No | No |
| Web-адрес | Memo | NULL | No | No |
| Column(s) of "продать данные 1" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | No |
| категория квартир | Text(255) | NULL | No | No |
| Адрес (Улица_ дом) | Memo | NULL | No | No |
| тип дома | Text(255) | NULL | No | No |
| этаж | Long Integer | NULL | No | No |
| этажность | Long Integer | NULL | No | No |
| площадь общая | Long Integer | NULL | No | No |
| цена (тыс руб) до | Long Integer | NULL | No | No |
| Column(s) of "продать данные 2" Table | ||||
| Name | Datatype | Null Option | Is PK | Is FK |
| код | AutoNumber | NULL | Yes | Yes |
| тип квартиры | Text(255) | NULL | No | No |
| жилая площадь | Long Integer | NULL | No | No |
| площадь кухни | Long Integer | NULL | No | No |
| тип санузла | Text(255) | NULL | No | No |
| балкон | Text(255) | NULL | No | No |
| дополнительные свдения | Memo | NULL | No | No |
| контактное лицо | Memo | NULL | No | No |
| контактный телефон | Text(255) | NULL | No | No |
| Web-адрес | Memo | NULL | No | No |
-
Программное обеспечение задачи
-
Общие положения (дерево функций и сценарий диалога)
В данном проекте можно выделить следующие категории функций: функции вода информации в справочники, функции ввода данных недвижимости и функции получения аналитических отчетов. Каждая из этих категория относится соответствующей подсистеме разрабатываемого приложения: подсистеме ведения справочников, подсистеме ввода документов и подсистеме получения аналитических отчетов.















