Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД(методичка).doc
Скачиваний:
8
Добавлен:
16.08.2019
Размер:
468.48 Кб
Скачать

30

Министерство образования российской федерации

Ухтинский государственный технический университет

Кафедра прикладной математики и информатики

Системы управления базами данных

Методические указания

Ухта 2003

2. Пример выполнения задания

СУБД “Microsoft Access” даёт возможность пользователю вводить, хранить, осуществлять быстрый поиск и обрабатывать большие массивы информации.

Цель работы: изучить принципы использования БД, команд системы управления базами данных (СУБД) на основе рассмотренного примера. Выполнить предлагаемый вариант.

Пример. Салон красоты «Клеопатра» осуществляет свою работу с помощью СУБД «Access». Задание:

  1. Создать 3 таблицы со сведениями о работниках. Установить связи между ними.

  1. На основе таблиц составить запросы:

  1. на выборку

  2. с вычисляемыми полями

  3. с параметром

  1. Для удобства работы отдела кадров создать формы по учёту работников.

4. Создать на основе запросов отчеты:

  • Ведомость по заработной плате

  • Расчётные листы

1. Всю информацию разбиваем на несколько таблиц в БД, между которыми устанавливаются связи с помощью совпадающих полей в разных таблицах. При этом каждый столбец таблицы соответствует полю данных, а каждая строка - записи данных. Создание таблицы: Таблицы – Создать – Конструктор. В режиме Конструктора вводим имена полей, типы данных (можно использовать Мастер подстановок для того, чтобы быстро вставлять повторяющиеся записи из одной таблицы в другую). В сноске Свойства поля при необходимости устанавливаем Формат поля (н-р, денежный), Маску ввода (н-р, для даты, телефона) и другие параметры. Для уникальных полей (Уникальное поле – поле, значения в котором не повторяются) обязательно устанавливаем в графе Индексированное поле – «Совпадения не допускаются». При закрытии задаём имя таблицы.

Данные о работниках салона красоты «Клеопатра» хранятся в таблицах:

Таблица1. Должности

ФИО работника

Должность

Рабочий кабинет

Время работы

Апрелин Андрей Егорович

Стилист

9

чётные числа

Власов Петр Петрович

Парикмахер

11

ежедневно с 10.00 до 19.00

Демидова Ольга Юрьевна

Косметолог

32

нечётные числа

Кравцова Марина Степановна

Визажист

11

ежедневно с 10.00 до 19.00

Медведева Анна Павловна

Мастер маникюра и педикюра

120

чётные числа

Орлова Нина Григорьевна

Диспетчер

ежедневно с 9.00 до 20.00, кроме воскресенья

Седых Анжела Валерьевна

Парикмахер

9

нечётные числа

Фёдорова Светлана Олеговна

Массажистка

120

чётные числа

Якимова Дарья Николаевна

Массажистка

5

нечётные числа

Таблица 2. Работники.

п\п

Табель-ный номер

ФИО работника

Дата рождения

Домашний адрес

Телефон

6

21

Апрелин Андрей Егорович

30.08.70

Октябрьская 4-79

1-89-47

5

17

Власов Петр Петрович

03.09.67

Дзержинская 15-3

1-02-56

2

11

Демидова Ольга Юрьевна

15.10.71

Пушкина 1-8

3-57-00

4

16

Кравцова Марина Степановна

22.01.73

Ленина 12-57

3-42-58

1

10

Медведева Анна Павловна

11.02.70

Сенюкова 23-21

1-06-71

9

54

Орлова Нина Григорьевна

23.10.70

Мира, 56-9

3-08-95

8

26

Седых Анжела Валерьевна

16.10.65

Строителей 4-143

1-32-14

7

22

Фёдорова Светлана Олеговна

10.10.71

Ленина 15-86

6-12-01

3

14

Якимова Дарья Николаевна

17.06.68

Кремса 2-6

3-69-10

Таблица 3. Сведения о работниках

Табельный номер

Стаж

Количество иждивенцев

Оклад

11

10

2

1 650,00р.

14

8

1

1 500,00р.

16

9

1

1 920,00р.

17

13

3

1 960,00р.

19

8

3

1 170,00р.

21

6

0

1 460,00р.

22

7

1

1 235,00р.

26

10

1

1 467,00р.

54

7

2

1 350,00р.

Связи между таблицами были установлены на основе ключевых полей, т.е. уникальных полей (в примере это поля Табельный номер и ФИО работника). Схема связи выглядит следующим образом:

2. Применение запросов является наиболее быстрым способом получения информации в БД.

