ВВЕДЕНИЕ
За последние тридцать лет теория баз данных (БД) стала одним из основных разделов информатики, оказывающим сильное воздействие на развитие архитектуры вычислительных систем, современную информационную технологию и методологию проектирования автоматизированных информационных систем (АИС), особенно банков данных (БнД). В последние годы в теории БД сложилось новое направление научных исследований, получившее название семантического, или концептуального, моделирования в БД. Его основная цель - интеллектуализация банков данных и организация интерфейса конечного пользователя с информационной системой на уровне представлений о предметной области, а не на уровне структур данных.
В настоящее время определился основной подход к решению задач семантического моделирования в базах данных. Он заключается в выделении двух уровней моделирования: уровня концептуального моделирования ПО (предметной области) и уровня моделирования собственно базы данных. На верхнем уровне осуществляется переход от неформализованного описания ПО и информационных потребностей конечного пользователя к их формальному выражению с помощью специальных языковых средств.
1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
В процессе работы в редакции газеты часто требуется быстро находить некоторую информацию, которая наглядно отражала бы процесс работы. Например, при расчете зарплаты журналистами, бухгалтерии необходимо предоставить списки, сколько статей вышло каждого журналиста. А для расчета премии дополнительно списки, какие статьи журналиста были рекламного характера. Выполнение данной работы необходимо для оперативного получения этих сведений.
3 ER-МОДЕЛЬ БАЗЫ ДАННЫХ ПЕРИОДИЧЕСКОГО ИЗДАНИЯ
2 ОПИСАНИЕ ТАБЛИЦ И ЗАПРОСОВ
Таблица «Podotdel»
В этой таблице приводятся код и наименование подотделов отдела «Журналисты».
Таблица «Jurnalist»
В этой таблице приводятся код, ФИО журналистов и код подотдела, к которому относятся журналисты.
Таблица «Material»
В таблице приводятся код, заголовок, дата выхода, номер газеты, в которой вышел материал, являлся ли материал заказным, а также код журналиста (автора статьи).
Запрос «Материалы журналиста за месяц»
В этом запросе происходит выборка статей некоторого журналиста за определенный месяц.
Результат запроса
Запрос «Рекламные статьи»
В запросе происходит выборка всех материалов рекламного характера.
Запрос «Рекламный материал журналиста»
Приложение 1
СХЕМА ДАННЫХ
Приложение 2
ЗАПРОСЫ ДЛЯ СОЗДАНИЯ ОТЧЕТОВ (В ФОРМЕ SQL)
PARAMETERS ФИО Text ( 255 );
SELECT Jurnalist.ФИО, Material.месяц, Material.год, Material.дата, Material.Наименование, Material.заказ
FROM Jurnalist INNER JOIN Material ON Jurnalist.Код = Material.[код журналиста]
WHERE (((Jurnalist.ФИО)=[ФИО]) AND ((Material.месяц) Like [Введите месяц]) AND ((Material.год) Like [Введите год])) OR ((([Введите год]) Is Null) AND (([Введите месяц]) Is Null));
SELECT Material.заказ, Jurnalist.ФИО, Material.дата, Material.месяц, Material.год, Material.[№ газеты], Material.Наименование
FROM Podotdel INNER JOIN (Jurnalist INNER JOIN Material ON Jurnalist.Код = Material.[код журналиста]) ON Podotdel.[Код подотдела] = Jurnalist.[Код подотдела]
WHERE (((Material.заказ)=Yes))
ORDER BY Material.заказ, Jurnalist.ФИО;
SELECT Jurnalist.ФИО, Material.заказ, Material.дата, Material.месяц, Material.год, Material.Наименование
FROM [Рекламные статьи], Podotdel INNER JOIN (Jurnalist INNER JOIN Material ON Jurnalist.Код = Material.[код журналиста]) ON Podotdel.[Код подотдела] = Jurnalist.[Код подотдела]
GROUP BY Jurnalist.ФИО, Material.заказ, Material.дата, Material.месяц, Material.год, Material.Наименование
HAVING (((Jurnalist.ФИО) Like [ФИО]) AND ((Material.заказ)=Yes)) OR ((([Рекламные статьи].ФИО) Is Null))
ORDER BY Jurnalist.ФИО;