Проектирование базы данных «ПОЛИТИЧЕСКАЯ ПАРТИЯ»
Курсовая работа, 18 Ноября 2013, автор: пользователь скрыл имя
Краткое описание
Любая целенаправленная деятельность начинается с систематизации изучаемых объектов и отношений между ними. Главной функцией всех систем управления является накопление и поиск информации, что успешно реализуется путем создания баз данных.
Содержание
ВВЕДЕНИЕ………………………………………………………………………………………….5
1 СЛОВАРЬ ДАННЫХ 6
1.1 Понятие о словаре данных 6
1.2 Стратегия реализации словаря данных 6
1.3 Условия применения 7
1.4 Рекомендации по определению данных 8
2 ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ «ПОЛИТИЧЕСКАЯ ПАРТИЯ» 10
2.1. Анализ предметной области и составление спецификаций данных 10
2.2. Концептуально-логическая модель базы данных «Политическая партия» 11
2.3. Физическая модель базы данных «Политическая партия» 12
3 РАЗРАБОТКА ПРИЛОЖЕНИЯ ПО РАБОТЕ С БАЗОЙ ДАННЫХ……………………..14
3.1. Разработка запросов 14
3.2. Создание формы 19
3.3 Создание отчета 20
ЗАКЛЮЧЕНИЕ…………………………………
Прикрепленные файлы: 1 файл
Курсовая.docx
— 5.44 Мб (Скачать документ)Основные атрибуты для партийца:
- Код партийца
- Фамилия
- Имя
- Отчество
- Название партии
- Дата вступления
- Дата рождения
- Адрес
- Телефон
- Место работы
Основные атрибуты для взносов:
- Год
- Сумма
Теперь изучим бланк 2 (Приложение А). Из него можно выделить один объект, по которому и создадим таблицу. Получаем, что разрабатываемая база данных будет содержать информацию об имуществе, которым владеет партия.
Основные атрибуты для имущества:
- Название партии
- Код имущества
- Наименование имущества
- Количество
2.2 Концептуально-логическая модель базы данных «Политическая партия»
Проанализируем все связи между таблицами. Известно, что в партии числится несколько партийцев, а человек может вступить только в одну политическую партию. Получаем связь «один ко многим» между таблицей Партия и Партиец по полю «название партии». Далее известно, что у партии может быть много имущества, но одно и то же имущество не может принадлежать нескольким партиям. Получаем связь «один ко многим» между таблицей Партия и Имущество по полю «название партии». Устанавливаем связь между таблицами Партиец и Взносы через таблицу Оплата. Так как партиец ежегодно выплачивает взносы, получаем связь «один ко многим» между таблицей Партиец и Оплата по полю «код партийца», а так же связь «один ко многим» между таблицей Взносы и Оплата по полю «год» (рисунок 1).
Рисунок 1 – Схема данных
2.3 Физическая модель базы данных «Политическая партия»
В системе управления базами данных Microsoft Access были созданы следующие таблицы: Имущество, Партия, Партиец, Оплата и Взносы (таблицы 2.1 – 2.5).
Таблица 2.1 Структура таблицы Партия
Ключевое поле |
Имя поля |
Тип данных |
Размер поля |
Обязательное поле |
Да |
Название партии |
Текстовый |
255 |
нет |
Сокращенное название партии |
Текстовый |
255 |
нет | |
Дата регистрации |
Дата/время |
нет | ||
Девиз партии |
Текстовый |
255 |
нет | |
Председатель |
Текстовый |
255 |
нет | |
Адрес партии |
Текстовый |
255 |
нет | |
Телефон партии |
Числовой |
Длинное целое |
нет |
Таблица 2.1 Структура таблицы Имущество
Ключевое поле |
Имя поля |
Тип данных |
Размер поля |
Обязательное поле |
Название партии |
Текстовый |
255 |
нет | |
Да |
Код имущества |
Числовой |
Длинное целое |
нет |
Наименование имущества |
Текстовый |
255 |
нет | |
Количество |
Числовой |
Длинное целое |
нет |
Таблица 2.3 Структура таблицы Партиец
Ключевое поле |
Имя поля |
Тип данных |
Размер поля |
Обязательное поле |
Продолжение таблицы 2.3
Да |
Код партийца |
Счетчик |
Длинное целое |
|
Фамилия |
Текстовый |
255 |
нет | |
Имя |
Текстовый |
255 |
нет | |
Отчество |
Текстовый |
255 |
нет | |
Название партии |
Текстовый |
255 |
нет | |
Дата вступления |
Дата/время |
нет | ||
Дата рождения |
Дата/время |
нет | ||
Адрес |
Текстовый |
255 |
нет | |
Телефон |
Числовой |
Длинное целое |
нет | |
Место работы |
Текстовый |
255 |
нет |
Таблица 2.4 Структура таблицы Взносы
Ключевое поле |
Имя поля |
Тип данных |
Размер поля |
Обязательное поле |
Да |
Год |
Числовой |
Длинное целое |
нет |
Сумма |
Денежный |
нет |
Таблица 2.5Структура таблицы Оплата
Ключевое поле |
Имя поля |
Тип данных |
Размер поля |
Обязательное поле |
Да |
Код оплаты |
Счетчик |
Длинное целое |
|
Код партийца |
Числовой |
Длинное целое |
||
Год |
Числовой |
Длинное целое |
||
Сумма |
Денежный |
нет |
3 РАЗРАБОТКА ПРИЛОЖЕНИЯ ПО РАБОТЕ С БАЗОЙ ДАННЫХ
3.1 Разработка запросов
Создали нескольких запросов, имеющих практическое значение для базы данных «Политическая партия»:
- Необходимо показать партийцев, которые не выплатили полностью взнос за 2008 год. Для выполнения данного задания, был выбран запрос на выборку с группировкой данных, основанный на таблицах Партиец и Оплата. Группируем партийцев по фамилии и году взноса из таблиц Партиец и Оплата соответственно. В поле Год в разделе «условие отбора» указываем 2008 год. В поле Сумма в разделе «групповая операция» указываем функцию Sum (сумма), а в разделе «условие отбора» задаем условие <2008 года. Запрос в режиме конструктора и результат его выполнения можно увидеть на рисунке 3.1;
Рисунок 3.1 – Создание запроса
- Необходимо показать какую сумму выплатил каждый партиец начиная с даты регистрации партии и за сколько раз он выплачивал необходимый взнос. Для выполнения данного запроса, был выбран запрос с групповыми операциями, основанный на таблицах Партиец и Оплата. Группируем партийцев по фамилии и году взноса из таблиц Партиец и Оплата соответственно, причем фамилию выводим с инициалами. Для этого, выделив раздел Поле, нажимаем на построитель выражения и вводим следующую формулу: [Фамилия] & " " & Left([Имя];1) & "." & Left([Отчество];1) & ".". Затем в полях Сумма в разделе «групповая операция» указываем функции Sum (сумма) и Count (количество). Запрос в режиме конструктора и результат его выполнения можно увидеть на рисунке 3.2;
Рисунок 3.2 – Запрос с вычисляемыми полями
- Необходимо создать запрос, который будет показывать партийцев, который родились в один и тот же год. Для выполнения данного запроса, был выбран запрос с параметром, основанный на таблице Партиец. Для этого в поле Дата рождения в разделе «условие отбора» указываем функцию для ввода параметра (“[Введите год рождения]”). Поле Дата рождения можно скрыть. Запрос в режиме конструктора и результат его выполнения можно увидеть на рисунке 3.3;
Рисунок 3.3 – Создание запроса с условием отбора
- В случае повышения суммы взноса в 2011г. на 10%. Для выполнения данного запроса, был выбран запрос на обновление. Добавили таблицу Оплата. В поле Год в разделе «условие отбора» указываем 2011 год. Затем меняем тип запроса на «Обновление». В поле Сумма в разделе «обновление» вводим следующее выражение: [Сумма]*110. Запрос в режиме конструктора и результат его выполнения можно увидеть на рисунке 3.4;
.
Рисунок 3.4 – Создание запроса на обновление
- Необходимо создать запрос, который будет показывать сколько партийцу исполнилось лет на данный момент, для этого выбираем вопрос с группировкой. Добавляем таблицу Партиец. Добавляем поля Фамилия и Дата рождения. В поле Дата рождения с помощью построителя выражения вводим следующую формулу: Year(Now())-Year([Партиец]![Да
та рождения]). Запрос в режиме конструктора и результат его выполнения можно увидеть на рисунке 3.5;
Рисунок 3.5 – Создание запроса с вычислением возраста партийцев
- Чтобы выяснить, какую сумму партиец выплатил за 2008 и за 2009 года, используем перекрестный запрос. Для данного запроса использовались таблицы Партия, Партиец и Оплата. В поле Год в разделе «условие отбора» занесли условие «2008 Or 2009», затем изменили тип запроса на «Перекрестный». В поле Сумма в разделе «групповая операция» выбрали функцию Sum, а в разделе «перекрестная таблица» выбираем фразу «значение». В полях Сокращенное название партии и Фамилия в разделе «перекрестная таблица» выбираем фразу «заголовки строк», а в поле Год - «заголовки столбцов». Запрос в режиме конструктора и результат его выполнения можно увидеть на рисунке 3.6;
Рисунок 3.6 – Создание звапроса о сумме выплаченных взносов за искомые периоды
- Чтобы выяснить, общую сумму взносов за 2007-2011 года, используем запрос на создание новой таблицы. Для данного запроса используем таблицу Оплата. В поле Сумма в разделе «групповая операция» используем функцию Sum, после чего нажмем на кнопку «создание таблицы». В появившемся диалоговом окне вводим название новой таблицы и сохраняем. Запрос в режиме конструктора и результат его выполнения можно увидеть на рисунке 3.7;
Рисунок 3.7 – Создание запроса по подсчету общей суммы выплаченных взносов за интересуемый период
- Предположим, у партийцев, у которых номер телефона начинался на «4» теперь перед набором нужно добавлять спереди цифру «6». Для этого создадим запрос на обновление в режиме конструктора. Добавим таблицу Партиец, после чего добавим в бланк запроса поле Телефон и зададим для него условие «Like "4*"». Изменяем тип запроса на «Обновление». В строке «Обновление» пишем выражение: "64" & Mid([Телефон];2;6). Запрос в режиме конструктора и результат его выполнения можно увидеть на рисунке 3.8;
Рисунок 3.8 - Создание запроса с корректировкой данных