База данных периодического издания
ВВЕДЕНИЕ
За последние
тридцать лет теория баз данных (БД) стала одним из основных разделов
информатики, оказывающим сильное воздействие на развитие архитектуры вычислительных
систем, современную информационную технологию и методологию проектирования
автоматизированных информационных систем (АИС), особенно банков данных (БнД). В
последние годы в теории БД сложилось новое направление научных исследований,
получившее название семантического, или концептуального, моделирования в БД.
Его основная цель - интеллектуализация банков данных и организация интерфейса
конечного пользователя с информационной системой на уровне представлений о
предметной области, а не на уровне структур данных.
В настоящее время
определился основной подход к решению задач семантического моделирования в
базах данных. Он заключается в выделении двух уровней моделирования: уровня
концептуального моделирования ПО (предметной области) и уровня моделирования
собственно базы данных. На верхнем уровне осуществляется переход от неформализованного
описания ПО и информационных потребностей конечного пользователя к их формальному
выражению с помощью специальных языковых средств.
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.ФИО;