Файл: 1. Обоснование концептуальной модели базы данных 4 Выполнение нормализации базы данных 9.docx
Добавлен: 05.12.2023
Просмотров: 29
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Таблица История платежей находится в 3НФ и имеет один потенциальный ключ (Код платежа), (4ФЗ), следовательно, таблица приведена к НФБК.
Таблица Заявление на ИП находится в 3НФ и имеет один потенциальный ключ (Код заявления), (5ФЗ), следовательно, таблица приведена к НФБК.
Таблица Деятельность находится в 3НФ и имеет один потенциальный ключ (Код ОКВЭД), (6ФЗ), следовательно, таблица приведена к НФБК.
Таблица Виды деятельности находится в 3НФ и имеет один потенциальный ключ (Код вида деятельности), (7ФЗ), следовательно, таблица приведена к НФБК.
3. Конструирование таблиц базы данных и заполнение полей
Информация внутри базы данных должна соответствовать, заданным правилам, логике и структуре. База данных должна содержать полную и непротиворечивую информацию. Целостность данных подразделяется на три категории: доменная, категорная и ссылочная.
Рассмотрим целостность этих категорий для нашей базы данных в Таблице 3. «Целостность данных».
Таблица 3 «Целостность данных»
Доменный тип целостности
Атрибут | Тип | Домен | Обеспечение целостности |
Наименование налога | Текстовый | <=50 символов | обязательно |
Ставка в % | Числовой | Целое | обязательно |
Облагаемая сумма | Денежный | | обязательно |
Дата получения извещения | Дата/время | Краткий формат даты | обязательно |
Дата платежа | Дата/время | Краткий формат даты | обязательно |
Название субъекта | Текстовый | <=50 символов | обязательно |
Фамилия | Текстовый | <=40 символов | обязательно |
Имя | Текстовый | <=30 символов | обязательно |
Отчество | Текстовый | <=40 символов | обязательно |
Дата рождения | Дата/время | Краткий формат даты | обязательно |
Адрес | Текстовый | <=50 символов | обязательно |
Дом | Числовой | Целое | обязательно |
Квартира | Числовой | Целое | обязательно |
Серия паспорта | Числовой | Целое | обязательно |
Номер паспорта | Числовой | Длинное целое | обязательно |
Дата выдачи паспорта | Дата/время | Краткий формат даты | обязательно |
Телефон | Текстовый | <=15 символов | обязательно |
Дата заполнения заявления | Дата/время | Краткий формат даты | обязательно |
Деятельность | Текстовый | <=50 символов | обязательно |
Вид деятельности | Текстовый | <=50 символов | обязательно |
Категорный тип целостности
Атрибут | Ограничения | Тип | Домен |
Код налога (Справочник налогов) | индексированный обязательно | Счетчик | >=1 |
Код платежа (История платежей) | индексированный обязательно | Счетчик | >=1 |
Код тура (Туры) | индексированный обязательно | Числовой | Целое |
Налогоплательщики (ИНН физ лица) | индексированный обязательно | Текстовый | 12 |
Субъекты РФ (Код субъекта) | индексированный обязательно | Числовой | Целое |
Заявления на регистрацию ИП (Код заявления) | индексированный обязательно | Счетчик | >=1 |
Деятельность (Код ОКВЭД) | индексированный обязательно | Текстовый | 10 |
Виды деятельности (Код вида деятельности) | индексированный обязательно | Числовой | Целое |
Ссылочный тип целостности
Атрибут | Ограничения | Тип | Домен |
Вид налога (История платежей) | индексированный обязательно | числовой | >=1 |
ИНН плательщика (История платежей) | индексированный обязательно | Текстовый | 12 |
Субъект РФ (Налогоплательщики) | индексированный обязательно | числовой | >=1 |
ИНН физ лица (Заявление на ИП) | индексированный обязательно | Текстовый | 12 |
Код ОКВЭД (Заявление на ИП) | индексированный обязательно | Текстовый | 10 |
Вид деятельности (Деятельность) | индексированный обязательно | числовой | >=1 |
4. Оформление схемы данных
После выполнения всех необходимых требований, получаем реляционную схему данных. Реляционная схема была реализована в СУБД Microsoft Access. Схема приведена на рисунке 2. «Реляционная схема данных».
Рисунок 2. «Реляционная схема данных»
5. Конструирование запросов к базе данных
Конструирование запросов к базе данных - это процесс создания запросов, которые позволяют получать необходимую информацию из базы данных. Для решения задач, описанных в данной курсовой работе, требуется написать запросы на языке SQL (Structured Query Language), который является стандартным языком для работы с реляционными базами данных.
При конструировании запросов к базе данных следует учитывать следующие факторы:
-
Выбор таблицы: для получения необходимой информации нужно определить таблицу, в которой она хранится. -
Выбор полей: необходимо определить, какие поля из таблицы нужно выбрать. -
Условия выборки: для получения нужной информации следует задать условия, которым должны соответствовать записи в таблице. -
Агрегирующие функции: для получения сумм, количества или других агрегированных данных следует использовать соответствующие функции. -
Сортировка: можно задать порядок сортировки результатов запроса по определенному полю. -
Группировка: можно сгруппировать результаты запроса по определенному полю. -
Объединение таблиц: в случае, когда необходимо объединить информацию из нескольких таблиц, можно использовать оператор JOIN.
При конструировании запросов следует также обратить внимание на оптимизацию запросов, чтобы они выполнялись максимально быстро и эффективно. Для этого можно использовать индексы, которые ускоряют поиск данных в таблице.
Написание эффективных запросов к базе данных является важным навыком для специалистов в области баз данных и поможет достичь более точных и быстрых результатов в работе с большими объемами данных.
Для запросов списка налогоплательщиков, начисляющих заданный вид налога, списка налогоплательщиков, переплативших по заданному виду налога, списка налогов, по которым произошла недоплата и списка налогоплательщиков, у которых начисленная сумма по заданному виду налога лежит в заданном диапазоне, нужно использовать SQL-запросы с использованием операторов SELECT, WHERE и JOIN.
Для запроса списка начисленных налогов налогоплательщиками, которые перечислили деньги в тот же день, что и заданный налогоплательщик, нужно использовать SQL-запрос с использованием операторов SELECT, WHERE, JOIN и GROUP BY.
Запрос:
SELECT * FROM Налогоплательщики WHERE Вид_налога='название_налога';
Для запроса списка налогоплательщиков, не перечисливших деньги к заданной дате, нужно использовать SQL-запрос с использованием операторов SELECT, WHERE и JOIN.
Запрос:
SELECT * FROM Ведомость_платежей WHERE (Сумма_платежа-Сумма_начисленных_платежей)>0 AND Вид_налога='название_налога';
Для запросов на отчеты «Список должников» и «Поиск платежей по ИНН» нужно использовать SQL-запросы с использованием операторов SELECT, WHERE и JOIN с учетом параметров, заданных пользователем в форме.
Запрос:
SELECT Налогоплательщики.ФИО, Налогоплательщики.ИНН, Налогоплательщики.Адрес, SUM(ВедомостьПлатежей.Сумма) AS [Сумма долга]
FROM Налогоплательщики INNER JOIN ВедомостьПлатежей ON Налогоплательщики.ИНН = ВедомостьПлатежей.ИНН
GROUP BY Налогоплательщики.ФИО, Налогоплательщики.ИНН, Налогоплательщики.Адрес
HAVING SUM(ВедомостьПлатежей.Сумма) > 0
Этот запрос выводит список должников с ФИО, ИНН и адресом, а также суммой долга по каждому налогоплательщику.
Запрос:
SELECT Налогоплательщики.ФИО, ВедомостьПлатежей.ИНН, ВедомостьПлатежей.Дата, ВидыНалогов.Наименование, ВедомостьПлатежей.Сумма
FROM (ВидыНалогов INNER JOIN ВедомостьПлатежей ON ВидыНалогов.ID_вида_налога = ВедомостьПлатежей.ID_вида_налога) INNER JOIN Налогоплательщики ON ВедомостьПлатежей.ИНН = Налогоплательщики.ИНН
WHERE ВедомостьПлатежей.ИНН=[Введите ИНН налогоплательщика];
Этот запрос выводит список платежей по заданному ИНН налогоплательщика с указанием ФИО, даты платежа, наименования налога и суммы. При выполнении запроса будет запрошен ИНН налогоплательщика, по которому будет осуществляться поиск платежей.
Для запроса списка налогоплательщиков, перейдя на форму «Налогоплательщики», нужно использовать запрос на выборку из соответствующей таблицы в базе данных.
Запрос:
SELECT * FROM Налогоплательщики WHERE ИНН NOT IN (SELECT ИНН_налогоплательщика FROM Ведомость_платежей WHERE Дата_платежа<'заданная_дата');
Для запросов на переход на формы «Ведомость платежей», «Справочник налогов», «Справочник ОКВЭД», «Субъекты РФ» и «Подать заявку на ИП» нужно использовать запросы на выборку из соответствующих таблиц в базе данных.
Запрос на выборку всех записей из таблицы "Ведомость платежей":
SELECT * FROM Ведомость_платежей;
Запрос на выборку всех записей из таблицы "Справочник налогов":
SELECT * FROM Справочник_налогов;
Запрос на выборку всех записей из таблицы "Справочник ОКВЭД":
SELECT * FROM Справочник_ОКВЭД;
Запрос на выборку всех записей из таблицы "Субъекты РФ":
SELECT * FROM Субъекты_РФ;
Запрос на выборку всех записей из таблицы "Заявки на ИП":
SELECT * FROM Заявки_на_ИП;
В целом, для составления запросов в Access нужно учитывать структуру базы данных, таблиц и связей между ними, а также параметры, заданные пользователем в форме.
6. Разработка форм базы данных
Продолжая работу над курсовой работой, следующим шагом будет разработка форм базы данных для взаимодействия с базой данных. Формы будут использоваться для ввода, редактирования и просмотра данных.
Каждая форма должна иметь соответствующие поля для ввода информации. Поля должны быть связаны с соответствующими таблицами базы данных и иметь соответствующие свойства. Также необходимо добавить кнопки для сохранения, отмены и удаления данных.
Кроме того, для удобства работы с базой данных можно создать отдельную форму для каждого из запросов, описанных в предыдущем пункте. Формы запросов должны содержать поля для ввода параметров запроса и кнопку для выполнения запроса. Результат выполнения запроса должен выводиться в соответствующей форме.
Все формы должны быть разработаны в соответствии с требованиями к пользовательскому интерфейсу и обеспечивать удобство работы с базой данных.
Рисунок №4. «Главное меню приложения»
Рисунок №5. «Меню сотрудника»
7. Разработка отчета
Разработка отчета является важным этапом при работе с базами данных, так как позволяет представить полученные данные в удобном виде для анализа и принятия решений. Отчеты могут содержать различные данные, такие как сводные таблицы, графики, диаграммы и другие элементы визуализации.
Для разработки отчета необходимо определить цель и задачи отчета, выбрать данные, которые будут использоваться, определить формат и вид представления данных. Необходимо также учитывать потребности пользователей, их уровень знаний и опыт работы с базами данных.
Для создания отчетов можно использовать различные инструменты, такие как генераторы отчетов, инструменты бизнес-аналитики и инструменты визуализации данных. Наиболее распространенными являются Microsoft Excel, Microsoft Access, Power BI, Tableau и другие.
Важно также учитывать, что отчеты должны быть понятными, легко читаемыми и содержать только необходимые данные. Они должны быть удобны для использования и обеспечивать возможность быстрого анализа данных.