Скачайте в формате документа WORD

База данных периодического издания

ВВЕДЕНИЕ


За последние тридцать лет теория баз данных (БД) стала одним из основных разделов информатики, оказывающим сильное воздействие на развитие архитектуры вычислительных систем, современную информационную технологию и методологию проектирования автоматизированных информационных систем (АИС), особенно банков данных (БнД). В последние годы в теории БД сложилось новое направление научных исследований, получившее название семантического, или концептуального, моделирования в БД. Его основная цель - интеллектуализация банков данных и организация интерфейса конечного пользователя с информационной системой на ровне представлений о предметной области, не на ровне структур данных.

В настоящее время определился основной подход к решению задач семантического моделирования в базах данных. Он заключается в выделении двух ровней моделирования: уровня концептуального моделирования ПО (предметной области) и ровня моделирования собственно базы данных. На верхнем ровне осуществляется переход от неформализованного описания ПО и информационных потребностей конечного пользователя к их формальному выражению с помощью специальных языковых средств.







1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

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












3 ER<-МОДЕЛЬ БАЗЫ ДАННЫХ ПЕРИОДИЧЕСКОГО ИЗДАНИЯ

Предприятие

Отдел журналистики

Подотдел новостей

Подотдел работы с читателями

Подотдел работы с администрацией

ФИО

Журналисты

Код отдела

Статьи

Месяц

Год

№ газеты

Наз-вание

Код журна-листа

Реклама

День

ФИО

Журналисты

Код отдела

Статьи

Месяц

Год

№ газеты

Наз-вание

Код журна-листа

Реклама

День

ФИО

Журналисты

Код отдела

Статьи

Месяц

Год

№ газеты

Наз-вание

Код журна-листа

Реклама

День
















2 ОПИСАНИЕ ТАБЛИЦ И ЗАПРОСОВ


Таблица л


В этой таблице приводятся код и наименование подотделов отдела Журналисты.


Таблица 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.ФИО;


Запрос Рекламный материал журналиста

PARAMETERS ФИО Text ( 255 );

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.ФИО;