Примечание | от редактора: здесь только текстовые файлы |
Загрузить архив: | |
Файл: 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.ФИО;