А. Запрос на выборку. Цель его – это создание результирующей таблицы, в которой отображаются только нужные по условию запроса данные для таблиц. Создание запроса:

  • Запросы-Создать-Конструктор.

  • Выбираем таблицы, включающие нужные поля. Щелкните на кнопке Закрыть.

  • Сделайте двойной щелчок мышью на именах полей, содержащих искомую информацию

  • Для каждого поля, по которому будут сортироваться записи, щелкните мышью в строке Сортировка и выберите нужное значения

  • В строке Условия отбора укажите условия отбора записей.

В рассматриваемом примере был создан запрос на выборку – Запрос на трудовой стаж. Необходимо было получить сведения о работниках, имеющих стаж более 7 лет.

ФИО работника

Должность

Домашний адрес

Стаж

Телефон

Демидова Ольга Юрьевна

Косметолог

Пушкина 1-8

10

3-57-00

Якимова Дарья Николаевна

Массажистка

Кремса 2-6

8

3-69-10

Кравцова Марина Степановна

Визажист

Ленина 12-57

9

3-42-58

Власов Петр Петрович

Парикмахер

Дзержинская 15-3

13

1-02-56

Седых Анжела Валерьевна

Парикмахер

Строителей 4-143

10

1-32-14

В. Запрос с вычисляемыми полями.

Создание:

  • В строке Поле для каждого нового вычисляемого значения вводим формулу.

  • Перед формулой указываем название поля, после которого ставим двоеточие.

  • В формуле название полей заключены в квадратные скобки, между которыми стоят необходимые вам знаки математических операций. Вычисляемое поле можно форматировать: правой кнопкой мыши щелкаем по полю – Свойства - Формат поля.

В нашем примере были созданы 3 запроса такого типа:

  • Начисление Заработной платы

Табельный номер

ФИО работника

Оклад

Северные

Районные

Начислено

11

Демидова Ольга Юрьевна

1 650,00р.

825,00р.

495,00р.

2 970,00р.

16

Кравцова Марина Степановна

1 920,00р.

960,00р.

576,00р.

3 456,00р.

21

Апрелин Андрей Егорович

1 460,00р.

730,00р.

438,00р.

2 628,00р.

17

Власов Петр Петрович

1 960,00р.

980,00р.

588,00р.

3 528,00р.

22

Фёдорова Светлана Олеговна

1 235,00р.

617,50р.

370,50р.

2 223,00р.

26

Седых Анжела Валерьевна

1 467,00р.

733,50р.

440,10р.

2 640,60р.

14

Якимова Дарья Николаевна

1 500,00р.

750,00р.

450,00р.

2 700,00р.

54

Орлова Нина Григорьевна

1 350,00р.

675,00р.

405,00р.

2 430,00р.

Где:

Северные: [Оклад]*0,5

Районные: [Оклад]*0,3

Начислено: [Оклад]+[Северные]+[Районные]

  • Удержания из заработной платы

ФИО работника

Начислено

ПФ

Подоходный налог

Удержано

Апрелин Андрей Егорович

2 628,00р.

26,28р.

338,22р.

364,50р.

Власов Петр Петрович

3 528,00р.

35,28р.

402,57р.

437,85р.

Демидова Ольга Юрьевна

2 970,00р.

29,70р.

347,92р.

377,62р.

Кравцова Марина Степановна

3 456,00р.

34,56р.

427,63р.

462,19р.

Орлова Нина Григорьевна

2 430,00р.

24,30р.

278,42р.

302,72р.

Седых Анжела Валерьевна

2 640,60р.

26,41р.

322,69р.

349,09р.

Фёдорова Светлана Олеговна

2 223,00р.

22,23р.

268,94р.

291,17р.

Якимова Дарья Николаевна

2 700,00р.

27,00р.

330,33р.

357,33р.

Где:

Отчисления в Пенсионный Фонд (ПФ) ПФ: [Начислено]*0,01

Подоходный налог: ([Начислено]-[ПФ]-([Количество иждивенцев]*132))*0,13

Удержано: [ПФ]+[Подоходный налог]

  • Заработная плата к выдаче

ФИО работника

Начислено

Удержано

Итого

Апрелин Андрей Егорович

2 628,00р.

364,50р.

2 263,50р.

Власов Петр Петрович

3 528,00р.

437,85р.

3 090,15р.

Демидова Ольга Юрьевна

2 970,00р.

377,62р.

2 592,38р.

Кравцова Марина Степановна

3 456,00р.

462,19р.

2 993,81р.

Орлова Нина Григорьевна

2 430,00р.

302,72р.

2 127,28р.

Седых Анжела Валерьевна

2 640,60р.

349,09р.

