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

Примечаниеот редактора: здесь только текстовые файлы
Загрузить архив:
Файл: ref-23695.zip (504kb [zip], Скачиваний: 130) скачать

ВВЕДЕНИЕ

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

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

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

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

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