Разработка АИС для УК ЖКХ
Жилищно-эксплуатационные конторы (ЖЭК) имели свою изначальную структуру — они подразделялись на службы в отдельных микрорайонах, отвечающие и выполняющие необходимые работы по текущему содержанию жилых зданий, обеспечивали уборку и благоустройство прилежащей территории: озеленение, уборка мусора и содержание служебных помещений. Жилищно-эксплуатационные конторы в были задуманы как комплекс… Читать ещё >
Разработка АИС для УК ЖКХ (реферат, курсовая, диплом, контрольная)
запрос приложение отчет
Тарифы на жилищно-коммунальные услуги для населения представляют собой систему ставок оплаты жилья и коммунальных услуг, действующую для всего населения муниципального образования. Тариф для населения утверждается в виде доли от экономически обоснованного тарифа, по которым осуществляются расчеты за услуги жилищно-коммунального хозяйства (ЖКХ).
Экономически обоснованный тариф на услуги ЖКХ — это размер оплаты за содержание и ремонт жилья, включая капитальный ремонт, и предоставление коммунальной услуги, обеспечивающий минимально необходимый уровень возмещения затрат на расширенное воспроизводство с учетом принятой собственником программы развития объектов ЖКХ при соблюдении стандартов качества услуг. Он рассчитывается для каждого вида жилищно-коммунальных услуг в каждом муниципальном образовании путем анализа и корректировки фактических затрат с использованием нормативов или в результате конкурсного отбора исполнителя.
Основной целью работы будет являться построение информационной системы для автоматизации учета начисления оплат на жилищно-коммунальные услуги для каждого абонента, вести учет сведений по оплатам и задолженностям.
Объектом исследования является локальные базы данных.
Исходя из поставленной цели, вытекают следующие задачи:
— изучить теоретические основы проектирования и разработки базы данных;
— разработать приложение для автоматизации учета формирования оплат на жилищно-коммунальные услуги.
1. Теоретические основы баз данных
1.1 Виды жилищно-управляющих организаций
В настоящее время в России активно развивается новые подходы к управлению многоквартирными домами и жилищным хозяйствам. Эти изменения направлены на улучшение, оптимизацию, повышения качества обслуживания, сокращение расходов, активизацию деятельности собственников жилья Государство предлагает следующие виды жилищно управляющей организации: товарищества собственников жилья, жилищно-эксплуатационные участки, жилищно-эксплуатационные конторы, жилищно-коммунальные хозяйства, управляющая компания.
Товарищества собственников жилья (ТСЖ) — это объединение жителей дома — собственников жилых и нежилых помещений, для городских квартир членом товарищества должен выступать город (Департамент муниципального жилья и жилищной политики в отношении жилых помещений). Собственникам помещений в многоквартирном доме принадлежит также и общее имущество дома (лестничные клетки, чердаки, подвалы, крыши, вестибюли, холлы и др.), которое они обязаны содержать. Товарищества создаются на добровольной основе, на общих собраниях жителей дома (нескольких домов). Товарищества собственников жилья это некоммерческие организации. Они могут заниматься предпринимательской деятельностью, а всю полученную прибыль тратить на содержание и обслуживание дома и придомовой территории.
Жилищно-эксплуатационные участки (ЖЭУ) — структурные подразделения компании, созданные для управления жилищным фондом и осуществления комплекса работ по содержанию, техническому обслуживанию и эксплуатации жилищного фонда на закрепленной территории. ЖЭУ не являются юридическими лицами, при этом в пределах полномочий, представленных генеральным директором Общества и подтвержденных доверенностью, выдаваемой начальнику, представляют интересы Общества на закрепленной территории.
Жилищно-эксплуатационные конторы (ЖЭК) имели свою изначальную структуру — они подразделялись на службы в отдельных микрорайонах, отвечающие и выполняющие необходимые работы по текущему содержанию жилых зданий, обеспечивали уборку и благоустройство прилежащей территории: озеленение, уборка мусора и содержание служебных помещений. Жилищно-эксплуатационные конторы в были задуманы как комплекс домовладений с объединённым управлением и единым хозяйственно-финансовым планом, то есть это была и государственная организация и частная, которая автономно занимается хозрасчётами и берёт на себя полностью управление жилищным фондом. Жилищные конторы взяли на себя ведение домового хозяйства и обеспечивали своевременный ремонт домов и бесперебойную работу оборудования в здании. На них так же ложится ответственность за санитарное состояние дома и прилежащей к нему территории, они обязаны улучшать жилищно-бытовые условия жильцов. Хозяйственные функции, которые возложены на организацию ЖЭКа осуществляются самостоятельно, подключая в работу свою сеть специализированных организаций, как например: ремонтные конторы, конторы по озеленению и транспортным услугам, тресты по ремонтно-монтажным работам и по очистке канализации, дымоходных труб. Что интересно, это то, что ЖЕК не только пользуется правами юридического лица, но и ему позволено пользоваться собственным расчетным счётом.
Жилищно-коммунальные хозяйства (ЖКХ) представляет собой технически сложное хозяйство, которое требует новых разработок и технологий с тем, чтобы обслуживающие структуры «не только нагружали жителей объемами услуг, но и сокращали стоимость этих услуг». Не секрет, что обслуживание потребителей — одно из наиболее слабых мест в деятельности предприятий ЖКХ. Многие потребители на себе ощутили увеличение тарифов ЖКХ и причина негодования не столько в увеличении цен, сколько в том, что при росте тарифов не наблюдается видимого улучшения качества обслуживания. Попробуем определить основной круг проблем и задач современного управления многоквартирным домом. Управление многоквартирным жилым домом — это согласованная деятельность собственников помещений в многоквартирном доме, или лиц, привлеченных ими, направленная на обеспечение благоприятных и безопасных условий проживания граждан, надлежащего содержания общего имущества в многоквартирном доме, решения вопросов пользования общим имуществом, а также предоставления коммунальных услуг гражданам, проживающим в таком доме.
Управляющая компания — это организация, которая имеет право управлять имуществом своих клиентов посредством индивидуального доверительного управления, паевого или акционерного фонда. Помимо этого, управляющая компания занимается управлением пенсионными резервами негосударственных пенсионных фондов. Деятельность управляющих компаний подлежит обязательному лицензированию Федеральной службой по финансовым рынкам.
Все перечисленные виды жилищно-управляющих организаций востребованы и реализуются на территории РФ. Однако в каждом отдельном регионе предпочтение отдается той или иной структуре в зависимости от политических, социальных, экономических предпочтений и активности населения.
1.2 Базы данных и их классификация
База данных представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отражающих состояние объектов и их взаимосвязей в рассматриваемой предметной области.
Базы данных классифицируются следующим образом:
— По форме представления информации. Различают визуальные и аудио системы, а также системы мультимедиа. Эта классификация показывает, в каком виде информация хранится в базе данных и выдается из баз данных пользователям: в виде изображения, звука или имеется возможность использования разных форм отображения информации. Понятие «изображение» здесь используется в широком смысле — это может быть символьный текст, неподвижное графическое изображение (рисунки, чертежи и т. п.), фотографии, географические карты, движущие изображения.
— По характеру организации данных, базы данных могут быть разделены на неструктурированные, частично структурированные и структурированные. Этот классификационный признак относится к информации, представленной в символьном виде. К неструктурированным базам данных могут быть отнесены базы, организованные в виде семантических сетей. Частично структурированными можно считать базы данных в виде обычного текста или гипертекстовые системы. Структурированные базы данных требуют предварительного проектирования и описания структуры. Только после этого базы данных такого типа могут быть заполнены данными.
Структурированные базы данных в свою очередь классифицируются по типу используемой модели. Они делятся на иерархические, сетевые, реляционные, смешанные и мультимодельные.
В структурированных базах данных обычно различают несколько уровней информационных единиц, входящих одна в другую.
Рисунок 1. Схема иерархической модели
Рисунок 2. Схема сетевой модели с однотипными файлами В иерархических и сетевых моделях между информационными единицами (записями разных файлов) могут задаваться связи.
По типу хранимой информации базы данных делятся на документальные, фактографические и лексикографические. Среди документальных баз различают библиографические, реферативные и полнотекстовые. К лексикографическим базам данных относятся различные словари (классификаторы, многоязычные словари, словари основ слов и т. п.).
В системах фактографического типа в базах данных хранится информация об интересующих пользователя объектах предметной области в виде «фактов» (например, биографические данные о сотрудниках, данные о выпуске продукции производителями и п. т.). В ответ на запрос пользователя выдается требуемая ему информация об интересующем его объекте или сообщение о том, что искомая информация отсутствует в базе данных.
В документальных базах данных единицей хранения является какой-либо документ (например, текст закона или статьи) и пользователю в ответ на его запрос выдается либо ссылка на документ, либо сам документ, в котором он может найти интересующую его информацию.
Базы данных документального типа могут быть организованы по-разному: без хранения и с хранением самого исходного документа на машинных носителях. К системам первого типа можно отнести библиографические и реферативные базы данных, а также базы данных-указатели, «отсылающие» к источнику информации. Системы, в которых предусмотрено хранение полного текста документа, так и называются полнотекстовыми.
По характеру организации хранения данных и обращения к ним различают локальные (персональные), общие (интегрированные, централизованные) на распределенные базы данных.
Персональная база данных — это база данных, предназначенная для локального использования одним пользователем. Локальные базы данных могут создаваться каждым пользователем самостоятельно, а могут извлекаться из общей базы данных.
Интегрированные и распределенные базы данных предполагают возможность одновременного обращения нескольких пользователей к одной и той же информации (многопользовательский, параллельный режим доступа).
Распределенные базы данных кроме этого имеют характерные особенности, связанные с тем, что физически разные части баз данных могут быть расположены на разных ЭВМ, а логически, с точки зрения пользователя они должны представлять собой единое целое.
1.3 Структурные элементы базы данных
Понятие базы данных тесно связано с такими понятиями структурных элементов, как поле, запись, файл (таблица).
Поле — элементарная единица логической организации данных, которая соответствует неделимой единице информации — реквизиту. Для описания поля используются следующие характеристики:
* имя (Фамилия, Имя, Отчество, Дата рождения);
* тип (символьный, числовой, календарный);
* длина (например, 15 байт, причем будет определяться максимально возможным количеством символов);
* точность для числовых данных, например два десятичных знака для отображения дробной части числа.
Запись — совокупность логически связанных полей. Экземпляр записи — отдельная реализация записи, содержащая конкретные значения ее полей.
Файл (таблица) — совокупность экземпляров записей одной структуры.
В структуре записи файла указываются поля, значения которых являются ключами первичными, которые идентифицируют экземпляр записи, и вторичными, которые выполняют роль поисковых или группировочных признаков (по значению вторичного ключа можно найти несколько записей).
1.4 Microsoft Access
Microsoft Office Access или просто Microsoft Access — реляционная система управления базами данных корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
Основные компоненты MS Access:
· построитель таблиц;
· построитель экранных форм;
· построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
· построитель отчётов, выводимых на печать.
Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.
Microsoft Jet Database Engine (англ.), которая используется в качестве движка базы данных MS Access является файл-серверной СУБД и потому применима лишь к приложениям, работающим с небольшими объёмами данных и при небольшом числе пользователей, одновременно работающих с этим данными. Непосредственно в Access отсутствует ряд механизмов, необходимых в многопользовательских базах данных, таких, например, как триггеры.
Встроенные средства взаимодействия MS Access со внешними СУБД с использованием интерфейса ODBC снимают ограничения, присущие Microsoft Jet Database Engine. Инструменты MS Access, которые позволяют реализовать такое взаимодействие, называются «связанные таблицы» (связь с таблицей СУБД) и «запросы к серверу» (запрос на диалекте SQL, который «понимает» СУБД).
Корпорация Microsoft для построения полноценных клиент-серверных приложений на базе MS Access рекомендует использовать в качестве движка базы данных СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.
Известны также реализации клиент-серверных приложений на базе связки Access 2003 c другими СУБД, в частности, MySQL.
Access, при работе с базой данных, иначе взаимодействует с жёстким (или гибким) диском, нежели другие программы.
В других программах, файл-документ, при открытии, полностью загружается в оперативную память, и новая редакция этого файла (изменённый файл) целиком записывается на диск только при нажатии кнопки «сохранить».
В Access новая редакция содержимого изменённой ячейки таблицы записывается на диск (сохраняется) сразу, как только курсор клавиатуры будет помещён в другую ячейку (или новая редакция изменённой записи записывается на диск сразу, как только курсор клавиатуры будет поставлен в другую запись (строку)). Таким образом, если внезапно отключат электричество, то пропадёт только изменение той записи, которую не успели покинуть.
Целостность данных в Access обеспечивается также за счёт механизма транзакций.
Кнопка «Сохранить» в Access тоже есть, но в Access в режиме просмотра данных она нужна, в первую очередь, для сохранения изменённого режима показа таблицы или другого объекта-то есть, для сохранения таких изменений, как:
· изменение ширины столбцов и высоты строк,
· перестановка столбцов в режиме просмотра данных, «закрепление» столбцов и освобождение закреплённых столбцов,
· изменение сортировки,
· применение нового фильтра,
· изменение шрифта; цвета текста, сетки и фона,
· и т. п.
Кроме того, в Access эта кнопка нужна в режиме «Конструктор» для сохранения изменений структуры объекта базы данных, сделанных в этом режиме.
Даже если в процессе работы с файлом базы данных не применялся режим «Конструктор» и новые данные в базу данных не добавлялись (то есть если база данных только просматривалась), то всё равно файл базы данных имеет тенденцию со временем, в процессе работы с ним, всё больше и больше увеличиваться в размере. Очень способствует увеличению размера файла применение новых сортировок и фильтров (особенно если было применено несколько разных, сильно отличающихся друг от друга сортировок / фильтров).
Это приращение размера файла является, фактически, пустотой, но эта пустота лежит внутри файла, увеличивая его объём.
Чтоб вернуть файлу базы данных нормальный (минимальный) объём (то есть чтоб убрать из файла пустоту), в Access есть кнопка «Сжать и восстановить базу данных» — эту кнопку нужно время от времени нажимать (при нажатии этой кнопки никакая информация, никакие данные из файла базы данных не удаляются). Так же базу данных можно запустить с параметром /compact, что выполнит сжатие автоматически и закроет базу по окончании процесса.
1.5 Таблицы и запросы в MS Access
При создании базы данных данные сохраняются в таблицах — списках строк и столбцов, относящихся к конкретной области. Определение структуры базы данных необходимо всегда начинать с создания ее таблиц. Таблицы создаются раньше любых других объектов базы данных.
В этой статье описано создание таблиц. Приведены инструкции по созданию таблицы, добавлению полей в таблицу и заданию первичного ключа таблицы. Кроме того, описаны типы данных и приведены инструкции по заданию свойств таблиц и полей.
Перед созданием таблиц необходимо тщательно проанализировать требования к базе данных и создать ее план, чтобы точно выяснить, какие таблицы нужны. Начальные сведения по планированию и разработке базы данных.
Таблица содержит данные по определенной теме, например, сведения о сотрудниках или товарах. Каждая запись в таблице включает данные об одном элементе и состоит из полей. Кроме того, запись обычно называется строкой, а поле — столбцом.
База данных может включать множество таблиц, в которых хранятся данные по различным темам. Каждая таблица может состоять из множества полей различного типа, включая текст, числа, даты и рисунки.
Каждая таблица содержит в себе первичный ключ. Первичный ключ таблицы состоит из одного или нескольких полей, однозначно определяющих каждую строку в этой таблице. Часто в качестве первичного ключа используется уникальный инвентарный номер, порядковый номер или код. В качестве первичного ключа удобно использовать поле, которое обладает следующими характеристиками. Во-первых, оно должно однозначно определять каждую строку. Во-вторых, оно не должно быть пустым — в нем всегда должно быть значение. В-третьих, оно должно изменяться крайне редко (лучше всего — никогда). Приложение Access использует поля первичного ключа для быстрого объединения данных нескольких таблиц.
Всегда следует определять для таблицы первичный ключ. Для первичного ключа автоматически создается индекс, ускоряющий выполнение запросов и операций. Кроме того, приложение Access проверяет наличие и уникальность значений в поле первичного ключа.
После создания таблиц, необходимо установить между ними связи:
— один-к-одному — одному атрибуту первой таблицы соответствует только один атрибут второй таблицы и наоборот;
— один-ко-многим — одному атрибуту первой таблицы соответствует несколько атрибутов второй таблицы.
Построение связей в Access осуществляется с помощью схемы данных. При построении схемы данных Access автоматически определяет по выбранному полю тип связи между таблицами. Если поле, по которому нужно установить связь, является уникальным ключом, как в главной таблице, так и в подчиненной, Access устанавливает связь типа один-к-одному. Если поле связи является уникальным ключом в главной таблице, а в подчиненной таблице является не ключевым или входит в составной ключ. Access устанавливает связь типа один-ко-многим от главной таблицы к подчиненной.
При создании схемы данных пользователь включает в нее таблицы и устанавливает связи между ними. Причем для связей типов один-к-одному и один-ко-многим можно задать параметр, обеспечивающий целостность данных, а также автоматическое каскадное обновление или удаление связанных записей.
Обеспечение целостности данных означает выполнение для взаимосвязанных таблиц следующих условий корректировки базы данных:
* в подчиненную таблицу не может быть добавлена запись, для которой не существует в главной таблице ключа связи;
* в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
* изменение значений ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы, В случае если пользователь нарушил эти условия в операциях обновления или удаления данных в связанных таблицах, Access выводит соответствующее сообщение и не допускает выполнения операции. Access автоматически отслеживает целостность данных, если между таблицами в схеме данных установлена связь с параметрами обеспечения целостности. При вводе некорректных данных в связанные таблицы выводится соответствующее сообщение. Access не позволяет создавать связи с параметрами обеспечения целостности в схеме данных, если ранее введенные в таблицы данные не отвечают требованиям целостности.
Отметим, что установление между двумя таблицами связи типа один-к-одному или один-ко-многим и задание параметров целостности данных возможно только при следующих условиях:
* связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;
* обе таблицы сохраняются в одной базе данных Access;
* главная таблица связывается с подчиненной по первичному простому или составному ключу (уникальному индексу) главной таблицы.
Если для выбранной связи обеспечивается поддержание целостности, то можно задать режимы каскадного обновления и удаления связанных записей.
В режиме каскадного обновления связанных записей при изменении значения в поле связи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы Access выполняет каскадное удаление подчиненных записей на всех уровнях.
Помимо таблиц, в Access существуют запросы. Запрос — это набор инструкций, который можно использовать для обработки данных. Чтобы эти инструкции были выполнены, запрос следует запустить. Запрос не только возвращает результаты — которые можно сортировать, группировать и фильтровать — с помощью запроса можно также создавать, копировать, удалять и изменять данные.
Существуют несколько типов запросов:
— на выборку,
— перекрестный,
— на изменение,
— и другие.
Запрос на выборку — это объект базы данных, который служит для отображения данных в режиме таблицы. Запрос может получать данные из одной или нескольких таблиц, из существующих запросов или из комбинаций таблиц и запросов. Таблицы или запросы, используемые для получения данных, называются источниками записей.
Перекрестный запрос — это разновидность запроса на выборку. Результаты выполнения перекрестного запроса выводятся в виде таблицы, структура которой отличается от обычных таблиц. Благодаря своеобразной структуре перекрестного запроса его легче читать, чем простой запрос на выборку, возвращающий те же данные.
Запросом на изменение называют запрос, который за одну операцию изменяет или перемещает несколько записей. Существует четыре типа запросов на изменение: на удаление, на обновление и добавление записей, а также на создание таблицы.
1.6 Формы и отчеты в Access
Форма — это объект базы данных, который можно использовать для создания интерфейса пользователя для приложения базы данных. «Привязанная» форма напрямую соединена с источником данных, например к таблице или запросу, и может использоваться для ввода, изменения или отображения данных из источника данных. Как вариант, можно создать «свободную» форму, которая не связана напрямую с источником данных, но которая все равно может содержать кнопки, надписи и другие элементы управления, необходимые для работы приложения.
Привязанные формы можно использовать для управления доступом к данным: с их помощью можно определять, какие поля или строки данных будут отображаться. Например, некоторым пользователям достаточно видеть лишь несколько полей большой таблицы. Если предоставить им форму, содержащую только нужные им поля, это облегчит для них работу с базой данных. Для автоматизации часто выполняемых действий в форму можно добавить кнопки и другие функциональные элементы.
Привязанные формы можно рассматривать как окна, через которые пользователи могут просматривать и изменять базу данных. Рационально построенная форма ускоряет работу с базой данных, поскольку пользователям не требуется искать то, что им нужно. Внешне привлекательная форма делает работу с базой данных более приятной и эффективной, кроме того, она может помочь в предотвращении неверного ввода данных.
При работе с базой данных для просмотра, форматирования и обобщения данных обычно используются отчеты. Отчет — это форматированное представление данных, которое выводится на экран, в печать или файл. Они позволяют извлечь из базы нужные сведения и представить их в виде, удобном для восприятия, а также предоставляют широкие возможности для обобщения и анализа данных.
При печати таблиц и запросов информация выдается практически в том виде, в котором хранится. Часто возникает необходимость представить данные в виде отчетов, которые имеют традиционный вид и легко читаются. Microsoft Access отображает в отчете данные из запроса или таблицы, добавляя к ним текстовые элементы, которые упрощают его восприятие.
К числу таких элементов относятся:
— Заголовок. Этот раздел печатается только в верхней части первой страницы отчета. Используется для вывода данных, таких как текст заголовка отчета, дата или констатирующая часть текста документа, которые следует напечатать один раз в начале отчета. Для добавления или удаления области заголовка отчета необходимо выбрать в меню Вид команду Заголовок/примечание отчета.
— Верхний колонтитул. Используется для вывода данных, таких как заголовки столбцов, даты или номера страниц, печатающихся сверху на каждой странице отчета. Для добавления или удаления верхнего колонтитула необходимо выбрать в меню Вид команду Колонтитулы. Microsoft Access добавляет верхний и нижний колонтитулы одновременно. Чтобы скрыть один из колонтитулов, нужно задать для его свойства Высота значение 0.
— Область данных, расположенная между верхним и нижним колонтитулами страницы. Содержит основной текст отчета. В этом разделе появляются данные, распечатываемые для каждой из тех записей в таблице или запросе, на которых основан отчет. Для размещения в области данных элементов управления используют список полей и панель элементов. Чтобы скрыть область данных, нужно задать для свойства раздела Высота значение 0.
— Нижний колонтитул. Этот раздел появляется в нижней части каждой страницы. Используется для вывода данных, таких как итоговые значения, даты или номера страницы, печатающихся снизу на каждой странице отчета.
— Примечание. Используется для вывода данных, таких как текст заключения, общие итоговые значения или подпись, которые следует напечатать один раз в конце отчета. Несмотря на то, что в режиме Конструктора раздел «Примечание» отчета находится внизу отчета, он печатается над нижним колонтитулом страницы на последней странице отчета. Для добавления или удаления области примечаний отчета необходимо выбрать в меню Вид команду Заголовок/примечание отчета. Microsoft Access одновременно добавляет и удаляет области заголовка и примечаний отчета.
В Microsoft Access можно создавать отчеты различными способами:
· Конструктор,
· Мастер отчетов,
· Автоотчет: в столбец,
· Автоотчет: ленточный,
· Мастер диаграмм,
· Почтовые наклейки.
1.7 Экспорт и импорт в Access
Access предоставляет широкие возможности пользователям по переносу уже существующих баз данных в среду MS Access. К примеру, если вы вели обработку информации в MS Excel, эксплуатировали базы в средах dBase, Paradox или FoxPro, или же просто хранили свои данные в текстовых файлах, и решили воспользоваться возможностями MS Access, — вам не составит труда перенести свои данные в эту среду.
С таким же успехом вы можете экспортировать свои данные из таблиц Access в большинство существующих сред обработки данных. Более того, в Access заложен аппарат поддержки миграции данных в еще не существующие среды, используя механизм ODBC. Т. е. с появлением новой, с более широким спектром возможностей СУБД, вы не будете привязаны к Access необходимостью заново вводить данные под новый формат базы.
Если эта база будет содержать драйвер ODBC, вы просто экспортируете свои данные в другую среду. Сейчас многие производители ПО для хранения и обработки данных внедряют в свои приложения поддержку ODBC, и ваше Access — приложение уже сейчас может обмениваться информацией как с такими СУБД как Oracle, SQL-Base, Sybase, Paradox, FoxPro, Btrieve, DB2 и т. д., так и с будущими.
Access поддерживает две возможности использования данных других баз — импорт и присоединение.
Импорт подразумевает полную конвертацию существующей таблицы из другой среды в формат MS Access. Все модификации импортированной таблицы автоматически не переносятся в импортированную вами таблицу. Т. е. импортировать данные имеет смысл в тех случаях, если вы:
· полностью переходите на работу с Access и переносите все свои данные в эту среду, не обращаясь к старому приложению;
· используете информацию, редко модифицируемую пользователем: словари, справочники и т. д.;
· добиваетесь максимальной производительности по обработке данных в смешанных средах (совместного использования данных одновременно несколькими средами БД), т.к. Access быстрее работает со своими форматами в своей среде.
При импорте электронных таблиц можно либо дописать данные в уже существующую таблицу, либо сформировать новую. В первом случае необходимо либо сформировать имена столбцов эл. таблицы, идентичные именам полей таблицы Access, или расположить столбцы эл. таблицы в той же последовательности, что и поля таблицы БД, в которую импортируются данные.
Если мы будем создавать на импортируемых данных новую таблицу, то желательно ввести имена столбцов в первую строку импортируемой электронной таблицы, в противном случае Access назначит в качестве полей последовательные числа, начиная с 1 (их потом можно будет изменить, открыв таблицу в режиме конструктора).
Тип данных для полей новой таблицы Access определяет на основе значений первой импортируемой строки данных. Так,
— символьные данные переносятся в текстовые поля длинной 255 символов;
— числовые — в «Числовой» («Numeric») с размером 8 байт и «с плавающей точкой»;
— числовые данные в денежном формате — в тип «Денежный» («Currency»);
— значения даты и времени — в тип «Дата / Время» («Date/Time»).
Некоторые типы могут быть неправильно интерпретированы Access, поэтому имеет смысл, вставить в начало электронной таблицы «фиктивную» строку, однозначно идентифицирующую тип данных, который необходимо установить для поля таблицы БД. После окончания импорта эту строку, как и строку с названиями полей, можно будет удалить.
2. Разработка системы для автоматизации учета формирования оплат на жилищно-коммунальные услуги
2.1 Определение требований к приложению
Жилищно-управляющая компания осуществляет услуги по поддержанию и восстановлению надлежащего состояния зданий, сооружений, оборудования, коммуникаций и объектов коммунального назначения. Собственники жилья производят оплату за эти услуги, согласно установленным нормам и тарифам.
Стоимость таких услуг зависит от различных факторов, например, от количества прописанных в квартире человек, от общей или полезной площади квартиры, или общей фиксированной ставки.
К примеру, плата за пользование домофоном рассчитывается из [тариф на пользование домофоном] * [квартира], а отопление: [тариф на отопление] * [площадь квартиры]. Если в первом случае плата за домофон на каждую квартиру будет одинакова, то во втором случае — в зависимости от площади квартиры.
Таким образом, приложение должно хранить данные о квартире, ее площади, количестве прописанных в ней жильцов, производить вычисления по оплате за каждую услугу, хранить данные о внесенных платежах, формировать квитанции на каждую квартиру.
2.2 Проектирование базы данных
Исходя из требований к приложению, база данных будет содержать следующие сущности:
— квартиры;
— нормативы квартир;
— услуги;
— оплаты;
— тарифы;
— периоды.
На рисунке 3 показаны взаимосвязи между сущностями.
Рисунок 3. Взаимосвязи между сущностями Отношения между сущностями «нормативы квартир» и «тарифы» складывается как многие-ко-многим. Для осуществления этой связи на практике, необходима промежуточная таблица. Добавим еще одну сущность: «нормативы тарифов». Таким образом, у нас получится семь сущностей, то есть семь таблиц: квартиры, нормативы квартир, услуги, оплаты, тарифы, периоды, нормативы тарифов.
Ниже представлены сущности с атрибутами.
— квартиры
— лицевой счет
— собственник
— адрес
— нормативы квартир
— код
— лицевой счет
— норматив
— значение
— оплаты
— номер оплаты
— лицевой счет
— дата
— сумма
— услуги
— услуга
— тарифы
— номер тарифа
— период
— услуга
— тариф
— норматив
— периоды
— период
— нормативы тарифов
— норматив
— единица измерения На рисунке 4 представлена схема базы данных.
Рисунок 4. Схема базы данных
2.3 Создание таблиц и запросов в Access
Созданные таблицы в режиме конструктора представлены на рисунках ниже:
Рисунок 5. Таблица «Квартиры»
Рисунок 6. Таблица «Нормативы квартир»
Рисунок 7. Таблица «Оплаты»
Рисунок 8. Таблица «Услуги»
Рисунок 9. Таблица «Тарифы»
Рисунок 10. Таблица «Периоды» и свойства поля «Период»
Рисунок 11. Таблица «Нормативы»
Создадим запросы, которые понадобятся нам в создании приложения.
Сформируем запрос по услугам на каждую квартиру. В конструкторе запросов добавим таблицы: Квартиры, Периоды, Нормативы, Тарифы, Нормативы квартир (рисунок 12).
Рисунок 12. Создание запроса «Начислено по услугам»
В запрос добавим поля: Лицевой счет из таблицы Квартиры, Период из таблицы Периоды, Услуга и Тариф из таблицы Тарифы, Значение из таблицы Нормативы квартир, Единица измерения из таблицы Нормативы. Также добавим вычисляемое поле Итого, значением которого будет произведением полей Тариф и Значение. Результатом будет денежное поле. По всем полям, кроме последнего, произведем группировку полей, в последнем, в строке Групповая операция выберем значение Выражение. Запрос готов.
На основе запроса «Начислено по услугам», создадим еще один запрос «Начислено за период». Запрос в режиме конструктора представлен на рисунке 13.
Рисунок 13. Запрос «Начислено по услугам» в режиме конструктора.
Как видно из рисунка, в запрос добавлены поля Лицевой счет, Период и Итого. По полю Итого производится подсчет суммы начислений с помощью функции Sum.
На основе этого запроса создадим еще один запрос, который будет производить суммарный подсчет начислений по услугам за все периоды. На рисунке 14 представлен запрос «Начислено всего» в режиме конструктора.
Рисунок 14. Запрос «Начислено всего»
Создадим запрос, который будет выводить информацию по оплатам за все периоды. Этот запрос формируется на основе таблицы «Оплаты». В режиме конструктора запросов, выбираем таблицу «Оплаты», из которой выберем два поля: Лицевой счет и Сумма. Произведем групповую операцию: по полю Лицевой счет — группировка, по полю Сумма — выберем функцию Sum, которая будет производить подсчет всех значений из этого поля по группе из лицевого счета. На рисунке 15 представлен запрос «Оплачено всего» в режиме конструктора запросов.
Рисунок 15. Запрос «Оплачено всего» в режиме конструктора Следующий запрос будет выводить данные по задолженности или переплате. Этот запрос основан на запросах «Оплачено всего» и «Начислено всего». Для дальнейшего удобства использования данных из этого запроса, добавим данные о квартире. На рисунке 16 представлен этот запрос в режиме конструктора. Поле Задолженность будет вычисляемым и равен разности поля Всего начислено из запроса Начислено всего и поля Итого оплачено запроса Оплачено всего.
Рисунок 16. Запрос «Задолженность» в режиме конструктора Если результатом поля Задолженность будет являться отрицательное число, значит, за квартирой числится переплата, если положительное — задолженность.
На рисунке 17 показан запрос «Должники» в режиме конструктора. Он создан на основе предыдущего запроса «Задолженность», но выводится в таблицу только данные тех квартир, у которых числится задолженность.
Рисунок 17. Запрос «Должники»
В строку Условие отбора, под полем Задолженность, необходимо указать условие «>0».
2.4 Создание форм приложения
Приложение будет состоять из 6 форм. Главной формой приложения будет являться форма «Состояние лицевых счетов» основанной на запросе «Задолженность». Из главной формы будет осуществляться переход на форму «Информация о квартире», основанной на таблицах «Квартиры» и «Нормативы квартир», форму «Оплаты» и форму «Тарифы».
Из формы «Тарифы» будет переход на формы «Услуги» и «Периоды».
Схема приложения представлена на рисунке 18.
Рисунок 18. Схема приложения Внешний вид форм представлены в приложении работы.
2.5 Создание отчетов
В своем приложении создадим отчеты по должникам и по общему состоянию лицевых счетов. Создадим отчет по должникам. В списке таблиц и запросов выделим запрос «Должники». В пункте меню выберем пункты Создание -> Отчеты -> Отчет. Автоматически создастся отчет по запросу «Должники». В режиме конструктора отчетов можно произвести изменения внешнего вида отчета. К примеру, вставить в заголовок логотип управляющей компании или другую информацию. На рисунке 19 показан отчет «Должники» в режиме просмотра.
Рисунок 19. Отчет «Должники»
Аналогичным образом, необходимо создать отчет по запросу «Задолженность» (рисунок 20).
Рисунок 20. Отчет «Состояние лицевых счетов»
Создадим отчет, в результате которого будут формироваться квитанции по оплате за услуги по каждому лицевому счету. Для начала необходимо создать запрос. На рисунке 21 показан этот запрос в режиме конструктора.
Рисунок 21. Запрос для формирования квитанций
В запрос сформирован на основе запросов «Задолженность» и «Начислено по услугам». Из запроса «Задолженность» добавлены поля: Лицевой счет, Собственник, Адрес, Задолженность. Из запроса «Начислено по услугам»: Период, Услуга, Тариф, Значение, Единица измерения, Итого. Также добавлено вычисляемое поле К оплате, значение которого вычисляется по выражению: CCur (IIf ([Задолженность]>0; [Задолженность]; 0)), что означает, если по лицевому счету имеется задолженность, то к оплате выводится именно эта задолженность, если нет, то к оплате нулевое значение. Результат выводится в денежном формате.
По полю Период добавлено условие: Период формирования. Перед формированием запроса, выводится диалоговое окно с полем для ввода периода, по которому нужно сформировать запрос. Вводится значение месяца и значение года без пробела (например, февраль 2013 года вводится как 22 013).
Далее, на основании этого запроса, создадим отчет. Путем редактирования его в режиме конструктора отчетов, получим отчет в форме квитанций (рисунок 22).
Рисунок 22. Отчет «Выписки по начислениям» в виде квитанций
Также необходимо в режиме конструктора отчета добавить информацию об управляющей компании, её банковских реквизитах и так далее.
2.6 Пользование приложением
При запуске, у нас открывается главная форма приложения. Вверху формы расположены три кнопки: обновить форму, просмотр отчета формы (отчет «Состояние лицевых счетов») и кнопка «Выход», которая закрывает форму.
Внизу формы расположены шесть кнопок. Две из них открывают форму «Информация о квартире». Первая кнопка называется «Добавить квартиру», вторая «Правка квартиры». Следующие две кнопки открывают отчеты «Выписки по начислениям» и «Должники». Кнопка «Оплаты» позволяет перейти на одноименную форму. В этой форме можно просматривать оплаты, вводить новые путем ввода оплат построчно, либо с помощью импорта данных из файла Excel. По форме предусмотрена фильтрация по дате. Также данные формы можно вывести на печать.
Последняя кнопка на главной форме: «Тарифы». На форме тарифы можно редактировать тарифы, добавлять новые, исходя из имеющихся услуг. Осуществлять фильтрацию данных на форме по периоду.
Из формы «Тарифы» можно осуществить переход на формы «Услуги» и «Периоды». На этих формах представлены списки, которые можно изменять, путем добавления или удаления данных.
Заключение
В процессе выполнения курсового проекта, были изучены основные приемы разработки приложения в среде MS Access: создание таблиц, запросов, отчетов и форм.
Приложение состоит из семи таблиц, восьми запросах, шести формах и трех отчетах.
Разработанное приложение позволяет хранить данные о квартирах, установленных тарифах на каждый месяц обслуживания. Приложение позволяет отслеживать данные о поступивших платежах, ведет учет о состоянии лицевых счетов (задолженностях и переплатах), позволяет контролировать общую картину, происходящую по работе ЖКХ в конкретном районе города.
Поставленные в курсовом проекте цель и задачи были выполнены.
1. Microsoft Access. Материал из свободной энциклопедии. [Электронный ресурс]-: http://ru.wikipedia.org/wiki/Microsoft_Access
2. Базы данных. Разработка приложений: Л. В. Рудикова — Москва, БХВ-Петербург, 2006 г. — 496 с.
3. Карпова Т. С. Базы данных: модели, разработка. — СПб.: Питер, 2001, 304 с.
4. А. П. Шестаков, Е. В. Брызгалов. Уроки по Access. [Электронный ресурс] -: http://comp-science.narod.ru/KR/BD.htm
5. Регулирование тарифов ЖКХ. [Электронный ресурс]-: // http://energovopros.ru/jkh/tarifs/