2 291,51р.

Фёдорова Светлана Олеговна

2 223,00р.

291,17р.

1 931,83р.

Якимова Дарья Николаевна

2 700,00р.

357,33р.

2 342,67р.

Где:

Итого: [Начислено]-[Удержано]

На основе запроса ЗП к выдаче был создан запрос Выдача ЗП, с включением в него поля Рабочий кабинет с целью создания на основе данного запроса отчёта с группировкой.

С. Запрос с параметром.

Это специальный вид запроса, который предоставляет возможность выбора данных по определённому параметру из таблиц базы. Создание: в строке Условия отбора тех полей, для которых вы хотите использовать параметры, введите в квадратных скобках текст подсказки

В данном примере был создан Запрос на работника. Параметр «Введите, пожалуйста, ФИО работника». При открытии запроса автоматически выскакивает диалоговое окно с текстом параметра. После введения ФИО появляется следующая информация:

Табель-ный номер

ФИО

работника

Дата рожде-ния

Должность

Рабочий кабинет

Время работы

Стаж

Оклад

Домашний адрес

Теле-фон

26

Седых Анжела Валерьевна

16.10.65

Парикмахер

9

нечётные числа

10

1 467,00р.

Строителей д.4 кв.143

1-32-14

В рамках этого запроса можно создать запрос в диапазоне дат. Например, если необходимо получить список клиентов, сделавших заказы в некоторый интервал времени, понадобится 3 параметра:

  • Код клиента

  • Начальная дата поставки

  • Конечная дата поставки

В строке Условия отбора вводится следующий параметр: Between [Введите начальную дату поставки] end [Введите конечную дату поставки]. Сначала появится 1-ое диалоговое окно с просьбой ввести начальную дату поставки, а затем 2-ое с просьбой ввода конечной даты поставки.

Примечание: если необходимо вывести данные о параметре с одинаковой начальной буквой (например, о работниках, фамилии которых начинаются на букву А), следует в строке Условия отбора ввести с клавиатуры необходимую букву и поставить три звездочки (например, А***)

3. Формы – это великолепное средство для ввода и изменения данных в базе. Ввод информации через формы проще и это позволяет избежать многих ошибок. Формы можно сделать точной копией бумажных бланков с которых осуществляется ввод имеющихся данных. Для создания форм запускаем Мастер форм. Выбираем запросы или таблицы, на основе которых получаем форму, выбираем необходимые поля, внешний вид формы, требуемый стиль. Даём имя форме и нажимаем кнопку Готово.

В нашем примере были созданы формы в виде точных копий одноименных таблиц.

4. Отчёты позволяют получать результаты запросов на бумажных носителях. Отчёт обычно применяется для предоставления руководству предприятия. В данном примере были выполнены 3 отчёта через Мастер отчётов: 2 (Расчётные листы и Ведомость по ЗП) на основе запроса ЗП к выдаче и 1 (Выдача ЗП) – на основе Выдача ЗП, в котором была произведена группировка по рабочему кабинету и подведён итог по полям: Начислено, Удержано, Итого. В отчёте Ведомость по ЗП была произведена группировка по полю ФИО работника и подведён итог по полю Итого, макет – Блок. В отчёте Расчётные листы итог подвёден не был, был выбран макет ступенчатый. Затем выбираем требуемый стиль и называем отчёт. Редактирование отчёта производится в режиме Конструктор.

Выдача ЗП.

Раб.кабинет ФИО работника Таб. № Начислено Удержано Итого

Орлова Нина Григорьевна 54 2 430,00р. 302,72р. 2 127,28р.

Итого по 2 430,00р. 302,72р. 2 127,28р.

5 Якимова Дарья Николаевна 14 2 700,00р. 357,33р. 2 342,67р.

Итого по 2 700,00р. 357,33р. 2 342,67р.

9 Седых Анжела Валерьевна 26 2 640,60р. 349,09р. 2 291,51р.

Итого по 2 640,60р. 349,09р. 2 291,51р.

11 Власов Петр Петрович 17 3 528,00р. 437,85р. 3 090,15р.

Кравцова Марина 16 3 456,00р. 462,19р. 2 993,81р.

Итого по 6 984,00р. 900,04р. 6 083,96р.

32 Демидова Ольга Юрьевна 11 2 970,00р. 377,62р. 2 592,38р.

Итого по 2 970,00р. 377,62р. 2 592,38р.

120 Фёдорова Светлана 22 2 223,00р. 291,17р. 1 931,83р.

Итого по 2 223,00р. 291,17р. 1 931,83р.

ИТОГО 19947,6 2 577,97р. 17 369,63р.