Файл: 1. Обоснование концептуальной модели базы данных 4 Выполнение нормализации базы данных 9.docx
Добавлен: 05.12.2023
Просмотров: 28
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Содержание
Введение 3
1. Обоснование концептуальной модели базы данных 4
2. Выполнение нормализации базы данных 9
3. Конструирование таблиц базы данных и заполнение полей 11
4. Оформление схемы данных 13
5. Конструирование запросов к базе данных 14
Конструирование запросов к базе данных - это процесс создания запросов, которые позволяют получать необходимую информацию из базы данных. Для решения задач, описанных в данной курсовой работе, требуется написать запросы на языке SQL (Structured Query Language), который является стандартным языком для работы с реляционными базами данных. 14
При конструировании запросов к базе данных следует учитывать следующие факторы: 14
1.Выбор таблицы: для получения необходимой информации нужно определить таблицу, в которой она хранится. 14
2.Выбор полей: необходимо определить, какие поля из таблицы нужно выбрать. 14
3.Условия выборки: для получения нужной информации следует задать условия, которым должны соответствовать записи в таблице. 14
4.Агрегирующие функции: для получения сумм, количества или других агрегированных данных следует использовать соответствующие функции. 14
5.Сортировка: можно задать порядок сортировки результатов запроса по определенному полю. 14
6.Группировка: можно сгруппировать результаты запроса по определенному полю. 14
7.Объединение таблиц: в случае, когда необходимо объединить информацию из нескольких таблиц, можно использовать оператор JOIN. 14
При конструировании запросов следует также обратить внимание на оптимизацию запросов, чтобы они выполнялись максимально быстро и эффективно. Для этого можно использовать индексы, которые ускоряют поиск данных в таблице. 14
Написание эффективных запросов к базе данных является важным навыком для специалистов в области баз данных и поможет достичь более точных и быстрых результатов в работе с большими объемами данных. 14
Для запросов списка налогоплательщиков, начисляющих заданный вид налога, списка налогоплательщиков, переплативших по заданному виду налога, списка налогов, по которым произошла недоплата и списка налогоплательщиков, у которых начисленная сумма по заданному виду налога лежит в заданном диапазоне, нужно использовать SQL-запросы с использованием операторов SELECT, WHERE и JOIN. 14
Для запроса списка начисленных налогов налогоплательщиками, которые перечислили деньги в тот же день, что и заданный налогоплательщик, нужно использовать SQL-запрос с использованием операторов SELECT, WHERE, JOIN и GROUP BY. 15
Запрос: 15
SELECT * FROM Налогоплательщики WHERE Вид_налога='название_налога'; 15
Для запроса списка налогоплательщиков, не перечисливших деньги к заданной дате, нужно использовать SQL-запрос с использованием операторов SELECT, WHERE и JOIN. 15
Запрос: 15
SELECT * FROM Ведомость_платежей WHERE (Сумма_платежа-Сумма_начисленных_платежей)>0 AND Вид_налога='название_налога'; 15
Для запросов на отчеты «Список должников» и «Поиск платежей по ИНН» нужно использовать SQL-запросы с использованием операторов SELECT, WHERE и JOIN с учетом параметров, заданных пользователем в форме. 15
Запрос: 15
SELECT Налогоплательщики.ФИО, Налогоплательщики.ИНН, Налогоплательщики.Адрес, SUM(ВедомостьПлатежей.Сумма) AS [Сумма долга] 15
FROM Налогоплательщики INNER JOIN ВедомостьПлатежей ON Налогоплательщики.ИНН = ВедомостьПлатежей.ИНН 15
GROUP BY Налогоплательщики.ФИО, Налогоплательщики.ИНН, Налогоплательщики.Адрес 15
HAVING SUM(ВедомостьПлатежей.Сумма) > 0 15
Этот запрос выводит список должников с ФИО, ИНН и адресом, а также суммой долга по каждому налогоплательщику. 15
Запрос: 16
SELECT Налогоплательщики.ФИО, ВедомостьПлатежей.ИНН, ВедомостьПлатежей.Дата, ВидыНалогов.Наименование, ВедомостьПлатежей.Сумма 16
FROM (ВидыНалогов INNER JOIN ВедомостьПлатежей ON ВидыНалогов.ID_вида_налога = ВедомостьПлатежей.ID_вида_налога) INNER JOIN Налогоплательщики ON ВедомостьПлатежей.ИНН = Налогоплательщики.ИНН 16
WHERE ВедомостьПлатежей.ИНН=[Введите ИНН налогоплательщика]; 16
Этот запрос выводит список платежей по заданному ИНН налогоплательщика с указанием ФИО, даты платежа, наименования налога и суммы. При выполнении запроса будет запрошен ИНН налогоплательщика, по которому будет осуществляться поиск платежей. 16
Для запроса списка налогоплательщиков, перейдя на форму «Налогоплательщики», нужно использовать запрос на выборку из соответствующей таблицы в базе данных. 16
Запрос: 16
SELECT * FROM Налогоплательщики WHERE ИНН NOT IN (SELECT ИНН_налогоплательщика FROM Ведомость_платежей WHERE Дата_платежа<'заданная_дата'); 16
Для запросов на переход на формы «Ведомость платежей», «Справочник налогов», «Справочник ОКВЭД», «Субъекты РФ» и «Подать заявку на ИП» нужно использовать запросы на выборку из соответствующих таблиц в базе данных. 16
Запрос на выборку всех записей из таблицы "Ведомость платежей": 16
SELECT * FROM Ведомость_платежей; 16
Запрос на выборку всех записей из таблицы "Справочник налогов": 16
SELECT * FROM Справочник_налогов; 16
Запрос на выборку всех записей из таблицы "Справочник ОКВЭД": 16
SELECT * FROM Справочник_ОКВЭД; 16
Запрос на выборку всех записей из таблицы "Субъекты РФ": 16
SELECT * FROM Субъекты_РФ; 16
Запрос на выборку всех записей из таблицы "Заявки на ИП": 16
SELECT * FROM Заявки_на_ИП; 17
В целом, для составления запросов в Access нужно учитывать структуру базы данных, таблиц и связей между ними, а также параметры, заданные пользователем в форме. 17
17
6. Разработка форм базы данных 18
7. Разработка отчета 20
Заключение 24
Введение
В настоящее время мы можем наблюдать огромный рост и развитие информационных технологий и компьютеризации общества в целом, что ведет к информатизации в различных сферах нашей повседневной жизни, в том числе и такой области как туристическая фирма.
Целью курсовой работы является разработка и реализация базы данных и ее приложения «Налоговая», обеспечивающей накопление, хранение и предоставление необходимой информации.
Актуальность работы заключается в том, данная база поможет клиентам в поиске необходимой информации, касающейся налогов, платежей, регистрации ИНН, а сотрудникам налоговой поможет получать всю необходимую информацию о налогоплательщиках, а также оформлять платежи и необходимые документы.
Задачи курсовой работы:
- получить список всех налогоплательщиков, начисляющих заданный вид налога;
- получить список налогоплательщиков, переплативших по заданному виду налога; - получить список налогов, по которым произошла недоплата;
- получить суммы начисленных налогов налогоплательщиками, которые перечислили деньги в тот же день, что и заданный налогоплательщик;
- получить список налогоплательщиков, не перечисливших деньги к заданной дате;
- получить список налогоплательщиков, у которых начисленная сумма по заданному виду налога лежит в заданном диапазоне
При разработке базы данных и приложения были использованы средства СУБД Microsoft Access
1. Обоснование концептуальной модели базы данных
Концептуальное проектирование – это способ при котором можно проанализировать, собрать и отредактировать необходимые требования к данным, которое включает в себя описание предметной области, представление объектов и атрибутов проектируемой базы данных, составление связей между этими объектами, по завершению должна быть составлена ER – диаграмма проектируемой базы данных. Концептуальное проектирование это неотъемлемая составляющая при создании базы данных.
Создаваемая программа предназначена для автоматизации работы сотрудника налоговой. Она будет включать в себя все необходимые сведения о налогоплательщиках, истории платежей, заявлениях на регистрацию ИП, списках ОКВЭД и т.д. ИНН каждого налогоплательщика является уникальным, что позволяет легко и достоверно найти любые данные о налогоплательщиках и его операциях с налогами.
В базе данных разрабатываемого программного продукта будут храниться данные о Налогоплательщике:
-
ИНН физ лица -
ФИО -
Адрес, дом, квартира -
Данные паспорта -
Телефон
Каждый налогоплательщик относится к определенному субъекту Российской Федерации. О субъектах будет храниться данные:
-
Код субъекта -
Название субъекта
Каждый налогоплательщик платит налоги, перечисленные в справочнике налогов:
-
Код платежа -
Вид налога -
ИНН плательщика -
Облагаемая сумма -
Дата получения извещения -
Дата платежа
Каждый налог характеризуется следующей информации:
-
Код налога -
Наименование налога -
Ставка в процентах
Каждый налогоплательщик, который является физическим лицом может подать заявление на регистрацию ИП. В заявлении хранится следующая информация:
-
Код заявления -
ИНН физ лица -
Код ОКВЭД (Общероссийский классификатор видов экономической деятельности) -
Дата заполнения заявления
Каждое заявление характеризуется видом деятельности:
-
Код деятельности -
Вид деятельности
По каждому виду деятельности существует классификатор деятельности индивидуального предприятия ОКВЭД:
-
Код ОКВЭД -
Деятельность -
Вид деятельности
В концептуальном проектировании мы рассматриваем сущности и атрибуты этих сущностей, а также первичный ключ, от которого остальные не ключевые атрибуты будут зависеть полностью. В таблице 1. «Объекты и атрибуты» показаны все сущности проектируемой базы данных, их атрибуты и первичные ключи.
Таблица 1. «Объекты и атрибуты»
Объект | Атрибут | Первичный ключ |
Налогоплательщики | ИНН физ лица | ИНН физ лица |
| Фамилия | |
| Имя Отчество Дата рождения Субъект РФ Адрес Дом Квартира Серия паспорта Номер паспорта Дата выдачи паспорта Телефон | |
Субъекты РФ | Код субъекта | Код субъекта |
| Название субъекта | |
| | |
История платежей | Код платежа | Код платежа |
ИНН плательщика Вид налога Облагаемая сумма Дата получения извещения Дата платежа | | |
Справочник налогов | Код налога | Код налога |
| Наименование налога Ставка в % | |
Заявления на регистрацию ИНН | Код заявления ИНН физ лица Код ОКВЭД Дата заполнения заявления | Код заявления |
Деятельность | Код ОКВЭД Деятельность Вид деятельности | Код ОКВЭД |
Вид деятельности | Код вида деятельности Вид деятельности | Код вида деятельности |
Связи, которые существуют между объектами определяют отношения, в которых будут состоять объекты и связь их атрибутов. В таблице 2. «Связи между объектами» показаны связи между объектами, а также показатель кардинальности и степень участия Относятсякаждой связи.
Таблица 2. «Связи между объектами»
Связь | Объекты | Показатель кардинальности | Степень участия |
ОТНОСЯТСЯ | Субъекты РФ | 1:М | полная |
Налогоплательщики | полная | ||
ПЛАТЯТ | Налогоплательщики | М:М | полная |
Справочник налогов | полная | ||
ПОДАЮТ | Налогоплательщики | 1:М | полная |
Заявление на ИП | полная | ||
УКАЗЫВАЕТСЯ | Деятельность | 1:М | полная |
Заявление на ИП | полная | ||
ОТНОСИТСЯ | Вид деятельности | 1:М | полная |
Деятельность | полная | ||
РЕГИСТРИРУЮТ | Налогоплательщики | М:М | полная |
Деятельность | полная |
Эти связи будут использованы для построения ER – диаграммы.
ER-диаграмма используются для разработки базы данных, и представляет собой стандартный способ определения данных и отношений между ними. Таким образом, осуществляется детализация хранилищ данных. ER-диаграмма содержит информацию о сущностях системы и способах их взаимодействия, включает идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей). На рисунке 1. «ER – диаграмма предметной области Работа биржи труда» показана ER –модель нашей базы данных.
Рисунок 1. «ER – диаграмма предметной области Налоговая»
Данная модель понадобится нам для дальнейшего проектирования базы данных в следующей главе «Логическое проектирование».
2. Выполнение нормализации базы данных
Необходимо провести нормализацию таблиц и отношений проектируемой реляционной схемы.
Таблицы справочник налогов, история платежей, налогоплательщиков, субъекты РФ, заявление на ИП, деятельность, вид деятельности приведены к 1НФ, так как все атрибуты этих таблиц простые (Таблица 3).
Таблицы справочник налогов, история платежей, налогоплательщиков, субъекты РФ, заявление на ИП, деятельность, вид деятельности в 1НФ и имеют простой первичный ключ, следовательно, автоматически приведены ко 2НФ.
Таблица Налогоплательщики находится в 2НФ и не ключевые атрибуты (ИНН физ лица, Фамилия, Имя, Отчество, Дата рождения, Субъект РФ, Адрес, Дом, Квартира, Серия паспорта, Номер паспорта, Дата выдачи паспорта, Телефон) не зависят друг от друга (1ФЗ), следовательно, таблица приведена к 3НФ.
Таблица Субъекты РФ находится в 2НФ и не ключевые атрибуты (Название субъекта) не зависят друг от друга (2ФЗ), следовательно, таблица приведена к 3НФ.
Таблица Справочник налогов находится в 2НФ и не ключевые атрибуты (Наименование налога, Ставка в %) не зависят друг от друга (3ФЗ), следовательно, таблица приведена к 3НФ.
Таблица История платежей находится в 2НФ и не ключевые атрибуты (ИНН плательщика, вид налога, облагаемая сумма, дата получения извещения, дата платежа) не зависят друг от друга (4ФЗ), следовательно, таблица приведена к 3НФ.
Таблица Заявление на ИП находится в 2НФ и не ключевые атрибуты (ИНН, код ОКВЭД, Дата заполнения) не зависят друг от друга (5ФЗ), следовательно, таблица приведена к 3НФ.
Таблица Деятельность находится в 2НФ и не ключевые атрибуты (деятельность, вид деятельности) не зависят друг от друга (6ФЗ), следовательно, таблица приведена к 3НФ.
Таблица Виды деятельности находится в 2НФ и не ключевые атрибуты (Вид деятельности) не зависят друг от друга (7ФЗ), следовательно, таблица приведена к 3НФ.
Таблица Налогоплательщики находится в 3НФ и имеет один потенциальный ключ (ИНН физ лица), (1ФЗ), следовательно, таблица приведена к НФБК.
Таблица Субъекты РФ находится в 3НФ и имеет один потенциальный ключ (Код субъекта), (2ФЗ), следовательно, таблица приведена к НФБК.
Таблица Справочник налогов находится в 3НФ и имеет один потенциальный ключ (Код налога), (3ФЗ), следовательно, таблица приведена к НФБК.