В реляционной модели каждому объекту предметной области соответствует одно или более отношений. При необходимости связь между объектами можно указать в явном виде. В такой связи (отношении) в качестве атрибутов указываются идентификаторы взаимосвязанных объектов. В реляционной модели объекты предметной области и связи между ними представляются одинаковыми конструкциями, что существенно упрощает модель.
Суть реляционной модели можно пояснить на следующем примере. Пусть в базе данных строительного предприятия имеются два файла: а) справочник железобетонных изделий; б) отчет о поставках изделий (рис. 3). Каждый из этих файлов содержит определенное число записей, состоящих из фиксированного числа полей (соответственно 4 и 4).
Рис. 3. Фрагмент реляционной модели базы данных
В данном фрагменте базы данных определены два отношения (файла), имеющие общий элемент значения поля Изделие. Операции реляционной алгебры могут объединить два типа записей по этому общему элементу. Например, в результате соединения запись ПС может представиться в следующем виде:
ПС <Объем (м3)><Расход арм. (кг)><Расход цем. (кг)>
<ЖБИ5><К-во><Дата поставки>….
Иначе говоря, к сведениям о изделии добавляются сведения о всех его поставках, имеющиеся в реляционной базе данных. Связь между записями допускается по нескольким полям, позволяя выполнять достаточно сложные манипуляции с данными. Поля данных, связывающих вместе две записи, могут быть уникальными для данной пары, но могут дублироваться и во многих других записях. Они могут повторяться неоднократно, связывая между собой записи. Аналогичным образом можно проиллюстрировать выполнение в реляционной модели операций проекции и селекции.
Чтобы не допустить потерь или искажения информации в реляционной базе данных необходим соответствующий контроль всех взаимосвязей записей. Этот контроль выполняется СУБД, которые в процессе работы постоянно пересчитывают число связей для каждой записи базы данных в прямом и обратном направлениях. При больших объемах баз данных осуществление такого контроля может потребовать существенных затрат машинного времени.
2. Практическое задание
В данной задаче для формирования базы данных используются следующие показатели:
• Ф.И.О.;
• Табельный номер;
• Код подразделения;
• Наименование подразделения;
• Дата рождения;
• Образование;
• Должность;
• Разряд;
• Адрес
• Кол-во детей;
• Оклад;
• Стаж;
• Надбавка_1;
• Ученое звание;
• Надбавка_2.
На основе этих показателей целесообразно cформировать четыре связанные между собой таблицы:
• Сотрудники;
• Подразделения;
• Стаж;
• Ученое звание.
Рисунок 4. Таблица «Сотрудники»
Рисунок 5. Таблица «Подразделение»
Рисунок 7. Таблица «Ученое звание»
Между таблицами можно установить следующие типы связей.
Заносим данные в созданные таблицы.
Рисунок 9. Содержимое таблицы «Сотрудники»
Рисунок 10. Содержимое таблицы «Подразделения»
Рисунок 11. Содержимое таблицы «Ученое звание»
Рисунок 12. Содержимое таблицы «Стаж»
Формируем 3 типа запроса:
> получить список сотрудников, не имеющих надбавки за стаж;
> получить список сотрудников кафедры естественных наук, рассчитав для них заработную плату с учетом оклада и установленных надбавок;
> вывести список сотрудников кафедры иностранных языков, чей день рождения приходится на декабрь.
С помощью Конструктора запросов сформируем запрос на выборку (рис. 10), извлекающий из таблиц созданной базы данных фамилии сотрудников, не имеющих надбавки за стаж и наименование подразделения, в котором они работают. Для этого используем поля «Ф.И.О.» и «Стаж» из таблицы Сотрудники, поле «Наименование подразделения» из таблицы Подразделения и поле «Надбавка_1» из таблицы Стаж. В качестве поля для Условия отбора используем «Надбавка_1», введем в Условия отбора значение «=0» и удалим флажок Вывод на экран, чтобы данное поле не выводилось в результирующей таблице.
Рисунок 13. Конструктор запроса на выборку сотрудников, не имеющих надбавки за стаж
Рисунок 14. Выборка по Запросу 1
Запрос 2: запрос на выборку с вычислением
С помощью Конструктора запросов сформируем запрос на выборку, извлекающий из таблиц созданной базы данных фамилии сотрудников кафедры естественных наук и подсчитаем для них заработную плату. Для выбора подразделения «Кафедра естественных наук» включим в запрос поле «Код подразделения» и для него в поле «Условие отбора» – код 13, соответствующий данной кафедре, и удалим флажок Вывод на экран, чтобы данное поле не выводилось в таблице. С помощью Построителя выражений в вычисляемое поле запишем: Выражение1:= [Сотрудники]! [Оклад] * (1 + [Стаж]! [Надбавка_1] + [Ученое звание]! [Надбавка_2]). Заменив «Выражение 1» на «Зарплата», получим Зарплата: = [Сотрудники]! [Оклад] * (1 + [Стаж]! [Надбавка_1] + [Ученое звание]! [Надбавка_2]). В свойствах поля установим Формат поля – Денежный.
Рисунок 15. Конструктор запроса на выборку сотрудников кафедры естественных наук с расчетом надбавок
Рисунок 16. Выборка по Запросу 2
Запрос 3: запрос на выборку с использованием шаблонов
С помощью Конструктора запросов сформируем запрос на выборку (рисунок 14), извлекающий из таблиц созданной базы данных фамилии сотрудников кафедры иностранных языков, чей день рождения приходится на декабрь, и наименование подразделения, в котором они работают.
Для этого используем поля «Ф.И.О.» и «Год рождения» из таблицы Сотрудники и поле «Наименование подразделения» из таблицы Подразделения. В строку «Условия отбора» введем значение: LIKE«*12*». Знак * заменяет значения числа в месяце и года рождения. Для выбора подразделения «Кафедра иностранных языков» включим в запрос поле «Код подразделения» и для него в поле «Условие отбора» – код 14, соответствующий данной кафедре, и удалим флажок Вывод на экран.
Рисунок 17. Конструктор запроса на выборку сотрудников кафедры иностранных языков, чей день рождения приходится на декабрь
Рисунок 18. Выборка по Запросу 3
Формируем отчет с помощью конструктора отчетов
Рисунок 19. Конструктор отчетов на основе Запроса 2
Рисунок 20. Отчет на основе Запроса 2
1. Абрамов А.А., Шуремов Е.Л., Афанасьев С.Б. Модели и методы компьютерного учёта и анализа производственно-коммерческой деятельности. Научно-практическое издание. 2005. – 195 с.
2. Автоматизированные информационные технологии в экономике: Учебник / Под ред. Г.А. Титоренко. – М., 2003. – 399 с. – Гриф МО «Рекомендовано».
3. Гринберг А.С. Информационные технологии моделирования процессов управления экономикой: Учебное пособие / А.С. Гринберг, В.М. Шестаков. – М.: ЮНИТИ-ДАНА, 2003. – 399 с.
4. Кравченко Т.К. Инфокоммуникационные технологии управления предприятием: Учебное пособие / Т.К. Кравченко, В.Ф. Пресняков. – М., 2003. – 272 с.
5. Козырев А.А. Информационные технологии в экономике и управлении: Учебник / А.А. Козырев. – 2-е изд. – СПб.: Издательство Михайлова В.А., 2001. – 360 с.
6. Саак А.Э. Информационные технологии управления [Текст]: [учебник для вузов] / А.Э. Саак, Е.В. Пахомов, В.Н. Тюшняков. – СПб. [и др.]: Питер, 2005. – 320 с.